:root{--brand-white: #ffffff;--brand-ink: #222222;--brand-navy: #232a52;--brand-cyan: #009fe3;--brand-cyan-deep: #0079b3;--neutral-900: #222222;--neutral-700: #4c4f54;--neutral-400: #84878c;--neutral-200: #d4d4d8;--neutral-100: #eef0f4;--cyan-ink: #00527a;--space-0: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--text-xs: 11px;--text-sm: 12px;--text-body: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--bg: var(--brand-white);--surface: var(--brand-white);--surface-soft: var(--neutral-100);--neutral-soft: var(--neutral-100);--text: var(--brand-ink);--text-secondary: var(--neutral-700);--muted: var(--text-secondary);--ink-heading: var(--brand-navy);--edge: var(--neutral-400);--border: var(--edge);--edge-subtle: var(--neutral-200);--card-border: var(--edge-subtle);--line: var(--neutral-200);--interactive: var(--cyan-ink);--link: var(--interactive);--accent: var(--brand-cyan);--accent-strong: var(--brand-cyan-deep);--focus-ring: var(--brand-cyan-deep);--btn-primary-fill: var(--cyan-ink);--btn-primary-fill-hover: var(--brand-navy);--ok: #1c7c44;--ok-soft: #e1f5e9;--warn: #b54708;--warn-soft: #fdf1e2;--danger: #b42334;--danger-soft: #fdebed;--info: #2a5bd7;--info-soft: #e8eefc;--danger-strong: #a2202f;--attention: var(--danger-strong);--attention-ink: var(--brand-white);--radius-card: 6px;--radius-control: 6px;--radius-pill: 999px;--card-pad: 12px 14px;--input-height: 32px;--field-gap: 8px;--control-target-min: 24px;--lane-min-width: 160px;--lane-min-width-wide: 224px;--header: var(--brand-navy);--stage-idle: #aeaeae;--stage-grey: #787878;--stage-amber: #b47800;--stage-blue: #3860b2;--stage-teal: #008282;--stage-purple: #62007a;--stage-orange: #c85a00;--stage-green: #008c46;--stage-red: #c0341a;--app-operations: #8a2f28;--app-planning: #2f6e46;--app-delivery: #274f77;--app-support: #6b4d84;--app-admin: #5c5346}body.app-operations{--header: #e6332a}body.app-support{--header: #96c11f}body.app-admin{--header: #f39200}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:var(--text-base)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.app-header{display:flex;align-items:center;gap:28px;padding:10px 50px;background:var(--header);color:#fff}.app-header h1{font-size:var(--text-lg);font-weight:700;margin:0;letter-spacing:.2px}.app-nav{display:flex;gap:4px}.app-nav button{background:transparent;border:none;color:#c8cde6;padding:8px 14px;border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-base)}.app-nav button:hover{background:#ffffff1a;color:#fff}.app-nav button[aria-current=page]{background:#ffffff2e;color:#fff;font-weight:600}.app-switcher{margin-left:auto;display:flex;gap:4px;align-items:center}.app-switcher:before{content:"Apps:";color:#8a90b8;font-size:var(--text-sm);margin-right:4px}.app-switcher a{color:#c8cde6;text-decoration:none;padding:8px 12px;border-radius:var(--radius-control);font-size:var(--text-body)}.app-switcher a:hover{background:#ffffff1a;color:#fff}@media (max-width: 640px){.app-header{flex-wrap:wrap;gap:8px 16px;padding:10px 16px}.app-nav,.app-switcher{flex-wrap:wrap}}.app-main{max-width:none;margin:0;padding:24px 50px}.topbar{display:flex;align-items:center;gap:12px;padding:6px 20px;background:var(--surface);border-bottom:2px solid var(--edge-subtle);position:sticky;top:0;z-index:20}.topbar-wordmark{font-weight:700;font-size:var(--text-lg);color:var(--ink-heading);letter-spacing:.2px}.topbar-utilities{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar-utilities .app-bar{display:flex;align-items:center}.topbar-utilities .app-version{color:var(--link);font-size:var(--text-sm)}.app-chip-wrap{position:relative;display:inline-flex}.app-chip{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-pill);padding:4px 14px;background:var(--ink-heading);color:var(--brand-white);font-size:var(--text-body);font-weight:600;letter-spacing:.2px;white-space:nowrap}button.app-chip{cursor:pointer}.app-chip--operations{background:var(--app-operations)}.app-chip--planning{background:var(--app-planning)}.app-chip--delivery{background:var(--app-delivery)}.app-chip--support{background:var(--app-support)}.app-chip--admin{background:var(--app-admin)}.app-chip-caret{font-size:var(--text-xs)}.app-chip-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;display:flex;flex-direction:column;padding:4px;background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius-card);box-shadow:0 4px 12px #1018281f;z-index:30}.app-chip-menu-item{padding:8px 12px;border-radius:var(--radius-control);color:var(--link);font-size:var(--text-base)}.app-chip-menu-item:hover{background:var(--surface-soft)}.fn-tabs{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}.fn-tab{background:transparent;border:none;color:var(--text-secondary);padding:8px 14px;border-radius:var(--radius-control);cursor:pointer;font-size:var(--text-base);white-space:nowrap}.fn-tab:hover{background:var(--surface-soft);color:var(--text)}.fn-tab[aria-current=page]{background:var(--surface-soft);color:var(--text);font-weight:600;box-shadow:inset 0 -3px 0 var(--accent)}.fn-tabs-more{position:relative;display:inline-flex}.fn-tabs-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;display:flex;flex-direction:column;padding:4px;background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius-card);box-shadow:0 4px 12px #1018281f;z-index:30}.fn-tabs-menu-item{text-align:left;background:none;border:none;padding:8px 12px;border-radius:var(--radius-control);color:var(--text);font-size:var(--text-base);cursor:pointer}.fn-tabs-menu-item:hover{background:var(--surface-soft)}.fn-tabs-menu-item[aria-current=page]{font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.overflow-menu{position:relative;display:inline-flex}.overflow-menu-trigger{font-weight:700}.overflow-menu-list{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;display:flex;flex-direction:column;padding:4px;background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius-card);box-shadow:0 4px 12px #1018281f;z-index:30}.overflow-menu-item{text-align:left;background:none;border:none;padding:8px 12px;border-radius:var(--radius-control);color:var(--text);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.overflow-menu-item:hover{background:var(--surface-soft)}.rail{position:sticky;top:48px;align-self:flex-start;flex:0 0 180px;width:180px;max-height:calc(100vh - 48px);overflow-y:auto;padding:var(--space-2) var(--space-1);border-right:1px solid var(--edge-subtle)}.rail-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.rail-item{width:100%;text-align:left;background:none;border:none;padding:8px;border-radius:var(--radius-control);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.rail-item:hover{background:var(--surface-soft);color:var(--text)}.rail-item[aria-current=true]{background:var(--surface-soft);color:var(--text);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.rail-back{display:block;background:none;border:none;margin-bottom:var(--space-2);padding:4px 6px;color:var(--link);text-decoration:underline;font-size:var(--text-sm);text-align:left;cursor:pointer}.pane{flex:1 1 auto;min-width:0;padding:24px 50px}.action-bar{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:var(--space-4);padding:10px 20px;background:var(--surface);border-top:1px solid var(--edge);box-shadow:0 -1px 2px #1018280d;z-index:20}.action-bar-actions{display:flex;align-items:center;gap:var(--space-2)}.action-bar-feedback{color:var(--text-secondary);font-size:var(--text-body)}.shell-body{display:flex;align-items:flex-start;gap:var(--space-4)}.shell-body-content{flex:1 1 auto;min-width:0;padding-bottom:calc(var(--action-bar-height, 0px) + var(--space-4))}@media (max-width: 640px){.topbar{flex-wrap:wrap;gap:8px 12px;padding:6px 12px}.pane{padding:16px}}.profile-shell{display:flex;align-items:flex-start;gap:var(--space-4)}.profile-main{flex:1 1 auto;min-width:0;padding-bottom:calc(var(--action-bar-height, 0px) + var(--space-4))}.rail-heading{margin:0 0 var(--space-2);padding:4px 8px;color:var(--ink-heading);font-size:var(--text-base);font-weight:700}.rail-count{margin-left:var(--space-2);padding:1px 8px;border-radius:999px;background:var(--surface-soft);color:var(--text-secondary);font-size:var(--text-sm)}.rail-item[aria-current=true] .rail-count{background:var(--surface)}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:var(--space-2);padding:0 5px;border-radius:var(--radius-pill);background:var(--attention);color:var(--attention-ink);font-size:var(--text-xs);font-weight:700;line-height:1}.rail-item[aria-current=true] .notification-badge{background:var(--attention)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-ctx-bar{margin-bottom:var(--space-3)}@media (max-width: 900px){.profile-shell{flex-direction:column}.profile-shell .rail{position:static;width:auto;flex:none;max-height:none;border-right:none;border-bottom:1px solid var(--edge-subtle)}}.screen h1{font-size:var(--text-xl);margin:0 0 16px}.screen-header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--control-target-min);margin-bottom:16px}.screen-header select,.screen-header-actions select{min-height:var(--input-height)}.screen-header h1{margin:0}.screen-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--control-target-min);margin-left:auto}.search{padding:4px 12px;height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-control);width:320px;font-size:var(--text-base);background:var(--surface)}.muted{color:var(--muted);font-size:var(--text-body)}.field-hint{color:var(--muted);font-size:var(--text-sm);font-weight:400}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.card-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 980px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.card-grid{grid-template-columns:1fr}}.card-rows,.card-rows .card{min-width:0}.card-rows .card-main{min-width:0;overflow-wrap:anywhere}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:0 1px 2px #1018280d}.card-main{flex:1 1 240px;display:flex;flex-direction:column;gap:2px}.contact-card{flex-direction:column;align-items:stretch;gap:4px}.contact-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.contact-card-name-line{text-align:left}.contact-card-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.contact-priority-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:50%;background:var(--neutral-100);border:1px solid var(--edge);color:var(--ink-heading);font-size:var(--text-xs);font-weight:700}.contact-emergency-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:50%;background:var(--ink-heading);color:#fff;font-size:var(--text-xs);font-weight:700}.contact-card-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:8px 0 0;text-align:left;color:var(--muted);font-size:var(--text-sm)}.contact-card-legend-item{display:inline-flex;align-items:center;gap:6px}.record-link{background:none;border:none;color:var(--link);font-weight:600;cursor:pointer;padding:0;font-size:var(--text-base);text-align:left;text-decoration:underline}.record-link:hover{color:var(--ink-heading)}.card-title-link{font-size:var(--text-base);font-weight:700}.badge-danger{background:var(--danger);color:#fff}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.badge-label{margin-right:.35em;font-size:.85em;font-weight:500}.link-context{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.link-context-card{flex:1 1 240px;min-width:0;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft)}.link-context-card h2{margin:0 0 4px;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.link-context-card p{margin:2px 0;overflow-wrap:anywhere}.guided-progression{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 16px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft)}.guided-actions{display:flex;gap:8px;margin-left:auto}.badge-active,.badge-logged{background:var(--ok-soft);color:var(--ok)}.badge-enquiry,.badge-qualified-enquiry{background:var(--info-soft);color:var(--info)}.badge-awaiting-review,.badge-on-hold{background:var(--warn-soft);color:var(--warn)}.badge-follow-up{background:var(--danger-soft);color:var(--danger)}.badge-exited,.badge-no-further-action,.badge-cold,.badge-dismissed-as-junk{background:var(--neutral-soft);color:var(--muted)}.badge-arrange-visit,.badge-visited,.badge-consultation-requested,.badge-consultation-sent,.badge-subject-to-approval{background:var(--info-soft);color:var(--info)}.badge-commissioned{background:var(--ok-soft);color:var(--ok)}.badge-urgent{background:var(--danger-soft);color:var(--danger)}.badge-high{background:var(--warn-soft);color:var(--warn)}.badge-medium{background:var(--ok-soft);color:var(--ok)}.badge-low,.badge-new{background:var(--info-soft);color:var(--info)}.badge-in-progress{background:var(--warn-soft);color:var(--warn)}.badge-resolved{background:var(--ok-soft);color:var(--ok)}.badge-closed{background:var(--neutral-soft);color:var(--muted)}.badge-eotas{background:var(--info-soft);color:var(--info)}.badge-p16{background:var(--ok-soft);color:var(--ok)}.badge-outlier{background:var(--warn-soft);color:var(--warn)}.card-overdue{border-left:3px solid var(--danger)}.badge-count{background:var(--warn);color:#fff}.pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-control);font-size:var(--text-sm);background:var(--neutral-soft);color:var(--muted)}.profile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad)}.profile h1{margin-top:0}.student-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--border)}.student-photo-placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface-soft);color:var(--text-secondary);font-weight:600;letter-spacing:.5px}.profile-grid{display:grid;grid-template-columns:180px 1fr;row-gap:10px;column-gap:16px;margin:16px 0;max-width:720px}.profile-grid dt{color:var(--muted);font-size:var(--text-body)}.profile-grid dd{margin:0;font-weight:500}.dlv-section{background:var(--neutral-soft);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--card-pad)}.dlv-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.dlv-section-head h2{margin:0;font-size:var(--text-base);color:var(--ink-heading)}.dlv-section-sensitive{border-top:3px solid var(--warn)}.dlv-add{background:none;border:none;color:var(--link);font-weight:600;cursor:pointer;font-size:var(--text-base);padding:2px 4px;text-decoration:underline}.dlv-add:hover{color:var(--ink-heading)}.btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:5px 14px;min-height:var(--input-height);cursor:pointer;font-size:var(--text-base)}.btn:hover{border-color:var(--accent-strong);color:var(--interactive)}.btn:disabled,.btn:disabled:hover{opacity:.45;cursor:not-allowed;background:var(--surface);border-color:var(--border);color:var(--text)}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--accent);border-color:var(--accent);color:#fff}.entry-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);max-width:720px}.entry-form h1{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--field-gap) 16px;margin:12px 0}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-body);color:var(--muted);font-weight:600;min-width:0}.form-grid>label:first-child{grid-column:1 / -1}.form-grid label.field-wide{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--text-base);font-family:inherit;color:var(--text);background:var(--surface)}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select{height:var(--input-height)}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{width:100%;min-width:0}.form-grid textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.form-actions-split{justify-content:space-between}.ehcp-statement{margin:0 0 14px}.ehcp-statement-row{display:flex;align-items:stretch;gap:8px}.ehcp-statement-field{flex:1 1 auto;min-height:64px}.ehcp-statement-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--input-height);height:var(--input-height);padding:0;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text);cursor:pointer}.icon-btn:hover{border-color:var(--accent-strong)}.icon-btn--save.is-saved{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.icon-btn--save.is-saved:hover{border-color:var(--ok)}.icon-btn--save.is-unsaved{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.icon-btn--delete{color:var(--danger)}.icon-btn--delete:hover{border-color:var(--danger);background:var(--danger-soft)}.icon-btn--add{color:var(--interactive)}.icon-btn--add:hover{border-color:var(--accent-strong);background:var(--info-soft)}.icon-btn--edit{color:var(--interactive)}.icon-btn--edit:hover{border-color:var(--accent-strong);background:var(--info-soft)}.icon-btn--cancel{color:var(--muted)}.icon-btn--cancel:hover{border-color:var(--muted);background:var(--neutral-soft)}.icon-btn--deactivate{color:var(--warn)}.icon-btn--deactivate:hover{border-color:var(--warn);background:var(--warn-soft)}.section-head{display:flex;align-items:center;gap:10px}.section-head h2{margin:0}.section-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:2px;background:none;border:none;color:var(--muted);cursor:pointer}.section-toggle .chevron{transition:transform .15s ease}.section-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.ref-rows{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}.ref-row{display:flex;align-items:center;gap:10px;padding:3px 0;min-height:32px}.ref-row-label{flex:1 1 auto}.ref-row--editing{flex-wrap:wrap;align-items:flex-start;padding:6px 0}.card:has(>.card-header){flex-direction:column;align-items:stretch;padding:0;overflow:hidden}.card-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.card-header:hover{background:var(--neutral-soft)}.card-header .chevron{flex:0 0 auto;color:var(--muted);transition:transform .15s ease}.card-header[aria-expanded=true] .chevron{transform:rotate(90deg)}.card-title{flex:1 1 auto;font-weight:600}.badge--active{background:var(--ok-soft);color:var(--ok)}.badge--inactive{background:var(--neutral-soft);color:var(--muted)}.card-body{display:flex;flex-direction:column;gap:10px;padding:4px 16px 14px;border-top:1px solid var(--border)}.card-fields{width:100%;border-collapse:collapse}.card-fields th{text-align:left;font-size:var(--text-body);font-weight:600;color:var(--muted);padding:4px 12px 4px 0;vertical-align:top;white-space:nowrap}.card-fields td{padding:4px 0;vertical-align:top}.card-fields caption{text-align:left;font-weight:700;padding-bottom:4px}.merge-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.merge-candidate{display:flex;flex-direction:column;gap:8px}@media (max-width: 640px){.merge-comparison{grid-template-columns:1fr}}.app-main input:not([type=checkbox]):not([type=radio]),.app-main select,.app-main textarea,.pane input:not([type=checkbox]):not([type=radio]),.pane select,.pane textarea{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--text-base);font-family:inherit;color:var(--text);background:var(--surface)}.app-main input:not([type=checkbox]):not([type=radio]):not([type=file]),.app-main select,.pane input:not([type=checkbox]):not([type=radio]):not([type=file]),.pane select{height:var(--input-height)}.app-main textarea,.pane textarea{display:block;width:100%;min-height:80px;resize:vertical}.app-main label:has(>input:not([type=checkbox]):not([type=radio])),.app-main label:has(>select),.app-main label:has(>textarea),.pane label:has(>input:not([type=checkbox]):not([type=radio])),.pane label:has(>select),.pane label:has(>textarea){display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:var(--text-body);color:var(--muted);font-weight:600;margin:6px 0}.form-grid label{margin:0}.form-grid label:has(>textarea){grid-column:1 / -1}.form-grid label:has(>input[type=checkbox]),.form-grid label:has(>input[type=radio]){flex-direction:row;align-items:center;gap:8px;font-weight:400;color:var(--text)}.form-grid label:has(>input[type=checkbox]){width:max-content}input[type=checkbox],input[type=radio]{width:var(--control-target-min);height:var(--control-target-min);flex:0 0 auto;margin:0;padding:0}.form-grid textarea,.app-main textarea,.pane textarea{field-sizing:content;max-height:45vh}.form-section{margin:16px 0;padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.form-grid>.form-section{grid-column:1 / -1;margin:0}.form-section legend{font-size:var(--text-body);color:var(--muted);font-weight:600;padding:0 4px}.form-section h3{font-size:var(--text-base);margin:4px 0 2px}.form-section>label:has(input[type=checkbox]),.form-section>label:has(input[type=radio]){display:flex;flex-direction:row;align-items:center;gap:8px;font-size:var(--text-base);font-weight:400;color:var(--text);margin:4px 0}.checkbox-group-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:2px 16px;margin-bottom:4px}.checkbox-group>label{margin-top:8px}.text-field{display:flex;flex-direction:column;gap:6px;margin:6px 0}.text-field>label{font-size:var(--text-body);color:var(--muted);font-weight:600}.text-field-control{width:100%;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--text-base);font-family:inherit;color:var(--text);background:var(--surface)}input.text-field-control:not([type=checkbox]):not([type=radio]){height:var(--input-height)}textarea.text-field-control{min-height:80px;max-height:45vh;resize:vertical;field-sizing:content}.text-field-hint{font-size:.85rem;color:var(--muted);margin:0}.multi-picker{flex-basis:100%;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);text-align:left}.multi-picker legend{font-size:var(--text-sm);color:var(--muted);padding:0 4px}.multi-picker label{display:flex;align-items:center;gap:8px;font-size:var(--text-body);padding:2px 0;text-align:left}.picker-assigned{list-style:none;margin:0 0 8px;padding:0}.picker-assigned li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-body);padding:2px 0}.card-actions{display:flex;gap:6px;flex-basis:100%}.btn-small{padding:4px 10px;min-height:24px;font-size:var(--text-sm)}.btn-primary{background:var(--btn-primary-fill);border-color:var(--btn-primary-fill);color:#fff}.btn-primary:hover{background:var(--btn-primary-fill-hover);border-color:var(--btn-primary-fill-hover);color:#fff}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.confirm-delete{display:flex;gap:8px;margin-top:8px}.profile-actions{display:flex;gap:8px;margin:8px 0}.record-360{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad);max-width:640px;margin-top:16px}.record-360 h2{margin:16px 0 8px;font-size:var(--text-lg)}.record-360 h2:first-child{margin-top:0}.record-360 h3{margin:12px 0 4px;font-size:var(--text-body);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.record-360 .card{flex-direction:column;align-items:flex-start;gap:2px}.record-360-pipeline p{margin:8px 0 0}.profile-shell .record-360{max-width:none}.contact-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 980px){.contact-detail{grid-template-columns:1fr}}.contact-view{display:flex;flex-direction:column;gap:var(--space-3)}.contact-profile-head{display:flex;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap}.contact-profile-identity{flex:1 1 auto;min-width:0}.contact-profile-identity h1{margin:0}.contact-profile-identity p{margin:2px 0 0}.contact-profile-student{margin:var(--space-2) 0 0}.contact-view .record-360{max-width:none}.archive-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-body);color:var(--muted)}.sort-toolbar{margin-bottom:var(--space-2)}.sort-toolbar [role=row]{display:flex;flex-wrap:wrap;gap:8px}.sort-toolbar .sort-btn{padding:4px 10px;min-height:auto;font-size:var(--text-sm)}.sort-toolbar [aria-sort=ascending] .sort-btn,.sort-toolbar [aria-sort=descending] .sort-btn{border-color:var(--accent-strong);color:var(--interactive)}.pipeline-board{display:flex;gap:12px;align-items:stretch;min-height:calc(100vh - 240px);overflow-x:auto;overflow-y:hidden;width:100%;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--accent) var(--neutral-soft)}.pipeline-board::-webkit-scrollbar{height:10px}.pipeline-board::-webkit-scrollbar-track{background:var(--neutral-soft);border-radius:6px}.pipeline-board::-webkit-scrollbar-thumb{background:var(--accent);border-radius:6px}.pipeline-board>.lane{background:var(--neutral-soft);border-radius:var(--radius-card);flex:0 0 var(--lane-min-width);width:var(--lane-min-width);scroll-snap-align:start;display:flex;flex-direction:column;transition:outline-color .12s ease;outline:2px solid transparent}.pipeline-board>.lane.lane-drop{outline-color:var(--accent);background:var(--info-soft)}.lane-header{font-size:var(--text-base);font-weight:700;color:#fff;margin:0;padding:11px 12px;border-radius:var(--radius-card) var(--radius-card) 0 0;letter-spacing:.2px}.lane-body{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:44px;flex:1 1 auto;overflow-y:auto}.lane-empty{margin:4px;font-size:var(--text-sm)}.pipeline-board ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lane-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-card);padding:10px 12px;box-shadow:0 1px 2px #1018280d;display:flex;flex-direction:column;gap:2px;cursor:grab}.lane-card:active{cursor:grabbing}.lane-card-urgent{background:var(--danger-soft)}.lane-card-meta{font-size:var(--text-sm);min-width:0;overflow-wrap:anywhere}.support-board>.lane{flex:0 0 var(--lane-min-width-wide);width:var(--lane-min-width-wide)}.lane-priority-summary{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px 0}.priority-chip{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:var(--text-xs);font-weight:700;line-height:1}.priority-glyph{margin-right:3px;font-size:10px}.ticket-detail-head{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.comment-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px}.comment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 12px}.comment-meta{font-size:var(--text-sm);margin-bottom:2px}.comment-body{white-space:pre-wrap}.attachment-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px}.attachment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 12px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.attachment-name{font-weight:600;word-break:break-all}.attachment-meta{font-size:var(--text-sm);white-space:nowrap}.comment-input{width:100%;box-sizing:border-box;min-height:72px;resize:vertical;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--text-base);font-family:inherit;color:var(--text);background:var(--surface)}.area-access{width:100%;border-collapse:collapse;margin:10px 0 4px}.area-access th{text-align:left;font-size:var(--text-xs);font-weight:700;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.area-access td{padding:4px 6px;vertical-align:top}.area-access select{width:100%;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-control);font-size:var(--text-body);background:var(--surface);color:var(--text)}.calendar-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:16px;background:var(--surface)}.calendar-table caption{caption-side:top;text-align:left;font-size:var(--text-lg);font-weight:700;margin-bottom:8px}.calendar-table th{text-align:left;font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border:1px solid var(--border);background:var(--surface-soft)}.calendar-day{vertical-align:top;border:1px solid var(--border);padding:6px 8px;min-height:96px;height:96px}.calendar-day-outside{background:var(--surface-soft)}.calendar-day-outside .calendar-day-number{color:var(--muted)}.calendar-day-today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-today .calendar-day-number{color:var(--interactive);font-weight:700}.calendar-day-number{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:4px}.calendar-item{display:block;width:100%;box-sizing:border-box;text-align:left;font-size:var(--text-sm);border:none;border-radius:var(--radius-control);padding:2px 6px;margin-top:2px;background:var(--info-soft);color:var(--info);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-item-visit{cursor:pointer;background:var(--ok-soft);color:var(--ok);font-weight:600}.calendar-item-visit:hover{text-decoration:underline}.calendar-kind-holiday,.calendar-kind-half-term{background:var(--warn-soft);color:var(--warn)}.calendar-kind-reporting-window,.calendar-kind-review-date{background:var(--danger-soft);color:var(--danger)}.calendar-item-time{font-weight:700;margin-right:6px}.calendar-agenda-date{font-weight:700}.calendar-agenda-items{display:flex;flex-direction:column;gap:2px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.enrolment-table{width:100%;border-collapse:collapse;margin:10px 0 4px}.enrolment-table th{text-align:left;font-size:var(--text-sm);color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--line)}.enrolment-table td{padding:6px;vertical-align:top}.enrolment-year{font-weight:700}.enrolment-source{font-size:var(--text-body)}.enrolment-actions{display:flex;gap:8px}.enrolment-history{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.enrolment-history h3{font-size:var(--text-body);margin:0 0 4px;color:var(--muted)}.enrolment-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-width:480px}.enrolment-form-actions{display:flex;gap:8px}.off-roll-confirm{display:flex;flex-direction:column;gap:8px;margin-top:8px}.warning{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-card);padding:8px 10px;font-size:var(--text-body)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;min-height:48px;justify-content:center;padding:10px 20px;margin-top:10px;border:2px dashed var(--border);border-radius:var(--radius-card);background:var(--surface-soft);text-align:center;transition:border-color .15s ease,background .15s ease}.dropzone--active{border-color:var(--accent);background:var(--info-soft)}.dropzone p{margin:0!important}.dropzone label{margin:0!important;gap:2px!important}.dropzone input[type=file]{padding:3px 8px!important}.dropzone-metadata-notice{color:var(--warn-text, var(--muted));font-size:.85rem;max-width:52ch}.build-ehcp-area{margin-top:12px}.build-ehcp-combobox ul[role=listbox]{list-style:none;margin:4px 0 0;padding:4px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);max-height:220px;overflow-y:auto}.build-ehcp-combobox li[role=option]{display:flex;align-items:center;min-height:var(--control-target-min);width:100%;text-align:left;padding:5px 8px;border-radius:var(--radius-control);cursor:pointer;color:var(--text)}.build-ehcp-combobox li[role=option]:hover,.build-ehcp-combobox li[role=option]:focus{background:var(--info-soft)}.build-ehcp-added{display:flex;gap:8px;align-items:flex-start;margin-top:8px}.build-ehcp-added>span{min-width:220px}.build-ehcp-added>.text-field{flex:1}.build-ehcp-added .text-field{margin:0}.collapsible-section{border:1px solid var(--edge-subtle);border-radius:var(--radius-card);background:var(--surface);margin-bottom:var(--space-3)}.collapsible-section-summary{margin:0;font-size:var(--text-base)}.collapsible-section-bare{border:none}.collapsible-section-bare>.collapsible-section-summary{color:var(--ink-heading);padding:var(--space-2) 0}.collapsible-section-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;font:inherit;font-size:var(--text-base);font-weight:600;color:var(--ink-heading);cursor:pointer;text-align:left}.collapsible-section-toggle .chevron{flex:0 0 auto;color:var(--muted);transition:transform .15s ease}.collapsible-section-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.collapsible-section-title{flex:1 1 auto}.collapsible-section-affix{flex:0 0 auto;font-weight:400;font-size:var(--text-sm);color:var(--text-secondary);background:var(--neutral-soft);border-radius:var(--radius-pill);padding:var(--space-0) var(--space-2)}.collapsible-section-body{padding:var(--space-1) var(--space-3) var(--space-3)}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);text-align:center;border-radius:var(--radius-card)}.empty-state{color:var(--text-secondary);background:var(--neutral-soft)}.error-state{color:var(--danger);background:var(--danger-soft)}.empty-state-title,.error-state-title{margin:0;font-weight:600;font-size:var(--text-base)}.error-state-title{color:var(--danger)}.empty-state-detail,.error-state-detail{margin:0;font-size:var(--text-body)}.error-state-detail{color:var(--text)}.empty-state .btn,.error-state .btn{margin-top:var(--space-2)}.calendar-empty-cell{padding:var(--space-4)}.lane-scroll{position:relative}.lane-scroll:before,.lane-scroll:after{content:"";position:absolute;top:0;bottom:0;width:var(--space-6);pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:1}.lane-scroll:before{left:0;background:linear-gradient(to right,var(--surface),transparent)}.lane-scroll:after{right:0;background:linear-gradient(to left,var(--surface),transparent)}.lane-scroll-clip-left:before{opacity:1}.lane-scroll-clip-right:after{opacity:1}.lane-scroll-cue{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary);text-align:right}.badge-signed,.badge-draft,.badge-planned{background:var(--neutral-soft);color:var(--text-secondary)}.badge-counter-signed{background:var(--ok-soft);color:var(--ok)}.badge-archived,.badge-ended,.badge-withdrawn{background:var(--neutral-soft);color:var(--muted)}.ipa-section-header{margin-top:var(--space-4)}.ipa-table td{vertical-align:top}.ipa-lock-note{font-size:var(--text-sm)}.app-dialog{border:1px solid var(--border);border-radius:var(--radius-card);padding:0;max-width:620px;width:92%;max-height:calc(100dvh - 48px)}.app-dialog::backdrop{background:#1d233373}.app-dialog-surface{display:flex;flex-direction:column;max-height:calc(100dvh - 50px)}.app-dialog-head{flex:none;background:var(--navy, #232a52);color:#fff;padding:12px 16px;font-weight:600}.app-dialog-body{padding:16px;overflow-y:auto;min-height:0}.app-dialog-body form>*+*{margin-top:var(--space-3)}.ipa-dialog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.ipa-dialog-grid label{display:block;font-size:var(--text-sm);color:var(--text-secondary)}.ipa-dialog-grid input:not([type=checkbox]):not([type=radio]),.ipa-dialog-grid select{width:100%;padding:8px;border:1px solid var(--border);border-radius:var(--radius-control, 6px);font:inherit}.ipa-per-day-table input{padding:6px;border:1px solid var(--border);border-radius:var(--radius-control, 6px);font:inherit}.ipa-per-day-table input[type=number]{width:70px}.ipa-per-day-table input[type=text]{width:140px}.toast{display:flex;align-items:baseline;gap:8px;border-radius:var(--radius-card);padding:8px 12px;margin:var(--space-2) 0;font-size:var(--text-sm)}.toast-success{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok)}.toast-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.toast-info{background:var(--info-soft);color:var(--info);border:1px solid var(--info)}.toast-message{flex:1}.toast-dismiss{background:none;border:0;cursor:pointer;font:inherit;font-weight:700;color:inherit}.document-drop{border:2px dashed var(--border);border-radius:var(--radius-card);padding:14px;margin-top:var(--space-3);text-align:center;color:var(--text-secondary)}.document-drop label{display:block;margin-top:var(--space-2)}.document-attached{margin-top:var(--space-3)}.po-section-header{margin-top:var(--space-4)}.po-table td{vertical-align:top}.po-lock-note{font-size:var(--text-sm)}tr.ended td{color:var(--text-secondary)}.triage-group{border:1px solid var(--line, #e3e6ef);border-radius:10px;background:#fff;margin-bottom:12px}.triage-group>summary{list-style:none;cursor:pointer;padding:11px 14px;font-weight:600;color:var(--navy, #232a52);background:#fbfcfe;display:flex;align-items:center;gap:10px;border-radius:9px}.triage-group[open]>summary{border-radius:9px 9px 0 0}.triage-group>summary::-webkit-details-marker{display:none}.triage-group>summary:before{content:"▸";color:var(--muted, #6b7280);font-weight:400}.triage-group[open]>summary:before{content:"▾"}.triage-group[open]>summary{background:#eef6fd}.pill.suggestion{cursor:help}.pill.suggestion-priority{background:#fff4d6;color:#8a6d00;border-color:#f0d469}.pill.suggestion-junk{background:#f6f2f2;color:#8a2f2f;border-color:#e6d2d2}.pill.suggestion-possible-new-student{background:#eef6ec;color:#155e38;border-color:#bfe0c4}.comm-preview{border:1px solid var(--line, #e3e6ef);border-radius:10px;background:#fff;padding:14px;margin-bottom:12px}.comm-preview h3{margin:0 0 6px;font-size:15px;color:var(--navy, #232a52)}.comm-preview-body{margin:0 0 10px;font-size:13.5px;white-space:pre-wrap;max-height:260px;overflow:auto}.cohort-grid td select:not(.stage-picker),.cohort-grid td input:not([type=checkbox]):not([type=radio]){font-size:var(--text-sm);padding:3px 5px;height:auto;max-width:100%}.cohort-grid .grid-notes{width:340px;max-width:100%}.cohort-grid .head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.cohort-grid .head h2{margin:0;font-size:var(--text-lg);color:var(--ink-heading)}.cohort-grid .head .spacer{margin-left:auto}.cohort-grid .legend{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-body);color:var(--text-secondary);margin-bottom:var(--space-2)}.cohort-grid .legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.cohort-grid .sw{width:13px;height:13px;border-radius:3px;border:1px solid var(--edge);background:var(--surface);display:inline-block;flex:0 0 auto}.cohort-grid .t-edit-any{background:var(--info-soft)}.cohort-grid .t-edit-gated{background:var(--surface-soft)}.cohort-grid .gridwrap{overflow-x:auto}.cohort-grid table{width:100%;border-collapse:collapse;font-size:var(--text-body)}.cohort-grid th{text-align:left;font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--edge-subtle);padding:7px 9px;white-space:nowrap}.cohort-grid th .btn{all:unset;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.cohort-grid th .btn:hover{text-decoration:underline}.cohort-grid th .btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.cohort-grid td{border-bottom:1px solid var(--edge-subtle);padding:7px 9px;vertical-align:middle;white-space:nowrap}.cohort-grid tr:last-child td{border-bottom:0}.cohort-grid .stage-badge{display:inline-flex;align-items:center;padding:0}.cohort-grid .stage-picker{background:transparent;border:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:2px 10px;height:auto;font:inherit;font-size:var(--text-sm);font-weight:600;color:inherit}.badge-not-commissioned{background:var(--danger-soft);color:var(--danger-strong)}.badge-count{background:var(--neutral-soft);color:var(--text-secondary);font-weight:500}.risk-assessment{margin-bottom:var(--space-6)}.risk-assessment h2{margin:0 0 var(--space-1);font-size:var(--text-lg);color:var(--ink-heading)}.risk-assessment h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-top:1px solid var(--edge-subtle);padding-top:var(--space-2)}.risk-lede{margin:0 0 var(--space-3);font-size:var(--text-body);color:var(--text-secondary)}.risk-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}@media (max-width: 900px){.risk-tiles{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.risk-tiles{grid-template-columns:1fr}}.risk-tile{background:var(--info-soft);border:1px solid var(--edge-subtle);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);font-size:var(--text-body)}.risk-tile.derived{background:var(--surface-soft)}.risk-tile b{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--cyan-ink);margin-bottom:var(--space-1)}.risk-tile ul{margin:0;padding-left:var(--space-4)}.risk-tile li{margin-bottom:2px}.risk-tile p{margin:0}.risk-empty{color:var(--text-secondary);font-style:italic}.risk-src{font-style:normal;color:var(--text-secondary);font-size:var(--text-sm)}.risk-add{margin-top:var(--space-1);background:none;border:1px dashed var(--link);color:var(--link);border-radius:var(--radius-control);font:inherit;font-size:var(--text-sm);padding:1px var(--space-2);cursor:pointer}.risk-add.out{border-style:solid;border-color:var(--edge);color:var(--text-secondary)}.risk-rows{width:100%;border-collapse:collapse;font-size:var(--text-body)}.risk-rows th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:2px solid var(--edge-subtle);padding:5px 7px;white-space:nowrap}.risk-rows td{border-bottom:1px solid var(--edge-subtle);padding:5px 7px;vertical-align:middle}.risk-rows tr:last-child td{border-bottom:0}.risk-rows input:not([type=checkbox]):not([type=radio]){width:100%}.risk-rows select,.risk-rows input:not([type=checkbox]):not([type=radio]){font-size:var(--text-sm);padding:3px 5px;height:auto}.rag{display:inline-block;border-radius:var(--radius-pill);padding:1px var(--space-2);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.rag-red{background:var(--danger-soft);color:var(--danger-strong)}.rag-amber{background:var(--warn-soft);color:var(--warn)}.rag-low{background:var(--ok-soft);color:var(--ok)}.rag-unrated{background:var(--neutral-soft);color:var(--text-secondary);font-weight:500}.risk-plan{border:1px solid var(--edge);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);margin-top:var(--space-2)}.risk-plan-red{border-color:var(--danger);background:var(--danger-soft)}.risk-plan-amber{border-color:var(--warn);background:var(--warn-soft)}.risk-plan h4{margin:0 0 var(--space-1);font-size:var(--text-body)}.risk-plan p{margin:0 0 var(--space-1)}.risk-foot{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}@media (max-width: 700px){.risk-foot{grid-template-columns:1fr}}.risk-foot-box{border:1px solid var(--edge-subtle);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);font-size:var(--text-body)}.risk-foot-box b{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:var(--space-1)}.risk-foot-box p{margin:0 0 var(--space-1)}.risk-ack{color:var(--ok);font-weight:600}.risk-overdue{color:var(--danger-strong);font-weight:600}.risk-plan-line{display:grid;grid-template-columns:108px 1fr;gap:var(--space-2);align-items:start}.risk-plan-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding-top:3px}.risk-plan input:not([type=checkbox]):not([type=radio]){width:100%}.risk-load-error{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger-strong);border-radius:var(--radius-card);padding:var(--space-2) var(--space-3);font-size:var(--text-body)}.delivery-hub{padding:4px 0 24px}.dlv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.dlv-back{background:none;border:none;color:var(--link);font-weight:600;cursor:pointer;padding:6px 0;font-size:var(--text-base);text-decoration:underline}.dlv-back:hover{color:var(--ink-heading)}.dlv-grid{display:grid;grid-template-columns:72px 220px minmax(0,1fr) 300px;gap:20px;align-items:start;margin-top:8px}@media (max-width: 1280px){.dlv-grid{grid-template-columns:72px 200px minmax(0,1fr)}.dlv-summary{grid-column:1 / -1}}@media (max-width: 880px){.dlv-grid{grid-template-columns:1fr}.dlv-rail{flex-direction:row;flex-wrap:wrap;position:static}}.dlv-rail{display:flex;flex-direction:column;gap:4px;position:sticky;top:16px;background:var(--neutral-soft);border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 4px}.dlv-rail-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;border-radius:var(--radius-control);cursor:pointer;padding:8px 4px;color:var(--ink-heading);font-size:10px;width:100%}.dlv-rail-item:hover:not(:disabled){background:var(--info-soft)}.dlv-rail-item:disabled{color:var(--muted);cursor:default}.dlv-rail-glyph{font-size:18px;line-height:1}.dlv-rail-label{text-transform:uppercase;letter-spacing:.03em}.dlv-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:16px}.dlv-nav-item{text-align:left;background:none;border:none;border-left:3px solid transparent;padding:9px 14px;border-radius:0 var(--radius-control) var(--radius-control) 0;cursor:pointer;color:var(--text);font-size:var(--text-base)}.dlv-nav-item:hover{background:var(--neutral-soft)}.dlv-nav-item[aria-current=page]{background:var(--info-soft);border-left-color:var(--accent);font-weight:700;color:var(--ink-heading)}.dlv-body{display:flex;flex-direction:column;gap:16px}.dlv-header{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad)}.dlv-avatar{width:56px;height:56px;border-radius:50%;background:var(--info-soft);color:var(--ink-heading);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex:none}.dlv-header-main{flex:1 1 auto}.dlv-header-main h1{margin:0;font-size:var(--text-xl);color:var(--ink-heading)}.dlv-status-chip{align-self:flex-start;flex:none;background:var(--info-soft);color:var(--ink-heading);border-radius:var(--radius-pill);padding:4px 12px;font-size:var(--text-body);font-weight:600;white-space:nowrap}.dlv-hold-note{flex-basis:100%;margin:4px 0 0;font-size:var(--text-body);font-weight:600;color:var(--danger)}.hold-form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end}.hold-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-body);font-weight:600}.dlv-legal{margin:2px 0 0;font-weight:500}.dlv-header-meta{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px}.dlv-header-meta-row{display:flex;gap:6px;align-items:baseline}.dlv-header-meta-row dt{color:var(--muted);font-size:var(--text-body)}.dlv-header-meta-row dd{margin:0;font-weight:500;font-size:var(--text-body)}.dlv-badges{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.dlv-badge{background:var(--info-soft);color:var(--ink-heading);border-radius:var(--radius-pill);padding:3px 10px;font-size:var(--text-sm);font-weight:600}.dlv-badge-alert{background:var(--danger-soft);color:var(--danger)}.dlv-absences-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.dlv-absence-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dlv-absences-officer{margin:0 0 6px}.dlv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.dlv-stat{display:flex;flex-direction:column;gap:2px;background:var(--neutral-soft);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad)}.dlv-stat-value{font-size:22px;font-weight:700;color:var(--ink-heading)}.dlv-stat-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.dlv-stat-green{border-left:4px solid var(--ok)}.dlv-stat-amber{border-left:4px solid var(--warn)}.dlv-stat-red{border-left:4px solid var(--danger)}.dlv-stat-green .dlv-stat-value{color:var(--ok)}.dlv-stat-amber .dlv-stat-value{color:var(--warn)}.dlv-stat-red .dlv-stat-value{color:var(--danger)}.dlv-widget-figure{margin:0;font-size:22px;font-weight:700;color:var(--ok)}.dlv-identity{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dlv-identity-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.dlv-pii-note{margin:0 0 10px;font-size:var(--text-sm);color:var(--warn)}.dlv-fields{margin:0;display:flex;flex-direction:column;gap:8px}.dlv-field{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding-bottom:6px}.dlv-field dt{color:var(--muted);font-size:var(--text-body)}.dlv-field dd{margin:0;font-weight:500;text-align:right}.dlv-onboarding{display:flex;flex-direction:column;gap:14px}.dlv-readiness{margin:0;padding:10px 14px;border-radius:var(--radius-card);font-weight:700;font-size:var(--text-base)}.dlv-readiness-ready{background:var(--ok-soft);color:var(--ok)}.dlv-readiness-blocked{background:var(--warn-soft);color:var(--warn)}.dlv-onboarding-group h3{margin:0 0 6px;font-size:var(--text-base)}.dlv-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dlv-checklist-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.dlv-tick-done{color:var(--ok);font-weight:700}.dlv-tick-todo{color:var(--muted)}.dlv-checklist-title{flex:1 1 auto}.dlv-flag{border-radius:var(--radius-pill);padding:2px 8px;font-size:var(--text-xs);font-weight:700}.dlv-flag-critical{background:var(--danger-soft);color:var(--danger)}.dlv-flag-overdue{background:var(--warn-soft);color:var(--warn)}.dlv-mark-done{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-control);padding:4px 12px;font-size:var(--text-body);font-weight:600;cursor:pointer}.dlv-mark-done:hover{background:var(--accent-strong)}.dlv-reopen{background:none;border:none;color:var(--warn);font-weight:600;cursor:pointer;font-size:var(--text-body)}.dlv-reopen:hover{text-decoration:underline}.dlv-note-input{border:1px solid var(--border);border-radius:var(--radius-control);padding:4px 8px;font-size:var(--text-body)}.dlv-family{display:flex;flex-direction:column;gap:16px}.dlv-family-actions{display:flex;justify-content:flex-end}.dlv-family-designation h3{margin:0 0 6px;font-size:var(--text-base);color:var(--ink-heading)}.dlv-family-flags{display:flex;flex-direction:column;gap:4px;font-size:var(--text-body)}.dlv-summary{display:flex;flex-direction:column;gap:16px}.dlv-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad)}.dlv-widget h2{margin:0 0 6px;font-size:var(--text-body);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dlv-widget-emergency{border-top:3px solid var(--danger);background:var(--danger-soft)}.dlv-widget-emergency h2{color:var(--danger)}.dlv-timetable-panel{display:flex;flex-direction:column;gap:18px}.dlv-timetable{width:100%;border-collapse:collapse}.dlv-timetable th,.dlv-timetable td{border:1px solid var(--border);padding:8px;vertical-align:top;text-align:left;font-size:var(--text-body)}.dlv-timetable thead th{background:var(--surface);color:var(--ink-heading)}.dlv-timetable tbody th{background:var(--surface);color:var(--ink-heading);width:48px}.dlv-tt-cell{display:flex;flex-direction:column;gap:2px;padding:4px 0}.dlv-tt-drafts{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dlv-tt-draft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 12px}.dlv-tt-draft-when{font-weight:600}.dlv-tt-draft label{display:flex;flex-direction:column;font-size:var(--text-sm);color:var(--muted);gap:2px}.dlv-tt-published{color:var(--ok);font-weight:600}.dlv-tt-draft [role=alert]{color:var(--danger);font-size:var(--text-body)}.dlv-mark-session{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--muted);margin-bottom:10px;max-width:240px}.dlv-mark-sheet{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dlv-mark-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;border:1px solid var(--border);border-radius:var(--radius-card);padding:8px 12px}.dlv-avatar-small{width:32px;height:32px;font-size:var(--text-body)}.dlv-mark-name{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--link);cursor:pointer;text-decoration:underline;flex:1 1 auto;text-align:left}.dlv-mark-buttons{display:flex;gap:6px}.dlv-mark-btn{border:1px solid var(--border);background:var(--surface)}.dlv-mark-btn.mark-present{background:var(--ok);border-color:var(--ok);color:#fff}.dlv-mark-btn.mark-late{background:var(--warn);border-color:var(--warn);color:#fff}.dlv-mark-btn.mark-absent{background:var(--danger);border-color:var(--danger);color:#fff}.dlv-mark-btn.mark-cancelled{background:var(--muted);border-color:var(--muted);color:#fff}.dlv-mark-code{font-size:var(--text-body)}.dlv-register-scope{display:flex;align-items:center;gap:8px;font-size:var(--text-body);color:var(--muted);margin-bottom:12px}.dlv-timetable-tab{display:flex;flex-direction:column;gap:16px}.dlv-register-date-picker{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:var(--text-body)}.dlv-register-incomplete{align-self:flex-start;font-size:var(--text-sm);font-weight:600;color:var(--warn);border:1px solid var(--warn);border-radius:var(--radius-pill);padding:2px 8px;background:color-mix(in srgb,var(--warn) 12%,transparent)}.dlv-class-card{padding:0}.dlv-class-open{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:none;border:none;padding:14px 16px;font:inherit;cursor:pointer}.dlv-class-open:hover{background:var(--neutral-soft)}.dlv-class-title{font-weight:600;color:var(--link);text-decoration:underline}.dlv-register-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.dlv-register-lock{border:1px solid var(--warn);border-radius:var(--radius-card);padding:8px 12px;margin:0 0 12px;background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}.dlv-register-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dlv-planned-badge{font-size:var(--text-sm);font-weight:600;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-pill);padding:2px 8px;background:color-mix(in srgb,var(--danger) 10%,transparent)}.dlv-mark-note{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--muted);flex:1 1 160px}.dlv-mark-followup{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted)}.dlv-mark-arrival{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--muted)}.dlv-late-code{font-size:var(--text-sm);color:var(--muted);align-self:center}.dlv-register-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.dlv-register-submitted{margin:0;font-weight:600;color:var(--ok)}.dlv-grid-profile{grid-template-columns:220px minmax(0,1fr)}@media (max-width: 880px){.dlv-grid-profile{grid-template-columns:1fr}}.dlv-initials{margin:2px 0 0;font-size:var(--text-body);font-weight:600;letter-spacing:.04em;color:var(--muted)}.dlv-profile-top{display:flex;flex-direction:column;gap:16px;align-items:stretch;margin-top:8px}.dlv-topnav{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);padding-bottom:6px}.dlv-topnav-item{background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;padding:8px 14px;border-radius:var(--radius-control) var(--radius-control) 0 0;color:var(--text);font-size:var(--text-base);white-space:nowrap}.dlv-topnav-item:hover{background:var(--neutral-soft)}.dlv-topnav-item[aria-current=page]{background:var(--info-soft);border-bottom-color:var(--accent);font-weight:700;color:var(--ink-heading)}.dlv-pinned-alert{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-card);padding:8px 12px;margin:0 0 12px;display:flex;flex-direction:column;gap:var(--space-1)}.dlv-profile-top .badge-danger{background:var(--danger);color:#fff}.dlv-pinned-notes{display:flex;flex-direction:column;gap:var(--space-1);margin:0 0 12px}.dlv-pinned-notes .expandable-item{border:1px solid var(--edge-subtle);border-radius:var(--radius-card);background:var(--neutral-soft)}.expandable-item-toggle{display:flex;align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);margin:0;background:none;border:none;border-radius:var(--radius-card);font:inherit;color:inherit;text-align:left;cursor:pointer}.expandable-item-toggle:hover{background:var(--neutral-soft)}.expandable-item-toggle .chevron{flex:0 0 auto;margin-top:2px;color:var(--muted);transition:transform .15s ease}.expandable-item-toggle[aria-expanded=true] .chevron{transform:rotate(90deg)}.expandable-item-summary{flex:1 1 auto}.expandable-item-detail{padding:0 var(--space-2) var(--space-2) calc(var(--space-2) + 18px + var(--space-2));color:var(--text-secondary)}.contact-card-notes{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.contact-card-notes .expandable-item{border:1px solid var(--edge-subtle);border-radius:var(--radius-card);background:var(--neutral-soft)}.contact-channel-actions{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.dlv-worklist-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;margin-bottom:var(--space-2)}.dlv-worklist-unreportable{border:1px solid var(--warn);border-radius:var(--radius-card);padding:8px 12px;margin:0 0 12px;background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}.dlv-returned{color:var(--danger);font-weight:600}
