:root{--bg0: #0a1210;--bg1: #101a16;--bg2: #16231e;--panel: #14201b;--line: rgba(180, 220, 200, .12);--text: #e8f0ec;--muted: #8aa399;--accent: #3ecf8e;--accent-2: #5ec8ff;--danger: #ff6b6b;--warn: #f0c35a;--shadow: 0 24px 60px rgba(0, 0, 0, .35);--radius: 16px;--font: "Figtree", system-ui, sans-serif;--display: "Outfit", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(62,207,142,.14),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(94,200,255,.1),transparent 50%),linear-gradient(160deg,var(--bg0),var(--bg1) 45%,#0d1713)}a{color:inherit;text-decoration:none}h1,h2{font-family:var(--display);letter-spacing:-.03em;margin:0}h1{font-size:2rem;font-weight:700}h2{font-size:1.1rem;font-weight:700;margin-bottom:1rem}.muted{color:var(--muted);margin:.35rem 0 0}.mono{font-family:var(--mono);font-size:.92em}.boot{min-height:100vh;display:grid;place-items:center}.boot-card{padding:1.25rem 1.5rem;border:1px solid var(--line);border-radius:999px;background:#14201bcc;color:var(--muted)}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100%;min-height:100vh;width:100%}.sidebar{display:flex;flex-direction:column;gap:1.5rem;padding:1.4rem 1rem 1rem;border-right:1px solid var(--line);background:#0a1210e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:.8rem;align-items:center;padding:.4rem .5rem}.brand-mark{width:36px;height:36px;border-radius:12px;background:conic-gradient(from 210deg,var(--accent),var(--accent-2),#1f6f54,var(--accent));box-shadow:0 0 0 1px #ffffff14,0 10px 30px #3ecf8e40}.brand-name{font-family:var(--display);font-weight:800;letter-spacing:-.04em;font-size:1.15rem}.brand-sub{color:var(--muted);font-size:.8rem}.nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{padding:.7rem .85rem;border-radius:12px;color:var(--muted);font-weight:600}.nav-link:hover{background:#ffffff0a;color:var(--text)}.nav-link.active{background:linear-gradient(90deg,#3ecf8e2e,#3ecf8e0d);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{margin-top:auto;display:grid;gap:.6rem;padding:.5rem}.who{font-family:var(--mono);font-size:.85rem;color:var(--muted)}.main{min-width:0;width:100%;height:100vh;overflow:auto;padding:1.75rem 2rem 1.25rem;display:flex;flex-direction:column}.main-body{flex:1 0 auto;min-width:0}.page{width:100%;max-width:none;min-height:0;display:grid;gap:1.35rem;align-content:start;grid-template-columns:1fr}.app-footer{flex:0 0 auto;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;letter-spacing:.01em}.login-footer{position:absolute;bottom:1.25rem;left:0;right:0;margin-top:0;padding-top:0;border-top:0;text-align:center;z-index:1}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-split{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:stretch}.stat,.panel,.login-card,.table-wrap{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:1rem 1.1rem 1.15rem}.stat-label{color:var(--muted);font-size:.85rem;font-weight:600}.stat-value{margin-top:.45rem;font-family:var(--display);font-size:clamp(1.6rem,2vw,2.1rem);font-weight:700;letter-spacing:-.04em}.panel{padding:1.2rem 1.35rem 1.4rem;min-width:0}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem 1.5rem;margin:0}.kv.dense{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.kv dt{color:var(--muted);font-size:.8rem;margin-bottom:.2rem}.kv dd{margin:0;font-weight:600}.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line);background:#00000040;font-weight:600;font-size:.85rem}.pill.ok{color:var(--accent);border-color:#3ecf8e59}.pill.bad{color:var(--danger);border-color:#ff6b6b59}.muted-pill{color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.table-wrap{overflow:auto;width:100%}.chart-panel{width:100%}.chart-box{width:100%;min-height:360px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}td.msg{max-width:none;word-break:break-word;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:2rem 1rem!important}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#ffffff0a;color:var(--text);border-radius:12px;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:#ffffff14}.btn.primary{background:linear-gradient(135deg,#34c784,#2aa56c);border-color:transparent;color:#04140e}.btn.primary:disabled{opacity:.6;cursor:wait}.btn.ghost{background:transparent}.seg{display:inline-flex;padding:.25rem;border-radius:12px;border:1px solid var(--line);background:#0003}.seg button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:.4rem .75rem;border-radius:9px;cursor:pointer}.seg button.active{background:#3ecf8e2e;color:var(--text)}.error-banner,.warn-banner,.ok-banner{padding:.85rem 1rem;border-radius:12px;border:1px solid}.form-panel{display:grid;gap:.9rem;width:min(520px,100%)}.form-panel .btn.primary{justify-self:start}.hint{margin:0;color:var(--muted);font-size:.88rem}.ok-banner{color:#c8ffe0;background:#3ecf8e1f;border-color:#3ecf8e59}.error-banner{color:#ffd0d0;background:#ff6b6b1f;border-color:#ff6b6b59}.warn-banner{color:#ffe7b0;background:#f0c35a1f;border-color:#f0c35a59}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden}.login-glow{position:absolute;inset:auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(62,207,142,.28),transparent 65%);filter:blur(10px);animation:pulse 6s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}.login-card{position:relative;width:min(400px,100%);padding:1.5rem;display:grid;gap:.9rem}.login-brand{margin-bottom:.4rem}label{display:grid;gap:.35rem;color:var(--muted);font-size:.9rem;font-weight:600}input{width:100%;border:1px solid var(--line);background:#00000047;color:var(--text);border-radius:12px;padding:.75rem .85rem;font:inherit}input:focus{outline:2px solid rgba(62,207,142,.35);border-color:#3ecf8e8c}@media(max-width:1100px){.dash-split{grid-template-columns:1fr}}@media(max-width:960px){.shell{grid-template-columns:1fr;height:auto;min-height:100vh}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.main{height:auto;min-height:0}.nav{flex-direction:row;flex-wrap:wrap}.stat-grid,.stat-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:640px){.stat-grid,.stat-grid.three,.page-head{grid-template-columns:1fr;flex-direction:column}.main{padding:1rem}.page{min-height:0}}
