@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&display=swap";:root{--primary-blue:#0459b4;--primary-blue-dark:#034a96;--primary-blue-light:#0a6fd4;--primary-green:#22c55e;--primary-green-dark:#16a34a;--primary-green-light:#4ade80;--brand-green-legacy:#76bc1c;--color-background:#f1f5f9;--color-surface:#fff;--color-surface-elevated:#fff;--color-surface-muted:#f8fafc;--color-foreground:#0f172a;--color-foreground-muted:#64748b;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-ring:#0459b459;--sidebar-bg:linear-gradient(180deg, #0f172a 0%, #1e293b 55%, #0f172a 100%);--sidebar-width:280px;--sidebar-text:#94a3b8;--sidebar-text-active:#f8fafc;--sidebar-accent:#22c55e;--sidebar-border:#ffffff14;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a14, 0 2px 4px #0f172a0a;--shadow-lg:0 12px 28px #0f172a1a, 0 4px 8px #0f172a0a;--shadow-xl:0 20px 40px #0f172a1f, 0 8px 16px #0f172a0f;--shadow-2xl:0 24px 48px #0f172a29;--shadow-glass:0 8px 32px #0f172a14;--shadow-sidebar:4px 0 24px #0000001f;--glass-bg:#ffffffd1;--glass-border:#fff9;--glass-blur:12px;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", "Monaco", "Consolas", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--z-sidebar:200;--z-overlay:190;--z-dropdown:210;--z-sticky:150;--z-modal:300;--z-toast:400;--header-height:64px;--content-max-width:1440px}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s;--transition-slow:0s}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-foreground);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.3}table{border-collapse:collapse;width:100%}code,pre,kbd,samp{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}::selection{color:var(--gray-900);background-color:#0459b433}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1{font-size:var(--font-size-4xl);color:var(--gray-900);font-weight:700}h2{font-size:var(--font-size-3xl);color:var(--gray-900);font-weight:600}h3{font-size:var(--font-size-2xl);color:var(--gray-800);font-weight:600}h4{font-size:var(--font-size-xl);color:var(--gray-800);font-weight:600}h5{font-size:var(--font-size-lg);color:var(--gray-700);font-weight:500}h6{font-size:var(--font-size-base);color:var(--gray-700);font-weight:500}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-blue)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-muted{color:var(--gray-500)}.container{max-width:var(--content-max-width);padding:0 var(--space-lg);width:100%;margin:0 auto}.app-layout{background:var(--color-background);min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);height:100dvh;z-index:var(--z-sidebar);box-shadow:var(--shadow-sidebar);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:calc(var(--z-sidebar) - 1);opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal);background:#0f172a8c;display:none;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;visibility:visible}.main-content{margin-left:var(--sidebar-width);background:radial-gradient(ellipse 80% 50% at 50% -20%, #0459b40f, transparent), var(--color-background);flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.page-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-xl);z-index:var(--z-sticky);min-height:var(--header-height);align-items:center;display:flex;position:sticky;top:0}.page-header>.flex{width:100%}.page-header .flex.justify-between{gap:var(--space-sm);flex-wrap:wrap;min-width:0}.page-content{padding:var(--space-xl);max-width:var(--content-max-width);flex:1;width:100%;margin:0 auto}.grid{gap:var(--space-lg);display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar-overlay{display:block}.sidebar{transition:transform var(--transition-normal);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{max-width:100vw;margin-left:0;overflow-x:hidden}.page-content{max-width:100%;padding:var(--space-md);overflow-x:hidden}.app-layout{max-width:100vw;overflow-x:hidden}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.m-0{margin:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100dvh}.mobile-menu-btn{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-lg);color:var(--gray-600);cursor:pointer;padding:var(--space-sm);min-width:44px;min-height:44px;transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background:var(--gray-200);border-color:var(--color-border-strong)}@media (width<=768px){.mobile-menu-btn{display:inline-flex}.page-header{padding:var(--space-sm) var(--space-md)}.page-header .flex.items-center.gap-lg:first-of-type{gap:var(--space-sm);flex:0 auto;min-width:0}.page-header .flex.items-center.gap-lg:last-of-type{gap:var(--space-xs);flex-wrap:nowrap;flex-shrink:0;min-width:0}.page-header h1#pageTitle{font-size:var(--font-size-base);white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.page-header .gap-lg{gap:var(--space-sm)}.user-name-text{display:none}.balance-display{flex-shrink:0;padding:var(--space-xs) var(--space-sm)!important}.balance-display span{font-size:var(--font-size-xs)}.page-header .invoice-profile-badge{min-width:0;max-width:100px;padding:var(--space-xs) var(--space-sm)!important}.page-header .invoice-profile-badge span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.page-header .dropdown-menu{margin-top:var(--space-xs);min-width:200px;left:auto;right:0}}@media (width<=480px){.page-header h1#pageTitle{max-width:100px}.page-header .invoice-profile-badge span{display:none}.page-header .invoice-profile-badge{max-width:none;padding:var(--space-xs)!important}.page-header .invoice-profile-badge i{margin:0}}.app-footer{padding:var(--space-md) var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--color-border);text-align:center;font-size:var(--font-size-sm);color:var(--color-foreground-muted)}.app-footer p{margin:0}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), color var(--transition-fast);white-space:nowrap;cursor:pointer;border:1px solid #0000;min-height:44px;padding:.625rem 1.25rem;font-weight:600;display:inline-flex}.btn-sm{font-size:var(--font-size-xs);min-height:36px;padding:.375rem .875rem}.btn-lg{font-size:var(--font-size-base);min-height:48px;padding:.75rem 1.5rem}.btn-primary{background:linear-gradient(135deg, var(--primary-blue), var(--primary-blue-dark));color:var(--white);box-shadow:0 2px 8px #0459b447}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-blue-light), var(--primary-blue));transform:translateY(-1px);box-shadow:0 4px 14px #0459b459}.btn-success{background:linear-gradient(135deg, var(--primary-green), var(--primary-green-dark));color:var(--white);box-shadow:0 2px 8px #22c55e47}.btn-success:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-green-light), var(--primary-green));transform:translateY(-1px);box-shadow:0 4px 14px #22c55e59}.btn-secondary{background:var(--color-surface);color:var(--gray-700);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.btn-outline{color:var(--primary-blue);border-color:var(--primary-blue);background:0 0}.btn-outline:hover:not(:disabled){color:var(--primary-blue-dark);background:#0459b414}.btn-danger{background:var(--error);color:var(--white);box-shadow:0 2px 8px #ef444440}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.form-group{margin-bottom:var(--space-lg)}.form-label{font-size:var(--font-size-sm);color:var(--gray-700);margin-bottom:var(--space-xs);font-weight:500;display:block}.form-input{box-sizing:border-box;width:100%;max-width:100%;font-size:var(--font-size-base);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:44px;padding:.625rem .875rem}.form-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--color-ring);outline:none}.form-input::placeholder{color:var(--gray-400)}.form-input.error{border-color:var(--error)}input[type=date],input[type=datetime-local]{color:var(--gray-800);cursor:pointer;font-family:inherit;position:relative;padding-right:var(--space-2xl)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230459B4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right var(--space-md) center!important;background-size:18px!important}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;z-index:2;height:auto;position:absolute;top:0;bottom:0;left:auto;color:#0000!important;right:var(--space-md)!important;opacity:1!important;background:0 0!important;width:20px!important}input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;z-index:2;height:auto;position:absolute;top:0;bottom:0;left:auto;color:#0000!important;right:var(--space-md)!important;opacity:1!important;background:0 0!important;width:20px!important}.form-error{font-size:var(--font-size-sm);color:var(--error);margin-top:var(--space-xs)}.form-hint{font-size:var(--font-size-sm);color:var(--gray-500);margin-top:var(--space-xs)}.form-select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--white);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;padding-right:var(--space-2xl);background-size:20px}.form-select:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #0459b41a}.custom-select-container{width:100%;position:relative}.custom-select-container.form-input,.custom-select-container.form-input-sm{min-height:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.custom-select-container.form-input-sm .custom-select-trigger{min-height:36px;font-size:var(--font-size-xs);padding:.375rem .75rem}.custom-select-trigger{width:100%;font-size:var(--font-size-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--gray-800);cursor:pointer;transition:all var(--transition-fast);text-align:left;box-sizing:border-box;justify-content:space-between;align-items:center;min-height:44px;padding:.625rem .875rem;font-weight:500;display:flex}.custom-select-trigger:hover{border-color:var(--primary-blue);background:var(--color-surface-hover)}.custom-select-trigger:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--color-ring);outline:none}.custom-select-trigger .arrow{font-size:var(--font-size-xs);color:var(--gray-400);transition:transform var(--transition-fast)}.custom-select-trigger .arrow.open{color:var(--primary-blue);transform:rotate(180deg)}.custom-select-options{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:240px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-xs);transform-origin:top;box-sizing:border-box;animation:.15s cubic-bezier(.16,1,.3,1) dropdownFadeIn;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}@keyframes dropdownFadeIn{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}.custom-select-option{padding:.625rem var(--space-md);font-size:var(--font-size-sm);color:var(--gray-700);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);box-sizing:border-box;align-items:center;min-height:40px;display:flex}.custom-select-option:hover{color:var(--primary-blue-dark);background:#0459b414}.custom-select-option.selected{background:var(--primary-blue);color:var(--white);font-weight:600}.custom-select-container.disabled .custom-select-trigger{opacity:.6;cursor:not-allowed;background:var(--color-surface-disabled)}.card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:box-shadow var(--transition-fast), border-color var(--transition-fast);overflow:visible}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.card-body{padding:var(--space-lg)}.card-footer{padding:var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.stat-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card .stat-icon{border-radius:var(--radius-md);width:48px;height:48px;font-size:var(--font-size-xl);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.stat-card .stat-icon.blue{color:var(--primary-blue);background:#0459b41a}.stat-card .stat-icon.green{color:var(--primary-green);background:#22c55e1f}.stat-card .stat-value{font-size:var(--font-size-2xl);color:var(--gray-900);font-weight:700}.stat-card .stat-label{font-size:var(--font-size-sm);color:var(--gray-500);margin-top:var(--space-xs)}.badge{text-align:center;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);white-space:nowrap;border-radius:var(--radius-full);justify-content:center;align-items:center;font-weight:500;line-height:1.4;display:inline-flex}.badge-success{color:var(--success);background:#10b9811a}.badge-warning{color:var(--warning);background:#f59e0b1a}.badge-error{color:var(--error);background:#ef44441a}.badge-info{color:var(--info);background:#3b82f61a}.badge-primary{color:var(--primary-blue);background:#0459b41a}.table-container{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);overflow-x:auto}@media (width>=1024px){.table-container{overflow-x:hidden}}.table{background:var(--color-surface);border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;color:var(--gray-600);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:.5rem;font-size:.6875rem;font-weight:700}.table td{color:var(--gray-700);border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:.5rem;font-size:.75rem}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover td{background:#0459b408}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:var(--z-modal);opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal);padding:var(--space-lg);background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);border:1px solid var(--color-border);width:100%;max-width:500px;max-height:90vh;transition:transform var(--transition-normal);overflow:hidden;transform:scale(.96)translateY(8px)}.modal-overlay.active .modal{transform:scale(1)translateY(0)}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-lg);color:var(--gray-900);font-weight:600}.modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--gray-500);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.modal-body{padding:var(--space-lg);max-height:60vh;overflow-y:auto}.modal-footer{padding:var(--space-lg);border-top:1px solid var(--gray-200);justify-content:flex-end;gap:var(--space-sm);display:flex}.spinner{border:3px solid var(--gray-200);border-top-color:var(--primary-blue);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:20px;height:20px}.spinner-lg{border-width:4px;width:60px;height:60px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-overlay{justify-content:center;align-items:center;gap:var(--space-md);z-index:var(--z-modal);background:#ffffffe6;flex-direction:column;display:flex;position:fixed;inset:0}.spinner-text{font-size:var(--font-size-sm);color:var(--gray-600)}.toast-container{top:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);gap:var(--space-sm);flex-direction:column;display:flex;position:fixed}.toast{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-md);min-width:300px;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-warning{border-left:4px solid var(--warning)}.toast-info{border-left:4px solid var(--info)}.toast-icon{font-size:var(--font-size-lg)}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--error)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--info)}.toast-message{font-size:var(--font-size-sm);color:var(--gray-700);flex:1}.toast-close{color:var(--gray-400);transition:color var(--transition-fast)}.toast-close:hover{color:var(--gray-600)}.empty-state{text-align:center;padding:var(--space-3xl)}.empty-state-icon{color:var(--gray-300);margin-bottom:var(--space-lg);font-size:4rem}.empty-state-title{font-size:var(--font-size-xl);color:var(--gray-700);margin-bottom:var(--space-sm);font-weight:600}.empty-state-text{font-size:var(--font-size-sm);color:var(--gray-500);margin-bottom:var(--space-lg)}.avatar{background:linear-gradient(135deg, var(--primary-blue), var(--primary-green));width:40px;height:40px;color:var(--white);font-weight:700;font-size:var(--font-size-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0459b433}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-lg)}.dropdown{z-index:calc(var(--z-sticky) + 1);position:relative}.dropdown-menu{background:var(--color-surface);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:var(--space-xs);opacity:0;visibility:hidden;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-8px)}.dropdown.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{align-items:center;gap:var(--space-sm);padding:.625rem var(--space-md);font-size:var(--font-size-sm);color:var(--gray-700);transition:background var(--transition-fast);cursor:pointer;text-align:left;border-radius:var(--radius-md);background:0 0;border:none;width:100%;min-height:44px;font-family:inherit;display:flex}.dropdown-item:hover{background:var(--gray-100)}.dropdown-item i{text-align:center;width:20px;color:var(--gray-500)}.dropdown-divider{background:var(--gray-200);height:1px;margin:var(--space-xs) 0}.divider{align-items:center;gap:var(--space-md);color:var(--gray-400);font-size:var(--font-size-sm);display:flex}.divider:before,.divider:after{content:"";background:var(--gray-200);flex:1;height:1px}#turnstileWidget{justify-content:center;display:flex}.deposit-promo-home-wrap{padding-bottom:0}.deposit-promo-banner{border-radius:var(--radius-md);padding:var(--space-sm) 0;background:linear-gradient(135deg,#05966917,#0459b412);border:1px solid #05966959}.deposit-promo-banner-item{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid #0000000f;display:flex}.deposit-promo-banner-item:last-child{border-bottom:none}.deposit-promo-banner-icon{border-radius:var(--radius-md);color:#059669;background:#05966926;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.deposit-promo-banner-body{flex:1;min-width:0}.deposit-promo-banner-title{font-weight:600;font-size:var(--font-size-base);color:var(--gray-800);margin-bottom:var(--space-xs)}.deposit-promo-banner-line,.deposit-promo-banner-meta{font-size:var(--font-size-sm);color:var(--gray-700);line-height:1.45}.deposit-promo-banner-meta{color:var(--gray-600);margin-top:4px}.deposit-promo-banner-dates{font-size:var(--font-size-xs)}.deposit-promo-banner-offer-dates{gap:var(--space-sm) var(--space-lg);font-size:var(--font-size-xs);color:var(--gray-600);flex-wrap:wrap;margin-top:6px;display:flex}.deposit-promo-offer-date{align-items:center;gap:6px;display:inline-flex}.deposit-promo-offer-date i{color:var(--primary-blue);font-size:.85rem}.deposit-promo-banner-actions{align-items:stretch;gap:var(--space-xs);flex-direction:column;flex-shrink:0;display:flex}@media (width<=640px){.deposit-promo-banner-item{flex-wrap:wrap}.deposit-promo-banner-actions{flex-direction:row;justify-content:flex-end;width:100%}}.wallet-deposit-promo-section{margin-bottom:var(--space-xl);padding:var(--space-lg);border-radius:var(--radius-md);background:linear-gradient(#0459b40f,#0596690a);border:1px solid #0459b433}.wallet-deposit-promo-heading{font-size:var(--font-size-base);color:var(--gray-800);margin:0 0 var(--space-md) 0;align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.wallet-deposit-promo-heading i{color:var(--primary-blue)}.wallet-deposit-promo-card{padding:var(--space-md);border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-200);margin-bottom:var(--space-md)}.wallet-deposit-promo-card:last-child{margin-bottom:0}.wallet-deposit-promo-card-title{color:var(--gray-800);margin-bottom:var(--space-sm);font-weight:600}.wallet-deposit-promo-card-lead,.wallet-deposit-promo-card-meta,.wallet-deposit-promo-card-dates{font-size:var(--font-size-sm);color:var(--gray-600);margin:0 0 var(--space-xs) 0;line-height:1.5}.wallet-deposit-promo-card-dates{font-size:var(--font-size-xs);color:var(--gray-500);margin-bottom:0}.wallet-deposit-promo-card-dates i{color:var(--primary-blue);margin-right:4px}.wallet-deposit-promo-dates{gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;margin-bottom:0;display:flex}.wallet-deposit-promo-date-pill{min-width:120px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50);text-align:center;flex:140px}.wallet-deposit-promo-date-pill-label{font-size:var(--font-size-xs);color:var(--gray-500);margin-bottom:4px;font-weight:600;display:block}.wallet-deposit-promo-date-pill-value{font-size:var(--font-size-base);color:var(--gray-800);font-weight:700;display:block}.wallet-deposit-promo-date-pill--start .wallet-deposit-promo-date-pill-value{color:var(--primary-blue)}.wallet-deposit-promo-date-pill--end .wallet-deposit-promo-date-pill-value{color:#b45309}.form-input-sm{min-height:36px!important;font-size:var(--font-size-xs)!important;padding:.375rem .75rem!important}.form-input-sm::placeholder{opacity:.75;font-size:var(--font-size-xs)!important}.pagination-container{justify-content:center!important;align-items:center!important;gap:var(--space-md)!important;margin-top:var(--space-lg)!important;padding:var(--space-md) var(--space-lg)!important;border-top:1px solid var(--color-border)!important;display:flex!important}.pagination-container span{white-space:nowrap;font-size:var(--font-size-sm)!important;color:var(--color-foreground-muted)!important;font-weight:500!important}.pagination-container .btn{min-height:34px!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-md)!important;border:1px solid var(--color-border-strong)!important;background-color:var(--color-surface)!important;color:var(--color-foreground)!important;box-shadow:var(--shadow-sm)!important;transition:all var(--transition-fast)!important;justify-content:center!important;align-items:center!important;padding:.375rem .875rem!important;display:inline-flex!important}.pagination-container .btn:hover:not(:disabled){background-color:var(--gray-50)!important;border-color:var(--gray-400)!important;color:var(--primary-blue)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-1px)!important}.pagination-container .btn:disabled{opacity:.4!important;cursor:not-allowed!important;background-color:var(--color-surface-muted)!important;border-color:var(--color-border)!important;color:var(--color-foreground-muted)!important;box-shadow:none!important;transform:none!important}.auth-layout{min-height:100dvh;padding:var(--space-lg);background:linear-gradient(135deg,#0a1128 0%,#101f42 33%,#1e3a8a 50%,#101f42 67%,#0a1128 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);z-index:1;border:1px solid #ffffff26;width:100%;max-width:440px;position:relative;overflow:hidden}.auth-header{text-align:center;padding:var(--space-2xl) var(--space-xl) var(--space-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(#0459b414,#0000)}.auth-logo{height:48px;margin:0 auto var(--space-lg)}.auth-title{font-size:var(--font-size-2xl);color:var(--gray-900);margin-bottom:var(--space-xs);letter-spacing:-.02em;font-weight:700}.auth-subtitle{font-size:var(--font-size-sm);color:var(--color-foreground-muted)}.auth-body{padding:var(--space-xl)}.auth-footer{padding:var(--space-lg) var(--space-xl) var(--space-2xl);text-align:center;border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.auth-footer-text{font-size:var(--font-size-sm);color:var(--color-foreground-muted)}.auth-footer-link{color:var(--primary-blue);transition:color var(--transition-fast);font-weight:600}.auth-footer-link:hover{color:var(--primary-blue-dark)}.forgot-password-link{text-align:right;font-size:var(--font-size-sm);color:var(--primary-blue);margin-top:calc(-1 * var(--space-sm));margin-bottom:var(--space-lg);transition:color var(--transition-fast);font-weight:500;display:block}.forgot-password-link:hover{color:var(--primary-blue-dark)}.otp-container{gap:var(--space-sm);margin:var(--space-lg) 0;justify-content:center;display:flex}.otp-input{text-align:center;width:48px;height:56px;font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-mono);border:2px solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:var(--color-surface)}.otp-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--color-ring);outline:none}.otp-input.filled{border-color:var(--primary-green);background:#22c55e0f}.countdown-text{font-size:var(--font-size-sm);color:var(--color-foreground-muted);text-align:center;margin-top:var(--space-md)}.resend-link{color:var(--primary-blue);cursor:pointer;font-weight:600}.resend-link.disabled{color:var(--gray-400);cursor:not-allowed}.password-strength{gap:var(--space-xs);margin-top:var(--space-sm);display:flex}.password-strength-bar{background:var(--gray-200);border-radius:var(--radius-full);height:4px;transition:background var(--transition-fast);flex:1}.password-strength-bar.weak{background:var(--error)}.password-strength-bar.medium{background:var(--warning)}.password-strength-bar.strong{background:var(--success)}.step-indicator{justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.step-dot{background:var(--gray-300);width:10px;height:10px;transition:background var(--transition-fast), transform var(--transition-fast);border-radius:50%}.step-dot.active{background:var(--primary-blue);transform:scale(1.3)}.step-dot.completed{background:var(--primary-green)}.login-error-overlay{-webkit-backdrop-filter:blur(6px);z-index:9999;opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal);padding:var(--space-lg);background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-error-overlay.active{opacity:1;visibility:visible}.login-error-popup{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-2xl) var(--space-xl);text-align:center;width:100%;max-width:400px;box-shadow:var(--shadow-2xl);border:1px solid var(--color-border);transition:transform var(--transition-normal);transform:scale(.92)}.login-error-overlay.active .login-error-popup{transform:scale(1)}.login-error-icon{width:72px;height:72px;margin:0 auto var(--space-lg);background:linear-gradient(135deg,#ef4444,#f87171);border-radius:50%;justify-content:center;align-items:center;display:flex}.login-error-icon i{color:#fff;font-size:32px}.login-error-title{font-size:var(--font-size-xl);color:var(--gray-900);margin-bottom:var(--space-sm);font-weight:700}.login-error-message{font-size:var(--font-size-sm);color:var(--color-foreground-muted);margin-bottom:var(--space-xl);line-height:1.6}.login-error-btn{border-radius:var(--radius-lg);min-width:140px}@keyframes shake{0%,to{transform:scale(1)translate(0)}10%,30%,50%,70%,90%{transform:scale(1)translate(-6px)}20%,40%,60%,80%{transform:scale(1)translate(6px)}}.login-error-popup.shake{animation:.5s shake}.not-found-layout{background:var(--color-background);min-height:100dvh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.not-found-card{text-align:center;max-width:480px;padding:var(--space-3xl);background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.not-found-code{background:linear-gradient(135deg, var(--primary-blue), var(--primary-green));-webkit-text-fill-color:transparent;margin-bottom:var(--space-md);font-size:5rem;font-weight:800;line-height:1;font-family:var(--font-mono);-webkit-background-clip:text;background-clip:text}@media (width<=480px){.auth-container{border-radius:var(--radius-xl);max-width:100%}.auth-header,.auth-body,.auth-footer{padding-left:var(--space-lg);padding-right:var(--space-lg)}.otp-input{width:42px;height:50px;font-size:var(--font-size-lg)}}@media (prefers-reduced-motion:reduce){.login-error-popup.shake{animation:none}}.dashboard-stats{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(5,1fr);display:grid}.stat-card-link{cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.stat-card-link:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.highlight{color:#fff;background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 4px 15px #ff6b354d}.stat-card.highlight .stat-value{color:#fff}.stat-card.highlight .stat-label{color:#ffffffe6}.stat-card.highlight .stat-icon{color:#fff;background:#fff3}.stat-icon.orange{color:var(--white);background:linear-gradient(135deg,#ff6b35,#f7931e)}@media (width<=1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dashboard-stats{grid-template-columns:1fr}}.quick-actions{gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.quick-action-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--gray-200);align-items:center;gap:var(--space-md);cursor:pointer;transition:all var(--transition-fast);flex:1;display:flex}.quick-action-card:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quick-action-icon{border-radius:var(--radius-md);width:48px;height:48px;font-size:var(--font-size-xl);justify-content:center;align-items:center;display:flex}.quick-action-icon.blue{background:linear-gradient(135deg, var(--primary-blue), var(--primary-blue-dark));color:var(--white)}.quick-action-icon.green{background:linear-gradient(135deg, var(--primary-green), var(--primary-green-dark));color:var(--white)}.quick-action-content h4{font-size:var(--font-size-base);color:var(--gray-800);margin-bottom:var(--space-xs);font-weight:600}.quick-action-content p{font-size:var(--font-size-sm);color:var(--gray-500)}@media (width<=768px){.quick-actions{gap:var(--space-sm);flex-wrap:wrap}.quick-action-card{min-width:0;padding:var(--space-md);flex:45%}.quick-action-icon{width:40px;height:40px;font-size:var(--font-size-lg)}.quick-action-content h4{font-size:var(--font-size-sm)}.quick-action-content p{font-size:var(--font-size-xs)}}@media (width<=480px){.quick-actions{gap:var(--space-sm);flex-direction:column}.quick-action-card{width:100%;min-width:0;padding:var(--space-md) var(--space-lg);flex:none}.quick-action-card:hover{transform:translateY(-1px)}}.active-rentals-section{margin-bottom:var(--space-xl)}.section-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--font-size-xl);color:var(--gray-800);font-weight:600}.section-action{font-size:var(--font-size-sm);color:var(--primary-blue);font-weight:500}.section-action:hover{text-decoration:underline}.active-rental-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.rental-card-header{background:linear-gradient(135deg, var(--primary-blue), var(--primary-blue-dark));color:var(--white);padding:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.rental-header-right{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.rental-card-header ::selection{color:var(--primary-blue-dark);background:#ffffffe6}.rental-card-header ::selection{color:var(--primary-blue-dark);background:#ffffffe6}.rental-gpu-info h3{margin-bottom:var(--space-xs);font-weight:600;color:var(--white)!important}.rental-gpu-info span{font-size:var(--font-size-sm);opacity:.9}.rental-meta{align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.os-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);background:#ffffff26;font-weight:500;display:inline-flex}.os-badge i{font-size:var(--font-size-sm)}.order-id-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;background:#0003;font-family:Monaco,Consolas,monospace;transition:background .2s;display:inline-flex}.order-id-badge:hover{background:#0000004d}.order-id-badge i.fa-receipt{opacity:.7}.copy-order-btn{color:var(--white);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);margin-left:var(--space-xs);background:#fff3;border:none;padding:2px 6px;transition:all .2s}.copy-order-btn:hover{background:#fff6;transform:scale(1.1)}.rented-at-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);opacity:.85;background:#ffffff1a;display:inline-flex}.rented-at-badge i{opacity:.7}.rental-status-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);background:#fff3;font-weight:500;display:flex}.rental-status-badge i{font-size:8px}.rental-status-badge.running i{color:var(--primary-green)}.rental-status-badge.installing{background:linear-gradient(135deg,#ff9800,#f57c00);animation:1.5s ease-in-out infinite pulse}.rental-status-badge.installing i{color:var(--white)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.rental-card-body{padding:var(--space-lg);gap:var(--space-lg);border:3px solid var(--primary-blue);border-radius:0 0 10px 10px;grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.rental-card-body{grid-template-columns:1fr}.rental-card-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.rental-gpu-info{width:100%}.rental-gpu-info h3{font-size:var(--font-size-lg)}.rental-meta{gap:var(--space-xs)}.rental-header-right{justify-content:flex-start;gap:var(--space-sm);flex-wrap:wrap;width:100%}}.connection-info{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--space-md)}.connection-info h4{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.connection-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;display:flex}.connection-item:last-child{border-bottom:none}.connection-label{font-size:var(--font-size-sm);color:var(--gray-500)}.connection-value{font-size:var(--font-size-sm);color:var(--gray-800);align-items:center;gap:var(--space-sm);font-weight:500;display:flex}.connection-value code{background:var(--gray-200);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:monospace}.copy-btn{color:var(--gray-400);cursor:pointer;transition:color var(--transition-fast)}.copy-btn:hover{color:var(--primary-blue)}.toggle-password-btn{color:var(--gray-400);cursor:pointer;transition:color var(--transition-fast);font-size:inherit;background:0 0;border:none;padding:0}.toggle-password-btn:hover{color:var(--primary-blue)}.password-field{align-items:center;gap:var(--space-sm);display:flex}.password-field .password-display{background:var(--gray-100);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-sm)}.timer-billing{gap:var(--space-md);flex-direction:column;justify-content:flex-start;height:100%;display:flex}.timer-billing .billing-display{margin-top:auto}.action-buttons{gap:var(--space-sm);margin-top:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.action-buttons .btn{justify-content:center;width:100%}.timer-display{border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;background:linear-gradient(135deg,#0459b41a,#76bc1c1a)}.timer-label{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--space-sm)}.timer-value{font-size:var(--font-size-3xl);color:var(--primary-blue);font-family:monospace;font-weight:700}.timer-display.retention-countdown{background:linear-gradient(135deg,#ff980026,#ffc10726);border:2px solid #ff98004d}.timer-display.retention-countdown .timer-label{color:#f57c00;justify-content:center;align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.timer-display.retention-countdown .timer-label i{color:#ff9800}.timer-display.retention-countdown .timer-value{color:#f57c00}.timer-display.retention-countdown .timer-value.critical{color:#d32f2f;animation:1s ease-in-out infinite pulse-critical}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.6}}.timer-display.retention-countdown .timer-hint{margin-top:var(--space-sm);font-size:var(--font-size-xs);color:#ef6c00;font-style:italic}.billing-display{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--space-md)}.billing-row{padding:var(--space-sm) 0;font-size:var(--font-size-sm);justify-content:space-between;display:flex}.billing-row:not(:last-child){border-bottom:1px solid var(--gray-200)}.billing-label{color:var(--gray-500)}.billing-value{color:var(--gray-800);font-weight:500}.billing-value.total{color:var(--primary-blue);font-weight:700}.billing-value.next-billing{color:var(--warning);align-items:center;gap:var(--space-xs);font-weight:600;display:flex}.billing-value.next-billing i{font-size:var(--font-size-xs)}.billing-value.deducted{color:var(--error)}.toggle-switch{align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.toggle-switch input{display:none}.toggle-slider{background:var(--gray-300);border-radius:11px;width:40px;height:22px;transition:background .3s;position:relative}.toggle-slider:before{content:"";background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--primary-green,#4caf50)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-label{font-size:var(--font-size-xs);color:var(--gray-600);font-weight:500}.toggle-switch.header-toggle .toggle-label{color:#ffffffe6}.toggle-switch.header-toggle .toggle-slider{background:#ffffff4d}.toggle-switch.header-toggle input:checked+.toggle-slider{background:#4caf50}.rental-card-footer{padding:var(--space-lg);border-top:1px solid var(--gray-200);gap:var(--space-sm);justify-content:flex-end;display:flex}.ssh-status{align-items:center;gap:var(--space-xs);display:inline-flex}.ssh-status.ssh-processing{color:var(--warning)}.ssh-status.ssh-processing i{animation:1s infinite pulse}.ssh-status.ssh-ready,.ssh-status.ssh-ready i{color:var(--success)}.ssh-quick-access{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #0f3460}.ssh-quick-label{align-items:center;gap:var(--space-sm);color:#00d9ff;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);font-weight:600;display:flex}.ssh-quick-label i{color:#0f8}.ssh-quick-command{align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:#0d1117;border:1px solid #30363d;display:flex}.ssh-quick-command code{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-sm);color:#0f8;word-break:break-all;background:0 0;flex:1;padding:0}.ssh-quick-command .copy-ssh-cmd{align-items:center;gap:var(--space-xs);color:#0d1117;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:linear-gradient(135deg,#00d9ff,#09f);font-weight:600;display:flex}.ssh-quick-command .copy-ssh-cmd:hover{background:linear-gradient(135deg,#0f8,#00d9ff);transform:scale(1.05)}.ssh-quick-hint{margin-top:var(--space-sm);font-size:var(--font-size-xs);color:#8b949e;text-align:center}.reboot-badge{align-items:center;gap:var(--space-xs);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);background:linear-gradient(135deg,#dc3545,#c82333);font-weight:600;animation:1s ease-in-out infinite blink;display:inline-flex;box-shadow:0 2px 8px #dc354566}.reboot-badge i{font-size:10px;animation:1s linear infinite spin}@keyframes blink{0%,to{opacity:1;box-shadow:0 2px 8px #dc354566}50%{opacity:.7;box-shadow:0 2px 16px #dc354599}}.restart-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.restart-modal{border-radius:var(--radius-lg);padding:var(--space-xl);background:#fff;width:90%;max-width:400px;animation:.3s ease-out slideUp;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.restart-modal-icon{width:64px;height:64px;margin:0 auto var(--space-lg);background:linear-gradient(135deg,#ff9500,#ff6b00);border-radius:50%;justify-content:center;align-items:center;display:flex}.restart-modal-icon i{color:#fff;font-size:28px}.restart-modal-title{font-size:var(--font-size-xl);color:var(--gray-800);text-align:center;margin-bottom:var(--space-sm);font-weight:700}.restart-modal-message{font-size:var(--font-size-sm);color:var(--gray-600);text-align:center;margin-bottom:var(--space-xl);line-height:1.6}.restart-modal-actions{gap:var(--space-md);display:flex}.restart-modal-actions .btn{flex:1}.confirm-modal-overlay{z-index:1000;padding:var(--space-lg);background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;width:100%;max-width:420px;animation:.3s slideUp;box-shadow:0 20px 60px #0000004d}.confirm-modal-icon{width:70px;height:70px;margin:0 auto var(--space-lg);border-radius:50%;justify-content:center;align-items:center;font-size:32px;display:flex}.confirm-modal-icon.stop{color:var(--white);background:linear-gradient(135deg,#ff9800,#f57c00)}.confirm-modal-icon.start{color:var(--white);background:linear-gradient(135deg,#4caf50,#388e3c)}.confirm-modal-icon.danger{color:var(--white);background:linear-gradient(135deg,#f44336,#d32f2f)}.rental-status-badge.stopped{color:var(--white);background:linear-gradient(135deg,#9e9e9e,#757575)}.confirm-modal h3{font-size:var(--font-size-xl);color:var(--gray-800);margin-bottom:var(--space-md);font-weight:700}.confirm-modal-text{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--space-xl);text-align:left;line-height:1.7}.confirm-modal-actions{gap:var(--space-md);display:flex}.confirm-modal-actions .btn{padding:var(--space-sm) var(--space-lg);flex:1}.btn-warning{color:var(--white);background:linear-gradient(135deg,#ff9800,#f57c00);border:none}.btn-warning:hover{background:linear-gradient(135deg,#f57c00,#ef6c00)}.rental-detail-modal-overlay{z-index:1000;padding:var(--space-lg);background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.rental-detail-modal{background:var(--white);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:700px;max-height:90vh;animation:.3s slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.rental-detail-header{padding:var(--space-lg) var(--space-xl);background:linear-gradient(135deg, var(--primary-blue), var(--primary-dark));color:var(--white);justify-content:space-between;align-items:center;display:flex}.rental-detail-header h3{font-size:var(--font-size-lg);align-items:center;gap:var(--space-sm);margin:0;display:flex}.rental-detail-header .close-btn{color:var(--white);cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex}.rental-detail-header .close-btn:hover{background:#ffffff4d}.rental-detail-body{padding:var(--space-lg) var(--space-xl);flex:1;overflow-y:auto}.detail-section{margin-bottom:var(--space-xl)}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 var(--space-md) 0;font-size:var(--font-size-md);color:var(--gray-700);align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:2px solid var(--gray-100);display:flex}.detail-section h4 i{color:var(--primary-blue)}.detail-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.detail-item{gap:var(--space-xs);flex-direction:column;display:flex}.detail-label{font-size:var(--font-size-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:var(--font-size-md);color:var(--gray-800);font-weight:500}.ssh-command-box{margin-top:var(--space-md);background:var(--gray-900);border-radius:var(--radius-md);padding:var(--space-md);overflow-x:auto}.ssh-command-box code{color:var(--success);font-family:Monaco,Consolas,monospace;font-size:var(--font-size-sm);white-space:nowrap}@media (width<=640px){.rental-detail-modal{border-radius:0;max-width:100%;max-height:100%}.detail-grid{grid-template-columns:1fr}}.config-info{background:var(--gray-50);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);grid-column:1/-1}.config-info h4{font-size:var(--font-size-sm);color:var(--gray-600);margin-bottom:var(--space-sm);align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;transition:color .2s;display:flex}.config-info h4:hover,.config-info h4 i{color:var(--primary-blue)}.config-toggle-icon{font-size:var(--font-size-xs);color:var(--gray-400);margin-left:auto;transition:transform .2s}.config-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=480px){.config-grid{grid-template-columns:1fr}}.config-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--gray-200);display:flex}.config-icon{background:linear-gradient(135deg, var(--primary-blue), var(--primary-green));border-radius:var(--radius-sm);width:32px;height:32px;color:var(--white);font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.config-detail{flex-direction:column;min-width:0;display:flex}.config-label{font-size:var(--font-size-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.config-value{font-size:var(--font-size-sm);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ticket-badge-count{color:#fff;background:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.ticket-list-loading{text-align:center;padding:var(--space-xl);color:var(--gray-500);font-size:var(--font-size-sm)}.ticket-list-loading i{margin-right:var(--space-sm);color:var(--primary-blue)}.ticket-empty{text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--gray-400)}.ticket-empty i{margin-bottom:var(--space-sm);font-size:2rem;display:block}.ticket-empty.error i{color:var(--error)}.ticket-list-mini{gap:var(--space-sm);flex-direction:column;display:flex}.ticket-list-item{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all .15s}.ticket-list-item:hover{border-color:var(--primary-blue);background:#f0f6ff;box-shadow:0 2px 8px #0459b41a}.ticket-list-item-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);display:flex}.ticket-list-item-subject{font-weight:600;font-size:var(--font-size-sm);color:var(--gray-800);margin-bottom:var(--space-xs)}.ticket-list-item-meta{align-items:center;gap:var(--space-md);font-size:var(--font-size-xs);color:var(--gray-500);display:flex}.ticket-list-item-meta i{margin-right:3px}.ticket-status-badge{border-radius:var(--radius-full);letter-spacing:.3px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.ticket-status-badge.closed{background:var(--gray-200);color:var(--gray-600)}.ticket-category{color:var(--gray-500);background:var(--gray-100);border-radius:var(--radius-sm);padding:2px 6px;font-size:11px}.ticket-unread-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse;display:inline-block}.ticket-chat{flex-direction:column;height:500px;display:flex}.ticket-chat-header{padding-bottom:var(--space-md);border-bottom:1px solid var(--gray-200);margin-bottom:var(--space-md)}.ticket-chat-subject{font-size:var(--font-size-base);color:var(--gray-800);margin-bottom:var(--space-xs);font-weight:600}.ticket-chat-meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.ticket-order{color:var(--gray-500);font-family:monospace;font-size:11px}.ticket-chat-messages{gap:var(--space-sm);padding:var(--space-sm) 0;scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-bubble.user{background:linear-gradient(135deg, var(--primary-blue), var(--primary-blue-dark));color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.admin{background:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-200);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble-sender{opacity:.8;margin-bottom:2px;font-size:11px;font-weight:600}.chat-bubble.admin .chat-bubble-sender{color:var(--primary-blue);opacity:1}.ticket-chat-input{border-top:1px solid var(--gray-200);padding-top:var(--space-md);margin-top:var(--space-sm)}.ticket-chat-input textarea{resize:none;margin-bottom:var(--space-sm)}.ticket-chat-actions{justify-content:space-between;align-items:center;display:flex}.ticket-chat-closed{text-align:center;padding:var(--space-md);background:var(--gray-50);border-radius:var(--radius-md);color:var(--gray-500);font-size:var(--font-size-sm);margin-top:var(--space-sm);border:1px dashed var(--gray-300)}.ticket-chat-closed i{margin-right:var(--space-xs)}.ports-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--gray-300)}.ports-header{align-items:center;gap:var(--space-sm);color:var(--primary-blue);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);font-weight:600;display:flex}.ports-header i{color:var(--primary-green)}.ports-list{gap:var(--space-sm);flex-direction:column;display:flex}.port-item{justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:all .15s;display:flex}.port-item:hover{border-color:var(--primary-blue);box-shadow:0 2px 8px #0459b41a}.port-item-info{align-items:center;gap:var(--space-md);flex:1;min-width:0;display:flex}.port-number{font-size:var(--font-size-xs);color:var(--primary-blue);white-space:nowrap;align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);background:#0459b414;padding:2px 8px;font-weight:600;display:flex}.port-number i{color:var(--primary-blue-light);font-size:10px}.port-url{font-size:var(--font-size-xs);color:var(--primary-blue);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:var(--space-xs);text-decoration:none;transition:color .15s;display:flex;overflow:hidden}.port-url:hover{color:var(--primary-blue-dark);text-decoration:underline}.port-url i{flex-shrink:0;font-size:10px}.port-item-actions{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.btn-icon{border-radius:var(--radius-sm);cursor:pointer;background:var(--gray-100);width:28px;height:28px;color:var(--gray-500);border:none;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.btn-icon:hover{background:var(--gray-200);color:var(--primary-blue)}.btn-icon.close-port-btn:hover{color:var(--error);background:#ef44441a}.port-warning{align-items:flex-start;gap:var(--space-sm);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--font-size-sm);color:var(--gray-700);text-align:left;background:#f59e0b1a;border:1px solid #f59e0b40;line-height:1.6;display:flex}.port-warning i{color:var(--warning);flex-shrink:0;margin-top:2px;font-size:1.1rem}.port-expose-form{text-align:left;margin-bottom:var(--space-lg)}@media (width<=640px){.port-item{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.port-item-info{align-items:flex-start;gap:var(--space-xs);flex-direction:column;width:100%;min-width:0}.port-item-actions{align-self:flex-end}.port-url{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;display:block;overflow:hidden}.ssh-quick-command{gap:var(--space-xs);flex-wrap:wrap}.ssh-quick-command code{word-break:break-all;flex:100%;min-width:0;font-size:12px}.ssh-quick-command .copy-ssh-cmd{margin-left:auto}.connection-info{overflow:hidden}.connection-value{justify-content:flex-end;max-width:60%}.connection-value code{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;display:inline-block;overflow:hidden}.billing-row{gap:var(--space-xs);flex-wrap:wrap}.billing-value.next-billing{font-size:var(--font-size-xs)}.action-buttons{gap:var(--space-xs)}.action-buttons .btn{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}}.admin-layout .main-content{margin-left:var(--sidebar-width)}.admin-sidebar{width:var(--sidebar-width);-webkit-user-select:none;user-select:none;background:#0f172a;border-right:1px solid #1e293b;flex-direction:column;display:flex}.admin-sidebar-header{border-bottom:1px solid #1e293bcc;align-items:center;height:64px;min-height:64px;padding:0 1.25rem;display:flex}.admin-sidebar-brand{align-items:center;gap:.75rem;width:100%;text-decoration:none;display:flex}.admin-brand-icon{color:#fff;background:linear-gradient(135deg,#10b981 0%,#2dd4bf 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.125rem;font-weight:800;display:flex;box-shadow:0 4px 14px #10b98140}.admin-brand-info{flex-direction:column;min-width:0;display:flex}.admin-brand-title-row{align-items:center;gap:.5rem;display:flex}.admin-brand-name{color:#fff;letter-spacing:-.02em;font-size:1rem;font-weight:700;line-height:1.2}.admin-brand-badge{color:#34d399;letter-spacing:.02em;background:#10b9812e;border:1px solid #10b9814d;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.3}.admin-brand-sub{color:#94a3b8;margin:0;font-size:11px;line-height:1.3}.admin-sidebar .sidebar-nav{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;padding:1rem .75rem;overflow-y:auto}.admin-sidebar .sidebar-menu{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.admin-sidebar .sidebar-link{color:#94a3b8;border-radius:10px;justify-content:space-between;align-items:center;min-width:0;min-height:40px;padding:.625rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-link-left{align-items:center;gap:.75rem;min-width:0;display:flex}.admin-sidebar .sidebar-link i{text-align:center;width:16px;color:inherit;flex-shrink:0;font-size:.875rem}.admin-sidebar .sidebar-link:hover:not(.sidebar-link-disabled){color:#f1f5f9;background:#1e293b99}.admin-sidebar .sidebar-link.active{color:#fff;background:#059669;font-weight:600;box-shadow:0 4px 14px #064e3b66}.admin-sidebar .sidebar-link.active i{color:#fff}.sidebar-active-indicator{background:#a7f3d0;border-radius:9999px;flex-shrink:0;width:8px;height:8px;animation:2s cubic-bezier(0,0,.2,1) infinite ping}@keyframes ping{75%,to{opacity:0;transform:scale(1.4)}}.admin-sidebar .sidebar-link-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.admin-sidebar .sidebar-link .coming-soon{color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#ffffff0f;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:600}.admin-sidebar .sidebar-divider{background:#1e293bcc;height:1px;margin:.5rem;list-style:none}.admin-sidebar-footer{color:#94a3b8;background:#0f172a;border-top:1px solid #1e293bcc;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.75rem;display:flex}.admin-footer-status{align-items:center;gap:.5rem;display:flex}.admin-status-dot{background:#10b981;border-radius:9999px;width:8px;height:8px;display:inline-block}.admin-footer-version{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.page-header.admin-header{height:64px;min-height:64px;z-index:var(--z-sticky);background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #00000005}.admin-header-left{align-items:center;gap:.75rem;min-width:0;display:flex}.admin-header-pill{color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0cc;border-radius:9999px;align-items:center;gap:.5rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.admin-header-pill-icon{color:#059669;font-size:.8125rem}.admin-header-breadcrumb{color:#94a3b8;align-items:center;gap:.5rem;min-width:0;font-size:.875rem;display:flex}.admin-header-sep{color:#cbd5e1;font-weight:500}.admin-header-title{color:#0f172a;letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;overflow:hidden}.admin-header-tooltip-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.admin-header-info-icon{color:#64748b;cursor:default;background:#e2e8f0;border:none;border-radius:9999px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:all .15s;display:inline-flex}.admin-header-info-icon.is-clickable{cursor:pointer}.admin-header-tooltip-wrapper:hover .admin-header-info-icon{color:#fff;background:#059669}.admin-header-custom-tooltip{color:#f8fafc;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;background:#0f172a;border:1px solid #ffffff1f;border-radius:12px;width:max-content;max-width:320px;padding:10px 14px;font-size:12px;line-height:1.45;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(4px);box-shadow:0 10px 25px -5px #0f172a59,0 8px 10px -6px #0f172a33}.admin-header-custom-tooltip:before{content:"";border:5px solid #0000;border-bottom-color:#0f172a;position:absolute;bottom:100%;left:8px}.admin-header-tooltip-wrapper:hover .admin-header-custom-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.admin-header-tooltip-title{color:#34d399;align-items:center;gap:4px;margin-bottom:3px;font-size:12px;font-weight:700;display:flex}.admin-header-tooltip-desc{color:#cbd5e1;font-size:11px;font-weight:400}.admin-header-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.admin-header-clock{color:#475569;background:#f1f5f9;border-radius:6px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;display:inline-flex}.admin-clock-dot{background:#10b981;border-radius:9999px;width:6px;height:6px;animation:2s cubic-bezier(0,0,.2,1) infinite ping;display:inline-block;box-shadow:0 0 0 2px #10b98133}.admin-header-divider{background:#e2e8f0;width:1px;height:24px;margin:0 .25rem}.admin-profile-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.25rem .5rem;transition:background .15s;display:flex}.admin-profile-btn:hover{background:#f8fafc}.admin-avatar-pill{color:#fff;background:#0d9488;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8125rem;font-weight:700;display:flex;box-shadow:0 0 0 2px #10b98133}.admin-profile-info{text-align:left;flex-direction:column;display:flex}.admin-profile-email{color:#1e293b;font-size:.75rem;font-weight:600;line-height:1.2}.admin-profile-role{color:#059669;font-size:10px;font-weight:500;line-height:1.2}.admin-profile-arrow{color:#94a3b8;margin-left:2px;font-size:10px}@media (width<=1024px){.admin-header-clock,.admin-profile-info{display:none}.admin-header-custom-tooltip{top:calc(var(--header-height,64px) + 4px);width:auto;max-width:none;position:fixed;left:12px;right:12px}.admin-header-custom-tooltip:before{display:none}}@media (width<=640px){.admin-header-pill,.admin-header-sep{display:none}.admin-header-left,.admin-header-breadcrumb{flex:1;min-width:0}.page-header h1#pageTitle.admin-header-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:none;font-size:15px;overflow:hidden}}.admin-dashboard-hero{margin-bottom:var(--space-2xl)}.admin-dashboard-title{font-size:var(--font-size-3xl);color:var(--gray-800);margin:0 0 var(--space-sm);font-weight:500}.admin-dashboard-subtitle{font-size:var(--font-size-base);color:var(--gray-500);margin:0}.admin-dashboard-tabs{gap:var(--space-sm);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--gray-200);flex-wrap:wrap;display:flex}.admin-dash-tab{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--gray-600);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;min-height:44px;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);padding:.625rem 1.25rem;font-weight:600;display:inline-flex}.admin-dash-tab:hover{color:var(--primary-blue);box-shadow:var(--shadow-xs);border-color:#0459b459}.admin-dash-tab.active{color:var(--primary-blue);border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--color-ring);background:#0459b414}.admin-tab-panel.is-hidden,.admin-tab-panel[hidden]{display:none!important}.admin-deposit-event-layout{gap:var(--space-xl);grid-template-columns:1fr minmax(280px,380px);align-items:start;display:grid}.admin-deposit-event-card,.admin-deposit-event-summary-card{border:1px solid #0459b424;box-shadow:0 8px 24px #0459b414}.admin-deposit-event-card{padding:var(--space-xl)}.admin-deposit-event-summary-card{padding:var(--space-xl);top:calc(72px + var(--space-md));position:sticky}.admin-deposit-event-form .form-group{margin-bottom:var(--space-xl)}.admin-deposit-event-form .form-row-grid{gap:var(--space-xl);margin-bottom:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.admin-deposit-event-card-head{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.admin-deposit-event-card-head p{font-size:var(--font-size-sm);color:var(--gray-500);margin:0;line-height:1.6}@media (width<=1024px){.admin-deposit-event-layout{grid-template-columns:1fr}.admin-deposit-event-summary-card{position:static;top:auto}}.admin-deposit-event-card-head h2{font-size:var(--font-size-xl);color:var(--primary-blue);margin:0 0 var(--space-sm);align-items:center;gap:var(--space-sm);font-weight:500;display:flex}.admin-deposit-event-card-head h2 i{color:var(--primary-green)}@media (width<=640px){.admin-deposit-event-form .form-row-grid{grid-template-columns:1fr}}.admin-deposit-event-form .form-hint{font-size:var(--font-size-xs);color:var(--gray-500);margin-top:var(--space-xs);line-height:1.4;display:block}.admin-deposit-threshold-wrap.is-hidden,.admin-deposit-threshold-wrap[hidden]{display:none!important}.admin-bonus-input-wrap{align-items:stretch;max-width:200px;display:flex}.admin-bonus-input-wrap .form-input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.admin-bonus-suffix{padding:0 var(--space-md);background:var(--gray-100);border:1px solid var(--gray-300);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--gray-700);border-left:none;align-items:center;font-weight:600;display:flex}.form-checkbox-row .form-label-inline{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--gray-700);cursor:pointer;display:flex}.form-checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-blue)}.admin-deposit-event-actions{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border);gap:var(--space-lg);flex-wrap:wrap;display:flex}.admin-deposit-event-summary-card h3{font-size:var(--font-size-lg);margin:0 0 var(--space-sm);align-items:center;gap:var(--space-sm);color:var(--gray-800);font-weight:500;display:flex}.admin-deposit-event-summary-card h3 i{color:var(--primary-blue)}.admin-deposit-summary-intro{font-size:var(--font-size-sm);color:var(--gray-500);margin:0 0 var(--space-lg);line-height:1.5}.admin-deposit-summary-dl{margin:0;padding:0}.admin-deposit-summary-dl>div{gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--gray-100);font-size:var(--font-size-sm);grid-template-columns:100px 1fr;display:grid}.admin-deposit-summary-dl dt{color:var(--gray-600);margin:0;font-weight:600}.admin-deposit-summary-dl dd{color:var(--gray-800);margin:0;line-height:1.45}.admin-deposit-json-wrap{margin-top:var(--space-lg)}.admin-deposit-json-wrap .form-label{margin-bottom:var(--space-xs);font-size:var(--font-size-xs);color:var(--gray-600);font-weight:600;display:block}.admin-deposit-json{padding:var(--space-md);background:var(--gray-900);color:#a5d6ff;border-radius:var(--radius-md);max-height:220px;margin:0;font-size:11px;line-height:1.45;overflow-x:auto}.admin-dashboard-cards{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.admin-dashboard-card{padding:var(--space-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);box-shadow:var(--shadow-sm);text-decoration:none;display:block}.admin-dashboard-card:hover:not(.admin-dashboard-card-disabled){box-shadow:var(--shadow-lg);border-color:#0459b466;transform:translateY(-3px)}.admin-dashboard-card-icon{width:52px;height:52px;color:var(--primary-blue);border-radius:var(--radius-lg);margin-bottom:var(--space-md);background:linear-gradient(135deg,#0459b41f,#22c55e1a);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.admin-dashboard-card h3{font-size:var(--font-size-lg);color:var(--gray-800);margin:0 0 var(--space-xs);font-weight:600}.admin-dashboard-card p{font-size:var(--font-size-sm);color:var(--gray-500);margin:0}.admin-dashboard-card-disabled{opacity:.7;cursor:default;pointer-events:none}.admin-dashboard-card-disabled .admin-dashboard-card-icon{background:var(--gray-100);color:var(--gray-400)}@media (width<=768px){.admin-sidebar.open{transform:translate(0)}.admin-sidebar{transition:transform var(--transition-normal);transform:translate(-100%)}.admin-layout .main-content{margin-left:0}}.admin-combo-header{padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);background:linear-gradient(135deg,#0459b40f,#22c55e0f);border:1px solid #0459b41f;justify-content:space-between;align-items:center;display:flex}.admin-combo-title{margin:0 0 var(--space-xs);font-size:var(--font-size-2xl);color:var(--gray-800);font-weight:500}.admin-combo-subtitle{color:var(--gray-500);font-size:var(--font-size-sm);margin:0}.admin-combo-badge{background:var(--primary-blue);color:#fff;font-size:var(--font-size-xs);border-radius:999px;padding:6px 12px;font-weight:600}.admin-combo-card{padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-combo-card .form-grid{gap:var(--space-md) var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-combo-card .form-row{gap:var(--space-xs);flex-direction:column;display:flex}.admin-combo-card .form-row label{color:var(--gray-700);font-weight:600}.admin-combo-card input,.admin-combo-card select{border-radius:var(--radius-md);border:1px solid var(--gray-200);background:#fff;padding:10px 12px}.admin-combo-card .form-row.full{grid-column:1/-1}.admin-combo-card .form-actions{gap:var(--space-md);padding-top:var(--space-sm);grid-column:1/-1;display:flex}.os-checkbox-group{gap:var(--space-sm);flex-wrap:wrap;display:flex}.os-checkbox{align-items:center;gap:var(--space-xs);border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--gray-50);font-size:var(--font-size-sm);color:var(--gray-700);padding:6px 10px;display:inline-flex}.os-help-text{margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--gray-500)}@media (width<=900px){.admin-combo-card .form-grid{grid-template-columns:1fr}}@media (width<=768px){.admin-layout .main-content{max-width:100vw;margin-left:0;overflow-x:hidden}.admin-layout .page-content{padding:var(--space-md);max-width:100%;overflow-x:hidden}.admin-sidebar{transition:transform var(--transition-normal);z-index:1000;position:fixed;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-header{padding:var(--space-md)}.admin-sidebar-header .sidebar-logo{flex-wrap:wrap;justify-content:center}.admin-logo-text{font-size:var(--font-size-lg)}.admin-sidebar .sidebar-link{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.admin-sidebar .sidebar-link span:not(.coming-soon){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-sidebar .sidebar-link .coming-soon{white-space:nowrap;font-size:10px}.admin-switch-user-link{font-size:var(--font-size-xs)}.admin-combo-header{gap:var(--space-md);text-align:center;padding:var(--space-md);flex-direction:column}.admin-combo-title{font-size:var(--font-size-lg)}.admin-combo-subtitle{font-size:var(--font-size-xs)}.admin-combo-card{padding:var(--space-md);box-sizing:border-box;max-width:100%}.admin-combo-card .form-grid{gap:var(--space-sm);grid-template-columns:1fr}.admin-combo-card input,.admin-combo-card select{box-sizing:border-box;width:100%;max-width:100%;font-size:var(--font-size-sm)}.admin-combo-card .form-row label{font-size:var(--font-size-sm)}.os-checkbox-group{gap:var(--space-xs);flex-direction:column}.os-checkbox{justify-content:flex-start;width:100%}.admin-combo-card .form-actions{flex-direction:column}.admin-combo-card .form-actions .btn{width:100%}}.dashboard-filters{gap:var(--space-sm);flex-wrap:wrap;display:flex}.dashboard-filters .filter-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--gray-200);background:var(--white);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.dashboard-filters .filter-btn:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.dashboard-filters .filter-btn.active{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.admin-overview-cards{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(5,1fr);display:grid}.admin-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg);align-items:center;gap:var(--space-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);display:flex}.admin-stat-card:hover{box-shadow:var(--shadow-md);border-color:#0459b433;transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;display:flex}.stat-icon.users{color:#6366f1;background:linear-gradient(135deg,#6366f126,#6366f10d)}.stat-icon.combos{color:var(--primary-blue);background:linear-gradient(135deg,#0459b426,#0459b40d)}.stat-icon.revenue{color:#f59e0b;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d)}.stat-icon.running{color:#22c55e;background:linear-gradient(135deg,#22c55e26,#22c55e0d)}.stat-icon.stopped{color:#ef4444;background:linear-gradient(135deg,#ef444426,#ef44440d)}.stat-info{flex-direction:column;gap:2px;display:flex}.stat-value{font-size:var(--font-size-xl);color:var(--gray-800);font-weight:500}.stat-label{font-size:var(--font-size-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.admin-charts-row{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(2,1fr);display:grid}.admin-chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}.admin-chart-card h3{margin:0 0 var(--space-lg);font-size:var(--font-size-base);color:var(--gray-700);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.admin-chart-card h3 i{color:var(--primary-blue)}.bar-chart{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.chart-legend{justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-sm);display:flex}.legend-item{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--gray-600);display:flex}.legend-item .legend-color{border-radius:2px;width:12px;height:12px}.legend-item.rental .legend-color{background:var(--primary-blue)}.legend-item.topup .legend-color{background:var(--primary-green)}.legend-item.users .legend-color{background:#6366f1}.legend-item.orders .legend-color{background:#f59e0b}.legend-item.github-legend .legend-color{background:#1f2937}.chart-bars{border-bottom:1px solid var(--gray-200);height:200px;padding-bottom:var(--space-sm);justify-content:space-between;align-items:flex-end;gap:4px;width:100%;min-width:0;display:flex}.chart-bar-group{align-items:center;gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.chart-bar-group .bars{align-items:flex-end;gap:4px;display:flex}.chart-bar-group .bar{width:18px;min-height:4px;transition:all var(--transition-fast);cursor:pointer;border-radius:3px 3px 0 0}.chart-bar-group .bar:hover{opacity:.8;transform:scaleY(1.02)}.chart-bar-group .bar.rental{background:linear-gradient(180deg, var(--primary-blue), #0369a1)}.chart-bar-group .bar.topup{background:linear-gradient(180deg, var(--primary-green), var(--primary-green-dark))}.chart-bar-group .bar.users{background:linear-gradient(#6366f1,#4f46e5)}.chart-bar-group .bar.orders{background:linear-gradient(#f59e0b,#d97706)}.chart-bar-group .bar.github{background:linear-gradient(#374151,#111827)}.chart-bar-group .bar-label{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.admin-combo-table-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.admin-combo-table-card h3{margin:0 0 var(--space-lg);font-size:var(--font-size-base);color:var(--gray-700);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.admin-combo-table-card h3 i{color:var(--primary-blue)}.admin-combo-stats-table code{background:var(--gray-100);border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:2px 6px}.admin-combo-count-btn{cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none}.admin-combo-count-btn:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-combo-count-btn:disabled{cursor:not-allowed;opacity:.7}.admin-combo-renters-meta{margin:0 0 var(--space-md);font-size:var(--font-size-sm);color:var(--gray-700);line-height:1.5}.admin-combo-renters-table td code{color:var(--primary-blue-dark);border-radius:var(--radius-sm);background:#0459b41a;padding:2px 6px}.usage-bar{background:var(--gray-100);border-radius:var(--radius-full);min-width:100px;height:20px;position:relative;overflow:hidden}.usage-fill{background:linear-gradient(90deg, var(--primary-blue), var(--primary-green));border-radius:var(--radius-full);height:100%;transition:width .3s;position:absolute;top:0;left:0}.usage-text{z-index:1;height:100%;font-size:var(--font-size-xs);color:var(--gray-700);justify-content:center;align-items:center;font-weight:600;display:flex;position:relative}.loading-skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.no-data{text-align:center;color:var(--gray-500);padding:var(--space-xl);font-size:var(--font-size-sm)}.admin-error-message{border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;color:#dc2626;background:#ef44441a;border:1px solid #ef444433}.admin-error-message i{margin-bottom:var(--space-sm);font-size:2rem}@media (width<=1200px){.admin-overview-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.admin-overview-cards{grid-template-columns:repeat(2,1fr)}.admin-charts-row{grid-template-columns:1fr}}@media (width<=600px){.admin-overview-cards{grid-template-columns:1fr}.admin-stat-card{padding:var(--space-md)}.stat-value{font-size:var(--font-size-lg)}}.admin-tickets-page{padding:0}.admin-page-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);box-shadow:var(--shadow-xs)}.admin-page-header h1{font-size:var(--font-size-xl);color:var(--gray-800);align-items:center;gap:var(--space-sm);margin:0;font-weight:500;display:flex}.admin-page-header h1 i{color:var(--primary-blue)}.admin-tickets-layout{grid-template-columns:380px 1fr;height:calc(100vh - 140px);display:grid;overflow:hidden}.admin-ticket-list-panel{border-right:1px solid var(--gray-200);background:var(--gray-50);flex-direction:column;display:flex;overflow:hidden}.admin-ticket-filters{padding:var(--space-md);gap:var(--space-sm);border-bottom:1px solid var(--gray-200);background:var(--white);display:flex}.admin-ticket-filters select{flex:1}.admin-ticket-list{padding:var(--space-sm);flex:1;overflow-y:auto}.admin-ticket-item{padding:var(--space-md);border-radius:var(--radius-md);background:var(--white);margin-bottom:var(--space-xs);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000}.admin-ticket-item:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-sm)}.admin-ticket-item.active{border-color:var(--primary-blue);background:#0459b40f;box-shadow:0 0 0 2px #0459b41f}.admin-ticket-item-top{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.admin-ticket-item-subject{font-weight:600;font-size:var(--font-size-sm);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;overflow:hidden}.admin-ticket-item-meta{gap:var(--space-md);color:var(--gray-500);font-size:11px;display:flex}.admin-ticket-item-meta i{margin-right:2px}.ticket-unread-dot{border-radius:var(--radius-full);background:#ef4444;flex-shrink:0;width:8px;height:8px;animation:1.5s infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.ticket-status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.ticket-status-badge.open{color:#2563eb;background:#3b82f61f}.ticket-status-badge.in-progress{color:#d97706;background:#f59e0b1f}.ticket-status-badge.resolved{color:#16a34a;background:#22c55e1f}.ticket-status-badge.closed{color:#6b7280;background:#6b72801f}.ticket-priority-badge{border-radius:var(--radius-sm);align-items:center;padding:2px 6px;font-size:10px;font-weight:500;display:inline-flex}.ticket-priority-badge.low{color:#6b7280}.ticket-priority-badge.normal{color:#2563eb}.ticket-priority-badge.high{color:#ea580c;font-weight:600}.ticket-priority-badge.urgent{color:#dc2626;background:#ef444414;font-weight:500}.admin-ticket-empty-state{padding:var(--space-3xl);color:var(--gray-400);justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.admin-ticket-empty-state i{opacity:.5;font-size:3rem}.admin-ticket-empty-state.small{padding:var(--space-xl)}.admin-ticket-empty-state.small i{font-size:2rem}.admin-ticket-empty-state.error{color:#dc2626}.admin-ticket-detail-panel{background:var(--white);flex-direction:column;display:flex;overflow:hidden}.admin-chat-wrapper{flex-direction:column;height:100%;display:flex}.admin-chat-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--gray-200);background:var(--gray-50);justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-chat-title h3{margin:0 0 var(--space-xs);font-size:var(--font-size-base);color:var(--gray-800);font-weight:600}.admin-chat-info{align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--gray-500);flex-wrap:wrap;display:flex}.admin-chat-user,.admin-chat-order{align-items:center;gap:3px;display:inline-flex}.admin-chat-controls{align-items:center;gap:var(--space-xs);flex-shrink:0;display:flex}.admin-chat-controls select{width:auto;min-width:120px;font-size:var(--font-size-xs);padding:4px 8px}.admin-chat-messages{padding:var(--space-lg);gap:var(--space-md);background:#f8fafc;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-bubble{max-width:70%;padding:var(--space-md);border-radius:var(--radius-lg);position:relative}.chat-bubble.user{background:var(--white);color:var(--gray-800);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.admin{background:linear-gradient(135deg,#0459b4,#0369a1);border-bottom-right-radius:4px;align-self:flex-end;color:#fff!important}.chat-bubble-sender{opacity:.7;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:10px;font-weight:600}.chat-bubble-content{font-size:var(--font-size-sm);white-space:pre-wrap;word-break:break-word;line-height:1.5}.chat-bubble-time{opacity:.5;text-align:right;margin-top:4px;font-size:10px}.admin-chat-input{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--gray-200);background:var(--white)}.admin-chat-input textarea{resize:none;border:1px solid var(--gray-200);border-radius:var(--radius-md);width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);font-family:inherit}.admin-chat-input textarea:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #0459b41a}.admin-chat-send{margin-top:var(--space-sm);justify-content:flex-end;display:flex}.ticket-category{border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-600);padding:2px 8px;font-size:10px;display:inline-flex}.admin-combo-stats-table tfoot td{padding:.875rem var(--space-lg);vertical-align:middle;background:var(--color-surface-muted);border-top:2px solid var(--color-border)}.admin-combo-stats-total-row .admin-combo-total-label{color:var(--primary-blue);font-weight:500}.admin-combo-stats-total-row td strong{font-weight:500}.admin-deposit-events-list-card{margin-top:var(--space-xl);padding:var(--space-xl)}.admin-deposit-events-list-head{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.admin-deposit-events-list-title{font-size:var(--font-size-lg);color:var(--primary-blue);align-items:center;gap:var(--space-sm);margin:0;font-weight:500;display:flex}.admin-deposit-events-list-title i{color:var(--primary-green)}.admin-deposit-events-list-body{gap:var(--space-md);padding:var(--space-xs) 0;flex-direction:column;display:flex}.admin-deposit-summary-dl dd.text-primary{color:var(--primary-blue);font-weight:600}.admin-deposit-summary-dl dd.text-highlight-secondary{color:var(--primary-green);font-weight:500}.admin-deposit-events-loading,.admin-deposit-events-empty,.admin-deposit-events-error{font-size:var(--font-size-sm);color:var(--gray-600);margin:0}.admin-deposit-events-error{color:var(--error,#b91c1c)}.admin-deposit-event-row{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);display:flex}.admin-deposit-event-row:hover{box-shadow:var(--shadow-xs);border-color:#0459b440}.admin-deposit-event-row-title{margin-bottom:var(--space-sm);font-weight:500}.admin-deposit-event-row-main{flex:1;min-width:0}.admin-deposit-event-row-meta{font-size:var(--font-size-xs);color:var(--gray-600);margin-bottom:4px;line-height:1.45}.admin-deposit-event-row-meta code{background:var(--gray-200);border-radius:4px;padding:1px 6px;font-size:11px}.admin-deposit-event-row-dates{font-size:var(--font-size-xs);color:var(--gray-600);margin-bottom:4px}.admin-deposit-event-row-aud{font-size:var(--font-size-xs);color:var(--gray-500);line-height:1.4}.admin-deposit-event-row-toggle{flex-shrink:0}.admin-deposit-toggle-label{align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.admin-servers-kpi-row{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-servers-kpi-card{border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#0459b417,#76bc1c17);border:1px solid #0459b429}.admin-servers-kpi-card .kpi-label{font-size:var(--font-size-xs);color:var(--gray-600);text-transform:uppercase;letter-spacing:.3px}.admin-servers-kpi-card .kpi-value{font-size:var(--font-size-2xl);color:var(--primary-blue);margin-top:6px;font-weight:500;line-height:1}.admin-servers-filters{gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-md);background:linear-gradient(135deg,#0459b40f,#76bc1c0f);border:1px solid #0459b424;grid-template-columns:1.3fr 180px 220px auto auto;align-items:center;display:grid}.admin-servers-checkbox{align-items:center;gap:var(--space-xs);color:var(--gray-700);font-size:var(--font-size-sm);display:inline-flex}.admin-servers-grid{gap:var(--space-lg);grid-template-columns:1fr;align-items:start;display:grid}.admin-servers-grid .card{border:1px solid #0459b424;box-shadow:0 8px 24px #0459b414}.admin-servers-panel{flex-direction:column;min-height:0;display:flex}.admin-servers-panel-head{padding:var(--space-md) var(--space-lg);background:linear-gradient(#0459b40f,#76bc1c0d);border-bottom:1px solid #0459b41f}.admin-servers-panel-table{margin:var(--space-md);max-height:none;overflow:visible}.admin-servers-pagination{justify-content:flex-end;align-items:center;gap:var(--space-sm);padding:0 var(--space-md) var(--space-md) var(--space-md);color:var(--gray-600);font-size:var(--font-size-sm);display:flex}.admin-servers-title{font-size:var(--font-size-lg);color:var(--primary-blue);align-items:center;gap:var(--space-sm);margin:0;font-weight:600;display:flex}.admin-servers-overview-row{cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast)}.admin-servers-overview-row.selected{background:linear-gradient(135deg,#0459b41f,#76bc1c14)}.admin-servers-overview-row:hover{background:#0459b40f}.admin-servers-table thead th,.admin-servers-rentals-table thead th{color:var(--gray-700);background:linear-gradient(135deg,#0459b414,#76bc1c14)}.admin-servers-rentals-table td code,.admin-servers-table td code{color:var(--primary-blue-dark);border-radius:var(--radius-sm);background:#0459b41a;padding:2px 6px}.admin-servers-rentals-table .status-badge{letter-spacing:.2px;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.admin-servers-rentals-table .status-badge:before{content:"";opacity:.95;background:currentColor;border-radius:50%;width:7px;height:7px}.admin-servers-rentals-table .status-active{color:#0f766e;background:#10b98129;border-color:#0f766e47}.admin-servers-rentals-table .status-stopped{color:#9a3412;background:#fb923c33;border-color:#c2410c47}.admin-servers-rentals-table .status-cancelled{color:#b91c1c;background:#f8717133;border-color:#b91c1c42}.admin-servers-rentals-table .status-expired{color:#4338ca;background:#818cf833;border-color:#4338ca47}@media (width<=1100px){.admin-servers-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-servers-filters,.admin-servers-grid{grid-template-columns:1fr}.admin-servers-panel{min-height:auto}.admin-servers-panel-table{max-height:420px}}@media (width<=640px){.admin-servers-kpi-row{grid-template-columns:1fr}}.admin-users-filters{gap:var(--space-md);grid-template-columns:1.4fr 220px 260px auto auto;align-items:center;display:grid}.admin-users-chart-card{padding:var(--space-lg);border:1px solid #0459b424;box-shadow:0 8px 24px #0459b414}.admin-users-chart-head h3{margin:0 0 var(--space-md);font-size:var(--font-size-base);color:var(--gray-700);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.admin-users-chart-head{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-users-chart-days{gap:var(--space-xs);display:inline-flex}.admin-users-chart-days .btn.active{background:var(--primary-blue);color:var(--white)}.admin-users-chart-head h3 i{color:var(--primary-blue)}.admin-users-signup-summary{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.admin-users-signup-total .label{font-size:var(--font-size-xs);color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;display:block}.admin-users-signup-total strong{font-size:var(--font-size-2xl);color:var(--primary-blue);line-height:1.1;display:block}.admin-users-signup-legend{gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-users-signup-legend .legend{font-size:var(--font-size-xs);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.admin-users-signup-legend .legend.email{color:#1d4ed8;background:#60a5fa29;border:1px solid #1d4ed83d}.admin-users-signup-legend .legend.google{color:#b91c1c;background:#f8717126;border:1px solid #b91c1c40}.admin-users-signup-legend .legend.github{color:#1f2937;background:#11182714;border:1px solid #1f293733}.admin-users-signup-bars{gap:var(--space-sm);grid-template-columns:1fr;display:grid}.admin-users-signup-bars .bar-item .bar-top{font-size:var(--font-size-sm);color:var(--gray-700);justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.admin-users-signup-bars .bar-item .bar-top strong{text-align:right;min-width:28px}.admin-users-signup-bars .bar-track{background:var(--gray-100);border-radius:999px;height:12px;overflow:hidden}.admin-users-signup-bars .bar-fill{border-radius:999px;height:100%;transition:width .25s}.admin-users-signup-bars .bar-fill.email{background:linear-gradient(90deg,#2563eb,#60a5fa)}.admin-users-signup-bars .bar-fill.google{background:linear-gradient(90deg,#dc2626,#f87171)}.admin-users-signup-bars .bar-fill.github{background:linear-gradient(90deg,#1f2937,#4b5563)}.admin-users-signup-timeline{margin-top:var(--space-lg);border-top:1px solid var(--gray-100);padding-top:var(--space-md);min-width:0}.admin-users-signup-timeline .bar-chart{min-width:0}.admin-users-signup-timeline .chart-bars,.admin-users-signup-timeline .chart-bar-group .bars{gap:2px}.admin-users-signup-timeline .chart-bar-group .bar{width:10px}.admin-users-signup-timeline .chart-bar-group .bar-label{max-width:48px;font-size:9px}.admin-users-invoice-btn{cursor:pointer;background:0 0;border:none;padding:0}.admin-users-invoice-btn:hover .admin-users-invoice-badge{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-invoice-detail-wrap{gap:var(--space-md);flex-direction:column;display:flex}.admin-invoice-detail-meta{font-size:var(--font-size-sm);color:var(--gray-700);margin:0}.admin-invoice-detail-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.admin-invoice-detail-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-md);background:var(--gray-50)}.admin-invoice-detail-card h4{margin:0 0 var(--space-sm);font-size:var(--font-size-base);color:var(--gray-800);align-items:center;gap:8px;display:flex}.admin-invoice-detail-row{gap:var(--space-sm);font-size:var(--font-size-sm);grid-template-columns:120px 1fr;padding:4px 0;display:grid}.admin-invoice-detail-row .k{color:var(--gray-500)}.admin-invoice-detail-row .v{color:var(--gray-800);word-break:break-word}.admin-users-pagination{justify-content:flex-end;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--gray-600);font-size:var(--font-size-sm);display:flex}.admin-users-table{table-layout:fixed;width:100%;font-size:.75rem}.admin-users-table th{letter-spacing:.03em;white-space:nowrap;padding:.45rem;font-size:.6875rem;font-weight:700}.admin-users-table td{vertical-align:middle;padding:.45rem;font-size:.75rem}.admin-users-table td code{color:var(--primary-blue-dark);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;font-family:var(--font-mono);text-overflow:ellipsis;vertical-align:middle;background:#0459b414;max-width:100%;padding:1.5px 4px;display:inline-block;overflow:hidden}.admin-users-table .col-user-id{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}.admin-users-email-wrap{cursor:pointer;align-items:center;gap:3px;width:100%;min-width:0;display:flex}.admin-users-email-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.admin-users-copy-btn{cursor:pointer;color:var(--gray-400);background:0 0;border:none;flex-shrink:0;align-items:center;padding:1px 2px;font-size:10px;line-height:1;transition:color .2s;display:inline-flex}.admin-users-copy-btn:hover{color:var(--primary-blue)}.admin-users-table .col-fullname{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}.admin-users-table .col-phone{white-space:nowrap;font-size:.75rem}.admin-users-table .col-signup,.admin-users-table .col-invoice{white-space:nowrap}.admin-users-table .col-stopped{text-align:center}.admin-users-table .col-stopped .btn-icon-eye,.admin-users-table .col-refund .btn-icon-eye{cursor:pointer;color:var(--primary-blue-dark);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:2px 4px;font-size:12px;transition:background-color .2s,color .2s;display:inline-flex}.admin-users-table .col-stopped .btn-icon-eye:hover,.admin-users-table .col-refund .btn-icon-eye:hover{color:var(--primary-blue);background:#0459b414}.admin-users-table .col-created-at{white-space:nowrap}.admin-users-table .col-refund{text-align:center;white-space:nowrap}.admin-users-table .col-refund .btn-icon-eye+.btn-icon-eye{margin-left:6px}.admin-users-table .admin-users-row-clickable{cursor:pointer}.admin-date-cell{color:var(--gray-600);flex-direction:column;font-size:10.5px;line-height:1.2;display:inline-flex}.admin-date-cell .date-time{color:var(--gray-800);font-weight:500}.admin-date-cell .date-day{color:var(--gray-500);font-size:9.5px}.admin-users-signup-badge,.admin-users-invoice-badge,.admin-users-role-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:500;line-height:1.2;display:inline-flex}.admin-users-signup-badge i,.admin-users-invoice-badge i,.admin-users-role-badge i{font-size:9.5px}.admin-users-signup-badge.signup-google{color:#b91c1c;background:#f8717126;border-color:#b91c1c40}.admin-users-signup-badge.signup-email{color:#1d4ed8;background:#60a5fa29;border-color:#1d4ed83d}.admin-users-signup-badge.signup-github{color:#1f2937;background:#11182714;border-color:#1f293740}.admin-users-invoice-badge.inv-ready{color:#065f46;background:#10b98129;border-color:#065f4642}.admin-users-invoice-badge.inv-incomplete{color:#92400e;background:#fbbf242e;border-color:#92400e3d}.admin-users-invoice-badge.inv-none{color:#334155;background:#94a3b82e;border-color:#33415538}.admin-users-role-badge.role-admin{color:#4338ca;text-transform:uppercase;background:#818cf833;border-color:#4338ca3d}.admin-users-role-badge.role-user{color:#0f766e;text-transform:uppercase;background:#2dd4bf33;border-color:#0f766e3d}.admin-users-mobile-cards{display:none}@media (width<=1100px){.admin-users-filters{grid-template-columns:1fr 1fr}.admin-users-filters input{grid-column:span 2}.admin-users-chart-card{padding:var(--space-md)}.admin-invoice-detail-grid{grid-template-columns:1fr}}@media (width<=768px){.admin-users-filters{gap:var(--space-sm);grid-template-columns:1fr}.admin-users-filters input,.admin-users-filters select,.admin-users-filters button{grid-column:span 1;width:100%}.admin-users-desktop-table{display:none}.admin-users-mobile-cards{gap:var(--space-sm);padding:var(--space-xs) 0;flex-direction:column;display:flex}.admin-users-empty-mobile{text-align:center;padding:var(--space-xl) var(--space-md);color:var(--gray-500);font-size:var(--font-size-sm)}.admin-user-mobile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:8px;display:flex;box-shadow:0 1px 3px #0000000a}.admin-user-mobile-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.admin-user-card-header{justify-content:space-between;align-items:center;gap:var(--space-xs);border-bottom:1px solid var(--gray-100);padding-bottom:6px;display:flex}.admin-user-card-id{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-user-card-id code{color:var(--primary-blue-dark);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;font-family:var(--font-mono);background:#0459b414;padding:2px 6px}.admin-user-card-date{text-align:right;flex-shrink:0}.admin-user-card-body{flex-direction:column;gap:5px;display:flex}.admin-user-card-row{justify-content:space-between;align-items:center;gap:var(--space-xs);display:flex}.admin-user-card-row .card-label{color:var(--gray-500);flex-shrink:0;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.admin-user-card-row .card-label i{color:var(--gray-400);text-align:center;width:13px;font-size:10.5px}.admin-user-card-row .card-value{color:var(--gray-800);text-align:right;font-size:12.5px}.admin-user-card-row .card-value.font-medium{font-weight:600}.admin-user-card-row .email-value{align-items:center;gap:4px;max-width:68%;display:inline-flex}.admin-user-card-row .email-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-card-footer{border-top:1px dashed var(--gray-200);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:2px;padding-top:7px;display:flex}.admin-user-card-btn{white-space:nowrap;color:var(--primary-blue-dark);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);background:#0459b414;border:1px solid #0459b433;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.admin-user-card-btn:hover{background:#0459b429}.admin-user-card-footer>:last-child{margin-left:auto}.admin-users-table-card{padding:var(--space-md)}}@media (width<=480px){.admin-users-signup-summary{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.admin-users-signup-legend{flex-direction:column;gap:6px;width:100%;display:flex}.admin-users-table-card{padding:var(--space-sm)}}@media (width<=900px){.admin-tickets-layout{grid-template-columns:1fr;height:auto}.admin-ticket-list-panel{border-right:none;border-bottom:1px solid var(--gray-200);max-height:40vh}.admin-ticket-detail-panel{min-height:50vh}}.admin-page-subtitle{font-size:var(--font-size-sm);margin:.25rem 0 0}.admin-topups-filters{gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.admin-topups-filters .form-input{flex:200px;min-width:200px}.admin-topups-table-wrap{overflow-x:auto}.admin-topups-table{font-size:var(--font-size-sm)}.admin-topups-table th,.admin-topups-table td{vertical-align:top}.admin-topup-user .small{font-size:.85em}.admin-topup-uid{color:var(--gray-500);font-size:.75rem}.admin-topup-pid{word-break:break-all;max-width:140px;font-size:.75rem;display:inline-block}.admin-topup-status{white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.admin-topup-status--ok{color:#15803d}.admin-topup-status--pending{color:#b45309}.admin-topup-status--fail{color:#b91c1c}.admin-topup-method{white-space:nowrap}.admin-topup-inv strong{text-transform:capitalize}.admin-topup-inv-meta code{font-size:.75rem}.admin-topup-inv-tct{color:var(--gray-600);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.72rem;overflow:hidden}.admin-topup-inv--signed strong{color:#15803d}.admin-topup-inv--draft strong{color:#64748b}.admin-topups-pagination{justify-content:flex-end;align-items:center;gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--gray-200);display:flex}.admin-topup-meta-pre{background:var(--gray-50);max-height:60vh;padding:var(--space-md);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.8rem;overflow:auto}.rental-confirm-overlay{-webkit-backdrop-filter:blur(6px);z-index:var(--z-modal);padding:var(--space-lg);background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rental-confirm-popup{background:var(--color-surface);border-radius:var(--radius-2xl);width:100%;max-width:620px;max-height:85vh;box-shadow:var(--shadow-2xl);border:1px solid var(--color-border);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) popupSlideUp;display:flex;overflow:hidden}@keyframes popupSlideUp{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.rental-confirm-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);text-align:center;flex-shrink:0}.rental-confirm-header h3{font-size:var(--font-size-lg);color:var(--gray-800);justify-content:center;align-items:center;gap:var(--space-sm);margin:0 0 4px;font-weight:500;display:flex}.rental-confirm-header p{font-size:var(--font-size-sm);color:var(--gray-500);margin:0}.rental-confirm-body{padding:var(--space-xl);flex:1;overflow-y:auto}.rental-confirm-footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-surface-muted);gap:var(--space-md);flex-shrink:0;justify-content:flex-end;display:flex}.rental-confirm-footer .btn{flex:0 150px;min-height:40px}.tooltip-cell{cursor:pointer;position:relative}.tooltip-cell:after{content:attr(data-tooltip);z-index:9999;color:#fff;border-radius:var(--radius-md,6px);font-size:12px;font-family:var(--font-family,sans-serif);white-space:nowrap;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);opacity:0;pointer-events:none;background:#0f172a;border:1px solid #ffffff26;padding:6px 12px;font-weight:500;transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-10px)}.tooltip-cell:before{content:"";z-index:9999;opacity:0;pointer-events:none;border:5px solid #0000;border-top-color:#0f172a;transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-2px)}.tooltip-cell:hover:after{opacity:1;transform:translate(-50%)translateY(-6px)}.tooltip-cell:hover:before{opacity:1;transform:translate(-50%)translateY(-2px)}.admin-vouchers-page,.admin-vouchers-page *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.admin-vouchers-page{color:#1e293b;flex-direction:column;gap:1.25rem;width:100%;max-width:1600px;margin:0 auto;padding-bottom:2rem;display:flex}.vnso-mono,.vnso-code-badge,.vnso-code-badge span,.vnso-modal-code-badge{font-family:Fira Code,SFMono-Regular,Consolas,Monaco,monospace!important}.vnso-sub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.25rem;display:flex}.vnso-sub-header-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.vnso-area-pill{color:#047857;letter-spacing:.02em;background:#ecfdf5;border:1px solid #10b98140;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.vnso-title-group{align-items:center;gap:.5rem;display:flex}.vnso-title-sep{color:#94a3b8;font-size:.875rem}.vnso-page-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:800}.vnso-info-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background-color .15s;display:flex}.vnso-info-btn:hover{color:#059669;background-color:#ecfdf5}.vnso-clock-badge{color:#475569;background:#f1f5f9;border-radius:.5rem;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex;font-family:Fira Code,monospace!important}.vnso-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width>=640px){.vnso-kpi-grid{gap:1rem}}@media (width>=1200px){.vnso-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.vnso-kpi-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:1rem;align-items:center;gap:.875rem;padding:1rem;transition:border-color .15s;display:flex;box-shadow:0 1px 2px #0f172a0d}.vnso-kpi-card--active:hover{border-color:#6ee7b7}.vnso-kpi-card--upcoming:hover{border-color:#93c5fd}.vnso-kpi-card--expired:hover{border-color:#fcd34d}.vnso-kpi-card--redemptions:hover{border-color:#d8b4fe}.vnso-kpi-icon{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.vnso-kpi-icon--active{color:#059669;background:#ecfdf5}.vnso-kpi-icon--upcoming{color:#2563eb;background:#eff6ff}.vnso-kpi-icon--expired{color:#d97706;background:#fffbeb}.vnso-kpi-icon--redemptions{color:#7c3aed;background:#faf5ff}.vnso-icon-kpi{width:24px;height:24px}.vnso-kpi-info{min-width:0}.vnso-kpi-val{color:#0f172a;font-size:1.5rem;font-weight:900;line-height:1.25}.vnso-kpi-lbl{color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;line-height:1rem;overflow:hidden}.vnso-toolbar{background:#fff;border:1px solid #e2e8f0e6;border-radius:1rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex;box-shadow:0 1px 2px #0f172a0d}@media (width>=1200px){.vnso-toolbar{flex-direction:row;justify-content:space-between;align-items:center}}.vnso-search-wrapper{flex:1;max-width:28rem;position:relative}.vnso-search-icon{color:#94a3b8;pointer-events:none;flex-shrink:0;display:block;position:absolute;top:50%;left:.875rem;transform:translateY(-50%);width:16px!important;max-width:16px!important;height:16px!important;max-height:16px!important}.vnso-search-input{color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.75rem;outline:none;width:100%;min-height:0;padding:.5rem 1rem .5rem 2.5rem;font-size:.875rem;font-weight:400;line-height:1.25rem;transition:all .15s}.vnso-search-input::placeholder{color:#94a3b8;font-weight:400}.vnso-search-input:focus{background:#f8fafc;border-color:#10b981;box-shadow:0 0 0 2px #10b981}.vnso-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.vnso-checkbox-pill{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #cbd5e1cc;border-radius:.75rem;align-items:center;gap:.5rem;min-height:38px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;line-height:1rem;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.vnso-checkbox-pill:hover{background:#f1f5f9}.vnso-checkbox-pill:has(input:checked){color:#047857;background:#ecfdf5;border-color:#6ee7b7}.vnso-checkbox-pill input[type=checkbox]{cursor:pointer;accent-color:#059669;width:1rem;height:1rem;margin:0}.vnso-icon-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.75rem;justify-content:center;align-items:center;padding:.5rem;transition:all .15s;display:flex}.vnso-icon-btn:hover{color:#047857;background:#f1f5f9}.vnso-icon-btn-svg,.vnso-icon-btn svg{flex-shrink:0;display:block;width:16px!important;max-width:16px!important;height:16px!important;max-height:16px!important}.vnso-btn-create{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;line-height:1.25rem;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #04785733}@media (width>=640px){.vnso-btn-create{font-size:.875rem}}.vnso-btn-create-svg,.vnso-btn-create svg{flex-shrink:0;display:block;width:16px!important;max-width:16px!important;height:16px!important;max-height:16px!important}.vnso-btn-create:hover{background:#047857}.vnso-btn-create:active{transform:scale(.98)}.vnso-data-container{background:#fff;border:1px solid #e2e8f0e6;border-radius:1rem;overflow:hidden;box-shadow:0 1px 2px #0f172a0d}.vnso-table-header-bar{color:#64748b;background:#f8fafcb3;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.75rem;font-weight:400;display:flex}.vnso-pagination{color:#64748b;background:#f8fafcb3;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.75rem;display:flex}.vnso-pagination-actions{align-items:center;gap:.5rem;display:flex}.vnso-legend{align-items:center;gap:.75rem;display:none}@media (width>=640px){.vnso-legend{display:flex}}.vnso-legend-item{color:#64748b;align-items:center;gap:.375rem;font-size:.75rem;font-weight:400;display:inline-flex}.vnso-legend-item .vnso-badge-dot{width:8px;height:8px}.vnso-table-wrap{width:100%;overflow-x:hidden}.vnso-table{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%}.vnso-table thead tr{background:#f8fafc80;border-bottom:1px solid #e2e8f0}.vnso-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;padding:12px 16px;font-size:11px;font-weight:700}.vnso-table th:first-child{padding-left:20px}.vnso-table th:last-child{text-align:right;padding-right:20px}.vnso-table tbody tr{cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background-color .15s}.vnso-table tbody tr:hover{background-color:#f8fafccc}.vnso-table td{vertical-align:middle;padding:14px 16px}.vnso-table td:first-child{padding-left:20px}.vnso-table td:last-child{text-align:right;padding-right:20px}.vnso-code-row{align-items:center;gap:8px;min-width:0;display:flex}.vnso-code-badge{color:#0f172a;letter-spacing:.05em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 10px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a;font-family:Fira Code,SFMono-Regular,Consolas,Monaco,monospace!important}.vnso-code-badge .vnso-copy-btn{flex-shrink:0}.vnso-table tbody tr:hover .vnso-code-badge{color:#047857;background:#fff;border-color:#34d399}.vnso-copy-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.vnso-copy-btn:hover{color:#059669}.vnso-table tbody tr.is-deleted,.vnso-mobile-card.is-deleted{opacity:.72}.vnso-tag-deleted{white-space:nowrap;color:#e11d48;background:#fff1f2;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.vnso-desc-truncated{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:260px;margin-top:4px;font-size:12px;font-weight:500;line-height:1.35;overflow:hidden}.vnso-limit-subtext{color:#94a3b8;margin-top:2px;font-size:10px;font-weight:400;line-height:1.3}.vnso-limit-val{color:#475569;font-weight:600}.vnso-bonus-row{align-items:center;gap:6px;display:flex}.vnso-bonus-value{color:#059669;letter-spacing:-.01em;font-size:14px;font-weight:800}.vnso-type-tag{color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.vnso-condition-pill{color:#475569;background:#f8fafc;border:1px solid #e2e8f099;border-radius:6px;align-items:center;gap:4px;max-width:100%;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}@media (width>=640px){.vnso-code-badge,.vnso-bonus-value{font-size:14px}}.vnso-progress-info{color:#1e293b;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.vnso-remaining-wrap{color:#64748b;font-weight:400}.vnso-progress-track{background:#f1f5f9;border-radius:9999px;width:100%;height:6px;margin-top:6px;overflow:hidden}.vnso-progress-bar{background:#10b981;border-radius:9999px;height:100%;transition:width .3s}.vnso-unlimited-hint{color:#94a3b8;margin-top:2px;font-size:10px;font-style:italic;font-weight:400}.vnso-reserved-hint{color:#d97706;align-items:center;gap:4px;margin-top:2px;font-size:10px;font-weight:600;display:flex}.vnso-actions-row{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.vnso-action-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:inline-flex}.vnso-action-btn:hover{color:#0f172a;background:#f1f5f9}.vnso-action-btn--purple:hover{color:#7c3aed;background:#faf5ff}.vnso-action-btn--emerald:hover{color:#059669;background:#ecfdf5}.vnso-action-btn--danger:hover{color:#e11d48;background:#fff1f2}.vnso-icon-sm{width:14px;height:14px}.vnso-icon-xs{width:12px;height:12px}.vnso-icon-action{width:16px;height:16px}.vnso-date-subtext{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:400;display:flex;overflow:hidden}.vnso-badge{white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:2px 10px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.vnso-badge-dot{border-radius:9999px;flex-shrink:0;width:6px;height:6px;display:inline-block}.vnso-badge--active{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.vnso-badge--upcoming{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.vnso-badge--expired{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.vnso-badge--inactive{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:2px 8px}.vnso-badge--admin-off{color:#52525b;background:#f4f4f5;border:1px solid #d4d4d8;border-radius:6px;padding:2px 8px}.vnso-badge--deleted{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:2px 8px}.vnso-redemption-badge{white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.vnso-redemption-badge--completed{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.vnso-redemption-badge--reserved{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.vnso-redemption-badge--released{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.vnso-mobile-cards{display:none!important}@media (width<=1199px){.vnso-table-wrap{display:none!important}.vnso-mobile-cards{background:#f8fafc;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.75rem;padding:.75rem;display:grid!important}}.vnso-mobile-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;transition:background-color .15s;display:flex}.vnso-mobile-card:hover{border-color:#6ee7b7}.vnso-mobile-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.vnso-mobile-card-mid{background:#f8fafc;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.625rem;display:flex}.vnso-mobile-card-bottom{color:#64748b;justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.vnso-empty-state{text-align:center;padding:4rem 1rem}.vnso-empty-icon{color:#94a3b8;background:#f1f5f9;border-radius:1rem;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:0 auto .75rem;font-size:1.5rem;display:flex}.vnso-bottom-tip{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .5rem 1.5rem;font-size:.75rem;display:flex}.vnso-bottom-tip-left{align-items:center;gap:.5rem;display:inline-flex}.vnso-bottom-tip-dot{background-color:#94a3b8;border-radius:9999px;flex-shrink:0;width:6px;height:6px;display:inline-block}.vnso-bottom-tip-left strong{font-weight:700}.vnso-bottom-tip-right{color:#94a3b8}.modal.vnso-modal-modern{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:1rem!important;flex-direction:column!important;max-width:672px!important;max-height:90vh!important;display:flex!important;overflow:hidden!important;box-shadow:0 25px 50px -12px #0f172a40!important}.modal.vnso-modal-modern .modal-header{background:#f8fafce6!important;border-bottom:1px solid #f1f5f9!important;flex-shrink:0!important;justify-content:space-between!important;align-items:center!important;padding:1rem 1.5rem!important;display:flex!important}.modal.vnso-modal-modern .modal-title{font-size:unset!important;font-weight:unset!important;color:unset!important;flex:1!important}.modal.vnso-modal-modern .modal-close{color:#94a3b8!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:.5rem!important;justify-content:center!important;align-items:center!important;padding:.375rem!important;transition:all .15s!important;display:inline-flex!important}.modal.vnso-modal-modern .modal-close:hover{color:#475569!important;background:#e2e8f099!important}.modal.vnso-modal-modern .modal-body{flex-direction:column!important;flex:1!important;max-height:calc(90vh - 72px)!important;padding:0!important;display:flex!important;overflow-y:auto!important}.vnso-detail-modal-wrapper{flex-direction:column;width:100%;display:flex}.vnso-modal-form{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.vnso-modal-title-wrap,.vnso-modal-title-col,.vnso-modal-title-row{min-width:0}.vnso-modal-title-row .vnso-badge,.vnso-modal-title-wrap .vnso-modal-code-badge{flex-shrink:0}.modal.vnso-modal-modern .modal-title{min-width:0}.vnso-modal-code-badge{color:#065f46;letter-spacing:.05em;background:#d1fae5cc;border:1px solid #6ee7b799;border-radius:.75rem;flex-shrink:1;min-width:0;max-width:200px;padding:.25rem .75rem;font-size:1rem;font-weight:700;line-height:1.5rem;font-family:Fira Code,monospace!important}.vnso-metrics-ribbon{text-align:center;background:#10b9810d;border-bottom:1px solid #10b9811f;flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0;padding:.875rem 1.5rem;display:grid}.ribbon-col{flex-direction:column;gap:.125rem;display:flex}.ribbon-lbl{color:#64748b;font-size:.6875rem}.ribbon-val{color:#0f172a;font-size:.9375rem;font-weight:800}.vnso-radio-card{cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.vnso-radio-card.is-active{color:#065f46;background:#ecfdf5;border-color:#059669}.vnso-radio-card input[type=radio]{accent-color:#059669}.vnso-input-unit{color:#94a3b8;font-size:.75rem;font-weight:700;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.vnso-condition-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:.875rem 1rem}.vnso-admin-status-bar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.vnso-modal-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.vnso-modal-footer-split{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;padding-top:1rem;display:flex}.vnso-footer-note{margin-right:auto}.btn-danger-ghost{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.4375rem .75rem;font-size:.75rem;font-weight:700;transition:background-color .15s}.btn-danger-ghost:hover{background:#fef2f2}.vnso-info-guide-body{color:#475569;flex-direction:column;gap:.75rem;max-height:70vh;padding-right:.25rem;font-size:.75rem;line-height:1.5;display:flex;overflow-y:auto}.vnso-info-guide-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;padding:.75rem}.vnso-info-guide-item h4{color:#0f172a;margin:0 0 .25rem;font-size:.8125rem;font-weight:700}.vnso-info-guide-item code{font-family:var(--font-mono,monospace);background:#e2e8f0;border-radius:.25rem;padding:.125rem .25rem;font-size:.6875rem}.vnso-redemptions-modal-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.vnso-redemptions-toolbar{background:#fff;border-bottom:1px solid #f1f5f9;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.75rem;display:flex}.vnso-redemptions-table-container{flex:1;padding:1.5rem;overflow-y:auto}.vnso-redemptions-table-inner{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.vnso-redemptions-footer{color:#64748b;background:#f8fafccc;border-top:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1.5rem;font-size:.75rem;display:flex}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.9)}}.animate-pulse{animation:1.8s ease-in-out infinite pulseGlow}@keyframes pingGlow{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1.2s cubic-bezier(0,0,.2,1) infinite pingGlow}.bg-emerald-500{background-color:#10b981!important}.bg-blue-500{background-color:#3b82f6!important}.bg-amber-500{background-color:#f59e0b!important}.bg-slate-400{background-color:#94a3b8!important}.bg-zinc-400{background-color:#a1a1aa!important}.vnso-empty-state{padding:3.5rem 1rem}.vnso-empty-icon{font-size:inherit}.vnso-mobile-card-top,.vnso-mobile-card-mid,.vnso-mobile-card-bottom{font-size:.75rem}.vnso-mobile-card{gap:.75rem}.vnso-mobile-card-code-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.vnso-mobile-card-code{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.5rem;max-width:100%;padding:.25rem .625rem;font-size:.875rem;font-weight:900;display:block;font-family:Fira Code,SFMono-Regular,Consolas,Monaco,monospace!important}.vnso-mobile-card-bonus{color:#059669;font-size:.75rem;font-weight:700}.vnso-mobile-card-desc{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.75rem;display:-webkit-box;overflow:hidden}.vnso-mobile-card-info{color:#475569;background:#f8fafc;border-radius:.75rem;flex-direction:column;gap:.25rem;padding:.625rem;font-size:.75rem;display:flex}.vnso-mobile-card-info-row{justify-content:space-between;gap:.5rem;display:flex}.vnso-mobile-card-info-row--muted{color:#94a3b8;font-size:11px}.vnso-mobile-card-actions{justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.vnso-mobile-btn{cursor:pointer;color:#334155;background:#f1f5f9;border:none;border-radius:.5rem;padding:.375rem .625rem;font-size:.75rem;font-weight:600}.vnso-mobile-btn--purple{color:#7e22ce;background:#faf5ff}.vnso-mobile-btn--danger{color:#e11d48;background:#fff1f2}.vnso-mobile-btn--primary{color:#fff;background:#059669;padding:.375rem .75rem;font-weight:700;box-shadow:0 1px 2px #0f172a0d}.vnso-modal-modern .form-input{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;min-height:0;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem}.vnso-modal-modern .form-input.text-xs{font-size:.75rem;line-height:1rem}.vnso-modal-modern .vnso-condition-box .form-input,.vnso-modal-modern .vnso-admin-status-bar .form-input,.vnso-modal-modern .vnso-redemptions-toolbar .form-input{border-radius:.5rem;padding:.375rem .75rem}.vnso-modal-modern .form-input:focus{border-color:#cbd5e1;outline:none;box-shadow:0 0 0 2px #10b981}.vnso-modal-modern .form-input::placeholder{letter-spacing:normal;text-transform:none;color:#94a3b8;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-style:normal;font-weight:400}.vnso-modal-modern .form-input.is-invalid{border-color:#f43f5e}.vnso-modal-modern .form-input.is-invalid:focus{border-color:#f43f5e;box-shadow:0 0 0 2px #f43f5e59}.vnso-modal-modern input[type=datetime-local].form-input{padding-right:.875rem!important}.vnso-modal-modern .form-error-msg,.form-error-msg{color:#e11d48;margin-top:.25rem;font-size:12px;font-weight:500;line-height:1.3;display:block}.vnso-modal-form p:has(+.form-error-msg){display:none}.vnso-modal-modern .vnso-modal-form label{line-height:1rem}.vnso-modal-modern .vnso-radio-card{border-radius:.75rem;padding:.5rem;font-weight:500}.vnso-modal-modern .vnso-radio-card:hover{background:#f8fafc}.vnso-modal-modern .vnso-radio-card.is-active{color:#065f46;background:#ecfdf580;border-color:#059669}.vnso-modal-modern .vnso-admin-status-bar{background:#f1f5f9cc;padding:.75rem}.vnso-modal-modern .vnso-condition-box{padding:.875rem}.modal.vnso-modal-modern.vnso-modal-wide{max-width:896px!important}.modal.vnso-modal-modern.vnso-modal-guide{max-width:576px!important}.modal.vnso-modal-modern.vnso-modal-guide .modal-header{background:#fff!important;border-bottom:1px solid #e2e8f0!important}.modal.vnso-modal-modern.vnso-modal-guide .modal-title{color:#0f172a!important;font-size:1rem!important;font-weight:700!important}.vnso-info-guide-body{padding:1.5rem 1.5rem 0}.vnso-info-guide-footer{text-align:right;padding:.5rem 1.5rem 1.5rem}.vnso-info-guide-footer button{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:.75rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700}.vnso-info-guide-footer button:hover{background:#047857}.vnso-info-guide-item{padding:.75rem}.vnso-info-guide-item h4{color:#1e293b;margin-bottom:.25rem;font-size:.75rem}.vnso-info-guide-item p{margin:0}.voucher-delete-confirm{text-align:center;color:#334155;padding:1.5rem;font-size:.875rem}.voucher-delete-icon-wrap{background:#fffbeb;border-radius:1rem;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:0 auto .75rem;display:flex}.voucher-delete-text{margin:0 0 1rem}.voucher-delete-text strong{color:#047857;font-family:Fira Code,monospace!important}.voucher-delete-summary{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.375rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.voucher-delete-summary>div{justify-content:space-between;display:flex}.admin-voucher-alert-box{text-align:left;border-radius:.75rem;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.75rem;font-size:.75rem;line-height:1.45;display:flex}.admin-voucher-alert-box--warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.voucher-delete-confirm .modal-footer{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:.5rem;display:flex;padding-top:1rem!important}.admin-vouchers-page .block{display:block}.admin-vouchers-page .inline-block{display:inline-block}.admin-vouchers-page .inline-flex{display:inline-flex}.admin-vouchers-page .relative{position:relative}.admin-vouchers-page .flex-shrink-0{flex-shrink:0}.admin-vouchers-page .whitespace-nowrap{white-space:nowrap}.admin-vouchers-page .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-vouchers-page .uppercase{text-transform:uppercase}.admin-vouchers-page .italic{font-style:italic}.admin-vouchers-page .tracking-wide{letter-spacing:.025em}.admin-vouchers-page .tracking-wider{letter-spacing:.05em}.admin-vouchers-page .font-mono{font-family:Fira Code,SFMono-Regular,Consolas,Monaco,monospace!important}.admin-vouchers-page .w-4{width:1rem}.admin-vouchers-page .w-8{width:2rem}.admin-vouchers-page .w-9{width:2.25rem}.admin-vouchers-page .w-auto{width:auto}.admin-vouchers-page .h-4{height:1rem}.admin-vouchers-page .h-8{height:2rem}.admin-vouchers-page .h-9{height:2.25rem}.admin-vouchers-page .max-w-sm{max-width:24rem}.admin-vouchers-page .max-w-\[140px\]{max-width:140px}.admin-vouchers-page .max-w-\[150px\]{max-width:150px}.admin-vouchers-page .gap-1{gap:.25rem}.admin-vouchers-page .gap-1\.5{gap:.375rem}.admin-vouchers-page .gap-2{gap:.5rem}.admin-vouchers-page .gap-2\.5{gap:.625rem}.admin-vouchers-page .gap-3{gap:.75rem}.admin-vouchers-page .gap-4{gap:1rem}.admin-vouchers-page .mb-1{margin-bottom:.25rem}.admin-vouchers-page .mb-2{margin-bottom:.5rem}.admin-vouchers-page .mt-0\.5{margin-top:.125rem}.admin-vouchers-page .mt-1{margin-top:.25rem}.admin-vouchers-page .ml-2{margin-left:.5rem}.admin-vouchers-page .mr-2{margin-right:.5rem}.admin-vouchers-page .-ml-1{margin-left:-.25rem}.admin-vouchers-page .px-1{padding-left:.25rem;padding-right:.25rem}.admin-vouchers-page .px-2{padding-left:.5rem;padding-right:.5rem}.admin-vouchers-page .px-3{padding-left:.75rem;padding-right:.75rem}.admin-vouchers-page .px-3\.5{padding-left:.875rem;padding-right:.875rem}.admin-vouchers-page .px-4{padding-left:1rem;padding-right:1rem}.admin-vouchers-page .px-5{padding-left:1.25rem;padding-right:1.25rem}.admin-vouchers-page .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.admin-vouchers-page .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.admin-vouchers-page .py-2{padding-top:.5rem;padding-bottom:.5rem}.admin-vouchers-page .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.admin-vouchers-page .py-8{padding-top:2rem;padding-bottom:2rem}.admin-vouchers-page .py-12{padding-top:3rem;padding-bottom:3rem}.admin-vouchers-page .pt-2{padding-top:.5rem}.admin-vouchers-page .pr-8{padding-right:2rem}.admin-vouchers-page .text-\[10px\]{font-size:10px}.admin-vouchers-page .text-\[11px\]{font-size:11px}.admin-vouchers-page .text-white{color:#fff}.admin-vouchers-page .text-slate-400{color:#94a3b8}.admin-vouchers-page .text-slate-500{color:#64748b}.admin-vouchers-page .text-slate-600{color:#475569}.admin-vouchers-page .text-slate-700{color:#334155}.admin-vouchers-page .text-slate-800{color:#1e293b}.admin-vouchers-page .text-slate-900{color:#0f172a}.admin-vouchers-page .text-emerald-600{color:#059669}.admin-vouchers-page .text-emerald-700{color:#047857}.admin-vouchers-page .text-emerald-800{color:#065f46}.admin-vouchers-page .text-amber-600{color:#d97706}.admin-vouchers-page .text-amber-700{color:#b45309}.admin-vouchers-page .text-blue-600{color:#2563eb}.admin-vouchers-page .text-blue-700{color:#1d4ed8}.admin-vouchers-page .text-purple-700{color:#7e22ce}.admin-vouchers-page .text-rose-500{color:#f43f5e}.admin-vouchers-page .text-rose-600,.admin-vouchers-page .text-danger{color:#e11d48}.admin-vouchers-page .bg-white{background-color:#fff}.admin-vouchers-page .bg-slate-50{background-color:#f8fafc}.admin-vouchers-page .bg-emerald-100{background-color:#d1fae5}.admin-vouchers-page .bg-emerald-600{background-color:#059669}.admin-vouchers-page .bg-purple-100{background-color:#f3e8ff}.admin-vouchers-page .border{border:1px solid #e5e7eb}.admin-vouchers-page .border-b{border-bottom:1px solid #e5e7eb}.admin-vouchers-page .border-slate-200{border-color:#e2e8f0}.admin-vouchers-page .border-collapse{border-collapse:collapse}.admin-vouchers-page .rounded-md{border-radius:.375rem}.admin-vouchers-page .rounded-lg{border-radius:.5rem}.admin-vouchers-page .rounded-xl{border-radius:.75rem}.admin-vouchers-page .shadow-md{box-shadow:0 4px 6px -1px #0f172a1a,0 2px 4px -2px #0f172a1a}.admin-vouchers-page .shadow-emerald-700\/20{box-shadow:0 4px 6px -1px #04785733,0 2px 4px -2px #04785733}.admin-vouchers-page .divide-y>*+*{border-top:1px solid #f1f5f9}.admin-vouchers-page .divide-slate-100>*+*{border-color:#f1f5f9}.admin-vouchers-page .opacity-25{opacity:.25}.admin-vouchers-page .opacity-75{opacity:.75}.admin-vouchers-page .transition-all{transition:all .15s}.admin-vouchers-page .transition-colors{transition:color .15s,background-color .15s}.admin-vouchers-page .hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}.admin-vouchers-page .hover\:bg-slate-100:hover{background-color:#f1f5f9}.admin-vouchers-page .hover\:bg-slate-200:hover{background-color:#e2e8f0}.admin-vouchers-page .hover\:bg-rose-50:hover{background-color:#fff1f2}.admin-vouchers-page .hover\:bg-emerald-700:hover{background-color:#047857}.admin-vouchers-page .hover\:text-slate-800:hover{color:#1e293b}.admin-vouchers-page .hover\:text-rose-700:hover{color:#be123c}@keyframes vnsoSpin{to{transform:rotate(360deg)}}.admin-vouchers-page .animate-spin{animation:1s linear infinite vnsoSpin}@media (width>=640px){.admin-vouchers-page .sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}.vnso-mobile-card-code-row{min-width:0}.vnso-mobile-card-top>div:first-child{flex:1;min-width:0}.vnso-mobile-card-top>div:last-child{flex-shrink:0}.vnso-mobile-card-info-row>span:last-child{text-align:right}@media (width<=1199px){.vnso-search-wrapper{max-width:none}.vnso-toolbar-actions{row-gap:.5rem}.modal.vnso-modal-modern,.modal.vnso-modal-modern.vnso-modal-wide{max-width:min(100%,720px)!important}.modal.vnso-modal-modern.vnso-modal-wide{max-width:min(100%,860px)!important}}@media (width<=640px),(width<=1024px) and (pointer:coarse){.admin-vouchers-page input:not([type=checkbox]):not([type=radio]),.admin-vouchers-page select,.admin-vouchers-page textarea{font-size:16px!important}}@media (width<=1199px){.vnso-mobile-btn{justify-content:center;align-items:center;min-height:40px;padding:0 .875rem;display:inline-flex}.vnso-mobile-card-actions{flex-wrap:wrap;justify-content:stretch}.vnso-mobile-card-actions .vnso-mobile-btn{flex:1 1 0}.vnso-mobile-card-actions .vnso-mobile-btn--primary{flex:1 0 100%;order:1}}@media (width<=640px){.admin-vouchers-page{gap:.75rem}.vnso-kpi-card{gap:.625rem;padding:.75rem}.vnso-kpi-icon{border-radius:.625rem;width:2.5rem;height:2.5rem}.vnso-icon-kpi{width:20px;height:20px}.vnso-kpi-val{font-size:1.25rem}.vnso-kpi-lbl{white-space:normal;text-overflow:clip;font-size:10px;line-height:1.25;overflow:visible}.vnso-toolbar{padding:.75rem}.vnso-toolbar-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.vnso-toolbar-actions .vsel--filter{grid-column:span 4;width:100%}.vnso-toolbar-actions .vnso-checkbox-pill{grid-column:span 3}.vnso-toolbar-actions .vnso-icon-btn{grid-column:span 1}.vnso-toolbar-actions .vnso-btn-create{grid-column:span 4;justify-content:center}.vnso-search-input,.vnso-checkbox-pill,.vnso-icon-btn,.vnso-btn-create{min-height:44px}.vnso-checkbox-pill input[type=checkbox]{width:1.125rem;height:1.125rem}.vnso-table-header-bar{padding:.625rem .875rem}.vnso-pagination{padding:.625rem .875rem calc(.625rem + env(safe-area-inset-bottom))}.vnso-pagination-actions .btn{min-height:40px}.vnso-mobile-cards{gap:.5rem;padding:.5rem}.vnso-bottom-tip{flex-direction:column;align-items:flex-start;padding:0 .25rem 1rem}.modal-overlay:has(>.vnso-modal-modern){align-items:flex-end;padding:0}.modal.vnso-modal-modern,.modal.vnso-modal-modern.vnso-modal-wide,.modal.vnso-modal-modern.vnso-modal-guide{width:100%;border-bottom:none!important;border-radius:1rem 1rem 0 0!important;max-width:100%!important;max-height:92dvh!important}.modal.vnso-modal-modern .modal-header{gap:.5rem;padding:.75rem 1rem!important}.modal.vnso-modal-modern .modal-close{flex-shrink:0;margin:-.25rem -.5rem -.25rem 0;padding:.625rem!important}.modal.vnso-modal-modern .modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(92dvh - 64px)!important}.vnso-modal-code-badge{padding:.125rem .5rem;font-size:.875rem}.vnso-metrics-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem .5rem;padding:.75rem 1rem}.vnso-modal-form{padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));gap:.875rem}.vnso-modal-modern .form-input,.vnso-modal-modern .vnso-condition-box .form-input,.vnso-modal-modern .vnso-admin-status-bar .form-input,.vnso-modal-modern .vnso-radio-card{min-height:44px}.vnso-modal-footer,.vnso-modal-footer-split{flex-wrap:wrap;gap:.5rem}.vnso-modal-footer>button,.vnso-modal-footer-split>div>button{flex:1;min-height:44px}.vnso-modal-footer-split>div{gap:.5rem;width:100%;display:flex}.vnso-footer-note{width:100%;margin-right:0}.vnso-admin-status-bar{flex-direction:column;align-items:stretch;gap:.5rem}.vnso-admin-status-bar .form-input,.vnso-admin-status-bar .vsel{width:100%!important}.voucher-delete-confirm{padding:1.25rem 1rem calc(1rem + env(safe-area-inset-bottom))}.voucher-delete-confirm .modal-footer>button{flex:1;min-height:44px}.vnso-info-guide-body{padding:1rem 1rem 0}.vnso-info-guide-footer{padding:.75rem 1rem calc(1rem + env(safe-area-inset-bottom))}.vnso-info-guide-footer button{width:100%;min-height:44px}.vnso-redemptions-toolbar{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.vnso-redemptions-toolbar>div{width:100%;max-width:none!important}.vnso-redemptions-toolbar>div:last-child{flex-wrap:wrap}.vnso-redemptions-toolbar .vsel{flex:1;min-width:0}.vnso-redemptions-toolbar .btn{min-width:44px;min-height:44px}.vnso-redemptions-table-container{padding:.75rem 1rem}.vnso-redemptions-table-inner{background:0 0;border:none;border-radius:0;overflow:visible}.vnso-redemptions-table thead{display:none}.vnso-redemptions-table,.vnso-redemptions-table tbody{width:100%;display:block}.admin-vouchers-page .vnso-redemptions-table tbody tr{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin-bottom:.5rem;padding:.5rem .75rem;display:block}.vnso-redemptions-table td{border:none;justify-content:space-between;align-items:center;gap:1rem;display:flex;text-align:right!important;padding:.375rem 0!important}.vnso-redemptions-table td:before{content:attr(data-label);letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;text-align:left;flex-shrink:0;font-size:10px;font-weight:700}.vnso-redemptions-table td[colspan]{display:block;text-align:center!important}.vnso-redemptions-table td[colspan]:before{content:none}.vnso-redemptions-footer{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:.5rem}.vnso-redemptions-footer>div:last-child{flex-wrap:wrap;display:flex}.vnso-redemptions-footer .btn{flex:1;min-height:44px}.vnso-redemptions-footer>div:last-child>button:last-child{flex-basis:100%;min-height:44px;margin-left:0}}@media (height<=480px) and (orientation:landscape){.modal.vnso-modal-modern .modal-body{max-height:calc(92vh - 56px)!important}}.vsel{color:#1e293b;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:38px;padding:.5rem .875rem;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}.vsel:hover:not(:disabled){border-color:#94a3b8}.vsel:focus-visible,.vsel.is-open{border-color:#cbd5e1;outline:none;box-shadow:0 0 0 2px #10b981}.vsel:disabled{opacity:.6;cursor:not-allowed;background:#f8fafc}.vsel.is-invalid{border-color:#f43f5e}.vsel.is-invalid:focus-visible,.vsel.is-invalid.is-open{border-color:#f43f5e;box-shadow:0 0 0 2px #f43f5e59}.vsel-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vsel-label.is-placeholder{color:#94a3b8}.vsel-chevron{color:#94a3b8;flex-shrink:0;transition:transform .15s,color .15s}.vsel.is-open .vsel-chevron{color:#059669}.vsel:not(.vdt-trigger).is-open .vsel-chevron{transform:rotate(180deg)}.vsel--sm{border-radius:.5rem;min-height:32px;padding:.375rem .75rem;font-size:.75rem;line-height:1rem}.vsel--auto{width:auto}.vsel--filter{color:#334155;background:#f8fafc;border-radius:.75rem;width:auto;min-width:200px;min-height:38px;padding:.5rem .75rem;font-size:.75rem;font-weight:500;line-height:1rem}.vpop{z-index:350;box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;max-height:calc(100vh - 16px);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:.12s ease-out vpopIn;position:fixed;overflow:auto;box-shadow:0 12px 32px -8px #0f172a40,0 4px 12px -4px #0f172a1f}.vpop button{font-family:inherit}.vpop-backdrop{z-index:350;background:#0f172a73;position:fixed;inset:0}.vpop--sheet{z-index:351;border-bottom:none;border-radius:1rem 1rem 0 0;width:auto;max-height:88dvh;animation:.18s ease-out vpopSheetIn;inset:auto 0 0}@keyframes vpopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes vpopSheetIn{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.vsel-list{max-height:280px;margin:0;padding:.25rem;list-style:none;overflow-y:auto}.vsel-option{color:#334155;cursor:pointer;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;display:flex}.vsel-option.is-active{background:#f1f5f9}.vsel-option.is-selected{color:#047857;background:#ecfdf5;font-weight:600}.vsel-option.is-selected.is-active{background:#d1fae5}.vsel-option svg{color:#059669;flex-shrink:0}.vdt-pop{width:372px;padding:.75rem}.vdt-body{align-items:stretch;gap:.75rem;display:flex}.vdt-cal{flex:1;min-width:0}.vdt-head{justify-content:space-between;align-items:center;margin-bottom:.375rem;display:flex}.vdt-title{color:#0f172a;font-size:.875rem;font-weight:700}.vdt-nav{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.vdt-nav:hover{color:#047857;background:#ecfdf5}.vdt-week,.vdt-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.vdt-week{text-align:center;color:#94a3b8;margin-bottom:.25rem;font-size:11px;font-weight:700}.vdt-grid{gap:2px}.vdt-day{color:#1e293b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;height:34px;padding:0;font-size:.8125rem;font-weight:500;transition:background-color .12s}.vdt-day:hover{background:#ecfdf5}.vdt-day.is-other{color:#cbd5e1}.vdt-day.is-today{color:#047857;border-color:#6ee7b7;font-weight:700}.vdt-day.is-selected{color:#fff;background:#059669;border-color:#059669;font-weight:700}.vdt-day:focus-visible,.vdt-tick:focus-visible,.vdt-nav:focus-visible,.vdt-link:focus-visible,.vdt-done:focus-visible{outline-offset:1px;outline:2px solid #10b981}.vdt-time{border-left:1px solid #f1f5f9;flex-direction:column;flex:0 0 104px;padding-left:.75rem;display:flex}.vdt-time-head{text-align:center;color:#94a3b8;grid-template-columns:1fr 1fr;align-items:center;height:32px;margin-bottom:.375rem;font-size:11px;font-weight:700;display:grid}.vdt-cols{flex:1;min-height:200px;position:relative}.vdt-col{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;width:calc(50% - 2px);margin:0;padding:0;list-style:none;position:absolute;top:0;bottom:0;overflow-y:auto}.vdt-col:first-child{left:0}.vdt-col:last-child{right:0}.vdt-tick{color:#334155;cursor:pointer;background:0 0;border:none;border-radius:.375rem;width:100%;height:30px;padding:0;font-size:.8125rem;font-weight:500}.vdt-tick:hover{background:#ecfdf5}.vdt-tick.is-selected{color:#fff;background:#059669;font-weight:700}.vdt-foot{border-top:1px solid #f1f5f9;align-items:center;gap:.75rem;margin-top:.625rem;padding-top:.625rem;display:flex}.vdt-link{color:#059669;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.375rem .25rem;font-size:.8125rem;font-weight:600}.vdt-link:hover{color:#047857}.vdt-link--muted{color:#94a3b8}.vdt-link--muted:hover{color:#e11d48}.vdt-done{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:.5rem;margin-left:auto;padding:.375rem 1rem;font-size:.8125rem;font-weight:700}.vdt-done:hover{background:#047857}@media (width<=640px){.vsel{min-height:44px}.vsel--filter{width:100%;min-width:0}.vsel-option{min-height:44px;font-size:.9375rem}.vdt-pop{width:auto;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.vdt-time{flex-basis:116px}.vdt-day{height:40px;font-size:.875rem}.vdt-tick{height:36px;font-size:.875rem}.vdt-nav{width:40px;height:40px}.vdt-cols{min-height:260px}.vdt-link,.vdt-done{min-height:44px}.vdt-done{padding:0 1.5rem}}.vtrunc{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.7rem;font-weight:500;overflow:hidden}.vtrunc--multi{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.vtip{z-index:360;color:#f8fafc;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;background:#0f172a;border:1px solid #ffffff1f;border-radius:.5rem;max-width:min(320px,100vw - 16px);padding:.375rem .625rem;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;font-weight:500;line-height:1.4;animation:.12s ease-out vpopIn;position:fixed;box-shadow:0 10px 25px -5px #0f172a59}.admin-model-form-grid{gap:var(--space-lg);grid-template-columns:1fr 380px;align-items:start;display:grid}@media (width<=960px){.admin-model-form-grid{grid-template-columns:1fr}}.amf-section{margin-bottom:var(--space-lg)}.amf-section-title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--primary-blue);margin-bottom:var(--space-sm);align-items:center;gap:var(--space-xs);font-weight:700;display:flex}.amf-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=600px){.amf-row{grid-template-columns:1fr}}.amf-field{margin-bottom:var(--space-md)}.amf-field label{font-size:var(--font-size-sm);color:var(--gray-700);margin-bottom:4px;font-weight:600;display:block}.amf-field .form-input,.amf-field select{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-sm);background:var(--white);padding:10px 12px;transition:border-color .2s,box-shadow .2s}.amf-field .form-input:focus,.amf-field select:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #005ab51f}.amf-field textarea.form-input{resize:vertical;min-height:60px}.logo-picker{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.logo-option{border-radius:var(--radius-md);border:2px solid var(--gray-200);background:var(--gray-50);cursor:pointer;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s;display:flex;position:relative;overflow:hidden}.logo-option:hover{border-color:var(--primary-blue);transform:translateY(-2px);box-shadow:0 4px 12px #005ab526}.logo-option.selected{border-color:var(--primary-blue);background:#005ab514;box-shadow:0 0 0 3px #005ab52e}.logo-option.selected:after{content:"✓";color:var(--primary-blue);font-size:11px;font-weight:700;position:absolute;top:2px;right:4px}.logo-option img{object-fit:contain;width:36px;height:36px}.logo-option-none{color:var(--gray-400);text-align:center;font-size:10px;line-height:1.2}.tags-input-wrap{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;display:flex}.tags-input-wrap:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 3px #005ab51f}.tags-input-wrap .tag-chip{color:var(--primary-blue);background:#005ab51a;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.tags-input-wrap .tag-chip .remove-tag{cursor:pointer;opacity:.6;font-size:14px;line-height:1;transition:opacity .15s}.tags-input-wrap .tag-chip .remove-tag:hover{opacity:1}.tags-input-wrap input{font-size:var(--font-size-sm);background:0 0;border:none;outline:none;flex:1;min-width:80px}.params-input-wrap{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;display:flex}.params-input-wrap:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 3px #005ab51f}.params-input-wrap .param-chip{color:#b45309;background:#f59e0b1f;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.params-input-wrap .param-chip .remove-param{cursor:pointer;opacity:.6;font-size:14px;line-height:1;transition:opacity .15s}.params-input-wrap .param-chip .remove-param:hover{opacity:1}.params-input-wrap input{font-size:var(--font-size-sm);background:0 0;border:none;outline:none;flex:1;min-width:80px}.toggle-row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.toggle-row label{margin-bottom:0}.toggle-switch{flex-shrink:0;width:44px;height:24px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{cursor:pointer;background:var(--gray-300);border-radius:12px;transition:background .25s;position:absolute;inset:0}.toggle-switch .slider:before{content:"";background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .25s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-switch input:checked+.slider{background:var(--primary-blue)}.toggle-switch input:checked+.slider:before{transform:translate(20px)}.preview-panel{position:sticky;top:80px}.preview-card-wrap{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-xl);padding:var(--space-md);background:var(--color-surface-muted)}.preview-card-wrap .preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);margin-bottom:var(--space-sm);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.preview-card-wrap .model-card{padding:var(--space-lg);gap:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:var(--color-surface);transition:box-shadow var(--transition-fast), border-color var(--transition-fast);flex-direction:column;display:flex}.amf-actions{gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--gray-200);flex-wrap:wrap;display:flex}.provider-type-chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.pt-chip{border:1.5px solid var(--gray-200);background:var(--white);font-size:var(--font-size-sm);color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:6px 16px;font-weight:500;transition:all .2s}.pt-chip:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.pt-chip.active{border-color:var(--primary-blue);color:var(--primary-blue);background:#005ab51a;font-weight:600}.contracts-summary-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}@media (width>=1024px){.contracts-summary-grid{grid-template-columns:repeat(5,1fr)}}@media (width<=1023px) and (width>=600px){.contracts-summary-grid{grid-template-columns:repeat(6,1fr)}.contracts-summary-grid>.summary-card:first-child,.contracts-summary-grid>.summary-card:nth-child(2),.contracts-summary-grid>.summary-card:nth-child(3){grid-column:span 2}.contracts-summary-grid>.summary-card:nth-child(4),.contracts-summary-grid>.summary-card:nth-child(5){grid-column:span 3}}@media (width<=599px){.contracts-summary-grid{grid-template-columns:repeat(2,1fr)}.contracts-summary-grid>.summary-card:last-child{grid-column:span 2}}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.summary-card-title{font-size:var(--font-size-xs);color:var(--color-foreground-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs);white-space:normal;word-break:break-word}@media (width>=1024px){.summary-card-title{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}}.summary-card-value{font-size:var(--font-size-2xl);color:var(--color-foreground);font-weight:700}.contract-badge--null{border-radius:var(--radius-full);font-size:var(--font-size-xs);background-color:var(--gray-100);color:var(--gray-500);border:1px dashed var(--gray-300);white-space:nowrap;cursor:default;align-items:center;padding:.25rem .625rem;font-weight:600;display:inline-flex}.contract-btn{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;gap:var(--space-xs);cursor:pointer;transition:var(--transition-fast);border-style:solid;border-width:1px;font-weight:600;display:inline-flex;font-size:var(--font-size-xs)!important;padding:.35rem .75rem!important}.contract-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.contract-btn--draft{color:#475569;background-color:#f1f5f9;border-color:#cbd5e1}.contract-btn--draft:hover{background-color:#e2e8f0}.contract-btn--waiting{color:#b45309;background-color:#fffbeb;border-color:#fde68a}.contract-btn--waiting:hover{background-color:#fef3c7}.contract-btn--completed{color:#065f46;background-color:#ecfdf5;border-color:#a7f3d0}.contract-btn--completed:hover{background-color:#d1fae5}.contract-btn--rejected{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}.contract-btn--rejected:hover{background-color:#fee2e2}.contract-btn--expired{color:#475569;background-color:#f8fafc;border-color:#cbd5e1}.contract-btn--expired:hover{background-color:#f1f5f9}.contract-btn--outofdate{color:#c2410c;background-color:#fff7ed;border-color:#ffedd5}.contract-btn--outofdate:hover{background-color:#ffedd5}.contract-btn--canceled{color:#64748b;background-color:#f1f5f9;border-color:#cbd5e1;text-decoration:line-through}.contract-btn--canceled:hover{background-color:#e2e8f0}.admin-contracts-filters{gap:var(--space-md);margin-bottom:var(--space-lg);background:var(--color-surface);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);grid-template-columns:1fr;display:grid}@media (width>=768px){.admin-contracts-filters{grid-template-columns:repeat(2,1fr)}.filter-btn-group{grid-column:span 2;justify-content:flex-end}}@media (width>=1024px){.admin-contracts-filters{grid-template-columns:2fr 1.2fr 1fr 1fr auto;align-items:center}.filter-btn-group{grid-column:auto}}.filter-btn-group{gap:var(--space-sm);display:flex}.contract-modal-header{padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.contract-modal-uid{font-family:var(--font-mono);font-size:var(--font-size-xs);background-color:var(--gray-100);border-radius:var(--radius-sm);color:var(--color-foreground-muted);padding:.125rem .375rem}.contract-tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg);gap:var(--space-xs);display:flex}.contract-tab-btn{padding:var(--space-sm) var(--space-md);font-weight:600;font-size:var(--font-size-sm);color:var(--color-foreground-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000}.contract-tab-btn:hover{color:var(--color-foreground)}.contract-tab-btn.active{color:var(--primary-blue);border-bottom-color:var(--primary-blue)}.timeline-section{margin-bottom:var(--space-xl)}.timeline-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.timeline-title{font-size:var(--font-size-base);color:var(--color-foreground);font-weight:700}.contract-id-badge{font-size:var(--font-size-xs);color:var(--primary-blue-dark);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);background-color:#eff6ff;border:1px solid #bfdbfe;font-weight:500}.timeline-list{flex-direction:column;padding-left:10px;display:flex;position:relative}.timeline-step{padding-bottom:var(--space-xl);gap:var(--space-md);display:flex;position:relative}.timeline-step:last-child{padding-bottom:0}.timeline-step:before{content:"";background-color:var(--color-border);z-index:1;width:2px;position:absolute;top:30px;bottom:-10px;left:15px}.timeline-step:last-child:before{display:none}.timeline-circle{background-color:var(--white);border:2px solid var(--color-border-strong);z-index:2;width:32px;height:32px;font-size:var(--font-size-xs);color:var(--color-foreground-muted);transition:var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.timeline-content{flex-direction:column;justify-content:center;display:flex}.timeline-step-title{color:var(--color-foreground);font-weight:600;font-size:var(--font-size-sm)}.timeline-step-time{font-size:var(--font-size-xs);color:var(--color-foreground-muted);margin-top:.125rem}.timeline-step.active:before{background-color:var(--primary-green)}.timeline-step.active .timeline-circle{background-color:var(--primary-green);border-color:var(--primary-green);color:var(--white)}.timeline-step.active .timeline-step-title{color:var(--color-foreground)}.timeline-grid-section{margin-top:var(--space-xl);border-top:1px solid var(--color-border);padding-top:var(--space-lg)}.timeline-grid-title{font-size:var(--font-size-sm);color:var(--color-foreground-muted);margin-bottom:var(--space-md);font-weight:700}.timeline-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.time-card{background:var(--gray-50);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md)}.time-card-label{font-size:var(--font-size-xs);color:var(--color-foreground-muted);margin-bottom:var(--space-xs)}.time-card-value{font-size:var(--font-size-sm);color:var(--color-foreground);font-weight:600}.download-footer-panel{border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-top:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);background-color:#f0fdf4;border:1px solid #bbf7d0;display:flex}.download-footer-text{color:#166534;font-weight:600;font-size:var(--font-size-sm)}.action-buttons{gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex}.no-contract-tab-placeholder{padding:var(--space-xl);text-align:center;color:var(--color-foreground-muted);background-color:var(--color-surface-muted);border-radius:var(--radius-md);border:1px dashed var(--color-border)}@media (width<=1023px){.summary-card{padding:var(--space-sm)}.summary-card-value{font-size:var(--font-size-xl)}}@media (width<=767px){.contracts-summary-grid{gap:var(--space-sm)}.summary-card{padding:var(--space-sm);border-radius:var(--radius-sm)}.summary-card-value{font-size:var(--font-size-lg)}.table-container{border-radius:var(--radius-md)}.table th,.table td{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}.contract-btn{padding:.25rem .5rem!important}}@media (width<=576px){.contract-modal-header{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.contract-modal-uid{align-self:flex-start}.contract-tabs{gap:var(--space-xs);border-bottom:none;flex-direction:column}.contract-tab-btn{text-align:center;width:100%;padding:var(--space-xs) var(--space-sm);background-color:var(--color-surface-muted);border-radius:var(--radius-sm);border-bottom:none;border-left:3px solid #0000}.contract-tab-btn.active{border-left-color:var(--primary-blue);color:var(--primary-blue);background-color:#0459b40d}.timeline-header{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.contract-id-badge{align-self:flex-start}.timeline-grid{gap:var(--space-sm);grid-template-columns:1fr}.action-buttons{gap:var(--space-sm);flex-direction:column}.action-buttons .btn{justify-content:center;width:100%}.download-footer-panel{text-align:center;align-items:stretch;gap:var(--space-sm);padding:var(--space-md);flex-direction:column}.download-footer-panel .btn{justify-content:center;width:100%}}.snapshots-summary-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.snapshot-badge{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #0000;padding:.25rem .625rem;font-weight:600;display:inline-flex}.snapshot-badge--creating{color:#2563eb;background-color:#eff6ff;border-color:#bfdbfe}.snapshot-badge--ready{color:#059669;background-color:#ecfdf5;border-color:#a7f3d0}.snapshot-badge--failed{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.snapshot-badge--deleted{color:#64748b;background-color:#f1f5f9;border-color:#cbd5e1}.admin-snapshots-filters{gap:var(--space-md);margin-bottom:var(--space-lg);background:var(--color-surface);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;display:flex}.filters-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:center;display:grid}.checkbox-label{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.date-filter-group{align-items:center;gap:var(--space-sm);grid-column:span 2;display:flex}.date-filter-group span{font-size:var(--font-size-xs);color:var(--color-foreground-muted);white-space:nowrap}.countdown-badge{border-radius:var(--radius-sm);font-size:var(--font-size-xs);align-items:center;padding:.125rem .5rem;font-weight:600;display:inline-flex}.countdown-badge.active{color:#d97706;background-color:#fef3c7;border:1px solid #fde68a}.countdown-badge.expired{color:#64748b;background-color:#f1f5f9;border:1px solid #cbd5e1}.snapshot-detail-section{margin-bottom:var(--space-lg)}.snapshot-detail-section-title{font-size:var(--font-size-sm);color:var(--color-foreground-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-xs);font-weight:700}.specs-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.spec-card{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.spec-label{font-size:var(--font-size-xs);color:var(--color-foreground-muted);margin-bottom:2px}.spec-value{font-size:var(--font-size-sm);color:var(--color-foreground);font-weight:600}.detail-table{border-collapse:collapse;width:100%}.detail-table td{padding:var(--space-xs) 0;font-size:var(--font-size-sm);vertical-align:top}.detail-table td:first-child{color:var(--color-foreground-muted);width:160px;padding-right:var(--space-md);font-weight:500}.detail-table td:last-child{color:var(--color-foreground);font-weight:600}.contact-card{border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);background-color:#eff6ff;border:1px solid #bfdbfe}.contact-title{font-size:var(--font-size-sm);color:var(--primary-blue-dark);margin-bottom:var(--space-xs);font-weight:700}.contact-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.contact-item{font-size:var(--font-size-sm)}.contact-item i{color:var(--primary-blue);width:18px}.progress-alert{color:#92400e;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);background-color:#fef3c7;border:1px solid #fde68a;display:flex}.error-alert{color:#991b1b;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);background-color:#fef2f2;border:1px solid #fecaca;display:flex}.table-row-clickable{cursor:pointer;transition:var(--transition-fast)}.table-row-clickable:hover{background-color:var(--color-surface-muted)!important}.admin-snapshots-table-container .table th,.admin-snapshots-table-container .table td{padding:.75rem var(--space-sm)}
