:root{font-family:Inter,system-ui,sans-serif;color:#16203a;background:#f8f9fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-weight:400;--ink:#16203a;--muted:#687187;--blue:#115cdc;--deep:#0d49b0;--wash:#eaf1fd;--line:#e7ebf2;--white:#fff;--display:Sora,Inter,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #83adfa;outline-offset:2px}a{color:inherit}h1,h2,h3{font-family:var(--display);letter-spacing:-.035em;line-height:1.12;margin:0 0 12px}h1{font-size:clamp(30px,5vw,46px)}h2{font-size:22px}h3{font-size:19px}p{line-height:1.65}.app-shell{max-width:1100px;margin:0 auto;padding:0 26px 70px}header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em}.brand img{width:46px;height:46px;object-fit:contain}.user-button{border:0;background:transparent;color:var(--muted);font-size:13px;padding:10px}.tabs{height:65px;display:flex;align-items:stretch;gap:28px;border-bottom:1px solid var(--line)}.tabs button{background:transparent;border:0;color:#6b7285;font-size:14px;padding:0 4px;position:relative}.tabs button[aria-current]{color:var(--ink);font-weight:650}.tabs button[aria-current]:after{content:"";height:2px;position:absolute;left:0;right:0;bottom:-1px;background:var(--blue);border-radius:2px}.tabs .admin-tab{margin-left:auto;color:var(--blue);font-weight:600}.notice{margin:18px 0 0;padding:13px 16px;border-radius:10px;background:var(--wash);color:var(--deep);overflow-wrap:anywhere;font-size:13px}.notice button{float:right;border:0;background:none;color:inherit;font-size:20px}.eyebrow{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin:0 0 9px}.course-layout,.admin-view{padding-top:36px}.course-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 0 27px}.course-heading p:not(.eyebrow){color:var(--muted);margin:8px 0 0}.progress-overview{background:#fff;border:1px solid var(--line);padding:14px 20px;border-radius:13px;display:grid;min-width:145px}.progress-overview strong{font-family:var(--display);font-size:19px}.progress-overview span{font-size:12px;color:var(--muted)}.days-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.day-card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px #172a4b07}.day-card{padding:22px}.day-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:13px}.day-head h2{margin:0;font-size:21px}.state-pill{font-size:11px;font-weight:600;padding:6px 10px;border-radius:30px;background:#eff2f7;color:#687187;text-transform:capitalize}.state-pill.open{background:#e9f2ff;color:#115cdc}.state-pill.done{background:#e7f6ef;color:#23754c}.lesson-row,.student-row{width:100%;border:0;border-top:1px solid #edf0f5;background:#fff;padding:15px 2px;display:flex;align-items:center;text-align:left;gap:12px;color:var(--ink)}.lesson-row:hover,.student-row:hover{color:var(--blue)}.lesson-row>span:nth-child(2),.student-row>span:nth-child(2){flex:1;min-width:0}.lesson-row strong,.student-row strong{display:block;font-size:14px;font-weight:600}.lesson-row small,.student-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.play-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--wash);color:var(--blue);font-size:12px}.arrow{font-size:23px;color:#8992a2}.muted,.small-muted{color:var(--muted);font-size:13px}.panel{padding:24px}.welcome{margin-top:46px;padding:38px}.welcome>p:last-child{color:var(--muted)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#fff,#f3f7ff)}.auth-card{width:min(100%,430px);padding:38px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px #172a4b10}.auth-card>img{width:58px;height:58px;object-fit:contain;margin-bottom:27px}.auth-card h1{font-size:32px;margin:0 0 26px}.auth-card label,.admin-form label{display:grid;gap:7px;margin:17px 0;color:#454e63;font-size:13px;font-weight:600}.auth-card input,.admin-form input,.admin-form select,.player-tools select{width:100%;height:44px;padding:0 12px;border:1px solid #dfe4ec;border-radius:9px;background:#fff;color:var(--ink)}.primary,.secondary{border:0;border-radius:9px;padding:12px 17px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 12px #115cdc2c}.primary:hover{background:var(--deep)}.auth-card>.primary{width:100%;margin-top:10px}.secondary{background:#fff;color:var(--blue);border:1px solid #c5d6f5;box-shadow:none}.error{color:#bd2b2b;font-size:13px}.player-view{max-width:930px;margin:29px auto}.back-link{border:0;padding:7px 0;background:transparent;color:var(--blue);font-size:13px;font-weight:550}.player-heading{margin:21px 0}.video-shell{position:relative;background:#0e1421;border-radius:15px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 16px 45px #0c183022}.video-shell video{width:100%;height:100%;display:block}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0e1421d9;color:#fff;font-size:14px;pointer-events:none}.player-tools{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:17px 2px;color:var(--muted);font-size:12px}.player-tools label{display:flex;align-items:center;gap:8px}.player-tools select{height:34px;width:83px;padding:0 7px}.player-tools>span{flex:1}.small{padding:9px 13px}.lesson-notes{margin-top:22px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:14px}.lesson-notes p{white-space:pre-wrap;color:#515b70}.admin-view>h1{margin-bottom:22px}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.admin-grid>div{display:grid;align-content:start;gap:18px}.panel h2{font-size:19px}.student-list{margin-top:12px}.student-row{padding:13px 2px}.avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--wash);color:var(--blue);font-weight:700}.admin-form label{margin:14px 0}.admin-form input,.admin-form select{height:40px}.small-muted{font-size:11px;line-height:1.55}.student-detail .back-link{margin-bottom:20px}.student-detail>h2{font-size:28px}.student-detail>p{color:var(--muted);margin:0 0 24px}.student-detail h3{margin:28px 0 11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:12px 10px;border-top:1px solid var(--line)}th{color:var(--muted);font-weight:600}.timeline{list-style:none;padding:0;margin:12px 0 0}.timeline li{position:relative;display:flex;align-items:center;gap:12px;padding:10px 0}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}.timeline strong{display:block;text-transform:capitalize;font-size:13px}.timeline small{color:var(--muted);font-size:11px}.admin-view>.panel{margin-top:20px}@media(max-width:720px){.app-shell{padding:0 17px 45px}header{height:69px}.brand{font-size:15px;gap:8px}.brand img{width:39px;height:39px}.tabs{height:58px;gap:23px}.tabs button{font-size:13px}.course-layout,.admin-view{padding-top:26px}.course-heading{align-items:flex-start;gap:10px}.course-heading h1{font-size:32px}.progress-overview{padding:10px 12px;min-width:auto}.progress-overview strong{font-size:15px}.days-grid,.admin-grid{grid-template-columns:1fr}.day-card{padding:19px}.auth-card{padding:28px 23px}.auth-card h1{font-size:29px}.player-view{margin:21px auto}.video-shell{border-radius:10px}.player-tools{gap:12px}.player-tools>span{min-width:100%;order:3}.student-detail{padding:18px}.panel{padding:20px}.admin-grid{gap:14px}}.progress-overview{gap:6px}.progress-overview .progress-track{height:5px;background:#e8edf5;border-radius:9px;overflow:hidden}.progress-overview .progress-track span{display:block;height:100%;background:var(--blue);border-radius:9px;transition:width .25s ease}.worksheet{margin-top:24px;padding:clamp(19px,4vw,30px)}.worksheet-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.worksheet-head h2{font-size:24px}.worksheet-head>span{color:var(--muted);font-size:13px;white-space:nowrap}.worksheet>.progress-track{height:7px;background:#e8edf5;border-radius:9px;overflow:hidden;margin:5px 0 20px}.worksheet>.progress-track span{display:block;height:100%;background:var(--blue);border-radius:9px;transition:width .2s}.worksheet-submitted,.save-state{color:var(--muted);font-size:12px}.worksheet-block{margin:20px 0}.worksheet-block>h2{font-size:22px;margin-bottom:5px}.worksheet-block>h3{font-size:18px}.worksheet-instruction{color:#505a70;margin:8px 0}.worksheet-question{padding-top:7px}.worksheet-question>label,.coach-worksheet-detail label{display:grid;gap:10px;font-size:15px;font-weight:600;line-height:1.55}.worksheet-question textarea,.coach-worksheet-detail textarea,.editor-block textarea{width:100%;resize:vertical;border:1px solid #dfe4ec;border-radius:9px;padding:12px;color:var(--ink);font:inherit;font-size:14px;line-height:1.55}.scale-options{display:flex;gap:7px;flex-wrap:wrap}.scale-options button{width:39px;height:39px;border-radius:50%;border:1px solid #cfd8e8;background:#fff;color:var(--ink)}.scale-options button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.worksheet-feedback{padding:12px 14px;margin:9px 0;border-left:3px solid var(--blue);background:#f3f7ff;border-radius:0 9px 9px 0;font-size:13px}.worksheet-feedback p{margin:5px 0 0;white-space:pre-wrap}.worksheet>.primary{margin-top:18px}.journal-view{max-width:800px;margin:36px auto}.journal-entry{margin:16px 0}.journal-entry>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.journal-entry h3{margin:19px 0 7px;font-size:17px}.journal-entry p{white-space:pre-wrap}.coach-worksheets{margin-top:26px}.coach-worksheets table{min-width:680px}.text-button{border:0;background:none;color:var(--blue);text-align:left;padding:3px}.coach-worksheet-detail{margin-top:17px;padding:18px;border:1px solid var(--line);border-radius:12px}.coach-answer{padding:16px 0;border-bottom:1px solid var(--line)}.coach-answer>p{white-space:pre-wrap}.coach-answer form,.coach-worksheet-detail>form{max-width:620px;margin-top:12px}.worksheet-editor{margin:18px 0}.worksheet-editor>label{display:grid;gap:7px;font-size:13px}.worksheet-editor select,.editor-block select{height:40px;border:1px solid #dfe4ec;border-radius:8px;background:#fff;padding:0 10px;color:var(--ink)}.editor-block-list{display:grid;gap:12px;margin:13px 0}.editor-block{padding:13px;border:1px solid var(--line);border-radius:10px;display:grid;gap:8px}.editor-block>label{display:flex;align-items:center;gap:8px;font-size:12px}.editor-block input[type=checkbox]{width:auto;height:auto}.editor-add{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.editor-add button,.editor-block .secondary{padding:8px 10px;font-size:12px}.worksheet-editor>.primary{margin-top:7px}@media(max-width:520px){.worksheet-head{align-items:flex-start;flex-direction:column;gap:2px}.worksheet-head>span{white-space:normal}.journal-entry>div{flex-direction:column;gap:3px}.scale-options{gap:5px}.scale-options button{width:34px;height:34px}}.access-list{display:grid;gap:12px;margin-bottom:22px}.access-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 16px;padding:14px;border:1px solid var(--line);border-radius:11px}.access-row>strong,.access-row>small{grid-column:1}.access-row>small{color:var(--muted);font-size:12px}.access-row .admin-form{grid-column:1;display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:end;gap:12px}.access-row .admin-form label{margin:10px 0 0}.access-row>.secondary{grid-column:2;grid-row:1 / span 3;white-space:nowrap}.access-row .admin-form .secondary{align-self:end}@media(max-width:520px){.access-row{grid-template-columns:1fr}.access-row>strong,.access-row>small,.access-row .admin-form,.access-row>.secondary{grid-column:1;grid-row:auto}.access-row .admin-form{grid-template-columns:1fr}}.scale-options-wrap{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.scale-options-wrap>small{color:var(--muted);font-size:11px}.scale-label-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scale-label-editor label{display:grid;gap:5px;font-size:12px}.scale-label-editor input{height:36px;border:1px solid #dfe4ec;border-radius:7px;padding:0 9px}.program-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start;padding-top:25px}.program-sidebar{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 25px #172a4b07}.program-sidebar-head{padding:23px 21px 17px;border-bottom:1px solid var(--line)}.program-sidebar-head h1{font-size:20px;line-height:1.3;margin:0 0 15px}.program-sidebar-head>small{display:block;text-align:center;color:var(--muted);font-size:11px}.progress-ring{position:relative;width:84px;height:84px;margin:0 auto 8px}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:7}.progress-ring-track{stroke:#e7edf6}.progress-ring-value{stroke:var(--blue);stroke-linecap:round;transition:stroke-dashoffset .25s}.progress-ring strong{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--display);font-size:18px}.program-sections{padding:7px 0}.program-section-toggle{width:100%;display:flex;justify-content:space-between;gap:12px;padding:13px 17px;border:0;background:#fff;text-align:left;color:var(--ink);font-size:13px;font-weight:650}.program-section-toggle:hover{background:#f8faff}.program-day-list{padding:0 8px 7px}.program-day-row{display:flex;align-items:center;gap:10px;width:100%;min-height:39px;padding:7px 9px;border:0;border-radius:8px;background:#fff;text-align:left;color:#46516a;font-size:12px}.program-day-row:hover:not(:disabled),.program-day-row.selected{background:#edf4ff;color:var(--blue)}.program-day-row.current{font-weight:700}.program-day-row:disabled{color:#98a1b1;cursor:not-allowed}.day-status-icon{display:grid;place-items:center;width:19px;flex:0 0 19px;font-size:13px}.day-status-icon.done{color:#23845a}.day-status-icon.current{color:var(--blue);font-size:11px}.day-status-icon.locked{font-size:12px;filter:grayscale(1)}.program-lesson-pane{min-width:0}.program-lesson-pane .player-view{max-width:930px;margin:0 auto}.player-heading .lesson-subtitle{margin:7px 0 0;color:var(--muted);font-size:14px}.sidebar-toggle{display:none}@media(max-width:900px){.program-layout{grid-template-columns:260px minmax(0,1fr);gap:18px}}@media(max-width:720px){.program-layout{display:block;padding-top:15px}.sidebar-toggle{display:block;width:100%;padding:12px 14px;margin:0 0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue);font-weight:650;text-align:left}.program-sidebar{display:none;position:static;max-height:58vh;margin-bottom:16px}.program-sidebar.mobile-open{display:block}.program-sidebar-head{padding:17px}.program-sidebar-head h1{font-size:18px}.progress-ring{width:72px;height:72px}.program-day-row{min-height:42px}.program-lesson-pane .player-view{margin:12px auto 0}}.calendar-view{padding-top:34px}.calendar-view>h1{margin-bottom:22px}.calendar-view>.panel{margin:18px 0}.calendar-admin{max-width:760px}.calendar-admin>label{display:grid;gap:7px;margin:0 0 20px;font-size:13px;color:var(--muted)}.calendar-admin select{height:42px;padding:0 12px;border:1px solid #dfe4ec;border-radius:9px;background:#fff}.calendar-admin textarea,.admin-form textarea{width:100%;padding:10px 12px;border:1px solid #dfe4ec;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.calendar-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.session-card p{color:var(--muted);font-size:13px}.session-card h2{color:var(--ink)}.session-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.link-button{display:inline-flex;align-items:center;text-decoration:none}.join-click{display:block;color:var(--muted);margin:5px 0}.feed-panel{max-width:760px}.feed-panel a{overflow-wrap:anywhere;color:var(--blue)}.past-sessions{opacity:.83}.resend-invite{padding:8px 11px;font-size:11px}.student-row[role=button]{cursor:pointer}.student-row[role=button]:focus-visible{outline:3px solid #83adfa}@media(max-width:720px){.calendar-view{padding-top:23px}.calendar-list{grid-template-columns:1fr}.session-card{padding:18px}.session-actions{gap:7px}.session-actions>*{font-size:12px;padding:10px 12px}}
