@import url('/assets/fonts/outfit-hanken-grotesk-56e206.css');
:root{font-family:'Hanken Grotesk',system-ui,sans-serif;color:#19374a;background:#f4f7f6;font-size:18px;line-height:1.55;color-scheme:light}*{box-sizing:border-box}body{margin:0}main,.hub-header,footer{width:min(880px,calc(100% - 32px));margin:28px auto}h1,h2,h3{font-family:Outfit,system-ui,sans-serif;line-height:1.18}h1{font-size:clamp(2rem,6vw,3rem);margin:.3em 0}h2{font-size:1.55rem;margin:.25em 0}h3{font-size:1.2rem;margin:.35em 0}.eyebrow{font-size:.85rem;font-weight:700;color:#466474;margin:.3em 0}.hub-header{border-top:6px solid #0d736c;padding-top:22px}.hub-panel{background:white;border:1px solid #d0ddd9;border-radius:14px;padding:24px;margin:20px 0}.week-dates{font-weight:700;color:#0d625e}.toolbar,.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar{margin:18px 0}.toolbar label{display:flex;gap:10px;align-items:center}.toolbar label>span{flex-shrink:0;white-space:nowrap}.homework-list{display:grid;gap:14px;margin:22px 0}.homework-card{padding:20px;border:1px solid #c8d8d5;border-left:5px solid #0d736c;border-radius:8px;min-width:0;overflow-wrap:anywhere}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;font:inherit;font-weight:700;border:1px solid #0d625e;border-radius:8px;background:#0d625e;color:white;text-decoration:none;cursor:pointer}.button-secondary,.toolbar button{background:white;color:#0d625e}.button:hover,button:hover{filter:brightness(.95)}a{color:#075e8a}button:disabled{opacity:.65;cursor:wait}input,select,textarea{font:inherit;font-size:1rem;min-height:48px;border:1px solid #839b9a;border-radius:6px;padding:8px;width:100%;background:white;color:#19374a}label{font-weight:600}textarea{min-height:84px}.quiet{color:#47636e;font-size:.95rem}.empty-state{border-left:4px solid #bc7b16;background:#fff7e7;padding:15px}.large-text{font-size:1.2rem}.high-contrast{color:#000;background:#fff}.high-contrast .hub-panel{border:2px solid #000}.high-contrast .quiet,.high-contrast .eyebrow{color:#000}:focus-visible{outline:3px solid #c04b00;outline-offset:4px}.skip-link{position:absolute;left:16px;top:-80px;padding:12px;background:white;z-index:20}.skip-link:focus{top:8px}[hidden]{display:none!important}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.weekday-editor{padding:16px;margin:12px 0;background:#f4f7f6;border:1px solid #d0ddd9;border-radius:8px}.weekday-editor label{display:block;margin:8px 0}.lesson-results{display:grid;gap:6px;max-height:300px;overflow:auto}.lesson-results button{justify-content:flex-start;text-align:left;background:white;color:#19374a}.status{min-height:1.6em;font-weight:600}.teacher-shell{width:min(1120px,calc(100% - 32px))}.copy-targets{display:flex;gap:15px;flex-wrap:wrap}.copy-targets input{width:auto;min-height:24px}.preview-frame{border-top:3px solid #0d736c;margin-top:28px}details{margin:18px 0}summary{cursor:pointer;font-weight:700;min-height:48px;padding:10px 0}.message-panel{background:#eaf3f0}.due-date{font-weight:600}footer{font-size:.9rem;padding-bottom:24px}@media(max-width:40rem){.editor-grid{grid-template-columns:1fr}.hub-panel{padding:18px}.toolbar{align-items:stretch}.toolbar label{width:100%}.button{width:100%}.toolbar button{flex:1;padding:8px}.homework-card{padding:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.toolbar,.actions,footer,.message-panel{display:none}body{background:white}.hub-panel{border:0;padding:0}.homework-card a::after{content:' (' attr(href) ')';font-size:12px}.button{background:white;color:black;border:0}.homework-card{break-inside:avoid}}

/* Keep each day's assignment and search together in the teacher editor. */
.weekday-editor h3,.homework-card h3{margin:0}
.weekday-editor p{margin:.25rem 0 .75rem}
.weekday-editor .day-assignment{font-weight:700}
.weekday-editor label{display:block;margin:12px 0 6px}
.weekday-editor>a{display:inline-block;margin-bottom:8px}
.weekday-editor>.button-secondary{margin-top:12px}
.homework-card h4{font:700 1.15rem/1.3 Outfit,system-ui,sans-serif;margin:.35em 0}

/* One calm weekly list for families, with the editor on the same page. */
.hub-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hub-topline .eyebrow{margin:0}
.teacher-login{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #a8c4c0;border-radius:999px;color:#0d625e;background:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.teacher-login:hover{background:#eaf3f0}
.homework-list{display:block;margin:18px 0;border:1px solid #c8d8d5;border-radius:12px;overflow:hidden;background:#fff}
.homework-card{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;border:0;border-radius:0;border-bottom:1px solid #dce7e3}
.homework-card:last-child{border-bottom:0}
.homework-card h3{font:700 1rem/1.25 Outfit,system-ui,sans-serif;color:#0d625e}
.homework-card .day-work p{margin:.25rem 0}
.homework-card .day-work .eyebrow{font-size:.8rem;margin:0;text-transform:uppercase;letter-spacing:.04em}
.homework-card h4{font-size:1.08rem;margin:.2rem 0}
.homework-card .button{white-space:nowrap}
.teacher-inline{border-color:#a8c4c0;background:#f8fbfa}
.status:empty{display:none}
.editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.editor-heading h2{margin:.15rem 0 .35rem}
.editor-heading p:last-child{margin:.25rem 0 1rem}
.teacher-inline fieldset{border:0;margin:0;padding:0;min-width:0}
.teacher-inline #inline-week-start{display:block;max-width:16rem;margin:6px 0 18px}
.inline-days{border:1px solid #c8d8d5;border-radius:12px;overflow:hidden;background:#fff}
.inline-day{display:grid;grid-template-columns:7.5rem minmax(0,1fr);column-gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid #dce7e3}
.inline-day:last-child{border-bottom:0}
.inline-day h3{grid-column:1;grid-row:1;margin:0;color:#0d625e;font:700 1rem/1.2 Outfit,system-ui,sans-serif}
.inline-day .day-date{grid-column:1;grid-row:2}
.day-choice{grid-column:2;grid-row:1/span 2}
.day-choice label{display:block;margin:0 0 5px;font-size:.85rem}
.day-choice select{min-width:0}
.day-options{grid-column:2;margin:6px 0 0}
.day-options summary{min-height:36px;padding:6px 0;color:#0d625e}
.day-options label{display:block;margin:10px 0;font-size:.9rem}
.day-options input{display:block;margin-top:4px}
.editor-actions{margin:18px 0 6px}
.draft-preview-label{display:inline-block;margin:8px 0 0;padding:6px 10px;border-radius:6px;background:#eaf3f0;color:#0d625e;font-size:.9rem;font-weight:700}
@media(max-width:40rem){.hub-topline{align-items:flex-start}.teacher-login{white-space:normal;text-align:center;font-size:.85rem;max-width:9.5rem}.homework-card{grid-template-columns:minmax(0,1fr);gap:5px;padding:14px 16px}.homework-card .button{margin-top:8px;width:100%}.inline-day{grid-template-columns:minmax(0,1fr);gap:4px;padding:14px 16px}.inline-day h3,.inline-day .day-date,.day-choice,.day-options{grid-column:1;grid-row:auto}.day-choice{margin-top:5px}.day-options{margin-top:0}.editor-heading{display:block}}
@media print{.teacher-login,.teacher-inline,.draft-preview-label{display:none!important}}

/* Week access and all-class publication review. */
.week-navigation { margin-bottom: 18px; }
.week-navigation label { display: block; color: var(--ink, #19374a); }
.week-navigation select { display: block; width: min(100%, 460px); margin-top: 6px; }
.archive-notice { padding: 12px 16px; border-left: 4px solid #97601b; background: #fff7e7; color: #493918; }
.last-updated { margin-top: 10px; }
.publication-checks { margin-block: 20px; padding: 18px; border: 1px solid #a9bbb2; border-radius: 8px; background: #f5f8f5; color: #203139; }
.publication-checks h2 { font-family: inherit; font-size: 1.25rem; letter-spacing: 0; }
.publication-check-row { margin-top: 16px; padding-top: 14px; border-top: 1px solid #c5d2cb; }
.publication-check-row h3 { font-size: 1rem; overflow-wrap: anywhere; }
.publication-check-row p { margin: 7px 0; }
.publication-error { color: #8b251b; font-weight: 700; }
.publication-warning { color: #65450d; }
@media print { .week-navigation, .publication-checks { display: none !important; } }
