:root{color-scheme:light;--zel-doc: #edf2f4;--zel-paper: #fbfcfa;--zel-surface: #ffffff;--zel-soft: #eef5f2;--zel-ink: #172320;--zel-muted: #5d6c68;--zel-faint: #616e69;--zel-line: #dbe4e1;--zel-line-strong: #87968f;--zel-primary: #0b6b57;--zel-accent: #ffb547;--zel-danger: #b94040;--zel-success: #167c5a;--zel-focus: #147bc0;--zel-on-primary: #ffffff;--zel-on-accent: #172320;--zel-on-danger: #ffffff;--zel-on-success: #ffffff;--zel-radius: 12px;--zel-radius-pill: 999px;--zel-hairline: 1px;--zel-touch-min: 44px;--zel-font-min: 12px}[data-theme=dark]{color-scheme:dark;--zel-doc: #0d1614;--zel-paper: #111a18;--zel-surface: #1a2624;--zel-soft: #1f2d2a;--zel-ink: #eef4f1;--zel-muted: #a8b8b3;--zel-faint: #93a49f;--zel-line: #33403d;--zel-line-strong: #647670;--zel-primary: #11a788;--zel-accent: #ffb547;--zel-danger: #e36363;--zel-success: #1ea779;--zel-focus: #5aa9e6;--zel-on-primary: #111a18;--zel-on-accent: #172320;--zel-on-danger: #111a18;--zel-on-success: #111a18}.btn-primary{background:var(--zel-primary);color:var(--zel-on-primary)}.on-accent{background:var(--zel-accent);color:var(--zel-on-accent)}.on-danger{background:var(--zel-danger);color:var(--zel-on-danger)}.on-success{background:var(--zel-success);color:var(--zel-on-success)}*:focus-visible{outline:3px solid var(--zel-focus);outline-offset:2px;border-radius:4px}html{font-size:16px}small,.meta,.caption{font-size:var(--zel-font-min)}@media (pointer: coarse){button,a[role=button],[role=tab],.row-tappable{min-height:var(--zel-touch-min)}}input,select,textarea{border:1px solid var(--zel-line-strong)}.status{display:inline-flex;align-items:center;gap:6px}.status>svg{width:14px;height:14px;flex:none}*{box-sizing:border-box}body{margin:0;background:var(--zel-paper);color:var(--zel-ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}.wrap{max-width:720px;margin:0 auto;padding:24px 20px 96px}.signin{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:420px;background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius);padding:28px}.brandmark{font-size:20px;font-weight:700;margin:0 0 4px;color:var(--zel-primary)}.sub{color:var(--zel-muted);margin:0 0 22px;font-size:14px}label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}input{width:100%;padding:12px 14px;font-size:16px;border:1px solid var(--zel-line-strong);border-radius:10px;background:var(--zel-paper);color:var(--zel-ink);min-height:var(--zel-touch-min)}input:focus-visible{outline:3px solid var(--zel-focus);outline-offset:2px}button{width:100%;margin-top:20px;padding:13px 16px;font-size:16px;font-weight:650;cursor:pointer;border:0;border-radius:10px;min-height:var(--zel-touch-min);background:var(--zel-primary);color:var(--zel-on-primary)}button:disabled{opacity:.6;cursor:default}button:focus-visible{outline:3px solid var(--zel-focus);outline-offset:2px}.problem{margin-top:16px;padding:12px 14px;border-radius:10px;font-size:14px;background:var(--zel-surface);color:var(--zel-danger);border:1px solid var(--zel-danger)}.topline{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.date{color:var(--zel-muted);font-size:14px}.hello{font-size:26px;font-weight:700;margin:6px 0 2px}.lead{color:var(--zel-muted);margin:0 0 24px}.counts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px}.count{flex:1 1 120px;padding:14px 16px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.count b{display:block;font-size:24px;line-height:1.1}.count span{font-size:13px;color:var(--zel-muted)}h2{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--zel-muted);margin:0 0 12px}ol.actions{list-style:none;margin:0;padding:0;display:grid;gap:10px}button.action{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;width:100%;margin:0;text-align:left;padding:16px;min-height:var(--zel-touch-min);background:var(--zel-surface);color:var(--zel-ink);border:1px solid var(--zel-line);border-radius:var(--zel-radius);font:inherit;cursor:pointer}button.action:hover{border-color:var(--zel-line-strong)}.num{color:var(--zel-faint);font-variant-numeric:tabular-nums;font-size:14px}.title{font-weight:600}.meta{font-size:14px;color:var(--zel-muted)}.note{font-size:13px;color:var(--zel-primary);margin-top:3px}.pill{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}.pill.danger{background:var(--zel-danger);color:var(--zel-on-danger)}.pill.accent{background:var(--zel-accent);color:var(--zel-on-accent)}.pill.muted{background:var(--zel-soft);color:var(--zel-ink)}.pill.success{background:var(--zel-success);color:var(--zel-on-success)}.pill.status{gap:6px}.locked{font-size:13px;color:var(--zel-muted);margin-top:4px}.empty{padding:32px;text-align:center;color:var(--zel-muted);border:1px dashed var(--zel-line-strong);border-radius:var(--zel-radius)}.loading{padding:40px;text-align:center;color:var(--zel-muted)}.linkish{width:auto;margin:0;padding:6px 2px;background:none;border:0;color:var(--zel-primary);font:inherit;font-size:14px;font-weight:650;cursor:pointer}button.action.course{grid-template-columns:1fr auto}button.action.work{grid-template-columns:88px 1fr auto;align-items:start}button.action.work .kindtag{padding-top:2px}.chev{color:var(--zel-faint);font-size:20px;line-height:1}.kindtag{font-size:12px;font-weight:650;color:var(--zel-muted);text-transform:uppercase;letter-spacing:.03em}.chapter{margin:0 0 28px}.chapter-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px}.chapter-title{font-size:15px;font-weight:700;margin:0;text-transform:none;letter-spacing:0;color:var(--zel-ink)}.chapter-count{font-size:13px;color:var(--zel-muted);white-space:nowrap}.empty.small{padding:16px;font-size:14px}.back{width:auto;margin:0 0 18px;padding:8px 12px;background:var(--zel-surface);color:var(--zel-ink);border:1px solid var(--zel-line);border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer}.crumb{color:var(--zel-muted);font-size:14px;margin:0 0 2px}.banner{margin:0 0 20px;padding:12px 14px;border-radius:10px;font-size:14px;font-weight:600}.banner.accent{background:var(--zel-accent);color:var(--zel-on-accent)}.banner.muted{background:var(--zel-soft);color:var(--zel-ink)}.lesson{background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius);padding:24px 26px}.lesson h2{font-size:20px;margin:0 0 12px}.lesson h3{font-size:16px;margin:26px 0 8px}.lesson p{margin:0 0 14px}.lesson ul,.lesson ol{margin:0 0 14px;padding-left:22px}.lesson li{margin-bottom:6px}.lesson a{color:var(--zel-primary)}.lesson blockquote{margin:0 0 14px;padding:10px 16px;border-left:3px solid var(--zel-primary);background:var(--zel-soft)}.lesson table{width:100%;border-collapse:collapse;margin:0 0 16px;display:block;overflow-x:auto}.lesson th,.lesson td{border:1px solid var(--zel-line);padding:8px 10px;text-align:left;vertical-align:top}.lesson th{background:var(--zel-soft);font-weight:650}.panel{background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius);padding:22px 24px}.panel-title{font-weight:650;margin:0 0 6px}.panel p{margin:0 0 6px}.panel a{color:var(--zel-primary);word-break:break-all}.markbig{font-size:28px;font-weight:700;margin:2px 0 0}ol.attempts{list-style:none;margin:0;padding:0;display:grid;gap:14px}ol.attempts>li{border-top:1px solid var(--zel-line);padding-top:12px}ol.attempts>li:first-child{border-top:0;padding-top:0}.attempt-body{white-space:pre-wrap;margin:6px 0}.handin{margin-top:22px;padding:20px 22px;background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius)}.handin label{margin-top:14px}.handin label:first-child{margin-top:0}.handin textarea{width:100%;padding:12px 14px;font:inherit;font-size:16px;border:1px solid var(--zel-line-strong);border-radius:10px;background:var(--zel-paper);color:var(--zel-ink);resize:vertical}.handin textarea:focus-visible,.handin input:focus-visible{outline:3px solid var(--zel-focus);outline-offset:2px}.handin button{width:auto;padding:12px 22px}.app-shell{min-height:100vh;background:var(--zel-doc)}.app-header{min-height:68px;padding:10px max(20px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--zel-surface);border-bottom:1px solid var(--zel-line)}button.app-brand{width:auto;margin:0;padding:4px;display:flex;align-items:center;gap:10px;text-align:left;background:none;color:var(--zel-ink);border-radius:10px}.app-brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--zel-primary);color:var(--zel-on-primary);font-weight:800}.app-brand strong,.app-brand small{display:block}.app-brand strong{font-size:17px;line-height:1.1}.app-brand small{color:var(--zel-muted);font-size:12px;font-weight:500}.account-name{font-size:13px;color:var(--zel-muted);margin-right:4px}button.quiet-button,button.secondary-button{width:auto;margin:0;padding:9px 13px;min-height:var(--zel-touch-min);background:var(--zel-surface);color:var(--zel-primary);border:1px solid var(--zel-line-strong);font-size:14px;font-weight:650}button.secondary-button.compact{padding:8px 12px}.app-nav{display:flex;gap:5px;padding:8px max(20px,calc((100vw - 1120px)/2));overflow-x:auto;background:var(--zel-surface);border-bottom:1px solid var(--zel-line)}.app-nav button{width:auto;min-width:max-content;margin:0;padding:8px 13px;min-height:var(--zel-touch-min);background:transparent;color:var(--zel-muted);border:1px solid transparent;font-size:14px;font-weight:650}.app-nav button:hover{background:var(--zel-soft);color:var(--zel-ink)}.app-nav button.active{background:var(--zel-primary);color:var(--zel-on-primary)}.app-main{min-height:calc(100vh - 118px);background:var(--zel-paper)}.app-main .wrap{padding-top:30px}.wide-wrap{max-width:1040px}.portal-page .page-kicker,.page-kicker{color:var(--zel-primary);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-card{background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius);padding:18px 20px}.portal-card h3,.thread-detail h3{margin:4px 0 8px;font-size:18px}.portal-card p{margin:0 0 10px}.card-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.text-link{color:var(--zel-primary);font-weight:650;display:inline-block;margin-top:8px}select,textarea{width:100%;padding:12px 14px;font:inherit;font-size:16px;border-radius:10px;background:var(--zel-paper);color:var(--zel-ink)}select:focus-visible,textarea:focus-visible{outline:3px solid var(--zel-focus);outline-offset:2px}.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.calendar-heading .northstar-button{flex:none;margin-top:8px}.calendar-event-form{margin:0 0 22px;padding:22px;border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius);background:var(--zel-surface)}.calendar-event-form .section-heading{margin-bottom:16px}.calendar-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.calendar-form-grid label,.calendar-controls label{font-size:13px;font-weight:650}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea,.calendar-controls input,.calendar-controls select{margin-top:6px}.calendar-audience{display:flex;flex-wrap:wrap;gap:10px 22px;margin:16px 0 0;padding:14px 16px;border:1px solid var(--zel-line);border-radius:10px}.calendar-audience legend{padding:0 6px;font-size:13px;font-weight:750}.calendar-audience label{display:flex;align-items:center;gap:7px;font-size:14px}.calendar-audience input,.calendar-conflict-toggle input{width:18px;min-height:18px;margin:0}.calendar-controls{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto auto;gap:14px;align-items:end;margin:0 0 24px;padding:16px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.calendar-controls p{margin:0 0 12px;color:var(--zel-muted);white-space:nowrap}.calendar-conflict-toggle{display:flex;align-items:center;gap:8px;min-height:46px}.calendar-list{display:grid;gap:28px}.calendar-day{display:grid;grid-template-columns:84px 1fr;gap:18px}.calendar-date{padding-top:4px}.calendar-date strong,.calendar-date span{display:block}.calendar-date strong{font-size:20px}.calendar-date span{color:var(--zel-muted);font-size:13px}.calendar-events{display:grid;gap:10px}.event-card h3{margin-top:8px}.event-course{color:var(--zel-muted);font-size:13px;font-weight:650}.event-conflict{padding:10px 12px;border-left:3px solid var(--zel-accent);background:var(--zel-soft);color:var(--zel-ink)}.event-accommodation{padding:10px 12px;border-left:3px solid var(--zel-primary);background:var(--zel-soft);color:var(--zel-ink)}.event-links{display:flex;flex-wrap:wrap;gap:18px}.progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progress-card{display:flex;flex-direction:column}.progress-card h3{min-height:54px}.progress-track{height:9px;border-radius:var(--zel-radius-pill);overflow:hidden;background:var(--zel-soft)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--zel-primary)}.result-summary{display:flex;justify-content:space-between;align-items:baseline;margin:15px 0 10px}.result-summary strong{font-size:22px}.result-summary span{color:var(--zel-muted);font-size:13px}.compact-results,.notification-list{list-style:none;margin:0 0 16px;padding:0}.compact-results li{border-top:1px solid var(--zel-line)}.compact-results button{margin:0;padding:11px 0;min-height:0;width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;background:none;color:var(--zel-ink);border-radius:0}.compact-results strong,.compact-results small{display:block}.compact-results strong{font-size:13px}.compact-results small{color:var(--zel-muted);font-size:12px}.progress-card>.secondary-button{margin-top:auto;align-self:flex-start}.course-tools{display:flex;gap:10px;margin:-10px 0 26px}.split-view{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);gap:18px;margin-top:20px;align-items:start}.thread-list{display:grid;gap:8px}button.thread-button{width:100%;margin:0;padding:14px;text-align:left;background:var(--zel-surface);color:var(--zel-ink);border:1px solid var(--zel-line)}button.thread-button:hover,button.thread-button.selected{border-color:var(--zel-primary);background:var(--zel-soft)}.thread-button strong,.thread-button small{display:block}.thread-button strong{font-size:14px}.thread-button small{margin-top:5px;color:var(--zel-muted);font-size:12px}.thread-detail{min-width:0}.discussion-prompt{margin-bottom:12px}.reply-list,.message-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.reply-list li{padding:15px 17px;background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius)}.reply-list time{color:var(--zel-muted);font-size:12px}.reply-list p{margin:8px 0 0;white-space:pre-wrap}.reply-form{margin-top:14px;padding:16px 18px;background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius)}.reply-form label{margin-top:0}.reply-form button{width:auto;padding:10px 18px;margin-top:10px}.conversation-heading{padding:3px 4px 12px}.message-list{max-height:440px;overflow-y:auto;padding:2px}.message-list li{max-width:82%;padding:11px 14px;border-radius:var(--zel-radius);background:var(--zel-soft)}.message-list li.mine{justify-self:end;background:var(--zel-primary);color:var(--zel-on-primary)}.message-list span,.message-list time{display:block;font-size:12px;color:var(--zel-muted)}.message-list li.mine span,.message-list li.mine time{color:var(--zel-on-primary)}.message-list p{margin:3px 0 5px;white-space:pre-wrap}.notification-list{display:grid;gap:9px}.notification-list li button{width:100%;margin:0;padding:15px 17px;text-align:left;background:var(--zel-surface);color:var(--zel-ink);border:1px solid var(--zel-line)}.notification-list li.unread button{border-color:var(--zel-primary)}.notification-list button>span:not(.card-row),.notification-list button>small{display:block;margin-top:6px}.notification-list button>small{color:var(--zel-muted);font-size:12px}.quiz-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.quiz-overview div{padding:14px;text-align:center;background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius)}.quiz-overview strong,.quiz-overview span{display:block}.quiz-overview strong{font-size:23px}.quiz-overview span{color:var(--zel-muted);font-size:12px}.quiz-heading{align-items:flex-end;margin-bottom:18px}.quiz-form{display:grid;gap:16px}.question-card{margin:0;padding:20px 22px;background:var(--zel-surface);border:1px solid var(--zel-line);border-radius:var(--zel-radius)}.question-card legend{width:100%;padding:0 3px;display:flex;justify-content:space-between;color:var(--zel-muted);font-size:13px;font-weight:650}.question-prompt p{margin:8px 0 14px;font-size:17px;font-weight:600}.choice-list{display:grid;gap:8px}.choice-list label{margin:0;padding:11px 12px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--zel-line);border-radius:10px;font-weight:500;cursor:pointer}.choice-list label:hover{border-color:var(--zel-line-strong);background:var(--zel-soft)}.choice-list input{width:20px;min-height:20px;margin:2px 0 0;flex:none}.choice-list p{margin:0}.answer-field span{display:block;margin-bottom:6px}.quiz-submit{position:sticky;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--zel-surface);border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius)}.quiz-submit span{color:var(--zel-muted);font-size:14px}.quiz-submit button{width:auto;margin:0}.result-hero{padding:34px;margin-bottom:16px;text-align:center;border:2px solid var(--zel-line-strong);border-radius:var(--zel-radius);background:var(--zel-surface)}.result-hero.success{border-color:var(--zel-success)}.result-hero.accent{border-color:var(--zel-accent)}.result-hero>strong{display:block;margin:8px 0 0;font-size:56px;line-height:1}.result-hero h1{margin:10px 0 4px;font-size:25px}.result-hero p{margin:0;color:var(--zel-muted)}.score-line{margin-top:14px;font-weight:650}@media (max-width: 760px){.app-header{align-items:flex-start;padding:10px 14px}.account-name{display:none}.account-actions{gap:4px}button.quiet-button{padding:8px;font-size:12px;border-color:var(--zel-line)}.app-nav{padding:7px 12px}.app-main .wrap{padding:22px 16px 96px}.progress-grid,.split-view{grid-template-columns:1fr}.progress-card h3{min-height:0}.thread-list{grid-template-columns:1fr}.calendar-heading{align-items:stretch;flex-direction:column}.calendar-heading .northstar-button{align-self:flex-start;margin-top:0}.calendar-form-grid,.calendar-controls{grid-template-columns:1fr}.calendar-controls p{margin-bottom:0}.calendar-day{grid-template-columns:1fr;gap:8px}.calendar-date{display:flex;gap:8px;align-items:baseline}.calendar-date strong,.calendar-date span{display:inline}.quiz-overview{grid-template-columns:repeat(2,1fr)}.quiz-heading{align-items:flex-start}.quiz-submit{bottom:6px}.message-list{max-height:none}}.admin-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}.admin-heading .northstar-button{flex:none;margin-top:8px}.workspace-tabs{margin:24px 0 20px;display:flex;gap:5px;border-bottom:1px solid var(--zel-line)}.workspace-tabs button{width:auto;min-height:var(--zel-touch-min);margin:0 0 -1px;padding:10px 17px;border:0;border-bottom:3px solid transparent;border-radius:9px 9px 0 0;background:transparent;color:var(--zel-muted);font-size:14px}.workspace-tabs button.active{border-bottom-color:var(--zel-primary);background:var(--zel-soft);color:var(--zel-primary)}.success-banner{margin:13px 0;padding:12px 14px;border:1px solid var(--zel-success);border-radius:10px;background:var(--zel-surface);color:var(--zel-success);font-weight:700}.admin-metrics{margin-top:8px}.admin-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.65fr);gap:14px;align-items:start}.admin-panel,.admin-editor,.catalogue-section{border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.admin-panel{padding:20px}.admin-attention-list{margin:0;padding:0;display:grid;list-style:none}.admin-attention-list li{padding:14px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.65fr) auto;gap:14px;align-items:center;border-bottom:1px solid var(--zel-line)}.admin-attention-list li:last-child{border-bottom:0}.admin-attention-list strong,.admin-attention-list span{display:block}.admin-attention-list span,.admin-attention-list p{margin:3px 0 0;color:var(--zel-muted);font-size:12px}.quick-actions{display:grid;gap:8px}.quick-actions h2{margin-bottom:4px;color:var(--zel-ink);font-size:18px;text-transform:none}.quick-actions button{min-height:76px;margin:0;padding:13px;display:block;text-align:left;border:1px solid var(--zel-line);background:var(--zel-paper);color:var(--zel-ink)}.quick-actions button strong,.quick-actions button span{display:block}.quick-actions button span{margin-top:3px;color:var(--zel-muted);font-size:12px}.text-button{width:auto;min-height:var(--zel-touch-min);margin:0;padding:8px;border:0;background:transparent;color:var(--zel-primary);font-size:12px}.admin-editor{margin:14px 0 20px;padding:20px;border-width:2px;border-color:var(--zel-primary)}.admin-editor-heading{display:flex;justify-content:space-between;gap:18px}.admin-editor-heading h3{margin:3px 0 0;font-size:22px}.admin-editor-heading .page-kicker{margin:0}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px}.admin-form-grid label{min-width:0}.admin-form-grid label small{display:block;color:var(--zel-muted);font-weight:500}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.enrolment-add select{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-paper);color:var(--zel-ink);font:inherit;font-size:14px}.admin-form-grid textarea{resize:vertical}.admin-form-grid .wide-field{grid-column:1 / -1}.form-problems{margin:13px 0 0;padding:11px 13px 11px 32px;border:1px solid var(--zel-danger);border-radius:9px;color:var(--zel-danger);font-size:13px}.admin-form-actions{margin-top:15px;display:flex;justify-content:flex-end;gap:8px}.admin-course-layout{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:14px;align-items:start}.course-list-panel{padding:14px}.admin-course-list{display:grid;gap:8px;max-height:980px;overflow:auto}.admin-course-list>button{min-height:135px;margin:0;padding:13px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--zel-line);background:var(--zel-paper);color:var(--zel-ink)}.admin-course-list>button.selected{border:2px solid var(--zel-primary);background:var(--zel-soft)}.admin-course-list strong,.admin-course-list small{display:block}.admin-course-list strong{margin:7px 0 3px;line-height:1.25}.admin-course-list small{color:var(--zel-muted)}.admin-course-list>button>div{width:100%;margin-top:auto;display:flex;justify-content:space-between;gap:8px;color:var(--zel-muted);font-size:12px}.admin-course-list>button>div b{color:var(--zel-primary);text-transform:capitalize}.course-source{padding:3px 7px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-primary);font-size:12px;font-weight:800}.course-source.tenant-native{background:var(--zel-accent);color:var(--zel-on-accent)}.course-detail-panel{min-height:440px}.course-admin-title{padding-bottom:17px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--zel-line)}.course-admin-title h2{margin:4px 0;color:var(--zel-ink);font-size:24px;text-transform:none;letter-spacing:-.02em}.course-admin-title p,.course-admin-title span{margin:0;color:var(--zel-muted);font-size:12px}.course-admin-title span{color:var(--zel-primary);font-weight:800;text-transform:uppercase}.admin-empty-state{min-height:380px;display:grid;place-content:center;text-align:center}.admin-empty-state strong{font-size:23px}.admin-empty-state p{max-width:370px;color:var(--zel-muted)}.admin-settings{padding:20px 0;border-bottom:1px solid var(--zel-line)}.admin-settings .northstar-button{margin-top:13px}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-operations{padding:20px 0;border-bottom:1px solid var(--zel-line)}.course-operations .section-heading p{margin:4px 0 0;color:var(--zel-muted)}.copy-boundary{display:grid;gap:5px;padding:13px;border-radius:12px;background:var(--zel-soft)}.copy-boundary span,.operation-warnings,.role-lenses small{color:var(--zel-muted)}.operation-warnings{margin:10px 0 0;padding-left:20px}.copy-course-form{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.copy-course-form label{display:grid;gap:6px;font-weight:700}.copy-course-form .problem,.copy-course-form button{grid-column:1 / -1}.role-lenses{margin-top:14px}.role-lenses summary{cursor:pointer;font-weight:800;color:var(--zel-primary)}.role-lenses article{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--zel-line)}.role-lenses article:last-child{border-bottom:0}.admin-enrolments{padding-top:20px}.enrolment-add{padding:12px;display:grid;grid-template-columns:.7fr 1.3fr auto;gap:10px;align-items:end;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.enrolment-add:has(label:nth-of-type(3)){grid-template-columns:.55fr 1fr 1fr auto}.enrolment-add label{margin:0}.enrolment-add .northstar-button{margin-bottom:1px;white-space:nowrap}.enrolment-table{margin-top:12px;overflow:auto;border:1px solid var(--zel-line);border-radius:10px}.enrolment-row{min-width:690px;padding:11px 12px;display:grid;grid-template-columns:1.4fr .8fr .75fr 1fr;gap:10px;align-items:center;border-bottom:1px solid var(--zel-line);font-size:13px}.enrolment-row:last-child{border-bottom:0}.enrolment-row.head{background:var(--zel-soft);color:var(--zel-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.enrolment-row strong,.enrolment-row small{display:block}.enrolment-row small{color:var(--zel-muted)}.enrolment-row>span:last-child{display:flex;gap:3px;flex-wrap:wrap}.status-dot{width:8px;height:8px;margin-right:6px;display:inline-block;border-radius:50%;background:var(--zel-faint)}.status-dot.active{background:var(--zel-success)}.status-dot.invited{background:var(--zel-accent)}.status-dot.suspended,.status-dot.inactive{background:var(--zel-danger)}.catalogue-section{padding:20px}.catalogue-section .section-heading p,.people-directory .section-heading p{margin:3px 0 0;color:var(--zel-muted);font-size:12px}.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.catalogue-grid article{min-height:330px;padding:19px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-paper)}.catalogue-grid h3{margin:15px 0 8px;font-size:20px;line-height:1.2}.catalogue-grid article>p{color:var(--zel-muted);font-size:13px}.catalogue-grid dl{width:100%;margin:auto 0 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.catalogue-grid dl div{padding:8px;background:var(--zel-soft)}.catalogue-grid dt{color:var(--zel-muted);font-size:12px;text-transform:uppercase}.catalogue-grid dd{margin:2px 0 0;font-size:12px;font-weight:800}.people-role-summary{margin:18px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.people-role-summary article{padding:13px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.people-role-summary strong,.people-role-summary span{display:block}.people-role-summary strong{font-size:25px}.people-role-summary span{color:var(--zel-muted);font-size:12px;text-transform:capitalize}.people-table{overflow:auto;border:1px solid var(--zel-line);border-radius:10px}.people-row{min-width:680px;padding:11px 13px;display:grid;grid-template-columns:1.25fr 1.35fr .5fr;gap:12px;align-items:center;border-bottom:1px solid var(--zel-line);font-size:13px}.people-row:last-child{border-bottom:0}.people-row.head{background:var(--zel-soft);color:var(--zel-muted);font-size:12px;font-weight:800;text-transform:uppercase}.people-row strong,.people-row small{display:block}.people-row small{color:var(--zel-muted)}.people-row b{margin:2px 4px 2px 0;padding:3px 7px;display:inline-block;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-primary);font-size:12px;text-transform:capitalize}@media (max-width: 1050px){.admin-overview-grid,.admin-course-layout{grid-template-columns:1fr}.course-list-panel{max-height:none}.admin-course-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-role-summary{grid-template-columns:repeat(3,1fr)}.enrolment-add,.enrolment-add:has(label:nth-of-type(3)){grid-template-columns:1fr 1fr}.enrolment-add .northstar-button{justify-self:start}}@media (max-width: 760px){.admin-heading{display:block}.admin-heading .northstar-button{margin-top:0}.workspace-tabs{overflow-x:auto}.workspace-tabs button{padding-left:13px;padding-right:13px;white-space:nowrap}.admin-attention-list li{grid-template-columns:1fr auto}.admin-attention-list li p{grid-column:1}.admin-form-grid,.compact-grid{grid-template-columns:1fr}.admin-form-grid .wide-field{grid-column:auto}.admin-course-list,.catalogue-grid{grid-template-columns:1fr}.course-admin-title{display:block}.course-admin-title .northstar-button{margin-top:12px}.enrolment-add,.enrolment-add:has(label:nth-of-type(3)){grid-template-columns:1fr}.enrolment-add .northstar-button{width:100%}.catalogue-grid article{min-height:290px}.people-role-summary{grid-template-columns:1fr 1fr}.admin-panel,.catalogue-section{padding:14px}}.authoring-workspace{max-width:1280px}.authoring-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.authoring-head h1{margin:6px 0 7px;font-size:clamp(32px,4vw,50px);line-height:1;letter-spacing:-.045em}.authoring-head .lead{margin:0}.authoring-course-select{width:min(430px,42vw);margin:0}.authoring-course-select select{margin-top:6px;background:var(--zel-surface)}.authoring-summary{margin:24px 0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.authoring-summary article{min-height:130px;padding:18px;display:flex;flex-direction:column;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.authoring-summary span,.authoring-summary strong,.authoring-summary small{display:block}.authoring-summary span{color:var(--zel-primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.authoring-summary strong{margin:12px 0 5px;font-size:27px;text-transform:capitalize}.authoring-summary small{margin-top:auto;color:var(--zel-muted)}.authoring-toolbar{margin:20px 0 13px;display:flex;align-items:end;justify-content:space-between;gap:20px}.authoring-toolbar h2{margin:0;color:var(--zel-ink);font-size:22px;letter-spacing:-.02em;text-transform:none}.authoring-toolbar p{margin:4px 0 0;color:var(--zel-muted);font-size:13px}.authoring-toolbar>div:last-child{display:flex;gap:8px;flex:none}.publish-confirm{margin:0 0 14px;padding:15px 17px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;border:2px solid var(--zel-accent);border-radius:var(--zel-radius);background:var(--zel-surface)}.publish-confirm p{margin:0;color:var(--zel-muted)}.publish-confirm button{width:auto;min-height:var(--zel-touch-min);margin:0;padding:7px 12px;background:transparent;color:var(--zel-primary);border:1px solid var(--zel-line-strong)}.authoring-inline-form{margin:0 0 14px;padding:16px;display:grid;grid-template-columns:minmax(280px,1fr) 250px auto;gap:12px;align-items:end;border:1px solid var(--zel-primary);border-radius:var(--zel-radius);background:var(--zel-soft)}.authoring-inline-form label{margin:0}.form-actions{display:flex;gap:8px}.form-actions .northstar-button{white-space:nowrap}.authoring-outline{display:grid;gap:13px}.authoring-module{overflow:hidden;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.authoring-module.draft{border-style:dashed;border-color:var(--zel-accent)}.authoring-module>header{min-height:92px;padding:16px 18px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--zel-line);background:var(--zel-soft)}.module-number{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:var(--zel-primary);color:var(--zel-on-primary);font-size:13px;font-weight:850}.authoring-module>header p,.authoring-module>header h3,.authoring-module>header span{margin:0;display:block}.authoring-module>header p{color:var(--zel-primary);font-size:12px;font-weight:800;letter-spacing:.07em}.authoring-module>header h3{margin:3px 0;font-size:18px}.authoring-module>header span{color:var(--zel-muted);font-size:12px}.northstar-button.compact{min-height:var(--zel-touch-min);padding:8px 12px;font-size:12px}.authoring-activities article{min-height:70px;padding:12px 16px;display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:12px;align-items:center;border-bottom:1px solid var(--zel-line)}.authoring-activities article:last-child{border-bottom:0}.authoring-activities article.draft{background:color-mix(in srgb,var(--zel-soft) 72%,var(--zel-surface))}.activity-kind{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--zel-line-strong);border-radius:11px;color:var(--zel-primary);font-weight:850}.activity-kind.assignment{background:var(--zel-primary);color:var(--zel-on-primary);border-color:var(--zel-primary)}.activity-kind.url{border-radius:50%}.authoring-activities strong,.authoring-activities p{display:block;margin:0}.authoring-activities p{margin-top:3px;color:var(--zel-muted);font-size:12px}.authoring-state{padding:5px 8px;border-radius:var(--zel-radius-pill);white-space:nowrap;font-size:12px;font-weight:750}.authoring-state.draft{background:var(--zel-accent);color:var(--zel-on-accent)}.authoring-state.published{background:var(--zel-soft);color:var(--zel-success)}.activity-actions{display:flex;gap:5px}.activity-actions button,.authoring-empty button{width:auto;min-height:var(--zel-touch-min);margin:0;padding:7px 9px;border:1px solid var(--zel-line);background:var(--zel-surface);color:var(--zel-primary);font-size:12px}.activity-actions button.danger-armed{border-color:var(--zel-danger);background:var(--zel-danger);color:var(--zel-on-danger)}.authoring-empty,.authoring-zero{padding:25px;text-align:center;color:var(--zel-muted)}.authoring-empty p{margin:0 0 9px}.authoring-zero{padding:48px 24px;border:1px dashed var(--zel-line-strong);border-radius:var(--zel-radius);background:var(--zel-surface)}.authoring-zero strong{color:var(--zel-ink);font-size:20px}.authoring-zero p{margin:6px auto 17px;max-width:540px}.authoring-editor-backdrop{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;padding:24px;display:grid;place-items:center;overflow:auto;background:color-mix(in srgb,var(--zel-ink) 62%,transparent)}.authoring-editor{width:min(820px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:0;border:1px solid var(--zel-line);border-radius:20px;background:var(--zel-surface);box-shadow:0 24px 80px color-mix(in srgb,var(--zel-ink) 26%,transparent)}.authoring-editor>header{padding:20px 22px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--zel-line)}.authoring-editor>header h2{margin:4px 0 0;color:var(--zel-ink);font-size:24px;text-transform:none;letter-spacing:-.025em}.editor-close{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;border-radius:50%;background:var(--zel-soft);color:var(--zel-ink);font-size:25px}.kind-picker{margin:0;padding:18px 22px 4px;display:flex;gap:8px;border:0}.kind-picker legend{width:100%;margin-bottom:8px;font-size:13px;font-weight:750}.kind-picker button{width:auto;min-height:48px;margin:0;padding:8px 12px;display:flex;align-items:center;gap:7px;border:1px solid var(--zel-line-strong);background:var(--zel-surface);color:var(--zel-ink);font-size:13px}.kind-picker button span{color:var(--zel-primary);font-weight:850}.kind-picker button.selected{border-color:var(--zel-primary);background:var(--zel-soft);color:var(--zel-primary)}.editor-grid{padding:18px 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-grid label{margin:0}.editor-grid .span-2{grid-column:1 / -1}.editor-grid textarea{resize:vertical;font-family:inherit;line-height:1.55}.editor-grid small{display:block;margin-top:5px;color:var(--zel-muted);line-height:1.4}.check-label{min-height:44px;display:flex;align-items:center;gap:9px;align-self:end}.check-label input{width:20px;min-height:20px;margin:0}.authoring-editor>footer{padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--zel-line);background:var(--zel-soft)}.authoring-editor>footer p{margin:0;color:var(--zel-muted);font-size:12px}.authoring-editor>footer div{display:flex;gap:8px;flex:none}.rubric-library{margin:18px 0 28px;padding:20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-soft)}.rubric-library>header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.rubric-library>header h2{margin:4px 0 5px;color:var(--zel-ink);font-size:22px;text-transform:none;letter-spacing:-.02em}.rubric-library>header p:last-child{max-width:720px;margin:0;color:var(--zel-muted);font-size:13px}.rubric-library>header .northstar-button{flex:none}.rubric-library .alert{margin:13px 0 0;padding:11px 13px;border:1px solid var(--zel-line);border-radius:9px;background:var(--zel-surface);font-size:13px}.rubric-library .alert.error{border-color:var(--zel-danger);color:var(--zel-danger)}.rubric-library .alert.success{border-color:var(--zel-success);color:var(--zel-success)}.rubric-cards{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rubric-cards article,.rubric-empty{min-height:145px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-surface)}.rubric-cards article.draft{border-style:dashed;border-color:var(--zel-accent)}.rubric-cards h3{margin:10px 0 4px;font-size:16px;line-height:1.25}.rubric-cards p{margin:0;color:var(--zel-muted);font-size:12px}.rubric-card-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}.rubric-card-actions button,.rubric-criteria-editor legend button,.rating-row button,button.text-action{width:auto;min-height:var(--zel-touch-min);margin:0;padding:7px 10px;border:1px solid var(--zel-line-strong);background:var(--zel-surface);color:var(--zel-primary);font-size:12px}.rubric-card-actions button.danger-armed{border-color:var(--zel-danger);background:var(--zel-danger);color:var(--zel-on-danger)}.rubric-empty{justify-content:center;color:var(--zel-muted)}.rubric-empty strong{color:var(--zel-ink)}.rubric-editor{width:min(960px,100%)}.rubric-name{margin:18px 22px 0}.rubric-criteria-editor{padding:16px 22px;display:grid;gap:13px}.rubric-criteria-editor>fieldset{margin:0;padding:15px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-soft)}.rubric-criteria-editor legend{width:100%;padding:0 2px 9px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:800}.rubric-criteria-editor legend button{color:var(--zel-danger)}.criterion-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px}.criterion-grid label{margin:0}.criterion-grid .span-2{grid-column:1 / -1}.rating-editor{margin-top:13px;padding-top:12px;border-top:1px solid var(--zel-line)}.rating-head{margin-bottom:7px;display:flex;justify-content:space-between;gap:12px}.rating-head span{color:var(--zel-muted);font-size:12px}.rating-row{margin-top:7px;display:grid;grid-template-columns:minmax(0,1fr) 130px var(--zel-touch-min);gap:8px;align-items:end}.rating-row label{margin:0}.rating-row button{width:var(--zel-touch-min);padding:0;color:var(--zel-danger);font-size:20px}.rubric-editor>.northstar-button{width:auto;margin:0 22px 18px}.quiz-studio{margin:0 0 28px;padding:20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.quiz-studio>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.quiz-studio>header h2{margin:4px 0;font-size:22px;text-transform:none}.quiz-studio>header p:last-child{margin:0;color:var(--zel-muted);font-size:13px}.quiz-studio>header>div:last-child{display:flex;gap:8px;flex:none}.quiz-notice{padding:10px 12px;border:1px solid var(--zel-success);border-radius:9px;color:var(--zel-success)}.quiz-inline{margin:14px 0;padding:13px;display:grid;grid-template-columns:1fr 1.3fr auto auto;gap:9px;align-items:end;border:1px solid var(--zel-primary);border-radius:10px;background:var(--zel-soft)}.quiz-inline label{margin:0}.quiz-studio-grid{margin-top:16px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:14px}.studio-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.studio-heading h3{margin:0 0 9px}.studio-heading span{color:var(--zel-muted);font-size:12px}.bank-list,.quiz-definition-list{display:grid;gap:8px}.bank-list article{padding:13px;display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.bank-list h4,.quiz-definition-list h4{margin:8px 0 2px}.bank-list p,.quiz-definition-list p{margin:0;color:var(--zel-muted);font-size:12px}.bank-list button,.question-list button,.quiz-definition-list button{width:auto;min-height:var(--zel-touch-min);margin:0;padding:7px 9px;border:1px solid var(--zel-line-strong);background:var(--zel-surface);color:var(--zel-primary);font-size:12px}.question-list{margin-top:9px;border:1px solid var(--zel-line);border-radius:10px;overflow:hidden}.question-list article{padding:10px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--zel-line)}.question-list article:last-child{border-bottom:0}.question-list strong,.question-list span{display:block}.question-list strong{font-size:13px}.question-list span{margin-top:3px;color:var(--zel-muted);font-size:12px}.quiz-definition-list article{padding:15px;border:1px solid var(--zel-line);border-radius:11px;background:var(--zel-soft)}.quiz-definition-list article>div{margin-top:12px}.studio-empty{padding:30px 18px;border:1px dashed var(--zel-line-strong);border-radius:10px;color:var(--zel-muted);text-align:center}.choice-authoring,.quiz-question-picker{margin:0;padding:13px;border:1px solid var(--zel-line);border-radius:10px}.choice-authoring legend,.quiz-question-picker legend{padding:0 5px;font-weight:750}.choice-authoring>div{margin-top:8px;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center}.choice-authoring input[type=radio],.choice-authoring input[type=checkbox]{min-height:20px;width:20px;margin:0}.quiz-question-picker{max-height:260px;overflow:auto}.quiz-question-picker label{margin:0;padding:8px 3px;display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid var(--zel-line)}.quiz-question-picker label:last-child{border-bottom:0}.quiz-question-picker input{min-height:20px;width:20px;margin:0}.quiz-question-picker b{color:var(--zel-muted);font-size:12px}.quiz-activity-note{padding:13px;border:1px solid var(--zel-primary);border-radius:10px;background:var(--zel-soft)}.quiz-activity-note p{margin:4px 0 0;color:var(--zel-muted);font-size:12px}.preview-question-head{display:flex;justify-content:space-between;gap:10px}.preview-question-head span{color:var(--zel-muted)}.choice-list>div{padding:10px;display:flex;gap:9px;align-items:flex-start;border:1px solid var(--zel-line);border-radius:9px}.preview-choice-marker{color:var(--zel-primary);font-weight:850}@media (max-width: 980px){.authoring-summary,.authoring-inline-form{grid-template-columns:1fr 1fr}.authoring-inline-form .form-actions{grid-column:1 / -1}.authoring-activities article{grid-template-columns:40px minmax(0,1fr) auto}.activity-actions{grid-column:2 / -1}.rubric-cards{grid-template-columns:1fr 1fr}.quiz-studio-grid{grid-template-columns:1fr}.quiz-inline{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.authoring-head,.authoring-toolbar{display:block}.authoring-course-select{width:100%;margin-top:16px}.authoring-summary{grid-template-columns:1fr 1fr}.authoring-toolbar>div:last-child{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.publish-confirm,.authoring-inline-form{grid-template-columns:1fr}.authoring-inline-form .form-actions{grid-column:auto}.authoring-module>header{grid-template-columns:42px minmax(0,1fr)}.authoring-module>header .northstar-button{grid-column:1 / -1}.authoring-activities article{grid-template-columns:38px minmax(0,1fr)}.authoring-state{grid-column:2;justify-self:start}.activity-actions{grid-column:2;flex-wrap:wrap}.authoring-editor-backdrop{padding:0;align-items:end}.authoring-editor{max-height:94vh;border-radius:20px 20px 0 0}.kind-picker{flex-wrap:wrap}.editor-grid{grid-template-columns:1fr}.editor-grid .span-2{grid-column:auto}.authoring-editor>footer{align-items:stretch;flex-direction:column}.authoring-editor>footer div{display:grid;grid-template-columns:1fr 1fr}.rubric-library{padding:16px}.rubric-library>header{display:block}.rubric-library>header .northstar-button{margin-top:12px}.rubric-cards,.criterion-grid{grid-template-columns:1fr}.criterion-grid .span-2{grid-column:auto}.rating-head{display:block}.rating-row{grid-template-columns:minmax(0,1fr) 100px 40px}.quiz-studio{padding:16px}.quiz-studio>header{display:block}.quiz-studio>header>div:last-child{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.quiz-inline{grid-template-columns:1fr}.question-list article{align-items:flex-start}.quiz-question-picker label{grid-template-columns:22px 1fr}.quiz-question-picker b{grid-column:2}}.northstar-brand{margin:0;color:var(--zel-ink);font-size:22px;font-weight:900;letter-spacing:-.045em;line-height:1;text-decoration:none}.northstar-brand em{color:var(--zel-primary);font-style:normal}.northstar-brand>span,.auth-story-brand>span{display:inline-block;width:9px;height:9px;margin-left:4px;border-radius:var(--zel-radius-pill);background:var(--zel-accent)}.northstar-button,a.northstar-button{width:auto;min-height:var(--zel-touch-min);margin:0;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--zel-primary);border-radius:10px;background:var(--zel-primary);color:var(--zel-on-primary);font-size:14px;font-weight:750;text-decoration:none}.northstar-button.secondary,a.northstar-button.secondary{background:var(--zel-surface);color:var(--zel-primary);border-color:var(--zel-line-strong)}.northstar-button.danger-button{border-color:var(--zel-danger);background:var(--zel-danger);color:var(--zel-on-danger)}.northstar-button.light{background:var(--zel-surface);color:var(--zel-primary);border-color:var(--zel-surface)}.northstar-tag{display:inline-flex;width:max-content;padding:6px 10px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-primary);font-size:12px;font-weight:750}.northstar-tag.success{background:var(--zel-success);color:var(--zel-on-success)}.page-kicker{color:var(--zel-primary);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.northstar-title{margin:8px 0;max-width:850px;font-size:clamp(30px,4vw,46px);line-height:1.04;letter-spacing:-.04em}.theme-toggle{width:auto;min-width:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:8px 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--zel-line-strong);background:var(--zel-surface);color:var(--zel-primary);font-size:13px;font-weight:700}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.theme-toggle.compact{padding:8px 10px}.tl-page{min-height:100vh;display:flex;flex-direction:column;background:var(--zel-doc)}.tl-page .icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.tl-header{background:var(--zel-paper);border-bottom:var(--zel-hairline) solid var(--zel-line);display:flex;align-items:center;gap:12px;padding:10px 22px;flex-wrap:wrap}.tl-header .brand-logo{display:flex;align-items:center;gap:10px;min-width:0}.tl-header .mark{border-radius:8px}.tl-header .school-name{font-size:16px;font-weight:800;letter-spacing:-.01em}.tl-header .school-sub{font-size:var(--zel-font-min);color:var(--zel-muted);display:block;margin-top:-2px}.tl-header .spacer{flex:1}.tl-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:700;padding:11px 20px;min-height:var(--zel-touch-min);border-radius:var(--zel-radius);cursor:pointer;text-decoration:none;border:var(--zel-hairline) solid transparent;font-family:inherit}.tl-page .btn-primary{background:var(--zel-primary);color:var(--zel-on-primary)}.tl-header .btn{width:auto;margin-top:0;white-space:nowrap}.tl-hero{background:var(--zel-primary);color:var(--zel-on-primary);padding:44px 22px 40px;position:relative;overflow:hidden}.tl-hero-inner{max-width:880px;margin:0 auto;position:relative;z-index:1}.tl-hero h1{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px;max-width:640px;text-transform:none;color:inherit}.tl-hero p{font-size:15.5px;line-height:1.55;margin:0 0 22px;max-width:560px}.tl-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.tl-page .btn-on-band-primary{background:var(--zel-surface);color:var(--zel-primary)}.tl-page .btn-on-band-secondary{background:transparent;color:var(--zel-on-primary);border-color:var(--zel-on-primary)}.tl-hero .brand-motif{position:absolute;right:-34px;bottom:-24px;width:280px}.tl-demo{max-width:880px;margin:22px auto 0;padding:0 22px;width:100%}.tl-tiles{max-width:880px;margin:18px auto 0;padding:0 22px;width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.tl-tile{background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line);border-radius:var(--zel-radius);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.tl-tile .tile-icon{width:20px;height:20px;color:var(--zel-primary)}.tl-tile h3{font-size:14.5px;font-weight:800;margin:2px 0 0;letter-spacing:-.01em}.tl-tile p{font-size:13px;color:var(--zel-muted);margin:0;line-height:1.5}.tl-tile .tile-action{margin-top:auto;padding:6px 0 0;font-size:13.5px;font-weight:700;color:var(--zel-primary);text-decoration:underline;background:none;border:none;font-family:inherit;cursor:pointer;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:var(--zel-touch-min)}.tl-tile .icon-xs{width:14px;height:14px}.tl-tile .tile-soon{margin-top:auto;padding-top:6px;font-size:var(--zel-font-min);color:var(--zel-faint);display:inline-flex;align-items:center;min-height:var(--zel-touch-min)}.tl-footer{margin-top:auto;padding:22px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--zel-muted);align-items:center;text-align:center}.tl-footer a{font-weight:600;color:var(--zel-muted);text-decoration:underline;display:inline-flex;align-items:center;min-height:var(--zel-touch-min)}.tl-footer a:hover{color:var(--zel-primary)}.tl-footer .dot{color:var(--zel-faint)}@media (max-width: 820px){.tl-hero{padding:30px 18px 28px}.tl-hero h1{font-size:23px}.tl-hero .brand-motif{display:none}.tl-demo,.tl-tiles{padding:0 16px}.tl-tiles{grid-template-columns:1fr}}.verify-page{min-height:100vh;display:flex;flex-direction:column;background:var(--zel-doc)}.verify-page .icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.verify-main{width:100%;max-width:560px;margin:0 auto;padding:40px 20px 24px;flex:1}.verify-main h1{font-size:26px;font-weight:800;letter-spacing:-.015em;margin:0 0 6px;text-transform:none}.verify-lede{font-size:14px;color:var(--zel-muted);margin:0 0 22px;line-height:1.55}.verify-form label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--zel-ink)}.verify-form input{width:100%;min-height:var(--zel-touch-min);padding:10px 13px;font-size:15px;color:var(--zel-ink);background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line-strong);border-radius:8px;margin-bottom:12px}.verify-form input::placeholder{color:var(--zel-faint)}.verify-form .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:700;padding:12px 20px;min-height:var(--zel-touch-min);border-radius:var(--zel-radius);cursor:pointer;border:var(--zel-hairline) solid transparent;font-family:inherit;background:var(--zel-primary);color:var(--zel-on-primary);width:100%;margin-bottom:18px}.verify-form .btn-primary[disabled]{cursor:not-allowed;opacity:.55}.verify-card{display:flex;gap:12px;align-items:flex-start;background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line);border-radius:var(--zel-radius);padding:18px 20px}.verify-card h2{font-size:16px;font-weight:800;margin:0 0 8px;text-transform:none;letter-spacing:normal}.verify-card dl{margin:0;display:grid;gap:6px}.verify-card dl>div{display:flex;gap:8px;font-size:13.5px}.verify-card dt{color:var(--zel-muted);min-width:130px}.verify-card dd{margin:0;font-weight:600;color:var(--zel-ink)}.verify-card .icon{width:20px;height:20px;margin-top:2px}.verify-valid{border-left:4px solid var(--zel-success)}.verify-valid .icon,.verify-valid h2{color:var(--zel-success)}.verify-revoked{border-left:4px solid var(--zel-danger)}.verify-revoked .icon,.verify-revoked h2{color:var(--zel-danger)}.verify-unknown{border-left:4px solid var(--zel-line-strong)}.verify-unknown .icon{color:var(--zel-muted)}.verify-unknown p,.verify-note{font-size:13px;color:var(--zel-muted);margin:0;line-height:1.55}.verify-note{margin-top:10px}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;gap:14px;background:var(--zel-doc)}.auth-frame{width:100%;max-width:980px;background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line);border-radius:var(--zel-radius);overflow:hidden;display:grid;grid-template-columns:5fr 6fr}.auth-frame .icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.brand-panel{background:var(--zel-primary);color:var(--zel-on-primary);padding:40px 36px;display:flex;flex-direction:column;gap:26px;position:relative;overflow:hidden}.brand-logo{display:flex;align-items:center;gap:11px;position:relative;z-index:1}.brand-logo .word{font-weight:800;font-size:20px;letter-spacing:-.01em;white-space:nowrap;color:var(--zel-on-primary)}.brand-logo .word .sub{color:var(--zel-accent);font-weight:700}.brand-logo .mark{border-radius:9px;box-shadow:0 0 0 var(--zel-hairline) var(--zel-on-primary)}.brand-tagline{font-size:21px;font-weight:800;letter-spacing:-.015em;line-height:1.3;margin:0;max-width:300px;position:relative;z-index:1}.brand-motif{position:absolute;right:-34px;bottom:-20px;width:300px;opacity:.16;pointer-events:none}.brand-motif svg{width:100%;height:auto;stroke:var(--zel-on-primary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand-chips{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.brand-chip{font-size:var(--zel-font-min);font-weight:700;letter-spacing:.04em;border:var(--zel-hairline) solid var(--zel-on-primary);border-radius:var(--zel-radius-pill);padding:7px 13px;color:var(--zel-on-primary);display:inline-flex;align-items:center;gap:6px}.brand-chip .icon{width:13px;height:13px}.card-panel{padding:40px 44px 30px;display:flex;flex-direction:column;position:relative}.card-top-tools{position:absolute;top:16px;right:16px}.card-panel h1{font-size:26px;font-weight:800;letter-spacing:-.015em;margin:0 0 4px;text-transform:none}.tenant-sub{font-size:14.5px;color:var(--zel-muted);margin:0 0 26px}.tenant-sub strong{color:var(--zel-ink);font-weight:700}.card-panel .field{margin-bottom:16px}.card-panel .field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--zel-ink)}.card-panel .field input{width:100%;min-height:var(--zel-touch-min);padding:10px 13px;font-size:15px;color:var(--zel-ink);background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line-strong);border-radius:8px}.card-panel .field input::placeholder{color:var(--zel-faint)}.card-panel .field.invalid input{border:2px solid var(--zel-danger)}.card-panel .field .field-note{display:flex;align-items:flex-start;gap:6px;margin:6px 0 0;font-size:var(--zel-font-min);font-weight:600;color:var(--zel-danger)}.card-panel .field .field-note .icon{width:14px;height:14px;margin-top:2px}.auth-problem{display:flex;gap:9px;align-items:flex-start;background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line);border-left:4px solid var(--zel-danger);border-radius:var(--zel-radius);padding:12px 14px;margin:0 0 16px}.auth-problem .icon{color:var(--zel-danger);width:17px;height:17px;margin-top:2px}.auth-problem p{margin:0;font-size:13.5px;line-height:1.5;color:var(--zel-ink)}.auth-problem p strong{color:var(--zel-danger);font-weight:800}.auth-problem.auth-notice{border-left-color:var(--zel-success)}.auth-problem.auth-notice .icon,.auth-problem.auth-notice p strong{color:var(--zel-success)}.card-panel .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:700;padding:12px 20px;min-height:var(--zel-touch-min);border-radius:var(--zel-radius);cursor:pointer;border:var(--zel-hairline) solid transparent;font-family:inherit;background:var(--zel-primary);color:var(--zel-on-primary);width:100%}.card-panel .btn-primary[disabled]{cursor:not-allowed;opacity:.55}.aux-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0}.aux-links .text-button{padding:0;font-size:13.5px;font-weight:600;text-decoration:underline;display:inline-flex;align-items:center}.demo-panel{margin-top:26px;background:var(--zel-soft);border:var(--zel-hairline) solid var(--zel-line);border-radius:var(--zel-radius);padding:18px 20px 16px}.demo-panel h2{font-size:14.5px;font-weight:800;margin:0 0 10px;display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:normal;color:var(--zel-ink)}.demo-panel h2 .icon{width:16px;height:16px;color:var(--zel-primary)}.demo-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.btn-demo{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--zel-touch-min);padding:9px 8px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;color:var(--zel-ink);background:var(--zel-surface);border:var(--zel-hairline) solid var(--zel-line-strong);border-radius:var(--zel-radius)}.btn-demo .icon{width:15px;height:15px;color:var(--zel-primary)}.btn-demo[disabled]{cursor:not-allowed;opacity:.55}.demo-caption{margin:10px 0 0;font-size:var(--zel-font-min);color:var(--zel-faint);line-height:1.5}.auth-footer{width:100%;max-width:980px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:0 6px}.auth-footer a{font-size:13px;font-weight:600;color:var(--zel-muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:var(--zel-touch-min)}.auth-footer a:hover{color:var(--zel-primary)}.auth-footer .icon-sm{width:15px;height:15px}.auth-footer .placeholder{font-size:13px;color:var(--zel-faint);display:inline-flex;align-items:center;min-height:var(--zel-touch-min)}.card-panel .activation-form .btn-primary,.card-panel .recovery-card .btn-primary{margin-top:10px}@media (max-width: 820px){.auth-frame{grid-template-columns:1fr;max-width:560px}.brand-panel{padding:22px 24px;gap:12px}.brand-motif{display:none}.brand-tagline{font-size:16px;max-width:none}.brand-chips{margin-top:2px}.card-panel{padding:28px 24px 22px}.demo-row{grid-template-columns:1fr}}.authenticated-shell{min-height:100vh;background:var(--zel-paper)}.product-header{min-height:66px;padding:10px 26px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--zel-line);background:var(--zel-surface)}.product-brand{width:auto;min-height:var(--zel-touch-min);margin:0;padding:5px 1px;display:inline-flex;align-items:center;background:none;text-decoration:none}.school-context{flex:1;margin:0;color:var(--zel-muted);font-size:13px}.school-context span{margin:0 5px;color:var(--zel-faint)}.account-actions{display:flex;align-items:center;gap:8px}.header-link{width:auto;min-height:var(--zel-touch-min);margin:0;padding:8px 10px;display:inline-flex;align-items:center;background:transparent;color:var(--zel-muted);font-size:13px;text-decoration:none}.avatar-button{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;display:grid;place-items:center;border-radius:50%;font-size:12px;text-decoration:none}.product-layout{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 66px)}.product-sidebar{padding:21px 14px;display:flex;flex-direction:column;border-right:1px solid var(--zel-line);background:color-mix(in srgb,var(--zel-soft) 56%,var(--zel-paper))}.school-tag{margin:0;padding:8px 12px 17px;color:var(--zel-faint);font-size:12px;font-weight:750}.sidebar-link{width:100%;min-height:44px;margin:0 0 4px;padding:10px 12px;display:flex;align-items:center;gap:11px;text-align:left;text-decoration:none;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--zel-muted);font-size:13px}.sidebar-link svg,.mobile-tabs svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-link:hover{background:var(--zel-surface);color:var(--zel-ink)}.sidebar-link.active{border-color:var(--zel-line);background:var(--zel-surface);color:var(--zel-primary)}.sidebar-bottom{margin-top:auto;padding:18px 12px 2px;border-top:1px solid var(--zel-line)}.sidebar-bottom p{margin:0 0 8px;color:var(--zel-muted);font-size:12px}.signout-link{width:auto;min-height:var(--zel-touch-min);margin:0;padding:6px 0;background:none;color:var(--zel-primary);font-size:12px}.app-main{min-width:0;min-height:calc(100vh - 66px);background:var(--zel-paper)}.app-main .wrap{padding-top:34px}.wide-wrap{max-width:1160px}.mobile-tabs{display:none}.roster-import-panel{margin:18px 0 24px;padding:22px;border:2px solid var(--zel-primary);border-radius:var(--zel-radius);background:var(--zel-surface)}.roster-import-panel .section-heading{align-items:flex-start}.roster-import-panel h2,.roster-import-panel h3{margin:4px 0}.roster-import-guide{margin:14px 0;padding:13px 15px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft);color:var(--zel-muted)}.roster-import-guide strong{color:var(--zel-ink)}.roster-import-guide a{margin-left:12px;color:var(--zel-primary);font-weight:750}.roster-import-input{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr);gap:14px;align-items:start}.roster-import-input textarea{min-height:156px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.roster-import-input .form-actions{grid-column:1 / -1;justify-content:space-between}.roster-preview{margin-top:20px;padding-top:18px;border-top:1px solid var(--zel-line)}.roster-preview-table{max-width:100%;overflow:auto;border:1px solid var(--zel-line);border-radius:10px}.roster-preview-table table{width:100%;min-width:850px;border-collapse:collapse}.roster-preview-table th,.roster-preview-table td{padding:11px;vertical-align:top;text-align:left;border-bottom:1px solid var(--zel-line);font-size:12px}.roster-preview-table th{position:sticky;top:0;background:var(--zel-soft);color:var(--zel-muted)}.roster-preview-table td strong,.roster-preview-table td small{display:block}.roster-preview-table td small{margin-top:3px;color:var(--zel-muted)}.roster-preview-table tr.invalid{background:var(--zel-soft)}.valid-row{color:var(--zel-success);font-weight:800}.roster-import-history{margin-top:22px;padding-top:18px;border-top:1px solid var(--zel-line)}.history-list{display:grid;gap:8px}.history-list>button{min-height:60px;margin:0;padding:11px 13px;display:flex;justify-content:space-between;gap:14px;border:1px solid var(--zel-line);background:var(--zel-paper);color:var(--zel-ink);text-align:left}.history-list>button span,.history-list>button strong,.history-list>button small{display:block}.history-list>button span:last-child{text-align:right;color:var(--zel-muted);font-size:12px}.history-list .account-state{display:inline-flex;margin-top:5px}@media (max-width: 760px){.roster-import-panel{padding:16px}.roster-import-input{grid-template-columns:1fr}.roster-import-input .form-actions{grid-column:1;align-items:stretch}.history-list>button{display:grid}.history-list>button span:last-child{text-align:left}}.northstar-page .lead{max-width:720px}.today-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:14px;margin:24px 0 30px}.today-feature{min-height:270px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-radius:22px;background:var(--zel-primary);color:var(--zel-on-primary)}.today-feature>p{margin:0 0 10px;opacity:.78;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.today-feature h2{max-width:670px;margin:0;color:inherit;font-size:clamp(27px,3.6vw,43px);line-height:1.04;letter-spacing:-.035em;text-transform:none}.today-feature>span{margin-top:8px;opacity:.82}.today-feature .northstar-button{margin-top:22px}.today-lock{margin-top:9px;padding:7px 10px;border:1px solid currentColor;border-radius:9px;font-size:12px}.today-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.today-summary article,.summary-course-link{padding:18px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface);color:var(--zel-ink)}.today-summary b,.today-summary span{display:block}.today-summary b{font-size:30px}.today-summary article span{color:var(--zel-muted);font-size:12px}.summary-course-link{width:100%;min-height:0;margin:0;grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:13px}.summary-course-link span{color:var(--zel-primary);font-size:20px}.section-heading{margin:0 0 12px;display:flex;justify-content:space-between;align-items:baseline;gap:14px}.section-heading h2{margin:0;color:var(--zel-ink);font-size:19px;text-transform:none;letter-spacing:-.015em}.section-heading>span{color:var(--zel-muted);font-size:12px}.courses-page .back{margin:0}.course-card-grid{margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none}button.northstar-course-card{height:100%;min-height:310px;margin:0;padding:0;display:flex;flex-direction:column;text-align:left;overflow:hidden;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface);color:var(--zel-ink)}.course-cover{min-height:128px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--zel-primary);color:var(--zel-on-primary)}.tone-1 .course-cover{background:var(--zel-success);color:var(--zel-on-success)}.tone-2 .course-cover{background:var(--zel-accent);color:var(--zel-on-accent)}.tone-3 .course-cover{background:var(--zel-danger);color:var(--zel-on-danger)}.course-cover span{opacity:.78;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.course-cover strong{margin-top:5px;font-size:18px;line-height:1.2}.course-card-body{flex:1;padding:18px;display:flex;flex-direction:column;align-items:flex-start}.course-title{margin:14px 0 6px;font-size:18px;font-weight:750}.course-card-body .meta{display:block}.course-open{width:100%;margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;color:var(--zel-primary);font-size:13px;font-weight:750}@media (max-width: 980px){.course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.theme-toggle span{display:none}.product-header{padding:9px 14px}.school-context,.account-name,.header-link{display:none}.account-actions{margin-left:auto}.product-layout{display:block}.product-sidebar{display:none}.app-main{padding-bottom:76px}.authenticated-shell>.mobile-tabs{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:6px 8px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--zel-line);background:var(--zel-surface)}.authenticated-shell>.mobile-tabs .mobile-tab{width:auto;min-width:0;min-height:52px;margin:0;padding:5px 3px;display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;color:var(--zel-muted);font-size:12px;text-decoration:none}.authenticated-shell>.mobile-tabs .mobile-tab.active{color:var(--zel-primary)}.mobile-tabs svg{width:20px;height:20px}.today-hero{grid-template-columns:1fr}.today-feature{min-height:245px;padding:24px}.today-summary{grid-template-columns:repeat(3,1fr)}.today-summary article{padding:14px 10px}.today-summary b{font-size:25px}.summary-course-link{grid-column:1 / -1}.course-card-grid{grid-template-columns:1fr}.course-cover{min-height:112px}}.teacher-heading,.gradebook-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.teacher-heading .northstar-button{margin-top:8px;flex:none}.attention-grid{margin:24px 0 34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attention-grid article{position:relative;min-height:142px;padding:20px;overflow:hidden;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.attention-grid article:after{content:"";position:absolute;width:64px;height:64px;top:-24px;right:-22px;border-radius:50%;background:var(--zel-soft)}.attention-grid span,.attention-grid strong,.attention-grid small{display:block}.attention-grid span{color:var(--zel-primary);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.attention-grid strong{margin:14px 0 3px;font-size:36px;line-height:1}.attention-grid small{color:var(--zel-muted)}.teacher-section-heading{margin-top:30px}.teacher-queue{margin:0;padding:0;display:grid;list-style:none;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.teacher-queue li{padding:14px 16px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;border-bottom:1px solid var(--zel-line)}.teacher-queue li:last-child{border-bottom:0}.teacher-queue strong,.teacher-queue span{display:block}.teacher-queue strong{font-size:14px}.teacher-queue span{margin-top:3px;color:var(--zel-muted);font-size:12px}.teacher-queue .northstar-button{min-height:var(--zel-touch-min);padding:8px 13px}.teacher-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--zel-primary);color:var(--zel-on-primary);font-size:12px;font-weight:800}.queue-flags{margin-top:5px;display:flex;gap:6px}.queue-flags b{padding:3px 7px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-primary);font-size:12px}.teacher-course-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-course-strip article{display:flex;flex-direction:column;gap:8px}.teacher-course-strip button.teacher-course-open{min-height:150px;margin:0;padding:19px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--zel-line);background:var(--zel-surface);color:var(--zel-ink)}.teacher-course-strip button.teacher-course-open>span{color:var(--zel-primary);font-size:12px;font-weight:800}.teacher-course-strip button.teacher-course-open>strong{margin:12px 0 6px;font-size:18px;line-height:1.2}.teacher-course-strip button.teacher-course-open>small{color:var(--zel-muted)}.teacher-course-strip button.teacher-course-open>b{margin-top:auto;color:var(--zel-primary);font-size:12px}.teacher-course-strip button.teacher-course-insights{margin:0;width:100%}.gradebook-page{max-width:none;padding-left:28px;padding-right:28px}.gradebook-head>div{min-width:0}.gradebook-head>label{width:min(420px,42vw);margin:0}.gradebook-head select{margin-top:6px;background:var(--zel-surface)}.gradebook-summary{margin:22px 0 18px;display:grid;grid-template-columns:repeat(4,minmax(125px,1fr)) auto;gap:10px;align-items:stretch}.gradebook-summary article{padding:15px 17px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.gradebook-summary strong,.gradebook-summary span{display:block}.gradebook-summary strong{font-size:25px}.gradebook-summary span{color:var(--zel-muted);font-size:12px}.gradebook-summary .northstar-button{align-self:stretch}.success-message{margin:12px 0;padding:11px 14px;border:1px solid var(--zel-success);border-radius:10px;background:var(--zel-surface);color:var(--zel-success);font-weight:650}.release-review{margin:14px 0;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:2px solid var(--zel-accent);border-radius:var(--zel-radius);background:var(--zel-surface)}.release-review p{margin:4px 0 0;color:var(--zel-muted)}.release-review>div:last-child{display:flex;gap:8px;flex:none}.gradebook-context{padding:14px 17px;display:flex;justify-content:space-between;gap:20px;border:1px solid var(--zel-line);border-bottom:0;border-radius:var(--zel-radius) var(--zel-radius) 0 0;background:var(--zel-soft)}.gradebook-context span{color:var(--zel-muted);font-size:12px}.gradebook-policy{margin:0 0 12px;padding:13px 16px;display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.gradebook-policy p{margin:4px 0 0;color:var(--zel-muted);font-size:12px}.gradebook-policy ul{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;list-style:none}.gradebook-policy li{padding:6px 9px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-muted);font-size:12px}.gradebook-policy li b{color:var(--zel-ink)}.gradebook-tools{margin:0 0 8px;display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(155px,1fr)) auto;gap:10px;align-items:end}.gradebook-tools label{min-width:0;margin:0;color:var(--zel-muted);font-size:12px}.gradebook-tools input,.gradebook-tools select{margin-top:5px;background:var(--zel-surface)}.gradebook-tools .northstar-button{margin:0;white-space:nowrap}.gradebook-filter-result{margin:7px 0 12px;color:var(--zel-muted);font-size:12px}.gradebook-scroll{width:100%;overflow:auto;border:1px solid var(--zel-line);border-radius:0 0 var(--zel-radius) var(--zel-radius);background:var(--zel-surface)}.gradebook-table{min-width:1080px;width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.gradebook-table th,.gradebook-table td{min-width:130px;padding:10px;text-align:left;vertical-align:middle;border-right:1px solid var(--zel-line);border-bottom:1px solid var(--zel-line)}.gradebook-table th:first-child{position:sticky;left:0;z-index:2;min-width:190px;max-width:190px;background:var(--zel-surface)}.gradebook-table thead th{position:sticky;top:0;z-index:1;background:var(--zel-soft)}.gradebook-table thead th:first-child{z-index:3;background:var(--zel-soft)}.gradebook-table thead span,.gradebook-table thead small{display:block}.gradebook-table thead span{max-width:160px;font-weight:750;line-height:1.25}.gradebook-table thead small{margin-top:4px;color:var(--zel-muted)}.gradebook-table tbody th span,.gradebook-table tbody th small,.gradebook-table td small{display:block}.gradebook-table tbody th small,.gradebook-table td small{margin-top:4px;color:var(--zel-muted);font-weight:500}.grade-total{color:var(--zel-primary);font-size:17px}button.grade-cell{width:100%;min-height:var(--zel-touch-min);margin:0;padding:8px;border:1px solid var(--zel-line);background:var(--zel-soft);color:var(--zel-ink);font-size:12px}button.grade-cell.accent{border-color:var(--zel-accent);color:var(--zel-ink)}.grade-cell.success{border-color:var(--zel-success);color:var(--zel-success)}.grade-cell-static{color:var(--zel-muted)}.grader-page{min-height:calc(100vh - 66px);background:var(--zel-paper)}.grader-head{min-height:72px;padding:10px 22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border-bottom:1px solid var(--zel-line);background:var(--zel-surface)}.grader-head .back{margin:0}.grader-head strong,.grader-head span{display:block}.grader-head>div>span{color:var(--zel-muted);font-size:12px}.grader-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:calc(100vh - 138px)}.submission-pane{min-width:0;padding:24px;background:var(--zel-soft)}.submission-toolbar{max-width:820px;margin:0 auto 10px;display:flex;justify-content:space-between;gap:16px;color:var(--zel-muted);font-size:12px}.submission-document{max-width:820px;min-height:390px;margin:auto;padding:clamp(26px,5vw,58px);border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.submission-document h1{margin:0 0 24px;font-family:Georgia,serif;font-size:28px}.submission-document p{white-space:pre-wrap;font:17px/1.75 Georgia,serif}.submission-document a{color:var(--zel-primary)}.accommodation-note{max-width:820px;margin:12px auto;padding:11px 13px;border:1px solid var(--zel-accent);border-radius:10px;background:var(--zel-surface)}.grader-comments,.grade-history{max-width:820px;margin:14px auto 0;padding:18px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.grader-comments h2,.grade-history h2{color:var(--zel-ink);font-size:16px;text-transform:none;letter-spacing:0}.grader-comments article{padding:11px 0;border-top:1px solid var(--zel-line)}.grader-comments article span,.grade-history span{display:block;color:var(--zel-muted);font-size:12px}.grader-comments article p{margin:5px 0 0}.grade-history p{padding:9px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--zel-line)}.grade-history strong,.grade-history span{display:block}.grading-panel{min-width:0;padding:22px;border-left:1px solid var(--zel-line);background:var(--zel-surface)}.grading-status{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--zel-muted);font-size:12px}.score-label{margin-top:20px}.score-control{display:flex;align-items:baseline;gap:9px}.score-control input{width:135px;min-height:64px;font-size:36px;font-weight:850}.score-control span{color:var(--zel-muted);font-size:18px}.check-row{margin:14px 0;display:flex;align-items:flex-start;gap:10px;font-weight:550}.check-row input{width:20px;min-height:20px;margin:2px 0 0;flex:none}.rubric-form{margin:18px 0;padding-top:18px;border-top:1px solid var(--zel-line);border-bottom:1px solid var(--zel-line)}.rubric-title{display:flex;justify-content:space-between;gap:10px}.rubric-title h2{color:var(--zel-ink);font-size:16px;text-transform:none;letter-spacing:0}.rubric-form fieldset{margin:0 0 18px;padding:0;border:0}.rubric-form legend{width:100%;display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:750}.rubric-form legend span{color:var(--zel-muted);font-size:12px}.rubric-form fieldset>p{margin:4px 0 8px;color:var(--zel-muted);font-size:12px}.rating-chips{display:flex;flex-wrap:wrap;gap:6px}.rating-chips button{width:auto;min-height:var(--zel-touch-min);margin:0;padding:7px 9px;display:inline-flex;gap:7px;border:1px solid var(--zel-line-strong);background:var(--zel-surface);color:var(--zel-ink);font-size:12px}.rating-chips button span{color:var(--zel-muted)}.rating-chips button.selected{border-color:var(--zel-primary);background:var(--zel-primary);color:var(--zel-on-primary)}.rating-chips button.selected span{color:var(--zel-on-primary)}.feedback-policy{margin:5px 0 0;color:var(--zel-muted);font-size:12px}.grader-actions{margin-top:18px;display:flex;justify-content:space-between;gap:8px}.grader-actions .northstar-button{flex:1}.class-workspace{max-width:none;padding-left:28px;padding-right:28px}.class-workspace-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.class-workspace-head>label{width:min(390px,42vw);margin:0}.class-tabs{margin:25px 0 18px;display:flex;gap:6px;border-bottom:1px solid var(--zel-line)}.class-tabs button{width:auto;min-height:var(--zel-touch-min);margin:0 0 -1px;padding:10px 16px;border:0;border-bottom:3px solid transparent;border-radius:10px 10px 0 0;background:transparent;color:var(--zel-muted);font-size:14px;font-weight:750}.class-tabs button.active{border-bottom-color:var(--zel-primary);background:var(--zel-soft);color:var(--zel-primary)}.class-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}.class-summary article{padding:17px 18px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.class-summary strong,.class-summary span{display:block}.class-summary strong{font-size:28px}.class-summary span{color:var(--zel-muted);font-size:12px}.roster-toolbar{padding:14px 17px;display:flex;justify-content:space-between;align-items:end;gap:24px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-soft)}.roster-toolbar strong,.roster-toolbar span{display:block}.roster-toolbar span{margin-top:3px;color:var(--zel-muted);font-size:12px}.roster-toolbar label{width:300px;margin:0}.roster-toolbar input,.attendance-panel input{width:100%;min-height:var(--zel-touch-min);padding:9px 11px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-paper);color:var(--zel-ink);font:inherit;font-size:14px}.teaching-team{margin:12px 0;display:flex;flex-wrap:wrap;gap:9px}.teaching-team article{min-width:230px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-surface)}.teaching-team strong,.teaching-team small{display:block}.teaching-team small{margin-top:2px;color:var(--zel-muted);font-size:12px}.roster-table-scroll,.attendance-table-scroll{overflow:auto;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.roster-table{min-width:900px;width:100%;border-collapse:collapse;font-size:13px}.roster-table th,.roster-table td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--zel-line)}.roster-table th{color:var(--zel-faint);background:var(--zel-soft);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.roster-table td:first-child strong,.roster-table td:first-child small,.roster-table td:nth-child(3) strong,.roster-table td:nth-child(3) small{display:block}.roster-table td small{margin-top:3px;color:var(--zel-muted);font-size:12px}.attendance-toolbar{margin-bottom:14px;display:flex;justify-content:space-between;align-items:end;gap:18px}.attendance-date-fields,.attendance-actions{display:flex;align-items:end;gap:8px}.attendance-date-fields label{min-width:155px;margin:0}.attendance-date-fields select{min-height:var(--zel-touch-min);padding:8px 10px;font-size:14px}.attendance-actions .northstar-button{white-space:nowrap}.register-history{margin:0 0 15px;padding:14px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-soft)}.register-history-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:18px}.register-history-head h2{margin:0;color:var(--zel-ink);font-size:16px;text-transform:none;letter-spacing:0}.register-history-head p{margin:3px 0 0;color:var(--zel-muted);font-size:12px}.register-history-head>span{padding:5px 9px;border-radius:var(--zel-radius-pill);background:var(--zel-surface);color:var(--zel-primary);font-size:12px;font-weight:800;white-space:nowrap}.register-history-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.register-history-list>button{min-width:0;min-height:94px;margin:0;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;text-align:left;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-surface);color:var(--zel-ink)}.register-history-list>button:hover,.register-history-list>button.current{border-color:var(--zel-primary);box-shadow:0 0 0 1px var(--zel-primary)}.register-history-list>button.current{background:var(--zel-paper)}.register-history-list strong,.register-history-list small,.register-history-list b{display:block}.register-history-list small{margin-top:2px;color:var(--zel-muted);font-size:12px}.register-history-list b{font-size:14px}.register-history-marks,.register-history-exceptions{text-align:right}.register-history-list em{width:max-content;padding:3px 7px;border-radius:var(--zel-radius-pill);background:var(--zel-success);color:var(--zel-on-success);font-size:12px;font-style:normal;font-weight:800}.register-history-list button.draft em{background:var(--zel-accent);color:var(--zel-on-accent)}.attendance-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:15px;align-items:start}.register-main{min-width:0}.register-filter-bar{margin-bottom:9px;padding:10px 12px;display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;gap:9px;align-items:end;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.register-filter-bar label{min-width:0;margin:0}.register-filter-bar select{width:100%;min-height:var(--zel-touch-min);padding:8px 10px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-paper);color:var(--zel-ink);font:inherit;font-size:14px}.register-filter-bar p{margin:0 0 11px;color:var(--zel-muted);font-size:12px;white-space:nowrap}.register-filter-bar p strong{color:var(--zel-ink)}.attendance-table.live-register{min-width:1230px;width:100%;font-size:12px}.attendance-table.live-register th{padding:11px 13px;color:var(--zel-faint);background:var(--zel-soft);font-size:12px}.attendance-table.live-register td{padding:12px 13px;vertical-align:top}.attendance-table.live-register td:first-child{min-width:170px}.attendance-table.live-register td:nth-child(2){min-width:580px}.attendance-table.live-register td:nth-child(3){min-width:130px}.attendance-table.live-register td:first-child strong,.attendance-table.live-register td:first-child small{display:block}.attendance-table.live-register td:first-child small{margin-top:4px;color:var(--zel-muted)}.attendance-status{display:flex;flex-wrap:wrap;gap:4px}.attendance-status button{width:auto;min-width:60px;min-height:44px;margin:0;padding:5px 7px;display:flex;align-items:center;gap:5px;border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius-pill);background:var(--zel-surface);color:var(--zel-ink)}.attendance-status button>span{width:22px;height:22px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:12px;font-weight:850}.attendance-status button>small{font-size:12px;font-weight:700}.attendance-status button.selected.present{background:var(--zel-primary);color:var(--zel-on-primary)}.attendance-status button.selected.absent{background:var(--zel-danger);color:var(--zel-on-danger)}.attendance-status button.selected.late{background:var(--zel-accent);color:var(--zel-on-accent)}.attendance-status button.selected.excused,.attendance-status button.selected.leave{background:var(--zel-success);color:var(--zel-on-success)}.late-minutes{max-width:140px;margin:7px 0 0}.late-minutes input{min-height:var(--zel-touch-min)}.attendance-summary{display:grid;gap:10px;align-content:start;grid-auto-rows:min-content}.attendance-summary>article,.attendance-summary>div article,.device-save{padding:17px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.attendance-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.attendance-summary strong,.attendance-summary span{display:block}.attendance-summary strong{font-size:27px}.attendance-summary span{color:var(--zel-muted);font-size:12px}.attendance-summary article.primary{background:var(--zel-soft)}.attendance-summary article.primary strong{font-size:43px;color:var(--zel-primary)}.device-save{border-color:var(--zel-line-strong)}.device-save>span{width:max-content;padding:5px 8px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-primary);font-weight:750}.device-save.queued{border-color:var(--zel-accent)}.device-save.queued>span{background:var(--zel-accent);color:var(--zel-on-accent)}.device-save p{margin:9px 0 0;color:var(--zel-muted);font-size:12px;line-height:1.45}@media (max-width: 1050px){.attention-grid,.teacher-course-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.gradebook-summary{grid-template-columns:repeat(4,1fr)}.gradebook-summary .northstar-button{grid-column:1 / -1}.gradebook-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.gradebook-tools .northstar-button{grid-column:1 / -1}.grader-layout{grid-template-columns:minmax(0,1fr) 350px}.attendance-toolbar{align-items:stretch;flex-direction:column}.attendance-actions{flex-wrap:wrap}.register-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-layout{grid-template-columns:1fr}.attendance-summary{grid-template-columns:repeat(3,1fr)}.attendance-summary>div{grid-template-columns:1fr 1fr}.device-save{grid-column:1 / -1}}@media (max-width: 760px){.teacher-heading,.gradebook-head{display:block}.teacher-heading .northstar-button{margin-bottom:4px}.attention-grid{grid-template-columns:1fr 1fr}.attention-grid article{min-height:125px;padding:16px}.teacher-queue li{grid-template-columns:38px minmax(0,1fr)}.teacher-queue .northstar-button{grid-column:2;justify-self:start}.teacher-course-strip{grid-template-columns:1fr}.gradebook-page{padding-left:15px;padding-right:15px}.gradebook-head>label{width:100%}.gradebook-summary{grid-template-columns:1fr 1fr}.release-review{align-items:stretch;flex-direction:column}.release-review>div:last-child{width:100%}.release-review .northstar-button{flex:1}.gradebook-context{display:block}.gradebook-context span{display:block;margin-top:4px}.gradebook-policy{display:block}.gradebook-policy ul{margin-top:10px}.gradebook-tools{grid-template-columns:1fr}.gradebook-tools .northstar-button{grid-column:auto}.grader-head{grid-template-columns:1fr auto}.grader-head .back{grid-column:1 / -1;justify-self:start}.grader-layout{display:block}.grading-panel{border-left:0;border-top:1px solid var(--zel-line)}.submission-pane{padding:14px}.submission-document{min-height:250px;padding:22px}.submission-toolbar,.submission-toolbar span,.class-workspace-head{display:block}.class-workspace-head>label{width:100%;margin-top:16px}.class-summary{grid-template-columns:1fr 1fr}.roster-toolbar{align-items:stretch;flex-direction:column}.roster-toolbar label{width:100%}.teaching-team{display:grid}.teaching-team article{min-width:0}.attendance-date-fields{display:grid;grid-template-columns:1fr 1fr}.attendance-date-fields label{min-width:0}.attendance-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-actions .northstar-button:last-child{grid-column:1 / -1}.register-history-head{align-items:flex-start;flex-direction:column}.register-history-list{grid-template-columns:1fr}.register-filter-bar{grid-template-columns:1fr 1fr}.register-filter-bar p{grid-column:1 / -1;margin:0}.attendance-summary{grid-template-columns:1fr 1fr}.attendance-summary article.primary,.device-save{grid-column:1 / -1}.attendance-summary>div{grid-column:1 / -1}}.register-oversight{margin:16px 0;padding:18px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.register-oversight .section-heading{margin-bottom:13px}.register-oversight .section-heading h2{margin:0}.register-oversight .section-heading p{margin:3px 0 0;color:var(--zel-muted);font-size:13px}.register-oversight-metrics{display:flex;flex-wrap:wrap;gap:7px}.register-oversight-metrics span{padding:7px 9px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-muted);font-size:12px;white-space:nowrap}.register-oversight-metrics strong{color:var(--zel-ink)}.register-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.register-course-grid article{padding:14px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-paper)}.register-course-grid header{display:flex;justify-content:space-between;gap:12px}.register-course-grid header span{color:var(--zel-primary);font-size:12px;font-weight:800}.register-course-grid h3{margin:3px 0 0;font-size:15px}.register-course-grid header b{height:max-content;padding:4px 7px;border-radius:var(--zel-radius-pill);background:var(--zel-success);color:var(--zel-on-success);font-size:12px;white-space:nowrap}.register-course-grid header b.attention{background:var(--zel-accent);color:var(--zel-on-accent)}.register-course-grid article>p{margin:13px 0 0}.register-course-grid article>p strong,.register-course-grid article>p small{display:block}.register-course-grid article>p small{margin-top:3px;color:var(--zel-muted);font-size:12px}.open-register-list{margin-top:12px;padding:12px;border:1px solid var(--zel-accent);border-radius:10px;background:var(--zel-paper)}.open-register-list>strong{display:block;margin-bottom:5px}.open-register-list p{margin:0;padding:7px 0;display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--zel-line);font-size:12px}.open-register-list p b{white-space:nowrap}.operations-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:26px}.operations-heading>label{width:min(330px,36vw);margin-top:9px}.operations-heading select,.operations-form select{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.operations-panel{min-height:430px;padding:20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.operations-panel .section-heading p{margin:3px 0 0;color:var(--zel-muted);font-size:13px}.operations-panel .section-heading>div{min-width:0}.operations-form{margin:14px 0 20px;padding:17px;border:2px solid var(--zel-primary);border-radius:12px;background:var(--zel-paper)}.operations-form h3{margin:0 0 12px}.operations-form>p{color:var(--zel-muted)}.operations-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}.operations-fields label{min-width:0}.operations-fields input,.operations-fields textarea,.operations-form>label input,.operations-form>label textarea,.audit-filters input{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.operations-fields textarea,.operations-form>label textarea{resize:vertical}.operations-fields .span-all{grid-column:1 / -1}.operations-fields .check-field{min-height:var(--zel-touch-min);display:flex;align-items:center;gap:8px}.operations-fields .check-field input{width:20px;min-height:20px;margin:0}.operations-form .form-actions{margin-top:14px;justify-content:flex-end}.operations-dialog{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;padding:24px;display:grid;place-items:center;overflow:auto;background:color-mix(in srgb,var(--zel-ink) 65%,transparent)}.operations-dialog .operations-form{width:min(720px,100%);max-height:calc(100vh - 48px);margin:0;overflow:auto;background:var(--zel-surface)}.term-cards{display:grid;gap:12px}.term-cards>article{overflow:hidden;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-paper)}.term-cards>article>header{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--zel-soft)}.term-cards header span,.term-cards header h3{display:block;margin:0}.term-cards header span{color:var(--zel-primary);font-size:12px;font-weight:800}.term-cards header h3{margin-top:3px}.operation-warning{margin:12px 16px 0;padding:9px 11px;border:1px solid var(--zel-accent);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font-size:13px}.period-list{padding:10px 16px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.period-list>div{padding:13px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-surface)}.period-list strong,.period-list small{display:block}.period-list strong{margin:8px 0 3px}.period-list small,.period-list p{color:var(--zel-muted);font-size:12px}.period-list p{min-height:34px}.period-state{padding:4px 7px;border-radius:var(--zel-radius-pill);background:var(--zel-success);color:var(--zel-on-success);font-size:12px;font-weight:800}.period-state.closed{background:var(--zel-danger);color:var(--zel-on-danger)}.operations-timeline{margin:16px 0 0;padding:0;display:grid;list-style:none}.operations-timeline li{padding:15px 0;display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;border-bottom:1px solid var(--zel-line)}.operations-timeline time{color:var(--zel-primary);font-size:17px;font-weight:850}.operations-timeline time span{display:block;color:var(--zel-muted);font-size:12px;font-weight:600}.operations-timeline h3{margin:7px 0 2px}.operations-timeline p{margin:0;color:var(--zel-muted);font-size:13px}.announcement-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.announcement-admin-list article{padding:16px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-paper)}.announcement-admin-list header{display:flex;justify-content:space-between;gap:14px}.announcement-admin-list header span{color:var(--zel-primary);font-size:12px;font-weight:800;text-transform:uppercase}.announcement-admin-list h3{margin:4px 0}.announcement-admin-list header b{height:max-content;padding:4px 7px;border-radius:var(--zel-radius-pill);background:var(--zel-accent);color:var(--zel-on-accent);font-size:12px}.announcement-admin-list article>p{color:var(--zel-muted)}.announcement-admin-list article>small{display:block;color:var(--zel-faint)}.announcement-admin-list article>div{margin-top:10px;display:flex;gap:5px}.audit-filters{margin-bottom:14px;padding:12px;display:grid;grid-template-columns:1.3fr .7fr .7fr auto;gap:9px;align-items:end;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.audit-filters label{margin:0}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{padding:13px 0;display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--zel-line)}.audit-mark{width:12px;height:12px;margin-top:6px;border:3px solid var(--zel-primary);border-radius:50%}.audit-list strong,.audit-list span{display:block}.audit-list span,.audit-list p{margin:2px 0;color:var(--zel-muted);font-size:12px}.audit-list details{margin-top:6px}.audit-list summary{color:var(--zel-primary);cursor:pointer;font-size:12px}.audit-list pre{max-width:100%;padding:10px;overflow:auto;border-radius:8px;background:var(--zel-soft);color:var(--zel-ink);font-size:12px;white-space:pre-wrap}@media (max-width: 980px){.period-list,.operations-fields{grid-template-columns:1fr 1fr}.operations-fields .span-all{grid-column:1 / -1}.audit-filters{grid-template-columns:1fr 1fr}.audit-filters .northstar-button{justify-self:start}}@media (max-width: 760px){.register-oversight .section-heading{align-items:flex-start;flex-direction:column}.register-course-grid{grid-template-columns:1fr}.open-register-list p{align-items:flex-start;flex-direction:column;gap:3px}.operations-heading{display:block}.operations-heading>label{width:100%}.operations-panel{padding:14px}.operations-panel .section-heading{align-items:flex-start;flex-direction:column}.term-cards>article>header{align-items:flex-start;flex-direction:column}.period-list,.operations-fields,.announcement-admin-list,.audit-filters{grid-template-columns:1fr}.operations-fields .span-all{grid-column:auto}.operations-dialog{padding:12px}.operations-dialog .operations-form{max-height:calc(100vh - 24px)}.operations-timeline li{grid-template-columns:60px minmax(0,1fr)}}.teacher-communications{display:grid;gap:18px}.communications-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.communications-heading>label{min-width:250px;font-size:12px;font-weight:800;color:var(--zel-muted)}.communications-heading select{margin-top:6px}.communications-panel{padding:22px;border:1px solid var(--zel-line);border-radius:18px;background:var(--zel-paper);box-shadow:var(--zel-shadow-soft)}.communications-panel>.section-heading{margin-bottom:16px}.teacher-composer{margin:0 0 18px;padding:18px;border:1px solid var(--zel-line-strong);border-radius:14px;background:var(--zel-soft)}.teacher-composer h2{margin-top:0}.communications-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.communications-fields label{font-size:12px;font-weight:800;color:var(--zel-muted)}.communications-fields input:not([type=checkbox]),.communications-fields select,.communications-fields textarea{margin-top:5px;background:var(--zel-paper)}.communications-fields .span-all{grid-column:1 / -1}.communications-fields .check-field{display:flex;align-items:center;gap:8px;min-height:var(--zel-touch-min);color:var(--zel-ink)}.communication-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.communication-card-grid article{padding:17px;border:1px solid var(--zel-line);border-radius:14px;background:var(--zel-surface)}.communication-card-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.communication-card-grid h3{margin:7px 0 0}.communication-card-grid article>p{color:var(--zel-muted);min-height:44px}.communication-card-grid small,.managed-thread-list small,.moderation-list small{color:var(--zel-faint);font-size:12px}.pinned-label{padding:5px 8px;border-radius:var(--zel-radius-pill);background:var(--zel-accent);color:var(--zel-on-accent);font-size:12px}.card-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:11px}.communications-split{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(360px,1.4fr);gap:15px;align-items:start}.managed-thread-list{display:grid;gap:9px}.managed-thread-list article{padding:6px 13px 12px;border:1px solid var(--zel-line);border-radius:13px;background:var(--zel-surface)}.managed-thread-list article.selected{border-color:var(--zel-primary);box-shadow:inset 3px 0 var(--zel-primary)}.managed-thread-open{width:100%;padding:10px 0 5px;border:0;background:transparent;color:var(--zel-ink);text-align:left}.managed-thread-open:hover{transform:none;box-shadow:none}.reply-state{display:inline-flex;padding:4px 7px;border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius-pill);color:var(--zel-muted);font-size:12px;font-weight:800;text-transform:capitalize}.reply-state.published{border-color:var(--zel-success);color:var(--zel-success)}.reply-state.hidden,.reply-state.deleted,.reply-state.locked,.reply-state.archived{border-style:dashed}.moderation-detail{min-height:230px;padding:17px;border:1px solid var(--zel-line);border-radius:14px;background:var(--zel-soft)}.moderation-list{display:grid;gap:9px;margin:14px 0 0;padding:0;list-style:none}.moderation-list li{padding:14px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-paper)}.moderation-list p{margin:9px 0;white-space:pre-wrap}.moderation-list form{margin-top:12px}.moderation-list form label{color:var(--zel-muted);font-size:12px;font-weight:800}.moderation-list textarea{margin-top:5px}@media (max-width: 880px){.communications-heading{align-items:stretch;flex-direction:column}.communications-heading>label{min-width:0}.communications-split{grid-template-columns:1fr}}@media (max-width: 640px){.communications-panel{padding:14px}.communications-panel .section-heading{align-items:flex-start;flex-direction:column}.communications-fields,.communication-card-grid{grid-template-columns:1fr}.communications-fields .span-all{grid-column:auto}}.release-rule-editor{margin:22px 0;padding:22px;border:1px solid var(--zel-line);border-radius:18px;background:var(--zel-paper);box-shadow:var(--zel-shadow-soft)}.release-rule-editor>.section-heading{align-items:flex-end}.release-rule-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.release-rule-form{margin:17px 0;padding:17px;border:1px solid var(--zel-line-strong);border-radius:14px;background:var(--zel-soft)}.release-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.release-fields label{color:var(--zel-muted);font-size:12px;font-weight:800}.release-fields input,.release-fields select{margin-top:5px;background:var(--zel-paper)}.release-fields select[multiple]{min-height:96px}.release-fields .span-all{grid-column:1 / -1}.release-fields small{display:block;margin-top:5px;color:var(--zel-faint);font-size:12px;font-weight:500}.release-rule-list{display:grid;gap:9px}.release-rule-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid var(--zel-line);border-radius:13px;background:var(--zel-surface)}.release-rule-list h3{margin:6px 0}.release-rule-list p{margin:0;color:var(--zel-muted)}.blocked-release-report{margin-top:16px;padding:14px;border:1px solid var(--zel-line);border-radius:13px;background:var(--zel-soft)}.blocked-release-report summary{color:var(--zel-ink);font-weight:800;cursor:pointer}.blocked-release-report article{margin-top:10px;padding:12px;border-radius:10px;background:var(--zel-paper)}.blocked-release-report ul{margin:6px 0 0;color:var(--zel-muted)}@media (max-width: 720px){.release-rule-editor{padding:14px}.release-rule-editor>.section-heading,.release-rule-list article{align-items:flex-start;flex-direction:column}.release-rule-actions{justify-content:flex-start}.release-fields{grid-template-columns:1fr}.release-fields .span-all{grid-column:auto}}.outcome-workspace{margin:22px 0;padding:22px;border:1px solid var(--zel-line);border-radius:18px;background:var(--zel-paper);box-shadow:var(--zel-shadow-soft)}.outcome-workspace>.section-heading{align-items:flex-end}.outcome-workspace>.section-heading p:last-child{max-width:740px;margin:4px 0 0;color:var(--zel-muted)}.outcome-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.outcome-form{padding:17px;border:1px solid var(--zel-line);border-radius:14px;background:var(--zel-soft)}.outcome-form h3{margin:0 0 12px}.outcome-form label{margin-top:10px}.outcome-form .northstar-button{margin-top:14px}.outcome-clear-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto;gap:14px;align-items:end;margin:12px 0;padding:14px;border:1px solid var(--zel-line-strong);border-radius:14px;background:var(--zel-soft)}.outcome-clear-form>div:first-child{align-self:center}.outcome-clear-form span{display:block;margin-top:3px;color:var(--zel-muted)}.outcome-clear-form label{margin:0}.outcome-clear-form textarea{min-height:62px}.outcome-mappings,.outcome-class-table{margin-top:18px}.outcome-mappings>h3,.outcome-class-table>h3{margin:0 0 10px}.outcome-mappings article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-surface)}.outcome-mappings article+article{margin-top:7px}.outcome-mappings article strong,.outcome-mappings article span{display:block}.outcome-mappings article span{margin-top:3px;color:var(--zel-muted);font-size:12px}.outcome-class-table table{min-width:760px;border-collapse:collapse}.outcome-class-table th,.outcome-class-table td{padding:11px;border-bottom:1px solid var(--zel-line);text-align:left;vertical-align:top}.outcome-class-table thead th{color:var(--zel-muted);font-size:12px}.outcome-class-table .pill{display:inline-block;white-space:nowrap}.text-button.compact{min-height:var(--zel-touch-min);margin:6px 0 0;padding:7px 0;font-size:12px}.mastery-mini-list{margin:12px 0;display:grid;gap:7px}.mastery-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.mastery-mini-list span strong,.mastery-mini-list span small{display:block}.mastery-mini-list span small{margin-top:2px;color:var(--zel-muted)}.mastery-mini-list .pill{flex:none}.guardian-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.guardian-mastery{margin:13px 0;padding:12px;border-radius:11px;background:var(--zel-soft)}.guardian-mastery h4{margin:0 0 8px}.guardian-mastery>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--zel-line);font-size:12px}.guardian-mastery>div b{text-align:right;text-transform:capitalize}@media (max-width: 900px){.outcome-layout{grid-template-columns:1fr}.guardian-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.outcome-workspace{padding:14px}.outcome-workspace>.section-heading{align-items:flex-start;flex-direction:column}.outcome-clear-form{grid-template-columns:1fr;align-items:stretch}.mastery-mini-list>div,.guardian-mastery>div{align-items:flex-start;flex-direction:column}.guardian-mastery>div b{text-align:left}}.recovery-entry{display:flex;justify-content:flex-end;margin-top:5px}.recovery-card{margin-top:12px;padding:17px;border:1px solid var(--zel-primary);border-radius:14px;background:var(--zel-soft)}.recovery-card h3{margin:0 0 5px}.recovery-card p{color:var(--zel-muted);font-size:13px}.recovery-card form{display:grid;gap:8px}.recovery-card label{font-size:12px;font-weight:800;color:var(--zel-muted)}.recovery-card .text-button{justify-self:start}.security-history-panel{grid-column:1 / -1}.security-event-list{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.security-event-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.security-event-list strong,.security-event-list small{display:block}.security-event-list small{margin-top:3px;color:var(--zel-faint);font-size:12px}.security-event-list>li>span{max-width:45%;color:var(--zel-muted);font-size:12px;overflow-wrap:anywhere}.recovery-admin-panel{margin:18px 0;padding:20px;border:1px solid var(--zel-line);border-radius:17px;background:var(--zel-paper);box-shadow:var(--zel-shadow-soft)}.recovery-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recovery-request-card{padding:15px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-surface)}.recovery-request-card h3{margin:8px 0 2px}.recovery-request-card p{margin:0;color:var(--zel-muted)}.recovery-request-card small{display:block;margin-top:6px;color:var(--zel-faint);font-size:12px}.recovery-request-card .identity-actions{margin-top:12px}@media (max-width: 680px){.security-event-list li{align-items:flex-start;flex-direction:column}.security-event-list>li>span{max-width:none}.recovery-request-grid{grid-template-columns:1fr}}.account-activation{margin-top:14px;padding-top:12px;border-top:1px solid var(--zel-line)}.account-activation>.text-button{margin:0}.activation-form{margin-top:12px;padding:16px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-soft)}.activation-form h3,.activation-form p{margin:0 0 5px}.activation-form p,.activation-form small{color:var(--zel-muted);font-size:12px}.activation-form small{display:block;margin-top:7px}.activation-form .northstar-button{width:100%;margin-top:14px}.identity-metrics{margin:22px 0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.identity-metrics article{padding:16px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.identity-metrics span,.identity-metrics strong{display:block}.identity-metrics span{color:var(--zel-muted);font-size:12px}.identity-metrics strong{margin-top:5px;color:var(--zel-primary);font-size:30px}.identity-toolbar{margin-bottom:18px;padding:12px;display:flex;justify-content:space-between;align-items:end;gap:15px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-surface)}.identity-toolbar>div{display:flex;gap:10px;flex:1}.identity-toolbar label{flex:1;margin:0}.identity-toolbar select,.identity-actions select{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.identity-toolbar .northstar-button{flex:none}.identity-invite-form h2{margin:0 0 3px;color:var(--zel-ink);font-size:20px;text-transform:none}.identity-directory{margin-top:25px}.identity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.identity-person-card{min-width:0;padding:16px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.identity-person-card>header{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center}.identity-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--zel-primary);color:var(--zel-on-primary);font-size:12px;font-weight:850}.identity-person-card h3,.identity-person-card header p{margin:0}.identity-person-card header p,.identity-person-card header span{display:block;overflow:hidden;color:var(--zel-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-state{padding:5px 8px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-ink);font-size:12px;text-transform:capitalize}.account-state.active{background:var(--zel-success);color:var(--zel-on-success)}.account-state.suspended{background:var(--zel-danger);color:var(--zel-on-danger)}.account-state.invited{background:var(--zel-accent);color:var(--zel-on-accent)}.identity-role-list{min-height:var(--zel-touch-min);margin:14px 0 8px;display:flex;flex-wrap:wrap;gap:5px}.identity-role-list>span{min-height:var(--zel-touch-min);padding:0 0 0 10px;display:inline-flex;align-items:center;gap:5px;border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-primary);font-size:12px;font-weight:700}.identity-role-list>span.denied{background:var(--zel-danger);color:var(--zel-on-danger)}.identity-role-list button{width:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;border-radius:50%;background:transparent;color:inherit;font-size:18px}.identity-role-list small{color:var(--zel-muted)}.identity-actions{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.identity-actions label{min-width:155px;margin:0;flex:1}.identity-actions .northstar-button,.identity-actions .text-button{margin:0}.danger-text{color:var(--zel-danger)}.identity-state-form{margin-top:12px;padding:12px;border:1px solid var(--zel-line-strong);border-radius:10px;background:var(--zel-paper)}.identity-state-form textarea{width:100%;margin-top:6px;padding:10px 12px;resize:vertical;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.identity-state-form .form-actions{justify-content:flex-end}.identity-person-card footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--zel-line);color:var(--zel-muted);font-size:12px}.identity-dialog{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:20px;display:grid;place-items:center;background:color-mix(in srgb,var(--zel-ink) 65%,transparent)}.setup-code-card{width:min(650px,100%);padding:26px;border:2px solid var(--zel-primary);border-radius:18px;background:var(--zel-surface)}.setup-code-card h2{margin:5px 0;color:var(--zel-ink);font-size:26px;text-transform:none}.setup-code-card>p,.setup-code-card>small{color:var(--zel-muted)}.setup-code-card code{margin:18px 0;padding:16px;display:block;overflow-wrap:anywhere;border:1px dashed var(--zel-line-strong);border-radius:10px;background:var(--zel-soft);color:var(--zel-ink);font-size:15px}.setup-code-card .form-actions{justify-content:flex-end}.empty-state{padding:40px;text-align:center;border:1px dashed var(--zel-line-strong);border-radius:var(--zel-radius);color:var(--zel-muted)}.empty-state h3{color:var(--zel-ink)}@media (max-width: 980px){.identity-grid{grid-template-columns:1fr}}@media (max-width: 760px){.identity-page{padding-left:14px;padding-right:14px}.identity-metrics{grid-template-columns:1fr 1fr}.identity-toolbar{align-items:stretch;flex-direction:column}.identity-toolbar>div{width:100%;flex-direction:column}.identity-toolbar .northstar-button{width:100%}.identity-person-card>header{grid-template-columns:42px minmax(0,1fr)}.identity-person-card .account-state{grid-column:2;justify-self:start}.identity-actions{display:grid;grid-template-columns:1fr 1fr}.identity-actions label{grid-column:1 / -1}.setup-code-card{padding:19px}.setup-code-card .form-actions{align-items:stretch;flex-direction:column}}.account-settings{max-width:1180px}.settings-tabs{margin:24px 0 18px;display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid var(--zel-line)}.settings-tabs button{width:auto;min-height:var(--zel-touch-min);margin:0 0 -1px;padding:10px 16px;flex:none;border:0;border-bottom:3px solid transparent;border-radius:9px 9px 0 0;background:transparent;color:var(--zel-muted)}.settings-tabs button.active{border-bottom-color:var(--zel-primary);background:var(--zel-soft);color:var(--zel-primary)}.settings-panel{min-width:0;padding:22px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.settings-panel>div:first-child h2{margin:5px 0;color:var(--zel-ink);font-size:22px;text-transform:none;letter-spacing:0}.settings-panel>div:first-child p{max-width:720px;margin:0 0 19px;color:var(--zel-muted)}.settings-form{max-width:650px;display:grid;gap:13px}.settings-form label{margin:0;color:var(--zel-ink);font-size:13px;font-weight:700}.settings-form input,.settings-form select,.settings-form textarea{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-paper);color:var(--zel-ink);font:inherit}.settings-form input:disabled{background:var(--zel-soft);color:var(--zel-muted)}.settings-form textarea{resize:vertical}.settings-form button{justify-self:start}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.preference-table{margin:14px 0 18px;overflow:hidden;border:1px solid var(--zel-line);border-radius:12px}.preference-row{min-height:62px;padding:10px 13px;display:grid;grid-template-columns:minmax(230px,1fr) 100px 90px 90px;gap:9px;align-items:center;border-bottom:1px solid var(--zel-line)}.preference-row:last-child{border-bottom:0}.preference-row.heading{min-height:42px;background:var(--zel-soft);color:var(--zel-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.preference-row>span strong,.preference-row>span small{display:block}.preference-row>span small{margin-top:3px;color:var(--zel-muted);font-size:12px}.preference-row label{min-height:var(--zel-touch-min);margin:0;display:flex;align-items:center;gap:7px;font-size:12px}.preference-row input{width:20px;min-height:20px;margin:0}.always-on{color:var(--zel-success);font-size:12px;font-weight:750}.not-used{color:var(--zel-muted);font-size:12px}.device-list{margin:0;padding:0;list-style:none}.device-list li{padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--zel-line)}.device-list li:last-child{border-bottom:0}.device-list strong,.device-list small{display:block}.device-list small{margin-top:3px;color:var(--zel-muted);font-size:12px}.device-list button{width:auto;min-height:var(--zel-touch-min);margin:0}.plain-checks{margin:12px 0;padding-left:22px}.plain-checks li{margin:9px 0}.field-note{color:var(--zel-muted);font-size:12px}@media (max-width: 900px){.settings-grid{grid-template-columns:1fr}.preference-row{grid-template-columns:minmax(190px,1fr) 80px 75px 75px}}@media (max-width: 620px){.account-settings{padding-left:14px;padding-right:14px}.settings-panel{padding:15px}.preference-table{overflow-x:auto}.preference-row{min-width:610px}.settings-form button{width:100%}.device-list li{align-items:flex-start;flex-direction:column}.device-list button{width:100%}}.inbox-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.inbox-heading .northstar-button{flex:none}.conversation-compose{margin:18px 0;padding:20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.conversation-compose .section-heading{margin-bottom:14px}.conversation-compose h2{margin:4px 0 0;color:var(--zel-ink);font-size:21px;text-transform:none;letter-spacing:0}.compose-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compose-fields .span-all{grid-column:1 / -1}.compose-fields label{margin:0;font-size:13px;font-weight:700}.compose-fields input,.compose-fields select,.compose-fields textarea{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-paper);color:var(--zel-ink);font:inherit}.compose-fields textarea{resize:vertical}.conversation-compose>button{margin-top:13px}@media (max-width: 700px){.inbox-heading{align-items:stretch;flex-direction:column}.inbox-heading .northstar-button{width:100%}.compose-fields{grid-template-columns:1fr}.compose-fields .span-all{grid-column:auto}}.guardian-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.guardian-heading>label{width:min(300px,34vw);margin:8px 0 0}.guardian-heading select,.guardian-rule-form select,.guardian-rule-form input{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.guardian-hero{min-height:210px;margin:24px 0 16px;padding:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;border-radius:20px;background:var(--zel-primary);color:var(--zel-on-primary)}.guardian-hero h2{max-width:690px;margin:6px 0;color:inherit;font-size:clamp(25px,3vw,37px);line-height:1.08;text-transform:none;letter-spacing:-.03em}.guardian-hero span{opacity:.8;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.guardian-hero p{margin:0;opacity:.8}.guardian-hero .northstar-button{flex:none;background:var(--zel-surface);color:var(--zel-primary)}.guardian-metrics{margin:0 0 28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.guardian-metrics article{padding:17px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.guardian-metrics strong,.guardian-metrics span{display:block}.guardian-metrics strong{color:var(--zel-primary);font-size:29px}.guardian-metrics span{margin-top:3px;color:var(--zel-muted);font-size:12px}.guardian-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.guardian-course-grid .portal-card{display:flex;flex-direction:column}.guardian-course-grid .secondary-button{align-self:flex-start;margin-top:auto}.guardian-course-stats{margin:12px 0 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.guardian-course-stats span{padding:9px;border-radius:9px;background:var(--zel-soft);color:var(--zel-muted);font-size:12px}.guardian-course-stats b{display:block;color:var(--zel-ink);font-size:18px}.guardian-readonly{margin:18px 0;padding:12px 14px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft);color:var(--zel-muted);font-size:12px}.guardian-absence-list,.guardian-rule-list,.guardian-alert-list{margin:10px 0 0;padding:0;list-style:none}.guardian-absence-list li{padding:8px 0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--zel-line);font-size:13px}.guardian-alert-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px}.guardian-rule-form{margin:10px 0 16px;padding:14px;display:grid;grid-template-columns:1.4fr .7fr 1.2fr auto;gap:9px;align-items:end;border:1px solid var(--zel-line);border-radius:11px;background:var(--zel-soft)}.guardian-rule-form label{margin:0;font-size:12px}.guardian-rule-form .northstar-button{min-height:var(--zel-touch-min)}.guardian-rule-list li{padding:12px 0;display:flex;justify-content:space-between;gap:13px;border-top:1px solid var(--zel-line)}.guardian-rule-list strong,.guardian-rule-list span{display:block}.guardian-rule-list span{margin-top:3px;color:var(--zel-muted);font-size:12px}.guardian-rule-list li>div:last-child{display:flex;align-items:center;gap:7px}.guardian-rule-list .text-button{margin:0}.guardian-alert-list li{margin-bottom:9px;padding:13px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-paper)}.guardian-alert-list li.unread{border-color:var(--zel-primary);background:var(--zel-soft)}.guardian-alert-list p{margin:5px 0}.guardian-alert-list small{color:var(--zel-muted)}.guardian-alert-list .text-button{margin:7px 0 0}@media (max-width: 980px){.guardian-alert-layout{grid-template-columns:1fr}.guardian-rule-form{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.guardian-page{padding-left:14px;padding-right:14px}.guardian-heading,.guardian-hero{align-items:stretch;flex-direction:column}.guardian-heading>label{width:100%}.guardian-hero{min-height:0;padding:23px}.guardian-hero .northstar-button{width:100%}.guardian-metrics,.guardian-course-grid{grid-template-columns:1fr 1fr}.guardian-course-stats,.guardian-rule-form{grid-template-columns:1fr}.guardian-rule-list li{align-items:flex-start;flex-direction:column}}@media (max-width: 480px){.guardian-metrics,.guardian-course-grid{grid-template-columns:1fr}}.platform-login{min-height:100vh;padding:28px;display:grid;place-items:center;background:var(--zel-paper)}.platform-login-card{width:min(480px,100%);padding:30px;border:1px solid var(--zel-line);border-radius:20px;background:var(--zel-surface);box-shadow:var(--zel-shadow)}.platform-login-card .northstar-brand{margin:0}.platform-login-card h1{margin:15px 0 7px}.platform-login-card>p:not(.northstar-brand):not(.page-kicker){color:var(--zel-muted)}.platform-login-card form{margin:22px 0 16px}.platform-login-card a{color:var(--zel-primary);font-weight:750}.platform-shell{min-height:100vh;background:var(--zel-paper)}.platform-header{min-height:64px;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--zel-line);background:var(--zel-surface)}.platform-header>div{display:flex;align-items:center;gap:14px}.platform-header span{color:var(--zel-muted);font-size:13px}.platform-header strong{font-size:13px}.platform-header .header-link{width:auto;min-height:var(--zel-touch-min);margin:0;background:transparent;color:var(--zel-primary)}.platform-main{max-width:1260px;margin:0 auto;padding:36px 24px 90px}.platform-main>.northstar-title{margin:6px 0}.platform-panel{margin-top:16px;padding:21px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface);box-shadow:var(--zel-shadow-soft)}.platform-panel h2{color:var(--zel-ink);font-size:21px;text-transform:none;letter-spacing:0}.platform-panel .section-heading p{margin:2px 0 0;color:var(--zel-muted)}.platform-grant-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-items:end}.platform-grant-form label{margin:0;font-size:12px}.platform-grant-form select,.platform-grant-form input,.platform-grant-form textarea{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-paper);color:var(--zel-ink);font:inherit}.platform-grant-form textarea{resize:vertical}.platform-grant-form .wide-field{grid-column:1 / -1}.platform-grant-form .northstar-button{width:auto}.field-help{margin:0 0 9px;color:var(--zel-muted);font-size:12px}.platform-tenant-list,.platform-grants{display:grid;gap:9px}.platform-tenant-list>article{padding:15px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-paper)}.platform-tenant-list h3{margin:6px 0 0}.platform-tenant-list p{margin:1px 0;color:var(--zel-muted)}.platform-tenant-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.platform-tenant-actions .northstar-button{margin:0}.status-pill{padding:4px 8px;display:inline-flex;border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius-pill);color:var(--zel-ink);font-size:12px;font-weight:800;text-transform:capitalize}.status-pill.active{border-color:var(--zel-success);color:var(--zel-success)}.status-pill.suspended{border-color:var(--zel-danger);color:var(--zel-danger)}.platform-diagnostics{grid-column:1 / -1;margin:0;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-radius:10px;background:var(--zel-soft)}.platform-diagnostics div{padding:7px}.platform-diagnostics dt{color:var(--zel-muted);font-size:12px;text-transform:capitalize}.platform-diagnostics dd{margin:2px 0 0;color:var(--zel-primary);font-size:23px;font-weight:850}.platform-grants article{padding:13px;display:grid;grid-template-columns:1fr 1fr minmax(260px,2fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--zel-line)}.platform-grants span,.platform-grants small{color:var(--zel-muted)}.platform-grants .text-button{margin:0}.platform-audit{margin:0;padding:0;list-style:none}.platform-audit li{padding:10px 0;display:grid;grid-template-columns:1fr auto;gap:4px 12px;border-bottom:1px solid var(--zel-line)}.platform-audit span,.platform-audit small{color:var(--zel-muted);font-size:12px}.platform-audit small{grid-column:1 / -1}.platform-action-form{margin:16px 0;padding:18px;display:grid;grid-template-columns:minmax(190px,.7fr) minmax(280px,1.3fr);gap:13px 20px;align-items:start;border:2px solid var(--zel-primary);border-radius:14px;background:var(--zel-soft)}.platform-action-form>div:first-child,.platform-action-form label{display:grid;gap:5px}.platform-action-form span,.platform-action-form .field-help{color:var(--zel-muted)}.platform-action-form textarea{min-height:82px}.platform-action-form>div:last-child{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.platform-action-form .northstar-button{margin:0}.platform-action-form .field-help{grid-column:2;margin:0}.compact-action{margin-top:0}@media (max-width: 900px){.platform-grant-form{grid-template-columns:1fr 1fr}.platform-grants article{grid-template-columns:1fr 1fr}.platform-diagnostics{grid-template-columns:1fr 1fr}}@media (max-width: 650px){.platform-header{align-items:flex-start;flex-direction:column}.platform-header>div{width:100%;justify-content:space-between}.platform-header span{display:none}.platform-main{padding:24px 14px 80px}.platform-grant-form,.platform-action-form{grid-template-columns:1fr}.platform-grant-form .wide-field,.platform-action-form .field-help,.platform-action-form>div:last-child{grid-column:auto}.platform-tenant-list>article{grid-template-columns:1fr}.platform-tenant-actions{justify-content:stretch}.platform-tenant-actions .northstar-button{width:100%}.platform-grants article{grid-template-columns:1fr}.platform-diagnostics{grid-template-columns:1fr 1fr}}.reports-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.reports-heading>label{width:min(310px,35vw);margin:7px 0 0}.reports-heading select,.report-filters select{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.identity-metrics .report-time{font-size:22px}.reports-method{margin:0 0 17px;padding:13px 15px;border:1px solid var(--zel-line);border-radius:11px;background:var(--zel-soft)}.reports-method p{margin:3px 0 0;color:var(--zel-muted);font-size:13px}.course-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.course-report-grid article{padding:17px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.course-report-grid article>span{color:var(--zel-primary);font-size:12px;font-weight:850}.course-report-grid h2{margin:4px 0 12px;color:var(--zel-ink);font-size:18px;text-transform:none;letter-spacing:0}.course-report-grid dl{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.course-report-grid dl div{padding:8px;border-radius:8px;background:var(--zel-soft)}.course-report-grid dt{color:var(--zel-muted);font-size:12px}.course-report-grid dd{margin:2px 0 0;color:var(--zel-ink);font-weight:800}.course-report-grid article>b{margin-top:10px;display:block;color:var(--zel-danger);font-size:12px}.report-table-panel{margin-top:16px;padding:20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.report-table-panel .section-heading h2{color:var(--zel-ink);font-size:21px;text-transform:none;letter-spacing:0}.report-table-panel .section-heading p{margin:2px 0 0;color:var(--zel-muted)}.report-table-panel .section-heading .northstar-button{margin:0}.report-filters{margin:15px 0 12px;padding:11px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;border-radius:10px;background:var(--zel-soft)}.report-filters label{margin:0;font-size:12px}.report-filters input{margin-top:6px}.report-table{overflow-x:auto;border:1px solid var(--zel-line);border-radius:10px}.report-row{min-width:920px;padding:11px 12px;display:grid;grid-template-columns:minmax(250px,1.4fr) 110px 100px 105px minmax(230px,1.2fr);gap:10px;align-items:center;border-bottom:1px solid var(--zel-line)}.report-row:last-child{border-bottom:0}.report-row.head{min-height:40px;background:var(--zel-soft);color:var(--zel-muted);font-size:12px;font-weight:800;text-transform:uppercase}.report-row strong,.report-row small{display:block}.report-row small{margin-top:3px;color:var(--zel-muted);font-size:12px}.report-status{padding:4px 8px;display:inline-flex;border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius-pill);color:var(--zel-ink);font-size:12px}.report-status.needs_attention{border-color:var(--zel-danger);color:var(--zel-danger)}.report-status.on_track{border-color:var(--zel-success);color:var(--zel-success)}@media (max-width: 800px){.reports-heading{flex-direction:column}.reports-heading>label{width:100%}.course-report-grid,.report-filters{grid-template-columns:1fr}}@media (max-width: 520px){.course-report-grid dl{grid-template-columns:1fr 1fr}.report-table-panel{padding:14px}.report-table-panel .section-heading{align-items:stretch;flex-direction:column}.report-table-panel .section-heading .northstar-button{width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.group-workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.group-workspace-head>label{width:min(390px,42vw);margin:0}.group-workspace-head select,.group-set-form input,.group-actions-panel input,.unassigned-list select{width:100%;min-height:var(--zel-touch-min);margin-top:6px;padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}.group-toolbar{margin:24px 0 14px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.group-toolbar strong,.group-toolbar span{display:block}.group-toolbar span{margin-top:3px;color:var(--zel-muted);font-size:12px}.group-toolbar .northstar-button{flex:none;margin:0}.group-set-form{margin:0 0 16px;padding:18px;display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(130px,.7fr)) auto;gap:12px;align-items:end;border:2px solid var(--zel-primary);border-radius:var(--zel-radius);background:var(--zel-soft)}.group-set-form>div strong,.group-set-form>div span{display:block}.group-set-form>div span{margin-top:4px;color:var(--zel-muted);font-size:12px}.group-set-form label{margin:0;font-size:12px}.group-set-form label small{color:var(--zel-muted)}.group-set-form .group-check{min-height:var(--zel-touch-min);display:flex;align-items:center;gap:8px}.group-set-form .group-check input{width:20px;min-height:20px;margin:0}.group-set-form .northstar-button{margin:0}.group-empty{padding:36px;border:1px dashed var(--zel-line-strong);border-radius:var(--zel-radius);background:var(--zel-surface);text-align:center}.group-empty strong{color:var(--zel-ink);font-size:18px}.group-empty p{color:var(--zel-muted)}.group-set-switcher{margin:16px 0;display:flex;gap:8px;overflow-x:auto}.group-set-switcher button{min-width:170px;padding:11px 13px;border:1px solid var(--zel-line);border-radius:11px;background:var(--zel-surface);color:var(--zel-ink);font:inherit;font-weight:800;text-align:left}.group-set-switcher button.active{border-color:var(--zel-primary);background:var(--zel-soft);color:var(--zel-primary)}.group-set-switcher small{margin-top:3px;display:block;color:var(--zel-muted);font-size:12px;font-weight:600}.group-summary{margin:0 0 14px;display:grid;grid-template-columns:repeat(4,minmax(100px,.55fr)) minmax(260px,1.8fr);gap:9px}.group-summary article,.group-summary>div{padding:14px;border:1px solid var(--zel-line);border-radius:11px;background:var(--zel-surface)}.group-summary article strong,.group-summary article span,.group-summary>div span,.group-summary>div small{display:block}.group-summary article strong{color:var(--zel-primary);font-size:26px}.group-summary article span,.group-summary>div small{color:var(--zel-muted);font-size:12px}.group-summary article.attention{border-color:var(--zel-danger)}.group-summary article.attention strong{color:var(--zel-danger)}.group-summary>div{display:grid;align-content:center;gap:4px}.group-summary>div span{font-weight:800}.group-actions-panel{margin:0 0 14px;padding:13px;display:flex;justify-content:space-between;align-items:end;gap:13px;border:1px solid var(--zel-line);border-radius:11px;background:var(--zel-surface)}.group-actions-panel form{display:flex;align-items:end;gap:8px}.group-actions-panel label{min-width:280px;margin:0;font-size:12px}.group-actions-panel .northstar-button{margin:0;white-space:nowrap}.unassigned-panel{margin:0 0 14px;padding:18px;border:1px solid var(--zel-danger);border-radius:var(--zel-radius);background:var(--zel-soft)}.unassigned-panel h2{margin:0;color:var(--zel-ink);font-size:20px;text-transform:none;letter-spacing:0}.unassigned-panel>div:first-child p{margin:3px 0 14px;color:var(--zel-muted)}.unassigned-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.unassigned-list article{padding:9px 11px;display:grid;grid-template-columns:36px minmax(130px,1fr) minmax(180px,.9fr) auto;align-items:center;gap:9px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-surface)}.unassigned-list .teacher-avatar,.group-card-grid .teacher-avatar{width:34px;height:34px}.unassigned-list label,.unassigned-list select,.unassigned-list .text-button{margin:0}.group-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.group-card-grid>article{min-width:0;padding:15px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.group-card-grid>article.empty-card{border-style:dashed}.group-card-grid header{display:flex;justify-content:space-between;gap:12px}.group-card-grid h2{margin:0;color:var(--zel-ink);font-size:18px;text-transform:none;letter-spacing:0}.group-card-grid header span{color:var(--zel-muted);font-size:12px}.group-card-grid header b{color:var(--zel-danger);font-size:12px}.group-card-grid ul{margin:12px 0 0;padding:0;list-style:none}.group-card-grid li{padding:8px 0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--zel-line)}.group-card-grid li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-card-grid .text-button{margin:0}.group-card-grid>article>p{color:var(--zel-muted);font-size:12px}@media (max-width: 1080px){.group-set-form{grid-template-columns:1fr 1fr 1fr}.group-set-form>div{grid-column:1 / -1}.group-summary{grid-template-columns:repeat(4,1fr)}.group-summary>div{grid-column:1 / -1}.unassigned-list{grid-template-columns:1fr}.group-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.group-workspace{padding-left:14px;padding-right:14px}.group-workspace-head,.group-toolbar,.group-actions-panel{align-items:stretch;flex-direction:column}.group-workspace-head>label{width:100%}.group-toolbar .northstar-button,.group-actions-panel .northstar-button{width:100%}.group-set-form{grid-template-columns:1fr}.group-set-form>div{grid-column:auto}.group-summary{grid-template-columns:1fr 1fr}.group-summary>div{grid-column:1 / -1}.group-actions-panel form{align-items:stretch;flex-direction:column}.group-actions-panel label{min-width:0}.unassigned-list article{grid-template-columns:36px minmax(0,1fr) auto}.unassigned-list label{grid-column:1 / -1}.group-card-grid{grid-template-columns:1fr}}.course-home-page h2{margin:4px 0 10px;color:var(--zel-ink);font-size:17px;font-weight:700;text-transform:none;letter-spacing:-.01em}.course-home-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin:22px 0;align-items:stretch}.course-home-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;margin:0 0 22px;align-items:start}.course-home-rail{display:grid;gap:16px;align-content:start}.course-home-bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.continue-card{display:flex;align-items:center;gap:18px}.continue-card h2{margin:4px 0 6px;font-size:20px;text-transform:none;letter-spacing:-.01em}.continue-info{flex:1;min-width:0}.continue-card .northstar-button{flex:none}.progress-ring-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.progress-ring-wrap{position:relative;width:120px;height:120px;margin:2px 0 4px}.progress-ring-wrap svg{width:120px;height:120px}.progress-ring-track{fill:none;stroke:var(--zel-soft);stroke-width:10}.progress-ring-fill{fill:none;stroke:var(--zel-primary);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .2s}.progress-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring-label b{font-size:26px;line-height:1.1;color:var(--zel-ink)}.progress-ring-label span{font-size:12px;color:var(--zel-faint)}.mod-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mod-row{display:flex;gap:12px;padding:12px 8px;border-radius:8px;align-items:flex-start}.mod-row+.mod-row{border-top:1px solid var(--zel-line)}.mod-row.current{background:var(--zel-soft);border-top-color:transparent;border-left:3px solid var(--zel-primary);padding-left:6px;margin:2px 0}.mod-row.current+.mod-row{border-top:1px solid var(--zel-line)}.mod-icon{width:22px;height:22px;flex:none;margin-top:1px;color:var(--zel-muted)}.mod-row.current .mod-icon{color:var(--zel-primary)}.mod-body{flex:1;min-width:0}.mod-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--zel-faint);font-weight:700;margin:0 0 2px}.mod-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.mod-title{font-size:14.5px;font-weight:600;margin:0}.here-badge{font-size:12px;font-weight:700;color:var(--zel-primary);background:var(--zel-surface);border:1px solid var(--zel-primary);border-radius:var(--zel-radius-pill);padding:2px 8px;margin-left:8px}.mod-workload{font-size:12px;color:var(--zel-faint);white-space:nowrap;flex:none}.mod-body>.pill.status{margin-top:8px}.progress-track.sm{height:5px;margin-top:7px}.lesson-list{list-style:none;margin:11px 0 0;padding-left:34px;display:flex;flex-direction:column;gap:8px}button.lesson-row-button,button.due-row-button{width:100%;margin:0;padding:8px;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:var(--zel-ink);border:1px solid transparent;border-radius:8px;font:inherit;min-height:var(--zel-touch-min)}button.lesson-row-button:hover,button.due-row-button:hover{background:var(--zel-soft);border-color:var(--zel-line)}.lesson-info{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.lesson-title{font-size:13px;color:var(--zel-ink)}.lesson-duration{font-size:12px;color:var(--zel-faint)}.due-rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.due-info{flex:1;min-width:0}.announcements-rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.announcement-row{padding:8px;border-radius:8px}.announcement-row+.announcement-row{border-top:1px solid var(--zel-line);padding-top:12px}.announcement-title{font-size:13px;font-weight:600;color:var(--zel-ink);margin:0 0 3px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.announcement-preview{margin:0 0 4px;font-size:12.5px}.announcement-date{margin:0;font-size:12px;color:var(--zel-faint)}.recommended-rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.recommended-row{padding:8px;border-radius:8px}.recommended-row+.recommended-row{border-top:1px solid var(--zel-line);padding-top:12px}.recommended-label{font-size:13px;font-weight:600;color:var(--zel-ink);margin:0 0 3px}.recommended-why-toggle{padding:0;font-size:12px}.recommended-why{margin:4px 0 0;font-size:12.5px}.mastery-kicker{color:var(--zel-muted);font-size:12px;margin:0 0 13px}.mastery-groups{display:flex;flex-direction:column;gap:14px}.mastery-card .mastery-group h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.mastery-group.strong h3{color:var(--zel-success)}.mastery-group.dev h3{color:var(--zel-primary)}.mastery-group.weak h3{color:var(--zel-danger)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.mastery-chip{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:var(--zel-radius-pill);border:1px solid var(--zel-line-strong);color:var(--zel-ink);background:var(--zel-paper)}.mastery-chip.strong{border-color:var(--zel-success);color:var(--zel-success)}.mastery-chip.dev{border-color:var(--zel-primary);color:var(--zel-primary)}.mastery-chip.weak{border-color:var(--zel-danger);color:var(--zel-danger)}.table-wrap{overflow-x:auto}.course-grades-table{width:100%;border-collapse:collapse;font-size:12.5px}.course-grades-table th{text-align:left;font-weight:700;color:var(--zel-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:8px;border-bottom:1px solid var(--zel-line);white-space:nowrap}.course-grades-table td{padding:10px 8px;border-bottom:1px solid var(--zel-line);color:var(--zel-ink);vertical-align:top}.course-grades-table tr:last-child td{border-bottom:0}.course-grades-table th.grade-num,.course-grades-table td.grade-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 900px){.course-home-hero,.course-home-main{grid-template-columns:1fr}}@media (max-width: 640px){.continue-card{flex-direction:column;align-items:stretch}.continue-card .northstar-button{width:100%}}.mastery-mini-list>div.mastery-item{display:block}.mastery-item .mastery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.mastery-item .mastery-head.static{cursor:default}.mastery-item .mastery-head strong,.mastery-item .mastery-head small{display:block}.mastery-item .mastery-head small{margin-top:2px;color:var(--zel-muted)}.mastery-item .mastery-side{display:flex;align-items:center;gap:8px;flex:none}.mastery-item .chev{color:var(--zel-muted);transition:transform .12s ease}.mastery-item .chev.open{transform:rotate(180deg)}.mastery-item .mastery-evidence{margin-top:10px;border-top:1px solid var(--zel-line)}.mastery-item .mastery-evidence .compact-results{margin:0}.mastery-item .mnote{margin:8px 0 0;font-size:12px;color:var(--zel-muted)}.compact-results .evidence-static{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 0;color:inherit}.compact-results .evidence-static strong,.compact-results .evidence-static small{display:block}.compact-results .evidence-static small{color:var(--zel-muted);font-size:12px}.course-about-page h2{margin:4px 0 10px;color:var(--zel-ink);font-size:17px;font-weight:700;text-transform:none;letter-spacing:-.01em}.course-about-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin:22px 0 0;align-items:start}.course-about-main{display:grid;gap:16px}.course-about-hero{padding:20px 0 4px}.about-chip-row{margin:12px 0 0}.about-hero-meta{margin-top:10px}.about-teacher{display:flex;align-items:center;gap:12px;margin-top:16px}.about-teacher p{margin:0}.about-cert-line{display:flex;align-items:center;gap:7px;margin-top:14px;color:var(--zel-success);font-size:13px;font-weight:650}.learn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 20px}.learn-item{display:flex;align-items:flex-start;gap:9px}.learn-item p{margin:0;font-size:14px}.learn-item svg{flex:none;margin-top:2px;color:var(--zel-success)}.card-sub{margin:-6px 0 14px;color:var(--zel-muted);font-size:12.5px}.includes-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}.includes-list li{padding-left:20px;position:relative;font-size:14px;color:var(--zel-ink)}.includes-list li:before{content:"•";position:absolute;left:4px;color:var(--zel-primary);font-weight:800}.course-about-enrol{position:sticky;top:18px;align-self:start}.btn-block{width:100%}.about-enrol-secondary{width:100%;margin-top:8px}.progress-block{margin-top:16px}.about-enrol-meta{margin-top:12px;padding-top:12px;border-top:1px solid var(--zel-line)}.pill.progress{background:var(--zel-primary);color:var(--zel-on-primary)}@media (max-width: 900px){.course-about-layout{grid-template-columns:1fr}.course-about-enrol{position:static}}.lesson-player{max-width:1400px;margin:0 auto;padding:20px 20px 90px;display:grid;gap:18px;align-items:start;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"topbar topbar" "canvas rail" "hint rail" "completion rail" "tabs rail" "prevnext rail"}.lesson-player.mode-focus{max-width:1600px;gap:0;grid-template-columns:1fr;grid-template-areas:"ftopbar" "canvas" "ffooter"}.lesson-player.mode-focus .lp-default-topbar,.lesson-player.mode-focus .lp-hint-line,.lesson-player.mode-focus .lp-completion,.lesson-player.mode-focus .lp-tabs-block,.lesson-player.mode-focus .lp-prevnext-bar,.lesson-player.mode-focus .lp-rail{display:none}.lesson-player.mode-focus .lp-focus-topbar{display:flex}.lesson-player.mode-focus .lp-focus-footer{display:block}.lp-default-topbar{grid-area:topbar;position:sticky;top:0;z-index:6;min-height:64px;padding:8px 4px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--zel-paper);border-bottom:1px solid var(--zel-line)}.lp-icon-btn{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--zel-muted);border:0;border-radius:9px}.lp-icon-btn svg{width:18px;height:18px}.lp-icon-btn:hover{background:var(--zel-soft);color:var(--zel-ink)}.lp-topbar-titles{min-width:0;max-width:380px;display:flex;flex-direction:column;gap:2px}.lp-course-name{margin:0;color:var(--zel-muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-lesson-name{margin:0;font-size:16px;font-weight:700;color:var(--zel-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-spacer{flex:1}.lp-topbar-progress{display:flex;align-items:center;gap:10px;flex:none}.lp-mini-bar{width:120px}.lp-progress-label{font-size:12px;color:var(--zel-muted);white-space:nowrap}.lp-topbar-actions{display:flex;align-items:center;gap:8px;flex:none}.lp-focus-btn{gap:8px}.lp-focus-btn svg{width:16px;height:16px}.lp-canvas-zone{grid-area:canvas;position:relative;border-radius:10px;overflow:hidden}.lp-canvas{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--zel-ink);color:var(--zel-paper)}.lesson-player.mode-focus .lp-canvas{aspect-ratio:auto;height:min(72vh,660px);min-height:380px}.lp-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:var(--zel-ink)}.lp-video-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--zel-paper);font-size:14px;text-align:center;padding:20px}.lp-play-big-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.lp-play-big-btn{width:72px;height:72px;min-height:72px;margin:0;padding:0;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--zel-paper) 88%,transparent);border:1.5px solid color-mix(in srgb,var(--zel-paper) 55%,transparent);color:var(--zel-ink)}.lp-play-big-btn:hover{background:var(--zel-paper)}.lp-play-big-btn svg{width:28px;height:28px}.lp-checkpoint-toast{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:2;max-width:88%;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;background:var(--zel-accent);color:var(--zel-on-accent);font-size:12.5px;font-weight:700;box-shadow:0 4px 14px color-mix(in srgb,var(--zel-ink) 35%,transparent)}.lp-resume-note{position:absolute;bottom:66px;left:16px;z-index:2;margin:0;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--zel-ink) 62%,transparent);color:var(--zel-paper);font-size:12px}.lp-video-controls{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:34px 14px 10px;display:flex;flex-direction:column;gap:9px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--zel-ink) 82%,transparent) 60%)}.lp-scrubber{position:relative;height:16px;display:flex;align-items:center;cursor:pointer}.lp-scrubber-track{position:absolute;left:0;right:0;top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:color-mix(in srgb,var(--zel-paper) 26%,transparent)}.lp-scrubber-buffered{position:absolute;top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:color-mix(in srgb,var(--zel-paper) 48%,transparent)}.lp-scrubber-watched{position:absolute;top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:var(--zel-primary)}.lp-scrubber-cue{position:absolute;top:50%;width:10px;height:10px;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px;background:var(--zel-accent);border:1.5px solid var(--zel-ink)}.lp-scrubber:focus-visible{outline:3px solid var(--zel-focus);outline-offset:3px;border-radius:4px}.lp-vctrl-row{display:flex;align-items:center;gap:2px}.lp-vctrl-btn{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--zel-paper);border:0;border-radius:9px}.lp-vctrl-btn svg{width:18px;height:18px}.lp-vctrl-btn:hover{background:color-mix(in srgb,var(--zel-paper) 16%,transparent)}.lp-vctrl-time{margin:0 8px;color:var(--zel-paper);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.lp-vctrl-spacer{flex:1}.lp-speed-chip{flex:none;width:auto;min-height:32px;margin:0 2px 0 0;padding:6px 10px;border:0;border-radius:6px;background:color-mix(in srgb,var(--zel-paper) 88%,transparent);color:var(--zel-ink);font-size:12px;font-weight:700}.lp-cc-chip{flex:none;width:auto;min-height:32px;margin:0 2px 0 0;padding:6px 5px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:color-mix(in srgb,var(--zel-paper) 60%,transparent);font-size:12px;font-weight:700}.lp-focus-chrome{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:none;pointer-events:none}.lesson-player.mode-focus .lp-focus-chrome{display:block}.lp-icon-rail{position:absolute;top:0;right:0;bottom:0;width:64px;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;background:color-mix(in srgb,var(--zel-ink) 72%,transparent);border-left:1px solid color-mix(in srgb,var(--zel-paper) 18%,transparent)}.lp-rail-btn{width:56px;height:44px;min-height:44px;margin:0;padding:0 2px;flex:none;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:color-mix(in srgb,var(--zel-paper) 78%,transparent);border:0;border-radius:8px}.lp-rail-btn svg{width:18px;height:18px;flex:none}.lp-rail-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.05}.lp-rail-btn:hover{background:color-mix(in srgb,var(--zel-paper) 12%,transparent)}.lp-rail-btn.on{background:var(--zel-primary);color:var(--zel-on-primary)}.lp-flyout{position:absolute;top:0;right:64px;bottom:0;width:340px;pointer-events:auto;display:flex;flex-direction:column;overflow:hidden;background:var(--zel-surface);color:var(--zel-ink);box-shadow:-8px 0 24px color-mix(in srgb,var(--zel-ink) 35%,transparent)}.lp-flyout-head{flex:none;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--zel-line)}.lp-flyout-head h2{margin:0;font-size:14.5px;text-transform:none;color:var(--zel-ink)}.lp-flyout-close{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--zel-muted);border:0;border-radius:9px}.lp-flyout-close:hover{background:var(--zel-soft);color:var(--zel-ink)}.lp-flyout-close svg{width:16px;height:16px}.lp-flyout-body{flex:1;overflow-y:auto;padding:6px 10px 12px}.lp-hint-line{grid-area:hint;margin:0;font-size:12px;color:var(--zel-faint)}.lp-completion{grid-area:completion}.lp-completion-title{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px;color:var(--zel-ink)}.lp-req-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--zel-line)}.lp-req-row:last-of-type{border-bottom:0}.lp-req-text{font-size:13.5px;color:var(--zel-ink)}.lp-req-foot{margin:10px 0 0;font-size:12px;color:var(--zel-faint)}.lp-tabs-block{grid-area:tabs;display:grid;gap:0}.lp-tabs-block .workspace-tabs{margin:0 0 -1px}.lp-tabs-block .portal-card{border-radius:0 0 var(--zel-radius) var(--zel-radius)}.lp-prevnext-bar{grid-area:prevnext;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.lp-pn-btn{max-width:400px;gap:8px}.lp-pn-btn svg{width:16px;height:16px}.lp-rail{grid-area:rail;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto}.lp-rail h2{margin:4px 0 10px;font-size:14.5px;color:var(--zel-ink);text-transform:none}button.lesson-row-button.current{background:var(--zel-soft);border-color:var(--zel-primary)}.lp-rail .lesson-row-button,.lp-flyout-body .lesson-row-button{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:3px;align-items:start}.lp-rail .kindtag,.lp-flyout-body .kindtag{grid-row:1;grid-column:1;justify-self:start;padding-top:2px}.lp-rail .lesson-row-button>.pill.status,.lp-flyout-body .lesson-row-button>.pill.status{grid-row:1;grid-column:2;justify-self:end}.lp-rail .lesson-info,.lp-flyout-body .lesson-info{grid-row:2;grid-column:1 / -1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.lp-rail .lesson-title,.lp-flyout-body .lesson-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;overflow-wrap:normal;word-break:normal}.lp-rail .lesson-row-button .here-badge,.lp-flyout-body .lesson-row-button .here-badge{margin-left:0}.lp-focus-topbar{grid-area:ftopbar;display:none;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:var(--zel-ink);color:var(--zel-paper)}.lp-icon-btn-dark{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);margin:0;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--zel-paper) 88%,transparent);color:var(--zel-ink);border:0;border-radius:9px}.lp-icon-btn-dark:hover{background:var(--zel-paper)}.lp-icon-btn-dark svg{width:18px;height:18px}.lp-focus-titles{min-width:0;max-width:360px;display:flex;flex-direction:column;gap:2px}.lp-focus-course{margin:0;font-size:12px;color:color-mix(in srgb,var(--zel-paper) 65%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-focus-lesson{margin:0;font-size:14.5px;font-weight:700;color:var(--zel-paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-focus-progress{display:flex;align-items:center;gap:8px;flex:none}.lp-focus-progress .lp-mini-bar{width:100px;background:color-mix(in srgb,var(--zel-paper) 22%,transparent)}.lp-focus-progress .lp-progress-label{color:color-mix(in srgb,var(--zel-paper) 75%,transparent)}.lp-btn-ghost-dark{width:auto;flex:none;min-height:40px;margin:0;padding:9px 15px;display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--zel-paper) 88%,transparent);color:var(--zel-ink);border:1px solid color-mix(in srgb,var(--zel-paper) 32%,transparent);border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.lp-btn-ghost-dark:hover{background:var(--zel-paper)}.lp-btn-ghost-dark svg{width:15px;height:15px}.lp-focus-footer{grid-area:ffooter;display:none}.lp-completion-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 16px 24px;padding:11px 16px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-surface)}.lp-completion-label{font-size:12px;font-weight:700;color:var(--zel-muted)}html.lp-focus-active .product-header,html.lp-focus-active .product-sidebar,html.lp-focus-active .mobile-tabs{display:none}html.lp-focus-active .product-layout{grid-template-columns:1fr}html.lp-focus-active .app-main{min-height:100vh}@media (max-width: 980px){.lesson-player{grid-template-columns:1fr;grid-template-areas:"topbar" "canvas" "hint" "completion" "tabs" "rail" "prevnext"}.lp-rail{position:static;max-height:none}.lp-default-topbar{position:static}}@media (max-width: 640px){.lp-topbar-progress{order:3;flex:1 1 100%}.lp-prevnext-bar{flex-direction:column;align-items:stretch}.lp-pn-btn{max-width:none}}.lp-bookmark-btn{gap:8px}.lp-bookmark-btn svg{flex:none}.lp-bookmark-btn.on,.lp-btn-ghost-dark.lp-bookmark-btn.on{background:var(--zel-primary);color:var(--zel-on-primary);border-color:var(--zel-primary)}.lp-bm-flag{display:inline-flex;align-items:center;margin-right:5px;color:var(--zel-primary);vertical-align:-2px}.lp-transcript-filter{display:block;margin:0 0 14px}.lp-transcript-filter input{margin-top:0}.lp-transcript-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:440px;overflow-y:auto}.lp-transcript-line{width:100%;margin:0;padding:9px 10px;min-height:var(--zel-touch-min);display:flex;align-items:baseline;gap:12px;text-align:left;background:transparent;color:var(--zel-ink);border:1px solid transparent;border-radius:8px;font:inherit}.lp-transcript-line:hover{background:var(--zel-soft);border-color:var(--zel-line)}.lp-transcript-line.current{background:var(--zel-soft);border-color:var(--zel-primary)}.lp-transcript-time{flex:none;min-width:46px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--zel-faint)}.lp-transcript-line.current .lp-transcript-time{color:var(--zel-primary);font-weight:700}.lp-transcript-text{flex:1;min-width:0;font-size:14px}.lp-notes-toolbar{margin:0 0 14px}.lp-notes-compose{margin:0 0 16px;padding:14px;border:1px solid var(--zel-line-strong);border-radius:10px;background:var(--zel-paper)}.lp-note-anchor{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--zel-primary)}.lp-notes-compose textarea{resize:vertical}.lp-notes-compose-actions{display:flex;gap:8px;margin-top:10px}.lp-note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.lp-note-card{padding:12px 14px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-paper)}.lp-note-head{margin:0 0 6px}.lp-note-chip{width:auto;margin:0;padding:6px 12px;border:1px solid var(--zel-primary);border-radius:var(--zel-radius-pill);background:var(--zel-surface);color:var(--zel-primary);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.lp-note-chip:hover{background:var(--zel-soft)}span.lp-note-chip.general{display:inline-block;border-color:var(--zel-line-strong);color:var(--zel-muted)}.lp-note-text{margin:0;font-size:14px;color:var(--zel-ink);white-space:pre-wrap}.lp-note-actions{display:flex;gap:8px;margin-top:10px}.lp-notes button.danger-armed{border-color:var(--zel-danger);background:var(--zel-danger);color:var(--zel-on-danger)}.course-search-card{margin:0 0 22px}.course-search-field{display:block;margin:10px 0 0}.course-search-field input{margin-top:0}.course-search-hint{margin-top:12px}.course-search-results{margin-top:16px;display:flex;flex-direction:column;gap:18px}.course-search-group h3{margin:0 0 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--zel-muted)}.course-search-count{font-weight:700;color:var(--zel-faint)}.course-search-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.course-search-result{width:100%;margin:0;padding:10px;min-height:var(--zel-touch-min);display:flex;align-items:flex-start;gap:10px;text-align:left;background:var(--zel-paper);color:var(--zel-ink);border:1px solid var(--zel-line);border-radius:9px;font:inherit}.course-search-result:hover{background:var(--zel-soft);border-color:var(--zel-line-strong)}.course-search-result-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.course-search-result-title{font-size:14px;font-weight:650;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.course-search-time{font-size:12px;font-weight:700;color:var(--zel-primary);font-variant-numeric:tabular-nums}.course-search-snippet{font-size:12.5px;color:var(--zel-muted)}@media (max-width: 640px){.lp-notes-compose-actions,.lp-note-actions{flex-wrap:wrap}}.ti-section{margin:0 0 26px}.ti-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.ti-risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ti-risk-card{display:flex;flex-direction:column;gap:10px}.ti-risk-head{display:flex;align-items:center;gap:10px}.ti-risk-head strong{flex:1;min-width:0;font-size:15px}.ti-risk-why{margin:0;font-size:13.5px;color:var(--zel-ink)}.ti-risk-evidence{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.ti-risk-evidence li{font-size:12px;color:var(--zel-muted)}.ti-risk-logged{margin:0;padding:7px 10px;border:1px solid var(--zel-line-strong);border-radius:var(--zel-radius-pill);background:var(--zel-soft);color:var(--zel-muted);font-size:12px;font-weight:700}.ti-risk-outcomes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--zel-muted)}.ti-risk-outcomes .text-button.compact{padding:6px 8px}.ti-risk-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.ti-risk-actions .northstar-button{width:auto;padding:8px 12px;font-size:12px}.ti-panel-form{margin:2px 0 0;padding:12px 14px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--zel-line-strong);border-radius:10px;background:var(--zel-paper)}.ti-panel-form h3{margin:0;font-size:14px}.ti-panel-form label{margin:0;display:block;font-size:12px;color:var(--zel-muted)}.ti-panel-form input,.ti-panel-form select,.ti-panel-form textarea{margin-top:4px}.ti-panel-form textarea{resize:vertical}.ti-quiz-picker{margin:0;flex:none}.ti-quiz-picker select{margin-top:4px;min-width:220px}.ti-item-table{min-width:760px;width:100%;border-collapse:collapse;font-size:13px}.ti-item-table th,.ti-item-table td{padding:11px;border-bottom:1px solid var(--zel-line);text-align:left;vertical-align:top}.ti-item-table thead th{color:var(--zel-muted);font-size:12px}.ti-q-cell{display:flex;flex-direction:column;gap:3px;max-width:320px}.ti-q-no{color:var(--zel-primary);font-size:12px;font-weight:800}.ti-q-stem{color:var(--zel-ink)}.ti-pbar{display:flex;flex-direction:column;gap:5px;min-width:130px}.ti-pbar-track{width:100%;height:8px;border-radius:999px;background:var(--zel-soft);overflow:hidden}.ti-pbar-fill{display:block;height:100%;border-radius:999px;background:var(--zel-primary)}.ti-pbar-val{font-size:12px;color:var(--zel-muted);font-variant-numeric:tabular-nums}.ti-discr{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-variant-numeric:tabular-nums}.ti-discr.up{color:var(--zel-success)}.ti-discr.down{color:var(--zel-danger)}.ti-discr:before{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent}.ti-discr.up:before{border-bottom:6px solid currentColor}.ti-discr.down:before{border-top:6px solid currentColor}.ti-discr-note{display:block;margin-top:3px;color:var(--zel-muted);font-size:12px}.ti-flag-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--zel-radius-pill);background:var(--zel-danger);color:var(--zel-on-danger);font-size:12px;font-weight:800}.ti-flag-reason{display:block;margin-top:5px;color:var(--zel-muted);font-size:12px}.ti-no-flag{color:var(--zel-faint)}.gradebook-scroll:has(.ti-item-table),.gradebook-scroll:has(.ti-heat-table){border-radius:var(--zel-radius)}.ti-heat-legend{margin:8px 0 14px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:16px}.ti-heat-legend li{display:inline-flex;align-items:center;gap:6px;color:var(--zel-muted);font-size:12px;font-weight:700}.ti-heat-table{min-width:460px;border-collapse:collapse;font-size:12px}.ti-heat-table th,.ti-heat-table td{padding:9px;border-bottom:1px solid var(--zel-line);text-align:center}.ti-heat-table thead th{color:var(--zel-muted);font-weight:700}.ti-heat-table thead th:first-child,.ti-heat-table tbody th{text-align:left;color:var(--zel-ink);font-weight:650;white-space:nowrap}.ti-heat-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--zel-surface)}.ti-heat-table tbody th{position:sticky;left:0;z-index:1;background:var(--zel-surface)}.ti-heat-cell.strong{color:var(--zel-success)}.ti-heat-cell.dev{color:var(--zel-accent)}.ti-heat-cell.weak{color:var(--zel-danger)}.ti-heat-none{color:var(--zel-faint);font-size:12px}.ti-funnel{display:flex;flex-direction:column;gap:12px}.ti-funnel-row{display:grid;grid-template-columns:130px minmax(0,1fr) 40px;align-items:center;gap:12px}.ti-funnel-label{font-size:12.5px;color:var(--zel-ink)}.ti-funnel-bar-track{width:100%;height:12px;border-radius:999px;background:var(--zel-soft);overflow:hidden}.ti-funnel-bar-fill{display:block;height:100%;border-radius:999px;background:var(--zel-primary)}.ti-funnel-count{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.ti-funnel-drop{margin:0 0 0 142px;color:var(--zel-muted);font-size:12px}.ti-funnel-defs{margin-top:16px;font-size:12.5px;color:var(--zel-muted)}.ti-funnel-defs summary{cursor:pointer;color:var(--zel-primary);font-weight:700}.ti-funnel-defs ul{margin:10px 0 0;padding-left:18px}.ti-funnel-defs li{margin-bottom:6px}@media (max-width: 900px){.ti-risk-grid,.ti-bottom-row{grid-template-columns:1fr}}.check-field{min-height:var(--zel-touch-min);display:inline-flex;align-items:center;gap:8px;color:var(--zel-ink);font-size:12.5px}.check-field input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0}.wizard-entity-grid-section{margin:22px 0}.wizard-entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.wizard-entity-card{min-width:0;padding:18px;display:grid;gap:10px;align-content:start;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.wizard-entity-card h3{margin:0;color:var(--zel-ink);font-size:16px;text-transform:none}.wizard-entity-card p{margin:0;color:var(--zel-muted);font-size:12.5px}.wizard-entity-card.unavailable{border-style:dashed;background:var(--zel-paper)}.wizard-entity-card .form-actions{justify-content:flex-start}.operations-disclosure{margin:18px 0;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface);overflow:hidden}.operations-disclosure>summary{min-height:var(--zel-touch-min);padding:14px 20px;display:flex;align-items:center;cursor:pointer;color:var(--zel-ink);font-weight:800;font-size:15px;list-style:none}.operations-disclosure>summary::-webkit-details-marker{display:none}.operations-disclosure[open]>summary{border-bottom:1px solid var(--zel-line)}.operations-disclosure>.operations-panel{border:0;border-radius:0;min-height:0}.import-wizard{margin-top:10px}.wizard-steps{margin:16px 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.wizard-steps li{display:flex}.wizard-steps button{min-height:var(--zel-touch-min);margin:0;padding:8px 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--zel-line);border-radius:999px;background:var(--zel-surface);color:var(--zel-muted);font-size:12px;font-weight:700}.wizard-steps button.current{border-color:var(--zel-primary);background:var(--zel-primary);color:var(--zel-on-primary)}.wizard-steps button.done{border-color:var(--zel-success);color:var(--zel-success)}.wizard-step-num{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%;background:color-mix(in srgb,currentColor 18%,transparent);font-size:12px}.wizard-panel{margin:14px 0;padding:20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.wizard-template-row{margin:14px 0;display:flex;flex-wrap:wrap;gap:10px}.wizard-stat-strip{margin:4px 0 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.wizard-stat-strip article{padding:14px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.wizard-stat-strip span{display:block;color:var(--zel-muted);font-size:12px}.wizard-stat-strip strong{display:block;margin-top:5px;color:var(--zel-primary);font-size:26px}.wizard-preview-toolbar{margin:14px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wizard-reversibility-note{margin:14px 0;padding:12px 14px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft)}.wizard-reversibility-note summary{cursor:pointer;color:var(--zel-primary);font-weight:700;font-size:12.5px}.wizard-reversibility-note p{margin:8px 0 0;color:var(--zel-muted);font-size:12.5px}.wizard-table-toolbar{display:flex;flex-direction:column;gap:10px}.wizard-col-chooser{align-self:flex-start}.wizard-col-chooser summary{min-height:var(--zel-touch-min);padding:6px 14px;display:inline-flex;align-items:center;border:1px solid var(--zel-line-strong);border-radius:999px;cursor:pointer;color:var(--zel-primary);font-size:12px;font-weight:700;list-style:none}.wizard-col-chooser summary::-webkit-details-marker{display:none}.wizard-col-chooser fieldset{max-height:220px;margin:8px 0 0;padding:10px;overflow:auto;display:grid;gap:6px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-paper)}.wizard-col-chooser legend{padding:0 4px;color:var(--zel-muted);font-size:12px;font-weight:700}.wizard-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--zel-line);border-radius:10px}.wizard-table{width:100%;min-width:760px;border-collapse:collapse}.wizard-table th,.wizard-table td{padding:10px 11px;vertical-align:top;text-align:left;border-bottom:1px solid var(--zel-line);font-size:12px;white-space:nowrap}.wizard-table td{white-space:normal}.wizard-table thead th{position:sticky;top:0;z-index:1;background:var(--zel-soft);color:var(--zel-muted)}.wizard-table th:first-child,.wizard-table td:first-child{position:sticky;left:0;z-index:2;background:var(--zel-surface);border-right:1px solid var(--zel-line)}.wizard-table thead th:first-child{z-index:3;background:var(--zel-soft)}.wizard-table tr.invalid td{background:var(--zel-soft)}.wizard-table th button{width:100%;min-height:var(--zel-touch-min);margin:0;padding:6px 4px;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;white-space:nowrap}.wizard-sort-arrow{color:var(--zel-muted);font-size:12px}.wizard-table td strong,.wizard-table td small{display:block}.wizard-table td small{margin-top:3px;color:var(--zel-muted)}.wizard-verdict{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--zel-radius-pill);font-size:12px;font-weight:800}.wizard-verdict.create{background:var(--zel-success);color:var(--zel-on-success)}.wizard-verdict.update{background:var(--zel-focus);color:var(--zel-on-primary)}.wizard-verdict.skip{background:var(--zel-soft);color:var(--zel-muted)}.wizard-verdict.error{background:var(--zel-danger);color:var(--zel-on-danger)}.wizard-confirm-card{width:min(520px,100%);padding:22px;border:2px solid var(--zel-primary);border-radius:16px;background:var(--zel-surface)}.wizard-confirm-card h3{margin:0 0 8px;color:var(--zel-ink);font-size:19px;text-transform:none}.wizard-confirm-card p{margin:0;color:var(--zel-muted)}.wizard-progress-spinner{width:20px;height:20px;margin-right:10px;display:inline-block;vertical-align:middle;border:3px solid var(--zel-line);border-top-color:var(--zel-primary);border-radius:50%;animation:wizard-spin .8s linear infinite}@keyframes wizard-spin{to{transform:rotate(360deg)}}.wizard-revert-flow{margin-top:20px;padding:18px;border:1px dashed var(--zel-line-strong);border-radius:var(--zel-radius);background:var(--zel-paper)}.wizard-revert-confirm{margin-top:14px;padding:12px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-surface)}.wizard-revert-confirm label{display:grid;gap:6px;color:var(--zel-ink);font-size:12.5px;font-weight:700}.wizard-revert-confirm input{width:220px;min-height:var(--zel-touch-min);padding:10px 12px;border:1px solid var(--zel-line-strong);border-radius:9px;background:var(--zel-surface);color:var(--zel-ink);font:inherit}@media (max-width: 760px){.wizard-entity-grid{grid-template-columns:1fr}.wizard-steps{gap:8px}.wizard-panel{padding:14px}.wizard-stat-strip{grid-template-columns:1fr 1fr}.wizard-preview-toolbar{align-items:stretch;flex-direction:column}.wizard-revert-confirm input{width:100%}}.plan-tree{margin-top:14px}.plan-tree-toolbar{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.plan-tree-count{color:var(--zel-muted);font-size:12px;font-weight:700}.plan-tree-toolbar-actions{display:flex;gap:4px}.plan-tree-children{margin:0;padding:0;list-style:none}.plan-tree-children.plan-tree-root{border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface);overflow:hidden}.plan-tree-row{border-bottom:1px solid var(--zel-line)}.plan-tree-row:last-child{border-bottom:0}.plan-tree-row .plan-tree-children{border-top:1px solid var(--zel-line);background:var(--zel-paper)}.plan-tree-line{min-height:var(--zel-touch-min);padding:4px 10px 4px calc(10px + (var(--plan-depth, 0) * 20px));display:flex;align-items:center;gap:8px}.plan-tree-twisty{width:22px;height:22px;min-height:22px;margin:0;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--zel-muted);font-size:12px}.plan-tree-twisty-spacer{visibility:hidden}.plan-tree-checkbox{width:var(--zel-touch-min);height:var(--zel-touch-min);min-height:var(--zel-touch-min);flex:none;margin:0;accent-color:var(--zel-primary)}.plan-tree-label{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:8px;overflow:hidden}.plan-tree-label strong{overflow:hidden;color:var(--zel-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.plan-tree-kind{flex:none;color:var(--zel-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.plan-tree-branch-actions{flex:none;display:flex;gap:2px}.plan-tree-branch-actions button{padding:0 6px;font-size:12px}.plan-tree-chip{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--zel-radius-pill);font-size:12px;font-weight:800;white-space:nowrap}.plan-tree-chip-create{background:var(--zel-success);color:var(--zel-on-success)}.plan-tree-chip-update{background:var(--zel-focus);color:var(--zel-on-primary)}.plan-tree-chip-skip{background:var(--zel-soft);color:var(--zel-muted)}.plan-tree-chip-unsupported{background:var(--zel-danger);color:var(--zel-on-danger)}.plan-tree-reason{margin:0 0 8px calc(10px + (var(--plan-depth, 0) * 20px) + 30px);color:var(--zel-muted);font-size:12px}@media (max-width: 760px){.plan-tree-line{flex-wrap:wrap;padding-left:calc(8px + (var(--plan-depth, 0) * 12px))}.plan-tree-label{flex-basis:100%;order:3}.plan-tree-branch-actions{order:4}}.pill.strong{background:var(--zel-primary);color:var(--zel-on-primary)}.gam-level-row,.gam-streak-row,.gam-goal-row{margin:0 0 14px}.gam-level-row:last-child,.gam-streak-row:last-child,.gam-goal-row:last-child{margin-bottom:0}.gam-level-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:5px}.gam-level-head strong{color:var(--zel-ink)}.gam-level-head span{color:var(--zel-muted);font-size:12.5px;font-weight:700}.gam-streak-row .pill{margin-bottom:4px}.gam-today-strip{display:flex;flex-wrap:wrap;gap:20px 28px;margin-bottom:4px}.gam-today-strip>.gam-level-row,.gam-today-strip>.gam-streak-row{flex:1 1 220px;min-width:200px;margin-bottom:0}.gam-goal-row{padding-top:14px;border-top:1px solid var(--zel-line)}.gam-goal-row:first-child{padding-top:0;border-top:0}.gam-goal-form,.gam-nickname-form{margin-top:8px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.gam-goal-form label,.gam-nickname-form label{margin:0;font-size:12px;font-weight:700;color:var(--zel-muted)}.gam-goal-form select,.gam-goal-form input,.gam-nickname-form input{width:auto;margin-top:4px}.gam-goal-form input[type=number]{width:90px}.gam-nickname-form input[type=text]{width:min(260px,60vw)}.gam-goal-form .form-actions,.gam-nickname-form .form-actions{margin:0}.gam-toast-list{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:6px}.gam-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--zel-line);border-radius:10px;background:var(--zel-soft);color:var(--zel-ink);font-size:13px;font-weight:600}.gam-toast .text-button{padding:4px 8px;font-size:12px}.gam-badge-case{margin-top:14px}.gam-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:8px}.gam-badge-card{border:1px solid var(--zel-line);border-radius:var(--zel-radius);padding:12px 14px;background:var(--zel-paper)}.gam-badge-card h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13.5px}.gam-badge-card p.meta{margin:0}.gam-badge-card.earned{border-color:var(--zel-success);background:var(--zel-surface)}.gam-badge-card.earned h3{color:var(--zel-success)}.gam-badge-card.locked{border-style:dashed;margin-top:0}.gam-badge-card.locked h3{color:var(--zel-muted)}.gam-badge-peek{margin-top:14px;padding-top:14px;border-top:1px solid var(--zel-line)}.gam-badge-peek-head{margin:0 0 8px;color:var(--zel-muted);font-size:12px;font-weight:700}.gam-badge-chip.locked{border-style:dashed;color:var(--zel-muted);font-size:12.5px;margin-top:0}.gam-rail-card .text-link,.gam-progress-card .text-link{margin-top:14px}.gam-leaderboard-controls{display:grid;gap:14px}.gam-optin-row{display:grid;gap:6px}.gam-optin-row .meta{margin:0}.gam-leaderboard-table tr.you{background:var(--zel-soft);font-weight:700}.gam-leaderboard-table .here-badge{margin-left:8px}.gam-admin-scope-picker{display:flex;flex-wrap:wrap;gap:14px}.gam-admin-scope-picker label{margin:0;width:min(240px,42vw)}.gam-award-cell{min-width:200px}.gam-award-cell .gam-goal-form{margin-top:0}.gam-digest-row{margin-top:12px}@media (max-width: 640px){.gam-today-strip{gap:14px}.gam-admin-scope-picker label{width:100%}}.northstar-tag.any-tag{background:var(--zel-accent);color:var(--zel-on-accent);margin-left:6px}.differentiate-paths{display:grid;gap:12px;margin-top:12px}.differentiate-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:12px;border:1px solid var(--zel-line);border-radius:12px;background:var(--zel-paper)}.differentiate-path label{color:var(--zel-muted);font-size:12px;font-weight:800}.differentiate-path input{margin-top:5px}.differentiate-form>.northstar-button.compact{margin-top:10px}.differentiate-preview{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}.differentiate-preview li{padding:8px 12px;border-radius:10px;background:var(--zel-soft);color:var(--zel-ink);font-size:13px}@media (max-width: 760px){.differentiate-path{grid-template-columns:1fr 1fr}}.spaced-review-card{margin:0 0 24px}.spaced-review-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.spaced-review-item{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;padding:12px 14px;min-height:var(--zel-touch-min);background:var(--zel-paper);color:var(--zel-ink);border:1px solid var(--zel-line);border-radius:12px;font:inherit;cursor:pointer}.spaced-review-item:hover{border-color:var(--zel-line-strong)}.gam-badge-admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.gam-badge-admin-actions .check-row{margin:0}.gam-badge-admin-row-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 12px}.gam-badge-award-form{max-width:480px}@media (max-width: 640px){.gam-badge-admin-actions{width:100%;justify-content:space-between}}.course-grades-history-row>td{padding:0 0 14px;border-bottom:1px solid var(--zel-line);background:var(--zel-soft)}.course-grades-history-row .course-grades-table{margin:10px 14px 0;width:calc(100% - 28px)}.course-grades-history-row .course-grades-table th,.course-grades-history-row .course-grades-table td{border-bottom-color:var(--zel-line)}.gradebook-head-actions{display:flex;align-items:flex-start;gap:14px}.gradebook-head-actions>label{width:min(420px,42vw);margin:0}.gradebook-head-actions .northstar-button{margin-top:8px;flex:none}.identity-metric-toggle{padding:16px;margin:0;display:block;width:100%;text-align:left;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface);color:var(--zel-ink);font:inherit;cursor:pointer}.identity-metric-toggle span{display:block;color:var(--zel-muted);font-size:12px}.identity-metric-toggle strong{display:block;margin-top:5px;color:var(--zel-primary);font-size:30px}.identity-metric-toggle:hover{border-color:var(--zel-line-strong)}.identity-metric-toggle.active{border-color:var(--zel-primary);background:var(--zel-soft)}.identity-metric-toggle.active span{color:var(--zel-primary);font-weight:700}@media (max-width: 760px){.gradebook-head-actions{width:100%;flex-wrap:wrap}.gradebook-head-actions>label{width:100%}}.ti-participation-wrap{max-width:100%;overflow:auto;border:1px solid var(--zel-line);border-radius:10px}.ti-participation-table{width:100%;min-width:620px;border-collapse:collapse}.ti-participation-table th,.ti-participation-table td{padding:10px 11px;text-align:left;border-bottom:1px solid var(--zel-line);font-size:12.5px}.ti-participation-table thead th{position:sticky;top:0;z-index:1;background:var(--zel-soft);color:var(--zel-muted)}.ti-participation-table th button{width:100%;min-height:var(--zel-touch-min);margin:0;padding:6px 4px;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;white-space:nowrap;cursor:pointer}.ti-participation-table td.num,.ti-participation-table th:not(:first-child) button{text-align:right;justify-content:flex-end}.ti-participation-table td.num{font-variant-numeric:tabular-nums}.ti-sort-arrow{color:var(--zel-muted);font-size:12px}.ti-activity-table{min-width:640px;width:100%;border-collapse:collapse;font-size:13px}.ti-activity-table th,.ti-activity-table td{padding:11px;border-bottom:1px solid var(--zel-line);text-align:left;vertical-align:top}.ti-activity-table thead th{color:var(--zel-muted);font-size:12px}.ti-activity-results-row td{padding-top:0;border-bottom:1px solid var(--zel-line);background:var(--zel-soft)}.ti-activity-results{margin:0;padding:6px 0 4px;list-style:none;display:flex;flex-direction:column;gap:5px}.ti-activity-results li{font-size:12.5px;color:var(--zel-muted)}.cg-summary{margin:0 0 10px;font-size:14px;font-weight:650;color:var(--zel-ink)}.cg-legend{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:16px}.cg-legend li{display:inline-flex;align-items:center;gap:6px;color:var(--zel-muted);font-size:12px;font-weight:700}.cg-table{min-width:520px;border-collapse:collapse;font-size:12px}.cg-table th,.cg-table td{padding:9px;border-bottom:1px solid var(--zel-line);text-align:center}.cg-table thead th{color:var(--zel-muted);font-weight:700;vertical-align:bottom}.cg-table thead th:first-child,.cg-table tbody th{text-align:left;color:var(--zel-ink);font-weight:650;white-space:nowrap}.cg-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--zel-surface)}.cg-table tbody th{position:sticky;left:0;z-index:1;background:var(--zel-surface)}.cg-col-title{display:block}.cg-col-meta{display:block;margin-top:2px;font-weight:500;color:var(--zel-faint)}.cg-cell{font-size:0}.cg-cell-complete{color:var(--zel-success)}.cg-cell-inProgress{color:var(--zel-accent)}.cg-cell-notStarted,.cg-cell-excused{color:var(--zel-faint)}.cg-done{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.cr-timeline{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.cr-row{display:flex;align-items:flex-start;gap:12px;padding:12px 4px;border-bottom:1px solid var(--zel-line)}.cr-row:last-child{border-bottom:0}.cr-icon{flex:none;margin-top:2px}.cr-icon-complete{color:var(--zel-success)}.cr-icon-inProgress{color:var(--zel-accent)}.cr-icon-notStarted,.cr-icon-excused{color:var(--zel-faint)}.cr-body{display:flex;flex-direction:column;gap:2px;min-width:0}.cr-title{font-size:14px;font-weight:650;color:var(--zel-ink)}.cr-optional{color:var(--zel-muted);font-weight:500}.cr-meta{font-size:12.5px;color:var(--zel-muted)}.ti-dedication-caption{margin:0 0 4px;font-size:13.5px;font-weight:650;color:var(--zel-ink)}.ti-dedication-note{margin:0 0 12px;font-size:12px;color:var(--zel-muted);max-width:72ch}.ti-dedication-breakdown-row td{padding-top:0;border-bottom:1px solid var(--zel-line);background:var(--zel-soft)}.ti-dedication-breakdown{margin:0;padding:6px 0 4px;list-style:none;display:flex;flex-direction:column;gap:5px}.ti-dedication-breakdown li{font-size:12.5px;color:var(--zel-muted)}.eh-legend{margin:8px 0 14px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:16px}.eh-legend li{display:inline-flex;align-items:center;gap:6px;color:var(--zel-muted);font-size:12px;font-weight:700}.eh-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.eh-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:var(--zel-radius);border:1px solid var(--zel-line);background:var(--zel-surface);color:var(--zel-ink);font-size:12.5px;font-weight:650;cursor:pointer;text-align:left}.eh-chip small{font-weight:500;color:var(--zel-muted)}.eh-chip[aria-selected=true]{border-color:var(--zel-primary);background:var(--zel-soft);color:var(--zel-primary)}.eh-table{border-collapse:collapse;font-size:12px}.eh-table th,.eh-table td{padding:3px;border-bottom:1px solid var(--zel-line);text-align:center;width:26px}.eh-table thead th{color:var(--zel-muted);font-weight:700}.eh-table thead th:first-child,.eh-table tbody th{text-align:left;color:var(--zel-ink);font-weight:650;white-space:nowrap;width:auto}.eh-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--zel-surface)}.eh-table tbody th{position:sticky;left:0;z-index:1;background:var(--zel-surface)}.eh-cell-none{background:var(--zel-soft)}.eh-cell-low,.eh-cell-med{color:var(--zel-accent)}.eh-cell-high{color:var(--zel-danger)}.cr-estimated-time{margin:0 0 18px;font-size:13.5px;color:var(--zel-ink)}.cr-estimated-time-note{display:block;margin-top:4px;font-size:12px;color:var(--zel-muted);max-width:72ch}.ti-stats-caption{margin:0 0 10px;font-size:13.5px;font-weight:650;color:var(--zel-ink)}.ti-stats-series{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}.ti-stats-bar-row{display:grid;grid-template-columns:56px 1fr 88px;align-items:center;gap:10px}.ti-stats-bar-label{font-size:12px;color:var(--zel-muted);font-weight:650}.ti-stats-bar-count{font-size:12.5px;color:var(--zel-ink);text-align:right}.ti-stats-bar-count small{color:var(--zel-accent);font-weight:700;margin-left:4px}.ti-stats-activity-table{border-collapse:collapse;width:100%;font-size:13px}.ti-stats-activity-table th,.ti-stats-activity-table td{padding:6px 10px;border-bottom:1px solid var(--zel-line);text-align:left}.ti-stats-activity-table th.num,.ti-stats-activity-table td.num{text-align:right}.ti-stats-activity-table thead th{color:var(--zel-muted);font-weight:700;font-size:12px}.ti-userstats-row td{padding-top:0;border-bottom:1px solid var(--zel-line);background:var(--zel-soft)}.ti-userstats-list{margin:6px 0 4px;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.ti-userstats-list li{font-size:12.5px;color:var(--zel-muted)}.ti-outcomes-report-table{border-collapse:collapse;width:100%;font-size:13px}.ti-outcomes-report-table th,.ti-outcomes-report-table td{padding:8px 10px;border-bottom:1px solid var(--zel-line);text-align:left;vertical-align:middle}.ti-outcomes-report-table thead th{color:var(--zel-muted);font-weight:700;font-size:12px}.ti-outcomes-report-table td small{color:var(--zel-muted);font-weight:500}.ti-outcomes-level-bar{display:flex;width:140px;height:10px;border-radius:999px;overflow:hidden;background:var(--zel-soft)}.ti-outcomes-level-seg{display:block;height:100%}.ti-outcomes-level-seg.level-secure{background:var(--zel-success)}.ti-outcomes-level-seg.level-developing{background:var(--zel-accent)}.ti-outcomes-level-seg.level-emerging{background:var(--zel-muted)}.ti-outcomes-level-seg.level-noEvidence{background:var(--zel-faint)}.ss-range-fields{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.ss-range-fields label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:650;color:var(--zel-ink)}.ss-rank-table{border-collapse:collapse;width:100%;font-size:13px}.ss-rank-table th,.ss-rank-table td{padding:8px 10px;border-bottom:1px solid var(--zel-line);text-align:left}.ss-rank-table th.num,.ss-rank-table td.num{text-align:right}.ss-rank-table thead th{color:var(--zel-muted);font-weight:700;font-size:12px}.ss-rank-num{color:var(--zel-muted);font-weight:700;margin-right:6px}.ti-quizstats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}.ti-quizstats-card{padding:12px 14px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-paper);display:flex;flex-direction:column;gap:3px}.ti-quizstats-card span{color:var(--zel-muted);font-size:12px;font-weight:700}.ti-quizstats-card strong{color:var(--zel-ink);font-size:19px;font-variant-numeric:tabular-nums}.ti-quizstats-card small{color:var(--zel-muted);font-size:12px;line-height:1.35}.ti-quizstats-help{margin:0 0 16px;font-size:12.5px;color:var(--zel-muted)}.ti-quizstats-help summary{cursor:pointer;font-weight:700;color:var(--zel-ink)}.ti-quizstats-help ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px}.ti-quizstats-help b{color:var(--zel-ink)}.ti-item-table td.ti-qs-num{font-variant-numeric:tabular-nums;white-space:nowrap}.zel-barchart{display:block;width:100%;max-width:620px;height:auto}.zel-barchart-bar{fill:var(--zel-primary)}.zel-barchart-bar.dim{fill:var(--zel-primary);opacity:.38}.zel-barchart-bar.highlight{fill:var(--zel-primary);stroke:var(--zel-ink);stroke-width:1}.zel-barchart-value{fill:var(--zel-ink);font-size:12px;font-variant-numeric:tabular-nums}.zel-barchart-label{fill:var(--zel-muted);font-size:12px}.an1d-subnote{color:var(--zel-muted);font-size:12.5px;margin:0 0 10px}.an1d-stats-actions{margin:0 0 12px;display:flex;gap:10px}.an1d-distribution{margin:0 0 16px}.an1d-distribution h3{margin:0 0 4px;font-size:15px}.an1d-block{margin:18px 0 0;border-top:1px solid var(--zel-line);padding-top:14px}.an1d-block h3{margin:0 0 4px;font-size:15px}.an1d-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 6px}.an1d-filter{display:inline-flex;align-items:center;gap:7px;color:var(--zel-muted);font-size:12.5px;font-weight:700;cursor:pointer}.an1d-grades-table{border-collapse:collapse;width:100%;font-size:13px}.an1d-grades-table th,.an1d-grades-table td{padding:7px 10px;border-bottom:1px solid var(--zel-line);text-align:left;white-space:nowrap}.an1d-grades-table thead th{color:var(--zel-muted);font-weight:700;font-size:12px}.an1d-grades-table thead th button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.an1d-grades-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;color:var(--zel-ink)}.an1d-responses-table{border-collapse:collapse;width:100%;font-size:13px}.an1d-responses-table th,.an1d-responses-table td{padding:5px 7px;border-bottom:1px solid var(--zel-line);text-align:center}.an1d-responses-table thead th{color:var(--zel-muted);font-weight:700;font-size:12px;position:sticky;top:0;z-index:1;background:var(--zel-surface)}.an1d-responses-table tbody th[scope=row]{text-align:left;font-weight:600;color:var(--zel-ink);position:sticky;left:0;z-index:2;background:var(--zel-surface);min-width:150px;max-width:190px}.an1d-responses-table thead th:first-child{position:sticky;left:0;z-index:3;background:var(--zel-surface);text-align:left}.an1d-responses-table td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--zel-ink)}.an1d-cell-button{background:none;border:1px solid transparent;border-radius:8px;padding:4px 6px;font:inherit;font-size:12px;color:var(--zel-ink);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.an1d-cell-button:hover{border-color:var(--zel-line-strong)}.an1d-cell-button.active{border-color:var(--zel-primary);background:var(--zel-soft)}.an1d-response-detail{margin:12px 0 0;padding:12px 14px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-paper)}.an1d-response-text{margin:6px 0;color:var(--zel-ink);font-size:14px;overflow-wrap:anywhere}.an1d-mix-row td{background:var(--zel-paper)}.an1d-mix-chart{padding:8px 4px}.an1d-top-answers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--zel-ink)}.an1d-top-answers li{display:flex;align-items:center;gap:7px}.weekly-reports{margin-top:28px;padding:18px 20px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-surface)}.weekly-email-note{margin:0 0 14px;font-size:13px;color:var(--zel-muted)}.weekly-report-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.weekly-report-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--zel-line);border-radius:var(--zel-radius);background:var(--zel-paper)}.weekly-report-list li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.weekly-report-list strong{color:var(--zel-ink);font-size:14px}.weekly-report-list small{color:var(--zel-muted);font-size:12.5px;line-height:1.35}.weekly-recipients{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.weekly-recipients label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:650;color:var(--zel-ink);flex:1 1 320px}.weekly-recipients input{padding:8px 10px;border:1px solid var(--zel-line);border-radius:8px;background:var(--zel-paper);color:var(--zel-ink);font:inherit;font-size:13.5px}.weekly-recipients-note{flex-basis:100%;color:var(--zel-muted);font-size:12.5px}
