:root{--ink:#152b47;--muted:#62738a;--blue:#2861a2;--blue-dark:#194d85;--light:#f4f8fd;--line:#dce6f2;--white:#fff;--gold:#b99153;--shadow:0 16px 48px rgba(21,43,71,.08);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fbfdff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue)}a:hover{color:var(--blue-dark)}
.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-inner{max-width:1300px;height:100%;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-family:Georgia,serif;font-weight:bold;font-size:16px;line-height:1.02;min-width:152px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--blue);border-radius:10px 10px 3px 10px;color:var(--blue);font:30px Georgia,serif;transform:rotate(-7deg)}.topbar nav{display:flex;height:100%;gap:28px;align-items:center}.nav-link{text-decoration:none;color:#334861;font-size:14px;font-weight:600;white-space:nowrap;display:flex;align-items:center;height:100%;border-bottom:2px solid transparent}.nav-link.selected{border-color:var(--blue);color:var(--blue)}.topbar-right{display:flex;gap:20px;align-items:center;height:100%}.identity{font-size:13px;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis}.link-btn{background:transparent;border:0;color:var(--blue);padding:0}.demo-ribbon{background:#e8f1ff;text-align:center;color:#1d4e87;font-size:12px;padding:5px}
.page{width:min(1250px,100%);margin:0 auto;padding:48px 28px 90px;min-height:calc(100vh - 130px)}.page.narrow,.narrow.page{max-width:560px}.page h1,.auth-card h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(32px,4vw,47px);line-height:1.1;letter-spacing:-.025em;margin:8px 0 14px}.page h2{font:normal 26px Georgia,serif;margin:0 0 18px}.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0}.muted,.lead,.hint{color:var(--muted);line-height:1.55}.muted{margin:0}.lead{font-size:18px;margin:0}.hint{font-size:13px;margin:7px 0 0}.notice{width:min(1190px,calc(100% - 48px));margin:20px auto 0;padding:13px 18px;border:1px solid #b5d7bf;background:#edfaef;color:#275c38;border-radius:8px}.site-footer{border-top:1px solid var(--line);padding:22px max(28px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;color:#8897a8;font-size:12px}
.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:5px;padding:12px 20px;min-height:45px;font-size:14px;font-weight:700;transition:.15s ease;white-space:nowrap}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--blue);color:#fff}.button.primary:hover:not(:disabled){background:var(--blue-dark)}.button.outline{color:var(--blue);border-color:#91b1d4;background:#fff}.button.outline:hover{background:#edf5ff}.button.secondary{background:#edf3fa;color:#234f7e}.button.ghost{color:var(--muted);background:transparent}.button.danger,.danger{color:#b24947}.back-link{text-decoration:none;font-weight:600;font-size:14px}.panel{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;padding:27px}.stack-form{display:flex;flex-direction:column;gap:15px}.stack-form label,.form-row label,.inline-form label,.filter-bar label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650}.stack-form input,.stack-form textarea,.stack-form select,.form-row input,.form-row select,.inline-form input,.filter-bar input,.filter-bar select{border:1px solid #cad8e8;border-radius:5px;min-height:43px;padding:10px 12px;background:#fff;color:var(--ink);font-size:15px;width:100%}.stack-form textarea{resize:vertical}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.form-row input:focus{outline:2px solid #9ac8ff;outline-offset:1px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.checkbox{display:flex!important;flex-direction:row!important;align-items:center}.checkbox input{width:auto!important;min-height:unset!important}
.auth-shell{display:grid;grid-template-columns:41% 59%;min-height:calc(100vh - 145px)}.auth-story{background:radial-gradient(circle at 50% 85%,#315679 0,#182f4c 52%,#10243d 100%);color:white;position:relative;overflow:hidden}.auth-story:before{content:'';position:absolute;inset:12%;border:1px solid rgba(207,180,125,.22);border-radius:50%;transform:translate(0,30%)}.auth-story:after{content:'✦';position:absolute;right:8%;top:10%;font:160px Georgia,serif;color:rgba(218,184,119,.12)}.story-inner{position:relative;z-index:1;margin:clamp(70px,15vh,170px) 12%;max-width:490px}.story-label{color:#d5b47b;letter-spacing:.18em;text-transform:uppercase;font-size:12px}.story-inner h1{font:normal clamp(37px,4.2vw,66px)/1.12 Georgia,serif;margin:25px 0}.story-inner p{font-size:18px;line-height:1.55;color:#d6e1ed;max-width:420px}.story-ornament{display:flex;gap:12px;margin-top:90px;color:#d1b786;font:12px Georgia,serif;letter-spacing:.16em}.story-ornament span{border-top:1px solid #b99153;padding-top:10px}.auth-panel{display:grid;place-items:center;padding:55px 30px}.auth-card{width:min(410px,100%)}.auth-card h2{font-size:39px}.auth-card .muted{margin:0 0 25px}.auth-links{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin-top:16px}.auth-links a{text-decoration:none}.admin-entry{display:block;border-top:1px solid var(--line);margin-top:35px;padding-top:17px;font-size:12px;color:var(--muted);text-decoration:none}
.access-card{background:#f0f6ff;border:1px solid #dbe9fb;border-radius:7px;padding:16px 22px;min-width:195px;display:flex;flex-direction:column;gap:4px}.access-card span,.access-card small{font-size:12px;color:var(--muted)}.access-card strong{font-size:24px;color:var(--blue)}.chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 26px}.chip{text-decoration:none;border-radius:5px;background:#eef3f8;color:#335478;padding:8px 18px;font-size:13px;font-weight:700}.chip.on{background:var(--blue);color:#fff}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.lesson-card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 6px 25px rgba(30,67,104,.055)}.lesson-cover{aspect-ratio:2.55;position:relative;background:linear-gradient(125deg,#102b49,#376089 60%,#182d48);display:flex;align-items:center;justify-content:center}.lesson-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,48,.45),transparent)}.cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-initial{font:110px Georgia,serif;color:#ffffff24}.cover-subject{position:absolute;left:16px;bottom:13px;z-index:1;color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.lesson-card-body{padding:18px}.card-kicker{color:var(--muted);font-size:12px}.lesson-card h2{font:normal 24px Georgia,serif;margin:8px 0 3px}.lesson-card p{color:var(--muted);font-size:14px;margin:0 0 19px}.lesson-card .button{width:100%;min-height:37px;padding:8px}.empty-state{grid-column:1/-1;padding:62px;background:#f6f9fc;text-align:center;border:1px dashed #c5d7e8;color:var(--muted);border-radius:8px}
.lesson-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0 30px}.lesson-heading h1{margin-bottom:5px}.duration,.count-pill{display:inline-block;border:1px solid var(--line);background:#f3f8fe;color:#446385;border-radius:5px;padding:11px 16px;font-size:13px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);gap:22px}.reading{min-height:360px}.reading p{line-height:1.8;color:#334861;white-space:normal}.side-stack{display:flex;flex-direction:column;gap:20px}.side-stack .panel p{margin-bottom:0}.prepare-form h2{font-size:25px}.locked{background:#f6f9fd}.locked p{color:var(--muted)}
.session-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:22px 0}.session-badge{border-radius:30px;background:#e9f5ec;color:#2b6a42;padding:9px 15px;font-size:12px;font-weight:700}.tabs{display:flex;gap:10px;margin-bottom:12px}.tab{background:transparent;border:0;border-bottom:3px solid transparent;padding:13px 20px;color:var(--muted);font-weight:700}.tab.on{border-color:var(--blue);color:var(--blue)}.media-panel{background:#f1f5f9;border:1px solid var(--line);padding:16px;border-radius:8px}.media-panel video,.avatar-frame,.media-unavailable{display:block;width:100%;max-height:min(70vh,700px);aspect-ratio:16/9;object-fit:contain;background:#0b1726;border-radius:5px}.media-unavailable{display:grid;place-items:center;color:#d3deec}.media-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 2px 0}.avatar-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(circle at 50% 25%,#47698b,#172c48 55%,#0c1c30)}.avatar-orbit{width:130px;height:130px;border:1px solid #c7a46d;border-radius:50%;display:grid;place-items:center;font:43px Georgia,serif;color:#e1c698}.avatar-frame h3{font:normal 29px Georgia,serif;margin:26px 0 6px}.avatar-frame p{margin:2px 0;color:#dce5f0}.avatar-frame .hint{color:#aec2d7;max-width:520px}.finish-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 28px;min-height:45px}.finish-row p{color:var(--blue);margin:0}.feedback-panel{margin-top:22px}.feedback-panel label{display:flex;flex-direction:column;gap:8px;font-weight:650;font-size:14px}.feedback-panel .form-row{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.feedback-panel textarea{border:1px solid #cad8e8;border-radius:5px;padding:12px;resize:vertical}.feedback-panel button{margin-top:15px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.stat{border:1px solid var(--line);background:white;border-radius:7px;padding:20px 23px;display:flex;flex-direction:column;gap:6px;min-height:113px}.stat span,.stat small{color:var(--muted);font-size:13px}.stat strong{font:normal 29px Georgia,serif}.filter-bar{display:flex;gap:14px;align-items:end;margin-bottom:18px}.filter-bar label{min-width:160px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;min-width:790px}th{text-align:left;color:#526987;background:#f5f8fc;font-size:12px;font-weight:700;padding:14px 16px;white-space:nowrap}td{padding:15px 16px;border-top:1px solid #e8edf4;color:#364b63}td small{display:block;font-size:12px;color:#7a8b9d;line-height:1.45;margin-top:4px}tr:hover td{background:#f6faff}.table-empty{text-align:center;color:var(--muted);padding:42px}td a{font-weight:700;text-decoration:none}details summary{color:var(--blue);font-weight:700;cursor:pointer}.state{font-size:12px;font-weight:700}.state.active{color:#2a8a54}.state.pending{color:#a46c11}.state.closed{color:#9d3e3e}.inline-form{display:flex;gap:9px;align-items:end;margin-top:16px;min-width:400px}.inline-form label{min-width:115px}.inline-form .button{padding:10px}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:23px;align-items:start}.admin-grid .stack-form{gap:13px}.admin-grid .stack-form h2{margin:0}.admin-grid .table-wrap{min-width:0}.admin-grid table{min-width:590px}
[hidden]{display:none!important}@media(max-width:1000px){.lesson-grid{grid-template-columns:repeat(2,1fr)}.admin-grid,.detail-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:37% 63%}.story-inner{margin-left:9%;margin-right:7%}.topbar-inner{gap:16px}.topbar nav{gap:14px}.identity{display:none}}@media(max-width:700px){.topbar{height:auto}.topbar-inner{flex-wrap:wrap;padding:10px 16px;gap:8px}.topbar nav{order:3;width:100%;height:38px;gap:20px;overflow-x:auto}.nav-link{font-size:13px}.topbar-right{gap:9px}.page{padding:27px 16px 65px}.page-top,.lesson-heading,.session-title{flex-direction:column;align-items:stretch}.access-card{max-width:230px}.lesson-grid{grid-template-columns:1fr}.auth-shell{display:block}.auth-story{min-height:220px}.story-inner{margin:0;padding:30px}.story-inner h1{font-size:34px;margin:9px 0}.story-inner p{font-size:14px}.story-ornament{display:none}.auth-panel{padding:38px 18px 70px}.form-row,.feedback-panel .form-row,.stat-grid{grid-template-columns:1fr}.filter-bar,.media-actions{flex-wrap:wrap}.admin-grid{display:block}.admin-grid>.panel{margin-top:20px}.inline-form{min-width:350px}.site-footer{padding:20px 16px}.media-panel{padding:8px}.avatar-orbit{width:90px;height:90px;font-size:30px}}

/* Branding and authentication follow the supplied Live History mockup. */
.brand{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:18px;letter-spacing:-.03em;min-width:158px}
.brand-mark{flex:none;display:block;width:47px;height:41px;border:0;border-radius:0;transform:none;background:url('/static/brand-logo.png') no-repeat -25px -53px / 86px 173px}
.auth-shell{grid-template-columns:39% 61%}
.auth-story{background:#14283f;overflow:hidden}
.auth-story:before{display:none}
.auth-story:after{display:none}
.auth-story-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center}
@media(min-width:1200px) and (min-aspect-ratio:3/2){.auth-story-art{object-fit:cover}}
@media(max-width:500px){.auth-story-art{object-fit:cover}}
.mobile-story{display:none}
.auth-card{width:min(550px,100%)}
.auth-card h2{text-align:center;font-size:clamp(34px,4vw,51px);margin-bottom:10px}
.auth-card>.muted{text-align:center;font-size:17px;margin-bottom:30px}
.auth-switch{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:25px 0 33px}
.auth-switch a{text-decoration:none;font-size:16px;font-weight:700;padding:12px 16px 14px;color:var(--muted);border-bottom:3px solid transparent}
.auth-switch a.on{border-color:var(--blue);color:var(--blue)}
.auth-card .stack-form .button{width:100%;min-height:54px;font-size:17px}
.auth-links{justify-content:center;margin-top:22px}
.auth-note{color:var(--muted);font-size:13px;border-top:1px solid var(--line);padding-top:18px;margin-top:26px;text-align:center}
.admin-entry{text-align:center;margin-top:18px;border:0}
.cover-preview{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.cover-preview img{width:95px;height:64px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}
.stack-form input[type=file]{padding:9px;cursor:pointer}
.preview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:20px}
.preview-heading{margin-top:27px}
.preview-cover{border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:#10233a}
.preview-cover img{width:100%;height:100%;object-fit:cover;display:block}
.preview-cover .media-unavailable{max-height:none}
.preview-links p{line-height:1.65;border-top:1px solid var(--line);padding-top:12px}
.preview-links strong{font-size:14px}
@media(max-width:1000px){.preview-grid{grid-template-columns:1fr}}
@media(max-width:700px){.auth-story{height:min(133vw,620px);min-height:0}.auth-card h2{text-align:left}.auth-card>.muted{text-align:left;font-size:15px}.auth-switch{margin-top:18px}.auth-switch a{padding:10px 8px}.site-footer{flex-wrap:wrap;gap:8px}}

/* Lesson setup and completed-session feedback follow the supplied dialogs. */
dialog.lesson-dialog,dialog.feedback-dialog{border:0;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 24px 90px #13243d52;max-height:calc(100dvh - 36px);overflow:auto;margin:auto}
dialog.lesson-dialog::backdrop,dialog.feedback-dialog::backdrop{background:rgba(22,41,64,.53)}
body:has(dialog[open]){overflow:hidden}
.lesson-dialog{width:min(780px,calc(100% - 28px));padding:28px 39px 27px}
.dialog-top{display:flex;align-items:center;justify-content:space-between;color:#526889;text-transform:uppercase;font-size:13px;letter-spacing:.08em;font-weight:700;margin-bottom:22px}
.dialog-close{border:0;background:transparent;color:#526889;font-size:34px;line-height:1;padding:0 2px;min-height:36px}
.dialog-close:hover{color:var(--blue)}
.dialog-lesson{display:grid;grid-template-columns:minmax(180px,290px) 1fr;align-items:start;gap:25px;padding-bottom:25px;border-bottom:1px solid #cbdaf0}
.dialog-cover{height:180px;border-radius:7px;background:#d8e2ed;overflow:hidden}.dialog-cover img{width:100%;height:100%;object-fit:cover;display:block}.dialog-cover-empty{height:100%;display:grid;place-items:center;text-align:center;padding:15px;background:linear-gradient(120deg,#213651,#67819b);color:white;font:25px Georgia,serif}
.dialog-lesson-details h2{font:normal clamp(28px,3.1vw,42px)/1.07 Georgia,serif;margin:0 0 5px}.dialog-topic{font-size:20px;color:#526889;margin:0 0 14px}.dialog-meta{font-size:15px;margin:0 0 15px}.dialog-docs{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:15px}.dialog-docs a{color:#125395;font-weight:600;text-underline-offset:3px}.dialog-docs span{color:#62738a}.dialog-docs details{max-width:320px}.dialog-docs details p{font-size:13px;line-height:1.55;max-height:130px;overflow:auto;color:var(--ink)}
.lesson-start-form h3{font:normal 27px Georgia,serif;margin:21px 0 15px}.lesson-start-form .form-row{gap:20px}.lesson-start-form label{font-size:15px;font-weight:500;gap:8px}.lesson-start-form .required{color:#cc4b48}.lesson-start-form input{height:49px;border-color:#bcd0ea;font-size:17px}.lesson-start-form small{font-size:12px;color:#526889;font-weight:400}.dialog-info{background:#e8f2ff;border-radius:7px;color:#174d87;margin:18px 0 14px;padding:14px 17px;font-size:15px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dialog-actions .button{height:54px;font-size:16px;font-weight:500}.dialog-actions .button:disabled{opacity:.7}.dialog-note{text-align:center;color:#62738a;font-size:13px;margin:14px 0 0}.dialog-access-locked{padding-top:20px;color:var(--ink)}.dialog-access-locked p{color:var(--muted);margin-bottom:0}
.feedback-dialog{width:min(600px,calc(100% - 28px));padding:31px 34px 32px}.feedback-check{width:61px;height:61px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:#dff5eb;color:#168760;font-size:38px}.feedback-dialog h2{font:normal 35px Georgia,serif;text-align:center;margin:0 0 7px}.feedback-detail,.feedback-saved{text-align:center;margin:0;font-size:15px}.feedback-saved{color:#617995;margin:7px 0 20px}.feedback-fields{border-top:1px solid #d2dff0;padding-top:21px}.feedback-fields fieldset{border:0;margin:0;padding:0;min-width:0}.feedback-fields legend{padding:0;font-size:15px;margin-bottom:10px}.star-rating{display:flex;gap:5px;margin-bottom:15px}.star-rating input,.yes-no input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.star-rating label{color:#b7c5d7;cursor:pointer;font-size:39px;line-height:1;padding:0 2px}.star-rating label.selected{color:#2565a7}.star-rating input:focus-visible+label,.yes-no input:focus-visible+label{outline:2px solid #1b6fba;outline-offset:3px}.feedback-repeat{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px!important}.feedback-repeat legend{float:left;margin:8px 14px 0 0}.yes-no{display:flex;gap:10px}.yes-no label{min-width:76px;padding:8px 15px;border-radius:6px;background:#edf4fc;color:#234c7b;text-align:center;cursor:pointer}.yes-no input:checked+label{background:#2763a3;color:white}.problem-check{display:flex;align-items:center;gap:10px;margin:12px 0 20px;font-size:15px;cursor:pointer}.problem-check input{width:19px;height:19px;accent-color:#2763a3}.feedback-comment{display:block;font-size:15px;margin:0 0 14px}.feedback-comment textarea{display:block;width:100%;min-height:90px;margin-top:8px;padding:11px 13px;resize:vertical;color:var(--ink);border:1px solid #bccfe8;border-radius:6px;font-size:15px}.feedback-error{color:#a62828;font-size:13px}.feedback-actions{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:18px}.feedback-actions .button{height:49px;font-size:15px;font-weight:500}.journal-comment{white-space:pre-wrap;min-width:170px;max-width:400px;overflow-wrap:anywhere}
@media(max-width:650px){.lesson-dialog,.feedback-dialog{padding:22px}.dialog-lesson{grid-template-columns:1fr;gap:15px}.dialog-cover{height:190px}.dialog-lesson-details h2{font-size:33px}.dialog-topic{font-size:18px}.dialog-actions{gap:10px}.dialog-actions .button{white-space:normal;font-size:13px}.feedback-dialog h2{font-size:30px}.feedback-repeat legend{float:none;margin-bottom:10px}.feedback-repeat{display:block}.star-rating label{font-size:36px}}
@media(max-width:420px){.dialog-actions,.feedback-actions{grid-template-columns:1fr}.dialog-lesson{padding-bottom:18px}.lesson-start-form .form-row{grid-template-columns:1fr}.dialog-info{font-size:13px}}

/* Pilot session guide, teacher response, and session reports. */
.dialog-info{display:flex;align-items:flex-start;gap:12px;line-height:1.45;margin:20px 0 17px;padding:15px 17px}
.dialog-info strong{display:block;font-size:15px;margin:0 0 5px}
.dialog-info p{margin:0;font-size:14px}
.dialog-bulb{flex:none;font-size:21px;line-height:1.2}
.feedback-engagement{margin:3px 0 19px!important}
.engagement-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.engagement-choices input{position:absolute;width:1px;height:1px;opacity:0}
.engagement-choices label{border:1px solid #bdd0e5;background:#f4f8fd;color:#31577f;border-radius:6px;padding:10px 6px;cursor:pointer;display:block;text-align:center;font-size:14px}
.engagement-choices input:checked+label{background:#2763a3;border-color:#2763a3;color:#fff}
.engagement-choices input:focus-visible+label{outline:2px solid #1b6fba;outline-offset:2px}
.session-passport{min-width:92px}
.session-passport summary{white-space:nowrap;font-size:13px}
.session-passport dl{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px 15px;min-width:290px;max-width:360px;margin:13px 0 0;padding:14px;border:1px solid #d7e4f3;border-radius:7px;background:#f8fbff}
.session-passport dt{font-size:11px;color:#667c96;margin-bottom:3px}
.session-passport dd{font-size:13px;font-weight:600;margin:0;overflow-wrap:anywhere}
.lesson-summary{margin:4px 0 28px}
.lesson-summary h2{font:normal 26px Georgia,serif;margin:0 0 7px}
.lesson-summary p{margin:0 0 14px}
.lesson-summary table{min-width:900px}
.lesson-summary td{vertical-align:top}
@media(max-width:650px){.engagement-choices{grid-template-columns:1fr}.dialog-info{padding:12px}.dialog-info p{font-size:13px}}

/* Separate controls make monthly additions and reductions explicit. */
.school-allocation-controls{width:min(560px,calc(100vw - 80px));padding:12px 0 3px}
.allocation-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,.85fr) auto;align-items:end;gap:10px;padding:10px 0 15px;border-bottom:1px solid var(--line)}
.allocation-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}
.allocation-form input{border:1px solid #cad8e8;border-radius:5px;min-height:43px;padding:9px 10px;background:#fff;color:var(--ink);font-size:14px;width:100%}
.allocation-form small{grid-column:1/-1;font-size:12px;color:var(--muted);line-height:1.4}
.allocation-form .button{padding:10px 13px;font-size:13px;white-space:normal}
.remove-button{border-color:#d3a6a6!important;color:#a13d3d!important}
.close-access-form{margin-top:9px}
.close-access-form .button{padding:7px 0;min-height:32px}
@media(max-width:700px){.allocation-form{grid-template-columns:1fr 1fr}.allocation-form .button{grid-column:1/-1}.school-allocation-controls{width:min(360px,calc(100vw - 90px))}}
