:root{
  --bg:#05070a;
  --sidebar:#070a0e;
  --panel:#111820;
  --panel2:#141c26;
  --border:rgba(255,255,255,.12);
  --text:#eef3fb;
  --muted:#9da7b8;
  --gold:#f6c64b;
  --cyan:#20c7ff;
  --green:#31e46b;
  --red:#ff554d;
  --purple:#8b6cff;
  --orange:#ff8a2f;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at top,#111827,#05070a 55%);color:var(--text)}
.app{display:flex;min-height:100vh}
.sidebar{width:255px;position:fixed;left:0;top:0;bottom:0;background:linear-gradient(180deg,#080c11,#030406);border-right:1px solid var(--border);padding:24px 16px}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:34px}
.brand-logo{width:48px;height:48px;border:3px solid var(--gold);border-radius:13px;color:var(--gold);font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center}
.brand-name{font-size:23px;color:var(--gold);font-weight:900}
.brand-sub{font-size:13px;color:var(--muted);margin-top:4px}
nav{display:flex;flex-direction:column;gap:8px}
nav a{padding:12px 16px;border-radius:10px;color:#c9d1dc;text-decoration:none;font-size:16px}
nav a.active{background:linear-gradient(90deg,rgba(246,198,75,.18),rgba(246,198,75,.04));color:var(--gold);border:1px solid rgba(246,198,75,.5)}
.side-card{position:absolute;left:16px;right:16px;bottom:72px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.04);padding:14px}
.side-title{color:var(--muted);font-size:13px}.side-card strong{display:block;color:var(--gold);font-size:18px;margin:8px 0 14px}.side-row{display:flex;justify-content:space-between;color:var(--muted)}.side-row b{color:#ccd3de}.version{position:absolute;bottom:24px;color:#657083;font-size:12px}
.main{margin-left:255px;width:calc(100% - 255px);padding:22px 28px 36px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title{font-size:34px;font-weight:900}.top-actions{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:14px}.refresh,.chip{border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);padding:9px 13px;border-radius:8px}.chip.green{color:var(--green);border-color:rgba(49,228,107,.35)}.chip.gray{color:#d4dae4}
.hero-grid{display:grid;grid-template-columns:1fr repeat(3,minmax(180px,1fr));gap:14px;margin-bottom:24px;align-items:start}.hero-card,.metric-card,.panel,.asset-card{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border-radius:14px;box-shadow:0 16px 32px rgba(0,0,0,.22)}
.hero-section{margin-bottom:24px;height:auto;min-height:unset}
.hero-grid{display:grid;align-items:start;gap:16px;height:auto;min-height:unset}
.hero-card{padding:24px 26px;border-color:rgba(246,198,75,.45)}.hero-card h2{margin:0 0 16px}.market-status{border:1px solid rgba(246,198,75,.7);background:rgba(246,198,75,.08);color:var(--gold);font-size:clamp(22px,2.2vw,28px);font-weight:900;padding:14px 18px;border-radius:13px;margin-bottom:16px;display:flex;gap:14px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-icon{width:48px;height:48px;border-radius:50%;background:rgba(246,198,75,.18);display:flex;align-items:center;justify-content:center}.hero-card p{color:#e8edf5;line-height:1.7}.focus-line b{color:var(--gold)}
.metric-card{padding:18px;min-height:220px;position:relative;overflow:hidden}.metric-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:rgba(255,255,255,.08)}.metric-label{font-weight:800;margin-top:12px}.metric-value{font-size:40px;font-weight:900;margin:4px 0}.metric-sub,.metric-time{color:var(--muted);font-size:13px}.metric-time{position:absolute;bottom:14px}.metric-card.cyan .metric-icon{color:var(--cyan);background:rgba(32,199,255,.13)}.metric-card.green .metric-icon{color:var(--green);background:rgba(49,228,107,.13)}.metric-card.red .metric-icon{color:var(--red);background:rgba(255,85,77,.13)}.metric-card.purple .metric-icon{color:var(--purple);background:rgba(139,108,255,.13)}
.mini-line{height:28px;margin-top:12px;border-bottom:2px solid currentColor;opacity:.6;clip-path:polygon(0 70%,15% 50%,25% 65%,42% 32%,58% 62%,75% 30%,90% 44%,100% 35%,100% 100%,0 100%)}
.section-head{display:flex;align-items:center;gap:14px;margin:8px 0 12px;justify-content:space-between;width:100%}.section-head h2{margin:0;font-size:22px}.section-head span{color:var(--muted);font-size:13px}.section-head a{margin-left:0;color:#cbd3df;text-decoration:none}
.asset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.asset-card{padding:16px}.asset-card.featured{border-color:rgba(246,198,75,.7);box-shadow:0 0 0 1px rgba(246,198,75,.18)}.asset-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.coin{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}.btc{background:#f7931a}.eth{background:#d8dce2;color:#111}.doge{background:#d9ae42}.bnb{background:#f0b90b}.sol{background:#41e0a8}.xrp{background:#262b34}.asset-top b{font-size:20px}.asset-top em{margin-left:auto;font-style:normal;background:rgba(49,228,107,.14);border:1px solid rgba(49,228,107,.35);color:var(--green);padding:5px 9px;border-radius:7px;font-size:12px}.asset-top em.observe{background:rgba(32,199,255,.12);border-color:rgba(32,199,255,.3);color:var(--cyan)}
.asset-card{padding:14px}
.asset-top{margin-bottom:8px}
.status-badge{display:inline-block;padding:4px 8px;border-radius:8px;font-size:12px}
.status-badge.green{background:rgba(49,228,107,0.12);color:var(--green);border:1px solid rgba(49,228,107,0.2)}
.status-badge.warn{background:rgba(255,138,47,0.08);color:var(--orange);border:1px solid rgba(255,138,47,0.12)}
.status-badge.observe{background:rgba(255,255,255,0.03);color:var(--muted);border:1px solid rgba(255,255,255,0.03)}
.status-badge.status-active{background:rgba(49,228,107,0.12);color:var(--green);border:1px solid rgba(49,228,107,0.2)}
.status-badge.status-lab{background:rgba(255,214,102,0.12);color:var(--gold);border:1px solid rgba(255,214,102,0.12)}
.status-badge.status-missing{background:rgba(255,255,255,0.02);color:var(--muted);border:1px solid rgba(255,255,255,0.03)}
.status-badge.status-needs_key{background:rgba(255,138,47,0.12);color:var(--orange);border:1px solid rgba(255,138,47,0.12)}
.status-badge.status-failed{background:rgba(255,85,77,0.12);color:var(--red);border:1px solid rgba(255,85,77,0.12)}
.status-badge.status-active_embedded{background:rgba(32,199,255,0.10);color:var(--cyan);border:1px solid rgba(32,199,255,0.12)}
.price-block{margin-top:10px;padding:12px 14px;background:rgba(255,255,255,0.02);border-radius:10px}
.price-main{font-size:28px;font-weight:950;line-height:1.05;letter-spacing:0;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.price-value-wrap{min-width:0;display:flex;align-items:baseline;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-main.price-profit{color:var(--green)}
.price-main.price-loss{color:var(--red)}
.price-main.price-neutral{color:#eef3fb}
.price-trend-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:13px;font-weight:900;vertical-align:middle;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.price-trend-badge.up{color:var(--green);border-color:rgba(49,228,107,.28);background:rgba(49,228,107,.10)}
.price-trend-badge.down{color:var(--red);border-color:rgba(255,85,77,.30);background:rgba(255,85,77,.10)}
.price-trend-badge.flat{color:var(--muted)}
.price-currency{font-size:14px;color:currentColor;opacity:.78}
.price-meta{font-size:12px;color:#9da7b8;margin-top:6px}
.price-change{margin-top:6px;font-size:13px;color:#cbd3df}
.asset-metrics{display:flex;gap:12px;margin-top:10px;color:#cbd3df;font-size:13px}
.refresh-price.large{padding:6px 10px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);color:rgba(255,255,255,0.92);opacity:0.95}
.refresh-price.large:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);opacity:1}
.sim-action{padding:8px 14px;border-radius:6px;font-weight:800;font-size:14px;border:none;cursor:pointer}
.sim-action.sim-long{background:#dffcf5;color:var(--green);border:1px solid rgba(49,228,107,0.18)}
.sim-action.sim-short{background:#fff6ec;color:var(--orange);border:1px solid rgba(255,138,47,0.12)}
.sim-action.sim-close{background:#fff8e6;color:var(--gold);border:1px solid rgba(246,198,75,0.25)}
.sim-panel input[type="text"],.sim-panel input[type="number"],.sim-panel select{width:100%;padding:6px;margin-top:4px;margin-bottom:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--text)}
.pnl-positive{color:var(--green);font-weight:700}
.pnl-negative{color:var(--red);font-weight:700}
.tag{display:inline-block;padding:3px 8px;border-radius:6px;font-weight:800}
.tag-long{background:rgba(32,199,255,0.12);color:var(--cyan);border:1px solid rgba(32,199,255,0.12)}
.tag-short{background:rgba(255,138,47,0.06);color:var(--orange);border:1px solid rgba(255,138,47,0.12)}
.num{ text-align: right; font-variant-numeric: tabular-nums; }
.src-label{padding:2px 6px;border-radius:6px;font-size:12px}
.src-binance{background:rgba(32,199,255,0.10);color:var(--cyan);border:1px solid rgba(32,199,255,0.12)}
.src-okx{background:rgba(32,199,255,0.10);color:var(--cyan);border:1px solid rgba(32,199,255,0.12)}
.src-snapshot{background:rgba(255,214,102,0.12);color:var(--gold);border:1px solid rgba(255,214,102,0.12)}
.src-warning{background:rgba(255,138,47,0.12);color:var(--orange);border:1px solid rgba(255,138,47,0.12)}
.table-scroll{overflow-x:auto;width:100%;}
.positions-table{min-width:1180px}
.reverse-position-alert{margin-top:8px;padding:9px 10px;border-radius:8px;border:1px solid rgba(255,138,47,0.36);background:rgba(255,138,47,0.08);color:#ffe4cc;max-width:420px;line-height:1.35}
.reverse-position-alert.danger{border-color:rgba(255,85,77,0.58);background:rgba(255,85,77,0.12);color:#ffd8d5}
.reverse-position-alert strong{display:block;color:#fff;font-size:12px;margin-bottom:4px}
.reverse-position-alert span,.reverse-position-alert small{display:block;font-size:12px}
.reverse-position-alert small{color:#b9c3d1;margin-top:3px}
.home-reverse-alert{margin:10px 0 8px;padding:10px 11px;border-radius:9px;border:1px solid rgba(255,138,47,0.42);background:linear-gradient(180deg,rgba(255,138,47,0.16),rgba(255,138,47,0.07));color:#ffe7d1;line-height:1.35}
.home-reverse-alert.danger{border-color:rgba(255,85,77,0.68);background:linear-gradient(180deg,rgba(255,85,77,0.20),rgba(255,85,77,0.08));color:#ffd9d6}
.home-reverse-alert-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.home-reverse-alert-head strong{color:#fff;font-size:13px}
.home-reverse-alert-head span{border:1px solid rgba(255,255,255,0.18);border-radius:999px;padding:2px 7px;font-size:12px;font-weight:900}
.home-reverse-alert small{display:block;color:#cbd3df;font-size:12px;margin-top:3px}
.trades-table{min-width:1450px}
table th, table td{padding:8px 10px}
table th{white-space:nowrap;text-align:left}
table td.num{text-align:right}
.operation-cell{display:flex;gap:8px;align-items:center;justify-content:flex-end;white-space:nowrap}
.src-label{font-size:11px;padding:2px 6px}
.asset-kv{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);padding:5px 0;color:#cbd2dd}.up{color:var(--green)}.asset-card p{font-size:13px;line-height:1.5;color:#cbd3df;border-left:3px solid var(--green);padding-left:8px;margin:12px 0 0}
.two-col{display:grid;grid-template-columns:1fr 1.08fr;gap:14px;margin-bottom:14px}.two-col.futures-only{grid-template-columns:1fr}.panel{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel h2{margin:0 0 14px}.panel button{background:rgba(246,198,75,.09);color:var(--gold);border:1px solid rgba(246,198,75,.45);border-radius:8px;padding:8px 12px}
.summary-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px}.summary-grid div,.mini-status div,.signal-grid div,.system-chips span{border:1px solid var(--border);background:rgba(255,255,255,.04);border-radius:10px;padding:14px}.summary-grid span,.mini-status span{display:block;color:var(--muted);font-size:13px}.summary-grid b{font-size:36px}.summary-grid strong{font-size:24px;color:var(--cyan)}.risk-level{margin-top:16px}.risk-level em{font-style:normal;color:var(--gold);border:1px solid rgba(246,198,75,.45);border-radius:8px;padding:7px 16px;background:rgba(246,198,75,.08)}
.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.signal-grid p{color:#cbd3df;min-height:48px}.signal-grid button{width:100%}
.bottom{grid-template-columns:1fr 1fr}.mini-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:start}.mini-status b{display:block;margin-top:8px}.ok{color:var(--green)}.yellow{color:var(--gold)}.cyan{color:var(--cyan)}.system-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.system-chips b{display:block;margin-top:6px}.warning{color:#ffb6b1;border-color:rgba(255,85,77,.3)!important}
.update-conclusion{margin-top:12px;border-top:1px solid rgba(255,255,255,.04);padding-top:12px}
.conclusion-text{white-space:normal;word-wrap:break-word}
@media(max-width:1200px){.hero-grid{grid-template-columns:1fr repeat(2,minmax(150px,1fr))}.asset-row{grid-template-columns:repeat(2,1fr)}.mini-status,.system-chips{grid-template-columns:repeat(2,1fr)} }
@media(max-width:700px){.hero-grid{grid-template-columns:1fr;grid-auto-rows:auto}.asset-row{grid-template-columns:1fr}.mini-status,.system-chips{grid-template-columns:1fr} }

/* P1 candidate suggestion highlight */
.p1-suggestion{color:var(--gold);font-weight:700}

/* simulate buttons */
.sim-btn{padding:6px 10px;border-radius:8px;text-decoration:none;color:#0b1220;font-weight:700;font-size:13px}
.sim-long{background:linear-gradient(90deg, rgba(32,199,255,0.12), rgba(49,228,107,0.12));border:1px solid rgba(32,199,255,0.18);color:var(--cyan)}
.sim-short{background:linear-gradient(90deg, rgba(255,138,47,0.06), rgba(255,85,77,0.06));border:1px solid rgba(255,138,47,0.12);color:var(--orange)}
.sim-action{padding:6px 10px;border-radius:8px;font-weight:700;font-size:13px;border:none;cursor:pointer}
.sim-action.sim-long{background:linear-gradient(90deg,#e6fffb,#d6fff0);color:var(--cyan);border:1px solid rgba(32,199,255,0.2)}
.sim-action.sim-short{background:linear-gradient(90deg,#fff3e6,#fff0e6);color:var(--orange);border:1px solid rgba(255,138,47,0.12)}
.sim-action.sim-close{background:linear-gradient(90deg,#f6e7c6,#efe6c0);color:var(--gold);border:1px solid rgba(246,198,75,0.25)}
.sim-panel{background:rgba(255,255,255,0.02);padding:8px;border-radius:8px}
.pnl-tag{font-size:13px;padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,0.03);background:rgba(255,255,255,0.01)}
.sim-panel input[type="text"],.sim-panel input[type="number"],.sim-panel select{width:100%;padding:6px;margin-top:4px;margin-bottom:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--text)}
.price-line{font-size:14px;color:#cbd3df}

/* drawer styles for quick new simulated trade */
#drawer-overlay{transition:opacity .18s ease}
#trade-drawer{transition:transform .2s ease}
@media(min-width:900px){#trade-drawer{width:420px}}
@media(max-width:900px){#trade-drawer{width:90vw}}
#trade-drawer h3{margin:0}
#trade-drawer label{font-size:13px;color:#cbd3df}
#trade-drawer input, #trade-drawer select{font-size:14px}
#trade-drawer #drawer-submit{font-weight:900}
#drawer-overlay{backdrop-filter:blur(2px)}
.drawer-order-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
#trade-drawer .drawer-order-row input,
#trade-drawer .drawer-order-row select{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid rgba(233,238,225,.14);
  background:rgba(233,238,225,.045);
  color:#f4f7ef;
  box-sizing:border-box;
}
.drawer-direction-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.drawer-direction-row button,
.drawer-slider-block button{
  min-height:42px;
  border-radius:8px;
  border:1px solid rgba(233,238,225,.13);
  background:rgba(233,238,225,.045);
  color:#f4f7ef;
  font-weight:900;
  cursor:pointer;
}
.drawer-direction-row button[data-drawer-direction="long"]{
  border-color:rgba(103,228,143,.26);
  background:rgba(103,228,143,.055);
  color:#67e48f;
}
.drawer-direction-row button[data-drawer-direction="short"]{
  border-color:rgba(255,138,126,.28);
  background:rgba(255,138,126,.055);
  color:#ff8a7e;
}
.drawer-direction-row button[data-drawer-direction="long"].active{
  border-color:rgba(103,228,143,.72);
  background:linear-gradient(135deg,rgba(103,228,143,.92),rgba(114,231,209,.74));
  color:#06110d;
}
.drawer-direction-row button[data-drawer-direction="short"].active{
  border-color:rgba(255,138,126,.72);
  background:linear-gradient(135deg,rgba(255,138,126,.92),rgba(242,200,91,.45));
  color:#160706;
}
.drawer-slider-block{
  margin-top:10px;
  padding:10px;
  border-radius:8px;
  border:1px solid rgba(233,238,225,.12);
  background:rgba(233,238,225,.035);
  touch-action:pan-x;
}
.drawer-slider-head,
.drawer-slider-marks{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.drawer-slider-head{
  color:#cbd3df;
  font-size:13px;
  font-weight:800;
}
.drawer-slider-head strong{
  color:#72e7d1;
  font-size:18px;
}
.drawer-slider{
  width:100%;
  height:38px;
  margin:6px 0 3px;
  accent-color:#72e7d1;
  touch-action:pan-x;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  background:transparent;
}
.drawer-slider::-webkit-slider-runnable-track{
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(114,231,209,.42),rgba(242,200,91,.28));
  border:1px solid rgba(233,238,225,.13);
}
.drawer-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:30px;
  height:30px;
  margin-top:-10px;
  border-radius:50%;
  border:2px solid rgba(6,8,13,.92);
  background:#72e7d1;
  box-shadow:0 0 0 8px rgba(114,231,209,.13),0 7px 16px rgba(0,0,0,.28);
}
.drawer-slider::-moz-range-track{
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(114,231,209,.42),rgba(242,200,91,.28));
  border:1px solid rgba(233,238,225,.13);
}
.drawer-slider::-moz-range-thumb{
  width:30px;
  height:30px;
  border-radius:50%;
  border:2px solid rgba(6,8,13,.92);
  background:#72e7d1;
  box-shadow:0 0 0 8px rgba(114,231,209,.13),0 7px 16px rgba(0,0,0,.28);
}
.drawer-slider-marks{
  color:#7f8a96;
  font-size:11px;
}

/* paper summary cards */
.paper-summary-section{margin-top:8px}
.paper-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.paper-summary-card{background:rgba(8,10,14,0.85);border:1px solid rgba(255,255,255,0.06);padding:14px;border-radius:10px;min-height:72px;display:flex;flex-direction:column;justify-content:center;color:#ffffff}
.paper-summary-label{color:var(--muted);font-size:13px;margin-bottom:6px}
.paper-summary-value{font-size:22px;font-weight:900}
.paper-summary-positive{color:var(--green)}
.paper-summary-negative{color:var(--red)}
.paper-summary-neutral{color:var(--text)}
.paper-pnl-panel{
  margin-top:14px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:10px;
  background:rgba(255,255,255,0.025);
  padding:14px;
}
.paper-pnl-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.paper-pnl-head h3{margin:0 0 4px}
.paper-pnl-head h3 + div{font-size:12px;color:var(--muted)}
.paper-pnl-switches{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
}
.paper-pnl-switches div{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.paper-pnl-switches a{
  color:#cbd3df;
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  border-radius:7px;
  padding:5px 8px;
  font-size:12px;
}
.paper-pnl-switches a.active{
  color:var(--gold);
  border-color:rgba(246,198,75,0.35);
  background:rgba(246,198,75,0.08);
}
.paper-pnl-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.paper-pnl-grid>div,
.paper-pnl-breakdown>div{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  background:rgba(0,0,0,0.14);
  padding:10px;
}
.paper-pnl-grid span,
.paper-pnl-breakdown span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px;
}
.paper-pnl-grid strong{
  display:block;
  font-size:18px;
  line-height:1.15;
}
.paper-pnl-breakdown{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.paper-pnl-breakdown strong{
  display:block;
  font-size:16px;
}
.paper-pnl-breakdown small{
  display:block;
  color:var(--muted);
  margin-top:5px;
  font-size:12px;
}
.paper-trend-panel{overflow:hidden}
.paper-trend-summary{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  color:#cbd3df;
  font-size:12px;
}
.paper-trend-summary span{
  border:1px solid rgba(255,255,255,0.09);
  border-radius:7px;
  background:rgba(255,255,255,0.03);
  padding:5px 8px;
}
.paper-trend-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.paper-trend-metrics>div{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  background:rgba(0,0,0,0.14);
  padding:10px;
}
.paper-trend-metrics span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px;
}
.paper-trend-metrics strong{
  display:block;
  font-size:16px;
  line-height:1.15;
}
.paper-trend-chart-wrap{
  position:relative;
  margin-top:12px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  background:rgba(4,8,12,0.40);
  padding:8px;
}
.paper-trend-chart-wrap canvas{
  display:block;
  width:100%;
  height:320px;
}
.paper-trend-tooltip{
  position:absolute;
  z-index:2;
  min-width:156px;
  border:1px solid rgba(85,214,255,0.32);
  border-radius:8px;
  background:rgba(9,13,18,0.96);
  box-shadow:0 12px 32px rgba(0,0,0,0.35);
  color:#dfe6f0;
  padding:9px 10px;
  pointer-events:none;
  font-size:12px;
}
.paper-trend-tooltip strong,
.paper-trend-tooltip span{
  display:block;
  margin-bottom:4px;
}
.paper-trend-tooltip span:last-child{margin-bottom:0}
.paper-trend-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:9px;
  color:var(--muted);
  font-size:12px;
}
.paper-trend-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.paper-trend-legend i{
  display:inline-block;
  width:18px;
  height:3px;
  border-radius:999px;
}
.paper-trend-legend i.equity{background:#55d6ff}
.paper-trend-legend i.pnl{background:#31e46b}
.paper-trend-legend i.return{background:#f6c64b}
.paper-pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  color:var(--muted);
  font-size:12px;
}
.paper-pagination a{
  color:#cbd3df;
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  border-radius:7px;
  padding:5px 8px;
}
.paper-pagination a.active{
  color:var(--gold);
  border-color:rgba(246,198,75,0.35);
  background:rgba(246,198,75,0.08);
}
.paper-pagination a.disabled{
  pointer-events:none;
  opacity:.38;
}
.paper-trade-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
}
.paper-trade-sub{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
}
.paper-trade-controls{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
}
.paper-exec-list{display:grid;gap:8px;margin-top:10px}
.paper-exec-row{display:grid;grid-template-columns:1fr 96px;gap:10px;align-items:center;border:1px solid rgba(255,255,255,0.07);background:rgba(255,255,255,0.025);border-radius:8px;padding:10px}
.paper-exec-row strong{display:block}
.paper-exec-row small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}
.paper-exec-status{justify-self:end;border:1px solid rgba(255,255,255,0.12);border-radius:7px;padding:5px 8px;font-size:12px;font-weight:900;color:var(--muted)}
.paper-exec-status.opened{color:var(--green);border-color:rgba(49,228,107,0.35);background:rgba(49,228,107,0.08)}
.paper-exec-status.grid_added{color:#55d6ff;border-color:rgba(85,214,255,0.35);background:rgba(85,214,255,0.08)}
.paper-exec-status.pyramid_added{color:var(--green);border-color:rgba(49,228,107,0.35);background:rgba(49,228,107,0.08)}
.paper-exec-status.skipped{color:var(--orange);border-color:rgba(255,138,47,0.35);background:rgba(255,138,47,0.08)}
.paper-exec-status.not_trade_plan{color:var(--cyan);border-color:rgba(32,199,255,0.25);background:rgba(32,199,255,0.06)}
.paper-exec-status.error,.paper-exec-status.aborted{color:var(--red);border-color:rgba(255,85,77,0.35);background:rgba(255,85,77,0.08)}
.paper-time-filter a{
  border-color:rgba(32,199,255,0.18);
}

@media(max-width:900px){
  .paper-summary-grid,.paper-pnl-grid,.paper-pnl-breakdown,.paper-trend-metrics{grid-template-columns:1fr}
  .paper-pnl-head{flex-direction:column}
  .paper-pnl-switches{align-items:flex-start}
  .paper-pnl-switches div{justify-content:flex-start}
  .paper-trend-summary{justify-content:flex-start}
  .paper-trend-chart-wrap canvas{height:260px}
  .paper-trade-head{flex-direction:column}
  .paper-trade-controls{align-items:flex-start}
  .paper-pagination{justify-content:flex-start}
}

/* market hero card constraints */
.market-hero-card{max-height:420px;overflow:hidden;display:flex;flex-direction:column}
.market-hero-card .market-hero-body{max-height:260px;overflow-y:auto;padding-right:8px}
.market-hero-card p.market-summary,.market-hero-card p.market-advice,.market-hero-card .focus-line{margin:6px 0;font-size:14px;line-height:1.25}
.market-hero-card .basis-line{margin-top:6px;color:var(--muted);font-size:12px}
.hero-section{margin-bottom:28px}
.assets-section{clear:both;display:block}
.asset-block-frame{
  border:1px solid rgba(255,255,255,0.14);
  border-radius:10px;
  background:rgba(255,255,255,0.018);
  padding:14px;
  margin-bottom:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.018);
}
.asset-block-frame .section-head{
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
/* ensure hero-grid cards align at top */
.hero-grid{align-items:start}

.asset-card{
  border-color:rgba(255,255,255,0.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.025), 0 16px 32px rgba(0,0,0,.22);
}
.asset-card-head{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  min-height:48px;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.asset-card-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:132px;
  flex:0 0 auto;
}
.asset-name-stack{display:flex;flex-direction:column;gap:4px}
.asset-symbol{
  font-size:20px;
  line-height:1;
  font-weight:900;
  color:#eef3fb;
}
.asset-head-pnl{
  color:#9da7b8;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  order:5;
  flex:1 0 100%;
  width:100%;
  min-width:0;
  margin-left:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-align:left;
}
.asset-head-pnl.pnl-tag{
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
}
.asset-pnl-left{min-width:0;overflow:hidden;text-overflow:ellipsis}
.asset-pnl-right{flex:0 0 72px;text-align:right;font-variant-numeric:tabular-nums}
.asset-card-head>.asset-head-pnl{
  position:relative;
  display:block;
  padding-right:92px!important;
  white-space:nowrap!important;
  line-height:1.35;
}
.asset-card-head>.asset-head-pnl .asset-pnl-left{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.asset-card-head>.asset-head-pnl .asset-pnl-right{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:86px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.asset-score-pill{
  min-width:64px;
  height:32px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:3px;
  border-radius:8px;
  border:1px solid rgba(246,198,75,0.28);
  background:rgba(246,198,75,0.10);
  color:var(--gold);
}
.asset-score-pill strong{font-size:17px;line-height:1}
.asset-score-pill span{font-size:11px;color:#d9c47f}
.asset-score-pill.empty{
  border-color:rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.025);
  color:#7f8a99;
}
.asset-score-pill.empty span{
  color:#667180;
}
.asset-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:8px;
  overflow:hidden;
  background:rgba(0,0,0,0.12);
}
.asset-metrics div{
  padding:8px;
  border-right:1px solid rgba(255,255,255,0.06);
}
.asset-metrics div:last-child{border-right:0}
.factor-box{
  margin-top:8px;
  max-height:96px;
  overflow-y:auto;
  padding:8px;
  border:1px solid rgba(255,255,255,0.07);
  border-radius:7px;
  background:rgba(0,0,0,0.12);
}
.factor-box div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:4px 0;
  border-bottom:1px solid rgba(255,255,255,0.045);
  color:#cbd3df;
  font-size:12px;
}
.factor-box div:last-child{border-bottom:0}
.factor-box span{color:var(--muted)}
.factor-box b{font-weight:800;color:#e7edf6;text-align:right}
.no-signal-box{
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(255,255,255,0.07);
  border-radius:8px;
  background:rgba(255,255,255,0.02);
  color:var(--muted);
}
.no-signal-box strong{
  display:block;
  color:#aeb8c6;
  font-size:13px;
  margin-bottom:4px;
}
.no-signal-box span{font-size:12px;line-height:1.45}
.drawer-signal-card{
  border:1px solid rgba(246,198,75,0.25);
  background:rgba(246,198,75,0.08);
  border-radius:8px;
  padding:12px;
  margin-bottom:14px;
}
.drawer-signal-card div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:4px 0;
  font-size:13px;
}
.drawer-signal-card span{color:var(--muted)}
.drawer-signal-card b{color:#fff;text-align:right}
.asset-top-close{
  border:1px solid rgba(255,85,77,0.42);
  background:rgba(255,85,77,0.10);
  color:#ffb6b1;
  padding:7px 10px;
  border-radius:7px;
  cursor:pointer;
  white-space:nowrap;
}
.asset-refresh{
  padding:7px 10px;
  border-radius:7px;
  white-space:nowrap;
}
.asset-signal-box{
  margin-top:10px;
  padding:12px;
  border-radius:8px;
  border:1px solid rgba(246,198,75,0.24);
  background:linear-gradient(180deg,rgba(246,198,75,0.055),rgba(0,0,0,0.10));
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  gap:12px;
  align-items:start;
}
.signal-eyebrow{
  color:var(--muted);
  font-size:12px;
  margin-bottom:4px;
}
.signal-title{
  color:var(--gold);
  font-size:14px;
  font-weight:900;
  line-height:1.35;
}
.signal-title span{
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(246,198,75,0.28);
  background:rgba(246,198,75,0.10);
  color:#ffd66f;
  font-size:12px;
}
.home-signal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.home-signal-head>div:first-child{
  min-width:0;
}
.home-signal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}
.home-signal-meta span{
  max-width:100%;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:999px;
  background:rgba(255,255,255,0.035);
  color:#aeb8c6;
  padding:3px 7px;
  font-size:11px;
  line-height:1.2;
}
.home-signal-score{
  min-width:58px;
  padding:5px 8px;
  border-radius:7px;
  border:1px solid rgba(246,198,75,0.32);
  background:rgba(246,198,75,0.12);
  color:var(--gold);
  text-align:center;
  white-space:nowrap;
}
.home-signal-score strong{
  font-size:20px;
  line-height:1;
}
.home-signal-score span{
  margin-left:2px;
  font-size:11px;
  color:#d9c47f;
}
.home-signal-chips{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
}
.home-signal-chips span{
  min-width:0;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.035);
  border-radius:7px;
  padding:7px 8px;
}
.home-signal-chips em{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-style:normal;
  margin-bottom:4px;
}
.home-signal-chips b{
  display:block;
  color:#eef3fb;
  font-size:12px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-signal-chips .direction-chip.long{
  border-color:rgba(49,228,107,0.28);
  background:rgba(49,228,107,0.08);
}
.home-signal-chips .direction-chip.long b{color:var(--green)}
.home-signal-chips .direction-chip.short{
  border-color:rgba(255,85,77,0.30);
  background:rgba(255,85,77,0.08);
}
.home-signal-chips .direction-chip.short b{color:var(--red)}
.home-signal-chips .direction-chip.observe{
  border-color:rgba(246,198,75,0.24);
  background:rgba(246,198,75,0.07);
}
.home-signal-chips .direction-chip.observe b{color:var(--gold)}
.home-signal-summary{
  margin-top:8px;
  border:1px solid rgba(255,255,255,0.08);
  border-left:3px solid rgba(32,199,255,0.48);
  border-radius:7px;
  background:rgba(255,255,255,0.025);
  padding:8px 9px;
  color:#dce5ee;
  font-size:12px;
  line-height:1.45;
  max-height:62px;
  overflow:auto;
}
.home-score-reason{
  margin-top:8px;
  border:1px solid rgba(246,198,75,0.18);
  border-radius:7px;
  background:rgba(246,198,75,0.055);
  padding:8px 9px;
}
.home-score-reason strong,
.home-top-evidence-title{
  display:block;
  color:var(--gold);
  font-size:12px;
  margin-bottom:4px;
}
.home-score-reason span{
  display:block;
  color:#cbd5df;
  font-size:12px;
  line-height:1.4;
  max-height:52px;
  overflow:auto;
}
.home-evidence-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.home-evidence-tags span{
  border:1px solid rgba(32,199,255,0.18);
  border-radius:999px;
  background:rgba(32,199,255,0.055);
  color:#aeeaff;
  padding:4px 7px;
  font-size:11px;
  line-height:1.25;
}
.home-top-evidence{
  margin-top:8px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:7px;
  background:rgba(0,0,0,0.13);
  padding:8px;
  max-height:128px;
  overflow:auto;
}
.home-top-evidence div:not(.home-top-evidence-title){
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:5px 8px;
  padding:6px 0;
  border-top:1px solid rgba(255,255,255,0.055);
}
.home-top-evidence div:not(.home-top-evidence-title):first-of-type{
  border-top:0;
}
.home-top-evidence b{
  color:var(--cyan);
  font-size:12px;
  line-height:1.35;
}
.home-top-evidence span{
  min-width:0;
  color:#eef3fb;
  font-size:12px;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-top-evidence small{
  grid-column:2;
  color:#9da7b8;
  font-size:11px;
  line-height:1.35;
}
.signal-advice{
  margin-top:6px;
  color:#dfe6f0;
  font-size:12px;
}
.signal-evidence{
  margin-top:4px;
  color:#9da7b8;
  font-size:12px;
  line-height:1.35;
}
.asset-signal-actions{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.asset-signal-actions a{
  display:block;
  text-align:center;
  text-decoration:none;
  border-radius:7px;
  padding:8px 9px;
  font-size:12px;
  font-weight:900;
}
.signal-long{
  background:rgba(50,225,120,0.14);
  border:1px solid rgba(50,225,120,0.34);
  color:#75f0a4;
}
.signal-short{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
  color:#dbe3ee;
}
.asset-signal-actions .signal-detail-link{
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(255,255,255,0.10);
  color:#cbd5df;
}
.asset-live-chart{
  position:relative;
  margin-top:9px;
  padding:9px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  background:rgba(4,8,12,0.42);
}
.asset-live-chart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
  color:#9da7b8;
  font-size:12px;
}
.asset-live-chart-head b{
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
.chart-range-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
  margin:0 0 6px;
}
.chart-range-tabs button{
  min-width:0;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:6px;
  background:rgba(255,255,255,0.035);
  color:#9da7b8;
  padding:4px 0;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.chart-range-tabs button.active{
  border-color:rgba(85,214,255,0.38);
  background:rgba(85,214,255,0.12);
  color:#55d6ff;
}
.asset-live-chart canvas{
  display:block;
  width:100%;
  height:84px;
}
.tv-chart-frame{
  display:block;
  width:100%;
  height:132px;
  border:0;
  border-radius:7px;
  background:#080d12;
}
.asset-live-chart.tv-mode canvas{
  display:none;
}
.tv-chart-open{
  position:absolute;
  left:9px;
  right:9px;
  top:74px;
  bottom:9px;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:pointer;
  z-index:2;
}
.focus-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:26px;
  background:rgba(0,0,0,0.62);
  z-index:1180;
}
.focus-overlay.show{
  display:flex;
}
.asset-focus-panel{
  width:min(1120px,calc(100vw - 52px));
  max-height:calc(100vh - 52px);
  overflow:auto;
  overscroll-behavior:contain;
  background:#090d12;
  border:1px solid rgba(246,198,75,0.28);
  border-radius:12px;
  box-shadow:0 28px 70px rgba(0,0,0,0.55);
  padding:0 18px 18px;
}
.focus-close{
  width:32px;
  height:32px;
  flex:0 0 auto;
  border-radius:9px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.focus-topline{
  display:grid;
  grid-template-columns:1.05fr 1fr 1.2fr 1.2fr;
  gap:10px;
  margin-bottom:12px;
}
.focus-topline div{
  min-width:0;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  background:rgba(255,255,255,0.035);
  padding:10px;
}
.focus-topline span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:5px;
}
.focus-topline strong{
  display:block;
  color:#edf4ff;
  font-size:16px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.focus-chart-wrap{
  position:sticky;
  top:-1px;
  z-index:4;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:0 0 9px 9px;
  border-top:0;
  background:#070b10;
  box-shadow:0 12px 22px rgba(0,0,0,.42);
  padding:9px;
  margin:0 -18px;
  padding-left:18px;
  padding-right:18px;
}
.focus-chart-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.focus-chart-title{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:hidden;
}
.focus-chart-head span{
  color:var(--muted);
  font-size:12px;
  flex:0 0 auto;
}
.focus-chart-title>strong:first-child{
  color:#f4f7ef;
  font-size:20px;
  line-height:1;
  font-weight:1000;
  letter-spacing:0;
  flex:0 0 auto;
}
.focus-chart-title strong.price{
  color:#edf4ff;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  font-variant-numeric:tabular-nums;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.focus-chart-title strong.price.tick-up{color:var(--green)}
.focus-chart-title strong.price.tick-down{color:var(--red)}
.focus-chart-head b{
  font-size:12px;
  flex:0 0 auto;
}
.focus-range-tabs{
  grid-column:1 / -1;
  display:flex;
  gap:5px;
}
.focus-range-tabs button{
  border:1px solid rgba(255,255,255,0.10);
  border-radius:7px;
  background:rgba(255,255,255,0.04);
  color:#cbd5df;
  padding:5px 7px;
  font-size:12px;
  cursor:pointer;
}
.focus-range-tabs button.active{
  border-color:rgba(85,214,255,0.36);
  background:rgba(85,214,255,0.10);
  color:#8fe8ff;
}
#focus-spark{
  display:none;
  width:100%;
  height:190px;
}
.focus-tv-chart{
  display:block;
  width:100%;
  height:260px;
  border:0;
  border-radius:8px;
  background:#080d12;
}
.focus-positions{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.focus-position-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:8px;
  align-items:stretch;
  border:1px solid rgba(85,214,255,0.18);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(85,214,255,0.045),rgba(255,255,255,0.018));
  padding:10px;
}
.focus-position-summary.empty{
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-color:rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.025);
}
.focus-position-summary div{
  min-width:0;
}
.focus-position-summary span{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:4px;
}
.focus-position-summary strong{
  display:block;
  color:#edf4ff;
  font-size:17px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.focus-close-asset{
  align-self:stretch;
  border:1px solid rgba(255,85,77,0.42);
  border-radius:8px;
  background:rgba(255,85,77,0.10);
  color:#ffb6b1;
  padding:0 14px;
  font-weight:900;
  cursor:pointer;
}
.focus-close-asset.inline{
  min-height:34px;
  align-self:center;
  padding:0 10px;
  white-space:nowrap;
}
.focus-position-row{
  display:grid;
  grid-template-columns:90px repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:center;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;
  background:rgba(255,255,255,0.025);
  padding:9px 10px;
  color:#cbd5df;
  font-size:13px;
}
.focus-position-row.muted{
  grid-template-columns:160px 1fr;
  color:var(--muted);
}
.focus-position-row.rich{
  display:block;
  font-size:12px;
}
.focus-position-row.rich.long{
  border-color:rgba(49,228,107,.22);
  background:linear-gradient(180deg,rgba(49,228,107,.055),rgba(255,255,255,.018));
}
.focus-position-row.rich.short{
  border-color:rgba(255,85,77,.34);
  background:linear-gradient(180deg,rgba(255,85,77,.13),rgba(255,138,126,.035));
  box-shadow:inset 3px 0 0 rgba(255,85,77,.72);
}
.focus-position-row.rich div{
  min-width:0;
}
.focus-position-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.focus-position-side{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.focus-position-side strong{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:42px;
  border-radius:999px;
  padding:4px 8px;
  margin-bottom:0;
  white-space:nowrap;
}
.focus-position-side strong em{
  font-style:normal;
  font-size:11px;
  opacity:.95;
}
.focus-position-row.rich.long .focus-position-side strong{
  background:rgba(49,228,107,.14);
  color:#76ff98;
}
.focus-position-row.rich.short .focus-position-side strong{
  background:rgba(255,85,77,.28);
  color:#ffd1cd;
  border:1px solid rgba(255,85,77,.38);
}
.focus-position-body{
  display:grid;
  grid-template-columns:1.35fr repeat(5,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
}
.focus-position-body>div{
  border:1px solid rgba(255,255,255,.06);
  border-radius:7px;
  background:rgba(0,0,0,.12);
  padding:7px 8px;
}
.focus-position-body .price-pair{
  border-color:rgba(85,214,255,.16);
  background:rgba(85,214,255,.045);
}
.focus-position-row.rich strong,.focus-position-row.rich b{
  display:block;
  color:#edf4ff;
  font-size:13px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
}
.focus-position-row.rich span{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.25;
  margin-top:0;
}
.focus-position-side span{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#aeb8c5;
}
.focus-strategy{
  margin-top:10px;
  border:1px solid rgba(255,255,255,0.085);
  border-radius:10px;
  background:rgba(255,255,255,0.024);
  padding:10px;
}
.focus-strategy-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.focus-strategy-head span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:4px;
}
.focus-strategy-head strong{
  color:#edf4ff;
  font-size:16px;
}
.focus-strategy-head a{
  flex:0 0 auto;
  border:1px solid rgba(85,214,255,0.22);
  border-radius:7px;
  color:#8fe8ff;
  background:rgba(85,214,255,0.055);
  padding:6px 9px;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
}
.strategy-now,.strategy-ladder{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-bottom:6px;
}
.strategy-ladder{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.strategy-item{
  min-width:0;
  border:1px solid rgba(255,255,255,0.065);
  border-radius:8px;
  background:rgba(0,0,0,0.10);
  padding:7px;
}
.strategy-item span{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:4px;
}
.strategy-item b{
  display:block;
  color:#edf4ff;
  font-size:13px;
  line-height:1.3;
}
.strategy-item.accent{
  border-color:rgba(85,214,255,0.24);
  background:rgba(85,214,255,0.055);
}
.strategy-modules{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:6px;
}
.strategy-module{
  min-width:0;
  border:1px solid rgba(255,255,255,0.075);
  border-radius:8px;
  background:rgba(255,255,255,0.025);
  padding:7px;
}
.strategy-module>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.strategy-module strong{
  color:#edf4ff;
  font-size:13px;
}
.strategy-module em{
  flex:0 0 auto;
  font-style:normal;
  border-radius:999px;
  padding:2px 6px;
  font-size:11px;
  font-weight:900;
}
.strategy-module.enabled{
  border-color:rgba(85,214,255,0.16);
}
.strategy-module.enabled em{
  color:#8fe8ff;
  background:rgba(85,214,255,0.075);
}
.strategy-module.disabled{
  opacity:.72;
}
.strategy-module.disabled em{
  color:#9da7b8;
  background:rgba(255,255,255,0.05);
}
.strategy-module p{
  margin:6px 0 0;
  color:#aeb8c6;
  font-size:12px;
  line-height:1.35;
}
.strategy-scoreline{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.strategy-scoreline span{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:999px;
  background:rgba(255,255,255,0.03);
  color:#cbd5df;
  padding:4px 8px;
  font-size:11px;
}
.focus-detail{
  margin-top:12px;
}
.focus-detail .asset-signal-box{
  display:grid!important;
}
.focus-detail .no-signal-box{
  display:block!important;
}
.asset-card{
  cursor:pointer;
}
.asset-card:focus{
  outline:2px solid rgba(246,198,75,0.55);
  outline-offset:2px;
}
@media(max-width:1180px){
  .asset-grid{grid-template-columns:1fr}
  .asset-card-head{flex-wrap:wrap}
  .asset-head-pnl{margin-left:0;text-align:left}
  .asset-signal-box{grid-template-columns:1fr}
  .asset-signal-actions{flex-direction:row}
  .home-signal-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Wide live-watch layout: keep all six focus coins visible at a glance. */
.main{
  padding:18px 18px 30px;
}
.topbar{
  margin-bottom:14px;
}
.page-title{
  font-size:30px;
}
.hero-section{
  margin-bottom:14px;
}
.hero-grid{
  grid-template-columns:minmax(340px,1.35fr) repeat(3,minmax(150px,.78fr));
  gap:10px;
  margin-bottom:0;
}
.hero-card{
  padding:16px 18px;
}
.market-hero-card{
  max-height:250px;
}
.market-hero-card .market-hero-body{
  max-height:170px;
}
.hero-card h2{
  margin-bottom:10px;
  font-size:20px;
}
.market-status{
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:10px;
  font-size:20px;
}
.status-icon{
  width:36px;
  height:36px;
}
.hero-card p{
  margin:7px 0;
  font-size:13px;
  line-height:1.45;
}
.metric-card{
  min-height:150px;
  padding:14px;
}
.metric-icon{
  width:36px;
  height:36px;
  font-size:20px;
}
.metric-label{
  margin-top:9px;
  font-size:13px;
}
.metric-value{
  font-size:30px;
  margin:3px 0;
}
.metric-sub,.metric-time{
  font-size:12px;
}
.metric-time{
  bottom:12px;
}
.mini-line{
  height:20px;
  margin-top:8px;
}
.asset-block-frame{
  padding:10px;
  margin-bottom:12px;
}
.asset-block-frame .section-head{
  margin-bottom:10px;
  padding-bottom:8px;
}
.asset-block-frame .section-head h2{
  font-size:20px;
}
.asset-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  max-height:none!important;
  overflow:visible!important;
  margin-bottom:0;
}
.asset-card{
  min-width:0;
  padding:10px;
}
.asset-card-head{
  min-height:0;
  gap:6px;
  padding-bottom:8px;
  margin-bottom:8px;
  flex-wrap:wrap;
}
.asset-card-title{
  min-width:92px;
  gap:7px;
}
.coin{
  width:26px;
  height:26px;
  font-size:13px;
}
.asset-symbol{
  font-size:16px;
}
.status-badge{
  padding:3px 6px;
  font-size:11px;
}
.asset-score-pill{
  min-width:48px;
  height:26px;
}
.asset-score-pill strong{
  font-size:14px;
}
.asset-head-pnl{
  flex:1 0 100%;
  min-width:0;
  margin-left:0;
  font-size:11px;
  line-height:1.25;
  white-space:normal;
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.asset-top-close,.asset-refresh{
  padding:5px 7px;
  font-size:11px;
}
.price-block{
  margin-top:6px;
  padding:8px;
  border-radius:8px;
}
.price-main{
  font-size:18px;
}
.price-currency{
  font-size:11px;
}
.price-meta,.price-change{
  font-size:10px;
  line-height:1.28;
}
.asset-live-chart{
  margin-top:7px;
  padding:7px;
}
.asset-live-chart-head{
  margin-bottom:4px;
  font-size:11px;
}
.asset-live-chart-head b{
  font-size:11px;
}
.chart-range-tabs{
  gap:3px;
  margin-bottom:5px;
}
.chart-range-tabs button{
  font-size:9px;
  padding:3px 0;
}
.asset-live-chart canvas{
  height:74px;
}
.asset-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:7px;
  font-size:11px;
}
.asset-metrics div{
  padding:5px;
}
.asset-metrics div:nth-child(2){
  border-right:0;
}
.asset-metrics div:nth-child(n+3){
  border-top:1px solid rgba(255,255,255,0.06);
}
.asset-signal-box,.no-signal-box{
  display:none;
}

@media(max-width:1500px){
  .hero-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .market-hero-card{
    grid-column:span 4;
  }
  .asset-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .asset-signal-box,.no-signal-box{
    display:grid;
  }
  .no-signal-box{
    display:block;
  }
}

@media(max-width:980px){
  .main{
    padding:16px;
  }
  .hero-grid,.asset-grid{
    grid-template-columns:1fr;
  }
  .market-hero-card{
    grid-column:auto;
  }
  .focus-overlay{
    padding:0;
    align-items:stretch;
    justify-content:stretch;
  }
  .asset-focus-panel{
    width:100vw;
    max-height:100vh;
    height:100vh;
    border-radius:0;
    border:0;
    padding:0 10px 10px;
  }
  .focus-topline{
    grid-template-columns:1fr 1fr;
  }
  #focus-spark{
    height:150px;
  }
  .focus-chart-wrap{
    padding:8px;
    border-radius:0 0 8px 8px;
    margin:0 -10px;
    padding-left:10px;
    padding-right:10px;
  }
  .focus-chart-title>strong:first-child{
    font-size:17px;
  }
  .focus-chart-title strong.price{
    font-size:15px;
  }
  .focus-range-tabs{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px;
  }
  .focus-range-tabs button{
    padding:5px 0;
    font-size:10px;
  }
  .focus-position-summary{
    grid-template-columns:1fr 1fr;
  }
  .focus-close-asset{
    grid-column:1 / -1;
    min-height:40px;
  }
  .focus-close-asset.inline{
    width:auto;
    min-height:30px;
  }
  .focus-position-row{
    grid-template-columns:1fr 1fr;
  }
  .focus-position-row.rich{
    display:block;
  }
  .focus-position-top{
    align-items:flex-start;
  }
  .focus-position-side{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .focus-position-side span{
    white-space:normal;
  }
  .focus-position-body{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .focus-position-body .price-pair{
    grid-column:1 / -1;
  }
  .strategy-now,.strategy-ladder,.strategy-modules{
    grid-template-columns:1fr;
  }
  .focus-chart-head{
    gap:6px;
  }
}

@media(min-width:981px) and (max-width:1500px){
  .hero-grid{
    grid-template-columns:minmax(300px,1.25fr) repeat(3,minmax(130px,.75fr));
  }
  .market-hero-card{
    grid-column:auto;
  }
  .market-hero-card .market-hero-body{
    max-height:130px;
  }
  .asset-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .asset-signal-box,.no-signal-box{
    display:none;
  }
}

@media(min-width:981px){
  .asset-grid .asset-refresh,.asset-grid .asset-top-close{
    display:none;
  }
  .asset-grid .asset-card-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px;
    align-items:start;
  }
  .asset-grid .asset-card-title{
    min-width:0;
  }
  .asset-grid .asset-score-pill{
    width:46px;
    min-width:42px;
    height:22px;
    justify-self:end;
  }
  .asset-grid .asset-head-pnl{
    flex-basis:auto;
    grid-column:1 / -1;
    width:100%;
  }
  .asset-grid .price-meta{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .asset-grid .price-change,.asset-grid .asset-metrics{
    display:none;
  }
}
