:root{--bg: #f6f8fc;--bg-2: #eef2f8;--surface: rgba(255, 255, 255, .9);--surface-2: rgba(255, 255, 255, .72);--border: rgba(18, 32, 68, .12);--text: #0b1220;--muted: rgba(11, 18, 32, .62);--primary: #1d4ed8;--primary-2: #0ea5e9;--success: #16a34a;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 20px 45px rgba(16, 24, 40, .1);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #070b14;--bg-2: #0c1220;--surface: rgba(14, 23, 40, .8);--surface-2: rgba(14, 23, 40, .6);--border: rgba(255, 255, 255, .12);--text: #eaf0fb;--muted: rgba(234, 240, 251, .62);--shadow: 0 20px 55px rgba(0, 0, 0, .38)}}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 900px at 10% 0%,rgba(29,78,216,.12),transparent 55%),radial-gradient(900px 700px at 90% 0%,rgba(14,165,233,.12),transparent 52%),linear-gradient(135deg,var(--bg) 0%,var(--bg-2) 100%);min-height:100vh}@keyframes floatIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #1d4ed800}50%{box-shadow:0 0 30px #1d4ed82e}}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.nav-overlay,.mobile-topbar{display:none}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;border:1px solid var(--border);background:#0f172a0a;color:var(--text);box-shadow:none;cursor:pointer;font-weight:700}.icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #10182814}.mobile-brand{display:grid;gap:2px;min-width:0}.mobile-title{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.mobile-subtitle{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-refresh{padding:9px 12px}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:22px 18px;position:sticky;top:0;height:100vh;display:grid;gap:18px;box-shadow:0 8px 30px #1018280f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.logo{font-weight:700;letter-spacing:.8px;font-size:20px;color:var(--primary);text-transform:uppercase}.nav-group-title{margin-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.nav-list{display:grid;gap:10px}.nav-item{padding:12px 14px;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer;border:1px solid transparent;transition:all .16s ease;text-align:left;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#1d4ed824,#0ea5e91f);opacity:0;transition:opacity .25s ease}.nav-item:hover{color:var(--text);border-color:#1d4ed833;background:#1d4ed80f}.nav-item:hover:before{opacity:.35}.nav-item.active{background:linear-gradient(120deg,#1d4ed824,#0ea5e91f);color:var(--text);border-color:#1d4ed859;box-shadow:0 10px 30px #1018281f}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.quick-actions{display:grid;gap:12px}.quick-grid{display:grid;gap:10px}.quick-card{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:12px;text-align:left;color:var(--text)}.quick-card:hover{border-color:#0ea5e952;box-shadow:0 12px 30px #0ea5e91f}.quick-title{font-weight:600;margin-bottom:4px}.content{padding:26px 28px 60px;position:relative;isolation:isolate;width:100%;max-width:1240px;margin:0 auto}.content:before{content:"";position:absolute;inset:40px 40px auto 40px;height:240px;background:radial-gradient(120% 140% at 0% 0%,rgba(29,78,216,.12),transparent 70%),radial-gradient(120% 140% at 100% 0%,rgba(14,165,233,.1),transparent 65%);z-index:-1;filter:blur(10px)}.login-hero{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:center;width:min(960px,100%)}.login-hero-copy h1{font-size:34px;margin:14px 0 10px}.login-hero-copy .muted{font-size:15px}.login-highlights{display:grid;gap:12px;margin-top:16px}.highlight-card{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2)}.highlight-title{font-weight:600;margin-bottom:4px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:26px;margin:0 0 6px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;background:linear-gradient(135deg,#1d4ed81f,#0ea5e91a);border:1px solid rgba(29,78,216,.2);animation:floatIn .4s ease both}.hero-label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.hero-title{font-size:30px;font-weight:700;margin:8px 0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.timeline{display:grid;gap:16px}.timeline-list{display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:12px;align-items:flex-start}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#0f172a1a;margin-top:6px}.timeline-dot.active,.timeline-dot.succeeded{background:var(--success)}.timeline-dot.provisioning,.timeline-dot.pending{background:var(--warning)}.timeline-dot.failed,.timeline-dot.terminated,.timeline-dot.cancelled{background:var(--danger)}.timeline-title{font-weight:600;margin-bottom:4px}.timeline-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.audit-feed,.audit-list{display:grid;gap:12px}.audit-item{display:grid;gap:6px;padding:10px;border-radius:12px;background:#0f172a08;border:1px solid var(--border)}.audit-action{font-weight:600}.audit-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pulse-card{display:grid;gap:12px}.pulse-header{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.pulse-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:floatIn .45s ease both}.card:hover{transform:translateY(-2px);box-shadow:0 28px 60px #10182829;border-color:#0ea5e947}.stat-card{display:grid;gap:8px;min-height:110px}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.stat-value{font-size:30px;font-weight:700}.sparkline{width:100%;height:32px}.sparkline-path{fill:none;stroke:#0ea5e9b8;stroke-width:2}.sparkline-fill{fill:#0ea5e91f}.kpi-block{display:grid;gap:10px;margin-top:12px}.kpi-title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}.kpi-bar{display:flex;width:100%;height:12px;border-radius:999px;overflow:hidden;background:#0f172a0f}.kpi-seg{display:block;height:100%}.kpi-paid,.kpi-active,.kpi-succeeded{background:#a3e635cc}.kpi-unpaid,.kpi-pending,.kpi-queued,.kpi-provisioning{background:#f8b500d9}.kpi-overdue,.kpi-failed,.kpi-cancelled,.kpi-terminated{background:#ff6b6bcc}.kpi-chip{display:inline-flex;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:11px;color:var(--muted)}.kpi-meta{display:flex;flex-wrap:wrap;gap:6px}.cell-meta{display:grid;gap:6px}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:#0f172a08;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.filter-row{display:grid;gap:12px;margin-bottom:12px}.filter-input{width:100%}.filter-dates{display:flex;flex-wrap:wrap;gap:10px}.filter-dates .input{min-width:160px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.tone-accent{border-color:#1d4ed838}.tone-danger{border-color:#ef444447}.tone-muted{border-color:var(--border)}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stack{display:grid;gap:16px}.input,select,textarea{width:100%;background:#0f172a0a;border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:12px;font-family:var(--sans);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input:focus,select:focus,textarea:focus{outline:none;border-color:#1d4ed873;box-shadow:0 0 0 4px #1d4ed81f;background:#ffffffe6}label{display:grid;gap:6px;font-size:13px;color:var(--muted)}button{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border:none;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 26px #1d4ed838}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #1d4ed838}button.secondary{background:#0f172a0a;color:var(--text);border:1px solid var(--border);box-shadow:none}button.secondary:hover{border-color:#0ea5e952;box-shadow:0 10px 22px #10182814}button.danger{background:linear-gradient(135deg,#ef4444eb,#f56565eb);color:#fff}button.quick-card{background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:12px;border-radius:14px;text-align:left;animation:floatIn .45s ease both}button.quick-card:hover{border-color:#0ea5e952;box-shadow:0 12px 30px #0ea5e91f}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left}.table thead th{position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:0 6px 16px #10182814;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.table thead th:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#1d4ed838,#0ea5e92e)}.table tbody tr:hover{background:#1d4ed80a}.pill{padding:4px 10px;border-radius:999px;background:#1d4ed81a;color:#1d4ed8f5;font-size:12px;font-family:var(--mono);border:1px solid rgba(29,78,216,.16)}.pill-warn{background:#f59e0b1f;color:#f59e0bf5;border-color:#f59e0b2e}.pill-success{background:#16a34a1f;color:#16a34afa;border-color:#16a34a2e}.pill-danger{background:#ef44441f;color:#ef4444fa;border-color:#ef44442e}.muted{color:var(--muted);font-size:13px}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{width:min(420px,100%)}.login-wrap .card{animation:floatIn .5s ease both}.update-feed .muted{margin-bottom:10px}.update-list{display:grid;gap:12px;margin-top:10px}.update-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0f172a08}.update-title{font-weight:600;margin-bottom:4px}.notice{padding:12px 14px;border-radius:12px;margin-bottom:16px;border:1px solid transparent;font-size:13px}.notice.success{background:#16a34a1f;border-color:#16a34a38}.notice.error{background:#ef44441f;border-color:#ef444438}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{padding:6px 10px;border-radius:999px;background:#0f172a0a;color:var(--muted);border:1px solid var(--border);font-size:12px}.chip.active{background:#1d4ed81a;color:var(--text);border-color:#1d4ed838}.divider{height:1px;background:var(--border);border-radius:999px}.action-row{display:flex;flex-wrap:wrap;gap:8px}.link{background:transparent;color:var(--text);border:none;cursor:pointer;padding:0;font:inherit}.link.active{color:var(--primary)}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.nav-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#02061780;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:49}.app-shell.nav-open .nav-overlay{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,86vw);height:100vh;transform:translate(-105%);transition:transform .22s ease;z-index:50}.app-shell.nav-open .sidebar{transform:translate(0)}.content{padding:78px 16px 56px}.mobile-topbar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;top:0;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:48}.mobile-refresh{margin-left:auto}.topbar{flex-direction:column;align-items:flex-start;gap:10px}.hero{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
