:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background:#090b10; color:#f5f7fb; --panel:#12151d; --line:#262b38; --muted:#929aaa; --accent:#7c6df2; }
* { box-sizing:border-box; } body { margin:0; min-height:100vh; background:radial-gradient(circle at 15% 0,#1d183f 0,transparent 34rem),#090b10; }
button,input,select,textarea { font:inherit; } button { border:1px solid var(--line); border-radius:10px; padding:.68rem .9rem; color:inherit; background:#191d27; cursor:pointer; white-space:nowrap; } button:hover { border-color:#4b5265; } button.primary { background:var(--accent); border-color:transparent; } button.danger,.error { color:#ff929d; }
input,select,textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:.72rem .8rem; background:#0c0f15; color:inherit; } label { display:grid; gap:.4rem; color:var(--muted); font-size:.85rem; }
h1,h2,p { margin-top:0; } h1 { font-size:clamp(2rem,5vw,4rem); letter-spacing:-.055em; } h2 { font-size:1.05rem; }
.shell { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:28px 0 64px; }.topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:52px; }.brand { display:flex; align-items:center; gap:.7rem; font-weight:700; }.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:linear-gradient(135deg,#8e80ff,#5947d7); }.eyebrow { color:#aaa2ff; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700; }.muted { color:var(--muted); line-height:1.55; }
.auth-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); gap:56px; align-items:center; min-height:70vh; }.auth-card,.panel,.card { border:1px solid var(--line); background:#12151df0; box-shadow:0 24px 80px #0008; }.auth-card { padding:28px; border-radius:20px; }.auth-form { display:grid; gap:14px; }.tabs { display:flex; gap:8px; margin-bottom:24px; }.tabs button.active,.nav button.active { background:#29253f; border-color:#5b50a2; }.error { min-height:1.25rem; font-size:.85rem; }.hero-copy { max-width:650px; font-size:1.1rem; }
.dashboard-head { display:flex; gap:24px; align-items:end; justify-content:space-between; margin-bottom:32px; }.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }.stat { padding:18px; border:1px solid var(--line); border-radius:14px; background:#10131a; }.stat strong { display:block; font-size:1.7rem; }.stat span,.card small { color:var(--muted); font-size:.8rem; }.layout { display:grid; grid-template-columns:220px 1fr; gap:20px; }.nav { display:grid; align-content:start; gap:8px; }.nav button { text-align:left; }.panel { border-radius:18px; padding:22px; min-width:0; }.panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.list { display:grid; gap:10px; }.card { border-radius:13px; padding:16px; box-shadow:none; display:flex; justify-content:space-between; gap:16px; align-items:center; }.card small { display:block; margin-top:.28rem; }.actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }.actions select { min-width:120px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--line); }.wide { grid-column:1/-1; }.secret { margin:16px 0; padding:15px; border:1px solid #5b50a2; background:#211d39; border-radius:12px; overflow-wrap:anywhere; }.badge { display:inline-flex; padding:.2rem .5rem; border:1px solid var(--line); border-radius:999px; color:#b9c0ce; font-size:.72rem; margin-left:.4rem; }
.assignment-list { margin-top:.4rem; }.assignment-list .link { border:0; padding:.12rem .25rem; background:transparent; font-size:inherit; }
#toast { position:fixed; right:20px; bottom:20px; max-width:360px; padding:12px 15px; border-radius:12px; background:#242838; box-shadow:0 12px 40px #0009; opacity:0; transform:translateY(8px); transition:.2s; pointer-events:none; }#toast.visible { opacity:1; transform:none; }.boot { display:grid; min-height:100vh; place-items:center; color:var(--muted); }
@media (max-width:800px) { .auth-grid,.layout { grid-template-columns:1fr; }.auth-grid { gap:20px; }.hero { padding-top:30px; }.stats { grid-template-columns:repeat(2,1fr); }.nav { grid-template-columns:repeat(3,1fr); }.nav button { text-align:center; }.dashboard-head { align-items:start; flex-direction:column; }.card { align-items:flex-start; flex-direction:column; }.actions { justify-content:flex-start; width:100%; }.form-grid { grid-template-columns:1fr; }.wide { grid-column:auto; } }
