
:root{
  color-scheme:dark;
  --bg:#071018;
  --panel:#0d1722;
  --panel-2:#111d2a;
  --panel-3:#152233;
  --line:#213247;
  --line-soft:#172536;
  --text:#f5f7fb;
  --muted:#90a0b6;
  --accent:#4fd1c5;
  --accent-2:#69a7ff;
  --good:#55d89b;
  --bad:#ff6b78;
  --warn:#f5c451;
  --shadow:0 18px 55px rgba(0,0,0,.32);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 15% -10%,rgba(79,209,197,.12),transparent 28%),
    radial-gradient(circle at 90% 0%,rgba(105,167,255,.10),transparent 30%),
    linear-gradient(180deg,#071018 0%,#09111a 42%,#071018 100%);
}
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 75%);
}
main{max-width:1120px;margin:auto;padding:18px 16px 34px}
.appbar{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-bottom:14px;
}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(79,209,197,.2),rgba(105,167,255,.18));
  border:1px solid rgba(105,167,255,.28);
  box-shadow:inset 0 0 18px rgba(79,209,197,.06),0 10px 30px rgba(0,0,0,.2);
  font-size:21px;
}
h1{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.03em}
.subhead{margin-top:4px;color:var(--muted);font-size:12px}
.badge{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid rgba(79,209,197,.28);
  background:rgba(79,209,197,.08);
  color:#c7fff9;border-radius:999px;padding:5px 9px;
  font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  white-space:nowrap;
}
.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good)}
.headerMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.metaChip{
  border:1px solid var(--line);
  background:rgba(17,29,42,.75);
  border-radius:999px;padding:6px 9px;color:var(--muted);font-size:10px;
}
.toolbar{
  background:linear-gradient(180deg,rgba(17,29,42,.92),rgba(11,20,30,.92));
  border:1px solid var(--line);
  border-radius:20px;padding:12px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}
