:root{font:17px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17364a;background:#f0f5f8;--blue:#1b5884;--teal:#188fad;--line:#dce7ee;--muted:#607b8c}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h2{font-size:30px;letter-spacing:-.6px;line-height:1.2;margin-bottom:10px}h3{font-size:21px;line-height:1.3;margin-bottom:12px}p{margin-bottom:12px}a{color:var(--blue)}
header{background:#fff;color:#17364a;border-top:5px solid var(--teal);border-bottom:1px solid var(--line);padding:20px 24px}.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{margin:0}.brand img{display:block;width:290px;max-width:100%;height:auto;border-radius:0}.header-top>div>div{margin-top:4px;font-size:13px;color:var(--muted);letter-spacing:.06em}.header-top{flex:0 1 330px}nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin:0}#identity{font-size:15px;font-weight:600;margin-right:6px}
main{max-width:1228px;padding:26px 24px 48px;margin:auto}#status:empty{display:none}#status{margin:0 0 16px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;margin:0 0 20px;box-shadow:0 5px 18px #17364a05}#teacher{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}#teacher>.panel{margin:0;min-width:0}.wide-panel,.teacher-heading{grid-column:1/-1}.teacher-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:2px 0 0}.teacher-heading .muted{margin:0}.eyebrow{color:var(--teal);font-size:11px;font-weight:750;letter-spacing:.14em;margin:0 0 7px}.dashboard-actions,.controls,.row,.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dashboard-actions{justify-content:flex-end}.row{justify-content:space-between}.form-actions{justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-heading h3{margin-bottom:6px}.panel-heading p:last-child{margin-bottom:0}
.classroom-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.classroom-summary>div{display:flex;align-items:center;gap:14px;background:#e6eff4;border:1px solid #d8e6ee;border-radius:13px;padding:15px 20px}.classroom-summary span{font-size:28px;line-height:1.1;font-weight:750;color:var(--blue)}.classroom-summary p{font-size:14px;color:var(--muted);margin:0}
button,.external-link{min-height:44px;padding:11px 17px;border-radius:10px;border:1px solid transparent;background:var(--teal);color:white;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover{background:#117b98}button.secondary,.external-link{background:#eaf3f7;border-color:#e1edf3;color:var(--blue)}button.secondary:hover,.external-link:hover{background:#dcecf3}.text-button{background:transparent;color:var(--blue);padding:7px 0;min-height:36px;border:0;text-align:left}.text-button:hover{background:transparent;text-decoration:underline}.danger-action{color:#9d4452!important}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #63bfd3;outline-offset:3px}
label{display:block;font-size:15px;font-weight:650;margin:14px 0 7px}input,select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid #c8d9e5;border-radius:10px;background:#fff;color:#17364a;min-width:0}input::placeholder,textarea::placeholder{color:#8a9da9}textarea{resize:vertical;line-height:1.55}input[type=file]{padding:10px;font-size:14px}input[type=datetime-local]{font-size:15px;min-height:46px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.muted{color:var(--muted);font-size:14px}#assignPracticePanel>p:last-child{margin-bottom:0}#assignPracticePanel>p:not(.eyebrow){margin-top:20px}.password-field{display:flex;gap:8px;align-items:center}.password-field input{flex:1;min-width:0}.password-field button{flex:none;min-width:68px}.optional-contacts{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.optional-contacts summary{cursor:pointer;font-weight:650;font-size:15px}.created-student{padding:20px;background:#edf7f7;border:1px solid #cce7e9;border-radius:13px}.login-username{font-size:20px;font-weight:700;color:var(--blue);margin-bottom:14px}.created-student .controls{margin-top:20px}.student-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf2f5}.student-row:last-child{border:0}.student-row p{margin:3px 0 0}.student-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e4f1f5;color:var(--blue);font-weight:700;flex:none}
.item{border:1px solid var(--line);border-radius:13px;padding:17px;margin:12px 0}.item:last-child{margin-bottom:0}.item h3{font-size:19px;margin:0 0 7px}.item p{margin:5px 0}.assignment-item{display:grid;gap:13px;margin:0;align-content:start}.deadline-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid #edf2f5;padding-top:12px}.deadline-controls label{font-size:13px;margin:0;width:100%}.deadline-controls input{flex:1;width:auto;min-width:160px}.deadline-controls button{font-size:14px;padding:12px}.assignment-item>.controls{gap:8px}.assignment-item>.controls button{font-size:13px;padding:10px 12px}#assignments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#activityLibrary .item{margin-top:12px}
#studentView{max-width:900px;margin:auto}.practice-group{font-size:19px;margin:25px 0 12px}.lesson-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:2;background:#fff;padding:10px 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px}.lesson-controls button,.lesson-controls a{font-size:14px;padding:11px 14px}#showThread{margin-left:auto}.activity-mode{max-width:1300px}.activity-frame{height:calc(100dvh - 290px);min-height:400px}.expanded-lesson>.panel{border:0;margin:0;border-radius:0;min-height:100dvh}.expanded-lesson .activity-frame{height:calc(100dvh - 205px)}
.submission-panel{margin-top:25px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:130px}.answer-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}dialog{border:0;border-radius:18px;box-shadow:0 18px 65px #17364a44;padding:24px;width:min(720px,94vw);max-height:88dvh;overflow:auto;color:#17364a}dialog::backdrop{background:#17364a8c}.thread-top{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;position:sticky;top:-24px;z-index:1;background:white;padding:4px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}.thread-top h2{font-size:24px}.thread-top p{margin-bottom:0}.message-bubble{padding:13px 16px;background:#edf3f6;border:1px solid #e4edf2;border-radius:13px;margin:12px 22px 12px 0}.own-message{background:#e3f2f5;border-color:#d7eaf0;margin-right:0;margin-left:22px}.message-bubble p{margin:6px 0}.message-bubble .muted{font-size:12px}.message-snippet{font-size:15px}.message-send-row{margin-top:15px;padding-top:15px}.message-send-row button{min-width:155px}.message-bubble strong{font-size:14px}#addStudentPanel{scroll-margin-top:20px}#login,#forgotPassword,#resetPassword{max-width:520px;margin:25px auto}
@media(max-width:900px){#teacher{gap:16px}.teacher-heading{align-items:flex-start}.dashboard-actions{max-width:220px}.classroom-summary>div{padding:14px}.classroom-summary span{font-size:24px}#assignments{grid-template-columns:1fr}.form-grid{gap:16px}}
@media(max-width:650px){header{padding:15px 16px}.header-inner{align-items:center;gap:12px;flex-wrap:wrap}.header-top{flex:1 1 220px}.brand img{width:245px}.header-top>div>div{font-size:11px}nav{margin:0;width:100%;justify-content:flex-start;gap:8px;padding-top:12px;border-top:1px solid var(--line)}#identity{margin-right:auto;font-size:14px}nav button{font-size:13px;padding:10px 12px}main{padding:20px 14px 30px}h2{font-size:27px}h3{font-size:20px}#teacher{grid-template-columns:1fr;gap:16px}.teacher-heading{display:block}.dashboard-actions{max-width:none;justify-content:flex-start;margin-top:18px}.dashboard-actions button{flex:1;white-space:nowrap;font-size:15px}.classroom-summary{gap:8px}.classroom-summary>div{display:block;text-align:center;padding:12px 7px}.classroom-summary p{font-size:12px;margin-top:4px}.classroom-summary span{font-size:25px}.panel{padding:18px;border-radius:15px}.form-grid{grid-template-columns:1fr;gap:0}.panel-heading{gap:10px;flex-wrap:wrap}.panel-heading>button{font-size:13px;padding:10px}.item{padding:14px}.row{align-items:flex-start}.student-row{padding:12px 0}.deadline-controls input{width:100%}.deadline-controls button{width:100%}.assignment-item>.controls button{flex:1;font-size:13px}.password-field button{padding:11px 13px}.created-student{padding:15px}.created-student .controls button{width:100%}.lesson-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0 14px;max-height:45dvh;overflow:auto}.lesson-controls button,.lesson-controls a{font-size:14px;width:100%;padding:11px 8px;min-height:46px}#showThread{margin:0}.activity-frame{height:calc(100dvh - 340px);min-height:350px}.expanded-lesson>.panel{padding:12px}.expanded-lesson .activity-frame{height:calc(100dvh - 240px)}.answer-inputs{grid-template-columns:1fr}.submission-panel{scroll-margin-top:210px}dialog{padding:18px;max-height:92dvh}.thread-top{top:-18px;gap:10px}.thread-top h2{font-size:22px}.thread-top .controls{width:100%;justify-content:flex-end}.message-bubble{margin-right:10px}.own-message{margin-right:0;margin-left:10px}.message-send-row button{width:100%}.form-actions{margin-top:18px}}

#deletedActivitiesPanel{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}#deletedActivities .item{background:#f7fafb}#activityLibrary>.item>div:first-child{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){#activityLibrary>.item{display:block}#activityLibrary>.item>.controls{margin-top:14px}#activityLibrary>.item>.controls button{flex:1}}

.youtube-frame{display:block;width:100%;height:auto;min-height:200px;aspect-ratio:16/9;border:0;border-radius:12px;background:#132631}.expanded-lesson .youtube-frame{max-height:75dvh}

.student-name-button{display:inline;padding:0;min-height:32px;border:0;border-radius:4px;background:transparent;color:var(--blue);font-weight:750;text-align:left;text-decoration:underline;text-underline-offset:3px}.student-name-button:hover{background:#edf5f8;color:#117b98}#studentProfileDialog{width:min(880px,94vw)}.profile-section-title{margin-top:26px}#deletedStudentsPanel{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}#toggleDeletedStudents{margin-top:15px}.profile-summary{margin:20px 0}.profile-summary>div{padding:13px}#studentProfileContacts .form-grid h3{font-size:17px;margin-top:12px}@media(max-width:650px){#studentProfileDialog .form-actions button{width:100%}.profile-summary p{font-size:12px}}

.message-image-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.message-image-drafts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.message-image-draft{padding:10px;border:1px solid var(--line);border-radius:12px;min-width:0;background:#f6fafb}.message-image-draft img{display:block;width:100%;height:110px;object-fit:contain;border-radius:7px;background:#eaf1f5}.message-image-draft p{font-size:12px;overflow-wrap:anywhere;margin:7px 0}.message-image-draft button{width:100%;font-size:13px;min-height:44px}.message-image-list:empty{display:none}.message-image{margin:10px 0;font-size:14px;overflow-wrap:anywhere}.message-image-link{display:inline-flex;max-width:100%;flex-direction:column;gap:7px;text-decoration:none}.message-image-link img{display:block;max-width:100%;max-height:320px;width:auto;height:auto;object-fit:contain;border:1px solid #c9dfe8;border-radius:9px}.message-image-link span{font-size:13px;text-decoration:underline}.message-bubble{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){.message-image-inputs{grid-template-columns:1fr;gap:0}.message-image-drafts{grid-template-columns:repeat(2,minmax(0,1fr))}.message-image-link img{max-height:260px}}

/* Teacher sections keep navigation at the top and show one workspace at a time. */
.teacher-tabs{position:sticky;top:0;z-index:5;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:6px;padding:10px 0;background:#f0f5f8;border-bottom:1px solid var(--line);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;scroll-margin-top:0}.teacher-tabs button{flex:0 0 auto;white-space:nowrap;color:var(--muted);background:transparent;border:1px solid transparent;font-size:15px;padding:12px 17px}.teacher-tabs button[aria-selected=true]{background:#fff;color:var(--blue);border-color:var(--line);box-shadow:0 2px 8px #17364a08}.teacher-tabs button:hover{background:#e3edf3;color:var(--blue)}.teacher-tab-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0;align-content:start}.teacher-tab-panel[hidden]{display:none!important}.teacher-tab-panel>.panel{margin:0;min-width:0}.teacher-tab-panel>.wide-panel{grid-column:1/-1}#teacher-classes>#classLogPanel,#teacher-classes>#classLogHistoryPanel,#teacher-payments>#paymentsPanel,#teacher-payments>#paymentHistoryPanel{grid-column:auto;align-self:start}#teacher-students>#studentDirectoryPanel{grid-column:1/-1}#teacher-assignments>#assignPracticePanel{grid-column:1/-1;max-width:780px;width:100%}.teacher-tab-panel>.panel{scroll-margin-top:80px}.private-note-field{margin-top:20px;padding:16px;background:#f0f5f8;border:1px dashed #a6c0cf;border-radius:12px}.private-note-field label{margin-top:0}.private-note-field summary{cursor:pointer;font-weight:650;font-size:14px}.private-note-field p:last-child{margin-bottom:0}.record-field{margin:16px 0 0}.record-field>strong{font-size:14px;color:var(--blue)}.record-field p{margin:5px 0}.record-card h3{font-size:18px}.record-status{font-size:14px;color:var(--muted)}.payment-status{font-size:14px;font-weight:650;padding:3px 9px;border-radius:20px;background:#edf2f5}.payment-status.paid{background:#e4f3e8;color:#286b3f}.payment-status.pending{background:#fff2d7;color:#805d10}.checkbox-label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.checkbox-label input{width:20px;height:20px;margin:2px 0 0;flex:none}#profilePaymentSettingsForm{margin-top:18px}#classLogFilter,#paymentFilter{min-width:190px}#classLogHistoryPanel .panel-heading label,#paymentHistoryPanel .panel-heading label{margin-top:0}#studentClassLogsPanel{margin-top:24px}#studentPaymentsPanel{margin-top:24px}@media(max-width:900px){#teacher-classes>#classLogPanel,#teacher-classes>#classLogHistoryPanel,#teacher-payments>#paymentsPanel,#teacher-payments>#paymentHistoryPanel{grid-column:1/-1}}@media(max-width:650px){.teacher-tabs{gap:4px;padding:8px 0;margin-top:-4px}.teacher-tabs button{font-size:14px;padding:11px 13px;min-height:44px}.teacher-tab-panel{grid-template-columns:1fr;gap:16px}.teacher-tab-panel>.panel{scroll-margin-top:70px}.private-note-field{padding:13px}#classLogFilter,#paymentFilter{width:100%;min-width:0}.record-card .row>button{font-size:13px}.teacher-heading .dashboard-actions{margin-top:14px}}

.profile-login-actions{margin:14px 0 18px}.password-reset-panel{padding:18px;background:#f5fafb;border:1px solid #cfe2eb;border-radius:14px;margin:16px 0 22px}.password-reset-panel h3{font-size:19px}.password-reset-panel .panel-heading{margin-bottom:8px}.password-reset-panel .form-actions{margin-top:14px}#passwordResetNotice{margin:14px 0 0}#resetStudentSuccess{margin-top:16px}@media(max-width:650px){.password-reset-panel{padding:14px}.password-reset-panel .panel-heading>button{width:100%}#copyResetStudentLogin{width:100%}}
