:root{--bg: #07090e;--bg-elevated: #0f131a;--bg-soft: #161c26;--bg-hover: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #f1f5f9;--muted: #94a3b8;--accent: #c4a574;--accent-strong: #e8cc9d;--accent-soft: rgba(196, 165, 116, .14);--accent-glow: rgba(196, 165, 116, .28);--danger: #f87171;--ok: #34d399;--warn: #fbbf24;--info: #60a5fa;--radius: 14px;--radius-sm: 9px;--font: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--display: "Outfit", "Plus Jakarta Sans", sans-serif;--mono: "Space Grotesk", monospace;--serif: "Instrument Serif", Georgia, serif;--sidebar-w: 254px;--sidebar-collapsed-w: 78px;--ease: cubic-bezier(.16, 1, .3, 1);--shadow-panel: 0 4px 24px rgba(0, 0, 0, .35), 0 1px 0 rgba(255, 255, 255, .07) inset}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0;font-family:var(--font);background:radial-gradient(1200px 600px at 15% -10%,rgba(196,165,116,.14),transparent 60%),radial-gradient(900px 500px at 85% 5%,rgba(96,165,250,.08),transparent 55%),radial-gradient(800px 500px at 50% 100%,rgba(52,211,153,.04),transparent 50%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{--rail: var(--sidebar-collapsed-w);height:100dvh;display:flex;overflow:hidden;transition:none}.app-shell.is-pinned{--rail: var(--sidebar-w)}.sidebar-hotzone{position:fixed;left:0;top:0;bottom:0;width:16px;z-index:40}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-collapsed-w);border-right:1px solid var(--border);background:#090b0ff7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:.85rem .7rem .9rem;display:flex;flex-direction:column;gap:.85rem;overflow:hidden;z-index:30;transition:width .2s var(--ease),box-shadow .2s var(--ease)}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-strong),transparent);opacity:.65}.app-shell.is-expanded .sidebar,.app-shell.is-pinned .sidebar{width:var(--sidebar-w)}.app-shell.is-flyout.is-expanded .sidebar{box-shadow:16px 0 48px #00000073}.sidebar-top{display:flex;align-items:flex-start;gap:.35rem;padding:.15rem .2rem .75rem;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.7rem;min-width:0;flex:1}.brand-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,var(--accent-strong),var(--accent));color:#1a140c;font-weight:700;font-size:.95rem;letter-spacing:-.02em;box-shadow:0 0 0 1px #ffffff14 inset}.brand-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0;overflow:hidden}.brand-copy strong{font-family:var(--display);font-size:1.28rem;font-weight:400;letter-spacing:.01em;line-height:1.15;white-space:nowrap}.brand-copy span{color:var(--muted);font-size:.72rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy em{font-style:normal;opacity:.85}.sidebar-toggle{width:32px;height:32px;padding:0;display:grid;place-items:center;flex-shrink:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);border:1px solid var(--border)}.sidebar-toggle:hover{color:var(--accent-strong);background:var(--accent-soft);filter:none}.sidebar-toggle.is-active{color:var(--accent-strong);background:var(--accent-soft);border-color:#c4a57459}.nav-mark svg{display:block}.nav{display:flex;flex-direction:column;gap:.95rem;flex:1;overflow-y:auto;overflow-x:hidden;padding-right:.15rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.nav-group{display:flex;flex-direction:column;gap:.15rem}.nav-group-label{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#8b97a8b8;padding:0 .55rem .35rem}.nav a,.ghost-link,.signout-btn{display:flex;align-items:center;gap:.65rem;padding:.55rem;border-radius:10px;color:var(--muted);font-size:.9rem;transition:background .14s ease,color .14s ease;min-width:0}.nav a:hover,.ghost-link:hover{background:var(--bg-hover);color:var(--text)}.nav a.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px #c4a5742e,0 0 16px -4px #c4a57426}.nav-mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#ffffff0a;color:inherit;border:1px solid transparent}.nav-mark.soft{font-size:.62rem}.nav a.active .nav-mark{background:#c4a57438;border-color:#c4a57440}.nav-text{display:flex;flex-direction:column;gap:.08rem;min-width:0;overflow:hidden}.nav-label{line-height:1.2;font-weight:550;white-space:nowrap}.nav-hint{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;opacity:.55;line-height:1.2;white-space:nowrap}.nav a.active .nav-hint{opacity:.78}.sidebar-foot{display:flex;flex-direction:column;gap:.2rem;padding-top:.75rem;border-top:1px solid var(--border)}.ghost-link .ext{opacity:.55;font-size:.78em}.signout-btn{width:100%;margin-top:.35rem;justify-content:flex-start;font-weight:550;background:transparent;color:var(--muted);border:1px solid var(--border)}.signout-btn:hover{color:var(--danger);border-color:#e8909059;background:#e8909014;filter:none}.app-shell.is-collapsed .brand-copy,.app-shell.is-collapsed .nav-text,.app-shell.is-collapsed .nav-group-label,.app-shell.is-collapsed .signout-btn .nav-text{display:none}.app-shell.is-collapsed .sidebar{padding-left:.55rem;padding-right:.55rem;align-items:stretch}.app-shell.is-collapsed .sidebar-top{flex-direction:column;align-items:center;gap:.55rem;padding-left:0;padding-right:0}.app-shell.is-collapsed .brand{justify-content:center}.app-shell.is-collapsed .nav a,.app-shell.is-collapsed .ghost-link,.app-shell.is-collapsed .signout-btn{justify-content:center;padding:.45rem}.app-shell.is-collapsed .signout-btn{width:auto;margin-inline:auto}.main-wrap{min-width:0;display:flex;flex-direction:column;flex:1;height:100dvh;margin-left:var(--rail);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;transition:margin-left .2s var(--ease)}.mobile-bar{display:none;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:#090b0feb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.mobile-bar strong{font-family:var(--display);font-weight:400;font-size:1.15rem;flex:1}.sidebar-backdrop{display:none;border:0;padding:0;margin:0;cursor:pointer;background:#04060a8c}.main{padding:1.5rem 1.75rem 2.5rem;min-width:0;max-width:1360px;flex:1}.admin-footer{padding:1.25rem 1.75rem;border-top:1px solid var(--border);color:var(--muted);font-size:.72rem;letter-spacing:.02em;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:auto;flex-shrink:0;background:#090b0f66}.admin-footer span{color:var(--accent);font-weight:600}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-head h1{margin:0;font-family:var(--display);font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:400;letter-spacing:-.01em;line-height:1.15}.page-head p{margin:.35rem 0 0;color:var(--muted);font-size:.9rem;max-width:52ch;line-height:1.45}.page-head>div:last-child:not(:first-child){display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.activation-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}.activation-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.activation-actions{align-items:stretch}.activation-actions>.panel{display:flex;flex-direction:column;min-width:0}.activation-actions .form-grid{flex:1}.activation-actions .form-actions{margin-top:auto}.field-hint{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.roster-paste{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.45;white-space:pre;overflow-x:auto;resize:vertical;min-height:9rem}.roster-upload{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.85rem 0 .15rem;border-top:1px solid var(--border)}.roster-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.roster-pick{flex-shrink:0}.roster-file-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;min-width:0;flex:1;font-size:.82rem}.roster-file-meta strong{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow-panel);transition:all .2s var(--ease);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .2s var(--ease)}.card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 10px 32px -8px #0006,0 1px #ffffff14 inset}.card:hover:before{opacity:1}.card .label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.card .value{margin-top:.45rem;font-family:var(--display);font-size:1.6rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-panel);transition:border-color .2s var(--ease)}.panel:hover{border-color:#ffffff1f}.panel+.panel,.stack>.panel{margin-top:0}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;padding:.9rem 1.15rem;border-bottom:1px solid var(--border);align-items:center;background:#ffffff05}.toolbar .section-title{flex:1;min-width:0}.section-title{margin:0;font-family:var(--display);font-size:1rem;font-weight:600;letter-spacing:-.01em}input,select,textarea{background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.65rem .85rem;min-width:0;transition:all .18s var(--ease)}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='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.2rem}input:hover,select:hover,textarea:hover{border-color:var(--border-strong);background:#ffffff0a}input:focus,select:focus,textarea:focus{outline:none;border-color:#c4a574a6;box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-soft)}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-sm);padding:.62rem 1.05rem;background:linear-gradient(135deg,#e5c158,#c29929);color:#120e09;font-weight:700;font-size:.84rem;letter-spacing:-.01em;cursor:pointer;transition:all .18s var(--ease);box-shadow:0 4px 16px -2px #c4a57459,0 1px #ffffff4d inset;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap}button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px -2px #c4a57473,0 1px #fff6 inset;filter:brightness(1.08)}button:active,.btn:active{transform:translateY(0) scale(.98)}button.secondary,.btn.secondary{background:#ffffff08;color:var(--text);border:1px solid var(--border);font-weight:600;box-shadow:none}button.secondary:hover,.btn.secondary:hover{background:#ffffff0f;border-color:var(--border-strong);color:#fff;transform:translateY(-1px)}button.danger{background:#f8717124;color:var(--danger);border:1px solid rgba(248,113,113,.25);box-shadow:none}button.danger:hover{background:#f871713d;border-color:#f8717166}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.82rem 1.1rem;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;background:#ffffff05}tr.clickable{cursor:pointer;transition:background .15s var(--ease)}tr.clickable:hover td{background:#ffffff09}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .65rem;border-radius:9999px;font-size:.7rem;font-weight:600;background:var(--bg-soft);color:var(--muted);text-transform:lowercase;border:1px solid rgba(255,255,255,.06);letter-spacing:.01em}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block}.badge.live,.badge.active,.badge.ok{background:#34d3991f;color:#34d399;border-color:#34d39940;box-shadow:0 0 10px -3px #34d3994d}.badge.paused,.badge.expired,.badge.danger{background:#f871711f;color:#f87171;border-color:#f8717140;box-shadow:0 0 10px -3px #f871714d}.badge.grace,.badge.warn{background:#fbbf241f;color:#fbbf24;border-color:#fbbf2440;box-shadow:0 0 10px -3px #fbbf244d}.badge.plan{background:var(--accent-soft);color:var(--accent-strong);border-color:#c4a5744d}.badge.plan-badge{letter-spacing:.02em;font-variant-numeric:tabular-nums}.legend-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.notes-list{margin:0;padding:1rem 1rem 1rem 2rem;color:var(--muted);line-height:1.55}.notes-list li+li{margin-top:.45rem}.ok-msg{margin:0 0 1rem;padding:.7rem .9rem;border-radius:var(--radius-sm);background:#8fd4a81f;color:var(--ok);border:1px solid rgba(143,212,168,.25)}.login-split{min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr}.login-visual{position:relative;overflow:hidden;background:linear-gradient(160deg,#0a0c1059,#0a0c10d1),url(https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=1600&q=80) center/cover;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 300px at 20% 20%,rgba(196,165,116,.25),transparent 60%),linear-gradient(to top,rgba(10,12,16,.92),transparent 45%);pointer-events:none}.login-visual-copy{position:relative;z-index:1;max-width:28rem}.login-visual-copy .eyebrow{color:var(--accent-strong);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.85rem}.login-visual-copy h2{margin:0;font-family:var(--display);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:400;line-height:1.1}.login-visual-copy p{margin:1rem 0 0;color:#eef2f7b8;line-height:1.55}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:var(--bg)}.login-card{width:min(420px,100%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:1.85rem;display:flex;flex-direction:column;gap:.95rem}.login-card h1{margin:0;font-family:var(--display);font-weight:400;font-size:2.15rem}.login-card p{margin:0;color:var(--muted)}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:2.75rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;box-shadow:none}.password-toggle:hover:not(:disabled),.password-toggle:focus-visible{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent);outline:none}.password-toggle:disabled{opacity:.45;cursor:not-allowed}.error{color:var(--danger);font-size:.88rem;margin:0 0 1rem}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-variant-numeric:tabular-nums}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;padding:1rem 1.1rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--muted);font-weight:500}.form-grid .span-2{grid-column:1 / -1}.form-grid label.check{flex-direction:row;align-items:center;gap:.55rem;color:var(--text);font-size:.88rem}.form-grid textarea{resize:vertical;min-height:96px}.form-actions{padding:0 1.1rem 1.1rem}.form-actions button{width:100%}@media print{.sidebar,.no-print,.sidebar-foot,.mobile-bar,.sidebar-toggle,.sidebar-backdrop{display:none!important}.app-shell{display:block}.main{padding:0;max-width:none}body{background:#fff;color:#111}.panel,.card{break-inside:avoid;border:1px solid #ddd;background:#fff;color:#111}}.chart-wrap{padding:1rem 1.1rem 1.2rem}.chart-svg{width:100%;height:180px;display:block}.chart-bars{display:flex;align-items:flex-end;gap:.45rem;height:140px;padding:.5rem .25rem 0}.chart-bars span{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent-strong),rgba(196,165,116,.35));min-width:4px}.kv{display:grid;grid-template-columns:7.5rem minmax(0,1fr);column-gap:1rem;row-gap:.65rem;font-size:.875rem;padding:1rem 1.1rem;align-items:baseline}.kv dt{color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.01em}.kv dd{margin:0;overflow-wrap:anywhere;line-height:1.4;color:var(--text)}.kv a{color:var(--accent-strong)}.kv a:hover{text-decoration:underline;text-underline-offset:2px}.progress{height:8px;border-radius:999px;background:var(--bg-soft);overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);border-radius:inherit}.mini-meter{width:64px;height:5px;border-radius:999px;background:#ffffff14;overflow:hidden;margin-bottom:.25rem}.mini-meter>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:inherit}.pill{display:inline-block;padding:.18rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.72rem;font-weight:600;text-transform:capitalize}button.linkish{background:none;border:none;color:var(--accent-strong);cursor:pointer;padding:0;font-weight:600;text-decoration:underline;text-underline-offset:2px;filter:none;transform:none}button.linkish:hover{filter:none;color:var(--text)}button.linkish:active{transform:none}.timeline{list-style:none;margin:0;padding:0 1rem 1rem;display:grid;gap:.75rem}.timeline li{padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft)}label{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}label input,label select,label textarea{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1.25rem;background:#04060a00;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0;transition:opacity .16s var(--ease),background .16s var(--ease),backdrop-filter .16s var(--ease)}.modal-backdrop.is-open{opacity:1;background:#04060ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{width:min(440px,100%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 64px #00000073;padding:1.15rem 1.2rem 1rem;display:grid;gap:.85rem;transform:translateY(10px) scale(.98);opacity:0;transition:transform .18s var(--ease),opacity .18s var(--ease)}.modal-card.is-open{transform:translateY(0) scale(1);opacity:1}.modal-card.is-danger{border-color:#e8909047}.modal-head{display:flex;align-items:flex-start;gap:.75rem}.modal-title{margin:0;flex:1;font-family:var(--display);font-size:1.45rem;font-weight:400;letter-spacing:.01em;line-height:1.2}.modal-x{width:32px;height:32px;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);border:1px solid var(--border);font-size:1.25rem;line-height:1;font-weight:400}.modal-x:hover{color:var(--text);background:var(--bg-hover);filter:none}.modal-body{color:var(--muted);font-size:.92rem;line-height:1.5}.modal-body p{margin:0}.modal-body p+p{margin-top:.55rem}.modal-phrase{display:grid;gap:.4rem;font-size:.85rem;color:var(--muted)}.modal-phrase .mono{color:var(--accent-strong);font-weight:650}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem;padding-top:.25rem}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:1400;display:flex;flex-direction:column;gap:.55rem;width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:4px 1fr auto;gap:.75rem;align-items:start;padding:.85rem .85rem .85rem 0;background:#12161df5;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .22s var(--ease)}.toast-accent{align-self:stretch;border-radius:12px 0 0 12px;background:var(--info)}.toast-ok .toast-accent{background:var(--ok)}.toast-error .toast-accent{background:var(--danger)}.toast-info .toast-accent{background:var(--accent)}.toast-body{min-width:0;padding-top:.1rem}.toast-title{display:block;font-size:.82rem;font-weight:650;margin-bottom:.2rem;letter-spacing:-.01em}.toast-ok .toast-title{color:var(--ok)}.toast-error .toast-title{color:var(--danger)}.toast-info .toast-title{color:var(--accent-strong)}.toast-msg{margin:0;color:var(--text);font-size:.88rem;line-height:1.4;overflow-wrap:anywhere}.toast-close{width:28px;height:28px;padding:0;border-radius:8px;background:transparent;color:var(--muted);border:0;font-size:1.15rem;line-height:1;font-weight:400}.toast-close:hover{color:var(--text);background:var(--bg-hover);filter:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.insight-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.insight-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.95rem 1.05rem;display:flex;flex-direction:column;gap:.35rem;min-height:118px;box-shadow:var(--shadow-panel)}.insight-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.insight-card strong{font-size:1.25rem;letter-spacing:-.02em;line-height:1.25}.insight-card .muted{font-size:.78rem;line-height:1.4}.risk-low{color:var(--ok)}.risk-elevated{color:var(--accent-strong)}.risk-high{color:var(--warn)}.risk-critical{color:var(--danger)}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-card .kpi-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.kpi-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--accent-strong);background:var(--accent-soft)}.kpi-hint{margin-top:.4rem;color:var(--muted);font-size:.72rem;line-height:1.35}.chart-svg-lg{height:210px}.chart-interactive{position:relative}.chart-meta{display:flex;justify-content:space-between;gap:.75rem;margin-top:.35rem;color:var(--muted);font-size:.72rem}.chart-line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease)}.chart-line.is-drawn{stroke-dashoffset:0}.chart-anim{transition:opacity .5s var(--ease),stroke-dashoffset .8s var(--ease)}.plan-bars{display:flex;align-items:flex-end;gap:.55rem;height:150px;padding:.35rem .15rem 0}.plan-bar{flex:1;min-width:0;border:0;padding:0;border-radius:8px 8px 3px 3px;cursor:pointer;transition:height .45s var(--ease),opacity .16s ease,outline-color .12s ease,transform .12s ease;transform-origin:bottom}.plan-bar:hover{filter:brightness(1.05);transform:scaleY(1.03)}.plan-bar:active{transform:scaleY(.98)}.funnel{display:grid;gap:.85rem}.funnel-row{display:grid;gap:.35rem}.funnel-label{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem}.funnel-label span{color:var(--muted)}.funnel-track{height:10px;border-radius:999px;background:#ffffff0f;overflow:hidden}.funnel-track>i{display:block;height:100%;border-radius:inherit;transition:width .55s var(--ease)}.risk-panel{display:grid;grid-template-columns:160px 1fr;gap:1rem;align-items:start}.risk-gauge-svg{width:100%;height:auto;display:block}.risk-factors{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.risk-factor-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.82rem;margin-bottom:.25rem}.risk-factors .mini-meter{width:100%;height:6px;margin-bottom:.2rem}.analyst-notes{color:var(--text)}.analyst-notes strong{color:var(--accent-strong);font-weight:600}@media(max-width:1200px){.insight-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.risk-panel{grid-template-columns:1fr}}@media(max-width:1100px){.grid-2{grid-template-columns:1fr}.activation-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.activation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.activation-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.activation-filters{grid-template-columns:1fr}.login-card{padding:1.1rem}.table-wrap{overflow-x:auto}}@media(max-width:980px){.login-split{grid-template-columns:1fr}.login-visual{min-height:180px}.login-visual-copy{padding:1.25rem 1.5rem}.login-wrap{padding:1.25rem}.form-grid{grid-template-columns:1fr}.kv{grid-template-columns:6.25rem minmax(0,1fr);column-gap:.75rem}.main{padding:1rem 1rem 2rem}.page-head h1{font-size:1.55rem}.mobile-bar{display:flex}.sidebar-hotzone{display:none}.main-wrap{margin-left:0}.sidebar{position:fixed;inset:0 auto 0 0;width:min(288px,86vw);transform:translate(-105%);transition:transform .2s var(--ease);z-index:40;box-shadow:none}.app-shell.is-mobile-open .sidebar{transform:translate(0);box-shadow:16px 0 48px #00000073}.app-shell.is-mobile-open .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35}.sidebar-toggle{display:none}.app-shell.is-collapsed .nav-text,.app-shell.is-collapsed .brand-copy,.app-shell.is-collapsed .nav-group-label,.app-shell.is-collapsed .nav-hint{opacity:1;width:auto;overflow:visible}}.idle-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:grid;place-items:center;padding:1.25rem;background:#04060ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.idle-card{width:min(420px,100%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 64px #00000073;padding:1.25rem 1.3rem 1.15rem}.idle-card h2{margin:0 0 .5rem;font-family:var(--display);font-weight:400;font-size:1.45rem}.idle-card p{margin:0 0 1rem;color:var(--muted);line-height:1.45;font-size:.92rem}.idle-actions{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap}.login-card-head{display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem}.login-card-head h1{margin:0;font-size:1.6rem;line-height:1.2}.login-card-head span{color:var(--muted);font-size:.82rem}.login-lead{margin:0 0 .85rem}.login-foot{font-size:.78rem;margin-top:.75rem}.page-loading,.empty-body{padding:1.25rem 1.1rem 1.5rem}.empty-body h2{margin:0 0 .5rem;font-family:var(--display);font-weight:400;font-size:1.35rem}.button-link{display:inline-flex;align-items:center;justify-content:center;margin-top:1rem;padding:.62rem 1rem;border-radius:var(--radius-sm);background:var(--accent);color:#111;font-weight:600;text-decoration:none}.button-link:hover{filter:brightness(1.05)}.chart-export-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.55rem}.chart-export-bar strong{font-size:.88rem;font-weight:600}a.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}a.secondary.btn-linkish,a.btn-linkish{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-soft);color:var(--text);text-decoration:none;font-size:.78rem;text-transform:capitalize}a.btn-linkish:hover{border-color:var(--border-strong);background:var(--bg-hover)}.infra-kpi{grid-template-columns:repeat(6,minmax(0,1fr))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.infra-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid var(--border);background:#090b0fa6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.topbar-left{display:flex;align-items:center;gap:1rem}.mobile-toggle-btn{display:none;background:transparent;border:1px solid var(--border);color:var(--text);padding:.4rem;border-radius:var(--radius-sm);cursor:pointer}@media(max-width:900px){.mobile-toggle-btn{display:grid;place-items:center}}.system-status-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.32rem .8rem;border-radius:9999px;background:#34d39914;border:1px solid rgba(52,211,153,.2);font-size:.75rem;font-weight:600;color:#34d399}.status-dot-pulse{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399;animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.status-region{color:var(--muted);font-size:.7rem;border-left:1px solid rgba(255,255,255,.12);padding-left:.55rem;font-weight:400}.topbar-right{display:flex;align-items:center;gap:1rem}.topbar-search{display:flex;align-items:center;gap:.6rem;padding:.38rem .85rem;background:#ffffff08;border:1px solid var(--border);border-radius:9999px;font-size:.78rem;color:var(--muted);cursor:pointer;transition:all .2s var(--ease)}.topbar-search:hover{background:#ffffff0f;border-color:var(--border-strong);color:var(--text)}.topbar-search kbd{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:.1rem .35rem;font-size:.65rem;font-family:var(--font);color:var(--muted)}.profile-chip{display:flex;align-items:center;gap:.6rem;padding:.25rem .65rem .25rem .3rem;border-radius:9999px;background:#ffffff08;border:1px solid var(--border);transition:all .2s var(--ease)}.profile-chip:hover{background:var(--accent-soft);border-color:#c4a57459}.profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#120e0a;font-weight:700;font-size:.72rem;display:grid;place-items:center}.profile-role-badge{font-size:.72rem;font-weight:600;color:var(--accent-strong);text-transform:capitalize}
