:root{--warn:#e6c07b}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);font-family:ui-sans-serif,system-ui,sans-serif}a,body,html{color:var(--ink)}main{padding:2.5rem 6vw 4rem;max-width:72rem}main.legal{max-width:42rem;background:#f7f4ef;min-height:100vh;margin:0 auto;padding:2.5rem 1.5rem 4rem}main.legal,main.legal h1,main.legal h2,main.legal strong{color:#1a1814}main.legal li,main.legal p{color:#3d3933}main.legal a{color:#1d4f91}main.legal .mark{color:#6d675e}main.legal ul{padding-left:1.2rem}.mark{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}h1{letter-spacing:-.03em;font-size:2rem;margin:.6rem 0 .4rem}h1,h2{font-weight:560}h2{font-size:1.1rem;margin:0 0 .6rem}label,li,p,td,th{color:var(--ink-2);line-height:1.45}.row{gap:1rem;margin:1.2rem 0}.chip-row,.row{display:flex;flex-wrap:wrap}.chip-row{gap:.4rem;margin:.5rem 0 .75rem}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:.25rem .7rem;font:inherit;cursor:pointer}.chip.on,.chip[aria-pressed=true]{background:#d7e8ff;color:#1d4f91;border-color:#8fb4e3;font-weight:700}.check-row{display:flex;align-items:flex-start;gap:.55rem;padding:.35rem 0;min-height:2rem;cursor:pointer}.check-row input[type=checkbox],.check-row input[type=radio]{width:auto;min-width:1.15rem;height:1.15rem;flex:0 0 auto;margin:.15rem 0 0;accent-color:#1d4f91}.student-lock{color:var(--muted);font-size:.8rem;font-weight:600}textarea{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;width:100%;min-height:5rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;flex:1 1 18rem}.button,button{background:var(--ink);color:var(--bg);border:0;border-radius:8px;padding:.55rem .9rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:0}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.45;cursor:not-allowed}button[data-phase=running]{opacity:.85}@keyframes bursar-spin{to{transform:rotate(1turn)}}.busy-wheel{display:inline-block;width:.85em;height:.85em;margin-right:.5em;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:bursar-spin .7s linear infinite;vertical-align:-.12em;flex:0 0 auto}button[data-phase=done]{background:#1f6f4a;color:#f4fbf6}button[data-phase=failed]{background:var(--bad);color:#1a1010}button.secondary[data-phase=done]{background:#1f6f4a;color:#f4fbf6;border-color:#1f6f4a}button.secondary[data-phase=failed]{background:var(--bad);color:#1a1010;border-color:var(--bad)}input,select{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;width:100%}input[type=checkbox],input[type=radio]{width:auto;min-width:1.05rem;height:1.05rem;flex:0 0 auto}table{width:100%;border-collapse:collapse;font-size:.88rem}td,th{text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}.inserted{color:var(--ok-text)}.updated{color:var(--warn)}.unchanged{color:var(--muted)}.rejected{color:var(--bad-text)}.deleted,.ended{color:var(--bad)}.drop{border:1px dashed var(--line);border-radius:10px;padding:1rem}.hint{font-size:.85rem}.import-top nav,main.legal nav{display:flex;gap:1rem;margin:1rem 0 0;flex-wrap:wrap;align-items:center}.log-counts{display:flex;flex-wrap:wrap;gap:.8rem}.log-panel h3{margin:.8rem 0 .4rem;font-size:1rem}.log-panel table{margin-top:.4rem}body:has(.import-page),html:has(.import-page){color-scheme:light;background:#f4f7fb;color:#132033}.import-page{--bg:#f4f7fb;--ink:#132033;--muted:#6b7787;--line:#d5deea;--ok:#1f8a7a;max-width:56rem;background:var(--bg);color:var(--ink);min-height:100vh;color-scheme:light}.import-page input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),.import-page select,.import-page textarea{background:#fff;background-color:#fff;color:#132033;border:1px solid var(--line);color-scheme:light}.import-page input[type=date],.import-page input[type=date]::-webkit-datetime-edit{background:#fff;background-color:#fff;color:#132033;color-scheme:light}.import-page input[type=date]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;filter:none}.import-page h1,.import-page h2,.import-page label,.import-page p,.import-page td,.import-page th{color:inherit}.import-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.import-brand{font-weight:700}.import-url{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem 1rem;color:var(--muted);font-size:.85rem}.example-data{color:var(--muted);font-size:.75rem}.import-lead{color:var(--muted);margin:0 0 1rem}.import-who{font-size:.85rem;color:var(--muted)}.import-rule{border:0;border-top:1px solid var(--line);margin:1.2rem 0 1.6rem}.drop-col,.import-step{margin:1.2rem 0}.step-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}.step-head h2{margin:0;font-size:1rem}.step-num{width:1.4rem;height:1.4rem;border-radius:999px;background:#dde5ef;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex:0 0 1.4rem}.pill{border:1px solid var(--line);border-radius:999px;padding:.35rem .9rem;background:#fff;text-decoration:none;color:var(--ink);font-weight:600}.drop-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;align-items:stretch}.drop-box,.drop-col{display:flex;flex-direction:column}.drop-box{align-items:center;justify-content:center;flex:1 1;min-height:12rem;background:var(--card);border-radius:16px;padding:1.4rem;text-align:center;position:relative;cursor:pointer}.drop-box strong{display:block;margin-bottom:.35rem}.drop-box em,.drop-box span{color:var(--muted);font-size:.85rem;font-style:normal}.drop-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-box.done{box-shadow:inset 0 -6px 0 var(--ok);background:#eef6f4}.what-happened{margin-top:2rem}.what-head{display:flex;align-items:baseline;gap:.7rem}.what-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0}.desk-shell{display:grid;grid-template-columns:15rem 1fr;max-width:none;padding:0;min-height:100vh}.desk-nav{background:#eef2f7;border-right:1px solid var(--line);padding:1.2rem 1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.desk-brand{font-weight:700;display:flex;align-items:center;gap:.5rem}.desk-mark{width:1.15rem;height:1.15rem;border-radius:4px;overflow:hidden;display:inline-grid;grid-template-columns:1fr 1fr}.desk-mark i:first-child{background:#2f6fdb}.desk-mark i:last-child{background:#2f9d6a}.desk-bursary{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}.desk-bursary a,.desk-settings a,.desk-settings summary{text-decoration:none;color:var(--ink);padding:.4rem .55rem;border-radius:10px;display:flex;align-items:center;gap:.55rem}.desk-bursary a{justify-content:flex-start}.desk-bursary svg{width:1.1rem;height:1.1rem;flex:0 0 auto}.desk-bursary a.on{background:#d7e8ff;color:#1d4f91;font-weight:600}.desk-settings{margin-top:.6rem}.desk-settings summary{cursor:pointer;font-weight:600;list-style:none}.desk-settings summary::-webkit-details-marker{display:none}.desk-settings a{display:block;font-size:.9rem;margin-left:1.6rem}.desk-who{margin-top:auto;display:grid;grid-template-columns:auto 1fr;grid-gap:.2rem .65rem;gap:.2rem .65rem;font-size:.85rem;align-items:center}.desk-who>div{display:grid;grid-gap:.1rem;gap:.1rem}.desk-who .text-link{grid-column:1/-1;text-align:left;text-decoration:none;color:var(--muted);font-weight:500}.desk-avatar{width:2.1rem;height:2.1rem;border-radius:999px;background:#1d2a3a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem}.desk-main{padding:1.6rem 2rem 3rem;max-width:58rem}.pot-card-claimed strong{color:#2f6fdb}.reports-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 1rem}.reports-head h1{margin:0}.reports-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,1fr);grid-gap:1rem;gap:1rem;margin:1rem 0}.report-side-table{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.report-side-row,.report-side-table header{display:flex;justify-content:space-between;gap:.8rem;padding:.7rem 1rem;align-items:baseline}.report-side-table header{background:#f4f7fb;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.report-side-table h2{margin:0;font-size:.78rem;color:var(--ink);text-transform:uppercase}.report-side-row{border-top:1px solid #eef1f5}.report-side-row b{color:#2f6fdb;font-family:ui-monospace,SF Mono,monospace}.report-place-table{margin:0 0 1rem}.report-statements{color:var(--muted);font-size:.88rem}.report-statements a{color:#1d4f91}.provision-banner{background:#e4f4f1;color:#0d9488;border-radius:12px;padding:.7rem 1rem}.provision-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;margin:1rem 0}.provision-steps{list-style:none;padding:0;margin:0 0 1rem}.provision-steps li{display:flex;justify-content:space-between;gap:.8rem;padding:.45rem 0;color:var(--muted)}.provision-steps li.done{color:var(--ink);font-weight:650}.provision-steps li.waiting{color:#1d4f91}.home-rate{color:var(--muted);font-size:.88rem;margin:.8rem 0 0}.run-top{display:grid;grid-template-columns:2rem 1fr 2rem;align-items:center;grid-gap:.8rem;gap:.8rem}.run-top-back{grid-template-columns:2.25rem 1fr;justify-items:start}.run-top h1{margin:0;text-align:center}.run-back{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#132033;font-size:1.25rem;line-height:1;padding:0}.phone-bar{display:none}.hamburger{width:2rem;height:2rem;border:0;background:transparent;cursor:pointer;display:inline-flex;flex-direction:column;justify-content:center;align-items:stretch;gap:4px;padding:0}.hamburger span{display:block;width:18px;height:2px;background:#132033;border-radius:2px}.desk-sheet{display:none}.approve-sheet{position:fixed;inset:0;z-index:30}.approve-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(19,32,51,.35);cursor:pointer}.approve-sheet-card{position:absolute;right:0;top:0;bottom:0;left:auto;transform:none;width:min(28.75rem,100vw);max-height:100vh;overflow:auto;background:#fff;border-radius:0;padding:1.2rem 1.15rem 1.5rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:-12px 0 32px rgba(19,32,51,.12)}.approve-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.approve-sheet-head h2{margin:0;font-size:1.15rem}.approve-kicker{margin:0;font-size:.72rem;letter-spacing:.06em;font-weight:700;color:var(--muted)}.approve-open{background:#1d4f91;color:#fff;border:0;border-radius:10px;padding:.55rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}.today-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;margin:0 0 1rem}.today-card-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.today-card strong{display:block;font-size:1.7rem}.today-caption{margin:0;color:var(--muted);font-size:.88rem}.student-id{color:#1d4f91;font-family:ui-monospace,SF Mono,monospace;font-weight:700;font-size:.95rem}.student-record-head{align-items:center}.student-activity-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 .6rem}.student-activity-chips{display:flex;gap:.4rem;margin:0}.student-activity-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.25rem .7rem;font:inherit;font-weight:600;cursor:pointer}.student-activity-chips button.on{background:#1d4f91;color:#fff;border-color:#1d4f91}.student-activity-list{background:#fff;border:1px solid var(--line);border-radius:16px;padding:2px 18px}.student-activity-row{display:flex;justify-content:space-between;gap:.8rem;padding:11px 0;border-bottom:1px solid #eef1f5;font-size:13px;margin:0}.student-activity-row:last-child{border-bottom:0}.student-activity-row span{color:#132033;font-weight:600}.student-activity-row em{font-style:normal;color:var(--muted)}.student-activity-row.away span{color:#9b2c2c}.student-email-inline summary{font-size:.85rem;margin:0 0 .5rem}.approve-lock{position:-webkit-sticky;position:sticky;bottom:0;background:#f4f7fb;margin:0;padding-top:.6rem;display:flex;align-items:center;gap:.8rem}.approve-lock button{width:auto;flex:0 0 auto}.approve-lock .rejected{margin:0}.approve-page{position:static;inset:auto}.approve-page .approve-sheet-card{position:static;transform:none;width:auto;max-height:none;background:#fff;border:1px solid var(--line);padding:1.1rem}.approve-page .approve-lock{background:#fff}.approve-grid{display:grid;grid-template-columns:minmax(18rem,1.2fr) minmax(0,1fr);grid-gap:1.2rem;gap:1.2rem;align-items:start}.approve-card{background:#f4f7fb;border:1px solid var(--line);border-radius:12px;padding:1rem}.approve-card h3{margin:0 0 .7rem;font-size:1rem}.approve-card fieldset{border:0;margin:0;padding:0}.approve-dates{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;align-items:end}.approve-clear{margin:.45rem 0 0}.desk-actions,.desk-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1rem 0}.desk-action,.desk-by,.desk-person{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;padding:.9rem 1rem;background:#fff;border:0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.desk-action:last-child,.desk-by:last-child,.desk-group+.desk-person:last-child,.desk-person:last-child{border-bottom:0}.desk-action em,.desk-by em,.desk-person em{color:var(--muted);font-style:normal;font-weight:400;display:inline-flex;align-items:center;gap:.45rem}.desk-person{justify-content:flex-start}.desk-person>span:nth-child(2){display:grid;grid-gap:.15rem;gap:.15rem;flex:1 1;min-width:0}.desk-person strong{color:var(--ink)}.desk-person span span{color:var(--muted);font-size:.85rem}.desk-status{color:#1d4f91;font-size:.8rem;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem}.award-status-glyph{flex:0 0 auto;display:block}.desk-chevron{color:#132033!important;font-size:1.15rem;margin-left:.2rem}.till-row{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}.till-row .desk-person{border-bottom:0;flex:1 1;min-width:0}.till-row .secondary{margin:0 1rem .8rem}.desk-group{background:#dce6f2;color:#132033;padding:.55rem 1rem;font-size:.85rem;font-weight:700}.desk-canteen{background:#eef3f8;color:#132033;padding:.4rem 1rem;font-size:.8rem;font-weight:600}.till-activity-list{margin:.6rem 0 0}.till-activity-row{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;padding:.75rem 1rem;border-bottom:1px solid var(--line)}.till-activity-row:last-child{border-bottom:0}.till-activity-row span{color:var(--muted);font-size:.85rem}.till-activity-row .rejected{color:#9b2c2c;font-size:inherit;font-weight:600}.activity-filters{margin:.6rem 0}.activity-filters .desk-fields .row{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-scroll-sentinel{height:1px}.desk-search,.desk-select,.desk-select select{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.55rem .8rem;width:100%;min-height:2.75rem}.desk-select{padding:0}.desk-select select{border:0;height:100%}.desk-search input{border:0;background:transparent;padding:0}.desk-search-icon{color:var(--muted)}.desk-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(11rem,1fr) minmax(11rem,1fr);grid-gap:.6rem;gap:.6rem;margin:0 0 1rem;align-items:stretch}.desk-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.qr-card{text-align:center}.qr-card img{display:block;margin:.8rem auto}.qr-actions{display:flex;justify-content:center;gap:.6rem}.desk-tabs{display:flex;gap:.5rem;margin:0 0 1rem}.desk-tabs a{border:1px solid var(--line);border-radius:999px;padding:.35rem .9rem;background:#fff;text-decoration:none;color:var(--ink);font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.desk-tabs a.on{background:#1d4f91;color:#fff;border-color:#1d4f91}.students-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem}.students-head .desk-tabs,.students-head h1{margin:0}.tab-count{background:#f7eeda;color:#8a6116;border-radius:999px;font-size:.72rem;padding:.08rem .45rem;font-weight:700}.desk-tabs a.on .tab-count{background:rgba(255,255,255,.22);color:#fff}.print-only{display:none}@media print{.print-only{display:block}}.student-record-grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media (min-width:880px){.student-record-grid{grid-template-columns:1fr 1fr;align-items:start}}.student-email-inline{margin:0 0 1rem;font-size:.88rem}.student-email-inline summary{cursor:pointer;color:#1d4f91;font-weight:650;list-style:none}.student-email-inline summary::-webkit-details-marker{display:none}.student-email-inline form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-top:.65rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem}.student-email-inline label{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.72rem;font-weight:700}.student-email-inline input{min-height:2.4rem;min-width:16rem}.student-record-head .id-well{width:2.75rem;height:2.75rem}.students-search-wrap{position:relative;max-width:32.5rem;margin:0 0 1rem}.students-search{display:flex;align-items:center;gap:.55rem;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.55rem .85rem;min-height:2.75rem}.students-search.on{border-color:#1d4f91}.students-search-icon{color:var(--muted);display:inline-flex}.students-search-icon svg{width:1.05rem;height:1.05rem}.students-search input{border:0;background:transparent;flex:1 1;min-width:0;font:inherit;color:var(--ink);font-weight:650}.students-search-hint{color:#9aa5b1;font-size:.82rem;white-space:nowrap}.students-typeahead{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:4;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(19,32,51,.16);overflow:hidden}.typeahead-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;text-decoration:none;color:inherit;border-bottom:1px solid #eef1f5}.typeahead-row:first-child{background:#f2f7ff}.typeahead-row strong{display:block;font-weight:650}.typeahead-row mark{background:#dbe7f6;border-radius:3px;padding:0 1px;color:inherit}.typeahead-count{margin:0;padding:.5rem .9rem;font-size:.78rem;color:#8a95a3}.status-chip{border-radius:999px;padding:.12rem .55rem;font-size:.72rem;font-weight:700;white-space:nowrap}.status-chip.approved,.status-chip.online{background:#e4f4f1;color:var(--ok-text)}.status-chip.logged-out,.status-chip.offline,.status-chip.pending{background:var(--warn-soft);color:var(--warn-text)}.status-chip.issued{background:#dbe7f6;color:#1d4f91}.status-chip.retired{background:#f8d8d8;color:#9b2c2c}.tills-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem}.tills-head h1{margin:0}.tills-by-campus{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:.85rem}.campus-code{font-family:ui-monospace,SF Mono,monospace;color:#1d4f91;font-style:normal;margin-right:.4rem}.till-force-logout{margin:0 1rem .35rem auto;font-size:.82rem}.director-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 1rem}.director-head h1{margin:0}.director-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.director-hero{display:grid;grid-template-columns:2fr 1fr;grid-gap:.9rem;gap:.9rem;align-items:stretch}.director-table{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.director-table header{background:#eef3f8;font-size:.75rem;font-weight:700;color:#132033}.director-table header,.director-table-row{display:flex;justify-content:space-between;padding:.65rem 1.1rem}.director-table-row{align-items:center;gap:.8rem;border-bottom:1px solid #eef1f5;font-size:.85rem;color:inherit;text-decoration:none}.director-table-row:last-child{border-bottom:0}.data-tabs{display:flex;width:-moz-fit-content;width:fit-content;background:#e4e8ee;border-radius:12px;padding:3px;margin:0 0 1rem;gap:0}.data-tabs button{border:0;background:transparent;border-radius:9px;padding:.45rem 1.1rem;font:inherit;font-weight:700;color:#5c636b;cursor:pointer}.data-tabs button.on{background:#fff;color:#132033;box-shadow:0 1px 2px rgba(19,32,51,.1)}.data-banner{background:#f2f7ff;border:1px solid #d7e8ff;border-radius:12px;padding:.7rem .9rem;font-size:.82rem;color:#132033;margin:0 0 1rem}.import-stepper{display:flex;flex-wrap:wrap;gap:.6rem 1rem;list-style:none;padding:0;margin:0 0 1rem}.import-stepper button{border:0;background:transparent;font:inherit;font-weight:650;color:#6b7787;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.import-stepper .on button{color:#1d4f91;font-weight:700}.import-stepper i{width:1.4rem;height:1.4rem;border-radius:999px;border:1.5px solid #c9d7ee;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:.72rem}.import-stepper .on i{background:#1d4f91;color:#fff;border-color:#1d4f91}.data-drop{min-height:8rem}.import-grid-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;margin:.8rem 0}.import-grid{width:100%;border-collapse:collapse;font-size:.85rem}.import-grid th{text-align:left;background:#eef3f8;padding:.55rem .8rem}.import-grid td{padding:.5rem .8rem;border-bottom:1px solid #eef1f5}.import-grid .cell-error{background:#fde8e8;color:#9b2c2c;font-weight:700}.data-counters{grid-template-columns:repeat(6,minmax(0,1fr))}.z-money{font-family:ui-monospace,SF Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.z-table{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 12px}.z-table header{padding:.55rem 1rem;background:#eef3f8;font-size:.72rem;font-weight:750;letter-spacing:.03em}.z-row{display:grid;grid-template-columns:1fr 70px 80px 90px;grid-gap:8px;gap:8px;padding:.5rem 1rem;border-bottom:1px solid #eef1f5;font-size:.85rem}.z-row span:nth-child(n+2){text-align:right}.z-head{color:#6b7787;font-size:.78rem}.z-till{grid-template-columns:1fr 90px 90px}.z-total{background:#f7fafd;font-weight:800;border-bottom:0}.z-total .z-money{border-top:2px solid #132033;padding-top:.2rem}.z-tx-head{align-items:center;gap:1rem;margin:1rem 0 .4rem;font-size:.75rem;font-weight:700;color:#6b7787;letter-spacing:.04em}.z-group,.z-tx-head{display:flex;justify-content:space-between}.z-group{padding:.55rem 1rem;background:#f2f7ff;font-weight:750}.z-group em{color:#1d4f91;font-style:normal;font-family:ui-monospace,SF Mono,monospace}.z-line{display:grid;grid-template-columns:70px 1fr 140px 90px;grid-gap:8px;gap:8px;padding:.45rem 1rem .45rem 1.6rem;border-bottom:1px solid #eef1f5;font-size:.82rem}.z-line span:last-child{text-align:right}.rs-grid{display:grid;grid-gap:0;gap:0;padding:0 .2rem .6rem;font-size:.82rem}.rs-head{padding:.5rem .6rem;color:#6b7787;font-weight:650}.rs-day-row>span,.rs-grid>span{padding:.45rem .6rem;border-bottom:1px solid #eef1f5}.rs-day-row.contents{display:contents}.rs-matrix a{color:#1d4f91;font-weight:650}.claimed-neg{color:#2f6fdb}.fs-assert{margin:0;padding:.55rem 1rem;border-bottom:1px solid #eef1f5;font-size:.82rem}.desk-today{grid-template-columns:repeat(2,1fr)}.visual-track{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#d9dee6;margin-top:.45rem}.visual-fill{display:block;height:100%}.visual-fill.approved,.visual-fill.claimed{background:#1d4f91}.visual-fill.unclaimed{background:#1f8a7a}.visual-fill.waiting{background:#c4a35a}.visual-empty{font-size:.8rem;color:var(--muted);padding:0 .4rem}.visual-legend{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin:0 0 .45rem;font-size:.85rem}.visual-legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.4rem;vertical-align:-1px}.visual-legend i.approved,.visual-legend i.claimed{background:#1d4f91}.visual-legend i.unclaimed{background:#1f8a7a}.visual-legend i.waiting{background:#c4a35a}.day-graph-wrap{margin:0}.day-graph{display:flex;align-items:flex-end;gap:8px;min-height:120px;overflow-x:auto;padding-top:.4rem}.day-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:28px}.day-bar{width:12px;border-radius:999px;background:#1d4f91;display:block}.day-label{font-size:.65rem;color:var(--muted)}.day-count{font-size:.65rem;color:#1d4f91;font-weight:700}.report-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;margin:1rem 0}.pack-card{text-decoration:none;color:inherit;display:block}.pill.on{background:#d7e8ff;color:#1d4f91}.id-row{display:flex;align-items:center;gap:.8rem;margin:1rem 0}.id-well{width:2.5rem;height:2.5rem;border-radius:999px;background:#d9dee6;display:inline-flex;justify-content:center;overflow:hidden}.id-well img{width:100%;height:100%;object-fit:cover}.report-drills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.run-help{padding:.8rem 1rem;margin:1rem 0}.run-file,.run-help{border:1px solid var(--line);border-radius:12px;background:#fff}.run-file{padding:1rem}.run-foot{color:var(--muted);font-size:.8rem;margin-top:1.2rem}.result-chip{display:inline-block;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:600}.result-chip.inserted{background:#d9f3e6;color:#1b7a4a}.result-chip.updated{background:#dce9fb;color:#1d4f91}.result-chip.unchanged{background:#e6e9ee;color:#5b6573}.result-chip.rejected{background:#f8d8d8;color:#9b2c2c}.result-chip.ended{background:#e4dcf3;color:#4d3b7a}.year-card{margin-top:1.5rem}.till-pad-preview{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin:.8rem 0 1rem}.till-pad-preview span{display:flex;align-items:center;min-height:3.5rem;padding:.7rem .9rem;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-weight:700}.report-letterhead{margin:0 0 1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.report-letterhead-title{font-weight:560;letter-spacing:-.03em;font-size:2rem;margin:.2rem 0 .35rem}.report-college{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--muted)}table.report-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 1.2rem}.report-table caption{text-align:left;font-weight:700;padding:.7rem .6rem .2rem;color:#132033}.report-table td,.report-table th{padding:.45rem .6rem;text-align:left}.report-table thead th{background:#f4f6f8;font-weight:600}.report-table tfoot th{border-top:2px solid var(--line);color:#132033}.mail-preview{margin-top:1.2rem;padding:1rem;background:#fff;color:#132033;border-radius:12px}.mail-preview h3{color:#132033}.mail-preview-frame{width:100%;min-height:22rem;border:1px solid #d5dde6;border-radius:8px;background:#fff}.campus-picks{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin:.6rem 0}.desk-fields .row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.8rem;gap:.8rem;align-items:end}.report-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.2rem 0 0}.what-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem}a.pot-card{text-decoration:none;color:inherit;display:block}a.pack-card:focus-visible,a.pot-card:focus-visible{outline:2px solid #1d4f91;outline-offset:2px}.what-card strong{display:block;font-size:1.6rem}.what-card span{color:var(--muted);font-size:.85rem}.what-card.accent{box-shadow:inset 0 -4px 0 var(--ok)}.what-card.accent span{color:var(--ok)}.what-card p{margin:.35rem 0 0;font-size:.78rem;color:var(--muted)}.saved-jobs{margin-top:2rem}.desk-rest{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.till-slots{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-gap:.5rem;gap:.5rem}.till-slots button{width:100%}.text-link{background:none;border:0;color:inherit;padding:0;text-decoration:underline;cursor:pointer}.footer-example{text-align:center;margin-top:3rem}.mail-connect-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin:1rem 0}.mail-from{display:flex;align-items:center;gap:.5rem;margin:0;font-weight:600}.mail-dot{width:.7rem;height:.7rem;border-radius:999px;background:#7f8ba0;display:inline-block}.mail-dot.on{background:#1f8a7a}.mail-connect-action{text-align:right}.mail-connect-action .hint{margin:.35rem 0 0}.mail-tabs{display:flex;gap:.5rem;margin:1rem 0}.mail-tabs button{background:#fff;color:var(--ink);border:1px solid var(--line)}.mail-tabs button.on{background:#d7e8ff;color:#1d4f91}.mail-editor{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.mail-head{gap:1rem;margin-bottom:1rem}.mail-head,.mail-logo{display:flex;align-items:center}.mail-logo{width:5.5rem;height:5.5rem;border:1px dashed var(--line);border-radius:12px;justify-content:center;position:relative;overflow:hidden;background:#f4f7fb}.mail-logo input{position:absolute;inset:0;opacity:0;cursor:pointer}.mail-logo img{width:100%;height:100%;object-fit:cover}.mail-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}.mail-toolbar button{background:#fff;color:var(--ink);border:1px solid var(--line);min-width:2rem}.merge-chip{background:#d7e8ff!important;color:#1d4f91!important;border-radius:999px!important}.mail-body{width:100%;min-height:14rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:.8rem}.mail-sign{font-weight:600}@media (max-width:860px){.approve-dates,.approve-grid,.desk-fields .row,.desk-filters,.desk-shell,.drop-row,.report-pack-grid,.reports-hero,.what-cards{grid-template-columns:1fr}.desk-shell{grid-template-rows:auto 1fr;align-content:start}.desk-main,.desk-shell,.phone-bar{min-width:0;width:100%;max-width:100%}.desk-nav{display:none}.phone-bar{display:flex;align-items:center;gap:.8rem;min-height:3.5rem;padding:.85rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#f4f7fb;border-bottom:1px solid var(--line)}.desk-main{padding-top:1rem;padding-left:1rem;padding-right:1rem}.director-head,.reports-head{flex-direction:column}.college-actions,.director-toolbar,.report-actions{width:100%;justify-content:flex-start}.director-hero{grid-template-columns:1fr}.report-pack-tabs{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.report-provenance .status-chip{white-space:normal;overflow-wrap:anywhere}.director-hero>*,.reports-hero>*,.z-table{min-width:0;max-width:100%}.z-table{width:100%;overflow-x:auto}.z-row{min-width:30rem}.z-line{min-width:34rem}.rs-grid{width:max-content;min-width:100%}.desk-main>.run-top,.import-run>.run-top,.outbound-mail>.run-top{display:none}.desk-sheet{display:block;position:fixed;inset:0;z-index:20}.desk-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(19,32,51,.35);cursor:pointer}.desk-sheet-card{position:absolute;background:#f4f7fb;padding:1.2rem 1rem 1.5rem;display:flex;flex-direction:column;gap:1rem;max-height:85vh;overflow:auto}.approve-sheet-card,.desk-sheet-card{left:0;right:0;bottom:0;border-radius:16px 16px 0 0}.approve-sheet-card{top:auto;transform:none;width:100%;max-height:88vh}.mail-connect-row,.mail-head{flex-direction:column}}body:has(.login-gate),body:has(.login-page),html:has(.login-gate),html:has(.login-page){color-scheme:dark;background:#101825;color:#e8edf5}.login-gate,.login-page{--bg:#101825;--ink:#e8edf5;--muted:#7f8ba0;--card:#182437;--line:#223148;color-scheme:dark}.login-gate,.login-page{min-height:var(--login-viewport-height,100svh)}.login-gate{max-width:none;margin:0;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));display:grid;place-items:center;align-content:safe center;background:#101825 url(/login-plate-canonical.jpg) 50%/cover no-repeat;overflow-x:hidden}.login-gate:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,#101825,transparent 28%,transparent 72%,#101825);opacity:.45;pointer-events:none}.login-gate-card{position:relative;width:min(26rem,100%);background:#182437;border:1px solid #223148;border-radius:20px;padding:1.6rem 1.4rem 1.8rem;text-align:center;box-shadow:0 18px 50px rgba(16,24,37,.28)}.login-gate h1{margin:.6rem 0 .35rem;color:#e8edf5;font-size:1.55rem;font-weight:800}.login-gate .signin-lead{color:#7f8ba0;margin:0 0 1.2rem}.login-gate label{display:block;text-align:left;font-size:.75rem;font-weight:600;color:#7f8ba0;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .4rem .15rem}.login-gate .signin-otp-input,.login-gate input[inputmode=numeric],.login-gate input[type=email]{width:100%;background:#1c2a40;color:#e8edf5;border:1.5px solid #8ab4f8;border-radius:14px;padding:.85rem 1rem;font-size:1rem}.login-gate button:focus-visible,.login-gate input:focus-visible{outline:3px solid #e8edf5;outline-offset:3px}.login-gate .signin-cta{background:#8ab4f8;color:#101825;margin-top:1rem;min-height:48px}.login-gate .login-scan,.login-gate .signin-text-btn{display:block;width:100%;margin-top:.9rem;background:transparent;color:#8ab4f8;border:0;font-weight:700;cursor:pointer;min-height:44px;padding:.65rem .4rem}.login-gate button:disabled{cursor:default;opacity:.58}.login-progress{display:inline-flex;align-items:center;justify-content:center;gap:.55rem}.login-operation-status{min-height:1.5rem;margin-top:.8rem;color:#aebbd0}.login-operation-status:empty{margin-top:0;min-height:0}.login-gate .login-operation-retry,.login-gate .login-recovery-action{margin-top:.45rem}.login-recovery{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #223148}.login-recovery .hint{margin:0}.login-scan-well>.login-progress{margin:.8rem 0 0}.login-spinner{width:1rem;height:1rem;border:2px solid;border-right:2px solid transparent;border-radius:999px;animation:login-spin .75s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none;border-right-color:currentColor;opacity:.7}}.login-gate .hint{color:#7f8ba0}.login-scan-well video{width:100%;border-radius:12px;margin-top:.6rem}.login-scan-well .login-scan-cancel{min-height:44px}.login-step{min-width:0}.login-access-outcome h1,.login-code-step h1,.login-context-step h1{margin-top:0}.login-code-entry{position:relative;margin-top:1rem}.login-code-cells{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:6px;gap:6px}.login-code-cell{min-width:0;height:48px;border:1.5px solid transparent;border-radius:10px;background:#1c2a40;color:#e8edf5;display:flex;align-items:center;justify-content:center;font:800 1.15rem/1 ui-monospace,SF Mono,monospace}.login-code-cell.active{border-color:#8ab4f8}.login-gate .login-code-entry .signin-otp-input{position:absolute;inset:0;width:100%;height:48px;padding:0;opacity:.02;color:transparent;caret-color:#8ab4f8}.login-code-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-top:.45rem}.login-context-choices{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:1rem}.login-context-choice{width:100%;min-height:56px;border:1px solid #223148;border-radius:14px;background:#1c2a40;color:#e8edf5;padding:.7rem 1rem;text-align:left;cursor:pointer}.login-context-choice span,.login-context-choice strong{display:block}.login-context-choice span{margin-top:.2rem;color:#7f8ba0;text-transform:capitalize}@media (max-width:360px){.login-gate{padding-inline:.5rem}.login-gate-card{padding:1.25rem .85rem 1.4rem}.login-code-cells{gap:4px}.login-code-cell{height:44px;border-radius:8px;font-size:1rem}}@media (prefers-reduced-motion:reduce){.login-gate *,.login-gate :after,.login-gate :before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.login-page .card{max-width:28rem;background:#fff}.login-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]){background:#fff;background-color:#fff;color:#132033;border-color:#d5deea;color-scheme:light}@media (prefers-color-scheme:dark){body:has(.desk-shell),html:has(.desk-shell){color-scheme:dark;background:#101825;color:#e8edf5}.desk-shell{--bg:#101825;--ink:#e8edf5;--muted:#7f8ba0;--card:#182437;--card-raised:#1c2a40;--line:#223148;--sidebar:#141e2e;--accent:#8ab4f8;--on-accent:#101825;background:#101825;color:#e8edf5}.desk-nav{background:#141e2e}.desk-bursary a.on{background:#1c3050;color:#8ab4f8}.desk-action,.desk-actions,.what-card{background:#182437;color:#e8edf5}.pot-card-claimed strong{color:#5a8fe0}.phone-bar{background:#141e2e}body:has(.login-page),html:has(.login-page){color-scheme:dark;background:#101825;color:#e8edf5}.login-page{--bg:#101825;--ink:#e8edf5;--muted:#7f8ba0;--card:#182437;--line:#223148;color-scheme:dark}.login-page .card{background:#182437}.login-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]){background:#182437;background-color:#182437;color:#e8edf5;border-color:#223148;color-scheme:dark}body:has(.import-page),html:has(.import-page){color-scheme:dark;background:#101825;color:#e8edf5}.import-page,.import-page.desk-shell{--bg:#101825;--ink:#e8edf5;--muted:#7f8ba0;--card:#182437;--line:#223148;--ok:#57c4ad;--bad:#e08080;--accent:#8ab4f8;background:#101825;color:#e8edf5;color-scheme:dark}.import-page input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),.import-page input[type=date],.import-page input[type=date]::-webkit-datetime-edit,.import-page select,.import-page textarea{background:#182437;background-color:#182437;color:#e8edf5;color-scheme:dark}.approve-card,.approve-lock,.desk-action,.desk-actions,.desk-by,.desk-list,.desk-nav,.desk-person,.desk-search,.desk-select,.desk-select select,.desk-tabs a,.mail-body,.mail-editor,.mail-tabs button,.mail-toolbar button,.phone-bar,.pill,.run-back,.run-file,.run-help,.what-card{background:#182437;color:#e8edf5}.desk-nav,.phone-bar{background:#141e2e}.approve-sheet-card,.desk-sheet-card{background:#141e2e;color:#e8edf5}.desk-group{background:#1c3050;color:#e8edf5}.chip.on,.chip[aria-pressed=true],.desk-bursary a.on,.desk-tabs a.on,.mail-tabs button.on,.pill.on{background:#1c3050;color:#8ab4f8;border-color:#223148}.students-search,.students-typeahead{background:#182437;color:#e8edf5}.students-search.on{border-color:#8ab4f8}.typeahead-row:first-child{background:#1c3050}.typeahead-row mark{background:#1c3050;color:#8ab4f8}.status-chip.approved,.status-chip.online{background:#16332e;color:var(--ok-text)}.status-chip.logged-out,.status-chip.offline,.status-chip.pending{background:var(--warn-soft);color:var(--warn-text)}.status-chip.issued{background:#1c3050;color:#8ab4f8}.status-chip.retired{background:#3a2424;color:#e08080}.status-chip.amber{background:#3a2f18;color:#e6c07b}.college-card,.logo-drop,.rate-history header,.rate-opening,.rate-parts label{background:#182437}.college-card h2,.college-kv span,.rate-opening strong,.rate-parts input{color:#e8edf5}.college-kv>div,.contact-grid,.logo-drop,.rate-history div{border-color:#223148}.rate-lock-icon{background:#1c3050;color:#8ab4f8}.rate-lock-icon.on{background:#16332e;color:#57c4ad}.rate-link,.rate-locked-by{color:var(--ok-text)}.campus-code{color:#8ab4f8}.director-table{background:#182437}.director-table header{background:#1c3050;color:#e8edf5}.z-table{background:#182437}.z-group,.z-table header{background:#1c3050}.z-total{background:#141e2e}.z-total .z-money{border-top-color:#e8edf5}.hamburger span{background:#e8edf5}.id-well,.visual-track{background:#223148}.desk-chevron{color:#e8edf5!important}.approve-sheet-backdrop,.desk-sheet-backdrop{background:rgba(4,8,16,.55)}.import-grid th{background:#1a2740;color:#e8edf5}.import-grid .row-invalid{background:#351f22}.import-grid .cell-error{background:#4a2326;color:#e08080}}.college-main{max-width:68rem}.college-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 1rem}.college-toolbar .import-lead{margin:0;max-width:36rem}.college-actions{display:flex;gap:.5rem;flex-shrink:0}.college-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:1rem;gap:1rem}.college-col{display:flex;flex-direction:column;gap:.9rem}.college-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.15rem}.college-card h2{font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;margin:0 0 .7rem;color:#132033}.college-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.college-fields .span-2,.college-fields label.span-2{grid-column:span 2}.college-card label,.college-fields label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.72rem;color:var(--muted);font-weight:650}.college-card .hint{font-size:.72rem;color:#8a95a3;margin:.65rem 0 0}.contact-grid{display:grid;grid-template-columns:9.5rem 1fr 1.4fr;grid-gap:.5rem;gap:.5rem;align-items:center;padding:.55rem 0;border-bottom:1px solid #eef1f5}.contact-head{font-size:.72rem;color:var(--muted);padding-bottom:.4rem}.college-card .text-link{color:#1d4f91;font-weight:650;background:none;border:0;padding:.6rem 0 0;cursor:pointer;text-align:left}.logo-row{display:flex;gap:.9rem;align-items:center}.logo-tile{width:4.6rem;height:4.6rem;border-radius:14px;background:#16233a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;object-fit:cover;flex-shrink:0}.logo-drop{flex:1 1;border:1px dashed #cfdae8;border-radius:12px;background:#f7fafd;padding:.8rem;text-align:center;position:relative;cursor:pointer;display:grid;grid-gap:.15rem;gap:.15rem}.logo-drop strong{color:#1d4f91;font-size:.85rem}.logo-drop span{color:var(--muted);font-size:.72rem}.logo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.logo-foot{display:flex;justify-content:space-between;gap:.8rem;font-size:.75rem;color:#8a95a3;margin-top:.7rem}.logo-remove{color:#d0342c!important;padding:0!important}.college-kv>div{display:flex;justify-content:space-between;gap:.8rem;padding:.55rem 0;border-bottom:1px solid #eef1f5;font-size:.85rem}.college-kv>div:last-of-type{border-bottom:0}.college-kv span{font-weight:600;color:#132033}.college-kv em{font-style:normal;color:var(--muted)}.rate-link{color:var(--ok-text);font-weight:700;text-decoration:none}.operating-dates{margin:.4rem 0}.college-rate-grid{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:1rem;gap:1rem;margin-top:1.2rem}.rate-lock-head{display:flex;gap:.65rem;align-items:center}.rate-lock-head h2{margin:0;text-transform:none;letter-spacing:0;font-size:1rem}.rate-lock-icon{width:2rem;height:2rem;border-radius:10px;background:#eef2f7;color:#1d4f91;display:inline-flex;align-items:center;justify-content:center}.rate-lock-icon.on{background:#e4f4f1;color:#0d9488}.rate-locked-by{color:var(--ok-text);font-weight:650;font-size:.8rem;margin:.15rem 0 0}.rate-parts{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin:1rem 0 .75rem}.rate-parts label{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem .9rem;background:#f7fafd;text-transform:uppercase;letter-spacing:.04em}.rate-parts input{font-size:1.4rem;font-weight:800;color:#132033;background:transparent;border:0;padding:.2rem 0 0}.rate-opening{display:flex;justify-content:space-between;align-items:baseline;background:#f2f7ff;border-radius:12px;padding:.8rem 1rem;margin:0 0 .75rem}.rate-opening strong{font-size:1.6rem;color:#1d4f91}.rate-actions{display:flex;gap:.75rem;align-items:center;margin-top:.8rem}.rate-history{padding:0;overflow:hidden;margin-top:.9rem}.rate-history div,.rate-history header{display:flex;justify-content:space-between;gap:.8rem;padding:.7rem 1.1rem;font-size:.85rem}.rate-history header{background:#eef3f8;font-size:.75rem;font-weight:700}.rate-history div{border-top:1px solid #eef1f5}.rate-history em{font-style:normal;color:var(--muted)}.report-logo{width:3.2rem;height:3.2rem;border-radius:10px;object-fit:cover;margin:0 0 .5rem}.login-logo{width:3.6rem;height:3.6rem;border-radius:12px;object-fit:cover;margin:0 0 .6rem;display:block}.structure-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem;margin:1rem 0}.structure-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.structure-card header{display:flex;justify-content:space-between;gap:.6rem;padding:.75rem 1rem;background:#dce6f2;font-size:.82rem;font-weight:750}.structure-place{padding:.7rem 1rem;border-bottom:1px solid #eef1f5}.structure-place-head{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.structure-tills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.structure-card .text-link{padding:.7rem 1rem}.structure-providers{padding:0;overflow:hidden}.structure-providers header,.structure-providers>div{display:flex;justify-content:space-between;gap:.8rem;padding:.7rem 1.1rem;font-size:.88rem}.structure-providers header{background:#eef3f8;font-size:.75rem;font-weight:700}.structure-providers>div{border-top:1px solid #eef1f5}.structure-next{margin:0 0 1rem;padding-left:1.2rem;color:var(--muted)}.id-well{display:flex;justify-content:space-between;align-items:center;background:#f4f7fb;border-radius:12px;padding:.7rem 1rem;margin-bottom:.8rem;font-size:.72rem;font-weight:700;letter-spacing:.03em}.eligibility-table{padding:0;overflow:hidden}.eligibility-table header,.eligibility-table>div{display:grid;grid-template-columns:5rem 1.6fr 9rem 4.5rem 8rem;grid-gap:.6rem;gap:.6rem;padding:.7rem 1.1rem;align-items:center;font-size:.85rem}.eligibility-table header{background:#eef3f8;font-size:.72rem;font-weight:700;letter-spacing:.03em}.eligibility-table>div{border-top:1px solid #eef1f5}.eligibility-table .retired-row{opacity:.65}.eligibility-table .text-link{padding:0}.agent-layout{display:grid;grid-template-columns:1.2fr .9fr;grid-gap:1rem;gap:1rem}.agent-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.agent-tiles{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.7rem;gap:.7rem;margin:1rem 0}.agent-tiles>div{background:#f7fafd;border-radius:12px;padding:.8rem}.agent-tiles span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}.agent-tiles strong{display:block;font-size:1.15rem;margin:.2rem 0}.agent-tiles strong.ok{color:var(--ok-text)}.agent-tiles em{font-style:normal;font-size:.75rem;color:var(--muted)}.agent-runs{padding:.8rem 1rem}.agent-runs article{border-top:1px solid #eef1f5;padding:.7rem 0}.import-holds{padding:.8rem 1rem;margin-top:.9rem}.import-holds article{border-top:1px solid #eef1f5;padding:.7rem 0}.key-once{background:#16233a;color:#fff;border-radius:12px;padding:1rem}.key-once code{display:block;word-break:break-all;margin-bottom:.7rem}.apps-main{max-width:84rem}.apps-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 .9rem}.apps-narrow{display:flex;gap:.4rem;margin-left:auto}.apps-narrow input,.apps-narrow select{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.28rem .85rem;font:inherit;font-size:.85rem}.apps-empty{font-size:1.05rem;margin:1.2rem 0}.apps-failed{display:flex;justify-content:space-between;align-items:center;gap:1rem}.apps-failed p{margin:0;font-size:1.05rem}.apps-student{display:flex;gap:.65rem;align-items:center}.apps-student strong{display:block}.apps-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;color:#1d4f91;font-weight:700}.apps-handled{display:block;color:var(--muted);font-size:.75rem;margin-top:.25rem}.apps-more{margin:.9rem 0 0}.apps-note{color:var(--muted);font-size:.8rem;margin:1.1rem 0 0}.status-chip.apps-received{background:#d7e8ff;color:#1d4f91}.status-chip.apps-review{background:#dff3ef;color:#0b6f66}.status-chip.apps-waiting{background:#f7eeda;color:#8a6116}.status-chip.apps-approved{background:#e4f4f1;color:#0d9488}.status-chip.apps-declined{background:#f8d8d8;color:#9b2c2c}.status-chip.apps-closed{background:#eef1f5;color:#55606f}@media (max-width:900px){.apps-narrow{margin-left:0}}@media (prefers-color-scheme:dark){.apps-narrow input,.apps-narrow select{background:#182437;color:#e8edf5}.apps-id{color:#8ab4f8}.status-chip.apps-received{background:#1c3050;color:#8ab4f8}.status-chip.apps-review{background:#16332e;color:#57c4ad}.status-chip.apps-waiting{background:#3a2f18;color:#e6c07b}.status-chip.apps-approved{background:#16332e;color:#57c4ad}.status-chip.apps-declined{background:#3a2424;color:#e08080}.status-chip.apps-closed{background:#222c3c;color:#b9c3d1}}@media (max-width:900px){.agent-layout,.agent-tiles,.college-grid,.college-rate-grid,.structure-cards{grid-template-columns:1fr}.college-toolbar{flex-direction:column}}@media (prefers-color-scheme:dark){.import-page .college-card,.import-page .logo-drop,.import-page .rate-history header,.import-page .rate-opening,.import-page .rate-parts label{background:#182437}.import-page .college-card h2,.import-page .college-kv span,.import-page .rate-parts input{color:#e8edf5}.import-page .rate-opening strong{color:#8ab4f8}.import-page .id-well,.import-page .structure-card{background:#182437}.import-page .structure-card header{background:#1c3050;color:#e8edf5}}.mail-preview-logo{max-height:3rem;margin-bottom:.8rem}.mail-preview-body{white-space:pre-wrap;background:#f4f7fb;padding:.8rem;border-radius:8px;font-size:.85rem}@media print{.no-print,button,nav{display:none!important}body,html,main{background:white;color:black}caption,h1,h2,label,p,td,th{color:black}.card,.report-letterhead,.report-table{border-color:#ccc;background:white;page-break-inside:avoid;break-inside:avoid}.pack{page-break-after:always}a{color:black;text-decoration:none}.report-college{color:#555}}body:has(.student-pwa),html:has(.student-pwa){background:#f4f7fb;color:#132033}.student-pwa{min-height:100vh;max-width:42rem;margin:0 auto;background:#f4f7fb}.student-page{max-width:25.125rem;margin:0 auto;padding:1.25rem 1.1rem 6.5rem}.student-page.has-tabs{padding-bottom:7rem}.student-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.student-head h1,.student-page>h1{margin:0;font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:#132033}.student-head p,.student-lead{margin:.25rem 0 1rem;font-size:.9rem}.student-avatar{width:2.25rem;height:2.25rem;border-radius:999px;background:#d9c7f0;color:#4a2d73;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;text-decoration:none}.student-hero{background:#16233a;color:#fff;border-radius:1.25rem;padding:1.2rem 1.15rem 1.1rem;display:grid;grid-gap:.55rem;gap:.55rem}.student-hero p,.student-hero-amount{color:#d5deea;margin:0}.student-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8ab4f8}.student-hero-amount{font-size:1.35rem;font-weight:800;color:#fff;line-height:1.2}.student-cta{display:block;text-align:center;background:#8ab4f8;color:#16233a;font-weight:800;border-radius:13px;padding:.9rem 1rem;text-decoration:none;min-height:44px}.student-steps{list-style:none;padding:0;margin:.6rem 0 1rem;background:#fff;border-radius:18px}.student-steps li{padding:.85rem 1rem;border-bottom:1px solid #eef1f5;color:#132033}.student-steps li:last-child{border-bottom:0}.student-card{background:#fff;border-radius:18px;padding:1rem 1.05rem;margin:.75rem 0;display:grid;grid-gap:.55rem;gap:.55rem}.student-card.status strong{color:#132033}.student-row{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;margin:0}.student-available{font-size:2.4rem;font-weight:800;color:#0d9488;margin:0;letter-spacing:-.04em}.student-available.muted{color:#6b7787;font-size:1.4rem}.student-used{margin:0;font-size:.85rem}.student-bar{height:7px;border-radius:99px;background:#e8ecf2;overflow:hidden}.student-bar i{display:block;height:100%;background:#2f6fdb}.student-hint{font-size:.78rem;margin:.2rem 0 0}.student-upload{display:grid;grid-gap:.25rem;gap:.25rem;border:1px dashed #c5d3e6;border-radius:16px;padding:1.1rem;text-align:center;position:relative;cursor:pointer;background:#f7fafd}.student-upload.camera{text-align:left;border-style:solid;margin-top:.5rem}.student-upload strong{color:#1d4f91}.student-upload em{position:absolute;right:.8rem;top:.8rem;font-style:normal;font-size:.7rem;font-weight:800;color:#0d9488;background:#e4f4f1;border-radius:99px;padding:.15rem .5rem}.student-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.student-timeline{list-style:none;padding:0;margin:0;display:grid;grid-gap:.7rem;gap:.7rem}.student-timeline li{color:#8a95a3}.student-timeline li.done,.student-timeline li.on{color:#132033;font-weight:650}.student-tx{display:flex;justify-content:space-between;gap:.8rem;margin:.35rem 0 0}.student-tx strong{color:#132033;display:block}.student-tx em{font-style:normal;font-size:.78rem;color:var(--muted)}.student-tx.away strong{color:#c23b3b}.student-money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.student-chips{display:inline-flex;gap:.35rem;margin-left:.6rem}.student-chips a{border:1px solid var(--line);border-radius:99px;padding:.25rem .7rem;text-decoration:none;font-size:.8rem;min-height:32px;display:inline-flex;align-items:center}.student-chips a.on{background:#1d4f91;color:#fff;border-color:#1d4f91}.student-foot{font-size:.78rem;margin:1rem 0 0}.student-pwa-tabs{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;display:flex;gap:4px;margin:0;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(19,32,51,.16);border:0}.student-pwa-tabs a{min-width:4.6rem;min-height:44px;border:0;border-radius:999px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;font-size:10px;font-weight:600;color:#5c636b;background:transparent;padding:6px 18px}.student-pwa-tabs a.on{background:#dbe7f6;color:#1d4f91;font-weight:700}.student-pwa-tabs svg{width:20px;height:20px}.student-page.has-tabs{padding-bottom:6.5rem}.student-award-line{margin:0;color:#6b7787;font-size:.92rem}.bursary-approved{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.bursary-approved .student-kicker{color:#0d9488;margin:0}.bursary-approved .student-lock-mark{width:36px;height:36px;border-radius:11px;background:#e4f4f1;color:#0d9488;display:inline-flex;align-items:center;justify-content:center;flex:none}.bursary-approved .student-lock-mark svg{width:18px;height:18px}.bursary-approved .desk-chevron{margin-left:auto;color:#b5bac1}.student-evidence-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:0;padding:.7rem 0;border-bottom:.5px solid #e3e5e9}.student-evidence-row:last-of-type{border-bottom:0}.student-evidence-row strong{display:block;font-size:.95rem}.student-evidence-row em{display:block;color:#8a9099;font-style:normal;font-size:.78rem}.student-evidence-row .ok{font-size:.7rem;font-weight:700;color:#0d9488;background:#e4f4f1;border-radius:999px;padding:.15rem .5rem;flex:none}.student-text-btn{background:none;border:0;color:#1d4f91;font-weight:700;padding:.6rem 0}.pwa-banner{display:flex;justify-content:space-between;gap:.8rem;align-items:center;background:#16233a;color:#fff;padding:.7rem 1rem;font-size:.82rem}.pwa-banner p{margin:0;color:#d5deea}.student-signin{max-width:25.125rem;margin:0 auto;padding:2.6rem 1.4rem 3rem;text-align:center}.signin-mark{width:56px;height:56px;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;margin:0 auto 14px}.signin-mark i:first-child{background:#2f6fdb}.signin-mark i:last-child{background:#2f9d6a}.student-signin h1{margin:0;font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:#111}.signin-lead{margin:.4rem 0 1.5rem;font-size:.9rem;color:#6d7278}.student-signin form{text-align:left}.student-signin label{display:block;font-size:.8rem;font-weight:600;color:#6d7278;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .4rem .15rem}.student-signin input[type=email]{width:100%;background:#fff;border:1.5px solid #1d4f91;border-radius:14px;padding:.85rem 1rem;font-size:1rem;font-weight:650;color:#111}.signin-cta{display:block;width:100%;margin-top:1rem;background:#1d4f91;color:#fff;border:0;border-radius:14px;padding:.95rem 1rem;font:inherit;font-size:1rem;font-weight:800;cursor:pointer;min-height:48px}.signin-cta:disabled{opacity:.6}.student-signin .hint{text-align:center;color:#8a9099;font-size:.8rem;margin:.75rem 0 0}.signin-biometric{display:flex;align-items:flex-start;gap:.7rem;width:100%;margin-top:.9rem;background:#fff;border:0;border-radius:16px;padding:.8rem 1rem;text-align:left;font:inherit;color:inherit;cursor:pointer}div.signin-biometric{cursor:default}.signin-biometric-icon{width:36px;height:36px;border-radius:11px;background:#dbe7f6;color:#1d4f91;display:inline-flex;align-items:center;justify-content:center;flex:none}.signin-biometric-icon svg{width:20px;height:20px}.signin-biometric strong{display:block;font-size:.9rem;font-weight:700;color:#111}.signin-biometric em{display:block;font-style:normal;font-size:.75rem;color:#6d7278;margin-top:.1rem}.signin-code{margin-top:1.4rem;background:#fff;border-radius:18px;padding:1rem}.signin-otp-wrap{position:relative;margin-top:.6rem}.signin-otp{display:flex;gap:7px;justify-content:space-between}.signin-otp span{flex:1 1;height:48px;border-radius:10px;background:#f2f2f7;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:#111}.signin-otp span.on{border:1.5px solid #1d4f91;background:#fff}.signin-otp-input{position:absolute;inset:0;width:100%;height:48px;opacity:.02;font-size:1.25rem;letter-spacing:1.6rem;background:transparent;border:0;color:transparent;caret-color:#1d4f91}.signin-text-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:#1d4f91;cursor:pointer}.signin-foot{margin-top:1.4rem;line-height:1.5}.pwa-banner button{background:#8ab4f8;color:#16233a;border:0;border-radius:10px;font-weight:800;min-height:36px;padding:0 .85rem}.student-appearance{display:flex;background:#f4f7fb;border-radius:14px;padding:.2rem}.student-appearance button{flex:1 1;border:0;background:transparent;min-height:40px;border-radius:12px;font-weight:650;color:#6b7787}.student-appearance button.on{background:#fff;color:#132033}.student-signout{width:100%;min-height:48px;border:0;border-radius:16px;background:#fff;color:#c23b3b;font-weight:800}.profile-hero{display:flex;gap:.85rem;align-items:center}.profile-hero .student-avatar{width:3.2rem;height:3.2rem;font-size:1rem}.profile-hero strong{color:#132033;font-size:1.05rem}.ok{color:var(--ok-text);font-weight:750}.student-range{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin:.4rem 0 1rem}.student-range label{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.72rem;font-weight:700}.student-range button{min-height:40px;border-radius:10px;border:0;background:#1d4f91;color:#fff;padding:0 .9rem;font-weight:750}@media (min-width:720px){.student-page{max-width:28rem;padding-top:1.8rem}.student-pwa{max-width:80rem}}@media (prefers-color-scheme:dark){body:has(.student-pwa):not([data-theme=light]),html:has(.student-pwa):not([data-theme=light]){background:#101825;color:#e8edf5}html:has(.student-pwa):not([data-theme=light]) .student-card,html:has(.student-pwa):not([data-theme=light]) .student-pwa,html:has(.student-pwa):not([data-theme=light]) .student-signout,html:has(.student-pwa):not([data-theme=light]) .student-steps{background:#182437;color:#e8edf5}html:has(.student-pwa):not([data-theme=light]) .signin-biometric strong,html:has(.student-pwa):not([data-theme=light]) .student-head h1,html:has(.student-pwa):not([data-theme=light]) .student-page>h1,html:has(.student-pwa):not([data-theme=light]) .student-signin h1,html:has(.student-pwa):not([data-theme=light]) .student-tx strong{color:#e8edf5}html:has(.student-pwa):not([data-theme=light]) .signin-biometric,html:has(.student-pwa):not([data-theme=light]) .signin-code{background:#1c2a40}html:has(.student-pwa):not([data-theme=light]) .signin-otp span{background:#101825;color:#e8edf5}html:has(.student-pwa):not([data-theme=light]) .signin-cta{background:#8ab4f8;color:#101825}}html[data-theme=dark] .student-pwa{background:#101825}html[data-theme=light] .student-pwa{background:#f4f7fb}.report-unavailable{margin:24px 0;padding:20px}.report-provenance{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:16px 0;padding:12px 16px;border:1px solid var(--line,#d9dde4);border-radius:12px;font-size:.82rem}.report-provenance-details{margin:24px 0 8px;color:var(--ink-2)}.report-provenance-details summary{cursor:pointer;font-weight:600;color:var(--ink-2)}.report-provenance-details .report-provenance{margin-top:12px}body:has(.public-landing),html:has(.public-landing){min-height:100%;background:radial-gradient(circle at 18% 8%,rgba(47,111,219,.22),transparent 34rem),radial-gradient(circle at 88% 34%,rgba(47,157,106,.18),transparent 30rem),#08111f;color:#f7f9fc}.public-landing{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 2.25rem}.public-footer,.public-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}.public-nav{min-height:64px}.public-footer a,.public-nav a{color:inherit;text-decoration:none}.public-footer>div,.public-nav>div{display:flex;align-items:center;gap:1rem}.public-brand{display:inline-flex;align-items:center;gap:.65rem;font-weight:850}.public-brand .signin-mark{width:32px;height:32px;border-radius:9px;margin:0}.public-primary,.public-secondary,.public-sign-in{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:0 1.1rem;font-weight:760;text-decoration:none}.public-primary,.public-sign-in{background:#f7f9fc;color:#08111f!important}.public-hero{max-width:850px;padding:clamp(5rem,11vw,9rem) 0 clamp(4rem,9vw,7rem)}.public-eyebrow{color:#8fc6ff;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:820}.public-hero h1{max-width:820px;margin:.65rem 0 1.25rem;font-size:clamp(3rem,8vw,6.7rem);line-height:.95;letter-spacing:-.065em}.public-hero>p:not(.public-eyebrow){max-width:670px;color:#bdc8d8;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.55}.public-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.public-secondary{border:1px solid rgba(255,255,255,.3);color:#f7f9fc}.public-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.public-review,.public-role-grid article{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);box-shadow:0 20px 80px rgba(0,0,0,.22);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.public-role-grid article{min-height:250px;border-radius:28px;padding:1.5rem}.public-role-grid article>span{color:#7f91a8;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.public-role-grid h2{margin:4rem 0 .6rem;font-size:1.6rem}.public-review>p,.public-role-grid p{color:#b8c3d2;line-height:1.55}.public-review{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:2rem;gap:2rem;margin:1rem 0 4rem;border-radius:28px;padding:clamp(1.5rem,4vw,3.25rem)}.public-review h2{margin:.4rem 0 0;font-size:clamp(1.7rem,4vw,2.7rem)}.public-footer{color:#9eabbc;border-top:1px solid rgba(255,255,255,.12);padding-top:1.25rem}main.legal h2:focus{outline:3px solid #1d4f91;outline-offset:4px}@media (max-width:720px){.public-nav>div a:first-child{display:none}.public-review,.public-role-grid{grid-template-columns:1fr}.public-role-grid article{min-height:210px}.public-role-grid h2{margin-top:2.5rem}.public-footer{align-items:flex-start;flex-direction:column}}.apps-review-main{max-width:96rem}.apps-review-back{margin:0 0 .6rem}.apps-review-back a{color:#1d4f91;font-weight:600;text-decoration:none}.apps-review-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;margin:0 0 1rem}.apps-review-head h1{margin:0;font-size:1.45rem}.apps-review-head-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.apps-review-conflict{background:#fff6e0;border:1px solid #e7c56a;border-radius:10px;padding:.6rem .8rem;margin:0 0 .9rem;font-size:.95rem}.apps-review-rejected{color:#a3261f;font-size:.9rem;margin:.4rem 0 0}.apps-review-grid{display:grid;grid-gap:1rem;gap:1rem;align-items:start;grid-template-columns:minmax(0,22rem) minmax(0,1fr) minmax(0,22rem)}.apps-review-left{display:grid;grid-gap:1rem;gap:1rem}.apps-review-eyebrow{margin:0 0 .5rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.apps-review-facts{display:grid;grid-template-columns:auto 1fr;grid-gap:.25rem .8rem;gap:.25rem .8rem;margin:.8rem 0 0;font-size:.9rem}.apps-review-facts dt{color:var(--muted)}.apps-review-facts dd{margin:0}.apps-review-quote{margin:.7rem 0 0;font-style:italic}.apps-review-timeline ol{list-style:none;margin:0;padding:0;display:grid;grid-gap:.7rem;gap:.7rem}.apps-review-timeline li{border-left:2px solid #dbe4ef;padding-left:.7rem}.apps-review-timeline p{margin:0;font-size:.9rem}.apps-review-viewer{display:grid;grid-gap:.7rem;gap:.7rem}.apps-review-viewer>header{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}.apps-review-viewer>header strong{display:block}.apps-review-viewer>header p{margin:0}.apps-review-tools{display:flex;gap:.35rem;align-items:center}.apps-review-tools button{min-width:2.2rem}.apps-review-page{background:#0f1724;border-radius:12px;min-height:24rem;overflow:auto;display:flex;align-items:center;justify-content:center;padding:.8rem}.apps-review-page img{max-width:100%;transform-origin:center center}.apps-review-page object{width:100%;min-height:32rem;border:0;background:#fff}.apps-review-page object a{color:#1d4f91;display:inline-block;padding:1rem}.apps-review-paging{display:flex;gap:.4rem;margin:0}.apps-review-strip{list-style:none;display:flex;gap:.5rem;margin:0;padding:0;overflow-x:auto}.apps-review-strip button{display:grid;grid-gap:.2rem;gap:.2rem;justify-items:start;width:10rem;text-align:left;background:none;border:1px solid #dbe4ef;border-radius:10px;padding:.4rem;cursor:pointer}.apps-review-strip button.on{border-color:#1d4f91;box-shadow:0 0 0 1px #1d4f91}.apps-review-strip img{width:100%;height:4.5rem;object-fit:cover;border-radius:6px}.apps-review-strip span{font-size:.78rem}.apps-review-glyph{display:flex;align-items:center;justify-content:center;width:100%;height:4.5rem;background:#eef3f8;border-radius:6px;font-weight:700;color:#1d4f91;letter-spacing:.06em}.apps-review-foot{font-size:.78rem;letter-spacing:.02em}.apps-review-empty,.apps-review-foot{margin:0;color:var(--muted)}.apps-review-decision{display:grid;grid-gap:.5rem;gap:.5rem;align-content:start}.apps-review-done{margin:0;font-weight:600;color:#1f7a4d}.apps-review-todo{margin:0;font-weight:600;color:#a3261f}.apps-review-checklist{list-style:none;margin:.2rem 0 .6rem;padding:0;display:grid;grid-gap:.45rem;gap:.45rem}.apps-review-checklist label,.apps-review-share{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem}.apps-review-note{display:block}.apps-review-note input,.apps-review-note textarea{width:100%;border:1px solid #d5dde7;border-radius:10px;padding:.55rem .7rem;font:inherit;background:#fff;color:inherit}.apps-review-reasons{border:0;margin:0;padding:0;min-width:0}.apps-review-reasons legend{padding:0;margin:0 0 .4rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.apps-review-reasons ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.apps-review-reasons label{display:flex;gap:.55rem;align-items:flex-start}.apps-review-reasons label>span{display:grid;grid-gap:.1rem;gap:.1rem}.apps-review-rejected small{display:block;margin-top:.2rem;color:var(--muted);font-size:.75rem}.apps-outcome{display:flex;gap:1rem;align-items:center;justify-content:space-between;background:#e7f3ea;border:1px solid #9ac9ab;margin:0 0 .9rem;font-size:.95rem}.apps-outcome,.apps-review-accepted{border-radius:10px;padding:.6rem .8rem}.apps-review-accepted{background:#eef3f8}.apps-review-accepted p{margin:0}@media (max-width:1280px){.apps-review-grid{grid-template-columns:minmax(0,1fr) minmax(0,24rem)}.apps-review-viewer{grid-column:1/-1;order:-1}}@media (max-width:900px){.apps-review-grid{grid-template-columns:minmax(0,1fr)}.apps-review-viewer{grid-column:auto;order:0}}@media (prefers-color-scheme:dark){.apps-review-conflict{background:#3a2f14;border-color:#6d5a24;color:#f3e6c4}.apps-review-strip button{border-color:#22314a}.apps-review-glyph{background:#1c3050;color:#cfe0f5}.apps-review-accepted{background:#1c3050}.apps-outcome{background:#16361f;border-color:#2f6b42;color:#dff0e4}.apps-review-timeline li{border-left-color:#22314a}.apps-review-note input,.apps-review-note textarea{background:#182437;color:#e8edf5;border-color:#22314a}}:root{--bg:#f4f7fb;--card:#fff;--card-raised:#fff;--surface-2:#eef3f8;--sidebar:#eef2f7;--line:#d5deea;--hairline:#eef1f5;--ink:#132033;--ink-2:#5f6b7b;--muted:#6b7787;--accent:#1d4f91;--on-accent:#fff;--accent-soft:#d7e8ff;--brand:#2f6fdb;--navy:#16233a;--ok:#0d9488;--ok-text:#1f6f4a;--ok-soft:#e4f4f1;--warn-text:#8a6116;--warn-soft:#f7eeda;--bad:#e08080;--bad-text:#9b2c2c;--bad-soft:#f8d8d8;--focus:#1d4f91;--r-sm:8px;--r-md:12px;--r-lg:16px;--dot-online:#1f9d6a;--dot-offline:#c9892a;--dot-idle:#9aa0aa;--live:#3ecf8e;--on-navy:#fff;--on-navy-2:#b9c6d8;--part:#8fb6ee;--day-full:#1d4f91;--qr-paper:#fff}@media (prefers-color-scheme:dark){.desk-shell,html:not([data-theme=light]) .student-pwa{--bg:#101825;--card:#182437;--card-raised:#1c2a40;--surface-2:#1c3050;--sidebar:#141e2e;--line:#223148;--hairline:#22314a;--ink:#e8edf5;--ink-2:#7f8ba0;--muted:#7f8ba0;--accent:#8ab4f8;--on-accent:#101825;--accent-soft:#1c3050;--brand:#5a8fe0;--ok:#57c4ad;--ok-text:#57c4ad;--ok-soft:#16332e;--warn-text:#e6c07b;--warn-soft:#3a2f18;--bad:#e08080;--bad-text:#e08080;--bad-soft:#3a2424;--focus:#8ab4f8}}html[data-theme=dark] .student-pwa{--bg:#101825;--card:#182437;--card-raised:#1c2a40;--surface-2:#1c3050;--sidebar:#141e2e;--line:#223148;--hairline:#22314a;--ink:#e8edf5;--ink-2:#7f8ba0;--muted:#7f8ba0;--accent:#8ab4f8;--on-accent:#101825;--accent-soft:#1c3050;--brand:#5a8fe0;--ok:#57c4ad;--ok-text:#57c4ad;--ok-soft:#16332e;--warn-text:#e6c07b;--warn-soft:#3a2f18;--bad:#e08080;--bad-text:#e08080;--bad-soft:#3a2424;--focus:#8ab4f8}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.fm-top :focus-visible,.key-once :focus-visible,.pwa-banner :focus-visible,.student-hero :focus-visible,.ui-hero :focus-visible{outline-color:#c9dcff}