:root{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ink:#1a293b;--muted:#617083;--cream:#f6f3ef;--paper:#fffdfa;--brand:#1a293b;--primary:#a51514;--primary-hover:#861110;--accent:#fcb15b;--gold:#eda352;--line:#dce1e7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:18px;--space-5:22px;--admin-control-gap:12px;--form-control-height:46px;--admin-control-height:46px;--admin-control-font-size:14px;--admin-body-font-size:15px;--admin-meta-font-size:13px;--admin-table-heading-font-size:12px;--admin-panel-gap:18px;--admin-section-gap:clamp(22px, 2.2vw, 30px);--admin-empty-state-space:clamp(18px, 2vw, 28px);--gutter-x:clamp(22px, 5vw, 76px);--content-max:1280px;--page-gutter:max(var(--gutter-x), calc((100% - var(--content-max)) / 2));--danger:#8c3025;--danger-strong:#7c2c23}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);margin:0}.publicSiteHeader{background:color-mix(in srgb, var(--paper) 94%, transparent);border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.publicHeaderInner{min-height:82px;padding:0 var(--page-gutter);justify-content:space-between;align-items:center;display:flex}.publicDesktopNav{align-items:center;gap:clamp(16px,2vw,30px);display:flex}.publicDesktopNav a,.publicNavMenu nav a{white-space:nowrap;font-size:14px;font-weight:700}.publicDesktopNav a:not(.publicPortalLink):hover,.publicDesktopNav a:not(.publicPortalLink):focus-visible,.publicNavMenu nav a:not(.publicPortalLink):hover,.publicNavMenu nav a:not(.publicPortalLink):focus-visible,.publicDesktopNav a[aria-current=page],.publicNavMenu nav a[aria-current=page]{color:var(--brand);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.publicNavMenu{margin:0;display:none}a{color:inherit;text-decoration:none}.publicBrand{align-items:center;gap:12px;min-width:0;display:inline-flex}.publicBrandMark{background:var(--brand);color:#fff;font-family:var(--font-sans);letter-spacing:-.5px;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;font-size:17px;font-weight:700;display:inline-flex}.publicBrandCopy{line-height:1.1;display:grid}.publicBrandCopy b{font-family:var(--font-sans);font-size:20px}.publicBrandCopy small{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:700}.publicPortalLink{border:1px solid var(--brand);color:var(--brand);border-radius:999px;padding:10px 15px}.publicPortalLink:hover,.publicPortalLink:focus-visible{background:var(--brand);color:#fff}button.publicPortalLink{cursor:pointer;font:inherit;white-space:nowrap;background:0 0;font-size:14px;font-weight:700}main{min-height:calc(100vh - 140px)}footer{padding:24px var(--page-gutter);color:var(--muted);border-top:1px solid var(--line)}footer a:hover,footer a:focus-visible{color:var(--brand);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.hero{padding:10vw var(--page-gutter) 8vw;background:radial-gradient(circle at 80% 20%, #fddab6, transparent 30%), var(--cream)}.hero h1,.page>h1,.titleRow h1{font-family:var(--font-sans);max-width:850px;margin:12px 0;font-size:clamp(42px,6vw,82px)}.hero>p:not(.eyebrow){max-width:650px;font-size:20px;line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:1.2px;color:var(--brand);font-size:12px;font-weight:700}.actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.button,button{border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:0 0;border-radius:8px;padding:12px 18px;font-weight:700}.buttonLink{border:1px solid var(--brand);text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.primary{background:var(--brand);color:#fff}button:hover,a:where(.button):hover,.buttonLink:hover{background:color-mix(in srgb, var(--brand) 82%, #000);border-color:color-mix(in srgb, var(--brand) 82%, #000);color:#fff}.secondaryButton{border-color:var(--line);color:var(--brand);background:#fff}.secondary{border:1px solid var(--line);color:var(--brand);background:#fff}.secondary:hover{background:var(--cream);border-color:var(--brand);color:var(--brand)}.dangerButton{color:var(--danger);background:#fff;border-color:#d9b0a9}.dangerButton:hover{background:var(--danger);border-color:var(--danger);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.grid,.cards{padding:5vw var(--page-gutter);grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.grid article{border-top:3px solid var(--brand);padding:26px}.grid b,.card>span{color:var(--brand);letter-spacing:1.2px;font-size:12px}.page{padding:5vw var(--page-gutter)}.cards{padding:30px 0}.card,.panel,.list article,.notice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.card>:first-child,.panel>:first-child,.metricCard>:first-child,.adminReportCard>:first-child{margin-top:0}.card>:last-child,.panel>:last-child,.metricCard>:last-child,.adminReportCard>:last-child{margin-bottom:0}.card,.panel,.record,.metricCard,.adminDetailHeader>*,.adminDefinitionGrid>div,.adminSessionList>div,.adminReportCard,.adminQueuePanel,.adminModuleCard{overflow-wrap:break-word;min-width:0}.card h2{font-family:var(--font-sans);font-size:28px}.titleRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.pill{background:#fce4c9;border-radius:999px;padding:9px 13px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0;display:grid}.metrics div,.metrics .studentPortalMetricLink{background:var(--cream);border-radius:12px;padding:22px}.metrics .studentPortalMetricLink{display:block}.metrics .studentPortalMetricLink:hover,.metrics .studentPortalMetricLink:focus-visible{outline:1px solid var(--brand);outline-offset:-1px}.metrics b{font-size:32px;display:block}.metrics span,.muted{color:var(--muted);font-size:13px}.list{gap:12px;display:grid}.list article,.row{justify-content:space-between;align-items:center;display:flex}.list h3,.list p{margin:4px 0}.list small,.row small,small{color:var(--muted);display:block}.notice{background:#fff0df;margin-top:30px}.adminGrid,.workspaceGrid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px;display:grid}.row{border-top:1px solid var(--line);padding:15px 0}.row>div{flex:1}.avatar{background:var(--cream);border-radius:50%;place-items:center;width:42px;height:42px;margin-right:12px;font-weight:700;display:grid}.wide{text-align:left;width:100%;min-height:44px;margin:0}.stack{gap:18px;display:grid}.compact{gap:10px}.stack label.checkRow{grid-template-columns:18px 1fr;align-items:flex-start;line-height:1.4;display:grid}.stack label.checkRow input{width:16px;margin:2px 0 0;padding:0}.panel h2,.panel h3{margin-top:0}.panel summary{cursor:pointer;margin-bottom:18px;font-size:20px;font-weight:700}.formGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.formGrid label,.stack label,.actionColumns label{gap:6px;font-size:13px;font-weight:700;display:grid}.formGrid .fullWidth{grid-column:1/-1}.adminStack{gap:14px;display:grid}.adminStack .metricCard{border:1px solid var(--line);border-radius:10px;padding:16px}.adminTemplatePreview{background:var(--cream);font:inherit;white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:280px;margin:12px 0;padding:12px;overflow:auto}.adminTemplateVariables{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.adminTemplateVariables code{background:var(--cream);border-radius:6px;padding:5px 7px}.adminTemplatePreviewValues{margin-top:1rem}.adminTemplateRenderedPreview{border:1px solid var(--line);border-radius:.75rem;margin-top:1rem;padding:1rem}.adminTemplateVersionCard{border:1px solid var(--line);overflow-wrap:break-word;border-radius:10px;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:16px;display:flex}.adminTemplateVersionCard>button{align-self:flex-start}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:11px}input:not([type]),input:is([type=text],[type=search],[type=email],[type=tel],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=time],[type=month],[type=week]),select{min-height:var(--form-control-height)}.operationRow{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) auto minmax(130px,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.operationRow small{margin-top:4px}.actionColumns{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px;display:grid}.actionColumns form{border:1px solid var(--line);border-radius:10px;gap:9px;padding:16px;display:grid}.authCard{inline-size:min(100%,620px);overflow-wrap:break-word;gap:15px;width:min(560px,100%);min-width:0;display:grid}.authCard .fieldGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.studentPortalWorkspace,.studentPortalWorkspace>*,.studentPortalWorkspace .workspaceGrid>*,.instructorWorkspacePage,.instructorWorkspacePage>*,.instructorRosterPage,.instructorRosterPage>*{min-width:0;max-width:100%}.studentPortalWorkspace,.studentPortalWorkspace .record,.studentPortalWorkspace .task,.instructorWorkspacePage,.instructorRosterPage{overflow-wrap:break-word}.studentPortalSections{gap:18px;margin-top:26px;display:grid}.studentPortalViewAll{color:var(--brand);margin-top:10px;font-size:13px;font-weight:700;display:inline-block}.studentProgressPanel h3{border-top:1px solid var(--line);margin:16px 0 0;padding-top:14px;font-size:14px}.studentProgressList{gap:0;margin:8px 0 0;padding:0;list-style:none;display:grid}.studentProgressList li{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.studentProgressList li+li{border-top:1px solid var(--line)}.studentProgressList small{color:var(--muted);margin-top:2px;display:block}.studentProgressStatus{text-align:right;white-space:nowrap;font-size:13px;font-weight:700}.studentProgressStatus.attendance-pending,.studentProgressStatus.attempt-submitted,.studentProgressStatus.attempt-pending_review{color:var(--muted);font-weight:600}.studentProgressStatus.attendance-absent,.studentProgressStatus.attendance-incomplete,.studentProgressStatus.attempt-failed{color:#a03123}.studentProgressStatus.attendance-present,.studentProgressStatus.attempt-passed{color:var(--brand)}.studentPortalViewAll:hover,.studentPortalViewAll:focus-visible{text-underline-offset:4px;text-decoration:underline}.adminCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.adminCardGrid>*{overflow-wrap:break-word;min-width:0;max-width:100%}.miniList{gap:var(--space-2);margin-top:12px;display:grid}.miniList a,.record{border-top:1px solid var(--line);padding:12px 0;display:block}.record{flex-wrap:wrap;align-items:center;column-gap:10px;display:flex}.record>p,.record>small{flex-basis:100%}.record p{margin:6px 0}.status{background:var(--cream);text-transform:uppercase;border-radius:999px;align-items:center;margin-left:auto;padding:5px 9px;font-size:11px;display:inline-flex}.task{border-top:1px solid var(--line);padding:16px 0}.task summary{cursor:pointer;font-weight:700}.task summary small{margin-top:4px}.studentPortalSectionHeading,.studentRegistrationCard>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.studentPortalSectionHeading h2,.studentRegistrationCard h3,.studentRegistrationCard p{margin:0}.studentPortalSectionHeading>a{color:var(--brand);font-size:12px;font-weight:700}.studentRegistrationList{gap:14px;display:grid}.studentRegistrationCard{border:1px solid var(--line);border-radius:12px;gap:16px;padding:18px;display:grid}.studentRegistrationCard header p,.studentRegistrationCard header small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.studentRegistrationStatus{color:#7c5511;letter-spacing:.6px;text-transform:uppercase;background:#fff0cf;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:700}.studentRegistrationStatus.status-accepted{color:#355d21;background:#e6f3d6}.studentRegistrationStatus.status-rejected,.studentRegistrationStatus.status-canceled,.studentRegistrationStatus.status-payment_failed{color:var(--danger);background:#f8e2de}.studentRegistrationSteps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.studentRegistrationSteps li{color:var(--muted);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;font-weight:700;display:grid}.studentRegistrationSteps li>span{background:#eef1f5;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.studentRegistrationSteps li.complete{color:var(--ink)}.studentRegistrationSteps li.complete>span{background:var(--brand);color:#fff}.studentRegistrationNext{background:var(--cream);color:var(--muted);border-radius:8px;padding:12px;font-size:12px;line-height:1.55}.studentRegistrationActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.studentRegistrationActions>a:not(.button){color:var(--brand);font-size:12px;font-weight:700}.answerGrid{grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0;display:grid}.answerGrid label{font-size:11px;font-weight:700}.success,.successMessage{color:#205c2b;background:#e8f5e9;border-radius:8px;padding:12px}.formError{color:var(--danger);background:#fff1f0;border-radius:8px;padding:12px}.check{align-items:flex-start;gap:9px;display:flex!important}.check input{width:auto;margin-top:3px}fieldset{border:1px solid var(--line);border-radius:10px;gap:10px;padding:14px;display:grid}legend{padding:0 6px;font-weight:700}body:has(.adminShell)>.publicSiteHeader{display:none}body:has(.adminShell)>footer{display:none}body:has(.adminShell)>main{min-height:100vh}.adminShell{background:#f3f5f8;grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.adminSidebar{color:#fff;z-index:30;background:#1a293b;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.adminBrand{border-bottom:1px solid #ffffff24;flex-shrink:0;align-items:center;gap:12px;padding:0 8px 24px;display:flex}.adminBrand>span{background:var(--accent);color:#1a293b;border-radius:10px;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.adminBrand b,.adminBrand small,.adminAccount b,.adminAccount small{display:block}.adminBrand small,.adminAccount small{color:#c4cedb;margin-top:3px}.adminNavigation{overscroll-behavior:contain;flex:auto;align-content:start;gap:0;min-height:0;padding:14px 0;display:grid;overflow-y:auto}.adminNavigation>p{color:#a4b3c7;letter-spacing:.6px;text-transform:uppercase;margin:14px 10px 6px;font-size:10px;font-weight:700}.adminNavigation>a,.adminNavPlanned{border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:8px 10px;font-size:13px;line-height:1.25;display:flex}.adminNavigation>a>span,.adminNavPlanned>span{background:#ffffff14;border-radius:6px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.adminNavigation>a:hover,.adminNavigation>a.active{color:var(--accent);background:#ffffff12}.adminNavPlanned{color:#a4b3c7}.adminNavPlanned small{color:#a4b3c7;text-transform:uppercase;margin-left:auto;font-size:9px}.adminAccount{border-top:1px solid #ffffff24;flex-shrink:0;align-items:center;gap:10px;margin-top:auto;padding:18px 8px 0;display:flex}.adminAccount>span{background:#ffffff17;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.adminAccount b{font-size:12px}.adminContent{min-width:0}.adminTopbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:18px;height:76px;padding:0 28px;display:flex;position:sticky;top:0}.adminTopbar>div>b,.adminTopbar>div>small{display:block}.adminTopbar>div>small{margin-top:4px}.adminTopActions{gap:10px;margin-left:auto;display:flex!important}.adminTopActions a{border:1px solid var(--line);border-radius:7px;padding:8px 11px;font-size:12px;font-weight:700}.adminMenuButton{display:none}.adminMain{min-height:calc(100vh - 76px)}.adminWorkspacePage{padding:38px 36px}.adminWorkspace{gap:22px;padding:38px 36px;display:grid}.adminWorkspace>.notice{margin-top:0}.adminMetricGrid{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;display:grid}.metricCard{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:16px;display:flex}.metricCard>span,.metricCard>strong{display:block}.metricCard>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.35}.metricCard>strong{color:var(--brand);font-family:var(--font-sans);overflow-wrap:break-word;word-break:normal;font-size:clamp(22px,2.2vw,30px)}button.metricCard{min-height:100px}button.metricCard:hover,button.metricCard.active{background:var(--brand);border-color:var(--brand);color:#fff}button.metricCard:hover>span,button.metricCard.active>span{color:#c4cedb}button.metricCard:hover>strong,button.metricCard.active>strong{color:var(--accent)}.adminWorkspacePage .titleRow h1{font-family:var(--font-sans);font-size:clamp(28px,2.6vw,36px);font-weight:700;line-height:1.15}.adminWorkspacePage [id]{scroll-margin-top:96px}.adminBreadcrumb{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:10px!important}.adminModuleGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.adminDashboardMetrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 20px;display:grid}.adminDashboardPage,.adminDashboardPage>*,.adminDashboardMetrics>*,.adminQueueGrid>*,.adminModuleGrid>*,.adminReportsPage,.adminReportsPage>*{min-width:0;max-width:100%}.adminDashboardPage,.adminQueuePanel,.adminModuleGrid a,.adminReportsPage{overflow-wrap:break-word}.adminDashboardMetrics a{border:1px solid var(--line);color:inherit;background:#fff;border-radius:10px;min-height:126px;padding:18px;transition:border-color .15s,transform .15s}.adminDashboardMetrics a:hover{border-color:#9aa9bb;transform:translateY(-2px)}.adminDashboardMetrics b,.adminDashboardMetrics span,.adminDashboardMetrics small{display:block}.adminDashboardMetrics b{color:var(--brand);font-family:var(--font-sans);font-size:31px}.adminDashboardMetrics span{margin-top:8px;font-size:13px;font-weight:700}.adminDashboardMetrics small{margin-top:12px;font-size:10px}.adminQueueGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 34px;display:grid}.adminQueuePanel{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:0;padding:20px}.adminQueuePanel>header,.adminSectionHeading{justify-content:space-between;align-items:center;gap:16px;display:flex}.adminQueuePanel h2,.adminSectionHeading h2{font-family:var(--font-sans);margin:0;font-size:22px}.adminQueuePanel>header>a{color:var(--brand);font-size:11px;font-weight:700}.adminQueueList{margin-top:14px;display:grid}.adminQueueList a{border-top:1px solid var(--line);color:inherit;padding:12px 0}.adminQueueList b,.adminQueueList small{display:block}.adminQueueList b{font-size:13px}.adminQueueList small{margin-top:4px}.adminQueueList a:hover,.adminQueueList a:focus-visible,.miniList a:hover,.miniList a:focus-visible{color:var(--brand);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.adminQueueEmpty{color:var(--muted);font-size:var(--admin-meta-font-size);margin:var(--admin-empty-state-space) 0 0;text-align:center}.adminModuleSection{margin-top:34px}.adminSectionHeading{margin-bottom:16px}.adminSectionHeading .eyebrow{margin:0 0 4px}.adminModuleCard{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-height:170px;padding:22px;transition:transform .15s,border-color .15s;display:flex}.adminModuleCard:hover{border-color:#9aa9bb;transform:translateY(-2px)}.adminModuleCard>span{color:var(--brand);letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:700}.adminModuleCard h2{font-family:var(--font-sans);margin:16px 0 6px;font-size:23px}.adminModuleCard p{color:var(--muted);margin:0;font-size:13px}.adminModuleCard b{color:var(--brand);margin-top:auto;padding-top:18px;font-size:12px}.adminWorkspaceGrid{grid-template-columns:1fr}.adminRecordsColumn{grid-column:1/-1;grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr);align-items:start}.adminClassSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.adminClassSummary>div{background:var(--cream);border-radius:10px;padding:18px}.adminClassSummary b,.adminClassSummary span{display:block}.adminClassSummary b{color:var(--brand);font-family:var(--font-sans);font-size:30px}.adminClassSummary span{color:var(--muted);margin-top:5px;font-size:12px}.adminPanelHeading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.adminPanelHeading .eyebrow{margin:0 0 5px}.adminPanelHeading h2{margin:0}.adminPanelHeading>a{color:var(--brand);font-size:11px;font-weight:700}.adminTableHeading{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.adminTableHeading .eyebrow{margin:0 0 var(--space-1)}.adminTableHeading h2,.adminTableHeading h3{margin:0}.adminTableHeading>span{color:var(--muted);font-size:11px;font-weight:700}.adminHeaderActions{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;max-width:100%;display:flex}.adminHeaderActions small{text-align:right;flex-basis:100%}.adminRecordList{display:grid}.adminRecordList>div{border-top:1px solid var(--line);padding:var(--space-3) 0}.adminRecordList b,.adminRecordList small{display:block}.adminRecordList small{margin-top:var(--space-1)}.adminFilterBar{background:var(--cream);border-radius:10px;grid-template-columns:minmax(240px,1fr) 190px;align-items:end;gap:12px;margin-bottom:18px;padding:14px;display:grid}.adminFilterBar label{margin:0}.adminTableWrap{overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.adminDataTable{border-collapse:collapse;width:100%;min-width:900px}.adminDataTable th,.adminDataTable td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 12px}.adminDataTable th{color:var(--muted);letter-spacing:1.2px;overflow-wrap:normal;text-transform:uppercase;white-space:nowrap;word-break:normal;font-size:10px}.adminDataTable td{font-size:12px}.adminDataTable td b,.adminDataTable td small{display:block}.adminDataTable td small{margin-top:4px}.adminTableLink{color:var(--brand);white-space:nowrap;align-items:center;font-weight:700;display:inline-flex}.adminTableLink:hover{text-decoration:underline}.adminDataTable :is(button,.button,.buttonLink,.adminTableLink){white-space:nowrap}.adminStatusBadge{letter-spacing:.6px;overflow-wrap:normal;text-transform:uppercase;white-space:nowrap;word-break:normal;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:700;display:inline-block}.adminStatusBadge.status-open,.adminStatusBadge.status-completed{color:#355d21;background:#e6f3d6}.adminStatusBadge.status-draft,.adminStatusBadge.status-closed{color:#59677a;background:#eef1f5}.adminStatusBadge.status-canceled{color:var(--danger);background:#f8e2de}.adminStatusBadge.status-pending,.adminStatusBadge.status-active,.adminStatusBadge.status-attended,.adminStatusBadge.status-transferred{color:#345267;background:#e7edf1}.adminTableEmpty,.emptyState{color:var(--muted);margin:var(--admin-empty-state-space) 0;text-align:center}.adminRosterPage{gap:22px;padding:38px 36px;display:grid}.adminRosterControls{background:var(--cream);border-radius:10px;grid-template-columns:minmax(260px,1.4fr) minmax(240px,1fr) minmax(220px,1fr);align-items:end;gap:12px;padding:14px;display:grid}.adminRosterControls label{margin:0}.adminRosterTable{min-width:1140px}.adminRosterTable th,.adminRosterTable td{min-width:84px}.adminRosterTable th:first-child,.adminRosterTable td:first-child{min-width:200px}.adminRosterTable .adminStatusBadge{white-space:nowrap}.adminRosterTable .adminRequirementCell{min-width:300px}.adminRosterTable .adminRosterSummaryColumn{min-width:150px}.adminRosterTable .adminRosterEntryColumn{min-width:300px}.adminRosterTable .adminRosterDetailColumn{min-width:90px}.adminRosterSummaryColumn b,.adminRosterSummaryColumn small{display:block}.adminRosterSummaryColumn small{color:var(--muted);margin-top:3px}.adminRosterPage .adminTableWrap{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminRosterPage .adminTableWrap:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.adminRosterActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adminRosterActions button,.adminRosterActions a{margin:0}.adminRequirementCell span{color:#59677a;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;background:#eef1f5;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:700;display:inline-block}.adminRequirementChips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.adminRequirementChip{color:#59677a;white-space:nowrap;background:#eef1f5;border-radius:999px;align-items:baseline;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.adminRequirementChip b{letter-spacing:.5px;opacity:.75;text-transform:uppercase;font-size:9px;font-weight:700}.adminRosterDrawerBody{gap:14px;display:grid}.adminRosterDrawerBody h3{margin:6px 0 0}.adminRequirementCell .requirement-paid,.adminRequirementCell .requirement-accepted,.adminRequirementCell .requirement-passed,.adminRequirementCell .requirement-complete,.adminRequirementCell .requirement-completed,.adminRequirementCell .requirement-eligible,.adminRequirementCell .requirement-active{color:#355d21;background:#e6f3d6}.adminRequirementCell .requirement-due,.adminRequirementCell .requirement-assigned,.adminRequirementCell .requirement-recorded,.adminRequirementCell .requirement-pending,.adminRequirementCell .requirement-expiring{color:#7c5511;background:#fff0cf}.adminRequirementCell .requirement-missing,.adminRequirementCell .requirement-incomplete,.adminRequirementCell .requirement-blocked,.adminRequirementCell .requirement-expired,.adminRequirementCell .requirement-revoked{color:var(--danger);background:#f8e2de}.adminRosterBulkBar{background:var(--cream);border:1px solid var(--line);border-radius:10px;grid-template-columns:150px 160px minmax(240px,1fr) auto;align-items:end;gap:10px;margin:16px 0;padding:14px;display:grid}.adminRosterBulkBar label,.adminRosterBulkBar input,.adminRosterBulkBar select,.adminRosterBulkBar button{margin:0}.adminAttendanceRow{grid-template-columns:minmax(130px,1fr) 145px auto;align-items:center;gap:8px;display:grid}.adminAttendanceRow input,.adminAttendanceRow select,.adminAttendanceRow button{margin:0}.adminAttendanceRow .adminAttendanceCorrection{grid-column:1/-1}.instructorRosterPrintAction{justify-content:flex-end;display:flex}.instructorPrintSummary,.instructorPrintSessionIdentity,.adminRosterPrintHeader,.adminRosterPrintAttendanceColumn{display:none}@media print{.publicSiteHeader,body>footer,.adminSidebar,.adminTopbar,.adminRosterControls,.adminRosterBulkBar,.adminRosterActions,.adminRosterSummaryColumn,.adminRosterEntryColumn,.adminRosterPage>.error,.adminRosterPage>.success,.instructorRosterPrintAction,.instructorRosterSessionControl,.instructorAssessmentEntry,.instructorAttendanceRecord>label,.instructorAttendanceRecord>button{display:none!important}.instructorAttendanceRecord{break-inside:avoid;margin:0 0 10px;padding:10px;display:block}.instructorPrintSessionIdentity{border-block:1px solid var(--line);margin:12px 0;padding:10px 0;display:block}.instructorPrintSessionIdentity h2,.instructorPrintSessionIdentity p{margin:3px 0}.instructorAttendanceRecord h2{margin-bottom:4px;font-size:14px}.instructorPrintSummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:8px 0 0;font-size:9px;display:grid}.instructorPrintSummary dt{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:700}.instructorPrintSummary dd{overflow-wrap:anywhere;margin:2px 0 0}.adminShell,.adminMain,.adminContent,.adminRosterPage,.adminRosterTable{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}.adminShell{grid-template-columns:minmax(0,1fr)!important;display:block!important}.adminContent,.adminMain{display:block!important}.adminTableWrap{overflow:visible!important}.adminRosterTable{font-size:8px}.adminRosterTable th,.adminRosterTable td{padding:6px 4px}}.adminCourseGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.adminCourseGrid>div{border:1px solid var(--line);border-radius:10px;padding:16px}.adminCourseGrid>div>span{color:var(--brand);letter-spacing:.6px;text-transform:uppercase;font-size:9px;font-weight:700}.adminCourseGrid h3{font-family:var(--font-sans);margin:10px 0 6px;font-size:18px}.adminCourseGrid p{color:var(--muted);font-size:12px;line-height:1.5}.adminCourseGrid small{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.adminClassDetailPage{gap:22px;display:grid}.adminDetailHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.adminDetailHeader>div>a{color:var(--brand);margin-bottom:26px;font-size:12px;font-weight:700;display:inline-block}.adminDetailHeader .eyebrow{margin:0 0 6px}.adminDetailHeader h1{font-family:var(--font-sans);margin:0;font-size:clamp(28px,2.6vw,36px);font-weight:700;line-height:1.15}.adminDetailHeader p:last-child{color:var(--muted);margin:8px 0 0}.adminDetailMetrics{grid-template-columns:repeat(4,minmax(0,1fr))}.adminDetailGrid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.75fr);gap:18px;display:grid}.adminClassEditForm{grid-template-columns:repeat(2,minmax(0,1fr))}.adminFormWide{grid-column:1/-1}.adminClassEditForm textarea{resize:vertical}.adminWebsiteWorkspace{gap:22px;min-width:0;display:grid}.adminWebsiteCourseEditor .adminDetailGrid{grid-template-columns:minmax(280px,.8fr) minmax(0,2fr)}.adminWebsiteWorkspace>*,.adminWebsiteEditorGrid>*,.adminWebsiteCourseEditor .adminDetailGrid>*,.adminSettingsPage>*,.adminCommunicationTemplatesPage>*,.adminImportPreflightPage>*{min-width:0;max-width:100%}.adminWebsitePreview,.adminTemplateRenderedPreview,.adminSettingsPage .panel,.adminCommunicationTemplatesPage .panel,.adminImportPreflightPage .panel{overflow-wrap:break-word}.adminWebsiteInventory{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.adminWebsiteInventory .panel{padding:18px}.adminWebsiteInventory .panel.active{border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}.adminWebsiteInventory h2{font-family:var(--font-sans);margin:10px 0 6px;font-size:18px}.adminWebsiteInventory p{margin:0 0 12px}.adminWebsiteEditorGrid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.adminWebsiteCtas fieldset{border:1px solid var(--line);border-radius:10px;gap:10px;margin:12px 0;padding:14px;display:grid}.adminWebsiteFieldGrid,.adminWebsiteAddressGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.adminWebsiteAddressGrid{grid-template-columns:1.4fr .8fr .8fr}.adminWebsiteCtas legend{color:var(--brand);font-size:12px;font-weight:700}.adminWebsitePreview{background:var(--cream)}.adminWebsitePreview h2{font-family:var(--font-sans);font-size:34px}.adminWebsitePreview h3{font-weight:500;line-height:1.4}.adminWebsitePreview>small{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.publicHomepage h2{font-family:var(--font-sans);max-width:760px;font-size:clamp(24px,3vw,38px);font-weight:500}.publicHomepage .button{gap:4px;display:grid}.publicHomepage .button small{color:inherit;font-weight:400}.publicHomepageBody>.publishedCourseContent:first-child{margin-top:20px}.publicHomepageSection{border-top:1px solid var(--line);margin-top:clamp(56px,7vw,88px);padding-top:clamp(48px,6vw,72px)}.publicHomepageSectionAction{justify-content:center;margin-top:28px;display:flex}.publicHomepageClassGrid,.publicHomepageSupportGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.publicHomepageClassCard,.publicHomepageSupportCard{border:1px solid var(--line);overflow-wrap:break-word;background:#fff;border-radius:18px;align-content:start;min-width:0;padding:clamp(22px,2.5vw,30px);display:grid}.publicHomepageClassCard h3,.publicHomepageSupportCard h3{font-family:var(--font-sans);margin:8px 0 12px;font-size:26px;line-height:1.18}.publicHomepageClassCard>p:not(.eyebrow),.publicHomepageSupportCard>p:not(.eyebrow),.publicHomepageSupportCard address{color:var(--muted);font-style:normal;line-height:1.65}.publicHomepageClassCard .publicHomepageClassProgram{color:var(--brand);margin:0 0 12px;font-weight:700}.publicHomepageClassCard dl{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 0;padding:18px 0;display:grid}.publicHomepageClassCard dt{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:700}.publicHomepageClassCard dd{margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.45}.publicHomepageClassCard>.button,.publicHomepageSupportCard>.button{justify-self:start;margin-top:22px}.publicHomepageSupportGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.publicHomepageSupportCard a:not(.button),.publicHomepageFaqLinks a{color:var(--brand);text-underline-offset:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.publicHomepageFaqLinks{gap:12px;margin:10px 0 0;padding-left:20px;line-height:1.5;display:grid}.publicContact>h1{font-family:var(--font-sans);margin:12px 0;font-size:clamp(42px,6vw,72px)}.publicContactIntro{max-width:720px;font-size:19px;line-height:1.6}.publicContact .adminDetailGrid{margin-top:34px}.publicAbout>h1{font-family:var(--font-sans);margin:12px 0;font-size:clamp(42px,6vw,72px)}.publicAboutBody{max-width:760px;font-size:18px;line-height:1.7}.publicAboutValues{padding-left:0;padding-right:0}.adminWebsitePreviewValue{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.publicHoursLocations>h1{max-width:760px;margin-bottom:20px}.publicHoursNote{max-width:760px;margin-bottom:28px}.publicHoursList>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(140px,1fr) 2fr;gap:18px;padding:12px 0;display:grid}.publicHoursList dd{margin:0}.publicHoursList small{margin-top:4px;display:block}.publicLocationCards{margin-top:24px}.publicLocationCards address{font-style:normal;line-height:1.65}.publicFaq>h1{max-width:760px;margin-bottom:18px}.publicFaqIntro{max-width:760px;font-size:18px;line-height:1.7}.publicFaqList{gap:14px;max-width:900px;margin-top:28px;display:grid}.publicFaqList summary{cursor:pointer;font-size:18px;font-weight:700}.publicFaqList p{white-space:pre-wrap;line-height:1.7}.publicPolicies>h1{max-width:760px;margin-bottom:18px}.publicPoliciesIntro{max-width:760px;font-size:18px;line-height:1.7}.publicPoliciesList{gap:18px;max-width:960px;margin-top:28px;display:grid}.publicPoliciesList p{white-space:pre-wrap;line-height:1.7}.publicSiteFooter{padding:60px var(--page-gutter) 24px;color:#d8e0e9;border-top:4px solid var(--gold);background:#1a293b}.publicFooterMain{grid-template-columns:1.4fr 1fr 1.1fr 1.2fr;gap:40px;padding-bottom:44px;display:grid}.publicFooterMain>*{min-width:0}.publicSiteFooter a{color:inherit;text-decoration:none}.publicSiteFooter a:hover,.publicSiteFooter a:focus-visible{color:#fff;text-underline-offset:5px;text-decoration:underline}.publicSiteFooter a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}.publicFooterIdentity{align-items:center;gap:12px;display:flex}.publicFooterMark{height:48px;color:var(--accent);font-family:var(--font-sans);border:1px solid #9aa9bb;border-radius:50%;flex:0 0 48px;place-items:center;font-size:21px;font-weight:700;display:grid}.publicFooterIdentity strong{color:#fffdfa;font-family:var(--font-sans);font-size:24px;line-height:1.2;display:block}.publicFooterIdentity>span>span{margin-top:7px;font-size:12px;line-height:1.5;display:block}.publicFooterBrand p{max-width:32ch;margin:20px 0 0;font-size:14px;line-height:1.7}.publicSiteFooter .publicFooterCta{background:var(--accent);color:#1a293b;border-radius:6px;align-items:center;gap:22px;margin-top:24px;padding:13px 18px;font-size:14px;font-weight:700;display:inline-flex}.publicFooterColumn{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.publicFooterColumn h2{color:#fffdfa;font-family:var(--font-sans);letter-spacing:1.4px;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:700}.publicFooterColumn a{overflow-wrap:break-word;padding:5px 0;font-size:14px;line-height:1.5}.publicFooterContact address{margin:12px 0 6px;font-size:14px;font-style:normal;line-height:1.8}.publicFooterBottom{border-top:1px solid #48586c;flex-wrap:wrap;align-items:center;gap:16px 28px;padding-top:22px;display:flex}.publicFooterBottom small{color:inherit;flex:300px;font-size:12px;line-height:1.7}.publicFooterBottom nav{flex-wrap:wrap;gap:10px 22px;display:flex}.publicFooterBottom a{padding:6px 0;font-size:12px;display:inline-block}@media (max-width:1050px){.publicFooterMain{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}}@media (max-width:560px){.publicSiteFooter{padding-top:36px}.publicFooterMain{gap:30px 20px;padding-bottom:30px}.publicFooterBrand,.publicFooterContact{grid-column:1/-1}.publicFooterColumn a{padding:8px 0}.publicFooterColumn h2{letter-spacing:1px;font-size:11px}.publicFooterBottom{align-items:flex-start;gap:12px}}.adminWebsiteCourseEditor{margin-top:32px}.publishedCourseContent{margin:56px 0}.publishedCourseRegistration{border-top:1px solid var(--line);margin-top:64px;padding-top:56px}.publicPageIntro{color:var(--muted);max-width:760px;font-size:19px;line-height:1.7}.publicSectionHeading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.publicSectionHeading h2{font-family:var(--font-sans);max-width:720px;margin:8px 0 0;font-size:clamp(30px,3.6vw,48px);line-height:1.08}.publicSectionHeading>p{color:var(--muted);max-width:440px;margin:0;line-height:1.65}.publicProgramFilter{grid-template-columns:minmax(200px,1.4fr) minmax(160px,1fr);align-items:end;gap:10px;width:min(480px,100%);display:grid}.publicProgramFilter label{gap:6px;font-size:12px;font-weight:700;display:grid}.publicProgramFilter>p{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px}.publicProgramFilterEmpty{justify-items:start;gap:10px;display:grid}.publicProgramGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.publicProgramCard{border:1px solid var(--line);background:#fff;border-radius:18px;align-content:start;min-width:0;padding:clamp(22px,2.5vw,32px);display:grid}.publicProgramCard h3{font-family:var(--font-sans);margin:10px 0 12px;font-size:27px;line-height:1.15}.publicProgramCard>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.65}.publicProgramCard>.button{justify-self:start;margin-top:24px}.publicProgramFacts{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0;padding:18px 0;display:grid}.publicProgramFacts dt{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:700}.publicProgramFacts dd{margin:5px 0 0;font-size:15px;font-weight:700}.publicClassList{gap:22px}.publicClassList article.publicClassCard{border-radius:22px;grid-template-columns:clamp(240px,24vw,320px) minmax(0,1fr) minmax(190px,.55fr);align-items:stretch;gap:0;padding:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden;box-shadow:0 12px 38px #1a293b12}.publicClassList article.publicClassCard:hover{border-color:color-mix(in srgb, var(--brand) 38%, var(--line));transform:translateY(-2px);box-shadow:0 18px 48px #1a293b1f}.publicClassMedia{background:var(--brand);min-height:290px;display:block;position:relative;overflow:hidden}.publicClassMedia:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#1a293b7a);position:absolute;inset:0}.publicClassMedia .publicClassThumb{object-fit:cover;width:100%;height:100%;transition:transform .22s}.publicClassCard:hover .publicClassMedia .publicClassThumb{transform:scale(1.025)}.publicClassMedia>span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--brand);letter-spacing:.8px;text-transform:uppercase;z-index:1;background:#fffdf8eb;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800;position:absolute;bottom:18px;left:18px}.publicClassCardBody{min-width:0;padding:clamp(24px,3vw,38px)}.publicClassCardHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.publicClassCardHeader .eyebrow{margin:0}.publicClassStatus{color:#31543e;background:#e9f2d0;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:800;display:inline-flex}.publicClassStatus:before{content:"";background:#6f9237;border-radius:999px;width:7px;height:7px}.publicClassStatus.isUrgent{color:var(--danger);background:#f5e9e6}.publicClassStatus.isUrgent:before{background:var(--danger)}.publicClassCardBody h2{font-family:var(--font-sans);margin:14px 0 8px;font-size:clamp(26px,2.5vw,36px);line-height:1.12}.publicClassCardBody h2 a:hover,.publicClassCardBody h2 a:focus-visible,.publicClassCourseLink a:hover,.publicClassCourseLink a:focus-visible{color:var(--brand);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.publicClassCourseLink{color:var(--muted);margin:0;font-size:13px;font-weight:700}.publicClassCourseLink a{color:var(--brand)}.publicClassMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.publicClassMetaItem{background:color-mix(in srgb, var(--cream) 72%, #fff);border:1px solid color-mix(in srgb, var(--line) 72%, transparent);border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px;min-width:0;padding:14px;display:grid}.publicClassMetaItem svg{fill:none;height:22px;stroke:var(--brand);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px}.publicClassMetaItem span,.publicClassPrice>span{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.publicClassMetaItem b,.publicClassMetaItem small{line-height:1.4;display:block}.publicClassMetaItem b{font-size:13px}.publicClassMetaItem small{margin-top:2px;font-size:12px}.publicClassSummary{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:18px 0 0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.publicClassCardAction{background:color-mix(in srgb, var(--cream) 62%, #fff);border-left:1px solid var(--line);flex-direction:column;justify-content:center;align-items:stretch;padding:clamp(24px,2.5vw,34px);display:flex}.publicClassPrice>strong{color:var(--brand);font-family:var(--font-sans);font-size:clamp(30px,3vw,40px);line-height:1;display:block}.publicClassPrice>small{margin-top:7px;font-size:11px}.publicClassCardAction .button{text-align:center;justify-content:center;align-items:center;min-height:50px;margin-top:24px;display:inline-flex}.publicHomepageClassCard .publicClassThumb{aspect-ratio:16/9;object-fit:cover;border-radius:12px;width:100%;margin-bottom:14px}.publicSeatNotice{color:var(--danger);font-weight:700}.adminThumbnailPanel{gap:12px}.publicOpenStatus{color:var(--ink);font-size:clamp(19px,2.2vw,24px);font-weight:700}.adminThumbnailPreview{aspect-ratio:16/9;border:1px solid var(--line);object-fit:cover;border-radius:12px;width:100%}.publicHomepageClassCard dl dd.publicSeatNotice{color:var(--danger)}.publicSchedulePage>.publicClassList{margin-top:40px}@media (max-width:1080px) and (min-width:761px){.publicClassList article.publicClassCard{grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr)}.publicClassCardAction{border-left:0;border-top:1px solid var(--line);flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;padding:20px clamp(24px,3vw,38px)}.publicClassCardAction .button{min-width:190px;margin-top:0}}@media (prefers-reduced-motion:reduce){.publicClassList article.publicClassCard,.publicClassMedia .publicClassThumb{transition:none}.publicClassList article.publicClassCard:hover,.publicClassCard:hover .publicClassMedia .publicClassThumb{transform:none}}.publicClassDetail{overflow-x:clip}.publicClassDetailHero{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start;gap:clamp(28px,5vw,72px);display:grid}.publicClassDetailHero>*{min-width:0}.publicClassDetailHero>aside{border:1px solid var(--line);background:#fff;border-radius:18px;padding:clamp(24px,3vw,34px);box-shadow:0 16px 42px #1a293b14}.publicClassDetailHero h1{font-family:var(--font-sans);max-width:900px;margin:12px 0 22px;font-size:clamp(38px,6vw,70px);line-height:1.02}.publicClassDetailHero aside h2{font-family:var(--font-sans);margin:8px 0 12px;font-size:28px}.publicClassCourseLink{margin-top:22px}.publicClassRegistrationPrice{color:var(--brand);font-family:var(--font-sans);margin:0;font-size:36px;font-weight:700}.publicClassRegistrationForm{border-top:1px solid var(--line);gap:14px;margin-top:22px;padding-top:22px;display:grid}.publicClassRegistrationForm label{gap:7px;min-width:0;display:grid}.publicClassRegistrationForm label.checkRow{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;line-height:1.45;display:grid}.publicClassRegistrationForm label.checkRow input{width:16px;margin:3px 0 0;padding:0}.publicClassRegistrationForm .wide{text-align:center}.publicClassRegistrationNotice{padding:18px}.publicClassRegistrationNotice .actions{align-items:stretch;gap:8px;display:grid}.publicClassDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:clamp(44px,7vw,84px);display:grid}.publicClassDetailGrid>*{min-width:0}.publicClassFacts{gap:0;margin:24px 0 0;display:grid}.publicClassFacts>div{border-top:1px solid var(--line);grid-template-columns:minmax(95px,.35fr) minmax(0,1fr);gap:10px;padding:15px 0;display:grid}.publicClassFacts dt{color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;font-size:12px;font-weight:700}.publicClassFacts dd{margin:0}.registrationFormPage{max-width:1180px;margin:0 auto}.registrationFormHeader{grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);align-items:start;gap:clamp(24px,4vw,52px);display:grid}.registrationFormHeader h1{font-family:var(--font-sans);margin:10px 0 18px;font-size:clamp(36px,5vw,58px);line-height:1.05}.registrationFormProgress{gap:10px;display:grid}.registrationFormStep{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;display:grid}.registrationFormStep>span{color:var(--muted);background:#eef1f5;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.registrationFormStep[aria-current=step]{border-color:var(--brand);box-shadow:0 0 0 3px #1a293b14}.registrationFormStep[aria-current=step]>span{background:var(--brand);color:#fff}.registrationFormStep strong,.registrationFormStep small{display:block}.registrationFormStep small{color:var(--muted);margin-top:2px;line-height:1.4}.registrationFormCard{gap:28px;margin-top:clamp(32px,5vw,56px);display:grid}.registrationFormCard fieldset{background:#fff;border-radius:16px;gap:18px;padding:clamp(18px,3vw,28px)}.registrationFormCard legend{font-family:var(--font-sans);padding:0 10px;font-size:22px}.registrationFormField,.registrationAttestation label{gap:8px;display:grid}.registrationFormField>span,.registrationAttestation label>span{font-weight:700}.registrationFormCard label.checkRow{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;line-height:1.5;display:grid}.registrationFormCard label.checkRow input{width:16px;margin:4px 0 0;padding:0}.registrationFormCard textarea{resize:vertical;min-height:120px}.registrationFormHelp{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.registrationAttestation{border:1px solid var(--line);background:#f4f6f9;border-radius:16px;gap:16px;padding:clamp(18px,3vw,28px);display:grid}.registrationAttestation h2{font-family:var(--font-sans);margin:0}.registrationFormActions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.registrationFormComplete{border:1px solid var(--line);background:#f4f6f9;border-radius:18px;gap:14px;margin-top:clamp(32px,5vw,56px);padding:clamp(24px,4vw,40px);display:grid}.registrationFormComplete h2{font-family:var(--font-sans);margin:0;font-size:30px}.publicCourseDetail>h1{max-width:850px}.publicBreadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;font-size:.9rem;display:flex}.publicBreadcrumbs a{color:var(--brand);font-weight:700}.publicCourseSummary{max-width:760px;font-size:20px;line-height:1.7}.publicCourseDetail>.panel{margin-top:24px}.adminRuleFieldset{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, var(--brand) 8%);border-radius:14px;gap:.7rem;padding:1rem;display:grid}.adminRuleFieldset legend{padding:0 .4rem;font-weight:700}.adminRuleFieldset label{align-items:flex-start;gap:.65rem;font-weight:600;display:flex}.adminRuleFieldset input{width:auto;margin-top:.15rem}.adminFormActions{justify-content:flex-end;align-items:center;display:flex}.adminSessionList{display:grid}.adminSessionList>div{border-top:1px solid var(--line);padding:14px 0}.adminSessionList b,.adminSessionList small{display:block}.adminSessionList small{margin:5px 0 8px}.adminSessionList span{background:var(--cream);color:var(--brand);text-transform:uppercase;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:700;display:inline-block}.adminClassRosterPanel{margin-top:4px}.adminClassDirectory .adminTableWrap,.adminClassRosterPanel .adminTableWrap,.adminCalendarScroller{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminClassDirectory .adminTableWrap:focus-visible,.adminClassRosterPanel .adminTableWrap:focus-visible,.adminCalendarScroller:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.adminPanelActions,.adminCalendarActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.adminCalendarPage{gap:22px;display:grid}.adminCalendarHeader{align-items:flex-end}.adminCalendarActions button{min-width:42px;padding:10px 14px}.adminCalendarPanel{overflow:hidden}.adminCalendarScroller{margin-top:20px}.adminCalendarWeekdays,.adminCalendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.adminCalendarWeekdays{border:1px solid var(--line);border-bottom:0}.adminCalendarWeekdays span{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;padding:10px 12px;font-size:10px;font-weight:700}.adminCalendarDay{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:150px;padding:10px}.adminCalendarDay:nth-child(7n+1){border-left:1px solid var(--line)}.adminCalendarDay>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.adminCalendarDay>header time{font-size:12px;font-weight:700}.adminCalendarDay>header span{color:var(--brand);text-transform:uppercase;font-size:9px;font-weight:700}.adminCalendarDay.isOutside{color:#9a9a92;background:#f8f7f2}.adminCalendarDay.isToday{box-shadow:inset 0 0 0 2px var(--gold)}.adminCalendarDay>div{gap:7px;display:grid}.adminCalendarEvent{border-left:3px solid var(--brand);color:var(--ink);background:#eaf2ed;border-radius:4px;padding:7px;display:block}.adminCalendarEvent.status-draft{background:#f1f1ed;border-left-color:#77776f}.adminCalendarEvent.status-closed,.adminCalendarEvent.status-completed{background:#edf1f4;border-left-color:#506a7a}.adminCalendarEvent.status-canceled{border-left-color:var(--danger);background:#f8e2de}.adminCalendarEvent time,.adminCalendarEvent b,.adminCalendarEvent small{display:block}.adminCalendarEvent time{color:var(--brand);text-transform:uppercase;font-size:9px;font-weight:700}.adminCalendarEvent b{margin-top:3px;font-size:11px;line-height:1.25}.adminCalendarEvent small{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.adminCalendarEmpty{color:var(--muted);text-align:center;margin:20px 0 0}.adminRegistrationPage,.adminRegistrationDetailPage{gap:22px;min-width:0;max-width:100%;display:grid}.adminRegistrationPage>*,.adminRegistrationPanel,.adminRegistrationPanel>*{min-width:0;max-width:100%}.adminRegistrationPanel .adminTableWrap{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminRegistrationPanel .adminTableWrap:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.adminRegistrationHeader{align-items:flex-start}.adminHeaderContext{background:var(--brand);color:#fff;overflow-wrap:break-word;border-radius:12px;min-width:240px;max-width:100%;padding:18px 20px}.adminHeaderContext b,.adminHeaderContext span,.adminHeaderContext small{display:block}.adminHeaderContext b{color:var(--accent);font-family:var(--font-sans);font-size:34px}.adminHeaderContext span{margin-top:2px;font-size:12px;font-weight:700}.adminHeaderContext small{color:#c4cedb;margin-top:8px;line-height:1.35}.adminQueueTabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.adminQueueTabs button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;min-height:112px;padding:15px}.adminQueueTabs button:hover,.adminQueueTabs button.active{border-color:var(--brand);box-shadow:inset 0 -3px 0 var(--brand)}.adminQueueTabs b,.adminQueueTabs span,.adminQueueTabs small{display:block}.adminQueueTabs b{color:var(--brand);font-family:var(--font-sans);font-size:26px}.adminQueueTabs span{margin-top:7px;font-size:11px;font-weight:700}.adminQueueTabs small{margin-top:5px;font-size:9px;line-height:1.3}.adminRegistrationPanel{overflow:hidden}.adminRegistrationFilters{background:var(--cream);border-radius:10px;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,.7fr)) auto;align-items:end;gap:12px;min-width:0;max-width:100%;margin-bottom:18px;padding:14px;display:grid}.adminRegistrationFilters label{min-width:0;margin:0}.adminRegistrationFilterActions{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.adminRegistrationFilterActions button{white-space:nowrap}.adminRegistrationFilterActions .secondary,.adminPagination button{border:1px solid var(--line);color:var(--brand);background:#fff}.adminRegistrationTable{min-width:1160px}.adminRegistrationTable td:nth-child(3)>b,.adminRegistrationTable td:nth-child(4),.adminRegistrationTable td:nth-child(5),.adminRegistrationTable td:nth-child(6){white-space:nowrap}.adminRegistrationTable td:last-child{text-align:right;min-width:96px}.adminMutedValue{color:var(--muted);font-size:11px}.adminPagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:10px;padding-top:16px;display:flex}.adminPagination>span{color:var(--muted);font-size:11px}.adminPagination>div{gap:8px;display:flex}.adminPagination button{padding:8px 12px}.adminPagination button:disabled{cursor:not-allowed;opacity:.45}.adminAssignmentQueueTabs{grid-template-columns:repeat(5,minmax(0,1fr))}.adminAssignmentLayout{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.adminAssignmentFilters{background:var(--cream);border-radius:10px;grid-template-columns:minmax(220px,1fr) 180px auto;align-items:end;gap:12px;margin-bottom:18px;padding:14px;display:grid}.adminAssignmentFilters label{margin:0}.adminAssignmentTable{min-width:1120px}.adminAssignmentTable td>b,.adminAssignmentTable td>small,.adminAssignmentTable td>span,.adminAssignmentConflict b,.adminAssignmentConflict small,.adminAssignmentSelection b,.adminAssignmentSelection span,.adminAssignmentSelection small{display:block}.adminAssignmentTable td>small,.adminAssignmentConflict small{color:var(--muted);margin-top:4px;line-height:1.35}.adminAssignmentConflict{border-left:3px solid #b25a37;max-width:250px;padding-left:9px;display:block}.adminAssignmentConflict b,.adminAssignmentAlert{color:#8b3b24}.adminAssignmentAlert{margin-top:5px;font-size:10px;font-weight:700;display:block}.adminAssignmentSelection{background:var(--cream);border-left:3px solid var(--brand);border-radius:7px;padding:12px}.adminAssignmentSelection span,.adminAssignmentSelection small{color:var(--muted);margin-top:4px}.adminAssessmentPage{gap:22px;display:grid}.adminAssessmentLayout{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:18px;display:grid}.adminAssessmentReviewList{gap:12px;display:grid}.adminAssessmentReviewList form{background:var(--cream);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(80px,.35fr) minmax(100px,.45fr);align-items:end;gap:12px;padding:14px;display:grid}.adminAssessmentReason{grid-column:1/span 2}.adminAssessmentReviewList form>button{grid-column:3}.adminAssessmentReviewList form>div b,.adminAssessmentReviewList form>div span,.adminAssessmentReviewList form>div small{display:block}.adminAssessmentReviewList form>div span,.adminAssessmentReviewList form>div small{color:var(--muted);margin-top:4px}.adminAssessmentReviewList label,.adminAssessmentEntryPanel label{margin:0}.adminAssessmentEntryPanel{gap:18px;display:grid;position:sticky;top:18px}.adminAssessmentEntryPanel form{gap:13px;display:grid}.adminAssessmentCompactGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.adminDocumentPage{gap:22px;display:grid}.adminDocumentLayout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.adminDocumentLayout.hasSidebar{grid-template-columns:minmax(0,1fr) 350px}.adminDocumentFilters{background:var(--cream);border-radius:10px;grid-template-columns:minmax(220px,1fr) 180px auto auto;align-items:end;gap:12px;margin-bottom:18px;padding:14px;display:grid}.adminDocumentFilters label,.adminDocumentForm label{margin:0}.adminDocumentInventory{gap:16px;min-width:0;display:grid}.adminDocumentInventoryToolbar{gap:16px;display:grid}.adminDocumentInventoryToolbar .adminDocumentFilters{margin-bottom:0}.adminDocumentInventory>.adminPagination{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:0;padding:12px 16px}.adminDocumentTable{min-width:1180px}.adminDocumentTable td>b,.adminDocumentTable td>span,.adminDocumentTable td>small{display:block}.adminDocumentTable td>small{color:var(--muted);margin-top:4px}.adminDocumentActions{flex-wrap:wrap;gap:7px;display:flex}.adminDocumentActions a,.adminDocumentActions button{border:1px solid var(--line);color:var(--brand);background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.adminDocumentGallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.adminDocumentCard{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-rows:auto 1fr;min-width:0;display:grid;position:relative;overflow:hidden}.adminDocumentMenu{z-index:3;position:absolute;top:10px;right:10px}.adminDocumentMenu>summary{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;font-weight:700;line-height:1;list-style:none;display:inline-flex;box-shadow:0 6px 16px #1a293b1f}.adminDocumentMenu>summary::-webkit-details-marker{display:none}.adminDocumentMenu>summary:hover,.adminDocumentMenu>summary:focus-visible,.adminDocumentMenu[open]>summary{border-color:var(--brand);color:var(--brand)}.adminDocumentMenuList{background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:170px;margin-top:8px;padding:6px;display:grid;position:absolute;right:0;box-shadow:0 18px 44px #1a293b24}.adminDocumentMenuList :is(a,button){color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:flex-start;width:100%;min-height:0;padding:9px 12px;font-size:13px;font-weight:600;display:block}.adminDocumentMenuList :is(a,button):hover,.adminDocumentMenuList :is(a,button):focus-visible{background:var(--cream);color:var(--brand)}.adminDocumentThumbnail{aspect-ratio:4/3;border-bottom:1px solid var(--line);background:#e6ebf1;position:relative;overflow:hidden}.adminDocumentThumbnail img{object-fit:contain;pointer-events:none;background:#eef1f5;border:0;width:100%;height:100%;display:block}.adminDocumentThumbnail .adminPdfPreview{width:100%;height:100%}.adminDocumentThumbnail>button,.adminDocumentThumbnail>a{z-index:2;background:0 0;border:0;border-radius:0;width:100%;min-height:0;padding:0;position:absolute;inset:0}.adminDocumentThumbnail>button:hover,.adminDocumentThumbnail>button:focus-visible,.adminDocumentThumbnail>a:hover,.adminDocumentThumbnail>a:focus-visible{box-shadow:inset 0 0 0 3px var(--brand);background:#1a293b17}.adminDocumentThumbnailType{background:var(--brand);color:#fff;letter-spacing:.6px;z-index:1;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:700;position:absolute;top:10px;left:10px}.adminDocumentThumbnailFallback{text-align:center;align-content:center;justify-items:center;height:100%;padding:20px;display:grid}.adminDocumentThumbnailFallback b{color:var(--brand);font-family:var(--font-sans);font-size:34px}.adminDocumentThumbnailFallback span{color:var(--muted);margin-top:5px;font-size:12px}.adminDocumentCardBody{align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.adminDocumentCardStudent{color:var(--brand);font-weight:700}.adminDocumentCardTitle{color:var(--ink);font-family:var(--font-sans);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;font-size:20px;overflow:hidden;justify-content:flex-start!important;min-height:auto!important;padding:0!important}.adminDocumentCardTitle:hover{color:var(--brand);background:0 0}.adminDocumentCardBody>small:not(.adminDocumentCardStudent){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adminDocumentCardTags{flex-wrap:wrap;gap:6px;display:flex}.adminDocumentCardTags span{color:var(--brand);background:#edf1f6;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.adminDocumentCard dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:2px 0 0;display:grid}.adminDocumentCard dt,.adminDocumentViewerDetails dt{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:9px;font-weight:700}.adminDocumentCard dd,.adminDocumentViewerDetails dd{overflow-wrap:break-word;margin:4px 0 0;font-size:12px;font-weight:700}.adminDocumentCardActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:4px;display:grid}.adminDocumentCardActions>:is(a,button){border:1px solid var(--line);color:var(--brand);background:#fff;border-radius:7px;justify-content:center;align-items:center;min-height:38px;padding:8px;font-size:11px;font-weight:700;display:inline-flex}.adminDocumentCardActions>.primary{background:var(--brand);border-color:var(--brand);color:#fff}.adminReportActions a{min-height:44px;display:inline-flex}.adminReportGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.adminReportCard{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-width:0;padding:22px;display:flex}.adminReportCard h2{font-family:var(--font-sans);margin:0;font-size:22px}.adminReportCard p{color:var(--muted);margin:10px 0 20px;line-height:1.55}.adminReportActions{margin-top:auto}.adminDocumentSidebar{gap:18px;display:grid}.adminDocumentSidebar>*{margin:0}.adminDocumentSidebar summary{cursor:pointer;font-family:var(--font-sans);font-size:20px;font-weight:700}.adminDocumentForm{gap:12px;margin-top:16px;display:grid}.adminDocumentUpload{gap:4px;display:grid}.adminDocumentReplace{border-top:4px solid var(--brand)}.adminDocumentReplaceActions{gap:8px;display:flex}.adminDocumentReplaceActions .secondary{border:1px solid var(--line);color:var(--brand);background:#fff}.adminDocumentHistory{background:var(--cream);border-radius:8px;gap:7px;margin-top:14px;padding:12px;display:grid}.adminDocumentHistory>b,.adminDocumentHistory>small,.adminDocumentHistory a span,.adminDocumentHistory a small{display:block}.adminDocumentHistory>small,.adminDocumentHistory a small{color:var(--muted);margin-top:3px}.adminDocumentHistory a{border-top:1px solid var(--line);color:var(--brand);padding-top:8px;font-size:11px;font-weight:700}.adminDocumentUploadForm{gap:24px}.adminDocumentUploadStep{border:1px solid var(--line);background:#fff;border-radius:16px;gap:16px;padding:20px;display:grid}.adminDocumentUploadStepHeading{align-items:center;gap:12px;display:flex}.adminDocumentUploadStepHeading>span{background:var(--accent);color:var(--brand);font-family:var(--font-sans);border-radius:999px;flex:0 0 32px;justify-content:center;align-items:center;height:32px;font-size:18px;font-weight:700;display:inline-flex}.adminDocumentUploadStepHeading b,.adminDocumentUploadStepHeading small{display:block}.adminDocumentUploadStepHeading b{font-size:16px}.adminDocumentUploadStepHeading small{color:var(--muted);margin-top:2px}.adminDocumentDropzone{text-align:center;background:linear-gradient(145deg,#fbfcfb,#f4f6f9);border:2px dashed #aab6c7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:250px;padding:28px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.adminDocumentDropzone.isActive{border-color:var(--brand);background:#fff0df;border-style:solid;box-shadow:0 0 0 4px #1a293b1a}.adminDocumentDropzone.hasFiles:not(.isActive){border-color:#8395ad}.adminDocumentDropzone>svg{fill:none;height:52px;stroke:var(--brand);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25px;width:52px}.adminDocumentDropzoneCopy b,.adminDocumentDropzoneCopy small{display:block}.adminDocumentDropzoneCopy b{font-family:var(--font-sans);font-size:22px}.adminDocumentDropzoneCopy small,.adminDocumentCameraHelp{color:var(--muted)}.adminDocumentDropzoneCopy small{margin-top:4px}.adminDocumentDropzoneActions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.adminDocumentDropzoneActions button{background:var(--brand);color:#fff;min-width:150px}.adminDocumentDropzoneActions button.secondary{color:var(--brand);background:#fff}.adminDocumentCameraHelp{max-width:560px;font-size:12px;line-height:1.5}.adminDocumentUploadError{border-left:4px solid var(--danger);color:var(--danger-strong);background:#fdf1ee;border-radius:8px;margin:0;padding:12px 14px}.adminDocumentSelection{border:1px solid var(--line);border-radius:12px;overflow:hidden}.adminDocumentSelection>div{background:var(--cream);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.adminDocumentSelection>div>button,.adminDocumentSelection li>button{border:0;min-height:auto;padding:5px 7px}.adminDocumentSelection ul{margin:0;padding:0;list-style:none}.adminDocumentSelection li{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;display:grid}.adminDocumentRow{gap:10px;min-width:0;display:grid}.adminDocumentRowMeta{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.adminDocumentRowMeta label{font-size:12px;font-weight:700}.adminDocumentRowMeta input,.adminDocumentRowMeta select{min-height:40px;padding:8px 10px;font-size:14px}@media (max-width:760px){.adminDocumentRowMeta{grid-template-columns:1fr}}.adminDocumentRowToggle{color:var(--brand);text-underline-offset:3px;background:0 0;border:0;justify-self:start;min-height:auto;padding:2px 0;font-size:12px;font-weight:700;text-decoration:underline}.adminDocumentRowToggle:hover{color:var(--ink);background:0 0;border:0}.adminDocumentRowExtra{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:end}.adminDocumentSelection li>span{color:var(--brand);letter-spacing:.6px;background:#e8f0ed;border-radius:7px;padding:7px 6px;font-size:10px;font-weight:700}.adminDocumentSelection li b,.adminDocumentSelection li small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.adminDocumentSelection li small{color:var(--muted);margin-top:2px}.adminDocumentUploadMetadata{gap:16px;display:grid}.adminDocumentUploadMetadata>label,.adminDocumentUploadMetadata .adminAssessmentCompactGrid>label{gap:5px;display:grid}.adminDocumentUploadMetadata input:disabled{background:var(--cream);color:var(--muted)}.adminDocumentUploadSubmit{box-shadow:0 10px 24px #1a293b24;min-height:54px!important}.adminPaymentPage{gap:18px;display:grid}.adminPaymentMetrics{margin:0}.adminCurrencyBreakdown{background:var(--cream);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:10px 24px;padding:12px 16px;display:flex}.adminCurrencyBreakdown span{color:var(--muted);font-size:12px}.adminCurrencyBreakdown b{color:var(--brand);margin-right:4px}.adminPaymentFilters form{grid-template-columns:minmax(220px,2fr) repeat(5,minmax(125px,1fr)) auto;align-items:end;gap:12px;display:grid}.adminCommunicationsFilters form{grid-template-columns:repeat(4,minmax(0,1fr))}.adminCommunicationsFilters form>label:first-child{grid-column:span 2}.adminCommunicationsPage>.adminMetricGrid{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1400px){.adminCommunicationsPage>.adminMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.adminCommunicationsPage>.adminMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.adminPaymentFilters label,.adminPaymentConfirm label{gap:5px;font-size:11px;font-weight:700;display:grid}.adminPaymentTable{min-width:1180px}.adminPaymentLedger .adminTableWrap{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminPaymentLedger .adminTableWrap:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.adminStudentDirectoryPage .adminTableWrap,.adminStudentProfilePage .adminTableWrap{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminStudentProfileTabPanel,.adminEmbeddedWorkspace{gap:var(--admin-section-gap);min-width:0;display:grid}.adminStudentProfilePage>a:first-child{color:var(--brand);justify-self:start;font-size:12px;font-weight:700}.adminStudentProfilePage>.adminDetailHeader{align-items:center;gap:18px}.adminStudentProfilePage>.adminDetailHeader>:first-child{flex:420px}.adminStudentProfilePage>.adminDetailHeader .adminHeaderContext{flex:0 0 260px;gap:3px;min-width:220px;padding:13px 17px;display:grid}.adminStudentProfilePage>.adminDetailHeader .adminHeaderContext>:is(b,span,small){flex-basis:auto}.adminStudentProfilePage>.adminDetailHeader .adminHeaderContext b{font-size:26px}.adminStudentProfilePage>.adminDetailHeader .adminHeaderContext small{margin-top:2px}.adminStudentProfilePage .adminDocumentPage{gap:14px}.adminStudentProfilePage .adminDocumentPage>.adminPanelHeading{margin-bottom:0}.adminStudentProfilePage .adminDocumentPage>:is(.success,.error){margin:0}.adminAssignmentLayoutEmbedded{grid-template-columns:minmax(0,1fr)}.adminAssignmentFiltersScoped{grid-template-columns:minmax(220px,1fr) auto}.adminStudentDirectoryPage .adminTableWrap:focus-visible,.adminStudentProfilePage .adminTableWrap:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.adminCommunicationsPage .adminTableWrap,.adminAuditPage .adminTableWrap,.adminStaffPage .adminTableWrap{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminCommunicationsPage .adminTableWrap:focus-visible,.adminAuditPage .adminTableWrap:focus-visible,.adminStaffPage .adminTableWrap:focus-visible,.adminImportPreflightPage .adminTableWrap:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.adminStaffActions{flex-wrap:wrap;gap:8px;display:flex}.adminCommunicationsPage .adminDetailGrid>*,.adminAuditPage details,.adminAuditPage details pre{min-width:0;max-width:100%}.adminCommunicationsPage .adminDetailGrid pre,.adminAuditPage details pre{overflow-wrap:anywhere;white-space:pre-wrap;overflow:auto}.adminImportPreflightPage .adminTableWrap{contain:layout inline-size paint;inline-size:100%;min-inline-size:0;max-inline-size:100%;overflow:auto}.adminImportPreflightPage .adminDataTable code{overflow-wrap:anywhere;white-space:normal}.adminPaymentTable td>b,.adminPaymentTable td>span,.adminPaymentTable td>small{display:block}.adminPaymentTable td>small{color:var(--muted);margin-top:4px}.adminPaymentActions{gap:7px;min-width:180px;display:grid}.adminPaymentActions>a,.adminPaymentActions summary{color:var(--brand);cursor:pointer;font-size:11px;font-weight:700}.adminPaymentConfirm{background:var(--cream);border-radius:8px;gap:9px;margin-top:8px;padding:12px;display:grid}.adminPaymentConfirm small{color:var(--muted);line-height:1.4}.adminPaymentHistory>div{border-top:1px solid var(--line);gap:3px;margin-top:7px;padding-top:7px;display:grid}.adminPaymentHistory>div b,.adminPaymentHistory>div small,.adminPaymentHistory>div a{font-size:10px;display:block}.adminPaymentHistory>small{color:var(--muted);margin-top:7px;display:block}.adminBackLink{color:var(--brand);margin-bottom:22px;font-size:12px;font-weight:700;display:inline-block}.adminRegistrationState{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.adminRegistrationState code{color:var(--muted);background:#eef1f5;border-radius:5px;padding:5px 7px;font-size:10px}.adminRegistrationMetrics{gap:12px;display:grid}.adminRegistrationMetrics>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:17px}.adminRegistrationMetrics b,.adminRegistrationMetrics span{display:block}.adminRegistrationMetrics b{color:var(--brand);font-family:var(--font-sans);font-size:20px}.adminRegistrationMetrics span{color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:10px;font-weight:700}.adminRegistrationPrimary,.adminRegistrationSidebar{gap:18px;display:grid}.adminDefinitionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid}.adminDefinitionGrid>div,.adminOperationalRecord dl>div{border-top:1px solid var(--line);padding:13px 0}.adminDefinitionGrid>div:nth-child(odd){padding-right:22px}.adminDefinitionGrid>div:nth-child(2n){padding-left:22px}.adminDefinitionGrid dt,.adminOperationalRecord dt,.adminOrderAmounts dt{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:9px;font-weight:700}.adminDefinitionGrid dd,.adminOperationalRecord dd,.adminOrderAmounts dd{margin:5px 0 0;font-size:12px;font-weight:700;line-height:1.45}.adminDetailNote{background:var(--cream);border-radius:8px;margin-top:16px;padding:14px}.adminDetailNote p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.adminOrderList{gap:12px;display:grid}.adminOrderList>section{border:1px solid var(--line);border-radius:10px;padding:15px}.adminOrderList>section>header{border:0;justify-content:space-between;align-items:center;gap:14px;height:auto;padding:0;display:flex}.adminOrderList header b,.adminOrderList header small{display:block}.adminOrderList header small{margin-top:4px}.adminOrderAmounts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0 0;display:grid}.adminTransactionList{border-top:1px solid var(--line);margin-top:14px;padding-top:5px;display:grid}.adminTransactionList>div{grid-template-columns:auto 100px minmax(140px,1fr) auto auto;align-items:center;gap:12px;padding-top:10px;display:grid}.adminTransactionList>div>a{white-space:nowrap;font-size:13px}.adminTimeline{margin:18px 0 0;padding:0;list-style:none;display:grid}.adminTimeline li{grid-template-columns:26px 1fr;gap:10px;min-height:62px;display:grid;position:relative}.adminTimeline li:not(:last-child):after{background:var(--line);content:"";width:1px;height:34px;position:absolute;top:27px;left:12px}.adminTimeline li>span{background:#eef1f5;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:10px;display:flex}.adminTimeline li.complete>span{background:var(--brand);color:#fff}.adminTimeline b,.adminTimeline small{display:block}.adminTimeline b{font-size:12px}.adminTimeline small{margin-top:4px}.adminRequirementList{margin-top:14px;display:grid}.adminRequirementList>div{border-top:1px solid var(--line);padding:12px 0}.adminRequirementList b,.adminRequirementList span,.adminRequirementList small{display:block}.adminRequirementList b{font-size:12px}.adminRequirementList span{color:var(--brand);text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:700}.adminRequirementList small{margin-top:5px;line-height:1.45}.adminOperationalRecord dl{margin:14px 0 0}.adminContextFootnote{background:var(--cream);color:var(--muted);border-radius:8px;margin:12px 0 0;padding:12px;font-size:10px;line-height:1.5}.adminFormReviewCard{border:1px solid var(--line);border-radius:12px;gap:16px;padding:18px;display:grid}.adminFormReviewCard>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.adminFormReviewCard h3,.adminFormReviewCard header p{margin:0}.adminFormReviewCard header span,.adminFormReviewCard header a{margin-top:5px;font-size:11px;display:block}.adminFormReviewCard header a{color:var(--brand);font-weight:700}.adminFormReviewCard>button{justify-self:start}.adminFormReviewEvidence{background:var(--cream);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;display:grid}.adminFormReviewEvidence b,.adminFormReviewEvidence small{display:block}.adminFormReviewEvidence small{margin-top:4px}.adminFormReviewSections{gap:16px;display:grid}.adminFormReviewSections h4{margin:0 0 8px}.adminFormReviewSections dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.adminFormReviewSections dl>div{border-top:1px solid var(--line);padding:12px 16px 12px 0}.adminFormReviewSections dt{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:9px;font-weight:700}.adminFormReviewSections dd{white-space:pre-wrap;margin:5px 0 0;font-size:12px;font-weight:700;line-height:1.5}.adminFormDecisionActions,.adminFormDecisionActions form,.adminRegistrationActions,.adminRegistrationActions form,.adminRegistrationNoteForm{gap:12px;display:grid}.adminFormDecisionActions{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.55fr) minmax(260px,1fr);padding-top:16px}.adminFormDecisionActions textarea,.adminRegistrationActions textarea,.adminRegistrationNoteForm textarea{resize:vertical;min-height:92px}.adminFormDecisionActions label,.adminRegistrationActions label,.adminRegistrationNoteForm label{gap:6px;font-size:12px;font-weight:700;display:grid}.adminRegistrationActions details{border-top:1px solid var(--line);padding-top:12px}.adminRegistrationActions details>summary{margin:0;font-size:13px}.adminRegistrationActions details[open]>summary{margin-bottom:12px}.adminDecisionChecks{gap:10px;display:grid}.adminDecisionChecks>div{border-top:1px solid var(--line);padding-top:10px}.adminDecisionChecks small{margin-top:6px;line-height:1.45;display:block}.adminRegistrationPaymentForm{border-top:1px solid var(--line);padding-top:12px}.adminRegistrationPaymentForm .adminPaymentBalance{margin:0;font-size:14px}.adminRegistrationPaymentForm .adminPaymentBalance small{margin-top:2px;display:block}.adminRegistrationPaymentForm textarea{min-height:56px}.adminRegistrationNotes{display:grid}.adminRegistrationNotes>div{border-top:1px solid var(--line);padding:13px 0}.adminRegistrationNotes p{white-space:pre-wrap;margin:0}.adminRegistrationNotes small{margin-top:6px;display:block}.adminWorkspacePage{align-content:start;gap:var(--admin-section-gap);display:grid}.adminWorkspacePage>*{margin-block:0}.adminWorkspacePage .panel{align-content:start;gap:var(--admin-panel-gap);display:grid}.adminWorkspacePage .panel>:is(.adminPanelHeading,.adminTableHeading,.adminMetricGrid,.adminDetailGrid,.adminTableWrap,.adminTableEmpty,form,p){margin-block:0}.adminWorkspacePage .adminMetricGrid,.adminWorkspacePage .formGrid,.adminWorkspacePage .adminPaymentFilters form{column-gap:var(--admin-control-gap);row-gap:var(--admin-control-gap)}.adminWorkspacePage .formGrid,.adminWorkspacePage .adminPaymentFilters form{align-items:end}.adminWorkspacePage .formGrid>button,.adminWorkspacePage .adminPaymentFilters form>button{align-self:end;min-height:44px}.adminWorkspacePage>:is(.muted,.notice):last-child{margin-block:0}.launchReadinessMetrics{grid-template-columns:repeat(5,minmax(0,1fr))}.launchReadinessNotice{border-left:4px solid var(--accent)}.launchReadinessSection{gap:var(--admin-panel-gap);display:grid}.launchReadinessGrid{gap:var(--admin-panel-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.launchReadinessCard{grid-template-rows:auto auto 1fr auto}.launchReadinessCardHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.launchReadinessCardHeader h3{margin:0}.launchReadinessCard>small{color:var(--muted);line-height:1.5}.launchReadinessCard>.button{justify-self:start}.signaturePad{gap:6px;display:grid}.signaturePadLabel{font-size:12px;font-weight:700}.signaturePad canvas{border:1px dashed var(--line);touch-action:none;background:#fff;border-radius:8px;width:100%;height:130px}.signaturePadActions{justify-content:space-between;align-items:center;gap:10px;display:flex}.signaturePadActions small{color:var(--muted)}.adminFormSignature{border:1px solid var(--line);background:#fff;border-radius:6px;max-width:280px;max-height:90px;margin-bottom:8px;display:block}.adminFormSubmissionTitle{color:var(--muted);margin:0 0 12px}.adminFormSubmissionTitle b{color:var(--ink)}.adminFormSubmissionView{gap:16px;display:grid}.adminFormSubmissionActions{flex-wrap:wrap;gap:10px;display:flex}.adminFormSubmissionSection{border-top:1px solid var(--line);padding-top:12px}.adminFormSubmissionSection h3{letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:13px}.adminFormSubmissionSection dl{gap:10px;margin:0;display:grid}.adminFormSubmissionSection dt{color:var(--muted);font-size:12px}.adminFormSubmissionSection dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:2px 0 0}.launchReadinessProgress{text-align:right}.launchReadinessProgress strong{font-size:26px;display:block}.launchReadinessProgress span{color:var(--muted);font-size:13px}.launchReadinessTodo{border-top:1px solid var(--line);padding-top:10px;font-size:13px}.launchReadinessTodo b{letter-spacing:.04em;text-transform:uppercase;font-size:12px;display:block}.launchReadinessTodo ol{gap:6px;margin:8px 0 0;padding-left:18px;line-height:1.5;display:grid}.launchReadinessCardActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.launchSignOff{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.launchSignOff input{flex:1;min-width:180px}.launchSignOff button{white-space:nowrap}.launchSignOff .error{flex-basis:100%;margin:0}.adminStatusBadge.launchStatus-complete{color:#355d21;background:#e6f3d6}.adminStatusBadge.launchStatus-ready_for_approval{color:#345267;background:#e7edf1}.adminStatusBadge.launchStatus-needs_input{color:#725d19;background:#fff3cd}.adminStatusBadge.launchStatus-secure_setup{color:#5b3f7a;background:#eee8f7}.adminStatusBadge.launchStatus-technical_implementation{color:var(--danger);background:#f8e2de}.adminStatusBadge.status-started,.adminStatusBadge.status-pending_payment,.adminStatusBadge.status-pending-payment,.adminStatusBadge.status-draft,.adminStatusBadge.status-pending{color:#725d19;background:#f8efe5}.adminStatusBadge.status-submitted,.adminStatusBadge.status-accepted,.adminStatusBadge.status-paid{color:#355d21;background:#e6f3d6}.adminStatusBadge.status-payment_failed,.adminStatusBadge.status-failed,.adminStatusBadge.status-refunded{color:var(--danger);background:#f8e2de}.adminStatusBadge.status-queued{color:#725d19;background:#f8efe5}.adminStatusBadge.status-sending{color:#345267;background:#e7edf1}.adminStatusBadge.status-sent,.adminStatusBadge.status-delivered,.adminStatusBadge.status-ready{color:#355d21;background:#e6f3d6}.adminStatusBadge.status-incomplete{color:#725d19;background:#fff3cd}.adminStatusBadge.status-neutral{color:#59677a;background:#eef1f5}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.adminBackdrop{display:none}@media (max-width:1000px){.launchReadinessMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.publicHeaderInner{min-height:72px;padding:0 22px}.publicNavMenu{display:block;position:relative}.publicDesktopNav{display:none}.publicNavMenu>summary{border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700;list-style:none;display:list-item}.publicNavMenu>summary::-webkit-details-marker{display:none}.publicNavMenu nav{background:var(--paper);border:1px solid var(--line);border-radius:14px;align-items:stretch;gap:0;min-width:min(320px,100vw - 44px);padding:8px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #1a293b24}.publicNavMenu[open] nav{display:grid}.publicNavMenu nav a,.publicNavMenu nav button.publicPortalLink{border-radius:9px;padding:12px}.publicPortalLink,button.publicPortalLink{background:var(--brand);color:#fff;margin-top:4px}.grid,.cards,.publicProgramGrid,.publicHomepageClassGrid,.adminWebsiteInventory,.formGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.answerGrid{grid-template-columns:repeat(4,1fr)}.adminShell{display:block}.adminSidebar{width:min(86vw,300px);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%)}.adminSidebar.isOpen{transform:translate(0)}.adminMenuButton{padding:8px 10px;display:inline-block}.adminBackdrop{z-index:25;background:#101b2b99;border:0;border-radius:0;display:block;position:fixed;inset:0}.adminRosterControls{grid-template-columns:1fr}.adminModuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminDashboardMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.adminCourseGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminDetailGrid{grid-template-columns:1fr}.adminQueueTabs{grid-template-columns:repeat(3,minmax(0,1fr))}.adminRegistrationFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.adminAssessmentLayout,.adminDocumentLayout{grid-template-columns:1fr}.adminPaymentFilters form{grid-template-columns:repeat(3,minmax(0,1fr))}.adminCommunicationsFilters form{grid-template-columns:repeat(2,minmax(0,1fr))}.adminAssessmentEntryPanel{position:static}.adminAssessmentReviewList form{grid-template-columns:repeat(2,minmax(0,1fr))}.adminAssessmentReason{grid-column:1}.adminAssessmentReviewList form>button{grid-column:2}}@media (max-width:760px){.grid,.cards,.metrics,.adminDashboardMetrics,.adminQueueGrid,.adminModuleGrid,.adminClassSummary,.adminDetailMetrics,.adminCourseGrid,.adminGrid,.workspaceGrid,.formGrid,.actionColumns,.adminWebsiteInventory,.publicProgramGrid,.publicHomepageClassGrid,.publicHomepageClassCard dl{grid-template-columns:1fr}.publicSectionHeading{flex-direction:column;align-items:flex-start;gap:18px}.publicProgramFilter{grid-template-columns:minmax(0,1fr);width:100%}.publicClassList article.publicClassCard{grid-template-columns:minmax(0,1fr)}.publicClassMedia{aspect-ratio:16/9;min-height:0}.publicClassMedia .publicClassThumb{aspect-ratio:auto}.publicClassCardBody{padding:24px}.publicClassMetaGrid{grid-template-columns:minmax(0,1fr)}.publicClassCardAction{border-left:0;border-top:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;padding:22px 24px}.publicClassCardAction .button{min-width:190px;margin-top:0}.publicClassDetailHero,.publicClassDetailGrid{grid-template-columns:1fr}.publicClassDetailHero h1{font-size:clamp(38px,13vw,54px)}.publicClassFacts>div,.registrationFormHeader{grid-template-columns:1fr}.registrationFormActions{align-items:stretch;display:grid}.registrationFormActions .button,.registrationFormActions button{width:100%}.publicClassList .stack.compact{border-top:1px solid var(--line);padding-top:20px}.launchReadinessMetrics,.launchReadinessGrid{grid-template-columns:1fr}.launchReadinessCardHeader{flex-direction:column;align-items:flex-start}.adminWebsiteFieldGrid,.adminWebsiteAddressGrid,.operationRow,.adminFormReviewEvidence,.adminFormReviewSections dl,.adminFormDecisionActions{grid-template-columns:1fr}.studentRegistrationCard>header,.studentPortalSectionHeading{flex-direction:column;align-items:flex-start}.studentRegistrationActions{align-items:stretch;display:grid}.studentRegistrationActions .button,.studentRegistrationActions button{text-align:center;width:100%}.authCard .fieldGrid,.adminCardGrid{grid-template-columns:1fr}.answerGrid{grid-template-columns:repeat(3,1fr)}.hero{padding:90px var(--page-gutter)}.page{padding:48px var(--page-gutter)}.titleRow{align-items:flex-start}.adminHeaderActions{justify-content:flex-start;align-items:flex-start;width:100%}.adminHeaderActions small{text-align:left}.adminDocumentActions a,.adminDocumentActions button{min-height:44px}.publicHoursList>div{grid-template-columns:1fr;gap:6px}.titleRow h1{font-size:44px}.adminShell{display:block}.adminSidebar{width:min(86vw,300px);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%)}.adminSidebar.isOpen{transform:translate(0)}.adminTopbar{padding:0 16px}.adminMenuButton{padding:8px 10px;display:inline-block}.adminTopbar>div:not(.adminTopActions) small,.adminTopActions a:last-child{display:none}.adminWorkspacePage,.adminWorkspace{padding:28px 18px}.adminReportGrid{grid-template-columns:1fr}.adminRosterPage{padding:28px 18px}.adminRecordsColumn,.adminFilterBar,.adminClassEditForm{grid-template-columns:1fr}.adminFormWide{grid-column:auto}.adminCalendarWeekdays,.adminCalendarGrid{min-width:820px}.adminCalendarHeader,.adminRegistrationHeader{flex-direction:column;align-items:flex-start}.adminHeaderContext{width:100%}.adminQueueTabs,.adminRegistrationFilters,.adminAssignmentFilters,.adminAssessmentReviewList form,.adminAssessmentCompactGrid,.adminDocumentFilters,.adminPaymentFilters form,.adminDefinitionGrid,.adminOrderAmounts{grid-template-columns:1fr}.adminRosterBulkBar{grid-template-columns:minmax(0,1fr);inline-size:100%;min-inline-size:0;max-inline-size:100%}.adminRosterBulkBar>*,.adminRosterBulkBar label,.adminRosterBulkBar input,.adminRosterBulkBar select,.adminRosterBulkBar button{min-width:0;max-width:100%}.adminAssessmentReviewList form>button{grid-column:1}.adminCommunicationsFilters form>label:first-child{grid-column:auto}.adminCommunicationsFilters form{grid-template-columns:1fr}.adminDefinitionGrid>div:nth-child(odd),.adminDefinitionGrid>div:nth-child(2n){padding-left:0;padding-right:0}.adminPagination{flex-direction:column;align-items:flex-start;gap:12px}.adminTransactionList>div{grid-template-columns:1fr 1fr}.adminBackdrop{z-index:25;background:#101b2b99;border:0;border-radius:0;display:block;position:fixed;inset:0}}@media print{@page{margin:12mm}html,body{background:#fff!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}body>.publicSiteHeader,body>.publicSiteFooter,body>footer,.instructorRosterPage>a,.instructorRosterPrintAction,.instructorRosterSessionControl,.instructorAssessmentEntry,.instructorAttendanceRecord>label,.instructorAttendanceRecord>button,.adminSidebar,.adminTopbar,.adminNavigation,.adminAccount,.adminBackdrop,.adminRosterPage>.adminDetailHeader,.adminRosterControls,.adminRosterBulkBar,.adminRosterActions,.adminRosterSummaryColumn,.adminRosterEntryColumn,.adminRosterPage>.error,.adminRosterPage>.success{display:none!important}body>main,.instructorRosterPage,.instructorRosterPage>.stack,.adminShell,.adminContent,.adminMain,.adminWorkspace,.adminWorkspacePage,.adminRosterPage,.adminRosterPage>.panel:not(.adminRosterControls),.adminTableWrap,.adminRosterTable{float:none!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important;transform:none!important}.adminShell{grid-template-columns:minmax(0,1fr)!important}.instructorRosterPage>h1{margin:4px 0!important;font-size:24px!important}.instructorRosterPage>p,.instructorPrintSessionIdentity h2,.instructorPrintSessionIdentity p{margin:3px 0!important}.instructorPrintSessionIdentity,.adminRosterPrintHeader{border-block:1px solid var(--line);margin:10px 0!important;padding:8px 0!important;display:block!important}.adminRosterPrintHeader h1,.adminRosterPrintHeader h2,.adminRosterPrintHeader p{margin:3px 0}.adminRosterPrintHeader h1{font-size:22px}.adminRosterPrintHeader h2{font-size:16px}.instructorAttendanceRecord{break-inside:avoid;width:100%!important;margin:0 0 8px!important;padding:8px!important;display:block!important}.instructorAttendanceRecord h2{margin:0 0 3px;font-size:13px}.instructorAttendanceRecord>div>.muted{display:none}.instructorPrintSummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;margin:6px 0 0;font-size:9px;display:grid!important}.adminRosterPage>.metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:8px 0!important;display:grid!important}.adminRosterPage>.panel{border:0!important}.adminRosterPage .adminPanelHeading{display:none!important}.adminRosterPrintAttendanceColumn{display:table-cell!important}.adminRosterPrintAttendanceColumn small{margin-top:3px;display:block}.adminRosterTable{border-collapse:collapse!important;table-layout:fixed!important;font-size:7px!important;display:table!important}.adminRosterTable th,.adminRosterTable td{overflow-wrap:anywhere;vertical-align:top;white-space:normal!important;padding:4px 3px!important}}html.rosterPrintMode .publicSiteHeader,html.rosterPrintMode .publicSiteFooter,html.rosterPrintMode body>footer,html.rosterPrintMode .instructorRosterPage>a,html.rosterPrintMode .instructorRosterPrintAction,html.rosterPrintMode .instructorRosterSessionControl,html.rosterPrintMode .instructorAssessmentEntry,html.rosterPrintMode .instructorAttendanceRecord>label,html.rosterPrintMode .instructorAttendanceRecord>button,html.rosterPrintMode .adminSidebar,html.rosterPrintMode .adminTopbar,html.rosterPrintMode .adminNavigation,html.rosterPrintMode .adminAccount,html.rosterPrintMode .adminBackdrop,html.rosterPrintMode .adminRosterPage>.adminDetailHeader,html.rosterPrintMode .adminRosterControls,html.rosterPrintMode .adminRosterBulkBar,html.rosterPrintMode .adminRosterActions,html.rosterPrintMode .adminRosterSummaryColumn,html.rosterPrintMode .adminRosterEntryColumn,html.rosterPrintMode .adminRosterPage>.error,html.rosterPrintMode .adminRosterPage>.success,html.rosterPrintMode .instructorAttendanceRecord>div>.muted{display:none!important}html.rosterPrintMode,html.rosterPrintMode body{background:#fff!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}html.rosterPrintMode body>main,html.rosterPrintMode .instructorRosterPage,html.rosterPrintMode .instructorRosterPage>.stack,html.rosterPrintMode .adminShell,html.rosterPrintMode .adminContent,html.rosterPrintMode .adminMain,html.rosterPrintMode .adminWorkspace,html.rosterPrintMode .adminWorkspacePage,html.rosterPrintMode .adminRosterPage,html.rosterPrintMode .adminRosterPage>.panel:not(.adminRosterControls),html.rosterPrintMode .adminTableWrap{float:none!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important;transform:none!important}html.rosterPrintMode .adminShell{grid-template-columns:minmax(0,1fr)!important}html.rosterPrintMode .instructorPrintSessionIdentity,html.rosterPrintMode .adminRosterPrintHeader{border-block:1px solid var(--line);margin:10px 0!important;padding:8px 0!important;display:block!important}html.rosterPrintMode .instructorAttendanceRecord{break-inside:avoid;width:100%!important;margin:0 0 8px!important;padding:8px!important;display:block!important}html.rosterPrintMode .instructorPrintSummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;margin:6px 0 0;font-size:9px;display:grid!important}html.rosterPrintMode .adminRosterPage>.metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:8px 0!important;display:grid!important}html.rosterPrintMode .adminRosterPage>.panel{border:0!important}html.rosterPrintMode .adminRosterPage .adminPanelHeading{display:none!important}html.rosterPrintMode .adminRosterPrintAttendanceColumn{display:table-cell!important}html.rosterPrintMode .adminRosterPrintAttendanceColumn small{margin-top:3px;display:block}html.rosterPrintMode .adminRosterTable{border-collapse:collapse!important;table-layout:fixed!important;width:100%!important;font-size:7px!important;display:table!important}html.rosterPrintMode .adminRosterTable th,html.rosterPrintMode .adminRosterTable td{overflow-wrap:anywhere;vertical-align:top;white-space:normal!important;padding:4px 3px!important}.adminDrawerLayer{z-index:1000;position:fixed;inset:0}.adminDrawerBackdrop{background:#1a293b7a;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.adminDrawer{background:var(--paper,#fffdfa);grid-template-rows:auto minmax(0,1fr);width:100%;max-width:94vw;height:100%;display:grid;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-18px 0 50px #1a293b2e}.adminDrawerHeader{border-bottom:1px solid var(--line,#dce1e7);justify-content:space-between;align-items:start;gap:24px;padding:24px 28px;display:flex}.adminDrawerHeader h2,.adminDrawerHeader p{margin:0}.adminDrawerHeader p{color:var(--muted,#617083);margin-top:6px}.adminDrawerClose{flex:none}.adminDrawerBody{padding:28px;overflow:auto}.adminDrawerForm{gap:18px;display:grid}.adminDrawerForm>button{min-height:44px}.adminDrawer.adminDocumentViewerDrawer{width:70vw;max-width:70vw}.adminDocumentViewerDrawer .adminDrawerBody{padding:18px;overflow:hidden}.adminDocumentViewer{grid-template-rows:auto minmax(0,1fr);gap:14px;height:100%;min-height:0;display:grid}.adminPdfPreview{background:#e6ebf1;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.adminPdfPreview canvas{opacity:0;background:#fff;transition:opacity .12s;display:block;box-shadow:0 5px 20px #1a293b2e}.adminPdfPreview canvas.isReady{opacity:1}.adminPdfPreviewStatus{color:var(--brand);text-align:center;z-index:1;align-content:center;justify-items:center;gap:8px;padding:18px;display:grid;position:absolute;inset:0}.adminPdfPreviewStatus>span{background:var(--brand);border-radius:999px;width:36px;height:8px;animation:.9s ease-in-out infinite alternate adminPdfPreviewPulse}.adminPdfPreviewStatus b{font-size:12px}.adminPdfPreviewStatus small{color:var(--muted);line-height:1.4}.adminPdfPreviewStatus.isError{background:#edf1ef}@keyframes adminPdfPreviewPulse{0%{opacity:.25;transform:scaleX(.65)}to{opacity:1;transform:scaleX(1)}}.adminPdfPreview-viewer{background:#24354b;align-content:start;width:100%;height:100%;padding:20px 20px 76px;overflow:auto}.adminPdfPageControls{color:#fff;white-space:nowrap;z-index:2;background:#1a293bf0;border:1px solid #ffffff30;border-radius:10px;align-items:center;gap:10px;padding:7px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.adminPdfPageControls button{color:var(--brand);background:#fff;border:0;min-height:36px;padding:7px 10px;font-size:11px}.adminPdfPageControls span{font-size:11px;font-weight:700}.adminDocumentViewerToolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.adminDocumentViewerToolbar>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adminDocumentViewerToolbar>div:first-child>span{color:var(--brand);letter-spacing:.6px;background:#e7efeb;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:700}.adminDocumentViewerActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.adminDocumentViewerActions>:is(a,button),.adminDocumentPreviewUnavailable a{border:1px solid var(--line);color:var(--brand);background:#fff;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:9px 13px;font-size:12px;font-weight:700;display:inline-flex}.adminDocumentViewerActions>.primary,.adminDocumentPreviewUnavailable a{background:var(--brand);border-color:var(--brand);color:#fff}.adminDocumentViewerActions>.danger{color:var(--danger);border-color:#d9b0a9}.adminDocumentViewerLayout{grid-template-columns:minmax(0,1fr) 280px;gap:14px;min-height:0;display:grid}.adminDocumentViewerCanvas{background:#24354b;border-radius:12px;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.adminDocumentViewerCanvas img{object-fit:contain;border:0;width:100%;height:100%;display:block}.adminDocumentViewerCanvas>.adminPdfPreview{width:100%;height:100%}.adminDocumentViewerDetails{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:18px;overflow:auto}.adminDocumentViewerDetails>.eyebrow{margin:0 0 8px}.adminDocumentViewerDetails dl{margin:0}.adminDocumentViewerDetails dl>div{border-top:1px solid var(--line);padding:12px 0}.adminDocumentPreviewUnavailable{color:#fff;text-align:center;max-width:420px;padding:28px}.adminDocumentPreviewUnavailable b{font-family:var(--font-sans);font-size:26px}.adminDocumentPreviewUnavailable p{color:#c8d4d0;line-height:1.5}.adminDocumentPreviewUnavailable a{margin-top:4px}.adminTabs{border:1px solid var(--line,#dce1e7);background:#fff;border-radius:16px;gap:8px;padding:8px;display:flex;overflow-x:auto}.adminWorkspacePage h1,.adminDetailHeader h1,.studentPortalWorkspace h1,.instructorWorkspacePage>h1,.instructorRosterPage>h1{font-family:var(--font-sans);font-size:clamp(28px,2.6vw,36px);font-weight:700;line-height:1.15}:is(.page,.hero) :where(button,.button,.buttonLink){min-height:44px;font-size:15px}:is(.page,.hero) a:where(.button){justify-content:center;align-items:center;display:inline-flex}@media (max-width:1000px){.adminDrawer.adminDocumentViewerDrawer{width:100vw;max-width:100vw}.adminDocumentViewerDrawer .adminDrawerBody{overflow:auto}.adminDocumentViewer{height:auto}.adminDocumentViewerLayout{grid-template-columns:minmax(0,1fr)}.adminDocumentViewerCanvas{min-height:62vh}.adminDocumentViewerDetails{overflow:visible}}@media (max-width:760px){.adminStudentProfilePage>.adminDetailHeader>:first-child,.adminStudentProfilePage>.adminDetailHeader .adminHeaderContext{flex:none;width:100%}}.adminTabs button{border-color:#0000;flex:none}.adminTabs button[aria-selected=true]{background:var(--brand,#1a293b);color:#fff}.adminSettingsCards{gap:var(--admin-panel-gap,18px);display:grid}.adminSettingsSummaryCard{justify-content:space-between;align-items:center;gap:24px;display:flex}.adminSettingsActions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.adminSettingsSummaryCard h2,.adminSettingsSummaryCard p{margin-bottom:0}.panel.adminWebsiteInventoryCard{flex-direction:column;display:flex}.adminWebsiteInventoryCard>*{margin:0}.adminWebsiteInventoryCard button{margin-top:auto}.adminWebsiteDrawerGrid{gap:18px;display:grid}@media (min-width:1100px){.adminDrawer{max-width:calc(100vw - 300px)}}@media (max-width:640px){.publicClassCardAction{flex-direction:column;align-items:stretch}.publicClassCardAction .button{width:100%;margin-top:20px}.adminDrawer{max-width:100%}.adminDrawerHeader,.adminDrawerBody{padding:20px}.adminDocumentUploadStep{padding:16px}.adminDocumentDropzone{min-height:230px;padding:22px 16px}.adminDocumentDropzoneActions,.adminDocumentDropzoneActions button{width:100%}.adminDocumentSelection>div{align-items:flex-start;gap:8px}.adminDocumentViewerToolbar{flex-direction:column;align-items:stretch}.adminDocumentViewerActions,.adminDocumentViewerActions>:is(a,button){width:100%}.adminDocumentViewerCanvas{min-height:52vh}.adminPdfPageControls{justify-content:space-between;width:calc(100% - 32px)}.adminDocumentGallery{grid-template-columns:minmax(0,1fr)}.adminSettingsSummaryCard{flex-direction:column;align-items:stretch}}@media screen{.adminContent{font-size:var(--admin-body-font-size);min-width:0;max-width:100%;line-height:1.45}.adminMain,.adminWorkspacePage,.adminWorkspacePage>*,.adminWorkspacePage .panel{min-width:0;max-width:100%}.adminContent input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),.adminContent select{font-size:var(--admin-control-font-size);height:var(--admin-control-height);min-height:var(--admin-control-height);padding:0 14px;line-height:1.25}.adminContent input[type=file]{font-size:var(--admin-control-font-size);min-height:var(--admin-control-height)}.adminContent textarea{font-size:var(--admin-control-font-size);padding:12px 14px;line-height:1.5}.adminContent :is(button,.buttonLink){font-size:var(--admin-control-font-size);min-height:var(--admin-control-height);padding:10px 14px;line-height:1.25}.adminContent label{font-size:var(--admin-meta-font-size);line-height:1.35}.adminContent small,.adminMutedValue,.adminPagination>span,.adminTableHeading>span{font-size:var(--admin-meta-font-size);line-height:1.4}.adminDataTable th{font-size:var(--admin-table-heading-font-size);line-height:1.35}.adminDataTable td{font-size:var(--admin-control-font-size);padding:16px 14px;line-height:1.45}.adminDataTable td b{font-size:var(--admin-control-font-size)}.adminDataTable td small{font-size:var(--admin-meta-font-size)}.adminStatusBadge,.adminRequirementCell span,.adminRequirementChip{font-size:11px;line-height:1.2}.adminTopActions a,.adminDocumentActions a,.adminDocumentActions button{font-size:var(--admin-control-font-size);min-height:var(--admin-control-height);justify-content:center;align-items:center;padding:10px 14px;display:inline-flex}.adminDetailHeader>:first-child{flex:520px;min-width:0}.adminHeaderContext{flex-wrap:wrap;flex:0 620px;align-items:center;gap:10px;display:flex}.adminHeaderContext>:is(b,span,small){flex-basis:100%}.adminDetailHeader .adminHeaderContext>:is(a,button){min-height:var(--admin-control-height);text-align:center;flex:150px;justify-content:center;align-items:center;margin:0;display:inline-flex}.adminDetailHeader .adminHeaderContext>button.primary{background:var(--accent);border-color:var(--accent);color:var(--brand)}.adminContent .adminQueueTabs button{text-align:left;display:block}.adminContent .adminQueueTabs span{font-size:var(--admin-control-font-size);line-height:1.3}.adminContent .adminQueueTabs small{font-size:var(--admin-meta-font-size);line-height:1.35}.adminHeaderActions,.adminRegistrationFilterActions,.adminDocumentActions,.adminStaffActions{align-items:stretch}.adminWorkspacePage .adminPaymentFilters form>button,.adminWorkspacePage .adminCommunicationsFilters form>button{min-height:var(--admin-control-height);justify-self:start;min-width:120px}}.adminPaymentFilters{container-type:inline-size}@container (max-width:1100px){.adminPaymentPage .adminPaymentFilters form,.adminStudentDirectoryPage .adminPaymentFilters form,.adminAuditPage .adminPaymentFilters form{grid-template-columns:repeat(4,minmax(0,1fr))}.adminPaymentPage .adminPaymentFilters form>label:first-child,.adminStudentDirectoryPage .adminPaymentFilters form>label:first-child,.adminAuditPage .adminPaymentFilters form>label:first-child{grid-column:span 2}.adminCompletionPage .adminPaymentFilters form,.adminStaffPage .adminPaymentFilters form,.adminCommunicationsFilters form{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:760px){.adminPaymentPage .adminPaymentFilters form,.adminStudentDirectoryPage .adminPaymentFilters form,.adminAuditPage .adminPaymentFilters form{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:520px){.adminPaymentPage .adminPaymentFilters form,.adminStudentDirectoryPage .adminPaymentFilters form,.adminAuditPage .adminPaymentFilters form,.adminCompletionPage .adminPaymentFilters form,.adminStaffPage .adminPaymentFilters form,.adminCommunicationsFilters form{grid-template-columns:1fr}.adminPaymentPage .adminPaymentFilters form>label:first-child,.adminStudentDirectoryPage .adminPaymentFilters form>label:first-child,.adminAuditPage .adminPaymentFilters form>label:first-child{grid-column:auto}.adminWorkspacePage .adminPaymentFilters form>button,.adminWorkspacePage .adminCommunicationsFilters form>button{width:100%}}.brandLogo{object-fit:contain;width:260px;max-width:100%;height:auto;display:block}.publicBrand{flex-shrink:0}.publicFooterIdentity .brandLogo{width:280px}.adminBrand{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.adminBrand .brandLogo{width:210px}.button.primary,button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover,button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}@media (max-width:560px){.publicBrand .brandLogo{width:220px}}body{-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.025em;font-weight:700}button,input,select,textarea{font-family:inherit}.metricCard>strong,.adminMetricGrid strong,.metrics strong,.adminQueueTabs b,.adminTable,.publicSchedulePage{font-variant-numeric:tabular-nums}.metricCard>strong{letter-spacing:-.035em;font-weight:700;line-height:1.2}.websiteSectionImage{width:100%;min-width:0;margin:0}.websiteSectionImage img{aspect-ratio:3/2;object-fit:cover;background:var(--cream);border-radius:22px;width:100%;height:auto;display:block}.websiteSectionImage figcaption{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5}.publicHomepageWithImage{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,4vw,64px);padding-block:clamp(40px,6vw,90px);display:grid}.publicHomepageWithImage:has(.websiteSectionImage) h1{font-size:clamp(36px,4.3vw,64px);line-height:1.08}.publicHomepageCopy{min-width:0}.publicHomepageCopy>p:not(.eyebrow){font-size:18px;line-height:1.7}.publicHomepageWithImage:not(:has(.websiteSectionImage)){grid-template-columns:1fr}.websiteImageBand{margin:0 0 48px}.websiteImageBand:empty{display:none}.websiteImageBand img{aspect-ratio:3;max-height:380px}.publicFaqVisualLayout{grid-template-columns:1.2fr 1fr;align-items:start;gap:40px;margin-top:32px;display:grid}.publicFaqVisualLayout .publicFaqList{margin-top:0}.publicFaqVisualLayout:not(:has(.websiteSectionImage)){grid-template-columns:1fr}.publicProgramImage{aspect-ratio:3/2;object-fit:cover;border-radius:14px;width:100%;height:auto;margin-bottom:20px}.websiteImageEditor{border:1px solid var(--line);border-radius:12px;gap:16px;min-width:0;padding:18px;display:grid}.websiteImageEditor>p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.websiteImageEditor .websiteSectionImage{max-width:520px}.websiteImageDropzone{border:2px dashed var(--line);border-radius:10px;gap:10px;padding:20px;display:grid}.websiteImageDropzone.isDragging{border-color:var(--brand);background:var(--cream)}.websiteImageDropzone input[type=file]{max-width:100%}@media (max-width:800px){.publicHomepageWithImage,.publicFaqVisualLayout{grid-template-columns:1fr}.websiteImageBand img{aspect-ratio:3/2}}.adminAnswerKeyPanel{gap:14px;display:grid}.adminAnswerKeyPanel>.muted{max-width:70ch;margin:0}.adminAnswerKeyList{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.adminAnswerKeyRow{text-align:left;border:1px solid var(--line);background:var(--paper);cursor:pointer;font:inherit;border-radius:10px;gap:3px;padding:12px 14px;display:grid}.adminAnswerKeyRow span{color:var(--muted);font-size:13px}.adminAnswerKeyRow small{font-weight:700}.adminAnswerKeyRowActive{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.adminAnswerKeyStateAuto{color:var(--success,#1d7a3d)}.adminAnswerKeyStateManual{color:var(--muted)}.adminAnswerKeyEditor{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.adminAnswerKeyEditorHead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.adminAnswerKeyEditorHead b{display:block}.adminAnswerKeyEditorHead small{color:var(--muted)}.adminAnswerKeyGrid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.adminAnswerKeyGrid label{grid-template-columns:auto 1fr;align-items:center;gap:6px;font-size:13px;display:grid}.adminAnswerKeyGrid label span{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:20px}.adminAnswerKeyActions{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.adminAnswerKeyActions label{gap:4px;font-weight:600;display:grid}.adminAnswerKeyActions input{width:110px}.kioskScreen{z-index:60;background:var(--cream);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.kioskScreen h1{margin:0;font-size:clamp(28px,4vw,44px)}.kioskHint{color:var(--muted);max-width:52ch;font-size:17px}.kioskWelcome,.kioskSetup{text-align:center;justify-items:center;gap:18px;max-width:560px;display:grid}.kioskLogo{width:min(360px,70vw);height:auto;margin-bottom:6px}.kioskLogoSmall{width:180px;height:auto}.kioskFormTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.kioskFormMeta{align-items:center;gap:10px;display:flex}.kioskStepBadge{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.kioskTimer{color:var(--muted);font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.kioskTimerUrgent{color:var(--primary);border-color:var(--primary)}.kioskStep{gap:14px;display:grid}.kioskStep h1{font-size:clamp(24px,3vw,32px)}.kioskFollowUp{gap:8px;display:grid}.kioskPurposeGrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.kioskSetup{text-align:left;justify-items:start}.kioskSetup input{width:100%;padding:14px;font-size:20px}.kioskStart{border-radius:16px;padding:22px 48px;font-size:24px}.kioskForm{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:16px;width:min(720px,100%);margin-block:12px;padding:clamp(18px,3vw,32px);display:grid}.kioskForm label{gap:6px;font-weight:600;display:grid}.kioskForm input,.kioskForm textarea{padding:12px;font-size:18px}.kioskFieldRow{grid-template-columns:1fr 1fr;gap:14px;display:grid}.kioskPurposes{border:0;gap:8px;margin:0;padding:0;display:grid}.kioskPurposes legend{padding:0;font-weight:700}.kioskPurpose{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:16px 12px;font-size:16px}.kioskPurposeActive{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand);font-weight:700}.kioskFormActions{justify-content:space-between;gap:12px;display:flex}.kioskFormActions button{padding:14px 28px;font-size:18px}@media (max-width:640px){.kioskFieldRow{grid-template-columns:1fr}}.adminVisitorTable{border-collapse:collapse;width:100%}.adminVisitorTable th,.adminVisitorTable td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px;font-size:14px}.adminVisitorTable td b{display:block}.adminVisitorTable td small{color:var(--muted)}.adminVisitorDetails{white-space:pre-line;max-width:320px}.adminVisitorPagination{align-items:center;gap:14px;padding-top:14px;display:flex}.kioskCatalogFamily{gap:8px;display:grid}.kioskCatalogFamily h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:800}.kioskPurposes{gap:10px;display:grid}.adminVisitorActions{white-space:nowrap;justify-items:start;gap:6px;display:grid}.adminVisitorDelete{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700}.adminVisitorDelete:disabled{opacity:.5}.adminVisitorStudent{color:var(--brand);margin-top:2px;font-size:12px;font-weight:700;display:block}.kioskQr{justify-items:center;gap:8px;margin-top:10px;display:grid}.kioskQr img{border:1px solid var(--line);background:#fff;border-radius:12px;width:168px;height:168px;padding:6px}.kioskQr small{color:var(--muted);text-align:center;max-width:34ch}
.authPage{background:var(--cream);place-items:center;min-height:calc(100vh - 140px);display:grid}.authCard h1{font-family:var(--font-sans);margin:0 0 8px;font-size:clamp(30px,4vw,38px);line-height:1.15}.authCard label{gap:7px;min-width:0;font-size:14px;font-weight:700;display:grid}.authCard input{border:1px solid var(--line);font:inherit;background:var(--paper);border-radius:9px;padding:14px}.error{color:#932f2f;background:#fff1f0;border-radius:8px;padding:12px}.authCard a{color:var(--brand);text-decoration:underline}
