:root{--kalam-ink:#141026;--kalam-veryDark:#0a0718;--kalam-paper:#f7f1e3;--kalam-saffron:#f5a524;--kalam-rose:#c94b6f;--kalam-deep:#2d2167;--kalam-leaf:#2f6b4a;--kalam-skyTop:#3b2a7c;--kalam-neutral-200:#c9c4bb;--kalam-neutral-400:#8a8680;--kalam-neutral-600:#5a5652;--kalam-neutral-800:#2c2a27;--surface-base:var(--kalam-ink);--surface-card:#1e1833;--surface-nav:#0d0a1a;--surface-raised:#261e40;--surface-overlay:#2c2740;--text-primary:var(--kalam-paper);--text-secondary:var(--kalam-neutral-200);--text-tertiary:var(--kalam-neutral-400);--border-default:#2c2740;--border-strong:#f7f1e324;--brand-primary:var(--kalam-saffron);--brand-accent:var(--kalam-rose);--brand-primary-dim:#f5a5241f;--status-success:var(--kalam-leaf);--status-error:var(--kalam-rose);--status-info:#4d9fff;--status-gold:#fc0;--bg-base:var(--surface-base);--bg-surface:var(--surface-card);--bg-elevated:var(--surface-raised);--bg-highlight:var(--surface-overlay);--accent:var(--brand-primary);--accent-dim:var(--brand-primary-dim);--text-muted:var(--text-tertiary);--border:var(--border-default);--success:var(--status-success);--error:var(--status-error);--info:var(--status-info);--gold:var(--status-gold)}*{box-sizing:border-box}body{background:var(--surface-base);color:var(--text-primary);margin:0;font-family:DM Sans,Arial,sans-serif}button,input{font:inherit}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100svh;display:grid}aside{background:var(--surface-nav);border-right:1px solid var(--border-default);padding:22px 16px}aside h1,.login h1,h2{font-family:var(--font-display,serif);margin:0}aside p{color:var(--text-tertiary);font-size:13px}aside button,form button{background:var(--brand-primary);color:var(--kalam-ink);cursor:pointer;border:0;border-radius:6px;padding:10px 13px;font-weight:800}main{padding:28px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.class-card{background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;gap:4px;padding:15px;display:grid}.class-card.active{border-color:var(--brand-primary)}.class-card strong{color:var(--brand-primary);font-family:var(--font-display,serif);font-size:34px}.class-card small,.assignment span{color:var(--text-tertiary)}.grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px;display:grid}.panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}table{border-collapse:collapse;width:100%;margin-top:12px}th,td{border-bottom:1px solid var(--border-default);text-align:left;padding:10px}th{color:var(--text-tertiary);font-size:12px}.assignment{border-bottom:1px solid var(--border-default);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.login{justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.login-card{gap:14px;width:min(380px,100%);display:grid}label{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}input{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;padding:10px}.error{color:var(--status-error)}@media (width<=900px){.shell,.grid,.metrics{grid-template-columns:1fr}}