.controls{display:grid;grid-template-columns:minmax(0,1fr) 100px 120px;gap:8px}
.actions{display:grid;grid-template-columns:1fr 54px;gap:8px;margin-top:8px}
input,select,button{
  width:100%;
  appearance:none;
  background:#0b1520;color:#fff;
  border:1px solid #27394f;border-radius:13px;
  padding:12px 13px;font-size:14px;
  outline:none;transition:.18s ease;
}
input:focus,select:focus{border-color:#4e8fd7;box-shadow:0 0 0 3px rgba(78,143,215,.12)}
button{cursor:pointer;font-weight:750}
button:hover{border-color:#3c536f;background:#101d2b;transform:translateY(-1px)}
button:active{transform:translateY(0)}
#analyzeBtn{
  border:0;
  background:linear-gradient(135deg,#3bb7ad,#4f82dd);
  color:white;
  box-shadow:0 10px 28px rgba(67,132,201,.22);
}
#analyzeBtn:hover{filter:brightness(1.06)}
.scroll{display:flex;gap:6px;overflow:auto;padding:9px 0 0;scrollbar-width:none}
.scroll::-webkit-scrollbar{display:none}
.pill{
  width:auto;padding:6px 10px;white-space:nowrap;border-radius:999px;
  background:#0d1824;border-color:#22344a;color:#c8d3e1;font-size:11px;
}
.status{
  display:flex;align-items:center;gap:8px;margin:9px 2px 0;color:var(--muted);font-size:11px;
}
.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#6d7d91;box-shadow:0 0 0 3px rgba(109,125,145,.10)}
.tabs{
  display:grid;grid-template-columns:repeat(5,1fr);gap:7px;
  margin:12px 0;
  position:sticky;top:8px;z-index:10;
  padding:6px;border:1px solid rgba(33,50,71,.9);
  border-radius:16px;background:rgba(7,16,24,.82);backdrop-filter:blur(15px);
}
.tab{
  font-size:11px;padding:10px 4px;border-radius:11px;
  background:transparent;border-color:transparent;color:#9cacbf;
}
.tab:hover{background:#101d2a;color:white}.tab.active{background:linear-gradient(135deg,rgba(79,209,197,.14),rgba(105,167,255,.14));border-color:#2b4962;color:#fff}
.panel{display:none}.panel.on{display:block}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.card{
  grid-column:span 6;
  background:linear-gradient(180deg,rgba(17,29,42,.93),rgba(11,20,30,.93));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:15px;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  position:relative;overflow:hidden;
}
.card:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.022),transparent 38%);
}
.full{grid-column:1/-1}
.hero{
  text-align:left;
  padding:18px;
}
.hero .label{display:flex;justify-content:space-between;align-items:center}
.hero .value{font-size:34px;letter-spacing:-.04em;margin-top:5px}
.label{
  font-size:10px;color:var(--muted);text-transform:uppercase;
  letter-spacing:.11em;font-weight:750;
}
.value{font-size:22px;font-weight:820;margin-top:5px;letter-spacing:-.025em}
.good{color:var(--good)!important}.bad{color:var(--bad)!important}.neutral{color:var(--warn)!important}
.bar{
  height:7px;background:#162434;border-radius:999px;overflow:hidden;margin-top:11px;
  border:1px solid rgba(255,255,255,.025);
}
.fill{height:100%;background:linear-gradient(90deg,#45c6b6,#6fa7ff);border-radius:999px}
.muted{color:var(--muted);font-size:11px}
.kpi{min-height:110px}
.kpi:before{
  content:"";position:absolute;width:88px;height:88px;border-radius:50%;
  right:-30px;top:-32px;background:radial-gradient(circle,rgba(79,209,197,.10),transparent 70%);
}
.row{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--line-soft);
}
.row:last-child{border:0}
.row span:first-child{color:#b4c0cf}
canvas{
  width:100%;height:260px;display:block;border-radius:14px;
  background:linear-gradient(180deg,#0b1520,#09121b);
  border:1px solid #182638;
}
.chartHeader{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:10px}
.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.coin{
  display:grid;grid-template-columns:1.15fr .6fr .75fr .65fr;gap:6px;
  align-items:center;padding:11px 6px;border-bottom:1px solid var(--line-soft);
  cursor:pointer;border-radius:10px;
}
.coin:hover{background:#0e1a27}
.coin>*:not(:first-child){text-align:right}
.miniGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.mini{
  background:#0b1520;border:1px solid #1c2d40;border-radius:12px;padding:10px;text-align:center;
}
.mini b{display:block;margin-top:4px;font-size:13px}
.note{
  color:#718198;font-size:10px;line-height:1.55;margin:14px 2px 0;
  border-top:1px solid var(--line-soft);padding-top:12px;
}
.sectionTitle{font-size:12px;font-weight:800;color:#dfe7f1;margin-bottom:8px}
#watchout button{max-width:90px}
@media(max-width:760px){
  main{padding:12px 10px 26px}
  .appbar{align-items:center}
  .headerMeta .metaChip{display:none}
  h1{font-size:19px}
  .badge{font-size:9px;padding:4px 7px}
  .controls{grid-template-columns:minmax(0,1fr) 82px 102px}
  .tabs{top:5px;gap:3px;padding:5px}
  .tab{font-size:10px;padding:9px 2px}
  .grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .card{grid-column:span 1;padding:12px;border-radius:15px}
  .full{grid-column:1/-1}
  .hero{grid-column:1/-1}
  .hero .value{font-size:28px}
  .value{font-size:19px}
  canvas{height:225px}
  .miniGrid{grid-template-columns:repeat(2,1fr);gap:6px}
}
@media(max-width:430px){
  .appbar{gap:8px}
  .logo{width:38px;height:38px;border-radius:12px}
  .headerMeta{display:none}
  .toolbar{padding:10px}
  .tabs{overflow:auto;display:flex;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{min-width:74px}
  .card{min-width:0}
  .coin{grid-template-columns:1fr .55fr .85fr .55fr}
}



.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.metricBox{background:#0b1520;border:1px solid #1c2d40;border-radius:12px;padding:10px}
.metricBox .n{font-size:18px;font-weight:800;margin-top:3px}
.gaugeWrap{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}
.gauge{--p:50;--gc:#f5c451;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gc) calc(var(--p)*1%),#172536 0);position:relative}
.gauge:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#0d1722;border:1px solid #213247}
.gaugeInner{position:relative;z-index:1;text-align:center}.gaugeInner b{display:block;font-size:30px}.gaugeInner span{font-size:10px;color:var(--muted);text-transform:uppercase}
.heatmap{display:grid;grid-template-columns:90px repeat(4,1fr);gap:5px;align-items:center}
.hmHead,.hmLabel{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.hmCell{padding:9px 5px;border-radius:9px;text-align:center;font-weight:800;border:1px solid #213247;background:#0b1520}
.hmBull{background:rgba(85,216,155,.10);color:var(--good);border-color:rgba(85,216,155,.22)}
.hmBear{background:rgba(255,107,120,.10);color:var(--bad);border-color:rgba(255,107,120,.22)}
.hmNeu{background:rgba(245,196,81,.08);color:var(--warn);border-color:rgba(245,196,81,.18)}
.scanFilters{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}
.scanTableHead,.coin{grid-template-columns:1.05fr .52fr .72fr .62fr .72fr .55fr}
.scanTableHead{display:grid;gap:6px;padding:7px 6px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.sentimentBand{height:10px;border-radius:999px;background:linear-gradient(90deg,#ff6b78,#f5c451,#55d89b);position:relative;margin:10px 0}
.sentimentNeedle{position:absolute;top:-4px;width:3px;height:18px;background:white;border-radius:2px;box-shadow:0 0 8px rgba(255,255,255,.5)}
.dataDot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--good);box-shadow:0 0 10px rgba(85,216,155,.65)}
.chartToolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.chartToolbar button{width:auto;padding:6px 10px;font-size:10px;border-radius:999px}
.small{font-size:10px;color:var(--muted)}
@media(max-width:760px){
 .metricGrid{grid-template-columns:repeat(2,1fr)}
 .gaugeWrap{grid-template-columns:1fr;text-align:center}.gauge{margin:auto}
 .heatmap{grid-template-columns:70px repeat(4,1fr)}
 .scanFilters{grid-template-columns:repeat(2,1fr)}
 .scanTableHead,.coin{grid-template-columns:1fr .5fr .7fr .55fr .55fr}
 .scanTableHead>*:nth-child(5),.coin>*:nth-child(5){display:none}
 .scanTableHead>*:nth-child(6),.coin>*:nth-child(6){display:none}
}



.signalGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.signalCard{background:linear-gradient(180deg,#0e1a27,#0a141e);border:1px solid #213247;border-radius:16px;padding:14px}
.signalCard .big{font-size:28px;font-weight:850;letter-spacing:-.04em}
.levelGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}
.levelBox{background:#0a141e;border:1px solid #1d2c3d;border-radius:11px;padding:9px;text-align:center}
.levelBox b{display:block;margin-top:4px;font-size:12px}
.signalActions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:10px}
.journalHead,.journalRow{display:grid;grid-template-columns:1.1fr .7fr .7fr .8fr .8fr .8fr;gap:6px;align-items:center}
.journalHead{padding:6px 4px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.journalRow{padding:10px 4px;border-top:1px solid var(--line-soft);font-size:11px}
.tag{display:inline-flex;width:auto;border-radius:999px;padding:3px 7px;border:1px solid #2b3b50;font-size:9px;font-weight:800}
.tagLong{color:var(--good);background:rgba(85,216,155,.08);border-color:rgba(85,216,155,.25)}
.tagShort{color:var(--bad);background:rgba(255,107,120,.08);border-color:rgba(255,107,120,.25)}
.scoreBar{height:9px;border-radius:999px;background:#172536;overflow:hidden;margin-top:8px}
.scoreBar>i{display:block;height:100%;border-radius:inherit}
.longFill{background:linear-gradient(90deg,#2dbf8c,#67e1b3)}
.shortFill{background:linear-gradient(90deg,#e95868,#ff8b95)}
.perfGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.perfBox{background:#0b1520;border:1px solid #1c2d40;border-radius:12px;padding:10px}
.perfBox strong{display:block;font-size:18px;margin-top:3px}
@media(max-width:760px){
 .signalGrid{grid-template-columns:1fr}
 .levelGrid{grid-template-columns:repeat(2,1fr)}
 .levelBox:last-child{grid-column:1/-1}
 .signalActions{grid-template-columns:1fr}
 .journalHead,.journalRow{grid-template-columns:1fr .65fr .75fr .8fr}
 .journalHead>*:nth-child(5),.journalHead>*:nth-child(6),.journalRow>*:nth-child(5),.journalRow>*:nth-child(6){display:none}
 .perfGrid{grid-template-columns:repeat(2,1fr)}
}



:root{
  --sidebar:230px;
  --topbar:64px;
}
body{overflow-x:hidden}
.appShell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.sideNav{
  position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);z-index:30;
  background:linear-gradient(180deg,#08121c,#091019);
  border-right:1px solid #172638;padding:16px 12px;
  display:flex;flex-direction:column;gap:14px
}
.sideBrand{display:flex;align-items:center;gap:10px;padding:4px 6px 12px}
.sideLogo{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#16374a,#18315b);border:1px solid #27405a;font-size:18px}
.sideTitle{font-size:14px;font-weight:850;letter-spacing:-.02em}
.sideSub{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.sideMenu{display:flex;flex-direction:column;gap:5px}
.sideBtn{
  width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 11px;
  background:transparent;border-color:transparent;color:#9eb0c6;border-radius:12px;font-size:12px
}
.sideBtn:hover{background:#0e1a27;color:#fff}
.sideBtn.active{background:linear-gradient(135deg,rgba(79,209,197,.11),rgba(105,167,255,.11));border-color:#243b50;color:#fff}
.sideIcon{width:22px;text-align:center;font-size:14px}
.sideFooter{margin-top:auto;padding:10px;border:1px solid #1a2a3d;background:#0b1621;border-radius:13px}
.sideFooter .row{padding:5px 0}
.mainArea{grid-column:2;min-width:0}
.topStatus{
  position:sticky;top:0;z-index:25;height:var(--topbar);
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;
  background:rgba(7,16,24,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(33,50,71,.85)
}
.topLeft,.topRight{display:flex;align-items:center;gap:8px;min-width:0}
.topCoin{font-size:16px;font-weight:850;white-space:nowrap}
.statusChip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #213247;border-radius:999px;background:#0d1824;color:#9eafc3;font-size:10px;white-space:nowrap}
.statusChip.live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 10px rgba(85,216,155,.7)}
.statusChip.warn:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warn)}
main{max-width:1160px;padding-top:14px}
.appbar{display:none}
.toolbar{border-radius:18px}
.heroStrip{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin-bottom:10px}
.heroSummary{background:linear-gradient(135deg,rgba(79,209,197,.10),rgba(105,167,255,.08));border:1px solid #264056;border-radius:18px;padding:16px;box-shadow:0 16px 38px rgba(0,0,0,.20)}
.heroSummaryTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.heroCoin{font-size:26px;font-weight:900;letter-spacing:-.04em}
.heroPrice{font-size:20px;font-weight:800;margin-top:2px}
.heroSignal{font-size:26px;font-weight:900;text-align:right}
.heroMeta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.quickGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.quickCard{background:#0d1824;border:1px solid #203148;border-radius:15px;padding:12px}
.quickCard .qv{font-size:17px;font-weight:820;margin-top:3px}
.emptyState{padding:24px;text-align:center;color:var(--muted)}
.skeleton{position:relative;overflow:hidden;background:#12202d;border-radius:8px;color:transparent!important}
.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:shimmer 1.2s infinite}
@keyframes shimmer{100%{transform:translateX(100%)}}
.toastHost{position:fixed;right:16px;bottom:16px;z-index:99;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{min-width:240px;max-width:360px;padding:11px 13px;border-radius:12px;background:#101c28;border:1px solid #26384e;box-shadow:0 18px 46px rgba(0,0,0,.38);font-size:11px;color:#dce5ef;animation:toastIn .2s ease-out}
.toast.good{border-color:rgba(85,216,155,.34)}.toast.bad{border-color:rgba(255,107,120,.34)}.toast.warn{border-color:rgba(245,196,81,.34)}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mobileBottom{display:none}
.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.sectionHead h3{margin:0;font-size:13px}
.sectionHead .small{white-space:nowrap}
.dataStatus{display:flex;gap:6px;flex-wrap:wrap}
.kpi .delta{font-size:10px;color:var(--muted);margin-top:4px}
.actionGhost{width:auto;padding:6px 9px;font-size:10px;border-radius:999px}
@media(max-width:980px){
  :root{--sidebar:0px}
  .appShell{display:block}
  .sideNav{display:none}
  .mainArea{grid-column:auto}
  .topStatus{height:auto;min-height:56px;padding:8px 10px}
  .topRight .statusChip:nth-child(2){display:none}
  main{max-width:820px;padding:10px 10px 88px}
  .heroStrip{grid-template-columns:1fr}
  .mobileBottom{
    position:fixed;left:8px;right:8px;bottom:8px;z-index:60;
    display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:5px;
    background:rgba(8,17,26,.94);backdrop-filter:blur(16px);
    border:1px solid #24364a;border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.45)
  }
  .mobileNavBtn{padding:8px 2px;background:transparent;border-color:transparent;font-size:9px;color:#8fa0b5;border-radius:11px}
  .mobileNavBtn b{display:block;font-size:15px;margin-bottom:2px}
  .mobileNavBtn.active{background:#102031;color:#fff}
  .tabs{display:none}
}
@media(max-width:520px){
  .topCoin{font-size:14px}
  .topRight .statusChip{padding:5px 7px;font-size:9px}
  .heroSummaryTop{align-items:center}
  .heroCoin{font-size:22px}.heroSignal{font-size:22px}.heroPrice{font-size:17px}
  .quickGrid{grid-template-columns:repeat(2,1fr)}
}



.levelsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.levelBox{background:#0b1520;border:1px solid #1d2d41;border-radius:12px;padding:10px;text-align:center}
.levelBox b{display:block;margin-top:4px;font-size:13px}
.levelBox span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.flowGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.flowBox{background:#0b1520;border:1px solid #1d2d41;border-radius:12px;padding:10px;text-align:center}
.flowBox strong{display:block;margin-top:4px;font-size:15px}
.zoneBox{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.zoneChip{background:#0b1520;border:1px solid #1d2d41;border-radius:12px;padding:10px}
.zoneChip b{display:block;margin-top:4px;font-size:14px}
@media(max-width:760px){
 .levelsGrid{grid-template-columns:repeat(2,1fr)}
 .flowGrid{grid-template-columns:repeat(2,1fr)}
 .zoneBox{grid-template-columns:1fr}
}



/* v20 · product-suite additions */
.srHeat{display:grid;grid-template-columns:92px repeat(7,1fr);gap:5px;margin-top:10px}
.srHeat .hh{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.srHeat .hc{padding:9px 5px;border-radius:9px;text-align:center;border:1px solid #213247;background:#0b1520;font-size:10px;font-weight:800}
.srHeat .sup{background:rgba(85,216,155,.09);color:#7ee5b6;border-color:rgba(85,216,155,.22)}
.srHeat .res{background:rgba(255,107,120,.09);color:#ff8e99;border-color:rgba(255,107,120,.22)}
.srHeat .pivot{background:rgba(105,167,255,.09);color:#9ac2ff;border-color:rgba(105,167,255,.24)}
.srHeat .near{box-shadow:0 0 0 2px rgba(245,196,81,.45) inset;color:#ffd978}
.orderFlow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.flowSide{border:1px solid #213247;border-radius:14px;background:#0b1520;padding:12px}
.flowSide .flowBig{font-size:24px;font-weight:900;margin-top:4px}
.flowMeter{height:11px;border-radius:999px;background:#172536;overflow:hidden;display:flex;margin-top:8px}
.flowMeter .buy{background:linear-gradient(90deg,#2fbf8b,#6de3b5)}
.flowMeter .sell{background:linear-gradient(90deg,#df5262,#ff8a95)}
.ofRow{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #182637}
.ofRow:last-child{border-bottom:0}
.marketOverview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.marketTile{background:linear-gradient(180deg,#0d1824,#0a141e);border:1px solid #203148;border-radius:14px;padding:11px;cursor:pointer;transition:.15s ease}
.marketTile:hover{transform:translateY(-1px);border-color:#35506d}
.marketTile .coinName{font-size:13px;font-weight:850}
.marketTile .marketPrice{font-size:16px;font-weight:850;margin-top:3px}
.marketTile .marketMeta{display:flex;justify-content:space-between;gap:6px;margin-top:7px;font-size:9px;color:var(--muted)}
.alertList{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.alertItem{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;padding:10px;border:1px solid #213247;border-radius:12px;background:#0b1520}
.alertIcon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#132235}
.alertItem strong{font-size:11px}.alertItem p{margin:2px 0 0;color:var(--muted);font-size:10px}
.alertTime{font-size:9px;color:var(--muted)}
.settingsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.settingsCard{background:#0b1520;border:1px solid #213247;border-radius:14px;padding:12px}
.settingsCard h4{margin:0 0 9px;font-size:12px}
.settingRow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #172536}
.settingRow:last-child{border-bottom:0}
.toggle{width:42px;height:24px;border-radius:999px;background:#26384b;border:1px solid #30445a;position:relative;cursor:pointer;flex:0 0 auto}
.toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#93a5ba;transition:.18s}
.toggle.on{background:rgba(85,216,155,.16);border-color:rgba(85,216,155,.35)}
.toggle.on:after{left:21px;background:#65dfa9}
.presetBar{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.presetBtn{width:auto;padding:6px 10px;border-radius:999px;font-size:10px}
.calibrationGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.calBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.calBox b{display:block;font-size:16px;margin-top:4px}
.chartZoneLegend{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;font-size:9px;color:var(--muted)}
.chartZoneLegend span:before{content:"";display:inline-block;width:10px;height:6px;border-radius:2px;margin-right:4px;vertical-align:1px}
.chartZoneLegend .lz:before{background:rgba(85,216,155,.35)}
.chartZoneLegend .rz:before{background:rgba(255,107,120,.35)}
.chartZoneLegend .pz:before{background:rgba(105,167,255,.35)}
.modalShade{position:fixed;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(6px);z-index:100;display:none;align-items:center;justify-content:center;padding:16px}
.modalShade.on{display:flex}
.modalCard{width:min(760px,100%);max-height:90vh;overflow:auto;background:#0b1520;border:1px solid #2b4057;border-radius:18px;padding:16px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.modalHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.modalHead h3{margin:0}.closeBtn{width:auto;padding:6px 10px}
.badgeNum{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ff6b78;color:white;font-size:9px;font-weight:800}
@media(max-width:980px){
  .marketOverview{grid-template-columns:repeat(2,1fr)}
  .settingsGrid{grid-template-columns:1fr}
  .srHeat{grid-template-columns:70px repeat(4,1fr);overflow:auto}
  .srHeat>*:nth-child(6),.srHeat>*:nth-child(7),.srHeat>*:nth-child(8){display:none}
}
@media(max-width:560px){
  .orderFlow{grid-template-columns:1fr}
  .marketOverview{grid-template-columns:repeat(2,1fr)}
  .calibrationGrid{grid-template-columns:repeat(2,1fr)}
}



.vpWrap{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}
.vpBars{display:flex;flex-direction:column-reverse;gap:2px;height:250px;justify-content:stretch}
.vpRow{display:grid;grid-template-columns:70px 1fr 50px;gap:6px;align-items:center;min-height:9px;font-size:9px}
.vpTrack{height:7px;background:#172536;border-radius:999px;overflow:hidden}
.vpFill{height:100%;background:linear-gradient(90deg,#4fd1c5,#69a7ff)}
.ctxGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ctxBox{background:#0b1520;border:1px solid #1d2d41;border-radius:12px;padding:10px}
.ctxBox b{display:block;font-size:16px;margin-top:3px}
.riskForm{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.riskForm input,.riskForm select{padding:10px}
.explainList{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.explainRow{display:grid;grid-template-columns:1fr 64px 70px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #172536}
.explainRow:last-child{border-bottom:0}.contrib{font-weight:850;text-align:right}
.lifeTrack{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.lifeStep{padding:7px 9px;border-radius:999px;background:#0b1520;border:1px solid #24364b;color:#7f90a4;font-size:9px;font-weight:800}
.lifeStep.on{color:#fff;border-color:#4a6b8d;background:#102031}
.depthGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.depthSide{background:#0b1520;border:1px solid #213247;border-radius:14px;padding:10px}
.depthRow{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 0;font-size:10px}
.depthBar{height:6px;border-radius:999px;margin-top:2px}.depthBid{background:linear-gradient(90deg,#2fbf8b,#6de3b5)}.depthAsk{background:linear-gradient(90deg,#ff8a95,#df5262)}
.wsDot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:#6d7d91}
.wsDot.live{background:var(--good);box-shadow:0 0 9px rgba(85,216,155,.7)}
.healthGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.healthBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.fullscreenChart{position:fixed!important;inset:8px!important;z-index:120!important;background:#071018!important;padding:14px!important;border-radius:18px!important;overflow:auto!important}
@media(max-width:800px){.vpWrap{grid-template-columns:1fr}.ctxGrid{grid-template-columns:repeat(2,1fr)}.riskForm{grid-template-columns:repeat(2,1fr)}.depthGrid{grid-template-columns:1fr}.healthGrid{grid-template-columns:1fr}}



.decisionGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}
.decisionHero{background:linear-gradient(135deg,rgba(79,209,197,.12),rgba(105,167,255,.08));border:1px solid #2a455d;border-radius:16px;padding:15px}
.decisionBig{font-size:30px;font-weight:900;letter-spacing:-.04em;margin-top:4px}
.reasonList{display:flex;flex-direction:column;gap:7px;margin-top:9px}
.reason{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #1d2d41;background:#0b1520;border-radius:10px}
.corrGrid{display:grid;grid-template-columns:110px repeat(3,1fr);gap:5px;align-items:center}
.corrCell{padding:9px 5px;text-align:center;border-radius:9px;background:#0b1520;border:1px solid #213247;font-size:10px;font-weight:800}
.corrPos{color:var(--good);background:rgba(85,216,155,.07)}.corrNeg{color:var(--bad);background:rgba(255,107,120,.07)}
.volGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.volBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.volBox b{display:block;font-size:16px;margin-top:4px}
.proxyMap{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}
.proxyLvl{padding:10px 5px;border-radius:10px;text-align:center;border:1px solid #23354b;background:#0b1520;font-size:10px}
.proxyLvl.hot{background:rgba(255,107,120,.11);border-color:rgba(255,107,120,.28);color:#ff9aa3}
.proxyLvl.mid{background:rgba(245,196,81,.08);border-color:rgba(245,196,81,.22);color:#ffd978}
.proxyLvl.cool{background:rgba(85,216,155,.07);border-color:rgba(85,216,155,.2);color:#87e8bd}
.paperGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.paperBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.paperBox b{display:block;font-size:16px;margin-top:4px}
.paperRow{display:grid;grid-template-columns:1fr .65fr .8fr .8fr .8fr .65fr;gap:6px;padding:9px 4px;border-top:1px solid #172536;align-items:center;font-size:10px}
.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;border-radius:6px;border:1px solid #34485f;background:#0c1722;color:#aebcce;font-size:9px}
@media(max-width:800px){
 .decisionGrid{grid-template-columns:1fr}
 .corrGrid{grid-template-columns:90px repeat(3,1fr)}
 .volGrid{grid-template-columns:repeat(2,1fr)}
 .proxyMap{grid-template-columns:repeat(4,1fr)}
 .paperGrid{grid-template-columns:repeat(2,1fr)}
 .paperRow{grid-template-columns:1fr .7fr .8fr .8fr}
 .paperRow>*:nth-child(5),.paperRow>*:nth-child(6){display:none}
}



.analyticsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.analyticsBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.analyticsBox b{display:block;font-size:17px;margin-top:4px}
.matrix{display:grid;gap:5px;margin-top:10px;overflow:auto}
.mxRow{display:grid;grid-template-columns:110px repeat(4,1fr);gap:5px;min-width:520px}
.mxCell{padding:8px 5px;border-radius:9px;background:#0b1520;border:1px solid #213247;text-align:center;font-size:10px}
.mxGood{color:var(--good);background:rgba(85,216,155,.07)}.mxBad{color:var(--bad);background:rgba(255,107,120,.07)}
.mcGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.mcBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.mcBox b{display:block;font-size:16px;margin-top:4px}
.scenarioGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}
.scenarioBox{padding:10px 5px;border-radius:10px;background:#0b1520;border:1px solid #213247;text-align:center;font-size:10px}
.scenarioBox b{display:block;margin-top:3px;font-size:12px}
.backupActions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.freshGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.freshBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.freshBox b{display:block;font-size:13px;margin-top:4px}
.calibrationLine{display:grid;grid-template-columns:80px 1fr 70px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #172536}
.calibrationTrack{height:8px;border-radius:999px;background:#172536;overflow:hidden}
.calibrationFill{height:100%;background:linear-gradient(90deg,#4fd1c5,#69a7ff)}
@media(max-width:800px){.analyticsGrid{grid-template-columns:repeat(2,1fr)}.mcGrid{grid-template-columns:repeat(2,1fr)}.scenarioGrid{grid-template-columns:repeat(2,1fr)}.freshGrid{grid-template-columns:repeat(2,1fr)}.backupActions{grid-template-columns:1fr}}



.validationHero{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.edgeCard{background:linear-gradient(135deg,rgba(79,209,197,.10),rgba(105,167,255,.07));border:1px solid #29445b;border-radius:16px;padding:15px}
.edgeState{font-size:26px;font-weight:900;letter-spacing:-.03em;margin-top:5px}
.validGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.validBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.validBox b{display:block;font-size:16px;margin-top:4px}
.curveWrap{height:220px;border:1px solid #1d2d41;border-radius:14px;background:#08131d;padding:7px;margin-top:10px}
.curveWrap canvas{width:100%;height:100%;display:block}
.oosGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.oosBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.oosBox b{display:block;font-size:15px;margin-top:4px}
.execPolicy{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.execHint{padding:9px;border:1px solid #1e3044;border-radius:10px;background:#0b1520;font-size:10px;color:var(--muted)}
.validationBadge{display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid #2a4058;background:#0b1520;font-size:9px;font-weight:850}
@media(max-width:800px){.validationHero{grid-template-columns:1fr}.validGrid{grid-template-columns:repeat(2,1fr)}.oosGrid{grid-template-columns:repeat(2,1fr)}.execPolicy{grid-template-columns:1fr}}



.forwardHero{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}
.forwardCard{background:linear-gradient(135deg,rgba(79,209,197,.11),rgba(105,167,255,.08));border:1px solid #29445b;border-radius:16px;padding:15px}
.forwardState{font-size:27px;font-weight:900;letter-spacing:-.04em;margin-top:5px}
.guardGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.guardBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.guardBox b{display:block;font-size:16px;margin-top:4px}
.segmentGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.segmentBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.segmentBox b{display:block;font-size:15px;margin-top:4px}
.foldTable{display:grid;gap:5px;margin-top:10px;overflow:auto}
.foldRow{display:grid;grid-template-columns:70px repeat(5,1fr);gap:5px;min-width:620px}
.foldCell{padding:8px 5px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.qualityGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.qualityBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.qualityBox b{display:block;font-size:15px;margin-top:4px}
.guardNormal{color:var(--good)}.guardCaution{color:#ffd978}.guardPause{color:var(--bad)}
.forwardActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.forwardActions button{width:auto}
@media(max-width:800px){
 .forwardHero{grid-template-columns:1fr}
 .guardGrid{grid-template-columns:repeat(2,1fr)}
 .segmentGrid{grid-template-columns:repeat(2,1fr)}
 .qualityGrid{grid-template-columns:repeat(2,1fr)}
}



.scanSourceBar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.pionexBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;border:1px solid rgba(79,209,197,.28);background:rgba(79,209,197,.08);color:#8be9de;font-size:9px;font-weight:850;letter-spacing:.04em}
.pionexBadge:before{content:"";width:6px;height:6px;border-radius:50%;background:#4fd1c5;box-shadow:0 0 9px rgba(79,209,197,.7)}
.scanMeta{display:flex;gap:6px;flex-wrap:wrap}
.scanMeta span{padding:5px 7px;border:1px solid #213247;border-radius:999px;background:#0b1520;font-size:9px;color:var(--muted)}
.scanTableHead,.coin{grid-template-columns:1fr .50fr .68fr .55fr .70fr .54fr .72fr}
@media(max-width:760px){
 .scanTableHead,.coin{grid-template-columns:1fr .5fr .7fr .55fr .65fr}
 .scanTableHead>*:nth-child(5),.coin>*:nth-child(5){display:block}
 .scanTableHead>*:nth-child(6),.coin>*:nth-child(6){display:none}
 .scanTableHead>*:nth-child(7),.coin>*:nth-child(7){display:none}
}



.scanProgress{height:7px;background:#142233;border-radius:999px;overflow:hidden;margin:9px 0 6px}
.scanProgress>div{height:100%;width:0;background:linear-gradient(90deg,#4fd1c5,#69a7ff);transition:width .2s ease}
.scanStats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:7px 0}
.scanStat{background:#0b1520;border:1px solid #213247;border-radius:10px;padding:7px}
.scanStat span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.scanStat b{display:block;font-size:12px;margin-top:2px}
.scannerToolbar{display:grid;grid-template-columns:1.1fr .9fr auto;gap:7px;margin-top:8px}
.scannerToolbar input,.scannerToolbar select{min-width:0}
.moreDrawer{position:fixed;inset:0;z-index:160;display:none;background:rgba(1,7,12,.74);backdrop-filter:blur(5px)}
.moreDrawer.on{display:flex;align-items:flex-end}
.moreSheet{width:100%;max-height:78vh;overflow:auto;background:#09131d;border:1px solid #26394f;border-radius:20px 20px 0 0;padding:14px 12px 20px}
.moreHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.moreGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.moreBtn{padding:12px 7px;border-radius:12px;background:#0d1a27;border:1px solid #26394f;color:#b7c4d5;font-size:10px}
.moreBtn b{display:block;font-size:17px;margin-bottom:4px;color:#fff}
.cacheGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.cacheBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.cacheBox b{display:block;font-size:14px;margin-top:3px}
.wsStale{color:#ffd978!important;border-color:rgba(245,196,81,.3)!important}
@media(max-width:760px){
 .scannerToolbar{grid-template-columns:1fr 1fr}
 .scannerToolbar button{grid-column:1/-1}
 .scanStats{grid-template-columns:repeat(3,1fr)}
 .cacheGrid{grid-template-columns:repeat(2,1fr)}
 .moreGrid{grid-template-columns:repeat(3,1fr)}
}



.flowHero{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}
.flowGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.flowBox,.bandBox,.oiBox,.liqBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.flowBox b,.bandBox b,.oiBox b,.liqBox b{display:block;font-size:15px;margin-top:4px}
.bandGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.regimeHero{padding:14px;border-radius:15px;border:1px solid #29445b;background:linear-gradient(135deg,rgba(105,167,255,.10),rgba(79,209,197,.07))}
.regimeBig{font-size:25px;font-weight:900;letter-spacing:-.035em;margin-top:4px}
.oiMatrix,.liqGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.proxyNotice{padding:9px 10px;border:1px solid rgba(245,196,81,.25);background:rgba(245,196,81,.06);border-radius:11px;color:#dfcf9a;font-size:10px;margin-top:9px}
@media(max-width:800px){.flowHero{grid-template-columns:1fr}.flowGrid,.oiMatrix,.liqGrid{grid-template-columns:repeat(2,1fr)}.bandGrid{grid-template-columns:1fr}}



.microHero{display:grid;grid-template-columns:1.05fr .95fr;gap:10px}
.microBiasCard{padding:15px;border-radius:16px;border:1px solid #29445b;background:linear-gradient(135deg,rgba(79,209,197,.10),rgba(105,167,255,.07))}
.microBias{font-size:27px;font-weight:900;letter-spacing:-.04em;margin-top:4px}
.microGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.microBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.microBox b{display:block;font-size:15px;margin-top:4px}
.tapeWrap{max-height:330px;overflow:auto;border:1px solid #1d2d41;border-radius:13px;background:#08131d}
.tapeRow{display:grid;grid-template-columns:72px 1fr 1fr 1fr;gap:7px;padding:7px 9px;border-bottom:1px solid #142233;font-size:10px}
.tapeRow:last-child{border-bottom:0}
.tapeHead{position:sticky;top:0;z-index:2;background:#0c1824;font-weight:850}
.microChart{height:175px;border:1px solid #1d2d41;border-radius:13px;background:#08131d;padding:6px}
.microChart canvas{width:100%;height:100%;display:block}
.depthMeter{height:9px;border-radius:999px;background:#172536;overflow:hidden;display:flex}
.depthMeter .bid{background:#55d89b}.depthMeter .ask{background:#ff6b78}
.slipGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.slipBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.slipBox b{display:block;font-size:14px;margin-top:4px}
.microActions{display:flex;gap:7px;flex-wrap:wrap}
.microActions button{width:auto}
.sourcePill{display:inline-flex;padding:5px 8px;border-radius:999px;border:1px solid rgba(79,209,197,.28);background:rgba(79,209,197,.08);color:#8be9de;font-size:9px;font-weight:850}
@media(max-width:800px){
 .microHero{grid-template-columns:1fr}
 .microGrid{grid-template-columns:repeat(2,1fr)}
 .slipGrid{grid-template-columns:1fr}
 .tapeRow{grid-template-columns:62px 1fr 1fr}
 .tapeRow>*:nth-child(4){display:none}
}



.sourceSelect{min-width:118px;font-weight:850}
.sourceCard{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sourceBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.sourceBox b{display:block;font-size:13px;margin-top:4px}
.sourceNative{color:var(--good)}.sourceExternal{color:#ffd978}
.sourceLock{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border-radius:999px;border:1px solid rgba(79,209,197,.28);background:rgba(79,209,197,.08);font-size:9px;font-weight:850;color:#8be9de}
.providerNote{padding:9px 10px;border:1px solid #213247;border-radius:11px;background:#0b1520;color:var(--muted);font-size:10px;margin-top:8px}
@media(max-width:800px){.sourceCard{grid-template-columns:repeat(2,1fr)}.sourceSelect{min-width:100px}}



.pwaInstall{position:fixed;right:14px;bottom:78px;z-index:145;display:none;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(79,209,197,.34);background:#0b1824;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.28);font-size:10px;font-weight:800}
.pwaInstall.on{display:flex}
.pwaInstall button{width:auto;padding:6px 9px}
.pwaBanner{display:none;position:fixed;left:12px;right:12px;bottom:78px;z-index:146;padding:11px;border-radius:14px;border:1px solid #29445b;background:#0b1824;box-shadow:0 12px 35px rgba(0,0,0,.3)}
.pwaBanner.on{display:block}
.pwaBanner .row2{display:flex;gap:7px;justify-content:flex-end;margin-top:8px}
.pwaBanner button{width:auto}
.pwaState{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;border:1px solid #29445b;background:#0b1520;font-size:9px}
@media(min-width:900px){.pwaInstall{bottom:18px}.pwaBanner{max-width:520px;left:auto;bottom:18px}}



.deskHero{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}
.deskGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.deskBox,.oppBox,.calBox2,.acctBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.deskBox b,.oppBox b,.calBox2 b,.acctBox b{display:block;font-size:15px;margin-top:4px}
.oppTable{display:grid;gap:5px;overflow:auto}
.oppRow{display:grid;grid-template-columns:44px 1fr .65fr .65fr .65fr .72fr .9fr;gap:5px;min-width:720px}
.oppCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.oppCell.coinCell{text-align:left;font-weight:850}
.gradeA{color:#6ee7ad}.gradeB{color:#8be9de}.gradeC{color:#ffd978}.gradeD{color:#ff8b95}
.qualityGrid2{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.qualityMeter{height:7px;background:#172536;border-radius:999px;overflow:hidden;margin-top:6px}
.qualityMeter>div{height:100%;background:linear-gradient(90deg,#69a7ff,#4fd1c5)}
.paperAccountGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:10px}
.paperSettings{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}
.paperSettings label{font-size:9px;color:var(--muted)}
.paperSettings input,.paperSettings select{width:100%;margin-top:4px}
.calGrid2{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.calTable{display:grid;gap:5px;overflow:auto;margin-top:10px}
.calRow2{display:grid;grid-template-columns:90px repeat(5,1fr);gap:5px;min-width:650px}
.calCell2{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.microValGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pushState{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}
.accountGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.accountRows{display:grid;gap:5px;margin-top:10px;overflow:auto}
.accountRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:5px;min-width:520px}
.accountCell{padding:8px;border:1px solid #213247;border-radius:9px;background:#0b1520;font-size:10px}
.readOnlyBadge{display:inline-flex;padding:5px 8px;border-radius:999px;border:1px solid rgba(79,209,197,.28);background:rgba(79,209,197,.08);color:#8be9de;font-size:9px;font-weight:850}
@media(max-width:800px){
 .deskHero{grid-template-columns:1fr}
 .deskGrid,.qualityGrid2,.paperAccountGrid,.calGrid2,.accountGrid{grid-template-columns:repeat(2,1fr)}
 .paperSettings{grid-template-columns:1fr 1fr}
 .microValGrid{grid-template-columns:1fr}
}



.marketSelect{min-width:124px;font-weight:900}
.stockBadge{display:inline-flex;padding:5px 8px;border-radius:999px;border:1px solid rgba(105,167,255,.34);background:rgba(105,167,255,.08);color:#9ec6ff;font-size:9px;font-weight:900}
.stockHeroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}
.stockMetricGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.stockMetric{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.stockMetric b{display:block;font-size:15px;margin-top:4px}
.stockProviderBox{padding:13px;border:1px solid #29445b;border-radius:14px;background:linear-gradient(135deg,rgba(105,167,255,.08),rgba(79,209,197,.04))}
.stockScannerNote{padding:8px 10px;border-radius:11px;border:1px solid #213247;background:#0b1520;color:var(--muted);font-size:10px;margin-top:8px}
.marketModeStock .cryptoContextOnly{display:none!important}
.marketModeStock .cryptoOnlyNav{opacity:.48}
.marketModeCrypto .stockOnly{display:none!important}
.stockUniverseGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stockUniverseBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.stockUniverseBox b{display:block;font-size:14px;margin-top:4px}
.sessionOpen{color:#55d89b}.sessionPre,.sessionAfter{color:#ffd978}.sessionClosed{color:#9fb0c2}
@media(max-width:800px){
 .stockHeroGrid{grid-template-columns:1fr}
 .stockMetricGrid,.stockUniverseGrid{grid-template-columns:repeat(2,1fr)}
 .marketSelect{min-width:105px}
}



.robustGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.robustBox,.portBox,.lifeBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.robustBox b,.portBox b,.lifeBox b{display:block;font-size:15px;margin-top:4px}
.robustControls{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}
.robustTable{display:grid;gap:5px;overflow:auto}
.robustRow{display:grid;grid-template-columns:1.15fr repeat(6,1fr);gap:5px;min-width:760px}
.robustCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.portGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.corrWrap{overflow:auto;margin-top:10px}
.corrTable{border-collapse:separate;border-spacing:4px;min-width:620px}
.corrTable td,.corrTable th{padding:7px;border:1px solid #213247;border-radius:7px;background:#0b1520;text-align:center;font-size:9px}
.lifeGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.lifeState{font-size:20px;font-weight:900;margin-top:4px}
.lifePromoted{color:#6ee7ad}.lifeWatch{color:#ffd978}.lifeRetired{color:#ff8b95}.lifeLearning{color:#9ec6ff}
.riskMult{font-size:24px;font-weight:900}
@media(max-width:800px){
 .robustGrid,.portGrid,.lifeGrid{grid-template-columns:repeat(2,1fr)}
 .robustControls{grid-template-columns:1fr 1fr}
}



.cloudGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.cloudBox,.profileBox,.liqMapBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.cloudBox b,.profileBox b,.liqMapBox b{display:block;font-size:14px;margin-top:4px}
.cloudRuns,.cloudOpps,.profileTable,.footprintTable{display:grid;gap:5px;overflow:auto}
.cloudRow{display:grid;grid-template-columns:1.1fr .8fr .8fr .8fr 1.2fr;gap:5px;min-width:650px}
.profileRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:620px}
.footRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:620px}
.cloudCell,.profileCell,.footCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.profileGrid2{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.profileBarTrack{height:8px;background:#172536;border-radius:999px;overflow:hidden;margin-top:5px}
.profileBarFill{height:100%;background:linear-gradient(90deg,#69a7ff,#4fd1c5)}
.liqClusters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.liqChip{padding:6px 8px;border-radius:999px;border:1px solid #29445b;background:#0b1520;font-size:9px}
.liqChip.buy{color:#6ee7ad}.liqChip.sell{color:#ff9da5}
.cloudState{font-size:18px;font-weight:900}
.cloudOk{color:#6ee7ad}.cloudWarn{color:#ffd978}.cloudBad{color:#ff8b95}
@media(max-width:800px){
 .cloudGrid,.profileGrid2{grid-template-columns:repeat(2,1fr)}
}



.sessionGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.sessionBox,.structureBox,.costBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.sessionBox b,.structureBox b,.costBox b{display:block;font-size:14px;margin-top:4px}
.structureRows,.fvgRows,.obRows{display:grid;gap:5px;overflow:auto}
.structureRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1.3fr;gap:5px;min-width:720px}
.structureCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.zoneBull{color:#6ee7ad}.zoneBear{color:#ff9da5}.zoneNeutral{color:#ffd978}
.sessionActive{color:#6ee7ad}.sessionInactive{color:#9fb0c2}
.ladder{display:grid;gap:5px;margin-top:8px}
.ladderRow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.ladderCell{padding:8px;border:1px solid #213247;border-radius:9px;background:#0b1520;font-size:10px}
.costGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
@media(max-width:800px){.sessionGrid,.costGrid{grid-template-columns:repeat(2,1fr)}}



.intelGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.intelBox,.mlBox,.newsBox,.liqBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.intelBox b,.mlBox b,.liqBox b{display:block;font-size:14px;margin-top:4px}
.newsList,.liqTape,.mlTable{display:grid;gap:6px;overflow:auto}
.newsItem{padding:10px;border:1px solid #213247;border-radius:11px;background:#0b1520}
.newsItem b{display:block;font-size:11px;margin-bottom:4px}.newsItem span{font-size:9px;color:var(--muted)}
.newsRisk{font-weight:900}.riskHigh{color:#ff8b95}.riskMed{color:#ffd978}.riskLow{color:#6ee7ad}
.liqRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:620px}
.mlRow{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:650px}
.liqCell,.mlCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.mlControls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:9px 0}
.contribPos{color:#6ee7ad}.contribNeg{color:#ff9da5}
.contextScore{font-size:22px!important;font-weight:900}
@media(max-width:800px){
 .intelGrid{grid-template-columns:repeat(2,1fr)}
 .mlControls{grid-template-columns:1fr 1fr}
}



.govGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.govBox,.driftBox,.ensBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.govBox b,.driftBox b,.ensBox b{display:block;font-size:14px;margin-top:4px}
.govTable,.driftTable,.waterfallTable{display:grid;gap:5px;overflow:auto}
.govRow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:740px}
.driftRow{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1fr;gap:5px;min-width:680px}
.waterRow{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1fr;gap:5px;min-width:680px}
.govCell,.driftCell,.waterCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.stateStable{color:#6ee7ad}.stateWatch{color:#ffd978}.stateDrift{color:#ff8b95}
.barTiny{height:7px;border-radius:999px;background:#172536;overflow:hidden}.barTiny>i{display:block;height:100%;background:linear-gradient(90deg,#69a7ff,#4fd1c5)}
@media(max-width:800px){.govGrid{grid-template-columns:repeat(2,1fr)}}



.execGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.execBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.execBox b{display:block;font-size:14px;margin-top:4px}
.execStatus{font-weight:900}.execPending{color:#ffd978}.execPartial{color:#9ec6ff}.execLive{color:#6ee7ad}.execClosed{color:#9fb0c2}.execBad{color:#ff8b95}
.execEventRows{display:grid;gap:5px;overflow:auto}
.execEventRow{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1.4fr;gap:5px;min-width:650px}
.execCell{padding:7px 6px;border:1px solid #213247;border-radius:8px;background:#0b1520;text-align:center;font-size:9px}
@media(max-width:800px){.execGrid{grid-template-columns:repeat(2,1fr)}}



.piGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.piBox,.budgetBox,.familyBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}
.piBox b,.budgetBox b,.familyBox b{display:block;font-size:14px;margin-top:4px}
.piControls{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:8px 0}
.piTable,.clusterTable,.familyTable{display:grid;gap:5px;overflow:auto}
.piRow{display:grid;grid-template-columns:1.15fr .9fr .9fr .9fr .9fr .9fr 1.1fr;gap:5px;min-width:820px}
.clusterRow{display:grid;grid-template-columns:.65fr 1.6fr 1fr 1fr 1fr 1fr;gap:5px;min-width:740px}
.familyRow{display:grid;grid-template-columns:.65fr 1.8fr .8fr .8fr .8fr .8fr 1fr;gap:5px;min-width:840px}
.piCell,.clusterCell,.familyCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.budgetTrack{height:8px;background:#172536;border-radius:999px;overflow:hidden;margin-top:5px}
.budgetFill{height:100%;background:linear-gradient(90deg,#4fd1c5,#69a7ff)}
.budgetWarn{background:linear-gradient(90deg,#ffd978,#ffb25f)}
.budgetBad{background:linear-gradient(90deg,#ff9da5,#ff6675)}
.riskPass{color:#6ee7ad}.riskWatch{color:#ffd978}.riskBlock{color:#ff8b95}
.familyChip{display:inline-block;margin:2px;padding:4px 6px;border:1px solid #29445b;border-radius:999px;font-size:9px;background:#0b1520}
@media(max-width:800px){
 .piGrid{grid-template-columns:repeat(2,1fr)}
 .piControls{grid-template-columns:1fr 1fr}
}



.scanRecovery{margin-top:8px;padding:8px 10px;border:1px solid #29445b;border-radius:10px;background:#0b1520;font-size:10px}
.scanRecovery b{font-weight:900}.scanLive{color:#6ee7ad}.scanSaved{color:#9ec6ff}.scanSnapshot{color:#ffd978}



.rgGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.rgBox,.auditBox,.expBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.rgBox b,.auditBox b,.expBox b{display:block;font-size:14px;margin-top:4px}.rgControls{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:8px 0}.rgTable,.leakTable,.expTable{display:grid;gap:5px;overflow:auto}.rgRow{display:grid;grid-template-columns:.7fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:850px}.coefRow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:760px}.leakRow{display:grid;grid-template-columns:1.3fr .8fr 2fr;gap:5px;min-width:650px}.expRow{display:grid;grid-template-columns:.7fr 1.5fr 1fr 1fr 1fr 1fr 1.2fr 1fr;gap:5px;min-width:980px}.rgCell,.coefCell,.leakCell,.expCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}.auditPass{color:#6ee7ad}.auditWarn{color:#ffd978}.auditFail{color:#ff8b95}.expPromoted{color:#6ee7ad}.expCandidate{color:#9ec6ff}.expRejected{color:#ff8b95}.expResearch{color:#ffd978}@media(max-width:800px){.rgGrid,.rgControls{grid-template-columns:repeat(2,1fr)}}



.masterVerdict{border:1px solid #31506a;background:linear-gradient(135deg,#0a1723,#0d1b29);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.masterTop{display:grid;grid-template-columns:1.1fr repeat(5,1fr);gap:8px}
.masterHero{padding:14px;border:1px solid #2c4055;border-radius:14px;background:#08131e}.masterHero .big{font-size:30px;font-weight:950;line-height:1.05;margin-top:5px}
.masterMetric{padding:10px;border:1px solid #23384d;border-radius:12px;background:#0a1520}.masterMetric b{display:block;margin-top:4px;font-size:14px}
.masterReasons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.masterReasonBox{padding:10px;border:1px solid #23384d;border-radius:12px;background:#09141f}.masterReasonBox b{display:block;margin-bottom:6px}
.reasonChip{display:inline-block;padding:4px 7px;margin:2px;border:1px solid #2c4055;border-radius:999px;font-size:9px}.reasonGood{color:#6ee7ad}.reasonBad{color:#ff9da5}.reasonWarn{color:#ffd978}
.diGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.diBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.diBox b{display:block;font-size:14px;margin-top:4px}
.diTable{display:grid;gap:5px;overflow:auto}.diRow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:760px}.diCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.flowHeat{display:grid;gap:4px}.heatRow{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:5px;min-width:620px}.heatCell{padding:7px 6px;border:1px solid #213247;border-radius:8px;background:#0b1520;text-align:center;font-size:10px}.heatBar{height:8px;background:#172536;border-radius:999px;overflow:hidden}.heatBar i{display:block;height:100%}
.modelVersionRow{display:grid;grid-template-columns:.7fr 1.1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:760px}
.cmdPalette{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.cmdPalette.on{display:flex}.cmdBox{width:min(720px,92vw);background:#09131d;border:1px solid #31506a;border-radius:16px;padding:12px;box-shadow:0 25px 70px rgba(0,0,0,.45)}.cmdBox input{width:100%;font-size:16px;padding:12px}.cmdItems{display:grid;gap:5px;margin-top:8px;max-height:55vh;overflow:auto}.cmdItem{padding:9px;border:1px solid #203447;border-radius:9px;background:#0b1621;cursor:pointer}
@media(max-width:900px){.masterTop{grid-template-columns:1fr 1fr}.masterHero{grid-column:1/-1}.masterReasons{grid-template-columns:1fr}.diGrid{grid-template-columns:repeat(2,1fr)}}



.ldGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ldBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.ldBox b{display:block;font-size:14px;margin-top:4px}
.ldControls{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:8px 0}
.ldTable{display:grid;gap:5px;overflow:auto}.ldRow{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr 1fr 1.4fr;gap:5px;min-width:780px}.ldCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.reportHero{padding:12px;border:1px solid #2f4962;border-radius:14px;background:#0a1621}.reportHero .big{font-size:26px;font-weight:900}
.reportSections{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.reportSection{padding:10px;border:1px solid #213247;border-radius:12px;background:#09141e}.reportSection h4{margin:0 0 6px 0}
.syncReady{color:#6ee7ad}.syncWarn{color:#ffd978}.syncBad{color:#ff8b95}
@media(max-width:850px){.ldGrid,.ldControls{grid-template-columns:repeat(2,1fr)}.reportSections{grid-template-columns:1fr}}



.pv3Grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.pv3Box,.stressBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.pv3Box b,.stressBox b{display:block;font-size:14px;margin-top:4px}
.pv3Table,.stressTable{display:grid;gap:5px;overflow:auto}.pv3Row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:800px}.stressRow{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.4fr;gap:5px;min-width:760px}.pv3Cell,.stressCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.stressLoss{color:#ff9da5}.stressWarn{color:#ffd978}.stressGood{color:#6ee7ad}
.riskSpark{height:8px;background:#172536;border-radius:999px;overflow:hidden}.riskSpark i{display:block;height:100%;background:#7ea6d8}
@media(max-width:850px){.pv3Grid{grid-template-columns:repeat(2,1fr)}}



.ensGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.ensBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.ensBox b{display:block;font-size:14px;margin-top:4px}
.ensControls{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:8px 0}.ensTable{display:grid;gap:5px;overflow:auto}.ensRow{display:grid;grid-template-columns:1.25fr .8fr .8fr .8fr .8fr 1fr;gap:5px;min-width:800px}.ensCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.ensUsable{color:#6ee7ad}.ensWeak{color:#ffd978}.ensSkip{color:#ff9da5}
.disagreeTrack{height:8px;background:#172536;border-radius:999px;overflow:hidden;margin-top:6px}.disagreeTrack i{display:block;height:100%;background:#9bb7d7}
@media(max-width:850px){.ensGrid,.ensControls{grid-template-columns:repeat(2,1fr)}}



.extGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.extBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.extBox b{display:block;font-size:14px;margin-top:4px}.extBox small{display:block;margin-top:4px}
.extTable{display:grid;gap:5px;overflow:auto}.extRow{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr 1fr 1fr;gap:5px;min-width:820px}.extCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}
.extGood{color:#6ee7ad}.extWarn{color:#ffd978}.extBad{color:#ff9da5}.extMuted{color:#9aabba}
.heatLevel{display:grid;grid-template-columns:1fr 1fr 2fr;gap:6px;align-items:center}.heatTrack{height:8px;background:#172536;border-radius:999px;overflow:hidden}.heatTrack i{display:block;height:100%;background:#9bb7d7}
@media(max-width:850px){.extGrid{grid-template-columns:repeat(2,1fr)}}



.vcTop{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:10px}
.vcKpi{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px;min-width:0}
.vcKpi b{display:block;font-size:15px;margin-top:4px}.vcKpi .label{font-size:10px}
.vcAgreementWrap{margin-top:7px}.vcAgreementTrack{height:8px;border-radius:999px;background:#172536;overflow:hidden}.vcAgreementTrack i{display:block;height:100%;background:#9bb7d7}
.vcGroups{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.vcGroup{background:#09141e;border:1px solid #213247;border-radius:12px;padding:10px;min-height:100px}
.vcGroup h4{margin:0 0 7px 0;font-size:12px}.vcGroup .vcChip{display:inline-block;margin:3px 3px 0 0;padding:5px 7px;border-radius:999px;border:1px solid #2b3d52;font-size:10px}
.vcBull .vcChip{border-color:#1f6b50;color:#7be0b0}.vcBear .vcChip{border-color:#7d3440;color:#ff9fa9}.vcNeutral .vcChip{border-color:#5a6470;color:#b9c4cf}.vcBlock .vcChip{border-color:#8d5a24;color:#ffd178}
.vcFamilies{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.vcFamily{padding:9px;border:1px solid #213247;border-radius:11px;background:#0a151f}.vcFamily b{display:block;margin-top:3px}
.vcTable{display:grid;gap:5px;overflow:auto;margin-top:10px}.vcRow{display:grid;grid-template-columns:1.15fr .8fr .75fr .7fr .7fr 1fr 1.8fr;gap:5px;min-width:980px}.vcCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}.vcCell.note{text-align:left}
.vcBiasBull{color:#71e1ac}.vcBiasBear{color:#ff9ba5}.vcBiasNeutral{color:#aab8c5}.vcBiasBlock{color:#ffd178}
.vcSummary{margin-top:10px;padding:10px;border:1px solid #2d435a;border-radius:12px;background:#0a1621}
@media(max-width:1050px){.vcTop{grid-template-columns:repeat(4,1fr)}.vcFamilies{grid-template-columns:repeat(3,1fr)}}
@media(max-width:750px){.vcTop{grid-template-columns:repeat(2,1fr)}.vcGroups,.vcFamilies{grid-template-columns:1fr 1fr}}



.volHero{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.volHeroBox{background:linear-gradient(135deg,rgba(105,167,255,.11),rgba(79,209,197,.07));border:1px solid #29445b;border-radius:15px;padding:14px}
.volStateBig{font-size:28px;font-weight:900;letter-spacing:-.04em;margin-top:5px}.volGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.volBox{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.volBox b{display:block;font-size:14px;margin-top:4px}
.volTable{display:grid;gap:5px;overflow:auto}.volRow{display:grid;grid-template-columns:1fr .8fr .8fr .8fr .8fr .8fr .8fr;gap:5px;min-width:860px}.volCell{padding:8px 6px;border:1px solid #213247;border-radius:9px;background:#0b1520;text-align:center;font-size:10px}.volCell.note{text-align:left}
.volGauge{height:9px;background:#172536;border-radius:999px;overflow:hidden;margin-top:7px}.volGauge i{display:block;height:100%;background:#9bb7d7}
.volMap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.volTf{background:#0b1520;border:1px solid #213247;border-radius:12px;padding:10px}.volTf b{display:block;margin-top:4px}.volTf small{display:block;margin-top:3px;color:var(--muted)}
.volGood{color:#6ee7ad}.volWarn{color:#ffd978}.volBad{color:#ff9ca6}.volNeutral{color:#b5c0cc}
@media(max-width:900px){.volHero{grid-template-columns:1fr}.volGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.volGrid{grid-template-columns:repeat(2,1fr)}.volMap{grid-template-columns:repeat(2,1fr)}}


table{border-collapse:collapse;width:100%}td,th{border:1px solid #334;padding:8px;text-align:left}

:focus-visible{outline:2px solid #69a7ff;outline-offset:2px}
[aria-disabled="true"]{opacity:.6;pointer-events:none}

.offlineBanner{position:sticky;top:0;z-index:9999;padding:8px 12px;background:#5b3217;color:#ffe0ad;border-bottom:1px solid #b46d28;font-size:12px;text-align:center}.offlineBanner[hidden]{display:none!important}.networkDisabled{opacity:.55;pointer-events:none}

/* v54 progressive disclosure */
.vcDetails{margin-top:10px;border:1px solid #213247;border-radius:12px;padding:8px 10px;background:#08131d}.vcDetails>summary{cursor:pointer;font-weight:800;color:#d9e6f2;outline:none;padding:5px}.vcDetails>summary:focus-visible{box-shadow:0 0 0 2px #4fd1c5;border-radius:8px}.vcDetails[open]>summary{margin-bottom:8px}.refStale{color:#ff9ca6}.refAging{color:#ffd978}.refFresh{color:#6ee7ad}

/* ============================================================
   v55 · WIDE TERMINAL UI
   Desktop-only terminal layout. Mobile/tablet behavior below
   980px intentionally keeps the proven v54 navigation model.
   ============================================================ */

/* v54 contained a report-style body rule at the tail of the stylesheet.
   Neutralize it for the actual application shell. */
html,body{width:100%;max-width:none!important;margin:0!important;padding:0!important}
body{min-height:100vh;overflow-x:hidden}

@media(min-width:981px){
  :root{--sidebar:205px;--topbar:56px}
  .sideNav{padding:12px 9px;gap:9px}
  .sideBrand{padding:2px 5px 8px}
  .sideLogo{width:32px;height:32px;border-radius:10px}
  .sideTitle{font-size:13px}.sideSub{font-size:8px}
  .sideMenu{gap:2px;overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin;scrollbar-color:#29445b transparent}
  .sideBtn{padding:7px 8px;gap:7px;border-radius:9px;font-size:10px;min-height:31px}
  .sideIcon{width:18px;font-size:12px}
  .sideFooter{padding:8px;border-radius:10px}

  .mainArea{width:calc(100vw - var(--sidebar));max-width:none;min-width:0}
  .topStatus{height:var(--topbar);padding:8px 14px}
  .topCoin{font-size:15px}.statusChip{padding:5px 8px;font-size:9px}

  main{width:100%;max-width:none!important;margin:0!important;padding:12px 14px 28px!important}

  .toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);column-gap:10px;align-items:start;padding:10px;border-radius:14px}
  .controls{grid-column:1;grid-row:1;grid-template-columns:150px minmax(220px,1fr) 88px 120px 180px;gap:7px}
  .actions{grid-column:2;grid-row:1;grid-template-columns:minmax(160px,1fr) 44px;gap:7px;margin-top:0}
  .toolbar>.scroll{grid-column:1/-1;padding-top:6px}
  .toolbar>.status{grid-column:1/-1;margin-top:5px}
  input,select,button{padding:9px 10px;font-size:12px;border-radius:10px}

  .heroStrip{grid-template-columns:minmax(300px,.85fr) minmax(520px,1.45fr);gap:9px;margin:9px 0}
  .heroSummary{padding:12px;border-radius:13px}
  .heroCoin{font-size:24px}.heroSignal{font-size:24px}.heroPrice{font-size:18px}
  .quickGrid{grid-template-columns:repeat(4,1fr);gap:7px}
  .quickCard{min-height:72px;padding:10px}

  .tabs{grid-template-columns:repeat(8,minmax(90px,1fr));position:relative;top:auto;margin:9px 0;padding:4px;border-radius:12px;gap:4px}
  .tab{padding:8px 5px;font-size:9px}

  .dashWideGrid{grid-template-columns:repeat(24,minmax(0,1fr));gap:9px;align-items:start}
  .dashWideGrid>.card{min-width:0;padding:12px;border-radius:13px}
  .dashWideGrid>.dashLineage,.dashWideGrid>.dashMaster{grid-column:1/-1}
  .dashWideGrid>.dashComposite{grid-column:span 6}
  .dashWideGrid>.dashProbabilistic{grid-column:span 6}
  .dashWideGrid>.dashSentiment{grid-column:span 12}
  .dashWideGrid>.card.kpi{grid-column:span 6;min-height:88px}
  .dashWideGrid>.dashChart{grid-column:span 16}
  .dashWideGrid>.dashMarketContext{grid-column:span 8}
  .dashWideGrid>.dashSignalExplain,.dashWideGrid>.dashLifecycle{grid-column:span 12}
  .dashWideGrid>.dashVolSqueeze,.dashWideGrid>.dashLiqProxy,.dashWideGrid>.dashAdvanced{grid-column:span 8}
  .dashWideGrid>.dashSrLadder,.dashWideGrid>.dashSrHeat{grid-column:span 12}
  .dashWideGrid>.dashOrderFlow,.dashWideGrid>.dashMoneyFlow{grid-column:span 12}
  .dashWideGrid>.dashIndicatorMatrix,.dashWideGrid>.dashTechPlan{grid-column:span 12}

  .sourceCard{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
  .masterTop{grid-template-columns:minmax(220px,1.45fr) repeat(7,minmax(105px,1fr));gap:7px}
  .masterHero{padding:12px}.masterHero .big{font-size:27px}
  .masterMetric{padding:8px}.masterMetric b{font-size:12px}
  .masterReasons{grid-template-columns:1fr 1fr;gap:7px}
  .vcTop{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
  .vcKpi{padding:8px}.vcKpi b{font-size:13px}
  .vcFamilies{grid-template-columns:repeat(5,minmax(0,1fr))}
  .vcGroups{grid-template-columns:repeat(4,minmax(0,1fr))}

  #chart{width:100%!important;height:430px!important;display:block}
  .chartHeader{align-items:center}
  .ctxGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .volGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .metricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .levelsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .orderFlow{grid-template-columns:1fr 1fr;gap:8px}
  .flowGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}

  /* Non-dashboard labs should also use the available monitor width. */
  .panel:not(#dash)>.card.full,.panel:not(#dash) .card.full{max-width:none}
  .rgGrid,.ldGrid,.pv3Grid,.ensGrid,.extGrid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .volHero{grid-template-columns:1.25fr .75fr}
  .volMap{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(min-width:1500px){
  :root{--sidebar:195px}
  main{padding-left:12px!important;padding-right:12px!important}
  .dashWideGrid{gap:8px}
  .masterTop{grid-template-columns:minmax(240px,1.5fr) repeat(7,minmax(115px,1fr))}
  #chart{height:470px!important}
}

@media(min-width:2200px){
  :root{--sidebar:188px}
  .sideBtn{font-size:9px;padding:6px 7px;min-height:29px}
  main{padding:10px 11px 26px!important}
  .dashWideGrid{grid-template-columns:repeat(30,minmax(0,1fr));gap:8px}
  .dashWideGrid>.dashLineage,.dashWideGrid>.dashMaster{grid-column:1/-1}
  .dashWideGrid>.dashComposite{grid-column:span 6}
  .dashWideGrid>.dashProbabilistic{grid-column:span 6}
  .dashWideGrid>.dashSentiment{grid-column:span 18}
  .dashWideGrid>.card.kpi{grid-column:span 6}
  .dashWideGrid>.dashChart{grid-column:span 20}
  .dashWideGrid>.dashMarketContext{grid-column:span 10}
  .dashWideGrid>.dashSignalExplain,.dashWideGrid>.dashLifecycle{grid-column:span 15}
  .dashWideGrid>.dashVolSqueeze,.dashWideGrid>.dashLiqProxy,.dashWideGrid>.dashAdvanced{grid-column:span 10}
  .dashWideGrid>.dashSrLadder,.dashWideGrid>.dashSrHeat,.dashWideGrid>.dashOrderFlow,.dashWideGrid>.dashMoneyFlow,.dashWideGrid>.dashIndicatorMatrix,.dashWideGrid>.dashTechPlan{grid-column:span 15}
  #chart{height:510px!important}
}

/* ============================================================
   v56 · VERDICT EXPLAINER
   Makes Master Verdict actionable and explicit without changing
   the hardened v54.1 research engine contract.
   ============================================================ */
.decisionBrief{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(520px,1.15fr);gap:9px;margin-bottom:10px}
.decisionPrimary{padding:16px;border:1px solid #385874;border-radius:15px;background:linear-gradient(145deg,#08131d,#0b1b29);min-height:178px}
.decisionPrimaryHead{display:flex;justify-content:space-between;align-items:center;gap:8px}.decisionCall{font-size:42px;font-weight:950;letter-spacing:-.045em;line-height:1;margin:10px 0 7px}.decisionHeadline{font-size:14px;font-weight:800;line-height:1.4;color:#dce8f4}.decisionActionLine{margin-top:11px;padding:10px 11px;border-radius:11px;background:#0e2030;border:1px solid #29445b;font-size:12px;font-weight:800;line-height:1.45}
.decisionRisk{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;border:1px solid #40566b;font-size:9px;font-weight:900;letter-spacing:.04em}.decisionRisk.good{color:#70e2ad;border-color:#237052;background:rgba(35,112,82,.12)}.decisionRisk.bad{color:#ff9ba5;border-color:#7c3741;background:rgba(124,55,65,.12)}.decisionRisk.warn{color:#ffd477;border-color:#805a29;background:rgba(128,90,41,.12)}.decisionRisk.neutral{color:#b8c7d6}
.decisionKpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.decisionKpi{padding:11px;border:1px solid #263d53;border-radius:12px;background:#09151f;min-width:0}.decisionKpi b{display:block;margin-top:4px;font-size:15px;white-space:normal;overflow-wrap:anywhere}
.decisionExplainGrid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.decisionExplain{padding:11px;border:1px solid #263d53;border-radius:12px;background:#09141e;min-height:104px}.decisionExplain>b{display:block;margin-bottom:7px;font-size:11px}.decisionExplain.support>b{color:#72e2ad}.decisionExplain.oppose>b{color:#ff9da7}.decisionExplain.unlock>b{color:#ffd478}.decisionList{display:grid;gap:5px}.decisionListItem{display:flex;gap:7px;align-items:flex-start;padding:5px 7px;border-radius:8px;background:#0c1924;border:1px solid #1f3346;font-size:10px;line-height:1.35}.decisionListItem i{font-style:normal;font-weight:950;min-width:12px}.decisionListItem.support i{color:#70dfa9}.decisionListItem.oppose i{color:#ff98a3}.decisionListItem.unlock i{color:#ffd071}.decisionListItem.neutral i{color:#9fb0bf}
.decisionTrade{grid-column:1/-1;display:grid;grid-template-columns:140px 1fr;column-gap:10px;row-gap:3px;align-items:center;padding:11px 12px;border:1px solid #2f4a63;border-radius:12px;background:#0a1722}.decisionTrade>b{font-size:12px}.decisionTrade>.small{grid-column:2}
@media(min-width:1500px){.decisionBrief{grid-template-columns:minmax(340px,.72fr) minmax(720px,1.28fr)}.decisionPrimary{min-height:168px}.decisionKpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1100px){.decisionBrief{grid-template-columns:1fr}.decisionKpis{grid-template-columns:repeat(3,minmax(0,1fr))}.decisionExplainGrid{grid-template-columns:1fr 1fr}.decisionExplain.unlock{grid-column:1/-1}}
@media(max-width:700px){.decisionKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.decisionExplainGrid{grid-template-columns:1fr}.decisionExplain.unlock{grid-column:auto}.decisionTrade{grid-template-columns:1fr}.decisionTrade>.small{grid-column:1}.decisionCall{font-size:35px}.decisionPrimary{min-height:0}}


/* v57 · Profit Readiness Gate */
.dashReadiness{grid-column:1/-1!important}
.prGateDash,.prPrimary,.prCurrent,.prBox,.prMarketCard{border:1px solid #294158;background:#0a1621;border-radius:13px}
.prGateDash{padding:12px}.prDashHero{display:grid;grid-template-columns:minmax(360px,1.35fr) minmax(260px,.65fr);gap:10px;align-items:stretch}.prDashHero>div{padding:12px;border:1px solid #24384d;border-radius:12px;background:#0b1722}
.prState{font-size:28px;font-weight:950;letter-spacing:-.035em;margin-top:5px}.prNotReady{color:#ff9ca6}.prPaperReady{color:#ffd978}.prLiveReady{color:#6ee7ad}.prDashMeter{display:flex;flex-direction:column;justify-content:center}
.prTrack{height:9px;background:#172536;border-radius:999px;overflow:hidden;margin-top:8px}.prTrack i{display:block;height:100%;background:linear-gradient(90deg,#5c789a,#8fb3dc);transition:width .25s ease}
.prDashKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:9px}.prMini,.prBox{padding:9px 10px}.prMini{border:1px solid #24384d;border-radius:11px;background:#0b1722}.prMini b,.prBox b{display:block;margin-top:4px;font-size:14px}
.prHero{display:grid;grid-template-columns:minmax(440px,1.3fr) minmax(340px,.7fr);gap:10px}.prPrimary,.prCurrent{padding:15px}.prHeadline{font-size:16px;font-weight:800;margin:6px 0}.prVerify{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:var(--muted);margin-top:10px;line-height:1.4}.prVerify input{width:auto;min-width:auto;margin-top:1px}
.prKpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:10px}.prColumns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.prGateList{display:grid;gap:6px}.prCriterion{display:grid;grid-template-columns:26px 1.2fr .75fr 1.3fr;gap:7px;align-items:center;border:1px solid #22364b;border-radius:10px;padding:8px;background:#0b1722;font-size:10px}.prCriterion .prIcon{font-size:16px;text-align:center;font-weight:900}.prCriterion.pass .prIcon{color:#6ee7ad}.prCriterion.fail .prIcon{color:#ff9ca6}.prCriterion.warn .prIcon{color:#ffd978}.prCriterion b{font-size:10px}.prCriterion .small{text-align:right}.prMarketCompare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prMarketCard{padding:14px}.prMarketCard>b{display:block;font-size:20px;margin:5px 0}
@media(min-width:1800px){.prKpis{grid-template-columns:repeat(14,minmax(0,1fr))}}
@media(max-width:1200px){.prKpis{grid-template-columns:repeat(4,minmax(0,1fr))}.prDashKpis{grid-template-columns:repeat(3,minmax(0,1fr))}.prCriterion{grid-template-columns:24px 1fr .8fr 1fr}}
@media(max-width:980px){.prDashHero,.prHero,.prColumns,.prMarketCompare{grid-template-columns:1fr}.prKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.prDashKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.prCriterion{grid-template-columns:22px 1fr}.prCriterion .prCurrentVal,.prCriterion .small{text-align:left;padding-left:29px;grid-column:1/-1}.prState{font-size:24px}}
