:root{--bg:#0f1420;--card:#171e2e;--line:#263049;--txt:#e7ecf5;--mut:#8a96ad;--pos:#22c55e;--neg:#ef4444;--warn:#f59e0b;--blue:#3b82f6}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:env(safe-area-inset-top) 0 0}
header{position:sticky;top:0;z-index:5;background:#0b0f19ee;border-bottom:1px solid var(--line);padding:10px 14px;backdrop-filter:blur(6px)}
.row1,.row2{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.row2{margin-top:6px;font-size:13px}
.mode{font-size:26px;font-weight:800;padding:2px 14px;border-radius:8px;letter-spacing:1px}
.mode.PAPER{background:#1e3a8a;color:#bfdbfe}.mode.TESTNET{background:#78350f;color:#fde68a}.mode.LIVE{background:#991b1b;color:#fff;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px #ef444440}}
.regime{font-size:18px;font-weight:700;padding:3px 10px;border-radius:8px;background:#1f2937}.regime.alt{background:#4c1d95;color:#ede9fe}.regime.trend{background:#064e3b;color:#a7f3d0}
.pill{padding:2px 10px;border-radius:99px;font-weight:600;background:#1f2937}.pill.ok{background:#14532d;color:#bbf7d0}.pill.bad{background:#7f1d1d;color:#fecaca}
.logout{margin-left:auto}.logout button,.btn,button{background:#1f2937;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:14px;text-decoration:none;cursor:pointer}
main{padding:12px;max-width:1300px;margin:0 auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.kpi .l{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.kpi .v{font-size:21px;font-weight:700;margin-top:2px}.kpi .s{font-size:12px;color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px}h2{margin:0 0 10px;font-size:16px}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}@media(max-width:820px){.grid2{grid-template-columns:1fr}.mode{font-size:22px}}
.chartbox{height:260px;position:relative}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:13.5px;white-space:nowrap}
th{color:var(--mut);font-weight:600;text-align:right;padding:6px 8px;border-bottom:1px solid var(--line);font-size:12px}td{padding:6px 8px;text-align:right;border-bottom:1px solid #1d2638}
th:first-child,td:first-child{text-align:left}tr:hover td{background:#1b2336}
.pos{color:var(--pos)}.neg{color:var(--neg)}.muted{color:var(--mut)}.small{font-size:12px;font-weight:400}
.side{font-weight:700;padding:1px 7px;border-radius:5px;font-size:12px}.side.BUY{background:#14532d;color:#bbf7d0}.side.SELL{background:#7f1d1d;color:#fecaca}
.feed{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}
.fi{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;padding:8px 10px;border-radius:9px;background:#121929;border-left:4px solid var(--line)}
.fi.BUY{border-left-color:var(--pos)}.fi.SELL{border-left-color:var(--neg)}.fi .t{color:var(--mut);font-size:12px}.fi .m{font-weight:600}.fi .r{text-align:right}
.fi.new{animation:flash 1.5s}@keyframes flash{from{background:#334155}}
.rg{display:grid;grid-template-columns:auto 1fr auto;gap:8px 10px;align-items:center}.bar{height:8px;background:#0b0f19;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%}
.filters{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}input,select{background:#0b0f19;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:16px}#q{flex:1;min-width:160px}
.err{margin-top:6px;background:#7f1d1d;padding:6px 10px;border-radius:8px}.hidden{display:none}.foot{text-align:center;margin:16px 0 30px}
.loginpage{display:flex;align-items:center;justify-content:center;min-height:100vh}.login{width:min(340px,90vw);display:flex;flex-direction:column;gap:10px;text-align:center}.login h1{margin:0}
.tw.scroll{max-height:420px;overflow-y:auto}.tw.scroll th{position:sticky;top:0;background:var(--card)}

.badge{font-size:.75rem;padding:2px 8px;border-radius:999px;margin-left:8px;vertical-align:middle}
.badge.green{background:#14532d;color:#86efac}.badge.amber{background:#713f12;color:#fde68a}.badge.red{background:#7f1d1d;color:#fecaca}
.checklist{margin:8px 0;padding-left:20px}.checklist li{margin:2px 0}

.modebanner{position:sticky;top:0;z-index:1000;text-align:center;font-weight:800;letter-spacing:.04em;padding:10px 12px;font-size:1.05rem;color:#fff}
.modebanner.live{background:#dc2626;font-size:1.4rem;padding:16px 12px;animation:livepulse 1.2s ease-in-out infinite}
.modebanner.paper{background:#2563eb}.modebanner.testnet{background:#d97706}.modebanner.unknown{background:#374151}
@keyframes livepulse{0%,100%{background:#dc2626;box-shadow:0 0 0 0 #ef4444aa}50%{background:#991b1b;box-shadow:0 0 24px 6px #ef4444aa}}
.loginpage .modebanner{position:fixed;left:0;right:0;top:0}
