:root { --pine:#155d42; --ink:#172d25; --line:#cbd9d0; --paper:#f5f8f4; font-family:"Segoe UI",Arial,sans-serif; color:var(--ink); }
* { box-sizing:border-box; }
body { margin:0; line-height:1.55; background:#fff; }
header, footer { border-block:1px solid var(--line); }
.bar, main, footer { padding-inline:max(5vw,calc((100vw - 1200px)/2)); }
.bar, nav, .actions, .inline { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; align-items:center; }
.bar { min-height:74px; justify-content:space-between; padding-block:10px; }
.brand { font:1.35rem Georgia,serif; display:flex; align-items:center; gap:.35rem; text-decoration:none; color:var(--ink); }
a { color:var(--pine); text-underline-offset:.18em; }
main { padding-block:1.4rem 4rem; min-height:76vh; }
footer { color:#53655c; padding-block:1rem; }
h1,h2 { font-family:Georgia,serif; line-height:1.15; font-weight:500; }
h1 { font-size:clamp(2.2rem,4.5vw,4rem); margin:.5rem 0 1rem; overflow-wrap:anywhere; }
h2 { font-size:1.65rem; margin:1.7rem 0 .7rem; }
em, .label { color:var(--pine); }
.label,small { font-size:.88rem; }
.label { text-transform:uppercase; letter-spacing:.09em; font-weight:700; }

.grid,.login { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.6rem; }
.login { align-items:center; padding-block:6vh; }
.cards { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr)); }
.card,.panel,fieldset { padding:clamp(.9rem,2.5vw,1.6rem); border:1px solid var(--line); border-radius:10px; margin:1rem 0; min-width:0; }
.card { background:var(--paper); text-decoration:none; display:grid; gap:.4rem; border-top:3px solid var(--pine); }
.card strong { font:1.7rem Georgia,serif; }.card span,small { color:#465a4f; }
.row { display:block; border-top:1px solid var(--line); padding:.85rem 0; overflow-wrap:anywhere; }.row small,td small {display:block;}
.narrow { max-width:750px; }.actions { margin:1rem 0; }.inline {align-items:end}
.btn,button { background:var(--pine);color:white; border:1px solid var(--pine);border-radius:5px; padding:.65rem 1rem; font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center; cursor:pointer;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center; }
.secondary,button.plain {color:var(--pine);background:white;}button.plain {border:0;padding:0;}
nav a,.actions a {min-height:44px;display:inline-flex;align-items:center;}
input,textarea,select {display:block;max-width:100%;width:100%;padding:.65rem;border:1px solid #82988a;border-radius:4px;font:inherit;color:inherit;background:white;}
textarea {min-height:75px;} label,legend {font-weight:600;}form>div,fieldset>div {margin-bottom:.8rem;}input[type=checkbox],input[type=radio]{display:inline;width:auto;accent-color:var(--pine);}
.option {display:flex;min-height:44px;align-items:center;gap:.65rem;padding:.45rem;background:var(--paper);margin:.25rem 0;}
.errorlist {color:#942813;}.notice,.status {padding:.8rem;background:#edf5ef;border-left:3px solid var(--pine);}
.status {position:sticky;top:0;display:flex;gap:1rem;justify-content:space-between;z-index:1;flex-wrap:wrap;}
.scroll {overflow:auto;}table {border-collapse:collapse;width:100%;}th,td {text-align:left;padding:.65rem;border-bottom:1px solid var(--line);}
details summary {cursor:pointer;min-height:44px;} .skip {position:absolute;left:-9999px}.skip:focus {left:1rem;top:1rem;background:white;z-index:2;} :focus-visible {outline:3px solid #8c6100;outline-offset:3px;}
@media(max-width:700px){.grid,.login{grid-template-columns:1fr;gap:.5rem}.bar{gap:.4rem}nav{gap:.6rem}.login{padding-block:1rem}.status{font-size:.88rem}main{padding-inline:4vw}.actions{gap:.4rem .8rem}}

/* Teacher workspace: persistent navigation, with a keyboard-accessible mobile drawer. */
.teacher-shell { background:#f7f9f8; }
.teacher-sidebar { position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid #dce6df;display:flex;flex-direction:column;padding:28px 18px 16px;z-index:20;overflow-y:auto; }
.school-brand { display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;text-decoration:none;padding:0 8px 28px; }
.school-brand img {object-fit:contain}.school-brand strong {font-size:14px;line-height:1.4}.school-brand>span{font-size:10px;letter-spacing:.18em;color:#66796c}
.teacher-sidebar nav {display:flex;flex-direction:column;align-items:stretch;gap:8px}
.teacher-sidebar nav a {padding:13px 16px;border-radius:8px;text-decoration:none;color:#4a5c52;gap:14px;font-weight:600;}
.teacher-sidebar nav a>span[aria-hidden] {font-size:24px;width:26px;text-align:center;line-height:1}
.teacher-sidebar span[aria-hidden]{font-weight:400}
.teacher-sidebar span[aria-hidden] svg{stroke-width:1.25}
.teacher-sidebar nav a:hover {background:#f2f6f3}.teacher-sidebar nav a[aria-current] {background:#e6f2eb;color:#155d42;box-shadow:inset 3px 0 #155d42}
.sidebar-bottom {margin-top:auto;padding-top:36px}.teacher-account{display:flex;align-items:center;gap:10px;padding:16px 2px;border-top:1px solid #e1e8e3}.teacher-account strong{font-size:13px}.teacher-account small{display:block;font-size:12px}.avatar{border-radius:50%;background:#e6f2eb;min-width:36px;height:36px;display:grid;place-items:center;color:#155d42;font-weight:700}
.logout {background:transparent;color:#43564b;border:0;width:100%;justify-content:flex-start;gap:16px;padding:12px 16px}.logout:hover{background:#f2f6f3}
.teacher-shell main {margin-left:248px;padding:32px clamp(20px,4vw,64px) 64px;min-height:94vh;max-width:1800px}.teacher-shell footer{margin-left:248px;padding:16px 32px;font-size:12px}.teacher-shell h1{font-family:inherit;font-size:clamp(1.9rem,3vw,2.65rem);font-weight:650;letter-spacing:-.035em}.teacher-shell h2{font-family:inherit;font-size:1.2rem;font-weight:650}.teacher-shell .card{background:white;border-top:5px solid #155d42;padding:24px;min-height:180px;transition:box-shadow .15s}.teacher-shell .card:hover{box-shadow:0 6px 20px #153d4210}.teacher-shell .card strong{font-family:inherit;font-size:1.2rem;font-weight:650}.dashboard-intro{color:#5d7063;max-width:720px}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}.overview>div{background:white;border:1px solid #dce6df;border-radius:10px;padding:20px;display:flex;flex-direction:column}.overview strong{font-size:30px;color:#155d42;line-height:1.2}.overview span{font-size:13px;color:#607267;margin-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-heading a:not(.btn){font-size:13px}.teacher-shell .grid>section{background:white;border:1px solid #dce6df;border-radius:10px;padding:4px 24px 20px;margin-top:20px}.ai-banner{background:#eaf3ed;border:1px solid #d3e5d9;border-radius:12px;margin-top:32px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ai-banner h2{margin:8px 0}.ai-banner p{max-width:620px}.ai-banner .btn{flex-shrink:0}.empty-state{text-align:center;background:white;border:1px solid #dce6df;border-radius:12px;margin-top:28px;padding:64px 24px}.empty-state p{max-width:480px;margin:16px auto 28px;color:#607267}.empty-icon{font-size:44px;color:#155d42}.mobile-bar{display:none}.nav-shade{display:none}.teacher-shell .skip:focus{z-index:40}
@media(max-width:1000px){.ai-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.teacher-sidebar{transform:translateX(-100%);width:260px;max-width:85vw}.nav-open .teacher-sidebar{transform:translateX(0)}.mobile-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:white;border-bottom:1px solid #dce6df}.teacher-shell main{margin-left:0;padding:24px 20px 48px}.teacher-shell footer{margin-left:0;padding:16px 20px}.nav-open{overflow:hidden}.nav-shade:not([hidden]){display:block;position:fixed;inset:0;background:#172d2570;z-index:19}.overview{gap:8px}.overview>div{padding:14px 10px}.overview strong{font-size:25px}.overview span{font-size:12px}.section-heading{align-items:baseline}.section-heading a{max-width:120px}.ai-banner{padding:20px}}
.dashboard-scope{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#607267;margin:20px 0}.teacher-analytics{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 28px}.teacher-analytics>div{gap:12px}.teacher-analytics span{margin:0}.teacher-analytics strong{font-size:32px}.teacher-analytics small,.teacher-analytics a{font-size:12px}.teacher-priorities{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin:16px 0 32px}.dashboard-panel{background:white;border:1px solid #dce6df;border-radius:12px;padding:24px;min-width:0}.dashboard-panel h2{margin:0}.dashboard-panel h3{font-size:14px;margin:24px 0 10px}.muted{color:#607267;font-size:13px}.count-badge{background:#eef4ef;color:#356047;padding:3px 9px;border-radius:20px;font-size:12px;white-space:nowrap}.care-row{border-top:1px solid #e1e8e3;padding:20px 0}.care-row:last-child{padding-bottom:0}.student-name{font-weight:650}.care-row p{font-size:14px;overflow-wrap:anywhere}.case-status{font-size:11px;color:#52675b;text-align:right}.case-status.overdue{color:#8c441f;background:#fff3e8;padding:3px 7px;border-radius:4px}.dashboard-empty{padding:18px 0;color:#607267}.dashboard-empty p{font-size:14px}.text-action{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.subject-overview{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.teacher-shell .subject-overview .card{gap:8px}.subject-overview h3{margin:10px 0;font-size:20px}.subject-overview h3 a{text-decoration:none}.subject-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.subject-stats div{display:flex;flex-direction:column}.participation-label{display:flex;justify-content:space-between;gap:12px;font-size:12px}.teacher-shell .participation-label strong{font-size:13px}progress{width:100%;height:8px;accent-color:#155d42}.subject-workload{font-size:12px;border-top:1px solid #e1e8e3;padding-top:16px;margin:10px 0 0}.subject-overview .actions{font-size:13px;margin:8px 0 0}.upcoming-panel{margin-top:24px}#care-list,#my-subjects,#next-actions{scroll-margin-top:20px}
@media(max-width:1100px){.teacher-analytics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-priorities{grid-template-columns:1fr}}
@media(max-width:500px){.dashboard-panel{padding:18px}.teacher-analytics strong{font-size:27px}.care-row .section-heading{align-items:flex-start;flex-direction:column;gap:6px}.case-status{text-align:left}.teacher-analytics>div{padding:16px 12px}.dashboard-scope{font-size:11px}}

.sidebar-collapse{align-self:flex-end;width:44px;height:44px;padding:0;margin:-12px 0 12px;border-color:#dce6df;font-size:24px}
.teacher-account .avatar{text-decoration:none;min-width:44px;height:44px}
@media(min-width:801px){
  .teacher-sidebar{padding-inline:12px}
  .teacher-sidebar .sidebar-collapse{align-self:flex-start;margin-left:6px;flex-shrink:0}
  .teacher-sidebar .school-brand{height:88px;flex-shrink:0;display:grid;grid-template-columns:44px 154px;column-gap:12px;row-gap:4px;align-content:start;align-items:start;text-align:left;padding:0 6px 16px;overflow:hidden}
  .teacher-sidebar .school-brand img{width:44px;height:44px;grid-row:1 / 3;flex-shrink:0}
  .teacher-sidebar .school-brand strong,.teacher-sidebar .school-brand>span{width:154px;grid-column:2}.teacher-sidebar .school-brand strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.teacher-sidebar .school-brand>span{font-size:9px;letter-spacing:.12em}
  .teacher-sidebar nav{flex-shrink:0}
  .teacher-sidebar nav a{display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:13px 15px;height:54px}
  .teacher-sidebar nav a>span[aria-hidden]{flex:0 0 26px}
  .teacher-sidebar .nav-label{white-space:nowrap}
  .teacher-sidebar .teacher-account{height:77px;justify-content:flex-start;padding-inline:6px}
  .teacher-sidebar .account-details{white-space:nowrap}
  .teacher-sidebar .logout{justify-content:flex-start;padding:12px 15px;height:54px;flex-wrap:nowrap}
  .teacher-sidebar .logout>span[aria-hidden]{flex:0 0 26px;text-align:center;font-size:24px;line-height:1}
  .sidebar-collapsed .teacher-sidebar{width:80px}
  .sidebar-collapsed main,.sidebar-collapsed footer{margin-left:80px}
  .sidebar-collapsed .school-brand strong,.sidebar-collapsed .school-brand>span{visibility:hidden}
  .sidebar-collapsed .nav-label,.sidebar-collapsed .account-details{display:none}
}
@media(max-width:800px){.sidebar-collapse{display:none}}
.chat-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;margin-top:24px}.chat-history h2{margin-top:24px}.chat-history{max-height:75vh;overflow:auto}.chat-history a[aria-current]{font-weight:700;background:#eef6f0}.chat-turn{border-bottom:1px solid #dce6df;padding:16px 0 24px}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.user-message{background:#edf5ef;padding:16px;border-radius:8px}.chat-state,.chat-model{font-size:12px;color:#607267}.chat-sources{font-size:13px;padding-left:20px}.chat-save[hidden]{display:none}.chat-main form{margin-top:24px}.chat-main button:disabled{opacity:.55;cursor:wait}#chat-compose details{margin:16px 0}.chat-history .row{font-size:13px}@media(max-width:1100px){.chat-layout{grid-template-columns:1fr}.chat-history{max-height:230px}}@media(max-width:500px){.chat-main{padding:16px}.chat-text{font-size:14px}}
.chat-history{align-self:start}
#material-upload-dialog{width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border:1px solid #dce6df;border-radius:16px;padding:30px;color:var(--ink)}#material-upload-dialog::backdrop{background:#132b2470}#material-upload-dialog h2{font:650 1.5rem/1.25 "Segoe UI",sans-serif;padding-right:40px;margin:0 0 12px}#material-upload-dialog .modal-close{position:absolute;right:14px;top:14px;width:44px;padding:0;font-size:24px}#material-upload-dialog form>div{margin:20px 0}#material-upload-dialog .helptext{display:block;font-size:12px;color:#607267;margin-top:6px}#material-upload-dialog input[type=checkbox]{width:18px;height:18px}.material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:24px}.material-card{border:1px solid #dce6df;border-radius:12px;background:white;overflow:hidden;min-width:0}.material-cover{height:140px;background:#eaf3ed;color:#155d42;display:flex;align-items:center;justify-content:center;gap:16px}.material-cover>span{font-size:60px;line-height:1}.material-cover strong{font-size:20px;letter-spacing:.08em}.material-card-body{padding:22px}.material-category{font-size:12px;color:#155d42;background:#edf5ef;padding:4px 10px;border-radius:20px}.teacher-shell .material-card h3{font-size:20px;margin:14px 0;overflow-wrap:anywhere}.material-card h3 a{text-decoration:none}.material-access{font-size:13px;color:#425c4d}.material-processing{font-size:12px;color:#647568;min-height:36px}.material-card .btn{font-size:14px}.pdf-reader{display:block;width:100%;height:82vh;min-height:500px;border:1px solid #cbd9d0;border-radius:10px;background:#e8ece9}@media(max-width:500px){#material-upload-dialog{padding:24px 18px}.material-cover{height:110px}.pdf-reader{height:75vh;min-height:400px}}
#assistant-launcher{position:fixed;right:24px;bottom:24px;z-index:35;width:58px;height:58px;border-radius:50%;font-size:30px;box-shadow:0 5px 24px #172d2533}#assistant-panel{position:fixed;right:24px;bottom:94px;z-index:34;width:min(440px,calc(100vw - 24px));height:min(680px,calc(100dvh - 120px));background:white;border:1px solid #cbd9d0;border-radius:16px;box-shadow:0 12px 48px #172d2530;overflow:hidden;display:flex;flex-direction:column}#assistant-panel[hidden]{display:none}.assistant-header{background:#155d42;color:white;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}.assistant-header button{font-size:24px;padding:0;width:44px}#assistant-frame{width:100%;flex:1;min-height:0;border:0}.assistant-content{padding:18px;background:white}.assistant-content h2{font:650 1.4rem 'Segoe UI',sans-serif}.assistant-content h3{font-size:14px}.assistant-content .chat-text{font-size:14px}.assistant-content .chat-save button{font-size:12px}.assistant-content #chat-compose{margin-top:20px}.assistant-content #chat-send{margin-top:12px}.assistant-content .chat-turn{padding:10px 0}.assistant-content .actions{font-size:13px}.assistant-content .actions details{max-width:100%}.assistant-content .chat-save[hidden]{display:none}@media(max-width:500px){#assistant-launcher{right:12px;bottom:12px}#assistant-panel{right:12px;bottom:80px;height:calc(100dvh - 100px)}}

.materials-panel{margin-top:24px}.materials-panel .section-heading{align-items:center;flex-wrap:wrap}.materials-panel .section-heading .actions{margin:0;gap:10px}.materials-panel .section-heading a{max-width:none;font-size:14px}.materials-panel>.muted{margin:14px 0 0}@media(max-width:600px){.materials-panel .section-heading{align-items:flex-start;flex-direction:column}.materials-panel .section-heading .actions{width:100%}.materials-panel .actions .btn{flex:1}}

.material-list{margin-top:20px}.material-item{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #dce6df;min-width:0}.material-file{display:grid;place-items:center;width:50px;height:58px;flex-shrink:0;background:#eaf3ed;color:#155d42;border:1px solid #d5e6da;border-radius:7px;font-size:12px;font-weight:700}.material-info{flex:1;min-width:0}.teacher-shell .material-info h3{font-size:16px;margin:0 0 5px;overflow-wrap:anywhere}.material-info h3 a{text-decoration:none}.material-info p{font-size:12px;color:#607267;margin:0}.material-info small{display:block;font-size:11px;margin-top:4px}.material-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.material-tools .btn,.material-tools button{padding:8px 12px}.material-tools form{margin:0}.material-tools .delete-material{border-color:#d8c5bd;color:#8c4026}.text-reader{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.7 'Segoe UI',sans-serif;max-height:75vh;overflow:auto}.image-reader{margin:20px 0;padding:20px;text-align:center;border:1px solid #dce6df;border-radius:10px;background:#fff}.image-reader img{max-width:100%;max-height:78vh;object-fit:contain}.image-reader figcaption{font-size:13px;margin-top:12px}.video-reader{width:100%;max-height:78vh;background:#101713;border-radius:8px}@media(max-width:600px){.material-item{flex-wrap:wrap;gap:12px}.material-info{flex-basis:calc(100% - 62px)}.material-tools{width:100%;padding-left:62px}}
/* Conversation panel: only messages scroll; the composer stays in reach. */
.conversation-ui{height:100dvh;display:flex;flex-direction:column;padding:0;overflow:hidden;font-family:"Segoe UI",Arial,sans-serif}.conversation-toolbar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;border-bottom:1px solid #eef1ef;font-size:12px;gap:8px}.conversation-toolbar>a{text-decoration:none;color:#5c7063;min-height:36px}.conversation-history summary{min-height:36px;display:flex;align-items:center;cursor:pointer;color:#5c7063}.conversation-history>div{position:absolute;z-index:3;right:12px;top:48px;width:calc(100% - 24px);max-height:240px;overflow:auto;background:white;box-shadow:0 8px 28px #172d2520;border:1px solid #dce6df;border-radius:10px;padding:10px}.conversation-history a{display:block;text-decoration:none;padding:10px;font-size:13px}.conversation-history a:hover{background:#f2f7f3}.conversation-history small{display:block;font-size:10px;color:#728177}.conversation-scroll{flex:1;min-height:0;overflow:auto;padding:16px 18px;overscroll-behavior:contain}.conversation-ui .chat-turn{border:0;padding:0 0 24px}.conversation-ui .user-message{margin-left:36px;padding:12px 15px;border-radius:16px 16px 4px 16px;background:#e9f3ed;color:#214635;font-size:14px}.assistant-reply{display:flex;gap:10px;margin-top:18px}.reply-avatar{color:#155d42;font-size:22px;flex:none;line-height:1.4}.reply-content{min-width:0;flex:1}.conversation-ui .ai-message{font-size:14px;line-height:1.7}.conversation-ui .chat-state{margin:0;color:#738378;font-size:13px}.reply-options{margin-top:8px}.reply-options>summary{font-size:11px;color:#6a7d70;min-height:32px;display:flex;align-items:center;cursor:pointer}.reply-options[hidden]{display:none}.conversation-empty{height:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6d8073;padding:20px 0}.conversation-empty>span{font-size:38px;color:#155d42}.conversation-ui .conversation-empty h2{font:600 18px "Segoe UI",sans-serif;color:#294a38;margin:14px 0 8px}.conversation-empty p{font-size:13px;line-height:1.7;margin:0}.conversation-ui #chat-compose{flex:none;margin:0;padding:12px 14px 10px;background:white;border-top:1px solid #edf1ee}.composer-input{display:flex;align-items:flex-end;border:1px solid #cadbd0;border-radius:14px;padding:7px;gap:6px;background:#fbfdfb}.composer-input:focus-within{border-color:#155d42;box-shadow:0 0 0 1px #155d42}.composer-input textarea{border:0;background:transparent;resize:none;min-height:48px;height:60px;max-height:120px;font-size:14px;padding:7px;outline:none}.conversation-ui #chat-send{margin:0;width:40px;min-height:40px;flex:none;border-radius:10px;font-size:22px;padding:0}.conversation-ui #chat-send:disabled{opacity:.4}.conversation-composer>small{display:block;text-align:center;font-size:10px;color:#7b897f;margin-top:8px}.conversation-ui #chat-wait{font-size:11px;margin:5px 0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.conversation-ui .chat-messages:has(.conversation-empty){height:100%}

.ai-message.formatted-reply{white-space:normal}.formatted-reply p{margin:0 0 .75em;white-space:pre-wrap}.formatted-reply ol,.formatted-reply ul{padding-left:1.5em;margin:.4em 0 .9em}.formatted-reply li{padding-left:.15em;margin:.45em 0;white-space:pre-wrap}.formatted-reply strong{font-weight:650}.formatted-reply code{font-size:.9em;background:#eef3ef;border-radius:4px;padding:2px 5px;overflow-wrap:anywhere}.formatted-reply>:last-child{margin-bottom:0}

.conversation-history form{border-top:1px solid #edf1ee;margin-top:8px;padding-top:8px}.conversation-history .clear-chat-history{width:100%;justify-content:flex-start;background:white;border:0;color:#99472d;font-size:13px;padding:10px;border-radius:6px}.conversation-history .clear-chat-history:hover{background:#fff4ee}
.danger-link{color:#943e2a!important;border-color:#dbb8af!important}.delete-warning{border-color:#dbb8af}.delete-warning h2{color:#943e2a}.danger-button{background:#963f2b;border-color:#963f2b}.danger-button:disabled{opacity:.4;cursor:not-allowed}.deletion-counts>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #e6eae7}.deletion-counts dd{font-weight:650;margin:0}.delete-warning input[type=checkbox]{width:18px;height:18px}.delete-warning form{margin-top:24px}
.subject-editor{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;max-width:1120px;margin-top:24px}.subject-editor .errorlist,.subject-editor-actions{grid-column:1/-1}.subject-field{margin:18px 0}.subject-field label{display:block;margin-bottom:7px;font-weight:600}.subject-field input:not([type=checkbox]),.subject-field select,.subject-field textarea{width:100%;min-width:0}.subject-field input[type=checkbox]+label{display:inline;font-weight:400}.subject-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.subject-cover{display:block;width:100%;height:148px;object-fit:cover;border-radius:8px;margin-bottom:18px}.subject-cover[hidden]{display:none}.cover-preview{height:180px}.subject-description{color:#5d7063;line-height:1.5}.subject-section-tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.subject-section-tags span{font-size:13px;padding:5px 10px;background:#edf5ef;border-radius:6px}.section-choice{display:flex;align-items:center;gap:10px;padding:10px 0}.catalog-filters{display:flex;align-items:end;gap:16px;margin:24px 0}.catalog-filters label{display:block;margin-bottom:6px}.catalog-filters select{min-width:180px}.subject-editor #id_sections>div{padding:10px 0}@media(max-width:700px){.subject-editor{grid-template-columns:1fr;gap:16px}.subject-field-pair{grid-template-columns:1fr;gap:0}.catalog-filters{align-items:stretch;flex-direction:column}.catalog-filters select{width:100%;min-width:0}.subject-editor .dashboard-panel{padding:20px}.subject-cover{height:130px}}
.cover-green{--cover-color:#155d42}.cover-teal{--cover-color:#146b70}.cover-blue{--cover-color:#315d91}.cover-amber{--cover-color:#946016}.cover-plum{--cover-color:#755079}.cover-slate{--cover-color:#526575}.cover-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--cover-color,#155d42);color:#fff}.cover-art:before,.cover-art:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #ffffff25;border-radius:50%;transform:rotate(-20deg)}.cover-art:before{left:-60px;top:-95px}.cover-art:after{right:-55px;bottom:-120px;width:280px;height:280px;border-width:24px}.cover-art svg{width:64px;height:64px;z-index:1;opacity:.9}.cover-colors{border:0;padding:0;margin:20px 0}.cover-colors legend{font-weight:600}.cover-swatches{display:flex;flex-wrap:wrap;gap:10px}.cover-color-option{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:8px;border:1px solid #dce6df;border-radius:8px}.cover-color-option:has(input:checked){border-color:#155d42;box-shadow:0 0 0 1px #155d42}.color-chip{width:20px;height:20px;border-radius:50%;background:var(--cover-color);flex-shrink:0}.cover-color-option input{margin:0}.cover-color-option:focus-within{outline:2px solid #947000;outline-offset:2px}

/* Stable card footers: primary action above equal-width management actions. */
.subject-overview .card{display:flex;flex-direction:column}
.subject-overview .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin: auto 0 0;padding-top:16px;align-items:stretch}
.card-actions .btn{width:100%;min-width:0;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.4}
.card-actions .btn:not(.secondary){grid-column:1/-1}
.card-actions .danger-link{grid-column:2}
.subject-overview .card>.btn{margin-top:auto}
.actions{gap:8px}
.section-heading{flex-wrap:wrap}
.section-heading .btn{max-width:100%;flex-shrink:0}

/* Let content rows share their natural height across neighboring subject cards. */
.subject-list,.catalog-list{gap:16px;margin-top:24px}
.subject-overview.subject-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),360px));justify-content:start}
.subject-list .card-actions>.btn:last-child:nth-child(2){grid-column:1/-1}
.subject-overview.subject-list .card,.subject-overview.catalog-list .card{margin:0;gap:16px;padding:24px}
.subject-list .subject-cover,.catalog-list .subject-cover{margin:0;flex-shrink:0}
.subject-list .subject-card-heading h3,.catalog-list .card h2{margin:0;line-height:1.3}
.subject-card-heading .subject-description{margin:8px 0 0}
.catalog-list .subject-description,.catalog-list .subject-section-tags,.subject-list .subject-stats{margin:0}
.subject-list .subject-workload{margin:0;padding-top:16px}
.subject-overview .card-actions{padding-top:0;align-content:end}
@supports(grid-template-rows:subgrid){
  .subject-overview.subject-list>.card{display:grid;grid-template-rows:subgrid;grid-row:span 8}
  .subject-overview.catalog-list>.card{display:grid;grid-template-rows:subgrid;grid-row:span 6}
  .subject-overview .card-actions{margin:0;align-content:start}
}
@media(max-width:500px){.subject-overview.subject-list .card,.subject-overview.catalog-list .card{padding:20px}}

.subject-grade{display:inline-block;vertical-align:middle;margin-left:4px;padding:3px 8px;border-radius:6px;background:#edf5ef;color:#456054;font-size:12px;font-weight:500;line-height:1.5;white-space:nowrap}
.sibol-subjects,.school-queue-panel,.sibol-drafts{margin-top:24px}.ai-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-top:20px}.ai-subject-choice{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #d5e2da;border-radius:10px;text-decoration:none;background:#fff;min-width:0}.ai-subject-choice strong{overflow-wrap:anywhere}.ai-subject-choice span{font-size:12px;color:#607267}.ai-subject-choice[aria-current]{background:#edf5ef;border-color:#155d42;box-shadow:inset 3px 0 #155d42}.ai-section-picker{border-top:1px solid #dce6df;margin-top:24px;padding-top:24px;scroll-margin-top:24px}.ai-section-links{display:flex;flex-wrap:wrap;gap:10px}.ai-section-links .btn{gap:12px;flex-wrap:wrap}.ai-section-links small{font-size:11px}.school-queue-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.school-queue-counts>div{display:flex;flex-direction:column;gap:4px}.school-queue-counts strong{font-size:28px;color:#155d42}.school-queue-counts span{font-size:13px;color:#607267}.school-queue-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #dce6df;padding:14px 0}.school-queue-row>div{min-width:0}.school-queue-row strong,.school-queue-row p{overflow-wrap:anywhere}.school-queue-row p{margin:4px 0;font-size:14px}.school-queue-row small{display:block;font-size:12px}.school-queue-row form{margin:0}.queue-position{flex-shrink:0;border-radius:6px;padding:6px 10px;background:#edf5ef;color:#155d42;font-size:13px;font-weight:600}.queue-recent{margin-top:16px}.queue-updated{margin-bottom:0}.sibol-drafts summary{font-weight:600}.school-queue-panel #school-queue-status:empty{display:none}@media(max-width:500px){.school-queue-counts{gap:10px}.school-queue-counts span{font-size:12px}.school-queue-row{align-items:flex-start;flex-direction:column;gap:8px}.ai-section-links .btn{width:100%}.queue-position{align-self:flex-start}}
.subject-arrange{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:24px 0 12px;padding:18px;background:white;border:1px solid #dce6df;border-radius:10px}.subject-arrange>div{margin:0;min-width:0}.subject-arrange label{display:block;font-size:13px;margin-bottom:6px}.subject-arrange select{font-size:14px;min-height:44px}.subject-arrange .actions{margin:0;flex-wrap:nowrap}.subject-arranged-group{margin-top:24px}.subject-arranged-group>.section-heading h2{margin:0}@media(max-width:1200px){.subject-arrange{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-arrange .actions{grid-column:1/-1}}@media(max-width:500px){.subject-arrange{grid-template-columns:1fr;padding:16px}.subject-arrange .actions>*{flex:1}}
.student-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.student-progress>div,.student-progress>a{display:flex;flex-direction:column;gap:6px;padding:20px;background:#edf5ef;border-radius:10px;text-decoration:none}.student-progress strong{font-size:28px;color:#155d42}.student-progress span{font-size:14px;color:#456054}.student-dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.student-dashboard-grid .row p{font-size:14px}.student-task{display:flex;flex-direction:column;gap:6px;text-decoration:none}.student-task .count-badge{align-self:flex-start}.student-section-heading,.insight-card{margin-top:24px}.student-class-list{margin-top:16px;gap:16px}.teacher-shell .student-class-card{display:flex;flex-direction:column;gap:12px;margin:0}.student-class-card .subject-cover,.student-class-card h3,.student-class-card h2,.student-class-card p{margin:0}.student-class-card h3{font-size:20px}.student-class-card>.btn,.student-class-card>form{margin-top:auto;padding-top:10px}.student-class-card>form>button{width:100%}.student-class-card button:disabled{opacity:.6;cursor:default}.student-section-name{font-weight:600;color:#155d42}.insight-card h2{margin:12px 0}.inbox-row{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none}.message-conversation{max-width:900px}.class-message{max-width:85%;margin:0 auto 16px 0;padding:14px 16px;border-radius:12px;background:#f2f5f3;overflow-wrap:anywhere}.class-message.mine{margin-left:auto;margin-right:0;background:#e4f2e9}.class-message small{display:block;font-size:12px;margin-bottom:7px}.class-message-form{border-top:1px solid #dce6df;padding-top:20px;margin-top:24px}.class-message-form textarea{margin-top:8px}.student-roster-row{display:flex;align-items:center;gap:16px}.student-roster-row>.row{flex:1;min-width:0}@media(max-width:800px){.student-dashboard-grid{grid-template-columns:1fr}.student-progress{gap:8px}.student-progress>div,.student-progress>a{padding:14px 10px}.student-progress span{font-size:12px}.class-message{max-width:95%}}

.subject-favourite-card{position:relative}.subject-overview .subject-star-form{position:absolute;top:32px;right:32px;margin:0;z-index:1}.subject-star-form .subject-star{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#155d42;box-shadow:none;isolation:isolate;border-radius:50%}
.subject-star::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fffffff2;box-shadow:0 1px 4px #12352a18;z-index:-1;transition:background .18s ease,box-shadow .18s ease}
.subject-star svg{width:18px;height:18px;transition:transform .18s ease,fill .18s ease;fill:transparent}
.subject-star[aria-pressed="true"]{color:#87620a}.subject-star[aria-pressed="true"]::before{background:#fff5d7}.subject-star[aria-pressed="true"] svg{fill:currentColor}
@media(hover:hover) and (pointer:fine){.subject-star:hover::before{background:#fff;box-shadow:0 3px 9px #12352a30}.subject-star:hover svg{transform:rotate(-10deg) scale(1.15)}}
.subject-star:active svg{transform:scale(.9)}
@media(prefers-reduced-motion:reduce){.subject-star svg,.subject-star::before{transition:none}.subject-star:hover svg,.subject-star:active svg{transform:none}}
@media(max-width:500px){.subject-overview .subject-star-form{top:28px;right:28px}}

.control-tabs{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.control-tabs a{padding:12px 18px;border:1px solid #ccdcd3;border-radius:8px;text-decoration:none;background:white}.control-tabs a[aria-current]{background:#155d42;color:white}.control-tabs span{margin-left:8px;font-size:12px}.control-school-heading{display:flex;align-items:center;gap:16px;margin-bottom:20px}.control-school-heading h2{font-size:20px;margin:0 0 8px}.control-school-heading img{object-fit:contain;flex-shrink:0}.control-schools>.dashboard-panel{margin:0;min-width:0}.control-schools h2,.control-account-row strong,.control-account-row small{overflow-wrap:anywhere}.control-account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #dce6df}.control-account-row>div:first-child{min-width:0}.control-account-row small{display:block;margin-top:5px}.control-account-row .actions{flex-shrink:0;margin:0}.control-filters{display:grid;grid-template-columns:2fr 1.3fr 1fr auto;gap:12px;align-items:end;margin:20px 0}.control-filters>div{min-width:0}.control-filters label{display:block;font-size:13px;margin-bottom:6px}.control-filters input,.control-filters select{margin:0}#admin-dialog{width:min(680px,calc(100vw - 24px));max-height:90dvh;border:1px solid #ccdcd3;border-radius:14px;padding:28px;overflow:auto}#admin-dialog::backdrop{background:#0a241e80}#admin-dialog h2{padding-right:36px;margin-top:0}.control-form>div{margin-bottom:16px}.control-form label{display:block;margin-bottom:6px}.control-form .helptext{font-size:13px;color:#536b60;margin-top:6px}.control-status:empty{display:none}.danger-button{background:#a32720;border-color:#a32720}.signup-layout,.legal-document{max-width:760px;margin:0 auto}.signup-layout .panel>div{margin-bottom:20px}.signup-layout label{display:block;margin-bottom:6px}.signup-layout .helptext{font-size:13px;color:#536b60}.legal-document h2{margin-top:30px;font-size:22px}.legal-document p{line-height:1.75}.control-form input[type=checkbox],.signup-layout input[type=checkbox]{width:20px;height:20px}@media(max-width:800px){.control-filters{grid-template-columns:1fr 1fr}.control-account-row{align-items:flex-start;flex-direction:column}}@media(max-width:500px){.control-filters{grid-template-columns:1fr}#admin-dialog{padding:20px}.control-school-heading{align-items:flex-start}.control-tabs a{padding:10px}.control-account-row .actions{width:100%}.control-account-row .actions .btn{flex:1}}

.control-shell{background:#f5f8f6}.control-shell h1,.control-shell h2,.control-shell h3{font-family:Arial,sans-serif;color:#19352d;font-weight:700}.control-shell h1{font-size:36px}.control-shell main{max-width:1440px;margin:auto;padding:32px}.control-shell #admin-dialog{position:relative}.control-shell #admin-dialog>.modal-close{position:absolute;right:16px;top:16px}.control-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.control-form>div{margin:0;min-width:0}.control-form>.actions,.control-form>.errorlist,.control-form>.control-status{grid-column:1/-1}.control-form input,.control-form select{max-width:100%}@media(max-width:600px){.control-shell main{padding:20px}.control-shell h1{font-size:30px}.control-form{grid-template-columns:1fr}}

.control-form>.registration-code-heading{grid-column:1/-1;border-top:1px solid #dce6df;padding-top:16px}.registration-code-heading h3{margin:0 0 8px}.registration-code-heading p{margin:0;font-size:14px}

/* Superadmin and account access share the LMS's green, white and sans-serif system. */
.control-shell h1,.control-shell h2,.control-shell h3,.auth-shell h1,.auth-shell h2{font-family:inherit;letter-spacing:-.025em}
.control-shell main{margin:0 0 0 248px;max-width:1800px;padding:32px clamp(20px,3vw,48px) 64px}
.control-heading{margin-bottom:28px}.control-heading h1{margin:0;display:flex;align-items:center;gap:12px}.control-heading>.actions{margin:0}.heading-count{font-size:14px;font-weight:600;letter-spacing:0;background:#e7f1eb;color:#276347;padding:5px 11px;border-radius:20px}
.control-shell .btn,.control-shell button,.auth-shell button{border-radius:8px;transition:background-color .15s,border-color .15s}.control-shell .btn:hover,.control-shell button:hover,.auth-shell button:hover{filter:brightness(.97)}
.control-schools{grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:20px}.control-schools>.dashboard-panel{padding:24px;display:flex;flex-direction:column;border-top:4px solid var(--pine);box-shadow:0 3px 12px #123d2a04}.control-school-heading{align-items:flex-start;margin:0 0 24px;gap:16px}.control-school-heading>div{min-width:0}.control-school-heading img{border:1px solid #e1eae4;border-radius:12px;padding:8px;background:#f8fbf9}.control-school-heading h2{line-height:1.35;font-size:18px;margin:0 0 5px}.control-school-heading small{display:block;font-size:13px}.status-pill{display:inline-flex;align-items:center;width:fit-content;border-radius:20px;background:#f0f3f1;color:#52655b;font-size:12px;font-weight:600;padding:4px 10px;line-height:1.5;white-space:nowrap}.control-school-heading .status-pill{margin-top:12px}.status-pill.is-active{background:#e8f4ec;color:#1a6743}.school-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:auto 0 0;padding-top:20px;border-top:1px solid #e3ebe6}.school-card-actions form{margin:0}.school-card-actions .btn,.school-card-actions button{width:100%;font-size:13px;padding:10px 8px}
.control-filters{background:white;padding:20px;border:1px solid #dce6df;border-radius:12px;margin:0 0 20px}.control-filters label{font-weight:600}.control-account-row:first-child{padding-top:0}.control-account-row:last-child{border:0;padding-bottom:0}.account-name{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.account-name strong{font-size:16px}.control-account-row small{font-size:13px}.control-account-row .danger-link{color:#9a3431;border-color:#e6c7c5}.control-account-row .danger-link:hover{background:#fff7f6}
.control-shell input,.control-shell select,.auth-shell input{min-height:46px;border-color:#b9ccc0;border-radius:7px;font-size:16px}.control-shell input[type=checkbox],.auth-shell input[type=checkbox]{min-height:20px;accent-color:var(--pine)}.control-shell :focus-visible,.auth-shell :focus-visible{outline:3px solid #26734e;outline-offset:3px}.control-shell #admin-dialog{box-shadow:0 24px 80px #12332630}.control-shell #admin-dialog h2{font-size:24px;margin:0 0 24px}.control-form label{font-size:14px;font-weight:600}.control-form>.actions{border-top:1px solid #e2eae5;padding-top:20px;margin-top:4px;justify-content:flex-end}.control-form .helptext{font-size:12px;line-height:1.6}.control-form .errorlist{font-size:13px}.control-shell .notice{border-radius:8px}
.auth-shell{min-height:100dvh;display:flex;flex-direction:column;background:#f5f8f6}.auth-shell header{background:white;border-top:0}.auth-shell main{width:100%;min-height:0;flex:1;padding:48px 20px}.auth-shell footer{font-size:12px;background:#fff}.auth-card{max-width:460px;margin:0 auto;padding:32px;border:1px solid #dce6df;border-radius:16px;background:white;box-shadow:0 8px 36px #113a2910}.auth-mark{display:block;margin-bottom:20px}.auth-card h1{font-size:30px;font-weight:650;margin:0 0 24px}.auth-form>div{margin-bottom:20px}.auth-form label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.auth-form>button{width:100%}.auth-switch{border-top:1px solid #e2eae5;margin-top:24px;padding-top:20px;font-size:14px;text-align:center}.auth-switch a{font-weight:600}.signup-card{max-width:680px}.auth-back{display:inline-flex;margin-bottom:24px;font-size:14px}.signup-card h1{margin-bottom:10px}.signup-card>.muted{margin-bottom:28px}.signup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.signup-form>.signup-field{margin:0;min-width:0}.signup-form>.signup-full,.signup-form>.errorlist,.signup-form>button{grid-column:1/-1}.signup-form .consent-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6;margin:0}.consent-label input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0}.agreement-link{display:inline-block;font-size:13px;margin:8px 0 0 30px}.field-guidance{font-size:12px;color:#52685b;margin-top:8px}.field-guidance summary{cursor:pointer}.field-guidance ul{padding-left:18px}.auth-shell .legal-document{background:white;padding:32px;border:1px solid #dce6df;border-radius:12px}.auth-shell .legal-document h1{font-size:32px;font-weight:650}.auth-shell .legal-document h2{font-size:20px;font-weight:650}
@media(min-width:801px){.control-shell.sidebar-collapsed main{margin-left:80px}}
@media(max-width:800px){.control-shell main{margin-left:0;padding:24px 20px 48px}.control-heading{gap:18px}.control-heading .actions .btn{max-width:none}.control-shell .control-school-heading h2{font-size:18px}}
@media(max-width:500px){.control-heading{align-items:flex-start;flex-direction:column}.control-heading>.actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.control-schools>.dashboard-panel{padding:20px}.control-shell .control-filters{padding:16px}.auth-shell main{padding:24px 16px}.auth-card{padding:24px 20px}.signup-form{grid-template-columns:1fr}.auth-shell .legal-document{padding:24px 20px}.auth-shell .bar{min-height:68px}.control-form>.actions>*{flex:1}.control-shell #admin-dialog h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.control-shell .btn,.control-shell button,.auth-shell button{transition:none}}

.platform-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.platform-stats>a,.platform-stats>div{background:white;border:1px solid #dce6df;border-radius:12px;padding:20px;text-decoration:none;display:flex;flex-direction:column;gap:12px}.platform-stats span{font-size:13px;color:#536b60}.platform-stats strong{font-size:32px;line-height:1.2;color:#155d42}.overview-filters{grid-template-columns:2fr 1fr auto auto}.overview-filters>small{align-self:center;font-size:12px;color:#536b60}.platform-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.platform-columns .section-heading{align-items:center;flex-wrap:wrap;margin-bottom:20px}.attention-list>a,.attention-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #e3ebe6;font-size:14px;text-decoration:none}.attention-list strong{font-size:18px}.processing-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.processing-stats>div{display:flex;flex-direction:column;gap:8px}.processing-stats strong{font-size:28px;color:#155d42}.processing-stats span{font-size:12px;color:#536b60}.metric-note{display:block;font-size:12px;color:#536b60;margin-top:16px}.platform-trend,.platform-schools{margin-top:20px}.platform-trend .section-heading{align-items:center}.platform-trend .section-heading>strong{font-size:14px}.submission-chart{height:160px;display:flex;align-items:flex-end;gap:3px;margin:28px 0 10px;border-bottom:1px solid #c9dcd1;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f0f5f2 39px,#f0f5f2 40px)}.submission-bar{flex:1;min-width:0;background:#287650;border-radius:3px 3px 0 0}.chart-axis{display:flex;justify-content:space-between;color:#607267;font-size:12px}.period-totals{display:flex;flex-wrap:wrap;gap:24px;padding:18px 0;margin-top:12px;border-top:1px solid #e3ebe6;font-size:14px}.period-totals strong{color:#155d42}.daily-counts{font-size:13px}.daily-counts summary{cursor:pointer;color:#155d42}.daily-count-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:14px}.daily-count-grid>div{display:flex;justify-content:space-between;background:#f5f8f6;border-radius:6px;padding:8px}.metric-empty{padding:28px 0;color:#607267}.platform-schools h2{margin-bottom:16px}.list-pagination:empty{display:none}.list-pagination{margin-bottom:0}.activity-filters{grid-template-columns:1.3fr 1fr 1.3fr 1.5fr auto}.ticket-filters{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.ticket-filters>button{align-self:end}.ticket-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #e3ebe6;text-decoration:none}.ticket-row:first-child{padding-top:0}.ticket-row:last-of-type{border-bottom:0}.ticket-row>div:first-child{min-width:0}.ticket-row strong{display:block;font-size:16px;overflow-wrap:anywhere;margin:6px 0}.ticket-row small{display:block;font-size:12px}.ticket-badges{display:flex;flex-wrap:wrap;gap:8px}.priority-high{background:#fff2d7;color:#7c5215}.priority-urgent{background:#fbe9e7;color:#9b342b}.ticket-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px;align-items:start}.ticket-layout.requester-layout{grid-template-columns:1fr;max-width:1000px}.ticket-heading{margin-top:20px;align-items:flex-start}.ticket-heading h1{margin:8px 0 14px;font-size:28px;display:block}.ticket-workflow small{display:block;font-size:12px;margin-top:6px}.ticket-compose>div{margin-bottom:20px}.ticket-compose label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.ticket-compose .helptext{font-size:12px;color:#607267;margin-top:8px}.ticket-compose input[type=checkbox]{width:20px;height:20px;min-height:20px}.ticket-reply{padding:20px 0;border-bottom:1px solid #e3ebe6;overflow-wrap:anywhere}.ticket-reply:first-child{padding-top:0}.ticket-reply>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.ticket-reply small{font-size:12px}.ticket-reply p{white-space:normal;margin-bottom:0}.ticket-reply.internal-note{background:#fff8e8;border:1px solid #eddfb9;border-radius:8px;margin:16px 0;padding:16px}.ticket-conversation>.ticket-compose{padding-top:24px}.control-shell table{font-size:14px}.control-shell th{font-size:12px;color:#536b60;background:#f5f8f6}.control-shell td{vertical-align:top}.control-shell td small{font-size:12px}
@media(max-width:1100px){.platform-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-filters,.activity-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-columns{grid-template-columns:1fr}.ticket-layout{grid-template-columns:1fr}.ticket-workflow{grid-row:1}.ticket-workflow .ticket-compose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ticket-workflow .ticket-compose>div{margin:0}.ticket-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.platform-stats{gap:10px}.platform-stats>a,.platform-stats>div{padding:16px}.platform-stats strong{font-size:28px}.overview-filters,.activity-filters,.ticket-filters{grid-template-columns:1fr}.platform-columns .dashboard-panel,.platform-trend,.platform-schools{padding:20px}.ticket-row{align-items:flex-start;flex-direction:column;gap:10px}.ticket-workflow .ticket-compose{grid-template-columns:1fr}.ticket-heading h1{font-size:24px}.platform-trend .section-heading{gap:10px}.submission-chart{gap:2px}}

/* School details are a single-column form with a separate, spacious code section. */
.control-form.school-settings-form{grid-template-columns:minmax(0,1fr);gap:24px}.school-settings-form>div{min-width:0}.school-settings-form .registration-code-heading{padding-top:24px;margin-top:4px}.school-settings-form .registration-code-heading h3{font-size:18px;margin:0 0 8px}.school-settings-form input:not([type=file]){min-height:48px}.school-logo-upload{display:flex;gap:20px;align-items:center;padding:16px;border:1px solid #dce6df;border-radius:10px;background:#f8fbf9}.school-logo-upload>img{flex:0 0 80px;object-fit:contain;border-radius:8px;background:white;padding:8px}.school-logo-upload>div{min-width:0;flex:1}.school-logo-upload input[type=file]{border:0;background:transparent;padding:0;min-height:0;font-size:13px}.school-logo-upload input::file-selector-button{border:1px solid #b9ccc0;background:white;color:#155d42;border-radius:7px;min-height:44px;padding:8px 12px;margin-right:10px;cursor:pointer;font:inherit;font-weight:600}.school-logo-upload small{display:block;font-size:12px;margin-top:8px}.school-settings-form .helptext{margin-top:8px}.control-shell #admin-dialog:has(.school-settings-form){width:min(760px,calc(100vw - 24px));padding:32px}.school-settings-form>.actions{margin-top:0;padding-top:24px}@media(max-width:500px){.control-shell #admin-dialog:has(.school-settings-form){padding:24px 20px}.school-logo-upload{flex-direction:column;align-items:flex-start;gap:12px}.school-logo-upload>div{width:100%}.school-settings-form .registration-code-heading p{font-size:13px}.control-form.school-settings-form{gap:22px}}

.school-detail-group{min-width:0;margin:0;padding:20px;border:1px solid #dce6df;border-radius:10px;display:grid;gap:20px}.school-detail-group legend{padding:0 8px;font-size:17px;font-weight:600;color:var(--pine)}.school-detail-group>div{min-width:0}.school-detail-group textarea{resize:vertical;min-height:100px}.school-settings-form>p{margin:0;font-size:14px}

.subject-section-badges{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px}.subject-section-badges .subject-grade{margin:0;white-space:normal;overflow-wrap:anywhere;max-width:100%}

.subject-cover-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.subject-field .subject-cover-controls input[type=file]{flex:1 1 220px;width:auto;min-width:0}.subject-cover-controls button{flex:0 0 auto;min-height:44px}.subject-cover-controls button:disabled{opacity:.5;cursor:default}

.question-content img{max-width:100%;height:auto;max-height:420px;object-fit:contain}

.btn.navigation-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:10px 16px;font-size:16px;font-weight:600;line-height:1.4;text-decoration:none;white-space:normal;text-align:center}

.messaging-list-row{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.messaging-list-row>.inbox-row{flex:1;min-width:0;border:0}.messaging-list-row>form{margin:0;flex-shrink:0}.message-delete-form{margin:12px 0 0}.message-delete-form button{color:#a32720;border-color:#d8b9b6;min-height:44px}@media(max-width:500px){.messaging-list-row{flex-wrap:wrap;padding-bottom:16px;gap:8px}.messaging-list-row>.inbox-row{flex-basis:100%}}

.messaging-workspace{display:grid;gap:24px;max-width:1000px}.messaging-workspace>h1,.messaging-workspace>.dashboard-panel{margin:0}.messaging-workspace>.btn{justify-self:start}.messaging-workspace>.dashboard-panel{padding:24px}.messaging-workspace form.dashboard-panel{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.messaging-workspace form.dashboard-panel>div{flex:1;min-width:200px}.messaging-workspace form.dashboard-panel select{margin:8px 0 0}.messaging-workspace form.dashboard-panel>button{margin:0;min-height:44px}@media(max-width:500px){.messaging-workspace{gap:16px}.messaging-workspace>.dashboard-panel{padding:16px}}

.signup-change{margin:0 0 24px}.signup-change button{font-size:14px;min-height:44px;padding:8px 12px}

.activity-action-panel{max-width:680px;margin:0 auto}.activity-action-panel h1{font-size:28px;margin:0 0 16px}.activity-action-panel form>div:not(.actions){margin:0 0 16px}.activity-action-panel label{display:block;margin-bottom:8px}.activity-action-panel .actions{margin:24px 0 0;gap:8px;flex-wrap:wrap}

.activity-manage{position:relative;flex:none}.activity-manage>summary{display:flex;align-items:center;gap:8px;list-style:none;min-height:44px;cursor:pointer}.activity-manage>summary::-webkit-details-marker{display:none}.activity-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;width:220px;max-width:calc(100vw - 48px);background:white;border:1px solid #dce6df;border-radius:10px;padding:4px;box-shadow:0 8px 24px #172d2520}.activity-menu a,.activity-menu button{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 12px;margin:0;border:0;border-radius:6px;background:white;color:#183c30;font:inherit;font-size:14px;text-decoration:none;text-align:left}.activity-menu form{display:block;width:100%;margin:0}.activity-menu button{justify-content:flex-start}.activity-menu a:hover,.activity-menu button:hover{background:#edf5ef}.activity-menu .activity-delete{color:#a32720}.activity-menu a:focus-visible,.activity-menu button:focus-visible{outline-offset:-3px}
@media(max-width:600px){.teacher-section .ts-activity-actions{width:100%;justify-content:flex-end}}

.activity-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:16px 0}.activity-page-heading h1{margin:0;min-width:0;overflow-wrap:anywhere;flex:1 1 300px}.activity-page-heading>.btn{flex:none}
