@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{color-scheme:dark;--page: #0b1220;--card: #111a2b;--elevated: #16213a;--hair: rgba(255,255,255,.08);--hair-strong: rgba(255,255,255,.14);--ink-1: #e8eef8;--ink-2: #b4c0d3;--ink-3: #7d8ba3;--grid: #1f2a40;--axis: #2c3850;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--good: #0ca30c;--warn: #fab219;--crit: #d03b3b;--accent: #f5c518;--radius: 12px;--shadow: 0 1px 2px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.25);--up-bg: rgba(12,163,12,.16);--up-fg: #5fd35f;--down-bg: rgba(208,59,59,.18);--down-fg: #ff8a8a;--warn-bg: rgba(250,178,25,.16);--warn-fg: #ffd36b;--btn-primary-bg: var(--ink-1);--btn-primary-fg: #0b1220;--blue: #4a88c8;--blue-bg: #0c1e34;--green-2: #4ade80;--green-bg: #1a5a3a;--red-2: #f87171;--red-bg: #4a1a1a;--amber: #e8a030;--purple: #a78bfa;--bg-base: var(--page);--bg-surface: var(--card);--bg-elevated: var(--elevated);--bg-card: var(--card);--bg-input: var(--elevated);--border: var(--hair);--border-light: var(--hair);--border-mid: var(--hair-strong);--text-primary: var(--ink-1);--text-secondary: var(--ink-2);--text-muted: var(--ink-3);--text-faint: #4a5a74;--accent-blue: #4a88c8;--accent-glow: rgba(74, 136, 200, .15);--green: #00ff88;--green-soft: #7fffb2;--yellow: #ffcc00;--orange: #ff8800;--red: #ff4444;color:var(--ink-2);background-color:var(--page);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;font-size:13px;line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{color-scheme:light;--page: #f4f6fa;--card: #ffffff;--elevated: #eef1f6;--hair: rgba(11,18,32,.08);--hair-strong: rgba(11,18,32,.14);--ink-1: #0b1220;--ink-2: #3d4758;--ink-3: #6b7689;--grid: #e6e9ef;--axis: #cfd5df;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--accent: #e5b400;--shadow: 0 1px 2px rgba(11,18,32,.05), 0 8px 24px rgba(11,18,32,.06);--up-bg: rgba(12,163,12,.12);--up-fg: #0a7a0a;--down-bg: rgba(208,59,59,.12);--down-fg: #b02a2a;--warn-bg: rgba(250,178,25,.18);--warn-fg: #8a5a00;--btn-primary-bg: #0b1220;--btn-primary-fg: #ffffff;--text-faint: #a3adbf;--blue: #2a78d6;--blue-bg: #dbe8fb;--green-2: #0f8a4a;--green-bg: #d9f5ea;--red-2: #c0392b;--red-bg: #fde3e3;--amber: #b8650a;--purple: #6a3fc9;--green: #0a7a0a;--yellow: #9a7400;--orange: #c25e00;--red: #b02a2a}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh;background:var(--page)}body{display:block;place-items:unset}a{color:var(--s1);text-decoration:none}a:hover{color:var(--ink-1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--page)}::-webkit-scrollbar-thumb{background:var(--hair-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 6px var(--green)}50%{opacity:.6;box-shadow:0 0 14px var(--green)}}@keyframes pulse-orange{0%,to{opacity:1;box-shadow:0 0 6px #fa0}50%{opacity:.6;box-shadow:0 0 14px #fa0}}.status-dot-live{animation:pulse-green 2s ease-in-out infinite}.status-dot-loading{animation:pulse-orange 1.2s ease-in-out infinite}.mono{font-family:JetBrains Mono,Fira Code,monospace}select{appearance:none;-webkit-appearance:none;cursor:pointer}:focus-visible{outline:2px solid var(--s1);outline-offset:2px}#root{max-width:100%;margin:0;padding:0;text-align:left}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{border-right:1px solid var(--hair);padding:18px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--page)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.brand .logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#ff9a3c);display:grid;place-items:center;color:#1a1200;font-weight:700;font-size:13px;flex:none}.brand b{color:var(--ink-1);font-weight:600;font-size:14px;display:block}.brand small{display:block;color:var(--ink-3);font-size:11px}.side .group{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:10px 10px 4px}.nav{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--ink-2);background:none;border:none;font:inherit;font-size:13px;cursor:pointer;text-align:left;width:100%}.nav:hover{background:#7f7f7f14}.nav.active{background:var(--elevated);color:var(--ink-1);font-weight:500;box-shadow:inset 3px 0 0 var(--accent)}.nav svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.85;flex:none}.nav .chev{margin-left:auto;width:14px;height:14px;opacity:.6}.nav .badge,.sub-nav .badge{font-size:10.5px;padding:0 7px;border-radius:999px;background:var(--elevated);color:var(--ink-2);border:1px solid var(--hair);line-height:18px}.nav .badge{margin-left:auto}.nav .chev+.badge{margin-left:6px}.nav.active .badge{background:#f5c51824;color:var(--accent);border-color:transparent}.sub-nav{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 26px;padding-left:10px;border-left:1px solid var(--hair-strong)}.sub-nav button{padding:5px 10px;border-radius:6px;font:inherit;font-size:12.5px;color:var(--ink-3);background:none;border:none;cursor:pointer;display:flex;align-items:center;text-align:left}.sub-nav button .badge{margin-left:auto}.sub-nav button:hover{color:var(--ink-1);background:#7f7f7f0f}.sub-nav button.on{color:var(--ink-1);font-weight:500}.side-overlay{display:none}.main{min-width:0;padding:18px 28px 40px}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:16px}.topbar-title h1{margin:0;color:var(--ink-1);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.2}.topbar-title p{margin:2px 0 0;color:var(--ink-3);font-size:12.5px;text-transform:capitalize}.topbar-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.menu-btn{display:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--hair-strong);background:var(--card);color:var(--ink-2);font:inherit;font-size:12px;font-weight:500;cursor:pointer;line-height:1.2;transition:background .15s,border-color .15s,color .15s}.btn:hover{color:var(--ink-1);border-color:var(--ink-3)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:transparent}.btn.icon{padding:6px 8px}.btn.icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.banner{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);padding:8px 14px;margin-bottom:14px;font-size:12px;color:var(--ink-3)}.banner strong{color:var(--warn-fg)}.content{background:transparent}.footer{border-top:1px solid var(--hair);margin-top:24px;padding:10px 0;font-size:11px;color:var(--ink-3);display:flex;gap:20px;flex-wrap:wrap}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page)}.login{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 40px;width:min(340px,90vw)}.login .brand{justify-content:center;padding-bottom:22px}.login label{display:block;font-size:12px;color:var(--ink-3);margin-bottom:6px}.login input{width:100%;background:var(--elevated);border:1px solid var(--hair-strong);border-radius:8px;padding:10px 12px;color:var(--ink-1);font:inherit;font-size:14px;outline:none;letter-spacing:.1em}.login input:focus{border-color:var(--s1)}.login .err{color:var(--down-fg);font-size:12px;margin-top:10px}.login .btn{width:100%;justify-content:center;margin-top:14px;padding:10px}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;gap:10px;padding:14px 18px 0;flex-wrap:wrap}.card-head h2{margin:0;font-size:14px;font-weight:600;color:var(--ink-1)}.card-head .sub{color:var(--ink-3);font-size:12px}.card-head .right{margin-left:auto;display:flex;gap:6px;align-items:center}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.kpi{padding:16px 18px 14px;display:flex;flex-direction:column}.kpi .label{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:8px;white-space:nowrap}.kpi .label i{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--elevated);font-style:normal}.kpi .label i svg{width:13px;height:13px;stroke:var(--ink-2);fill:none;stroke-width:1.8;stroke-linecap:round}.kpi .value{color:var(--ink-1);font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:8px;white-space:nowrap}.kpi .value small{font-size:13px;color:var(--ink-3);font-weight:500;margin-left:4px}.kpi .bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:4px}.kpi .delta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);flex-wrap:wrap}.spark{width:96px;height:36px;flex:none}.spark path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spark .fill{fill-opacity:.12;stroke:none}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:18px;white-space:nowrap}.pill.up{background:var(--up-bg);color:var(--up-fg)}.pill.down{background:var(--down-bg);color:var(--down-fg)}.pill.flat{background:var(--elevated);color:var(--ink-2)}.pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.ok{color:var(--up-fg)}.status.warn{color:var(--warn-fg)}.status.bad{color:var(--down-fg)}.status.new{color:var(--ink-3)}.row2{display:grid;grid-template-columns:1fr 360px;gap:14px;margin-bottom:14px}.legend{display:flex;gap:14px;padding:8px 18px 0;font-size:12px;color:var(--ink-2);flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.legend i.line{width:14px;height:2px;border-radius:0;vertical-align:3px;background:var(--ink-3)}.chart{position:relative;padding:6px 12px 10px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--ink-3);font-size:11px;font-family:inherit}.chart .grid line{stroke:var(--grid);stroke-width:1}.chart .base{stroke:var(--axis);stroke-width:1}.chart .goal{stroke:var(--ink-3);stroke-width:1;opacity:.8}.chart .ann line{stroke:var(--ink-3);stroke-width:1}.chart .ann text{fill:var(--ink-2);font-size:11px}.chart .ann rect{fill:var(--elevated);stroke:var(--hair-strong)}.chart .tip{position:absolute;pointer-events:none;background:var(--elevated);border:1px solid var(--hair-strong);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--ink-2);box-shadow:var(--shadow);min-width:160px;z-index:2}.chart .tip b{color:var(--ink-1);display:block;margin-bottom:4px}.chart .tip div{display:flex;justify-content:space-between;gap:14px}.chart .tip div span:last-child{font-variant-numeric:tabular-nums;color:var(--ink-1)}.list{padding:6px 8px 8px}.item{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:9px 10px;border-radius:8px}.item:hover{background:#7f7f7f0f}.item+.item{border-top:1px solid var(--hair)}.ven{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:10px;font-weight:700;letter-spacing:.02em;background:var(--elevated);color:var(--ink-2);overflow:hidden}.ven-blofin{background:color-mix(in srgb,#4a7cff 16%,var(--card));color:#4a7cff}.ven-mexc{background:color-mix(in srgb,#1aa3e8 16%,var(--card));color:#1aa3e8}.ven-aster{background:color-mix(in srgb,#9b6bff 16%,var(--card));color:#9b6bff}.ven-hl{background:color-mix(in srgb,#1fbf8a 16%,var(--card));color:#1fbf8a}.ev-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--elevated);font-style:normal}.ev-ico svg{width:14px;height:14px;stroke:var(--ink-2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.item .t{color:var(--ink-1);font-weight:500}.item .s{color:var(--ink-3);font-size:11.5px}.item .amt{text-align:right;color:var(--ink-1);font-weight:600;font-variant-numeric:tabular-nums}.item .amt small{display:block;font-weight:500;font-size:11px;margin-top:2px}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-weight:500;font-size:11.5px;color:var(--ink-3);padding:10px 14px;border-bottom:1px solid var(--hair)}.tbl td{padding:11px 14px;border-bottom:1px solid var(--hair);color:var(--ink-2);font-variant-numeric:tabular-nums}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:#7f7f7f0a}.tbl td.num,.tbl th.num{text-align:right}.tbl .pool{color:var(--ink-1);font-weight:500}.tbl .pool small{display:block;color:var(--ink-3);font-size:11px;font-weight:400}.bar{position:relative;height:6px;background:var(--elevated);border-radius:3px;width:80px;display:inline-block;vertical-align:middle;margin-right:8px;overflow:hidden}.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--s1)}.muted{color:var(--ink-3)}.loading{padding:40px;text-align:center;color:var(--ink-3);font-size:13px}@media(max-width:1100px){.row2{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kpis{grid-template-columns:1fr}}.arb-card{transition:border-color .2s,box-shadow .2s,background .2s}.arb-card:hover{box-shadow:0 4px 24px #4a88c814}.tab-btn{position:relative;background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:11.5px;letter-spacing:.06em;padding:11px 16px;transition:color .15s;white-space:nowrap}.tab-btn:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);height:2px;width:0;background:var(--accent);border-radius:2px 2px 0 0;transition:width .2s}.tab-btn.active{color:var(--accent);font-weight:600}.tab-btn.active:after{width:70%;background:var(--accent)!important}.tab-btn:not(.active){color:var(--ink-3)}.tab-btn:not(.active):hover{color:var(--ink-1)}.ex-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;letter-spacing:.05em}.section-label{font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;background:var(--bg-surface)}.data-table td{padding:8px 10px;border-bottom:1px solid var(--border-light);font-family:JetBrains Mono,monospace;font-size:11px}.data-table tr:hover td{background:#4a88c80a}.stat-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:14px 18px}.stat-tile .label{font-size:9px;font-weight:600;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.stat-tile .value{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700;color:var(--text-primary)}.input-dark{background:var(--bg-input);border:1px solid var(--border-mid);color:var(--text-secondary);border-radius:6px;padding:5px 10px;font-family:Inter,sans-serif;font-size:11px;outline:none;transition:border-color .15s}.input-dark:focus{border-color:var(--s1)}.input-dark::placeholder{color:var(--text-faint)}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:30;transform:translate(-100%);transition:transform .2s;border-right:1px solid var(--hair-strong);box-shadow:var(--shadow)}.side.open{transform:none}.side-overlay{display:block;position:fixed;inset:0;background:#00000073;z-index:29}.menu-btn{display:inline-flex}.main{padding:14px 16px 32px}.topbar-title h1{font-size:18px}.topbar-actions .btn:not(.icon){display:none}}@media(max-width:640px){.tab-btn{padding:9px 10px;font-size:10.5px}.tbl-wrap table{min-width:480px}.stat-tile{padding:10px 12px}.stat-tile .value{font-size:15px}.section-label{font-size:9px}}
