:root{color-scheme:light;--background:#f8fafc;--panel:#ffffff;--ink:#111827;--muted:#64748b;--line:#e2e8f0;--accent:#0f766e;--accent-soft:#ccfbf1;--danger:#b91c1c;--warning:#a16207}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.login-screen{align-items:center;display:flex;min-height:100vh;padding:24px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:0 auto;max-width:440px;padding:32px;width:100%}.intro-row h2,.login-panel h1,.panel h3,.topbar h1{margin:0}.intro-row p,.login-panel p{color:var(--muted);line-height:1.6}.eyebrow{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.login-form{display:grid;grid-gap:10px;gap:10px;margin-top:24px}.login-form label{font-size:14px;font-weight:700}.login-form input{border:1px solid var(--line);border-radius:6px;padding:12px}.login-form button,.primary-button,.secondary-button{background:var(--ink);border:0;border-radius:6px;color:white;cursor:pointer;font-weight:700;padding:11px 16px}.secondary-button{background:white;border:1px solid var(--line);color:var(--ink)}.primary-button:disabled{background:#cbd5e1;cursor:not-allowed}.form-error{color:var(--danger);font-size:14px;margin:0}.app-shell{min-height:100vh}.topbar{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 28px}.content-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:240px minmax(0,1fr);padding:24px}.metric-card,.panel,.school-year,.sidebar{background:var(--panel);border:1px solid var(--line);border-radius:8px}.sidebar{align-self:flex-start;display:grid;grid-gap:4px;gap:4px;padding:8px}.nav-item{border-radius:6px;color:#334155;font-size:14px;padding:10px 12px}.nav-item.active{background:var(--ink);color:white;font-weight:700}.main-content{display:grid;grid-gap:20px;gap:20px}.intro-row{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.school-year{color:var(--accent);font-weight:700;padding:12px 14px;white-space:nowrap}.metric-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{display:grid;grid-gap:7px;gap:7px;padding:18px}.event-row span,.integration-row span,.metric-card small,.metric-card span,.muted{color:var(--muted)}.metric-card strong{font-size:34px}.two-column{align-items:flex-start;grid-gap:20px;grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr)}.stack,.two-column{display:grid;gap:20px}.stack{grid-gap:20px}.panel-header{border-bottom:1px solid var(--line);padding:16px 18px}.panel-body{padding:16px}.account-list,.event-list{display:grid;grid-gap:10px;gap:10px}.account-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) minmax(190px,.8fr);padding:14px}.account-row div,.event-row,.integration-row div{display:grid;grid-gap:5px;gap:5px}.account-row span,.event-row small{font-size:13px}.pill,.status{align-self:flex-start;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:5px 9px;width:-moz-fit-content;width:fit-content}.pill{background:#eef2ff;color:#3730a3}.status-none,.status-revoked{background:#f1f5f9;color:#475569}.status-pending,.status-revoke_pending{background:#fef3c7;color:var(--warning)}.status-provisioned{background:var(--accent-soft);color:var(--accent)}.status-failed{background:#fee2e2;color:var(--danger)}.integration-row{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:14px;justify-content:space-between;padding:12px 0}.integration-row:first-child{padding-top:0}.integration-row:last-child{border-bottom:0;padding-bottom:0}.event-row{border-bottom:1px solid var(--line);padding:10px 0}.event-row:first-child{padding-top:0}.event-row:last-child{border-bottom:0;padding-bottom:0}.empty-state{color:var(--muted);margin:0}.sync-actions{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.sync-actions span{color:var(--muted);font-size:13px}@media (max-width:980px){.content-grid,.metric-grid,.two-column{grid-template-columns:1fr}.intro-row,.topbar{align-items:start;flex-direction:column}.account-row{grid-template-columns:1fr}}