:root{--primary:#3e4095;--deep:#2c2e70;--accent:#ff9a66;--accent-ink:#b5531f;--ink:#1e1e2a;--muted:#767682;--line:#e9e9ee;--surface:#fff;--canvas:#f7f7f9;--sidebar:#fff;--font-sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{font-family:var(--font-sans);background:var(--canvas)}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:14px;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}
.app-shell{min-height:100vh}.sidebar{width:254px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);border-right:1px solid #e7e7ec;display:flex;flex-direction:column;padding:23px 15px 14px;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.brand-mark{width:40px;height:40px;flex:0 0 auto;display:block;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-size:13px;letter-spacing:-.25px}.brand-copy strong span{font-weight:500;color:#696976}.brand-copy small{font-size:12px;color:#91919a}.icon-button{border:0;background:transparent;color:#737380;width:35px;height:35px;display:grid;place-items:center;border-radius:9px}.icon-button:hover{background:#f0f0f4;color:var(--primary)}.mobile-close,.mobile-menu{display:none}.region-label,.nav-label{font-size:12px;letter-spacing:1.15px;font-weight:700;color:#9a9aa3;padding:0 10px;margin:0 0 8px}.region-switcher{margin:0 3px 23px;border:1px solid var(--line);height:39px;background:#fff;border-radius:8px;display:flex;align-items:center;gap:9px;padding:0 10px;color:#353543;text-align:left;font-size:12px;font-weight:600}.region-switcher svg:last-child{margin-left:auto;color:#878791}.region-dot{width:7px;height:7px;border-radius:100%;background:#df6b31;box-shadow:0 0 0 3px #fcebe2}.main-nav{display:grid;gap:4px;margin:0 0 23px}.nav-item{width:100%;height:39px;border:0;background:transparent;border-radius:8px;display:flex;align-items:center;gap:11px;padding:0 10px;color:#666673;text-align:left;font-size:12px;font-weight:500}.nav-item span:nth-child(2){flex:1}.nav-item:hover,.centre-link:hover{background:#f5f5f8;color:var(--primary)}.nav-active{background:#eaeaf3;color:var(--primary);font-weight:700}.nav-active svg{stroke-width:2.1}.nav-count{font-size:12px;color:#8d8d98}.centres-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.centres-label button{border:0;background:transparent;color:#838390;display:grid;place-items:center;padding:3px}.centre-link{height:37px;border:0;background:transparent;border-radius:7px;display:flex;align-items:center;gap:10px;text-align:left;padding:0 9px;color:#5e5e6b;font-size:12px;font-weight:500}.centre-link span{flex:1}.centre-link small{font-size:12px;color:#90909a}.centre-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;display:inline-block}.green{background:#252782}.violet{background:#c77691}.amber{background:#d86a33}.centre-current{background:#f4f4f8;color:#28295e}.sidebar-bottom{margin-top:auto}.help-card{border:1px solid #e8e8ee;background:#fafafc;border-radius:10px;padding:13px 12px 12px;margin:0 2px 14px}.help-icon{color:#434480;margin-bottom:8px}.help-card strong{font-size:12px;display:block}.help-card p{font-size:12px;line-height:1.55;color:#80808a;margin:5px 0 9px}.help-card button{display:flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:#242571;font-size:12px;font-weight:700}.profile-switch{height:53px;width:100%;background:transparent;border:0;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:10px 6px 0;text-align:left}.profile-info{display:flex;flex-direction:column;gap:4px;flex:1}.profile-info strong{font-size:12px}.profile-info small{font-size:12px;color:#898993}.profile-switch>svg{color:#858591}.avatar{height:32px;width:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;letter-spacing:-.3px}.avatar-admin{background:#e6e6ef;color:#232463}.sage{background:#e6e6f1;color:#36376b}.lilac{background:#fdeaf0;color:#9d5970}.peach{background:#fff0e7;color:#af6236}.butter{background:#fde3d6;color:#8c4420}.blue{background:#e5f1f6;color:#39728a}.rose{background:#f9e9eb;color:#9a5864}.main-area{min-height:100vh;margin-left:254px}.topbar{height:67px;background:#fff;border-bottom:1px solid #e8e8ec;display:flex;align-items:center;justify-content:space-between;padding:0 35px;position:sticky;top:0;z-index:12}.topbar-left,.topbar-actions,.breadcrumbs{display:flex;align-items:center}.breadcrumbs{gap:10px;color:#8b8b95;font-size:12px}.breadcrumbs strong{font-weight:600;color:#393946}.breadcrumbs svg{color:#b1b1ba}.topbar-actions{gap:15px}.demo-pill{display:flex;align-items:center;gap:7px;background:#fff0e9;border:1px solid #f3d0be;color:#873f1b;border-radius:20px;font-size:12px;font-weight:700;padding:6px 10px}.demo-pill span{height:6px;width:6px;border-radius:50%;background:#db682f}.role-select{height:34px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:7px;padding:0 9px;color:#474872}.role-select select{border:0;outline:0;appearance:none;background:transparent;color:#505060;font-size:12px;font-weight:600;max-width:156px}.role-select>svg:last-child{color:#898995}.notification-button{position:relative}.notification-button i{position:absolute;right:8px;top:7px;width:6px;height:6px;border:1px solid #fff;background:#dd723d;border-radius:50%}.top-avatar{height:30px;width:30px}.content-wrap{max-width:1500px;padding:33px 36px 30px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:23px}.eyebrow{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:1px;font-weight:700;color:#848490;margin-bottom:10px}.eyebrow-line{height:1px;width:16px;background:#cb7449}.page-heading h1{font-size:24px;letter-spacing:-.9px;line-height:1.2;margin:0;font-weight:700;color:#242434}.page-subtitle{font-size:12px;color:#81818c;margin:7px 0 0}.heading-actions{display:flex;gap:8px}.button{height:36px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,border .15s,transform .15s}.button:active{transform:translateY(1px)}.button-primary{border:1px solid var(--primary);background:var(--primary);color:#fff;box-shadow:0 2px 4px #3e40951a}.button-primary:hover{background:var(--deep)}.button-secondary{border:1px solid #e2e2e9;background:#fff;color:#565664}.button-secondary:hover{background:#f7f7fa;border-color:#cbcbd8}.scope-banner{margin:0 0 17px;background:#f1f1f7;border:1px solid #e2e2ee;border-radius:8px;min-height:42px;padding:0 13px;display:flex;align-items:center;gap:9px;color:#424362;font-size:12px}.scope-banner>svg{color:#414283}.scope-banner strong{font-weight:700}.scope-tag{margin-left:auto;color:#636490;font-size:12px;letter-spacing:.7px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.stat-card,.panel{border:1px solid #e8e8ed;background:#fff;border-radius:10px;box-shadow:0 2px 5px #1f203f05}.stat-card{padding:14px 15px 13px;min-height:116px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#797985;font-size:12px;font-weight:500}.stat-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:8px}.stat-icon.green{background:#e8e8f3;color:#3e3f8b}.stat-icon.blue{background:#eaf3f7;color:#4b8097}.stat-icon.amber{background:#fce8de;color:#a6532a}.stat-icon.violet{background:#faedf1;color:#b46c84}.stat-value{font-size:23px;letter-spacing:-.9px;font-weight:700;color:#252535;margin:6px 0 7px}.stat-foot{border-top:1px solid #f0f0f3;padding-top:8px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8b8b95}.trend{color:#373884;display:flex;align-items:center;gap:2px;font-size:12px;font-weight:700}.trend-gold{color:#a9582f}.insights-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:14px;margin-bottom:15px}.growth-panel,.centres-panel{padding:16px 17px 13px;min-height:264px}.panel-header,.members-heading{display:flex;align-items:center;justify-content:space-between}.panel-kicker{font-size:12px;letter-spacing:1px;color:#93939d;font-weight:700;margin-bottom:6px}.panel h2,.members-heading h2,.directory-toolbar h2{font-size:14px;letter-spacing:-.35px;margin:0;color:#272736}.select-button{height:28px;border:1px solid #e8e8ed;border-radius:6px;background:#fff;display:flex;align-items:center;gap:7px;padding:0 8px;color:#737380;font-size:12px}.chart-summary{display:flex;align-items:baseline;gap:9px;margin:15px 0 0}.chart-summary strong{font-size:20px;letter-spacing:-.7px}.growth-chip{display:inline-flex;align-items:center;gap:2px;background:#ededf6;color:#414282;padding:3px 5px;border-radius:4px;font-size:12px;font-weight:700}.chart-summary small{font-size:12px;color:#8b8b95}.chart-area{height:139px;position:relative;margin:3px 0 0 34px}.chart-ylabels{position:absolute;inset:5px auto 17px -34px;display:flex;flex-direction:column;justify-content:space-between;color:#a2a2aa;font-size:12px}.growth-chart{position:absolute;inset:0 0 17px;width:100%;height:calc(100% - 17px);z-index:2;overflow:visible}.chart-gridlines{position:absolute;inset:5px 0 17px;display:flex;flex-direction:column;justify-content:space-between}.chart-gridlines i{border-top:1px dashed #ededf0}.chart-xlabels{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;color:#9a9aa3;font-size:12px}.centres-panel{padding-bottom:12px}.centre-list{margin-top:10px}.centre-row{height:55px;width:100%;display:flex;align-items:center;gap:10px;border:0;border-top:1px solid #f0f0f3;background:#fff;text-align:left;padding:4px 0;color:#5f5f6c}.centre-row:first-child{border-top:0}.centre-row-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.centre-row-copy strong{font-size:12px;color:#3c3c4a}.centre-row-copy small{font-size:12px;color:#9a9aa3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-bar{height:3px;border-radius:3px;background:#efeff3;width:100%;margin-top:1px;overflow:hidden}.mini-bar i{height:100%;display:block;border-radius:3px}.mini-bar i.green{background:#4244a2}.mini-bar i.violet{background:#d187a0}.mini-bar i.amber{background:#de7946}.centre-total{text-align:right;display:flex;flex-direction:column;gap:3px;min-width:33px}.centre-total strong{font-size:12px;color:#464653}.centre-total small{font-size:12px;color:#9a9aa3}.row-chevron{color:#b0b0b9}.text-link{border:0;background:transparent;color:#262774;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:3px;padding:4px 0}.text-link:hover{color:#10114c}.centres-panel>.text-link{margin-top:8px}.members-panel{padding:16px 17px 0}.members-heading{margin-bottom:13px}.member-table{width:100%;border-collapse:collapse;text-align:left}.member-table th{height:32px;border-block:1px solid #ededf0;color:#9898a2;font-size:12px;letter-spacing:.65px;font-weight:700;white-space:nowrap}.member-table td{height:53px;border-bottom:1px solid #f0f0f3;color:#595966;font-size:12px;white-space:nowrap}.member-table tbody tr{cursor:pointer;transition:background .12s}.member-table tbody tr:hover{background:#fbfbfd}.member-table tbody tr:last-child td{border-bottom:0}.member-table th:first-child,.member-table td:first-child{padding-left:3px}.member-table th:not(:first-child),.member-table td:not(:first-child){padding-left:8px}.member-cell{display:flex;align-items:center;gap:8px;min-width:180px}.member-cell .avatar{width:30px;height:30px;font-size:12px}.member-cell>span{display:flex;flex-direction:column;gap:4px}.member-cell strong{font-size:12px;color:#343441;font-weight:600}.member-cell small{font-size:12px;color:#9b9ba4}.type-badge{display:inline-flex;align-items:center;gap:4px;border-radius:5px;padding:5px 6px;font-size:12px;font-weight:600}.type-student{background:#eff5f8;color:#53798a}.type-staff{background:#faf0f3;color:#9b697a}.centre-name{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#666673}.centre-name .centre-dot{width:6px;height:6px}.course-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#636370}.status-badge i{width:5px;height:5px;border-radius:50%;background:#5354a4}.status-new{color:#a4552e}.status-new i{background:#dc733e}.row-more{height:28px;width:28px;border:0;background:transparent;color:#9696a0;border-radius:5px;display:grid;place-items:center}.row-more:hover{background:#f1f1f5;color:#31325d}.footer-note{display:flex;align-items:center;gap:7px;color:#898994;font-size:12px;margin:14px 0 2px}.footer-note svg{color:#6f709b}.prototype-note{margin-top:21px;border:1px solid #f2dace;background:#fdf6f2;border-radius:8px;min-height:39px;padding:0 12px;display:flex;align-items:center;gap:8px;color:#865f4c;font-size:12px}.prototype-dot{width:6px;height:6px;border-radius:50%;background:#db7440}.prototype-note strong{font-weight:700;color:#754127}.prototype-note button{margin-left:auto;border:0;background:none;color:#824e34;font-weight:700;font-size:12px}.directory-panel{padding:19px 19px 0}.directory-toolbar{display:flex;align-items:center;justify-content:space-between}.directory-toolbar h2{font-size:16px}.directory-toolbar p{font-size:12px;color:#878791;margin:6px 0 0}.filters-row{display:flex;gap:8px;margin:19px 0 13px}.search-field{height:35px;min-width:250px;max-width:430px;flex:1;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid #e6e6eb;border-radius:7px;color:#9a9aa3}.search-field input{border:0;outline:0;flex:1;min-width:0;font-size:12px;color:#343442;background:transparent}.search-field input::placeholder{color:#a1a1aa}.search-field kbd{font-family:var(--font-sans);font-size:12px;border:1px solid #e9e9ed;padding:3px 5px;border-radius:4px;color:#9a9aa3}.filter-select{height:35px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #e6e6eb;border-radius:7px;background:#fff;color:#757581;font-size:12px}.filter-select select{appearance:none;outline:none;border:0;background:none;color:#616170;font-size:12px}.filter-control{white-space:nowrap}.directory-panel .member-table td{height:58px}.table-footer{height:42px;border-top:1px solid #ededf0;display:flex;align-items:center;justify-content:space-between;color:#9898a1;font-size:12px}.table-footer strong{color:#616170}.empty-state{min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#898994}.empty-state strong{font-size:12px;color:#535361}.empty-state span{font-size:12px}.centre-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.centre-detail-card{border:1px solid #e7e7ed;background:#fff;border-radius:10px;padding:18px;text-align:left;box-shadow:0 2px 5px #1f203f05;color:inherit;transition:transform .16s,box-shadow .16s}.centre-detail-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #191a3d10}.centre-card-icon{height:38px;width:38px;border-radius:10px;display:grid;place-items:center}.tone-0{background:#e8e8f3;color:#3e3f8b}.tone-1{background:#faedf1;color:#b46c84}.tone-2{background:#fce8de;color:#a6532a}.centre-card-count{display:block;float:right;margin-top:9px;color:#757582;font-size:12px}.centre-detail-card h2{font-size:14px;margin:16px 0 6px;letter-spacing:-.3px}.centre-detail-card p{font-size:12px;line-height:1.6;color:#878791;min-height:32px;margin:0 0 14px}.centre-card-bottom{border-top:1px solid #efeff2;padding-top:12px;display:flex;align-items:center;justify-content:space-between;color:#6d6d7a;font-size:12px}.centre-card-bottom span{display:flex;align-items:center;gap:7px}.reports-panel{padding:23px;max-width:760px}.reports-icon{height:40px;width:40px;display:grid;place-items:center;border-radius:10px;color:#3f4089;background:#e8e8f3;margin-bottom:15px}.reports-panel h2{font-size:17px}.reports-panel>p{font-size:12px;color:#878791}.report-row{height:65px;border-top:1px solid #efeff2;display:flex;align-items:center;gap:10px;margin-top:12px}.report-file{width:34px;height:34px;border-radius:8px;background:#f3f3f6;color:#646583;display:grid;place-items:center}.report-row>span{flex:1;display:flex;flex-direction:column;gap:4px}.report-row>span strong{font-size:12px}.report-row>span small{font-size:12px;color:#92929c}.report-row .button{height:31px}.mobile-scrim{display:none}.modal-backdrop{position:fixed;inset:0;background:#12122368;backdrop-filter:blur(2px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.profile-modal{background:#fff;border-radius:13px;width:min(490px,100%);box-shadow:0 25px 80px #15152935;padding:19px 21px 0;max-height:90vh;overflow:auto;animation:modal-in .17s ease-out}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.modal-top{display:flex;align-items:center;justify-content:space-between}.modal-label{font-size:12px;letter-spacing:.8px;font-weight:700;color:#8b8b96}.modal-label span{margin-left:5px;border-radius:4px;background:#feebe2;color:#9b4c25;padding:4px}.profile-hero{display:flex;align-items:center;gap:13px;padding:13px 0 18px;border-bottom:1px solid #ededf0}.avatar-large{width:48px;height:48px;font-size:13px}.profile-hero h2{font-size:17px;letter-spacing:-.4px;margin:0 0 4px}.profile-hero p{font-size:12px;color:#878791;margin:0 0 5px}.profile-section{padding:15px 0;border-bottom:1px solid #ededf0}.profile-section h3{display:flex;align-items:center;gap:6px;font-size:12px;margin:0 0 12px;color:#4f4f5e}.profile-section h3 svg{color:#717294}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-cell small{font-size:12px;color:#9999a3}.detail-cell strong{font-size:12px;color:#4c4c5a;line-height:1.5;overflow-wrap:anywhere}.family-section{padding:12px 0}.family-section p{font-size:12px;color:#646471;margin:0 0 0 21px}.modal-foot{margin:0 -21px;padding:12px 21px;background:#f7f7fa;border-radius:0 0 13px 13px;color:#767683;display:flex;align-items:center;gap:7px;font-size:12px}.modal-foot svg{color:#676892}
@media(min-width:1500px){.content-wrap{padding-top:40px}.stats-grid{gap:15px}.stat-card{min-height:124px;padding:17px 18px}.insights-grid{gap:16px}.growth-panel,.centres-panel{min-height:278px;padding:18px 20px}.chart-area{height:151px}.members-panel{padding:18px 20px 0}}
@media(max-width:1150px){.sidebar{width:225px}.main-area{margin-left:225px}.topbar{padding:0 25px}.content-wrap{padding:28px 24px}.insights-grid{grid-template-columns:minmax(0,1.35fr) minmax(285px,1fr)}.stats-grid{gap:9px}.stat-card{padding:12px}.stat-value{font-size:21px}.member-cell{min-width:150px}.course-cell{max-width:115px}}
@media(max-width:900px){.sidebar{transform:translateX(-101%);transition:transform .22s ease;box-shadow:none}.sidebar-open{transform:translateX(0);box-shadow:10px 0 35px #1414281b}.mobile-scrim{display:block;position:fixed;inset:0;z-index:19;background:#14142857;border:0}.main-area{margin-left:0}.mobile-menu{display:grid;margin-left:-8px}.topbar{padding:0 22px}.topbar-left{gap:5px}.content-wrap{padding:26px 22px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-grid{grid-template-columns:1fr}.growth-panel{min-height:255px}.centres-panel{min-height:auto}.centre-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.centre-row{border-top:0;border-bottom:1px solid #f0f0f3}.centres-panel>.text-link{margin-top:7px}.table-wrap{overflow-x:auto}.member-table{min-width:780px}.directory-panel .member-table{min-width:820px}.centre-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.topbar{height:58px;padding:0 13px}.breadcrumbs{font-size:12px;gap:6px}.topbar-actions{gap:7px}.demo-pill{padding:6px 8px;font-size:0;gap:0}.demo-pill span{height:7px;width:7px}.role-select{height:31px;padding:0 7px;gap:5px}.role-select select{max-width:105px;font-size:12px}.role-select>svg:first-child{width:13px}.notification-button{width:30px}.top-avatar{display:none}.content-wrap{padding:23px 14px 22px}.page-heading{align-items:flex-start;gap:15px;flex-direction:column;margin-bottom:18px}.page-heading h1{font-size:21px}.page-subtitle{font-size:12px}.heading-actions{width:100%}.heading-actions .button{flex:1}.stats-grid{gap:8px}.stat-card{padding:11px;min-height:108px}.stat-top{font-size:12px}.stat-icon{width:26px;height:26px}.stat-value{font-size:20px}.stat-foot{font-size:12px}.trend{font-size:12px}.insights-grid{gap:9px}.growth-panel,.centres-panel{padding:14px 12px}.panel h2,.members-heading h2{font-size:13px}.chart-summary strong{font-size:18px}.chart-area{margin-left:31px}.chart-ylabels{left:-31px}.centre-list{display:block}.centre-row{border-top:1px solid #f0f0f3;border-bottom:0}.centre-row:first-child{border-top:0}.members-panel{padding:14px 11px 0}.members-heading{align-items:flex-start}.members-heading .text-link{font-size:12px}.member-table{min-width:730px}.footer-note{line-height:1.5;align-items:flex-start}.scope-banner{font-size:12px;padding:9px;align-items:flex-start}.scope-banner>svg{flex:0 0 auto}.scope-tag{font-size:7px}.directory-panel{padding:15px 12px 0}.directory-toolbar{align-items:flex-start;gap:9px;flex-wrap:wrap}.directory-toolbar .button{height:32px}.directory-toolbar h2{font-size:14px}.directory-toolbar p{max-width:270px;line-height:1.5}.filters-row{flex-wrap:wrap}.search-field{min-width:100%;max-width:none;flex:initial}.filter-select{height:32px}.filter-select select{max-width:145px}.table-footer{font-size:12px;gap:8px}.centre-cards{grid-template-columns:1fr}.centre-detail-card{padding:15px}.prototype-note{font-size:12px;line-height:1.5;align-items:flex-start;padding:9px;flex-wrap:wrap}.prototype-note button{margin-left:14px}.profile-modal{padding:16px 16px 0}.modal-foot{margin:0 -16px;padding:12px 16px}.modal-backdrop{padding:12px}.detail-grid{gap:11px}.profile-hero h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.chevron{margin-left:auto;color:#8a8a95;font-size:14px}.nav-icon{width:18px;font-size:16px;text-align:center;color:currentColor}.mobile-scrim{display:none}.scrim-visible{display:block;position:fixed;inset:0;z-index:19;background:#14142857;border:0}.toast{position:fixed;z-index:80;left:50%;bottom:24px;transform:translate(-50%,12px);opacity:0;pointer-events:none;max-width:calc(100% - 30px);padding:12px 16px;background:#18193e;color:#fff;border-radius:8px;font-size:12px;line-height:1.5;box-shadow:0 12px 35px #14142832;transition:opacity .18s,transform .18s}.toast-visible{opacity:1;transform:translate(-50%,0)}
@media print{.sidebar,.topbar-actions,.heading-actions,.prototype-note,.button,.row-more{display:none!important}.main-area{margin:0}.content-wrap{padding:0}.panel,.stat-card{box-shadow:none;break-inside:avoid}body{background:#fff}.member-table{min-width:0!important}}
.modal-foot .button-danger{margin-left:auto}.button-danger{border:1px solid #f0c9c9;background:#fff;color:#b23b3b;height:32px}.button-danger:hover{background:#fdf1f1;border-color:#e3a5a5}
.help-list h3{margin:14px 0 4px}.help-list h3:first-child{margin-top:0}.help-list p{font-size:12px;line-height:1.6;color:#646472;margin:0}.help-list kbd{font-family:var(--font-sans);font-size:11px;border:1px solid var(--line);padding:1px 4px;border-radius:4px}
.stat-foot .text-link{padding:0}.region-switcher{cursor:default}.profile-switch{cursor:default}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-actions{margin:14px -16px 0;padding:12px 16px}.modal-foot{flex-wrap:wrap}}
#modalBackdrop .profile-modal{width:min(640px,100%)}.modal-foot{justify-content:space-between;flex-wrap:wrap}.modal-foot-actions{display:flex;gap:8px}.modal-foot .button{height:32px}.profile-section h3{text-transform:none}.detail-cell.wide{grid-column:1/-1}.status-inactive{color:#7a7a88}.status-inactive i{background:#b4b4c0}
.wizard{width:min(760px,100%);padding:0;display:flex;flex-direction:column;max-height:92vh;overflow:hidden}.wizard-head{padding:20px 24px 0;border-bottom:1px solid var(--line)}.wizard-head .modal-top{align-items:flex-start}.wizard-title{font-size:19px;letter-spacing:-.4px;margin:6px 0 0;color:var(--ink)}
.stepper{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.stepper li{min-width:0}.step-btn{width:100%;border:0;background:none;padding:0 0 12px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;font:inherit;color:#9a9aa8;border-bottom:3px solid #ececf2;cursor:default}.step-btn[data-reachable]{cursor:pointer}.step-btn[data-reachable]:hover .step-name{color:var(--primary)}.step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#f0f0f5;color:#8a8a99}.step-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.step-btn.done{border-bottom-color:#b9badb;color:#55557a}.step-btn.done .step-num{background:#e6e6f3;color:var(--primary)}.step-btn.current{border-bottom-color:var(--primary);color:var(--ink)}.step-btn.current .step-num{background:var(--primary);color:#fff}
.wizard-body{overflow-y:auto;padding:22px 24px 26px;flex:1;scroll-behavior:smooth}.step-intro{margin:0 0 18px}.step-intro h3{font-size:16px;margin:0 0 4px;color:var(--ink);letter-spacing:-.3px;outline:0}.step-intro p{margin:0;font-size:12.5px;color:#767682}.req-note{font-size:12px;color:#8a8a99;margin-top:6px!important}.req{color:#c0392b}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-wide{grid-column:1/-1}.field>label,.field-label{font-size:12.5px;font-weight:600;color:#3d3d4d}.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{height:40px;border:1px solid #dcdce6;border-radius:8px;padding:0 12px;font:inherit;font-size:13.5px;font-weight:500;color:var(--ink);background:#fff;outline:0;width:100%;transition:border-color .12s,box-shadow .12s}.field textarea{height:auto;padding:10px 12px;resize:vertical;min-height:76px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#a8a8b5;font-weight:400}.field input:hover,.field select:hover,.field textarea:hover{border-color:#c4c4d4}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3e409526}.field input[readonly]{background:#f6f6fa;color:#5d5d6d}.field .help{font-size:11.5px;color:#8a8a99;line-height:1.4}.field .error{font-size:11.5px;color:#c0392b;font-weight:600;line-height:1.4}.field .error:empty{display:none}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#d0574a;background:#fffafa}.field.has-error .help{display:none}.field.has-error .choice span{border-color:#d0574a}
.field-group{margin-top:8px;padding-top:16px;border-top:1px dashed #e4e4ec}.field-group:first-child{margin-top:0;padding-top:0;border-top:0}.field-group h4{margin:0;font-size:13px;color:var(--ink)}.field-group p{margin:3px 0 0;font-size:12px;color:#8a8a99}
.choice-group{display:flex;flex-wrap:wrap;gap:8px}.choice{position:relative}.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.choice span{display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid #dcdce6;border-radius:8px;font-size:13px;font-weight:600;color:#55556a;background:#fff;transition:all .12s;cursor:pointer}.choice:hover span{border-color:#b9badb}.choice input:checked+span{border-color:var(--primary);background:#eeeef8;color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.choice input:focus-visible+span{box-shadow:0 0 0 3px #3e409540}
.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;color:#3d3d4d;line-height:1.5;cursor:pointer}.check input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--primary);flex:0 0 auto}
.review-card{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;overflow:hidden}.review-card header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f7f7fa;border-bottom:1px solid var(--line)}.review-card h4{margin:0;font-size:13px;color:var(--ink)}.review-card dl{margin:0;padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.review-card dl div{min-width:0}.review-card dt{font-size:11.5px;color:#8a8a99;margin-bottom:2px}.review-card dd{margin:0;font-size:13px;font-weight:600;color:#33334a;overflow-wrap:anywhere}.review-card dd.empty{color:#b0b0bd;font-weight:500}.notice{display:flex;gap:10px;align-items:flex-start;border-radius:9px;padding:11px 13px;font-size:12.5px;line-height:1.5;margin-bottom:14px}.notice-warn{background:#fff6ec;border:1px solid #f6d9b5;color:#7d4a12}.consent{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:4px}.consent.has-error{border-color:#d0574a;background:#fffafa}
.wizard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-top:1px solid var(--line);background:#fafafc}.wizard-progress{font-size:12px;color:#8a8a99;font-weight:600}.wizard-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wizard-actions .button{height:38px;padding:0 16px}
@media(max-width:600px){.modal-backdrop:has(.wizard){padding:0}.wizard{max-height:100dvh;height:100dvh;border-radius:0;width:100%}.wizard-head{padding:16px 16px 0}.wizard-body{padding:18px 16px 22px}.wizard-foot{padding:12px 16px;flex-direction:column;align-items:stretch}.wizard-progress{text-align:center}.wizard-actions{flex-direction:column}.wizard-actions .button{width:100%;height:42px}.wizard-actions #wizNext{order:-1}.toast{bottom:auto;top:16px;transform:translate(-50%,-12px)}.form-grid{grid-template-columns:1fr}.stepper{gap:4px}.step-name{display:none}.step-btn.current .step-name{display:block}.review-card dl{grid-template-columns:1fr}.modal-foot-actions{width:100%}.modal-foot-actions .button{flex:1}}
.audit-panel{padding:19px 19px 0}.audit-actions{display:flex;gap:8px;flex-wrap:wrap}.audit-integrity{margin:16px 0 0;border-radius:9px;padding:11px 13px;font-size:12.5px;line-height:1.5;display:flex;gap:10px;align-items:flex-start}.audit-integrity:empty{display:none}.audit-integrity b{font-size:14px;line-height:1.2}.integrity-ok{background:#eef7f1;border:1px solid #cfe7d7;color:#245c3a}.integrity-bad{background:#fdf0ef;border:1px solid #f1c6c2;color:#8a2a22}.integrity-warn{background:#fff6ec;border:1px solid #f6d9b5;color:#7d4a12}.audit-filters{flex-wrap:wrap}.date-filter input{border:0;outline:0;background:none;font:inherit;font-size:12px;color:#5d5d6d}
.audit-table td{height:46px;white-space:normal}.audit-table td:first-child{font-variant-numeric:tabular-nums;color:#9a9aa8;width:56px}.audit-table td:nth-child(2){white-space:nowrap;font-variant-numeric:tabular-nums;width:150px}.audit-table td:nth-child(3){white-space:nowrap;width:190px}.audit-when small{display:block;color:#9a9aa8;font-size:11px}.cat-badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 6px;border-radius:4px;margin-right:8px;background:#f0f0f5;color:#66667a;vertical-align:1px}.sev-notice .cat-badge{background:#eeeef8;color:var(--primary)}.sev-warning .cat-badge{background:#fff0e6;color:#a4501f}.sev-critical .cat-badge{background:#fde8e6;color:#a52a1f}.sev-critical td{background:#fffafa}.audit-table tbody tr.audit-row{cursor:pointer}.audit-toggle{transition:transform .15s}.audit-row[aria-expanded=true] .audit-toggle{transform:rotate(90deg)}
.audit-detail td{background:#fafafc;padding:12px 14px!important;height:auto!important;cursor:default}.audit-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 18px;margin-bottom:10px}.audit-detail-grid small{display:block;color:#9a9aa8;font-size:11px;margin-bottom:2px}.audit-detail-grid code,.audit-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#55556a;overflow-wrap:anywhere}.diff-table{width:100%;border-collapse:collapse;margin-top:4px;font-size:12px}.diff-table th{text-align:left;font-size:11px;color:#8a8a99;font-weight:700;padding:5px 8px;border-bottom:1px solid var(--line);height:auto}.diff-table td{padding:6px 8px;border-bottom:1px solid #f0f0f4;height:auto!important;vertical-align:top;overflow-wrap:anywhere}.diff-from{color:#a52a1f;text-decoration:line-through;text-decoration-color:#e4a59f}.diff-to{color:#245c3a;font-weight:600}.diff-empty{color:#b0b0bd;font-style:italic}
.member-activity{padding:15px 0;border-bottom:1px solid #edf0ed}.member-activity h3{font-size:12px;margin:0 0 10px;color:#4f5e54}.member-activity ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.member-activity li{font-size:12px;color:#55556a;display:flex;gap:10px}.member-activity time{color:#9a9aa8;white-space:nowrap;min-width:118px;font-variant-numeric:tabular-nums}
@media(max-width:900px){.audit-table{min-width:760px}}@media(max-width:600px){.audit-panel{padding:15px 12px 0}.audit-actions{width:100%}.audit-actions .button{flex:1;height:32px}.date-filter{flex:1}.member-activity li{flex-direction:column;gap:1px}}
.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#8a8a99;font-size:13px}.boot img{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,#e9e9f6 0%,var(--canvas) 60%)}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px #1e1e4a14;padding:32px 30px 26px;display:flex;flex-direction:column;gap:16px}.auth-card>img{align-self:center}.auth-card h1{margin:0;text-align:center;font-size:21px;letter-spacing:-.5px;color:var(--ink)}.auth-sub{margin:-8px 0 4px;text-align:center;font-size:13px;color:#767682;line-height:1.5}.auth-notice{margin:0;border-radius:8px;background:#eeeef8;color:var(--primary);font-size:12.5px;padding:10px 12px;text-align:center}.auth-card .field input{height:44px;border:1px solid #dcdce6;border-radius:9px;padding:0 12px;font:inherit;font-size:14px;width:100%;outline:0}.auth-card .field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3e409526}.auth-card .field.has-error input{border-color:#d0574a}.auth-submit{height:44px!important;font-size:14px!important;margin-top:4px}.auth-foot{margin:0;text-align:center;font-size:12px;color:#8a8a99}.auth-cancel{align-self:center}.password-wrap{position:relative}.password-wrap input{padding-right:64px!important}.reveal{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--primary);font:inherit;font-size:12px;font-weight:700;padding:6px 8px;cursor:pointer}
.account-actions{display:flex;justify-content:space-between;padding:8px 6px 0}.account-actions .text-link{font-size:12px}.user-chip{font-size:12px;font-weight:600;color:#55556a;background:#f2f2f7;border-radius:20px;padding:6px 11px}.users-table td{white-space:nowrap}.user-actions{display:flex;gap:12px;align-items:center;height:53px}.user-actions .text-link{padding:0}.danger-link{color:#b23b3b!important}.audit-sub{display:block;font-size:11px;color:#9a9aa8;margin-top:2px}.audit-table td:nth-child(3){white-space:normal}
.user-form{width:min(520px,100%)}.user-grid{padding:16px 0 4px}.temp-modal{width:min(460px,100%)}.temp-intro{font-size:13px;color:#55556a;line-height:1.6;margin:8px 0 14px}.temp-box{display:flex;gap:10px;align-items:center;border:1px dashed #b9badb;background:#f6f6fc;border-radius:10px;padding:12px 14px;margin-bottom:6px}.temp-box code{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;letter-spacing:1px;color:var(--ink);user-select:all}.temp-modal .form-actions,.user-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin:14px -21px 0;padding:12px 21px;background:#f7f7fa;border-radius:0 0 13px 13px}.user-form .form-error{color:#b23b3b;font-size:12px;margin:10px 0 0}
.review-card dl div.wide{grid-column:1/-1}.button:disabled{opacity:.6;cursor:not-allowed}a.button{text-decoration:none}
@media(max-width:600px){.user-chip{display:none}.auth-card{padding:26px 20px 22px}}
#usersView .table-wrap{margin-top:18px}

/* Fellowship centres grouped by institution */
.institution-groups{display:flex;flex-direction:column;gap:26px}
.institution-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.institution-head h2{font-size:16px;margin:2px 0 3px;letter-spacing:-.3px}
.institution-head p{font-size:12px;color:#878791;margin:0}
.institution-empty{font-size:13px;color:#878791;margin:0;padding:18px;border:1px dashed #dcdce4;border-radius:10px;grid-column:1/-1}
.centre-detail-card:hover{transform:none}
.centre-card-bottom .text-link{display:inline-flex;align-items:center;gap:6px}
.centre-card-actions{display:flex;gap:12px}
@media(max-width:600px){.institution-head{flex-direction:column;align-items:flex-start}}

/* Public registration page */
.register-screen{align-items:flex-start}
.register-card{width:min(760px,100%);gap:20px}
.register-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.register-head .auth-sub{margin:0}
.register-head .req-note{margin:0!important}
.register-section{border-top:1px solid var(--line);padding-top:18px;margin-top:4px}
.register-section h2{font-size:16px;margin:0 0 4px;letter-spacing:-.3px}
.register-intro{font-size:12px;color:#878791;margin:0 0 14px}
.register-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.register-done{align-items:center;text-align:center;margin-top:8vh}
.register-card .auth-foot a{color:var(--primary);font-weight:600}
@media(max-width:600px){.register-card{padding:24px 18px 20px}}
.nav-count-alert{background:var(--accent);color:#fff;font-weight:700;border-radius:10px;padding:1px 7px;font-size:11px}
.cell-sub{display:block;font-size:11px;color:#8a8a99}

/* Checkboxes inside form fields keep their own size (the full-width text-input rule must not apply). */
.field .check input[type=checkbox]{width:17px;height:17px;padding:0;border:0;box-shadow:none;flex:0 0 auto}
.check span{min-width:0}

/* Phones: wide tables (users, registrations, audit log) become stacked cards with labelled fields. */
@media(max-width:640px){
  .stack-table{min-width:0!important;width:100%}
  .stack-table thead{display:none}
  .stack-table,.stack-table tbody{display:block}
  .stack-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
  .stack-table tr[hidden]{display:none}
  .stack-table td{display:block;padding:0!important;height:auto!important;border:0!important;min-width:0;white-space:normal!important;font-size:13px}
  .stack-table td[data-label]::before{content:attr(data-label);display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9a9aa8;margin-bottom:3px}
  .stack-table td.cell-main{grid-column:1/-1;order:-1}
  .stack-table td.user-actions{grid-column:1/-1;display:flex!important;flex-wrap:wrap;gap:8px}
  .stack-table td.user-actions .text-link{flex:1 1 30%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;font-size:13px}
  .stack-table td a[href^="tel:"]{color:var(--primary);font-weight:600}
  .audit-table tr.audit-row{grid-template-columns:auto 1fr 1fr}
  .audit-table td.audit-activity{order:0;grid-column:1/-1;font-size:13.5px;line-height:1.45}
  .audit-table td.audit-toggle-cell{display:none}
  .audit-table tr.audit-detail{display:block}
  .audit-table tr.audit-detail[hidden]{display:none}
  .audit-table tr.audit-detail td{display:block}
}

/* Corpers Fellowship */
.centre-dot.teal,.mini-bar i.teal{background:#2f8f83}
.type-corps{background:#e7f4f1;color:#2b7a6f}
.role-choices{flex-wrap:wrap}

/* Search and filters */
.search-row{margin:18px 0 10px}
.search-row .search-field{max-width:none;height:44px;border-radius:10px;padding:0 12px;gap:10px;background:#fff;border:1px solid #dfe0e8;transition:border-color .15s,box-shadow .15s}
.search-row .search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #3e409522}
.search-field input{border:0;outline:0;background:transparent;flex:1;min-width:0;font:inherit;font-size:14px;color:var(--ink);height:100%}
.search-field input::-webkit-search-cancel-button{display:none}
.search-icon{font-size:17px;color:#8a8a99}
.search-clear{border:0;background:#ececf3;color:#55556a;width:24px;height:24px;border-radius:50%;font-size:16px;line-height:1;cursor:pointer;flex:none;display:grid;place-items:center}
.search-clear:hover{background:#e0e0ea}
.search-row kbd{font:600 11px/1 var(--font-sans);color:#8a8a99;border:1px solid #e4e4ec;border-radius:5px;padding:4px 6px;background:#fafafc}
.chip-row{margin:0 0 14px;gap:8px;flex-wrap:wrap}
.chip-row .filter-select{height:36px;border-radius:999px;padding:0 4px 0 12px;background:#fff;gap:6px}
.chip-row .filter-select select{border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:#4a4a5c;height:100%;padding-right:6px;cursor:pointer;outline:0;max-width:190px}
.chip-row .filter-select:has(select:focus-visible){box-shadow:0 0 0 3px #3e409522;border-color:var(--primary)}
.chip-row .sort-select{margin-left:auto}
.chip-row .sort-select span{font-size:12px;color:#8a8a99}
.reset-filters{cursor:pointer;color:var(--primary)!important;font-weight:600;padding:0 12px!important}
mark{background:#ffe9a8;color:inherit;border-radius:3px;padding:0 1px}

/* Pagination */
.table-footer{height:auto;min-height:52px;padding:10px 0;flex-wrap:wrap;gap:12px}
.pager-summary{color:#77778a;font-size:12.5px}
.pager-summary strong{color:var(--ink)}
.pager{display:flex;align-items:center;gap:4px}
.pager-btn{min-width:34px;height:34px;padding:0 10px;border:1px solid #e3e3ec;border-radius:8px;background:#fff;color:#3d3d52;font:600 12.5px var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .12s,border-color .12s}
.pager-btn:hover:not(:disabled):not(.active){background:#f4f4fa;border-color:#d4d4e2}
.pager-btn:disabled{opacity:.4;cursor:default}
.pager-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;cursor:default}
.pager-btn:focus-visible{outline:3px solid #3e409540;outline-offset:1px}
.pager-gap{color:#9a9aa8;padding:0 4px}
.pager-mobile{display:none;font-size:12.5px;font-weight:600;color:#55556a;padding:0 8px}
@media(max-width:640px){
  .table-footer{justify-content:center}
  .pager-summary{width:100%;text-align:center}
  .pager{width:100%;justify-content:space-between}
  .pager-num,.pager-gap{display:none}
  .pager-mobile{display:inline}
  .pager-step{height:40px;padding:0 16px}
  .chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-right:-16px;scrollbar-width:none}
  .chip-row::-webkit-scrollbar{display:none}
  .chip-row .filter-select{flex:none}
  .chip-row .sort-select{margin-left:0}
  .search-row kbd{display:none}
}

/* =====================================================================================
   Theme: DLCF Ondo Region. Deep indigo brand, warm amber accent, Montserrat throughout.
   ===================================================================================== */
:root{--primary:#3e4095;--deep:#2f3180;--night:#23245c;--accent:#f08a4b;--amber:#ffb98d;--ink:#15162b;--muted:#6e7087;--line:#e6e6f0;--canvas:#f4f4f9;--card-shadow:0 1px 2px #15162b08,0 8px 24px #15162b0b}
body{background:var(--canvas);color:#34354d}

/* Sidebar */
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff33 transparent;background:radial-gradient(140% 40% at 0% 0%,#4b4db0 0%,transparent 55%),linear-gradient(180deg,var(--deep),var(--night));border-right:0;color:#c9caee}
.brand-mark{background:#fff;border-radius:12px;padding:3px;box-shadow:0 4px 12px #0000002e}
.brand-copy strong{color:#fff;font-size:14px}.brand-copy strong span{color:#c3c4ee;font-weight:600}
.brand-copy small{color:#a5a7da}
.region-label,.nav-label{color:#8f91c9}
.region-switcher{background:#ffffff12;border-color:#ffffff1f;color:#fff}
.nav-item{color:#c9caee;font-size:13px;height:41px;border-radius:10px}
.nav-item:hover,.centre-link:hover{background:#ffffff12;color:#fff}
.nav-active{background:#ffffff1f;color:#fff;box-shadow:inset 3px 0 0 var(--amber)}
.nav-count{color:#a5a7da;font-weight:600}
.nav-count-alert{background:var(--accent);color:#fff}
.centre-link{color:#c9caee;font-size:12.5px}
.centre-link small{color:#8f91c9}
.help-card{background:#ffffff0f;border-color:#ffffff1a;color:#c3c4ee}
.help-card strong{color:#fff}.help-card p{color:#b9bae6}
.help-card button,.help-card a{color:var(--amber)!important}
.help-icon{color:var(--amber)}
.profile-switch{border-top-color:#ffffff1f}
.profile-info strong{color:#fff}.profile-info small{color:#a5a7da}
.sidebar .avatar-admin{background:#ffffff26;color:#fff}
.topbar .avatar-admin,.topbar .avatar{background:var(--primary);color:#fff}
.account-actions .text-link{color:var(--amber)}
.mobile-close{color:#fff}

/* Top bar and page heading */
.topbar{background:#ffffffd9;backdrop-filter:saturate(1.4) blur(10px);border-bottom-color:var(--line)}
.page-heading h1{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.page-subtitle{color:var(--muted)}
.eyebrow{color:#8a8ca3}.eyebrow-line{background:var(--accent);width:22px}

/* Cards */
.panel,.stat-card,.centre-detail-card{border:1px solid var(--line);border-radius:16px;box-shadow:var(--card-shadow);background:#fff}
.stat-card{padding:20px 20px 16px}
.stat-top{font-size:12.5px;font-weight:600;color:#6e7087}
.stat-icon{width:38px;height:38px;border-radius:12px;font-size:16px}
.stat-value{font-size:32px;font-weight:800;letter-spacing:-.04em;color:var(--ink);margin:10px 0 8px}
.panel-kicker{color:#8a8ca3;letter-spacing:.12em;font-size:11px}
.panel h2,.members-heading h2,.directory-toolbar h2{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.centre-detail-card{padding:20px}
.centre-detail-card h2{font-size:15px;font-weight:700}
.centre-card-icon{border-radius:12px}

/* Buttons */
.button{height:38px;border-radius:10px;padding:0 16px;font-size:13px;font-weight:700}
.button-primary{background:var(--primary);border-color:var(--primary);box-shadow:0 6px 16px #3e409538}
.button-primary:hover{background:var(--deep);border-color:var(--deep)}
.button-secondary{border-color:#dfe0ea;color:#3d3e55}
.text-link{font-weight:700}

/* Tables */
.member-table th{font-size:11px;letter-spacing:.09em;color:#8d8fa6;border-color:#eeeef4}
.member-table td{font-size:13px;color:#4a4b60;border-bottom-color:#f1f1f6;height:58px}
.member-table tbody tr{transition:background .12s}
.member-table tbody tr[data-person]:hover,.member-table tbody tr[data-registration]:hover,.member-table tbody tr[data-user]:hover{background:#f8f8fd}
.member-cell strong{color:var(--ink);font-weight:700}
.avatar{width:36px;height:36px;font-size:12.5px}
.type-badge{border-radius:999px;padding:4px 10px;font-size:12px}
.status-badge{padding:4px 10px;border-radius:999px;font-weight:600;font-size:12px;background:#f0f0f5;color:#5d5e75}
.status-badge.status-active{background:#e8f6ef;color:#1d7a55}.status-badge.status-active i{background:#1f9d6b}
.status-badge.status-new{background:#fff1e7;color:#b5531f}.status-badge.status-new i{background:var(--accent)}
.status-badge.status-inactive{background:#f0f0f5;color:#6e7087}.status-badge.status-inactive i{background:#9a9cb0}

/* Sign-in: brand panel beside the form */
.auth-split{display:grid;grid-template-columns:minmax(380px,44%) 1fr;padding:0;background:#fff;align-items:stretch}
.auth-brand{padding:40px 48px;color:#e8e8fb;display:flex;flex-direction:column;justify-content:space-between;gap:40px;background:radial-gradient(120% 60% at 0% 0%,#4b4db0 0%,transparent 60%),radial-gradient(90% 50% at 100% 100%,#f08a4b33 0%,transparent 60%),linear-gradient(160deg,var(--deep),var(--night))}
.auth-brand-top{display:flex;align-items:center;gap:12px}
.auth-brand-top strong{display:block;color:#fff;font-size:16px}.auth-brand-top span{font-size:13px;color:#c3c4ee}
.auth-logo{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;box-shadow:0 4px 14px #00000026}
.auth-eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.auth-brand h2{margin:0 0 24px;font-size:34px;line-height:1.15;letter-spacing:-.025em;color:#fff;font-weight:800;max-width:520px}
.auth-brand .abc{list-style:none;margin:0 0 28px;padding:0 0 0 16px;border-left:2px solid #ffb98d66;display:flex;flex-direction:column;gap:8px}
.auth-brand .abc li{font-size:16px;color:#e3e4fb;line-height:1.4}
.auth-brand .abc b{font-size:26px;font-weight:800;color:var(--amber);line-height:1}
.auth-brand .motto{display:grid;grid-template-columns:repeat(3,1fr);max-width:440px;margin:0;padding:16px 0;border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}
.auth-brand .motto span{display:flex;flex-direction:column;align-items:center}
.auth-brand .motto span+span{border-left:1px solid #ffffff26}
.auth-brand .motto small{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);margin-bottom:3px;padding-left:.28em}
.auth-brand .motto strong{font-size:21px;font-weight:800;color:#fff;letter-spacing:-.01em}
.auth-pane{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-split .auth-card{border:0;box-shadow:none;background:transparent;width:min(400px,100%);padding:0;gap:18px}
.auth-split .auth-card h1{text-align:left;font-size:30px;font-weight:800;letter-spacing:-.03em}
.auth-split .auth-sub{text-align:left;margin:-8px 0 8px;font-size:14px}
.auth-split .field input{height:50px;border-radius:12px;font-size:15px;border-width:1.5px}
.auth-split .auth-submit{height:52px;border-radius:12px;font-size:15px;box-shadow:0 8px 20px #3e409540}
.auth-split .auth-foot{text-align:left;font-size:13px}
.auth-foot a{color:var(--primary);font-weight:700}
#passwordScreen{background:radial-gradient(1000px 500px at 50% -10%,#e2e2f6 0%,var(--canvas) 60%)}
.auth-card{border-radius:20px}
@media(max-width:900px){
  .auth-split{grid-template-columns:1fr;align-content:start}
  .auth-brand{padding:24px 20px 26px;gap:18px}
  .auth-brand h2{font-size:22px;margin-bottom:14px}
  .auth-brand .abc{margin-bottom:16px}.auth-brand .abc li{font-size:14px}.auth-brand .abc b{font-size:20px}
  .auth-brand .motto strong{font-size:17px}
  .auth-logo{width:44px;height:44px}
  .auth-pane{padding:28px 20px 40px;align-items:flex-start}
}
.sidebar .centre-dot.green{background:#9fa1ff}.sidebar .centre-dot.violet{background:#f0a3bd}.sidebar .centre-dot.amber{background:#ffb27d}.sidebar .centre-dot.teal{background:#6fd3c3}
.sidebar-bottom{padding-top:12px}
/* Montserrat everywhere: form controls don't inherit the page font by default. */
button,input,select,textarea,optgroup{font-family:inherit}
