:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #eef2ff;
  background: #090d17;
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin:0; background: radial-gradient(circle at 20% 0%, #18213c 0, #090d17 38%, #060910 100%); min-height:100vh; }
button, input, select { font:inherit; }
button { cursor:pointer; }
.shell { display:none; grid-template-columns:260px minmax(0,1fr); min-height:100vh; }
body.authenticated .shell { display:grid; }
.sidebar { border-right:1px solid #222a3d; padding:26px 18px; background:rgba(7,10,18,.88); position:sticky; top:0; height:100vh; display:flex; flex-direction:column; }
.brand { display:flex; gap:12px; align-items:center; margin-bottom:34px; }
.brand-mark { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; font-weight:900; background:linear-gradient(135deg,#7c3aed,#22d3ee); }
.brand-name { font-weight:800; }
.brand-sub { font-size:12px; color:#8f9bb3; margin-top:2px; }
.nav { display:grid; gap:7px; }
.nav-item { text-align:left; border:0; border-radius:10px; color:#9ea9bd; background:transparent; padding:11px 12px; }
.nav-item:hover,.nav-item.active { color:#fff; background:#161d2d; }
.zero-lock { margin-top:auto; display:flex; gap:10px; align-items:center; background:#0e2018; border:1px solid #1b4932; padding:12px; border-radius:12px; }
.zero-dot { width:10px; height:10px; border-radius:50%; background:#34d399; box-shadow:0 0 14px #34d399; }
.zero-lock strong { display:block; font-size:12px; color:#83f3bd; }
.zero-lock span { font-size:11px; color:#7fa793; }
.main { padding:32px 34px 22px; max-width:1500px; width:100%; margin:0 auto; }
.topbar { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:24px; }
.top-actions { display:flex; gap:10px; align-items:flex-end; }
h1 { margin:4px 0 0; font-size:34px; }
h2 { margin:5px 0 0; }
.subtle { color:#6f7d94; font-size:12px; margin:6px 0 0; }
.eyebrow,.label { color:#8792a9; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:800; }
.channel-picker { display:grid; gap:6px; min-width:275px; }
.channel-picker label { font-size:11px; color:#8792a9; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
select,input { color:#eef2ff; background:#111827; border:1px solid #2b3449; border-radius:10px; padding:10px 12px; outline:none; }
.readiness-panel { display:flex; justify-content:space-between; gap:20px; align-items:center; border:1px solid #263149; background:linear-gradient(180deg,rgba(21,29,48,.92),rgba(12,17,29,.96)); border-radius:16px; padding:18px 20px; margin-bottom:16px; }
.readiness-grid { display:grid; grid-template-columns:repeat(4,minmax(145px,1fr)); gap:12px; flex:1; max-width:870px; }
.ready-item { display:flex; gap:9px; align-items:center; background:#0f1728; border:1px solid #222d46; border-radius:11px; padding:10px 12px; }
.ready-item strong { display:block; font-size:12px; }
.ready-item small { display:block; color:#7f8da4; margin-top:2px; }
.ready-light { width:9px; height:9px; flex:none; border-radius:50%; background:#475569; }
.ready-light.on { background:#34d399; box-shadow:0 0 12px rgba(52,211,153,.75); }
.hero-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:16px; }
.hero-card,.panel,.timer-card,.module-card { background:linear-gradient(180deg,rgba(21,29,48,.92),rgba(12,17,29,.96)); border:1px solid #263149; border-radius:16px; box-shadow:0 14px 40px rgba(0,0,0,.16); }
.hero-card { padding:20px; }
.accent-card { border-color:#5b48a3; box-shadow:inset 0 0 0 1px rgba(124,58,237,.08),0 14px 40px rgba(0,0,0,.18); }
.big-number { font-size:30px; font-weight:900; margin:12px 0 14px; }
.big-number small { font-size:15px; color:#98a4ba; font-weight:700; }
.progress { height:8px; background:#252d40; overflow:hidden; border-radius:999px; }
.progress span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#8b5cf6,#22d3ee); }
.card-foot { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:#8d9aaf; margin-top:10px; }
.card-foot strong { color:#c9d3e6; }
.timer-card { margin:16px 0; padding:20px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.timer-card h2 { margin:6px 0; font-size:21px; }
.timer-card p { margin:0; color:#9aa7bc; max-width:760px; line-height:1.55; }
.timer-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.button { border:0; border-radius:10px; padding:10px 14px; font-weight:800; }
.button.primary { color:white; background:linear-gradient(135deg,#7c3aed,#2563eb); }
.button.secondary { color:#dfe7f5; background:#202a40; }
.button.ghost { color:#c6d3ea; background:#172033; width:100%; margin-top:12px; }
.button.ghost.compact { width:auto; margin:0; padding:10px 12px; }
.button.danger { color:#ffd6df; background:#4a1725; width:100%; margin-top:14px; }
.content-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; }
.panel { padding:20px; }
.panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.panel h3 { margin:5px 0 0; }
.status-pill { font-size:10px; color:#8df6c0; background:#153324; border:1px solid #23573c; border-radius:999px; padding:5px 8px; font-weight:900; letter-spacing:.08em; }
.status-pill.muted { color:#c7b8ff; background:#281b47; border-color:#493573; }
.priority-box { background:#0f1728; border:1px solid #222d46; border-radius:12px; padding:15px; margin:18px 0; }
.priority-box p,.panel-copy { color:#95a3b9; line-height:1.55; margin-bottom:0; }
.action-row { display:flex; gap:8px; flex-wrap:wrap; }
.mini-action { border:1px solid #303d59; color:#d7e1f2; background:#172033; padding:8px 10px; border-radius:9px; }
.math-line { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#9aa7bc; border-bottom:1px solid #20293b; padding:12px 0; }
.math-line strong { color:#edf2ff; }
.math-line input { width:78px; padding:6px 8px; }
.modules { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.module-card { padding:18px; }
.module-card > span { color:#6ee7f9; font-size:11px; font-weight:900; }
.module-card h4 { margin:8px 0; }
.module-card p { color:#8997ae; margin:0; line-height:1.5; font-size:13px; }
footer { display:flex; justify-content:space-between; color:#626f85; font-size:11px; padding:24px 3px 0; }
.toast { position:fixed; right:24px; bottom:24px; background:#141d2e; color:#edf3ff; border:1px solid #30415e; padding:12px 15px; border-radius:10px; box-shadow:0 12px 38px rgba(0,0,0,.35); z-index:50; }
.login-gate { min-height:100vh; display:grid; place-items:center; padding:22px; }
.login-card { width:min(430px,100%); display:grid; gap:14px; padding:28px; border:1px solid #2b3854; border-radius:18px; background:linear-gradient(180deg,#151d30,#0d1321); box-shadow:0 24px 70px rgba(0,0,0,.35); }
.login-card h2 { margin:0; font-size:28px; }
.login-card label { font-size:12px; color:#a7b3c8; font-weight:800; }
.login-copy { color:#94a3b8; line-height:1.55; margin:0 0 6px; }
.login-mark { margin-bottom:2px; }
.login-error { color:#fda4af; min-height:18px; margin:0; font-size:12px; }
@media (max-width:1180px){.readiness-panel{align-items:stretch;flex-direction:column}.readiness-grid{max-width:none;width:100%;grid-template-columns:1fr 1fr}}
@media (max-width:1100px){body.authenticated .shell{grid-template-columns:1fr}.sidebar{display:none}.hero-grid,.content-grid{grid-template-columns:1fr 1fr}.accent-card,.wide{grid-column:1/-1}.modules{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.main{padding:20px 15px}.topbar,.timer-card{align-items:stretch;flex-direction:column}.top-actions{align-items:stretch;flex-direction:column}.channel-picker{min-width:0}.hero-grid,.content-grid,.modules,.readiness-grid{grid-template-columns:1fr}.accent-card,.wide{grid-column:auto}.timer-actions{justify-content:stretch}.timer-actions .button{flex:1}.card-foot,footer{flex-direction:column}}
