:root{--portal-deep:#0e382c;--portal-green:#164b3a;--portal-green-2:#176148;--portal-gold:#d7a436;--portal-ink:#172235;--portal-muted:#667085;--portal-bg:#f4f7f6;--portal-border:#dce4e1;--bs-primary:#176b50;--bs-primary-rgb:23,107,80}.theme-ocean{--portal-deep:#073b4c;--portal-green:#0b6477;--portal-green-2:#1286a2;--portal-gold:#f0b34c;--portal-bg:#f0f8fa;--portal-border:#d1e6eb;--bs-primary:#0b7285;--bs-primary-rgb:11,114,133}.theme-royal{--portal-deep:#20295c;--portal-green:#3547a2;--portal-green-2:#5269cd;--portal-gold:#e4b85b;--portal-bg:#f4f5fc;--portal-border:#d9ddf0;--bs-primary:#4157bb;--bs-primary-rgb:65,87,187}.theme-plum{--portal-deep:#481c4e;--portal-green:#6c2f72;--portal-green-2:#914996;--portal-gold:#e1ad65;--portal-bg:#faf4fa;--portal-border:#ead8eb;--bs-primary:#7a387f;--bs-primary-rgb:122,56,127}.theme-sunset{--portal-deep:#63301c;--portal-green:#9b4325;--portal-green-2:#cc6634;--portal-gold:#f1c35c;--portal-bg:#fff7f0;--portal-border:#f0dfd2;--bs-primary:#ad4e2a;--bs-primary-rgb:173,78,42}*{box-sizing:border-box}body{background:var(--portal-bg);color:var(--portal-ink);min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.portal-nav{background:linear-gradient(100deg,var(--portal-deep),var(--portal-green-2));box-shadow:0 8px 30px rgba(11,49,37,.16)}.navbar-brand small{display:block;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.brand-mark,.brand-logo{display:grid;place-items:center;width:36px;height:36px;background:var(--portal-gold);color:var(--portal-deep);border-radius:10px;font-family:Georgia,serif;font-weight:800;object-fit:contain}.portal-footer{padding:1.35rem 0;margin-top:3rem;background:#e8efec;color:#56655f;font-size:.85rem}.public-shell{max-width:1180px}.hero-panel{background:radial-gradient(circle at 86% 18%,rgba(215,164,54,.3),transparent 23%),linear-gradient(135deg,var(--portal-deep),var(--portal-green-2));color:white;border-radius:24px;padding:clamp(2rem,5vw,5rem);box-shadow:0 20px 60px rgba(12,52,40,.18)}.hero-panel h1{font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;max-width:700px;margin:1.2rem 0 1.5rem}.hero-panel .lead{max-width:650px;color:rgba(255,255,255,.8)}.eyebrow{font-size:.71rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#b27e15}.hero-panel .eyebrow{color:#f2ce7f}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3.5rem}.trust-grid>div{border-top:1px solid rgba(255,255,255,.25);padding-top:1rem}.trust-grid span{font-family:Georgia,serif;color:#f2ce7f}.trust-grid strong,.trust-grid small{display:block}.trust-grid small{color:rgba(255,255,255,.68);margin-top:.35rem}.portal-card{border:1px solid var(--portal-border);border-radius:18px;box-shadow:0 10px 34px rgba(27,59,48,.06);overflow:hidden}.security-note{display:flex;gap:.8rem;background:#edf7f2;color:#285d4c;padding:1rem;border-radius:12px}.btn-primary{--bs-btn-bg:var(--bs-primary);--bs-btn-border-color:var(--bs-primary);--bs-btn-hover-bg:var(--portal-deep);--bs-btn-hover-border-color:var(--portal-deep)}.form-control,.form-select{border-color:#cfdad6;padding:.72rem .85rem}.form-control:focus,.form-select:focus{border-color:var(--portal-green-2);box-shadow:0 0 0 .22rem rgba(23,107,80,.14)}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-title{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.15rem);margin:.15rem 0}.student-profile{display:flex;gap:1.5rem;align-items:center}.avatar-placeholder{display:grid;place-items:center;flex:0 0 86px;width:86px;height:86px;border-radius:22px;background:#dcece6;color:var(--portal-green-2);font:700 2.2rem Georgia,serif}.profile-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;width:100%}.profile-grid div,.detail-grid div,.verification-grid div{border-bottom:1px solid #e8eeeb;padding-bottom:.65rem}.profile-grid dt,.detail-grid dt,.verification-grid dt{color:var(--portal-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.profile-grid dd,.detail-grid dd,.verification-grid dd{font-weight:650;margin:.25rem 0 0}.balance-card{background:linear-gradient(135deg,var(--portal-deep),var(--portal-green-2));color:white;border-radius:18px;padding:1.8rem;display:flex;flex-direction:column;justify-content:center;box-shadow:0 12px 40px rgba(15,74,55,.18)}.balance-card span,.balance-card small{color:rgba(255,255,255,.68)}.balance-card strong{font:700 2.2rem Georgia,serif;margin:.35rem 0}.selected-total{text-align:right}.selected-total small,.selected-total strong{display:block}.selected-total strong{color:var(--portal-green);font-size:1.25rem}.fee-table thead th,.admin-table thead th{white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:#667085;background:#f8faf9;padding:1rem}.fee-table td,.admin-table td{padding:1rem}.status-pill{display:inline-flex;align-items:center;padding:.3rem .6rem;border-radius:999px;background:#e9eeec;color:#53615c;font-size:.72rem;font-weight:750;text-transform:capitalize;white-space:nowrap}.status-paid,.status-verified,.status-matched,.status-completed,.status-approved{background:#d9f3e8;color:#126346}.status-pending,.status-processing,.status-initiated,.status-unreconciled,.status-requested{background:#fff0c9;color:#855e00}.status-failed,.status-reversed,.status-refunded,.status-rejected,.status-amount_mismatch,.status-currency_mismatch,.status-requires_review{background:#fde3e3;color:#9a2929}.metric-card{background:white;border:1px solid var(--portal-border);border-radius:16px;padding:1.15rem;display:flex;flex-direction:column}.metric-card span,.metric-card small{color:var(--portal-muted)}.metric-card strong{font:700 1.45rem Georgia,serif;margin:.35rem 0}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title h2{font-size:1.15rem;margin:.2rem 0}.portal-chart{max-height:320px}.auth-shell{max-width:480px;padding:4vh 0}.status-page{max-width:720px;background:white;border:1px solid var(--portal-border);border-radius:22px;padding:clamp(2rem,6vw,5rem);text-align:center;box-shadow:0 18px 50px rgba(24,66,51,.08)}.status-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 1.5rem;border-radius:50%;background:#e8eeec;font-size:2rem}.status-icon.status-paid,.status-icon.status-already_posted{background:#d9f3e8;color:#126346}.verification-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;text-align:left;margin:2rem 0}.fee-tabs .nav-link{color:#44534e}.fee-tabs .nav-link.active{background:var(--portal-green-2)}.ref-cell{max-width:180px}.json-cell{display:block;max-width:260px;max-height:80px;overflow:auto;white-space:pre-wrap}.empty-state{text-align:center;max-width:620px;margin:10vh auto;background:white;padding:3rem;border-radius:20px}.empty-code{font:700 5rem Georgia,serif;color:#c5d5cf}.settings-card{max-width:860px}.branding-preview{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--portal-border);border-radius:14px;background:#fafcfb}.branding-preview img{width:64px;height:64px;object-fit:contain;border-radius:12px;background:white}@media(max-width:767px){.trust-grid{grid-template-columns:1fr}.profile-grid,.detail-grid,.verification-grid{grid-template-columns:1fr}.student-profile{align-items:flex-start}.fee-table{min-width:940px}.page-heading .btn{width:100%}.hero-panel h1{font-size:3rem}}.help-heading{align-items:center}.help-safety-note{border-left:5px solid #d7a436}.help-search-panel{overflow:visible}.help-layout{align-items:flex-start}.help-toc{position:sticky;top:92px}.help-toc .nav-link{color:var(--portal-ink);border-left:2px solid var(--portal-border);padding:.55rem .8rem}.help-toc .nav-link:hover{color:var(--portal-green-2);border-left-color:var(--portal-green-2);background:#f6faf8}.help-section{scroll-margin-top:90px;margin-bottom:3rem}.help-section[hidden]{display:none}.help-section-heading{display:flex;align-items:center;gap:1rem;margin:0 0 1rem}.help-section-heading h2{font:700 clamp(1.55rem,3vw,2.2rem) Georgia,serif;margin:.1rem 0}.help-step{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:var(--portal-green-2);color:#fff;font:700 1.25rem Georgia,serif}.help-article{margin-bottom:1rem;scroll-margin-top:90px}.help-article[hidden]{display:none}.help-article h3{font:700 1.3rem Georgia,serif;color:var(--portal-deep);margin-bottom:1rem}.help-article h4{font-size:1rem;margin-top:1.2rem}.help-article p,.help-article li,.help-article dd{line-height:1.65}.help-article pre{background:#172235;color:#e8f3ef;border-radius:12px;padding:1rem;overflow:auto;font-size:.82rem}.help-article code:not(pre code){color:#8b3f27;background:#fff3ec;padding:.1rem .3rem;border-radius:5px}.help-flow{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:1.2rem 0}.help-flow span{padding:.55rem .75rem;border:1px solid var(--portal-border);border-radius:10px;background:#f8faf9;font-weight:650}.help-flow b{color:var(--portal-green-2)}.help-table{margin-bottom:0}.help-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--portal-muted);white-space:nowrap}.help-table td{min-width:150px}.help-checklist li{margin-bottom:.55rem}.help-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.help-decision-grid>div{border:1px solid var(--portal-border);border-radius:14px;padding:1rem;background:#fafcfb}.help-decision-grid strong,.help-decision-grid span{display:block}.help-decision-grid span{margin-top:.5rem;color:var(--portal-muted);line-height:1.5}.help-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.help-glossary>div{border-bottom:1px solid var(--portal-border);padding-bottom:.75rem}.help-glossary dt{font-weight:750;color:var(--portal-deep)}.help-glossary dd{margin:.25rem 0 0;color:var(--portal-muted)}@media(max-width:1199px){.help-toc{position:static}.help-toc nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.help-toc nav,.help-decision-grid,.help-glossary{grid-template-columns:1fr}.help-flow b{display:none}.help-flow span{width:100%}}
