:root{--bg: #f6f7f9;--surface: #ffffff;--text: #16181d;--muted: #6b7280;--border: #e3e5ea;--accent: #5b4bdb;--accent-text: #ffffff;--up: #11845b;--down: #c2362f;--warn-bg: #fff7e6;--warn-border: #f2d49b;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,sans-serif}h1{font-size:1.4rem;margin:0 0 .5rem}h2{font-size:1.05rem;margin:0 0 .75rem}p{margin:0 0 .5rem}.shell{max-width:960px;margin:0 auto;padding:0 16px 48px}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.brand{font-weight:700}.topbar nav{display:flex;gap:4px}.user{color:var(--muted);display:flex;gap:10px;align-items:center}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.auth{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.empty{text-align:center;padding:40px 18px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted)}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px}input:focus{outline:2px solid var(--accent);outline-offset:-1px}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:7px 14px}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--down)}button.small{padding:3px 10px;font-size:.85rem}button.link{border:none;background:none;padding:0;color:var(--accent)}button.tab{border:none;background:none;color:var(--muted)}button.tab.active{color:var(--text);background:var(--surface);border:1px solid var(--border)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.kpi{display:flex;flex-direction:column;gap:2px}.kpi .label{color:var(--muted);font-size:.85rem}.kpi .value{font-size:1.6rem;font-weight:650;font-variant-numeric:tabular-nums}.kpi .sub{color:var(--muted);font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.warnings{background:var(--warn-bg);border-color:var(--warn-border);font-size:.9rem}.warnings p:last-child{margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:7px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:500;font-size:.85rem}tr:last-child td{border-bottom:none}.num{text-align:right}.tag{margin-left:6px;font-size:.75rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 6px}.chart{width:100%;height:auto;display:block}.chart .zero{stroke:var(--border);stroke-dasharray:4 4}.chart .line{fill:none;stroke-width:2}.chart .line.up{stroke:var(--up)}.chart .line.down{stroke:var(--down)}.chart .axis{fill:var(--muted);font-size:11px}.muted{color:var(--muted)}.small{font-size:.85rem}.strong{font-weight:650;font-variant-numeric:tabular-nums}.error{color:var(--down)}.cap{text-transform:capitalize}select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 8px}label.inline{flex-direction:row;align-items:center;gap:8px}label.inline input{width:110px}td.wrap{white-space:normal;min-width:220px}.prediction{border-top:1px solid var(--border);padding-top:12px}.prediction:first-of-type{border-top:none;padding-top:0}.badge{font-size:.8rem;border-radius:999px;padding:1px 10px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.badge.right{color:var(--up);border-color:var(--up)}.badge.wrong{color:var(--down);border-color:var(--down)}.sources{display:flex;flex-wrap:wrap;gap:4px 12px}.sources a{color:var(--accent)}.wrap-note{white-space:normal;max-width:260px}
