:root { color-scheme: dark; --bg:#0a1020; --panel:#121c31; --line:#253554; --text:#edf3ff; --muted:#92a1bb; --accent:#f8ab3a; --danger:#ff8490; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:radial-gradient(circle at top right,#1d3155 0,var(--bg) 45%); color:var(--text); }
.login-page { display:grid; place-items:center; padding:24px; }
.login-card { width:min(100%,420px); padding:36px; background:rgba(18,28,49,.96); border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 60px #0008; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:8px; } h2 { font-size:1.1rem; }
.eyebrow { margin-bottom:6px; color:var(--accent); font-weight:750; letter-spacing:.13em; font-size:.75rem; }
label { display:block; margin:22px 0 7px; color:var(--muted); }
input { width:100%; padding:12px; border-radius:8px; border:1px solid var(--line); background:#080e1b; color:var(--text); font:inherit; }
button { width:100%; margin-top:20px; padding:12px; border:0; border-radius:8px; background:var(--accent); color:#17100a; font:inherit; font-weight:750; cursor:pointer; }
.error { margin:18px 0 0; color:var(--danger); }
.topbar,.dashboard { max-width:1120px; margin:auto; padding:28px 24px; }
.topbar { display:flex; align-items:center; justify-content:space-between; } .topbar h1 { margin:0; }
.actions { display:flex; align-items:center; gap:12px; }.actions a { color:var(--text); text-decoration:none; border:1px solid var(--line); padding:9px 13px; border-radius:8px; }
.notice,.panel,article { background:rgba(18,28,49,.96); border:1px solid var(--line); border-radius:12px; }
.notice { display:flex; gap:12px; padding:16px; margin-bottom:20px; } .notice span,.muted,small { color:var(--muted); }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; }
.settings-row { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; }
.setting-field { grid-column:span 1; padding:20px; background:rgba(18,28,49,.96); border:1px solid var(--line); border-radius:12px; }
.setting-field label { margin-top:0; }.setting-field small { display:block; margin-top:8px; }.setting-field button { margin-top:14px; }
.currency-input { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#080e1b; }.currency-input span { padding-left:12px; color:var(--muted); }.currency-input input { border:0; border-radius:0; }.setting-status { min-height:1.5em; margin:10px 0 0; color:var(--muted); }.setting-status.is-error { color:var(--danger); }.setting-status.is-success { color:#7ce5b2; }
article { padding:20px; } article p { color:var(--muted); margin-bottom:8px; } article strong { display:block; font-size:1.5rem; margin-bottom:6px; }
.panel { padding:20px; margin-bottom:20px;}.narrow { max-width:640px; }.success { color:#7ce5b2; }.empty-chart { min-height:230px; display:grid; place-items:center; border:1px dashed var(--line); color:var(--muted); text-align:center; padding:24px; border-radius:8px; }
.trading-toggle { width:auto; margin:0 0 9px; min-width:116px; display:inline-flex; align-items:center; gap:10px; padding:7px 12px 7px 7px; border:1px solid transparent; border-radius:999px; color:#fff; transition:background .18s,border-color .18s,opacity .18s; }
.trading-toggle.is-on { background:#197342; border-color:#39be72; }.trading-toggle.is-off { background:#8d2732; border-color:#ed6876; }.trading-toggle:disabled { cursor:wait; opacity:.65; }
.toggle-knob { width:26px; height:26px; flex:0 0 26px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0008; }.trading-toggle.is-on { padding-left:12px; padding-right:7px; flex-direction:row-reverse; }
@media (max-width:700px) { .metrics,.settings-row { grid-template-columns:1fr; } .notice { display:block; } .notice span { display:block; margin-top:4px; } }

.price-positive { color: #16803c; }
.price-negative { color: #b42318; }
