:root{color-scheme:dark;--bg:#07111f;--card:#101e30;--line:#24364b;--cyan:#4bd7d0;--red:#ff667a;--green:#64e8af;--amber:#f0bd66;--text:#edf5ff;--muted:#9fb1c5}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#07111f,#0b1829);color:var(--text);font:14px system-ui,sans-serif}
header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:#091523}
header b{font-size:20px}.badge{margin-left:12px;padding:4px 9px;border-radius:12px;background:#14493f;color:#76f5d2}
main{max-width:1400px;margin:auto;padding:24px}.grid{display:grid;gap:14px}.metrics{grid-template-columns:repeat(4,1fr)}
article,section,details,.login-card{background:rgba(16,30,48,.95);border:1px solid var(--line);border-radius:12px;padding:18px}
article small{display:block;color:var(--muted);margin-bottom:9px}article strong{font-size:22px}.ok{color:var(--green)}.bad{color:var(--red)}.muted{color:var(--muted)}
.warning,.alert,.success{padding:13px;border-radius:8px;margin:0 0 18px}.warning{border:1px solid #8b6422;background:#3c2d13}.alert{border:1px solid #a73548;background:#3e1822}.success{border:1px solid #277c62;background:#12382f}
.auto-compact{padding:14px 18px;margin-bottom:18px}.auto-line{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap}.auto-line>span{color:#c6d4e3}.auto-state{font-size:16px;white-space:nowrap}
.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;background:var(--green);box-shadow:0 0 10px var(--green)}
.status-paper .status-dot{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.status-error .status-dot{background:var(--red);box-shadow:0 0 10px var(--red)}
.status-error{border-color:#8f3343}.preflight-details{margin-top:10px;padding:0;border:0;background:transparent}.preflight-details summary{cursor:pointer;color:var(--cyan);width:max-content}
.compact-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:10px}.compact-actions form{margin:0}.emergency-compact{margin:0;padding:0;border:0;background:transparent}.emergency-compact>summary{list-style:none;background:#9b263b;border:1px solid #d9485e;border-radius:7px;padding:9px 13px;cursor:pointer}.emergency-compact form{margin-top:10px;padding:12px;border:1px solid #8f3343;border-radius:8px}
.preflight{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.preflight article{padding:13px}.preflight article strong{float:right}.preflight article p{white-space:normal;color:var(--muted);margin-bottom:0}.check-ok{border-color:#276f5c}.check-warning{border-color:#c79332;background:#2b2415}.check-bad{border-color:#a73548;background:#341722}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
progress{width:100%;height:5px}nav{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}nav form{margin:0}
button{background:#176b71;color:white;border:1px solid #268b91;border-radius:7px;padding:9px 13px;cursor:pointer}button:hover{filter:brightness(1.15)}button:focus-visible,.scanner-row:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.ghost{background:transparent}.danger{background:#9b263b;border-color:#d9485e}.disable-auto{margin-top:16px}
.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}h2{margin-top:0}.table{overflow:auto}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#8fa9c4}
.scanner-row{cursor:pointer;transition:background .15s}.scanner-row:hover{background:#152b42}.scanner-row.selected-row{background:#153c48;box-shadow:inset 4px 0 var(--cyan)}
.scanner-row.price-up [data-field="price"]{background:#164d3d;color:#80efc0}
.scanner-row.price-down [data-field="price"]{background:#512532;color:#ff9aaa}
.dashboard-connection .warn{color:#e6b85c}
.market-chart-section{margin-top:16px}.chart-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.chart-heading h2{margin-bottom:8px}
.chart-metrics{display:flex;gap:10px 20px;flex-wrap:wrap;color:var(--muted)}.chart-metrics b{color:var(--text)}.periods{display:flex;gap:5px}.periods button{padding:7px 10px;background:#0b1928}.periods button.active{background:#176b71;border-color:var(--cyan)}
#chart-shell{height:460px;min-height:360px;position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#08131f}#chart{position:absolute;inset:0}.chart-state{position:absolute;inset:0;display:grid;place-items:center;background:rgba(8,19,31,.78);font-size:16px;color:var(--muted);z-index:2}.chart-state.hidden{display:none}.chart-state.error{color:var(--red)}
dl{display:grid;grid-template-columns:1fr 1fr;gap:9px}dd{text-align:right}details{margin-top:16px}details summary{cursor:pointer}.auto{display:flex;gap:14px;align-items:center;margin-top:15px;flex-wrap:wrap}
.login{display:grid;place-items:center;min-height:100vh}.login-card{width:min(400px,90vw)}label{display:grid;gap:6px;margin:14px 0}input{background:#081522;color:white;border:1px solid #38506a;border-radius:7px;padding:11px}pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:850px){.metrics{grid-template-columns:1fr 1fr}.columns{grid-template-columns:1fr}.preflight{grid-template-columns:1fr 1fr}.chart-heading{flex-direction:column}.market-chart-section{padding:14px}}
@media(max-width:520px){main{padding:12px}.metrics,.preflight{grid-template-columns:1fr}.auto-line{display:grid;grid-template-columns:1fr 1fr}.auto-state{grid-column:1/-1}.scanner-scroll{width:100%;overflow-x:auto}.market-chart-section{margin-left:-12px;margin-right:-12px;border-radius:0}.periods{width:100%;justify-content:space-between}.periods button{flex:1}#chart-shell{height:380px;min-height:360px}.detail-actions{align-items:flex-start;flex-direction:column}}
