.classroom-active .account-layout { grid-template-columns: minmax(0,1fr); max-width: 1160px; }
.classroom-active .account-intro { display: none; }
.teaching-workspace { --teaching-line:#d6d8c9; --teaching-ink:#214e43; margin-block:2rem; min-width:0; }
.teaching-workspace h1 { font-size:clamp(1.5rem,3vw,2rem); margin:0; line-height:1.7; }
.teaching-workspace h2 { font-size:1.25rem; line-height:1.8; margin:0; }
.teaching-workspace h3,.teaching-workspace h4 { line-height:1.8; margin:0 0 .5rem; overflow-wrap:anywhere; }
.teaching-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.teaching-heading .account-actions { margin:0; }
.teaching-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-block:1.5rem; }
.teaching-stats>div { padding:1rem; border:1px solid var(--teaching-line); background:#edf3e9; border-radius:14px; display:grid; gap:.3rem; }
.teaching-stats strong { font-size:1.8rem; }.teaching-stats span { line-height:1.7; }
.teaching-layout { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,2fr); gap:1.5rem; align-items:start; }
.teaching-class-list { display:grid; gap:.75rem; padding:1rem; border:1px solid var(--teaching-line); border-radius:14px; }
.teaching-class-button { text-align:start; overflow-wrap:anywhere; }
.teaching-class-button[aria-pressed=true],.teaching-tabs button[aria-pressed=true] { background:var(--teaching-ink); color:#fff; }
.teaching-tabs { display:flex; flex-wrap:wrap; gap:.6rem; margin-block:1.2rem; }
.teaching-empty { padding:1.5rem; background:#f6f3ea; border:1px dashed #aab9aa; border-radius:12px; line-height:1.9; }
.teaching-form { display:grid; gap:1rem; margin-block:1rem; }
.teaching-inline-form { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.teaching-field { display:grid; gap:.45rem; min-width:0; font-weight:600; }
.teaching-field input,.teaching-field select,.teaching-field textarea { font:inherit; color:var(--teaching-ink); background:#fff; width:100%; min-width:0; box-sizing:border-box; border:1px solid #899a8d; border-radius:9px; padding:.75rem; min-height:46px; }
.teaching-field textarea { min-height:100px; resize:vertical; line-height:1.8; }
.teaching-editor { padding:1.3rem; margin-block:1rem; border:2px solid #b77d57; border-radius:14px; background:#faf6ed; }
.teaching-form fieldset { border:1px solid var(--teaching-line); border-radius:10px; padding:1rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.teaching-form legend { padding-inline:.5rem; }.teaching-check { display:flex; align-items:center; gap:.65rem; min-height:44px; cursor:pointer; }.teaching-check input { accent-color:var(--teaching-ink); width:18px; height:18px; flex-shrink:0; }
.teaching-assignment { border:1px solid var(--teaching-line); border-radius:14px; padding:1.2rem; margin-block:1rem; }
.teaching-meta { display:flex; flex-wrap:wrap; gap:.8rem; font-size:.9rem; margin-block:.5rem; }
.teaching-copy { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.9; }
.teaching-badge { display:inline-block; margin-inline-end:.4rem; padding:.3rem .65rem; font-size:.85rem; border-radius:30px; background:#edf3e9; color:#214e43; line-height:1.7; }
.state-submitted { background:#e1eff2; color:#245665; }.state-revision,.state-late { background:#fbe9d9; color:#833e20; }.state-archived { background:#eeede8; color:#575951; }
.teaching-responses { margin-top:1rem; }.teaching-responses summary { cursor:pointer; min-height:44px; padding-block:.5rem; font-weight:700; line-height:1.8; }
.teaching-person { padding-block:1rem; border-top:1px solid var(--teaching-line); }.teaching-person p { margin-block:.5rem; }
.teaching-workspace :focus-visible { outline:3px solid #af512e; outline-offset:3px; }
.teaching-workspace button:hover:not(:disabled) { box-shadow:0 0 0 2px #214e4320; }
.class-chat { margin-block:1.5rem; padding-block:1rem; border-top:1px solid var(--teaching-line); }
.class-chat-messages { max-height:560px; overflow:auto; overscroll-behavior:contain; padding:.6rem; margin-block:1rem; border:1px solid var(--teaching-line); border-radius:12px; background:#f6f3ea; }
.class-chat-message { padding:1rem; margin-block:.7rem; border:1px solid #d6d8c9; border-radius:12px; background:#fffdf8; }
.class-chat-message.own { background:#edf3e9; border-inline-start:3px solid #214e43; }
.class-chat-meta { display:flex; gap:.5rem; flex-wrap:wrap; align-items:baseline; font-size:.82rem; line-height:1.8; color:#52645a; }
.class-chat-meta strong { color:#214e43; font-size:.95rem; overflow-wrap:anywhere; }
.class-chat-message .account-button { padding:.4rem .75rem; font-size:.85rem; }
.class-chat-quote { margin: .7rem 0; padding:.7rem 1rem; border-inline-start:3px solid #b77d57; background:#f6f3ea; overflow-wrap:anywhere; line-height:1.8; }
.class-chat-quote p { margin:.3rem 0; white-space:pre-wrap; }
.class-chat button[aria-pressed=true] { background:#214e43; color:#fff; }
.profile-lessons { margin-block:1.5rem 2rem; padding-bottom:1.5rem; border-bottom:1px solid var(--teaching-line); }
.profile-lesson-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.profile-lesson-card { display:flex; flex-direction:column; gap:.6rem; padding:1.2rem; border:1px solid var(--teaching-line); border-radius:14px; background:#f4f6ed; min-width:0; }
.profile-lesson-card h3,.profile-lesson-card p { margin:0; }.profile-lesson-card .account-button { margin-top:auto; align-self:start; }
.profile-lesson-card progress { width:100%; height:12px; accent-color:#214e43; }.profile-lesson-status,.profile-learner-name { font-weight:600; }
.extra-practice,.extra-assigned { padding-block:1.5rem; border-bottom:1px solid var(--teaching-line); }
.extra-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-block:1rem; }
.extra-template { padding:1rem; border:1px solid var(--teaching-line); border-radius:12px; background:#fffdf8; min-width:0; }
.extra-template .teaching-copy { max-height:180px; overflow:auto; }.state-pinned { background:#f8e6cc; color:#733f20; }
.extra-section-title { margin-block:1.5rem .15rem!important; }.extra-template.is-suggested { border-color:#c99261; background:linear-gradient(145deg,#fffdf8,#fbf1e4); box-shadow:0 8px 22px rgba(152,69,36,.08); }.extra-template-title { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }.extra-template-title h4 { margin:0; }.extra-system-badge { flex:none; background:#f3dfc8; color:#733f20; }
.group-practice { margin-block:1rem; padding:1rem; border:1px solid #b77d57; border-radius:12px; }.group-practice summary { cursor:pointer; min-height:44px; line-height:1.8; padding-block:.6rem; overflow-wrap:anywhere; }
@media(max-width:700px) { .extra-library { grid-template-columns:minmax(0,1fr); } }
@media(max-width:700px) { .profile-lesson-grid { grid-template-columns:minmax(0,1fr); }.profile-lesson-card { padding:1rem; } }
@media(max-width:700px) { .teaching-layout { grid-template-columns:minmax(0,1fr); }.teaching-stats { gap:.5rem; }.teaching-stats>div { padding:.7rem; }.teaching-stats span { font-size:.85rem; }.teaching-heading { align-items:start; }.teaching-form fieldset { grid-template-columns:minmax(0,1fr); }.teaching-assignment,.teaching-editor { padding:1rem; }.classroom-active .account-card { padding:1rem; }.teaching-tabs .account-button { flex:1; padding:.65rem; } }

.teacher-activity { margin-block:1rem 2rem; padding:1.2rem; border:2px solid #b77d57; border-radius:14px; background:#fffdf8; }
.teacher-activity [aria-pressed=true] { background:#214e43; color:#fff; }
.teacher-activity-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:1rem; margin-block:1rem; max-height:580px; overflow:auto; }
.teacher-activity-list>h3,.teacher-activity-list>.account-note { grid-column:1/-1; }
.teacher-activity-row { padding:1rem; border:1px solid var(--teaching-line); border-radius:12px; min-width:0; }
.teacher-activity-row h3 { margin-top:0; }.teacher-activity-row p { margin-block:.6rem; overflow-wrap:anywhere; }.activity-title { font-weight:600; }.activity-late { color:#994128; }
.exercise-attachment .account-button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }

.teacher-notification.has-new { background:#984524; border-color:#984524; color:#fff; font-weight:700; }.teacher-new-status { font-weight:700; color:#733f20; }

.teacher-navigation { position:sticky; top:82px; z-index:20; background:#fffdf8; border:1px solid var(--teaching-line); border-radius:12px; padding:.7rem; margin-block:1rem; box-shadow:0 4px 12px #214e4312; scroll-margin-top:82px; }
.teacher-nav-tabs { display:flex; flex-wrap:wrap; gap:.45rem; }.teacher-nav-tabs button { flex:1; white-space:nowrap; padding:.65rem .8rem; }.teacher-nav-tabs [aria-pressed=true] { background:#214e43; color:white; }
.teacher-quick-select { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:.6rem; }.teacher-quick-select .teaching-field { margin:0; min-width:0; }.teacher-quick-select select { min-width:0; width:100%; }
.teacher-learners { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; }.teacher-learners>h2 { grid-column:1/-1; }.teacher-learner-card { border:1px solid var(--teaching-line); border-radius:12px; padding:1rem; min-width:0; }
.teaching-class-list { max-height:420px; overflow:auto; }.teacher-activity[hidden] { display:none; }
@media(max-width:700px) { .teacher-nav-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.teacher-nav-tabs button { font-size:.84rem; padding:.65rem .4rem; min-height:46px; white-space:normal; }.teacher-quick-select { grid-template-columns:minmax(0,1fr); }.teacher-quick-select .teaching-field>span { font-size:.8rem; }.teacher-quick-select select { padding:.65rem; font-size:.86rem; }.teacher-navigation { position:relative; top:auto; padding:.65rem; }.teaching-class-list { max-height:180px; } }

.teacher-nav-tabs [data-new-count]::after { content:attr(data-new-count); display:inline-flex; align-items:center; justify-content:center; min-width:1.5em; min-height:1.5em; border-radius:50%; margin-inline-start:.35rem; background:#984524; color:white; font-weight:700; }.teacher-connection-tools { margin-block:1.5rem; border:1px solid var(--teaching-line); border-radius:12px; padding:1rem; }.teacher-connection-tools>summary { cursor:pointer; min-height:44px; line-height:1.8; }

@media(max-width:700px) { .teaching-class-list { display:none; } }

.teacher-navigation,.admin-navigation { background:rgba(255,253,248,.96); border:1px solid #d6d8c9; box-shadow:0 12px 30px rgba(33,78,67,.1); backdrop-filter:blur(12px); }
.teacher-nav-tabs button,.admin-navigation button { border-radius:10px; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.teacher-nav-tabs button:hover:not(:disabled),.admin-navigation button:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 6px 18px rgba(33,78,67,.12); }
.teacher-nav-tabs [aria-pressed=true],.admin-navigation [aria-pressed=true] { background:#214e43; color:#fff; box-shadow:0 5px 14px rgba(33,78,67,.16); }
.admin-access { border:1px solid #d6d8c9; background:#f6f3ea; }
.admin-access-row { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 0; border-top:1px solid #d6d8c9; }
.admin-access-row:first-of-type { border-top:0; }
.admin-access-row span { color:#52645a; font-size:.9rem; }
@media(max-width:560px){.admin-access-row{align-items:flex-start;flex-direction:column;}.admin-access-row .account-button{margin-inline:0;}}

.direct-inbox { margin-block:1rem; border:1px solid var(--teaching-line); border-radius:12px; padding:1rem; background:#fffdf8; }.direct-inbox>summary { cursor:pointer; min-height:44px; display:list-item; line-height:1.8; font-weight:700; }.direct-inbox>summary[data-unread]:not([data-unread="0"]) { color:#984524; }.direct-thread-list { display:flex; flex-wrap:wrap; gap:.6rem; margin-block:1rem; max-height:200px; overflow:auto; }.direct-thread-list [aria-pressed=true] { background:#214e43; color:white; }
.admin-workspace{min-width:0;display:grid;gap:1rem}.admin-workspace>section{display:grid;gap:1rem}.admin-navigation{display:flex;flex-wrap:wrap;gap:.5rem;position:sticky;top:82px;z-index:4;background:var(--paper,#fffaf0);padding:.75rem;border:1px solid #d6d8c9;border-radius:12px}.admin-navigation button{min-height:44px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.admin-card{padding:1.1rem;border:1px solid #d6d8c9;border-radius:16px;background:#fffdf7;min-width:0;overflow-wrap:anywhere}.admin-card h3{margin-top:0}.admin-card p{margin:.6rem 0}.admin-card .account-button{margin:.3rem}.admin-profile-detail,.admin-invoice-detail,.admin-billing-editor{scroll-margin-top:7rem}.admin-workspace input,.admin-workspace select,.admin-workspace textarea{max-width:100%;min-width:0}.admin-workspace .teaching-form{display:grid;gap:1rem}.admin-workspace .teaching-field{display:grid;gap:.35rem}.admin-workspace .teaching-check{display:flex;gap:.5rem;align-items:center}.admin-workspace .teaching-check input{width:auto}.admin-education{min-width:0}@media(max-width:700px){.admin-navigation{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.admin-navigation button{width:100%;white-space:normal}.admin-card{padding:.8rem}.admin-profile-detail,.admin-invoice-detail{scroll-margin-top:1rem}}

/* Admin communication centre uses the existing Ronevis paper and green palette. */
.admin-communications{min-width:0}.admin-comms-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-comms-heading h2,.admin-comms-heading p{margin-block:.15rem}.admin-comms-tabs{display:flex;gap:.45rem;padding:.35rem;border:1px solid #d6d8c9;border-radius:13px;background:#f6f3ea;overflow-x:auto;scrollbar-width:thin}.admin-comms-tabs .account-button{min-height:44px;white-space:nowrap;margin:0}.admin-comms-tabs [aria-pressed=true]{background:#214e43;color:#fff;border-color:#214e43}.admin-comms-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.2rem;border:1px solid #d6d8c9;border-radius:16px;background:#fffdf7}.admin-comms-panel .teaching-field:has(textarea),.admin-comms-panel .account-button,.admin-group-editor fieldset,.admin-group-editor .account-actions{grid-column:1/-1}.admin-comms-panel textarea{min-height:150px;resize:vertical}.admin-comms-panel>.account-button{justify-self:start}.admin-comms-icon{display:inline-grid;width:1.1rem;height:1.1rem;margin-inline-end:.4rem;vertical-align:-.2rem}.admin-comms-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-comms-list,.admin-group-grid{display:grid;gap:.85rem}.admin-group-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.admin-message-card,.admin-group-card{padding:1.1rem;border:1px solid #d6d8c9;border-radius:16px;background:#fffdf7}.admin-message-head,.admin-message-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-message-head h3,.admin-message-head p{margin:.1rem 0}.admin-message-head time{color:#52645a;font-size:.82rem;white-space:nowrap}.admin-message-body{white-space:pre-wrap;line-height:1.9}.admin-message-meta{align-items:center;padding-top:.85rem;border-top:1px solid #e4e2d8;flex-wrap:wrap}.admin-message-meta span{color:#52645a}.admin-group-card.is-archived{opacity:.68}.admin-comms-actions{display:flex;justify-content:flex-start}.admin-teacher-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.55rem;border:0;padding:0;margin:0}.admin-teacher-picker legend{font-weight:700;margin-bottom:.6rem}.admin-teacher-option{display:grid;grid-template-columns:auto 1fr;gap:.15rem .65rem;align-items:center;padding:.75rem;border:1px solid #d6d8c9;border-radius:12px;cursor:pointer}.admin-teacher-option:has(input:checked){border-color:#214e43;background:#edf3e9}.admin-teacher-option input{grid-row:1/3;width:auto}.admin-teacher-option small{color:#52645a;overflow-wrap:anywhere}
@media(max-width:700px){.admin-comms-panel{grid-template-columns:1fr;padding:.85rem}.admin-comms-panel>*{grid-column:1}.admin-message-head{display:grid}.admin-message-head time{white-space:normal}.admin-comms-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:-.2rem;overflow:visible}.admin-comms-tabs .account-button{padding-inline:.45rem;white-space:normal;font-size:.82rem}.admin-navigation button{padding-inline:.45rem;font-size:.8rem;overflow-wrap:normal;word-break:normal}.admin-message-card,.admin-group-card{padding:.85rem}}

/* Administrator-only handwriting route designer. */
.admin-handwriting{display:grid;gap:1rem}.admin-handwriting-head{padding:1rem 1.1rem;border:1px solid #d6d8c9;border-radius:16px;background:#fffdf7}.admin-handwriting-head h2{margin:0 0 .35rem}.admin-handwriting-head p{margin:0;line-height:1.9;color:#586863}.admin-handwriting-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.admin-handwriting-form-help{color:#586863;font-weight:500;line-height:1.65}.admin-handwriting-letter-group{display:grid;gap:.65rem}.admin-handwriting-letter-group h4{margin:0;padding:.55rem .75rem;border-inline-start:4px solid #214e43;border-radius:8px;background:#f1f4eb;font-size:1rem}.admin-handwriting-letter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}.admin-handwriting-saved-list .admin-card.is-invalid{border-color:#d9a08d;background:#fff8f4}.admin-handwriting-saved-list .admin-card button:disabled{cursor:not-allowed;opacity:.48}.admin-handwriting-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);gap:1rem}.admin-handwriting-stage-wrap,.admin-handwriting-side,.admin-handwriting-saved{padding:1rem;border:1px solid #d6d8c9;border-radius:18px;background:#fffdf7}.admin-handwriting-stage{display:block;width:100%;max-height:620px;aspect-ratio:320/260;border:1px solid #ded6c8;border-radius:14px;background:#fffaf2;touch-action:none;cursor:crosshair;user-select:none}.admin-handwriting-baseline{stroke:#759495;stroke-width:1.3}.admin-handwriting-ghost{fill:rgba(33,78,67,.16);font:700 142px Vazirmatn,Tahoma,sans-serif}.admin-handwriting-route,.admin-handwriting-draft{fill:none;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.admin-handwriting-route.is-dot{stroke-width:3;fill:currentColor}.admin-handwriting-draft{stroke:#b94f35;stroke-dasharray:5 5}.admin-handwriting-number text{font:700 11px Vazirmatn,sans-serif;pointer-events:none}.admin-handwriting-number-leader{stroke-width:1.2;stroke-dasharray:2 3;opacity:.72}.admin-handwriting-status{margin:.65rem 0 0;color:#586863;font-size:.82rem}.admin-handwriting-side h3,.admin-handwriting-saved h3{margin-top:0}.admin-handwriting-strokes{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.admin-handwriting-strokes li{display:grid;grid-template-columns:30px 1fr auto auto;gap:.5rem;align-items:center;padding:.55rem;border:1px solid #e4ddd1;border-radius:10px}.admin-handwriting-strokes li button{width:32px;height:32px;border:1px solid #dcc9bd;border-radius:8px;background:#fff;color:#a43f2d;font-size:1.2rem}.admin-handwriting-step-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#214e43;font-weight:800}.admin-handwriting-strokes small{color:#697873}.admin-handwriting-actions{display:flex;flex-wrap:wrap;gap:.55rem}.admin-handwriting-saved-list{display:grid;gap:1rem}.admin-handwriting-saved-list .admin-card{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.admin-handwriting-saved-list .admin-card strong{font-size:1.4rem}.admin-handwriting-saved-list .admin-card span{margin-inline-end:auto;color:#60706b}@media(max-width:760px){.admin-handwriting-controls,.admin-handwriting-workspace{grid-template-columns:1fr}.admin-handwriting-stage-wrap{padding:.6rem}.admin-handwriting-side{order:2}.admin-handwriting-actions{display:grid;grid-template-columns:1fr 1fr}.admin-handwriting-actions button{width:100%}}

@media(max-height:500px){.admin-navigation{position:relative;top:auto}}

/* The designer uses the learner practice coordinate system and rendering styles. */
.admin-handwriting-stage{width:min(100%,520px);max-height:none;margin-inline:auto;aspect-ratio:1;background:#fff4e8}
.admin-handwriting-baseline{stroke:#356c83;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.62}
.admin-handwriting-ghost{fill:rgba(185,79,53,.43);font:700 120px Vazirmatn,Tahoma,Arial,sans-serif}
.admin-handwriting-route,.admin-handwriting-draft{fill:none;stroke-linecap:round;stroke-linejoin:round}
.admin-handwriting-stage .route-main{display:block;stroke-width:3;stroke-dasharray:2 8}
.admin-handwriting-stage .route-cap,.admin-handwriting-stage .route-lead,.admin-handwriting-stage .route-four,.admin-handwriting-stage .route-five{display:block;stroke-width:3.5;stroke-dasharray:2 6}
.admin-handwriting-stage .route-dots{display:block;fill:rgba(104,79,86,.14);stroke:#684f56;stroke-width:2.6}
.admin-handwriting-route,.admin-handwriting-anchor{opacity:.62}
.admin-handwriting-draft{stroke:#b94f35;stroke-width:3;stroke-dasharray:2 8}
.admin-handwriting-number text{font:700 11px Vazirmatn,sans-serif;pointer-events:none}
