@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-600.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-700.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Afacad;src:url(/fonts/afacad-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Afacad;src:url(/fonts/afacad-500.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Afacad;src:url(/fonts/afacad-600.ttf)format("truetype");font-weight:600;font-display:swap}:root{color:#132c20;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f6f8f3;--paper-soft:#f1f4ed;--paper-strong:#e7ece3;--surface-raised:#fff;--surface-subtle:#fbfcfa;--ink:#10281c;--ink-soft:#405348;--muted:#627268;--ink-on-brand:#fff;--line:#d4dcd1;--line-strong:#bdc9bd;--green:#0b4f2a;--green-deep:#062f18;--green-dark:#042512;--green-soft:#dce8dc;--focus:#687700;--danger:#a6362b;--danger-soft:#f8e9e6;--danger-line:#dba79f;--danger-ink:#72261f;--success:#1b6a3b;--success-soft:#e4f2e7;--success-line:#aad0b5;--success-ink:#154d2d;--radius:8px;--radius-pill:999px;--topbar-height:68px;--shadow-overlay:0 18px 40px #0d251824;--duration-fast:.16s;--duration-base:.18s;--duration-slow:.2s;--ease-out:cubic-bezier(.22, 1, .36, 1);background:#f6f8f3;font-family:Afacad,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper);scrollbar-color:var(--green) var(--paper-strong);scrollbar-width:thin;min-width:320px}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.admin-course-row strong,.course-section-row strong,.calendar-session h2,.answer-workspace blockquote,.question p{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.topbar button:focus-visible{outline-color:#d0df5a}::selection{color:var(--ink-on-brand);background:var(--green)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper-strong)}::-webkit-scrollbar-thumb{border:2px solid var(--paper-strong);background:var(--green);border-radius:10px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;font-family:Bricolage Grotesque,Arial Narrow,sans-serif}button{border:0}.button{border-radius:var(--radius);min-height:48px;color:var(--ink);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-weight:600;line-height:1;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{background:var(--green);color:var(--ink-on-brand)}.button--primary:hover:not(:disabled){background:var(--green-deep)}.button--secondary{border-color:var(--line-strong);background:var(--paper);color:var(--green-deep)}.button--secondary:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.button--danger{border-color:var(--danger);background:var(--danger);color:#fff}.button--danger:hover:not(:disabled){border-color:var(--danger-ink);background:var(--danger-ink)}.button--danger-secondary{border-color:var(--danger-line);background:var(--surface-subtle);color:var(--danger-ink)}.button--danger-secondary:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.button--wide{width:100%}.button--small{min-height:38px;padding:9px 13px;font-size:.94rem}.skip-link{z-index:100;border-radius:var(--radius);background:var(--surface-raised);color:var(--green-deep);transition:transform var(--duration-fast) var(--ease-out);padding:10px 14px;font-weight:600;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.brand{min-width:0;color:var(--ink-on-brand);align-items:center;font-weight:600;display:inline-flex}.brand__logo{filter:brightness(0)invert();width:205px;height:auto;display:block}.brand--compact .brand__logo{width:175px}.auth-shell{grid-template-columns:minmax(360px,.92fr) minmax(500px,1.08fr);min-height:100vh;display:grid}.auth-story{background:var(--green-deep);min-height:100vh;color:var(--ink-on-brand);flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,72px);display:flex}.auth-story__copy{max-width:520px;padding-block:80px}.auth-story h1{max-width:10ch;color:var(--ink-on-brand);margin-bottom:24px;font-size:clamp(3rem,5.5vw,5.6rem);line-height:.96}.auth-story__copy p{color:#d8e8da;max-width:43ch;margin-bottom:0;font-size:1.25rem;line-height:1.55}.auth-story__note{color:#afc9b5;margin-bottom:0;font-size:.93rem}.access-revoked{background:linear-gradient(135deg, var(--green-deep) 0 38%, var(--paper-strong) 38% 100%);place-items:center;min-height:100vh;padding:clamp(24px,6vw,72px);display:grid}.access-revoked__card{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);width:min(100%,680px);box-shadow:var(--shadow-overlay);gap:28px;padding:clamp(28px,6vw,58px);display:grid}.access-revoked__card>.brand{border-radius:var(--radius);background:var(--green-deep);justify-self:start;padding:12px 16px}.access-revoked__icon{border-radius:var(--radius-pill);background:var(--danger-soft);width:58px;height:58px;color:var(--danger-ink);place-items:center;display:grid}.access-revoked__eyebrow{color:var(--green);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:.83rem;font-weight:700}.access-revoked h1{max-width:16ch;margin-bottom:14px;font-size:clamp(2.2rem,5vw,4rem);line-height:1}.access-revoked__card>div>p:last-child{max-width:54ch;color:var(--muted);margin-bottom:0;line-height:1.6}.access-revoked__course{border-block:1px solid var(--line);color:var(--green);align-items:center;gap:12px;padding:16px;display:flex}.access-revoked__course span{gap:3px;display:grid}.access-revoked__course small{color:var(--muted)}.access-revoked__course strong{color:var(--ink)}.access-revoked__actions{flex-wrap:wrap;gap:12px;display:flex}.access-revoked__demo-note{color:var(--muted);margin-bottom:0;font-size:.86rem}.auth-panel{background:var(--paper);place-items:center;min-height:100vh;padding:36px;display:grid}.portal-system-state{background:var(--paper);place-items:center;min-height:100vh;padding:28px;display:grid}.portal-system-state>section{border:1px solid var(--line-strong);background:var(--surface-raised);justify-items:start;gap:22px;width:min(100%,620px);padding:clamp(28px,6vw,56px);display:grid}.portal-system-state .brand{border-radius:var(--radius);background:var(--green-deep);padding:12px 15px}.portal-system-state>section>svg{color:var(--green)}.portal-system-state h1{margin-bottom:-10px;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.portal-system-state p{max-width:48ch;color:var(--muted);margin-bottom:0;line-height:1.55}.portal-sync-notice{z-index:120;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--green-deep);max-width:min(420px,100vw - 40px);box-shadow:var(--shadow-overlay);color:var(--ink-on-brand);padding:12px 16px;font-weight:600;position:fixed;bottom:20px;right:20px}.portal-system-state__actions{flex-wrap:wrap;gap:12px;display:flex}.auth-panel__inner{width:min(100%,450px)}.legal-links{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 18px;font-size:.82rem;display:flex}.legal-links a{min-height:44px;color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:4px;align-items:center;display:inline-flex}.legal-links a:hover{color:var(--green);text-decoration-color:currentColor}.legal-links a:focus-visible{border-radius:var(--radius);outline:3px solid var(--focus);outline-offset:3px}.legal-links--auth{border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.auth-heading{margin-bottom:36px}.auth-heading h2{margin-bottom:12px;font-size:clamp(2rem,3vw,2.7rem);line-height:1.04}.auth-heading p{max-width:45ch;color:var(--muted);margin-bottom:0;font-size:1.08rem;line-height:1.45}.auth-form{gap:20px;display:grid}.auth-form label,.question-form label{color:var(--ink);gap:8px;font-weight:600;display:grid}.auth-form input,.question-form textarea,.searchbox input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);width:100%;color:var(--ink);caret-color:var(--green);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease}.auth-form input{min-height:50px;padding:12px 14px}.auth-form input:hover,.question-form textarea:hover{border-color:#87998b}.auth-form input:focus,.question-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 14%, transparent)}.form-message{border-radius:var(--radius);margin:-4px 0 0;padding:12px 14px;font-size:.96rem;line-height:1.4}.form-message--error{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger-ink)}.form-message--success{border:1px solid var(--success-line);background:var(--success-soft);color:var(--success-ink)}.form-hint{color:var(--muted);margin:-6px 0 0;font-size:.88rem}.text-button,.back-link,.aside-link{color:var(--green);text-underline-offset:4px;cursor:pointer;background:0 0;align-items:center;gap:7px;padding:0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.auth-panel .text-button{margin-top:22px}.text-button--muted{color:var(--muted);font-weight:500}.back-link{margin-bottom:36px}.demo-access{border-block:1px solid var(--line);gap:7px;margin-top:34px;padding:18px 0;display:grid}.demo-access span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;font-weight:600}.demo-access code{width:fit-content;color:var(--ink);font-family:Afacad,sans-serif;font-size:1rem}.portal-shell{background:var(--paper);min-height:100vh}.topbar{z-index:30;min-height:var(--topbar-height);background:var(--green-deep);color:var(--ink-on-brand);border-bottom:1px solid #29583a;grid-template-columns:minmax(220px,.9fr) minmax(245px,.75fr) minmax(280px,1.25fr) auto;align-items:center;display:grid;position:sticky;top:0}.topbar__brand,.course-switch{color:var(--ink-on-brand);cursor:pointer;background:0 0;border-right:1px solid #2e6040;align-self:stretch;padding:0 28px}.course-switch-wrap{align-self:stretch;position:relative}.topbar__brand{text-align:left}.course-switch{align-items:center;gap:10px;width:100%;height:100%;font-weight:600;display:flex}.course-menu,.utility-menu{z-index:5;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-overlay);color:var(--ink);position:absolute;top:calc(100% + 10px);overflow:hidden}.course-menu{width:280px;left:12px}.course-menu button,.course-menu span,.utility-menu button{text-align:left;background:0 0;align-items:center;gap:9px;width:100%;padding:13px 15px;display:flex}.course-menu button,.utility-menu button{cursor:pointer}.course-menu button:hover,.utility-menu button:hover{background:var(--paper-soft)}.course-menu span{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;line-height:1.35}.course-switch:hover,.topbar__brand:hover{background:#ffffff0f}.searchbox{border-radius:var(--radius);color:#b8cbbd;border:1px solid #4b7258;align-items:center;gap:9px;height:42px;margin-inline:20px;padding-inline:14px;display:flex}.searchbox input{min-width:0;color:var(--ink-on-brand);background:0 0;border:0;outline:0}.searchbox input::placeholder{color:#acc2b2}.searchbox__close,.search-toggle{display:none!important}.topbar__actions{justify-content:flex-end;align-items:center;gap:8px;padding-right:18px;display:flex;position:relative}.refresh-button{border-radius:var(--radius);min-height:44px;color:var(--ink-on-brand);cursor:pointer;background:#ffffff12;border:1px solid #fff3;justify-content:center;align-items:center;gap:7px;padding-inline:12px;display:inline-flex}.refresh-button:hover:not(:disabled){background:#ffffff1f}.refresh-button:disabled{cursor:wait;opacity:.72}.refresh-icon--spinning{animation:.85s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.icon-button,.profile-button{border-radius:var(--radius);min-width:42px;min-height:42px;color:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover,.profile-button:hover{background:#ffffff14}.notification-button{position:relative}.notification-button span{border:2px solid var(--green-deep);background:var(--focus);width:16px;height:16px;color:var(--ink-on-brand);border-radius:50%;place-items:center;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:8px;right:8px}.profile-button{gap:10px;padding-inline:8px 12px}.avatar{width:38px;height:38px;color:var(--green-deep);background:#e6eadf;border-radius:50%;flex:none;place-items:center;font-size:.88rem;font-weight:600;display:inline-grid}.profile-menu{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);width:230px;box-shadow:var(--shadow-overlay);color:var(--ink);position:absolute;top:calc(100% + 10px);right:18px;overflow:hidden}.profile-menu p{border-bottom:1px solid var(--line);gap:2px;margin:0;padding:16px;display:grid}.profile-menu p span{color:var(--muted);font-size:.9rem}.profile-menu button{cursor:pointer;background:0 0;align-items:center;gap:9px;width:100%;padding:13px 16px;display:flex}.profile-menu button:hover{background:var(--paper-soft)}.legal-links--menu{border-top:1px solid var(--line);gap:2px 14px;padding:4px 16px 8px;font-size:.82rem}.legal-links--state{border-top:1px solid var(--line);width:100%;padding-top:8px}.utility-menu{width:280px;padding:15px;right:68px}.utility-menu--help{right:112px}.utility-menu strong{margin-bottom:6px;display:block}.utility-menu p{color:var(--ink-soft);margin-bottom:12px;line-height:1.4}.utility-menu button{border-top:1px solid var(--line);width:calc(100% + 30px);color:var(--green);margin-inline:-15px;font-weight:600}.briefing-layout{min-height:calc(100vh - var(--topbar-height));grid-template-columns:minmax(0,1.9fr) minmax(330px,1fr);display:grid}.briefing-main{padding:clamp(42px,5vw,78px) clamp(32px,5vw,76px) 64px}.briefing-intro{max-width:790px;margin-bottom:42px}.briefing-intro h1{margin-bottom:24px;font-size:clamp(3rem,4.5vw,4.8rem);line-height:.98}.briefing-intro p{max-width:64ch;color:var(--ink-soft);margin-bottom:0;font-size:1.17rem;line-height:1.55}.attendance-prompt{border-block:1px solid var(--line-strong);background:color-mix(in srgb, var(--success-soft) 34%, transparent);grid-template-columns:48px minmax(0,1fr);gap:18px;margin:0 0 30px;padding:24px 0;display:grid}.attendance-prompt__icon{border-radius:var(--radius);background:var(--success-soft);width:46px;height:46px;color:var(--success-ink);place-items:center;display:grid}.attendance-prompt__content{min-width:0}.attendance-prompt__content h2{margin-bottom:9px;font-size:1.2rem}.attendance-prompt__session{gap:2px;margin-bottom:13px;display:grid}.attendance-prompt__session span,.attendance-prompt__statement{color:var(--ink-soft)}.attendance-prompt__statement{max-width:62ch;margin-bottom:18px;line-height:1.5}.attendance-prompt__actions,.attendance-deviation-form>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attendance-deviation-form{gap:10px;max-width:680px;display:grid}.attendance-deviation-form label{font-weight:600}.attendance-deviation-form textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);min-height:100px;color:var(--ink);font:inherit;resize:vertical;padding:12px 14px}.attendance-deviation-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 14%, transparent);outline:0}.attendance-deviation-form small{color:var(--muted);margin-right:auto}.next-step{border-block:1px solid var(--line);padding-block:20px}.next-step>p{color:var(--green-deep);margin-bottom:10px;font-weight:600}.next-step__action{text-align:left;cursor:pointer;background:0 0;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:22px;width:100%;min-height:104px;padding:14px 6px 14px 0;display:grid}.next-step__action:hover .next-step__arrow{background:var(--green-deep);transform:translate(4px)}.next-step__arrow{background:var(--green);width:58px;height:58px;color:var(--ink-on-brand);transition:transform var(--duration-slow) var(--ease-out), background-color var(--duration-slow) var(--ease-out);border-radius:50%;place-items:center;display:grid}.next-step__action>span:nth-child(2){gap:2px;display:grid}.next-step__action small,.work-row__label,.lesson__week{color:var(--green);text-transform:uppercase;letter-spacing:.035em;font-size:.85rem;font-style:normal;font-weight:600}.next-step__action strong{color:var(--ink);letter-spacing:-.018em;font-family:Bricolage Grotesque,sans-serif;font-size:1.45rem}.next-step__action em{color:var(--muted);font-size:.96rem;font-style:normal}.work-plan{padding-top:30px}.work-plan h2{letter-spacing:0;margin-bottom:12px;font-family:Afacad,sans-serif;font-size:1.08rem}.work-row{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(190px,1fr) minmax(190px,.8fr) auto;align-items:center;gap:18px;min-height:94px;display:grid}.work-row__icon,.agenda-item__icon{border-radius:var(--radius);background:var(--paper-strong);width:46px;height:46px;color:var(--green);place-items:center;display:grid}.work-row__copy{gap:1px;display:grid}.work-row__copy strong{font-size:1.08rem}.work-row__copy small{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.row-action{color:var(--green-deep);text-underline-offset:4px;cursor:pointer;background:0 0;align-items:center;gap:3px;padding:10px 4px;font-weight:600;text-decoration:underline;display:inline-flex}.inline-audio{align-items:center;gap:12px;min-width:210px;display:flex}.waveform{flex:1;align-items:center;gap:2px;height:36px;display:flex}.waveform__bar{background:#afbbb1;border-radius:2px;width:2px;min-height:4px}.waveform__bar--played{background:var(--green)}.audio-button{border:1px solid var(--green);width:44px;height:44px;color:var(--green);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;display:grid}.audio-button:hover{background:var(--green-soft)}.briefing-aside{border-left:1px solid var(--line);background:var(--paper-soft);padding:clamp(42px,5vw,70px) clamp(28px,3.5vw,56px)}.aside-section{padding-bottom:38px}.aside-section+.aside-section{border-top:1px solid var(--line);padding-top:36px}.aside-section h2{letter-spacing:0;margin-bottom:24px;font-family:Afacad,sans-serif;font-size:1.25rem}.agenda-item{grid-template-columns:48px 1fr;align-items:start;gap:14px;display:grid}.agenda-item>div{gap:5px;display:grid}.agenda-item small{color:var(--green);font-size:.95rem;font-weight:600}.agenda-item strong{line-height:1.35}.agenda-item span{color:var(--muted);line-height:1.4}.aside-link{margin-top:20px}.course-summary>p{color:var(--ink);margin-bottom:22px;font-weight:600}.course-summary dl{gap:14px;margin:0;display:grid}.course-summary dl div{grid-template-columns:120px 1fr;gap:14px;display:grid}.course-summary dt{color:var(--muted)}.course-summary dd{color:var(--ink-soft);margin:0}.workspace{min-height:calc(100vh - var(--topbar-height));grid-template-columns:245px minmax(520px,1fr) minmax(310px,.7fr);display:grid}.course-outline{border-right:1px solid var(--line);background:#edf1e9;padding:34px 18px}.back-link--light{margin:0 10px 30px}.course-outline h2{margin:0 10px 24px;font-size:1.35rem;line-height:1.1}.course-outline__empty{color:var(--muted);margin:8px 10px;line-height:1.45}.week-link{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;grid-template-columns:32px 1fr;align-items:start;gap:10px;width:100%;padding:12px 10px;display:grid}.week-link>span{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--green-deep);border-radius:50%;place-items:center;font-weight:600;display:grid}.week-link>div{gap:2px;display:grid}.week-link small{color:var(--muted)}.week-link strong{font-size:.96rem;line-height:1.2}.week-link:hover{background:#e1e9df}.week-link--active{background:var(--green-soft)}.week-link--active>span{border-color:var(--green);background:var(--green);color:var(--ink-on-brand)}.lesson{padding:54px clamp(34px,5vw,78px) 80px}.lesson__heading{border-bottom:1px solid var(--line);max-width:690px;padding-bottom:38px}.lesson__heading h1{margin:0 0 10px;font-size:clamp(3rem,4vw,4.6rem);line-height:.98}.lesson__week{margin:0 0 16px}.lesson__description{max-width:58ch;color:var(--ink-soft);margin-bottom:0;font-size:1.12rem;line-height:1.55}.lesson-block{grid-template-columns:42px 1fr;gap:18px;max-width:760px;margin-top:46px;display:grid}.lesson-block__number{background:var(--green);width:36px;height:36px;color:var(--ink-on-brand);border-radius:50%;place-items:center;font-weight:600;display:grid}.lesson-block__content h2{margin:3px 0 10px;font-size:1.55rem}.lesson-block__content>p{max-width:61ch;color:var(--ink-soft);line-height:1.5}.material-line{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle);text-align:left;cursor:pointer;width:100%;min-height:82px;transition:border-color var(--duration-base) ease, background-color var(--duration-base) ease;grid-template-columns:46px 1fr auto;align-items:center;gap:15px;margin-top:20px;padding:14px 16px;display:grid}.material-line:hover{border-color:var(--green);background:var(--surface-raised)}.material-line>span:first-child{border-radius:var(--radius);background:var(--paper-strong);width:44px;height:44px;color:var(--green);place-items:center;display:grid}.material-line>div{gap:5px;display:grid}.material-line small{color:var(--muted);align-items:center;gap:5px;display:flex}.course-preparing-state{border-block:1px solid var(--line);align-items:flex-start;gap:15px;max-width:690px;margin-top:32px;padding:24px 0;display:flex}.lesson-block--submission{border-top:1px solid var(--line);padding-top:34px}.submission-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.submission-heading h2,.submission-heading p{margin-bottom:0}.submission-heading p{max-width:58ch;color:var(--ink-soft);margin-top:7px;line-height:1.5}.submission-form{gap:13px;margin-top:22px;display:grid}.submission-file-picker{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:78px;padding:14px;display:grid}.submission-file-picker>span{border-radius:var(--radius);background:var(--paper-strong);width:44px;height:44px;color:var(--green);place-items:center;display:grid}.submission-file-picker>div,.submission-history__item>div{gap:3px;min-width:0;display:grid}.submission-file-picker strong,.submission-history__item strong{overflow-wrap:anywhere}.submission-file-picker small,.submission-history__item small{color:var(--muted)}.submission-form>.button{justify-self:start}.submission-feedback{color:var(--green-deep);align-items:center;gap:7px;margin:0;font-weight:600;display:flex}.submission-feedback--error{color:var(--danger-ink)}.submission-history{border-top:1px solid var(--line);margin-top:28px}.submission-history h3{margin:20px 0 8px;font-size:1rem}.submission-history__item{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:64px;display:grid}.submission-history__item>span{color:var(--green)}.submission-history__item .text-button{align-items:center;gap:5px;min-height:44px;display:inline-flex}.submission-history__empty{color:var(--muted);margin:0;padding:14px 0}.course-preparing-state>span{border-radius:var(--radius);background:var(--paper-strong);width:44px;height:44px;color:var(--green);flex:none;place-items:center;display:grid}.course-preparing-state>div{gap:4px;display:grid}.course-preparing-state strong{color:var(--ink);font-size:1rem}.course-preparing-state p{color:var(--muted);margin:0;line-height:1.45}.questions-panel{border-left:1px solid var(--line);background:var(--paper-soft);padding:44px 28px}.questions-panel__heading{border-bottom:1px solid var(--line);padding-bottom:24px}.questions-panel__heading h2{letter-spacing:0;margin-bottom:8px;font-family:Afacad,sans-serif;font-size:1.3rem}.questions-panel__heading p{color:var(--muted);margin-bottom:0;font-size:.94rem}.question-list{gap:18px;padding-block:22px;display:grid}.question-list__empty,.calendar-empty,.next-work__empty{color:var(--muted);align-items:center;gap:12px;display:flex}.question-list__empty{padding:18px 0 24px}.question-list__empty p{gap:2px;margin:0;display:grid}.question-list__empty strong{color:var(--ink)}.question-list__empty span{line-height:1.4}.question{border-bottom:1px solid var(--line);padding-bottom:18px}.question__meta{align-items:center;gap:10px;display:flex}.avatar--small{width:34px;height:34px;font-size:.8rem}.question__meta>span:last-child{display:grid}.question__meta small{color:var(--muted)}.question>p{margin:13px 0 0 44px;line-height:1.45}.answer{border-radius:var(--radius);background:#e5ebe1;margin:16px 0 0 44px;padding:14px}.answer p{color:var(--ink-soft);margin:5px 0 0;line-height:1.42}.question-form{gap:10px;margin-top:18px;display:grid}.question-form textarea{resize:vertical;min-height:112px;padding:12px}.question-form>div{justify-content:space-between;align-items:center;display:flex}.question-form small{color:var(--muted)}.sent-notice{color:var(--success);align-items:center;gap:6px;margin:2px 0 0;font-size:.92rem;display:flex}.material-viewer{min-height:calc(100vh - var(--topbar-height));background:#e8ece6}.material-viewer__download{justify-items:end;gap:5px;display:grid}.material-viewer__download small{color:var(--muted);font-size:.76rem}.material-viewer__header{border-bottom:1px solid var(--line-strong);background:var(--paper);grid-template-columns:1fr auto;align-items:end;gap:24px;padding:28px 42px;display:grid}.material-viewer__header .back-link{grid-column:1/-1;margin-bottom:4px}.material-title{align-items:center;gap:14px;display:flex}.material-title__icon{border-radius:var(--radius);background:var(--paper-strong);width:48px;height:48px;color:var(--green);place-items:center;display:grid}.material-title h1{margin-bottom:4px;font-size:1.6rem}.material-title p{color:var(--muted);align-items:center;gap:5px;margin-bottom:0;display:flex}.document-stage{grid-template-columns:120px minmax(0,1fr);gap:40px;padding:36px;display:grid}.page-rail{align-content:start;gap:12px;display:grid}.page-thumb{aspect-ratio:.72;border:1px solid var(--line-strong);background:var(--surface-raised);width:74px;color:var(--muted);cursor:pointer;border-radius:4px;place-items:center;display:grid}.page-thumb--active{border:2px solid var(--green);color:var(--green);font-weight:600}.page-thumb:disabled{cursor:not-allowed;opacity:.48}.page-thumb--active:disabled{cursor:default;opacity:1}.document-page{background:var(--surface-raised);width:min(100%,780px);min-height:960px;margin:0 auto;padding:66px 72px;box-shadow:0 24px 60px #152b1e26}.document-page__brand{color:var(--green);font-weight:600}.document-page__course{color:var(--muted);margin:50px 0 10px}.document-page h2{max-width:10ch;margin-bottom:22px;font-size:3.5rem;line-height:.98}.document-page__lead{border-bottom:1px solid var(--line);max-width:52ch;color:var(--ink-soft);padding-bottom:34px;font-size:1.2rem;line-height:1.5}.document-page section{margin-top:42px}.document-page h3{margin-bottom:16px;font-size:1.35rem}.document-page section p{border-radius:var(--radius);background:var(--paper-soft);margin-bottom:12px;padding:14px 16px;line-height:1.45}.document-page footer{border-top:1px solid var(--line);color:var(--muted);margin-top:70px;padding-top:18px}@media (width<=1180px){.topbar{grid-template-columns:230px minmax(230px,.8fr) minmax(220px,1fr) auto}.profile-button__name{display:none}.briefing-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr)}.briefing-main{padding-inline:38px}.work-row{grid-template-columns:48px minmax(180px,1fr) auto}.inline-audio{grid-column:2/-1;width:100%;padding-bottom:14px}.workspace{grid-template-columns:215px minmax(480px,1fr)}.questions-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}.question-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){:root{--topbar-height:62px}.auth-shell{grid-template-columns:1fr}.auth-story{min-height:auto;padding:28px}.auth-story__copy{padding-block:70px 44px}.auth-story h1{font-size:clamp(3rem,10vw,5rem)}.auth-panel{min-height:auto;padding:56px 24px}.topbar{grid-template-columns:1fr auto auto}.topbar__brand{padding-inline:20px}.course-switch{border-right:0;padding-inline:12px}.course-menu{left:auto;right:0}.course-switch span{display:none}.searchbox{z-index:2;background:var(--green-deep);margin:0;display:none;position:absolute;inset:8px 62px 8px 8px}.searchbox--open{display:flex}.searchbox__close,.search-toggle{display:inline-flex!important}.topbar__actions{padding-right:8px}.refresh-button span{display:none}.refresh-button{min-width:44px;padding-inline:0}.briefing-layout{grid-template-columns:1fr}.briefing-main{padding:44px 28px 50px}.briefing-aside{border-top:1px solid var(--line);border-left:0;padding:42px 28px}.workspace{grid-template-columns:1fr}.course-outline{border-right:0;border-bottom:1px solid var(--line);align-items:stretch;gap:6px;padding:14px;display:flex;overflow-x:auto}.course-outline .back-link,.course-outline h2{display:none}.week-link{min-width:190px}.lesson{padding:44px 28px 60px}.questions-panel{padding-inline:28px}.question-list{grid-template-columns:1fr}}@media (width<=640px){input,textarea,select{font-size:1rem}.brand--compact{width:42px;overflow:hidden}.brand--compact .brand__logo{width:175px;max-width:none}.auth-story{padding:22px}.auth-story__copy{padding-block:54px 36px}.auth-story h1{font-size:3.35rem}.auth-story__copy p{font-size:1.08rem}.auth-panel{padding:44px 20px}.topbar__brand{padding-inline:16px}.topbar__actions{gap:0}.topbar .admin-switch-button,.topbar .participant-help-button,.topbar .search-toggle{display:none!important}.icon-button,.profile-button{min-width:44px;min-height:44px}.utility-menu{width:auto;position:fixed;top:70px;left:12px;right:12px}.briefing-main,.briefing-aside{padding-inline:20px}.briefing-intro h1{font-size:3rem}.briefing-intro p{font-size:1.05rem}.next-step__action{grid-template-columns:48px minmax(0,1fr) auto;gap:12px}.next-step__arrow{width:46px;height:46px}.next-step__action strong{font-size:1.2rem}.work-row{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding-block:16px}.work-row__icon{width:42px;height:42px}.work-row__copy strong{overflow-wrap:anywhere}.inline-audio{grid-column:1/-1}.row-action{grid-area:2/2;justify-self:start;min-width:44px;min-height:44px;padding-inline:0;font-size:.95rem}.row-action svg{width:20px;height:20px}.lesson{padding-inline:20px}.lesson__heading h1{font-size:3rem}.lesson-block{grid-template-columns:32px minmax(0,1fr);gap:12px}.lesson-block__number{width:30px;height:30px}.material-line{grid-template-columns:42px minmax(0,1fr)}.material-line>.button{grid-column:1/-1;width:100%}.submission-heading{flex-direction:column}.submission-file-picker{grid-template-columns:44px minmax(0,1fr)}.submission-file-picker .button,.submission-form>.button{grid-column:1/-1;width:100%}.submission-history__item{grid-template-columns:30px minmax(0,1fr);padding-block:10px}.submission-history__item .text-button{grid-column:2;justify-self:start}.questions-panel{padding-inline:20px}.material-viewer__header{grid-template-columns:1fr;padding:24px 20px}.material-viewer__header .button{width:100%}.document-stage{padding:20px 12px;display:block}.page-rail{gap:8px;margin-bottom:18px;display:flex;overflow-x:auto}.page-thumb{aspect-ratio:1;flex:none;width:48px}.document-page{min-height:700px;padding:42px 28px}.document-page h2{font-size:2.65rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-switch-button{border-radius:var(--radius);min-height:44px;color:var(--ink-on-brand);cursor:pointer;background:#ffffff12;border:1px solid #fff3;justify-content:center;align-items:center;gap:7px;padding-inline:13px;font-weight:600;display:inline-flex}.admin-switch-button:hover{background:#ffffff24}.admin-shell{grid-template-columns:224px minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);background:var(--paper);grid-template-areas:"topbar topbar""nav content";min-height:100vh;display:grid}.admin-topbar{z-index:30;background:var(--green-dark);color:var(--ink-on-brand);border-bottom:1px solid #ffffff24;grid-area:topbar;align-items:center;display:flex;position:sticky;top:0}.admin-topbar__brand{border-right:1px solid #ffffff24;align-items:center;width:224px;height:100%;padding:0 24px;display:flex}.admin-topbar__brand .brand__logo{width:168px}.admin-tenant{align-items:center;gap:10px;min-width:0;padding-inline:24px;display:flex}.admin-tenant>span{line-height:1.15;display:grid}.admin-tenant small{color:#b8cdbd;font-size:.82rem}.admin-topbar__actions{align-items:center;gap:8px;margin-left:auto;padding-right:16px;display:flex;position:relative}.admin-topbar .icon-button{color:var(--ink-on-brand)}.admin-profile-menu{top:56px}.admin-nav{top:var(--topbar-height);height:calc(100vh - var(--topbar-height));border-right:1px solid var(--line);background:var(--paper-soft);flex-direction:column;grid-area:nav;padding:28px 14px 18px;display:flex;position:sticky}.admin-nav__heading{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 10px 12px;font-size:.82rem;font-weight:600}.admin-nav__heading--section{margin-top:26px}.admin-nav__item{border-radius:var(--radius);width:100%;min-height:46px;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.admin-nav__item strong{border-radius:var(--radius-pill);background:var(--paper-strong);min-width:24px;color:var(--muted);text-align:center;padding:2px 7px;font-size:.78rem}.admin-nav__item:hover{background:var(--paper-strong);color:var(--ink)}.admin-nav__item--active{background:var(--green-soft);color:var(--green-deep);font-weight:600}.admin-nav__item--active strong{background:var(--green);color:var(--ink-on-brand)}.admin-nav__note{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:9px;margin-top:auto;padding:14px 10px 0;font-size:.82rem;line-height:1.35;display:flex}.legal-links--admin-nav{gap:2px 12px;padding:4px 10px 0;font-size:.82rem}.admin-content{grid-area:content;min-width:0;overflow:auto}.admin-page{width:100%;padding:36px clamp(24px,3.2vw,54px) 60px}.admin-page--narrow{max-width:1320px}.admin-page__heading{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.admin-page__heading h1{margin-bottom:8px;font-size:2.35rem;line-height:1.05}.today-admin{max-width:1440px}.today-admin__heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:42px;display:flex}.today-admin__heading h1{letter-spacing:-.025em;max-width:720px;margin-bottom:8px;font-size:clamp(2.7rem,4.3vw,4.5rem);line-height:.98}.today-admin__heading p{color:var(--muted);text-transform:capitalize;font-size:1.05rem}.today-admin__layout{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);display:grid}.today-admin__main{min-width:0;padding-right:clamp(28px,3vw,48px)}.today-schedule,.next-work{padding-block:30px}.next-work{border-top:1px solid var(--line)}.today-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.today-section-heading h2{margin-bottom:4px;font-size:1.45rem}.today-section-heading p{color:var(--muted)}.today-section-heading .text-button{flex:none}.today-session-list{border-top:1px solid var(--line)}.today-session-row{border-bottom:1px solid var(--line);grid-template-columns:82px minmax(0,1fr) minmax(190px,auto);align-items:center;gap:22px;min-height:126px;padding-block:20px;display:grid}.today-session-row>time{border-right:1px solid var(--line);font-variant-numeric:tabular-nums;align-content:center;align-self:stretch;justify-items:start;display:grid}.today-session-row>time strong{color:var(--green-deep);font-size:1.45rem}.today-session-row>time span,.today-session-row__body>span,.today-session-row__body p{color:var(--muted);font-size:.88rem}.today-session-row__body{min-width:0}.today-session-row__body h3{margin-block:4px;font-size:1.2rem;line-height:1.15}.today-session-row__actions{justify-items:end;gap:10px;display:grid}.today-session-row--held{color:var(--ink-soft)}.today-empty{color:var(--ink-soft);align-items:flex-start;gap:14px;padding:24px 0;display:flex}.today-empty p{color:var(--muted);margin-top:3px}.next-work__list{border-top:1px solid var(--line)}.next-work__row{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr);gap:20px;padding:16px 0;display:grid}.next-work__row time,.next-work__row>div{gap:2px;display:grid}.next-work__row time{color:var(--muted);text-transform:capitalize}.next-work__row time strong{color:var(--ink);font-variant-numeric:tabular-nums}.next-work__row>div span{color:var(--muted);font-size:.88rem}.next-work__empty{border-bottom:1px solid var(--line);min-height:70px}.today-focus{border-left:1px solid var(--line);min-width:0;padding:30px 0 30px clamp(26px,3vw,44px)}.today-focus>h2{margin-bottom:6px;font-size:1.45rem}.today-focus>p{max-width:34ch;color:var(--muted);margin-bottom:22px;line-height:1.45}.today-focus>button{border-top:1px solid var(--line);width:100%;min-height:62px;color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:12px 0;display:grid}.today-focus>button:hover{color:var(--green)}.today-focus>button>span{align-items:center;gap:10px;display:flex}.today-focus>button em{color:var(--muted);white-space:nowrap;font-size:.82rem;font-style:normal}.today-focus__note{border-top:1px solid var(--line-strong);color:var(--muted);align-items:flex-start;gap:10px;margin-top:28px;padding-top:18px;display:flex}.today-focus__note p{gap:2px;display:grid}.today-focus__note strong{color:var(--ink-soft)}.today-focus__note span{font-size:.88rem}.admin-page__heading p{max-width:62ch;color:var(--muted);margin-bottom:0;font-size:1.05rem}.inline-invite{border:1px solid var(--line);background:var(--paper-soft);grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:12px;margin-bottom:18px;padding:18px;display:grid}.inline-invite .button--primary{grid-column:3}.inline-invite label,.week-select{color:var(--ink);gap:7px;font-weight:600;display:grid}.inline-invite input,.inline-invite select,.week-select select,.participant-directory__search input,.answer-workspace textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);color:var(--ink)}.inline-invite input,.inline-invite select,.week-select select{min-height:46px;padding:10px 12px}@media (width<=1180px){.inline-invite{grid-template-columns:repeat(2,minmax(220px,1fr))}.inline-invite .button--primary{grid-column:1}}.admin-notice{border:1px solid var(--success-line);background:var(--success-soft);min-height:46px;color:var(--success-ink);align-items:center;gap:9px;margin-bottom:18px;padding:10px 14px;display:flex}.admin-notice button{min-height:44px;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;margin-left:auto;font-weight:600;text-decoration:underline}.admin-notice>span{overflow-wrap:anywhere;flex:1;min-width:0}.admin-notice--error{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger-ink)}.participant-manager{border-block:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:258px minmax(520px,1fr) 294px;min-height:720px;display:grid}.participant-directory{border-right:1px solid var(--line);background:var(--paper-soft);min-width:0}.participant-directory__search{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);color:var(--muted);align-items:center;gap:8px;margin:16px;padding:0 11px;display:flex}.participant-directory__search:focus-within{border-color:var(--green);outline:3px solid color-mix(in srgb, var(--focus) 24%, transparent)}.participant-directory__search input{background:0 0;border:0;outline:0;flex:1;min-width:0;min-height:42px;padding:0}.participant-directory__meta{color:var(--muted);justify-content:space-between;align-items:center;padding:2px 17px 12px;font-size:.86rem;display:flex}.participant-directory__meta button{min-height:36px;color:var(--green-deep);cursor:pointer;background:0 0;align-items:center;gap:5px;font-weight:600;display:inline-flex}.participant-list{border-top:1px solid var(--line)}.participant-row{border-bottom:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 14px;display:grid;position:relative}.participant-row:hover{background:var(--paper-strong)}.participant-row--active{background:var(--green-soft);color:var(--green-deep)}.participant-row>span:nth-child(2){gap:2px;min-width:0;display:grid}.participant-row strong,.participant-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participant-row small{color:var(--muted)}.participant-row__status{border-radius:var(--radius-pill);color:#6d5120;background:#f2ead8;padding:3px 7px;font-size:.74rem;font-weight:600}.participant-row__status--active{background:var(--success-soft);color:var(--success-ink)}.participant-row__status--gesperrt{background:var(--danger-soft);color:var(--danger-ink)}.participant-workspace{background:var(--surface-subtle);min-width:0}.participant-context{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px 26px;display:grid}.participant-context__avatar{border-radius:var(--radius-pill);background:var(--green-deep);width:52px;height:52px;color:var(--ink-on-brand);place-items:center;font-weight:600;display:grid}.participant-context h2,.participant-context p{margin-bottom:0}.participant-context h2{font-size:1.35rem}.participant-context p{color:var(--muted)}.status-label,.visibility-label{border-radius:var(--radius-pill);background:var(--paper-strong);min-height:30px;color:var(--ink-soft);white-space:nowrap;justify-content:center;align-items:center;padding:4px 9px;font-size:.82rem;font-weight:600;display:inline-flex}.status-label--active{background:var(--success-soft);color:var(--success-ink)}.status-label--gesperrt{background:var(--danger-soft);color:var(--danger-ink)}.assignment-strip{border-bottom:1px solid var(--line);background:var(--paper-soft);justify-content:space-between;align-items:center;gap:18px;padding:15px 26px;display:flex}.assignment-strip>div{color:var(--green);align-items:center;gap:11px;display:flex}.assignment-strip span{display:grid}.assignment-strip small{color:var(--muted)}.assignment-strip strong{color:var(--ink)}.assignment-strip button{min-height:44px;color:var(--green);text-underline-offset:4px;cursor:pointer;background:0 0;align-items:center;gap:5px;font-weight:600;text-decoration:underline;display:inline-flex}.participant-access-overview{padding:26px}.participant-access-overview>header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.participant-access-overview>header h2,.participant-access-overview>header p{margin-bottom:0}.participant-access-overview>header h2{font-size:1.25rem}.participant-access-overview>header p{max-width:62ch;color:var(--muted);margin-top:5px;line-height:1.4}.participant-access-overview>header>span{border-radius:var(--radius);background:var(--green-soft);min-height:34px;color:var(--green-deep);white-space:nowrap;align-items:center;gap:7px;padding:6px 9px;font-size:.82rem;font-weight:600;display:inline-flex}.participant-material-list{border-top:1px solid var(--line-strong)}.participant-material-group>header{border-bottom:1px solid var(--line);background:var(--paper-soft);grid-template-columns:minmax(90px,.35fr) minmax(150px,1fr) auto;align-items:center;gap:12px;min-height:48px;padding-inline:8px;display:grid}.participant-material-group>header span,.participant-material-group>header small{color:var(--muted)}.participant-material-row{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:10px 8px;display:grid}.participant-material-row>span{border-radius:var(--radius);background:var(--paper-strong);width:38px;height:38px;color:var(--green);place-items:center;display:grid}.participant-material-row>div{gap:2px;min-width:0;display:grid}.participant-material-row strong,.participant-material-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participant-material-row small{color:var(--muted)}.upload-workspace,.material-management{border-bottom:1px solid var(--line);padding:26px}.section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading h2{font-size:1.25rem}.section-heading p{color:var(--muted);margin-top:5px}.upload-options{grid-template-columns:minmax(330px,1fr) minmax(190px,.45fr);align-items:end;gap:18px;display:grid}.upload-options fieldset{border:0;min-width:0;margin:0;padding:0}.upload-options legend{color:var(--ink);margin-bottom:7px;font-weight:600}.avatar--tiny{width:30px;height:30px;font-size:.75rem}.upload-dropzone{border-radius:var(--radius);background:var(--paper);border:1px dashed #93a497;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:18px;padding:16px;display:grid}.upload-dropzone__icon{border-radius:var(--radius);background:var(--paper-strong);width:42px;height:42px;color:var(--green);place-items:center;display:grid}.upload-dropzone>div{gap:2px;display:grid}.upload-dropzone span{color:var(--muted);font-size:.9rem}.admin-material-list{border-top:1px solid var(--line)}.admin-material-row{border-bottom:1px solid var(--line);grid-template-columns:20px 42px minmax(190px,1fr) auto 112px;align-items:center;gap:11px;min-height:68px;display:grid}.drag-handle{color:var(--line-strong)}.admin-material-row__icon,.admin-course-row__icon{border-radius:var(--radius);background:var(--paper-strong);width:42px;height:42px;color:var(--green);place-items:center;display:grid}.admin-material-row>div:first-of-type{gap:3px;min-width:0;display:grid}.admin-material-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-material-row small{color:var(--muted)}.visibility-label--individual{color:#6d5120;background:#f2ead8}.sort-actions{justify-content:flex-end;gap:2px;display:flex}.sort-actions button{border-radius:var(--radius);width:36px;height:44px;color:var(--green-deep);cursor:pointer;background:0 0;place-items:center;display:grid}.sort-actions button:hover:not(:disabled){background:var(--green-soft)}.sort-actions .material-delete-action:hover:not(:disabled),.sort-actions .material-delete-action[aria-expanded=true]{background:var(--danger-soft);color:var(--danger-ink)}.sort-actions button:disabled{color:var(--line-strong);cursor:not-allowed}.access-preview{border-left:1px solid var(--line);background:var(--paper-soft);padding:24px 20px}.access-preview__heading,.course-settings__title{align-items:flex-start;gap:11px;display:flex}.access-preview__heading>span{border-radius:var(--radius);background:var(--green-soft);width:38px;height:38px;color:var(--green);place-items:center;display:grid}.access-preview h2,.access-preview p{margin-bottom:0}.access-preview h2{font-size:1.15rem}.access-preview p{color:var(--muted);margin-top:4px;line-height:1.4}.access-facts{border-top:1px solid var(--line);gap:0;margin:24px 0 0;display:grid}.access-facts div{border-bottom:1px solid var(--line);gap:4px;padding:13px 0;display:grid}.access-facts dt{color:var(--muted);font-size:.83rem}.access-facts dd{color:var(--ink);margin:0;font-weight:600}.preview-list,.optional-feature{margin-top:22px}.preview-list h3,.optional-feature h3{margin-bottom:10px;font-size:1rem}.preview-list>div{border-top:1px solid var(--line);color:var(--ink-soft);align-items:flex-start;gap:8px;padding:10px 0;display:flex}.optional-feature{border-block:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 0;display:flex}.optional-feature span{border-radius:var(--radius-pill);background:var(--paper-strong);color:var(--muted);padding:3px 8px;font-size:.82rem;font-weight:600}.access-preview>.button{margin-top:20px}.access-restore-button{border-color:var(--green);background:var(--green-soft)}.participant-access-confirm{border:1px solid var(--danger-line);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger-ink);gap:14px;margin-top:20px;padding:16px;display:grid}.participant-access-confirm>div:first-child{align-items:flex-start;gap:10px;display:flex}.participant-access-confirm p{color:var(--danger-ink);gap:5px;margin:0;display:grid}.participant-access-confirm p span{font-size:.86rem;line-height:1.45}.participant-access-confirm>div:last-child{gap:8px;display:grid}.participant-access-confirm .button{min-height:42px;padding:10px 12px}.participant-removal{border-top:1px solid var(--line);gap:14px;margin-top:28px;padding-top:22px;display:grid}.participant-removal h3,.participant-removal p{margin:0}.participant-removal h3{color:var(--ink);font-size:1rem}.participant-removal>div:first-child p{color:var(--muted);margin-top:6px;line-height:1.5}.participant-removal__action{min-height:44px;color:var(--danger-ink);font:inherit;text-align:left;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:8px 0;font-weight:650;text-decoration:underline;display:inline-flex}.participant-removal__action:hover{color:var(--danger)}.participant-delete-confirm{border:1px solid var(--danger-line);border-radius:var(--radius);background:var(--danger-soft);gap:14px;padding:16px;display:grid}.participant-delete-confirm p{color:var(--danger-ink);gap:5px;line-height:1.45;display:grid}.participant-delete-confirm p span{font-size:.82rem}.participant-delete-confirm>div{gap:8px;display:grid}.participant-delete-confirm .button{min-height:42px;padding:10px 12px}.material-delete-confirm{grid-column:2/-1;margin:0 0 14px}.material-delete-confirm p{min-width:0}.material-delete-confirm p span{overflow-wrap:anywhere}.material-delete-confirm>div{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:end}.course-admin-layout{grid-template-columns:minmax(520px,1fr) 360px;gap:28px;display:grid}.course-admin-main{border-top:1px solid var(--line)}.admin-course-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:0;min-height:96px;display:grid}.course-row-open{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:48px minmax(180px,1fr) auto 20px;align-items:center;gap:16px;padding:16px 10px 16px 0;display:grid}.course-row-open:hover .course-row-open__copy>strong{color:var(--green);text-underline-offset:4px;text-decoration:underline}.course-row-open__copy{gap:4px;min-width:0;display:grid}.course-row-open__copy>strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;line-height:1.15;overflow:hidden}.course-row-open__copy>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.course-row-open>svg:last-child{color:var(--green);transition:transform var(--duration-fast) ease-out}.admin-course-row--active .course-row-open>svg:last-child{transform:translate(3px)}.course-rename-action{min-height:44px;color:var(--green);text-underline-offset:4px;cursor:pointer;background:0 0;align-self:center;align-items:center;gap:6px;margin-right:12px;padding:7px 4px;font-weight:600;text-decoration:underline;display:inline-flex}.course-rename-action:hover{color:var(--green-deep)}.course-settings{border:1px solid var(--line);background:var(--paper-soft);padding:22px}.course-settings h2,.course-settings p{margin-bottom:0}.course-settings__title p{color:var(--muted)}.course-delete-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.course-delete-panel h3{margin:0;font-size:1rem}.course-delete-panel>p{color:var(--muted);margin-top:7px;line-height:1.45}.course-delete-confirm{margin-top:12px}.status-label--danger{background:var(--danger-soft);color:var(--danger-ink)}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-top:24px;padding-top:20px;display:flex}.setting-row p,.setting-hint{color:var(--muted);margin-top:5px;line-height:1.42}.switch-control{border-radius:var(--radius-pill);background:var(--line-strong);cursor:pointer;width:58px;height:44px;transition:background-color var(--duration-base) var(--ease-out);flex:none;position:relative}.switch-control span{border-radius:var(--radius-pill);background:var(--surface-raised);width:22px;height:22px;transition:transform var(--duration-base) var(--ease-out);position:absolute;top:11px;left:5px}.switch-control--on{background:var(--green)}.switch-control--on span{transform:translate(22px)}.course-structure-editor{border-top:1px solid var(--line-strong);margin-top:38px}.admin-material-group+.admin-material-group{margin-top:22px}.admin-material-group>header{border-bottom:1px solid var(--line-strong);background:var(--paper-soft);grid-template-columns:minmax(90px,.35fr) minmax(180px,1fr) auto;align-items:center;gap:12px;min-height:48px;padding-inline:8px;display:grid}.admin-material-group>header span,.admin-material-group>header small{color:var(--muted)}.admin-material-group>header small{font-size:.82rem}.course-structure-editor>header{justify-content:space-between;align-items:center;gap:20px;min-height:92px;display:flex}.course-structure-editor>header h2,.course-structure-editor>header p{margin-bottom:0}.course-structure-editor>header h2{font-size:1.45rem}.course-structure-editor>header p{color:var(--muted);margin-top:5px}.course-materials-editor{border-top:1px solid var(--line-strong);margin-top:38px}.course-materials-editor__heading{justify-content:space-between;align-items:center;gap:20px;min-height:92px;display:flex}.course-materials-editor__heading h2,.course-materials-editor__heading p{margin-bottom:0}.course-materials-editor__heading h2{font-size:1.45rem}.course-materials-editor__heading p{max-width:64ch;color:var(--muted);margin-top:5px}.course-materials-editor__heading>span{border-radius:var(--radius);background:var(--green-soft);min-height:36px;color:var(--green-deep);white-space:nowrap;align-items:center;gap:7px;padding:6px 10px;font-size:.84rem;font-weight:600;display:inline-flex}.course-material-upload{border-block:1px solid var(--line);background:var(--paper-soft);padding:22px}.course-material-upload .upload-dropzone{background:var(--surface-subtle)}.course-materials-editor>.admin-material-list{margin-top:24px}.course-materials-empty{color:var(--muted);align-items:flex-start;gap:12px;padding:24px 8px;display:flex}.course-materials-empty strong{color:var(--ink-soft)}.course-materials-empty p{margin-top:3px;line-height:1.4}.course-submissions-editor{border-top:1px solid var(--line-strong);margin-top:38px}.course-submissions-editor__heading{justify-content:space-between;align-items:center;gap:20px;min-height:92px;display:flex}.course-submissions-editor__heading h2,.course-submissions-editor__heading p{margin-bottom:0}.course-submissions-editor__heading h2{font-size:1.45rem}.course-submissions-editor__heading p{max-width:64ch;color:var(--muted);margin-top:5px}.course-submissions-editor__heading>.visibility-label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.admin-submission-list{border-top:1px solid var(--line)}.admin-submission-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(140px,.55fr) minmax(220px,1fr) auto;align-items:center;gap:14px;min-height:78px;display:grid}.admin-submission-row__icon{border-radius:var(--radius);background:var(--paper-strong);width:42px;height:42px;color:var(--green);place-items:center;display:grid}.admin-submission-row__identity,.admin-submission-row__file{gap:3px;min-width:0;display:grid}.admin-submission-row__file strong{overflow-wrap:anywhere}.admin-submission-row small{color:var(--muted)}.admin-submission-row__actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.admin-submission-row__actions .material-delete-action{border-radius:var(--radius);width:44px;height:44px;color:var(--danger-ink);cursor:pointer;background:0 0;place-items:center;display:grid}.admin-submission-row__actions .material-delete-action:hover:not(:disabled),.admin-submission-row__actions .material-delete-action[aria-expanded=true]{background:var(--danger-soft)}.admin-submission-row>.material-delete-confirm{grid-column:1/-1}.section-create-form{border:1px solid var(--line);background:var(--paper-soft);grid-template-columns:minmax(190px,.55fr) minmax(280px,1fr) auto auto;align-items:end;gap:12px;margin-bottom:18px;padding:18px;display:grid}.section-create-form label{color:var(--ink);gap:7px;font-weight:600;display:grid}.section-create-form input,.section-rename-form input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);min-height:46px;color:var(--ink);padding:10px 12px}.course-section-list{border-top:1px solid var(--line)}.course-section-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(260px,1fr) auto;align-items:center;gap:15px;min-height:82px;display:grid}.course-section-row__number{border:1px solid var(--line-strong);border-radius:var(--radius-pill);width:36px;height:36px;color:var(--green-deep);font-variant-numeric:tabular-nums;place-items:center;font-weight:600;display:grid}.course-section-row__title{grid-template-columns:minmax(120px,.35fr) minmax(190px,1fr) auto;align-items:center;gap:18px;min-width:0;display:grid}.course-section-row__title small,.course-section-row__title span{color:var(--muted)}.course-section-row__title strong{font-size:1.08rem}.course-section-row__title span{white-space:nowrap;font-size:.86rem}.course-section-row__actions{align-items:center;gap:5px;display:flex}.course-section-row__actions>button:not(.text-button){border-radius:var(--radius);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;place-items:center;display:grid}.course-section-row__actions>button:hover:not(:disabled){background:var(--paper-strong);color:var(--green)}.course-section-row__actions>button:disabled{opacity:.35;cursor:not-allowed}.section-rename-form{grid-template-columns:minmax(150px,.45fr) minmax(220px,1fr) auto auto;align-items:center;gap:8px;display:grid}.section-rename-form button{min-height:44px;color:var(--green);text-underline-offset:3px;cursor:pointer;background:0 0;padding-inline:7px;font-weight:600;text-decoration:underline}.course-structure-empty{color:var(--green);align-items:flex-start;gap:12px;padding:24px 0;display:flex}.course-structure-empty p{max-width:58ch;color:var(--muted);margin:4px 0 0}.question-admin-layout{border:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:340px minmax(480px,1fr);min-height:620px;display:grid}.question-inbox{border-right:1px solid var(--line);background:var(--paper-soft)}.question-admin-empty{border:1px solid var(--line);background:var(--paper-soft);align-items:center;gap:14px;min-height:180px;padding:28px;display:flex}.question-admin-empty p{color:var(--muted);margin:4px 0 0}.question-inbox__item{border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:11px;padding:18px 14px;display:grid;position:relative}.question-inbox__item--active{background:var(--green-soft);color:var(--green-deep)}.question-inbox__item>span:nth-child(2){gap:2px;display:grid}.question-inbox__item small,.question-inbox__item p{color:var(--muted)}.question-inbox__item p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;line-height:1.35;display:-webkit-box;overflow:hidden}.question-inbox__item em{color:var(--green);grid-column:2;font-size:.82rem;font-style:normal;font-weight:600}.answer-workspace{padding:30px}.answer-workspace>header,.answer-workspace>header>div{align-items:center;gap:12px;display:flex}.answer-workspace>header{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:20px}.answer-workspace h2,.answer-workspace p{margin-bottom:0}.answer-workspace h2{font-size:1.2rem}.answer-workspace p{color:var(--muted)}.answer-workspace blockquote{color:var(--ink);margin:28px 0;padding:0;font-family:Bricolage Grotesque,Arial Narrow,sans-serif;font-size:1.8rem;line-height:1.25}.answer-workspace form,.answer-workspace form label{gap:10px;display:grid}.answer-workspace form label{font-weight:600}.answer-workspace textarea{resize:vertical;min-height:150px;padding:14px;line-height:1.5}.answer-workspace form>div{justify-content:space-between;align-items:center;gap:18px;display:flex}.answer-workspace form small{color:var(--muted)}@media (width<=1320px){.participant-manager{grid-template-columns:240px minmax(500px,1fr)}.access-preview{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:minmax(220px,.9fr) 1fr 1fr;gap:22px;display:grid}.access-facts,.preview-list,.optional-feature{margin-top:0}.access-preview>.button,.participant-access-confirm{grid-column:3;margin-top:0}.participant-removal{grid-column:1/-1}}@media (width<=1000px){.admin-shell{grid-template-columns:1fr;grid-template-rows:var(--topbar-height) auto minmax(0, 1fr);grid-template-areas:"topbar""nav""content"}.admin-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;gap:6px;height:auto;padding:8px 14px;display:flex;position:static;overflow-x:auto}.admin-nav__heading,.admin-nav__note,.legal-links--admin-nav{display:none}.admin-nav__item{grid-template-columns:20px auto auto;width:auto;min-width:max-content}.admin-page{padding-top:28px}.participant-manager{grid-template-columns:230px minmax(0,1fr)}.upload-options,.course-admin-layout{grid-template-columns:1fr}.access-preview{grid-template-columns:1fr 1fr}.access-preview>.button,.participant-access-confirm{grid-column:auto}.question-admin-layout{grid-template-columns:290px minmax(0,1fr)}.today-admin__layout{grid-template-columns:1fr}.today-admin__main{padding-right:0}.today-focus{border-top:1px solid var(--line-strong);border-left:0;padding:28px 0}}@media (width<=760px){.admin-shell{grid-template-rows:var(--topbar-height) minmax(0, 1fr);padding-bottom:calc(62px + env(safe-area-inset-bottom));grid-template-areas:"topbar""content"}.admin-topbar__brand{width:90px;padding-inline:18px}.admin-topbar__brand .brand__logo{object-fit:cover;object-position:left;width:42px;height:26px}.admin-tenant,.admin-topbar .profile-button__name{display:none}.admin-page{padding:24px 16px 44px}.admin-notice{flex-wrap:wrap;align-items:flex-start}.admin-notice button{margin-left:26px}.admin-nav{z-index:40;height:calc(62px + env(safe-area-inset-bottom));min-height:calc(62px + env(safe-area-inset-bottom));max-height:calc(62px + env(safe-area-inset-bottom));padding:6px max(4px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));border-top:1px solid var(--line-strong);background:color-mix(in srgb, var(--paper-soft) 96%, transparent);border-bottom:0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:2px;display:grid;position:fixed;inset:auto 0 0;overflow-x:visible;box-shadow:0 -10px 28px #0d25181a}.admin-nav__item{text-align:center;grid-template-rows:20px auto;grid-template-columns:1fr;align-self:start;justify-items:center;gap:2px;min-width:0;height:50px;min-height:50px;padding:7px 2px;font-size:.72rem;line-height:1.1}.admin-nav__item strong{display:none}.admin-page__heading{margin-bottom:22px;display:grid}.admin-page__heading h1{font-size:2rem}.admin-page__heading .button{width:100%}.inline-invite,.participant-manager,.question-admin-layout{grid-template-columns:1fr}.participant-manager{border-right:1px solid var(--line)}.participant-directory,.question-inbox{border-right:0;border-bottom:1px solid var(--line)}.participant-list{display:flex;overflow-x:auto}.participant-row{border-right:1px solid var(--line);min-width:230px}.participant-context{grid-template-columns:48px minmax(0,1fr);padding-inline:18px}.participant-context .status-label{grid-column:2;justify-self:start}.assignment-strip{flex-direction:column;align-items:flex-start;padding-inline:18px}.participant-access-overview{padding:22px 18px}.participant-access-overview>header,.course-materials-editor__heading,.course-submissions-editor__heading{flex-direction:column;align-items:flex-start}.participant-material-group>header{grid-template-columns:minmax(76px,.35fr) minmax(120px,1fr)}.participant-material-group>header small{grid-column:2}.upload-workspace,.material-management,.answer-workspace{padding:22px 18px}.course-materials-editor__heading,.course-submissions-editor__heading{padding-block:20px}.admin-submission-row{grid-template-columns:42px minmax(0,1fr);gap:10px;padding-block:14px}.admin-submission-row__identity,.admin-submission-row__file,.admin-submission-row__actions{grid-column:2}.admin-submission-row__actions{flex-wrap:wrap;justify-content:flex-start}.course-material-upload{padding:18px}.upload-dropzone{grid-template-columns:42px minmax(0,1fr)}.upload-dropzone .button{grid-column:1/-1;width:100%}.section-heading{display:grid}.admin-material-row{grid-template-columns:42px minmax(0,1fr) 112px;gap:10px;padding-block:12px}.drag-handle{display:none}.admin-material-row__icon{grid-column:1}.admin-material-row>div:first-of-type{grid-column:2/-1}.admin-material-row .visibility-label{grid-column:2;justify-self:start}.sort-actions{grid-column:3}.material-delete-confirm{grid-column:1/-1}.material-delete-confirm>div{grid-template-columns:1fr}.access-preview{padding:22px 18px;display:block}.access-facts,.preview-list,.optional-feature,.access-preview>.button{margin-top:22px}.question-inbox{display:flex;overflow-x:auto}.question-inbox__item{min-width:290px}.answer-workspace blockquote{font-size:1.45rem}.answer-workspace form>div{flex-direction:column;align-items:stretch}.today-admin__heading{margin-bottom:30px;display:grid}.today-admin__heading h1{font-size:2.8rem}.today-admin__heading .button{width:100%}.today-session-row{grid-template-columns:68px minmax(0,1fr);gap:16px}.today-session-row__actions{grid-column:2;justify-items:start}.today-section-heading{flex-direction:column;align-items:flex-start}}@media (width<=480px){.next-work__row{grid-template-columns:92px minmax(0,1fr);gap:12px}}.admin-empty-state{color:var(--muted);justify-items:start;gap:10px;margin:0;padding:24px 16px;line-height:1.45;display:grid}.admin-first-run{border-block:1px solid var(--line-strong);background:var(--paper-soft);grid-template-columns:64px minmax(0,1fr);align-content:center;align-items:start;gap:18px 22px;width:min(100%,760px);min-height:250px;margin:34px auto 0;padding:clamp(28px,5vw,52px);display:grid}.admin-first-run__icon{border-radius:var(--radius);background:var(--paper-strong);width:58px;height:58px;color:var(--green);grid-row:1/3;place-items:center;display:grid}.admin-first-run h2,.admin-first-run p{margin:0}.admin-first-run h2{margin-bottom:6px;font-size:1.2rem}.admin-first-run p{max-width:56ch;color:var(--muted);line-height:1.5}.admin-first-run>.button{grid-column:2;justify-self:start}.admin-first-run--compact{width:100%;min-height:290px;margin:0}@media (width<=560px){.admin-first-run{grid-template-columns:1fr;justify-items:start;margin-top:22px;padding:28px 22px}.admin-first-run__icon,.admin-first-run>.button{grid-area:auto/1}}.install-nudge,.install-guide{z-index:180;right:20px;bottom:max(20px, env(safe-area-inset-bottom));border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-overlay);color:var(--ink);position:fixed}.install-nudge{width:min(560px,100vw - 40px);animation:install-notice-in var(--duration-slow) var(--ease-out) both;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid}.install-nudge__icon,.install-guide__icon{background:var(--green-soft);width:42px;height:42px;color:var(--green-deep);border-radius:50%;flex:none;place-items:center;display:grid}.install-nudge p{gap:2px;min-width:0;margin:0;display:grid}.install-nudge p span{color:var(--muted);line-height:1.35}.install-nudge__later{min-height:44px;color:var(--green);text-underline-offset:4px;cursor:pointer;background:0 0;padding-inline:6px;font-weight:600;text-decoration:underline}.install-guide{width:min(440px,100vw - 40px);animation:install-notice-in var(--duration-slow) var(--ease-out) both;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px 54px 20px 20px;display:grid}.install-guide h2{margin:0 0 7px;font-size:1.18rem}.install-guide p{color:var(--ink-soft);margin:0 0 10px;line-height:1.45}.install-guide small{color:var(--muted);line-height:1.4;display:block}.install-guide__close{color:var(--ink-soft);position:absolute;top:8px;right:8px}@keyframes install-notice-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.admin-shell~.install-nudge,.admin-shell~.install-guide{bottom:calc(74px + env(safe-area-inset-bottom))}.install-nudge{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;width:auto;padding:12px;left:12px;right:12px}.install-nudge .button{grid-column:1/-1;width:100%}.install-nudge__later{position:absolute;top:6px;right:8px}.install-nudge p{padding-right:42px}.install-guide{width:auto;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.install-nudge,.install-guide{animation:none}}.optional-progress-summary p,.optional-progress-summary p span{gap:3px;display:grid}.optional-progress-summary p span{color:var(--muted);font-size:.88rem}.progress-track{border-radius:var(--radius-pill);background:var(--paper-strong);height:7px;margin-top:13px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.course-material-rule{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--green-soft);min-height:58px;color:var(--green-deep);align-items:center;gap:11px;padding:10px 13px;display:flex}.course-material-rule>div{flex:1;gap:2px;min-width:0;display:grid}.course-material-rule span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.course-create-form,.calendar-form{border:1px solid var(--line);background:var(--paper-soft);grid-template-columns:minmax(260px,1fr) minmax(190px,.45fr) auto auto;align-items:end;gap:12px;margin-bottom:18px;padding:18px;display:grid}.course-create-form label,.calendar-form label{color:var(--ink);gap:7px;font-weight:600;display:grid}.course-create-form input,.course-create-form select,.calendar-form input,.calendar-form select,.course-search input,.rename-course-form input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);min-height:46px;color:var(--ink);padding:10px 12px}.course-search{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);min-height:48px;color:var(--muted);align-items:center;gap:10px;margin-bottom:18px;padding:0 13px;display:flex}.course-search:focus-within{border-color:var(--green);outline:3px solid color-mix(in srgb, var(--focus) 24%, transparent)}.course-search input{border:0;outline:0;flex:1;min-width:0;padding-inline:0}.course-search span{font-variant-numeric:tabular-nums;white-space:nowrap}.course-list-controls{justify-content:flex-end;gap:12px;margin:12px 0 20px;display:flex}.course-list-controls label{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.course-list-controls select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-subtle);min-height:42px;color:var(--ink);cursor:pointer;padding:8px 34px 8px 11px}.admin-course-row--active{background:var(--green-soft)}.rename-course-form{grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:7px;display:grid}.rename-course-form button{min-height:40px;color:var(--green);text-underline-offset:3px;cursor:pointer;background:0 0;padding-inline:8px;font-weight:600;text-decoration:underline}.rename-course-form--row{align-self:center;margin:14px 12px 14px 0}.course-participants{border-top:1px solid var(--line);margin-top:24px}.course-participants__heading{justify-content:space-between;align-items:center;padding:16px 0 10px;display:flex}.course-participants__heading h3{margin:0;font-size:1rem}.course-participants__heading>span{border-radius:var(--radius-pill);background:var(--paper-strong);min-width:26px;color:var(--muted);text-align:center;padding:2px 7px;font-size:.78rem;font-weight:600}.course-participant{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.course-participant>div{gap:1px;min-width:0;display:grid}.course-participant small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.course-participants__empty{border-top:1px solid var(--line);color:var(--muted);padding:14px 0;line-height:1.4}.course-duplicate{margin-top:18px}.course-facts{border-top:1px solid var(--line);gap:0;margin:22px 0 0;display:grid}.course-facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.course-facts dt{color:var(--muted)}.course-facts dd{color:var(--ink);text-align:right;margin:0;font-weight:600}.participant-calendar{width:min(100%,1040px);margin-inline:auto;padding:54px clamp(22px,5vw,64px) 72px}.participant-calendar__heading{margin-bottom:34px}.participant-calendar__heading h1{margin-bottom:10px;font-size:clamp(2.8rem,5vw,4.4rem);line-height:1}.participant-calendar__heading p{color:var(--muted);font-size:1.08rem}.next-session{border-block:1px solid var(--line-strong);grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:42px;padding:25px 0;display:grid}.next-session__date,.calendar-session__date{border-radius:var(--radius);background:var(--green-deep);color:var(--ink-on-brand);align-content:center;place-items:center;line-height:1;display:grid}.next-session__date{width:76px;height:76px}.next-session__date strong,.calendar-session__date strong{font-variant-numeric:tabular-nums;font-family:Bricolage Grotesque,Arial Narrow,sans-serif;font-size:1.7rem}.next-session__date small,.calendar-session__date small{text-transform:uppercase;margin-top:4px}.next-session h2,.next-session p{margin-bottom:0}.next-session h2{margin-bottom:6px;font-size:1.15rem}.next-session p{color:var(--muted);margin-top:4px}.participant-session-list>h2{margin-bottom:12px;font-size:1.3rem}.participant-session-list{border-bottom:1px solid var(--line)}.calendar-empty{border-top:1px solid var(--line);min-height:116px;padding:22px 0}.calendar-empty p{margin:3px 0 0;line-height:1.45}.participant-session-row{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:74px;display:grid}.participant-session-row__icon{border-radius:var(--radius);background:var(--paper-strong);width:42px;height:42px;color:var(--green);place-items:center;display:grid}.participant-session-row>div{gap:3px;display:grid}.participant-session-row__status{justify-items:end;gap:7px!important;display:grid!important}.participant-session-row__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.attendance-state{color:var(--muted);align-items:center;gap:5px;font-size:.82rem;font-weight:600;display:inline-flex}.attendance-state--confirmed{color:var(--success-ink)}.attendance-state--deviation{color:var(--danger-ink)}.attendance-deviation-form--calendar{border-top:1px solid var(--line);grid-column:2/-1;width:100%;max-width:none;padding:16px 0 8px}.participant-session-row span{color:var(--muted)}.session-status{border-radius:var(--radius-pill);background:var(--paper-strong);min-height:30px;color:var(--ink-soft);white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:4px 9px;font-size:.82rem;font-weight:600;display:inline-flex}.session-status--held{background:var(--success-soft);color:var(--success-ink)}.session-status--cancelled{background:var(--danger-soft);color:var(--danger-ink)}.calendar-form{grid-template-columns:minmax(250px,1fr) 170px 140px auto auto}.calendar-toolbar{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:64px;margin-bottom:20px;padding-block:8px;display:flex}.calendar-view-switcher{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-soft);padding:3px;display:inline-flex}.calendar-view-switcher__button{border-radius:calc(var(--radius) - 2px);min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;align-items:center;gap:7px;padding:8px 13px;font-weight:600;display:inline-flex}.calendar-view-switcher__button:hover{color:var(--green)}.calendar-view-switcher__button--active{background:var(--green-deep);color:var(--ink-on-brand)}.calendar-view-switcher__button--active:hover{color:var(--ink-on-brand)}.calendar-period-navigation{justify-content:flex-end;align-items:center;gap:8px;display:flex}.calendar-period-navigation>strong{min-width:190px;color:var(--ink);text-align:center;text-transform:capitalize}.calendar-period-navigation .text-button{min-height:44px;margin-left:5px;padding-inline:8px}.calendar-period-navigation .icon-button{width:44px;height:44px}.calendar-grid{border-top:1px solid var(--line-strong);border-left:1px solid var(--line);background:var(--surface-subtle);grid-template-columns:repeat(7,minmax(104px,1fr));width:100%;display:grid;overflow-x:auto}.calendar-grid__weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line-strong);color:var(--muted);text-transform:uppercase;padding:10px;font-size:.82rem;font-weight:600}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-subtle);min-width:0;min-height:132px;padding:9px}.calendar-grid--week .calendar-day{min-height:330px;padding:12px 9px}.calendar-day--outside{background:var(--paper-soft);color:var(--muted)}.calendar-day>header{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;min-height:28px;margin-bottom:6px;display:flex}.calendar-day>header span{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--ink);place-items:center;font-weight:600;display:grid}.calendar-day--today>header span{background:var(--green-deep);color:var(--ink-on-brand)}.calendar-day>header small{color:var(--muted);text-transform:uppercase}.calendar-day__events{gap:6px;display:grid}.calendar-grid-event{border-radius:calc(var(--radius) - 2px);background:var(--paper-strong);min-width:0;color:var(--ink);gap:2px;padding:7px 8px;line-height:1.18;display:grid}.calendar-grid-event--held{background:var(--success-soft);color:var(--success-ink)}.calendar-grid-event--cancelled{background:var(--danger-soft);color:var(--danger-ink);text-decoration:line-through}.calendar-grid-event strong{font-variant-numeric:tabular-nums;font-size:.86rem}.calendar-grid-event span{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.calendar-grid-event small{opacity:.78;font-size:.75rem}.calendar-day__empty{color:var(--muted);padding-top:12px;font-size:.82rem}.admin-calendar-layout{grid-template-columns:minmax(620px,1fr) 320px;align-items:start;gap:30px;display:grid}.calendar-agenda{border-top:1px solid var(--line)}.calendar-session{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(260px,1fr) minmax(220px,auto);align-items:center;gap:18px;min-height:126px;padding:18px 0;display:grid}.calendar-session--cancelled{opacity:.72}.calendar-session__date{width:60px;height:64px}.calendar-session--held .calendar-session__date{background:var(--success)}.calendar-session--cancelled .calendar-session__date{background:var(--muted)}.calendar-session__date strong{font-size:1.45rem}.calendar-session__body>span{color:var(--green);font-size:.84rem;font-weight:600}.calendar-session__body h2{margin:4px 0;font-size:1.18rem}.calendar-session__body p,.calendar-session__body>small{color:var(--muted);align-items:center;gap:6px;margin-bottom:0;display:flex}.attendance-admin-summary{color:var(--green-deep);margin-top:10px;font-size:.82rem}.attendance-admin-summary--attention{color:var(--danger-ink)}.attendance-admin-summary summary{cursor:pointer;text-underline-offset:4px;width:fit-content;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.attendance-admin-summary>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-soft);color:var(--ink);gap:8px;margin-top:10px;padding:10px 12px;display:grid}.attendance-admin-summary p{gap:1px!important;margin:0!important;display:grid!important}.attendance-admin-summary p span{color:var(--muted)}.attendance-admin-summary p em{color:var(--danger-ink);overflow-wrap:anywhere;margin-top:3px;font-style:normal}.calendar-session__body p svg:nth-of-type(2){margin-left:8px}.calendar-session__body>small{margin-top:6px}.calendar-session__actions{justify-items:end;gap:8px;display:grid}.calendar-summary{border:1px solid var(--line);background:var(--paper-soft);padding:22px}.calendar-summary h2,.calendar-summary p{margin-bottom:0}.calendar-summary>p{color:var(--muted);margin-top:7px;line-height:1.42}.calendar-summary dl{border-top:1px solid var(--line);margin:22px 0;display:grid}.calendar-summary dl div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.calendar-summary dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.calendar-summary>section{border-top:1px solid var(--line);color:var(--green);align-items:flex-start;gap:10px;padding-top:18px;display:flex}.calendar-summary section p{color:var(--muted);margin-top:5px;line-height:1.4}@media (width<=1120px){.admin-calendar-layout{grid-template-columns:1fr}.calendar-summary{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.calendar-summary dl{grid-area:1/2/3;margin:0}.calendar-summary>section{grid-column:1/-1}.section-create-form{grid-template-columns:1fr 1fr}.course-section-row__title{grid-template-columns:minmax(110px,.4fr) 1fr}.course-section-row__title span{grid-column:2}}@media (width<=820px){.course-create-form,.calendar-form{grid-template-columns:1fr 1fr}.course-create-form label:first-child,.calendar-form label:first-child{grid-column:1/-1}.admin-course-row{grid-template-columns:1fr auto}.course-row-open{grid-template-columns:42px minmax(0,1fr) 20px}.course-row-open .status-label{grid-column:2;justify-self:start}.course-row-open>svg:last-child{grid-area:1/3/3}.calendar-session{grid-template-columns:60px minmax(0,1fr)}.calendar-session__actions{grid-column:2;justify-items:start}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-period-navigation{justify-content:flex-start}.course-section-row{grid-template-columns:42px minmax(0,1fr);padding-block:12px}.course-section-row__actions{grid-column:2}.section-rename-form{grid-template-columns:1fr 1fr}}@media (width<=640px){.calendar-grid{grid-template-columns:1fr;overflow-x:visible}.calendar-grid__weekday{display:none}.calendar-grid--week .calendar-day,.calendar-grid--month .calendar-day{min-height:0}.calendar-grid--month .calendar-day--outside,.calendar-grid--month .calendar-day--empty:not(.calendar-day--today){display:none}}@media (width<=560px){.course-create-form,.calendar-form,.calendar-summary{grid-template-columns:1fr}.course-create-form label,.calendar-form label,.course-create-form label:first-child,.calendar-form label:first-child,.calendar-summary dl,.calendar-summary>section{grid-column:1}.calendar-summary dl{grid-row:auto;margin-top:18px}.participant-calendar{padding-inline:18px}.participant-calendar__heading h1{font-size:2.7rem}.next-session{grid-template-columns:68px minmax(0,1fr);gap:14px}.next-session__date{width:64px;height:68px}.next-session .session-status{grid-column:2;justify-self:start}.participant-session-row{grid-template-columns:42px minmax(0,1fr);padding-block:12px}.participant-session-row .session-status{grid-column:2;justify-self:start}.participant-session-row__status{grid-column:2;justify-items:start}.participant-session-row__actions{justify-content:flex-start}.attendance-deviation-form--calendar{grid-column:1/-1}.calendar-session{grid-template-columns:54px minmax(0,1fr);align-items:start}.calendar-session__date{width:52px;height:58px}.calendar-session__actions .button{width:100%}.calendar-view-switcher{grid-template-columns:repeat(3,1fr);display:grid}.calendar-view-switcher__button{justify-content:center;padding-inline:8px}.calendar-period-navigation{flex-wrap:wrap}.calendar-period-navigation>strong{min-width:160px}.calendar-grid{grid-template-columns:1fr;overflow-x:visible}.calendar-grid__weekday{display:none}.calendar-grid--week .calendar-day,.calendar-grid--month .calendar-day{min-height:0}.calendar-grid--month .calendar-day--outside,.calendar-grid--month .calendar-day--empty:not(.calendar-day--today){display:none}.course-structure-editor>header{flex-direction:column;align-items:stretch;padding-block:18px}.section-create-form,.section-rename-form,.course-section-row__title{grid-template-columns:1fr}.course-section-row__title{gap:3px}.course-section-row__title span,.section-rename-form input{grid-column:1}.rename-course-form{grid-template-columns:1fr auto}.rename-course-form input{grid-column:1/-1}.course-list-controls{grid-template-columns:1fr;display:grid}.course-list-controls label{grid-template-columns:82px minmax(0,1fr);display:grid}.course-list-controls select{width:100%}}
