:root{--bg: #F8FAFC;--surface: #FFFFFF;--surface2: #F1F5F9;--border: #E2E8F0;--border2: #CBD5E1;--text: #111827;--text2: #374151;--text3: #6B7280;--brand: #ff731c;--brand-bg: #FFF4EF;--brand-border: #FFD0B5;--brand-dark: #E8561A;--brand-text: #B93F0C;--brand-gradient: linear-gradient(135deg, #ff731c 0%, #ff954b 100%);--btn-primary-color: #ffffff;--navy: #0B1220;--navy-light: #131E31;--navy-border: #1E2D45;--green: #10B981;--green-bg: #ECFDF5;--green-border: #6EE7B7;--green-alpha: rgba(16, 185, 129, .1);--green-dark: #166534;--amber: #F59E0B;--amber-bg: #FFFBEB;--amber-border: #FCD34D;--amber-dark: #B45309;--red: #EF4444;--red-bg: #FEF2F2;--red-border: #FECACA;--red-dark: #991B1B;--blue: #3B82F6;--blue-bg: #EFF6FF;--blue-border: #BFDBFE;--blue-dark: #1D4ED8;--purple: #8B5CF6;--purple-bg: #F5F3FF;--purple-border:#DDD6FE;--purple-dark: #6D28D9;--brand-ring: rgba(255, 115, 28, .12);--brand-shadow: rgba(255, 115, 28, .35);--brand-alpha: rgba(255, 115, 28, .2);--red-ring: rgba(239, 68, 68, .1);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 6px rgba(0,0,0,.05), 0 10px 15px rgba(0,0,0,.06);--shadow-lg: 0 20px 25px rgba(0,0,0,.1), 0 10px 10px rgba(0,0,0,.04);--shadow-float: 0 4px 16px rgba(0,0,0,.12);--shadow-drawer-l: 8px 0 40px rgba(0,0,0,.35);--shadow-drawer-r: -4px 0 32px rgba(0,0,0,.12);--overlay: rgba(0,0,0,.5);--overlay-light: rgba(15,15,15,.45);--red-hover-bg: #FEE2E2;--sidebar-w: 230px;--topbar-h: 60px;--page-max: 1400px;--control-h: 36px;--control-h-sm: 28px;--control-h-lg: 40px;--radius-xs: 3px;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 999px;--font: "Inter", system-ui, -apple-system, sans-serif;--fs-micro: 11px;--fs-aux: 12px;--fs-body: 13px;--fs-title: 14px;--fs-lg: 16px;--fs-page: 18px;--fs-kpi: 22px;--fs-display: 26px;--lh-tight: 1.25;--lh-title: 1.35;--lh-body: 1.55;--lh-loose: 1.6}[data-theme=dark]{--bg: #0A0A0A;--surface: #131313;--surface2: #1E1E1E;--border: #262626;--border2: #333333;--text: #EDEDED;--text2: #A3A3A3;--text3: #8A8A8A;--brand-bg: rgba(252, 136, 78, .14);--brand-border: rgba(252, 136, 78, .28);--green-bg: rgba(16, 185, 129, .12);--green-border: rgba(16, 185, 129, .25);--green-dark: #34D399;--amber-bg: rgba(245, 158, 11, .12);--amber-border: rgba(245, 158, 11, .25);--amber-dark: #FCD34D;--red-bg: rgba(239, 68, 68, .12);--red-border: rgba(239, 68, 68, .25);--red-dark: #F87171;--red-hover-bg: rgba(239, 68, 68, .15);--blue-bg: rgba(59, 130, 246, .12);--blue-border: rgba(59, 130, 246, .25);--blue-dark: #60A5FA;--purple-bg: rgba(139, 92, 246, .12);--purple-border:rgba(139, 92, 246, .25);--purple-dark: #A78BFA;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow: 0 4px 12px rgba(0,0,0,.5);--shadow-lg: 0 20px 40px rgba(0,0,0,.6);--overlay: rgba(0,0,0,.7);--brand-ring: rgba(255, 115, 28, .32);--brand-text: #fc884e}[data-theme=dark] .badge-success-soft{color:#34d399}[data-theme=dark] .badge-warning-soft{color:#fcd34d}[data-theme=dark] .badge-danger-soft{color:#f87171}[data-theme=dark] .badge-blue-soft,[data-theme=dark] .badge-info-soft{color:#60a5fa}[data-theme=dark] .badge-purple-soft{color:#a78bfa}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased;font-family:var(--font)}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:var(--lh-body);min-height:100vh;display:flex}button,input,select,textarea{font-family:var(--font)}#root{min-height:100vh;width:100%}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:var(--radius-pill)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:fadeIn .18s ease-out}.sidebar-logo{height:var(--topbar-h);padding:0 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--surface2);color:var(--text);font-weight:600}.nav-item.active svg{color:var(--text)}.nav-accordion{cursor:pointer}.nav-accordion-body{padding-left:16px}.sidebar-bottom{padding:8px 6px;border-top:1px solid var(--border);flex-shrink:0}.user-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.user-row:hover{background:var(--bg)}.app-layout{display:flex;min-height:100vh;width:100%}.app-main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn:focus-visible,.tbl-btn:focus-visible,.btn-filter:focus-visible,.filter-tab:focus-visible,.form-checkbox:focus-visible,.nav-item:focus-visible,.menu-btn:focus-visible,.icon-btn:focus-visible,.theme-toggle:focus-visible,.toggle-switch:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:none}.search-input{padding-left:34px!important}.search-input-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none;flex-shrink:0}.filter-tabs{display:inline-flex;align-items:center;gap:2px;height:var(--control-h);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.filter-tab:hover{color:var(--text);background:var(--surface)}.filter-tab.active{color:var(--text);background:var(--surface);font-weight:600;box-shadow:var(--shadow-sm)}.filter-tab.active .filter-tab-count{background:var(--brand-bg);color:var(--brand)}.btn{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);padding:0 14px;border-radius:var(--radius);font-family:var(--font);font-size:var(--fs-body);font-weight:500;cursor:pointer;border:none;transition:all .12s;white-space:nowrap;line-height:1.4}.btn-sm{height:28px;padding:0 9px;font-size:var(--fs-aux)}.btn svg{width:13px;height:13px;flex-shrink:0}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--btn-primary-color);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 4px 14px var(--brand-shadow)}.btn-primary:active:not(:disabled){background:var(--brand-dark);box-shadow:none}.btn-ghost{background:var(--surface);color:var(--text2)}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.btn-danger{background:var(--red-bg);color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-hover-bg)}.btn-amber{background:var(--amber-bg);color:var(--amber-dark)}.btn-amber:hover:not(:disabled){background:var(--amber);color:#fff}.btn-on-brand{background:#fff;color:var(--brand);border:none;font-weight:600}.btn-on-brand:hover:not(:disabled){opacity:.9}.btn-on-brand-ghost{background:transparent;color:#fff;font-weight:500}.btn-on-brand-ghost:hover:not(:disabled){background:#ffffff1a}.btn-sm svg{width:12px;height:12px}.btn-lg svg{width:15px;height:15px}.btn-icon{padding:6px}.tbl-btn:hover:not(:disabled){background:var(--bg);color:var(--text)}.tbl-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-switch{color:var(--text3);transition:color .15s;border:none;background:transparent;padding:0}.toggle-switch:hover{background:transparent;color:var(--text2)}.toggle-switch.active{color:var(--brand)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-body{padding:20px}.data-table th.text-right,.data-table td.text-right{text-align:right}.data-table td.text-right{font-variant-numeric:tabular-nums}.cell-name{font-weight:500;line-height:var(--lh-title)}.cell-sub{font-size:var(--fs-aux);color:var(--text3);margin-top:2px}.card-footer{padding:10px 16px;border-top:1px solid var(--border);background:var(--surface2)}.modal-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;transition:border-color .15s,box-shadow .15s}.stat-card:hover{border-color:var(--brand-border);box-shadow:var(--shadow-sm)}.stat-icon{width:32px;height:32px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:10px}.stat-icon svg{width:15px;height:15px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:var(--fs-body);color:var(--text);background:var(--surface);outline:none;transition:border-color .12s,box-shadow .12s}.form-input,.form-select{height:var(--control-h);padding-top:0;padding-bottom:0}.form-group{display:flex;flex-direction:column;gap:4px}.form-input:hover,.form-select:hover{border-color:var(--border2)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);background:var(--bg)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text3)}.form-textarea{resize:vertical;min-height:72px}.form-checkbox,input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;flex-shrink:0;border:1.5px solid var(--border2);border-radius:var(--radius-xs);background:var(--surface);cursor:pointer;position:relative;transition:border-color .1s,background .1s;vertical-align:middle}.form-checkbox:hover,input[type=checkbox]:hover{border-color:var(--brand)}.form-checkbox:checked,input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}.form-checkbox:checked:after,input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg)}.row-hover{cursor:pointer;transition:background .1s}.row-hover:hover{background:var(--bg)!important}.data-table{width:100%;border-collapse:collapse}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td,[data-theme=dark] .sidebar,[data-theme=dark] .topbar,[data-theme=dark] .mobile-header,[data-theme=dark] .card{background:var(--bg)}[data-theme=dark] .row-hover:hover{background:var(--surface2)!important}.badge-success{background:var(--green);color:var(--navy)}.badge-warning{background:var(--amber);color:var(--navy)}.badge-danger{background:var(--red);color:#fff}.badge-brand{background:var(--brand);color:#fff}.badge-blue,.badge-info{background:var(--blue);color:#fff}.badge-purple{background:var(--purple);color:#fff}.badge-neutral{background:var(--text3);color:#fff}.badge-success-soft{background:var(--green-bg);color:var(--green-dark);border:1px solid var(--green-border)}.badge-warning-soft{background:var(--amber-bg);color:var(--amber-dark);border:1px solid var(--amber-border)}.badge-danger-soft{background:var(--red-bg);color:var(--red-dark);border:1px solid var(--red-border)}.badge-blue-soft,.badge-info-soft{background:var(--blue-bg);color:var(--blue-dark);border:1px solid var(--blue-border)}.badge-purple-soft{background:var(--purple-bg);color:var(--purple-dark);border:1px solid var(--purple-border)}.badge-brand-soft{background:var(--brand-bg);color:var(--brand-text);border:1px solid var(--brand-border)}.badge-neutral-soft{background:var(--surface2);color:var(--text2);border:1px solid var(--border)}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--surface2) 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-wave 1.4s ease infinite;border-radius:var(--radius-sm)}.modal-md{max-width:560px}.spinner{display:inline-block;border-radius:50%;border:2px solid var(--brand-alpha);border-top-color:var(--brand);animation:spin .65s linear infinite}.spinner-sm{width:14px;height:14px}.spinner-lg{width:32px;height:32px}.spinner-page{display:flex;align-items:center;justify-content:center;min-height:180px}.alert-warning{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-border)}.alert-danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text3)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:150;animation:fadeIn .15s ease-out}.sidebar-backdrop.open{display:block}.menu-btn{display:none;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text2);border-radius:var(--radius-sm);flex-shrink:0;transition:all .1s}.menu-btn:hover{background:var(--bg);color:var(--text)}.menu-btn svg{width:16px;height:16px}.mobile-header{display:none;align-items:center;gap:10px;padding:0 14px;height:48px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:80;flex-shrink:0}[data-theme=dark] .form-input,[data-theme=dark] .form-select,[data-theme=dark] .form-textarea{background:var(--surface);color:var(--text);border-color:var(--border)}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-select:focus,[data-theme=dark] .form-textarea:focus{background:var(--surface2)}[data-theme=dark] input:-webkit-autofill,[data-theme=dark] input:-webkit-autofill:hover,[data-theme=dark] input:-webkit-autofill:focus,[data-theme=dark] select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface) inset!important;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text)}.theme-toggle:hover{color:var(--text);border-color:var(--border2)}.flex-col-16{display:flex;flex-direction:column;gap:16px}.flex-col-12{display:flex;flex-direction:column;gap:12px}.flex-row-xs{display:flex;align-items:center;gap:4px}.flex-end{justify-content:flex-end}.flex-1{flex:1;min-width:0}.m-0{margin:0}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mt-4{margin-top:4px}.mr-6{margin-right:6px}.text-2{color:var(--text2)}.text-muted{color:var(--text3)}.text-red{color:var(--red)}.text-brand{color:var(--brand)}.font-semibold{font-weight:600}.flex-wrap{flex-wrap:wrap}.gap-6{gap:6px}.break-word{word-break:break-word}.mb-14{margin-bottom:14px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.col-span-full{grid-column:1 / -1}.modal-icon-badge{width:32px;height:32px;border-radius:var(--radius-lg);background:var(--brand-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.flex-col-14{display:flex;flex-direction:column;gap:14px}.flex-col-6{display:flex;flex-direction:column;gap:6px}.flex-col-8{display:flex;flex-direction:column;gap:8px}.flex-col-10{display:flex;flex-direction:column;gap:10px}.gap-10{gap:10px}.pt-4{padding-top:4px}.overflow-hidden{overflow:hidden}.text-center{text-align:center}.text-right{text-align:right}.mb-24{margin-bottom:24px}.mt-2{margin-top:2px}.mt-3{margin-top:3px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-20{margin-top:20px}.ml-auto{margin-left:auto}.text-amber{color:var(--amber)}.input-icon-left{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text3);pointer-events:none}.input-pl{padding-left:36px}.input-pr{padding-right:44px}.input-visibility-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text3);display:flex;padding:4px;border-radius:var(--radius-sm)}.auth-spacer{flex:1}.auth-logo{height:72px;margin:0 auto 20px;display:block;object-fit:contain}.auth-forgot-row{text-align:right;margin-bottom:24px}.auth-terms-row{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.font-normal{font-weight:400}.checkbox-size{width:15px;height:15px}.btn-success{background:var(--green-bg);color:var(--green-dark)}.btn-success:hover:not(:disabled){background:var(--green);color:#fff}.data-table.data-table-compact th{padding:9px 12px}.data-table.data-table-compact td{padding:10px 12px}.overflow-x-auto{overflow-x:auto}.mx-auto{margin-left:auto;margin-right:auto}.shrink-0{flex-shrink:0}.mt-16{margin-top:16px}.font-medium{font-weight:500}.font-bold{font-weight:700}.text-nowrap{white-space:nowrap}.d-none{display:none}.object-cover{object-fit:cover}.spacer-sm{height:8px}.btn-full{width:100%;justify-content:center}.font-mono-sm{font-family:monospace;font-size:var(--fs-aux)}.input-icon-wrap{position:relative}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-page{min-height:100vh;background:var(--bg);display:flex;flex-direction:column;align-items:center}.auth-title{font-size:var(--fs-display);font-weight:700;color:var(--text);letter-spacing:-.03em;margin-bottom:6px}.auth-subtitle{font-size:var(--fs-body);color:var(--text3)}.auth-forgot-link{font-size:var(--fs-aux);font-weight:500;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.auth-terms-link{font-size:var(--fs-aux);color:var(--text3);text-decoration:none}.auth-terms-sep{font-size:var(--fs-aux);color:var(--border2)}.auth-resend-row{text-align:center;margin-top:18px;font-size:var(--fs-body);color:var(--text3)}.auth-resend-link{font-weight:600;color:var(--brand);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;font-size:var(--fs-body)}.otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:26px 0 8px}.otp-input{width:100%;height:54px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);text-align:center;font-family:var(--font);font-size:var(--fs-kpi);font-weight:700;color:var(--brand);outline:none;transition:border-color .18s,background .18s;box-sizing:border-box}.back-btn{margin-bottom:24px!important;border:none!important;background:none!important;color:var(--text3)!important;padding:4px 0!important}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border)}.pagination-info{font-size:var(--fs-aux);color:var(--text3)}.pagination-page{font-size:var(--fs-body);color:var(--text2);padding:0 8px;min-width:80px;text-align:center}.form-label{font-size:var(--fs-aux);font-weight:600;color:var(--text2);letter-spacing:.01em;margin-bottom:4px}.form-hint{font-size:var(--fs-micro);color:var(--text3)}.form-hint-error{font-size:var(--fs-aux);color:var(--red);margin-top:4px}.form-section-label{font-size:var(--fs-micro);font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.stat-label{font-size:var(--fs-aux);color:var(--text2);font-weight:500;margin-bottom:4px}.stat-value{font-size:var(--fs-kpi);font-weight:700;letter-spacing:-.8px;color:var(--text);line-height:var(--lh-tight)}.tbl-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-aux);font-family:var(--font);font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text2);transition:all .1s}.filter-tab{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-xs);font-size:var(--fs-aux);font-weight:500;color:var(--text3);background:none;border:none;cursor:pointer;transition:all .1s;white-space:nowrap;font-family:var(--font)}.filter-tab-count{font-size:var(--fs-micro);padding:1px 5px;border-radius:var(--radius-pill);background:var(--border);color:var(--text3);font-weight:600}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.data-table th{padding:12px 16px;font-size:var(--fs-micro);font-weight:600;color:var(--text3);text-align:left;background:var(--bg);border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase}.data-table td{padding:13px 16px;font-size:var(--fs-body);border-bottom:1px solid var(--border);color:var(--text)}.card-header{padding:11px 16px;border-bottom:1px solid var(--border);font-size:var(--fs-body);font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:8px}.modal-header h2{font-size:var(--fs-title);font-weight:600;color:var(--text)}.spinner-white{border-color:#ffffff4d;border-top-color:#fff}.alert{padding:10px 12px;border-radius:var(--radius-sm);font-size:var(--fs-aux);display:flex;align-items:flex-start;gap:8px}.empty-state>svg{width:36px;height:36px;margin-bottom:12px;color:var(--border2)}.empty-state p{font-size:var(--fs-body);color:var(--text2);max-width:300px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text2);font-size:var(--fs-body);font-weight:400;transition:background .12s,color .12s;text-decoration:none;border:none;background:none;width:100%;text-align:left;position:relative}.nav-sub-item{font-size:var(--fs-body)}.sidebar-logo-name{font-size:var(--fs-title);font-weight:700;letter-spacing:-.4px;color:var(--text)}.sidebar-logo-img{height:28px;width:28px;object-fit:contain}.mobile-header-logo{display:flex;align-items:center;gap:7px;font-size:var(--fs-body);font-weight:700;color:var(--text)}.page-header h2{font-size:var(--fs-page);font-weight:700;color:var(--text);letter-spacing:-.3px}.page-header p{font-size:var(--fs-aux);color:var(--text2);margin-top:6px}.user-name{font-size:var(--fs-aux);font-weight:500;line-height:1.2;color:var(--text)}.btn-row,.flex-row{display:flex;align-items:center;gap:8px}.toaster{position:fixed;right:16px;bottom:16px;z-index:1500;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius);font-size:var(--fs-aux);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);animation:fadeUp .18s ease-out}.toast-danger{background:var(--red-bg);border-color:var(--red-border);color:var(--red-dark)}.toast-success{background:var(--green-bg);border-color:var(--green-border);color:var(--green-dark)}.toast-info{background:var(--blue-bg);border-color:var(--blue-border);color:var(--blue-dark)}.toast-msg{flex:1;line-height:var(--lh-body)}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:0;font-family:inherit;display:flex;align-items:center}.toast-close:hover{opacity:1}@font-face{font-family:Inter;src:url(/fonts/Inter/Inter-VariableFont_opsz,wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}.sidebar{width:var(--sidebar-w);height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;overflow:hidden;flex-shrink:0}.sidebar-nav{padding:8px 6px;flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item svg{width:16px;height:16px;flex-shrink:0}.user-av{width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--fs-micro);font-weight:700;flex-shrink:0}.page{padding:24px;flex:1;width:100%;max-width:var(--page-max);margin:0 auto;animation:fadeIn .18s ease-out}.btn-lg{height:var(--control-h-lg);padding:0 20px;font-size:var(--fs-title)}.tbl-btn.success{color:var(--green-dark)}.tbl-btn.success:hover{background:var(--green-bg);border-color:var(--green-border)}.tbl-btn.danger{color:var(--red)}.tbl-btn.danger:hover{background:var(--red-bg);border-color:var(--red-border)}.checkbox-label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-body);color:var(--text2)}.toggle{position:relative;display:inline-block;width:32px;height:18px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}[data-theme=dark] .nav-item:hover,[data-theme=dark] .user-row:hover,[data-theme=dark] .btn-ghost:hover:not(:disabled),[data-theme=dark] .tbl-btn:hover,[data-theme=dark] .menu-btn:hover,[data-theme=dark] .data-table tbody tr:hover td{background:var(--surface2)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--fs-micro);font-weight:600;border-radius:var(--radius-sm);white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-light);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .12s ease-out}.modal-content{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;overflow-y:auto;animation:scaleIn .18s ease-out}.modal-lg{max-width:680px}.modal-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:18px;display:flex;flex-direction:column;gap:14px}.detail-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;max-height:90vh;animation:modal-pop .22s cubic-bezier(.34,1.56,.64,1) both}.detail-modal.modal-xl{max-width:720px}.detail-modal.modal-md{max-width:560px}@keyframes modal-pop{0%{opacity:0;transform:scale(.95) translateY(6px)}to{opacity:1;transform:none}}.detail-modal-header{display:flex;align-items:center;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.detail-modal-title{flex:1;min-width:0}.detail-modal-title-text{font-size:var(--fs-title);font-weight:600;color:var(--text);line-height:1.3}.detail-modal-subtitle{margin-top:2px;font-size:var(--fs-aux);color:var(--text3);letter-spacing:.02em}.detail-modal-actions{display:flex;align-items:center;gap:8px}.detail-modal-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg);color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.detail-modal-close:hover{background:var(--border)}.detail-modal-tab-bar{padding:8px 24px 0;border-bottom:1px solid var(--border)}.detail-modal-body{padding:0 24px;overflow-y:auto;flex:1}.detail-modal-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid var(--border)}.detail-row{display:flex;flex-direction:column;padding:12px 0;border-bottom:1px solid var(--border)}.detail-row-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-micro);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);margin-bottom:4px}.detail-row-label svg{width:13px;height:13px;color:var(--text3);flex-shrink:0}.detail-row-value{font-size:var(--fs-body);color:var(--text);line-height:1.4}.detail-row-value.has-icon{padding-left:19px}.detail-row-value.mono{font-size:var(--fs-aux)}.detail-row-hint{font-size:var(--fs-micro);color:var(--text3);margin-top:3px}.detail-row-hint.has-icon{padding-left:19px}.detail-row-inline{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border)}.detail-row-inline-label{font-size:var(--fs-micro);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text3)}.detail-row-inline-value{font-size:var(--fs-body);color:var(--text)}.detail-section{font-size:var(--fs-micro);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);padding:14px 0 2px}.spinner-md{width:20px;height:20px}.alert-success{background:var(--green-bg);color:var(--green);border:1px solid var(--green-border)}@media(max-width:768px){.menu-btn{display:flex;background:var(--surface);border-color:var(--border);color:var(--text2)}.menu-btn:hover{background:var(--bg);color:var(--text)}.mobile-header{display:flex}.sidebar{transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);width:260px;z-index:200;box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-drawer-l)}.app-main{margin-left:0}.page{padding:14px 12px}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.page-header{flex-wrap:wrap;gap:8px}.form-input,.form-textarea{font-size:var(--fs-lg)}}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:var(--topbar-h);padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:80;flex-shrink:0}.topbar-greeting{flex:1;font-size:var(--fs-body);font-weight:600;color:var(--text)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s}@media(max-width:768px){.topbar{display:none}}@media print{.sidebar{display:none!important}.page{padding:16px!important}.card{box-shadow:none!important;border:1px solid #ddd!important}.modal-backdrop{display:none!important}}.mb-6{margin-bottom:6px}.mb-10{margin-bottom:10px}.mt-14{margin-top:14px}.text-xs{font-size:var(--fs-micro)}.text-sm,.text-12{font-size:var(--fs-aux)}.text-13{font-size:var(--fs-body)}.text-3{color:var(--text3)}.text-green{color:var(--green)}.cursor-pointer{cursor:pointer}.gap-4{gap:4px}.gap-8{gap:8px}.btn-48{height:48px}.icon-btn{background:none;border:none;cursor:pointer;color:var(--text3);padding:4px;display:flex;align-items:center;border-radius:var(--radius-sm);transition:color .1s,background .1s}.icon-btn:hover{color:var(--text);background:var(--bg)}.id-chip{font-size:var(--fs-micro);color:var(--text3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;letter-spacing:.02em;white-space:nowrap}.cell-time{font-size:var(--fs-aux);color:var(--text3)}.section-heading{font-size:var(--fs-aux);font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.info-box{padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--text2);line-height:1.5}.gateway-icon-sm{width:28px;height:28px;border-radius:var(--radius);background:var(--brand-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-body-sm{padding:0 18px 20px;display:flex;flex-direction:column;gap:14px}.auth-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);width:100%;max-width:440px;padding:40px 40px 32px;margin:0 20px}.auth-header{text-align:center;margin-bottom:28px}.auth-terms-link:hover{color:var(--text2)}.auth-screen-title{font-size:var(--fs-display);font-weight:700;color:var(--text);letter-spacing:-.03em;margin-bottom:6px}.auth-screen-desc{font-size:var(--fs-body);color:var(--text3);margin-bottom:28px;line-height:1.6}.sidebar-role-badge{font-size:var(--fs-micro);font-weight:700;background:var(--brand-bg);color:var(--brand);border:1px solid var(--brand-border);border-radius:var(--radius-sm);padding:2px 6px}.text-115,.text-125{font-size:var(--fs-aux)}.alert-brand{background:var(--brand-bg);border-color:var(--brand-border);color:var(--text2)}.p-0{padding:0}.jc-end{justify-content:flex-end}.card-pad-20{padding:16px 20px}.form-grid-2-14{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gap-7{gap:7px}.text-14{font-size:var(--fs-title)}.pb-16{padding-bottom:16px}.code-tag{font-size:var(--fs-micro);color:var(--text3);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px}.search-input-md{max-width:280px}.modal-sm{max-width:480px}.stat-icon-brand{background:var(--brand-bg);color:var(--brand)}.stat-icon-green{background:var(--green-bg);color:var(--green)}.stat-icon-amber{background:var(--amber-bg);color:var(--amber)}.stat-icon-red{background:var(--red-bg);color:var(--red)}.nav-chevron{margin-left:auto;flex-shrink:0;transition:transform .18s}.nav-chevron.open{transform:rotate(180deg)}.text-1{color:var(--text)}.icon-16{width:16px;height:16px}.icon-14{width:14px;height:14px}.icon-20{height:20px;width:20px;object-fit:contain}.page-loading-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.otp-input.filled{border:1.5px solid var(--brand);background:var(--brand-bg)}.w-80{width:80px}.auth-resend-link:disabled{opacity:.4}.line-through{text-decoration:line-through}.whitespace-nowrap{white-space:nowrap}.sidebar-logout-btn:hover{color:var(--red)!important}tr.row-hover:not(:last-child){border-bottom:1px solid var(--border)}[data-theme=dark] .info-box{background:var(--surface2)}[data-theme=dark] .auth-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .sidebar-role-badge{background:var(--brand-bg);border-color:var(--brand-border)}
