:root{color-scheme:light;--bg: #f4f6f8;--surface: #ffffff;--ink: #14181d;--muted: #5c6773;--border: #dfe4ea;--accent: #0f766e;--positive: #16a34a;--negative: #dc2626;--sidebar-bg: #ffffff}[data-theme=dark]{color-scheme:dark;--bg: #0e1216;--surface: #171d24;--ink: #e8edf2;--muted: #93a0ad;--border: #2a333d;--accent: #2dd4bf;--sidebar-bg: #12181e}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}button{cursor:pointer;font:inherit}input{font:inherit;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);width:100%}select{font:inherit;padding:.55rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}.mono{font-family:ui-monospace,monospace;font-size:.85em;word-break:break-all}label{display:block;margin-bottom:.9rem;font-size:.9rem}label input{margin-top:.3rem}button[type=submit],.card button{background:var(--accent);color:#fff;border:none;padding:.55rem 1rem;border-radius:6px}button.link{background:none;color:var(--accent);border:none;padding:.4rem 0;display:block;margin-top:.5rem}.muted{color:var(--muted)}.error{color:var(--negative)}.positive{color:var(--positive)}.negative{color:var(--negative)}.layout{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:1rem}.brand{font-weight:700;font-size:1.2rem;padding:.5rem .75rem 1.25rem}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.nav-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--ink);padding:.65rem .75rem;border-radius:6px}.nav-item:hover{background:var(--bg)}.nav-item.active{background:var(--bg);font-weight:600}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.25rem}.drawer-backdrop{display:none}.main{flex:1;min-width:0}.topbar{display:none;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:5}.hamburger{background:none;border:none;color:var(--ink);font-size:1.3rem;padding:.25rem .5rem}.topbar-title{font-weight:700}.content{padding:1.5rem;max-width:960px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}.card h2{margin-top:0;font-size:1.05rem}.chart{width:100%;height:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border)}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:var(--bg)}.watchlist{list-style:none;padding:0;margin:0 0 1rem}.watchlist li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.watchlist button{background:none;color:var(--negative);border:none;padding:.3rem .5rem}.inline-form{display:flex;gap:.5rem}.inline-form input{flex:1}.kill-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:2px solid var(--accent);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.kill-switch.paused{border-color:var(--negative);background:#dc262614}.kill-switch p{margin:.3rem 0 0}.kill-switch .kill-switch-btn{flex-shrink:0;border:none;border-radius:6px;padding:.7rem 1.1rem;font-weight:600;color:#fff}.kill-switch .kill-switch-btn.pause{background:#b45309}.kill-switch .kill-switch-btn.resume{background:var(--positive)}@media(max-width:768px){.kill-switch{flex-direction:column;align-items:flex-start}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:380px;margin:0}.login-card h1{margin:0 0 .25rem}@media(max-width:768px){.topbar{display:flex}.sidebar{position:fixed;left:0;top:0;z-index:10;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 24px #00000040}.sidebar.open{transform:translate(0)}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:9}.content{padding:1rem}}
