:root{--bg:#0B0F14;--side:#0E131A;--card:#11161D;--line:#1F2833;--line2:#1A222C;--row:#161D26;--txt:#E6EBF1;--mut:#8E9AAB;
--acc:#4CC9B0;--acc2:#8BE3D2;--up:#4EA8FF;--dn:#FF9F43;--warn:#F5C451}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:13px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--acc)}a:hover{color:var(--acc2)}
.mono{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}
.mut{color:var(--mut)}.up{color:var(--up)}.dn{color:var(--dn)}.warn{color:var(--warn)}
.cap{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em;font-weight:500}
.app{display:flex;min-height:100vh}
.side{width:236px;flex:none;background:var(--side);border-right:1px solid var(--line2);padding:18px 14px;display:flex;flex-direction:column;gap:16px}
.brand{display:flex;align-items:center;gap:10px;padding:0 6px}
.logo{width:30px;height:30px;border-radius:8px;background:#123A33;display:flex;align-items:center;justify-content:center}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--mut)}
.nav a.on{background:#16202A;color:var(--txt);box-shadow:inset 3px 0 0 var(--acc)}
.nav a:hover{color:var(--txt)}
.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--dn);color:#0B0F14;font-size:10.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.conn{margin-top:auto;padding:12px;border:1px solid var(--line2);border-radius:10px;background:var(--bg);display:flex;flex-direction:column;gap:8px;font-size:12px}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--mut)}.dot.ok{background:var(--acc)}.dot.bad{background:var(--dn)}
main{flex:1;min-width:0;padding:20px 24px 40px;display:flex;flex-direction:column;gap:16px}
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
h1{margin:2px 0 0;font-size:20px;font-weight:700;letter-spacing:-.01em}
.crumb{font-size:12px;color:var(--mut)}
.row{display:flex;flex-wrap:wrap;gap:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:0}
.ch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line2)}
.ct{font-weight:600}
.cb{padding:14px 16px}
.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.kpi .v{font-size:22px;font-weight:600;letter-spacing:-.01em}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:500;white-space:nowrap;background:#1A222C;color:#C3CCD8}
.pill.ok{background:#12302A;color:var(--acc2)}.pill.warn{background:#2E2610;color:var(--warn)}.pill.bad{background:#3A1E12;color:#FFB37A}.pill.buy{background:#122A40;color:#9CCBFF}.pill.sell{background:#3A1E12;color:#FFB37A}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-weight:500;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;padding:10px 16px;border-bottom:1px solid var(--line2);white-space:nowrap}
td{padding:10px 16px;border-bottom:1px solid var(--row);white-space:nowrap}
tr:last-child td{border-bottom:0}
.r{text-align:right}
.bar{height:6px;border-radius:4px;background:var(--row);overflow:hidden}.bar>div{height:100%;background:var(--acc)}
.btn{font:inherit;font-size:12.5px;border-radius:8px;padding:8px 12px;border:1px solid #263140;background:var(--row);color:var(--txt);min-height:36px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.btn.pri{background:#12302A;border-color:#2C7A6A;color:var(--acc2)}
.btn.danger{background:#4A2410;border-color:var(--dn);color:#FFD2AE}
input,select,textarea{font:inherit;background:var(--bg);color:var(--txt);border:1px solid #263140;border-radius:8px;padding:8px 10px;min-height:36px}
label{display:flex;flex-direction:column;gap:6px}
.empty{padding:28px 16px;text-align:center;color:var(--mut)}
.seg{display:inline-flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:3px}
.seg a{padding:6px 12px;border-radius:7px;text-decoration:none;color:var(--mut)}.seg a.on{background:var(--line);color:var(--txt)}
.alert-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--row)}.alert-item .k{width:3px;border-radius:2px;flex:none;background:var(--mut)}
.k.trade{background:var(--up)}.k.risk{background:var(--dn)}.k.news{background:var(--warn)}.k.sys{background:var(--mut)}
.notice{display:flex;gap:10px;padding:12px 14px;border-radius:10px;background:#0F2420;border:1px solid #1D4A40;line-height:1.55}
.tabs{display:none}
.cards-m{display:none}
@media (max-width:760px){
  .side{display:none}
  main{padding:14px 14px 90px}
  h1{font-size:18px}
  .tabs{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--side);border-top:1px solid var(--line2);padding:4px 6px calc(8px + env(safe-area-inset-bottom));z-index:10}
  .tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font-size:10.5px;color:var(--mut);min-height:52px;position:relative}
  .tabs a.on{color:var(--acc)}
  .tabs .badge{position:absolute;top:4px;left:56%}
  .hide-m{display:none}
  .cards-m{display:flex;flex-direction:column;gap:10px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi .v{font-size:19px}
}
.mcard{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--txt)}
