:root{--bg: #f4f5f7;--card: #ffffff;--text: #1c1f24;--muted: #6b7280;--border: #e3e5e8;--accent: #2557d6;--up: #12805c;--down: #c62f2f;--selected: #eaf0fd;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--card: #1d2026;--text: #e6e8eb;--muted: #9aa1ab;--border: #2e323a;--accent: #6d93ff;--up: #3ccf91;--down: #ff6b6b;--selected: #24304a}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.app{padding:16px 24px}header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}h1{font-size:1.5rem;margin:8px 0}h2{font-size:1.15rem;margin:0 0 12px}h3{font-size:.95rem;margin:20px 0 8px;color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin:16px 0;overflow-x:auto}summary{cursor:pointer;font-weight:600}.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:8px}.row.between{justify-content:space-between;align-items:center;margin:0}.grow{flex:1;min-width:200px}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}input,select,button{font:inherit;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text)}input[type=checkbox]{padding:0}button{cursor:pointer;background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.danger{background:transparent;color:var(--down);border-color:var(--border)}.actions{white-space:nowrap;display:flex;gap:4px}.actions button:first-child{background:transparent;color:var(--accent);border-color:var(--border)}table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:8px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,Menlo,monospace}.small{font-size:.8rem;color:var(--muted)}.clickable{cursor:pointer}.clickable:hover,.selected{background:var(--selected)}.inactive{opacity:.5}.up{color:var(--up)}.down{color:var(--down)}.hint{font-size:.8rem;color:var(--muted);margin:6px 0 0}.error{color:var(--down)}.quota{font-size:.85rem;padding:4px 10px;border-radius:999px;background:var(--selected)}.quota-full{background:var(--down);color:#fff}.status-ok{color:var(--up)}.status-error,.status-limit{color:var(--down)}.chart-toolbar{margin-bottom:4px}.chart-container{width:100%;height:360px}.ohlc{display:flex;flex-wrap:wrap;gap:4px 14px;margin:4px 0 8px;font-variant-numeric:tabular-nums}.ohlc b{color:var(--text);font-weight:600}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segmented button{border:none;border-radius:0;background:transparent;color:var(--muted)}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--selected);color:var(--accent);font-weight:600}.overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 16px;margin:0}.overview dt{font-size:.75rem;color:var(--muted)}.overview dd{margin:0;font-weight:500}.brand{display:flex;align-items:center;gap:24px;flex-wrap:wrap}nav{display:flex;gap:4px}nav a{padding:6px 12px;border-radius:6px;color:var(--muted);text-decoration:none;font-weight:500}nav a:hover{color:var(--text);background:var(--selected)}nav a.active{color:var(--accent);background:var(--selected)}nav .menu{position:relative}nav .menu summary{list-style:none;padding:6px 12px;border-radius:6px;color:var(--muted);font-weight:500}nav .menu summary::-webkit-details-marker{display:none}nav .menu summary:hover{color:var(--text);background:var(--selected)}nav .menu summary.active{color:var(--accent);background:var(--selected)}.menu-items{position:absolute;z-index:10;top:100%;left:0;min-width:180px;margin-top:4px;padding:4px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001f}button.inline{margin-left:8px;padding:3px 10px}button.secondary{background:transparent;color:var(--accent);border-color:var(--border)}.pager{justify-content:center;align-items:center}.payload{margin:0;padding:12px;max-height:400px;overflow:auto;font-size:.8rem;font-family:ui-monospace,Menlo,monospace;background:var(--bg);border-radius:6px;white-space:pre}.user-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-bar a{text-decoration:none}.auth-screen{display:flex;justify-content:center;padding-top:10vh}.auth-card,.narrow{width:100%;max-width:420px}.auth-card h1{font-size:1.3rem;margin-top:0}.stack{display:flex;flex-direction:column;gap:12px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;vertical-align:middle}.badge-favorites{background:#fdf3d6;color:#8a6200}.badge-watch_down{background:#fde4e4;color:#a32121}.badge-watch_up{background:#dcf3ea;color:#0f6b4c}.badge-positions{background:#e3ebfd;color:#1d48b0}.badge-trend_down{background:#f6e3f3;color:#8b2479}.badge-trend_up{background:#e0f2f6;color:#136a7c}@media(prefers-color-scheme:dark){.badge-favorites{background:#3d3214;color:#f2cf6b}.badge-watch_down{background:#3f1d1d;color:#ff9b9b}.badge-watch_up{background:#163a2d;color:#74dcb0}.badge-positions{background:#1e2c4f;color:#9db8ff}.badge-trend_down{background:#3a1d36;color:#eaa0df}.badge-trend_up{background:#163940;color:#84d6e6}}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.list-tile{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none}.list-tile:hover{border-color:var(--accent);background:var(--selected)}.alert-row{background:var(--selected)}tfoot td{border-top:2px solid var(--border);border-bottom:none}.favorites{align-items:center}label.check{flex-direction:row;align-items:center;gap:6px;font-size:.9rem;color:var(--text)}.market-hours{margin:0 0 8px;font-size:.9rem;color:var(--muted)}.market-hours b{color:var(--text)}.market-hours .badge{margin-left:8px}.badge-open{background:#dcf3ea;color:#0f6b4c}.badge-closed{background:#ececec;color:#555}@media(prefers-color-scheme:dark){.badge-open{background:#163a2d;color:#74dcb0}.badge-closed{background:#2e323a;color:#9aa1ab}}
