:root{color:#142233;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.site-header{color:#fff;background:#16324f;padding:1rem clamp(1rem,5vw,4rem)}.brand{align-items:baseline;gap:.75rem;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.brand span{font-size:.9rem;font-weight:500}.page{width:min(48rem,100% - 2rem);margin:0 auto;padding:clamp(3rem,8vw,7rem) 0}.hero h1,.page h1{color:#16324f;letter-spacing:-.04em;max-width:16ch;margin:0;font-size:clamp(2.25rem,8vw,4.75rem);line-height:1}.eyebrow{color:#9b4b1c;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.8rem;font-weight:800}.lede{color:#46576a;max-width:42rem;margin:1.5rem 0;font-size:clamp(1.1rem,3vw,1.35rem);line-height:1.6}.service-status{background:#fff;border:1px solid #c7d1d8;border-radius:999px;align-items:center;gap:.65rem;width:fit-content;margin:2rem 0;padding:.8rem 1rem;font-weight:650;display:flex}.service-status span{background:#c58a21;border-radius:50%;width:.7rem;height:.7rem}.service-status--ready span{background:#1a7f52}.service-status--unavailable span{background:#b42318}.route-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.route-grid a{background:#fff;border:1px solid #b8c5ce;border-radius:.5rem;min-height:3rem;padding:.9rem 1rem;font-weight:700;text-decoration:none}.route-grid a:hover,.route-grid a:focus-visible{outline-offset:2px;border-color:#16324f;outline:3px solid #b6d3e7}button,input,select{font:inherit}button{color:#fff;cursor:pointer;background:#16324f;border:0;border-radius:.5rem;min-height:3rem;padding:.8rem 1.1rem;font-weight:750}button:disabled{cursor:wait;opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #77b5dc}.parent-page{padding-top:2rem}.location-banner{background:#fff;border-left:4px solid #d56b2a;grid-template-columns:auto 1fr;align-items:baseline;gap:.1rem .75rem;margin-bottom:3rem;padding:.9rem 1rem;display:grid}.location-banner span,.location-banner small{color:#5c6c7d}.location-banner strong{font-size:1.15rem}.location-banner small{grid-column:2}.search-form label{margin-bottom:.5rem;font-weight:750;display:block}.search-controls{grid-template-columns:1fr auto;gap:.6rem;display:grid}.search-controls input{background:#fff;border:1px solid #8fa0ad;border-radius:.5rem;min-width:0;min-height:3.25rem;padding:.75rem .9rem}.search-results,.class-list{gap:.75rem;margin-top:1.5rem;display:grid}.student-result{color:#16324f;text-align:left;background:#fff;border:1px solid #b8c5ce;justify-content:space-between;align-items:center;width:100%;display:flex}.form-error,.assistance-note{color:#8a2119;background:#fff0ed;border-radius:.4rem;margin-top:1rem;padding:.8rem 1rem}.class-card,.confirmation-card{background:#fff;border:1px solid #b8c5ce;border-radius:.75rem;padding:1.25rem;position:relative}.class-card--recommended{border:2px solid #1a7f52}.class-card h2{color:#16324f;margin:.35rem 0}.recommendation{color:#1a6a47;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.class-status{color:#5c6c7d;font-weight:650}.confirmation-card{gap:.35rem;margin:1.5rem 0;display:grid}.confirmation-card strong{color:#16324f;font-size:1.5rem}.compact-card{margin-bottom:1rem}.development-notice{color:#694900;background:#fff8e8;border-left:4px solid #c58a21;padding:.8rem 1rem}.attendance-notice{color:#155d3e;background:#edf9f3;border-left:4px solid #1a7f52;padding:.8rem 1rem}.registration-form{gap:1.5rem;margin-top:2rem;display:grid}.registration-form fieldset{background:#fff;border:1px solid #b8c5ce;border-radius:.75rem;min-width:0;margin:0;padding:1.25rem}.registration-form legend{color:#16324f;padding:0 .4rem;font-size:1.15rem;font-weight:800}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-grid label{color:#34495e;gap:.4rem;font-weight:700;display:grid}.form-grid input{color:#142233;background:#fff;border:1px solid #8fa0ad;border-radius:.45rem;width:100%;min-height:3rem;padding:.7rem .8rem}.consent-fields{gap:1rem;display:grid}.checkbox-label{color:#34495e;grid-template-columns:1.25rem 1fr;align-items:start;gap:.75rem;line-height:1.45;display:grid}.checkbox-label input{width:1.2rem;height:1.2rem;margin:.15rem 0 0}.submit-registration{width:100%}.completion-actions{flex-wrap:wrap;gap:.75rem;display:flex}.secondary-button{color:#16324f;background:0 0;border:1px solid #16324f}.text-button{color:#16324f;background:0 0;margin-top:1.5rem;padding-inline:0;text-decoration:underline}.wide-page,.admin-page{width:min(72rem,100% - 2rem)}.staff-page{padding-top:2rem}.staff-heading{color:#46576a;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.staff-login,.inline-form{background:#fff;border:1px solid #b8c5ce;border-radius:.75rem;gap:1rem;padding:1.25rem;display:grid}.staff-login{max-width:32rem}.staff-login label,.inline-form label{color:#34495e;gap:.4rem;font-weight:700;display:grid}.staff-login input,.inline-form input,.inline-form select{border:1px solid #8fa0ad;border-radius:.45rem;min-width:0;min-height:3rem;padding:.7rem .8rem}.inline-form{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:end}.staff-card-grid,.metric-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-top:2rem;display:grid}.staff-card,.metric-card,.detail-panel,.exception-card{background:#fff;border:1px solid #b8c5ce;border-radius:.75rem;padding:1.25rem}.staff-card h2{color:#16324f;margin:.75rem 0 0}.metric-card{gap:.25rem;display:grid}.metric-card strong{color:#16324f;font-size:2.25rem}.status-line{text-transform:capitalize}.status-pill{color:#46576a;text-transform:uppercase;background:#edf1f4;border-radius:999px;width:fit-content;padding:.25rem .55rem;font-size:.8rem;font-weight:800;display:inline-flex}.status-pill--present,.status-pill--open,.status-pill--completed{color:#155d3e;background:#dff3e9}.status-pill--absent,.status-pill--canceled{color:#8a2119;background:#fff0ed}.success-note{color:#155d3e;background:#edf9f3;border-radius:.4rem;margin:1rem 0;padding:.8rem 1rem}.data-table{gap:.5rem;margin:1.5rem 0;display:grid}.data-row,.queue-row{background:#fff;border:1px solid #d7dee3;border-radius:.45rem;grid-template-columns:minmax(12rem,2fr) repeat(3,minmax(8rem,1fr));align-items:center;gap:1rem;padding:.8rem 1rem;display:grid}.data-row--header{color:#46576a;text-transform:uppercase;background:#edf1f4;font-size:.8rem;font-weight:800}.queue-row span:first-child{gap:.2rem;display:grid}.queue-row small{color:#5c6c7d}.staff-actions{margin-top:1.5rem}.empty-state{color:#5c6c7d;border:1px dashed #b8c5ce;border-radius:.5rem;padding:1rem}.admin-section{border-top:1px solid #c7d1d8;margin-top:3.5rem;padding-top:2rem}.admin-section h2,.detail-panel h3{color:#16324f}.detail-panel{margin-top:1.5rem}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.detail-grid div{min-width:0}.detail-grid dt{color:#5c6c7d;text-transform:uppercase;font-size:.8rem;font-weight:800}.detail-grid dd{overflow-wrap:anywhere;margin:.25rem 0 0}.exception-card{gap:.25rem;margin-top:.75rem;display:grid}@media (width<=34rem){.search-controls,.form-grid,.data-row,.queue-row{grid-template-columns:1fr}.search-controls button{width:100%}}
