:root{--bg-void:#030306;--bg-base:#07080d;--bg-primary:#07080d;--bg-surface:#0c0d14;--bg-secondary:#0c0d14;--bg-raised:#12131b;--bg-card:#0c0d14;--bg-card-hover:#12131b;--bg-overlay:#171924;--bg-topbar:rgba(5,5,8,.88);--color-topbar-link:rgba(200,205,220,.65);--color-topbar-link-hover:#eef0f6;--bg-topbar-link-hover:hsla(0,0%,100%,.05);--color-topbar-link-active:#00ffa3;--bg-topbar-link-active:rgba(0,255,163,.1);--border-topbar-link-active:rgba(0,255,163,.2);--color-logo-accent:#00ffa3;--bg-sidebar:#030306;--bg-sidebar-hover:rgba(99,102,241,.06);--bg-sidebar-active:rgba(99,102,241,.12);--accent:#00e5ff;--accent-hover:#00b8cc;--accent-dim:#00b8cc;--accent-glow:rgba(0,229,255,.15);--accent-surface:rgba(0,229,255,.08);--accent-deep:rgba(0,229,255,.05);--cyan:#00e5ff;--cyan-glow:rgba(0,229,255,.12);--purple:#818cf8;--purple-glow:rgba(129,140,248,.12);--amber:#fb923c;--amber-glow:rgba(251,146,60,.12);--success:#34d399;--success-surface:rgba(52,211,153,.1);--success-text:#34d399;--warning:#fb923c;--warning-surface:rgba(251,146,60,.1);--warning-text:#fb923c;--danger:#f87171;--danger-surface:hsla(0,91%,71%,.1);--danger-text:#f87171;--violet:#818cf8;--violet-surface:rgba(129,140,248,.1);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-disabled:#475569;--text-sidebar:#94a3b8;--text-sidebar-muted:#475569;--border:rgba(0,229,255,.08);--border-ghost:hsla(0,0%,100%,.03);--border-hover:rgba(0,229,255,.22);--border-active:rgba(0,229,255,.45);--separator:hsla(0,0%,100%,.05);--font:"Geist","DM Sans",system-ui,-apple-system,sans-serif;--font-display:"Geist","DM Sans",system-ui,sans-serif;--font-mono:"Geist Mono","JetBrains Mono","Fira Code",monospace;--radius:10px;--radius-sm:6px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--shadow-ambient:0 0 0 1px rgba(0,229,255,.04),0 2px 12px rgba(0,0,0,.6);--shadow-elevated:0 0 0 1px rgba(0,229,255,.07),0 8px 32px rgba(0,0,0,.7),0 0 20px rgba(0,229,255,.02);--shadow-modal:0 0 0 1px rgba(0,229,255,.1),0 24px 64px rgba(0,0,0,.85);--grid-line:rgba(0,229,255,.015)}[data-theme=light]{--bg-void:#f1f5f9;--bg-base:#f8fafc;--bg-primary:#f8fafc;--bg-surface:#fff;--bg-secondary:#fff;--bg-raised:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-overlay:#f1f5f9;--bg-topbar:rgba(241,245,249,.88);--color-topbar-link:var(--text-secondary);--color-topbar-link-hover:var(--text-primary);--bg-topbar-link-hover:rgba(0,0,0,.04);--color-topbar-link-active:var(--accent);--bg-topbar-link-active:var(--accent-surface);--border-topbar-link-active:var(--border);--color-logo-accent:#059669;--bg-sidebar:#f1f5f9;--bg-sidebar-hover:rgba(99,102,241,.04);--bg-sidebar-active:rgba(99,102,241,.08);--accent:#06c;--accent-hover:#0052a3;--accent-dim:#0052a3;--accent-glow:rgba(0,102,204,.15);--accent-surface:rgba(0,102,204,.08);--accent-deep:rgba(0,102,204,.05);--cyan:#008299;--cyan-glow:rgba(0,130,153,.12);--purple:#6366f1;--purple-glow:rgba(99,102,241,.12);--amber:#ea580c;--amber-glow:rgba(234,88,12,.12);--success:#059669;--success-surface:rgba(5,150,105,.08);--success-text:#059669;--warning:#d97706;--warning-surface:rgba(217,119,6,.08);--warning-text:#d97706;--danger:#dc2626;--danger-surface:rgba(220,38,38,.08);--danger-text:#dc2626;--violet:#6366f1;--violet-surface:rgba(99,102,241,.08);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-disabled:#94a3b8;--text-sidebar:#475569;--text-sidebar-muted:#94a3b8;--border:rgba(0,102,204,.12);--border-ghost:rgba(0,0,0,.05);--border-hover:rgba(0,102,204,.25);--border-active:rgba(0,102,204,.5);--separator:rgba(0,0,0,.06);--shadow-ambient:0 0 0 1px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.06);--shadow-elevated:0 0 0 1px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08);--shadow-modal:0 0 0 1px rgba(0,0,0,.08),0 20px 48px rgba(0,0,0,.12);--grid-line:rgba(0,102,204,.02)}[data-theme=portal-light]{--brand-primary:#ff6b35;--brand-primary-hover:#e55a2b;--brand-primary-light:rgba(255,107,53,.1);--brand-primary-soft:rgba(255,107,53,.06);--brand-primary-strong:rgba(255,107,53,.2);--bg-void:#fff;--bg-base:#fff;--bg-primary:#fff;--bg-surface:#f8fafc;--bg-secondary:#f8fafc;--bg-sidebar:#fafbfc;--bg-raised:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-overlay:rgba(0,0,0,.5);--bg-topbar:#ff6b35;--color-topbar-link:hsla(0,0%,100%,.78);--color-topbar-link-hover:#fff;--bg-topbar-link-hover:hsla(0,0%,100%,.14);--color-topbar-link-active:#fff;--bg-topbar-link-active:hsla(0,0%,100%,.18);--border-topbar-link-active:hsla(0,0%,100%,.32);--color-logo-accent:#fff;--bg-sidebar-hover:rgba(255,107,53,.06);--bg-sidebar-active:rgba(255,107,53,.12);--accent:var(--brand-primary);--accent-hover:var(--brand-primary-hover);--accent-dim:var(--brand-primary-hover);--accent-glow:rgba(255,107,53,.18);--accent-surface:rgba(255,107,53,.1);--accent-deep:rgba(255,107,53,.05);--text-primary:#1a1a2e;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-disabled:#d1d5db;--text-on-brand:#fff;--text-sidebar:#4b5563;--text-sidebar-muted:#9ca3af;--border:#e5e7eb;--border-ghost:rgba(0,0,0,.04);--border-hover:#d1d5db;--border-active:#ff6b35;--separator:#f3f4f6;--success:#10b981;--success-text:#059669;--success-surface:rgba(16,185,129,.1);--warning:#f59e0b;--warning-text:#b45309;--warning-surface:rgba(245,158,11,.1);--danger:#ef4444;--danger-text:#dc2626;--danger-surface:rgba(239,68,68,.1);--info:#3b82f6;--info-surface:rgba(59,130,246,.1);--violet:#8b5cf6;--violet-surface:rgba(139,92,246,.1);--chart-blue:#3b82f6;--chart-purple:#8b5cf6;--chart-green:#10b981;--chart-orange:#f59e0b;--chart-red:#ef4444;--chart-cyan:#06b6d4;--chart-pink:#ec4899;--cyan:var(--chart-blue);--cyan-glow:rgba(59,130,246,.12);--purple:var(--chart-purple);--purple-glow:rgba(139,92,246,.12);--amber:var(--chart-orange);--amber-glow:rgba(245,158,11,.12);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-ambient:var(--shadow-sm);--shadow-elevated:var(--shadow-md);--shadow-modal:var(--shadow-xl);--radius:8px;--radius-sm:4px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--font:"Inter","Noto Sans SC",system-ui,-apple-system,sans-serif;--font-display:"Inter","Noto Sans SC",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--grid-line:transparent}[data-theme=portal-light] body:after{display:none!important}[data-theme=portal-light] body{background:var(--bg-base);background-image:none}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:56px 56px;overflow-x:hidden}body:after{content:"";position:fixed;top:-100%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,229,255,.12),rgba(129,140,248,.08),transparent);animation:globalScanLine 12s linear infinite;pointer-events:none;z-index:9999;will-change:transform}[data-theme=light] body:after{background:linear-gradient(90deg,transparent,rgba(0,102,204,.05),rgba(99,102,241,.03),transparent)}a{color:var(--accent);text-decoration:none;transition:opacity .15s}a:hover{opacity:.8}.admin-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.sidebar{position:fixed;top:0;left:0;right:0;height:52px;width:100%!important;display:flex;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--border);background:var(--bg-topbar);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);z-index:100;padding:0 20px;gap:0;overflow:visible;box-shadow:0 1px 0 var(--border),0 4px 24px rgba(0,0,0,.05)}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0,var(--accent) 30%,var(--purple) 70%,transparent 100%);opacity:.6}.sidebar-header{padding:0;border-bottom:none;display:flex;align-items:center;flex-shrink:0;margin-right:32px}.sidebar-header h1{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;white-space:nowrap}.sidebar-header span{font-size:10px;color:var(--accent);font-weight:600;font-family:var(--font-mono);margin-top:0;display:inline;margin-left:4px;opacity:.7}.sidebar-nav{flex:1 1;overflow:visible}.sidebar-nav,.sidebar-nav .nav-section{padding:0;display:flex;align-items:center;gap:2px}.sidebar-nav .nav-section{margin:0}.sidebar-nav .nav-section-label{display:none}.sidebar-nav a{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);transition:background .15s ease,color .15s ease;min-height:32px;white-space:nowrap;border:1px solid transparent}.sidebar-nav a:hover{background:var(--bg-sidebar-hover);color:var(--accent);text-decoration:none;border-color:var(--border)}.sidebar-nav a.active{background:var(--accent-surface);color:var(--accent);font-weight:600;border-color:rgba(0,255,163,.2)}.sidebar-nav a svg{width:14px;height:14px;flex-shrink:0}.main-content{flex:1 1;margin-top:52px;overflow-y:auto;display:flex;flex-direction:column;background:transparent}.page-container{max-width:1320px;margin:0 auto;width:100%;padding:0 24px}.page-header{padding:24px 0 20px;border-bottom:1px solid var(--separator);margin-bottom:24px;position:relative}.page-header h1{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);line-height:1.2;padding-left:16px;border-left:2px solid var(--accent);position:relative}.page-header h1:before{content:"> ";color:var(--accent);font-family:var(--font-mono);font-size:14px;opacity:.7;position:absolute;left:-18px;top:50%;transform:translateY(-50%);display:none}.page-header p{color:var(--text-muted);font-size:13px;margin-top:4px;font-family:var(--font-mono)}.page-body{flex:1 1;padding-bottom:40px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.card,.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-ambient);border:1px solid var(--border);transition:box-shadow .25s ease,border-color .25s ease,transform .2s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,163,.3),transparent);opacity:0;transition:opacity .3s}.stat-card:hover{box-shadow:var(--shadow-elevated);border-color:var(--border-hover);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card .stat-label{font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-mono)}.stat-card .stat-value{font-size:28px;font-weight:700;margin-top:8px;letter-spacing:-.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.1}.stat-card .stat-change{font-size:12px;margin-top:6px;color:var(--text-muted);font-weight:400;font-family:var(--font-mono)}.stat-card .stat-change.positive{color:var(--success-text)}.stat-card .stat-change.negative{color:var(--danger-text)}.stat-card.accent-indigo .stat-value,.stat-card.accent-violet .stat-value{color:var(--purple)}.stat-card.accent-blue .stat-value{color:var(--cyan)}.stat-card.accent-emerald .stat-value{color:var(--accent)}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-ambient)}.data-table,table{width:100%;border-collapse:collapse}.data-table{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-ambient);border:1px solid var(--border)}.data-table thead,thead{background:var(--bg-raised);border-bottom:1px solid var(--separator)}.data-table th,th{text-align:left;padding:10px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700;font-family:var(--font-mono);border-bottom:1px solid var(--separator);white-space:nowrap}.data-table td,td{padding:12px 16px;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border-ghost);font-family:var(--font-mono)}.data-table tr:last-child td,tr:last-child td{border-bottom:none}.data-table tr:hover td,tr:hover td{background:rgba(0,255,163,.03);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono);border:1px solid transparent}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;box-shadow:0 0 4px currentColor}.badge-active{background:rgba(0,229,255,.1);color:var(--accent);border-color:rgba(0,229,255,.2)}.badge-inactive,.badge-revoked{background:rgba(255,77,109,.1);color:var(--danger);border-color:rgba(255,77,109,.2)}.badge-suspended{background:rgba(255,181,71,.1);color:var(--warning);border-color:rgba(255,181,71,.2)}.badge-deleted{background:rgba(120,125,145,.1);color:var(--text-muted);border-color:rgba(120,125,145,.15)}.badge-success{background:rgba(52,211,153,.1);color:var(--success);border-color:rgba(52,211,153,.2)}.badge-info{background:rgba(0,229,255,.1);color:var(--cyan);border-color:rgba(0,229,255,.2)}.badge-warning{background:rgba(255,181,71,.1);color:var(--warning);border-color:rgba(255,181,71,.2)}.badge-error{background:rgba(255,77,109,.1);color:var(--danger);border-color:rgba(255,77,109,.2)}.badge-opc{background:rgba(155,109,255,.1);color:var(--purple);border-color:rgba(155,109,255,.2)}.badge-trial{color:var(--cyan)}.badge-trial,.badge-verified{background:rgba(0,229,255,.1);border-color:rgba(0,229,255,.2)}.badge-verified{color:var(--accent)}.badge-pending{background:rgba(255,181,71,.1);color:var(--warning);border-color:rgba(255,181,71,.2)}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;min-height:36px;letter-spacing:.01em;white-space:nowrap}.btn:hover{background:var(--bg-overlay);border-color:var(--border-hover);color:var(--text-primary)}.btn-primary{background:var(--accent);border-color:transparent;color:#030706;font-weight:700;box-shadow:0 0 16px rgba(0,229,255,.2)}.btn-primary:hover{background:#33eaff;box-shadow:0 0 24px rgba(0,229,255,.35);transform:translateY(-1px)}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn-ghost:hover{background:var(--accent-surface);border-color:var(--border)}.btn-danger{background:var(--danger-surface);border-color:rgba(255,77,109,.2);color:var(--danger-text)}.btn-danger:hover{background:rgba(255,77,109,.18)}.btn-success{background:var(--success-surface);border-color:rgba(52,211,153,.2);color:var(--success-text)}.btn-success:hover{background:rgba(52,211,153,.18)}.btn-sm{padding:5px 10px;font-size:12px;min-height:28px}.btn-icon{padding:6px 10px}.form-label{display:block;font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.form-hint,.form-label{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.form-hint{margin-top:5px}.form-input{display:block;width:100%;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-primary);font-size:14px;font-family:var(--font-mono);transition:border-color .15s ease,box-shadow .15s ease;outline:none;min-height:40px}.form-input::placeholder{color:var(--text-disabled)}.form-input:hover{border-color:rgba(0,229,255,.15)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,229,255,.1);background:var(--bg-overlay)}.form-input:disabled{opacity:.35;cursor:not-allowed}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2300e5ff' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}textarea.form-input{resize:vertical;min-height:80px}.form-group{display:flex;flex-direction:column;gap:4px}.form-row{display:grid;grid-gap:16px;gap:16px}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.form-divider{border:none;border-top:1px solid var(--separator);margin:12px 0}.form-section-label{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.form-check-group{display:flex;flex-wrap:wrap;gap:16px}.form-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.form-check input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:rgba(5,5,8,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal,.modal-content{background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:var(--radius-xl);padding:28px;width:100%;max-height:85vh;overflow-y:auto;animation:slideUp .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-modal);position:relative}.modal-content:before,.modal:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.4}.modal-sm{max-width:400px}.modal-md{max-width:520px}.modal-lg{max-width:640px}.modal-xl{max-width:880px}.modal-header{margin-bottom:20px}.modal-header h2{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--text-primary);letter-spacing:-.2px}.modal-header p{font-size:13px;color:var(--text-muted);font-family:var(--font-mono)}.modal-actions,.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--separator)}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-muted);font-family:var(--font-mono);font-size:13px}.loading-spinner{width:18px;height:18px;border:2px solid rgba(0,229,255,.15);border-top:2px solid var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin-right:10px;box-shadow:0 0 8px rgba(0,229,255,.2)}.skeleton{background:linear-gradient(90deg,var(--bg-raised) 0,rgba(0,229,255,.04) 50%,var(--bg-raised) 100%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.empty-state{text-align:center;padding:56px 32px;color:var(--text-muted)}.empty-state h3{color:var(--text-secondary);margin-bottom:8px;font-size:16px;font-weight:600}.alert,.empty-state p{font-size:13px;font-family:var(--font-mono)}.alert{padding:12px 16px;border-radius:var(--radius);border:1px solid transparent}.alert-error{background:var(--danger-surface);color:var(--danger-text);border-color:rgba(255,77,109,.2)}.alert-success{background:var(--success-surface);color:var(--success-text);border-color:rgba(52,211,153,.2)}.alert-info{background:var(--accent-surface);color:var(--accent);border-color:rgba(0,229,255,.2)}.alert-warning{background:var(--warning-surface);color:var(--warning-text);border-color:rgba(255,181,71,.2)}.toolbar{display:flex;gap:8px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.toolbar .form-input{width:auto;min-width:200px}.toolbar-count{font-size:12px;color:var(--text-muted);margin-left:auto;font-family:var(--font-mono)}.card-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-ambient);position:relative;overflow:hidden}.card-section h3{font-size:14px;font-weight:700;margin-bottom:16px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono)}.section{margin-bottom:24px}.section-title{font-size:11px;font-weight:700;margin-bottom:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.pagination{display:flex;gap:4px;align-items:center;margin-top:16px;justify-content:flex-end}.pagination button{padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;transition:all .15s ease}.pagination button:hover{background:var(--bg-overlay);border-color:var(--border-hover);color:var(--text-primary)}.pagination button.active{background:var(--accent);border-color:transparent;color:#030704;font-weight:700}.pagination button:disabled{opacity:.25;cursor:not-allowed}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,229,255,.12);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(0,229,255,.25)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 6px var(--accent-glow)}50%{box-shadow:0 0 16px rgba(0,229,255,.3)}}@keyframes globalScanLine{0%{transform:translateY(0);opacity:0}2%{opacity:1}98%{opacity:1}to{transform:translateY(200vh);opacity:0}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-success{color:var(--success-text)}.text-danger{color:var(--danger-text)}.text-warning{color:var(--warning-text)}.text-cyan{color:var(--cyan)}.text-purple{color:var(--purple)}.text-mono,code{font-family:var(--font-mono)}code{font-size:.85em;background:var(--bg-raised);border:1px solid var(--border);padding:2px 6px;border-radius:4px;color:var(--accent)}.portal-app body{background:var(--bg-base);color:var(--text-primary);background-image:none}.portal-app .admin-layout{background:var(--bg-base);flex-direction:row;min-height:100vh}.portal-app .platform-topbar{position:fixed;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg-topbar);color:var(--text-on-brand);z-index:90;box-shadow:0 2px 8px rgba(255,107,53,.2)}.portal-app .platform-topbar a,.portal-app .platform-topbar button{color:var(--text-on-brand)}.portal-app .platform-topbar .platform-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:-.02em}.portal-app .platform-topbar .platform-brand-mark{width:30px;height:30px;border-radius:8px;background:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.28);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}.portal-app .platform-topbar-actions{display:flex;align-items:center;gap:.75rem}.portal-app .platform-topbar-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;transition:background .15s ease;color:hsla(0,0%,100%,.86)}.portal-app .platform-topbar-link:hover{background:hsla(0,0%,100%,.14);color:#fff}.portal-app .sidebar{position:fixed!important;top:56px!important;left:0!important;right:auto!important;bottom:0!important;width:240px!important;height:calc(100vh - 56px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;background:var(--bg-sidebar)!important;border-right:1px solid var(--border)!important;border-bottom:none!important;box-shadow:none!important;padding:16px 12px!important;gap:4px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:80!important}.portal-app .sidebar:before{display:none}.portal-app .sidebar-header{padding:0 8px 12px!important;border-bottom:1px solid var(--separator)!important;margin-right:0!important;margin-bottom:12px!important;display:flex!important;flex-direction:row!important;align-items:center!important;flex-shrink:0!important;width:100%!important}.portal-app .sidebar-header h1{font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;text-transform:uppercase}.portal-app .sidebar-header span{font-size:10px;color:var(--brand-primary);font-family:var(--font-mono);margin-left:6px}.portal-app .sidebar-nav{flex:1 1!important;padding:0!important;overflow-y:auto!important;overflow-x:hidden!important}.portal-app .sidebar-nav,.portal-app .sidebar-nav .nav-section{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important}.portal-app .sidebar-nav .nav-section{margin:0 0 16px!important}.portal-app .sidebar-nav .nav-section-label{display:block;padding:8px 10px 4px;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-mono)}.portal-app .sidebar-nav a{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:8px 10px!important;border-radius:var(--radius)!important;font-size:13px!important;font-weight:500!important;color:var(--text-sidebar)!important;background:transparent!important;border:1px solid transparent!important;white-space:nowrap!important;min-height:36px!important;transition:background .15s ease,color .15s ease!important}.portal-app .sidebar-nav a:hover{background:var(--bg-sidebar-hover);color:var(--brand-primary);border-color:transparent}.portal-app .sidebar-nav a.active{background:var(--brand-primary-light);color:var(--brand-primary);font-weight:600;border-color:transparent;box-shadow:inset 3px 0 0 var(--brand-primary);padding-left:13px}.portal-app .sidebar-nav a svg{width:16px;height:16px;flex-shrink:0;stroke-width:2}.portal-app .main-content{margin-top:56px;margin-left:240px;background:var(--bg-base)}.portal-app .sidebar.collapsed{width:64px;padding:16px 8px}.portal-app .sidebar.collapsed .sidebar-header h1,.portal-app .sidebar.collapsed .sidebar-header span,.portal-app .sidebar.collapsed .sidebar-nav .nav-section-label,.portal-app .sidebar.collapsed .sidebar-nav a span{display:none}.portal-app .sidebar.collapsed .sidebar-nav a{justify-content:center;padding:8px}.portal-app .main-content.sidebar-collapsed,.portal-app .sidebar.collapsed~.main-content{margin-left:64px}.portal-app .page-container{max-width:1320px;margin:0 auto;width:100%;padding:0 28px}.portal-app .page-header{padding:28px 0 20px;border-bottom:1px solid var(--separator);margin-bottom:24px}.portal-app .page-header h1{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.2;padding-left:0;border-left:none}.portal-app .page-header h1:before{display:none}.portal-app .page-header p{color:var(--text-secondary);font-size:14px;margin-top:6px;font-family:var(--font)}.portal-app .card,.portal-app .stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.portal-app .stat-card:before{display:none}.portal-app .stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover);transform:translateY(-2px)}.portal-app .stat-card .stat-label{font-size:12px;color:var(--text-secondary);font-weight:600;letter-spacing:.02em;text-transform:none;font-family:var(--font)}.portal-app .stat-card .stat-value{font-size:30px;font-weight:700;margin-top:8px;letter-spacing:-.02em;color:var(--text-primary);line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-app .stat-card .stat-change{font-size:13px;margin-top:6px;color:var(--text-muted);font-family:var(--font);font-weight:500}.portal-app .stat-card .stat-change.positive{color:var(--success)}.portal-app .stat-card .stat-change.negative{color:var(--danger)}.portal-app .stat-card.accent-indigo .stat-value,.portal-app .stat-card.accent-violet .stat-value{color:var(--chart-purple)}.portal-app .stat-card.accent-blue .stat-value{color:var(--chart-blue)}.portal-app .stat-card.accent-emerald .stat-value{color:var(--chart-green)}.portal-app .stat-card.accent-orange .stat-value{color:var(--brand-primary)}.portal-app .card-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.portal-app .card-section h3{font-size:15px;font-weight:700;margin-bottom:16px;color:var(--text-primary);text-transform:none;letter-spacing:-.005em;font-family:var(--font)}.portal-app .data-table,.portal-app .table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.portal-app .data-table thead,.portal-app thead{background:var(--bg-surface);border-bottom:1px solid var(--border)}.portal-app .data-table th,.portal-app th{text-align:left;padding:12px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;font-family:var(--font);border-bottom:1px solid var(--border);white-space:nowrap}.portal-app .data-table td,.portal-app td{padding:14px 16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--separator);font-family:var(--font)}.portal-app .data-table tr:last-child td,.portal-app tr:last-child td{border-bottom:none}.portal-app .data-table tr:hover td,.portal-app tr:hover td{background:var(--bg-card-hover);color:var(--text-primary)}.portal-app .badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none;font-family:var(--font);border:1px solid transparent}.portal-app .badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;box-shadow:none}.portal-app .badge-active,.portal-app .badge-success,.portal-app .badge-verified{background:rgba(16,185,129,.1);color:#047857;border-color:rgba(16,185,129,.25)}.portal-app .badge-info{background:rgba(59,130,246,.1);color:#1d4ed8;border-color:rgba(59,130,246,.25)}.portal-app .badge-pending,.portal-app .badge-suspended,.portal-app .badge-warning{background:rgba(245,158,11,.1);color:#b45309;border-color:rgba(245,158,11,.25)}.portal-app .badge-error,.portal-app .badge-inactive,.portal-app .badge-revoked{background:rgba(239,68,68,.1);color:#b91c1c;border-color:rgba(239,68,68,.25)}.portal-app .badge-deleted{background:rgba(156,163,175,.12);color:#4b5563;border-color:rgba(156,163,175,.25)}.portal-app .badge-opc,.portal-app .badge-trial{background:rgba(139,92,246,.1);color:#6d28d9;border-color:rgba(139,92,246,.25)}.portal-app .badge-brand{background:var(--brand-primary-light);color:var(--brand-primary);border-color:rgba(255,107,53,.3)}.portal-app .btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;font-family:var(--font);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;min-height:36px;letter-spacing:0;white-space:nowrap}.portal-app .btn:hover{background:var(--bg-surface);border-color:var(--border-hover);color:var(--text-primary)}.portal-app .btn-primary{background:var(--brand-primary);border-color:transparent;color:var(--text-on-brand);font-weight:600;box-shadow:0 2px 6px rgba(255,107,53,.25)}.portal-app .btn-primary:hover{background:var(--brand-primary-hover);box-shadow:0 4px 12px rgba(255,107,53,.35);transform:translateY(-1px)}.portal-app .btn-ghost{background:transparent;border-color:transparent;color:var(--brand-primary)}.portal-app .btn-ghost:hover{background:var(--brand-primary-light);border-color:transparent}.portal-app .btn-outline{background:transparent;border-color:var(--brand-primary);color:var(--brand-primary)}.portal-app .btn-outline:hover{background:var(--brand-primary-light)}.portal-app .btn-danger{background:var(--danger-surface);border-color:rgba(239,68,68,.3);color:var(--danger-text)}.portal-app .btn-danger:hover{background:rgba(239,68,68,.18)}.portal-app .btn-success{background:var(--success-surface);border-color:rgba(16,185,129,.3);color:var(--success-text)}.portal-app .btn-success:hover{background:rgba(16,185,129,.18)}.portal-app .btn-sm{padding:5px 12px;font-size:13px;min-height:30px}.portal-app .form-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;text-transform:none;letter-spacing:0;font-family:var(--font)}.portal-app .form-hint{font-size:12px;color:var(--text-muted);margin-top:6px;font-family:var(--font)}.portal-app .form-input{display:block;width:100%;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:14px;font-family:var(--font);transition:border-color .15s ease,box-shadow .15s ease;outline:none;min-height:40px}.portal-app .form-input::placeholder{color:var(--text-muted)}.portal-app .form-input:hover{border-color:var(--border-hover)}.portal-app .form-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(255,107,53,.15);background:var(--bg-card)}.portal-app .form-input:disabled{background:var(--bg-surface);color:var(--text-disabled);cursor:not-allowed}.portal-app select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.portal-app .form-check input[type=checkbox]{accent-color:var(--brand-primary)}.portal-app .alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;font-family:var(--font);border:1px solid transparent}.portal-app .alert-error{background:var(--danger-surface);color:var(--danger-text);border-color:rgba(239,68,68,.25)}.portal-app .alert-success{background:var(--success-surface);color:var(--success-text);border-color:rgba(16,185,129,.25)}.portal-app .alert-info{background:var(--info-surface);color:#1d4ed8;border-color:rgba(59,130,246,.25)}.portal-app .alert-warning{background:var(--warning-surface);color:var(--warning-text);border-color:rgba(245,158,11,.25)}.portal-app .alert-brand{background:var(--brand-primary-light);color:var(--brand-primary);border-color:rgba(255,107,53,.3)}.portal-app .modal-overlay{background:var(--bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.portal-app .modal,.portal-app .modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-xl)}.portal-app .modal-content:before,.portal-app .modal:before{display:none}.portal-app .modal-header h2{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.portal-app .modal-header p{font-size:14px;color:var(--text-secondary);font-family:var(--font)}.portal-app .pagination button{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-family:var(--font)}.portal-app .pagination button:hover{background:var(--bg-surface);border-color:var(--border-hover);color:var(--text-primary)}.portal-app .pagination button.active{background:var(--brand-primary);border-color:transparent;color:var(--text-on-brand);font-weight:600}.portal-app .toolbar-count{font-size:13px}.portal-app .loading,.portal-app .toolbar-count{color:var(--text-muted);font-family:var(--font)}.portal-app .loading-spinner{border:2px solid rgba(255,107,53,.2);border-top:2px solid var(--brand-primary);box-shadow:none}.portal-app .skeleton{background:linear-gradient(90deg,var(--bg-surface) 0,rgba(255,107,53,.06) 50%,var(--bg-surface) 100%)}.portal-app .empty-state h3{color:var(--text-primary)}.portal-app .empty-state p{color:var(--text-secondary);font-family:var(--font)}.portal-app code{font-family:var(--font-mono);font-size:.88em;background:var(--brand-primary-light);border:1px solid rgba(255,107,53,.2);padding:2px 6px;border-radius:4px;color:var(--brand-primary)}.portal-app ::-webkit-scrollbar{width:8px;height:8px}.portal-app ::-webkit-scrollbar-track{background:transparent}.portal-app ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:4px}.portal-app ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}.portal-app :focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.portal-app .chart-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm)}.portal-app .chart-container .chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.portal-app .chart-container .chart-title{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.005em}.portal-app .chart-container .chart-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.portal-app .chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-secondary);font-family:var(--font)}.portal-app .chart-legend-item{display:inline-flex;align-items:center;gap:6px}.portal-app .chart-legend-dot{width:10px;height:10px;border-radius:3px}.portal-app .series-blue{color:var(--chart-blue)}.portal-app .series-purple{color:var(--chart-purple)}.portal-app .series-green{color:var(--chart-green)}.portal-app .series-orange{color:var(--chart-orange)}.portal-app .series-red{color:var(--chart-red)}.portal-app .series-brand{color:var(--brand-primary)}@media (max-width:1024px){.portal-app .sidebar{width:200px}.portal-app .main-content{margin-left:200px}}@media (max-width:768px){.portal-app .sidebar{transform:translateX(-100%);transition:transform .25s ease}.portal-app .sidebar.open{transform:translateX(0)}.portal-app .main-content{margin-left:0}.portal-app .page-container,.portal-app .platform-topbar{padding:0 16px}}.portal-app select.form-input{-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239CA3AF'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:1rem!important;padding-right:2.5rem!important}.portal-app input.form-input,.portal-app select.form-input{background-color:var(--bg-surface)!important;border:1px solid var(--border)!important;color:var(--text-primary)!important;box-shadow:0 1px 2px rgba(0,0,0,.02)!important}.portal-app input.form-input:focus,.portal-app select.form-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-surface)!important}