:root{--ink:#202033;--muted:#666578;--paper:#f6f5fa;--panel:#fff;--purple:#6535df;--purple-light:#eee7fc;--coral:#ff785f;--mint:#c9f2dd;--line:#e6e3ee;--radius:22px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}
*{box-sizing:border-box}
h1:focus{outline:none}
.external-login{margin-top:24px;font-size:.85rem}.section-heading{margin-top:28px}.account-record{margin-bottom:14px}.account-record summary{cursor:pointer;padding:4px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.account-record form{margin-top:24px}.check-label{display:inline-flex;gap:8px;align-items:center;margin:8px 18px 8px 0;font-size:.85rem}fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}legend{padding:0 8px;font-weight:600}
body{margin:0}
.support-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 28px;border-bottom:1px solid var(--line);padding-bottom:12px}.support-tabs button{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:9px 16px;border-radius:30px}.support-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}
.support-score{display:flex;gap:30px;align-items:center;justify-content:space-between;background:var(--ink);color:white;padding:28px 32px;border-radius:var(--radius);margin:24px 0}.support-score strong{display:block;font-size:clamp(2rem,4vw,3.5rem);line-height:1.2;margin:8px 0}.support-score strong small{font-size:.55em}.support-score p{margin:8px 0;color:#ded8f4}.support-score .eyebrow{color:#d2c0ff}.support-score progress{width:25%;min-width:80px}.support-score .badge{background:var(--mint);color:var(--ink)}
progress{accent-color:var(--purple);height:12px;border:0;border-radius:20px;overflow:hidden}progress::-webkit-progress-bar{background:#e8e2f3}progress::-webkit-progress-value{background:var(--purple);border-radius:20px}.support-score progress::-webkit-progress-value{background:var(--mint)}
.support-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.support-metric{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-width:0;display:flex;flex-direction:column;gap:9px}.support-metric>span{font-weight:650}.support-metric>strong{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.2;letter-spacing:-.04em;overflow-wrap:anywhere}.support-metric strong small{font-size:.6em}.support-metric>small{font-size:.8rem;opacity:.9}.support-metric.violet{background:var(--purple);color:white;border-color:transparent}.support-metric.mint{background:var(--mint);border-color:transparent}.support-metric.coral{background:#ffe0d8;border-color:transparent}.support-schools>div{display:grid;grid-template-columns:1fr 2fr 1fr 50px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:18px 0}.support-schools span{color:var(--muted);font-size:.85rem}.support-schools progress{width:100%}
@media(max-width:1000px){.support-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.support-schools>div{grid-template-columns:1fr 1fr}.support-score{flex-wrap:wrap}.support-score progress{flex:1}}
@media(max-width:600px){.support-metrics{grid-template-columns:1fr}.support-metric{padding:22px}.support-score{padding:24px;gap:16px}.support-score>div{min-width:0;width:100%}.support-schools>div{grid-template-columns:1fr}.support-tabs{gap:6px}.support-tabs button{font-size:.85rem;padding:8px 12px}}
a{color:var(--purple)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #ec8b20;outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.2rem,3.6vw,3.6rem);line-height:1.13;letter-spacing:-.055em;font-weight:750;margin-bottom:20px}
h2{font-size:1.3rem;line-height:1.3;letter-spacing:-.025em}
p{color:var(--muted)}
.app-frame{display:flex;min-height:100vh}
.sidebar{width:260px;flex-shrink:0;padding:38px 25px 28px;background:#211d35;color:#eae6f6;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-size:1.28rem;font-weight:700;letter-spacing:-.04em}
.brand-light{font-weight:400}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#c4a7ff;color:#211d35;font-weight:850;font-size:26px;letter-spacing:-8px;padding-right:8px}
.brand-mark span{transform:translateY(-4px)}
.workspace-label{font-size:.57rem;letter-spacing:.13em;color:#c3b9d9;margin:24px 0 40px}
.sidebar nav{display:grid;gap:8px}
.sidebar nav a{display:flex;gap:14px;align-items:center;color:#d6cfe5;text-decoration:none;padding:13px 16px;border-radius:12px;font-size:.9rem;font-weight:550}
.sidebar nav a.active{background:#7150bb;color:white}
.sidebar nav a:hover{background:#46385e}
.sidebar nav a span{width:20px;font-size:1.1rem;text-align:center}
.sidebar-foot{margin-top:auto;font-size:.71rem;color:#c3b9d9;display:flex;gap:8px;align-items:center}
.pulse-dot{width:7px;height:7px;background:#b2e5cc;border-radius:50%}
.main-shell{flex:1;min-width:0}
.topbar{height:89px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff}
.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.14em;color:var(--muted);margin-bottom:16px}
.topbar .eyebrow{margin:0}
.date-label{font-size:.8rem;color:var(--muted)}
main{max-width:1480px;margin:auto;padding:46px 5% 32px;outline:none}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
.accent-text{color:var(--purple)}
.intro{max-width:560px;font-size:1rem;line-height:1.7;margin-bottom:30px}
.edition-tag{white-space:nowrap;border:1px solid #d8d0e9;background:#fff;border-radius:25px;padding:10px 18px;margin-top:38px;font-size:.76rem;font-weight:600}
.hero-panel{background:var(--purple);border-radius:var(--radius);padding:36px 40px;display:grid;grid-template-columns:1fr 1fr;min-height:310px;overflow:hidden;position:relative;color:#fff}
.hero-panel h2{font-size:2.2rem;letter-spacing:-.04em;margin:15px 0}
.hero-panel p{color:#eee8ff;max-width:350px;font-size:.92rem}
.pill{font-size:.6rem;letter-spacing:.12em;border:1px solid #ac8ff4;padding:6px 10px;border-radius:20px;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;border-radius:11px;background:var(--purple);color:#fff;font-weight:650;font-size:.86rem;text-decoration:none;padding:13px 19px;cursor:pointer}
.button:hover{filter:brightness(.94)}
.button-light{background:#fff;color:#3c255f}
.button-secondary{background:var(--purple-light);color:var(--purple)}
.hero-art{position:relative;min-height:230px}
.art-circle{height:290px;width:290px;border-radius:50%;background:#835ae9;position:absolute;right:0;top:10px}
.art-card{position:absolute;background:#fff;color:var(--ink);padding:18px 20px;border-radius:18px;display:grid;gap:4px;box-shadow:0 14px 26px #2d116b26;width:220px}
.art-card-one{top:2px;right:64px;transform:rotate(-7deg)}
.art-card-two{right:3px;top:139px;transform:rotate(6deg)}
.art-card strong{font-size:.94rem}
.art-card>span:last-child{font-size:.7rem;color:var(--muted)}
.art-icon{height:36px;width:36px;background:var(--mint);border-radius:10px;display:grid;place-items:center;margin-bottom:6px;font-size:1.3rem}
.art-icon.coral{background:#ffdacd}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.surface{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.feature-number{display:inline-flex;padding:9px 13px;border-radius:12px;margin-bottom:19px;font-size:.8rem;font-weight:700}
.violet{background:var(--purple-light);color:#5a2db9}
.orange{background:#ffdfd0;color:#98431f}
.mint{background:var(--mint);color:#216346}
.feature h2{font-size:1.08rem;margin-bottom:9px}
.feature p{font-size:.85rem;line-height:1.65;margin:0}
.page-footer{font-size:.7rem;color:var(--muted);padding:10px 5% 25px;display:flex;justify-content:space-between}
.prose{max-width:840px}
.prose h2:not(:first-child){margin-top:30px}
.skip-link{position:fixed;top:12px;left:12px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;background:#fff;z-index:100}
.skip-link:focus{width:auto;height:auto;overflow:visible;clip-path:none;padding:12px}
#blazor-error-ui{display:none;position:fixed;bottom:0;background:#fff0d4;width:100%;padding:18px;z-index:100}
.field{display:grid;gap:7px;margin-bottom:20px}
.field label{font-size:.85rem;font-weight:650}
.field input,.field select,.field textarea,input.search{border:1px solid #bcb4cf;border-radius:10px;padding:11px 13px;background:#fff;width:100%;color:var(--ink)}
.field textarea{min-height:120px;resize:vertical}
.validation-message,.validation-errors{color:#a72531}
.alert{padding:14px 18px;border-radius:12px;background:#fff0d4;margin-bottom:20px}
.alert-error{background:#ffe6e8;color:#922334}
.alert-success{background:#dff5e7;color:#205734}
.table-wrap,.table-scroll{overflow-x:auto;position:relative}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.05em}
.toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin:20px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px}
.badge{display:inline-block;border-radius:20px;padding:3px 10px;background:var(--purple-light);color:#502595;font-size:.72rem}
.auth-card{max-width:480px;margin:20px auto}
.muted{color:var(--muted)}
.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}
@media(min-width:1500px){main{padding-top:60px}
}
@media(max-width:1100px){.sidebar{width:220px;padding:30px 18px}
.edition-tag{display:none}
.hero-panel{padding:30px}
.art-card-one{right:25px}
.art-card-two{right:-10px}
}
@media(max-width:800px){.sidebar{width:190px}
.brand{font-size:1.05rem}
.hero-panel{grid-template-columns:1fr}
.hero-art{display:none}
.feature-grid{grid-template-columns:1fr}
.feature{display:grid;grid-template-columns:auto 1fr;gap:0 18px}
.feature-number{grid-row:span 2;margin:0;align-self:start}
.feature p{grid-column:2}
.topbar .eyebrow{display:none}
}
@media(max-width:560px){.app-frame{display:block}
.sidebar{position:relative;width:auto;height:auto;padding:18px 20px}
.workspace-label,.sidebar-foot{display:none}
.sidebar nav{display:flex;margin-top:18px;gap:8px}
.sidebar nav a{font-size:.8rem;padding:9px 12px}
.topbar{height:52px;padding:0 6%}
main{padding:28px 6%}
.hero-panel{padding:28px 24px}
.hero-panel h2{font-size:1.9rem}
.page-footer span{display:none}
.form-grid{grid-template-columns:1fr}
.toolbar{flex-wrap:wrap}
.button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}
.form-grid label,.search-bar label{display:flex;flex-direction:column;gap:8px;font-size:.85rem;font-weight:600;margin-bottom:20px}
.panel input:not([type=checkbox]),.panel select,.panel textarea{border:1px solid #bcb4cf;border-radius:10px;padding:11px 13px;background:#fff;width:100%;color:var(--ink);min-height:44px}
.panel button:not(.text-button),.page-heading button,.save-bar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;background:var(--purple);color:#fff;font-weight:650;font-size:.86rem;text-decoration:none;padding:13px 19px;min-height:44px;cursor:pointer}
.panel button.button-secondary,.page-heading button.button-secondary{background:var(--purple-light);color:var(--purple)}
.panel label.check{flex-direction:row;align-items:center}
.page-heading h1{font-size:clamp(2rem,3.6vw,3.4rem);letter-spacing:-.055em;margin:8px 0 12px;line-height:1.08}
.page-heading p:not(.eyebrow){color:var(--muted);margin:0}
.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:24px;box-shadow:0 4px 16px #26153905;scroll-margin-top:20px}
.search-bar{display:flex;align-items:end;flex-wrap:wrap;gap:18px;margin-bottom:24px}
.search-bar label{margin:0}.grow{flex:1;min-width:180px}
.plain-fieldset{border:0;padding:0;margin:0;min-width:0}
.plain-fieldset:disabled input,.plain-fieldset:disabled select,.plain-fieldset:disabled textarea{color:#3f3c4b;background:#f8f7fb;opacity:1}
.form-grid>*{min-width:0}.full-width{grid-column:1/-1}
.check-grid{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0}
.check{display:flex;align-items:center;gap:10px;min-height:44px}
input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--purple)}
.inset{background:#f7f5fc;border-radius:16px;padding:24px;margin:24px 0 0}
.section-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.section-heading h2{margin:0 0 4px;font-size:1.4rem;letter-spacing:-.03em}.section-heading p{margin:0;color:var(--muted);font-size:.9rem}
.section-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border-radius:14px;background:#ece4ff;color:#5d32b0;font-weight:800}
.section-number.mint{background:#d3f8e9;color:#17654e}.section-number.coral{background:#ffe1d8;color:#91422b}
.section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.section-nav a,.section-nav button{background:#eee8f8;color:#513d6c;border:0;padding:12px 18px;border-radius:24px;text-decoration:none;font-size:.9rem;font-weight:600}
.section-nav a:hover,.section-nav button.selected{background:#30203f;color:white}
.save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#30203f;color:white;padding:18px 24px;border-radius:16px;margin:0 0 24px}.save-bar span{font-size:.9rem}
.pupil-name{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;min-width:190px}.pupil-name small{display:block;color:var(--muted);font-weight:400;margin-top:4px}
.avatar{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:12px;background:#ede4fc;color:#623bad;font-weight:800}
.badge-coral{background:#ffe1d8;color:#7b2f1e}.badge-mint{background:#d3f8e9;color:#17543e}
.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-state>span{font-size:3rem;color:#8055cb}.empty-state h2{color:#30203f}
.result-count{color:var(--muted);font-size:.85rem}.pagination,.button-row{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:22px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:20px}.contact-card{border:1px solid var(--line);border-radius:16px;padding:22px;overflow-wrap:anywhere}.contact-card h3{margin-top:0}.contact-card .badge{margin-right:6px}
.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.record-list article{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid var(--line);padding:22px 0}.record-list h3{font-size:1.05rem;margin:10px 0 6px}.record-list p{font-size:.85rem;margin:0}.record-list .badge{margin-right:6px}
.timeline{list-style:none;padding:0;margin:28px 0}.timeline li{display:grid;grid-template-columns:130px 1fr;gap:26px;padding-bottom:24px;position:relative}.timeline-date{font-weight:700;color:#4b365f;font-size:.85rem;padding-top:12px}.timeline small{display:block;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:8px}.timeline-card{border-left:3px solid #af94dc;background:#f8f6fc;border-radius:0 14px 14px 0;padding:20px 24px;overflow-wrap:anywhere}.timeline-card h3{font-size:1.1rem;margin:12px 0 8px}.timeline-card .badge{margin-right:6px}.timeline-card a{font-size:.85rem;font-weight:600}
.file-list{list-style:none;padding:0}.file-list li{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.file-list li>a{flex:1;font-weight:600}.file-list span{font-size:.8rem;color:var(--muted)}
@media(max-width:560px){.timeline li{grid-template-columns:1fr;gap:10px}.timeline-date small{display:inline;margin-left:12px}.timeline-card{padding:18px}.record-list article{flex-wrap:wrap}.file-list li{flex-wrap:wrap}.quick-actions .button{flex:1 1 130px}}
.text-button{background:none;border:0;color:#643aa5;padding:12px 4px;font-weight:600;text-decoration:underline}.back-link{display:inline-block;margin-bottom:20px;font-size:.9rem;font-weight:600}
details.panel summary{font-weight:700;cursor:pointer;padding:4px 0}details.panel[open] summary{margin-bottom:20px}
.alert{padding:16px 20px;border-radius:12px;margin-bottom:20px}.alert-error,.validation-summary-errors{background:#fff0ed;color:#912d1c}.alert-success{background:#e1f7ec;color:#18553b}.validation-summary-errors{border-radius:12px;padding:12px 24px}
button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:800px){.search-bar>label{flex:1 1 180px}.page-heading{align-items:flex-start;flex-wrap:wrap}.panel{padding:22px}.save-bar{flex-wrap:wrap}}
@media(max-width:560px){.sidebar nav{flex-wrap:wrap}.section-nav a,.section-nav button{padding:10px 14px}.panel{padding:20px 16px}.inset{padding:18px 14px}.section-heading{align-items:flex-start}.contact-grid{grid-template-columns:1fr}.save-bar>span{display:none}}
@media(max-width:560px){.pupil-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pupil-table,.pupil-table tbody{display:block}.pupil-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.pupil-table td{border:0;padding:0;overflow-wrap:anywhere}.pupil-table td:first-child{grid-column:1/-1;margin-bottom:6px}.pupil-table td[data-label]::before{content:attr(data-label);display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.pupil-table .pupil-name{min-width:0}}

/* Shared native list and support-tab states must remain clear inside panels. */
.record-list{list-style:none;margin:22px 0;padding:0}.record-list>li{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.record-list>li>div{min-width:0}.record-list h3{margin:10px 0 6px;font-size:1.05rem}.record-list p{margin:4px 0}.record-list>li>button{flex-shrink:0}
.panel .support-tabs button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:30px}.panel .support-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}
@media(max-width:600px){.record-list>li{align-items:flex-start;flex-wrap:wrap;gap:12px}.record-list>li>div:first-child{flex-basis:100%}}
.support-outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.panel .support-outcomes button{display:flex;flex-direction:column;gap:12px;text-align:left;align-items:stretch;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:22px}.support-outcomes span{font-size:.8rem}.support-outcomes progress{width:100%}.support-outcomes strong{font-size:1.4rem}

.protection-banner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--ink,#1f1835);color:white;padding:1.3rem 1.5rem;border-radius:1.2rem;margin-bottom:1.5rem}
.protection-banner a{color:#baf5dd;margin-left:auto}.protection-banner .badge{color:#251b40;background:#d8c7ff}
.protection-patterns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.pattern-row{display:grid;grid-template-columns:minmax(0,1fr) 30% 2ch;gap:.8rem;align-items:center;width:100%;background:transparent;color:inherit;border-bottom:1px solid #e5e1ed;border-radius:0;text-align:left;padding:.9rem .3rem}.pattern-row:hover{background:#f4eefc}.pattern-row meter{width:100%;accent-color:#7848de}
@media(max-width:700px){.protection-patterns{grid-template-columns:1fr;gap:1rem}.protection-banner a{margin-left:0}.pattern-row{grid-template-columns:minmax(0,1fr) 20% 2ch}}

.care-revision { border-top: 1px solid var(--line); padding: 1rem 0; }
.care-revision summary { cursor: pointer; font-weight: 650; padding: .4rem 0; }
.care-revision[open] .form-grid { margin-top: 1rem; }
.import-preview{max-width:100%;overflow:auto;margin-top:1rem}.import-progress{width:100%;height:1rem;accent-color:#7848de}.import-fields{display:grid;grid-template-columns:minmax(8rem,1fr) 3fr;gap:.5rem 1rem;overflow-wrap:anywhere}.import-fields dt{font-weight:650}.import-fields dd{margin:0;white-space:pre-wrap}.attendance-value{font-size:1.8rem}.source-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:30rem;overflow:auto}
@media(max-width:560px){.import-fields{grid-template-columns:1fr}.import-fields dd{margin-bottom:.7rem}}
.workflow-json { white-space:pre-wrap; overflow-wrap:anywhere; max-width:100%; font-size:.85rem; }
.workflow-account-search{align-self:end;margin-bottom:20px}.save-bar>a{color:#eee5ff}
/* School overview: three clear measures, focused work and accessible native charts. */
.overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0}.overview-metric{display:flex;flex-direction:column;padding:28px;border-radius:22px;background:#f2edf9;color:var(--ink);text-decoration:none;min-width:0}.overview-metric.violet{background:#663cc1;color:white}.overview-metric.coral{background:#ffb39b;color:#482319}.overview-metric.mint{background:#bbedd8;color:#173c30}.overview-metric>span{font-size:.72rem;letter-spacing:.1em;font-weight:750}.overview-metric>strong{font-size:3.6rem;line-height:1.2;margin:16px 0;font-weight:750}.overview-metric>small{font-size:.85rem;line-height:1.5}.overview-metric b{float:right;font-size:1.2rem}.overview-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}.overview-columns>*{min-width:0}.overview-shortcuts{margin-top:28px}.overview-shortcuts a{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line);text-decoration:none;font-weight:600}.needs-chart,.school-impact{list-style:none;padding:0;margin:18px 0}.needs-chart li{margin:20px 0}.needs-chart li>div{display:flex;justify-content:space-between;gap:16px;font-size:.9rem;margin-bottom:8px}.needs-chart meter{width:100%;height:14px;accent-color:#7241c7}.needs-chart meter::-webkit-meter-bar{background:#eee7f6;border:0}.needs-chart meter::-webkit-meter-optimum-value{background:#8052cf}.school-impact li{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:18px 0}.school-impact small{display:block;font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:6px}.school-impact strong{white-space:nowrap;font-size:.95rem}.school-impact .text-button{padding:0;text-align:left}.dashboard-footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);padding:12px 0 28px}.dashboard-filters .search-bar{margin:0}.display-shell{max-width:1800px;margin:auto;padding:40px}.display-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.display-heading h1{font-size:2.5rem;line-height:1.15}.display-shell .overview-metric>strong{font-size:4.5rem}
@media(max-width:1050px){.overview-columns{grid-template-columns:1fr}.overview-metric{padding:22px}.overview-metric>strong{font-size:3rem}.overview-metrics{gap:14px}}
@media(max-width:650px){.overview-metrics{grid-template-columns:1fr}.overview-metric{padding:22px}.overview-metric>strong{margin:8px 0}.display-shell{padding:24px 16px}.display-heading{align-items:flex-start;flex-direction:column}.display-heading h1{font-size:2rem}.display-shell .overview-metric>strong{font-size:3.5rem}.school-impact li{align-items:flex-start;flex-wrap:wrap}.school-impact strong{white-space:normal}}
.notice-board{display:grid;gap:16px;margin:24px 0}.notice-card{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;background:#ebe5fb;border-left:5px solid #7951ca;border-radius:16px;padding:24px}.notice-card h2{font-size:1.15rem;margin:10px 0}.notice-card.warning{background:#fff0c9;border-color:#a47700}.notice-card.critical{background:#ffe3dd;border-color:#bb352c}.notice-card.success{background:#dcf4e8;border-color:#34815a}.notice-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.notice-card>div{min-width:0}.notice-card button{flex-shrink:0}@media(max-width:600px){.notice-card{flex-direction:column;padding:20px}}
.knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.knowledge-card{min-width:0}.knowledge-card h2{font-size:1.4rem;line-height:1.3;margin:22px 0 16px}.knowledge-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.knowledge-meta time{font-size:.78rem;color:var(--muted)}.knowledge-summary{white-space:pre-wrap;overflow-wrap:anywhere}.knowledge-context{padding:18px 20px;background:#f1ebfa;border-radius:14px;margin:20px 0}.knowledge-context p{margin:8px 0 0}.knowledge-actions{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px}.knowledge-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.knowledge-preview article{border-top:3px solid #b5a0da;padding-top:20px;min-width:0}.knowledge-preview h3{font-size:1rem}.knowledge-preview p{font-size:.8rem}@media(max-width:900px){.knowledge-grid,.knowledge-preview{grid-template-columns:1fr}}
/* Keep the complete navigation usable as modules are added. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar>.brand,.sidebar>.workspace-label,.sidebar>nav,.sidebar>.sidebar-foot{flex-shrink:0}.sidebar-foot{padding-top:22px}.pagination button{border:0;border-radius:10px;padding:10px 16px;background:var(--purple-light);color:#4e2b94;font-weight:600}.pagination button:disabled{background:#eeeaf4;color:#665e73;opacity:.65}@media(max-width:650px){.sidebar{overflow-y:visible;overscroll-behavior:auto}}

.delivery-body { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; max-height: 28rem; overflow: auto; }
.browser-alerts-link{margin-left:auto;margin-right:1rem;font-weight:650}.browser-alert-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}#browser-alert-settings [data-push-error]:empty,#browser-alert-settings [data-push-result]:empty{display:none}#browser-alert-settings [data-push-error]{color:var(--danger,#a31b45)}@media(max-width:600px){.browser-alerts-link{margin:0}.topbar{gap:.75rem;flex-wrap:wrap}.browser-alert-actions{align-items:stretch;flex-direction:column}}
.transcript-wording{white-space:pre-wrap;overflow-wrap:anywhere}.inset:has(legend){min-width:0}
.retention-key{overflow-wrap:anywhere}.field-values{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:10px 24px}.field-values dt{font-weight:650}.field-values dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.field-values{grid-template-columns:1fr;gap:6px}.field-values dd{margin-bottom:12px}}

.report-table-scroll{overflow:auto;max-height:36rem;max-width:100%;margin:1rem 0}.report-preview-table{border-collapse:collapse;min-width:1050px;width:100%;font-size:.875rem}.report-preview-table th,.report-preview-table td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line,#d9dfea);overflow-wrap:anywhere;max-width:16rem}.report-preview-table th{overflow-wrap:normal;position:sticky;top:0;background:#eef0fa;color:#332851}.report-preview-table tbody tr:nth-child(even){background:#f8f9fc}

.report-detail{margin-top:1rem;border-top:1px solid var(--line);padding:1rem 0}.report-detail summary{cursor:pointer;font-weight:700}.report-fields dt{font-weight:700;margin-top:.75rem}.report-fields dd{margin:.2rem 0 1rem;white-space:pre-wrap;overflow-wrap:anywhere}

.personal-profile-link{margin-left:auto;margin-right:1rem;font-weight:650}.personal-profile-link+.browser-alerts-link{margin-left:0}@media(max-width:600px){.personal-profile-link{margin:0}}

/* Cross-pupil operational worklists use the same native controls as pupil workspaces. */
.work-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.work-filter-groups{display:flex;flex-wrap:wrap;gap:24px}.work-filter-groups fieldset{border:1px solid #c9d2e0;border-radius:12px;padding:16px;flex:1;min-width:200px}.work-filter-groups .check{margin:8px 0}.work-advanced{margin:20px 0}.work-advanced summary{cursor:pointer;font-weight:700;padding:12px 0}.work-records{list-style:none;padding:0;margin:0}.work-records>li{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid #e1e6ed}.work-record-main{min-width:0;overflow-wrap:anywhere}.work-record-main h3{margin:10px 0}.work-record-main p{margin:6px 0}.work-record-dates{display:flex;flex-direction:column;gap:8px;min-width:180px;font-size:.9rem}.work-record-dates strong{color:#302660}.work-results .section-heading p{margin:0}@media(max-width:700px){.work-records>li{flex-direction:column;gap:12px}.work-record-dates{padding-left:14px;border-left:3px solid #6852c7}.work-tabs .button,.work-tabs button{flex:1;text-align:center}}

/* Navigation and contextual help remain separate from pupil record content. */
:focus-visible{outline:3px solid #8e4000;outline-offset:4px}.sidebar :focus-visible{outline-color:#ffd28c}
.sidebar{overflow:hidden}.sidebar>nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;padding:5px;margin-left:-5px;margin-right:-5px;scrollbar-color:#9d89c8 #211d35}.sidebar>.workspace-label{margin-bottom:22px}.sidebar-foot{flex-shrink:0;margin-top:18px;padding-top:0}.navigation-toggle{display:none}.sidebar nav[hidden]{display:none}.topbar{height:auto;min-height:89px;padding-top:16px;padding-bottom:16px;gap:16px;flex-wrap:wrap}.topbar>.eyebrow{margin-right:auto}.topbar .browser-alerts-link{margin-left:0}.topbar form{margin:0}
.help-dialog{padding:0;border:1px solid #d9d1e8;border-radius:22px;width:min(760px,calc(100vw - 40px));max-height:90dvh;color:var(--ink);background:white;box-shadow:0 24px 90px #17102966}.help-dialog::backdrop{background:#15102099}.help-dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px 28px;border-bottom:1px solid var(--line);background:#f6f2ff}.help-dialog-header h2{margin:0}.help-dialog-header .eyebrow{margin-bottom:8px}.help-guide-picker{display:flex;gap:16px;align-items:flex-end;padding:20px 28px}.help-guide-picker label{flex:1;min-width:0}.help-guide-picker select{width:100%}.help-choices{display:flex;gap:10px;padding:0 28px 20px}.help-prose{font-size:1rem;line-height:1.7;overflow-wrap:anywhere}.help-dialog .help-prose{padding:0 28px 24px}.help-prose h2,.help-prose h3,.help-prose h4{margin-top:26px;line-height:1.35}.help-prose img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:12px;margin:20px 0}.help-prose ul,.help-prose ol{padding-left:24px}.help-prose li{margin:10px 0}.help-prose table{border-collapse:collapse;display:block;overflow:auto;max-width:100%}.help-prose th,.help-prose td{border:1px solid var(--line);padding:8px;text-align:left}.help-prose pre{white-space:pre-wrap;overflow:auto}.help-dialog-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.85rem}.help-dialog-footer span{color:var(--muted)}
@media(max-width:650px){.app-frame{display:block}.sidebar{position:relative;width:auto;height:auto;min-height:82px;padding:20px}.sidebar>.brand{max-width:calc(100% - 100px)}.sidebar .workspace-label,.sidebar .sidebar-foot{display:none}.sidebar.navigation-ready>.navigation-toggle{display:block;position:absolute;top:20px;right:20px;padding:9px 13px;background:#46385e;border:1px solid #8b79a8;color:white;border-radius:10px}.sidebar>nav{display:grid;grid-template-columns:1fr;max-height:65dvh;margin-top:20px}.sidebar nav a{font-size:.95rem;padding:12px 14px}.topbar{min-height:72px;padding:14px 6%;gap:12px;font-size:.85rem}.topbar .button,.topbar button{padding:10px 12px}.topbar .eyebrow{display:none}.help-dialog{width:calc(100vw - 20px);max-height:94dvh;border-radius:16px}.help-dialog-header{padding:20px;gap:12px}.help-dialog-header h2{font-size:1.1rem}.help-dialog-header .eyebrow{font-size:.6rem}.help-guide-picker{padding:18px 20px;flex-wrap:wrap}.help-guide-picker label{flex-basis:100%}.help-dialog .help-prose{padding:0 20px 20px}.help-choices{padding:0 20px 18px;flex-wrap:wrap}.help-dialog-footer{padding:18px 20px}}
.help-guide-picker label{display:flex;flex-direction:column;gap:8px;font-weight:650;font-size:.9rem}.help-guide-picker select{border:1px solid #bcb4cf;border-radius:10px;padding:11px 13px;background:white;color:var(--ink);font-weight:400}.help-dialog .help-dialog-header .eyebrow{display:block}.help-dialog .button{gap:8px;white-space:normal}.help-dialog-header>button{flex-shrink:0}
.saved-record-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;margin:24px 0;border:1px solid #c7dccc;background:#f0faf4;border-radius:18px}.saved-record-actions p{margin:5px 0 0;font-size:.9rem}.saved-record-actions button{flex-shrink:0}.saved-record-actions button:disabled{opacity:.65;cursor:default}@media(max-width:650px){.saved-record-actions{align-items:flex-start;flex-direction:column;padding:20px;gap:16px}}

.dashboard-refresh{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin:0 0 1rem;color:var(--muted);font-size:.85rem}.dashboard-refresh .button{padding:.55rem .8rem}

/* Shared guided creation and saved-record browsing. */
.record-action-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 24px}
.record-guidance{font-size:.9rem;margin:20px 0 12px}
.record-saved-heading{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.record-saved-heading h3{font-size:1.05rem;margin:0 0 6px}.record-saved-heading p{font-size:.85rem;color:var(--muted);margin:0 0 16px}
.record-list article>div{min-width:0}.record-list h3{overflow-wrap:anywhere}
@media(max-width:1100px){.record-action-groups{grid-template-columns:1fr}}

/* Keep counts and controls centred together in every shared paging row. */
.pagination{align-items:center}
.pagination>span,.pagination>p{margin-block:0}
.pagination>button{min-height:44px;max-width:100%;margin-block:0}

/* Shared filter-sidebar and record-card arrangement, following the V1 list centre. */
.list-filter-toggle{margin:0 0 16px}
.list-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}
.list-workspace.filters-hidden{grid-template-columns:minmax(0,1fr)}
.list-workspace>.panel{min-width:0;margin:0}
.list-workspace .list-filter-panel{padding:20px}
.list-filter-panel[hidden]{display:none}
.list-filter-panel .form-grid{grid-template-columns:minmax(0,1fr)}
.list-filter-panel .search-bar{display:flex;flex-direction:column;align-items:stretch}
.list-filter-panel .work-filter-groups{gap:12px}
.list-filter-panel .work-filter-groups fieldset{min-width:0}
.list-workspace .work-records>li{padding:20px;border:1px solid var(--line);border-radius:12px;margin:14px 0;gap:16px}
.list-workspace .work-record-dates{min-width:140px}
@media(max-width:1100px){.list-workspace{grid-template-columns:220px minmax(0,1fr);gap:16px}.list-workspace .work-records>li{flex-direction:column}}
@media(max-width:800px){.list-workspace{grid-template-columns:minmax(0,1fr)}}
.list-workspace .list-results{min-width:0}
.list-workspace>.list-filter-panel{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.list-workspace .list-records>li{padding:20px;border:1px solid var(--line);border-radius:12px;margin:14px 0;gap:16px;align-items:flex-start}
.list-workspace .list-records>li>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.list-workspace .list-records>li{flex-direction:column}}
.list-filter-panel .search-bar>label{flex:initial}
.dashboard-workspace .list-workspace .list-records>li{padding:20px}
/* Consistent spacing for ungrouped form fields and action rows. */
.form-stack{display:grid;gap:16px;min-width:0;width:100%}
.form-stack>label{display:flex;flex-direction:column;gap:8px;margin:0}
.form-stack>button{justify-self:start}
.plain-fieldset>label+label,.plain-fieldset>label+button,.plain-fieldset>button+label{margin-top:16px}
.form-stack>label+label,.form-stack>label+button,.form-stack>button+label{margin-top:0}

.library-circulation-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:16px}.library-circulation-actions>.library-review{flex-basis:100%}.library-table td>button{margin:4px 8px 4px 0}
