/* Weekly curriculum and a teacher-owned daily desk. */
.teacher-planner{padding:58px var(--pad) 64px;background:#eaf2ff;color:#26282a;scroll-margin-top:110px}
.planner-intro{max-width:1500px;margin:38px auto 36px;display:flex;align-items:end;justify-content:space-between;gap:35px}
.planner-intro .foundation-label{font-size:10px;color:#24476e;margin-bottom:15px}
.planner-intro h2{font-size:clamp(48px,5.8vw,86px);letter-spacing:-4px;line-height:1.05;font-weight:500}
.planner-intro h2 em{font-style:normal;color:#526680}
.planner-intro>p{font-size:17px;line-height:1.8;color:#526680;max-width:360px}
.planner-shell{display:grid;grid-template-columns:300px minmax(0,1fr);max-width:1500px;margin:auto;border:1px solid #d4e2f6;border-radius:12px;overflow:hidden;box-shadow:0 15px 50px #132c5008}
.planner-controls{background:#132c50;color:#fff;padding:30px 25px;min-width:0;display:flex;flex-direction:column}
.planner-step{font-size:9px;letter-spacing:1.3px;line-height:1.7;color:#526680}
.planner-controls .planner-step{color:#91acce}
.planner-controls h3{font-size:28px;letter-spacing:-.9px;font-weight:500;margin:12px 0 15px}
.teacher-planner label{display:block;margin:15px 0 7px;font-size:12px;line-height:1.6;color:#24476e}
.teacher-planner input:not([type=radio]),.teacher-planner select,.teacher-planner textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:47px;padding:11px 12px;border:1px solid #91acce;border-radius:5px;background:#fff;color:#132c50;font:inherit;font-size:14px;line-height:1.6}
.teacher-planner textarea{resize:vertical}
.teacher-planner input:focus-visible,.teacher-planner select:focus-visible,.teacher-planner textarea:focus-visible,.teacher-planner button:focus-visible,.teacher-planner a:focus-visible,.teacher-planner summary:focus-visible{outline:3px solid #526680;outline-offset:3px}
.teacher-planner button{font:inherit;cursor:pointer}
.teacher-planner button:disabled,.teacher-planner select:disabled{opacity:.45;cursor:not-allowed}
.planner-controls label{color:#91acce;font-size:11px}
.planner-controls select,.planner-controls input:not([type=radio]){background:#132c50;color:#fff;border-color:#24476e;font-size:13px;color-scheme:dark}
.planner-calendar{margin-top:20px;padding-top:5px;border-top:1px solid #ffffff20}
#planner-today{border:0;border-bottom:1px solid #526680;background:none;color:#d4e2f6;padding:8px 0;margin-top:10px;font-size:11px}
.planner-controls-note{font-size:11px;line-height:1.9;color:#526680;margin-top:24px}
#planner-source{font-size:11px;color:#91acce;line-height:1.8;text-decoration:underline;text-underline-offset:4px;padding-top:27px;margin-top:auto}
.planner-week-panel{background:#fcfcf8;padding:32px clamp(22px,3vw,46px);min-width:0}
.planner-week-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}
.planner-week-heading h3{font-size:30px;letter-spacing:-1px;line-height:1.3;margin-top:8px;font-weight:500}
.planner-year{white-space:nowrap;font-size:10px;border:1px solid #91acce;border-radius:30px;padding:8px 12px;color:#24476e;margin-top:4px}
.planner-week-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:9px;margin-top:23px}
.planner-week-nav button{border:1px solid #91acce;border-radius:5px;background:#eaf2ff;color:#24476e;font-size:20px;min-height:47px}
.planner-week-nav button:hover{background:#d4e2f6}
.planner-week-nav select{text-align:center;font-size:13px}
#planner-status{font-size:12px;color:#24476e;line-height:1.8;margin:15px 0}
.planner-source-note{font-size:10px;color:#827348;line-height:1.8;margin:0 0 15px}
#planner-entries{border:0;min-width:0;padding:0;margin:0;display:grid;gap:12px}
.planner-entry{border:1px solid #d4e2f6;background:#f7faff;border-radius:7px;overflow:hidden}
.planner-entry:has(input:checked){border-color:#526680;box-shadow:inset 3px 0 #526680}
.teacher-planner .planner-entry-choice{display:flex;align-items:start;gap:13px;padding:20px 20px 13px;margin:0;cursor:pointer}
.planner-entry input[type=radio]{width:18px;height:18px;accent-color:#24476e;margin:4px 0 0;flex-shrink:0}
.planner-entry-choice>span{min-width:0}
.planner-entry-unit{display:block;font-size:9px;color:#526680;letter-spacing:.5px;line-height:1.7;text-transform:uppercase}
.planner-entry-title{display:block;font-size:19px;line-height:1.5;font-weight:500;letter-spacing:-.3px;color:#132c50;margin:6px 0}
.planner-entry-hours{font-size:10px;color:#526680;display:block;margin-top:8px}
.planner-official{margin:0 20px 20px 51px;border-top:1px solid #d4e2f6;padding-top:13px}
.planner-official>span{font-size:9px;color:#526680;letter-spacing:.7px}
.planner-official>p{font-size:13px;line-height:1.85;color:#132c50;white-space:pre-line;max-height:290px;overflow:auto;overflow-wrap:anywhere;margin-top:9px;padding-right:5px}
.planner-official details{margin-top:12px}
.planner-official summary{font-size:11px;color:#526680;cursor:pointer;line-height:1.7}
.planner-official details>div{max-height:300px;overflow:auto;padding:12px 0;font-size:12px;line-height:1.85;white-space:pre-line;color:#24476e;overflow-wrap:anywhere}
.planner-official strong{display:block;font-size:10px;letter-spacing:.4px;margin:12px 0 6px;color:#24476e}
.planner-day-fields{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:13px;margin-top:12px}
.planner-day-fields>div{min-width:0}
#planner-lesson-controls{border-top:1px solid #d4e2f6;margin-top:24px;padding-top:5px}
.teacher-planner label>span{font-weight:400;color:#526680;font-size:10px}
.planner-primary,.planner-secondary{border-radius:5px;min-height:47px;padding:12px 18px;font-size:12px!important;line-height:1.6}
.planner-primary{background:#132c50;color:#f7faff;border:1px solid #132c50}
.planner-primary:hover{background:#132c50}
.planner-secondary{background:transparent;color:#24476e;border:1px solid #91acce}
.planner-secondary:hover{background:#eaf2ff}
#planner-build{margin-top:21px;display:flex;justify-content:space-between;gap:32px;width:100%;text-align:left}
.planner-small{font-size:11px;line-height:1.85;color:#526680;margin-top:13px}
.planner-text-button{border:0;background:none;color:#24476e;text-decoration:underline;padding:8px 0;font-size:12px!important}
.lesson-editor{max-width:1500px;margin:25px auto 0;border:1px solid #91acce;border-radius:10px;background:#eaf2ff;padding:32px}
.lesson-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}
.lesson-editor-heading h3{font-size:30px;letter-spacing:-.9px;font-weight:500;margin-top:8px;line-height:1.4}
#lesson-editor-meta{font-size:12px;line-height:1.8;color:#24476e;margin-top:10px}
.planner-editor-badge{font-size:8px;line-height:1.8;letter-spacing:.8px;color:#24476e;background:#d4e2f6;padding:8px 11px;border:1px solid #91acce;border-radius:4px}
#lesson-body{font-size:13px;line-height:1.9;min-height:360px;background:#fffffb}
.planner-editor-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:19px}
#lesson-status,#agenda-status{font-size:12px;line-height:1.8;color:#24476e;margin-top:12px}
#lesson-ai-panel{border-top:1px solid #91acce;margin-top:20px;padding-top:17px}
#lesson-ai-panel summary{font-size:13px;cursor:pointer;color:#24476e;line-height:1.8}
#lesson-ai-panel textarea{font-size:12px;line-height:1.8;margin-top:15px}
#lesson-ai-panel a{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#24476e}
.daily-agenda{max-width:1500px;margin:30px auto 0;padding:28px 30px;border:1px solid #d4e2f6;background:#fcfcf8;border-radius:10px}
.daily-heading{display:flex;align-items:start;justify-content:space-between;gap:25px}
.daily-heading h3{font-size:26px;font-weight:500;letter-spacing:-.8px;margin:9px 0 7px}
.daily-heading p{font-size:12px;color:#526680;line-height:1.8}
.daily-heading>div:last-child{min-width:190px}
.daily-heading label{margin-top:0}
.agenda-empty{border:1px dashed #91acce;border-radius:6px;padding:24px;margin-top:22px;color:#526680;font-size:13px;line-height:1.8}
.agenda-item{border-top:1px solid #d4e2f6;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 0}
.agenda-item:first-child{margin-top:20px}
.agenda-period{font-size:11px;color:#24476e;text-align:center;background:#eaf2ff;padding:13px 5px;border-radius:5px;line-height:1.7}
.agenda-item h4{font-size:16px;font-weight:500;line-height:1.5;color:#24476e;overflow-wrap:anywhere}
.agenda-item p{font-size:11px;line-height:1.7;color:#526680;margin-top:5px}
.agenda-item-actions{display:flex;gap:8px}
.agenda-item-actions button{background:none;border:1px solid #91acce;color:#24476e;border-radius:4px;padding:10px;font-size:11px;min-height:40px}
.agenda-item.is-done h4{text-decoration:line-through;color:#526680}
.planner-coverage{max-width:1500px;margin:22px auto 0;border-top:1px solid #d4e2f6;padding-top:17px}
.workshop-planner-link{display:inline-block;font-size:12px;line-height:1.8;color:#24476e;text-decoration:underline;text-underline-offset:4px;margin-top:20px}
#planner-print{display:none}
@media(max-width:1050px){.planner-shell{grid-template-columns:255px minmax(0,1fr)}.planner-controls{padding:26px 19px}.planner-week-panel{padding:27px 22px}.planner-intro h2{letter-spacing:-2.7px}.planner-intro>p{font-size:15px}}
@media(max-width:800px){.planner-shell{grid-template-columns:1fr}.planner-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.planner-controls>.planner-step,.planner-controls>h3,.planner-controls>.planner-calendar,.planner-controls>.planner-controls-note,.planner-controls>#planner-source{grid-column:1/-1}.planner-controls>label[for=planner-grade]{grid-column:1;grid-row:3}.planner-controls>#planner-grade{grid-column:1;grid-row:4}.planner-controls>label[for=planner-subject]{grid-column:2;grid-row:3}.planner-controls>#planner-subject{grid-column:2;grid-row:4}.planner-controls>label[for=planner-variant],.planner-controls>#planner-variant{grid-column:1/-1}.planner-calendar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 20px;margin-top:20px}.planner-calendar label{grid-column:1/-1}.planner-calendar #planner-today{margin:0}.planner-controls-note{margin-top:15px}#planner-source{padding-top:15px}.planner-intro{gap:25px}.planner-intro>p{font-size:13px}.lesson-editor{padding:26px}.planner-year{display:none}}
@media(max-width:600px){.teacher-planner{padding:35px var(--pad) 40px;scroll-margin-top:130px}.teacher-planner>.section-kicker>span:last-child{display:none}.planner-intro{display:block;margin:27px auto}.planner-intro h2{font-size:47px;letter-spacing:-2.2px}.planner-intro>p{margin-top:18px;font-size:14px}.planner-controls{padding:22px 18px}.planner-controls h3{font-size:26px}.teacher-planner input:not([type=radio]),.teacher-planner select,.teacher-planner textarea{font-size:16px}.planner-week-panel{padding:24px 17px}.planner-week-heading h3{font-size:26px}.planner-week-nav{gap:6px;grid-template-columns:38px minmax(0,1fr) 38px}.planner-week-nav select{font-size:13px;padding-left:5px;padding-right:5px}.planner-entry-title{font-size:17px}.teacher-planner .planner-entry-choice{padding:17px 14px 11px;gap:10px}.planner-official{margin:0 14px 18px 42px}.planner-official>p{font-size:12px}.planner-day-fields{grid-template-columns:1fr 1fr;gap:0 12px}.planner-day-fields>div:first-child{grid-column:1/-1}.planner-editor-actions{gap:9px}.planner-editor-actions button{flex:1 1 auto}.lesson-editor{padding:23px 17px}.lesson-editor-heading{display:block}.lesson-editor-heading h3{font-size:26px}.planner-editor-badge{display:inline-block;margin-top:15px}#lesson-body{font-size:14px}.daily-agenda{padding:23px 17px}.daily-heading{display:block}.daily-heading>div:last-child{margin-top:18px;max-width:260px}.agenda-item{grid-template-columns:52px minmax(0,1fr);gap:12px}.agenda-item-actions{grid-column:2;flex-wrap:wrap}.agenda-item-actions button{padding:9px 12px}.agenda-item h4{font-size:15px}.planner-small{font-size:10px}.planner-controls-note{font-size:11px}}
@media print{body.print-agenda>*:not(#planner-print){display:none!important}body.print-agenda #planner-print{display:block;color:#000;background:#fff;font-family:Arial,sans-serif}#planner-print h1{font-size:22px;margin-bottom:18px}#planner-print h2{font-size:18px;margin:20px 0 12px}#planner-print pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Arial,sans-serif;font-size:10pt;line-height:1.6}#planner-print article+article{break-before:page}@page{margin:18mm}}

.teacher-planner .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.lesson-identity{display:grid;grid-template-columns:1.3fr 1fr;gap:0 18px;margin-top:24px;border-top:1px solid #91acce;padding-top:9px}
.lesson-school-field{grid-column:1/-1}
.teacher-planner #lesson-school{font-size:21px;font-weight:500;letter-spacing:-.4px;padding:14px 16px;background:#fffffb}
.lesson-downloads{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;margin-top:6px;border-bottom:1px solid #91acce}
.lesson-downloads h4{font-size:22px;font-weight:500;letter-spacing:-.6px;color:#132c50}
.lesson-downloads p{font-size:12px;line-height:1.8;color:#526680;margin-top:5px}
.lesson-download-buttons{display:flex;gap:10px;flex-wrap:wrap}
.lesson-download-buttons button{padding:14px 20px;min-width:145px;font-size:13px!important}
.lesson-download-buttons span{margin-left:13px;font-size:10px;opacity:.7}
#lesson-download-status{font-size:12px;line-height:1.8;color:#24476e;margin-top:12px}
@media(max-width:650px){.lesson-identity{grid-template-columns:1fr;gap:0}.teacher-planner #lesson-school{font-size:18px}.lesson-downloads{display:block;padding:22px 0}.lesson-download-buttons{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.lesson-download-buttons button{min-width:0;padding:13px 10px}.lesson-download-buttons span{display:block;margin:3px 0 0}}
