/* Slate desk: compact monitoring, local Segoe UI and tabular numerals. */
:root {color-scheme:dark;--bg:#10151d;--surface:#18212d;--raised:#202c3a;--line:#344355;--ink:#eef2f6;--muted:#afbdcc;--accent:#9cc9ee;--danger:#ffb4af;--warning:#efce91;--success:#a4d9bc;}
* {box-sizing:border-box;}
body {margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 "Segoe UI",Arial,sans-serif;}
button,input,select {font:inherit;color:inherit;}
button,input,select {border:1px solid #526378;border-radius:4px;background:var(--raised);min-height:44px;padding:9px 12px;}
button {cursor:pointer;font-weight:600;}
button:hover:not(:disabled) {background:#2d3c4e;border-color:var(--accent);}
button:disabled {opacity:.55;cursor:not-allowed;}
button.primary {background:#b4d8ef;border-color:#b4d8ef;color:#152535;}
button.primary:hover:not(:disabled) {background:#d2e9f8;}
:focus-visible {outline:3px solid #f5d79b;outline-offset:3px;}
input,select {width:100%;min-width:0;}
input::placeholder {color:#a5b4c4;}
a {color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;}
a:hover {color:#d8efff;}
[hidden] {display:none !important;}
.skip {position:absolute;left:16px;top:-100px;z-index:10;padding:12px;background:var(--surface);}
.skip:focus {top:8px;}
.topbar {border-bottom:1px solid var(--line);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#151d27;}
.brand {display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.wordmark {font-weight:750;font-size:15px;letter-spacing:.12em;white-space:nowrap;}
.badge {display:inline-block;color:var(--success);border:1px solid #587d6c;background:#1b2b29;border-radius:3px;font-size:10px;letter-spacing:.08em;font-weight:700;padding:3px 7px;white-space:nowrap;}
.badge.muted {color:var(--muted);border-color:var(--line);background:transparent;}
.market {font-size:12px;color:var(--warning);text-align:right;max-width:50%;}
main {max-width:1600px;margin:auto;padding:22px 24px 14px;}
h1,h2,h3,p {margin:0;}
h1 {font-size:23px;font-weight:600;letter-spacing:-.02em;}
h2 {font-size:16px;font-weight:650;}
h3 {font-size:14px;font-weight:650;}
p {margin:8px 0;overflow-wrap:anywhere;}
small {font-size:11px;display:block;}
code,.hash {font-family:Consolas,"Courier New",monospace;font-size:11px;overflow-wrap:anywhere;}
.subtle,.hint,small {color:var(--muted);}
.hint {font-size:12px;}
.toolbar,.actions,.section-title,.inline-form,.history-controls,.pagination {display:flex;gap:12px;align-items:center;}
.toolbar {justify-content:space-between;flex-wrap:wrap;}
.toolbar p {font-size:12px;color:var(--muted);margin-bottom:0;}
.actions {flex-wrap:wrap;}
#global-status {font-size:12px;color:var(--muted);min-height:18px;}
.error {color:var(--danger);background:#33252b;border:1px solid #80575e;padding:10px 12px;border-radius:4px;}
.warning {color:var(--warning);font-size:12px;}
.metrics {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0 20px;border:1px solid var(--line);background:var(--surface);border-radius:5px;}
.metrics>div {padding:16px;border-right:1px solid var(--line);min-width:0;}
.metrics>div:last-child {border:0;}
.metrics span {display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
.metrics strong {display:block;font-size:24px;font-weight:550;letter-spacing:-.03em;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;}
.metrics small {margin-top:4px;overflow-wrap:anywhere;}
.workspace {display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:18px;align-items:start;}
.main-column,.side-column {min-width:0;}
.panel {border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:18px;margin-bottom:18px;min-width:0;}
.section-title {justify-content:space-between;flex-wrap:wrap;margin-bottom:14px;}
.eyebrow {font-size:10px;letter-spacing:.08em;color:var(--muted);}
label {display:block;font-size:12px;font-weight:600;margin:10px 0 6px;}
.inline-form {align-items:center;}
.grow {flex:1;min-width:0;}
.inline-form small {margin-top:5px;}
.quotes {border-top:1px solid var(--line);margin-top:14px;}
.quote-row {display:grid;grid-template-columns:70px 100px 116px minmax(100px,1fr);gap:8px 16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;}
.quote-row:last-child {border-bottom:0;}
.quote-price {font-size:17px;font-weight:600;}
.quote-state {font-size:11px;color:var(--warning);text-align:right;}
.quote-source {grid-column:1/-1;font-size:11px;color:var(--muted);overflow-wrap:anywhere;}
.quote-row svg {width:116px;height:40px;display:block;}
.quote-row polyline {fill:none;stroke:var(--accent);stroke-width:1.6;}
.quote-detail {white-space:pre-line;font-variant-numeric:tabular-nums;font-size:12px;margin:12px 0;}
.full {width:100%;}
.auth-page {max-width:520px;padding-top:48px;}
.auth-panel {max-width:520px;margin:24px auto;}
.auth-panel button {margin-top:18px;}
.divider {height:1px;background:var(--line);margin:18px 0;}
#model-status,#analysis-status,#trade-status,#watchlist-status,#history-status {font-size:12px;color:var(--muted);}
#trade-estimate {font-variant-numeric:tabular-nums;font-size:13px;padding:10px 0;margin-bottom:0;}
.ticket .section-title {gap:6px;}
.empty {color:var(--muted);font-size:13px;padding:12px 0;}
.table-scroll {max-width:100%;overflow-x:auto;scrollbar-color:#6d8199 var(--surface);}
#history-rows {max-height:520px;overflow:auto;}
#history-rows th {position:sticky;top:0;z-index:1;}
table {border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums;text-align:left;}
th,td {padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
th {font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;background:#1c2734;}
td {min-width:75px;max-width:380px;overflow-wrap:anywhere;}
tr:last-child td {border-bottom:0;}
article {padding:14px 0;border-bottom:1px solid var(--line);}
article:first-child {padding-top:4px;}
article:last-child {border-bottom:0;}
article .article-title {font-weight:600;line-height:1.6;}
#signals article>p:not(.hint) {line-height:1.65;white-space:pre-wrap;}
.news-list {max-height:440px;overflow:auto;}
.history-controls {align-items:end;flex-wrap:wrap;}
.history-controls>div:not(.grow) {min-width:170px;}
.provenance {font-size:12px;color:var(--muted);margin:12px 0;}
.pagination {justify-content:space-between;margin-top:14px;font-size:12px;}
footer {padding:8px 0 16px;font-size:11px;color:var(--muted);}
@media (max-width:1200px) {
  .metrics {grid-template-columns:repeat(3,minmax(0,1fr));}
  .metrics>div:nth-child(3) {border-right:0;}
  .metrics>div:nth-child(-n+3) {border-bottom:1px solid var(--line);}
  .quote-row {grid-template-columns:60px 90px minmax(80px,1fr);}
  .quote-state {grid-column:1/-1;text-align:left;}
}
@media (max-width:900px) {
  .workspace {grid-template-columns:minmax(0,1fr);}
  .side-column {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .market {max-width:45%;}
}
@media (max-width:600px) {
  main {padding:16px 12px;}
  .topbar {padding:14px 12px;display:block;}
  .brand {gap:8px;}
  .brand .subtle {display:none;}
  .market {max-width:100%;text-align:left;margin-top:9px;}
  .actions {width:100%;gap:8px;}
  .actions button {flex:1;padding:9px 7px;font-size:12px;}
  .metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
  .metrics>div {padding:12px;}
  .metrics>div:nth-child(3) {border-right:1px solid var(--line);}
  .metrics>div:nth-child(even) {border-right:0;}
  .metrics>div:nth-child(4) {border-bottom:1px solid var(--line);}
  .metrics strong {font-size:21px;}
  .panel {padding:14px;}
  .side-column {display:block;}
  .inline-form {display:block;}
  .inline-form button {width:100%;margin-top:10px;}
  .quote-row {grid-template-columns:52px 88px minmax(0,1fr);gap:8px;}
  .quote-row svg {max-width:100%;}
  .history-controls {display:block;}
  .history-controls button {width:100%;margin-top:12px;}
  .pagination {flex-wrap:wrap;gap:8px;}
  .pagination span {order:-1;width:100%;}
  .pagination button {flex:1;}
  .eyebrow {font-size:9px;}
}
@media (prefers-reduced-motion:reduce) {* {scroll-behavior:auto !important;}}
