:root {
  color-scheme: dark;
  --bg: #07090d;
  --panel: rgba(17, 21, 29, .88);
  --panel2: #0e1219;
  --border: #252b36;
  --text: #f5f7fb;
  --muted: #818a99;
  --green: #43e6a1;
  --green-dim: rgba(67, 230, 161, .12);
  --red: #ff6577;
  --red-dim: rgba(255, 101, 119, .12);
  --amber: #ffc857;
  --cyan: #59c7ff;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% -10%, rgba(67,230,161,.10), transparent 33rem),
    radial-gradient(circle at 95% 10%, rgba(89,199,255,.08), transparent 30rem),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.shell { width: min(1500px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 30px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.eyebrow,.panel-kicker { font-size:10px; font-weight:800; letter-spacing:.18em; color:var(--green); }
h1 { margin:3px 0 0; font-size:28px; letter-spacing:-.04em; }
h2 { margin:4px 0 0; font-size:17px; letter-spacing:-.02em; }
.topbar-right { display:flex; gap:8px; }
.pill { display:flex; gap:7px; align-items:center; border:1px solid var(--border); border-radius:999px; padding:7px 11px; font-size:11px; font-weight:800; letter-spacing:.06em; background:#0d1118; }
.pill .dot { width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor; }
.pill.online { color:var(--green); }.pill.offline{color:var(--red)}.pill.paper{color:var(--amber)}.pill.live{color:var(--red)}.pill.price{color:var(--cyan)}
.stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.stat,.panel { border:1px solid var(--border); background:linear-gradient(180deg, rgba(18,23,31,.94), rgba(12,15,21,.94)); border-radius:16px; box-shadow:0 12px 45px rgba(0,0,0,.18); }
.stat { min-width:0; min-height:112px; padding:14px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.stat-label { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.stat strong { min-width:0; font-size:clamp(18px,1.45vw,24px); margin-top:7px; letter-spacing:-.035em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.stat small { color:var(--muted); margin-top:3px; font-size:9.5px; line-height:1.4; min-width:0; }
.hero-stat strong { font-size:clamp(22px,1.75vw,29px); }
.pos { color:var(--green)!important; }.neg{color:var(--red)!important;}.neutral{color:var(--text)!important;}
.main-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr); gap:10px; }
.panel { min-width:0; overflow:hidden; }
.chart-panel { min-height:470px; padding:20px; }
.positions-panel { padding:20px; }
.scanner-panel { grid-column:1 / -1; min-height:330px; padding:20px; }
.executions-panel { grid-column:auto; min-height:330px; padding-top:20px; }
.executions-panel > .panel-head { padding:0 20px; }
.history-panel { min-height:330px; padding:20px; }
.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.chart-head select { max-width:280px; color:var(--text); background:#0b0f15; border:1px solid var(--border); border-radius:9px; padding:8px 30px 8px 10px; font-size:12px; }
.chart-meta { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:5px 0 14px; }
.chart-meta > div { border:1px solid #202632; background:#0a0e14; padding:10px 12px; border-radius:10px; }
.chart-meta span { display:block; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.chart-meta strong { display:block; margin-top:4px; font-size:13px; font-variant-numeric:tabular-nums; }
.canvas-wrap { height:300px; position:relative; border:1px solid #1e2430; border-radius:12px; overflow:hidden; background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.005)); }
canvas { width:100%; height:100%; display:block; }
.empty-chart { position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:30px; color:var(--muted); font-size:13px; }
.legend { display:flex; flex-wrap:wrap; gap:16px; margin-top:11px; color:var(--muted); font-size:10px; }
.legend span { display:flex; align-items:center; gap:6px; }.legend i{display:inline-block}.legend-line{width:18px;height:2px;background:var(--green)}.legend-buy,.legend-sell{width:7px;height:7px;border-radius:50%}.legend-buy{background:var(--cyan)}.legend-sell{background:var(--amber)}
.positions { display:flex; flex-direction:column; gap:9px; }
.position-card { border:1px solid #222936; border-radius:12px; padding:14px; background:#0b0f15; cursor:pointer; transition:border .15s ease, transform .15s ease; }
.position-card:hover { border-color:#3a4658; transform:translateY(-1px); }
.position-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.token-name { font-weight:800; font-size:14px; }.mint { color:var(--muted); font-size:10px; margin-top:2px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.pnl-big { font-weight:850; font-size:22px; font-variant-numeric:tabular-nums; }
.position-grid { margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.position-grid span { display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em }.position-grid strong{display:block;margin-top:3px;font-size:11px;font-variant-numeric:tabular-nums}
.progress { height:5px;background:#191f28;border-radius:99px;overflow:hidden;margin-top:12px }.progress > i{display:block;height:100%;background:var(--green)}
.empty { color:var(--muted); font-size:12px; border:1px dashed #2b3240; border-radius:12px; padding:18px; text-align:center; }
.table-note,.small-muted { color:var(--muted); font-size:10px; align-self:center; }
.table-scroll { overflow:auto; max-height:390px; }
table { width:100%; border-collapse:collapse; font-size:11px; }
th { position:sticky;top:0;z-index:1;background:#0f141c;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border) }
td { padding:11px 14px; border-bottom:1px solid #1b202a; white-space:nowrap; font-variant-numeric:tabular-nums; }
tbody tr:hover { background:rgba(255,255,255,.018); }
.side { font-weight:900; font-size:9px; letter-spacing:.08em; border-radius:5px; padding:4px 6px; display:inline-block; }.side.buy{color:var(--cyan);background:rgba(89,199,255,.10)}.side.sell{color:var(--amber);background:rgba(255,200,87,.10)}
.scanner-list,.history-list { display:flex;flex-direction:column;gap:7px;max-height:285px;overflow:auto; }
.scan-row,.history-row { display:grid;align-items:center;gap:10px;border-bottom:1px solid #1b2028;padding:8px 2px; }
.scan-row { grid-template-columns:minmax(120px,1.05fr) .52fr .62fr .68fr .72fr minmax(220px,1.9fr); }.history-row{grid-template-columns:minmax(90px,1.3fr) .65fr .65fr 1fr; cursor:pointer;}
.scan-row span,.history-row span { min-width:0; }.micro-label{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.micro-value{display:block;margin-top:2px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
footer { display:flex;justify-content:space-between;gap:20px;color:#616a79;font-size:9px;padding:14px 4px 0; }
/* Keep all six summary cards on one row on normal desktop widths. */
@media (max-width:1050px){.main-grid{grid-template-columns:1fr}.scanner-panel,.executions-panel{grid-column:auto}.chart-meta{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:650px){.shell{width:min(100% - 20px,1500px);padding-top:16px}.topbar{align-items:flex-start}.stat-grid{grid-template-columns:1fr 1fr}.stat{min-height:96px;padding:14px}.hero-stat strong{font-size:26px}.chart-panel,.positions-panel,.scanner-panel,.history-panel{padding:14px}.executions-panel{padding-top:14px}.executions-panel > .panel-head{padding:0 14px}.chart-meta{grid-template-columns:1fr 1fr}.canvas-wrap{height:250px}.scan-row{grid-template-columns:1fr 1fr}.scan-row > span:nth-child(n+4){display:none}.history-row{grid-template-columns:1fr .7fr .7fr}.history-row > span:last-child{display:none}.topbar-right{flex-direction:column;align-items:flex-end}footer{flex-direction:column}.table-note{display:none}}

.wallet-stat strong {
  color: var(--cyan);
  font-size: clamp(16px, 1.25vw, 20px);
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.wallet-stat small { white-space:normal; }

.pnl-sub{margin-top:2px;font-size:9px;font-weight:650;opacity:.9}.stat-detail-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* v0.4.1 live wallet reconciliation */
.live-accounting-panel { padding:16px 20px; margin-bottom:10px; }
.accounting-head { margin-bottom:12px; }
.accounting-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.accounting-grid > div { min-width:0; border:1px solid #202632; background:#0a0e14; border-radius:10px; padding:10px 12px; }
.accounting-grid span { display:block; color:var(--muted); font-size:8.5px; text-transform:uppercase; letter-spacing:.07em; }
.accounting-grid strong { display:block; min-width:0; margin-top:4px; font-size:clamp(11px,.9vw,14px); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.accounting-foot { margin-top:10px; color:#697383; font-size:9px; line-height:1.45; }
@media (max-width:1050px){.accounting-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:650px){.live-accounting-panel{padding:14px}.accounting-grid{grid-template-columns:1fr 1fr}.accounting-head{flex-direction:column}.accounting-grid strong{font-size:12px}}

/* v0.4.4 metered-data safety */
.pill.data-active{color:var(--green)}
.pill.data-paused{color:var(--amber)}
.pill.data-position{color:var(--cyan)}
.data-safety-panel{padding:16px 20px;margin-bottom:10px}
.data-safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.data-safety-grid>div{min-width:0;border:1px solid #202632;background:#0a0e14;border-radius:10px;padding:10px 12px}
.data-safety-grid span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.07em}
.data-safety-grid strong{display:block;min-width:0;margin-top:4px;font-size:clamp(11px,.9vw,14px);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1050px){.data-safety-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.data-safety-panel{padding:14px}.data-safety-grid{grid-template-columns:1fr 1fr}.data-safety-grid strong{font-size:12px}}


/* v0.4.6 entry-rejection diagnostics */
.scan-diagnostic{align-items:start;padding:10px 2px}
.entry-check-cell{min-width:0}
.entry-status{display:inline-flex;align-items:center;margin-top:3px;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.07em;border:1px solid transparent}
.entry-status.ready{color:var(--green);background:var(--green-dim);border-color:rgba(67,230,161,.22)}
.entry-status.observing{color:var(--cyan);background:rgba(89,199,255,.10);border-color:rgba(89,199,255,.2)}
.entry-status.blocked,.entry-status.expired{color:var(--red);background:var(--red-dim);border-color:rgba(255,101,119,.2)}
.entry-status.expired{color:var(--muted);background:rgba(129,138,153,.08);border-color:rgba(129,138,153,.15)}
.entry-reasons{display:block!important;margin-top:4px;color:#aab2bf;font-size:9px;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip}
@media (max-width:1050px){.scan-row{grid-template-columns:minmax(120px,1fr) .55fr .6fr .65fr minmax(200px,1.6fr)}.scan-row > span:nth-child(5){display:none}}
@media (max-width:650px){.scan-row{grid-template-columns:1fr minmax(150px,1.25fr)}.scan-row > span{display:none!important}.scan-row > span:first-child,.scan-row > span:last-child{display:block!important}.entry-reasons{font-size:8.5px}}

/* v0.4.7 localhost bot controls */
.control-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006))}
.control-copy{display:flex;align-items:center;gap:12px;min-width:0}
.control-copy .panel-kicker{white-space:nowrap}
.control-hint{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.control-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.control-feedback{max-width:320px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.control-feedback.pos{color:var(--green)!important}.control-feedback.neg{color:var(--red)!important}.control-feedback.warn{color:var(--amber)!important}
.control-btn{appearance:none;border:1px solid #2a3342;border-radius:9px;background:#0b1017;color:var(--text);padding:8px 11px;font:800 10px/1.1 inherit;letter-spacing:.055em;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease;white-space:nowrap}
.control-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#4a586d}
.control-btn:disabled{opacity:.42;cursor:not-allowed}
.control-btn.arm{color:var(--red);border-color:rgba(255,101,119,.35);background:rgba(255,101,119,.07)}
.control-btn.arm:hover:not(:disabled){background:rgba(255,101,119,.13);border-color:rgba(255,101,119,.58)}
.control-btn.disarm{color:var(--green);border-color:rgba(67,230,161,.35);background:rgba(67,230,161,.07)}
.control-btn.disarm:hover:not(:disabled){background:rgba(67,230,161,.13);border-color:rgba(67,230,161,.58)}
.control-btn.restart{color:var(--cyan);border-color:rgba(89,199,255,.28)}
.control-btn.reset{color:var(--amber);border-color:rgba(255,200,87,.32);background:rgba(255,200,87,.05)}
.control-btn.reset:hover:not(:disabled){background:rgba(255,200,87,.11);border-color:rgba(255,200,87,.58)}
@media(max-width:900px){.control-bar{align-items:flex-start;flex-direction:column}.control-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.control-feedback{order:3;width:100%;max-width:none}.control-hint{white-space:normal}}
@media(max-width:650px){.control-copy{align-items:flex-start;flex-direction:column;gap:4px}.control-btn{padding:9px 10px}}


/* v0.4.8 Edge Lab + confirmation state */
.edge-panel{padding:16px 20px;margin-bottom:10px}
.edge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.edge-grid>div{min-width:0;border:1px solid #202632;background:#0a0e14;border-radius:10px;padding:10px 12px}
.edge-grid span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.07em}
.edge-grid strong{display:block;margin-top:4px;font-size:clamp(11px,.9vw,14px);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.edge-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.edge-box{min-width:0;border:1px solid #202632;background:#0a0e14;border-radius:10px;padding:10px 12px}
.edge-list{display:flex;flex-direction:column;gap:5px;margin-top:7px}
.edge-row{display:flex;justify-content:space-between;gap:12px;padding-top:5px;border-top:1px solid #181e27;font-size:9px}
.edge-row:first-child{border-top:0;padding-top:0}.edge-row>span{color:#9ba5b4}.edge-row>strong{font-variant-numeric:tabular-nums;text-align:right}.edge-row i{font-style:normal}.edge-vs{color:var(--muted);padding:0 4px}.edge-empty{color:var(--muted);font-size:9px;padding:5px 0}
.entry-status.confirming{color:var(--amber);background:rgba(255,200,87,.10);border-color:rgba(255,200,87,.24)}
@media(max-width:1050px){.edge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.edge-panel{padding:14px}.edge-grid,.edge-subgrid{grid-template-columns:1fr 1fr}.edge-subgrid{grid-template-columns:1fr}.edge-grid strong{font-size:12px}}


/* v0.5.0 live entry-cap control */
.control-btn.limit{color:var(--cyan);border-color:rgba(89,199,255,.32);background:rgba(89,199,255,.05)}
.control-btn.limit:hover:not(:disabled){background:rgba(89,199,255,.11);border-color:rgba(89,199,255,.58)}
.control-btn.limit.continuous{color:var(--amber);border-color:rgba(255,200,87,.42);background:rgba(255,200,87,.07)}

/* v0.5.1 Compact Command Center
   Dense desktop layout so the operator can see the important variables with minimal scrolling.
   Responsive rules below 1180px intentionally fall back toward the existing roomy layout. */
@media (min-width:1181px) {
  .shell { width:min(1780px,calc(100% - 20px)); padding:12px 0 16px; }
  .topbar { margin-bottom:8px; gap:12px; }
  .eyebrow,.panel-kicker { font-size:8px; letter-spacing:.15em; }
  h1 { font-size:22px; margin-top:1px; }
  h2 { font-size:13px; margin-top:2px; }
  .topbar-right { gap:5px; flex-wrap:wrap; justify-content:flex-end; }
  .pill { padding:5px 8px; font-size:9px; gap:5px; }
  .pill .dot { width:6px; height:6px; }

  .control-bar { min-height:38px; margin-bottom:6px; padding:6px 8px; gap:8px; border-radius:10px; }
  .control-copy { gap:8px; }
  .control-hint,.control-feedback { font-size:8.5px; }
  .control-actions { gap:5px; }
  .control-btn { padding:6px 8px; border-radius:7px; font-size:8.5px; }

  .stat-grid { gap:6px; margin-bottom:6px; }
  .stat { min-height:76px; padding:8px 10px; border-radius:11px; }
  .stat-label { font-size:8.5px; }
  .stat strong { margin-top:3px; font-size:clamp(15px,1.2vw,20px); }
  .hero-stat strong { font-size:clamp(18px,1.45vw,23px); }
  .wallet-stat strong { font-size:clamp(14px,1.05vw,18px); }
  .stat small { margin-top:1px; font-size:8px; line-height:1.2; }
  .pnl-sub { font-size:8px; }

  .live-accounting-panel { padding:8px 10px; margin-bottom:6px; border-radius:11px; }
  .live-accounting-panel .panel-head { margin-bottom:6px; align-items:center; }
  .live-accounting-panel .small-muted { font-size:8px; }
  .accounting-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
  .accounting-grid > div { border-radius:7px; padding:6px 7px; }
  .accounting-grid span { font-size:6.8px; letter-spacing:.045em; }
  .accounting-grid strong { margin-top:2px; font-size:clamp(9px,.7vw,11px); }

  .compact-diagnostics-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:6px; margin-bottom:6px; align-items:start; }
  .compact-diagnostics-row > .panel { margin-bottom:0; height:100%; }
  .data-safety-panel,.edge-panel { padding:8px 10px; border-radius:11px; }
  .data-safety-panel .panel-head,.edge-panel .panel-head { margin-bottom:6px; align-items:center; }
  .data-safety-panel .small-muted,.edge-panel .small-muted { font-size:7.5px; max-width:52%; text-align:right; }
  .data-safety-grid,.edge-grid { gap:4px; }
  .data-safety-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .edge-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .data-safety-grid>div,.edge-grid>div { border-radius:7px; padding:6px 7px; }
  .data-safety-grid span,.edge-grid span { font-size:6.8px; letter-spacing:.045em; }
  .data-safety-grid strong,.edge-grid strong { margin-top:2px; font-size:clamp(9px,.7vw,11px); }
  .edge-subgrid { gap:4px; margin-top:4px; }
  .edge-box { padding:6px 7px; border-radius:7px; }
  .edge-list { gap:2px; margin-top:3px; }
  .edge-row { gap:7px; padding-top:2px; font-size:7.5px; }
  .micro-label { font-size:6.8px; }
  .accounting-foot { display:none; }

  .main-grid { grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:6px; }
  .panel { border-radius:11px; }
  .panel-head { gap:8px; margin-bottom:7px; }
  .chart-panel { min-height:300px; padding:10px; }
  .positions-panel { padding:10px; }
  .scanner-panel { grid-column:1 / -1; min-height:225px; padding:10px; }
  .executions-panel { grid-column:auto; min-height:225px; padding-top:10px; }
  .executions-panel > .panel-head { padding:0 10px; }
  .history-panel { min-height:225px; padding:10px; }

  .chart-head select { max-width:240px; padding:5px 25px 5px 8px; font-size:9px; border-radius:7px; }
  .chart-meta { gap:4px; margin:3px 0 6px; }
  .chart-meta > div { padding:6px 7px; border-radius:7px; }
  .chart-meta span { font-size:6.8px; }
  .chart-meta strong { margin-top:2px; font-size:10px; }
  .canvas-wrap { height:185px; border-radius:8px; }
  .empty-chart { padding:15px; font-size:10px; }
  .legend { gap:10px; margin-top:5px; font-size:8px; }

  .position-card { padding:8px; border-radius:8px; }
  .position-top { gap:6px; }
  .token-name { font-size:11px; }
  .mint { font-size:8px; }
  .pnl-big { font-size:17px; }
  .position-grid { margin-top:6px; gap:4px; }
  .position-grid span { font-size:7px; }
  .position-grid strong { margin-top:1px; font-size:9px; }
  .progress { margin-top:6px; height:4px; }
  .empty { padding:10px; border-radius:8px; font-size:9px; }

  .table-note,.small-muted { font-size:8px; }
  .table-scroll { max-height:205px; }
  table { font-size:9px; }
  th { padding:6px 8px; font-size:7px; }
  td { padding:6px 8px; }
  .side { padding:3px 5px; font-size:7px; }

  .scanner-list,.history-list { gap:2px; max-height:175px; }
  .scan-row,.history-row { gap:6px; padding:5px 1px; }
  .scan-row { grid-template-columns:minmax(105px,1fr) .48fr .56fr .6fr .62fr minmax(185px,1.65fr); }
  .micro-value { margin-top:1px; font-size:9px; }
  .entry-status { margin-top:1px; padding:2px 5px; font-size:6.8px; }
  .entry-reasons { margin-top:2px; font-size:7.5px; line-height:1.15; }

  footer { gap:10px; padding:6px 2px 0; font-size:7.5px; }
}

/* Mid-size desktop: still dense, but avoid unreadably narrow metric cells. */
@media (min-width:1181px) and (max-width:1450px) {
  .accounting-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .compact-diagnostics-row { grid-template-columns:1fr 1fr; }
  .edge-subgrid { grid-template-columns:1fr 1fr; }
}

.control-btn.panic{border-color:rgba(255,92,115,.45);color:#ff7188}.control-btn.panic.danger{background:rgba(255,92,115,.10);box-shadow:inset 0 0 0 1px rgba(255,92,115,.08)}


/* v0.5.3 emergency-exit feedback */
.control-btn.panic.confirming{background:rgba(255,92,115,.24);box-shadow:inset 0 0 0 1px rgba(255,92,115,.7),0 0 18px rgba(255,92,115,.12);animation:panicPulse 1s ease-in-out infinite alternate}
@keyframes panicPulse{from{opacity:.82}to{opacity:1}}
.exit-status{margin-top:8px;padding:7px 9px;border-radius:7px;font-size:10px;font-weight:800;letter-spacing:.04em;line-height:1.35;word-break:break-word}
.exit-status.active{color:#ffd36a;background:rgba(255,190,70,.08);border:1px solid rgba(255,190,70,.25)}
.exit-status.failed{color:#ff7188;background:rgba(255,92,115,.08);border:1px solid rgba(255,92,115,.25)}
.exit-status.halted{color:#ffb36b;background:rgba(255,137,67,.09);border:1px solid rgba(255,137,67,.35)}


/* v0.5.8 Compact Operator Workspace
   Keep trading/action panels high on the page, move passive diagnostics to the bottom,
   use a centered narrower shell, and remove wasted column space on desktop. */
@media (min-width:1181px) {
  .shell {
    width:min(1440px,calc(100% - 48px));
    padding:9px 0 14px;
  }
  .topbar { margin-bottom:5px; }
  .control-bar { margin-bottom:5px; min-height:34px; padding:5px 7px; }
  .stat-grid { gap:5px; margin-bottom:5px; }
  .stat { min-height:68px; padding:7px 9px; }

  /* Active workspace first: chart on left; positions + Edge Lab use the right rail. */
  .main-grid {
    grid-template-columns:minmax(0,1.45fr) minmax(400px,.80fr);
    gap:5px;
    align-items:start;
  }
  .right-rail {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:5px;
    min-width:0;
    align-self:start;
  }
  .right-rail > .panel { margin:0; min-width:0; }
  .right-rail .positions-panel { min-height:0; padding:8px 9px; }
  .right-rail .edge-panel { min-height:0; padding:8px 9px; }
  .right-rail .edge-panel .panel-head { margin-bottom:5px; }
  .right-rail .edge-panel .small-muted { display:none; }
  .right-rail .edge-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
  }
  .right-rail .edge-grid > div { padding:5px 6px; border-radius:6px; }
  .right-rail .edge-grid span { font-size:6.3px; letter-spacing:.035em; }
  .right-rail .edge-grid strong { font-size:8.5px; margin-top:1px; }
  .right-rail .edge-subgrid {
    grid-template-columns:1fr 1fr;
    gap:3px;
    margin-top:3px;
  }
  .right-rail .edge-box { padding:5px 6px; border-radius:6px; }
  .right-rail .edge-list { max-height:66px; overflow:auto; gap:1px; margin-top:2px; }
  .right-rail .edge-row { font-size:6.7px; gap:4px; padding-top:1px; }
  .right-rail .micro-label { font-size:6.2px; }
  .right-rail .accounting-foot { display:none; }

  .chart-panel { min-height:0; padding:8px 9px; }
  .chart-panel .panel-head { margin-bottom:5px; }
  .chart-meta { gap:3px; margin:2px 0 5px; }
  .chart-meta > div { padding:5px 6px; }
  .canvas-wrap { height:165px; }
  .legend { margin-top:4px; }

  /* Scanner stays prominent and full width; execution/history are directly under it. */
  .scanner-panel {
    grid-column:1 / -1;
    min-height:0;
    padding:8px 9px;
  }
  .scanner-panel .panel-head { margin-bottom:4px; }
  .scanner-list { max-height:142px; gap:1px; }
  .scan-row { padding:4px 1px; gap:5px; }

  .executions-panel {
    grid-column:1;
    min-height:0;
    padding-top:8px;
  }
  .executions-panel > .panel-head { padding:0 9px; margin-bottom:4px; }
  .executions-panel .table-scroll { max-height:150px; }
  .history-panel {
    grid-column:2;
    min-height:0;
    padding:8px 9px;
  }
  .history-panel .panel-head { margin-bottom:4px; }
  .history-list { max-height:150px; gap:1px; }
  .history-row { padding:4px 1px; gap:4px; }
  th { padding:5px 6px; }
  td { padding:5px 6px; }

  /* Passive/high-density diagnostics are at the bottom. */
  .bottom-diagnostics-row {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);
    gap:5px;
    margin-top:5px;
    align-items:start;
  }
  .bottom-diagnostics-row > .panel {
    margin:0;
    min-width:0;
    padding:8px 9px;
    border-radius:10px;
  }
  .bottom-diagnostics-row .panel-head { margin-bottom:5px; }
  .bottom-diagnostics-row .small-muted { display:none; }
  .bottom-diagnostics-row .accounting-grid {
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:3px;
  }
  .bottom-diagnostics-row .data-safety-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3px;
  }
  .bottom-diagnostics-row .accounting-grid > div,
  .bottom-diagnostics-row .data-safety-grid > div {
    padding:5px 6px;
    border-radius:6px;
  }
  .bottom-diagnostics-row .accounting-grid span,
  .bottom-diagnostics-row .data-safety-grid span {
    font-size:6.2px;
    letter-spacing:.035em;
  }
  .bottom-diagnostics-row .accounting-grid strong,
  .bottom-diagnostics-row .data-safety-grid strong {
    margin-top:1px;
    font-size:8.7px;
  }
  .bottom-diagnostics-row .accounting-foot { display:none; }

  footer { padding-top:4px; }
}

/* Mid desktop: keep the same ordering but give the right rail and diagnostics a little more room. */
@media (min-width:1181px) and (max-width:1320px) {
  .shell { width:calc(100% - 36px); }
  .main-grid { grid-template-columns:minmax(0,1.35fr) minmax(380px,.85fr); }
  .bottom-diagnostics-row { grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); }
  .bottom-diagnostics-row .accounting-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Tablet/mobile: preserve semantic order and stack the new wrappers cleanly. */
@media (max-width:1180px) {
  .right-rail { display:grid; gap:10px; }
  .bottom-diagnostics-row { display:grid; grid-template-columns:1fr; gap:10px; margin-top:10px; }
}

/* v0.5.8 revised — simplified operator workspace */
.control-btn.data-reset{color:var(--amber);border-color:rgba(255,200,87,.38);background:rgba(255,200,87,.05)}
.control-btn.data-reset:hover:not(:disabled){background:rgba(255,200,87,.12);border-color:rgba(255,200,87,.62)}
.compact-details{margin-top:5px;border-top:1px solid var(--line);padding-top:4px}
.compact-details>summary{cursor:pointer;list-style:none;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;user-select:none}
.compact-details>summary::-webkit-details-marker{display:none}
.compact-details>summary::before{content:'+ ';color:var(--cyan)}
.compact-details[open]>summary::before{content:'− '}
.compact-details[open]>summary{margin-bottom:5px}
.accounting-primary,.data-primary{margin-top:0}
.accounting-secondary,.data-secondary,.edge-grid-secondary{margin-top:4px}

@media (min-width:1181px){
  .shell{width:min(1320px,calc(100% - 64px));padding:8px 0 12px}
  .topbar{margin-bottom:4px}
  .control-bar{margin-bottom:4px;padding:4px 6px;min-height:32px}
  .control-actions{gap:4px}
  .control-btn{padding:5px 7px;font-size:8px}
  .control-hint,.control-feedback{font-size:7.8px}
  .stat-grid{gap:4px;margin-bottom:4px}
  .stat{min-height:62px;padding:6px 8px}
  .stat strong{font-size:clamp(14px,1.08vw,18px)}
  .hero-stat strong{font-size:clamp(17px,1.3vw,21px)}
  .stat small{font-size:7.5px}

  .main-grid{grid-template-columns:minmax(0,1.48fr) minmax(340px,.72fr);gap:4px}
  .right-rail{gap:4px}
  .chart-panel,.right-rail .positions-panel,.right-rail .edge-panel,.scanner-panel,.history-panel{padding:7px 8px}
  .canvas-wrap{height:150px}
  .scanner-list{max-height:125px}
  .executions-panel .table-scroll,.history-list{max-height:138px}
  .scan-row{grid-template-columns:minmax(100px,1fr) .42fr .52fr .52fr .6fr minmax(170px,1.5fr)}

  .right-rail .edge-grid-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
  .right-rail .edge-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
  .right-rail .edge-subgrid{grid-template-columns:1fr;gap:3px}
  .right-rail .edge-list{max-height:54px}

  .bottom-diagnostics-row{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:4px;margin-top:4px}
  .bottom-diagnostics-row>.panel{padding:7px 8px}
  .bottom-diagnostics-row .accounting-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .bottom-diagnostics-row .accounting-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .bottom-diagnostics-row .data-primary{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
  .bottom-diagnostics-row .data-primary>div:first-child{grid-column:1 / -1}
  .bottom-diagnostics-row .data-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .bottom-diagnostics-row .accounting-grid>div,.bottom-diagnostics-row .data-safety-grid>div{padding:5px 6px}
  .bottom-diagnostics-row .accounting-grid strong,.bottom-diagnostics-row .data-safety-grid strong{font-size:8.5px}
  .bottom-diagnostics-row .accounting-grid span,.bottom-diagnostics-row .data-safety-grid span{font-size:6.2px}
  .compact-head{margin-bottom:4px!important}
  footer{padding-top:3px}
}

@media (min-width:1181px) and (max-width:1380px){
  .shell{width:calc(100% - 52px)}
  .main-grid{grid-template-columns:minmax(0,1.4fr) minmax(330px,.76fr)}
  .bottom-diagnostics-row{grid-template-columns:1fr 1fr}
}
.edge-score{font-size:.72rem;margin-left:.35rem;white-space:nowrap}

/* v0.6.3 UI alignment pass
   Keep the lower ACCOUNT / DATA split on the exact same vertical grid line
   as the active workspace above, and make both lower panels finish evenly. */
@media (min-width:1181px) {
  .main-grid,
  .bottom-diagnostics-row {
    grid-template-columns:minmax(0,1.48fr) minmax(340px,.72fr);
    column-gap:4px;
  }

  .bottom-diagnostics-row {
    align-items:stretch;
  }

  .bottom-diagnostics-row > .panel {
    height:100%;
  }

  /* Five DATA metrics: two clean columns with the final card spanning the row.
     This removes the odd full-width STATUS card and keeps card edges consistent. */
  .bottom-diagnostics-row .data-primary {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bottom-diagnostics-row .data-primary > div:first-child {
    grid-column:auto;
  }

  .bottom-diagnostics-row .data-primary > div:last-child {
    grid-column:1 / -1;
  }
}

@media (min-width:1181px) and (max-width:1380px) {
  .main-grid,
  .bottom-diagnostics-row {
    grid-template-columns:minmax(0,1.4fr) minmax(330px,.76fr);
  }
}

/* TERMINALIQ.TRADE branding */
.brand-title { font-weight: 900; letter-spacing: -.045em; }
.brand-title span { color: var(--green); font-weight: 900; }

.entry-status.extended{color:#70d7ff!important}

/* MOMENTUM / DIP entry strategy badges */
.strategy-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-left:7px;
  padding:2px 6px;
  border-radius:999px;
  font-size:8px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.06em;
  vertical-align:middle;
  border:1px solid #26364c;
}

.strategy-momentum{
  color:#9ec5ff;
  background:#0b1624;
  border-color:#25466d;
}

.strategy-dip{
  color:#ffd37a;
  background:#211808;
  border-color:#684c16;
}

/* Closed-position strategy badge always below token */
.history-strategy-line{
  display:block;
  margin-top:3px;
}

.history-strategy-line .strategy-badge{
  margin-left:0 !important;
}

/* Automatic BUY_HOLD portfolio */
.hold-panel{
  grid-column:1 / -1;
}

.hold-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr));
  gap:8px;
}

.hold-card{
  min-width:0;
  padding:10px;
  border:1px solid #1b2939;
  border-radius:10px;
  background:#0a1017;
}

.hold-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}

.hold-token{
  font-weight:800;
  font-size:12px;
}

.hold-badge-line{
  display:block;
  margin-top:4px;
}

.strategy-hold{
  margin-left:0 !important;
  color:#ffd37a;
  background:#211808;
  border:1px solid #684c16;
}

.hold-pnl{
  text-align:right;
  white-space:nowrap;
}

.hold-pnl strong{
  display:block;
  font-size:14px;
}

.hold-pnl span{
  display:block;
  margin-top:2px;
  font-size:9px;
}

.hold-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}

.hold-metrics div{
  min-width:0;
}

.hold-metrics span{
  display:block;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
}

.hold-metrics strong{
  display:block;
  margin-top:2px;
  font-size:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:650px){
  .hold-list{
    grid-template-columns:1fr;
  }

  .hold-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* BUY_HOLD scanner diagnostics */
.hold-watch{
  grid-column:1 / -1;
  margin-top:10px;
  border-top:1px solid #1b2939;
  padding-top:8px;
}

.hold-watch-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:5px;
  color:#7f8998;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}

.hold-watch-row{
  display:grid;
  grid-template-columns:minmax(130px,1.1fr) 55px 72px minmax(180px,2fr);
  gap:8px;
  align-items:center;
  padding:6px 2px;
  border-top:1px solid #17212d;
  font-size:10px;
}

.hold-watch-token{
  min-width:0;
}

.hold-watch-token strong,
.hold-watch-token span{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.hold-watch-token span{
  color:#687386;
  font-size:8px;
}

.hold-watch-score strong{
  font-size:12px;
}

.hold-watch-score span{
  color:#687386;
  font-size:8px;
}

.hold-watch-state{
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}

.hold-watch-state.ready{color:#5ee6a8}
.hold-watch-state.watching{color:#61bfff}
.hold-watch-state.blocked{color:#ff7085}

.hold-watch-reason{
  min-width:0;
  color:#9aa4b4;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.hold-watch-empty{
  padding:9px 2px;
  color:#687386;
  font-size:10px;
}

@media(max-width:760px){
  .hold-watch-row{
    grid-template-columns:1fr 48px 68px;
  }

  .hold-watch-reason{
    grid-column:1 / -1;
    white-space:normal;
  }
}

/* HOLD WATCH compact scroll area */
.hold-watch-list{
  height:160px;
  max-height:160px;
  overflow-y:scroll;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  padding-right:4px;
}

/* HOLD WATCH uses the same status system as Launch Scanner */
.scan-status.observing{
  color:var(--warn);
}

.hold-watch-state{
  display:inline-block;
  width:max-content;
}

/* tighten Auto Hold panel */
.portfolio-panel,
.hold-panel {
  min-height: 0 !important;
  height: auto !important;
}

.portfolio-panel .panel-head,
.hold-panel .panel-head {
  margin-bottom: 6px !important;
}

#holdPanel,
#portfolioPanel {
  min-height: 0 !important;
  height: auto !important;
}

#holdPanel .empty,
#portfolioPanel .empty {
  min-height: 0 !important;
  padding: 12px 14px !important;
}


/* HOLD WATCH: exact Launch Scanner card typography/layout */
.hold-watch-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  height:270px !important;
  max-height:270px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  align-content:start;
  scrollbar-gutter:stable;
  padding-right:4px;
}

.hold-watch-card{
  margin:0 !important;
}

/* requested HOLD status colors */
.hold-watch-card .scan-status.observing{
  color:#61bfff !important;
}

.hold-watch-card .scan-status.blocked{
  color:var(--bad) !important;
}

.hold-watch-card .scan-status.ready{
  color:var(--good) !important;
}

@media(max-width:760px){
  .hold-watch-list{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   HOLD WATCH — compact Launch Scanner row layout
   ========================================================= */

.hw{
  width:100%;
  margin-top:8px;
  border-top:1px solid #1a2634;
  padding-top:7px;
}

.hw-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:18px;
  color:#68788c;
  font-size:7px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.hw-scroll{
  height:132px;
  max-height:132px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.hw-header,
.hw-row{
  display:grid;
  grid-template-columns:
    minmax(180px,1.55fr)
    minmax(75px,.55fr)
    minmax(100px,.75fr)
    minmax(100px,.8fr)
    minmax(125px,1fr)
    minmax(300px,2.2fr);
  column-gap:12px;
  align-items:center;
}

.hw-header{
  position:sticky;
  top:0;
  z-index:2;
  height:19px;
  background:#0d141d;
  border-bottom:1px solid #182331;

  color:#667589;
  font-size:6px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.hw-row{
  min-height:37px;
  padding:4px 0;
  border-bottom:1px solid #17212d;
}

.hw-token{
  min-width:0;
}

.hw-token > div{
  display:flex;
  align-items:baseline;
  gap:5px;
  min-width:0;
}

.hw-token strong{
  color:#edf2f8;
  font-size:9px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}

.hw-token span{
  min-width:0;
  max-width:90px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;

  color:#677589;
  font:6px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.hw-token b{
  color:#ff6579;
  font-size:8px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.hw-cell{
  min-width:0;
}

.hw-cell strong{
  display:block;
  color:#e7edf5;
  font-size:8px;
  line-height:1.1;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hw-cell strong.pos{
  color:var(--good);
}

.hw-cell strong.neg{
  color:var(--bad);
}

.hw-entry{
  min-width:0;
}

.hw-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:13px;
  padding:0 6px;
  border-radius:999px;

  font-size:6px;
  line-height:1;
  font-weight:900;
  letter-spacing:.10em;
}

.hw-badge.observing{
  color:#67c7ff;
  background:rgba(62,169,232,.12);
  border:1px solid rgba(62,169,232,.42);
}

.hw-badge.blocked{
  color:#ff667d;
  background:rgba(255,82,108,.10);
  border:1px solid rgba(255,82,108,.35);
}

.hw-badge.ready{
  color:#59e6a7;
  background:rgba(89,230,167,.10);
  border:1px solid rgba(89,230,167,.35);
}

.hw-reason{
  margin-top:2px;
  color:#748296;
  font-size:6px;
  line-height:1.1;

  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hw-empty{
  padding:14px 0;
  color:#657488;
  font-size:8px;
}


/* HOLD WATCH must span the full Auto Hold panel */
#holdPortfolio > .hw{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
}

/* Empty holdings message also spans the panel */
#holdPortfolio > .empty{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
}

/* Fit compact scanner columns inside full width */
.hw-header,
.hw-row{
  grid-template-columns:
    minmax(170px,1.45fr)
    minmax(70px,.55fr)
    minmax(95px,.75fr)
    minmax(90px,.75fr)
    minmax(120px,1fr)
    minmax(240px,2fr) !important;
}

/* Prevent any column from forcing overflow */
.hw-header > *,
.hw-row > *{
  min-width:0 !important;
}

.hw-entry{
  overflow:hidden !important;
}


/* HOLD WATCH — final alignment fix */

/* Keep every row and header on the exact same column grid */
.hw-header,
.hw-row{
  width:100%;
  min-width:880px;
  box-sizing:border-box;
}

/* Allow narrow screens to scroll the scanner horizontally instead of clipping it */
.hw-scroll{
  overflow-x:auto !important;
  overflow-y:auto !important;
}

/* TOKEN · EDGE: token/mint left, Edge score aligned on right */
.hw-token > div{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  column-gap:7px !important;
  align-items:center !important;
}

.hw-token strong{
  grid-column:1;
  grid-row:1;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.hw-token span{
  grid-column:1;
  grid-row:2;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.hw-token b{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:end;
  white-space:nowrap;
}

/* Keep each metric directly under its header */
.hw-cell,
.hw-entry{
  text-align:left;
}

/* Mobile: preserve scanner sizing; scroll inside HOLD WATCH */
@media(max-width:760px){
  .hw-scroll{
    width:100%;
    max-width:100%;
    -webkit-overflow-scrolling:touch;
  }

  .hw-header,
  .hw-row{
    min-width:880px !important;
  }
}


/* HOLD WATCH — align with Launch Scanner / Executions text */
#holdPortfolio > .hw{
  box-sizing:border-box !important;
  padding-left:15px !important;
  padding-right:15px !important;
}

.hw-top,
.hw-header,
.hw-row{
  margin-left:0 !important;
  margin-right:0 !important;
}

/* keep first column aligned to the headings above */
.hw-header > :first-child,
.hw-row > :first-child{
  padding-left:0 !important;
}


/* =========================================================
   HOLD WATCH — approved compact layout
   ========================================================= */

#holdPortfolio > .hw{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding-left:15px !important;
  padding-right:15px !important;
}

#holdPortfolio > .empty{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
}

.hw{
  width:100%;
  margin-top:8px;
  border-top:1px solid #1a2634;
  padding-top:7px;
}

.hw-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:18px;
  color:#68788c;
  font-size:7px;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.hw-scroll{
  height:132px;
  max-height:132px;
  overflow-x:auto !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

.hw-header,
.hw-row{
  display:grid;
  grid-template-columns:
    minmax(170px,1.45fr)
    minmax(70px,.55fr)
    minmax(95px,.75fr)
    minmax(90px,.75fr)
    minmax(120px,1fr)
    minmax(240px,2fr) !important;

  column-gap:12px;
  align-items:center;

  width:100%;
  min-width:880px;
  box-sizing:border-box;

  margin-left:0 !important;
  margin-right:0 !important;
}

.hw-header{
  position:sticky;
  top:0;
  z-index:2;
  height:19px;
  background:#0d141d;
  border-bottom:1px solid #182331;

  color:#667589;
  font-size:6px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.hw-row{
  min-height:37px;
  padding:4px 0;
  border-bottom:1px solid #17212d;
}

.hw-header > *,
.hw-row > *{
  min-width:0 !important;
}

.hw-header > :first-child,
.hw-row > :first-child{
  padding-left:0 !important;
}

.hw-token > div{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  column-gap:7px !important;
  align-items:center !important;
}

.hw-token strong{
  grid-column:1;
  grid-row:1;
  color:#edf2f8;
  font-size:9px;
  line-height:1;
  font-weight:800;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.hw-token span{
  grid-column:1;
  grid-row:2;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#677589;
  font:6px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.hw-token b{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:end;
  color:#ff6579;
  font-size:8px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.hw-cell,
.hw-entry{
  min-width:0;
  text-align:left;
}

.hw-cell strong{
  display:block;
  color:#e7edf5;
  font-size:8px;
  line-height:1.1;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hw-cell strong.pos{
  color:var(--good);
}

.hw-cell strong.neg{
  color:var(--bad);
}

.hw-entry{
  overflow:hidden !important;
}

.hw-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:13px;
  padding:0 6px;
  border-radius:999px;
  font-size:6px;
  line-height:1;
  font-weight:900;
  letter-spacing:.10em;
}

.hw-badge.observing{
  color:#67c7ff;
  background:rgba(62,169,232,.12);
  border:1px solid rgba(62,169,232,.42);
}

.hw-badge.blocked{
  color:#ff667d;
  background:rgba(255,82,108,.10);
  border:1px solid rgba(255,82,108,.35);
}

.hw-badge.ready{
  color:#59e6a7;
  background:rgba(89,230,167,.10);
  border:1px solid rgba(89,230,167,.35);
}

.hw-reason{
  margin-top:2px;
  color:#748296;
  font-size:6px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hw-empty{
  padding:14px 0;
  color:#657488;
  font-size:8px;
}

@media(max-width:760px){
  .hw-scroll{
    width:100%;
    max-width:100%;
    -webkit-overflow-scrolling:touch;
  }

  .hw-header,
  .hw-row{
    min-width:880px !important;
  }
}


#holdPanel{
  margin-top:-7px !important;
}


/* PORTFOLIO HEADER ALIGNMENT FIX */
.portfolio-panel{
  padding-top: 20px;
}

.portfolio-panel .panel-head{
  margin: 0 0 10px 0;
  padding: 0;
  align-items: flex-start;
}

.portfolio-panel .panel-head > div{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.portfolio-panel .panel-kicker{
  display: block;
  margin: 0;
}

.portfolio-panel h2{
  margin: 0;
  line-height: 1.05;
}


/* FINAL AUTO HOLD HORIZONTAL ALIGNMENT */
#holdPanel{
  padding-left:15px !important;
  padding-right:15px !important;
}

/* Panel now supplies the padding, so don't double-indent HOLD WATCH */
#holdPortfolio > .hw{
  padding-left:0 !important;
  padding-right:0 !important;
}


/* ===== GLOBAL PANEL / COLUMN ALIGNMENT ===== */
:root{
  --panel-x-pad: 15px;
  --scan-cols: minmax(210px,1.35fr) 90px 110px 110px 160px minmax(260px,1.7fr);
}

/* same inner left/right padding for all major boxes */
.chart-panel,
.positions-panel,
.edge-panel,
.scanner-panel,
.executions-panel,
.history-panel,
.account-panel,
.data-safety-panel,
#holdPanel{
  padding-left: var(--panel-x-pad) !important;
  padding-right: var(--panel-x-pad) !important;
  box-sizing: border-box !important;
}

/* remove old one-off hold offsets */
#holdPanel .panel-head,
#holdPanel .panel-kicker,
#holdPanel h2,
#holdPanel .empty,
#holdPanel .hw,
#holdPanel .hold-watch,
#holdPanel .hold-watch-list,
#holdPanel .scanner-list,
#holdPanel .table-scroll{
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* make HOLD WATCH rows line up like Launch scanner rows */
#holdPanel .scan-row,
#holdPanel .hold-row,
#holdPanel .hold-watch-row{
  display: grid !important;
  grid-template-columns: var(--scan-cols) !important;
  align-items: center !important;
  gap: 10px !important;
}

/* keep launch scanner using the same exact columns */
.scanner-panel .scan-row{
  grid-template-columns: var(--scan-cols) !important;
}

/* keep headers aligned with body content */
.executions-panel .panel-head,
.history-panel .panel-head,
.scanner-panel .panel-head,
#holdPanel .panel-head,
.account-panel .panel-head,
.data-safety-panel .panel-head{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* empty auto-hold message should sit flush with the panel content */
#holdPanel .empty{
  width: 100% !important;
  box-sizing: border-box !important;
}

/* mobile: keep the same left edge */
@media (max-width: 650px){
  .chart-panel,
  .positions-panel,
  .edge-panel,
  .scanner-panel,
  .executions-panel,
  .history-panel,
  .account-panel,
  .data-safety-panel,
  #holdPanel{
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}


/* ===== HOLD WATCH SHOULD MATCH LAUNCH SCANNER EXACTLY ===== */
#holdPanel .hold-watch-list{
  max-height: 285px;
  overflow: auto;
}

#holdPanel .hold-watch-row{
  display: grid;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #1b2028;
  padding: 8px 2px;
  grid-template-columns: minmax(120px,1.05fr) .52fr .62fr .68fr .72fr minmax(220px,1.9fr) !important;
}

#holdPanel .hold-token-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
}

#holdPanel .hold-edge-score{
  margin-left:auto;
  color:#ff5d73;
  font-size:11px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

#holdPanel .hold-reason-text{
  margin-left:6px;
}

#holdPanel .entry-badge{
  display:inline-flex;
  align-items:center;
  height:18px;
  padding:0 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  vertical-align:middle;
}

#holdPanel .entry-badge.observing{
  color:#79c7ff;
  border:1px solid rgba(70,150,255,.35);
  background:rgba(32,86,160,.22);
}

#holdPanel .entry-badge.blocked{
  color:#ff7b8d;
  border:1px solid rgba(255,90,120,.35);
  background:rgba(120,25,45,.22);
}

#holdPanel .entry-badge.ready{
  color:#7dffbf;
  border:1px solid rgba(70,220,150,.35);
  background:rgba(20,110,70,.22);
}


/* HOLD WATCH uses Launch Scanner columns */
#holdPortfolio .hold-scan-row{
  width:100% !important;
}

#holdPortfolio .hw-scroll{
  height:132px !important;
  max-height:132px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

#holdPortfolio .entry-status.observing{
  color:#67c7ff !important;
}

#holdPortfolio .entry-status.blocked{
  color:#ff667d !important;
}

#holdPortfolio .entry-status.ready{
  color:#59e6a7 !important;
}

/* Align ENTRY CHECK with right-side panels */
@media (min-width:1051px){
  .scan-row > .entry-check-cell{
    padding-left:0 !important;
    position:relative !important;
    left:-37px !important;
    width:calc(100% + 37px) !important;
  }
}

