:root{--purple: #262262;--purple-mid: #453FA0;--purple-light: #E3E2F1;--purple-pale: #F4F4FA;--ocean: #262262;--burgundy: #660066;--candy: #EF4D41;--pink: #FAD4D6;--blue: #006FFA;--sky: #9DCEEF;--orange: #F37021;--sunflower: #FFCF01;--lemon: #F7EFCA;--forest: #005129;--brand-green: #39B54A;--zest: #B9F24C;--green: #39B54A;--green-text: #005129;--green-light: #E1F3E4;--amber: #F37021;--amber-text: #9A3F12;--amber-light: #FCE7D3;--red: #EF4D41;--red-text: #C0261C;--red-light: #FCDAD7;--bg: #F4F5FA;--surface: #FFFFFF;--border: #D9DAEA;--text: #1E1B33;--text-muted: #8B85A1;--radius: 14px;--radius-sm: 8px;--nav-height: 50px;--shadow: 0 2px 12px rgba(38, 34, 98, .08), 0 4px 24px rgba(38, 34, 98, .05);--shadow-lg: 0 20px 60px rgba(38, 34, 98, .22);--font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-head: "Plus Jakarta Sans", var(--font)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.3px}button{font-family:inherit;cursor:pointer}.wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.card{width:100%;max-width:440px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card h1{margin:0 0 12px;font-size:1.5rem;color:var(--ocean)}.lede{margin:0 0 16px;line-height:1.55}.muted{margin:0 0 16px;color:var(--text-muted);font-size:.9rem}.error{margin:16px 0 0;color:var(--red-text);font-size:.9rem}.btn{padding:11px 18px;border:0;border-radius:var(--radius-sm);background:var(--ocean);color:#fff;font-size:.95rem;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.btn-quiet{background:transparent;border:1px solid var(--border);color:var(--text);font-weight:500}.page{max-width:1320px;margin:0 auto;padding:32px 24px 64px}.page-narrow{max-width:860px}.page-wide{max-width:1320px}.lede,.muted,.answer-text,.tile-desc{max-width:68ch}.split{display:grid;grid-template-columns:minmax(0,1fr) var(--aside, 360px);gap:24px;align-items:start;margin-top:24px}.split>.panel,.split-aside>.panel:first-child,.split-main>.panel:first-child{margin-top:0}.split-aside{position:sticky;top:calc(var(--nav-height) + 24px);max-height:calc(100vh - var(--nav-height) - 48px);overflow-y:auto}@media(max-width:1040px){.split{grid-template-columns:minmax(0,1fr)}.split-aside{position:static;max-height:none;overflow-y:visible}}.facts-group+.facts-group{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 24px;margin:16px 0 0}.fact{min-width:0}.fact dt{margin:0 0 2px;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.fact dd{margin:0;font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}.fact-wide{grid-column:1 / -1}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:20px 0 0;padding:0;list-style:none;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.stat{padding:14px 18px;background:var(--surface)}.stat-value{display:block;font-family:var(--font-head);font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--ocean)}.stat-label{display:block;margin-top:2px;font-size:.85rem;color:var(--text-muted)}.stat-attention .stat-value{color:var(--amber-text)}.stat-text .stat-value{font-size:1.1rem;line-height:1.3}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px;align-items:start;margin-top:24px}.columns>.panel{margin-top:0}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}.panel-head h2,.panel-head h3{margin-bottom:0}.panel-head .btn{margin-top:0;flex:none}.portal-nav{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border)}.portal-nav-inner{display:flex;align-items:center;gap:20px;height:var(--nav-height);max-width:1320px;margin:0 auto;padding:0 24px}.portal-mark{flex:none;padding:14px 0;font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--ocean);text-decoration:none;letter-spacing:-.2px}.portal-mark span{color:var(--text-muted);font-weight:600}.portal-links{display:flex;flex:1 1 auto;gap:2px;min-width:0;margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:none}.portal-links::-webkit-scrollbar{display:none}.portal-links a{display:block;padding:14px 12px;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap}.portal-links a:hover{color:var(--ocean)}.portal-links a.is-current{color:var(--ocean);border-bottom-color:var(--ocean)}.portal-links .portal-group-label{flex:none;align-self:center;margin-left:10px;padding:0 10px 0 12px;border-left:1px solid var(--border);color:var(--text-muted);font-family:var(--font-head);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:.75}.portal-links .portal-group-end{margin-right:10px;padding-right:12px;border-right:1px solid var(--border)}.portal-signout{flex:none;padding:7px 12px;font-size:.85rem}@media(max-width:720px){.portal-nav-inner{gap:12px;padding:0 16px}.portal-signout{display:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.page-head-text{min-width:0}.page-head h1{margin:0;font-size:1.5rem;color:var(--ocean)}.page-head-text .lede{margin:8px 0 0}.page-head-actions{display:flex;flex:none;align-items:center;gap:12px;padding-top:4px}.page-back{font-size:.9rem;white-space:nowrap}@media(max-width:640px){.page-head{flex-direction:column;gap:8px}}.table-scroll{margin:24px 0;overflow-x:auto}.people{width:100%;min-width:520px;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.people th,.people td{padding:12px 16px;border-bottom:1px solid var(--border);text-align:left}.people th:not(:first-child),.people td:not(:first-child){text-align:center;width:120px}.people th{background:var(--purple-pale);font-size:.85rem;font-weight:600;color:var(--text-muted)}.people tbody tr:last-child td{border-bottom:0}.people tr.inactive td:first-child{opacity:.55}.muted-inline{display:block;color:var(--text-muted);font-size:.85rem}.consent-detail{display:flex;flex-direction:column;gap:6px;padding:2px 0}.consent-detail>strong{font-size:.98rem}.consent-ticks{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0}.consent-tick{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.82rem;font-weight:600;background:var(--red-light);color:var(--red-text)}.consent-tick.yes{background:var(--green-light);color:var(--green-text)}.consent-meta{font-size:.85rem;color:var(--text-muted);line-height:1.5}.team-names{display:block;margin-top:6px;color:var(--text);font-size:.85rem}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.filters .btn{padding:7px 12px;font-size:.85rem}.filters .btn[aria-pressed=true]{background:var(--purple-light);border-color:var(--purple-mid);color:var(--ocean);font-weight:600}.row-actions{display:flex;align-items:center;gap:8px}.row-actions .btn{padding:7px 12px;font-size:.85rem;white-space:nowrap}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:20px 0 0}.toolbar .filters{margin:0}.toolbar .search{flex:1 1 260px;margin:0}.search{width:100%;margin:16px 0 8px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem}.cards{margin:16px 0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.card-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border)}.card-row:last-child{border-bottom:0}.card-row.inactive{opacity:.55}.panel{display:block;margin:32px 0 0;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.panel-inset{margin-top:20px;padding:20px;border:1px solid var(--border);border-radius:var(--radius)}.panel-inset:first-child{margin-top:0}.panel h2,.panel h3{margin:0 0 8px;font-size:1.1rem;color:var(--ocean)}.panel label{display:block;margin:14px 0 4px;font-size:.85rem;font-weight:600;color:var(--text-muted)}.panel input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem}.panel .btn{margin-top:20px}.panel select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit;font-size:.95rem}.notice{margin:16px 0 0;padding:12px 16px;border-radius:var(--radius-sm);background:var(--green-light);color:var(--green-text);font-size:.9rem}.btn-danger{background:var(--red-text)}.card-row-stacked{flex-wrap:wrap}.confirm{width:100%;margin-top:12px;padding:16px;border:1px solid var(--red);border-radius:var(--radius-sm);background:var(--red-light)}.confirm label{display:block;margin:12px 0 4px;font-size:.85rem}.confirm input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem}.confirm .row-actions{margin-top:16px}.tick{display:flex;align-items:center;gap:8px;font-size:.85rem;white-space:nowrap;cursor:pointer}.panel .tick{display:flex;align-items:center;gap:8px;white-space:normal;margin:10px 0 0;font-weight:500;color:var(--text)}.panel .tick input[type=checkbox]{width:auto;flex:none;margin:0}.linkish{background:none;border:none;padding:0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer}.linkish:disabled{color:var(--text-muted);cursor:default}.panel input[type=file]{width:100%;padding:12px 14px;background:var(--bg);border:1px dashed var(--border);font-size:.9rem;cursor:pointer}.counts{margin:8px 0 0;font-size:.9rem}.review{width:100%;margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.review h3{margin:0 0 4px;font-size:1rem}.review h4{margin:16px 0 6px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.criterion{padding:16px 0;border-bottom:1px solid var(--border)}.criterion:last-of-type{border-bottom:0}.criterion-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.criterion-head label{margin:0;font-size:.95rem;color:var(--text)}.criterion-box{display:flex;align-items:baseline;gap:6px;flex:none}.criterion input[type=number]{width:72px;text-align:center}.criterion input[type=text]{width:100%;margin-top:8px}.criterion .muted{margin:4px 0 8px}.criterion input[aria-invalid=true]{border-color:var(--red-text)}.criterion .error{margin:6px 0 0}.files{margin:0 0 8px;padding:0;list-style:none}.files>li{margin-bottom:20px}a.file-preview{display:inline-block;max-width:100%;margin-bottom:6px}.file-preview img{display:block;max-width:100%;max-height:340px;border-radius:var(--radius-sm);border:1px solid var(--border)}video.file-preview{display:block;max-width:100%;max-height:340px;margin-bottom:6px;border-radius:var(--radius-sm);background:#000}.plain{margin:0 0 16px;padding-left:20px;line-height:1.6}.answer{margin-top:20px}.answer-text{margin:0;white-space:pre-wrap;line-height:1.6}.wrap-wide{align-items:flex-start;padding:48px 24px}.home{width:100%;max-width:860px;margin:0 auto}.home-head{margin-bottom:24px}.home-head h1{margin:0 0 10px;font-size:1.9rem;color:var(--ocean)}.tile-group+.tile-group{margin-top:4px}.tile-group-title{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--text-muted);font-family:var(--font-head);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.tile-group-title:after{content:"";flex:1 1 auto;height:1px;background:var(--border)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 28px}.tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 20px 20px 26px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:var(--text);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:var(--radius) 0 0 var(--radius);background:var(--tile-accent, var(--ocean))}.tile:hover{transform:translateY(-2px);box-shadow:0 6px 20px #26226221;border-color:var(--purple-mid)}.tile:focus-visible{outline:2px solid var(--ocean);outline-offset:2px}.tile-title{font-family:var(--font-head);font-weight:600;font-size:1.05rem;color:var(--ocean)}.tile-desc{font-size:.9rem;line-height:1.5;color:var(--text-muted)}.tile-count{position:absolute;top:12px;right:12px;min-width:22px;height:22px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:var(--candy);color:#fff;font-family:var(--font-head);font-size:.75rem;font-weight:700;line-height:1}.tile-ocean{--tile-accent: var(--ocean)}.tile-blue{--tile-accent: var(--blue)}.tile-orange{--tile-accent: var(--orange)}.tile-burgundy{--tile-accent: var(--burgundy)}.tile-forest{--tile-accent: var(--forest)}.tile-candy{--tile-accent: var(--candy)}.tile-green{--tile-accent: var(--green)}@media(prefers-reduced-motion:reduce){.tile{transition:none}.tile:hover{transform:none}}.run-sheet{margin:0 0 32px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.run-sheet-head h2{margin:0 0 4px}.run-sheet-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.92rem}.run-sheet-table th,.run-sheet-table td{text-align:left;vertical-align:top;padding:8px 12px 8px 0;border-bottom:1px solid var(--border)}.run-sheet-table th{font-family:var(--font-head);font-weight:600;color:var(--ocean);white-space:nowrap}.run-sheet-contact,.run-sheet-table .muted-inline{display:block}.run-sheet-notes{margin-top:16px;font-size:.9rem;color:var(--text-muted)}@media print{.no-print,.page-head a,.tiles,.btn{display:none!important}body,.page,.page-wide{background:#fff;max-width:none;margin:0;padding:0}.run-sheet{border:0;padding:0;margin:0;page-break-after:always;break-after:page}.run-sheet:last-of-type{page-break-after:auto;break-after:auto}.run-sheet-table{font-size:11pt}.run-sheet-table tr{page-break-inside:avoid;break-inside:avoid}}.school-block{border-bottom:1px solid var(--border)}.school-block:last-child{border-bottom:0}.school-head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:0;font:inherit;text-align:left;color:var(--text)}.school-head:hover{background:var(--bg)}.school-head-caret{flex:none;width:12px;color:var(--text-muted);font-size:.8rem}.school-head-name{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.school-head-tally{flex:0 1 auto;font-size:.85rem;color:var(--text-muted);text-align:right}.school-head-tally-attention{color:var(--amber-text);font-weight:600}.school-block-attention .school-head-caret{color:var(--amber-text)}.school-body{padding:4px 16px 18px;background:var(--bg);border-top:1px solid var(--border)}.email-preview{padding:14px 0 4px}.email-preview p:first-child{margin-top:0}.email-preview-frame{display:block;width:100%;height:420px;margin-top:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.school-group{margin-top:14px}.school-group h3{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted)}.school-group .cards{margin:8px 0 0}@media(max-width:640px){.school-head{flex-wrap:wrap}.school-head-tally{flex-basis:100%;padding-left:24px;text-align:left}}
