:root{--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#101828;--muted:#667085;--border:#e4e7ec;--primary:#465fff;--primary-dark:#3548d4;--success:#067647;--success-bg:#ecfdf3;--warning:#b54708;--warning-bg:#fffaeb;--danger:#b42318;--danger-bg:#fef3f2;--sidebar:#101828;--sidebar-text:#d0d5dd;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);--radius:14px;--focus:0 0 0 3px rgba(70,95,255,.22);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--text);color:#fff;padding:.75rem 1rem;z-index:9999;border-radius:8px}.skip-link:focus{top:1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:var(--sidebar-text);padding:1.25rem 1rem;overflow:auto;z-index:30}.brand{display:flex;align-items:center;gap:.75rem;padding:.25rem .5rem 1.5rem}.brand strong{display:block;color:#fff;font-size:1rem}.brand small{display:block;color:#98a2b3}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6172f3,#3538cd);color:#fff;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 18px rgba(70,95,255,.28)}.brand-mark.large{width:58px;height:58px;border-radius:18px;font-size:1.15rem}.nav-group{margin-bottom:1.2rem}.nav-heading{padding:.5rem .75rem;color:#667085;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.1em}.nav-link{display:flex;align-items:center;gap:.7rem;color:var(--sidebar-text);padding:.68rem .75rem;border-radius:9px;margin:.1rem 0;font-weight:550}.nav-link:hover,.nav-link.active{background:#1d2939;color:#fff;text-decoration:none}.nav-link.active{box-shadow:inset 3px 0 #8098f9}.nav-icon{color:#8098f9;font-size:1.4rem;line-height:.5}.app-main{min-width:0;display:flex;flex-direction:column}.topbar{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;padding:0 1.5rem;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.global-search{flex:1;max-width:520px}.global-search input{width:100%;background:var(--surface-2);border-color:transparent}.top-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}.workspace{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.workspace-label{color:var(--muted)}.workspace form{display:flex;gap:.35rem}.workspace select{padding:.45rem 2rem .45rem .6rem}.user-chip{display:flex;align-items:center;gap:.6rem}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:.72rem}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#3538cd;font-weight:750}.avatar-xl{width:70px;height:70px;font-size:1.25rem}.page{padding:1.75rem;max-width:1680px;width:100%;margin:0 auto;flex:1}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.page-head h1{font-size:1.75rem;line-height:1.2;margin:.18rem 0}.page-head p{margin:.4rem 0 0;color:var(--muted);max-width:72ch}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:800;color:var(--primary)}.footer{padding:1.25rem 1.75rem;color:var(--muted);font-size:.78rem;text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.25rem;min-width:0}.card h2{font-size:1.05rem;margin:0 0 .35rem}.card h3{margin:.2rem 0}.card p{color:var(--muted);margin:.25rem 0 1rem}.card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.card-head p{margin:0}.sticky-card{position:sticky;top:96px;align-self:start}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.grid-form-list{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.6fr);gap:1.25rem;align-items:start}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.25rem}.metric-card span{color:var(--muted);font-size:.8rem}.metric-card strong{font-size:1.8rem;letter-spacing:-.04em}.metric-card a,.metric-card small{font-size:.75rem}.progress-ring{display:flex;align-items:baseline;gap:.75rem;padding:1rem 0}.progress-ring strong{font-size:2rem}.progress-ring span{color:var(--muted)}.progress-native{width:100%;height:10px;accent-color:var(--primary)}.btn{border:1px solid transparent;border-radius:9px;padding:.62rem .9rem;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;white-space:nowrap}.btn:hover{text-decoration:none}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-quiet{background:#fff;border-color:var(--border);color:var(--text)}.btn-warning{background:var(--warning-bg);border-color:#fedf89;color:var(--warning)}.btn-danger{background:var(--danger-bg);border-color:#fecdca;color:var(--danger)}.btn-sm{padding:.42rem .65rem;font-size:.78rem}.btn-block{width:100%}.button-group,.form-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.form-stack{display:grid;gap:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.form-grid.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.form-grid label,.form-stack label{font-size:.78rem;font-weight:650;color:#344054;display:grid;gap:.35rem}.inline-form{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}.inline-form label{font-size:.75rem;display:grid;gap:.25rem}.inline-form input,.inline-form select{min-width:150px}input,select,textarea{width:100%;border:1px solid #d0d5dd;background:#fff;color:var(--text);border-radius:8px;padding:.66rem .75rem;min-height:42px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#98a2b3}.check-row{display:flex!important;align-items:center;gap:.5rem;min-height:42px}.check-row input,.permission-card>input{width:auto;min-height:auto}.alert{padding:.85rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid}.alert-success{background:var(--success-bg);border-color:#abefc6;color:var(--success)}.alert-warning{background:var(--warning-bg);border-color:#fedf89;color:var(--warning)}.alert-danger{background:var(--danger-bg);border-color:#fecdca;color:var(--danger)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.23rem .48rem;font-size:.68rem;font-weight:750;text-transform:capitalize;white-space:nowrap}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-neutral{background:#f2f4f7;color:#475467}.chips{display:flex;gap:.35rem;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:.79rem}thead th{position:sticky;top:0;background:#f9fafb;color:#475467;font-weight:700;text-align:left;padding:.72rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:.75rem;border-bottom:1px solid #f0f2f5;vertical-align:top}tbody tr:hover{background:#fcfcfd}td strong,td small{display:block}td small{color:var(--muted);margin-top:.15rem}.marks-table{max-height:68vh}.marks-table tbody td{vertical-align:middle}.score-input{min-width:90px}.pagination{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;margin-top:.75rem}.empty-state{text-align:center;padding:2.2rem 1rem;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font-size:.95rem}.list-stack{display:grid;gap:.6rem}.list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;border:1px solid var(--border);border-radius:10px}.list-row strong,.list-row small{display:block}.list-row small{color:var(--muted)}.approval-card{border:1px solid var(--border);border-radius:12px;padding:1rem;display:grid;gap:.7rem}.approval-card small{display:block;color:var(--muted)}.approval-actions{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem}.popover{margin-top:.5rem;padding:.75rem;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);min-width:250px;position:relative;z-index:5}.popover.wide{min-width:min(680px,75vw)}details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}.module-grid,.role-grid,.report-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.module-card,.role-card,.report-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.7rem}.module-card p,.role-card p{font-size:.78rem;margin:.25rem 0}.module-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.report-catalogue{margin-bottom:1.25rem;grid-template-columns:repeat(4,minmax(0,1fr))}.report-card{color:var(--text);min-height:125px}.report-card:hover,.report-card.active{border-color:#a4bcfd;box-shadow:var(--shadow);text-decoration:none}.report-icon{color:var(--primary);font-size:1.4rem}.report-card small{color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.permission-card{border:1px solid var(--border);border-radius:10px;padding:.75rem;display:flex;align-items:flex-start;gap:.65rem;cursor:pointer}.permission-card:has(input:checked){border-color:#8098f9;background:#f5f8ff}.permission-card strong,.permission-card small{display:block}.permission-card small{color:var(--muted);font-weight:400;margin:.25rem 0}.detail-grid{display:grid;grid-template-columns:minmax(110px,.35fr) 1fr;gap:.6rem 1rem}.detail-grid dt{color:var(--muted);font-size:.76rem}.detail-grid dd{margin:0;font-weight:600}.decision{padding:1rem;border-radius:10px;font-size:1.2rem;margin-bottom:1rem}.decision-allow{background:var(--success-bg);color:var(--success)}.decision-deny{background:var(--danger-bg);color:var(--danger)}.profile-banner{background:linear-gradient(135deg,#3538cd,#6172f3);color:#fff;border-radius:var(--radius);padding:1.4rem;display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem;box-shadow:var(--shadow)}.profile-banner .avatar{background:rgba(255,255,255,.18);color:#fff}.profile-banner h2,.profile-banner p{margin:.15rem 0}.timeline{border-left:2px solid #e4e7ec;margin:1rem 0;padding-left:1rem}.timeline-item{position:relative;padding:0 0 1rem}.timeline-item:before{content:"";position:absolute;left:-1.37rem;top:.35rem;width:.65rem;height:.65rem;background:var(--primary);border-radius:50%;border:2px solid #fff}.timeline-item strong,.timeline-item span,.timeline-item small{display:block}.timeline-item small{color:var(--muted)}.tabs{margin-bottom:1.25rem}.tab-list{display:flex;gap:.4rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.tab-list button{border:0;background:transparent;padding:.75rem 1rem;color:var(--muted);font-weight:700;cursor:pointer}.tab-list button[aria-selected=true]{color:var(--primary);border-bottom:2px solid var(--primary)}.callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#f5f8ff,#fff)}.callout.warning{background:linear-gradient(135deg,#fffaeb,#fff)}.assessment-summary{display:flex;align-items:center;justify-content:space-between}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.check-card{display:flex;gap:.75rem;align-items:center;padding:.9rem;border:1px solid var(--border);border-radius:10px}.check-card>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800}.check-card.ok>span{background:var(--success-bg);color:var(--success)}.check-card.fail>span{background:var(--danger-bg);color:var(--danger)}.check-card strong,.check-card small{display:block}.check-card small{color:var(--muted);word-break:break-word}.muted{color:var(--muted);font-size:.78rem}.auth-body{min-height:100vh;background:radial-gradient(circle at 15% 20%,#e0e7ff,transparent 30%),radial-gradient(circle at 85% 80%,#d1fadf,transparent 30%),#f8fafc;display:grid;place-items:center;padding:1.5rem}.auth-wrap{width:min(1040px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 22px 60px rgba(16,24,40,.14)}.auth-brand{padding:4rem;background:linear-gradient(145deg,#101828,#1d2939);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-brand h1{font-size:2.2rem;line-height:1.1;margin:1.25rem 0}.auth-brand p{color:#d0d5dd;max-width:45ch}.security-note{margin-top:2rem;border:1px solid #344054;border-radius:12px;padding:1rem;color:#98a2b3;font-size:.8rem}.auth-card{padding:3.5rem;background:#fff}.auth-card h1,.auth-card h2{margin:0 0 .5rem}.auth-card>p{color:var(--muted);margin:0 0 1.5rem}.auth-card.solo{width:min(520px,100%);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:2rem}.auth-card.solo.wide{width:min(680px,100%)}.auth-links{display:flex;justify-content:space-between;margin-top:1rem;font-size:.8rem}.secret-box{padding:1rem;background:#101828;color:#fff;border-radius:10px;text-align:center;font-size:1.2rem;letter-spacing:.12em;margin:1rem 0}.break-all{word-break:break-all}.recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0}.recovery-grid code{padding:.55rem;background:#f2f4f7;border-radius:6px;text-align:center}.error-card{width:min(560px,100%);text-align:center;background:#fff;padding:3rem;border-radius:18px;box-shadow:var(--shadow)}.error-code{font-size:5rem;font-weight:850;color:#d0d5dd}.report-body{background:#e4e7ec;padding:2rem}.report-sheet{width:min(900px,100%);margin:auto;background:#fff;min-height:100vh;padding:2.5rem;box-shadow:var(--shadow);position:relative}.report-header{display:flex;align-items:center;gap:1rem;border-bottom:2px solid var(--text);padding-bottom:1rem;margin-bottom:1.5rem}.report-header h1,.report-header p{margin:0}.watermark{margin-left:auto;color:#d0d5dd;font-weight:800;transform:rotate(-8deg)}.report-content{margin-top:1.5rem}.result-highlight{display:flex;justify-content:space-between;align-items:center;padding:1.2rem;background:#f5f8ff;border-radius:12px}.result-highlight strong{font-size:2rem}.report-sheet footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}.mobile-only{display:none}.icon-button{border:1px solid var(--border);background:#fff;border-radius:8px;width:40px;height:40px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-form-list{grid-template-columns:1fr}.sticky-card{position:static}.report-catalogue{grid-template-columns:repeat(3,1fr)}.module-grid,.role-grid{grid-template-columns:repeat(2,1fr)}.form-grid.columns-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:280px;transition:left .2s ease}.sidebar.open{left:0}.mobile-only{display:inline-grid;place-items:center}.topbar{padding:0 .8rem}.global-search{display:none}.user-chip small,.workspace-label{display:none}.page{padding:1rem}.grid-2{grid-template-columns:1fr}.auth-wrap{grid-template-columns:1fr}.auth-brand{display:none}.report-catalogue{grid-template-columns:repeat(2,1fr)}.permission-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.approval-actions{grid-template-columns:1fr 1fr}.approval-actions textarea{grid-column:1/-1}.popover.wide{min-width:0;width:100%}}
@media(max-width:600px){.top-actions{gap:.35rem}.workspace strong,.user-chip>span:not(.avatar){display:none}.metric-grid,.metric-grid.compact,.module-grid,.role-grid,.report-catalogue{grid-template-columns:1fr}.form-grid,.form-grid.columns-4{grid-template-columns:1fr}.span-2{grid-column:span 1}.card{padding:1rem}.card-head,.callout,.assessment-summary{flex-direction:column;align-items:stretch}.auth-card{padding:2rem 1.25rem}.report-sheet{padding:1.25rem}.button-group,.form-actions{flex-wrap:wrap}.profile-banner{align-items:flex-start}.detail-grid{grid-template-columns:1fr}.detail-grid dd{margin-bottom:.35rem}}
@media(prefers-color-scheme:dark){:root{--bg:#0c111d;--surface:#161b26;--surface-2:#1d2939;--text:#f2f4f7;--muted:#98a2b3;--border:#344054;--shadow:none;color-scheme:dark}input,select,textarea,.btn-quiet,.module-card,.role-card,.report-card,.auth-card,.report-sheet,.popover{background:#161b26;color:var(--text)}thead th{background:#1d2939;color:#d0d5dd}tbody tr:hover{background:#1d2939}.topbar{background:rgba(22,27,38,.96)}.auth-body{background:#0c111d}.auth-wrap{background:#161b26}.permission-card:has(input:checked){background:#1d2939}.report-body{background:#0c111d}}

/* Recovery release component extensions */
.grid{display:grid;gap:1.25rem}.full{grid-column:1/-1}.button-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.record-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.record-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.page-intro,.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-intro h1,.page-header h1{margin:.15rem 0}.page-intro p,.page-header p{color:var(--muted);margin:.35rem 0}.workflow-layout{align-items:start}.truncate-cell{max-width:26rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.record-header,.page-intro,.page-header{display:grid}.button-row{align-items:stretch}.button-row>.btn,.button-row>form{width:100%}.full{grid-column:auto}}

/* Role-aware workspace and guided onboarding */
.nav-search{padding:0 .5rem 1rem}.nav-search input{width:100%;background:#1d2939;border:1px solid #344054;color:#fff;padding:.6rem .75rem;border-radius:9px}.nav-search input::placeholder{color:#98a2b3}.nav-heading{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:0;text-align:left;cursor:pointer}.context-summary{display:flex;flex-direction:column;min-width:0}.context-summary strong{font-size:.88rem}.context-summary small{color:var(--muted);font-size:.72rem;max-width:56vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip{text-decoration:none;color:inherit}.user-chip:hover{text-decoration:none}.guide-overlay{position:fixed;inset:0;background:rgba(16,24,40,.62);display:grid;place-items:center;padding:1rem;z-index:1000}.guide-overlay[hidden]{display:none}.guide-dialog{width:min(520px,100%);background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.4rem;box-shadow:0 24px 72px rgba(16,24,40,.35)}.guide-dialog h2{margin:.5rem 0}.guide-dialog p{color:var(--muted)}.guide-progress,.guide-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.guide-highlight{position:relative;z-index:1001;outline:4px solid #fdb022;outline-offset:4px;border-radius:10px}.modal-open{overflow:hidden}.workspace-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.workspace-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface)}.workspace-card.current{border-color:var(--primary);box-shadow:var(--focus)}.workspace-card h3{margin:.1rem 0}.scope-line{color:var(--muted);font-size:.8rem;min-height:2.4em}.coverage-bar{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.coverage-bar>span{display:block;height:100%;background:var(--success);border-radius:inherit}.self-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.action-card{display:block;border:1px solid var(--border);border-radius:12px;padding:1rem;color:inherit;background:var(--surface)}.action-card:hover{border-color:var(--primary);text-decoration:none;box-shadow:var(--focus)}
@media(max-width:900px){.context-summary small{max-width:44vw}.top-actions .btn[data-start-guide]{display:none}}


/* Launch-ready care, mentoring and welfare workspaces */
.guide-overlay{overflow:auto;z-index:1200}.guide-dialog{position:relative;z-index:1202;max-height:calc(100vh - 2rem);overflow:auto}.guide-highlight{z-index:1201}.danger-zone{border-color:#fda29b;background:color-mix(in srgb,var(--surface) 92%,#fef3f2)}.care-grid,.mentoring-grid,.sponsor-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.profile-card,.mentee-card,.sponsor-child-card{border:1px solid var(--border);border-radius:14px;padding:1rem;background:var(--surface);display:grid;gap:.75rem}.profile-card__head,.mentee-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.profile-photo{width:72px;height:72px;border-radius:14px;object-fit:cover;background:var(--surface-2);border:1px solid var(--border)}.risk-strip{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.risk-strip.red>span{background:#d92d20}.risk-strip.amber>span{background:#f79009}.risk-strip.green>span{background:#039855}.risk-strip>span{display:block;width:100%;height:100%}.risk-red{border-left:5px solid #d92d20}.risk-amber{border-left:5px solid #f79009}.risk-green{border-left:5px solid #039855}.timeline-event{border-left:3px solid var(--border);padding:.25rem 0 .75rem 1rem;margin-left:.5rem}.timeline-event.restricted{border-color:#f79009}.timeline-event.safeguarding{border-color:#d92d20}.classified-note{padding:.75rem;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.sponsor-safe{border-color:#12b76a}.dependent-loading{opacity:.65}.workflow-step details{grid-column:1/-1}.workflow-step .help-text,.form-help{color:var(--muted);font-size:.78rem}.guide-actions>.button-row{margin-left:auto}@media(max-width:700px){.guide-dialog{padding:1rem}.guide-progress{position:sticky;top:-1rem;background:var(--surface);padding:.5rem 0;z-index:2}.care-grid,.mentoring-grid,.sponsor-family-grid{grid-template-columns:1fr}}

.password-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem;font-size:.82rem;color:var(--muted,#64748b)}
.password-checklist span::before{content:'○ ';font-weight:700}.password-checklist span.valid{color:#166534}.password-checklist span.valid::before{content:'✓ '}
.simulation-banner{position:sticky;top:0;z-index:1200;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:.65rem 1rem;background:#7c2d12;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.18)}.simulation-banner form{margin:0}
.trend-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.trend-point{border:1px solid var(--border,#dce2ea);border-radius:.75rem;padding:.9rem;background:var(--surface,#fff);display:flex;flex-direction:column;gap:.25rem}.trend-point strong{font-size:1.35rem}.trend-point span{font-size:.82rem;color:var(--muted,#52606d)}
.guide-dialog.guide-dock-right{position:fixed;right:1rem;top:50%;transform:translateY(-50%);max-height:calc(100vh - 2rem)}.guide-dialog.guide-dock-bottom{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);max-height:min(44vh,440px)}@media(max-width:800px){.guide-dialog.guide-dock-right,.guide-dialog.guide-dock-bottom{position:relative;inset:auto;transform:none;max-height:calc(100vh - 2rem)}}
.select-search{margin-bottom:.35rem}.search-results{display:grid;gap:.35rem;margin-top:.35rem;max-height:14rem;overflow:auto}.search-result{width:100%;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.65rem .75rem;border-radius:8px;cursor:pointer}.search-result:hover,.search-result:focus{border-color:var(--primary);box-shadow:var(--focus)}
@media print{.sidebar,.topbar,.page-header,.page-intro,.btn,.flash,.guide-overlay,.simulation-banner,form:not(.print-keep){display:none!important}.app-shell,.main{display:block!important}.page{padding:0!important}.card{box-shadow:none!important;border-color:#bbb!important;break-inside:avoid}.table-wrap{overflow:visible!important}body{background:#fff!important;color:#000!important}}

/* Accessible local confirmations, notifications and bulk-selection controls */
.bg-alert-host{position:fixed;right:1rem;top:1rem;z-index:1600;display:grid;gap:.65rem;width:min(410px,calc(100vw - 2rem));pointer-events:none}.bg-toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.7rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--success);border-radius:12px;box-shadow:0 18px 55px rgba(16,24,40,.22);opacity:0;transform:translateY(-10px);transition:.18s ease}.bg-toast.open{opacity:1;transform:none}.bg-toast.closing{opacity:0;transform:translateX(15px)}.bg-toast-danger{border-left-color:var(--danger)}.bg-toast-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--success-bg);color:var(--success);font-weight:800}.bg-toast-danger .bg-toast-icon{background:var(--danger-bg);color:var(--danger)}.bg-toast button{border:0;background:transparent;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer}.bg-confirm-overlay{position:fixed;inset:0;z-index:1550;background:rgba(16,24,40,.62);display:grid;place-items:center;padding:1rem}.bg-confirm-overlay[hidden]{display:none}.bg-confirm{width:min(430px,100%);background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.4rem;text-align:center;box-shadow:0 25px 80px rgba(16,24,40,.35)}.bg-confirm h2{margin:.55rem 0 .25rem}.bg-confirm p{color:var(--muted);margin:.25rem 0 1.25rem}.bg-confirm-symbol{width:52px;height:52px;margin:auto;border-radius:50%;display:grid;place-items:center;background:var(--warning-bg);color:var(--warning);font-size:1.5rem;font-weight:800}.bg-confirm .button-row{justify-content:center}.grow{flex:1;min-width:min(280px,100%)}.action-panel{margin-top:1rem}.tab-list{display:flex;gap:.5rem;overflow:auto;padding-bottom:.65rem;margin-bottom:.75rem}.tab{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.55rem .8rem;white-space:nowrap;cursor:pointer}.tab[aria-selected="true"]{background:var(--primary);border-color:var(--primary);color:#fff}.profile-actions{margin-left:auto}.no-print{}@media(max-width:600px){.bg-alert-host{top:.65rem;right:.65rem;width:calc(100vw - 1.3rem)}.profile-actions{margin-left:0;width:100%}}
@media print{.no-print,.bg-alert-host,.bg-confirm-overlay{display:none!important}}

/* Duralux-derived production shell adaptations. */
.brand-logo{display:grid;place-items:center;background:#fff;overflow:hidden;padding:.2rem}.brand-logo img{width:100%;height:100%;object-fit:contain}.simulation-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#4b2e83;color:#fff;position:sticky;top:0;z-index:1200}.simulation-banner form{margin:0}.simulation-banner .btn{white-space:nowrap}.duralux-panel{border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(15,23,42,.06)}
@media(max-width:760px){.simulation-banner{align-items:flex-start;flex-direction:column}.brand-logo{width:42px;height:42px}}
.branding-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.branding-preview-grid figure{margin:0;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:1rem;text-align:center;background:#fff}.branding-preview-grid img{height:110px;width:100%;object-fit:contain}.branding-preview-grid figcaption{margin-top:.5rem;font-weight:700}.report-letterhead-preview{margin-top:1rem;border:1px solid var(--border,#e5e7eb);padding:1.25rem;min-height:150px;position:relative;background:#fff;color:#111}.report-letterhead-preview:after{content:'REPORT PREVIEW';position:absolute;right:1rem;top:1rem;font-size:.7rem;letter-spacing:.12em;color:#64748b}

/* Visual academic report-template builder */
.report-builder{grid-template-columns:minmax(390px,.95fr) minmax(0,1.3fr)}
.report-section-picker{border:1px solid var(--border);border-radius:10px;padding:.9rem;margin:0}
.report-section-picker legend{font-weight:750;color:#344054;padding:0 .35rem}
.report-section-list{display:grid;gap:.45rem;max-height:360px;overflow:auto;padding:.2rem}
.report-section-item{display:flex!important;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;background:#fff;cursor:pointer}
.report-section-item span{display:flex;align-items:center;gap:.45rem}.report-section-item input{width:auto;min-height:auto}.report-section-item small{color:var(--muted);font-weight:400;text-align:right}
.report-preview{--preview-accent:#169DD5;position:relative;border:1px solid #d0d5dd;background:#fff;border-radius:6px;padding:1.25rem;box-shadow:0 12px 30px rgba(16,24,40,.08);margin-bottom:1.5rem;min-height:520px;overflow:hidden}
.report-preview header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--preview-accent);padding-bottom:.75rem;margin-bottom:.8rem}.report-preview header strong,.report-preview header small{display:block}.report-preview header strong{font-size:1.25rem;color:var(--preview-accent)}.report-preview header img{width:64px;height:64px;object-fit:contain}
.report-preview-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;font-size:.72rem;background:#f8fafc;padding:.55rem;border-radius:5px;margin-bottom:.8rem}.report-preview-section{border-top:1px solid #e4e7ec;padding:.7rem 0}.report-preview-section p{margin:.25rem 0;font-size:.72rem}.report-preview-section table{font-size:.68rem}.report-preview-section th,.report-preview-section td{padding:.35rem}.report-preview footer{border-top:1px solid #e4e7ec;padding-top:.65rem;text-align:center;color:var(--muted);font-size:.66rem}.report-preview-watermark{position:absolute;inset:42% auto auto 20%;transform:rotate(-24deg);font-size:3rem;font-weight:900;letter-spacing:.18em;color:rgba(180,35,24,.08);pointer-events:none}
@media(max-width:1100px){.report-builder{grid-template-columns:1fr}.report-builder .sticky-card{position:static}.report-preview{min-height:420px}}
.journal-lines select,.journal-lines input{min-width:130px}.journal-lines td:nth-child(4){min-width:220px}.journal-lines td:nth-child(4) input+input{margin-top:.35rem}.journal-balance{padding:.75rem 1rem;border-radius:8px;background:var(--warning-bg);color:var(--warning);font-weight:700}.journal-balance.is-balanced{background:var(--success-bg);color:var(--success)}

.camera-scanner{margin:1rem 0;padding:1rem;border:1px solid var(--border,#d8dee9);border-radius:.75rem;background:var(--surface,#fff)}
.camera-scanner video{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:.5rem;background:#111}
.camera-scanner p{margin:.75rem 0}

/* Searchable select combobox */
.select-combobox{position:relative;width:100%}.select-native-enhanced{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.select-combobox-trigger{width:100%;min-height:42px;text-align:left;border:1px solid #d0d5dd;background:#fff;color:var(--text);border-radius:8px;padding:.66rem 2.2rem .66rem .75rem;cursor:pointer;position:relative}.select-combobox-trigger:after{content:'⌄';position:absolute;right:.75rem;top:50%;transform:translateY(-52%);color:var(--muted)}.select-combobox-trigger.is-placeholder{color:#667085}.select-combobox.open .select-combobox-trigger{border-color:var(--primary);box-shadow:var(--focus)}.select-combobox-panel{position:absolute;z-index:80;left:0;right:0;top:calc(100% + .35rem);padding:.55rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 45px rgba(16,24,40,.18)}.select-combobox-search{margin-bottom:.45rem}.select-combobox-list{max-height:16rem;overflow:auto;display:grid;gap:.2rem}.select-combobox-option{width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:.58rem .65rem;border-radius:7px;cursor:pointer}.select-combobox-option:hover,.select-combobox-option:focus,.select-combobox-option[aria-selected="true"]{background:#eef4ff;outline:none}.select-combobox-empty{padding:.75rem;color:var(--muted);text-align:center}.select-search{display:none!important}
/* MFA enrolment QR */
.mfa-enrol-grid{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:1.25rem;align-items:start}.mfa-qr-card{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#fff;text-align:center}.mfa-qr{display:grid;place-items:center;min-height:220px}.mfa-qr img,.mfa-qr canvas{max-width:220px;width:100%;height:auto}.mfa-manual-key{font-size:1rem;letter-spacing:.08em;word-break:break-all;display:block;padding:.75rem;border:1px dashed var(--border);border-radius:8px;background:var(--surface-2)}@media(max-width:700px){.mfa-enrol-grid{grid-template-columns:1fr}.mfa-qr-card{max-width:300px;margin:auto}}
