:root{--ink:#16233a;--muted:#647086;--line:#e5e9f0;--surface:#fff;--canvas:#f6f8fc;--blue:#3968e8;--navy:#14213d}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a,button{font:inherit}a{color:inherit}.sr-only{clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.app-shell{min-height:100vh}.sidebar{display:none}.mobile-header{align-items:center;background:var(--navy);display:flex;height:64px;justify-content:space-between;padding:9px 20px}.mobile-header .sign-out{background:transparent;border-color:#9aa8c4;min-height:44px;padding:8px 14px}.mobile-header .sign-out:hover{background:#273757;border-color:#eaf0ff}.app-shell-logo{display:block;flex:none;line-height:0}.mobile-logo,.mobile-logo img{height:40px;width:40px}.main-content{max-width:1280px;margin:auto;padding:32px 20px 96px}.skip-link{position:fixed;left:16px;top:-60px;background:var(--surface-elevated);padding:10px 14px;z-index:5;border-radius:8px}.skip-link:focus{top:16px}.page-header{margin-bottom:28px}.eyebrow{color:var(--blue);font-size:.77rem;font-weight:700;letter-spacing:.11em;margin:0 0 5px;text-transform:uppercase}.page-header h1{font-size:clamp(2rem,6vw,3.25rem);line-height:1.08;letter-spacing:-.04em;margin:0}.page-header>p:last-child{color:var(--muted);margin:10px 0 0;max-width:580px}.metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr)}.metric-card,.panel,.placeholder{background:var(--surface);border:1px solid var(--line);border-radius:16px}.metric-card{min-height:151px;padding:17px;position:relative;overflow:hidden}.metric-card:before{background:var(--card-color);content:"";height:4px;left:0;position:absolute;right:0;top:0}.metric-card p{color:var(--muted);font-size:.82rem;font-weight:700;margin:0}.metric-card strong{display:block;font-size:2.15rem;letter-spacing:-.05em;margin:13px 0 1px}.metric-card span{color:var(--muted);font-size:.77rem}.metric-card a{color:var(--blue);display:block;font-size:.78rem;font-weight:700;margin-top:8px;text-decoration:none}.blue{--card-color:#3968e8}.mint{--card-color:#20a77a}.amber{--card-color:#e99b27}.violet{--card-color:#815ad5}.dashboard-grid{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.panel{padding:20px}.panel-heading{align-items:center;display:flex;justify-content:space-between;gap:10px}.panel-heading h2{font-size:1.2rem;margin:0}.panel-heading a,.panel-heading button{background:none;border:0;color:var(--blue);cursor:pointer;font-size:.85rem;font-weight:700;padding:8px;text-decoration:none}.dashboard-empty{color:var(--muted);padding:32px 8px;text-align:center}.dashboard-empty a,.dashboard-more a,.dashboard-record-link{color:var(--blue);font-weight:700}.dashboard-error{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:10px;color:var(--semantic-warning);padding:10px 14px}.dashboard-more{color:var(--muted);font-size:.82rem}.dashboard-record-link{font-size:.78rem;grid-column:2;text-decoration:none}.lesson-list{margin-top:14px}.lesson-row{align-items:center;border-top:1px solid var(--line);display:flex;gap:13px;padding:14px 0}.lesson-row time{background:var(--primary-subtle);border-radius:9px;color:var(--blue);font-size:.72rem;font-weight:700;line-height:1.1;padding:8px;text-align:center}.activity-list h3,.lesson-row h3{font-size:.94rem;margin:0}.activity-list p,.lesson-row p{color:var(--muted);font-size:.8rem;margin:2px 0 0}.status{border-radius:100px;font-size:.68rem;font-weight:700;margin-left:auto;padding:5px 7px}.activity-list{list-style:none;margin:14px 0 0;padding:0}.activity-list li{align-items:flex-start;border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:10px minmax(0,1fr);padding:14px 0}.activity-list time{color:var(--muted);font-size:.72rem;grid-column:2}.activity-dot{background:var(--primary-border);border-radius:50%;height:8px;margin-top:6px;width:8px}.mobile-nav{background:var(--surface-elevated);border-top:1px solid var(--line);bottom:0;display:flex;justify-content:space-around;left:0;position:fixed;right:0;z-index:2}.nav-link{align-items:center;border-radius:10px;color:var(--muted);display:flex;font-size:.68rem;gap:7px;padding:10px 7px;text-decoration:none}.mobile-nav .nav-link{flex-direction:column;gap:2px;min-height:57px;justify-content:center}.nav-link.active{color:var(--blue);font-weight:700}.nav-icon{font-size:1.1rem;line-height:1}.placeholder{max-width:720px;padding:36px 24px;text-align:center}.placeholder>span{color:var(--blue);font-size:1.7rem}.placeholder h2{font-size:1.4rem;margin:12px 0 6px}.placeholder p{color:var(--muted);margin:0 auto;max-width:520px}a:focus-visible,button:focus-visible{outline:3px solid #f3a72e;outline-offset:3px}@media(min-width:520px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:760px){.main-content{padding:48px 44px 40px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-list li{grid-template-columns:10px minmax(0,1fr) auto}.activity-list time{grid-column:auto}}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{align-self:start;background:var(--navy);color:#eaf0ff;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow-y:auto;padding:28px 17px;position:-webkit-sticky;position:sticky;top:0}.mobile-header{display:none}.desktop-logo,.desktop-logo img{height:52px;width:52px}.brand-note{color:#9aa8c4;font-size:.76rem;margin:8px 9px 30px}.sidebar-nav{display:grid;grid-gap:5px;gap:5px}.sidebar .nav-link{color:#aebbd2;font-size:.9rem;padding:12px}.sidebar .nav-link.active,.sidebar .nav-link:hover{background:#273757;color:#fff}.sidebar-footer{border-top:1px solid #30405e;color:#aebbd2;font-size:.75rem;margin-top:auto;padding:18px 9px 0}.sidebar-footer span{color:#73829e}.mobile-nav{display:none}.main-content{padding:54px 58px}.page-header{margin-bottom:34px}}.activity-list,.activity-list li,.activity-list li>div,.activity-panel,.dashboard-grid,.dashboard-grid>.panel{min-width:0}.activity-list h3,.activity-list p{overflow-wrap:anywhere}.auth-page{align-items:center;background:linear-gradient(135deg,#f6f8fc,#edf2ff);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:var(--surface-elevated);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 45px var(--shadow);max-width:470px;padding:30px;width:100%}.auth-brand{align-items:center;display:flex;font-size:1.15rem;font-weight:400;gap:8px;margin-bottom:30px;text-decoration:none}.auth-brand span{background:var(--blue);border-radius:8px;color:#fff;padding:2px 7px}.auth-logo{width:max-content}.auth-logo img{height:64px;width:64px}.auth-card h1{font-size:clamp(1.8rem,7vw,2.35rem);letter-spacing:-.04em;line-height:1.08;margin:0}.auth-description{color:var(--muted);margin:10px 0 24px}.auth-form{display:grid;grid-gap:16px;gap:16px}.auth-form label{color:var(--ink);display:grid;font-size:.88rem;font-weight:700;grid-gap:6px;gap:6px}.auth-form input{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;font-weight:400;min-height:46px;padding:10px 12px;width:100%}.auth-form input:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.name-fields{display:grid;grid-gap:16px;gap:16px}.primary-button,.sign-out{background:var(--blue);border:1px solid var(--blue);border-radius:9px;color:#fff;cursor:pointer;font-weight:700;min-height:46px;padding:10px 16px}.primary-button:hover,.sign-out:hover{background:#2858d6}.primary-button:disabled,.sign-out:disabled{opacity:.7}.form-message{border-radius:9px;font-size:.88rem;margin:0;min-width:0;overflow-wrap:anywhere;padding:10px 12px}.form-message.error{background:var(--semantic-error-bg);color:var(--semantic-error)}.form-message.success{background:var(--semantic-success-bg);color:var(--semantic-success)}.auth-switch{color:var(--muted);font-size:.88rem;line-height:1.8;margin:22px 0 0}.auth-switch a{color:var(--blue);font-weight:700}.sidebar-footer .sign-out{background:transparent;border-color:#73829e;font-size:.82rem;margin-bottom:12px;min-height:36px;width:100%}.sidebar-footer>span{display:block}@media(min-width:480px){.name-fields{grid-template-columns:1fr 1fr}.auth-card{padding:38px}}.password-input-wrap{display:block;position:relative}.auth-form .password-input-wrap input{padding-right:52px}.password-visibility{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--muted);cursor:pointer;display:flex;height:38px;justify-content:center;padding:8px;position:absolute;right:4px;top:4px;width:40px}.password-visibility:hover{background:var(--primary-subtle);color:var(--blue)}.password-visibility:focus-visible{outline:3px solid #f3a72e;outline-offset:1px}.password-visibility svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:22px}.password-requirements{background:var(--surface-soft);border-radius:9px;color:var(--muted);font-size:.8rem;margin-top:-7px;padding:10px 12px}.password-requirements p{color:var(--ink);font-weight:700;margin:0}.password-requirements ul{display:flex;flex-wrap:wrap;gap:3px 20px;margin:7px 0 0;padding-left:19px}.auth-form input[aria-invalid=true]{border-color:var(--semantic-error-border)}.auth-form>.field-error{margin-top:-10px}.password-errors p{margin:0}.password-errors ul{margin:4px 0 0;padding-left:20px}.auth-link-button{display:block;text-align:center;text-decoration:none}.password-requirements li{align-items:center;display:flex;gap:5px}.password-requirements .requirement-satisfied{color:var(--semantic-success);font-weight:700}.requirement-indicator{display:inline-block;font-weight:800;min-width:1em;text-align:center}.auth-experience{border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 65px var(--shadow);max-width:980px;overflow:hidden;position:relative}.auth-experience,.auth-form-pane{background:var(--surface-elevated);width:100%}.auth-form-pane{padding:30px}.auth-mobile-logo{margin-bottom:24px}.auth-mobile-switch{color:var(--muted);font-size:.88rem;margin:20px 0 0}.auth-mobile-switch a,.auth-recovery a{color:var(--blue);font-weight:700}.auth-brand-panel{display:none}@media(min-width:800px){.auth-experience{display:grid;grid-template-columns:1fr 1fr;min-height:650px;perspective:1200px}.auth-form-pane{align-self:center;grid-column:1;padding:52px 58px}.auth-experience.is-sign-up .auth-form-pane{grid-column:2}.auth-mobile-logo,.auth-mobile-switch{display:none}.auth-brand-panel{align-items:center;background:linear-gradient(145deg,#14213d,#1d3565 58%,#315fc7);color:#fff;display:flex;flex-direction:column;inset:0 0 0 50%;justify-content:center;overflow:hidden;padding:56px;position:absolute;text-align:center;transform-origin:left center;width:50%;z-index:1}.auth-brand-panel:before{background:radial-gradient(circle,rgba(255,255,255,.13),transparent 68%);content:"";height:420px;position:absolute;right:-190px;top:-190px;width:420px}.is-sign-up .auth-brand-panel{inset:0 50% 0 0;transform-origin:right center}.auth-brand-panel .auth-brand{margin:0 0 32px;position:relative}.auth-brand-panel .auth-logo img{height:80px;width:80px}.auth-brand-copy{position:relative}.auth-brand-kicker{color:#b9c9ed;font-size:.76rem;font-weight:700;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.auth-brand-copy h2{font-size:1.75rem;letter-spacing:-.035em;line-height:1.15;margin:0}.auth-brand-copy>p:not(.auth-brand-kicker){color:#dce6fb;margin:12px auto 26px;max-width:280px}.auth-panel-action{border:1px solid rgba(255,255,255,.72);border-radius:9px;color:#fff;display:inline-block;font-weight:700;min-width:160px;padding:10px 18px;text-decoration:none}.auth-panel-action:hover{background:var(--surface-elevated);color:var(--navy)}.is-sign-in .auth-brand-panel{animation:auth-panel-from-left .42s ease-in-out both}.is-sign-up .auth-brand-panel{animation:auth-panel-from-right .42s ease-in-out both}.is-sign-in .auth-form-pane{animation:auth-form-from-right .42s ease-in-out both}.is-sign-up .auth-form-pane{animation:auth-form-from-left .42s ease-in-out both}}@keyframes auth-panel-from-left{0%{opacity:.94;transform:translateX(-100%) rotateY(-4deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}@keyframes auth-panel-from-right{0%{opacity:.94;transform:translateX(100%) rotateY(4deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}@keyframes auth-form-from-right{0%{opacity:.45;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@keyframes auth-form-from-left{0%{opacity:.45;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.auth-brand-panel,.auth-form-pane{animation:none!important;transition:none!important;transform:none!important}}.workflow-note{background:var(--primary-subtle);border-left:4px solid var(--blue);border-radius:8px;color:var(--muted);font-size:.86rem;margin:0 0 24px;padding:11px 14px}.student-view-switcher{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px;width:100%}.student-view-switcher a{background:var(--surface-elevated);border:1px solid var(--line);border-radius:12px;color:var(--muted);display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:68px;padding:11px 14px;text-align:left;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.student-view-switcher a:hover{background:var(--surface-subtle);border-color:var(--blue);color:var(--ink);transform:translateY(-1px)}.student-view-switcher a[aria-current=page]{background:var(--primary-subtle);border-color:var(--blue);box-shadow:0 2px 7px var(--shadow);color:var(--blue)}.student-view-switcher a:focus-visible{outline:3px solid var(--primary-focus);outline-offset:2px}.student-view-label{font-size:.9rem;font-weight:800;line-height:1.1}.student-view-description{font-size:.73rem;font-weight:500;line-height:1.2}.students-layout{display:grid;grid-gap:18px;gap:18px}.create-student-panel,.student-list-panel{padding:20px}.student-section-heading{align-items:center;display:flex;justify-content:space-between}.create-student-panel h2,.student-section-heading h2{font-size:1.25rem;margin:0}.student-count{align-items:center;background:var(--primary-subtle);border-radius:50%;color:var(--blue);display:flex;font-size:.8rem;font-weight:700;height:32px;justify-content:center;width:32px}.students-state{color:var(--muted);padding:48px 20px;text-align:center}.students-state>span{color:var(--blue);font-size:1.8rem}.students-state h3{color:var(--ink);font-size:1.05rem;margin:10px 0 4px}.students-state p{margin:0 auto;max-width:430px}.archived-empty-state a{color:var(--blue);display:inline-block;font-size:.86rem;font-weight:700;margin-top:14px}.student-list{list-style:none;margin:16px 0 0;padding:0}.student-list li{align-items:center;border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto 1fr;padding:16px 0}.student-avatar{align-items:center;background:var(--primary-subtle);border-radius:10px;color:var(--blue);display:flex;font-size:.78rem;font-weight:800;height:40px;justify-content:center;text-transform:uppercase;width:40px}.student-summary h3{font-size:1rem;margin:0}.student-contact{display:flex;flex-wrap:wrap;gap:3px 14px;margin-top:3px}.student-contact a{color:var(--muted);font-size:.82rem}.student-indicators{display:flex;flex-wrap:wrap;gap:6px;grid-column:2;justify-self:start}.archived-indicator,.notes-indicator{border-radius:100px;font-size:.7rem;font-weight:700;padding:4px 8px}.notes-indicator{background:var(--semantic-note-bg);color:var(--semantic-note)}.archived-indicator{background:var(--semantic-neutral-bg);border:1px solid var(--line);color:var(--semantic-neutral)}.form-intro{color:var(--muted);font-size:.82rem;margin:5px 0 18px}.student-form,.student-name-fields{display:grid;grid-gap:14px;gap:14px}.student-field{display:grid;grid-gap:6px;gap:6px}.student-form label{font-size:.86rem;font-weight:700}.student-form input,.student-form textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;padding:10px 12px;width:100%}.student-form input{min-height:44px}.student-form textarea{min-height:100px;resize:vertical}.student-form input:focus,.student-form textarea:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.student-form [aria-invalid=true]{border-color:var(--semantic-error-border)}.field-error{color:var(--semantic-error);font-size:.78rem;margin:0}.student-form .primary-button{width:100%}@media(min-width:480px){.student-view-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:800px){.student-view-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:600px){.student-name-fields{grid-template-columns:1fr 1fr}.student-list li{grid-template-columns:auto 1fr auto}.student-indicators{grid-column:auto;justify-self:end}}@media(min-width:1000px){.students-layout{align-items:start;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.students-layout.archived-roster-layout{grid-template-columns:1fr}.create-student-panel,.student-list-panel{padding:24px}.create-student-panel{position:-webkit-sticky;position:sticky;top:32px}}.student-name-link{color:var(--ink);-webkit-text-decoration-color:#b9c7ed;text-decoration-color:#b9c7ed;text-underline-offset:3px}.back-link,.student-name-link:hover{color:var(--blue)}.back-link{display:inline-block;font-size:.88rem;font-weight:700;margin-bottom:20px;text-decoration:none}.student-detail-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.student-detail-header h1{font-size:clamp(2rem,6vw,3.1rem);letter-spacing:-.04em;line-height:1.08;margin:0}.student-state{border-radius:100px;font-size:.75rem;font-weight:800;margin-top:7px;padding:6px 10px}.student-state.active{background:var(--semantic-success-bg);color:var(--semantic-success)}.student-state.archived{background:var(--semantic-neutral-bg);color:var(--muted)}.student-overview{margin-bottom:18px}.status-control h2,.student-edit-panel h2,.student-overview h2{font-size:1.25rem;margin:0 0 16px}.student-overview dl{display:grid;grid-gap:18px;gap:18px;margin:0}.student-overview dl>div{min-width:0}.student-overview dt{color:var(--muted);font-size:.76rem;font-weight:700;margin-bottom:3px;text-transform:uppercase}.student-overview dd{margin:0;overflow-wrap:anywhere}.notes-detail dd{white-space:pre-wrap}.missing-value{color:var(--muted);font-style:italic}.student-detail-layout{display:grid;grid-gap:18px;gap:18px}.status-control p{color:var(--muted);font-size:.88rem}.status-control form{display:grid;grid-gap:14px;gap:14px}.archive-confirm{align-items:flex-start;display:flex;font-size:.84rem;font-weight:600;gap:9px}.archive-confirm input{height:18px;margin:2px 0 0;width:18px}.danger-button{background:var(--surface-elevated);cursor:pointer;font-weight:700;min-height:46px;padding:10px 16px}.danger-button:hover{background:var(--semantic-error-bg)}.danger-button:disabled{opacity:.7}@media(min-width:600px){.student-overview dl{grid-template-columns:1fr 1fr}.student-overview .notes-detail{grid-column:1/-1}}@media(min-width:900px){.student-detail-layout{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}.status-control,.student-edit-panel,.student-overview{padding:24px}.status-control{position:-webkit-sticky;position:sticky;top:32px}}.student-form select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;padding:10px 12px;width:100%}.course-list{list-style:none;margin:16px 0 0;padding:0}.course-list li{align-items:center;border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:15px 0}.course-list h3,.course-list p{margin:0}.course-list p{color:var(--muted);font-size:.85rem;margin-top:3px}.course-list .course-template-context{color:var(--ink);font-size:.78rem;font-weight:650;margin-top:5px}.course-list .course-template-context strong{color:var(--semantic-warning);font-weight:800}.course-list a{color:var(--blue);font-weight:700}.course-detail-layout{display:grid;grid-gap:18px;gap:18px;margin-bottom:18px}.course-detail-layout h2,.current-students h2,.enrollment-history h2,.enrollment-panel h2{font-size:1.25rem;margin:0 0 16px}.status-label{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:100px;color:var(--primary-strong);font-size:.72rem;font-weight:800;padding:4px 8px;text-transform:capitalize}.current-students{margin-top:18px}.enrollment-history,.enrollment-panel{margin-bottom:18px}.enrollment-summary{display:grid;grid-gap:14px;gap:14px;margin:0 0 18px}.enrollment-summary dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.enrollment-summary dd{margin:2px 0 0;white-space:pre-wrap}.enrollment-summary a{color:var(--blue);font-weight:700}.enrollment-actions{display:flex;flex-wrap:wrap;gap:10px}.enrollment-actions form{display:grid;grid-gap:5px;gap:5px}.enrollment-actions button{min-height:40px;padding:7px 13px}.enrollment-history{margin-top:18px}@media(min-width:800px){.course-detail-layout{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)}.enrollment-summary{grid-template-columns:repeat(3,1fr)}.enrollment-summary div:last-child{grid-column:1/-1}}.enrollment-panel,.enrollment-panel .student-field,.enrollment-panel .student-form{min-width:0}.enrollment-course-field{width:100%}.enrollment-course-field .searchable-combobox-list{max-width:100%;overflow-x:hidden}.enrollment-course-field .searchable-combobox-list li{overflow-wrap:anywhere}.course-lesson-heading>div,.course-lesson-summary,.course-list li>div,.enrollment-summary>div,.student-contact,.student-detail-header>div,.student-list li,.student-summary{min-width:0}.course-lesson-summary h3,.course-lesson-summary p,.course-list a,.course-list h3,.course-list p,.enrollment-summary dd,.student-contact a,.student-detail-header h1,.student-name-link{overflow-wrap:anywhere}.course-list>li>span,.student-indicators,.student-state{flex-shrink:0}.student-name-fields{align-items:start}.student-name-fields>.student-field{width:100%}.course-structure-options{border:0;display:grid;grid-gap:9px;gap:9px;margin:0;padding:0}.course-structure-options legend{font-size:.86rem;font-weight:700;margin-bottom:6px}.course-structure-options label{align-items:flex-start;background:var(--surface-subtle);border:1px solid var(--line);border-radius:9px;cursor:pointer;display:flex;gap:10px;padding:12px}.course-structure-options input{height:18px;margin:2px 0 0;width:18px}.course-structure-options label>span{display:grid;grid-gap:2px;gap:2px}.course-structure-options .field-help,.course-structure-options small{color:var(--muted);font-weight:400}.course-stage-list{display:grid;grid-gap:18px;gap:18px;margin-top:18px}.course-stage-card{border:1px solid var(--line);border-radius:12px;padding:18px}.course-stage-card header h3{font-size:1.15rem;margin:3px 0}.course-stage-card .eyebrow{margin:0}.stage-description{color:var(--muted);margin:6px 0 0;white-space:pre-wrap}.stage-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.stage-actions details{min-width:min(100%,320px)}.stage-actions summary{cursor:pointer;list-style:none;width:max-content}.stage-actions summary::-webkit-details-marker{display:none}.stage-actions .create-lesson-form,.stage-actions .stage-form{margin-top:10px}.stage-actions .danger-button,.stage-actions .secondary-link-button{min-height:40px;padding:8px 12px}.stage-retirement{display:grid;grid-gap:5px;gap:5px;max-width:420px}.stage-retirement .field-help{margin:0}.stage-empty-state{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;margin:16px 0 0;padding-top:16px}.course-stage-card .course-lesson-list{margin-top:12px}.course-lessons h2{font-size:1.25rem;margin:0}.course-lesson-list{list-style:none;margin:16px 0 0;padding:0}.course-lesson-list>li{align-items:flex-start;border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:36px minmax(0,1fr);padding:16px 0}.lesson-position{align-items:center;background:var(--primary-subtle);border-radius:9px;color:var(--blue);display:flex;font-size:.8rem;font-weight:800;height:36px;justify-content:center}.course-lesson-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.course-lesson-summary h3{font-size:1rem;margin:5px 0 0}.course-lesson-summary p{color:var(--muted);font-size:.85rem;margin:5px 0 0;white-space:pre-wrap}.lesson-category{background:var(--semantic-neutral-bg);border-radius:100px;color:var(--muted);font-size:.7rem;font-weight:800;padding:4px 8px}.lesson-list-state{color:var(--muted);padding:36px 18px;text-align:center}.lesson-list-state h3{color:var(--ink);font-size:1rem;margin:0 0 4px}.lesson-list-state p{margin:0}.lesson-incomplete{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:9px;padding:10px 12px}.lesson-incomplete h3{color:var(--semantic-warning);margin:0}.lesson-incomplete p{color:var(--semantic-warning);margin-top:2px}.lesson-list-error{background:var(--semantic-error-bg);border-radius:9px;margin-top:16px}.lesson-list-error,.lesson-list-error h3{color:var(--semantic-error)}.create-lesson-form{background:var(--canvas);border:1px solid var(--line);border-radius:12px;margin-top:16px;padding:16px}.create-lesson-form h3{font-size:1rem;margin:0}.create-lesson-form .primary-button{justify-self:start;width:auto}@media(min-width:700px){.create-lesson-form form{grid-template-columns:1fr 1fr}.create-lesson-form .form-message,.create-lesson-form .primary-button,.create-lesson-form .student-field:last-of-type{grid-column:1/-1}}.assigned-course-plan{margin-bottom:18px}.assigned-course-plan h2{font-size:1.25rem;margin:0}.assigned-plan-intro{color:var(--muted);font-size:.85rem;margin:5px 0 0}.assigned-plan-warning{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:9px;color:var(--semantic-warning);margin-top:16px;padding:11px 12px}.assigned-course-plan .course-lesson-list{margin-top:12px}@media(min-width:900px){.assigned-course-plan{padding:24px}}.assigned-plan-status{background:var(--semantic-neutral-bg);border-radius:9px;color:var(--muted);font-size:.85rem;margin:14px 0 0;padding:10px 12px}.lesson-attempt-controls{margin-top:12px}.lesson-attempt-action{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.lesson-attempt-button,.lesson-attempt-link{display:inline-flex;justify-content:center;min-height:40px;padding:7px 13px;text-decoration:none}.lesson-attempt-link:hover{background:#2858d6}.lesson-attempt-button:disabled{opacity:.58}.calendar-resume-conflict,.lesson-attempt-resume-link{color:var(--blue);font-size:.86rem;font-weight:800}.lesson-disabled-reason{font-size:.78rem!important;margin:0!important;max-width:420px}.attempt-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.attempt-header h1{font-size:clamp(2rem,6vw,3.1rem);letter-spacing:-.04em;line-height:1.08;margin:0}.attempt-header>div>p:last-child{color:var(--muted);margin:8px 0 0}.attempt-in-progress{background:var(--semantic-success-bg);border-color:#bce8d4;color:var(--semantic-success)}.attempt-workspace{max-width:850px}.attempt-state{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;padding-bottom:18px}.attempt-state>span{color:#20a77a;font-size:1.4rem}.attempt-state .eyebrow{margin:0}.attempt-state h2{font-size:1.35rem;margin:0}.attempt-details{display:grid;grid-gap:18px;gap:18px;margin:20px 0 0}.attempt-details dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.attempt-details dd{margin:3px 0 0;white-space:pre-wrap}.attempt-description{grid-column:1/-1}@media(min-width:600px){.attempt-details{grid-template-columns:1fr 1fr}}@media(min-width:900px){.attempt-workspace{padding:24px}}.attempt-back-link,.attempt-details>div,.attempt-header,.attempt-header>div,.attempt-item,.attempt-item-title,.attempt-item-title h3,.attempt-state>div,.attempt-workspace{min-width:0}.attempt-back-link,.attempt-details dd,.attempt-header h1,.attempt-header>div>p:last-child,.attempt-item-title h3{overflow-wrap:anywhere}.attempt-header .status-label,.attempt-item-title>span{flex-shrink:0}.attempt-workspace{width:100%}.assigned-course-plan .course-lesson-list>li{padding:11px 0}.assigned-course-plan .course-lesson-summary h3{margin-top:2px}.assigned-lesson-description{color:var(--muted);font-size:.85rem;margin-top:6px}.assigned-lesson-description summary{border-radius:5px;color:var(--blue);cursor:pointer;font-weight:700;width:max-content;max-width:100%}.assigned-lesson-description summary:focus-visible{outline:3px solid var(--primary-focus);outline-offset:3px}.assigned-lesson-description p{margin:6px 0 0}.assigned-course-plan .lesson-attempt-controls{margin-top:8px}.modal-backdrop{align-items:flex-start;background:rgba(12,21,39,.58);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:20}.modal-card{background:var(--surface-elevated);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 55px rgba(12,21,39,.25);margin:auto 0;max-height:calc(100dvh - 40px);max-width:460px;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:22px;position:relative;width:100%}.modal-card h2{font-size:1.25rem;margin:0;padding-right:38px}.modal-card p{color:var(--muted);margin:9px 0 20px}.modal-card .primary-button{width:100%}.modal-close-button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer;display:flex;font-size:1.6rem;height:44px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;top:9px;width:44px}.modal-close-button:hover{background:var(--surface-subtle);color:var(--ink)}@media(min-width:480px){.modal-card{padding:26px}.modal-card .primary-button{width:auto}.modal-close-button{right:12px;top:11px}}.attempt-terminal>span{color:#647086}.attempt-actions{align-items:stretch;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;margin-top:22px;padding-top:20px}.attempt-cancel-button{background:transparent;border:1px solid var(--semantic-error-border);border-radius:9px;color:var(--semantic-error);cursor:pointer;font-weight:700;min-height:46px;padding:10px 16px}.attempt-cancel-button:hover{background:var(--semantic-error-hover)}.modal-actions{display:flex;flex-direction:column;gap:10px}.modal-card .form-message{margin:-8px 0 16px}.modal-actions .danger-button,.modal-actions .lesson-cancel-button{width:100%}@media(min-width:480px){.attempt-actions,.modal-actions{align-items:center;flex-direction:row}.modal-actions .danger-button,.modal-actions .lesson-cancel-button{width:auto}}.lesson-edit-trigger{background:transparent;border:0;color:var(--blue);cursor:pointer;font-size:.82rem;font-weight:800;padding:4px 0}.lesson-edit-form{background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:12px}.lesson-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.lesson-cancel-button,.lesson-edit-actions .primary-button{min-height:40px;padding:7px 13px;width:auto}.lesson-cancel-button{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);cursor:pointer;font-weight:700}.lesson-cancel-button:hover{background:var(--surface-subtle)}.lesson-edit-success{color:var(--semantic-success);font-size:.82rem;margin:10px 0 0;min-height:1.25rem;min-width:0;overflow-wrap:anywhere}.lesson-edit-actions .lesson-edit-success{flex-basis:100%;margin:2px 0 0}.lesson-edit-message{margin:0}@media(min-width:700px){.lesson-edit-form{grid-template-columns:1fr 1fr}.lesson-edit-actions,.lesson-edit-description,.lesson-edit-message{grid-column:1/-1}}.lesson-summary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.lesson-item-count{color:var(--muted);font-size:.78rem!important;font-weight:800;margin:3px 0 0!important;text-transform:uppercase;white-space:normal!important}.lesson-description-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.lesson-items-disclosure{align-items:center;background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);display:inline-flex;font-size:.82rem;font-weight:800;gap:6px;min-height:40px;padding:7px 12px}.lesson-items-disclosure:hover{background:var(--surface-subtle)}.lesson-disclosure-icon{color:var(--blue);font-size:.8rem;line-height:1}.lesson-summary-items-region{margin-top:12px}.lesson-summary-items{margin:0;padding-left:22px}.lesson-summary-items li{margin-top:6px}.lesson-summary-items li::marker{color:var(--blue);font-weight:800}@media(max-width:520px){.lesson-summary-actions{align-items:stretch;flex-direction:column}.lesson-edit-trigger,.lesson-items-disclosure{justify-content:center;width:100%}}@media(min-width:1024px){.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-toggle{align-items:center;align-self:flex-end;background:transparent;border:1px solid #53617c;border-radius:8px;color:#eaf0ff;cursor:pointer;display:flex;font-size:1.15rem;height:36px;justify-content:center;margin-bottom:18px;width:40px}.sidebar-toggle:hover{background:#273757}.sidebar-collapsed .desktop-logo,.sidebar-collapsed .sidebar-toggle{align-self:center}.sidebar-collapsed .desktop-logo,.sidebar-collapsed .desktop-logo img{height:46px;width:46px}.sidebar-collapsed .brand-note,.sidebar-collapsed .sidebar-footer>span,.sidebar-collapsed .sidebar-label{display:none}.sidebar-collapsed .nav-label{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sidebar-collapsed .sidebar .nav-link{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-footer{padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-footer .sign-out{font-size:0;padding:7px}.sidebar-collapsed .sidebar-footer .sign-out:after{content:"⇥";font-size:1.1rem}.main-content{min-width:0;width:100%}}.lesson-item-editor{border:0;padding:0;margin:0;min-width:0}.lesson-item-editor legend{font-weight:700;margin-bottom:.25rem}.lesson-item-row{border:1px solid var(--border,#cbd5e1);border-radius:.6rem;padding:.75rem;margin:.65rem 0}.lesson-item-row label{display:block;font-weight:650;margin-bottom:.35rem}.lesson-item-row input{width:100%}.lesson-item-buttons{display:flex;gap:.5rem;margin-top:.55rem}.attempt-status-choices button,.lesson-item-buttons button{min-height:44px;padding:.55rem .85rem}.lesson-item-add{margin:.35rem 0 1rem}.attempt-items{margin-top:1.5rem}.attempt-items ol{list-style:none;margin:0;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.attempt-item{border:1px solid var(--border,#cbd5e1);border-radius:.75rem;padding:1rem}.attempt-item-title{display:flex;gap:.75rem;align-items:flex-start}.attempt-item-title>span{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:#e8eef8;font-weight:750}.attempt-item-title h3{margin:.2rem 0 .75rem;font-size:1rem}.attempt-carryover-badge{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:999px;color:var(--primary-strong);display:inline-block;font-size:.68rem;margin-left:.35rem;padding:3px 7px;vertical-align:middle}.attempt-carryover-context{background:var(--surface-soft);border-left:4px solid var(--primary-border);border-radius:8px;margin:.1rem 0 .8rem;padding:9px 10px}.attempt-carryover-context strong{font-size:.78rem}.attempt-carryover-context p{font-size:.86rem;margin:3px 0 0;white-space:pre-wrap}.attempt-status-choices{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.45rem;gap:.45rem}.attempt-status-choices legend{font-weight:650;margin-bottom:.4rem}.attempt-status-choices button[aria-pressed=true]{font-weight:750}.inline-save-error,.save-status{min-height:1.3rem;margin:.45rem 0 0;font-size:.9rem}.inline-save-error{color:#a21c1c}.attempt-final-status{margin:0;font-weight:700}.attempt-items-empty{margin-top:1.5rem;padding:1rem;background:#f5f6f8;border-radius:.6rem}@media (max-width:600px){.attempt-status-choices{grid-template-columns:1fr}.attempt-status-choices button{width:100%}}.attempt-note-form,.overall-notes-form{display:grid;grid-gap:.45rem;gap:.45rem}.attempt-note-form label,.overall-notes-form label{font-weight:700}.attempt-note-form textarea,.overall-notes-form textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;padding:10px 12px;resize:vertical;width:100%}.attempt-note-form textarea:focus,.overall-notes-form textarea:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.note-form-footer{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.78rem;gap:10px;justify-content:space-between}.note-save-button{min-height:44px}.overall-notes{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.overall-notes h2{font-size:1.25rem;margin:0 0 12px}.overall-notes-form>label{position:absolute;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}.terminal-notes{background:var(--surface-soft);border-radius:8px;margin-top:12px;max-width:100%;min-width:0;padding:10px 12px}.terminal-notes h4{font-size:.82rem;margin:0 0 4px}.terminal-notes p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.completion-debrief{display:grid;grid-gap:.45rem;gap:.45rem;margin:18px 0;min-width:0}.completion-debrief h3{font-size:1rem;margin:0}.completion-debrief label{font-size:.86rem;font-weight:700}.completion-debrief textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;max-width:100%;min-width:0;padding:10px 12px;resize:vertical;width:100%}.completion-debrief textarea:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.modal-card .completion-debrief .field-hint{font-size:.78rem;margin:0}.empty-note{color:var(--muted);font-style:italic}.attempt-final-status span{color:var(--muted);font-weight:600}.completion-counts{display:grid;grid-gap:7px;gap:7px;grid-template-columns:repeat(3,1fr);margin:16px 0}.completion-counts span{background:var(--surface-subtle);border-radius:8px;font-size:.78rem;padding:8px;text-align:center}.completion-counts strong{display:block;font-size:1.2rem}.completion-review h3{font-size:.9rem;margin:12px 0 3px}.completion-review ul{margin:0;padding-left:22px}.completion-review p{margin:10px 0}.completion-acknowledgment{align-items:flex-start;background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:8px;display:flex;font-size:.85rem;font-weight:650;gap:9px;margin:16px 0;padding:10px}.completion-acknowledgment input{height:18px;margin:2px 0 0;width:18px}.completion-review{min-width:0}.modal-card:has(.completion-review){max-width:560px}.attempt-status-choices button{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:8px;color:var(--ink);align-items:center;display:inline-flex;gap:6px;justify-content:center;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.attempt-status-icon{flex:0 0 auto;height:18px;width:18px}.attempt-status-choices button[aria-pressed=true]{font-weight:800;outline:3px solid #173f75;outline-offset:1px}.attempt-final-sat,.attempt-status-sat[aria-pressed=true]{background:var(--semantic-success-selected)!important;border-color:var(--semantic-success-border)!important;color:var(--semantic-success)!important}.attempt-final-unsat,.attempt-status-unsat[aria-pressed=true]{background:var(--semantic-error-bg)!important;border-color:var(--semantic-error-border)!important;color:var(--semantic-error)!important}.attempt-final-incomplete,.attempt-status-incomplete[aria-pressed=true]{background:var(--semantic-warning-selected)!important;border-color:var(--semantic-warning-border)!important;color:var(--semantic-warning)!important}@media(hover:hover){.attempt-status-choices button:not(:disabled):hover{background:var(--primary-subtle);border-color:var(--primary-border);box-shadow:0 1px 3px var(--shadow)}.attempt-status-sat[aria-pressed=true]:hover{background:var(--semantic-success-hover)!important;border-color:var(--semantic-success-border-strong)!important;box-shadow:0 1px 3px #12654a2e}.attempt-status-unsat[aria-pressed=true]:hover{background:var(--semantic-error-hover)!important;border-color:var(--semantic-error-border-strong)!important;box-shadow:0 1px 3px #9223332e}.attempt-status-incomplete[aria-pressed=true]:hover{background:var(--semantic-warning-hover)!important;border-color:var(--semantic-warning-border-strong)!important;box-shadow:0 1px 3px #76500d2e}}.attempt-unsatisfactory-outcome{background:var(--semantic-error-bg);border-color:var(--semantic-error-border);color:var(--semantic-error)}.attempt-unsatisfactory-text{color:var(--semantic-error)}.outcome-choices{border:0;display:grid;grid-gap:9px;gap:9px;margin:16px 0;padding:0}.outcome-choices legend{font-weight:800;margin-bottom:6px}.outcome-choices label{align-items:flex-start;border:1px solid var(--line);border-radius:9px;cursor:pointer;display:flex;gap:10px;padding:11px}.outcome-choices label:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px #cfdbfa}.outcome-choices input{height:20px;width:20px}.outcome-choices span{color:var(--muted);font-size:.84rem}.outcome-choices strong{color:var(--ink);display:block;font-size:.92rem}.attempt-history{margin-bottom:18px}.attempt-history h2{font-size:1.25rem;margin:0 0 16px}.attempt-history ul{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:0;padding:0}.attempt-history li{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;padding:16px 0}.attempt-history h3,.attempt-history p{margin:0}.attempt-history p{color:var(--muted);font-size:.84rem}.attempt-history dl{display:grid;grid-gap:10px;gap:10px;margin:0}.attempt-history dt{color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase}.attempt-history dd{font-size:.85rem;margin:1px 0 0}.history-unsatisfactory{color:var(--semantic-error);font-weight:800}.attempt-history-link{color:var(--blue);font-weight:800;min-height:44px;padding:10px 0}@media(min-width:700px){.attempt-history li{align-items:center;grid-template-columns:minmax(150px,1fr) 2fr auto}.attempt-history dl{grid-template-columns:repeat(2,1fr)}}.students-page-heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.students-page-heading .page-header{flex:1 1;min-width:0;margin-bottom:0}.add-student-link{align-items:center;display:inline-flex;flex:0 0 auto;justify-content:center;text-decoration:none}.roster-controls{align-items:end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.student-list-panel{width:100%}.roster-search{display:grid;grid-gap:6px;gap:6px;margin:20px 0 4px;max-width:520px}.roster-search label{font-size:.86rem;font-weight:700}.roster-search input{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;padding:10px 12px;width:100%}.roster-search input:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.active-indicator{background:var(--semantic-success-bg);border-radius:100px;color:var(--semantic-success);font-size:.7rem;font-weight:700;padding:4px 8px}.students-state a{color:var(--blue);display:inline-block;font-weight:700;margin-top:14px}.student-form-page{max-width:760px}.student-form-page .create-student-panel{position:static}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.form-actions .primary-button{width:auto}.secondary-link-button{align-items:center;border:1px solid var(--input-border);border-radius:9px;display:inline-flex;font-weight:700;justify-content:center;min-height:46px;padding:10px 16px;text-decoration:none}.secondary-link-button:hover{background:var(--surface-subtle)}.student-detail-nav{border-bottom:1px solid var(--line);display:flex;margin-bottom:24px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.student-detail-nav a{border-bottom:3px solid transparent;color:var(--muted);flex:0 0 auto;font-size:.88rem;font-weight:700;min-height:48px;padding:12px 16px;text-decoration:none}.student-detail-nav a:hover{background:var(--surface-subtle);color:var(--ink)}.student-detail-nav a[aria-current=page]{border-color:var(--blue);color:var(--blue)}.student-workflow-note{margin-top:0}.student-route-message{margin-bottom:18px}.overview-training-summary dl,.overview-training-summary h2{margin-top:0}.overview-training-summary dl{display:grid;grid-gap:16px;gap:16px}.overview-training-summary dt{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.overview-training-summary dd{margin:3px 0 0}.overview-training-summary>a{color:var(--blue);display:inline-block;font-weight:700;margin-top:16px}.route-section-title{font-size:1.5rem;margin:0 0 16px}.section-empty-state{color:var(--muted);padding:30px 10px;text-align:center}.section-empty-state h3{color:var(--ink);margin:0 0 4px}.section-empty-state p{margin:0}.status-control,.student-edit-panel{min-width:0}.notes-detail dd,.student-form textarea{overflow-wrap:anywhere}.sidebar-footer .sign-out:hover{background:#273757;border-color:#9aa8c4;color:#fff}@media(min-width:600px){.overview-training-summary dl{grid-template-columns:1fr 1fr}}@media(max-width:599px){.students-page-heading{flex-direction:column}.student-view-switcher,.students-page-heading .add-student-link{width:100%}.student-list li{align-items:start}.student-indicators{grid-column:2}.student-detail-header{align-items:flex-start;flex-direction:column}.student-state{margin-top:0}}.roster-search-control{align-items:center;display:flex;gap:8px}.roster-search-control input{min-width:0}.roster-search-control button{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);cursor:pointer;flex:0 0 auto;font-weight:700;min-height:44px;padding:9px 14px}.roster-search-control button:hover{background:var(--surface-hover);border-color:var(--input-border)}.roster-search-control button:focus-visible{outline:3px solid #f3a72e;outline-offset:3px}.student-identity-sticky{background:var(--canvas);border-bottom:1px solid #d7dde7;box-shadow:0 5px 10px -10px rgba(22,35,58,.55);margin-bottom:24px;padding-top:4px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.student-identity-sticky .back-link,.student-identity-sticky .student-detail-header{margin-bottom:8px}.student-identity-sticky .student-detail-nav{margin-bottom:0}.not-found-roster-link{align-items:center;min-height:44px;padding:10px 4px;text-underline-offset:3px}.not-found-roster-link:hover{color:#2858d6;text-decoration-thickness:2px}@media(max-width:599px){.student-identity-sticky{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}.student-identity-sticky .student-detail-header{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.student-identity-sticky .student-detail-header h1{font-size:clamp(1.55rem,8vw,2rem);overflow-wrap:anywhere}.student-identity-sticky .student-detail-header .eyebrow{font-size:.68rem}.student-identity-sticky .student-state{white-space:nowrap}.student-identity-sticky .student-detail-nav a{padding-left:14px;padding-right:14px}.roster-search-control{align-items:stretch;flex-direction:column}.roster-search-control button{align-self:flex-start}}.local-persistence-messages{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.local-recovery-message,.local-save-status{font-size:.82rem;margin:0}.local-save-status{color:var(--muted)}.local-recovery-message{background:var(--semantic-success-bg);border-radius:8px;color:var(--semantic-success);margin-bottom:8px;padding:9px 11px}.lesson-save-status-area{background:var(--surface-elevated);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 12px var(--shadow);box-sizing:border-box;display:grid;grid-gap:5px;gap:5px;margin:0 0 14px;min-height:52px;padding:9px 11px;position:-webkit-sticky;position:sticky;top:12px;z-index:2}.lesson-save-status-warning{background:var(--semantic-warning-bg);border-color:#efd3a6}.lesson-local-save-status{min-height:1.2rem}.local-save-warning{color:var(--semantic-warning)}.field-local-save-status{color:var(--muted);font-size:.76rem;margin:6px 0 0}.field-local-save-warning{color:var(--semantic-warning)}.offline-lesson-save-status{align-self:start;max-width:100%;position:-webkit-sticky;position:sticky;top:12px;z-index:3}.lesson-connectivity-status{color:var(--semantic-success);font-size:.82rem;margin:0}.lesson-connectivity-warning{color:var(--semantic-warning)}.lesson-sync-button{background:var(--primary-subtle);border:1px solid var(--blue);border-radius:8px;color:var(--blue);font-weight:700;justify-self:start;margin-top:4px;min-height:38px;padding:7px 12px}.lesson-sync-button:hover{background:var(--primary-subtle-hover)}.overall-cloud-feedback{min-height:1.3rem}.overall-cloud-feedback p{margin:.45rem 0 0}.overall-cloud-feedback .status-retry-button{font-size:.78rem;margin-top:6px;min-height:34px;padding:5px 9px}.terminal-save-guard{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:8px;color:var(--semantic-warning);font-size:.86rem;margin:0 0 12px;padding:10px 12px;width:100%}.status-cloud-feedback{min-height:1.3rem}.status-cloud-feedback p{margin:.45rem 0 0}.status-cloud-feedback .status-retry-button{font-size:.78rem;margin-top:6px;min-height:34px;padding:5px 9px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button[aria-busy=true]{cursor:wait;opacity:.72}.calendar-layout{display:grid;grid-gap:18px;gap:18px}.calendar-panel,.upcoming-panel{min-width:0}.calendar-toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.calendar-toolbar h2,.upcoming-panel h2{margin:0}.week-navigation{display:grid;grid-gap:7px;gap:7px;grid-template-columns:1fr auto 1fr;margin:18px 0}.secondary-button,.week-navigation button{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font-weight:750;min-height:44px;padding:8px 11px}.week-navigation button:last-child{text-align:right}.week-grid{display:grid;grid-gap:10px;gap:10px}.calendar-day{border:1px solid var(--line);border-radius:11px;min-width:0;padding:11px}.calendar-day h3{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin:0 0 9px}.calendar-day h3 small{background:var(--primary-subtle);border-radius:999px;color:var(--primary-strong);padding:3px 7px}.calendar-day>p{color:var(--muted);font-size:.8rem;margin:8px 0}.calendar-day ul,.upcoming-panel ol{display:grid;grid-gap:7px;gap:7px;list-style:none;margin:0;padding:0}.calendar-day li button,.upcoming-panel li button{background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;color:var(--ink);display:grid;font:inherit;grid-gap:3px;gap:3px;min-height:44px;padding:9px;text-align:left;width:100%}.calendar-day li button strong{font-size:.76rem}.calendar-day li button span{font-size:.82rem;overflow-wrap:anywhere}.week-empty-message{color:var(--muted);font-size:.86rem;text-align:center}.upcoming-panel h2{font-size:1.25rem;margin-bottom:14px}.upcoming-panel li button{border-left:0;border-top:3px solid var(--blue)}.upcoming-panel li span{color:var(--muted);font-size:.78rem}.calendar-empty{color:var(--muted);padding:24px 8px;text-align:center}.calendar-empty h3{color:var(--ink);font-size:1rem;margin:0 0 4px}.calendar-empty p{margin:0}.calendar-dialog{border:0;border-radius:14px;box-shadow:0 18px 60px var(--shadow);max-height:calc(100dvh - 24px);max-width:620px;overflow-x:hidden;overflow-y:auto;padding:22px;width:calc(100% - 24px)}.calendar-dialog::-webkit-backdrop{background:#16233a88}.calendar-dialog::backdrop{background:#16233a88}.dialog-heading{align-items:flex-start;display:flex;gap:15px;justify-content:space-between}.dialog-heading h2{margin:0}.dialog-close{background:var(--surface-subtle);border:0;border-radius:50%;font-size:1.4rem;height:44px;width:44px}.appointment-details{display:grid;grid-gap:15px;gap:15px;grid-template-columns:1fr 1fr;margin:22px 0}.appointment-details dt{color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase}.appointment-details dd{margin:3px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.detail-wide{grid-column:1/-1}.dialog-actions{align-items:center;display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.danger-button{background:var(--semantic-error-bg);border:1px solid var(--semantic-error-border);border-radius:9px;color:var(--semantic-error);font-weight:750;min-height:44px;padding:9px 14px}.schedule-fields{display:grid;grid-gap:13px;gap:13px;margin-top:20px}.schedule-fields label{display:grid;font-size:.84rem;font-weight:750;grid-gap:5px;gap:5px}.schedule-fields label span{color:var(--muted);font-weight:500}.schedule-fields input,.schedule-fields select,.schedule-fields textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;padding:9px 11px;width:100%}.schedule-fields textarea{min-height:90px;resize:vertical}.time-fields{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr}.form-error{background:var(--semantic-error-bg);border:1px solid var(--semantic-error-border);border-radius:8px;color:var(--semantic-error);padding:10px}.calendar-heading .page-header{margin-bottom:18px}@media(min-width:760px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:190px}.upcoming-panel{align-self:start}}@media(min-width:1180px){.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1400px){.calendar-layout{grid-template-columns:minmax(0,1fr) 260px}}@media(min-width:1600px){.week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{padding:8px}.calendar-day h3{align-items:flex-start;flex-direction:column;gap:4px}.calendar-day li button{padding:7px}}@media(max-width:500px){.calendar-toolbar .primary-button{width:100%}.week-navigation button{font-size:.75rem;padding:6px}.appointment-details{grid-template-columns:1fr}.detail-wide{grid-column:auto}.time-fields{grid-template-columns:1fr}.dialog-actions>*{width:100%}}.schedule-fields .linked-lesson-toggle{align-items:center;display:inline-flex;gap:10px;justify-self:start;min-height:44px;width:auto}.schedule-fields .linked-lesson-toggle input[type=checkbox]{accent-color:var(--primary);height:20px;margin:0;min-height:20px;padding:0;width:20px}.attempt-note-disclosure-row{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:space-between;margin-top:.75rem}.attempt-note-present{background:var(--semantic-success-bg);border:1px solid var(--semantic-success-border);border-radius:999px;color:var(--semantic-success);font-size:.76rem;font-weight:700;padding:.25rem .55rem}.attempt-note-disclosure{background:var(--surface-elevated);border:1px solid var(--line);border-radius:999px;color:var(--blue);cursor:pointer;font:inherit;font-size:.85rem;font-weight:750;min-height:40px;padding:.45rem .8rem}.attempt-note-disclosure:hover{background:var(--surface-soft)}.attempt-note-disclosure:focus-visible{outline:3px solid var(--primary-focus);outline-offset:2px}.attempt-note-region{border-top:1px solid var(--line);margin-top:.8rem;padding-top:.8rem}.attempt-note-region[hidden]{display:none}@media (max-width:640px){.attempt-item{padding:.85rem}.attempt-note-disclosure-row{align-items:stretch;flex-direction:column}.attempt-note-disclosure{width:100%}}.start-carryover-panel{border:1px solid var(--line);border-radius:12px;margin:0 0 10px;max-width:620px;padding:14px}.start-carryover-panel legend{font-weight:800;padding:0 5px}.start-carryover-panel>p{color:var(--muted);font-size:.86rem;margin:0 0 10px}.start-carryover-list{display:grid;grid-gap:8px;gap:8px}.start-carryover-item{border-top:1px solid var(--line);display:flex;gap:10px;padding-top:10px}.start-carryover-item:first-child{border-top:0;padding-top:0}.start-carryover-item input{flex:0 0 auto;height:20px;margin-top:2px;width:20px}.start-carryover-item>span{display:grid;grid-gap:4px;gap:4px;min-width:0}.start-carryover-note{background:var(--surface-soft);border-radius:7px;display:grid;font-size:.82rem;grid-gap:3px;gap:3px;padding:7px;white-space:pre-wrap}.start-carryover-note>strong{font-size:.78rem}.carryover-note{background:var(--surface-soft);border-radius:7px;margin-top:10px;padding:8px}.carryover-note>strong{font-size:.78rem}.carryover-note>p{margin:3px 0 0;white-space:pre-wrap}@media(max-width:640px){.start-carryover-panel{width:100%}}.carryover-panel{margin-bottom:18px;min-width:0}.carryover-panel h2{margin-top:0}.carryover-source{background:var(--surface-soft);border-radius:10px;margin:12px 0;padding:12px}.carryover-source h3,.carryover-source p{margin:0}.carryover-context,.carryover-source p{color:var(--muted);font-size:.86rem}.carryover-form fieldset{border:0;margin:0 0 14px;padding:0}.carryover-form legend{font-weight:800;margin-bottom:10px}.carryover-list,.carryover-review-list{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:0;padding:0}.carryover-card,.carryover-review-item{border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px;overflow-wrap:anywhere}.carryover-checkbox{align-items:flex-start;display:flex;font-weight:750;gap:10px}.carryover-checkbox input{height:20px;margin-top:2px;width:20px}.original-quick-note{background:var(--surface-soft);border-left:4px solid var(--primary-border);border-radius:8px;margin:10px 0;padding:10px}.original-quick-note strong{font-size:.8rem}.original-quick-note p{margin:4px 0 0;white-space:pre-wrap}.carryover-note-label{display:block;font-weight:750;margin-top:10px}.carryover-note-label span,.character-count{color:var(--muted);font-size:.8rem}.carryover-review-item textarea{border:1px solid var(--input-border);border-radius:9px;font:inherit;margin-top:5px;min-height:84px;padding:10px 12px;resize:vertical;width:100%}.carryover-review-item textarea:disabled{background:var(--surface-subtle)}.character-count{margin:4px 0 0;text-align:right}.carryover-card h3{font-size:1rem;margin:0}.carryover-actions{gap:12px;margin-top:10px}.carryover-actions,.carryover-status-form{align-items:center;display:flex;flex-wrap:wrap}.carryover-status-form{gap:8px}.carryover-disclosure{margin-bottom:18px}.carryover-disclosure>summary{cursor:pointer;font-weight:800;margin-bottom:10px;min-height:44px;padding:10px 0}@media(max-width:640px){.carryover-actions,.carryover-status-form{align-items:stretch;flex-direction:column}.carryover-actions a,.carryover-status-form button{width:100%}}.inline-validation-error,.terminal-validation-guard{color:var(--semantic-error)}.terminal-validation-guard{background:var(--semantic-error-bg);border:1px solid var(--semantic-error-border);border-radius:8px;font-size:.86rem;margin:0 0 12px;padding:10px 12px;width:100%}.carryover-status-badge{border:1px solid;border-radius:999px;display:inline-block;font-size:.72rem;font-weight:800;line-height:1;padding:4px 7px;text-transform:none}.carryover-status-unsat{background:var(--semantic-error-bg);border-color:#efb8b8;color:var(--semantic-error)}.carryover-status-incomplete{background:var(--semantic-warning-bg);border-color:#ead28b;color:var(--semantic-warning)}.carryover-context{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.carryover-list-disclosure>summary{align-items:center;cursor:pointer;display:flex;font-size:1.25rem;font-weight:800;gap:8px;min-height:44px}.carryover-count{background:var(--primary-subtle);border-radius:999px;color:var(--primary-strong);font-size:.72rem;padding:4px 8px}.carryover-list-disclosure[open]>summary{margin-bottom:16px}.carryover-older-toggle{margin-top:12px}.lesson-activity-controls{display:grid;grid-gap:6px;gap:6px;margin:0 0 18px;max-width:560px}.lesson-activity-controls label,.lesson-status-filter legend{font-size:.86rem;font-weight:750}.lesson-activity-controls input{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:46px;padding:10px 12px;width:100%}.lesson-activity-controls input:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.lesson-activity-section{margin-bottom:18px}.lesson-activity-section-heading,.lesson-history-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.lesson-activity-error h2,.lesson-activity-section-heading h2,.lesson-history-heading h2{font-size:1.25rem;margin:0}.lesson-activity-section-heading>span{background:var(--primary-subtle);border-radius:999px;color:var(--primary-strong);font-size:.8rem;font-weight:800;padding:5px 10px}.lesson-activity-list{display:grid;list-style:none;margin:16px 0 0;padding:0}.lesson-activity-list>li{border-top:1px solid var(--line);display:grid;grid-gap:13px;gap:13px;padding:18px 0}.lesson-activity-context{align-items:start;display:grid;grid-gap:11px;gap:11px;grid-template-columns:auto minmax(0,1fr)}.lesson-activity-position{align-items:center;background:var(--primary-subtle);border-radius:9px;color:var(--primary-strong);display:flex;font-size:.82rem;font-weight:800;height:38px;justify-content:center;width:38px}.lesson-activity-context h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.lesson-activity-context p{color:var(--muted);font-size:.84rem;margin:3px 0 0;overflow-wrap:anywhere}.lesson-activity-meta{align-items:flex-start;color:var(--muted);display:flex;flex-direction:column;font-size:.8rem;gap:5px}.lesson-activity-action{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}.lesson-activity-view{align-items:center;color:var(--blue);display:inline-flex;font-weight:800;min-height:44px}.history-state{border-radius:999px;font-size:.72rem;padding:4px 8px}.history-state-completed{background:var(--semantic-success-bg);color:var(--semantic-success)}.history-state-cancelled{background:var(--semantic-neutral-bg);color:var(--semantic-neutral)}.lesson-activity-empty{color:var(--muted);padding:34px 10px;text-align:center}.lesson-activity-empty h3{color:var(--ink);font-size:1rem;margin:0 0 4px}.lesson-activity-empty p,.lesson-activity-error p{margin:0}.lesson-status-filter{align-items:center;border:0;display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0}.lesson-status-filter legend{margin-bottom:5px;width:100%}.lesson-status-filter button{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:750;min-height:38px;padding:7px 12px}.lesson-status-filter button[aria-pressed=true]{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-strong)}.lesson-activity-error{margin-top:18px}.lesson-activity-error p{color:var(--muted)}.skeleton{animation:skeleton-pulse 1.6s ease-in-out infinite;border-radius:7px;display:block}.lesson-activity-skeleton{display:grid;grid-gap:10px;gap:10px}.lesson-activity-skeleton .panel{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.skeleton-eyebrow{height:12px;width:125px}.skeleton-title{height:46px;max-width:360px;width:70%}.skeleton-description{height:18px;max-width:570px;width:90%}.skeleton-control{height:46px;margin:17px 0 0;max-width:560px}.skeleton-section-title{height:25px;margin-bottom:4px;width:180px}.skeleton-attempt-row{align-items:center;border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:17px 0}.skeleton-avatar{height:38px;width:38px}.skeleton-row-title{height:17px;max-width:280px;width:70%}.skeleton-row-detail{height:12px;margin-top:8px;max-width:360px;width:90%}.skeleton-row-action{grid-column:1/-1;height:44px;width:100%}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@media(min-width:720px){.lesson-activity-list>li{align-items:center;grid-template-columns:minmax(220px,1.35fr) minmax(160px,.75fr) auto}.lesson-activity-action{min-width:140px}.lesson-activity-history>li{grid-template-columns:minmax(220px,1.35fr) minmax(190px,.75fr) auto}.skeleton-attempt-row{grid-template-columns:auto minmax(0,1fr) 140px}.skeleton-row-action{grid-column:auto;width:140px}}.lesson-history-count{align-items:flex-end;color:var(--muted);display:flex;flex-direction:column;font-size:.82rem;gap:2px}.lesson-history-total{font-weight:750}.lesson-history-filters{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:14px}.history-search-field,.lesson-history-filters label{display:grid;font-size:.78rem;font-weight:750;grid-gap:5px;gap:5px}.lesson-history-filters input,.lesson-history-filters select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:8px;color:var(--ink);font:inherit;min-height:42px;padding:8px 10px;width:100%}.history-search-submit{background:var(--surface-elevated);cursor:pointer}.history-clear-link{align-self:center;color:var(--blue);font-size:.84rem;font-weight:750}.lesson-activity-summary{align-items:flex-start;color:var(--muted);display:flex;flex-direction:column;font-size:.8rem;gap:5px}.history-result{border-radius:999px;font-size:.76rem;padding:5px 9px}.history-result-satisfactory{background:var(--semantic-success-bg);color:var(--semantic-success)}.history-result-unsatisfactory{background:var(--semantic-error-bg);color:var(--semantic-error)}.history-result-cancelled{background:var(--semantic-neutral-bg);color:var(--semantic-neutral)}.history-result-result.unavailable{background:var(--semantic-warning-bg);color:var(--semantic-warning)}.history-item-counts{color:var(--ink);font-weight:750}.lesson-history-pagination{align-items:center;border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr auto 1fr;margin-top:12px;padding-top:18px;text-align:center}.lesson-history-pagination>span:first-child{text-align:left}.lesson-history-pagination>span:last-child{text-align:right}.lesson-history-pagination a{color:var(--blue);font-weight:800;min-height:44px;padding:10px 0}.lesson-history-pagination [aria-disabled=true]{color:var(--disabled-text)}.lesson-activity-empty a{color:var(--blue);display:inline-block;font-weight:750;margin-top:10px}.skeleton-filter-grid{display:grid;grid-gap:10px;gap:10px;margin:8px 0}.skeleton-filter-grid .skeleton-control{margin:0;max-width:none}@media(min-width:700px){.lesson-history-filters{align-items:end;grid-template-columns:repeat(2,minmax(0,1fr))}.history-search-field{grid-column:1/-1}.skeleton-filter-grid{grid-template-columns:2fr 1fr 1fr}.lesson-activity-history>li{grid-template-columns:minmax(220px,1.2fr) minmax(240px,1fr) auto}}@media(min-width:1400px){.lesson-history-filters{grid-template-columns:2fr repeat(4,minmax(120px,1fr))}.history-search-field{grid-column:auto}.history-search-submit{grid-column:1}.history-clear-link{grid-column:2}}.settings-workspace{display:grid;grid-gap:18px;gap:18px;max-width:680px}.settings-section{min-width:0}.settings-section h2{margin-top:0}.settings-description{color:var(--muted);margin-top:-4px}.settings-section form{display:grid;grid-gap:16px;gap:16px}.profile-name-fields label,.settings-section form>label{display:grid;font-weight:750;grid-gap:6px;gap:6px}.settings-section input:not([type]),.settings-section input[type=email]{border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;min-width:0;padding:9px 11px;width:100%}.settings-section input[readonly]{background:var(--surface-subtle);color:var(--muted)}.settings-section label span{color:var(--muted);font-size:.8rem;font-weight:500}.profile-name-fields{display:grid;grid-gap:16px;gap:16px}@media(min-width:560px){.profile-name-fields{grid-template-columns:1fr 1fr}}.date-time-settings{max-width:680px}.date-time-settings h2{margin-top:0}.settings-effective{background:var(--surface-soft);border-radius:9px;padding:11px}.date-time-settings form{display:grid;grid-gap:16px;gap:16px}.date-time-settings form>label{display:grid;font-weight:750;grid-gap:6px;gap:6px}.date-time-settings input[list],.date-time-settings input[type=text]{border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;padding:9px 11px}.date-time-settings label span{color:var(--muted);font-size:.8rem;font-weight:500}.date-time-settings fieldset{border:0;display:flex;gap:18px;margin:0;padding:0}.date-time-settings legend{font-weight:750;margin-bottom:8px}.date-time-settings fieldset label{align-items:center;display:flex;gap:7px}.success-message{min-width:0;overflow-wrap:anywhere;padding:10px}.calendar-day small,.upcoming-panel small{color:var(--muted);font-size:.68rem}.account-security{display:grid;grid-gap:22px;gap:22px}.security-group{border-top:1px solid var(--line);padding-top:20px}.security-group h3{font-size:1rem;margin:0 0 12px}.account-email{display:flex;flex-wrap:wrap;gap:6px 12px}.account-email strong{overflow-wrap:anywhere}.account-security input[inputmode],.account-security input[type=password]{border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;min-width:0;padding:9px 11px;width:100%}.account-security input[aria-invalid=true]{border-color:var(--semantic-error-border)}.account-security .password-requirements{margin-top:-7px}.recovery-option p{color:var(--muted)}.account-deletion{border:1px solid var(--semantic-error-border);border-radius:12px;padding:18px}.account-deletion>p{color:var(--muted)}.account-deletion-dialog{background:var(--surface-elevated);border:1px solid var(--semantic-error-border);border-radius:16px;color:var(--ink);max-width:520px;padding:24px;width:calc(100% - 32px)}.account-deletion-dialog::-webkit-backdrop{background:rgba(8,16,32,.62)}.account-deletion-dialog::backdrop{background:rgba(8,16,32,.62)}.account-deletion-dialog>p{color:var(--muted);line-height:1.55}.account-deletion-dialog form{display:block}.account-deletion-dialog .form-error{margin-top:14px}.calendar-view-switcher{display:inline-flex;margin-top:16px;border:1px solid var(--input-border);border-radius:9px;overflow:hidden}.calendar-view-switcher button{background:var(--surface-elevated);border:0;border-right:1px solid var(--input-border);color:var(--ink);font-weight:750;min-height:40px;padding:7px 15px}.calendar-view-switcher button:last-child{border-right:0}.calendar-view-switcher button[aria-pressed=true]{background:var(--blue);color:#fff}.calendar-day button:focus-visible,.calendar-view-switcher button:focus-visible,.day-view button:focus-visible,.month-day button:focus-visible,.week-navigation button:focus-visible{outline:3px solid #f2a900;outline-offset:2px}.day-view ul{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.day-view li{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:10px}.day-view li>button{background:transparent;border:0;color:var(--ink);display:grid;font:inherit;grid-gap:4px;gap:4px;padding:3px;text-align:left;width:100%}.day-view li>button strong{font-size:1rem}.day-view li>button span{font-size:.9rem}.appointment-course,.appointment-location,.day-view li>button small{color:var(--muted);display:block;font-size:.76rem;margin:4px 3px}.today-banner{background:var(--primary-subtle);border-radius:8px;color:var(--primary-strong);font-weight:750;padding:8px 11px}.month-scroll{max-width:100%;overflow-x:auto;padding:3px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));min-width:672px}.month-weekdays{display:contents}.month-weekdays span{background:var(--surface-soft);font-size:.72rem;font-weight:800;padding:8px;text-align:center;text-transform:uppercase}.month-day,.month-weekdays span{border-bottom:1px solid var(--line)}.month-day{border-right:1px solid var(--line);min-height:142px;min-width:0;padding:7px}.month-day:nth-of-type(7n+2){border-left:1px solid var(--line)}.month-day h3{align-items:flex-start;display:flex;flex-wrap:wrap;font-size:.8rem;gap:4px;justify-content:space-between;margin:0 0 6px}.month-day h3 small{background:var(--primary-subtle);border-radius:999px;color:var(--primary-strong);font-size:.58rem;padding:2px 5px}.month-day.adjacent-month{background:var(--surface-subtle)}.month-day.adjacent-month>h3>span{color:var(--muted)}.month-day.adjacent-month h3 small:last-child{background:transparent;color:var(--muted);padding:2px 0;width:100%}.month-day ul{display:grid;grid-gap:4px;gap:4px;list-style:none;margin:0;padding:0}.month-appointment{background:var(--primary-subtle);border:0;border-left:3px solid var(--blue);border-radius:5px;color:var(--ink);display:grid;font:inherit;padding:5px;text-align:left;width:100%}.month-appointment span,.month-appointment strong{font-size:.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-appointment span:last-child{color:var(--muted)}.month-more{background:transparent;border:0;color:var(--primary-strong);font-size:.7rem;font-weight:750;margin-top:5px;padding:5px}.month-calendar{overflow:hidden}@media(max-width:500px){.calendar-view-switcher{display:flex}.calendar-view-switcher button{flex:1 1}.month-scroll{margin-left:-8px;margin-right:-8px}.month-day{min-height:125px}}.calendar-day.is-today,.month-day.is-today{background:var(--primary-subtle);box-shadow:inset 0 0 0 2px var(--primary-border)}.calendar-day-heading,.month-day-heading{background:transparent;border:0;color:inherit;font:inherit;padding:2px;text-align:left}.calendar-day-heading{display:grid;grid-gap:2px;gap:2px;width:100%}.calendar-day-heading strong{font-size:.86rem}.calendar-day-heading span{color:var(--muted);font-size:.72rem;font-weight:650}.month-day-heading{align-items:center;border-radius:4px;display:inline-flex;font-weight:800;justify-content:center;min-height:28px;min-width:28px}.month-day.adjacent-month .month-day-heading{color:var(--muted)}.calendar-day-heading,.month-day-heading{cursor:pointer}.calendar-day-heading{border-radius:7px;padding:5px}.calendar-day-heading:hover,.month-day-heading:hover{background:var(--surface-hover)}.calendar-day-heading:focus-visible,.month-day-heading:focus-visible{background:var(--primary-subtle)}@media(hover:none),(max-width:900px){.calendar-day-heading{min-height:44px;padding:7px 9px}.calendar-day-heading,.month-day-heading{background:var(--surface-subtle);border:1px solid var(--line)}.month-day-heading{border-radius:7px;min-height:36px;min-width:36px;padding:5px}.month-day.adjacent-month .month-day-heading{background:var(--semantic-neutral-bg)}}.dashboard-skeleton,.dashboard-skeleton .page-header{display:grid;grid-gap:10px;gap:10px}.skeleton-metric-label{height:13px;width:55%}.skeleton-metric-value{height:38px;margin-top:14px;width:35%}.skeleton-metric-detail{height:12px;margin-top:9px;width:80%}.skeleton-dashboard-panel{display:grid;grid-gap:8px;gap:8px;min-height:250px}.lesson-row small{color:var(--muted);display:block;font-size:.7rem;margin-top:3px}.dashboard-schedule-action{color:var(--blue);font-size:.78rem;font-weight:800;margin-left:auto;min-height:44px;padding:11px 0;text-align:right;text-decoration:none;white-space:nowrap}@media(max-width:520px){.lesson-row{align-items:flex-start;flex-wrap:wrap}.dashboard-schedule-action{margin-left:55px;text-align:left}}.student-roster-skeleton{display:grid}.skeleton-avatar-round{border-radius:50%}.skeleton-course-row{border-top:1px solid var(--line);padding:17px 0}.skeleton-course-row:first-of-type{margin-top:8px}.skeleton-button{height:44px;margin-top:16px;width:140px}.detail-skeleton{display:grid;grid-gap:16px;gap:16px}.detail-skeleton .panel{display:grid;grid-gap:9px;gap:9px}.skeleton-back-link{height:16px;width:150px}.skeleton-badge{border-radius:999px;height:30px;width:82px}.skeleton-workflow-note{height:42px;width:100%}.skeleton-detail-nav{display:flex;gap:8px;margin-top:14px;overflow:hidden}.skeleton-nav-item{flex:0 0 92px;height:42px}.skeleton-detail-grid{display:grid;grid-gap:18px;gap:18px;margin-top:20px}.skeleton-calendar-toolbar{align-items:end;display:flex;gap:12px;justify-content:space-between}.skeleton-calendar-toolbar .skeleton-control{flex:1 1}.skeleton-control-short{max-width:180px}.skeleton-calendar-grid{min-width:0}.skeleton-calendar-days{display:grid;grid-gap:7px;gap:7px;grid-template-columns:repeat(7,minmax(0,1fr))}.skeleton-calendar-day{height:190px}.skeleton-calendar-aside{align-self:start}.skeleton-calendar-aside .skeleton-row-detail{margin:12px 0;width:100%}.course-tab-heading{align-items:start;display:flex;gap:16px;justify-content:space-between}.course-tab-heading p{color:var(--muted);font-size:.88rem;margin:5px 0 0}.create-lesson-disclosure{margin-top:16px}.create-lesson-disclosure>summary{cursor:pointer;list-style:none;width:max-content;max-width:100%}.create-lesson-disclosure>summary::-webkit-details-marker{display:none}.create-lesson-disclosure>summary:focus-visible,.lesson-parent-link:focus-visible,.lesson-view-link:focus-visible{outline:3px solid var(--primary-focus);outline-offset:3px}.create-lesson-disclosure .create-lesson-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.lesson-view-link{color:var(--blue);display:inline-block;font-size:.85rem;font-weight:700;margin-top:10px}.course-overview,.course-overview dd,.course-overview h2,.dedicated-lesson-view,.lesson-detail,.lesson-detail dd,.lesson-detail-items li,.lesson-parent-link{min-width:0}.course-overview dd,.dedicated-lesson-view h2,.lesson-detail dd,.lesson-detail-items li,.lesson-parent-link{overflow-wrap:anywhere}.dedicated-lesson-view{display:grid;grid-gap:18px;gap:18px}.lesson-parent-link{justify-self:start;margin-bottom:0;max-width:100%}.lesson-detail h2{font-size:1.7rem;margin:0}.lesson-detail dl{display:grid;grid-gap:16px;gap:16px;margin:22px 0}.lesson-detail dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.lesson-detail dd{margin:3px 0 0;white-space:pre-wrap}.lesson-full-description{grid-column:1/-1}.lesson-detail>h3{font-size:1.05rem;margin:0 0 10px}.lesson-detail-items{margin:0;padding-left:24px}.lesson-detail-items li{padding:4px 0}.dedicated-lesson-editor h2{font-size:1.25rem;margin:0 0 12px}.archived-lesson-note{margin:0}@media(min-width:600px){.lesson-detail dl,.skeleton-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:759px){.skeleton-calendar-days{grid-template-columns:1fr}.skeleton-calendar-day{height:64px}.skeleton-calendar-toolbar{align-items:stretch;flex-direction:column}.skeleton-calendar-toolbar .skeleton-control{margin-top:8px;max-width:none}.skeleton-workflow-note{height:58px}}.utc-display-preference>span:first-child{align-items:center;color:var(--ink);display:flex;font-size:.9rem;font-weight:750;gap:8px}.utc-display-preference input{height:20px;width:20px}.timezone-effective{align-items:center;display:flex;justify-content:space-between;margin:0}.timezone-effective button{flex:none}.timezone-pending{background:var(--primary-subtle);border:1px solid var(--primary-border);border-radius:9px;display:grid;grid-gap:2px;gap:2px;padding:10px 12px}.timezone-pending>small,.timezone-pending>span{color:var(--muted);font-size:.78rem}.timezone-field{display:grid;font-weight:750;grid-gap:6px;gap:6px;position:relative}.timezone-field>input{border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;padding:9px 11px;width:100%}.timezone-field>span{color:var(--muted);font-size:.8rem;font-weight:500}.timezone-options{background:var(--surface);border:1px solid var(--input-border);border-radius:9px;box-shadow:0 10px 28px #16233a1a;list-style:none;margin:0;max-height:280px;overflow-y:auto;padding:5px;position:absolute;top:72px;width:100%;z-index:4}.timezone-options li{border-radius:7px;cursor:pointer;display:grid;font-weight:500;grid-gap:1px;gap:1px;padding:8px 10px}.timezone-options li.is-active,.timezone-options li:hover{background:var(--surface-soft)}.timezone-options small{color:var(--muted);font-size:.72rem}.timezone-options .timezone-no-results{color:var(--muted);cursor:default}:root{color-scheme:light;--auth-background:linear-gradient(135deg,#f6f8fc,#edf2ff);--primary:#3968e8;--primary-hover:#2858d6;--primary-strong:#294eaf;--primary-subtle:#edf2ff;--primary-subtle-hover:#dfe8ff;--primary-border:#9db6f8;--primary-focus:#c9d7ff;--focus:#f3a72e;--surface-elevated:#fff;--surface-soft:#f6f8fc;--surface-subtle:#eef1f6;--surface-hover:#e8edf5;--nav-surface:#14213d;--nav-hover:#273757;--input-border:#aeb8c8;--disabled-text:#8b94a4;--shadow:#16233a24;--semantic-error-bg:#fff1f1;--semantic-error-hover:#ffe3e6;--semantic-error:#9f1d20;--semantic-error-border:#d7939c;--semantic-error-border-strong:#bd6974;--semantic-success-bg:#e9f8f1;--semantic-success-selected:#e6f7f0;--semantic-success-hover:#d7f1e5;--semantic-success:#12654a;--semantic-success-border:#75bea3;--semantic-success-border-strong:#4f9f83;--semantic-warning-bg:#fff4df;--semantic-warning-selected:#fff4d6;--semantic-warning-hover:#ffedba;--semantic-warning:#734b0b;--semantic-warning-border:#dfbd64;--semantic-warning-border-strong:#bd9638;--semantic-neutral-bg:#f1f2f5;--semantic-neutral:#4f596c;--semantic-note-bg:#f2effb;--semantic-note:#6948a6;--blue:var(--primary);--navy:var(--nav-surface)}:root[data-accent=red]{--primary:#b4232a;--primary-hover:#941c22}:root[data-accent=violet]{--primary:#7c3fc5;--primary-hover:#6932aa}:root[data-accent=teal]{--primary:#087f78;--primary-hover:#066a65}:root[data-theme=dark]{color-scheme:dark;--auth-background:linear-gradient(135deg,#0e1728,#172744);--ink:#e7edf8;--muted:#a7b3c7;--line:#34435a;--surface:#172238;--canvas:#0e1728;--surface-elevated:#1d2a42;--surface-soft:#19263d;--surface-subtle:#202d44;--surface-hover:#263653;--nav-surface:#091223;--nav-hover:#263653;--input-border:#66758c;--disabled-text:#78869b;--shadow:#0008;--primary-strong:#a9c0ff;--primary-subtle:#24375c;--primary-subtle-hover:#2c4470;--primary-border:#5875ad;--primary-focus:#789bdf;--semantic-error-bg:#3c1d28;--semantic-error-hover:#512431;--semantic-error:#ffb3bd;--semantic-error-border:#8d4854;--semantic-error-border-strong:#b75e6b;--semantic-success-bg:#17382f;--semantic-success-selected:#194438;--semantic-success-hover:#205445;--semantic-success:#8de0c0;--semantic-success-border:#477f6d;--semantic-success-border-strong:#5a9f88;--semantic-warning-bg:#3c3019;--semantic-warning-selected:#493b1c;--semantic-warning-hover:#594822;--semantic-warning:#f2cf83;--semantic-warning-border:#80692f;--semantic-warning-border-strong:#a4873d;--semantic-neutral-bg:#293448;--semantic-neutral:#bdc7d7;--semantic-note-bg:#30284a;--semantic-note:#cfb6ff}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--auth-background:linear-gradient(135deg,#0e1728,#172744);--ink:#e7edf8;--muted:#a7b3c7;--line:#34435a;--surface:#172238;--canvas:#0e1728;--surface-elevated:#1d2a42;--surface-soft:#19263d;--surface-subtle:#202d44;--surface-hover:#263653;--nav-surface:#091223;--nav-hover:#263653;--input-border:#66758c;--disabled-text:#78869b;--shadow:#0008;--primary-strong:#a9c0ff;--primary-subtle:#24375c;--primary-subtle-hover:#2c4470;--primary-border:#5875ad;--primary-focus:#789bdf;--semantic-error-bg:#3c1d28;--semantic-error-hover:#512431;--semantic-error:#ffb3bd;--semantic-error-border:#8d4854;--semantic-error-border-strong:#b75e6b;--semantic-success-bg:#17382f;--semantic-success-selected:#194438;--semantic-success-hover:#205445;--semantic-success:#8de0c0;--semantic-success-border:#477f6d;--semantic-success-border-strong:#5a9f88;--semantic-warning-bg:#3c3019;--semantic-warning-selected:#493b1c;--semantic-warning-hover:#594822;--semantic-warning:#f2cf83;--semantic-warning-border:#80692f;--semantic-warning-border-strong:#a4873d;--semantic-neutral-bg:#293448;--semantic-neutral:#bdc7d7;--semantic-note-bg:#30284a;--semantic-note:#cfb6ff}}body{background:var(--canvas)}.auth-page{background:var(--auth-background)}.auth-card,.auth-experience,.auth-form-pane,.calendar-dialog,.metric-card,.mobile-nav,.panel,.placeholder{background:var(--surface)}input,select,textarea{background:var(--surface-elevated);border-color:var(--input-border);color:var(--ink)}.primary-button,.sign-out{background:var(--primary);border-color:var(--primary)}.primary-button:hover,.sign-out:hover{background:var(--primary-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus)}.skeleton{background:var(--line)}.settings-accordion-card{padding:0;overflow:hidden}.settings-disclosure{align-items:center;background:transparent;border:0;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;min-height:76px;padding:15px 20px;text-align:left;width:100%}.settings-disclosure:hover{background:var(--surface-hover)}.settings-disclosure>span:first-child{display:grid;grid-gap:3px;gap:3px}.settings-disclosure strong{font-size:1.05rem}.settings-disclosure small{color:var(--muted);font-size:.8rem;font-weight:500;overflow-wrap:anywhere}.settings-chevron{font-size:1.5rem;transition:transform .18s}.settings-disclosure[aria-expanded=true] .settings-chevron{transform:rotate(180deg)}.settings-accordion-panel{border-top:1px solid var(--line);padding:20px}.settings-accordion-panel[hidden]{display:none}.settings-panel-content{min-width:0}.appearance-options{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-options label{cursor:pointer}.appearance-options label>span{align-items:center;background:var(--surface-subtle);border:2px solid transparent;border-radius:9px;display:flex;gap:8px;justify-content:center;min-height:46px;padding:8px}.appearance-options input{position:absolute;opacity:0}.appearance-options input:checked+span{border-color:var(--primary);color:var(--primary);font-weight:750}.appearance-options input:focus-visible+span{outline:3px solid var(--focus)}.accent-options{grid-template-columns:repeat(2,minmax(0,1fr))}.accent-swatch{background:var(--swatch);border-radius:50%;height:16px;width:16px}.accent-blue{--swatch:#3968e8}.accent-red{--swatch:#b4232a}.accent-violet{--swatch:#7c3fc5}.accent-teal{--swatch:#087f78}@media(max-width:480px){.appearance-options{grid-template-columns:1fr}.settings-disclosure{min-height:72px;padding:13px 16px}}@media(prefers-reduced-motion:reduce){.settings-chevron{transition:none}}.searchable-native-select{display:grid;grid-gap:5px;gap:5px;min-width:0;width:100%}.searchable-native-select>label{font-size:.78rem;font-weight:750}.searchable-combobox{min-width:0;position:relative;width:100%}.searchable-combobox>input[role=combobox]{padding-right:34px}.searchable-combobox.has-wrapping-selection{min-height:44px}.searchable-combobox.has-wrapping-selection>input[role=combobox]{background:transparent;border-color:transparent;color:transparent;height:100%;inset:0;position:absolute}.searchable-selected-label{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;display:block;min-height:44px;overflow-wrap:anywhere;padding:10px 34px 10px 12px}.searchable-combobox-chevron{pointer-events:none;position:absolute;right:12px;top:12px}.searchable-combobox-list{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:8px;box-shadow:0 10px 28px var(--shadow);left:0;list-style:none;margin:4px 0 0;max-height:240px;overflow-y:auto;padding:4px;position:absolute;right:0;top:100%;z-index:20}.searchable-combobox-list li{border-radius:6px;cursor:pointer;font-size:.86rem;font-weight:500;padding:9px 10px}.searchable-combobox-list li.is-active,.searchable-combobox-list li:hover{background:var(--primary-subtle);color:var(--primary-strong)}.searchable-combobox-list li[aria-selected=true]{font-weight:800}.searchable-combobox-empty{color:var(--muted);cursor:default!important}.archived-badge{background:var(--semantic-neutral-bg);border:1px solid var(--line);border-radius:999px;color:var(--semantic-neutral);display:inline-block;font-size:.68rem;font-weight:800;line-height:1;padding:4px 7px;vertical-align:middle}.lesson-history-summary{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.lesson-history-pagination-top{border-top:0;margin-top:0;min-width:260px;padding-top:0}.lesson-history-pagination-top a{min-height:36px;padding:6px 0}.attempt-added-items{margin-top:1.25rem}.attempt-added-heading p,.attempt-added-offline{color:var(--muted-text);margin:.35rem 0 .75rem}.attempt-add-disclosure{border:1px solid var(--border);border-radius:.65rem;padding:.75rem;margin-bottom:1rem}.attempt-add-disclosure summary{cursor:pointer;font-weight:700}.attempt-add-form{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.75rem;max-width:36rem}.attempt-added-badge{display:inline-block;border:1px solid;border-radius:999px;color:var(--muted-text);font-size:.72rem;padding:.12rem .45rem;white-space:nowrap}.attempt-added-items .attempt-item-title input{font:inherit;width:min(100%,34rem)}.mobile-header-actions{align-items:center;display:flex;gap:8px}.feedback-launcher{background:transparent;border:1px solid #73829e;border-radius:9px;color:#eaf0ff;cursor:pointer;font-weight:700;min-height:36px;padding:7px 12px;width:100%}.feedback-launcher:hover{background:#273757;border-color:#eaf0ff}.sidebar-footer .feedback-launcher{margin-bottom:8px}.mobile-feedback-launcher{min-height:44px;width:auto}.feedback-dialog{background:var(--surface-elevated);border:1px solid var(--line);border-radius:16px;color:var(--ink);max-height:calc(100dvh - 32px);max-width:560px;overflow-x:hidden;padding:24px;width:calc(100% - 32px)}.feedback-dialog::-webkit-backdrop{background:rgba(8,16,32,.62)}.feedback-dialog::backdrop{background:rgba(8,16,32,.62)}.feedback-dialog .dialog-heading h2{margin:0}.feedback-intro{color:var(--muted);margin:8px 0 20px}.feedback-form{display:grid;grid-gap:16px;gap:16px}.feedback-form textarea{max-width:100%;resize:vertical}.feedback-character-count{color:var(--muted);font-size:.78rem;justify-self:end}.feedback-form .primary-button{justify-self:start}@media(max-width:420px){.mobile-header{padding-inline:12px}.mobile-header-actions{gap:5px}.mobile-feedback-launcher,.mobile-header .sign-out{font-size:.8rem;padding-inline:9px}.feedback-dialog{padding:18px;width:calc(100% - 20px)}}.workspace-context-switch{align-items:center;border:1px solid #53617c;border-radius:9px;color:#eaf0ff;display:flex;font-size:.82rem;font-weight:700;gap:8px;justify-content:center;margin:8px 0 12px;min-height:36px;padding:7px 10px;text-decoration:none}.mobile-workspace-context-switch:hover,.workspace-context-switch:hover{background:#273757;border-color:#9aa8c4;color:#fff}.mobile-workspace-context-switch{align-items:center;border:1px solid #9aa8c4;border-radius:9px;color:#eaf0ff;display:inline-flex;font-size:.82rem;font-weight:700;justify-content:center;min-height:44px;padding:8px 10px;text-decoration:none;white-space:nowrap}@media(min-width:1024px){.sidebar-collapsed .workspace-context-switch b{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sidebar-collapsed .workspace-context-switch{padding-inline:7px}}@media(max-width:420px){.mobile-workspace-context-switch{font-size:.8rem;padding-inline:8px}}.offline-recovery-shell{max-width:960px;margin:0 auto;padding:32px 20px}.offline-recovery-panel{margin-top:10vh}.offline-recovery-header{margin-top:8px}.admin-offline-panel{display:grid;grid-gap:14px;gap:14px;max-width:680px}.admin-offline-panel h1,.admin-offline-panel p{margin:0}.admin-offline-panel .primary-button{justify-self:start;text-decoration:none}.dashboard-weather{margin-top:16px;min-width:0}.weather-display,.weather-page{display:grid;grid-gap:18px;gap:18px;min-width:0}.weather-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;min-width:0}.weather-title>div{min-width:0}.weather-title h2{margin:0;overflow-wrap:anywhere}.flight-category{border:1px solid var(--line);border-radius:999px;flex:none;font-size:.78rem;font-weight:800;padding:6px 10px}.flight-category-vfr{background:#e9f8f1;color:#12654a}.flight-category-mvfr{background:#e8f0fe;color:#174ea6}.flight-category-ifr{background:#fff1f1;color:#9f1d20}.flight-category-lifr{background:#fde7f3;color:#8a1557}@media(prefers-color-scheme:dark){:root[data-theme=system] .flight-category-vfr{background:#17382f;color:#8de0c0}:root[data-theme=system] .flight-category-mvfr{background:#182f55;color:#a9c7ff}:root[data-theme=system] .flight-category-ifr{background:#3c1d28;color:#ffb3bd}:root[data-theme=system] .flight-category-lifr{background:#481936;color:#ffb6df}}:root[data-theme=dark] .flight-category-vfr{background:#17382f;color:#8de0c0}:root[data-theme=dark] .flight-category-mvfr{background:#182f55;color:#a9c7ff}:root[data-theme=dark] .flight-category-ifr{background:#3c1d28;color:#ffb3bd}:root[data-theme=dark] .flight-category-lifr{background:#481936;color:#ffb6df}.weather-facts{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.weather-facts div{min-width:0}.weather-facts dt{color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase}.weather-facts dd{font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}.field-help,.weather-attribution,.weather-time{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.weather-stale{background:var(--semantic-warning-bg);border-radius:8px;color:var(--semantic-warning);font-weight:750;padding:9px}.weather-report{min-width:0}.weather-report pre{background:var(--surface-subtle);border:1px solid var(--line);border-radius:9px;font:inherit;line-height:1.55;margin:0;max-width:100%;overflow-wrap:anywhere;padding:14px;white-space:pre-wrap;word-break:break-word}.weather-action{justify-self:start}.weather-search{display:grid;grid-gap:8px;gap:8px;max-width:680px}.weather-search>label{font-weight:750}.weather-search>div{display:flex;gap:10px}.weather-search input{border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;min-width:0;padding:9px 11px;width:100%}.weather-empty,.weather-loading{padding:16px 0}.weather-attribution{margin-bottom:0}@media(max-width:900px){.weather-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.weather-search>div,.weather-title{align-items:stretch;flex-direction:column}.weather-facts{grid-template-columns:1fr}.weather-search button{width:100%}}.admin-workspace{max-width:1100px;margin:0 auto}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;margin-bottom:1rem;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.admin-header div{display:grid;grid-gap:.2rem;gap:.2rem}.admin-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.admin-nav a{padding:.55rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-weight:700}.admin-access-boundary,.admin-online-note{padding:.8rem 1rem;border-radius:var(--radius);background:var(--surface-muted);color:var(--text-muted)}.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:1rem;gap:1rem}.admin-metrics section{display:grid;grid-gap:.5rem;gap:.5rem}.admin-metrics strong{font-size:2rem}.admin-access-list{list-style:none;padding:0;margin:1rem 0 0}.admin-access-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--border)}.admin-access-list li div{display:grid;grid-gap:.2rem;gap:.2rem}.admin-access-list li div span{font-family:monospace;font-size:.8rem;color:var(--text-muted)}.admin-template-list,.template-grid,.template-outline{display:grid;grid-gap:18px;gap:18px}.template-card h2{margin:.4rem 0}.template-card dl{display:flex;gap:24px}.template-card dt{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.template-card dd{font-size:1.2rem;font-weight:800;margin:2px 0}.template-card .primary-button{display:inline-flex;text-decoration:none}.template-outline{margin-top:22px}.template-lessons>li{margin:14px 0}.template-lessons .status-badge{margin-left:9px;text-transform:capitalize}.template-lessons p{color:var(--muted)}.admin-template-editor{margin-bottom:18px}.admin-template-editor>summary{cursor:pointer;font-weight:800}.template-form{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.template-form label{display:grid;font-weight:700;grid-gap:6px;gap:6px}.template-form input,.template-form select,.template-form textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;padding:10px 12px;width:100%}.template-form input,.template-form select{min-height:44px}.template-form textarea{min-height:100px}.template-form-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr 1fr}.template-json{font-family:monospace!important;min-height:300px!important}.grant-manager{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.grant-manager form{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:8px 0}@media(min-width:760px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.template-lesson-builder,.template-stage-builder{display:grid;grid-gap:14px;gap:14px}.template-builder-group,.template-lesson-builder fieldset{border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:12px;gap:12px;margin:0;padding:14px}.template-builder-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.template-builder-heading h3,.template-lesson-builder legend{font-weight:800;margin:0}.template-lesson-builder label span{color:var(--muted);font-size:.78rem;font-weight:500}.template-lesson-builder fieldset>.secondary-button{justify-self:start}.template-builder-actions{display:flex;flex-wrap:wrap;gap:8px}.template-builder-actions .secondary-button:disabled{cursor:not-allowed;opacity:.45}.template-publish-actions{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.template-access-button{min-width:132px;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.template-access-button:hover{transform:translateY(-1px)}.template-access-button:focus-visible{outline:3px solid var(--primary-focus);outline-offset:2px}.success-message{background:var(--semantic-success-bg);border:1px solid var(--semantic-success);border-radius:8px;color:var(--semantic-success);font-weight:700;margin:0 0 18px;padding:10px 12px}.student-view-workspace{width:min(100%,72rem);margin:0 auto;display:grid;grid-gap:1rem;gap:1rem}.student-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem 0}.student-view-header h1{margin:.2rem 0}.student-view-header p:last-child{max-width:48rem}.student-view-contexts>div{display:flex;flex-wrap:wrap;gap:.65rem}.student-view-contexts .active{box-shadow:inset 0 0 0 2px var(--blue)}.student-view-cards>li>div,.student-view-items>li>div,.student-view-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.student-view-cards,.student-view-items,.student-view-lessons{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-gap:.75rem;gap:.75rem}.student-view-lessons li{display:grid;grid-template-columns:2rem 1fr;grid-gap:.75rem;gap:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:.75rem}.student-view-lessons li>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:var(--surface-soft);font-weight:700}.student-view-cards small,.student-view-items small,.student-view-lessons small{display:block;color:var(--muted);margin-top:.2rem}.student-view-cards>li,.student-view-items>li{padding:1rem;border:1px solid var(--line);border-radius:.75rem}.student-view-cards p,.student-view-items p{margin:.55rem 0 0}.student-view-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));grid-gap:1rem;gap:1rem}.student-view-summary dt{color:var(--muted);font-size:.85rem}.student-view-summary dd{margin:.25rem 0 0}.student-view-carryover-detail{margin-top:.75rem;padding:.75rem;background:var(--surface-soft);border-radius:.5rem}.student-view-attempt>.back-link{margin-top:1rem}@media(max-width:640px){.student-view-header{flex-direction:column}.student-view-header button{align-self:flex-start}.student-view-section-heading{flex-direction:column}.student-view-cards>li>div,.student-view-items>li>div{gap:.5rem}.student-view-summary{grid-template-columns:1fr}}.student-view-workspace,.student-view-workspace>*{min-width:0;max-width:100%}.student-view-workspace :where(.panel,section,article,header,div,li,dl,dd){min-width:0}.student-view-workspace :where(p,dd,h1,h2,h3,strong,a){max-width:100%;overflow-wrap:anywhere;word-break:break-word}.student-view-skeleton-sections,.student-view-skeleton>div{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.student-view-skeleton .student-view-header>div{display:grid;grid-gap:.65rem;gap:.65rem;min-width:0;flex:1 1}.student-view-skeleton .skeleton-button{margin:0}.student-view-skeleton-panel{display:grid;grid-gap:.7rem;gap:.7rem}.student-view-skeleton-row{border-top:1px solid var(--line);display:grid;grid-gap:.35rem;gap:.35rem;padding-top:.8rem}.student-view-skeleton-row .skeleton-row-detail{margin-top:0}@media(max-width:640px){.student-view-skeleton .skeleton-button{width:8rem}}.student-view-history-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.student-view-history-filters label{display:grid;flex:1 1 10rem;grid-gap:.3rem;gap:.3rem;min-width:0;font-size:.8rem;font-weight:750}.student-view-history-filters select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;max-width:100%;padding:.55rem .7rem;width:100%}.student-view-history-summary{color:var(--muted);font-size:.85rem;margin:1rem 0 0}.student-view-history .eyebrow{display:block;margin-bottom:.2rem}.student-view-history-pagination{align-items:center;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr auto 1fr;margin-top:1rem}.student-view-history-pagination button:first-child{justify-self:start}.student-view-history-pagination button:last-child{justify-self:end}.student-view-history-pagination span{color:var(--muted);font-size:.85rem;text-align:center}@media(max-width:480px){.student-view-history-pagination{grid-template-columns:1fr 1fr}.student-view-history-pagination span{grid-column:1/-1;grid-row:1}.student-view-history-pagination button{width:100%}}.student-view-shell{min-height:100vh}.student-view-shell-header{align-items:center;background:var(--surface-elevated);border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem;position:relative;z-index:10}.student-view-brand{align-items:center;color:var(--ink);display:flex;flex:none;gap:.65rem;text-decoration:none}.student-view-brand span{display:grid;line-height:1.1}.student-view-brand small{color:var(--muted);font-size:.72rem;font-weight:700;margin-top:.2rem;text-transform:uppercase}.student-view-nav{align-items:center;display:flex;flex:none;flex-wrap:nowrap;gap:.35rem;white-space:nowrap}.student-view-nav a{border-radius:.55rem;color:var(--muted);font-size:.88rem;font-weight:700;padding:.65rem .75rem;text-decoration:none}.student-view-nav a[aria-current=page]{background:var(--primary-subtle);color:var(--blue)}.student-view-nav .sign-out{margin-left:.25rem}.student-view-shell-content{padding:1rem}.student-view-state-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.student-view-account{padding-top:.5rem}.student-view-account .account-security{width:100%}.student-view-account .auth-form{max-width:34rem}.student-view-account-email{margin:0}.student-view-account-email dt{color:var(--muted);font-size:.8rem;font-weight:700}.student-view-account-email dd{font-weight:700;margin:.2rem 0 0;overflow-wrap:anywhere;word-break:break-word}@media(max-width:640px){.student-view-shell-header{align-items:stretch;flex-direction:column}.student-view-nav{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));white-space:normal}.student-view-nav .sign-out,.student-view-nav a{align-items:center;display:flex;justify-content:center;margin:0;min-height:44px;text-align:center;width:100%}.student-view-nav .sign-out{grid-column:1/-1}.student-view-brand{align-self:center}.student-view-state-actions>*{flex:1 1 10rem;justify-content:center;text-align:center}}.student-access-type-options{border:0;display:grid;grid-gap:.65rem;gap:.65rem;margin:0;padding:0}.student-access-type-options legend{font-weight:700;margin-bottom:.25rem}.student-access-type-option{align-items:flex-start;background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:10px;cursor:pointer;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.8rem .9rem;width:100%}.student-access-type-option:hover{border-color:var(--primary-border)}.student-access-type-option.selected{background:var(--primary-subtle);border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.auth-form .student-access-type-option input{accent-color:var(--blue);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:initial;border:initial;border-radius:50%;height:1rem;margin:.2rem 0 0;min-height:0;outline:0;padding:0;width:1rem}.student-access-type-option span{display:grid;grid-gap:.15rem;gap:.15rem}.student-access-type-option small{color:var(--muted);font-weight:400}.student-access-type-option:has(input:focus-visible){outline:3px solid var(--primary-focus);outline-offset:2px}.student-access-submit{display:block;position:relative;width:max-content}.student-access-submit.disabled{cursor:not-allowed}.student-access-submit.disabled button{pointer-events:none}.student-access-submit.disabled:where(:hover,:focus-visible):after{background:var(--navy);border-radius:7px;bottom:calc(100% + 8px);color:#fff;content:attr(data-tooltip);font-size:.78rem;font-weight:600;left:0;line-height:1.35;max-width:min(300px,80vw);padding:.5rem .65rem;position:absolute;width:max-content;z-index:20}.student-claim-confirm-actions{display:grid;grid-gap:.75rem;gap:.75rem}.student-claim-confirm-actions button,.student-claim-confirm-actions form{width:100%}.calendar-layout{grid-template-columns:minmax(0,1fr)!important}.calendar-day li button span{overflow-wrap:normal;word-break:normal;white-space:normal}.calendar-day li button{min-width:0;overflow:hidden}.calendar-day li button span{min-width:0;max-width:100%}.supplemental-disclosure{padding:0;overflow:hidden}.carryover-list-disclosure>summary,.supplemental-disclosure>summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;min-height:56px;padding:14px 18px}.carryover-list-disclosure>summary::-webkit-details-marker,.supplemental-disclosure>summary::-webkit-details-marker{display:none}.supplemental-disclosure>summary>span:first-child{display:grid;grid-gap:3px;gap:3px}.supplemental-disclosure-body{border-top:1px solid var(--line);padding:18px}.disclosure-chevron{font-size:1.35rem;line-height:1;transition:transform .18s}.carryover-list-disclosure[open] .disclosure-chevron,.supplemental-disclosure[open] .disclosure-chevron{transform:rotate(180deg)}.carryover-summary-end{align-items:center;display:flex;gap:10px;margin-left:auto}.carryover-list-disclosure>summary{padding:0}.supplemental-schedule-form{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr)}@media(min-width:760px){.supplemental-schedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.start-carryover-panel>.secondary-link-button{margin-bottom:14px}.start-carryover-item{align-items:flex-start}.schedule-fields .start-carryover-item{display:flex}.start-carryover-item input{margin-top:1px}.nav-icon{fill:none;height:22px;width:22px}.course-section-switcher{background:var(--surface-subtle);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px;max-width:720px;padding:4px;width:100%}.course-section-switcher a{border-radius:7px;color:var(--muted);font-size:.86rem;font-weight:700;min-width:0;padding:10px 12px;text-align:center;text-decoration:none}.course-section-switcher a[aria-current=page]{background:var(--surface-elevated);box-shadow:0 1px 3px var(--shadow);color:var(--blue)}.course-section-switcher a:focus-visible{outline:3px solid var(--primary-focus);outline-offset:2px}.course-library-section{display:grid;grid-gap:18px;gap:18px}.course-library-heading{display:grid;grid-gap:5px;gap:5px;margin:2px 0}.course-library-heading .eyebrow{margin:0}.course-library-heading h2{font-size:1.75rem;letter-spacing:-.03em;line-height:1.15;margin:0}.course-library-heading>p:last-child{color:var(--muted);margin:0;max-width:640px}.calendar-supplemental-schedule{margin-bottom:18px}.supplemental-schedule-intro{color:var(--muted);margin:0}.supplemental-schedule-form{margin-top:16px}.supplemental-schedule-form label{display:grid;font-size:.84rem;font-weight:750;grid-gap:6px;gap:6px;min-width:0}.supplemental-schedule-form input,.supplemental-schedule-form select,.supplemental-schedule-form textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;padding:9px 11px;width:100%}.supplemental-schedule-form textarea{min-height:96px;resize:vertical}.supplemental-schedule-form .form-wide{grid-column:1/-1}.supplemental-timezone-note{margin:0}.supplemental-schedule-submit{grid-column:1/-1;justify-self:start;min-width:250px}@media(max-width:640px){.course-section-switcher a{font-size:.78rem;padding-inline:8px}.supplemental-schedule-submit{justify-self:stretch;min-width:0;width:100%}}.completion-billing{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;min-width:0;padding-top:18px}.completion-billing h3,.completion-billing p{margin:0}.billing-effective-rates{display:grid;grid-gap:8px;gap:8px;margin:0;min-width:0}.billing-effective-rates div{display:flex;gap:16px;justify-content:space-between;min-width:0}.billing-effective-rates dt{font-weight:750;min-width:0}.billing-effective-rates dd{flex:0 0 auto;margin:0}.billing-hours-fields{display:grid;grid-gap:12px;gap:12px;min-width:0}.billing-hours-fields label{display:grid;font-weight:750;grid-gap:6px;gap:6px;min-width:0}.billing-hours-fields input{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;font:inherit;min-height:44px;min-width:0;padding:9px 11px;width:100%}.billing-hours-fields input:disabled{cursor:not-allowed;opacity:.6}.instruction-billing-summary{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.instruction-billing-summary h2{font-size:1.1rem}.instruction-billing-summary ul{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.instruction-billing-summary li,.instruction-billing-summary>p{display:flex;gap:16px;justify-content:space-between}.instruction-billing-summary>p{border-top:1px solid var(--line);font-weight:800;margin-bottom:0;padding-top:10px}@media(min-width:600px){.billing-hours-fields[data-service-count="1"]{grid-template-columns:minmax(0,1fr)}.billing-hours-fields[data-service-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-hours-fields[data-service-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}.settings-section form .radio-label,.settings-section form>.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;width:-moz-fit-content;width:fit-content}.settings-section .checkbox-label input[type=checkbox],.settings-section .radio-label input[type=radio]{flex:0 0 auto;height:20px;margin:0;width:20px}.billing-rate-mode{border:0;display:grid;grid-gap:10px;gap:10px;margin:0;padding:0}.billing-rate-mode legend{font-weight:750;margin-bottom:8px}.billing-default-rates{background:var(--surface-subtle);border-radius:9px;padding:12px}.billing-custom-rates>p,.billing-default-rates p{color:var(--muted);margin-top:0}.billing-default-rates dl{display:grid;grid-gap:8px;gap:8px;margin:0}.billing-default-rates dl div{display:flex;justify-content:space-between}.billing-default-rates dt{font-weight:750}.billing-default-rates dd{margin:0}.settings-section .billing-rate-field{display:grid;font-weight:750;grid-gap:6px;gap:6px;min-width:0}.billing-rate-input{align-items:center;background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;display:flex;min-height:44px;min-width:0;overflow:hidden;width:100%}.settings-section .billing-rate-input .billing-rate-prefix{color:var(--muted);flex:0 0 auto;font-size:1rem;font-weight:700;padding-left:11px}.settings-section .billing-rate-input input{background:transparent;border:0;border-radius:0;color:var(--ink);font:inherit;min-height:42px;min-width:0;outline:0;padding:9px 11px 9px 6px;width:100%}.billing-rate-input:focus-within{border-color:var(--blue);outline:3px solid var(--primary-focus)}.billing-report-actions{display:flex;flex-wrap:wrap;gap:10px;margin:-14px 0 20px}.billing-report-filter form{align-items:end;display:grid;grid-gap:14px;gap:14px}.billing-report-filter label{display:grid;font-weight:700;grid-gap:6px;gap:6px}.billing-report-filter input,.billing-report-filter select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;padding:9px 11px}.billing-report-presets{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.billing-report-presets>span{color:var(--muted);font-size:.82rem;font-weight:700;margin-right:2px}.billing-report-scope{color:var(--muted)}.success-message.billing-report-scope{color:var(--semantic-success);margin:12px 0 16px}.billing-current-balance{display:grid;grid-gap:3px;gap:3px;margin:16px 0}.billing-current-balance>span{color:var(--muted);font-size:.82rem;font-weight:700}.billing-current-balance>strong{font-size:1.8rem}.billing-current-balance small{color:var(--muted)}.billing-receipt-link{color:var(--blue);display:inline-block;font-size:.82rem;font-weight:700;margin-top:8px}.billing-receipt{margin:0 auto;max-width:940px}.receipt-parties dl{display:grid;grid-gap:14px;gap:14px;margin:0}.receipt-parties dt{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.receipt-parties dd{font-weight:700;margin:2px 0 0}.receipt-payment{margin:16px 0}.receipt-payment h2,.receipt-payment h3{margin-top:0}.receipt-payment li,.receipt-payment>p{align-items:center;display:flex;gap:18px;justify-content:space-between}.receipt-payment ol{display:grid;grid-gap:10px;gap:10px;list-style:none;padding:0}.receipt-effective{border-top:2px solid var(--line);font-size:1.1rem;padding-top:14px}.receipt-footer,.receipt-no-corrections{color:var(--muted)}.receipt-footer{border-top:1px solid var(--line);font-size:.85rem;margin-top:24px;padding-top:16px}@media(min-width:720px){.billing-report-filter form{grid-template-columns:2fr 1fr 1fr auto}.receipt-parties dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body,html{background:#fff!important;color:#111!important}.feedback-launcher,.mobile-header,.mobile-nav,.print-hidden,.sidebar{display:none!important}.app-shell{display:block!important}.main-content{margin:0!important;max-width:none!important;padding:0!important}.billing-print-surface{color:#111!important;max-width:none!important}.billing-print-surface .panel{background:#fff!important;border-color:#bbb!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.billing-print-surface .page-header{margin-bottom:18px}.billing-print-surface .billing-ledger-history li{page-break-inside:avoid;break-inside:avoid}.billing-print-surface a{color:#111!important}.receipt-footer{page-break-inside:avoid;break-inside:avoid}}.settings-section .billing-rate-input input:focus-visible{outline:0}.billing-custom-rates{display:grid;grid-gap:16px;gap:16px}.modal-card:has(.completion-billing) .modal-actions{display:grid;grid-gap:12px;gap:12px;margin-top:18px;min-width:0;width:100%}.modal-card:has(.completion-billing) .modal-actions .danger-button,.modal-card:has(.completion-billing) .modal-actions .lesson-cancel-button,.modal-card:has(.completion-billing) .modal-actions .primary-button{min-width:0;width:100%}@media(min-width:480px){.modal-card:has(.completion-billing) .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.billing-no-charge-confirmation{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:9px;display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding:12px}.billing-no-charge-confirmation p{margin:0}.billing-no-charge-confirmation label{align-items:flex-start;display:flex;font-size:.85rem;font-weight:700;gap:9px}.billing-no-charge-confirmation input{height:18px;margin:2px 0 0;width:18px}.billing-no-charge-confirmation .billing-no-charge-check{align-items:flex-start;display:flex;font-size:.85rem;font-weight:700;gap:9px}.billing-no-charge-confirmation .billing-no-charge-note{display:grid;font-size:.85rem;font-weight:700;grid-gap:6px;gap:6px}.billing-no-charge-note textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:84px;padding:9px 11px;resize:vertical;width:100%}.billing-no-charge-record-note{background:var(--surface-subtle);border-radius:8px;margin-top:10px;padding:10px 12px}.billing-no-charge-record-note>strong{display:block;font-size:.8rem;margin-bottom:4px}.billing-no-charge-record-note p{margin:0;white-space:pre-wrap}.billing-no-charge-status{margin-bottom:0}.billing-entry-grid,.billing-ledger-filter form,.billing-summary{display:grid;grid-gap:1rem;gap:1rem}.billing-ledger-filter form{grid-template-columns:minmax(220px,1fr) auto}.billing-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.billing-summary article{display:flex;flex-direction:column;gap:.35rem}.billing-summary strong{font-size:1.5rem}.billing-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.billing-entry-grid form{display:grid;grid-gap:.85rem;gap:.85rem}.billing-entry-grid label:not(.radio-label){display:grid;grid-gap:.35rem;gap:.35rem}.billing-ledger-history ol{list-style:none;margin:0;padding:0}.billing-ledger-history li{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.billing-ledger-history h3,.billing-ledger-history p{margin:.25rem 0}.billing-event-kind{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.08em}.billing-effect-negative{color:var(--danger)}@media(max-width:800px){.billing-entry-grid,.billing-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.billing-entry-grid,.billing-ledger-filter form,.billing-summary{grid-template-columns:1fr}}.billing-status-banner{align-items:flex-start;background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning-border);border-radius:12px;color:var(--semantic-warning);display:flex;gap:10px;margin:-12px 0 16px;padding:12px 14px}.billing-status-banner strong{flex:0 0 auto}.billing-status-banner span{color:var(--ink)}.billing-ledger-filter{padding:14px 16px}.billing-ledger-filter form{align-items:end;display:flex;gap:12px}.billing-ledger-filter label{display:grid;flex:1 1;grid-gap:6px;gap:6px;min-width:0}.billing-filter-label{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.billing-ledger-filter select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;padding:9px 11px;width:100%}.billing-ledger-filter .secondary-button{min-height:44px;white-space:nowrap}.billing-summary{align-items:stretch}.billing-summary article{min-height:112px}.billing-entry-grid{align-items:stretch}.billing-entry-card{display:flex;flex-direction:column;min-width:0}.billing-entry-heading{margin-bottom:14px}.billing-entry-heading h2{margin:0}.billing-entry-heading p{color:var(--muted);font-size:.86rem;margin:7px 0 0}.billing-date-time-grid label,.billing-entry-card form>label,.billing-entry-card>label{display:grid;font-size:.84rem;font-weight:750;grid-gap:6px;gap:6px;min-width:0}.billing-entry-card form{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0}.billing-entry-card input,.billing-entry-card select,.billing-entry-card textarea{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;min-width:0;padding:9px 11px;width:100%}.billing-entry-card textarea{min-height:94px;resize:vertical}.billing-entry-card input:focus,.billing-entry-card select:focus,.billing-entry-card textarea:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.billing-date-time-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.billing-money-input{align-items:center;background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;display:flex;min-height:44px;overflow:hidden}.billing-money-input>span{color:var(--muted);font-weight:800;padding-left:11px}.billing-money-input input{background:transparent;border:0;border-radius:0;min-height:42px;outline:0;padding-left:6px}.billing-money-input:focus-within{border-color:var(--blue);outline:3px solid var(--primary-focus)}.billing-money-input input:focus{outline:0}.billing-field-invalid,.billing-money-input.billing-field-invalid{border-color:var(--semantic-error-border)!important}.billing-balance-effect{border:1px solid var(--line);border-radius:10px;margin:0;padding:11px}.billing-balance-effect legend{font-size:.82rem;font-weight:800;padding:0 5px}.billing-choice-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.billing-choice-grid .radio-label{align-items:flex-start;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;display:flex;font-size:.8rem;gap:7px;padding:9px}.billing-choice-grid input{flex:0 0 auto;height:17px;min-height:0;margin:2px 0 0;padding:0;width:17px}.billing-entry-actions{display:grid;grid-gap:10px;gap:10px;margin-top:auto;padding-top:4px}.billing-entry-actions .primary-button{width:100%}.billing-form-message{margin:0}.billing-empty-adjustment{margin:auto 0}.billing-ledger-history li{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) max-content}.billing-ledger-history li>div{min-width:0}.billing-ledger-history p{overflow-wrap:anywhere}.billing-event-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.billing-destination{align-items:center;background:var(--surface-subtle);border:1px solid var(--line);border-radius:10px;display:flex;gap:16px;justify-content:space-between;margin:14px 0;padding:12px 14px}.billing-destination>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.billing-destination span{color:var(--muted);font-size:.82rem}.billing-destination .secondary-button{flex:0 0 auto;text-decoration:none}@media(min-width:1024px){.metrics-with-billing{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:800px){.billing-entry-grid{grid-template-columns:1fr}.billing-entry-card{min-height:0}.billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-choice-grid{grid-template-columns:1fr}.billing-status-banner{display:grid}.metrics-with-billing{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.billing-ledger-filter form{align-items:stretch;display:grid}.billing-ledger-filter .secondary-button{width:100%}.billing-date-time-grid,.billing-summary{grid-template-columns:1fr}.billing-ledger-history li{gap:10px}.billing-destination{align-items:stretch;display:grid}.billing-destination .secondary-button{text-align:center;width:100%}}.student-view-billing-line{display:block;margin-top:.25rem}.student-view-billing .billing-summary{margin-top:0}.student-view-billing .billing-ledger-history{margin-bottom:1rem}.billing-event-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px}.billing-event-meta .billing-receipt-link{margin-top:0}.billing-ledger-main li{display:block}.billing-ledger-main .billing-ledger-event{min-width:0}.billing-ledger-main .billing-event-title-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 14px}.billing-ledger-main .billing-event-title-row h3{margin:.25rem 0}.billing-ledger-main .billing-event-title-row .billing-event-amount{flex:0 0 auto}.billing-report-history li{border-bottom:1px solid var(--line);display:block;padding:16px 0}.billing-report-history li:first-child{padding-top:4px}.billing-report-history li:last-child{border-bottom:0;padding-bottom:0}.billing-report-history .billing-event-title-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 14px}.billing-report-history .billing-event-title-row h3{margin:.25rem 0}.billing-report-history .billing-event-title-row .billing-event-amount{flex:0 0 auto}.receipt-payment li>span,.receipt-payment>p>span{min-width:0}.receipt-payment li>strong,.receipt-payment>p>strong{flex:0 0 auto;white-space:nowrap}@media(max-width:560px){.billing-report-presets{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.billing-report-presets>span{grid-column:1/-1;margin-right:0}.billing-report-presets .secondary-button{min-width:0;width:100%}.billing-report-presets .secondary-button:last-child{grid-column:1/-1}}@media print{.billing-receipt{font-size:14px!important}.billing-receipt .page-header{margin-bottom:12px!important}.billing-receipt .page-header h1{font-size:34px!important}.billing-receipt .panel{padding:14px!important}.billing-receipt .receipt-payment{margin:10px 0!important}.billing-receipt .receipt-payment h2,.billing-receipt .receipt-payment h3{margin-bottom:8px!important}.billing-receipt .billing-summary{gap:10px!important;margin:10px 0!important}.billing-receipt .billing-summary article{min-height:0!important;padding:12px!important}.billing-receipt section>h2{margin:10px 0!important}.billing-receipt .receipt-footer{margin-top:12px!important;padding-top:10px!important}}.beta-invite-create{margin:1rem 0}.beta-invite-create h2{margin-top:0}.beta-invite-fields{border:0;display:grid;grid-gap:1rem;gap:1rem;margin:0;padding:0}.beta-invite-create label,.beta-invite-toolbar label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:750}.beta-invite-create label span{color:var(--muted);font-size:.8rem;font-weight:500}.beta-invite-create input,.beta-invite-create textarea,.beta-invite-toolbar input{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:44px;padding:9px 11px;width:100%}.beta-invite-create textarea{min-height:90px;resize:vertical}.beta-invite-create input:focus,.beta-invite-create textarea:focus,.beta-invite-toolbar input:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.beta-invite-create-actions{display:flex;justify-content:flex-start}.beta-invite-fields:disabled{opacity:.82}.beta-invite-toolbar{align-items:end;display:grid;grid-gap:1rem;gap:1rem;margin:1rem 0}.beta-invite-toolbar>div{display:flex;flex-wrap:wrap;gap:.5rem}.beta-invite-list{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr)}.beta-invite-card,.beta-invite-empty{min-width:0;width:100%}.beta-invite-card h3,.beta-invite-card p{margin:.25rem 0;overflow-wrap:anywhere}.beta-invite-card dl{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:1rem 0}.beta-invite-card dt{color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase}.beta-invite-card dd{margin:.2rem 0 0;overflow-wrap:anywhere}.beta-invite-id{font-family:monospace;font-size:.8rem}.beta-invite-note{background:var(--surface-soft);border-radius:9px;padding:.75rem;white-space:pre-wrap}.beta-invite-actions{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;padding-top:1rem}.beta-invite-actions form{display:contents}.beta-invite-actions .missing-value{color:var(--muted);margin:0}.button-spinner{animation:button-spin .75s linear infinite;border:2px solid;border-right:2px solid transparent;border-radius:50%;display:inline-block;height:1em;margin-right:.5rem;vertical-align:-.12em;width:1em}@keyframes button-spin{to{transform:rotate(1turn)}}@media(min-width:720px){.beta-invite-toolbar{grid-template-columns:minmax(220px,1fr) auto}.beta-invite-card{padding:24px}.beta-invite-actions{justify-content:flex-start}}@media(max-width:520px){.beta-invite-actions,.beta-invite-actions>*,.beta-invite-toolbar button,.beta-invite-toolbar>div{width:100%}.beta-invite-actions form{display:block}.beta-invite-actions form button{width:100%}.admin-header{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.button-spinner{animation:none}}.template-version-summary{display:grid;grid-gap:3px;gap:3px;text-align:right}.template-version-summary span{color:var(--muted);font-size:.82rem}.template-admin-controls{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.template-admin-control{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px}.template-admin-control>div{display:grid;grid-gap:4px;gap:4px}.template-admin-control h3,.template-admin-control p{margin:0}.template-admin-control p{color:var(--muted);font-size:.88rem}.template-admin-control form{display:grid;grid-gap:10px;gap:10px;margin-top:auto}.template-admin-control .secondary-button{width:100%}.template-visibility-control details{display:grid;grid-gap:10px;gap:10px}.template-destructive-action>summary,.template-visibility-control details>summary{cursor:pointer;font-weight:800}.template-visibility-control details p{margin-top:2px}.template-destructive-action label,.template-visibility-control label{align-items:flex-start;display:flex;gap:8px}.template-destructive-action label input,.template-visibility-control label input{margin-top:5px}.template-destructive-action{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.template-destructive-action p{margin:0 0 10px}.template-destructive-action>summary{margin-bottom:10px}.template-destructive-action form{display:grid;grid-gap:10px;gap:10px;justify-items:start}.transient-query-banner{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin:0 0 18px;min-width:0}.transient-query-banner>span{min-width:0;overflow-wrap:anywhere}.transient-query-dismiss{align-items:center;background:transparent;border:0;border-radius:6px;color:currentColor;display:flex;flex:0 0 auto;font-size:1.25rem;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.transient-query-dismiss:hover{background:rgba(0,0,0,.06)}.transient-query-dismiss:focus-visible{outline:3px solid var(--primary-focus);outline-offset:1px}@media(min-width:720px){.template-admin-controls.has-version-control{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.template-version-summary{text-align:left}.student-section-heading{align-items:flex-start;flex-direction:column}.template-admin-control .secondary-button{width:100%}}.course-overview-stack,.template-update-review{display:grid;grid-gap:18px;gap:18px}.template-source-card{display:grid;grid-gap:12px;gap:12px}.template-source-card h2,.template-source-card p{margin:0}.template-source-card .status-badge{justify-self:start}.template-update-link{display:inline-flex;justify-content:center;text-decoration:none;width:max-content}.template-update-review>.back-link{justify-self:start}.template-update-review .panel{display:grid;grid-gap:18px;gap:18px}.template-update-review h2,.template-update-review p{margin:0}.template-update-version-line{display:flex;flex-wrap:wrap;gap:10px 24px}.template-update-summary{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.template-update-summary>div{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:10px 12px}.template-update-summary dt{color:var(--muted);font-size:.76rem;font-weight:750;text-transform:uppercase}.template-update-summary dd{font-size:1.3rem;font-weight:800;margin:2px 0 0}.template-update-notice{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:5px;gap:5px;padding:12px 14px}.template-update-notice.warning{background:var(--semantic-warning-bg);border-color:var(--semantic-warning-border)}.template-update-adopt{display:grid;grid-gap:14px;gap:14px}.template-update-adopt label{align-items:flex-start;display:flex;font-weight:700;gap:9px}.template-update-adopt input{height:18px;margin:3px 0 0;width:18px}.template-update-adopt .primary-button{justify-self:start}@media(min-width:760px){.template-update-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.template-update-summary{grid-template-columns:1fr}.template-update-adopt .primary-button,.template-update-link{width:100%}}.template-update-change-group{display:grid;grid-gap:8px;gap:8px}.template-update-change-group h3,.template-update-change-group p{margin:0}.template-update-change-group ul{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.template-update-change-group li{align-items:flex-start;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.template-update-change-group li span{color:var(--muted);font-size:.84rem;text-align:right}.guardian-lifecycle{display:grid;grid-gap:18px;gap:18px}.student-record-actions{margin-top:0}.student-record-downloads{display:flex;flex-wrap:wrap;align-items:start;gap:12px}.reassignment-request[aria-busy=true],.reassignment-request[aria-busy=true] *,.record-download[aria-busy=true],.record-download[aria-busy=true] *,.student-record-actions [aria-busy=true],.student-record-actions [aria-busy=true] *{cursor:wait!important}.reassignment-request{align-content:start;border:1px solid var(--line);border-radius:12px;padding:18px}.reassignment-request form{display:grid;grid-gap:12px;gap:12px}.received-history{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.record-entry{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:16px}.record-note{white-space:pre-wrap;overflow-wrap:anywhere}.record-print{max-width:960px;margin:auto;padding:24px}.record-print-controls{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:16px}@media print{.record-print-controls,.student-view-shell-header{display:none!important}.record-print{color:#000;background:#fff;padding:0}.record-print .record-entry{page-break-inside:avoid;break-inside:avoid}}details.guardian-lifecycle{display:block;padding:0}.guardian-lifecycle-summary{align-items:center;cursor:pointer;display:flex;gap:20px;justify-content:space-between;list-style:none;padding:20px 24px}.guardian-lifecycle-summary::-webkit-details-marker{display:none}.guardian-lifecycle-summary>span{display:grid;grid-gap:5px;gap:5px;min-width:0}.guardian-lifecycle-summary .eyebrow{margin:0}.guardian-lifecycle-summary h2{font-size:1.1rem;margin:0}.guardian-lifecycle-description{color:var(--muted);font-size:.86rem}.guardian-lifecycle-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s ease}.guardian-lifecycle[open]>.guardian-lifecycle-summary .guardian-lifecycle-chevron{transform:rotate(90deg)}.guardian-lifecycle-summary:focus-visible{border-radius:12px;outline:3px solid var(--primary-focus);outline-offset:2px}.guardian-lifecycle-content{border-top:1px solid var(--line);display:grid;grid-gap:18px;gap:18px;padding:20px 24px 24px}.guardian-lifecycle .auth-form,.guardian-security-check{display:grid;grid-gap:12px;gap:12px}.guardian-security-check{background:var(--surface-subtle);padding:18px;border:1px solid var(--line);border-radius:10px}.guardian-action-card h3,.guardian-security-check h3{font-size:1rem;margin:0}.guardian-action-card>p,.guardian-security-check>p{color:var(--muted);font-size:.88rem;line-height:1.6;margin:0}.guardian-security-check .guardian-verification-form{align-items:end;grid-template-columns:minmax(0,1fr) auto;max-width:580px}.guardian-security-check .guardian-verification-form .secondary-button{min-height:46px}.guardian-email-verification{align-items:center;display:flex;flex-wrap:wrap;gap:6px 12px}.guardian-email-verification>span{color:var(--muted);font-size:.82rem}.guardian-email-verification .secondary-button{font-size:.82rem;min-height:38px;padding:7px 12px}.guardian-action-grid{align-items:stretch;display:grid;grid-gap:16px;gap:16px}.guardian-action-card{align-content:start;border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:12px;gap:12px;padding:18px}.guardian-lifecycle .auth-form .checkbox-label{align-items:start;display:flex;font-size:.86rem;font-weight:500;gap:10px;line-height:1.5}.guardian-lifecycle .auth-form .checkbox-label input{accent-color:var(--blue);flex:0 0 18px;height:18px;margin:2px 0 0;min-height:18px;padding:0;width:18px}.guardian-action-card .danger-button,.guardian-action-card .primary-button{justify-self:start;margin-top:4px;min-height:46px}.guardian-action-card .form-message.success,.guardian-security-check .form-message.success{color:var(--semantic-success)}.guardian-lifecycle select{min-height:46px;border-radius:8px;color:inherit;background:var(--surface)}.guardian-lifecycle select,.guardian-lifecycle textarea{padding:10px 12px;font:inherit;border:1px solid var(--input-border)}.guardian-lifecycle textarea{background:var(--surface-elevated);border-radius:9px;color:var(--ink);font-weight:400;min-height:100px;resize:vertical;width:100%}.guardian-lifecycle textarea:focus{border-color:var(--blue);outline:3px solid var(--primary-focus)}.guardian-lifecycle[aria-busy=true],.guardian-lifecycle[aria-busy=true] *,.guardian-security-check[aria-busy=true],.guardian-security-check[aria-busy=true] *{cursor:wait!important}@media(min-width:900px){.guardian-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.guardian-lifecycle-content,.guardian-lifecycle-summary{padding:18px}.guardian-security-check .guardian-verification-form{grid-template-columns:1fr}.guardian-action-card .danger-button,.guardian-action-card .primary-button{justify-self:stretch;width:100%}}@media(prefers-reduced-motion:reduce){.guardian-lifecycle-chevron{transition:none}}.instructor-guardian-notice,.instructor-reassignment-notice{display:grid;grid-gap:10px;gap:10px;margin-top:16px;min-width:0}.instructor-guardian-notice h2,.instructor-reassignment-notice h2{font-size:1.15rem;margin:0}.instructor-guardian-notice ul{margin:0;padding-left:22px}.instructor-guardian-notice li{overflow-wrap:anywhere}.instructor-guardian-notice li+li{margin-top:8px}.instructor-reassignment-notice p{color:var(--muted);margin:0}.instructor-reassignment-notice>a{justify-self:start}.reassignment-page>.page-header{margin-bottom:0}.reassignment-review{display:grid;grid-gap:18px;gap:18px;min-width:0}.reassignment-request>h3,.reassignment-request>p{margin:0;overflow-wrap:anywhere}.reassignment-request>h3{font-size:1.1rem}.reassignment-request>p{font-size:.9rem}.reassignment-request form{margin:0}.reassignment-request .primary-button,.reassignment-request .secondary-button{justify-self:start}.student-view-records{display:grid;grid-gap:16px;gap:16px;margin:0 auto;min-width:0;width:min(100%,72rem)}.student-view-records>*{min-width:0}.received-history-panel>.received-history{border:0;margin:0;padding:0}.received-history>h3{font-size:1.1rem;margin:0 0 8px}.received-history>p{color:var(--muted);font-size:.9rem;margin:0 0 12px}.published-records>p{margin:8px 0}.published-records h3{font-size:1.05rem;margin:20px 0 10px}.published-records h4{font-size:1rem;margin:0 0 8px}.published-records p{overflow-wrap:anywhere}.published-records .record-entry p{margin:8px 0}.published-records .record-entry ol,.published-records .record-entry ul{margin:10px 0;padding-left:22px}.published-records li+li{margin-top:10px}.guardian-restricted{align-content:start;gap:12px}.guardian-restricted h1{font-size:clamp(1.4rem,4vw,1.85rem);line-height:1.2;margin:0}.guardian-restricted>p{margin:0}.guardian-restricted .record-download{justify-self:start}@media(max-width:560px){.guardian-restricted .record-download,.guardian-restricted .record-download button,.reassignment-request .primary-button,.reassignment-request .secondary-button{width:100%}}.lesson-item-drag-handle{cursor:-webkit-grab;cursor:grab}.lesson-item-buttons{flex-wrap:wrap}.status-control form[aria-busy=true]{cursor:wait}.template-drag-handle{background:var(--surface-subtle);border:1px solid var(--input-border);border-radius:7px;color:var(--muted);cursor:-webkit-grab;cursor:grab;font-size:1.1rem;line-height:1;min-height:36px;padding:5px 10px}.template-drag-handle:hover{background:var(--primary-subtle);color:var(--blue)}.template-dragging{opacity:.7}.template-drop-target{border-color:var(--blue);box-shadow:0 0 0 3px var(--primary-focus)}.lesson-item-row{position:relative;transition:opacity .15s,transform .15s}.lesson-item-row-dragging{opacity:.55;transform:scale(.99)}.lesson-item-row-drop-target{border-color:var(--blue);box-shadow:0 -4px 0 -1px var(--blue),0 0 0 3px var(--primary-focus)}.lesson-item-drag-handle{align-items:center;display:inline-flex;font-size:1.2rem;justify-content:center;min-height:48px;min-width:48px;touch-action:none}.lesson-item-drag-handle:focus-visible{outline:3px solid var(--primary-focus);outline-offset:2px}.attempt-display-controls{align-items:center;background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;padding:14px 16px}.attempt-display-controls label{align-items:center;display:flex;flex:1 1 280px;font-weight:700;gap:9px}.attempt-display-controls p{color:var(--muted);flex-basis:100%;font-size:.82rem;margin:0}.attempt-item .secondary-button{margin:0 0 12px}.attempt-item .secondary-button:hover{background:var(--primary-subtle);border-color:var(--blue);color:var(--blue)}.student-settings-collapsible{grid-column:1/-1;width:100%}.student-settings-collapsible>summary{align-items:center;background:var(--surface-elevated);border:1px solid var(--line);border-radius:12px;color:var(--ink);cursor:pointer;font-weight:800;list-style:none;padding:16px 18px}.student-settings-collapsible>summary::-webkit-details-marker{display:none}.student-settings-collapsible>summary:after{content:"+";float:right;font-size:1.25rem;line-height:1}.student-settings-collapsible[open]>summary{border-radius:12px 12px 0 0}.student-settings-collapsible[open]>summary:after{content:"−"}.student-settings-collapsible>section{border-radius:0 0 12px 12px;margin:0;padding:20px}.status-control select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:9px;color:var(--ink);font:inherit;min-height:46px;padding:9px 12px;width:100%}.status-control .secondary-button:hover{background:var(--primary-subtle);border-color:var(--blue);color:var(--blue)}.reorder-card{position:relative;padding-left:72px!important}.reorder-grip{position:absolute;left:12px;top:18px;display:grid;place-items:center;width:48px;height:48px;min-width:48px;border:1px solid var(--input-border);border-radius:9px;background:var(--surface-elevated);color:var(--muted);cursor:-webkit-grab;cursor:grab;touch-action:none}.reorder-grip:hover,.reorder-grip[aria-pressed=true]{background:var(--primary-subtle);color:var(--blue);box-shadow:0 4px 12px var(--shadow)}.reorder-grip:focus-visible{outline:3px solid var(--primary-focus)}.reorder-placeholder{opacity:.3;border-style:dashed!important}.reorder-floating{pointer-events:none;z-index:9999;background:var(--surface-elevated);box-shadow:0 16px 40px var(--shadow);opacity:.95}.reorder-insertion{position:fixed;height:4px;background:var(--blue);border-radius:4px;pointer-events:none;z-index:10000}.student-age-review{display:grid;grid-gap:20px;gap:20px;min-width:0}.student-age-review>.page-header{margin:0}.student-age-review .page-header h1{font-size:clamp(1.8rem,4vw,2.5rem)}.student-age-review-panel>p{color:var(--muted);margin:0}.student-age-review-complete{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.student-age-review-complete h2{font-size:1.1rem;margin:0 0 6px}.student-age-review-complete p{margin:0;color:var(--muted)}.student-age-review .secondary-button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;text-decoration:none;min-height:44px}.student-age-review-list{list-style:none;margin:20px 0 0;padding:0}.student-age-review-list li{align-items:center;border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:16px 0}.student-age-review-list h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.student-age-review-list .status-label{color:var(--muted);font-size:.85rem}@media(max-width:600px){.student-age-review-list li{grid-template-columns:minmax(0,1fr) auto}.student-age-review-list .secondary-button{grid-column:1/-1}.student-age-review>.secondary-button{width:100%}}