:root{color-scheme:dark;--bg:#101616;--panel:#192222;--line:#304040;--text:#edf3ee;--muted:#a8b9b5;--green:#b7e1a0;--control:#233030;--field:#101b19;--tint:#273a30;--hero-start:#263b30;--hero-end:#1a2926;--hero-line:#405b46;--avatar:#334b40;--note:#203028;--track:#35413a;--border:#50615c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:1.0rem/1.5 system-ui,sans-serif}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 36px}.brand{font-size:1.4375rem;font-weight:750;color:var(--text);text-decoration:none}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-icon{display:block;width:1.55em;height:1.55em;flex:none}.tag,.pill{font-size:0.75rem;padding:5px 10px;border:1px solid var(--line);border-radius:30px;color:var(--muted)}.local{margin-left:auto;font-size:0.8125rem;color:var(--muted)}.shell{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 84px)}aside{padding:36px 22px;border-right:1px solid var(--line);position:relative}.eyebrow{font-size:0.6875rem;letter-spacing:2px;color:var(--muted);margin-bottom:20px}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--control);color:var(--text);padding:10px 16px}button:hover{border-color:var(--green)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}aside button{display:block;width:100%;text-align:left;background:transparent;border-color:transparent;margin-bottom:8px;font-size:0.875rem}aside button.active{background:var(--tint);color:var(--green)}.aside-bottom{margin-top:170px;font:1.75rem/1.25 Georgia,serif;color:var(--text)}.aside-bottom p{font:0.75rem system-ui;color:var(--muted)}main{padding:44px 5%;max-width:1500px;width:100%}h1{font:2.625rem/1.15 Georgia,serif;margin:6px 0 12px;letter-spacing:-1px}h2{font-size:1.25rem;margin:0 0 10px}p{color:var(--muted);margin:8px 0 18px}.top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.primary{background:var(--green);border-color:var(--green);color:#172c20;font-weight:650}.hero{background:linear-gradient(110deg,var(--hero-start),var(--hero-end));border:1px solid var(--hero-line);border-radius:16px;padding:26px 30px;display:flex;justify-content:space-between;gap:25px;margin:25px 0 34px}.hero h2{font:1.6875rem Georgia,serif}.hero p{max-width:570px;margin-bottom:0}.hero .symbol{font:4.375rem Georgia;color:var(--green);padding:0 20px;align-self:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.stat{padding:19px 22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.stat strong{font:2.0rem Georgia;display:block}.stat span{color:var(--muted);font-size:0.8125rem}.section-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:22px}.avatar{width:42px;height:42px;display:grid;place-items:center;background:var(--avatar);border-radius:50%;color:var(--green);font-weight:700;margin-bottom:16px}.card h2{font-size:1.125rem}.card p{font-size:0.875rem}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card .row{margin-top:20px}.small{font-size:0.75rem;color:var(--muted)}.subtle{background:transparent}.empty{padding:40px;border:1px dashed var(--line);border-radius:12px;text-align:center}.banner{border-left:3px solid var(--green);padding:10px 16px;margin:25px 0;color:var(--muted);font-size:0.8125rem}label{display:block;font-size:0.875rem;margin:18px 0 6px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--field);color:var(--text);font:inherit}textarea{min-height:90px}input[type=checkbox]{width:auto;margin-right:10px}dialog{width:min(650px,94vw);max-height:90vh;border:1px solid var(--border);border-radius:16px;padding:28px;background:var(--panel);color:var(--text)}dialog::backdrop{background:#000a}dialog h2{font:1.75rem Georgia}dialog .row{margin-top:24px;justify-content:flex-end}.problem{padding:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;break-inside:avoid}.problem .expression{font-size:1.4375rem;flex:1}.problem input{max-width:140px}.sheet{max-width:800px;margin:auto}.sheet h1{font-size:2.0rem}.workspace{height:70px}.progress{height:7px;background:var(--track);border-radius:8px;margin:20px 0;overflow:hidden}.progress div{background:var(--green);height:100%}.question{font:3.0rem Georgia;text-align:center;margin:35px 0}.practice{max-width:650px;margin:auto}.practice input{font-size:1.75rem;text-align:center}.notes{white-space:pre-line;background:var(--note);padding:20px;border-radius:10px}#notice{position:fixed;bottom:24px;right:24px;max-width:90vw;background:var(--green);color:#14261b;padding:0;border-radius:10px}#notice:not(:empty){padding:14px 22px}a{color:var(--green)}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:190px 1fr}main{padding:30px 5%}.tag{display:none}}@media(max-width:650px){header{padding:16px;height:auto;gap:10px}.brand{font-size:1.1875rem}.local{font-size:0.625rem}.shell{display:block}aside{padding:12px;border-right:0;border-bottom:1px solid var(--line);display:flex;gap:4px}aside button{font-size:0.75rem;padding:8px;width:auto;margin:0}.eyebrow,.aside-bottom{display:none}.top{align-items:flex-start;flex-direction:column}h1{font-size:2.125rem}.hero{padding:22px}.hero .symbol{display:none}.grid{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px}.stat span{font-size:0.6875rem}.stat strong{font-size:1.5625rem}.problem{padding:15px 0;gap:8px}.problem input{max-width:90px}.problem .expression{font-size:1.25rem}}@media print{ :root{color-scheme:light}body{background:white;color:black}header,aside,.no-print,#notice,dialog{display:none!important}.shell{display:block}main{padding:0;max-width:none}.sheet p,.small{color:#333}.problem{border-color:#bbb}.workspace{height:95px}.problem input{display:none}.sheet{max-width:none}h1{color:black}.page-break{break-before:page}.sheet .answer-line{display:inline-block;width:100px;border-bottom:1px solid black}.banner{display:none}}

:root[data-theme=light]{color-scheme:light;--bg:#f1f4ee;--panel:#fff;--line:#ccd6ca;--text:#1d302a;--muted:#4e645c;--green:#315d38;--control:#e7eee3;--field:#fff;--tint:#dce9d5;--hero-start:#e2edda;--hero-end:#f5f7ed;--hero-line:#b5c7ac;--avatar:#e0ebd8;--note:#eaf0e5;--track:#d6dfd1;--border:#859781}
:root[data-theme=light] .primary,:root[data-theme=light] #notice{color:#fff}.display-menu{position:relative;flex:none}.display-menu summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-weight:650}.display-menu summary::-webkit-details-marker{display:none}.display-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:10;width:min(270px,calc(100vw - 32px));background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 40px #0005}.display-panel p{margin:14px 0 0}main,.card,.top>div{min-width:0}h1,h2,p,span{overflow-wrap:anywhere}header{height:auto;min-height:84px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}button{white-space:normal;min-height:44px}.section-title{gap:15px;flex-wrap:wrap}.problem{flex-wrap:wrap}.question{overflow-wrap:anywhere}.display-menu:focus-within{z-index:20}@media(max-width:650px){header .local{display:none}header .display-menu{margin-left:auto}.stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}aside{flex-wrap:wrap}.top{gap:15px}.practice .question{font-size:2.2rem}}@media print{html{font-size:100%!important}.sheet,.sheet h1,.sheet p,.sheet .expression{color:black!important}.sheet{background:white!important}}

[hidden]{display:none!important}button:disabled{opacity:.5;cursor:wait}input[type=checkbox]{accent-color:var(--green);min-width:20px;min-height:20px;vertical-align:middle}.back{margin-bottom:20px}.preview{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.access-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.access-card{break-inside:avoid;border:1px solid var(--line);border-radius:12px;padding:24px;text-align:center;background:var(--panel)}.qr{background:white;padding:12px;width:180px;height:180px;margin:20px auto}.qr svg{width:100%;height:100%}.card-code{font:700 1.2rem ui-monospace,monospace;letter-spacing:1px}.card-url{font-size:.8rem;overflow-wrap:anywhere}.access-card p{margin:8px 0}.card,.hero{box-shadow:0 3px 15px #0002}#notice{display:flex;align-items:center;gap:20px;z-index:30}#notice button{color:inherit}#notice:empty{display:none}@media print{.access-cards{grid-template-columns:repeat(2,1fr);gap:12mm}.access-card{background:white!important;color:black!important;border:1px solid #999}.access-card p{color:black}.top{display:none}.sheet h1{display:block}.answer-line{display:inline-block;width:100px;border-bottom:1px solid black}}
.shell:has(aside[hidden]){grid-template-columns:1fr}.shell:has(aside[hidden]) main{max-width:1000px;margin:auto}.card-code{overflow-wrap:anywhere}@media print{.access-card{min-height:85mm}.qr{width:40mm;height:40mm}}

.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:24px;align-items:start}.game-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}.tic-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:330px;margin:20px auto}.tic-cell{aspect-ratio:1;display:grid;place-items:center;font:700 2.3rem system-ui;padding:0;min-width:0;color:var(--text)}.tic-cell:disabled{opacity:1;cursor:default}.tic-cell:empty:disabled{opacity:.45}.game-code{font:700 1.8rem ui-monospace,monospace;letter-spacing:2px}.math-play .question{font-size:2.3rem}.paper-boards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.paper-board{display:grid;grid-template-columns:repeat(3,1fr);width:130px;height:130px;margin:10px auto}.paper-board span{border:1px solid currentColor}.paper-game-page{break-before:page}.paper-work+.paper-work{break-before:page}@media(max-width:800px){.game-layout{grid-template-columns:1fr}.game-layout .game-card{order:2}.tic-board{max-width:260px}}@media print{.paper-game-page h1{font-size:20pt}.paper-game-page p{font-size:11pt}.paper-board{width:40mm;height:40mm;margin:5mm auto}.paper-boards{gap:2mm}.paper-work+.paper-work{break-before:page}.paper-boards>div{break-inside:avoid}}

/* A single teacher workflow, with compact controls and real worksheet previews. */
.workflow-steps{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 24px;color:var(--muted);font-size:.875rem}.workflow-steps li{padding:7px 12px;border-bottom:2px solid var(--line)}.workflow-steps [aria-current=step]{color:var(--green);border-color:var(--green);font-weight:650}.student-level-list{max-width:760px}.student-level-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}.student-level-row label{margin:0}.student-level-row select{max-width:210px}.build-options{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.row>div{flex:1;min-width:170px}.draft-card{border-color:var(--green);margin:20px 0}.review-question{padding:18px 0;border-top:1px solid var(--line)}.question-presentation{font-size:1.25rem;line-height:1.55}.stacked-math{display:inline-grid;font:1.6rem/1.5 ui-monospace,monospace;text-align:right;min-width:110px;padding:8px 0}.math-rule{border-top:2px solid currentColor;min-height:26px}.place-value-math{border-collapse:collapse;font:1.5rem ui-monospace,monospace;margin:12px 0}.place-value-math th,.place-value-math td{border:1px solid var(--border);padding:9px 12px;text-align:center}.place-value-math thead th{font:.75rem system-ui,sans-serif}.math-answer{border-top:2px solid currentColor}.paper-options{display:flex;flex-wrap:wrap;gap:15px 28px;margin-top:14px;font-size:1.05rem}.answer-choices{border:0;padding:0;margin:20px 0}.answer-choices label{border:1px solid var(--line);border-radius:9px;padding:14px;display:flex;align-items:center;gap:12px;font-size:1.15rem}.answer-choices input{width:22px;height:22px;accent-color:var(--green)}.table-wrap{overflow:auto;margin:24px 0}.class-progress{border-collapse:collapse;width:100%;text-align:left}.class-progress td,.class-progress th{padding:14px 10px;border-bottom:1px solid var(--line)}.class-progress button{font-size:.875rem;margin:3px}.print-area{margin-top:30px}.print-page{background:white;color:#111;padding:32px;margin:24px auto;max-width:900px;border:1px solid #bbb}.print-page p{color:#333}.print-page .student-support{background:#eef3ef;border-left-color:#5b7f63;color:#222}.print-page h1{font:1.7rem system-ui,sans-serif;letter-spacing:0;color:#111}.print-page h2{color:#111}.worksheet-question{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:22px 0;break-inside:avoid;border-bottom:1px solid #ccc}.question-number{font-size:1.2rem}.work-space{height:65px}.space-extra .work-space{height:120px}.space-compact .work-space{height:25px}.print-page .place-value-math th,.print-page .place-value-math td{border-color:#999}.print-page .question-presentation{font-size:1.15rem}.teacher-keys p{margin:8px 0}#lesson-form,#return-form{max-width:1000px}#lesson-form .row{align-items:flex-start}
@media(max-width:650px){.student-level-row{gap:10px}.student-level-row select{max-width:160px}.workflow-steps{gap:2px;font-size:.75rem}.print-page{padding:18px}.place-value-math th,.place-value-math td{padding:6px}.class-progress td,.class-progress th{padding:10px 6px}}
@media print{@page{margin:14mm}html{font-size:100%!important}body{font-size:12pt}.print-area{margin:0}.print-page{max-width:none;border:0;padding:0;margin:0;break-before:page}.print-page:first-child{break-before:auto}.worksheet-question{break-inside:avoid}.print-page .question-presentation{font-size:13pt}.print-page h1{font-size:18pt}.print-page p{color:#222}.print-page .work-space{height:18mm}.print-page.space-extra .work-space{height:30mm}.print-page.space-compact .work-space{height:7mm}.class-progress{display:none}.print-page .paper-board{border-color:black}.print-page .paper-board span{border-color:black}.print-page .paper-boards{display:grid;grid-template-columns:repeat(2,1fr);gap:12mm}}

/* Paper games put the actual questions in the claimable squares. */
.paper-problem-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid #111;margin:20px 0}.paper-problem-cell{border:1px solid #111;padding:12px;min-height:170px;min-width:0;break-inside:avoid}.paper-square-label{font-size:.75rem;font-weight:700;margin-bottom:12px;display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.paper-problem-cell .question-presentation{font-size:1rem}.paper-problem-cell .paper-options{display:grid;gap:4px;font-size:.9rem;margin-top:8px}.paper-problem-cell .stacked-math{font-size:1.2rem;min-width:70px}.paper-problem-cell .place-value-math{font-size:1rem;width:100%;table-layout:fixed}.paper-problem-cell .place-value-math th,.paper-problem-cell .place-value-math td{padding:4px 2px;overflow-wrap:anywhere}.paper-problem-cell .place-value-math thead th{font-size:.6rem}.paper-unused{background:#eee;display:grid;place-items:center;color:#555;font-size:.8rem}.paper-players{font-size:1.1rem}#print-student-list label:has(input:disabled){opacity:.55}
@media(max-width:650px){.paper-problem-cell{padding:6px;min-height:150px}.paper-square-label{font-size:.65rem}.paper-problem-cell .question-presentation{font-size:.85rem}}
@media print{.paper-problem-board{margin:5mm 0;break-inside:avoid}.paper-problem-cell{min-height:43mm;padding:3mm}.paper-problem-cell .question-presentation{font-size:11pt}.paper-problem-cell .paper-options{font-size:10pt}.paper-square-label{font-size:9pt;margin-bottom:3mm}.paper-game-page .small{font-size:9pt}.paper-unused{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.paper-square-answers{font-size:.8rem;line-height:1.9;margin-top:12px}.paper-square-work{height:30px}.paper-game-page.space-extra .paper-square-work{height:60px}.paper-game-page.space-compact .paper-square-work{height:12px}
@media print{.paper-square-answers{font-size:9pt;line-height:1.7;margin-top:3mm}.paper-square-work{height:8mm}.paper-game-page.space-extra .paper-square-work{height:15mm}.paper-game-page.space-compact .paper-square-work{height:3mm}}

/* Daily teacher tasks: one main action, supporting choices when needed. */
.context-options{margin:18px 0;border-top:1px solid var(--line);padding-top:14px}.context-options>summary,.question-set>summary,.review-queue>summary,.answer-details>summary{cursor:pointer;font-weight:600}.context-options[open]>summary,.question-set[open]>summary{margin-bottom:16px}.lesson-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.lesson-row h3,.lesson-row h2{font:600 1.1rem system-ui;margin:0 0 5px}.lesson-row p{font-size:.875rem;margin:0}.lesson-row>div{min-width:0}.lesson-row>button{flex-shrink:0}.attention-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.attention-row p{margin:0}.resume-hint{margin-top:-10px}.home-class-link{margin-top:32px}.text-button{padding:0;border:0;background:none;color:var(--green);min-height:0;font-size:inherit;text-decoration:underline}.classroom-settings{margin-top:30px}.classroom-settings>summary{cursor:pointer}.classroom-settings[open]>summary{margin-bottom:16px}.lesson-tabs{display:flex;gap:8px;margin:0 0 26px;border-bottom:1px solid var(--line);padding-bottom:10px}.lesson-tabs button{background:transparent;border:0;border-radius:4px}.lesson-tabs [aria-selected=true]{background:var(--tint);color:var(--green);font-weight:650}.lesson-outline{max-width:850px}.teaching-steps{padding-left:24px}.teaching-steps>li{padding:10px 0}.teaching-steps h3{font-size:1.1rem;margin:0 0 8px}.lesson-outline details{margin:14px 0}.lesson-outline summary{cursor:pointer}.question-set{margin-top:18px}.print-actions{margin-bottom:20px}.answer-details{margin:24px 0}#print-message:empty{display:none}#lesson-print{max-width:900px}.review-queue{margin-bottom:30px}.lesson-outline .question-presentation{margin-top:14px}
@media(max-width:650px){.lesson-tabs{gap:2px}.lesson-tabs button{font-size:.85rem;padding:8px}.lesson-row,.attention-row{align-items:flex-start}.lesson-row>button{padding:8px 10px}.attention-row{flex-wrap:wrap}}

/* Match the house Aa pattern: visible choices rather than nested dropdowns. */
.daily-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}.next-lesson{padding:24px}.next-lesson-title{font-size:1.25rem;color:var(--text)}.upcoming-events .lesson-row{padding:14px 0}.upcoming-events h2{margin-bottom:0}.recent-lessons{margin-top:28px}.week-toolbar{margin-bottom:20px}.week-toolbar strong{flex:1}.week-agenda{display:grid;gap:0}.agenda-day{padding:20px 0;border-bottom:1px solid var(--line)}.agenda-day.is-today{border-left:3px solid var(--green);padding-left:16px}.agenda-day>h2{font-size:1.1rem}.agenda-day .lesson-row{padding:10px 0;border:0}.schedule-count{padding:14px 0;color:var(--text)}.narrow-form{max-width:800px}.weekday-choices{border:0;padding:0;margin:22px 0;display:flex;gap:12px;flex-wrap:wrap}.weekday-choices legend{margin-bottom:6px}.weekday-choices label{margin:0;display:flex;align-items:center;min-height:44px}.check-row{display:flex;gap:8px;align-items:flex-start}.check-row input{flex:none;margin-top:4px}.private-prep{font-size:.875rem}.teaching-notes{white-space:pre-wrap}.teaching-focus{max-width:850px}.teaching-focus h2{font-size:1.5rem}.teaching-focus>.teaching-notes{font-size:1.15rem;color:var(--text);margin:20px 0 28px}.learning-goal{border-left:3px solid var(--green);padding:12px 18px}.minutes-input{max-width:100px}.plan-editor>button{margin-right:12px}.packet-evidence{margin:20px 0;padding-top:16px;border-top:1px solid #bbb;break-inside:avoid}#ai-data-fields{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}#ai-full-prompt{min-height:200px}
@media(max-width:750px){.daily-layout{grid-template-columns:1fr;gap:24px}.week-toolbar strong{order:-1;flex-basis:100%}.weekday-choices{gap:6px 14px}.teaching-focus h2{font-size:1.3rem}.lesson-tabs{flex-wrap:wrap}.check-row{font-size:.875rem}}
@media print{.daily-layout,.week-agenda,.week-toolbar,.schedule-count,.recent-lessons{display:none}.meeting-packet .teaching-notes{color:#222}.meeting-packet{break-before:auto}}
.display-panel{width:min(360px,calc(100vw - 32px))}.display-panel .display-label{font-size:.85rem;font-weight:650;margin:18px 0 8px}.display-choices{display:flex;gap:6px}.display-choices button{flex:1;min-width:0;padding:9px 6px;font-size:.9rem}.display-choices button[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:var(--tint);color:var(--text)}.display-size-choices button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.display-size-choices button>span:first-child{font-family:Georgia,serif;line-height:1.2}.display-size-choices button:nth-child(1)>span:first-child{font-size:.85rem}.display-size-choices button:nth-child(2)>span:first-child{font-size:1.05rem}.display-size-choices button:nth-child(3)>span:first-child{font-size:1.3rem}.display-size-choices button:nth-child(4)>span:first-child{font-size:1.6rem}.display-size-name{font-size:.6rem;line-height:1.2}

.choice-buttons{display:flex;gap:8px;flex-wrap:wrap}.choice-buttons button[aria-pressed=true]{background:var(--tint);border-color:var(--green);color:var(--text);box-shadow:inset 0 0 0 1px var(--green)}.choice-buttons button{flex:1;min-width:120px}.plan-editor .row{align-items:flex-start}@media(max-width:650px){.choice-buttons button{min-width:100px}}

#paper-delivery-options{border:0;padding:0}#paper-delivery-options>summary{margin:24px 0;cursor:pointer}.online-handoff{max-width:700px;margin:0 0 24px}

.calendar-connect{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 32px}.calendar-connect section{min-width:0}.calendar-connect p{font-size:.875rem}.calendar-list{border:0;padding:0;margin:24px 0}.calendar-review-source{margin-bottom:20px}.calendar-import-row{border-top:1px solid var(--line);padding:16px 0}.calendar-import-row>.check-row{margin-top:0}.calendar-event-date{display:block;margin-top:5px}.calendar-import-row select{max-width:350px}.calendar-import-row input[type=number]{max-width:110px;display:block}.rotation-label{color:var(--green);font-weight:600}.calendar-import-row .check-row>span{min-width:0}@media(max-width:850px){.calendar-connect{grid-template-columns:1fr;gap:24px}}

/* A shared presentation works for text, passages and calculations. */
.reading-passage{margin:0 0 1rem;padding:1rem;border-left:3px solid var(--accent,#b7e1a0);white-space:pre-wrap;font-size:1rem;line-height:1.6;text-align:left}.question-presentation{white-space:pre-wrap}.paper-game-page .reading-passage{font-size:.75em;padding:.4rem}.paper-options{overflow-wrap:anywhere}.subject-catalog-note{max-width:65ch}

/* Planning keeps the chosen date and each class in separate, readable groups. */
.day-class-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-bottom:20px}.planning-toolbar{margin-bottom:24px;align-items:center}.planning-toolbar input[type=date]{max-width:190px}.planning-days{display:grid;gap:24px}.planning-day{border:1px solid var(--border);border-radius:16px;padding:20px}.planning-day>h2{margin-top:0}.planning-day .lesson-row h3{margin:0}.planning-day .lesson-row{gap:12px}#session-form textarea{min-height:90px}@media(max-width:650px){.planning-day{padding:12px}.planning-toolbar{gap:8px}.planning-day .lesson-row{align-items:flex-start;flex-wrap:wrap}}

.portfolio-selection{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-top:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.portfolio-row .row{justify-content:flex-end}.portfolio-answer{border-top:1px solid var(--line);padding:14px 0;break-inside:avoid}.portfolio-answer p{white-space:pre-wrap}.evidence-photo{display:block;width:100%;height:auto;margin:16px 0}.portfolio-packet{background:#fff;color:#111;margin:24px 0}.portfolio-packet p,.portfolio-packet h1,.portfolio-packet h2,.portfolio-packet h3{color:#111}.portfolio-packet .print-page{border:0}.packet-observation{border-left:3px solid #777;padding-left:12px}#packet-document-footer{display:flex;gap:12px;align-items:center;background:#fff;color:#111;padding:12px;border-top:1px solid #aaa;font:12px/1.3 system-ui}#packet-document-footer p{margin:3px 0}#packet-document-qr{width:80px;flex:0 0 80px}#packet-document-qr svg{width:100%;height:auto}.packet-reference{font:10px ui-monospace,monospace;overflow-wrap:anywhere}@media(max-width:650px){.portfolio-row{align-items:flex-start;flex-wrap:wrap}.portfolio-selection{bottom:0;flex-wrap:wrap}}
@media print{@page portfolio-evidence{margin:15mm 14mm 28mm}.portfolio-packet{page:portfolio-evidence;margin:0;background:white;color:black}.portfolio-packet .print-page{break-before:auto}.portfolio-packet .packet-evidence{margin-top:8mm}.portfolio-packet .portfolio-answer{border-color:#bbb}.portfolio-packet .question-presentation{font-size:12pt}#packet-document-footer{position:fixed;bottom:-22mm;left:0;right:0;height:18mm;padding:0;border:0;font-size:8pt}#packet-document-qr{width:18mm;flex-basis:18mm}.portfolio-packet .evidence-photo{max-height:220mm;object-fit:contain;break-inside:avoid}.portfolio-selection{display:none!important}}

/* Restricted local documents: source and confirmed facts stay in a separate view. */
.local-only-label{display:inline-block;margin-bottom:8px}
.local-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;margin:24px 0}
.local-source-panel{align-self:start;position:sticky;top:20px}
#local-source-text{min-height:420px;font-size:1rem;line-height:1.5;white-space:pre-wrap}
.local-fact-editor{margin:16px 0}.local-fact-editor textarea{min-height:150px}
.local-fact{border-bottom:1px solid var(--border);padding:16px 0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.local-document{margin:16px 0}.local-warning{border-left:3px solid currentColor;padding:8px 14px;font-size:.95rem}
@media(max-width:850px){.local-review-grid{grid-template-columns:1fr}.local-source-panel{position:static}#local-source-text{min-height:260px}}
@media print{.local-private-view{display:none!important}}

/* One icon and label treatment for every teacher navigation area. */
#nav>button{display:flex;align-items:center;gap:.75rem;min-height:44px;font-weight:500;line-height:1.4}
#nav>button.active{font-weight:600}
.nav-icon{width:1.4em;height:1.4em;flex:0 0 auto;display:block}
.nav-label{min-width:0;text-align:left}
@media(max-width:650px){#nav>button{flex:1 1 auto;gap:.5rem}}

/* Quiet, shared legal footer; kept out of printed student work. */
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:20px 36px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.site-footer nav{display:flex;gap:20px;flex-wrap:wrap}.site-footer a{color:inherit;text-underline-offset:3px}.site-footer nav a{display:inline-flex;align-items:center;min-height:44px}.login-page .site-footer{color:var(--login-muted);border-color:#69758b66;position:relative;background:#090f1dcc}[data-theme=light] .login-page .site-footer{background:#e7eef4e6}.legal-page{max-width:850px;margin:auto;padding:40px 24px 60px}.legal-page h2{margin-top:32px}.legal-page p,.legal-page dd{line-height:1.75}.legal-page dt{font-weight:700;margin-top:22px}.legal-page dd{margin:8px 0;color:var(--muted)}.legal-date{font-size:.875rem}.legal-callout{border-left:3px solid var(--green);padding:12px 18px;background:var(--panel);margin:24px 0}.legal-callout p{margin-bottom:0}@media(max-width:650px){.site-footer{padding:16px 22px}.legal-page{padding:28px 22px}}@media print{.site-footer{display:none!important}}

.reset-danger{border:2px solid #aa3434;border-radius:12px;padding:20px;margin-top:24px}.reset-danger h2{color:#aa3434}.reset-danger button:last-child:not(:disabled){background:#9b2929;color:white}.reset-danger input:not([type=checkbox]){display:block;width:min(100%,30rem);margin:12px 0}

.fraction-strip{display:inline-block;width:288px;max-width:100%;height:auto;vertical-align:middle;margin:8px 0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.paper-problem-cell .fraction-strip{width:100%;max-width:288px}

.work-spinner{display:inline-block;flex:none;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.12em;animation:work-turn .8s linear infinite}.button-spinner{margin-right:.55em}.work-status{position:fixed;bottom:20px;right:20px;z-index:120;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 40px);padding:14px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 4px 18px #0003;pointer-events:none}.work-status[hidden]{display:none}@keyframes work-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.work-spinner{animation:none;border-right-style:dotted}}@media print{.work-status,.work-spinner{display:none!important}}

/* Named task steps, shared by import and preparation flows. */
.workflow-steps{margin:20px 0}.workflow-steps ol{display:flex;gap:8px;padding:0;list-style:none;flex-wrap:wrap}.workflow-steps li{flex:1;min-width:120px}.workflow-steps button{width:100%;text-align:left;display:flex;align-items:center;gap:8px;min-height:48px}.workflow-steps button span{border:1px solid currentColor;border-radius:50%;min-width:1.6em;text-align:center}.workflow-steps [aria-current=step]{border:2px solid var(--accent,#236452);font-weight:700;background:var(--panel,#f0f5f2)}.workflow-steps button:disabled{opacity:.55}.local-review-sections{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.local-review-sections [aria-pressed=true]{border:2px solid var(--accent,#236452);font-weight:700}.local-item-actions{display:flex;gap:8px;flex-wrap:wrap}.local-fact-editor[data-decision=kept]{border-left:4px solid #28724e}.local-fact-editor[data-decision=skipped]{opacity:.7}.local-fact-editor blockquote{margin:12px 0;white-space:pre-wrap}.local-import-context{font-weight:600}.local-review-grid{align-items:start}.local-source-panel textarea{min-height:240px}.workflow-error{color:var(--danger,#9e2929)}
@media(max-width:700px){.workflow-steps li{min-width:40%}.local-review-grid{display:block}.local-source-panel{margin-bottom:16px}}
@media print{.workflow-steps,.local-review-sections{display:none!important}}
nav.workflow-steps{display:block}nav.workflow-steps ol{width:100%;margin:0}nav.workflow-steps li{padding:0;border:0}nav.workflow-steps [aria-current=step]{border-color:var(--green);color:var(--text)}.local-fact-editor[data-decision=kept]{border-left-color:var(--green)}.workflow-error{color:var(--text);border-left:3px solid var(--green);padding-left:12px}
/* Collections share fixed column proportions; content cannot move another row's columns. */
.collection-view{container:collection / inline-size}
.collection-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:16px 0 12px;flex-wrap:wrap}
.collection-toolbar>span{font-size:.85rem;margin-right:6px;color:var(--muted)}
.collection-toolbar button{padding:8px 14px;font-size:.875rem}
.collection-toolbar button[aria-pressed=true]{background:var(--tint);border-color:var(--green);color:var(--text);box-shadow:inset 0 0 0 1px var(--green)}
.collection-main,.collection-meta,.collection-actions{min-width:0}
.collection-main h2,.collection-main h3,.collection-meta p{overflow-wrap:anywhere}
.collection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.collection-actions .row{margin:0}
.collection-actions .context-options{margin:10px 0 0;width:100%}
.collection-view[data-collection-view=cards] .collection-actions{margin-top:16px}
.collection-view[data-collection-view=cards][data-collection-kind=planning] .collection-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.collection-view[data-collection-view=cards][data-collection-kind=planning] .lesson-row{display:block;border:1px solid var(--border);border-radius:12px;padding:18px;background:var(--panel)}
.collection-view[data-collection-kind=planning] .lesson-row .collection-actions{margin-top:12px}
.collection-view[data-collection-view=cards][data-collection-kind=classes]>.collection-items>article{display:block}
.collection-view[data-collection-view=cards][data-collection-kind=classes] .collection-main h2{font-size:1.15rem;margin-top:0}
.collection-view[data-collection-view=list]>.collection-items,.collection-view[data-collection-view=list] .collection-rows{display:flex;flex-direction:column;gap:8px}
.collection-view[data-collection-view=list]>.collection-items>article,.collection-view[data-collection-view=list] .collection-rows>.lesson-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,.8fr);gap:18px;align-items:start;min-height:96px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--panel);margin:0;box-shadow:none;transition:background-color .15s,border-color .15s,box-shadow .15s}
.collection-view[data-collection-view=list] .collection-rows>.lesson-row{grid-template-columns:minmax(0,2.2fr) minmax(0,.8fr)}
.collection-view[data-collection-view=list][data-collection-kind=planning] .lesson-row .collection-actions{margin:0}
.collection-view[data-collection-view=list] .collection-main h2,.collection-view[data-collection-view=list] .collection-main h3{font:600 1rem/1.5 system-ui;margin:0}
.collection-view[data-collection-view=list] .collection-main .eyebrow{display:block;font-size:.7rem;margin:0 0 6px}
.collection-view[data-collection-view=list] .collection-main .avatar{display:none}
.collection-view[data-collection-view=list] .collection-main p,.collection-view[data-collection-view=list] .collection-meta p{font-size:.875rem;margin:0 0 6px}
.collection-view[data-collection-view=list] .collection-meta{border-inline-start:1px solid var(--border);padding-inline-start:18px}
.collection-view[data-collection-view=list] .collection-meta .pill{font-size:.75rem;padding:3px 7px}
.collection-view[data-collection-view=list] .collection-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-content:stretch;align-content:start;margin:0}
.collection-view[data-collection-view=list] .collection-actions .row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0}
.collection-view[data-collection-view=list] .collection-actions button{width:100%;padding:10px 12px;font-size:.875rem;text-align:left;line-height:1.4;overflow-wrap:anywhere}
.collection-view[data-collection-view=list] .collection-actions .context-options{width:100%;margin:0;padding:0;border:0;font-size:.8rem}
.collection-view[data-collection-view=list] .collection-actions .context-options summary{min-height:44px;display:flex;align-items:center;gap:6px;padding:8px 0}
.collection-view[data-collection-view=list] .collection-actions .context-options summary::before{content:'▸';flex:none}
.collection-view[data-collection-view=list] .collection-actions .context-options[open] summary::before{content:'▾'}
.collection-view[data-collection-view=list] .collection-meta .unfinished-activity{margin-top:12px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--field)}
@media(hover:hover){.collection-view[data-collection-view=list]>.collection-items>article:hover,.collection-view[data-collection-view=list] .collection-rows>.lesson-row:hover{background:var(--tint);border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}}
.collection-view[data-collection-view=list]>.collection-items>article:focus-within,.collection-view[data-collection-view=list] .collection-rows>.lesson-row:focus-within{background:var(--tint);border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}
@container collection (max-width:760px){
 .collection-view[data-collection-view=list]>.collection-items>article{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
 .collection-view[data-collection-view=list] .collection-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}
 .collection-view[data-collection-view=list] .collection-actions button,.collection-view[data-collection-view=list] .collection-actions .row{width:auto;max-width:100%}
 .collection-view[data-collection-view=list] .collection-actions .context-options{width:auto;max-width:100%}
 .collection-view[data-collection-view=list] .collection-actions .context-options[open]{width:100%}
 .collection-view[data-collection-view=list] .collection-rows>.lesson-row{grid-template-columns:minmax(0,1fr)}
}
@container collection (max-width:480px){
 .collection-toolbar{justify-content:flex-start}
 .collection-view[data-collection-view=list]>.collection-items>article{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
 .collection-view[data-collection-view=list] .collection-meta{border-inline-start:0;border-top:1px solid var(--border);padding:12px 0 0}
 .collection-view[data-collection-view=list] .collection-actions,.collection-view[data-collection-view=list] .collection-actions .row{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 .collection-view[data-collection-view=list] .collection-actions button,.collection-view[data-collection-view=list] .collection-actions .context-options{width:100%}
}
@media(prefers-reduced-motion:reduce){.collection-view[data-collection-view=list]>.collection-items>article,.collection-view[data-collection-view=list] .collection-rows>.lesson-row{transition:none}}

/* Shared choice controls: align the first text line, including long labels. */
input:is([type=checkbox],[type=radio]){appearance:auto;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;flex:0 0 20px;padding:0;margin:2px 0 0;accent-color:var(--green);vertical-align:top}
label:has(>input:is([type=checkbox],[type=radio])){display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:6px 0;padding:10px 0;line-height:1.5}
label:has(>input:is([type=checkbox],[type=radio]))>input{margin:2px 0 0}
label:has(>input:is([type=checkbox],[type=radio]))>span{min-width:0}
.choice-buttons:has(>label){border:0;padding:0;margin:22px 0}.choice-buttons>label:has(>input){border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:0;flex:1;min-width:150px}.choice-buttons>label:has(>input:checked){border-color:var(--green);background:var(--tint)}.choice-buttons>label:has(>input:disabled){opacity:.55}
.student-level-row>label:has(>input){margin:0;padding:8px 0;flex:1}.weekday-choices>label:has(>input){margin:0;padding:10px 0}.answer-choices>label:has(>input){padding:14px}.answer-choices>label>input{width:20px;height:20px}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:9px;min-height:44px}input[type=file]::file-selector-button{font:inherit;min-height:44px;padding:8px 14px;margin-right:12px;border:1px solid var(--line);border-radius:9px;background:var(--control);color:var(--text);cursor:pointer}input[type=file]::file-selector-button:hover{border-color:var(--green)}

/* Shared screen controls: one boundary, spacing, selection and focus language. */
:root{--radius-control:9px;--radius-panel:12px;--danger:#f5a5a5;--danger-bg:#3c2426}
:root[data-theme=light]{--danger:#8b242b;--danger-bg:#fff0f0}
@media screen{
 button{border-color:var(--border);border-radius:var(--radius-control);font-weight:550;line-height:1.45;min-height:44px;max-width:100%;transition:background-color .12s,border-color .12s}
 button:not(:disabled):not(.primary):hover{background:var(--tint);border-color:var(--green)}
 button.primary{border-color:var(--green);font-weight:650}
 button.primary:not(:disabled):hover{background:color-mix(in srgb,var(--green) 86%,var(--text));border-color:var(--green)}
 button:disabled{cursor:not-allowed;opacity:.55}
 button[aria-busy=true]{cursor:progress}
 :is(button,input,select,textarea,a,summary):focus-visible{outline:3px solid var(--green);outline-offset:3px}
 button:is([aria-pressed=true],[aria-selected=true]),.workflow-steps button[aria-current=step]{background:var(--tint);border-color:var(--green);color:var(--text);box-shadow:inset 0 0 0 1px var(--green)}
 .back{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--control);font-size:.875rem;font-weight:550;text-decoration:none}
 #nav>button{border:1px solid transparent;border-radius:var(--radius-control);margin-bottom:8px;padding:12px;font-size:.875rem}
 #nav>button.active{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);background:var(--tint)}
 #nav>button:not(.active):hover{border-color:var(--border);background:var(--panel)}
 .top{padding-bottom:20px;border-bottom:1px solid var(--border);align-items:flex-start;margin-bottom:24px}
 .top p{margin:8px 0 0;max-width:70ch}
 .top>.row{margin-top:6px;justify-content:flex-end}
 .card,.stat,.game-card,.access-card,.planning-day{border-color:var(--border);border-radius:var(--radius-panel)}
 main>form:where(:not(#local-review-form):not(#calendar-review-form)),main>.no-print>form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-panel);padding:24px;max-width:1000px;margin:20px 0}
 form{min-width:0}
 form label:not(:has(>input:is([type=checkbox],[type=radio]))){font-weight:600;margin-top:20px}
 form>label:first-child,form>.row:first-child label{margin-top:0}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--field);color:var(--text);padding:11px 12px;min-height:46px;max-width:100%;box-shadow:inset 0 1px 3px #0001}
 textarea{min-height:112px;resize:vertical}
 :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not(:disabled):hover{border-color:var(--green)}
 :is(input,select,textarea):disabled{opacity:.65;cursor:not-allowed;background:var(--control)}
 :is(input,textarea)[readonly]{background:var(--panel)}
 input[type=file]{padding:6px;overflow:hidden}
 input[type=file]::file-selector-button{border-color:var(--border);background:var(--control);border-radius:var(--radius-control)}
 fieldset{min-width:0;margin:20px 0;padding:16px;border:1px solid var(--border);border-radius:10px}
 legend{padding:0 7px;font-size:.875rem;font-weight:650;color:var(--text)}
 label:has(>input:is([type=checkbox],[type=radio])){border:1px solid var(--border);border-radius:var(--radius-control);padding:11px 12px;gap:10px;margin:8px 0;background:var(--field);font-weight:500;min-height:46px;cursor:pointer}
 label:has(>input:is([type=checkbox],[type=radio]):checked){border-color:var(--green);background:var(--tint)}
 label:has(>input:is([type=checkbox],[type=radio])):focus-within{outline:2px solid var(--green);outline-offset:2px}
 label:has(>input:disabled){opacity:.6;cursor:not-allowed}
 label:has(>input:is([type=checkbox],[type=radio])):not(:has(>input:disabled)):hover{border-color:var(--green);background:var(--tint)}
 .choice-buttons:has(>label),.weekday-choices{padding:16px;border:1px solid var(--border);border-radius:10px;gap:8px;background:var(--panel)}
 .choice-buttons>label:has(>input),.weekday-choices>label:has(>input){padding:11px 12px;margin:0}
 .weekday-choices>label{flex:1 0 auto}
 .student-level-row{align-items:center;padding:12px;margin:8px 0;gap:16px;border:1px solid var(--border);border-radius:9px;background:var(--field)}
 .student-level-row>label:not(:has(input)){margin:0;padding:0;flex:1}
 .student-level-row>label:has(>input){margin:0;padding:8px;border-color:transparent;background:transparent}
 .student-level-row select{width:170px;flex:0 1 170px}
 .answer-choices>label:has(>input){font-size:1.1rem;padding:14px}
 .form-actions,form>.row:has(>button):not(:has(>div)),form>div[data-form-actions]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}
 form>button{margin:20px 8px 0 0}
 form>.row:has(>div>label){align-items:flex-start;gap:16px}
 form>.row:has(>div>label)>div{min-width:min(190px,100%)}
 form>.row:has(>div>label)>button{align-self:flex-end;margin-bottom:0}
 main details:not(.display-menu){border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:16px;margin:16px 0}
 main details:not(.display-menu)>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;min-height:48px;font-size:.925rem;font-weight:600;color:var(--text);padding:12px 16px;margin:-16px -16px 16px;border-bottom:1px solid var(--border);border-radius:9px 9px 0 0;background:var(--control);overflow-wrap:anywhere}
 main details:not(.display-menu):not([open])>summary{margin-bottom:-16px;border-bottom:0;border-radius:9px}
 main details:not(.display-menu)>summary::-webkit-details-marker{display:none}
 main details:not(.display-menu)>summary::before{content:'▸';flex:none;color:var(--green)}
 main details:not(.display-menu)[open]>summary::before{content:'▾'}
 main details:not(.display-menu)>summary:hover{background:var(--tint)}
 main .collection-actions details.context-options{padding:0;margin:0;border:0;background:transparent}
 main .collection-actions details.context-options>summary{padding:8px 0;margin:0;border:0;border-radius:0;min-height:44px;background:transparent;font-size:.8rem}
 main .collection-actions details.context-options[open]>summary{margin-bottom:8px}
 .lesson-tabs{padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--panel);gap:8px;flex-wrap:wrap}
 .lesson-tabs button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--control);flex:1;min-width:90px}
 nav.workflow-steps{padding:0;border:0}
 .workflow-steps ol{gap:8px}
 .workflow-steps button{padding:12px;border:1px solid var(--border);border-radius:var(--radius-control);min-height:52px;background:var(--panel)}
 .workflow-steps button[aria-current=step] span{background:var(--green);border-color:var(--green);color:var(--bg)}
 .local-review-sections button[aria-pressed=true]{border-color:var(--green);background:var(--tint)}
 .lesson-row,.upcoming-events .lesson-row,.agenda-day .lesson-row{padding:16px;margin:8px 0;border:1px solid var(--border);border-radius:10px;background:var(--panel);align-items:flex-start}
 .lesson-row>button,.lesson-row>.row{flex:0 0 auto;max-width:100%}
 .lesson-row>.row{gap:8px;justify-content:flex-end}
 .agenda-day{padding:20px;border:1px solid var(--border);border-radius:var(--radius-panel);margin:8px 0;background:var(--field)}
 .agenda-day.is-today{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);padding-left:20px}
 .review-question,.portfolio-answer,.calendar-import-row,.local-fact{border:1px solid var(--border);border-radius:9px;padding:16px;margin:12px 0;background:var(--field)}
 .class-progress{border:1px solid var(--border);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}
 .class-progress th{background:var(--control);font-size:.875rem}
 .class-progress td,.class-progress th{border-bottom:1px solid var(--border);padding:14px 16px;vertical-align:top}
 .class-progress tbody tr:last-child td{border-bottom:0}
 .table-wrap{border-radius:10px}
 .notes,.banner,.private-prep,.local-warning,.workflow-error{padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--green);border-radius:9px;background:var(--note)}
 .private-prep{display:inline-block}
 .workflow-error,[role=alert]:not(#notice):not(:empty){border:1px solid var(--danger);border-left-width:3px;padding:14px 16px;border-radius:9px;background:var(--danger-bg);color:var(--text)}
 .reset-danger{border:2px solid var(--danger);background:var(--danger-bg)}
 .reset-danger h2{color:var(--danger)}
 .reset-danger button:last-child:not(:disabled){background:#9b2929;color:white;border-color:#f5a5a5}
 dialog,.display-panel{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);color:var(--text);box-shadow:0 16px 50px #0007}
 dialog{padding:28px;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}
 dialog::backdrop{background:#070e10bd;backdrop-filter:blur(3px)}
 dialog h2{font:600 1.4rem/1.4 system-ui;margin:0 0 12px}
 dialog .form-actions{justify-content:flex-end}
 .display-panel{z-index:150;padding:20px;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 110px);overflow:auto}
 .display-menu>summary{border-color:var(--border);min-height:44px;background:var(--control)}
 .display-menu[open]>summary{border-color:var(--green);background:var(--tint)}
 .popover-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
 .popover-heading button{font-size:.8rem;padding:8px 12px}
 #notice:not(:empty){border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);color:var(--text);box-shadow:0 8px 30px #0005;border-left:4px solid var(--green);max-width:min(650px,calc(100vw - 32px));padding:16px;gap:16px;z-index:140}
 #notice[data-tone=error]:not(:empty){border-color:var(--danger);background:var(--danger-bg)}
 #notice button{flex:none;background:var(--control);border:1px solid var(--border)}
 .portfolio-selection{border-color:var(--green);box-shadow:0 4px 16px #0004}
 .work-status{border-color:var(--green)}
}
@media screen and (hover:hover){
 .lesson-row:hover,.lesson-row:focus-within,.class-progress tbody tr:hover,.calendar-import-row:hover{background:var(--tint);border-color:var(--green)}
}
@media screen and (max-width:650px){
 main>form:where(:not(#local-review-form):not(#calendar-review-form)),main>.no-print>form{padding:16px}
 .top>.row{justify-content:flex-start}
 .student-level-row{flex-wrap:wrap;gap:10px}
 .student-level-row>label{min-width:0}
 .student-level-row select{width:130px;flex-basis:130px;max-width:100%}
 .lesson-row{flex-wrap:wrap;gap:12px}
 .lesson-row>.row{justify-content:flex-start}
 .lesson-row>button{max-width:100%}
 .form-actions{gap:8px}
 dialog{padding:20px}
 dialog .form-actions button{flex:1}
 .display-panel{position:fixed;top:80px;right:16px;max-height:calc(100dvh - 96px)}
 #notice:not(:empty){bottom:16px;right:16px;flex-wrap:wrap}
 .agenda-day{padding:16px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}
@media screen{
 .block-time{font-size:.8125rem;color:var(--green);font-weight:550;margin:8px 0 0;line-height:1.5}
 .collection-view[data-collection-view=list] .collection-main .block-time{font-size:.8125rem;margin-top:8px;color:var(--green)}
 .meeting-time-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:9px;margin:8px 0;background:var(--field)}
 .meeting-time-row label{margin:0 0 6px!important;font-size:.8125rem}
 .meeting-exception-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .meeting-exception-editor>div{min-width:0}
 .schedule-help{max-width:68ch}
 #block-exception-status:empty{display:none}
 .meeting-time-row:focus-within{border-color:var(--green);background:var(--tint)}
}
@media screen and (max-width:650px){
 .meeting-time-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .meeting-time-row>strong{grid-column:1/-1}
 .meeting-exception-editor{grid-template-columns:minmax(0,1fr)}
}

@media screen{h1[tabindex="-1"]:focus{outline:none}}

@media screen{:root[data-theme=light] #notice:not(:empty){color:var(--text)}.text-button{min-height:44px;padding:6px 4px}}

/* A task keeps its group, date and subject through every working view. */
.task-context,.task-return{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:18px;margin:0 0 24px}
.task-context-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.task-context-heading p{margin:6px 0 0}.task-navigation{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px;margin-top:16px;border-top:1px solid var(--border)}
.task-navigation [aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 3px 0 var(--green)}
.task-related{margin-top:14px}.task-related .row{margin-top:12px}.lesson-starting-points{margin:20px 0 24px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.student-support{padding:12px 16px;border-left:3px solid var(--green);background:var(--note);white-space:pre-wrap}
.teach-activity{margin-bottom:24px}.teach-activity .question-presentation{font-size:1.5rem;margin:22px 0}.teach-activity select{margin-bottom:18px}
#lesson-clock{font-variant-numeric:tabular-nums}.task-return p{margin-bottom:0}.adaptation-dialog form{margin-top:18px}.adaptation-dialog .form-actions{margin-top:20px}
.student-projection>header,.student-projection #nav,.student-projection>.site-footer,.student-projection>#notice{display:none!important}.student-projection .shell{display:block}.student-projection #main{max-width:1100px;margin:auto}.projected-activity{padding:30px}.projected-activity .question-presentation{font-size:2rem;margin:30px 0}
@media(max-width:650px){.task-context,.task-return{padding:14px}.task-navigation button{flex:1 1 42%}.task-context-heading>button{width:100%}.projected-activity{padding:8px}.projected-activity .question-presentation{font-size:1.5rem}}
@media print{.task-context,.task-return,.lesson-starting-points{display:none!important}}

/* Curriculum sources use the same bounded surfaces and aligned controls as lesson review. */
.curriculum-problem-list{display:grid;gap:1rem;margin:1.25rem 0}
.curriculum-problem{border:1px solid var(--border,#526562);padding:1.25rem}
.curriculum-problem:hover{border-color:var(--green)}
.curriculum-problem-heading{font-weight:700;margin:0 0 1rem}
.curriculum-mode-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.curriculum-mode-choices>label{display:flex;align-items:flex-start;gap:.7rem;padding:1rem;border:1px solid var(--border,#526562);border-radius:.65rem;margin:0;background:var(--panel);cursor:pointer}
.curriculum-mode-choices>label:has(input:checked){border-color:var(--green);box-shadow:inset 3px 0 var(--green)}
.curriculum-mode-choices .small{display:block;margin-top:.4rem}
.curriculum-source-text,.curriculum-original blockquote{white-space:pre-wrap;overflow-wrap:anywhere;max-height:22rem;overflow:auto}
.curriculum-problem textarea{min-height:5rem}
@media(max-width:640px){.curriculum-mode-choices{grid-template-columns:1fr}.curriculum-problem{padding:1rem}}

/* Shared definition and navigation below the main destinations. */
.student-record-context{margin-bottom:12px}.student-record-context .task-context-heading strong{font-size:1.25rem}.record-navigation{flex:1 1 100%;margin-top:6px;padding-top:6px}.record-navigation button{flex:0 0 auto;min-height:36px;padding:6px 12px}.record-navigation button[aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);font-weight:650}.record-field{margin-bottom:20px}.record-field select{max-width:100%}.settings-section{margin:18px 0}.settings-section[hidden]{display:none}.student-work-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:12px 0;border-color:var(--border)}.student-work-row:hover,.portfolio-row:hover,.local-document:hover{background:var(--tint);border-color:var(--green)}.student-work-row h3{margin:0 0 8px}.student-work-row .row{margin-top:0}.student-work-row:focus-within,.portfolio-row:focus-within,.local-document:focus-within{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}#student-feedback-list,#student-current-work,#student-other-work{margin:24px 0;padding-top:18px;border-top:1px solid var(--border)}.card+.card{margin-top:14px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}form>.primary{margin-top:18px}.lesson-row>div{min-width:0}.record-field select,.student-work-row{overflow-wrap:anywhere}@media(max-width:650px){.student-record-context{padding:14px}.record-navigation button{flex-basis:44%;font-size:.875rem}.student-work-row{display:block}.student-work-row>.row{margin-top:16px}.student-work-row button{width:100%}}@media print{.student-record-context{display:none!important}}

.form-actions{align-items:stretch}.form-actions>button{margin-top:0}.record-current-work>.lesson-row,#portfolio-work-list>.lesson-row,.resumable-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;margin:12px 0;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.record-current-work>.lesson-row:hover,.resumable-row:hover{background:var(--tint);border-color:var(--green)}.record-current-work>.lesson-row:focus-within,.resumable-row:focus-within{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}@media(max-width:650px){.record-current-work>.lesson-row,#portfolio-work-list>.lesson-row,.resumable-row{display:block}.record-current-work>.lesson-row>button,.resumable-row>button{width:100%;margin-top:12px}}

/* Evidence actions follow the records instead of covering them. */
.portfolio-selection{position:static;bottom:auto;flex-wrap:wrap}

/* The object is the destination. Its native action remains accessible without a
   second visible button competing with the title. Selection controls stay local. */
.navigation-object{position:relative;cursor:pointer;isolation:isolate;transition:background-color .15s,border-color .15s,box-shadow .15s;padding-inline-end:44px!important}
.navigation-object::after{content:'›';position:absolute;inset-inline-end:18px;top:18px;font:1.5rem/1 system-ui;color:var(--muted);pointer-events:none}
.navigation-object .object-primary{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.navigation-object .collection-actions:has(>.object-primary:only-child){margin:0!important;padding:0!important;border:0;min-height:0;gap:0}
.collection-view[data-collection-view=list] .navigation-object{grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr)!important}
.collection-view[data-collection-view=list] .navigation-object>.collection-actions:has(>.object-primary:only-child){position:absolute}
.navigation-object:focus-within{outline:2px solid var(--green);outline-offset:3px;background:var(--tint)!important;border-color:var(--green)!important;box-shadow:inset 3px 0 0 var(--green)!important}
.navigation-object:focus-within::after{color:var(--text)}
@media(hover:hover){.navigation-object:hover{background:var(--tint)!important;border-color:var(--green)!important;box-shadow:inset 3px 0 0 var(--green)!important}.navigation-object:hover::after{color:var(--text)}}
@container collection (max-width:480px){.collection-view[data-collection-view=list] .navigation-object{grid-template-columns:minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){.navigation-object{transition:none}}
@media print{.navigation-object::after,.navigation-object .object-primary{display:none!important}.navigation-object{padding-inline-end:18px!important}}

/* Quiet task entry: intention first, one destination per object. */
.teacher-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 32px}
.teacher-actions>article{padding:22px 42px 22px 22px;border:1px solid var(--border);border-radius:12px;background:var(--panel);min-width:0}
.teacher-actions h2{font-size:1.15rem;margin:0 0 10px}.teacher-actions p{font-size:.9rem;color:var(--muted);margin:0;line-height:1.5}
.today-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.today-layout h2{font-size:1.3rem}.today-teaching .section-title{margin:0}.today-teaching .collection-toolbar{margin-top:0}.today-teaching .today-group h3{margin:0 0 8px;font-size:1.15rem}.today-group p{margin:6px 0}.today-group{padding:20px!important}.today-group .collection-meta p:first-child{font-size:.9rem}.today-group .collection-meta .small{color:var(--muted)}
.today-attention{border-left:0;border-top:1px solid var(--border);padding:22px 0 0}.today-attention>h2{margin-top:0}.attention-item{border:1px solid var(--border);border-radius:10px;padding:16px;margin:12px 0;background:var(--panel)}.attention-item h3{font-size:1rem;margin:0 0 6px}.attention-item p{font-size:.875rem;margin:0;color:var(--muted);line-height:1.5}.home-unfinished{margin-top:28px;padding-top:18px;border-top:1px solid var(--border)}
.quiet-navigation{border:1px solid var(--border);border-radius:10px;padding:18px;margin:18px 0;background:var(--panel)}.quiet-navigation h3{margin:0 0 6px;font-size:1rem}.quiet-navigation p{margin:0;font-size:.9rem;color:var(--muted)}
.preparation-date{max-width:270px;margin:18px 0}.work-filters{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}.work-filters>div{flex:1;max-width:300px;min-width:180px}.empty-state{padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.lesson-source-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.lesson-source-choices button{text-align:left;min-height:64px;padding:16px}.lesson-preparation-summary{padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--panel);margin:16px 0}.lesson-preparation-summary p{margin:6px 0}.lesson-preparation-summary+.context-options{margin-top:14px}
.task-context{padding:18px;margin-bottom:22px}.task-context>.back{margin-bottom:14px}.task-context-heading strong{font-size:1.05rem}.task-context-heading>button{font-size:.875rem}.task-navigation{gap:4px}.task-navigation button{background:transparent;border-color:transparent;font-size:.95rem}.task-navigation button:hover{border-color:var(--border)}.task-related{font-size:.875rem}.task-related summary{padding:10px 0}.task-return{padding:12px 16px}.task-return button{text-align:left}
tr.navigation-object::after{display:none}.navigation-object:has(.collection-main):not(:has(.collection-meta)) .collection-main{grid-column:1/-1}.collection-view[data-collection-view=list] .navigation-object:has(>h3){display:block}
@media(max-width:1050px){.today-layout{grid-template-columns:minmax(0,1fr)}.today-attention{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.today-attention>.attention-item{max-width:none}.teacher-actions{gap:10px}.teacher-actions>article{padding:18px 34px 18px 16px}}
@media(max-width:650px){.teacher-actions{grid-template-columns:1fr;margin-bottom:24px}.teacher-actions>article{padding:17px 40px 17px 17px}.teacher-actions h2{margin-bottom:6px}.lesson-source-choices{grid-template-columns:1fr}.lesson-source-choices button{min-height:48px}.work-filters>div{max-width:none}.today-layout{gap:20px}.today-group{padding:16px!important}.task-context-heading{display:block}.task-context-heading>button{margin-top:10px}}

.teacher-actions>article+article,.collection-items>.card+.card,.day-class-list>.card+.card{margin-top:0}.today-attention{min-width:0}

/* Related operations replace accordion menus; only the chosen work is visible. */
.operation-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.operation-navigation button{background:transparent;text-align:left}.operation-navigation button[aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 3px 0 var(--green);font-weight:650}.task-operation[hidden]{display:none!important}.task-operation>h2{margin-top:0}.task-operation{min-width:0}.task-operation form{margin-top:16px}#workspace-menu{display:none}#workspace-menu[hidden]{display:none!important}
@media(max-width:650px){#workspace-menu:not([hidden]){display:inline-flex;order:3;min-height:40px;font-size:.85rem}#nav:not([data-open=true]){display:none!important}#nav[data-open=true]:not([hidden]){display:flex}header>.tag,header>.local{display:none}header>#unfinished-tasks{font-size:.8rem;min-height:40px}header{gap:8px;flex-wrap:wrap;padding:12px 16px}.brand{font-size:1.1rem}header .brand-icon{width:28px;height:28px}.display-menu{margin-left:auto}.operation-navigation{gap:6px}.operation-navigation button{flex:1 1 42%;font-size:.875rem}}
.task-navigation:has(>button:only-child){display:none}.related-choices{display:grid;gap:10px;margin-top:20px}.related-choices>button{text-align:left;width:100%;padding:14px 18px}.task-context>#task-related{width:auto;margin-top:14px;font-size:.875rem}
@media(max-width:650px){.task-context{padding:14px;margin-bottom:18px}.task-context>.back{margin-bottom:12px;font-size:.8rem;padding:8px 12px}.task-context-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.task-context-heading strong{font-size:.875rem;line-height:1.4}.task-context-heading p{font-size:.75rem}.task-context-heading>#task-switch{margin:0;width:auto;padding:8px 10px;font-size:.75rem}.task-context>#task-related{width:100%;text-align:left;margin-top:12px;font-size:.8rem;padding:10px 12px}.task-context+.top h1{font-size:1.8rem}.task-context+.top p{font-size:.875rem}.task-navigation{margin-top:12px;padding-top:12px}}

/* Calendar: one view and one selected task, with strong, consistent objects. */
.calendar-surface{border:1px solid var(--border);border-radius:16px;padding:20px;background:var(--panel);margin:20px 0 28px}
.calendar-toolbar,.calendar-date-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between}.calendar-date-tools h2{font-size:1.1rem;margin:0;min-width:180px}.calendar-date-tools>button{min-width:44px}.calendar-jump{font-size:.8rem;margin:0;display:flex;align-items:center;gap:8px}.calendar-jump input{width:auto;min-width:0;margin:0}.segmented-control{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px}.segmented-control button{padding:8px 14px}.segmented-control button[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:var(--tint)}
.month-calendar,.week-dates{margin-top:22px}.calendar-weekday-labels,.month-dates,.week-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday-labels span{padding:8px;text-align:center;color:var(--muted);font-size:.85rem}.calendar-date{min-width:0;min-height:92px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;border-radius:9px;text-align:left}.calendar-date strong{font-size:1.1rem}.calendar-date:hover,.calendar-date:focus-visible{outline:2px solid var(--green);outline-offset:0;background:var(--tint)}.calendar-date.is-selected{border:2px solid var(--green);padding:9px}.calendar-date.is-today strong{text-decoration:underline;text-underline-offset:5px}.calendar-date.outside-month{opacity:.5}.calendar-markers{display:flex;flex-wrap:wrap;gap:4px;min-height:20px}.meeting-marker{display:inline-block;border:1px solid var(--green);background:var(--tint);color:var(--text);font-weight:650;border-radius:5px;padding:2px 5px;font-size:.68rem;line-height:1.2}.iep-marker{background:var(--green);color:#193024}.event-marker{color:var(--green);font-size:.8rem}.calendar-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:0}.calendar-filters{display:flex;align-items:flex-end;gap:20px;max-width:850px;margin:16px 0}.calendar-filters>div{min-width:200px}.calendar-filters form{flex:1;margin:0}.calendar-filters input,.calendar-filters select{margin-bottom:0}.calendar-filters .row{flex-wrap:nowrap}.calendar-event{display:grid;grid-template-columns:100px 1fr;gap:22px}.calendar-event-date{display:flex;flex-direction:column;gap:4px}.calendar-event h3{margin:5px 0}.calendar-events .section-title{display:flex;gap:16px;align-items:center;justify-content:space-between}.calendar-teaching{margin-top:32px;border-top:1px solid var(--border);padding-top:22px}.empty-state{padding:24px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.calendar-effect-button{font-size:.85rem;margin-left:34px}.calendar-import-row{border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin:10px 0}.calendar-import-row select{margin-top:8px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.dialog-heading h2{margin:0}.dialog-heading>button{flex-shrink:0}.operation-choices{display:grid;gap:12px}.operation-choices>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:18px}.operation-choices span{font-size:.88rem;color:var(--muted);font-weight:400}.focused-operation{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.focused-operation form{margin:0}.focused-operation details[hidden]{display:none!important}.focused-operation [data-section-host]>details{display:contents}.operation-panel{margin:20px 0}.packet-inclusions{margin:24px 0}.event-detail{max-width:760px}.event-detail>button{margin:14px 8px 4px 0}.narrow-form{max-width:760px}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:760px){.calendar-surface{padding:12px}.calendar-toolbar{align-items:stretch}.calendar-date-tools{gap:8px}.calendar-date-tools h2{order:-1;width:100%;font-size:1rem}.calendar-jump{width:100%}.calendar-jump input{flex:1}.calendar-date{min-height:78px;padding:6px;gap:5px}.calendar-date.is-selected{padding:5px}.calendar-date strong{font-size:.95rem}.meeting-marker{font-size:.65rem;padding:2px 3px}.month-dates,.week-dates,.calendar-weekday-labels{gap:3px}.calendar-weekday-labels span{font-size:.7rem;padding:4px}.calendar-filters{display:block}.calendar-filters form{margin-top:12px}.calendar-event{grid-template-columns:68px 1fr;gap:12px}.calendar-events .section-title{display:block}.calendar-legend{font-size:.7rem}.calendar-legend .meeting-marker{font-size:.6rem}.dialog-heading{gap:12px}.operation-navigation{flex-wrap:wrap}.operation-navigation button{white-space:normal}}
.record-pager{display:flex;align-items:flex-end;gap:12px;margin:18px 0}.record-pager label{flex:1;margin:0}.record-pager select{margin-top:6px}.record-pager>button{flex-shrink:0}.local-review-sections[hidden]{display:none}.operation-panel[hidden]{display:none!important}
@media(max-width:600px){.record-pager{display:grid;grid-template-columns:1fr 1fr}.record-pager label{grid-column:1/-1;grid-row:1}.record-pager>button{width:100%}}

/* Cards explain a record; list rows compare records using the same fixed fields. */
.collection-column-headings{display:none}
.collection-record [hidden]{display:none!important}
.collection-record [data-card-content]{min-width:0}
.collection-record .collection-description{line-height:1.6;margin:16px 0;max-width:65ch}
.collection-record .collection-main h2,.collection-record .collection-main h3{font-size:1.4rem;line-height:1.3;margin:8px 0 12px}
.collection-metrics{display:flex;gap:26px;flex-wrap:wrap;margin:18px 0}
.collection-metrics p{margin:0;color:var(--muted);font-size:.85rem}
.collection-metrics strong{display:block;font-size:1.65rem;color:var(--text);line-height:1.25}
.collection-view[data-collection-view=cards] .collection-record{display:block;padding:24px 40px 24px 24px!important}
.collection-view[data-collection-view=list]:has(.collection-record)>.collection-items{gap:5px}
.collection-view[data-collection-view=list] .collection-column-headings{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(calc(var(--collection-columns) - 1),minmax(0,1fr));gap:16px;padding:10px 40px 10px 16px;color:var(--muted);font-size:.75rem;font-weight:600}
.collection-view[data-collection-view=list] .collection-record.navigation-object{display:block;min-height:64px;padding:12px 40px 12px 16px!important;border-radius:8px;grid-template-columns:none!important}
.collection-record [data-row-content]{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(calc(var(--collection-columns) - 1),minmax(0,1fr));gap:16px;align-items:center;font-size:.875rem;line-height:1.4}
.collection-cell{min-width:0;overflow-wrap:anywhere}.collection-cell small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.collection-cell-label{display:none}
.score-details .notes{font-size:1.05rem;line-height:1.7}.score-details>.card{border:0;border-top:1px solid var(--border);padding:16px 0 0;background:transparent}.score-details h2{margin-top:0}
@container collection (max-width:600px){
 .collection-view[data-collection-view=list] .collection-column-headings{display:none}
 .collection-record [data-row-content]{grid-template-columns:1.5fr 1fr;gap:10px 16px}
 .collection-cell-label{display:block;color:var(--muted);font-size:.68rem;margin-bottom:3px}
}
/* Keep field names available to assistive technology in desktop comparison rows. */
@container collection (min-width:601px){.collection-cell-label{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
.review-score{font-size:1.65rem;font-weight:600;line-height:1.3;margin:10px 0}.score-details>p{margin:12px 0}.score-details>.context-options{margin-bottom:0}
.collection-view[data-collection-view=cards] .collection-record .collection-main h2{font-size:1.4rem}
.collection-view[data-collection-kind=planning] .collection-cell-label{display:block;position:static;width:auto;height:auto;clip-path:none;overflow:visible;white-space:normal}

/* Curriculum keeps one unit or lesson in focus, using the shared controls. */
.curriculum-library-filter{max-width:360px;margin:20px 0}.curriculum-unit-summary{margin:0 0 24px}.unit-pacing{margin:20px 0}.unit-pacing>div{max-width:400px}.unit-pacing p{line-height:1.6}.curriculum-material-choice{margin:24px 0;padding:20px 0;border-block:1px solid var(--border)}.curriculum-material-choice h2{font-size:1.05rem;margin:0 0 8px}.curriculum-lesson-objective{font-size:1.2rem;line-height:1.6;max-width:65ch}#unit-material-text{min-height:230px}#unit-lesson-form>.primary,#unit-form>.primary{margin-top:24px}.curriculum-source-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;line-height:1.6}
.unit-pacing{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:5px 24px;padding:18px}.unit-pacing>div{grid-column:1;grid-row:1/5;align-self:center}.unit-pacing>p{grid-column:2;margin:4px 0;font-size:.9rem}.unit-pacing .small{font-size:.78rem}
@media(max-width:700px){.unit-pacing{display:block}.unit-pacing>p{margin:10px 0}}

.curriculum-library-filter.with-archive{max-width:600px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.curriculum-library-filter>div{min-width:0}

.school-year-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}.school-year-month{margin:0;padding:18px;min-width:0}.school-year-month h3{margin:0 0 14px}.school-year-weekdays,.school-year-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.school-year-weekdays{font-size:.7rem;color:var(--muted);margin-bottom:5px}.school-year-date{min-height:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:5px;font-size:.8rem;line-height:1.1}.school-year-date.has-activity{background:var(--tint)}.school-year-date.is-today{outline:1px solid var(--green);font-weight:750}.school-year-markers{height:10px;display:flex;gap:2px;font-size:.5rem;color:var(--text)}.school-year-markers b{font-weight:700}.school-year-markers i{font-style:normal;color:var(--green)}.school-year-month>p{margin:12px 0 0;line-height:1.5}.calendar-surface:has([data-calendar-view=year][aria-pressed=true]) .calendar-legend{margin-top:16px}@media(max-width:450px){.segmented-control button{padding:8px 9px;font-size:.85rem}}

.school-year-months>.school-year-month{margin:0;padding-right:18px!important}.school-year-month h3{padding-right:20px}.school-year-date>span:first-child{white-space:nowrap}

/* Event types are optional multi-select controls, kept out of the way until needed. */
.calendar-type-pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.calendar-type-pills[hidden]{display:none}.calendar-type-pills button{border-radius:999px;padding:8px 14px;font-size:.85rem}.calendar-type-pills button[aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.calendar-type-pills button>span{display:inline-block;min-width:1em}#calendar-types-toggle{white-space:nowrap}.calendar-filters>div:has(#calendar-types-toggle){min-width:0}

/* A single date adjustment uses reusable schedules and a compact group preview. */
.day-option-library{max-height:360px;overflow:auto;margin:16px 0}.day-option-library>button{padding:13px 16px}.day-option-preview{width:100%;border-collapse:collapse;margin:18px 0;text-align:left}.day-option-preview caption{text-align:left;font-weight:650;margin-bottom:12px}.day-option-preview th,.day-option-preview td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.day-option-preview th:first-child{width:40%}.day-option-preview input{max-width:150px;margin:8px 0 0}.day-option-preview label{margin:0}.day-option-dialog h3{margin-top:18px}.day-option-error{color:var(--text);font-weight:650}.school-day-status{padding:10px 0;margin-bottom:0;font-weight:650}
.school-timetable-dialog{width:min(840px,calc(100vw - 48px))}.school-timetable-dialog .day-option-preview th:first-child{width:30%}.school-timetable-dialog .day-option-preview th:nth-child(2){white-space:nowrap;min-width:75px}.school-timetable-dialog .day-option-preview p{margin:8px 0}.school-timetable-dialog .day-option-preview select{margin:6px 0;max-width:100%}.school-timetable-dialog .day-option-preview input[type=checkbox]{width:auto;margin:0 6px 0 0}.school-timetable-dialog .day-option-preview input[type=time]{min-width:125px}.school-timetable-dialog .form-actions{flex-wrap:wrap}

/* Team setup uses the space the task needs; daily assistant tasks stay compact. */
.focused-operation.team-operation{width:min(1100px,calc(100vw - 32px));max-width:1100px}.team-operation .team-frame{display:block;width:100%;height:72dvh;border:0;border-radius:10px}

/* Student task hierarchy: problem first, response and optional support together. */
.math-play .student-problem-heading{font:600 1.1rem/1.4 system-ui,sans-serif;letter-spacing:0;margin:0 0 16px;color:var(--muted)}
.math-play .question{font:2.3rem/1.4 system-ui,sans-serif;text-align:left;margin:18px 0 22px}
.math-play .question-presentation{font-size:inherit;line-height:inherit;font-weight:650}
.math-play .reading-passage{font:1.05rem/1.65 system-ui,sans-serif;margin:0 0 24px;padding:16px 20px;border-left:3px solid var(--border);background:var(--field)}
.math-play .student-support{font:1rem/1.5 system-ui,sans-serif;margin-top:18px}
.math-play #answer-guidance{font-size:1rem;color:var(--text)}
.student-teaching-hint{margin:16px 0;padding:16px 20px;border-left:3px solid var(--green);background:var(--field);border-radius:0 8px 8px 0}
.student-teaching-hint h2{font-size:1rem}.student-teaching-hint p{font-size:1rem;white-space:pre-line;margin-bottom:0}
.math-play input#answer{max-width:28rem}.math-play textarea{min-height:8rem}
@media(max-width:500px){.math-play .question{font-size:1.75rem}.math-play .card{padding:18px}}

.student-arrangement{font-size:.875rem;margin:0 0 14px}.student-arrangement summary{cursor:pointer;color:var(--muted);width:fit-content}
.student-arrangement .row{gap:8px;margin:12px 0}.student-arrangement button{padding:6px 12px;border-radius:20px;font-size:.875rem}
.student-arrangement button[aria-pressed=true]{border-color:var(--green);background:var(--tint);color:var(--text)}
.math-play #layout-notice:empty{display:none}

.student-working{margin:24px 0;padding:18px 0;border-top:1px solid var(--line)}.student-working h2{font-size:1.1rem}.student-working p{font-size:.95rem}.student-working .small{font-size:.8rem}.student-working #working-preview{display:block;max-width:100%;max-height:320px;margin:14px 0}.student-working #working-preview[hidden]{display:none}.teacher-working-preview{max-width:100%;max-height:70vh;display:block;margin:16px 0}

.response-evidence{flex:1;min-width:0}.working-review{margin-top:12px}.working-review p{margin-bottom:10px}

.student-answer-actions{position:sticky;top:12px;bottom:auto;z-index:4;background:var(--panel);padding:10px 0;margin:14px 0 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.student-answer-actions .primary{margin-left:auto}.math-play #answer,.math-play .answer-choices{scroll-margin-top:90px}

.student-answer-action-anchor{height:0;pointer-events:none}.student-answer-actions.is-docked{position:fixed;margin:0;padding:10px 12px;max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 4px 18px #0003;border:1px solid var(--line);border-radius:9px}.student-answer-actions .row{margin-top:0}.math-play #student-working,.math-play #hint-toggle,.math-play #working-remove{scroll-margin-top:160px}
/* Today uses two aligned full-width sections; actions live in the workspace navigation. */
.today-layout{grid-template-columns:minmax(0,1fr);gap:28px}.collection-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 14px}.collection-heading h2{margin:0}.collection-heading .collection-toolbar{margin:0;justify-content:flex-start;flex:none;gap:4px}.collection-heading .collection-toolbar button{min-height:36px;padding:6px 12px;font-size:.8rem}.today-teaching>.day-context{margin:12px 0 0;font-size:.9rem;color:var(--text)}.today-group.is-current{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}.session-cue{font-size:.72rem;font-weight:750;color:var(--text);background:var(--tint);border-radius:4px;padding:3px 6px;display:inline-block;margin:0 0 8px}.session-cue[hidden]{display:none}.today-group .team-day-context{border-top:1px solid var(--border);padding-top:6px}.today-attention .attention-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;margin:0}.attention-copy{min-width:0;flex:1}.attention-item .attention-timing{display:flex;gap:4px 12px;flex-wrap:wrap;margin-top:5px;font-size:.78rem}.attention-item>button{flex:none;font-size:.82rem;max-width:140px;min-height:42px;padding:8px 12px}.today-quick{border-top:1px solid var(--border);margin-top:30px;padding-top:20px}.today-quick>h2{font-size:1.15rem;margin:0 0 12px}.quick-launches{display:flex;gap:10px;flex-wrap:wrap}.quick-launches>button{font-size:.875rem;min-height:42px;padding:9px 14px}.today-teaching .collection-column-headings{margin-top:8px}@media(max-width:1050px){.today-layout{grid-template-columns:minmax(0,1fr)}.today-attention{padding:22px 0 0;border-left:0;border-top:1px solid var(--border)}}@media(max-width:650px){.today-attention .attention-item{gap:10px}.attention-item>button{max-width:110px}.collection-heading{gap:12px}.today-quick{margin-top:24px}}
.collection-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:8px}.collection-toolbar svg{width:19px;height:19px;display:block}.collection-title-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.collection-title-controls>h1,.collection-title-controls>h2{margin-bottom:0}.collection-title-controls>.collection-toolbar{margin:0;flex:none}.student-review-groups{display:grid;gap:24px}.student-review-group>h2{font-size:1.35rem;margin:0 0 10px}.student-review-items{display:grid;gap:10px}.collection-view[data-collection-view=cards] .student-review-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.student-review-item .review-next-action{font-size:1.1rem;margin:0 0 8px}.student-review-item .review-supporting{font-size:.875rem;line-height:1.45;margin:6px 0}.student-review-item .review-queue-meta{font-size:.8rem;line-height:1.5;margin:8px 0}.student-review-item .review-queue-meta span{display:block}.work-filter-options{margin:8px 0 18px;max-width:750px}.work-filter-options>summary{font-size:.875rem;width:fit-content;min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:7px}.work-filter-options .work-filters{margin:14px 0}.student-review-item [data-row-content] .collection-cell:first-child{font-weight:650}.today-group .collection-description{max-height:3.3em;overflow:hidden}
.work-queue-controls{display:flex;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;margin:8px 0}.work-views{display:flex;gap:6px;flex-wrap:wrap}.work-views>button{font-size:.85rem;border-radius:999px;padding:8px 14px;min-height:38px}.work-views>button[aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.work-queue-controls>.work-filter-options{margin:0;flex:1;min-width:180px}.work-scope-note{margin:10px 0 18px}.work-filter-options .work-filters>div{min-width:150px}
/* A shared readable prose floor honors the existing root text-size preference. */
@media screen{
 :root{--prose-size:1rem;--secondary-prose-size:.95rem;--prose-leading:1.6}
 body{font-size:1.0625rem;line-height:var(--prose-leading)}
 main p,main label,main legend,main summary,main .card p{font-size:var(--prose-size);line-height:var(--prose-leading)}
 main .small,main .card p.small,main .collection-cell small{font-size:var(--secondary-prose-size);line-height:var(--prose-leading)}
 main .attention-item p,main .attention-item .attention-timing,main .student-review-item .review-supporting,main .student-review-item .review-queue-meta{font-size:var(--prose-size);line-height:var(--prose-leading)}
 main .attention-item>button,main .quick-launches>button,main .work-views>button,main .work-filter-options>summary,main .class-progress button{font-size:var(--prose-size)}
 main .collection-record [data-row-content],main .trial-context,main .trial-time,main .trial-status{font-size:var(--prose-size);line-height:var(--prose-leading)}
 .review-detail{max-width:82rem}.review-context{margin:0 0 22px;color:var(--muted)}.review-summary{padding:0 0 20px;border-bottom:1px solid var(--border);margin-bottom:16px}.review-summary h2{font-size:1.25rem;margin-bottom:10px}.review-summary p{font-size:1rem;margin:8px 0;max-width:72ch}.review-summary .review-evidence-counts{font-weight:650;color:var(--text)}.review-summary .recorded-checks{font-size:1rem}
 .review-save-bar{position:sticky;top:8px;z-index:5;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 0;margin:0 0 18px}.review-save-bar p{flex:1;min-width:220px;margin:0;color:var(--muted);font-size:1rem}.review-save-bar>button{flex:none}
 .review-evidence-item{padding:22px 0 26px;border-bottom:1px solid var(--border)}.review-question-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.review-question-heading h2{font-size:1.25rem;margin:0}.review-question-heading>span{font-size:1rem;color:var(--muted)}.review-evidence-item .review-goal{font-size:1rem;margin:12px 0}.review-evidence-item .question-presentation{font-size:1.2rem;line-height:1.65;color:var(--text);margin:18px 0}.recorded-response{border-left:3px solid var(--green);padding:4px 16px;margin:18px 0}.recorded-response h3{font-size:1rem;margin:0 0 6px}.recorded-response p{white-space:pre-wrap;color:var(--text);font-size:1.1rem;margin:0;line-height:1.65}.review-guidance{margin:16px 0}.review-guidance>summary{font-size:1rem;cursor:pointer}.review-guidance p,.review-evidence-item .recorded-support,.review-evidence-item .working-review p{font-size:1rem;line-height:1.65}.question-assessment{max-width:540px;margin-top:18px}.question-assessment label,.question-assessment select,.question-assessment p{font-size:1rem}.question-assessment label{font-weight:650}.review-private-notes,.review-related,.review-original{margin:24px 0}.review-private-notes>summary,.review-related>summary,.review-original>summary{font-size:1rem;cursor:pointer}.review-private-notes textarea{min-height:140px}.review-related button{margin:8px 8px 0 0}.review-detail #work-feedback{border:0;background:none;padding:12px 0;box-shadow:none}.review-detail #work-feedback p,.review-detail #work-feedback label{font-size:1rem;line-height:1.65}
}

/* One evidence-to-feedback workspace; shared rem scaling applies throughout. */
.review-feedback-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1.5rem;align-items:start}.feedback-workspace{min-width:0;font-size:1rem;line-height:1.6}.feedback-compose{position:sticky;top:1rem;border:1px solid var(--border);border-radius:12px;padding:1.3rem;background:var(--panel)}.feedback-workspace h2{font-size:1.3rem}.feedback-workspace p,.feedback-workspace label,.feedback-workspace textarea,.feedback-workspace select{font-size:1rem}.feedback-workspace textarea{width:100%;min-height:8rem}.feedback-channels{border:0;padding:0;margin:1rem 0;display:flex;flex-wrap:wrap;gap:.7rem 1rem}.feedback-channels label{display:inline-flex;gap:.5rem;align-items:center}.feedback-channels legend{font-weight:650;margin-bottom:.5rem}.feedback-receipt{padding:1.2rem 0;border-top:1px solid var(--border)}.feedback-issued-history{margin-top:1.5rem}.feedback-receipt ol{padding-left:1.4rem}.feedback-selected-evidence{border-color:var(--green)}.issued-feedback-text{white-space:pre-wrap;color:var(--text)}.print-feedback-sheet{display:none}.feedback-followup{margin-top:1rem}.review-detail .review-evidence-form{min-width:0}.feedback-compose #feedback-draft-status{border-left:3px solid var(--green);padding-left:.7rem}
@media print{body:has(#print-feedback-sheet)>*{display:none!important}body:has(#print-feedback-sheet)>#print-feedback-sheet{display:block!important;color:#111;background:#fff;font-size:12pt;padding:1cm}.print-feedback-sheet h1{font-size:24pt}.print-feedback-sheet h2{font-size:15pt}.print-feedback-sheet p{color:#111;font-size:12pt;white-space:pre-wrap}.print-feedback-sheet *{break-inside:avoid}}

.review-question-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0 1rem}.review-question-tabs button[aria-pressed=true]{background:var(--tint);border-color:var(--green)}.feedback-delivery-options{margin:1rem 0}.feedback-delivery-options summary{font-size:1rem}.feedback-save-explanation{color:var(--muted)}.student-feedback-alert{margin-left:auto;color:var(--green)}

/* One shared Today view: horizontal cards or vertical lists in both sections. */
.today-layout>section{min-width:0;width:100%}
.today-layout .collection-heading{min-height:2.4rem;gap:12px}
.today-layout .collection-view[data-collection-view=cards]>.collection-items{display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:2px;overscroll-behavior-x:contain;padding:2px 2px 12px;margin:0;align-items:stretch}
.today-layout .collection-view[data-collection-view=cards]>.collection-items>.card,.today-layout .collection-view[data-collection-view=cards] .attention-item{flex:0 0 clamp(18rem,calc((100% - 32px)/3),26rem);min-width:0;scroll-snap-align:center;margin:0}
.today-layout .collection-view[data-collection-view=cards] .attention-item{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;gap:16px}
.today-layout .collection-view[data-collection-view=cards] .attention-copy{flex:1}
.today-layout .collection-view[data-collection-view=cards] .attention-item>button{align-self:flex-start;max-width:none}
.today-layout #team-approvals,.today-layout #mail-attention{display:contents}/* Placeholders that hold cards are not cards: as flex items they added a gap and pushed the first card out of line with the row above. */
/* A Teaching Today card shows its label row only when there is a period name or a Now/Next cue, so its title lines up with Needs Attention's. */
.today-group .period-heading:not(:has(>:not([hidden]))){display:none}
.today-layout .collection-view[data-collection-view=list]>.collection-items{display:flex;flex-direction:column;gap:0;overflow:visible;max-height:none;padding:0;margin:0}
.today-layout .collection-view[data-collection-view=list] .attention-item{width:100%;max-width:none;min-width:0}
.today-layout .collection-view[data-collection-view=list] .attention-copy{max-width:80ch}
.today-layout .collection-scroll-controls{display:flex;gap:6px;margin-left:auto}
.collection-scroll-controls[hidden]{display:none!important}
.collection-scroll-controls button{font-size:1.5rem;line-height:1;min-width:40px;min-height:40px;padding:4px 10px}
@media(min-width:781px){#nav{position:sticky;top:0;align-self:start;max-height:100vh;min-height:calc(100vh - 84px);overflow-y:auto}}
@media print{.today-layout .collection-view[data-collection-view=cards]>.collection-items{display:block;overflow:visible}.today-layout .collection-items>.card,.today-layout .attention-item{break-inside:avoid;margin-bottom:12px!important}}

.today-group.is-current{background:var(--tint)!important;border-color:var(--green)!important;box-shadow:inset 4px 0 0 var(--green)}
.today-layout .period-open:not(.is-current){background:transparent!important}

main:has(.today-layout){max-width:none}

/* Read-only free periods use the same full-width list grid as clickable classes. */
.today-layout .collection-view[data-collection-view=list]>.collection-items>.today-group{display:block;grid-template-columns:none;min-height:64px;padding:12px 40px 12px 16px!important}

/* The daily overview fits the workspace; each section owns its overflow. */
body:has(.today-layout){min-height:100dvh;display:flex;flex-direction:column}
body:has(.today-layout)>header,body:has(.today-layout)>.site-footer{flex:none}
body:has(.today-layout)>.shell{flex:1}
main:has(.today-layout){height:100%;min-height:0;display:flex;flex-direction:column;padding:20px 4%}
main:has(.today-layout)>.top{flex:none;margin-bottom:14px;padding-bottom:12px}
main:has(.today-layout)>.top h1{font-size:2rem;line-height:1.15;margin:0}
main:has(.today-layout)>.top p{margin:4px 0 0;line-height:1.35}
body:has(.today-layout)>.site-footer{padding-block:10px}
.today-layout{flex:1;min-height:0;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:16px}
.today-layout>section{display:flex;flex-direction:column}
.today-attention{padding-top:14px}
.today-layout .collection-view{display:flex;flex-direction:column;min-height:0;height:100%}
.today-layout .collection-heading{flex:none;margin-bottom:8px;min-height:36px}
.today-layout .collection-heading h2{font-size:1.15rem;line-height:1.3}
.today-layout .day-context{flex:none;margin:0 0 8px;line-height:1.3}
.today-layout .collection-column-headings{flex:none;margin:0;padding-block:6px}
.collection-viewport{position:relative;min-width:0;min-height:0}
.today-layout .collection-viewport{flex:1;overflow:hidden}
.today-layout .collection-view[data-collection-view=cards] .collection-viewport{padding-inline:24px}
.today-layout .collection-view[data-collection-view=cards] .collection-items{height:100%;display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:2px;overscroll-behavior-x:contain;padding:2px 2px 8px;margin:0;align-items:stretch}
.today-layout .collection-view[data-collection-view=cards] .collection-items>.card{flex:0 0 clamp(18rem,calc((100% - 32px)/3),26rem);min-width:0;scroll-snap-align:center;margin:0}
.today-layout .collection-scroll-controls{position:absolute;inset:0;z-index:3;margin:0;display:block;pointer-events:none}
.today-layout .collection-scroll-controls>button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border-radius:50%;background:var(--control);border:1px solid var(--border);box-shadow:0 2px 10px #0005;pointer-events:auto;font-size:1.6rem;line-height:1}
.today-layout [data-scroll-cards=previous]{left:0}
.today-layout [data-scroll-cards=next]{right:0}
.collection-scroll-controls>button[hidden]{display:none!important}
.today-layout .collection-view[data-collection-view=cards] .today-group{padding:12px 30px 12px 14px!important;overflow:hidden}
.today-group .period-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.today-group .period-heading .eyebrow{margin:0;line-height:1.2}
.today-group .period-heading .session-cue{margin:0;white-space:nowrap}
.today-layout .collection-view[data-collection-view=cards] .today-group h3{font-size:1.15rem;line-height:1.3;margin:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-layout .collection-view[data-collection-view=cards] .today-group p{line-height:1.3;margin:4px 0}
.today-layout .collection-view[data-collection-view=cards] .period-preparation,.today-layout .collection-view[data-collection-view=cards] .team-day-context{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-layout .collection-view[data-collection-view=cards] .team-day-context{border:0;padding:0;font-size:1rem}
.today-layout .collection-view[data-collection-view=cards] .attention-item{display:grid;grid-template-rows:1fr auto;gap:10px;padding:12px 16px;overflow:hidden}
.today-layout .collection-view[data-collection-view=cards] .attention-copy{min-height:auto;overflow:visible}
.attention-description .attention-state,.attention-description .attention-scope{display:block}
.attention-description .attention-state{color:var(--text)}
.today-layout .collection-view[data-collection-view=cards] .attention-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
.today-layout .collection-view[data-collection-view=cards] .attention-item h3{line-height:1.3;margin:0 0 6px}
.today-layout .collection-view[data-collection-view=cards] .attention-timing{line-height:1.35;gap:2px 10px;margin-top:6px}
.today-layout .collection-view[data-collection-view=cards] .attention-item>button{justify-self:start;margin:0;line-height:1.25}
.today-layout .collection-view[data-collection-view=list] .collection-viewport{padding:0}
.today-layout .collection-view[data-collection-view=list] .collection-items{height:100%;display:flex;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:0;margin:0;max-height:none}
.today-layout .collection-view[data-collection-view=list] .collection-items>.today-group{flex:none;display:block;min-height:64px;padding:10px 32px 10px 12px!important}
.today-attention .collection-view[data-collection-view=list] .collection-column-headings,.today-attention .collection-view[data-collection-view=list] .attention-item{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1.4fr) minmax(0,.8fr) minmax(8rem,auto);gap:16px;padding-inline:12px}
.today-attention .collection-view[data-collection-view=list] .attention-item{display:grid;flex:none;align-items:start;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;padding-block:12px;margin:0;min-height:0}
.today-attention .collection-view[data-collection-view=list] .attention-copy{display:contents;max-width:none}
.today-attention .collection-view[data-collection-view=list] h3{grid-column:1;margin:0;line-height:1.35}
.today-attention .collection-view[data-collection-view=list] .attention-description{grid-column:2;margin:0;line-height:1.35}
.today-attention .collection-view[data-collection-view=list] .attention-scope{margin-top:4px;color:var(--muted)}
.today-attention .collection-view[data-collection-view=list] .attention-timing{grid-column:3 / 5;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:4px 16px;margin:0;line-height:1.35}
.today-attention .collection-view[data-collection-view=list] .attention-age{grid-column:1}
.today-attention .collection-view[data-collection-view=list] .attention-urgency{grid-column:1;grid-row:2}
.today-attention .collection-view[data-collection-view=list] .attention-estimate{grid-column:2;grid-row:1 / 3}
.today-attention .collection-view[data-collection-view=list] .attention-item>button{grid-column:5;max-width:none;width:100%;margin:0;line-height:1.25;min-height:44px}
@media print{body:has(.today-layout){height:auto;overflow:visible;display:block}body:has(.today-layout)>.shell{overflow:visible}main:has(.today-layout),.today-layout,.today-layout>section,.today-layout .collection-view,.today-layout .collection-viewport,.today-layout .collection-items{display:block!important;height:auto!important;overflow:visible!important}.collection-scroll-controls{display:none!important}}

main:has(.today-layout)>.top>div{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
main:has(.today-layout)>.top p{margin:0}
.today-layout .collection-heading .day-context{margin:0 0 0 6px;line-height:1.3;flex:0 1 auto}

/* Date belongs to the workspace header; Today needs no repeated visual page title. */
.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body>header:has(.workspace-date:not([hidden])){position:relative}
.workspace-date{position:absolute;left:50%;transform:translateX(-50%);max-width:38%;text-align:center;font-weight:600;line-height:1.3;color:var(--text)}
body:has(.today-layout)>.shell{grid-template-rows:minmax(0,1fr)}
main:has(.today-layout){height:auto;min-height:0}
.today-layout{align-items:stretch;grid-template-rows:minmax(0,.85fr) minmax(0,1fr)}
.today-layout .collection-heading h2{font-size:1.5rem;font-weight:750;line-height:1.25}
.today-layout .collection-view[data-collection-view=cards] .collection-items{align-items:flex-start}
.today-layout .collection-view[data-collection-view=cards] .today-group{height:min(100%,12rem)}
.today-layout .collection-view[data-collection-view=cards] .today-group>[data-card-content]{max-height:100%;overflow-y:auto;overscroll-behavior-y:contain}
.today-layout .collection-view[data-collection-view=cards] .today-group h3{white-space:normal;overflow:visible;text-overflow:clip}
/* Cards in a row are as tall as the tallest, with their buttons at the bottom (Cards line up); no fixed height that cuts text. */
.today-layout .collection-view[data-collection-view=cards] .attention-item{height:auto;align-self:stretch}
.today-layout .collection-view[data-collection-view=cards] .attention-copy{overflow:visible}
@media(max-width:1400px){body>header:has(.workspace-date:not([hidden]))>.tag{display:none}}
@media(max-width:1100px){body>header:has(.workspace-date:not([hidden]))>.local{display:none}.workspace-date{position:static;transform:none;order:10;flex-basis:100%;max-width:none}}
@media print{.screen-reader-only{position:static;width:auto;height:auto;clip-path:none;overflow:visible;white-space:normal}.today-layout .collection-items>.today-group,.today-layout .collection-items>.attention-item{height:auto!important}}

/* Fixed proportions keep headings and every list row aligned, regardless of button text. */
.today-attention .collection-view[data-collection-view=list] .collection-column-headings,.today-attention .collection-view[data-collection-view=list] .attention-item{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1.4fr) minmax(0,.8fr) minmax(8rem,1fr)}
.period-row-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.period-row-heading small,.period-row-heading .session-cue{margin:0}
.today-layout .collection-view[data-collection-view=list] .team-day-context{border:0;padding:0;margin:4px 0 0}
.today-teaching .collection-scroll-controls{height:min(100%,12rem)}
.today-attention .collection-scroll-controls{height:min(100%,14rem)}
body:has(.today-layout) #nav{min-height:0;overflow-y:auto}
@media(max-width:1600px){body>header:has(.workspace-date:not([hidden]))>.tag{display:none}}

/* Give both lists breathing room around the shared divider. */
/* Today fills the screen and grows past it when a full day needs to: Teaching Today takes its cards' height, Needs Attention the
   rest. Cards are never clipped; on a short window the page scrolls a little. Lists keep their own scroll (below). */
.today-layout{grid-template-rows:auto minmax(auto,1fr);gap:24px}
.today-layout .collection-view[data-collection-view=list] .collection-items{max-height:min(30dvh,20rem)}
/* Needs Attention reads from its first, most urgent card, so it does not snap: when its cards are re-sorted after they appear (drafts,
   email, Team), the browser kept the card it had snapped and scrolled the list sideways after it, hiding the first card. The arrow
   buttons still page through it. (Teaching Today keeps snapping, which centres the current period.) */
#main .today-attention .collection-items{scroll-snap-type:none}
.today-attention{padding-top:22px}

/* Quiet section boundaries distinguish the two independently scrolling collections. */
.today-layout>section{border:1px solid var(--line);border-radius:12px;padding:16px}
.today-layout .collection-view[data-collection-view=cards] .today-group{height:min(100%,14rem)}
.today-teaching .collection-scroll-controls{height:min(100%,14rem)}
.today-layout .collection-view[data-collection-view=cards] .team-day-context{white-space:normal;overflow:visible;text-overflow:clip}
@media print{.today-layout>section{border:0;padding:0}}

.today-layout>section{background:var(--panel);border-color:var(--border)}
.today-layout .collection-view[data-collection-view=cards] .today-group:not(.is-current),.today-layout .collection-view[data-collection-view=cards] .attention-item{background:var(--bg)!important}

/* Vertical boundary controls are only present while more list rows are available. */
.today-layout .collection-view[data-collection-view=list] .collection-viewport{padding-right:48px}
.today-layout .collection-view[data-collection-view=list] .collection-column-headings{margin-right:48px}
.today-layout .collection-view[data-collection-view=list] .collection-scroll-controls{left:auto;right:0;top:0;bottom:0;width:44px;height:100%}
.today-layout .collection-view[data-collection-view=list] .collection-scroll-controls>button{left:auto;right:0;transform:none;width:44px;height:44px;font-size:1.15rem}
.today-layout .collection-view[data-collection-view=list] [data-scroll-cards=previous]{top:0;bottom:auto}
.today-layout .collection-view[data-collection-view=list] [data-scroll-cards=next]{top:auto;bottom:0}

/* The teacher's collection model is shared beyond Today; forms and print layouts keep their own structure. */
main:not(:has(.today-layout)):has(.collection-view){max-width:none}
.menu-page-top{align-items:center;margin-bottom:20px;gap:16px}
.menu-page-top>div:first-child{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.menu-page-top p{margin:0;font-size:1rem;line-height:1.4}
.menu-page-top .collection-title-controls{flex:none}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards]{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0;margin-block:16px}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards]>.collection-viewport{position:relative;min-width:0;min-height:0}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=cards]>.collection-viewport{padding-inline:24px}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards]>.collection-viewport>.collection-items{margin:0;min-width:0;overscroll-behavior:contain}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=cards]>.collection-viewport>.collection-items{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;overflow-y:hidden;align-items:stretch;scroll-snap-type:x proximity;padding:2px 2px 12px}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=cards]>.collection-viewport>.collection-items>.collection-record{flex:0 0 clamp(18rem,calc((100% - 32px)/3),28rem);min-width:0;max-height:min(62dvh,34rem);overflow-y:auto;scroll-snap-align:start;background:var(--bg)}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards]>.collection-viewport>.collection-scroll-controls{position:absolute;inset:0;z-index:3;display:block;pointer-events:none}
main:not(:has(.today-layout)) .collection-scroll-controls>button{position:absolute;width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;background:var(--control);border:1px solid var(--border);box-shadow:0 2px 10px #0005;pointer-events:auto;top:50%;transform:translateY(-50%);font-size:1.5rem}
main:not(:has(.today-layout)) [data-scroll-cards=previous]{left:0}
main:not(:has(.today-layout)) [data-scroll-cards=next]{right:0}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=list]>.collection-viewport{padding-right:48px}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=list]>.collection-column-headings{margin-right:48px}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=list]>.collection-viewport>.collection-items{display:flex;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden;max-height:min(62dvh,36rem);scrollbar-gutter:stable}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=list]>.collection-viewport>.collection-items>.collection-record{display:block;flex:none;min-height:64px;padding:12px 40px 12px 16px!important;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}
main:not(:has(.today-layout)) .collection-view[data-horizontal-cards][data-collection-view=list]>.collection-viewport>.collection-scroll-controls{left:auto;right:0;width:44px}
main:not(:has(.today-layout)) .collection-view[data-collection-view=list]>.collection-viewport>.collection-scroll-controls>button{left:auto;right:0;transform:none;font-size:1.15rem}
main:not(:has(.today-layout)) .collection-view[data-collection-view=list]>.collection-viewport [data-scroll-cards=previous]{top:0;bottom:auto}
main:not(:has(.today-layout)) .collection-view[data-collection-view=list]>.collection-viewport [data-scroll-cards=next]{top:auto;bottom:0}
.student-review-group>.collection-view{margin-top:0!important}
@media print{main:not(:has(.today-layout)) .collection-view[data-horizontal-cards]{border:0;padding:0}main:not(:has(.today-layout)) .collection-viewport,main:not(:has(.today-layout)) .collection-items{display:block!important;overflow:visible!important;max-height:none!important;padding:0!important}main:not(:has(.today-layout)) .collection-record{max-height:none!important;overflow:visible!important;break-inside:avoid}.collection-scroll-controls{display:none!important}}

/* Clipped native actions remain keyboard accessible without creating false row overflow. */
main:not(:has(.today-layout)) .navigation-object .object-primary{min-height:0!important;min-width:0!important;top:0;left:0}

/* Shared task forms and selection lists; Today retains its accepted layout. */
.persistent-form-actions{position:sticky;top:8px;z-index:4;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin:16px 0}
.collection-filter-options{margin:12px 0 18px;max-width:100%}.collection-filter-options>summary{width:fit-content;cursor:pointer}.collection-filter-options>.row,.collection-filter-options>.curriculum-library-filter{margin-top:14px}
main:not(:has(.today-layout)) [data-scroll-list]>.collection-viewport>.collection-items{max-height:min(50dvh,28rem)}
[data-scroll-list] .portfolio-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--border);border-radius:0;margin:0;padding:16px}
[data-scroll-list] .portfolio-row h2{font-size:1.25rem;margin:0 0 8px}[data-scroll-list] .portfolio-row p{margin:6px 0}[data-scroll-list] .portfolio-row label{margin-top:10px}
[data-scroll-list] .selection-options{padding:0!important;max-height:min(38dvh,22rem)!important}[data-scroll-list] .day-option-library{max-height:none;overflow:visible;padding:0;margin:0}[data-scroll-list] .day-option-library>button{border-radius:0;border:0;border-bottom:1px solid var(--border);padding:14px 16px}
@media print{.persistent-form-actions{display:none!important}}
/* Selection lists also appear in focused dialogs outside the page's main node. */
[data-scroll-list]{border:1px solid var(--border);border-radius:12px;padding:12px;margin:16px 0;min-width:0;background:var(--panel)}
[data-scroll-list]>.collection-viewport{position:relative;min-width:0;padding-right:48px}
[data-scroll-list]>.collection-viewport>.collection-items{display:flex;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden;max-height:min(50dvh,28rem);overscroll-behavior:contain;scrollbar-gutter:stable;margin:0}
[data-scroll-list]>.collection-viewport>.collection-scroll-controls{position:absolute;inset:0 0 0 auto;width:44px;pointer-events:none;z-index:3}
[data-scroll-list]>.collection-viewport>.collection-scroll-controls>button{position:absolute;right:0;left:auto;width:44px;height:44px;min-width:44px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--control);color:var(--text);pointer-events:auto;transform:none;box-shadow:0 2px 10px #0005;font-size:1.15rem}
[data-scroll-list] [data-scroll-cards=previous]{top:0;bottom:auto}[data-scroll-list] [data-scroll-cards=next]{top:auto;bottom:0}
@media print{[data-scroll-list]>.collection-viewport{padding:0}[data-scroll-list]>.collection-viewport>.collection-items{display:block;overflow:visible;max-height:none!important}[data-scroll-list] .collection-scroll-controls{display:none!important}}

.calendar-focus{grid-column:1/-1}.calendar-date.has-schedule-change,.school-year-date.has-schedule-change{box-shadow:inset 0 -3px 0 #c89c54}.schedule-change-marker{font-weight:700;border:1px solid currentColor}.standard-schedule-marker{background:transparent;color:var(--muted)}.calendar-markers .meeting-marker{max-width:100%;white-space:normal;text-align:center}.schedule-change-row{border-left:3px solid #c89c54}

/* Global account action shares the existing header control language. */
.workspace-account-menu{position:relative}.workspace-account-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-control);padding:12px 16px;font:inherit}.workspace-account-menu .display-panel{right:0;left:auto;min-width:11rem}.attention-priority{font-weight:700;color:var(--text)}.attention-priority[data-criticality=urgent]{color:var(--text);font-weight:800}.attention-priority[data-criticality=high]{color:var(--green)}

.attention-item .attention-priority{display:inline-block}.today-attention .collection-view[data-collection-view=list] .attention-priority{grid-column:1;grid-row:1}.today-attention .collection-view[data-collection-view=list] .attention-age{grid-row:2}.today-attention .collection-view[data-collection-view=list] .attention-urgency{grid-row:3}.today-attention .collection-view[data-collection-view=list] .attention-estimate{grid-row:1 / 4}

.teacher-renewal{width:min(38rem,calc(100vw - 32px))}.teacher-renewal iframe{display:block;width:100%;height:min(30rem,65vh);border:0;border-radius:var(--radius-control)}

/* One compact status and next action within the current lesson, using existing type and colors. */
.lesson-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:16px 0 20px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel)}
.lesson-progress h2{font-size:1.2rem;margin:0 0 6px}.lesson-progress p{margin:3px 0;line-height:1.4}.lesson-progress-action{display:flex;flex-direction:column;gap:8px;flex:none}.lesson-start-actions{margin:16px 0}.lesson-start-actions button{min-height:44px}
@media(max-width:800px){.lesson-progress{align-items:start;flex-direction:column}.lesson-progress-action{align-self:stretch}.lesson-start-actions{flex-wrap:wrap}}

/* Lesson review keeps one exact question in view and its navigation close by. */
.focused-question-toolbar{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:14px 0}.focused-question-toolbar label{margin:0;flex:1 1 12rem}.focused-question-toolbar select{margin:6px 0 0}
.focused-questions>.question-set{margin:0;padding:20px}.focused-questions .review-question{margin:0;padding:0;border:0}.focused-questions .review-question p.small{font-size:1rem;line-height:1.5}.focused-questions .review-question>h3{margin-top:0}.question-review-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.focused-question-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;bottom:10px;z-index:4;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-control);padding:12px;margin:14px 0 0;box-shadow:0 4px 18px #0003}.focused-question-actions [data-question-position]{color:var(--muted);white-space:nowrap}.focused-question-actions .primary{margin-left:auto}.focused-questions>.question-set>label{padding:14px 0 0;margin:14px 0 0;border-top:1px solid var(--border)}
#delivery-form{max-width:52rem;margin-top:14px!important}#delivery-form>h2{margin-top:0}#delivery-form>button{margin:8px 8px 8px 0}#lesson-review-details{margin-bottom:6px}#preparation-summary p{margin:6px 0}#preparation-summary h3{margin:0 0 8px}
@media(max-width:800px){.focused-question-toolbar{gap:10px}.focused-question-actions{gap:8px}.focused-question-actions button{flex:1 1 auto}.focused-question-actions .primary{margin-left:0}.focused-questions>.question-set{padding:16px}}
@media print{.focused-question-actions{display:none!important}}

/* Keep the goal and its choices together on a large lesson-preparation screen. */
#main:has(#preparation-summary)> .top,#main:has(#focused-lesson-check)> .top{margin-bottom:16px}
#lesson-form:has(#preparation-summary)>label[for=learning-request]{grid-area:goal-label;margin-top:0}#lesson-form:has(#preparation-summary)>#learning-request{grid-area:goal;min-height:120px!important;margin:0}
#lesson-form:has(#preparation-summary)>#preparation-summary{grid-area:summary;margin:0}#lesson-form:has(#preparation-summary)>#preparation-summary+.row{grid-area:choices;align-self:start}#lesson-form:has(#preparation-summary)>#lesson-activity-fields{grid-area:actions}
#lesson-form:has(#preparation-summary)>.row:has(>#next-lesson-settings[hidden]){display:none}
@media(min-width:1100px){#lesson-form:has(#preparation-summary){display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,1fr);grid-template-areas:"goal-label summary" "goal summary" "goal choices" "actions actions";gap:10px 24px}}

/* Review hierarchy: quiet context, the question and its teacher key, then a reserved action row. */
.task-context-compact{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:10px 0;margin:0 0 14px;border:0;border-radius:0;background:transparent;box-shadow:none}
.task-context-compact .task-context-heading{flex:1 1 30rem;align-items:center;gap:10px}.task-context-compact .task-context-heading strong{font-size:1rem;font-weight:550}.task-context-compact .task-context-heading p{margin:2px 0 0}.task-context-compact .task-context-heading>button{padding:6px 10px;min-height:36px;font-size:.9rem}
.task-context-compact .task-navigation{padding:0;margin:0;border:0;gap:4px}.task-context-compact .task-navigation button{padding:6px 10px;min-height:36px}.task-context-compact>#task-related{margin:0;padding:6px 10px;min-height:36px;width:auto}.task-context-compact>.back{margin:0;padding:6px 10px;flex-basis:auto}
#main:has(#focused-lesson-check)>.back{margin-bottom:10px;padding:6px 12px}#main:has(#focused-lesson-check){padding-top:20px;padding-bottom:16px}
#main>.lesson-review-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;padding:0;border:0;min-height:0;height:auto}
.lesson-review-heading>div:has(h1){flex:1 1 36rem}.lesson-review-heading h1{font:650 1.5rem/1.3 system-ui,sans-serif;letter-spacing:0;margin:0 0 4px}.lesson-review-heading p{font-size:1rem;line-height:1.45;margin:0;max-width:68ch}#focused-review-status{color:var(--green);font-weight:600}#lesson-review-details{margin:0;padding:6px 12px;min-height:36px}
.focused-questions{display:flex;flex-direction:column;height:var(--question-workspace-height,calc(100dvh - 16rem));min-height:320px;min-width:0;gap:0}.focused-question-toolbar{flex:0 0 auto;gap:16px;margin:0 0 10px}.focused-question-toolbar label{flex:0 1 19rem;font-size:.9rem}.focused-question-toolbar select{padding:7px 10px;min-height:38px;font-size:1rem}
.focused-question-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--panel);padding:20px;scroll-padding:20px}
.focused-question-body>.question-set{border:0;padding:0;margin:0;background:transparent;box-shadow:none}.focused-questions .review-question{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px 28px}.review-student-question{min-width:0}.review-student-question>h3,.question-teacher-review>h3{font:650 1rem/1.4 system-ui,sans-serif;margin:0 0 12px}.review-student-question .question-presentation{font-size:1.45rem;line-height:1.55;color:var(--text)}
.question-teacher-review{display:block;padding:0 0 0 24px;border:0;border-left:1px solid var(--border);min-width:0}.question-teacher-review .review-answer{font-size:1.3rem;font-weight:650;color:var(--text);margin:0 0 12px;white-space:pre-wrap}.question-teacher-review p{font-size:1rem;line-height:1.5;margin:0 0 12px;overflow-wrap:anywhere}.question-goal-check{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.question-goal-check h4{font-size:1rem;margin:0 0 4px}.question-teacher-review .review-fit-prompt{color:var(--text);margin-bottom:0}.question-review-tools{grid-column:1/-1;margin:0;gap:8px}.question-review-tools button{font-size:.95rem;padding:8px 12px}
.question-set-confirmations{flex:0 0 auto}.question-set-confirmations>label{font-size:1rem;line-height:1.4;margin:10px 0 0;padding:0}.focused-questions>.focused-question-actions{position:static;bottom:auto;box-shadow:none;margin:10px 0 0;padding:10px 0 0;border:0;border-top:1px solid var(--border);border-radius:0;background:var(--bg);flex:0 0 auto}.focused-question-actions [data-question-forward]{margin-left:auto}.focused-question-actions [data-question-forward]:disabled{cursor:default}.focused-question-actions [data-question-position]{font-size:1rem}.delivery-actions{position:static;box-shadow:none}
#lesson-questions>h2{margin-bottom:6px}#lesson-questions>p{margin:0 0 12px}
@media(max-width:1000px){.focused-questions .review-question{grid-template-columns:minmax(0,1fr)}.question-teacher-review{padding:16px 0 0;border-left:0;border-top:1px solid var(--border)}.focused-question-body{padding:16px}.task-context-compact{gap:6px 10px}.task-context-compact .task-context-heading{display:flex;flex-basis:100%}.task-context-compact .task-context-heading>button{width:auto;margin:0}.task-context-compact>#task-related{width:auto}}

/* Secondary lesson actions share one named menu; keep the answer/key column spacious. */
.lesson-review-actions,

/* Secondary lesson actions share one named menu; keep the answer/key column spacious. */
.actions-menu{position:relative;flex:none;margin:0}.lesson-review-actions>summary,.actions-menu>summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-control);padding:8px 12px;font:inherit;background:var(--control);white-space:nowrap}.lesson-review-actions>summary:focus-visible,.actions-menu>summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.lesson-action-list,
.actions-menu-list{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(24rem,85vw);max-height:60dvh;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--panel);box-shadow:0 8px 24px #0005;display:grid;gap:4px}.lesson-action-list>button,.lesson-action-list>#lesson-review-details,.actions-menu-list>button,.actions-menu-list>#lesson-review-details{display:block;width:100%;text-align:left;margin:0;padding:10px 12px;font-size:1rem;white-space:normal;background:transparent;border-color:transparent}.lesson-action-list>button:hover,.actions-menu-list>button:hover{background:var(--tint);border-color:var(--border)}

.lesson-review-actions:not([open])>.lesson-action-list,

.actions-menu:not([open])>.actions-menu-list{display:none}

/* Give review content the height reclaimed from compact navigation and selectors. */
#main:has(#focused-lesson-check){padding-top:12px}.task-context.review-context-line{padding:0;margin:0 0 8px;gap:8px 18px;align-items:center}.review-context-line .task-context-heading{flex:1 1 28rem;min-width:0}.task-context.review-context-line>.back{padding:4px 0;margin:0;min-height:32px;border:0;background:transparent;font-size:1rem;white-space:nowrap}
#main>.lesson-review-heading{margin-bottom:8px;gap:6px 16px}.lesson-review-heading>.lesson-review-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;flex:1 1 auto;min-width:0}.lesson-review-title h1{margin:0}.lesson-review-title p{margin:0;max-width:none}.lesson-review-actions>summary,.actions-menu>summary{padding:6px 10px}
.focused-question-toolbar{align-items:center;margin:0 0 8px;gap:12px 20px}.focused-question-toolbar label{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0;white-space:nowrap}.focused-question-toolbar select{margin:0;width:18rem;max-width:100%;min-width:0}.focused-question-toolbar label+label select{width:15rem}
@media(max-width:800px){.focused-question-toolbar label{flex:1 1 100%}.focused-question-toolbar select,.focused-question-toolbar label+label select{flex:1;width:auto}.review-context-line .task-context-heading{flex-basis:100%}}

/* Drafts and prepared lessons share one rail/list and explicit state. */
.lesson-library-record .lesson-state{display:inline-block;margin:0;font-weight:650;color:var(--text)}.lesson-library-record .lesson-state[data-lesson-state=draft]{color:var(--green)}
.collection-view[data-collection-kind=lessons][data-collection-view=list]>.collection-column-headings,.collection-view[data-collection-kind=lessons][data-collection-view=list] .lesson-library-record>[data-row-content]{grid-template-columns:minmax(0,1.7fr) minmax(5rem,.6fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.5fr)}
@media(max-width:800px){.collection-view[data-collection-kind=lessons][data-collection-view=list] .lesson-library-record>[data-row-content]{grid-template-columns:minmax(0,1fr)}}

@container collection (max-width:700px){.collection-view[data-collection-kind=lessons][data-collection-view=list]>.collection-column-headings{display:none}.collection-view[data-collection-kind=lessons][data-collection-view=list] .lesson-library-record>[data-row-content]{grid-template-columns:minmax(0,1fr)}.lesson-library-record .collection-cell-label{display:block}}

.lesson-library-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin:12px 0}.lesson-status-pills{display:flex;flex-wrap:wrap;gap:8px}.lesson-status-pills button{border-radius:999px;padding:8px 16px}.lesson-status-pills button[aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.lesson-subject-choice{display:flex;align-items:center;gap:10px;margin:0}.lesson-subject-choice[hidden]{display:none}.lesson-subject-choice select{width:auto;max-width:100%;margin:0;padding:8px 12px}

/* Shared ordering controls. Headings remain readable; sorting only moves presentation nodes. */
.list-sort-heading{display:inline-flex;gap:6px;align-items:center;text-align:left;border:0;background:transparent;color:inherit;padding:4px 0;font:inherit;font-weight:650;min-height:38px;max-width:100%;box-shadow:none}.list-sort-heading:hover{color:var(--green);background:transparent}.sort-arrow{font-size:.85em;opacity:.75}.list-sort-heading[aria-pressed=true] .sort-arrow{opacity:1;color:var(--green)}.list-sort-tools{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:4px 0 8px}.list-sort-tools[hidden],.list-sort-tools>button[hidden]{display:none}.list-sort-picker{display:none;align-items:center;gap:8px;margin:0}.list-sort-picker select{width:auto;margin:0;padding:6px 10px}.list-sort-direction{display:none;padding:6px 12px}.list-sort-reset{padding:4px 8px;min-height:38px}.list-sort-always>.list-sort-picker,.list-sort-always>.list-sort-direction{display:flex}.list-sort-tools:not(:has(.list-sort-reset:not([hidden]))):not(.list-sort-always){margin:0}
@media(max-width:800px){.list-sort-picker{display:flex}.list-sort-direction:not([hidden]){display:block}}
@container collection (max-width:700px){.list-sort-picker{display:flex}.list-sort-direction:not([hidden]){display:block}}
@media print{.list-sort-tools,.sort-arrow{display:none!important}.list-sort-heading{padding:0;min-height:0}}

/* Lesson workflow: one task per page, with secondary destinations in the lesson menu. */
.task-page-menu{position:relative;margin-left:auto}.task-page-menu>summary{cursor:pointer;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--control)}
.task-page-menu[open]{z-index:15}.task-page-menu .task-navigation{display:grid;gap:6px;min-width:15rem}.task-page-menu[open]>.task-navigation{position:absolute;right:0;top:100%;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0005}.task-page-menu #task-related{margin-top:8px}.task-page-menu:not([open])>*:not(summary){display:none}
.curriculum-picker-lesson{padding:14px 0;border-bottom:1px solid var(--border)}.curriculum-picker-lesson h3{margin:0 0 6px}.curriculum-picker-lesson p{margin:6px 0}.curriculum-picker-lesson button{margin-top:8px}
.student-review-page>.task-return{display:none}.student-review-heading{margin:0 0 10px!important;padding:0!important;min-height:0!important}.student-review-heading h1{font:650 1.6rem/1.25 system-ui,sans-serif;letter-spacing:0;margin:0 0 4px}.student-review-heading p{font-size:1rem;margin:0}.student-review-page>.back{margin-bottom:10px;padding:6px 0;background:none;border:0}
.review-purpose{display:flex;gap:8px;margin:0 0 10px}.review-purpose button{padding:8px 12px}.review-detail .review-context{margin:0 0 8px;font-size:.95rem}.review-detail .review-summary{padding:0 0 8px;margin-bottom:8px;display:flex;gap:8px 18px;flex-wrap:wrap;align-items:baseline}.review-summary p{margin:0}.review-summary-guidance{font-size:.9rem}.review-summary-guidance[open]{flex-basis:100%}.review-summary-guidance>summary{cursor:pointer}.review-detail .review-save-bar{padding:8px 0;margin-bottom:8px}.review-detail .review-save-bar p{display:none}.review-detail .review-evidence-item{padding:12px 0}.review-detail .review-evidence-item .review-goal{margin:8px 0}.review-detail .review-evidence-item .question-presentation{margin:10px 0}.review-detail .recorded-response{margin:10px 0}.review-detail .review-question-tabs{margin:8px 0}
.review-mode-assess .review-feedback-layout{display:block;max-width:65rem}.review-mode-feedback .review-save-bar,.review-mode-feedback .question-assessment,.review-mode-feedback .review-private-notes{display:none}.review-mode-feedback .review-feedback-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.feedback-issued-history{margin:20px 0}.feedback-issued-history>summary{cursor:pointer;font-weight:600}
@media(max-width:1000px){.review-mode-feedback .review-feedback-layout{display:block}.task-context-compact .task-context-heading{flex-basis:auto}.task-page-menu{margin-left:0}}

.task-context-compact>.back{font-size:.9rem}.task-context-compact .task-context-heading{flex-basis:24rem}.task-page-menu #task-related{display:block;width:100%;text-align:left}

.lesson-task-heading{margin:0 0 12px!important;padding:0!important;min-height:0!important}.lesson-task-heading h1{font:650 1.55rem/1.3 system-ui,sans-serif;letter-spacing:0;margin:0 0 4px}.lesson-task-heading p{margin:0;font-size:1rem}.lesson-progress{margin:10px 0 14px;padding:12px 16px}.lesson-progress-copy h2{font-size:1.05rem;margin:0 0 4px}.lesson-progress-copy p{font-size:.95rem;margin:3px 0}.teaching-tools{margin:14px 0}.teaching-tools>summary,.delivery-options>summary{cursor:pointer}.teaching-tools .row{margin:10px 0}.delivery-options{margin:14px 0}.delivery-options>button{margin:10px 8px 0 0}#delivery-form>h1{font:650 1.5rem/1.3 system-ui,sans-serif;letter-spacing:0;margin:0 0 10px}

.review-detail .review-summary-guidance>summary{padding:2px 0;border:0;background:none;min-height:0;font-size:.9rem;color:var(--muted)}.review-detail .review-evidence-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px}.review-evidence-form>.review-save-bar{grid-column:2;grid-row:1;position:static;margin:0;padding:0;border:0}.review-evidence-form>.review-question-tabs{grid-column:1;grid-row:1;align-self:center}.review-evidence-form>.review-evidence-item,.review-evidence-form>.review-private-notes{grid-column:1/-1}.review-mode-feedback .review-evidence-form>.review-question-tabs{grid-column:1/-1}@media(max-width:650px){.review-detail .review-evidence-form{display:block}.review-evidence-form>.review-save-bar{margin-bottom:10px}}

.lesson-start-actions:has(.curriculum-inline){display:block;margin:0 0 16px}.curriculum-inline fieldset{margin:0;padding:0;border:0}.curriculum-inline legend{font-weight:600;font-size:1rem;margin-bottom:8px}.curriculum-dropdowns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.curriculum-dropdowns label{margin-top:0}.curriculum-dropdowns select{width:100%;margin-bottom:0}.curriculum-inline p{margin:6px 0;max-width:85ch}.curriculum-inline p:empty{display:none}.curriculum-inline .row{margin-top:8px}.curriculum-inline select:disabled{opacity:1;color:var(--text);background:var(--panel)}.new-lesson-version{font-size:.95rem;color:var(--muted);margin:0 0 12px}@media(max-width:650px){.curriculum-dropdowns{grid-template-columns:1fr;gap:8px}}

#main:has(#inline-curriculum-selection){padding-top:24px}.lesson-preparation-heading{margin:8px 0 16px!important;padding:0!important;border:0!important;min-height:0!important}.lesson-preparation-heading h1{font:650 1.55rem/1.3 system-ui,sans-serif;letter-spacing:0;margin:0}.curriculum-inline{max-width:62.5rem}.curriculum-inline fieldset{position:relative}.curriculum-inline[data-selection-editing=false] #curriculum-selection-status{min-height:38px;display:flex;align-items:center;padding-right:12rem}.curriculum-inline[data-selection-editing=false] .row{position:absolute;right:0;bottom:0;margin:0}#lesson-form #learning-request{min-height:110px;height:130px}.lesson-start-actions:has(.curriculum-inline){margin-bottom:14px}@media(max-width:650px){.curriculum-inline[data-selection-editing=false] #curriculum-selection-status{padding-right:0}.curriculum-inline[data-selection-editing=false] .row{position:static;margin:4px 0 0}}

/* One expanded navigation category; Today remains directly accessible. */
#nav .workspace-nav-group{margin:8px 0;width:100%}
#nav .workspace-nav-heading{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:10px 12px;font-size:.875rem;font-weight:650;min-height:44px;border:1px solid transparent;background:transparent;color:var(--muted)}
#nav .workspace-nav-heading:hover,#nav .workspace-nav-heading:focus-visible{background:var(--panel);border-color:var(--border)}
#nav .workspace-nav-heading[aria-expanded=true]{color:var(--text)}
#nav .workspace-nav-heading[aria-expanded=true]>span{transform:rotate(90deg)}
#nav .workspace-nav-items{border-left:1px solid var(--border);margin:4px 0 10px 12px;padding-left:8px}
#nav .workspace-nav-items[hidden]{display:none!important}
#nav .workspace-nav-items>button{display:flex;align-items:center;gap:.65rem;width:100%;min-height:44px;text-align:left;margin:2px 0;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-control);font-size:.875rem;line-height:1.4}
#nav .workspace-nav-items>button.active{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);background:var(--tint);font-weight:600}
#nav .workspace-nav-items>button:not(.active):hover{background:var(--panel);border-color:var(--border)}
@media(max-width:650px){#nav[data-open=true]:not([hidden]){display:block}#nav>button[data-go=classroom]{width:100%}#nav .workspace-nav-group{margin:4px 0}}

/* Keep refresh beside the Students view controls, including narrow screens. */
.menu-page-top:has(>#sync){flex-direction:row;align-items:flex-start;gap:16px}
.menu-page-top:has(>#sync)>div{flex:1;min-width:0}
#sync{flex-shrink:0}

/* Scoped navigation appears only while its record is open. */
.context-nav{margin:4px 0 12px 18px;padding:4px 0 4px 10px;border-left:1px solid var(--border)}
.context-nav-label{font-size:.75rem;margin:4px 0;color:var(--muted)}
#nav .context-nav nav,#nav .context-nav .related-choices,#nav .context-nav #task-related-links{display:flex;flex-direction:column;gap:2px}
#nav .context-nav button{width:100%;text-align:left;font-size:.8rem;min-height:40px;padding:8px;margin:0;border:1px solid transparent;background:transparent}
#nav .context-nav button:hover,#nav .context-nav button[aria-pressed=true]{background:var(--tint);border-color:var(--border)}
#nav .context-nav p:empty{display:none}

.team-operation>.dialog-heading{justify-content:flex-end;margin-bottom:8px}

/* Forgetting a device needs the recovery file to reopen; keep it visibly apart from Sign out. */
#settings-access-actions #lock{margin-left:auto;color:var(--danger,#9e2929);border-color:var(--danger,#9e2929)}
.forget-device-dialog .forget-confirm{background:#9b2929;color:white}
.dialog-notice{margin:0 0 12px;padding:10px 12px;border-radius:9px;border-left:4px solid var(--green,#2f7d4f);background:var(--panel,#fff)}
.dialog-notice[data-tone=error]{border-left-color:var(--danger,#9e2929);color:var(--danger,#9e2929)}
.collection-main .block-time[data-tone=warning],.collection-view[data-collection-view=list] .collection-main .block-time[data-tone=warning]{color:var(--warning,#c98a1a)}
.collection-main .block-time[data-tone=neutral],.collection-view[data-collection-view=list] .collection-main .block-time[data-tone=neutral]{color:var(--muted)}
/* Email to Teachvisor */
.mail-address code{font-size:1.05rem;word-break:break-all;user-select:all}
.mail-text{white-space:pre-wrap;word-break:break-word;max-height:40vh;overflow:auto;background:var(--note);color:var(--text);border:1px solid var(--line);padding:.75rem;border-radius:6px;font:inherit}
.mail-facts{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .75rem;margin:0 0 .75rem}.mail-facts dt{font-weight:600}.mail-facts dd{margin:0}.mail-facts small{display:block;color:var(--muted,#666)}
.mail-why{margin:.4rem 0}.mail-remember{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center;margin-top:.75rem}.mail-remember label{margin:0}.mail-remember select{width:auto}
.mail-code strong{font-size:1.6rem;letter-spacing:.08em}
.mail-contacts{width:100%;border-collapse:collapse;margin:.5rem 0}.mail-contacts th,.mail-contacts td{text-align:left;padding:.3rem .4rem;border-bottom:1px solid var(--line,#ddd)}
.mail-contact-form{display:grid;grid-template-columns:max-content 1fr;gap:.4rem .75rem;align-items:center;max-width:36rem}.mail-contact-form .form-actions{grid-column:1/-1}
.group-mail details{margin:.4rem 0}
@media (max-width:650px){.mail-contacts thead{display:none}.mail-contacts td{display:block;border:0;padding:.1rem 0}.mail-contacts tr{display:block;border-bottom:1px solid var(--line,#ddd);padding:.4rem 0}.mail-contact-form{grid-template-columns:1fr}}
.attention-filters{display:flex;flex-wrap:wrap;gap:8px}.attention-filters[hidden],.attention-item[hidden]{display:none!important}.attention-filters button{border-radius:999px;padding:6px 14px;font-size:.85rem}.attention-filters button[aria-pressed=true]{background:var(--tint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.attention-filters button.has-new{border-color:#c89c54;box-shadow:inset 0 0 0 1px #c89c54}.attention-filters .attention-new{color:#c89c54;font-weight:650}
/* Today's notices are small: meta-size text and a pill-size Go, so they share the heading line when there is room. */
.day-context-actions{display:inline-flex;flex-wrap:wrap;gap:4px 12px}.day-action{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-meta);color:var(--muted)}#main .day-action button{min-height:28px;padding:3px 10px;font-size:var(--fs-meta);line-height:1.3}
.button-link{display:inline-block;border:1px solid var(--line);border-radius:9px;background:var(--control);color:var(--text);padding:8px 14px;text-decoration:none;margin-right:6px}.button-link:hover{border-color:var(--green)}.mail-steps li{margin:0 0 12px}.mail-address{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.attention-item>a.attention-link{align-self:flex-start;justify-self:start;display:inline-block;border:1px solid var(--line);border-radius:9px;background:var(--control);color:var(--text);padding:10px 16px;text-decoration:none}.attention-item>a.attention-link:hover{border-color:var(--green)}
.attention-item>button.attention-dismiss{position:absolute;top:8px;right:8px;padding:2px 9px;border-color:transparent;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1}.attention-item:has(>.attention-dismiss){position:relative}.attention-item:has(>.attention-dismiss) h3{padding-right:28px}
.period-curriculum{margin:4px 0 0;font-size:.85rem;color:var(--text)}.pace-behind{color:#c89c54;font-weight:650}.group-curriculum .curriculum-next+.curriculum-next{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.group-curriculum [data-pace=behind],.group-curriculum [data-pace=past]{color:#c89c54}
.objective-grid{width:100%;border-collapse:collapse;font-size:.9rem}.objective-grid th,.objective-grid td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:center}.objective-grid th[scope=row]{text-align:left}.objective-grid th small{display:block;color:var(--muted);font-weight:400}.objective-grid td[data-level=secure]{color:var(--green)}.objective-grid td[data-level=not-yet]{color:#c89c54;font-weight:650}.table-scroll{overflow-x:auto}.reteach-list{list-style:none;padding:0}.reteach-list li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.packet-objectives ul{padding-left:18px}
.period-resume{display:block;color:var(--muted);font-size:.8rem}
.curriculum-groups{margin:18px 0}.curriculum-library-title{margin:22px 0 10px}.curriculum-group-plans{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.curriculum-plan-link{display:grid;gap:2px;width:100%;text-align:left}.curriculum-plan-link span{font-weight:400}[data-pace="behind"],[data-pace="past"]{color:#c89c54}
.plan-entries{list-style:none;margin:0 0 12px;padding:0}.plan-entry{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.plan-entry:first-child{border-top:0}.plan-entry h3{margin:2px 0}.plan-entry p{margin:2px 0}.plan-entry[data-inactive]{opacity:.65}.plan-entry-note,.curriculum-note{color:var(--text)}.plan-pacing .choice{display:flex;gap:8px;align-items:flex-start;margin:6px 0}.plan-pacing .choice>span{display:grid}
.plan-positions{list-style:none;margin:0 0 12px;padding:0}.plan-positions li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.plan-positions li:first-child{border-top:0}.plan-positions select{max-width:100%;min-width:0;flex:1 1 14rem}.plan-entry-students{color:var(--text)}
.goal-list{display:grid;gap:12px}.goal-card h3{margin:2px 0 6px}.goal-trend{font-weight:600;margin:8px 0 4px}.goal-trend[data-state="below"]{color:#c89c54}.goal-trend[data-state="met"]{color:var(--green)}.goal-chart{display:block;width:100%;max-width:520px;height:auto;margin:6px 0 10px}.goal-chart .goal-axis{stroke:var(--line);stroke-width:1}.goal-chart .goal-tick{fill:var(--muted);font-size:10px}.goal-chart .goal-target{stroke:var(--green);stroke-width:1;stroke-dasharray:2 3}.goal-chart .goal-aim{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:6 4}.goal-chart .goal-line{fill:none;stroke:var(--text);stroke-width:1.5}.goal-chart .goal-point{fill:var(--text)}.goal-points ul,.goal-archived{list-style:none;margin:6px 0;padding:0}.goal-points li,.goal-archived li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;border-top:1px solid var(--line)}.goal-record-rows{display:grid;gap:8px;margin:10px 0}.goal-record-row{border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 10px;margin:0}.goal-record-row input[type=number]{width:6.5rem}.goal-record-row legend{font-weight:600;padding:0 4px}.packet-goal{break-inside:avoid;margin:0 0 10px}.packet-goal h3{margin:0 0 4px}
.goal-suggestions ul{list-style:none;margin:6px 0;padding:0}.goal-suggestions li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0;border-top:1px solid var(--line)}
.support-section{margin:0 0 16px}.support-section h3{margin:16px 0 4px;font-size:1rem}.support-items{list-style:none;margin:0;padding:0}.support-items li{border-top:1px solid var(--line);padding:10px 0}.support-items li p{margin:4px 0}.support-items .row{margin-top:6px}.support-person{border-top:1px solid var(--line);padding:12px 0}.support-person h3{margin:0}.support-person p{margin:4px 0}.support-person .row{margin-top:8px}.support-status{font-weight:600}.support-status[data-state="changed"],.support-status[data-state="never"]{color:#c89c54}.support-status[data-state="current"]{color:var(--green)}.support-who{border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 12px;margin:16px 0}.support-who legend{font-weight:600;padding:0 4px}.support-who .check{margin:8px 0}
.support-sheet{border:1px solid var(--line);border-radius:12px;padding:24px;margin:20px auto}.support-sheet ul{margin:4px 0 14px;padding-left:22px}.support-sheet li{margin:4px 0}.support-sheet-footer{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.support-sheet .answer-line{display:inline-block;width:110px;border-bottom:1px solid currentColor;margin-right:12px}.support-sheet .answer-line.wide{width:220px}
@media print{.support-sheet{border:0;padding:0;margin:0;background:white!important;color:black!important}.support-sheet *{color:black!important}.support-sheet .eyebrow{display:block}}
.support-unassigned{color:#c89c54!important;font-weight:600}
.archived-groups{margin-top:24px}.archived-groups summary{cursor:pointer;font-weight:650}.archived-group-list{list-style:none;margin:10px 0 0;padding:0}.archived-group-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:10px 0}

.curriculum-groups-empty{margin:18px 0}.curriculum-groups-intro{margin:0 0 12px}.curriculum-groups-actions{margin:10px 0 0}.curriculum-pace{font-weight:600}
/* Today's fixed-height group cards: the content scrolls and the card's own buttons (Prepare next) stay visible at the bottom. */
.today-layout .collection-view[data-collection-view=cards] .today-group{display:flex;flex-direction:column}
.today-layout .collection-view[data-collection-view=cards] .today-group>[data-card-content]{flex:1 1 auto;min-height:auto;max-height:none}
.today-layout .collection-view[data-collection-view=cards] .today-group>button:not(.object-primary),.today-layout .collection-view[data-collection-view=cards] .today-group>template+button{flex:none;align-self:flex-start;margin-top:4px;min-height:36px;padding:6px 12px;font-size:.875rem}
[data-team-status][data-in-team="false"]{color:#c89c54}
.attention-item:has(>.attention-clear){position:relative}.attention-item:has(>.attention-clear) h3{padding-right:64px}
.attention-item>button.attention-clear{position:absolute;top:8px;right:8px;min-height:32px;padding:4px 10px;font-size:.8rem;border-color:transparent;background:transparent;color:var(--muted)}
.attention-item>button.attention-clear:hover,.attention-item>button.attention-clear:focus-visible{color:var(--text);border-color:var(--line)}
.attention-item:has(>.attention-dismiss)>button.attention-clear{right:44px}
.attention-clear-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-left:auto}.attention-clear-tools button{min-height:36px;padding:6px 12px;font-size:.85rem}
/* Each Needs Attention card's checkbox sits at its bottom right, level with the card's button; Actions applies to the ticked ones. */
.attention-item{position:relative}.attention-pick{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;cursor:pointer}
.attention-pick input{width:20px;height:20px;margin:0;accent-color:var(--green);cursor:pointer}
.today-attention .collection-view[data-collection-view=list] .attention-item{padding-right:52px}
.actions-menu-list [data-actions-hint]{margin:4px 12px 8px}#main details.actions-menu,#main details.actions-menu[open]{border:0;padding:0;background:none;margin:0;box-shadow:none}#main details.actions-menu>summary,#main details.actions-menu:not([open])>summary{margin:0;min-height:36px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--control);font-size:.85rem;font-weight:600;white-space:nowrap}
.attention-cleared{list-style:none;margin:8px 0 0;padding:0}
.attention-cleared li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:8px 0;font-size:.875rem}.attention-cleared li small{display:block;color:var(--muted)}.attention-cleared li[data-undone]{opacity:.7}
.attention-clear-dialog .clear-later{margin-top:16px;gap:8px}.attention-clear-dialog .clear-later span{color:var(--muted);font-size:.9rem}
.closeout-section{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.closeout-section h2{font-size:1.05rem;margin:0 0 4px}

.today-attention .collection-heading .attention-clear-tools{margin-left:auto}
/* The pills stay one line beside the heading, with Select at the right; when there are more than fit, the row scrolls sideways. */
.today-attention .collection-heading>.attention-filters{flex:1 1 0;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:2px}.today-attention .collection-heading>.attention-filters>button{flex:none}.today-attention .collection-heading>h2{margin-right:12px}
.goal-record-already{display:block;color:#c89c54;font-size:.8rem;margin-top:4px}

.attention-clear-dialog .clear-how-row{align-items:flex-end}.attention-clear-dialog .clear-how-row>div{flex:1 1 12rem}.attention-clear-dialog .operation-choices{margin-top:16px}
.packet-ratings{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.packet-ratings h2{font-size:1.05rem;margin:0 0 4px}.packet-rating{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}
@media(min-width:700px){.packet-rating{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:center}.packet-rating label{margin:0}}
.packet-goal svg{max-width:420px;width:100%;height:auto;display:block;margin:6px 0}.packet-goal-rating{margin:2px 0 6px}.packet-decisions h3{font-size:1rem;margin:12px 0 4px}.packet-support ul,.packet-decisions ul{margin:4px 0 12px;padding-left:20px}
@media print{.portfolio-packet .goal-chart .goal-line{stroke:#000}.portfolio-packet .goal-chart .goal-point{fill:#000;stroke:none}.portfolio-packet .goal-chart .goal-aim{stroke:#555}.portfolio-packet .goal-chart .goal-target{stroke:#2a6a35}.portfolio-packet .goal-chart .goal-tick,.portfolio-packet .goal-chart text{fill:#333;stroke:none}.portfolio-packet .goal-chart .goal-axis{stroke:#999}.packet-goal,.packet-support li{break-inside:avoid}}
.preparing-banner{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* Set up from the IEP: standard collection sections, spaced like the record's other sections. */
.iep-section{margin:0 0 20px}.iep-plan{margin:0 0 16px}
/* A view inside the student record: the strip already names the student and the view, so the view's heading is a small line (docs/design-guide.md, Layout and space). */
#main .object-strip~.top{padding:0;border:0;background:none;margin:0 0 12px;gap:8px}#main .object-strip~.top :is(h1,h2){font-size:var(--fs-item);font-weight:650;line-height:1.3;margin:0;letter-spacing:0}#main .object-strip~.top p{margin:2px 0 0;font-size:var(--fs-meta)}
.student-record-context .record-navigation{gap:2px}.student-record-context .record-navigation button{padding:5px 8px;min-height:34px;font-size:.875rem}
/* Page frame (docs/design-guide.md, Layout and space): Back is a small underlined link at the top; where you are is one outlined
   header (the page title, or an object's strip with its views); then the body. */
#main .back{background:transparent;border:0;box-shadow:none;padding:2px 0;min-height:0;margin:0 0 10px;font-size:.875rem;font-weight:500;color:var(--muted);text-decoration:underline;text-underline-offset:3px;border-radius:4px;width:auto;flex-basis:auto}
#main .back:hover{color:var(--text)}#main .back:focus-visible{outline:2px solid var(--green);outline-offset:3px}
/* Every page's header is outlined at one size, whether or not there is a Back above it (menu pages have none). */
#main>.top{border:1px solid var(--border);border-radius:12px;padding:14px 18px;background:var(--panel);margin:0 0 16px}
#main>.top h1{font-size:1.75rem;margin:0}#main>.top p{margin:4px 0 0}
/* An object's strip (a student, a teaching task): outlined, its name at section size, one line, its views. A view's own title inside
   it is a short h2 at item size, so the object reads first and the view second. */
#main .object-strip{border:1px solid var(--border);border-radius:12px;padding:12px 16px;background:var(--panel);margin:0 0 16px}
#main .object-strip .task-context-heading strong{font-size:var(--fs-section)}
/* Pills fit their text (docs/design-guide.md): one size for status pills and pill-shaped filter and choice buttons. */
#main .tag,#main .pill{font-size:.75rem;line-height:1.3;padding:2px 8px}
#main :is(.calendar-type-pills,.student-arrangement,.work-views,.lesson-status-pills,.attention-filters) button,#main .work-views>button{min-height:28px;padding:3px 10px;font-size:.8125rem;line-height:1.3}
/* Type scale (docs/design-guide.md, Type): six sizes with clear steps, so levels read as different. Use the tokens, not new sizes. */
:root{--fs-display:2.25rem;--fs-title:1.75rem;--fs-section:1.25rem;--fs-item:1.125rem;--fs-body:1rem;--fs-meta:.8125rem;--fs-caption:.75rem}
@media screen{
#main .top h1,#main>.top h1{font-size:var(--fs-title)}
#main h2,#main .collection-heading h2{font-size:var(--fs-section);font-weight:650;line-height:1.3;letter-spacing:0}
#main h3,#main .collection-main h3{font-size:var(--fs-item);font-weight:600;line-height:1.35}
#main .small,#main .collection-meta p,#main .top p,#main .task-context-heading p{font-size:var(--fs-meta)}
#main .collection-meta p{color:var(--muted)}
#main .student-record-context .task-context-heading strong{font-size:var(--fs-section);font-weight:650}
.focused-operation .dialog-heading h2{font-size:var(--fs-section);font-weight:650}
}
/* Cards line up (docs/design-guide.md, Collections): the title at the top; details, status and actions at the bottom, level across a row. */
main:not(:has(.today-layout)) .collection-view[data-collection-view=cards] .collection-record{display:flex;flex-direction:column}
main:not(:has(.today-layout)) .collection-view[data-collection-view=cards] .collection-record>[data-card-content]{flex:1 1 auto;display:flex;flex-direction:column}
main:not(:has(.today-layout)) .collection-view[data-collection-view=cards] .collection-record>[data-card-content]>.collection-meta{margin-top:auto}
/* In list view a Needs Attention row's Clear sits beside its action, not over it (the corner position is for cards). */
.collection-view[data-collection-view=list] .attention-item>button.attention-clear{position:static;grid-column:5;grid-row:1;align-self:start;justify-self:start;margin-top:52px}.collection-view[data-collection-view=list] .attention-item:has(>.attention-clear)>button:not(.attention-clear):not(.attention-dismiss){grid-row:1;align-self:start}.collection-view[data-collection-view=list] .attention-item:has(>.attention-clear) h3{padding-right:0}
[data-team-status][data-in-team=optional]{color:var(--muted)}
/* Today's Your groups line: every paced plan in one glance, one line above Teaching Today and Needs Attention (docs/design-guide.md, Type: meta). */
main:has(.today-layout)>.today-groups{flex:none;display:flex;flex-wrap:nowrap;min-width:0;align-items:center;gap:4px 14px;margin:0 0 12px;font-size:var(--fs-meta)}.today-groups-label{font-weight:600;color:var(--muted)}
/* One line on a full day: Today names only plans behind and counts the rest (groupsLine); a long name ends in an ellipsis. */
.today-groups ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:2px 18px;min-width:0;overflow:hidden}.today-groups li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.today-groups li.today-groups-more{flex:none;color:var(--muted)}.today-groups li[data-state=behind],.today-groups li[data-state=past]{color:#c89c54}
.today-groups button{min-height:28px;padding:3px 10px;font-size:var(--fs-meta)}
/* Phone setup: the QR code keeps a white quiet zone so phone cameras read it in dark mode too. */
.phone-setup{display:grid;gap:12px;justify-items:start}.phone-qr{width:min(240px,70vw);background:#fff;padding:10px;border-radius:10px}.phone-qr svg{display:block;width:100%;height:auto}.phone-setup ol{margin:0;padding-left:20px}

/* Settings → Access and recovery: one row per saved passkey. */
.passkey-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.passkey-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
/* Phones: one card fits the screen, with the next card's edge showing to swipe to; no arrow gutter (the arrows covered card text).
   The Needs Attention filter pills get their own row under the heading instead of a sliver beside it. */
@media screen and (max-width:650px){.today-layout .collection-view[data-collection-view=cards] .collection-viewport{padding-inline:0}.today-layout .collection-view[data-collection-view=cards] .collection-items>.card,.today-layout .collection-view[data-collection-view=cards] .attention-item{flex:0 0 calc(100% - 28px);scroll-snap-align:start}.today-layout .collection-view[data-collection-view=cards] .collection-scroll-controls{display:none!important}.today-attention .collection-heading{flex-wrap:wrap}.today-attention .collection-heading>.attention-filters{flex:1 1 100%;order:3}.attention-filters button{white-space:nowrap;max-width:none}}
/* Unlock: a passkey saved in another browser's password manager (Chrome vs Safari) gets a plain note above Open with passkey. */
.passkey-hint{margin:16px 0 0;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--green);border-radius:8px;background:var(--panel)}
/* Printed work: a small private code in the top corner of each student's page (page-codes.js); the photo flow reads it. */
.page-code{float:right;width:26mm;margin:0 0 4mm 6mm;text-align:center;font-size:7pt;line-height:1.2;color:#000;background:#fff}.page-code svg{display:block;width:100%;height:auto}.page-code span{display:block;font-family:ui-monospace,monospace;letter-spacing:.04em}
/* Phones (650px and less): capture student work first (photo-capture.js). The Menu keeps Today, Photograph student work, Student work,
   Students and Access and recovery, flattened (no group headings); Today shows the capture card and the day's teaching, and leaves setup
   notices, the groups strip and Needs Attention to the computer. Nothing is removed on larger screens. */
.phone-only{display:none!important}
@media screen and (max-width:650px){
 .phone-only{display:revert!important}
 #nav .workspace-nav-heading,#nav .eyebrow{display:none}
 #nav .workspace-nav-items[hidden]{display:block!important}
 #nav button:not([data-phone]){display:none!important}
 .nav-phone-note{margin:12px 8px 4px;font-size:.85rem;color:var(--muted)}
 .today-groups,.day-context-actions{display:none!important}
 /* One row of cards at a time, chosen with Show; the list option is hidden (collection-view.js uses cards on phones). */
 .today-layout[data-phone-view="teaching"] .today-attention,.today-layout[data-phone-view="attention"] .today-teaching{display:none!important}
 .today-layout #teaching-today-title,.today-layout #needs-attention-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .collection-toolbar{display:none!important}
 /* Needs Attention on a phone: the cards and their main action only. Filtering, Actions, Clear, dismissing and selecting stay on the computer. */
 .today-attention :is(.attention-filters,.attention-clear-tools,.attention-clear,.attention-pick,.attention-dismiss){display:none!important}
 .today-switch{display:flex!important;align-items:center;gap:10px;margin:0 0 12px}.today-switch select{flex:1;min-height:44px;font-size:1rem;font-weight:600}
 .capture-hero{display:grid!important;gap:8px;margin:0 0 16px}.capture-hero>button{min-height:64px;font-size:1.15rem}
}
.capture-actions{display:flex;gap:10px;flex-wrap:wrap}.capture-actions>.primary{min-height:56px;flex:1 1 12rem;font-size:1.1rem}
.capture-next{margin:12px 0 0}
.capture-pick{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}
.capture-choices{display:grid;gap:8px;margin:8px 0 12px}.capture-choices>button{text-align:left;min-height:44px}
.capture-log{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}.capture-log>li{padding:10px 12px;border:1px solid var(--border);border-radius:8px}
.capture-log button{margin-left:4px}
/* Phones: a fixed two-row header grid. Row 1: Teachvisor, Aa, Account. Row 2: Menu (long section names shortened) and Feedback.
   Then the date. Same compact height for every header button; larger screens are unchanged. */
@media screen and (max-width:650px){
 header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand aa account" "menu menu feedback" "date date date";gap:8px;align-items:center}
 header .brand{grid-area:brand;min-width:0}
 header .display-menu{grid-area:aa}
 header #teacher-account-menu{grid-area:account}
 header #workspace-menu{grid-area:menu;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
 header #product-feedback{grid-area:feedback}
 header #workspace-date{grid-area:date;font-size:.95rem;margin:2px 0 0}
 header #workspace-menu,header #product-feedback,header #teacher-account-menu>summary,header .display-menu>summary{min-height:40px;padding:6px 12px;font-size:.95rem;line-height:1.2;display:flex;align-items:center}
}
