:root{--green:#0b6b4f;--green-2:#159a70;--green-3:#e7f4ee;--gold:#d6b34a;--gold-soft:#fff7d9;--bg:#f4f7f2;--surface:#fff;--surface-2:#f8fbf9;--text:#17362c;--muted:#60756d;--border:#dfe8e3;--danger:#d9534f;--blue:#3b82f6;--rose:#e85d75;--shadow:0 16px 45px rgba(20,68,51,.09);--radius:20px;--sidebar:260px}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}.is-hidden{display:none!important}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--surface);color:var(--green);border:2px solid var(--gold);box-shadow:0 7px 20px rgba(0,0,0,.12);transform:rotate(-2deg)}.brand strong{font-size:15px;letter-spacing:.03em}.brand strong span{color:var(--gold)}.brand small{display:block;font-size:10px;margin-top:2px;opacity:.72}.brand-light{color:#fff}.brand-mobile{display:none}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-visual{padding:48px 7vw;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 80% 15%,rgba(214,179,74,.23),transparent 28%),linear-gradient(145deg,#073c2d,#0b6b4f 58%,#159a70);position:relative;overflow:hidden}.login-visual:after{content:"";width:360px;height:360px;border:1px solid rgba(255,255,255,.15);border-radius:50%;position:absolute;right:-90px;bottom:-110px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025)}.login-copy{max-width:650px;color:#fff;position:relative;z-index:1;margin:auto 0}.login-copy h1{font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 22px}.login-copy p{font-size:18px;max-width:580px;color:rgba(255,255,255,.82)}.trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.trust-row span{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 13px;font-size:13px;background:rgba(255,255,255,.08)}.login-panel{display:grid;place-items:center;padding:42px;background:var(--bg)}.login-card{width:min(460px,100%);background:var(--surface);border-radius:28px;padding:40px;box-shadow:var(--shadow);border:1px solid var(--border);display:grid;gap:22px}.login-card h2{font-size:30px;letter-spacing:-.03em;margin:5px 0}.login-card p{margin:0;color:var(--muted)}.login-type-list{display:grid;gap:11px}.login-type-card{width:100%;display:flex;align-items:center;gap:13px;padding:14px;border-radius:15px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left;transition:.2s}.login-type-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 10px 24px rgba(20,68,51,.08)}.login-type-card>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-size:12px;font-weight:900;border:1px solid rgba(11,107,79,.12)}.login-type-card.admin-login>span{background:var(--gold-soft);color:#806000}.login-type-card.peima-login>span{background:#eaf2ff;color:#2f68bb}.login-type-card div{flex:1}.login-type-card strong,.login-type-card small{display:block}.login-type-card small{margin-top:2px;color:var(--muted)}.login-type-card>b{font-size:20px;color:var(--green)}.login-back{width:max-content;border:0;background:transparent;color:var(--green);font-weight:800;padding:0}.login-back:hover{color:var(--green-2)}label{font-weight:650;color:var(--text);font-size:14px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--border);border-radius:12px;padding:13px 14px;color:var(--text);background:var(--surface-2);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(21,154,112,.12)}input[readonly]{background:var(--bg);color:var(--muted);cursor:not-allowed}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:70px}.password-wrap button{position:absolute;right:5px;top:13px;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800}.form-line{display:flex;justify-content:space-between;align-items:center}.check{display:flex;gap:8px;align-items:center;font-weight:500}.check input{width:auto;margin:0}.link-button{background:none;border:0;color:var(--green);font-weight:700}.primary-button,.secondary-button{border-radius:12px;padding:13px 18px;font-weight:800;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary-button{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;box-shadow:0 9px 20px rgba(11,107,79,.2)}.primary-button:hover{transform:translateY(-1px)}.primary-button.compact{padding:11px 17px;width:auto}.secondary-button{background:var(--surface);border-color:var(--border);color:var(--text)}.secondary-button:hover{border-color:var(--gold);color:var(--green)}.login-hint{text-align:center;font-size:12px!important}.login-error{display:none;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#a11b1b!important;font-size:13px}.login-error.show{display:block}
.portal{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:24px 16px;background:#083e2f;color:#fff;display:flex;flex-direction:column;z-index:20}.sidebar-brand{padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.1)}.side-nav{display:grid;gap:6px;padding-top:20px}.nav-item{border:0;background:transparent;color:rgba(255,255,255,.72);border-radius:12px;padding:12px 14px;text-align:left;font-weight:650;display:flex;align-items:center;gap:12px}.nav-item span{width:22px;text-align:center;font-size:18px}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.1)}.nav-item.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-foot{margin-top:auto;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px}.online-dot{width:10px;height:10px;border-radius:50%;background:#31d47a;box-shadow:0 0 0 5px rgba(49,212,122,.1)}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:12px}.sidebar-foot small{color:rgba(255,255,255,.58)}.app-shell{grid-column:2;min-width:0}.topbar{height:82px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(244,247,242,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.topbar h2{margin:1px 0 0;font-size:20px}.top-label{font-size:10px;letter-spacing:.14em;color:var(--green);font-weight:900;margin:0}.top-actions{display:flex;align-items:center;gap:9px}.icon-button,.pill-button,.profile-chip{border:1px solid var(--border);background:var(--surface);color:var(--text)}.icon-button{width:42px;height:42px;border-radius:12px}.pill-button{height:42px;padding:0 14px;border-radius:12px;font-weight:800}.profile-chip{border-radius:14px;padding:5px 11px 5px 5px;display:flex;align-items:center;gap:9px;text-align:left}.profile-chip>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--gold);color:#2d2a1e;font-weight:900}.profile-chip strong,.profile-chip small{display:block;font-size:12px}.profile-chip small{color:var(--muted)}.alert-button{position:relative}.alert-button b{position:absolute;top:-5px;right:-5px;background:#e53935;color:#fff;width:18px;height:18px;border-radius:50%;font-size:10px;display:grid;place-items:center}.menu-button{display:none}.content{padding:34px;max-width:1540px;margin:0 auto 80px}.view{display:none;animation:fade .22s ease}.active-view{display:block}@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--green-2);font-weight:900}.welcome-row,.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.welcome-row h1,.page-heading h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;line-height:1.08;margin:8px 0 4px}.welcome-row p,.page-heading p{color:var(--muted);margin:0}.school-banner{border-radius:var(--radius);padding:21px 24px;background:linear-gradient(120deg,#0b6b4f,#0d7d5c);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 35px rgba(11,107,79,.18)}.school-banner>div{display:flex;gap:15px;align-items:center}.school-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:23px}.school-banner small{font-size:9px;letter-spacing:.14em;opacity:.75}.school-banner h3{margin:2px 0;font-size:21px}.school-banner p{margin:0;color:rgba(255,255,255,.72);font-size:13px}.status-chip{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:800}.status-chip i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#46e18b;margin-right:6px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 34px}.metric-card{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 28px rgba(32,74,59,.04);position:relative}.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:12px}.metric-card strong{font-size:27px;letter-spacing:-.04em}.metric-card em{position:absolute;right:14px;top:14px;font-style:normal;font-size:10px;font-weight:800;color:var(--green);background:var(--green-3);border-radius:999px;padding:4px 7px}.metric-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;font-size:21px;font-weight:900}.metric-icon.green{background:var(--green-3);color:var(--green)}.metric-icon.gold{background:var(--gold-soft);color:#8a6a00}.metric-icon.blue{background:#eaf2ff;color:var(--blue)}.metric-icon.rose{background:#fff0f3;color:var(--rose)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:28px 0 15px}.section-heading h2{margin:4px 0 0;font-size:24px;letter-spacing:-.025em}.section-heading>span{font-size:12px;color:var(--muted)}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.action-card{padding:23px;border-radius:20px;border:1px solid var(--border);background:var(--surface);text-align:left;color:var(--text);transition:.2s}.action-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow)}.action-icon,.feature-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--green-3);color:var(--green);font-size:21px;margin-bottom:18px}.action-card small,.feature-card small{letter-spacing:.12em;font-size:9px;color:var(--green-2);font-weight:900}.action-card h3{font-size:21px;margin:5px 0}.action-card p{color:var(--muted);font-size:13px;margin:0 0 19px}.action-card b,.feature-card b{color:var(--green);font-size:12px}.feature-card{width:100%;margin-top:16px;padding:24px;border-radius:22px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--text);transition:.2s}.feature-card:hover{border-color:var(--gold);box-shadow:var(--shadow)}.cleanliness-feature{border-left:5px solid var(--gold)}.gps-feature{border-left:5px solid var(--green-2)}.feature-copy{display:flex;align-items:center;gap:17px}.feature-copy .feature-icon{margin:0}.feature-card h2{margin:3px 0;font-size:21px}.feature-card p{margin:0;color:var(--muted);font-size:13px}.feature-stat{text-align:right}.feature-stat strong,.feature-stat span,.feature-stat b{display:block}.feature-stat strong{font-size:20px}.feature-stat span{font-size:11px;color:var(--muted);margin-bottom:6px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 9px 30px rgba(24,71,54,.04)}.tabs-panel{padding-top:10px}.tab-list{display:flex;gap:5px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{border:0;background:transparent;padding:13px 17px;color:var(--muted);font-weight:800;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-color:var(--gold)}.tab-content{display:none}.tab-content.active{display:block}.filter-row{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.filter-row label{min-width:170px}.filter-row input,.filter-row select{padding:10px}.mini-stat{margin-left:auto;padding:8px 14px;border-left:1px solid var(--border)}.mini-stat span,.mini-stat strong{display:block}.mini-stat span{font-size:10px;color:var(--muted);text-transform:uppercase}.mini-stat strong{font-size:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.status-select{width:120px;margin:0;padding:8px}.form-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px}.form-actions.right{justify-content:flex-end}.two-column{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.camera-panel{min-height:460px;display:flex;flex-direction:column;position:relative;overflow:hidden}.camera-panel video{width:100%;height:360px;object-fit:cover;border-radius:16px;background:#082f24}.camera-placeholder{height:360px;border-radius:16px;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(145deg,#0a4635,#0b6b4f);color:#fff}.camera-placeholder span{font-size:52px}.camera-placeholder h3{margin:7px 0}.camera-placeholder p{margin:0;opacity:.7}.camera-actions{display:flex;gap:10px;justify-content:center;margin-top:16px}.verification-panel{display:flex;flex-direction:column}.verification-result{text-align:center;padding:38px 15px;margin:16px 0;background:var(--surface-2);border-radius:17px;border:1px dashed var(--border)}.verification-result span{font-size:42px;color:var(--muted)}.verification-result h2{margin:5px}.verification-result p{color:var(--muted);font-size:13px}.verification-result.success{background:var(--green-3);border-color:var(--green-2)}.verification-result.success span,.verification-result.success h2{color:var(--green)}.detail-list{margin-top:auto}.detail-list>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);gap:16px}.detail-list span{color:var(--muted);font-size:12px}.detail-list strong{text-align:right;font-size:13px}.detail-list.large strong{font-size:16px}.progress-ring{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;align-content:center;border:8px solid var(--green-3);box-shadow:inset 0 0 0 2px var(--gold)}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{font-size:23px}.progress-ring span{font-size:10px;color:var(--muted)}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px}.checklist-item{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:14px;padding:13px;background:var(--surface-2);font-weight:650}.checklist-item input{width:18px;height:18px;margin:0;accent-color:var(--green)}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-box{height:270px;border:2px dashed var(--border);border-radius:18px;display:grid;place-items:center;align-content:center;text-align:center;position:relative;overflow:hidden;background:var(--surface-2);padding:20px}.upload-box:hover{border-color:var(--gold)}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-box span{font-size:32px;color:var(--green)}.upload-box h3{margin:5px}.upload-box p{margin:0;color:var(--muted);font-size:12px}.upload-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.span-two{grid-column:1/-1}.location-visual{text-align:center}.radar{width:190px;height:190px;margin:15px auto 25px;border-radius:50%;position:relative;background:radial-gradient(circle,var(--green-3) 0 13%,transparent 14% 30%,var(--green-3) 31% 32%,transparent 33% 55%,var(--green-3) 56% 57%,transparent 58%);border:1px solid var(--green-3)}.radar span{position:absolute;inset:50% 0 auto 50%;height:1px;background:var(--green-2);transform-origin:left;animation:sweep 3s linear infinite;width:50%}.radar i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);left:68%;top:32%;box-shadow:0 0 0 7px rgba(214,179,74,.18)}.radar b{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;color:var(--green)}@keyframes sweep{to{transform:rotate(360deg)}}.full{width:100%;margin-top:20px}.report-metrics .metric-card{min-height:115px}.activity-log{display:grid;gap:10px}.activity-item{display:flex;align-items:center;gap:13px;border:1px solid var(--border);border-radius:13px;padding:13px}.activity-item>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green-3);color:var(--green)}.activity-item div{flex:1}.activity-item h4,.activity-item p{margin:0}.activity-item p,.activity-item time{font-size:11px;color:var(--muted)}.school-form{margin-top:0}.alert-list{display:grid;gap:12px}.alert-list article{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid var(--border);border-radius:15px}.alert-list h3,.alert-list p{margin:0}.alert-list p,.alert-list small{color:var(--muted);font-size:12px}.alert-list button{margin-left:auto;border:0;background:var(--green-3);color:var(--green);padding:8px 12px;border-radius:9px;font-weight:800}.alert-icon{width:42px;height:42px;border-radius:13px;background:var(--gold-soft);color:#7d6100;display:grid;place-items:center;font-weight:900}.profile-panel{text-align:center}.profile-avatar{display:grid;place-items:center;margin:0 auto;width:90px;height:90px;border-radius:26px;background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;font-size:28px;font-weight:900;border:4px solid var(--gold-soft)}.profile-panel h2{margin-bottom:0}.profile-panel>p{color:var(--muted)}.settings-list h2{margin-top:0}.settings-list button{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;padding:16px 0;display:flex;justify-content:space-between;text-align:left;color:var(--text)}.settings-list span,.settings-list small{display:block}.settings-list small{color:var(--muted);margin-top:3px}.settings-list b{color:var(--green)}.mobile-nav{display:none}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#15372d;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);z-index:100;opacity:0;pointer-events:none;transition:.25s;font-weight:700;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}
.role-hidden{display:none!important}.record-summary{display:flex;gap:10px;flex-wrap:wrap}.record-summary span{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:9px 14px;color:var(--muted);font-size:12px}.record-summary b{font-size:20px;color:var(--green);margin-right:4px}.record-tab-content{display:none}.record-tab-content.active{display:block}.record-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:5px 0 24px;border-bottom:1px solid var(--border)}.span-full{grid-column:1/-1}.record-toolbar{display:flex;justify-content:flex-end;margin:20px 0 7px}.record-toolbar label{width:min(360px,100%)}.cell-subtitle{display:block;color:var(--muted);margin-top:2px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions button{border:0;border-radius:8px;padding:7px 10px;background:var(--green-3);color:var(--green);font-weight:800;font-size:11px}.row-actions .danger-action{background:#fff0f0;color:#b03030}.staff-record-form{grid-template-columns:240px 1fr;align-items:start}.staff-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.staff-photo-field{text-align:center;border:1px solid var(--border);border-radius:18px;background:var(--surface-2);padding:16px}.staff-photo-preview{width:150px;height:150px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;align-content:center;overflow:hidden;background:linear-gradient(145deg,var(--green-3),var(--surface));border:4px solid var(--gold-soft);color:var(--green)}.staff-photo-preview span{font-size:43px}.staff-photo-preview small{display:block}.staff-photo-preview img{width:100%;height:100%;object-fit:cover}.photo-button{position:relative;overflow:hidden;width:100%}.photo-button input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.staff-photo-field p{font-size:11px;color:var(--muted);margin-bottom:0}.staff-record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.staff-record-card{border:1px solid var(--border);border-radius:17px;padding:15px;display:flex;gap:13px;background:var(--surface-2)}.staff-card-photo{width:72px;height:72px;flex:0 0 72px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-size:28px}.staff-card-photo img{width:100%;height:100%;object-fit:cover}.staff-card-copy{min-width:0}.staff-card-copy h3{margin:2px 0 6px}.staff-card-copy small{color:var(--green);font-weight:900}.staff-card-copy p{margin:2px 0;color:var(--muted);font-size:11px}.staff-card-copy .row-actions{margin-top:10px}.empty-records{text-align:center;padding:35px;color:var(--muted);grid-column:1/-1}.empty-records>span{font-size:38px;color:var(--green)}.empty-records h3,.empty-records p{margin:5px}.face-select-row{display:flex;align-items:end;gap:18px;margin-bottom:18px;padding:15px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.face-select-row label{width:min(430px,100%)}.face-select-row p{margin:0 0 11px;color:var(--muted);font-size:12px}.network-tools{display:flex;gap:16px;margin-bottom:16px}.network-tools label:first-child{flex:1}.network-tools label:last-child{width:220px}.network-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.network-school-card{display:flex;align-items:center;gap:14px;width:100%;padding:17px;border:1px solid var(--border);border-radius:17px;background:var(--surface);color:var(--text);text-align:left}.network-school-card:hover{border-color:var(--gold);box-shadow:var(--shadow)}.network-school-card>div:nth-of-type(1){flex:1}.network-school-card h3,.network-school-card p{margin:0}.network-school-card p{color:var(--muted);font-size:11px}.network-org{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-size:10px;font-weight:900}.network-org.peima{background:#eaf2ff;color:#2f68bb}.network-totals{display:flex;gap:12px}.network-totals span{font-size:10px;color:var(--muted)}.network-totals b{display:block;font-size:16px;color:var(--text)}.network-open{color:var(--green);font-size:12px}.admin-school-detail{margin-top:20px;scroll-margin-top:100px}.admin-school-detail .section-heading{margin-top:0}.password-admin-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;padding-top:20px;border-top:1px solid var(--border)}
/* Organisation identity: neutral pages with focused PEF/PEIMA accents. */
body.pef-mode{--green:#2563a8;--green-2:#3d82cf;--green-3:#e8f1fb;--bg:#f5f7fb;--surface-2:#f6f9fd;--text:#1d2b3b;--muted:#667487;--border:#dce4ee}
body.peima-mode{--green:#167b58;--green-2:#23a477;--green-3:#e8f5ef;--bg:#f5f8f6;--surface-2:#f7faf8;--text:#20362e;--muted:#687a73;--border:#dce7e1}
body.admin-mode{--green:#9a741c;--green-2:#c79b2d;--green-3:#fff4d0;--bg:#f6f5f1;--surface-2:#faf8f1;--text:#262624;--muted:#74736d;--border:#e4e0d4}
body.pef-mode .sidebar{background:linear-gradient(180deg,#112f55,#174b82 65%,#15385f)}
body.peima-mode .sidebar{background:linear-gradient(180deg,#103f31,#17684d 65%,#123f32)}
body.admin-mode .sidebar{background:linear-gradient(180deg,#1c2025,#292d33 65%,#181b1f)}
body.pef-mode .school-banner{background:linear-gradient(120deg,#245f9e,#3d82cf)}body.peima-mode .school-banner{background:linear-gradient(120deg,#176c4e,#23a477)}
.metric-card.metric-teal{background:linear-gradient(145deg,#f1fffb,#e2f7f0);border-color:#bfe7da}.metric-card.metric-amber{background:linear-gradient(145deg,#fffdf4,#fff2c9);border-color:#f0dc91}.metric-card.metric-violet{background:linear-gradient(145deg,#faf7ff,#eee7ff);border-color:#d8c9fa}.metric-card.metric-coral{background:linear-gradient(145deg,#fff8f6,#ffe9e4);border-color:#f3c8bd}
.admin-overview-heading{padding:24px 26px;border-radius:22px;background:linear-gradient(120deg,#25282d,#373b42);color:#fff;border-left:6px solid var(--gold)}.admin-overview-heading p{color:#d3d4d7}.admin-overview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:20px 0}.admin-stat-card{min-height:184px;border:1px solid var(--border);border-radius:20px;padding:20px;text-align:left;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;background:var(--surface);box-shadow:0 12px 30px rgba(31,38,48,.07)}button.admin-stat-card{transition:.2s}.admin-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.admin-stat-card>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-weight:900;margin-bottom:18px}.admin-stat-card small{color:var(--muted);font-weight:800}.admin-stat-card strong{font-size:38px;line-height:1.05;margin:3px 0 12px}.admin-stat-card b{margin-top:auto;font-size:11px}.stat-schools{background:linear-gradient(145deg,#fffaf0,#f7e8b5)}.stat-schools>span{background:#d6b34a;color:#2d291f}.stat-pef{background:linear-gradient(145deg,#f3f8ff,#dcecff)}.stat-pef>span{background:#2563a8;color:#fff}.stat-pef b{color:#2563a8}.stat-peima{background:linear-gradient(145deg,#f1fbf6,#dcefe6)}.stat-peima>span{background:#16825d;color:#fff}.stat-peima b{color:#16825d}.stat-students{background:linear-gradient(145deg,#fff8f4,#ffe1d5)}.stat-students>span{background:#e77752;color:#fff}.stat-teachers{background:linear-gradient(145deg,#faf6ff,#e9ddfb)}.stat-teachers>span{background:#805ab8;color:#fff}.admin-export-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:6px solid var(--gold)}.admin-export-panel h2,.admin-export-panel p{margin:4px 0}.admin-export-panel p{color:var(--muted)}.admin-export-actions,.network-export-actions,.detail-heading-actions{display:flex;gap:9px;flex-wrap:wrap}.export-button{border:0;border-radius:12px;padding:12px 16px;color:#fff;font-weight:850}.export-pef{background:linear-gradient(135deg,#1e5793,#3d82cf)}.export-peima{background:linear-gradient(135deg,#116b4b,#23a477)}
.cleanliness-categories{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.cleanliness-categories .upload-box{height:225px;padding:15px}.automatic-face-row{align-items:center}.automatic-face-row h3,.automatic-face-row p{margin:0}.automatic-face-select{display:none}.auto-match-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-size:25px;font-weight:900}.network-tools{align-items:end;flex-wrap:wrap}.network-export-actions{align-items:center}.network-totals small{display:block;margin-top:2px;color:var(--muted)}.network-org.pef{background:#e5f0ff;color:#225f9f}.network-org.peima{background:#e3f5ec;color:#147452}.pef-school-card:hover{border-color:#4a8bd3}.peima-school-card:hover{border-color:#2aa77c}.admin-data-section{padding:12px 0 18px;border-top:1px solid var(--border)}.cleanliness-status-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.clean-status-card{border:1px solid var(--border);border-radius:15px;padding:14px;background:var(--surface-2);display:flex;gap:10px;align-items:center}.clean-status-card>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f1f2f4;color:#8c939d;font-weight:900}.clean-status-card.complete>span{background:#dff6e9;color:#188458}.clean-status-card h3,.clean-status-card p{margin:0}.clean-status-card h3{font-size:13px}.clean-status-card p{color:var(--muted);font-size:10px}.admin-staff-cell{display:flex;align-items:center;gap:9px}.admin-staff-cell img,.admin-staff-cell>span{width:38px;height:38px;border-radius:11px;object-fit:cover;display:grid;place-items:center;background:var(--green-3);color:var(--green)}.scan-proof-photo{width:54px;height:54px;border-radius:12px;object-fit:cover;border:2px solid var(--gold-soft)}.data-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef0f2;color:#5f6670;font-size:10px;font-weight:850}.status-present{background:#dff6e9;color:#177b51}.status-late{background:#fff2c9;color:#8b6a00}.status-absent{background:#ffe6e1;color:#b33c31}.status-leave{background:#eee7ff;color:#6e4e9c}
body.dark{--bg:#181a1f;--surface:#24272e;--surface-2:#2c3038;--text:#f3f0e8;--muted:#b2b6c0;--border:#3b414b;--green-3:#303640;--gold-soft:#3d3826;--shadow:0 16px 45px rgba(0,0,0,.28)}body.dark.pef-mode{--green:#64a9f3;--green-2:#82b9f5;--green-3:#26384c}body.dark.peima-mode{--green:#49c694;--green-2:#69d3a8;--green-3:#253d34}body.dark.admin-mode{--green:#e0bd59;--green-2:#f0d47e;--green-3:#413a25}body.dark .topbar{background:rgba(24,26,31,.92)}body.dark .metric-icon.blue{background:#293d59}body.dark .metric-icon.rose{background:#4a3036}body.dark .metric-card.metric-teal{background:linear-gradient(145deg,#273735,#23302f);border-color:#3d5b55}body.dark .metric-card.metric-amber{background:linear-gradient(145deg,#37342b,#302e27);border-color:#5d5540}body.dark .metric-card.metric-violet{background:linear-gradient(145deg,#302d3a,#292832);border-color:#514a62}body.dark .metric-card.metric-coral{background:linear-gradient(145deg,#392e2d,#302727);border-color:#5c4743}body.dark .admin-overview-heading{background:linear-gradient(120deg,#111317,#292c32)}body.dark .stat-schools{background:linear-gradient(145deg,#373326,#2b2923)}body.dark .stat-pef{background:linear-gradient(145deg,#263443,#222b36)}body.dark .stat-peima{background:linear-gradient(145deg,#263931,#222d29)}body.dark .stat-students{background:linear-gradient(145deg,#3a2e2a,#2f2826)}body.dark .stat-teachers{background:linear-gradient(145deg,#332d3c,#2b2731)}body.dark .clean-status-card>span{background:#383d46}body.dark .clean-status-card.complete>span{background:#244b3a;color:#6ed3a6}
@media(max-width:1050px){:root{--sidebar:220px}.metric-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.brand-mobile{display:flex}.login-panel{min-height:100vh}.action-grid{grid-template-columns:1fr 1fr}.action-grid .action-card:last-child{grid-column:1/-1}.checklist{grid-template-columns:1fr}.record-form{grid-template-columns:1fr 1fr}.staff-record-form{grid-template-columns:210px 1fr}.staff-record-grid{grid-template-columns:1fr 1fr}.network-grid{grid-template-columns:1fr}}
@media(max-width:760px){.portal{display:block}.sidebar{transform:translateX(-100%);width:270px;transition:.25s}.sidebar.open{transform:none}.app-shell{display:block}.topbar{height:70px;padding:0 14px}.topbar>div:nth-child(2){display:none}.menu-button{display:block}.top-actions{margin-left:auto}.profile-chip div{display:none}.profile-chip{padding-right:5px}.content{padding:20px 14px 100px}.welcome-row,.page-heading{align-items:flex-start;flex-direction:column}.welcome-row h1,.page-heading h1{font-size:32px}.school-banner{align-items:flex-start;gap:15px}.school-banner>div{align-items:flex-start}.status-chip{white-space:nowrap}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:15px;align-items:flex-start}.metric-icon{width:36px;height:36px}.metric-card strong{font-size:23px}.metric-card em{display:none}.action-grid{grid-template-columns:1fr}.action-grid .action-card:last-child{grid-column:auto}.feature-card{align-items:flex-start;gap:15px}.feature-stat{display:none}.feature-copy{align-items:flex-start}.feature-card h2{font-size:18px}.upload-grid,.form-grid,.record-form,.staff-record-form,.staff-fields{grid-template-columns:1fr}.mini-stat{margin-left:0}.staff-record-grid{grid-template-columns:1fr}.face-select-row,.network-tools{align-items:stretch;flex-direction:column}.network-tools label:last-child{width:100%}.network-school-card{align-items:flex-start;flex-wrap:wrap}.network-totals{width:100%;padding-left:66px}.password-admin-form{grid-template-columns:1fr}.mobile-nav{position:fixed;left:0;right:0;bottom:0;height:72px;background:var(--surface);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr);z-index:30;padding:5px max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;font-size:9px;gap:3px}.mobile-nav button span{font-size:21px}.mobile-nav button.active{color:var(--green)}.mobile-nav .mobile-main span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;border:3px solid var(--gold);margin-top:-24px}.login-panel{padding:18px}.login-card{padding:26px 22px}.login-card h2{font-size:26px}.alert-list article{align-items:flex-start}.alert-list button{margin-left:0}.page-heading .secondary-button{width:100%}}
@media(max-width:1250px){.admin-overview-grid{grid-template-columns:repeat(3,1fr)}.cleanliness-status-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.admin-overview-grid{grid-template-columns:1fr 1fr}.admin-export-panel{align-items:flex-start;flex-direction:column}.admin-export-actions,.network-export-actions,.detail-heading-actions{width:100%;flex-direction:column}.admin-export-actions button,.network-export-actions button,.detail-heading-actions button{width:100%}.cleanliness-status-grid{grid-template-columns:1fr 1fr}.automatic-face-row{flex-direction:row}.admin-overview-heading{padding:20px}.admin-overview-heading .primary-button{width:100%}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.top-actions .pill-button{display:none}.school-banner{padding:17px}.school-banner h3{font-size:17px}.login-card{border-radius:20px}.feature-copy .feature-icon{display:none}}
@media(max-width:430px){.admin-overview-grid,.cleanliness-status-grid{grid-template-columns:1fr}.admin-stat-card{min-height:155px}.network-totals{padding-left:0}}
@media print{.sidebar,.topbar,.mobile-nav,.page-heading button{display:none!important}.app-shell{grid-column:1}.content{padding:0}.view{display:none!important}#reports{display:block!important}body{background:#fff}}

/* 2026 portal redesign: branded access, richer cards and evidence workflows */
.brand-mark img,.stat-icon-shell img,.network-org img,.network-column-logo img,.sidebar-organisation-logo img,.login-form-logo-frame img,.login-type-card>span img{width:100%;height:100%;object-fit:contain;display:block}
.brand-marks{display:flex;align-items:center;gap:7px;flex:0 0 auto}.brand-logo-frame{padding:4px;background:#0b0d0f}.brand-logo-frame img{border-radius:8px}.sidebar-organisation-logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;padding:3px;background:rgba(255,255,255,.94);border:1px solid rgba(214,179,74,.7);overflow:hidden}.sidebar-organisation-logo img{border-radius:9px}.sidebar-organisation-logo img[src*="peima"]{width:145%;height:145%;object-fit:cover;object-position:center 34%}
.alert-button{display:grid;place-items:center}.alert-button img{width:21px;height:21px;display:block}.mobile-bell{width:24px!important;height:24px!important;display:grid!important;place-items:center!important}.mobile-bell img{width:21px;height:21px;display:block}body.dark .alert-button img,body.dark .mobile-bell img{filter:invert(1)}

/* Luxury three-portal chooser */
.login-shell.chooser-mode{display:block;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(214,179,74,.11),transparent 30%),radial-gradient(circle at 20% 65%,rgba(20,160,105,.12),transparent 27%),radial-gradient(circle at 83% 62%,rgba(48,116,220,.12),transparent 27%),linear-gradient(145deg,#030506 0%,#091014 55%,#050708 100%)}
.login-shell.chooser-mode:before,.login-shell.chooser-mode:after{content:"";position:absolute;pointer-events:none;inset:0}.login-shell.chooser-mode:before{opacity:.35;background:linear-gradient(125deg,transparent 0 8%,rgba(214,179,74,.35) 8.1% 8.2%,transparent 8.3% 88%,rgba(214,179,74,.25) 88.1% 88.2%,transparent 88.3%),linear-gradient(55deg,transparent 0 13%,rgba(214,179,74,.14) 13.1% 13.2%,transparent 13.3% 86%,rgba(214,179,74,.14) 86.1% 86.2%,transparent 86.3%)}.login-shell.chooser-mode:after{inset:24px;border:1px solid rgba(214,179,74,.22);border-radius:26px}
.login-shell.chooser-mode .login-visual{display:none}.login-shell.chooser-mode .login-panel{position:relative;z-index:1;min-height:100vh;padding:42px 5vw;background:transparent;display:grid;place-items:center}.login-shell.chooser-mode .login-choice-card{width:min(1180px,100%);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;gap:26px;text-align:center}.login-shell.chooser-mode .brand-mobile{display:flex;justify-content:flex-start;color:#fff;text-align:left;padding:0 4px 18px;border-bottom:1px solid rgba(214,179,74,.28)}.login-shell.chooser-mode .brand-mobile strong{font-family:Georgia,"Times New Roman",serif;font-size:21px;letter-spacing:.06em}.login-shell.chooser-mode .brand-mobile small{color:rgba(255,255,255,.58)}.login-shell.chooser-mode .login-choice-card>.brand+.is-hidden{display:none}.login-shell.chooser-mode .login-choice-card>div:nth-child(2){text-align:center}.login-shell.chooser-mode .login-choice-card .eyebrow{color:#d6b34a}.login-shell.chooser-mode .login-choice-card h2{margin:6px 0 3px;color:#f5dda0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4vw,50px);font-weight:500;letter-spacing:.015em}.login-shell.chooser-mode .login-choice-card>div:nth-child(2)>p{color:#98a3ab}.login-shell.chooser-mode .login-type-list{grid-template-columns:repeat(3,1fr);gap:28px}.login-shell.chooser-mode .login-type-card{min-height:390px;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:34px 24px;text-align:center;border-radius:28px;background:linear-gradient(155deg,rgba(20,25,30,.96),rgba(7,11,14,.98));border:1px solid rgba(255,255,255,.18);color:#f8f1df;box-shadow:inset 0 1px rgba(255,255,255,.1),0 28px 55px rgba(0,0,0,.38);overflow:hidden}.login-shell.chooser-mode .login-type-card>span{width:132px;height:132px;margin:0 auto;padding:9px;border-radius:50%;overflow:hidden;background:#f7f4eb;border:2px solid currentColor;box-shadow:0 0 0 8px rgba(255,255,255,.035),0 0 28px currentColor}.login-shell.chooser-mode .login-type-card div{flex:0}.login-shell.chooser-mode .login-type-card strong{font-size:27px;letter-spacing:.05em;text-transform:uppercase}.login-shell.chooser-mode .login-type-card small{font-size:13px;color:#aab3ba;margin-top:7px}.login-shell.chooser-mode .login-type-card>b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;margin-top:6px;background:rgba(255,255,255,.07);color:currentColor;font-size:21px}.login-shell.chooser-mode .admin-login{color:#e4bd55;border-color:rgba(228,189,85,.68)}.login-shell.chooser-mode .peima-login{color:#41cf88;border-color:rgba(65,207,136,.65)}.login-shell.chooser-mode .pef-login{color:#4a94ff;border-color:rgba(74,148,255,.68)}.login-shell.chooser-mode .admin-login:hover{transform:translateY(-9px);border-color:#f1cf70;box-shadow:0 0 0 1px #e4bd55,0 0 35px rgba(228,189,85,.4),0 30px 60px rgba(0,0,0,.45)}.login-shell.chooser-mode .peima-login:hover{transform:translateY(-9px);border-color:#5deb9d;box-shadow:0 0 0 1px #41cf88,0 0 38px rgba(65,207,136,.42),0 30px 60px rgba(0,0,0,.45)}.login-shell.chooser-mode .pef-login:hover{transform:translateY(-9px);border-color:#67a8ff;box-shadow:0 0 0 1px #4a94ff,0 0 38px rgba(74,148,255,.43),0 30px 60px rgba(0,0,0,.45)}.login-shell.chooser-mode .peima-login>span{padding:0}.login-shell.chooser-mode .peima-login>span img{width:145%;height:145%;max-width:none;object-fit:cover;object-position:center 34%;transform:translate(-15%,-8%)}.login-shell.chooser-mode .pef-login>span img{padding:5px}.login-shell.chooser-mode .admin-login>span img{padding:15px}

/* Organisation-coloured sign-in forms */
.login-form-heading{display:flex;align-items:center;gap:16px}.login-form-heading>div{min-width:0}.login-form-logo-frame{width:68px;height:68px;flex:0 0 68px;display:grid;place-items:center;padding:5px;border-radius:19px;overflow:hidden;background:#fff;border:2px solid var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.12)}.login-form-logo-frame img[src*="peima"]{width:145%;height:145%;max-width:none;object-fit:cover;object-position:center 34%;transform:translate(-15%,-8%)}
.login-shell.login-admin-form .login-visual{background:radial-gradient(circle at 80% 15%,rgba(235,192,74,.25),transparent 30%),linear-gradient(145deg,#07090b,#15191e 62%,#342a12)}.login-shell.login-admin-form .login-card{border:2px solid #d6b34a;box-shadow:0 20px 55px rgba(90,67,10,.22)}.login-shell.login-admin-form .primary-button{background:linear-gradient(135deg,#25282d,#c69a2d);box-shadow:0 9px 22px rgba(145,103,16,.28)}.login-shell.login-admin-form .eyebrow,.login-shell.login-admin-form .login-back,.login-shell.login-admin-form .link-button,.login-shell.login-admin-form .password-wrap button{color:#9b7212}.login-shell.login-admin-form input:focus{border-color:#c69a2d;box-shadow:0 0 0 3px rgba(198,154,45,.16)}
.login-shell.login-peima-form .login-visual{background:radial-gradient(circle at 78% 15%,rgba(255,255,255,.13),transparent 27%),linear-gradient(145deg,#0b4733,#11815a 58%,#30b77f)}.login-shell.login-peima-form .login-card{border:2px solid #25a873;box-shadow:0 20px 55px rgba(18,122,84,.2)}.login-shell.login-peima-form .primary-button{background:linear-gradient(135deg,#0f6d4d,#2fbd83)}.login-shell.login-peima-form .eyebrow,.login-shell.login-peima-form .login-back,.login-shell.login-peima-form .link-button,.login-shell.login-peima-form .password-wrap button{color:#087651}.login-shell.login-peima-form input:focus{border-color:#25a873;box-shadow:0 0 0 3px rgba(37,168,115,.16)}
.login-shell.login-pef-form .login-visual{background:radial-gradient(circle at 78% 15%,rgba(255,255,255,.14),transparent 27%),linear-gradient(145deg,#123a70,#1f63aa 58%,#4b98e8)}.login-shell.login-pef-form .login-card{border:2px solid #3983cf;box-shadow:0 20px 55px rgba(31,99,170,.2)}.login-shell.login-pef-form .primary-button{background:linear-gradient(135deg,#1a5797,#4697e7)}.login-shell.login-pef-form .eyebrow,.login-shell.login-pef-form .login-back,.login-shell.login-pef-form .link-button,.login-shell.login-pef-form .password-wrap button{color:#1d63a9}.login-shell.login-pef-form input:focus{border-color:#3983cf;box-shadow:0 0 0 3px rgba(57,131,207,.16)}

/* Admin and organisation logos */
.stat-icon-shell{overflow:hidden;padding:8px}.stat-icon-shell.logo-shell{padding:4px;background:#fff!important}.stat-icon-shell.peima-logo-crop{padding:0}.stat-icon-shell.peima-logo-crop img,.network-column-logo.peima-logo-crop img{width:145%;height:145%;max-width:none;object-fit:cover;object-position:center 34%;transform:translate(-15%,-8%)}

/* Stronger elegant light cards and hover focus */
body:not(.dark) .metric-card,body:not(.dark) .action-card,body:not(.dark) .feature-card,body:not(.dark) .admin-stat-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,filter .22s ease}.metric-card:hover,.action-card:hover,.feature-card:hover,.admin-stat-card:hover{transform:translateY(-5px);filter:saturate(1.08);box-shadow:0 18px 36px rgba(25,55,75,.16)}
body:not(.dark).pef-mode .metric-card.metric-teal{background:linear-gradient(145deg,#cfe8ff,#b9dbfb);border-color:#7cb5e8}body:not(.dark).pef-mode .metric-card.metric-amber{background:linear-gradient(145deg,#fff0c7,#f7dc92);border-color:#ddb958}body:not(.dark).pef-mode .metric-card.metric-violet{background:linear-gradient(145deg,#e3dcff,#cfc5f8);border-color:#a397e4}body:not(.dark).pef-mode .metric-card.metric-coral{background:linear-gradient(145deg,#ffdeda,#f5c6c0);border-color:#df958b}
body:not(.dark).peima-mode .metric-card.metric-teal{background:linear-gradient(145deg,#ccefe0,#afe1cc);border-color:#72bd9a}body:not(.dark).peima-mode .metric-card.metric-amber{background:linear-gradient(145deg,#ffedbf,#f4d681);border-color:#d7b14e}body:not(.dark).peima-mode .metric-card.metric-violet{background:linear-gradient(145deg,#dfd8fa,#cbc1ef);border-color:#9e91da}body:not(.dark).peima-mode .metric-card.metric-coral{background:linear-gradient(145deg,#ffdcd5,#f1bdb3);border-color:#d7897d}
body:not(.dark).pef-mode .action-grid .action-card:nth-child(1),body:not(.dark).pef-mode .cleanliness-feature{background:linear-gradient(145deg,#d6ebff,#c2e0fb);border-color:#89bee9}body:not(.dark).pef-mode .action-grid .action-card:nth-child(2),body:not(.dark).pef-mode .gps-feature{background:linear-gradient(145deg,#e7ddff,#d4c7fa);border-color:#aa9ae2}body:not(.dark).pef-mode .action-grid .action-card:nth-child(3){background:linear-gradient(145deg,#fff1c9,#f5db93);border-color:#d8b860}
body:not(.dark).peima-mode .action-grid .action-card:nth-child(1),body:not(.dark).peima-mode .cleanliness-feature{background:linear-gradient(145deg,#d4f0e3,#bfe4d2);border-color:#82c3a3}body:not(.dark).peima-mode .action-grid .action-card:nth-child(2),body:not(.dark).peima-mode .gps-feature{background:linear-gradient(145deg,#dce8ff,#c5d8fa);border-color:#91addf}body:not(.dark).peima-mode .action-grid .action-card:nth-child(3){background:linear-gradient(145deg,#ffebc0,#f0d27e);border-color:#d2ad48}

/* PEF and PEIMA network in separate coloured columns */
.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-top:18px}.network-column{border-radius:24px;padding:18px;border:1px solid var(--border);box-shadow:0 12px 30px rgba(20,53,72,.08)}.network-column-pef{background:linear-gradient(180deg,#e0f0ff,#cbe4fa);border-color:#8dbce4}.network-column-peima{background:linear-gradient(180deg,#e0f4ea,#cbe9da);border-color:#8cc5aa}.network-column.single{grid-column:1/-1}.network-column-header{display:flex;align-items:center;gap:13px;padding:5px 5px 17px;border-bottom:1px solid rgba(67,84,98,.15);margin-bottom:14px}.network-column-header small{font-size:9px;letter-spacing:.13em;font-weight:900;color:var(--muted)}.network-column-header h2,.network-column-header p{margin:0}.network-column-header h2{font-size:23px}.network-column-header p{font-size:12px;color:var(--muted)}.network-column-logo{width:58px;height:58px;flex:0 0 58px;border-radius:16px;background:#fff;border:1px solid rgba(25,50,65,.15);overflow:hidden;padding:4px}.network-column-list{display:grid;gap:11px}.network-column.single .network-column-list{grid-template-columns:1fr 1fr}.network-school-card{min-height:112px;width:100%;padding:15px;border-radius:18px;display:flex;align-items:center;gap:13px;text-align:left;color:var(--text);border:1px solid transparent;transition:.2s;box-shadow:0 6px 16px rgba(25,50,70,.06)}body:not(.dark) .network-school-card.pef-school-card{background:linear-gradient(145deg,#c9e4ff,#b6d8f7);border-color:#84b8e6}body:not(.dark) .network-school-card.peima-school-card{background:linear-gradient(145deg,#cfeddf,#b8e0ce);border-color:#7dbb9a}.network-school-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 15px 28px rgba(18,54,78,.17)}.network-org{width:52px;height:52px;flex:0 0 52px;border-radius:14px;overflow:hidden;padding:3px;background:#fff!important}.network-org img[src*="peima"]{width:145%;height:145%;max-width:none;object-fit:cover;object-position:center 34%;transform:translate(-15%,-8%)}.network-open{margin-left:auto;white-space:nowrap}.network-totals{display:flex;gap:12px;margin-left:auto}.network-totals>span{min-width:57px;font-size:10px;color:var(--muted)}.network-totals b{display:block;font-size:20px;color:var(--text)}
body.dark .network-column{background:linear-gradient(145deg,#2c3036,#24282e);border-color:#454b55}body.dark .network-school-card.pef-school-card{background:linear-gradient(145deg,#2e3c4c,#28333f);border-color:#4d6a87}body.dark .network-school-card.peima-school-card{background:linear-gradient(145deg,#304039,#29352f);border-color:#4e7462}

/* Attendance register evidence */
.register-evidence-panel{margin-top:18px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,420px);gap:24px;align-items:center}.register-evidence-panel h2,.register-evidence-panel p{margin:4px 0}.register-evidence-panel>div>p{color:var(--muted)}.register-upload-box{height:210px;margin:0;border:2px dashed var(--border);border-radius:18px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;position:relative;overflow:hidden;background:var(--surface-2);cursor:pointer}.register-upload-box:hover{border-color:var(--gold);box-shadow:0 12px 28px rgba(40,60,70,.12)}.register-upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.register-upload-box>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-size:28px}.register-upload-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.register-upload-status{grid-column:2;color:var(--muted);font-size:12px;text-align:center;margin:-16px 0 0!important}

/* Staff selector and live face attendance */
.face-staff-picker{margin-bottom:18px}.face-staff-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px}.face-staff-card{border:1px solid var(--border);border-radius:17px;padding:12px;background:var(--surface-2);color:var(--text);display:flex;align-items:center;gap:12px;text-align:left;transition:.2s}.face-staff-card:hover,.face-staff-card.active{transform:translateY(-3px);border-color:var(--green);box-shadow:0 12px 24px rgba(20,70,55,.13)}.face-staff-card.active{background:var(--green-3)}.face-staff-card img,.face-staff-card>span{width:58px;height:58px;flex:0 0 58px;border-radius:15px;object-fit:cover;display:grid;place-items:center;background:var(--green-3);font-size:27px}.face-staff-card div{min-width:0;flex:1}.face-staff-card h3,.face-staff-card p,.face-staff-card small{display:block;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.face-staff-card h3{font-size:15px}.face-staff-card p{font-size:11px;color:var(--muted)}.face-staff-card small{font-size:10px;color:var(--green);font-weight:800;margin-top:4px}.face-staff-card>b{font-size:20px;color:var(--green)}.face-staff-card.photo-missing{opacity:.55;cursor:not-allowed}.face-select-row{margin:0 0 18px;padding:14px 17px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}

/* Exact captured school map */
.school-map-panel{margin-top:18px}.school-map-panel iframe{display:block;width:100%;height:480px;border:0;border-radius:17px;background:var(--surface-2)}

@media(max-width:1050px){.login-shell.chooser-mode .login-type-list{gap:16px}.login-shell.chooser-mode .login-type-card{min-height:340px;padding:25px 15px}.network-grid{grid-template-columns:1fr}.network-column.single,.network-column{grid-column:auto}.network-column.single .network-column-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.login-shell.chooser-mode .login-panel{padding:24px 14px}.login-shell.chooser-mode:after{inset:8px}.login-shell.chooser-mode .login-type-list{grid-template-columns:1fr}.login-shell.chooser-mode .login-type-card{min-height:205px;display:grid;grid-template-columns:82px 1fr 36px;text-align:left;padding:22px}.login-shell.chooser-mode .login-type-card>span{width:76px;height:76px;margin:0}.login-shell.chooser-mode .login-type-card div{text-align:left}.login-shell.chooser-mode .login-type-card strong{font-size:21px}.login-shell.chooser-mode .login-type-card>b{margin:0}.login-shell.chooser-mode .brand-mobile strong{font-size:16px}.register-evidence-panel{grid-template-columns:1fr}.register-upload-status{grid-column:1;margin:-16px 0 0!important}.network-column.single .network-column-list{grid-template-columns:1fr}.network-totals{margin-left:64px;padding:0}.face-staff-list{grid-template-columns:1fr}.school-map-panel iframe{height:360px}}
@media(max-width:430px){.login-shell.chooser-mode .login-type-card{grid-template-columns:64px 1fr 34px;min-height:170px;padding:17px}.login-shell.chooser-mode .login-type-card>span{width:60px;height:60px}.login-shell.chooser-mode .login-type-card strong{font-size:18px}.login-shell.chooser-mode .login-type-card small{font-size:11px}.network-school-card{align-items:flex-start}.network-totals{width:100%;margin-left:65px}.network-open{margin-left:auto}.login-form-heading{align-items:flex-start}.login-form-logo-frame{width:56px;height:56px;flex-basis:56px}}

/* Final brand cleanup and accessible light-theme contrast */
.sidebar-brand{gap:13px}.brand-marks{gap:0}.brand-logo-frame{width:54px;height:54px;padding:3px;background:linear-gradient(145deg,#080a0d,#171c21);border:1px solid #e2bb55;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08);transform:none}.brand-logo-frame img{border-radius:12px}.sidebar-brand>div:last-child{min-width:0}.sidebar-brand strong{font-size:14px;line-height:1.2}.sidebar-brand small{color:rgba(255,255,255,.7)}
body:not(.dark) .metric-card,body:not(.dark) .action-card,body:not(.dark) .feature-card{color:#15231e}body:not(.dark) .metric-card strong,body:not(.dark) .action-card h3,body:not(.dark) .feature-card h2{color:#101d19}body:not(.dark) .metric-card span,body:not(.dark) .metric-card small,body:not(.dark) .action-card p,body:not(.dark) .feature-card p,body:not(.dark) .feature-stat span{color:#344b43}body:not(.dark) .metric-card em{color:#123d30;background:rgba(255,255,255,.72);border:1px solid rgba(20,70,55,.15)}
body:not(.dark).pef-mode .metric-card,body:not(.dark).pef-mode .action-card,body:not(.dark).pef-mode .feature-card{color:#142a44}body:not(.dark).pef-mode .metric-card strong,body:not(.dark).pef-mode .action-card h3,body:not(.dark).pef-mode .feature-card h2{color:#0d2139}body:not(.dark).pef-mode .metric-card span,body:not(.dark).pef-mode .metric-card small,body:not(.dark).pef-mode .action-card p,body:not(.dark).pef-mode .feature-card p,body:not(.dark).pef-mode .feature-stat span{color:#324e6b}body:not(.dark).pef-mode .metric-card em{color:#123d67}
body:not(.dark).peima-mode .metric-card,body:not(.dark).peima-mode .action-card,body:not(.dark).peima-mode .feature-card{color:#15352a}body:not(.dark).peima-mode .metric-card strong,body:not(.dark).peima-mode .action-card h3,body:not(.dark).peima-mode .feature-card h2{color:#0b281e}body:not(.dark).peima-mode .metric-card span,body:not(.dark).peima-mode .metric-card small,body:not(.dark).peima-mode .action-card p,body:not(.dark).peima-mode .feature-card p,body:not(.dark).peima-mode .feature-stat span{color:#315a4b}body:not(.dark).peima-mode .metric-card em{color:#10583d}

/* PEIMA mark: show the complete seal like PEF, without the source-image camera badge */
.login-shell.chooser-mode .peima-login>span,.login-form-logo-frame:has(img[src*="peima-logo"]),.stat-icon-shell.peima-logo-crop,.network-column-logo.peima-logo-crop,.network-org:has(img[src*="peima-logo"]){padding:6px!important;background:#fff!important}
.login-shell.chooser-mode .peima-login>span img,.login-form-logo-frame img[src*="peima-logo"],.stat-icon-shell.peima-logo-crop img,.network-column-logo.peima-logo-crop img,.network-org img[src*="peima-logo"]{width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;clip-path:none!important;background:#fff!important}

/* Strong PEIMA green identity, clearly distinct from PEF blue */
body:not(.dark) .network-column-peima{background:linear-gradient(180deg,#d3f2e2,#aee0c7)!important;border-color:#48a877!important}
body:not(.dark) .network-school-card.peima-school-card{background:linear-gradient(145deg,#b9e8cf,#8fd2ae)!important;border-color:#3b9c6b!important;box-shadow:0 7px 18px rgba(26,128,82,.14)}
body:not(.dark) .network-school-card.peima-school-card:hover{background:linear-gradient(145deg,#a7e1c2,#73c89c)!important;border-color:#17794d!important;box-shadow:0 15px 30px rgba(26,128,82,.25)}
.network-column-peima .network-column-header h2,.network-column-peima .network-school-card strong{color:#0b4c30!important}
.network-column-peima .network-column-header small,.network-column-peima .network-column-header p,.network-column-peima .network-school-card small,.network-column-peima .network-totals>span{color:#286c50!important}
body.dark .network-column-peima{background:linear-gradient(160deg,#153d2d,#102b21)!important;border-color:#2c8b5e!important}
body.dark .network-school-card.peima-school-card{background:linear-gradient(145deg,#20553e,#173f2e)!important;border-color:#329264!important}

/* Premium PEIMA colours inside Admin: emerald summary + distinct school cards */
body:not(.dark) .admin-stat-card.stat-peima{background:linear-gradient(145deg,#08745a,#18a674)!important;border-color:#056148!important;color:#fff!important;box-shadow:0 14px 30px rgba(8,116,90,.22)}
body:not(.dark) .admin-stat-card.stat-peima small,body:not(.dark) .admin-stat-card.stat-peima strong{color:#fff!important}
body:not(.dark) .admin-stat-card.stat-peima b{color:#d8ffed!important}
body:not(.dark) .admin-stat-card.stat-peima .stat-icon-shell{background:#fff!important;border:2px solid #bcebd5}
body:not(.dark) .network-column-peima{background:linear-gradient(180deg,#e8f8ef,#c8edd9)!important;border:2px solid #36a873!important;box-shadow:0 14px 32px rgba(29,132,87,.13)}
body:not(.dark) .network-school-card.peima-school-card{background:linear-gradient(140deg,#d7f3e3,#a9dfc2)!important;border-color:#62b98c!important;color:#103e2b!important}
body:not(.dark) .network-school-card.peima-school-card:hover{background:linear-gradient(140deg,#c3ecd5,#83cfa6)!important;border-color:#168455!important;box-shadow:0 16px 32px rgba(20,128,80,.25)}
body:not(.dark) .network-column-peima .network-column-header h2,body:not(.dark) .network-column-peima .network-school-card strong{color:#064d32!important}
body:not(.dark) .network-column-peima .network-column-header small,body:not(.dark) .network-column-peima .network-column-header p,body:not(.dark) .network-column-peima .network-school-card small,body:not(.dark) .network-column-peima .network-totals>span{color:#27694e!important}
body.dark .admin-stat-card.stat-peima{background:linear-gradient(145deg,#063f35,#0b6d50)!important;border-color:#23b97d!important;color:#f2fff8!important;box-shadow:0 16px 34px rgba(0,0,0,.32),0 0 22px rgba(35,185,125,.12)}
body.dark .admin-stat-card.stat-peima small,body.dark .admin-stat-card.stat-peima strong{color:#f2fff8!important}
body.dark .admin-stat-card.stat-peima b{color:#81e8b9!important}
body.dark .admin-stat-card.stat-peima .stat-icon-shell{background:#fff!important;border:2px solid #46c793}
body.dark .network-column-peima{background:linear-gradient(160deg,#0b2d24,#103e2f)!important;border:2px solid #278c60!important;box-shadow:0 16px 36px rgba(0,0,0,.28)}
body.dark .network-school-card.peima-school-card{background:linear-gradient(145deg,#174b38,#1d6046)!important;border-color:#319b6b!important;color:#f2fff8!important}
body.dark .network-school-card.peima-school-card:hover{background:linear-gradient(145deg,#1b5a41,#237353)!important;border-color:#54d39b!important;box-shadow:0 16px 32px rgba(0,0,0,.32),0 0 18px rgba(61,201,143,.13)}
body.dark .network-column-peima .network-column-header h2,body.dark .network-column-peima .network-school-card strong,body.dark .network-column-peima .network-totals b{color:#f2fff8!important}
body.dark .network-column-peima .network-column-header small,body.dark .network-column-peima .network-column-header p,body.dark .network-column-peima .network-school-card small,body.dark .network-column-peima .network-totals>span{color:#a9dfc5!important}

/* Page history, camera capture and location centre */
.topbar-leading{display:flex;align-items:center;gap:8px}
.view-back-button{font-size:21px;font-weight:900;line-height:1;transition:transform .18s,border-color .18s,color .18s}
.view-back-button:hover{transform:translateX(-2px);border-color:var(--gold);color:var(--green)}

.cleanliness-sequence-note{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--border));border-radius:15px;background:linear-gradient(120deg,var(--green-3),var(--surface))}
.cleanliness-sequence-note b{color:var(--green);margin-right:4px}
.cleanliness-sequence-note span{padding:6px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:11px;font-weight:800;color:var(--text)}
.clean-camera-trigger{appearance:none;width:100%;color:var(--text);font:inherit;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}
.clean-camera-trigger:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.clean-camera-trigger:before{content:attr(data-sequence);position:absolute;left:13px;top:13px;z-index:2;width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:var(--green);color:#fff;border:2px solid rgba(255,255,255,.8);font-size:12px;font-weight:900;box-shadow:0 7px 15px rgba(11,107,79,.22)}
.clean-camera-trigger img{z-index:1}.clean-camera-trigger img[style*="display: block"]~*{display:none}

.camera-capture-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:22px;background:rgba(5,15,13,.82);backdrop-filter:blur(12px)}
.camera-capture-dialog{width:min(780px,100%);padding:20px;border-radius:24px;background:var(--surface);border:1px solid var(--border);box-shadow:0 28px 80px rgba(0,0,0,.42)}
.camera-capture-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.camera-capture-heading h2{margin:3px 0 0}
.camera-capture-dialog video{display:block;width:100%;max-height:64vh;aspect-ratio:4/3;object-fit:cover;border-radius:18px;background:#051d17}
.camera-capture-dialog .form-actions{margin-top:14px}

.location-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.location-mode-card{position:relative;overflow:hidden;min-width:0}
.location-mode-card:after{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:50%;background:color-mix(in srgb,var(--green-3) 65%,transparent);pointer-events:none}
.live-location-card:after{background:rgba(59,130,246,.1)}
.location-card-heading{position:relative;z-index:1;display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.location-card-heading h2{margin:4px 0 3px}.location-card-heading p{margin:0;color:var(--muted);font-size:13px}
.location-card-icon{width:50px;height:50px;flex:0 0 50px;border-radius:16px;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-size:24px;border:1px solid color-mix(in srgb,var(--green) 20%,transparent)}
.location-card-icon.live-pulse{color:#168a5c;animation:locationPulse 2s infinite}
@keyframes locationPulse{50%{box-shadow:0 0 0 10px rgba(21,154,112,0)}}
.mini-radar{width:150px;height:150px;margin:6px auto 18px;border-radius:50%;position:relative;border:1px solid color-mix(in srgb,var(--green) 20%,transparent);background:radial-gradient(circle,var(--green-3) 0 12%,transparent 13% 31%,var(--green-3) 32% 33%,transparent 34% 56%,var(--green-3) 57% 58%,transparent 59%)}
.mini-radar span{position:absolute;left:50%;top:50%;width:50%;height:2px;background:linear-gradient(90deg,var(--green-2),transparent);transform-origin:left;animation:sweep 3s linear infinite}.mini-radar i{position:absolute;left:68%;top:30%;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 7px rgba(214,179,74,.17)}.mini-radar b{position:absolute;inset:0;display:grid;place-items:center;font-size:27px;color:var(--green)}
.location-mode-card>h3{text-align:center;margin:7px 0 4px}.location-mode-card>p{text-align:center;margin:0 0 17px;color:var(--muted);font-size:13px}
.location-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.location-detail-grid>div{padding:12px;border-radius:13px;border:1px solid var(--border);background:var(--surface-2);min-width:0}.location-detail-grid span,.location-detail-grid strong{display:block}.location-detail-grid span{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.location-detail-grid strong{margin-top:4px;font-size:12px;word-break:break-word}
.location-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.location-actions>*{flex:1;min-width:150px}
.location-privacy-note{margin-top:13px;padding:11px 13px;border-radius:12px;background:var(--gold-soft);border:1px solid rgba(214,179,74,.35);color:#66531c;font-size:11px;line-height:1.5}
.live-status-banner{display:flex;gap:11px;align-items:center;padding:13px;margin:6px 0 15px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2)}.live-status-banner>span{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.live-status-banner b,.live-status-banner small{display:block}.live-status-banner small{margin-top:2px;color:var(--muted);font-size:11px}.live-status-banner.online{border-color:rgba(28,169,104,.38);background:#e9f9f1}.live-status-banner.online>span{background:#24b873;box-shadow:0 0 0 7px rgba(36,184,115,.14);animation:liveBlink 1.5s infinite}.live-status-banner.offline>span{background:#98a7a1}
@keyframes liveBlink{50%{box-shadow:0 0 0 3px rgba(36,184,115,.05)}}
.location-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.school-map-panel{overflow:hidden}.school-map-panel iframe{height:340px}.school-map-panel h3{margin:0 0 10px}

.admin-location-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:18px}
.admin-location-summary>article{min-height:118px;display:flex;align-items:center;gap:15px;padding:18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:0 10px 26px rgba(18,42,35,.07)}
.admin-location-summary>article>span{width:50px;height:50px;flex:0 0 50px;border-radius:15px;display:grid;place-items:center;background:var(--gold-soft);color:#806410;font-size:22px;font-weight:900}
.admin-location-summary>article:nth-child(2)>span{background:#e5f7ef;color:#13845a}.admin-location-summary>article:nth-child(3)>span{background:#e7f0ff;color:#2565a8}
.admin-location-summary small,.admin-location-summary strong{display:block}.admin-location-summary small{color:var(--muted);font-size:11px}.admin-location-summary strong{margin-top:4px;font-size:25px;color:var(--text)}
.admin-location-tools{display:grid;grid-template-columns:1fr 240px;gap:16px;align-items:end;margin-bottom:18px}
.admin-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.admin-location-card{width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto 24px;align-items:center;gap:13px;text-align:left;padding:15px;border:1px solid var(--border);border-radius:17px;background:var(--surface);color:var(--text);transition:transform .18s,border-color .18s,box-shadow .18s}
.admin-location-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:var(--shadow)}
.admin-location-card.pef{border-left:5px solid #2f86d4}.admin-location-card.peima{border-left:5px solid #20a56f}
.admin-location-org{width:52px;height:52px;border-radius:15px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;padding:5px;overflow:hidden}.admin-location-org img{width:100%;height:100%;object-fit:contain}
.admin-location-card-copy{min-width:0}.admin-location-card-copy small{color:var(--muted);font-size:10px}.admin-location-card-copy h3{margin:4px 0 7px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-location-card-copy p{display:flex;gap:6px;flex-wrap:wrap;margin:0}.admin-location-card-copy p b{padding:4px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:9px;color:var(--muted)}.admin-location-card-copy .pin-state.saved{background:#edf8f2;color:#137047;border-color:#bfe6d2}.admin-location-card-copy .live-state.online{background:#e8f2ff;color:#175fa4;border-color:#bed9f7}
.admin-location-distance{text-align:right}.admin-location-distance strong,.admin-location-distance small{display:block}.admin-location-distance strong{font-size:18px}.admin-location-distance small{margin-top:3px;color:var(--muted);font-size:9px;max-width:120px}
.admin-location-detail{margin-top:20px}.admin-location-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-location-comparison>article{padding:18px;border:1px solid var(--border);border-radius:17px;background:var(--surface-2)}.admin-location-comparison h3{margin:4px 0 5px}.admin-location-comparison p{min-height:34px;margin:0 0 12px;color:var(--muted);font-size:12px}.admin-location-comparison iframe{width:100%;height:300px;border:0;border-radius:14px;background:var(--surface)}.admin-location-comparison button{width:100%;margin-top:12px}

body.dark .cleanliness-sequence-note{background:linear-gradient(120deg,#14382d,var(--surface));border-color:#2b5c4b}
body.dark .location-privacy-note{background:#332b14;color:#f3d77a;border-color:#62511c}
body.dark .live-status-banner.online{background:#123c2c;border-color:#287e58}
body.dark .admin-location-card-copy .pin-state.saved{background:#123c2c;color:#8ce1b8;border-color:#287e58}
body.dark .admin-location-card-copy .live-state.online{background:#142e4b;color:#94c8ff;border-color:#2d6094}
body.dark .admin-location-summary>article{background:linear-gradient(145deg,#18221f,#111917);box-shadow:0 14px 30px rgba(0,0,0,.24)}
body.dark .admin-location-summary>article:nth-child(2)>span{background:#123c2c;color:#8ce1b8}.dark .admin-location-summary>article:nth-child(3)>span{background:#142e4b;color:#94c8ff}

@media(max-width:1100px){.location-mode-grid,.admin-location-grid,.admin-location-comparison{grid-template-columns:1fr}.admin-location-distance{min-width:110px}}
@media(max-width:760px){.topbar-leading{gap:5px}.view-back-button{width:38px;height:38px}.location-mode-grid,.location-map-grid{grid-template-columns:1fr}.admin-location-summary{grid-template-columns:1fr}.admin-location-tools{grid-template-columns:1fr}.admin-location-card{grid-template-columns:48px minmax(0,1fr) 20px}.admin-location-org{width:46px;height:46px}.admin-location-distance{grid-column:2;text-align:left}.admin-location-distance small{max-width:none}.location-detail-grid{grid-template-columns:1fr}.camera-capture-overlay{padding:10px}.camera-capture-dialog{padding:14px;border-radius:18px}.cleanliness-sequence-note{align-items:flex-start}.cleanliness-sequence-note b{width:100%}}

/* Clear, data-matched interface symbols */
.nav-item span{
  width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;
  padding:3px;border-radius:8px;background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.28);overflow:hidden
}
.nav-item span img{width:100%;height:100%;object-fit:contain;display:block}
.school-icon{padding:7px;background:rgba(255,255,255,.94);overflow:hidden}
.school-icon img{width:100%;height:100%;object-fit:contain;display:block}
.metric-icon{padding:6px;overflow:hidden}
.metric-icon img{width:100%;height:100%;object-fit:contain;display:block}
.action-icon,.feature-icon{padding:7px;overflow:hidden;background:rgba(255,255,255,.9)}
.action-icon img,.feature-icon img{width:100%;height:100%;object-fit:contain;display:block}
.profile-chip>span{padding:3px;background:#fff;overflow:hidden;border:1px solid var(--border)}
.profile-chip>span img{width:100%;height:100%;object-fit:contain;display:block;border-radius:7px}
.profile-avatar{padding:7px;background:#fff;overflow:hidden}
.profile-avatar img{width:100%;height:100%;object-fit:contain;display:block;border-radius:17px}

/* Preserve the complete official PEF and PEIMA marks everywhere */
.login-shell.chooser-mode .pef-login>span,
.login-shell.chooser-mode .peima-login>span,
.login-form-logo-frame:has(img[src*="-logo.jpg"]),
.stat-icon-shell.logo-shell,
.network-column-logo,
.network-org{background:#fff!important;padding:6px!important;overflow:hidden!important}
.login-shell.chooser-mode .pef-login>span img,
.login-shell.chooser-mode .peima-login>span img,
.login-form-logo-frame img[src*="-logo.jpg"],
.stat-icon-shell.logo-shell img,
.network-column-logo img,
.network-org img{
  width:100%!important;height:100%!important;max-width:100%!important;
  object-fit:contain!important;object-position:center!important;
  transform:none!important;clip-path:none!important;padding:0!important;background:#fff!important
}

/* Daily submission window: 7:00 AM–9:00 AM Pakistan time (after launch grace period) */
.submission-window-banner{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 22px;padding:20px 22px;border-radius:21px;border:1px solid var(--border);box-shadow:0 14px 32px rgba(15,45,36,.09);overflow:hidden;position:relative;transition:background .25s,border-color .25s,box-shadow .25s}
.submission-window-banner:before{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.13);pointer-events:none}
.submission-window-banner.open{background:linear-gradient(125deg,#075d47,#13a273);border-color:#36c38e;color:#fff;box-shadow:0 16px 36px rgba(8,111,80,.24)}
.submission-window-banner.locked{background:linear-gradient(125deg,#241e16,#6b4b17);border-color:#d6b34a;color:#fff4ca;box-shadow:0 16px 36px rgba(57,41,13,.23)}
.submission-window-banner small{display:block;margin-bottom:6px;font-size:10px;font-weight:900;letter-spacing:.14em;color:inherit;opacity:.82}
.submission-window-banner h3{margin:0 0 4px;color:inherit;font-size:22px}.submission-window-banner p{margin:0;max-width:760px;color:inherit;opacity:.82;font-size:12px;line-height:1.55}
.submission-clock{position:relative;z-index:1;width:54px;height:54px;border:1px solid rgba(255,255,255,.3);border-radius:17px;background:rgba(3,22,17,.25);display:grid;place-items:center;color:#fff;font-size:27px;backdrop-filter:blur(8px)}
.submission-countdown{position:relative;z-index:1;min-width:190px;padding:12px 16px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(3,22,17,.25);text-align:center;backdrop-filter:blur(8px)}
.submission-countdown small,.submission-countdown span{display:block;margin:0;font-size:9px;font-weight:900;letter-spacing:.12em;opacity:.76}.submission-countdown strong{display:block;margin:5px 0 3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#fff}
.submission-locked{position:relative;cursor:not-allowed!important;filter:saturate(.48);opacity:.62}
.action-card.submission-locked:after,.feature-card.submission-locked:after{content:"LOCKED";position:absolute;right:13px;top:13px;padding:5px 8px;border-radius:999px;background:#241e16;color:#f4d36f;border:1px solid #d6b34a;font-size:8px;font-weight:900;letter-spacing:.1em;box-shadow:0 6px 14px rgba(0,0,0,.14)}
button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}

.submission-lock-overlay{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;background:rgba(4,12,10,.78);backdrop-filter:blur(12px)}
.submission-lock-dialog{position:relative;width:min(510px,100%);padding:34px 30px 30px;border-radius:28px;border:1px solid rgba(235,186,41,.48);background:linear-gradient(150deg,#151a18,#2a2419);color:#fff;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.46),0 0 0 7px rgba(214,179,74,.08)}
.submission-lock-close{position:absolute;right:15px;top:15px;color:#151a18!important;background:#fff!important;border:1px solid rgba(255,255,255,.85)!important;font-size:27px!important;font-weight:900!important;line-height:1!important;display:grid!important;place-items:center!important;box-shadow:0 8px 22px rgba(0,0,0,.22);z-index:3}.submission-lock-close:hover{background:#f3d66c!important;color:#15130c!important;transform:translateY(-1px)}
.submission-lock-icon{width:70px;height:70px;margin:0 auto 16px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#d6b34a,#f5d86c);color:#17130b;font-size:35px;box-shadow:0 16px 34px rgba(214,179,74,.24)}
.submission-lock-dialog>small{display:block;color:#e8c75f;font-size:9px;font-weight:900;letter-spacing:.16em}.submission-lock-dialog h2{margin:9px 0 8px;color:#fff;font-size:28px}.submission-lock-dialog>p{margin:0 auto;max-width:410px;color:#cbd5d0;font-size:13px;line-height:1.65}
.submission-lock-dialog>div{margin:22px auto 15px;padding:15px 18px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.06)}
.submission-lock-dialog>div span{display:block;color:#c7b779;font-size:9px;font-weight:900;letter-spacing:.14em}.submission-lock-dialog>div strong{display:block;margin-top:6px;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:31px;font-variant-numeric:tabular-nums;letter-spacing:.06em}.submission-lock-dialog>b{display:block;margin:0 0 21px;color:#ead88e;font-size:11px}.submission-lock-dialog .primary-button{min-width:210px;background:linear-gradient(135deg,#d6b34a,#f0d372);color:#16130c}
body.dark .submission-window-banner.open{background:linear-gradient(125deg,#063a2e,#08684d)}body.dark .submission-window-banner.locked{background:linear-gradient(125deg,#17130d,#493513)}

@media(max-width:760px){.submission-window-banner{grid-template-columns:50px minmax(0,1fr);padding:17px}.submission-clock{width:48px;height:48px}.submission-countdown{grid-column:1/-1;min-width:0;width:100%}.submission-countdown strong{font-size:22px}.submission-lock-dialog{padding:30px 18px 23px;border-radius:22px}.submission-lock-dialog h2{font-size:24px}.submission-lock-dialog>div strong{font-size:26px}}

/* Latest admin management + polished internal back button */
.view-back-button{width:auto!important;min-width:92px;padding:0 14px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;border-radius:13px!important;font-weight:850;box-shadow:0 7px 18px rgba(20,68,51,.08)}.view-back-button.is-hidden{display:none!important}.view-back-button span{font-size:13px}.admin-school-management{margin:18px 0}.admin-add-school-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-school-remove-row{display:flex;gap:12px;align-items:end;margin-top:18px}.admin-school-remove-row label{flex:1}.danger-button{border:0;border-radius:12px;padding:13px 18px;background:#c93f3f;color:white;font-weight:800}.danger-button:hover{filter:brightness(.95);transform:translateY(-1px)}@media(max-width:760px){.admin-add-school-form{grid-template-columns:1fr}.admin-school-remove-row{flex-direction:column;align-items:stretch}.view-back-button{min-width:82px}}

/* Approved report download cards */
.report-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.report-download-card{position:relative;display:flex;flex-direction:column;gap:14px;min-height:255px;border-top:4px solid var(--accent,#d3ad43)}.report-download-card h2{margin:4px 0 7px}.report-download-card p{margin:0;line-height:1.55}.report-download-card .primary-button{margin-top:auto;width:100%}.report-file-badge{align-self:flex-start;background:#171717;color:#f0c84d;font:700 12px/1 "Segoe UI Variable","Segoe UI",Arial,sans-serif;padding:9px 12px;border-radius:8px;letter-spacing:.8px}.monthly-report-note{display:block;margin-top:10px;font-weight:700}.report-download-card button:disabled{opacity:.5;cursor:not-allowed}.detail-heading-actions{flex-wrap:wrap}@media(max-width:980px){.report-download-grid{grid-template-columns:1fr}}

/* Face scan stability: natural front-camera mirror, no stretch/tilt from cover crop */
#cameraVideo{object-fit:contain!important;aspect-ratio:4/3;transform:scaleX(-1);transform-origin:center center;background:#082f24;}
@media (max-width:700px){#cameraVideo{height:auto!important;max-height:52vh;min-height:280px;}}

/* Final navigation/location/face-only fixes */
.admin-location-card .network-open{justify-self:end;margin-left:0;white-space:nowrap;max-width:78px;overflow:hidden;text-overflow:ellipsis}
.face-only-note{display:flex;align-items:center;gap:12px;margin-top:18px;padding:13px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.face-only-note strong{white-space:nowrap;color:var(--green)}.face-only-note span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.admin-location-card{grid-template-columns:48px minmax(0,1fr) auto!important;overflow:hidden}.admin-location-card .network-open{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end;font-size:11px;max-width:64px}.admin-location-distance{grid-column:2!important;min-width:0}.admin-location-card-copy{overflow:hidden}.face-only-note{align-items:flex-start;flex-direction:column}}

/* Live staff enrollment camera: front camera only; no file-manager upload. */
#staffCameraVideo{transform:scaleX(-1);transform-origin:center center}
#openStaffCamera{display:inline-flex;align-items:center;justify-content:center}

/* Keep Locations card action fully inside every card. */
.admin-location-card{overflow:hidden;box-sizing:border-box}.admin-location-card .network-open{min-width:0;max-width:72px;white-space:nowrap;justify-self:end;overflow:hidden;text-overflow:clip}.admin-location-card>*{min-width:0}
@media(max-width:760px){.admin-location-card{grid-template-columns:48px minmax(0,1fr) 62px!important;gap:9px}.admin-location-distance{grid-column:2;grid-row:2}.admin-location-card .network-open{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end;font-size:11px}}

/* Final audit: live register camera button behaves like the original upload tile. */
button.register-upload-box{width:100%;font:inherit;color:inherit;appearance:none;-webkit-appearance:none}.register-upload-box small{color:var(--muted);font-size:12px;position:relative;z-index:1}.register-upload-box>strong,.register-upload-box>span{position:relative;z-index:1}

/* Final organisation-card contrast pass: PEF dark blue, PEIMA dark green. */
body:not(.dark) .network-school-card.pef-school-card{background:linear-gradient(145deg,#174f88,#0f3e70)!important;border-color:#0a315d!important;color:#fff!important;box-shadow:0 9px 22px rgba(13,62,112,.25)}
body:not(.dark) .network-school-card.pef-school-card:hover{background:linear-gradient(145deg,#1d609f,#12497f)!important;border-color:#082b50!important;box-shadow:0 16px 32px rgba(11,56,103,.34)}
body:not(.dark) .network-column-pef .network-school-card.pef-school-card h3,body:not(.dark) .network-column-pef .network-school-card.pef-school-card strong,body:not(.dark) .network-column-pef .network-school-card.pef-school-card .network-totals b,body:not(.dark) .network-column-pef .network-school-card.pef-school-card .network-open{color:#fff!important}
body:not(.dark) .network-column-pef .network-school-card.pef-school-card p,body:not(.dark) .network-column-pef .network-school-card.pef-school-card small,body:not(.dark) .network-column-pef .network-school-card.pef-school-card .network-totals>span{color:#dbeeff!important}
body:not(.dark) .network-school-card.peima-school-card{background:linear-gradient(145deg,#0d6947,#084e36)!important;border-color:#063d2a!important;color:#fff!important;box-shadow:0 9px 22px rgba(8,84,57,.25)}
body:not(.dark) .network-school-card.peima-school-card:hover{background:linear-gradient(145deg,#118159,#0a6042)!important;border-color:#043623!important;box-shadow:0 16px 32px rgba(5,72,48,.34)}
body:not(.dark) .network-column-peima .network-school-card.peima-school-card h3,body:not(.dark) .network-column-peima .network-school-card.peima-school-card strong,body:not(.dark) .network-column-peima .network-school-card.peima-school-card .network-totals b,body:not(.dark) .network-column-peima .network-school-card.peima-school-card .network-open{color:#fff!important}
body:not(.dark) .network-column-peima .network-school-card.peima-school-card p,body:not(.dark) .network-column-peima .network-school-card.peima-school-card small,body:not(.dark) .network-column-peima .network-school-card.peima-school-card .network-totals>span{color:#dff8eb!important}
.export-pef-excel{background:linear-gradient(135deg,#174f88,#0f3e70)!important;color:#fff!important;border-color:#0a315d!important}.export-peima-excel{background:linear-gradient(135deg,#0d6947,#084e36)!important;color:#fff!important;border-color:#063d2a!important}

/* Final report action alignment: PEF one row, PEIMA one row, equal-size boxes */
.report-org-grid{display:grid!important;grid-template-columns:repeat(3,minmax(155px,1fr));gap:10px;width:min(100%,620px);align-items:stretch}.report-org-grid .export-button{width:100%;min-height:48px;height:48px;padding:10px 12px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}.admin-export-panel .report-org-grid{flex:0 1 620px}.network-tools .report-org-grid{flex:1 1 620px;margin-left:auto}@media(max-width:760px){.report-org-grid{grid-template-columns:1fr;width:100%}.report-org-grid .export-button{height:48px}}

/* ===== Bright Innovation Hub (BIH) visual system ===== */
:root{--bih-navy:#0b2e59;--bih-navy-2:#154a7c;--bih-green:#168b5b;--bih-green-2:#25a873;--bih-mint:#eaf7f1;--bih-blue-soft:#eef5fb}
.brand-mark,.brand-logo-frame{background:#fff!important;border-color:rgba(11,46,89,.14)!important}.brand-mark img,.brand-logo-frame img{object-fit:contain!important;padding:2px}.brand strong,.sidebar-brand strong{color:var(--bih-navy)!important}.brand strong span,.sidebar-brand strong span{color:var(--bih-green)!important}.top-label{color:var(--bih-green)!important;letter-spacing:1.4px}.eyebrow{color:var(--bih-green)}
body:not(.pef-mode):not(.peima-mode) .primary-button{background:linear-gradient(135deg,var(--bih-navy),var(--bih-green))}body:not(.pef-mode):not(.peima-mode) .nav-item.active{background:linear-gradient(90deg,rgba(11,46,89,.12),rgba(22,139,91,.12));color:var(--bih-navy);border-color:rgba(22,139,91,.25)}
.login-choice-card:nth-child(1){border-top:4px solid var(--bih-navy)}.login-shell.chooser-mode .login-visual{background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.17),transparent 28%),linear-gradient(145deg,#071f3f,#0b2e59 52%,#168b5b)}
.admission-panel{border:1px solid rgba(22,139,91,.22);background:linear-gradient(145deg,#fff,#f4fbf8)}.admission-form{align-items:end}.auto-date-card{min-height:76px;border:1px dashed rgba(11,46,89,.28);border-radius:14px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:3px}.auto-date-card small{font-size:10px;font-weight:800;color:var(--bih-green)}.auto-date-card strong{color:var(--bih-navy)}.auto-date-card span{font-size:11px;color:#667383}.admission-rule-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--bih-mint);border-left:4px solid var(--bih-green);display:flex;gap:8px;flex-wrap:wrap}.admission-rule-note b{color:var(--bih-navy)}
.admin-admission-tools{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto auto;gap:12px;align-items:end}.admin-admission-tools label{display:grid;gap:6px;font-weight:700;color:#344457}.admin-admission-tools input,.admin-admission-tools select{min-height:44px;border:1px solid #d9e2ec;border-radius:10px;padding:0 12px;background:#fff}.admin-student-manager .record-toolbar{grid-template-columns:minmax(260px,1.3fr) minmax(220px,1fr)}
.face-staff-card.scanned{border-color:var(--bih-green)!important;background:var(--bih-mint)!important}.already-scanned-message{color:var(--bih-green);font-weight:800}
@media(max-width:900px){.admin-admission-tools{grid-template-columns:1fr 1fr}.admin-admission-tools button{width:100%}}@media(max-width:560px){.admin-admission-tools{grid-template-columns:1fr}.record-form.admission-form{grid-template-columns:1fr}.auto-date-card{min-height:auto}}


/* ===== BIH FINAL VISUAL REFINEMENT 2026-08-31 ===== */
:root{--bih-navy:#082a52;--bih-navy-mid:#104d7c;--bih-blue:#2d79b8;--bih-green:#14905d;--bih-green-deep:#0a6845;--bih-mint:#e9f7f1;--bih-ice:#f1f7fb;--bih-gold:#f0b43c;--bih-ink:#132538}
body{background:linear-gradient(180deg,#f8fbfd 0%,#f1f7f5 100%);color:var(--bih-ink)}
body:not(.dark) .content{background:radial-gradient(circle at 8% 4%,rgba(45,121,184,.08),transparent 22%),radial-gradient(circle at 94% 8%,rgba(20,144,93,.08),transparent 24%),linear-gradient(180deg,#fbfdff,#f4f9f7)}
.sidebar{background:linear-gradient(175deg,#061f3d 0%,#0b335d 54%,#09533c 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:10px 0 35px rgba(8,42,82,.12)}
.sidebar .brand-mark,.sidebar .brand-logo-frame,.brand-mark,.brand-logo-frame{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;overflow:visible!important}
.sidebar .brand-logo-frame{width:66px!important;height:58px!important}.brand-mark img,.brand-logo-frame img{padding:0!important;border-radius:0!important;filter:none!important}
.sidebar-brand strong{color:#fff!important}.sidebar-brand strong span{color:#62d6a0!important}.sidebar-brand small{color:rgba(255,255,255,.7)!important}
.sidebar .nav-item{border:1px solid transparent;color:rgba(255,255,255,.82);border-radius:13px;margin:3px 8px}.sidebar .nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar .nav-item.active{background:linear-gradient(90deg,rgba(45,121,184,.33),rgba(20,144,93,.29))!important;border-color:rgba(111,218,166,.22)!important;color:#fff!important;box-shadow:inset 3px 0 0 #52d397}
.sidebar .nav-item span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10)}.sidebar .nav-item img{filter:brightness(0) invert(1)}
.topbar{background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(8,42,82,.09);box-shadow:0 5px 22px rgba(8,42,82,.06)}.top-label{color:var(--bih-green)!important}.topbar h2{color:var(--bih-navy)}
.panel,.metric-card,.action-card,.feature-card,.admin-stat-card{border-color:rgba(8,42,82,.10);box-shadow:0 10px 28px rgba(8,42,82,.07)}
.primary-button{background:linear-gradient(135deg,var(--bih-navy-mid),var(--bih-green))!important;box-shadow:0 8px 20px rgba(11,89,82,.20)}.primary-button:hover{filter:brightness(1.04);transform:translateY(-1px)}
.secondary-button{border-color:rgba(8,42,82,.18);color:var(--bih-navy);background:#fff}.eyebrow{color:var(--bih-green)!important}

/* Direct transparent BIH logo + large watermark on chooser and all sign-in forms. */
.login-shell{position:relative;isolation:isolate;overflow:hidden}.login-bih-watermark{position:absolute;z-index:0;pointer-events:none;user-select:none;width:min(70vw,760px);height:min(68vh,600px);object-fit:contain;left:50%;top:50%;transform:translate(-50%,-49%);opacity:.055;filter:saturate(.85)}
.login-shell.chooser-mode .login-bih-watermark{opacity:.10;filter:brightness(1.25) saturate(.9)}
.login-shell>*:not(.login-bih-watermark){position:relative;z-index:1}
.login-shell.chooser-mode{background:radial-gradient(circle at 12% 15%,rgba(45,121,184,.20),transparent 30%),radial-gradient(circle at 88% 78%,rgba(20,144,93,.22),transparent 32%),linear-gradient(145deg,#061e3c,#0b3158 55%,#075139)!important}
.login-shell.chooser-mode:before{opacity:.12!important}.login-shell.chooser-mode:after{opacity:.12!important}
.login-shell.chooser-mode .brand-mark{background:transparent!important;border:0!important;box-shadow:none!important}.login-shell.chooser-mode .brand-mark img{padding:0!important}
.login-form-logo-frame{background:rgba(255,255,255,.96)!important;box-shadow:0 10px 28px rgba(8,42,82,.12)!important}
.login-shell.login-admin-form .login-visual,.login-shell.login-pef-form .login-visual,.login-shell.login-peima-form .login-visual{background:linear-gradient(150deg,#072344,#0e4975 54%,#0b6e4b)!important}
.login-shell.login-admin-form .login-card,.login-shell.login-pef-form .login-card,.login-shell.login-peima-form .login-card{border-color:rgba(20,144,93,.30)!important;box-shadow:0 22px 60px rgba(8,42,82,.16)!important}

/* New Admission: distinctive, matching BIH icon and premium navy/green colour. */
.new-admission-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#e8f5fb 0%,#e7f8ef 100%)!important;border:1px solid rgba(20,144,93,.28)!important;box-shadow:0 12px 28px rgba(9,83,72,.10)!important}.new-admission-card:after{content:"+";position:absolute;right:-12px;top:-30px;font-size:118px;line-height:1;font-weight:900;color:rgba(20,144,93,.07);pointer-events:none}.new-admission-card .action-icon{background:#fff!important;border:1px solid rgba(20,144,93,.20)!important;box-shadow:0 7px 18px rgba(8,42,82,.09)}.new-admission-card .action-icon img{width:38px!important;height:38px!important;filter:none!important}.new-admission-card h3{color:var(--bih-navy)!important}.new-admission-card b{color:var(--bih-green-deep)!important}.new-admission-card:hover{background:linear-gradient(145deg,#dceff9,#d9f4e6)!important;border-color:rgba(20,144,93,.48)!important;transform:translateY(-5px)}

/* Admin-only download centre. PEF one row, PEIMA one row. */
.download-centre-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px}.org-download-panel{padding:24px;border-radius:22px;overflow:hidden;position:relative}.org-download-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:6px}.pef-download-panel{background:linear-gradient(145deg,#f7fbff,#edf5fc);border-color:rgba(45,121,184,.24)}.pef-download-panel:before{background:#246ca8}.peima-download-panel{background:linear-gradient(145deg,#f8fdf9,#eaf7f0);border-color:rgba(20,144,93,.25)}.peima-download-panel:before{background:#148b5b}.org-download-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.org-download-title .org-dot{width:14px;height:14px;border-radius:50%;margin-top:7px;flex:0 0 14px}.pef-download-panel .org-dot{background:#246ca8;box-shadow:0 0 0 6px rgba(36,108,168,.10)}.peima-download-panel .org-dot{background:#148b5b;box-shadow:0 0 0 6px rgba(20,139,91,.10)}.org-download-title h2{margin:3px 0 5px;color:var(--bih-navy)}.org-download-title p{margin:0;color:#617183}.admin-download-row{width:100%!important;max-width:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin-download-row .export-button{height:112px!important;min-height:112px!important;border-radius:17px!important;display:flex!important;flex-direction:column!important;gap:5px!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;padding:17px 19px!important}.admin-download-row .export-button span{font-size:10px;font-weight:900;letter-spacing:1px;opacity:.76}.admin-download-row .export-button strong{font-size:16px;line-height:1.15}.admin-download-row .export-button small{font-size:11px;opacity:.78}.admin-download-row .export-pef,.admin-download-row .export-pef-excel{background:linear-gradient(135deg,#1b5c96,#2e80bd)!important;border-color:#174f84!important;color:#fff!important}.admin-download-row .export-peima,.admin-download-row .export-peima-excel{background:linear-gradient(135deg,#0b6847,#199765)!important;border-color:#07573b!important;color:#fff!important}.download-note{display:flex;gap:13px;align-items:center;background:#fff}.download-note>span{font-size:24px}.download-note p{margin:3px 0 0;color:#6b7887}.monthly-org-button:disabled{opacity:.52;filter:grayscale(.15);cursor:not-allowed}

/* Face scan: visibly communicate strict multi-frame identity verification. */
#verificationResult:not(.success){border-color:rgba(190,62,62,.22)}#verificationResult.success{border-color:rgba(20,144,93,.32);background:linear-gradient(145deg,#f7fdf9,#e8f7ef)}
.face-only-note{background:linear-gradient(145deg,#f4f9fd,#ecf8f2);border-color:rgba(20,144,93,.20)}

@media(max-width:760px){.login-bih-watermark{width:95vw;height:55vh;opacity:.045}.login-shell.chooser-mode .login-bih-watermark{opacity:.075}.admin-download-row{grid-template-columns:1fr!important}.admin-download-row .export-button{height:92px!important;min-height:92px!important}.sidebar .brand-logo-frame{width:58px!important;height:52px!important}}


/* ===== LOGIN RELIABILITY + HIGH-CONTRAST VISUAL FIX 2026-08-31 ===== */
:root{--text:#17283a;--muted:#536579;--surface:#ffffff;--surface-2:#f6f9fb;--bg:#f2f7f9;--border:#d6e0e7}
body:not(.dark) p,body:not(.dark) small,body:not(.dark) .muted,body:not(.dark) .panel p,body:not(.dark) .action-card p,body:not(.dark) .feature-card p{color:#4f6174}
body:not(.dark) h1,body:not(.dark) h2,body:not(.dark) h3,body:not(.dark) strong,body:not(.dark) label{color:#152a3d}
body:not(.dark) .sidebar strong,body:not(.dark) .sidebar .nav-item,body:not(.dark) .login-visual strong,body:not(.dark) .login-copy h1,body:not(.dark) .login-copy p,body:not(.dark) .trust-row span{color:#fff!important}
body:not(.dark) .metric-card small,body:not(.dark) .admin-stat-card small,body:not(.dark) .school-banner p,body:not(.dark) .org-download-title p{color:#536579!important}
input,select,textarea{color:#17283a!important;background:#fff!important}input::placeholder,textarea::placeholder{color:#7b8997!important;opacity:1}
.login-card label,.login-card h2{color:#16293b!important}.login-card p{color:#536579!important}.login-hint{color:#536579!important}.login-error.show{color:#9f1d1d!important;background:#fff0f0!important;border:1px solid #f0c8c8}

/* Keep the BIH watermark visible, elegant and away from input/card content. */
.login-bih-watermark{left:28%!important;top:52%!important;width:min(36vw,430px)!important;height:min(54vh,470px)!important;opacity:.14!important;transform:translate(-50%,-50%)!important;filter:saturate(1.02) drop-shadow(0 12px 28px rgba(0,0,0,.10))!important}
.login-shell.chooser-mode .login-bih-watermark{left:auto!important;right:4.5vw!important;top:4.5vh!important;width:min(24vw,300px)!important;height:min(24vw,300px)!important;transform:none!important;opacity:.18!important;filter:brightness(1.15) saturate(1.05) drop-shadow(0 10px 25px rgba(0,0,0,.18))!important}
.login-shell.chooser-mode .login-choice-card h2{color:#ffffff!important;text-shadow:0 2px 12px rgba(0,0,0,.28)}
.login-shell.chooser-mode .login-choice-card>div:nth-child(2)>p{color:#d7e0e6!important}.login-shell.chooser-mode .login-choice-card .eyebrow{color:#72e0aa!important}
.login-shell.chooser-mode .brand-mobile small{color:#d2dbe2!important}.login-shell.chooser-mode .login-type-card small{color:#d7dfe5!important}
.login-shell.chooser-mode .login-type-card strong{color:#fff!important}.login-shell.chooser-mode .admin-login strong{color:#ffe093!important}.login-shell.chooser-mode .peima-login strong{color:#76edb0!important}.login-shell.chooser-mode .pef-login strong{color:#88c2ff!important}
.login-shell:not(.chooser-mode) .login-visual{background:radial-gradient(circle at 23% 47%,rgba(255,255,255,.09),transparent 27%),linear-gradient(150deg,#062648 0%,#0d5278 54%,#08704d 100%)!important}.login-shell:not(.chooser-mode) .login-copy .eyebrow{color:#8cf0bd!important}.login-shell:not(.chooser-mode) .login-copy p{color:#e4eef4!important}.login-shell:not(.chooser-mode) .trust-row span{background:rgba(0,0,0,.14);border-color:rgba(255,255,255,.34)}
.primary-button{color:#fff!important}.secondary-button{color:#14304a!important}.nav-item{font-weight:750}
@media(max-width:760px){.login-bih-watermark{left:50%!important;top:18%!important;width:54vw!important;height:30vh!important;opacity:.10!important}.login-shell.chooser-mode .login-bih-watermark{right:18px!important;top:18px!important;width:118px!important;height:118px!important;opacity:.17!important}.login-shell.chooser-mode .login-panel{padding-top:34px!important}.login-shell.chooser-mode .brand-mobile{padding-right:105px!important}}


/* ===== NO WATERMARK + CLICK RELIABILITY + FULL CONTRAST FIX 2026-08-31 ===== */
.login-bih-watermark{display:none!important}
.login-shell{isolation:auto!important}
.login-shell>*{z-index:auto!important}

/* Make all visible content high contrast; no faded labels or hidden copy. */
body:not(.dark){--text:#10263a;--muted:#41566a;--border:#cbd8e2}
body:not(.dark) .content,body:not(.dark) .panel,body:not(.dark) .metric-card,body:not(.dark) .action-card,body:not(.dark) .feature-card,body:not(.dark) .admin-stat-card{color:#10263a}
body:not(.dark) .panel h1,body:not(.dark) .panel h2,body:not(.dark) .panel h3,body:not(.dark) .panel h4,
body:not(.dark) .metric-card h3,body:not(.dark) .action-card h3,body:not(.dark) .feature-card h3,body:not(.dark) .admin-stat-card h3{color:#10263a!important}
body:not(.dark) .panel p,body:not(.dark) .panel small,body:not(.dark) .metric-card p,body:not(.dark) .metric-card small,
body:not(.dark) .action-card p,body:not(.dark) .action-card small,body:not(.dark) .feature-card p,body:not(.dark) .feature-card small,
body:not(.dark) .admin-stat-card p,body:not(.dark) .admin-stat-card small{color:#43596d!important;opacity:1!important}
body:not(.dark) .topbar,body:not(.dark) .topbar *{opacity:1}
body:not(.dark) .topbar h2{color:#0b2e59!important}
body:not(.dark) .top-label{color:#0b6f4c!important;font-weight:900}
body:not(.dark) button:not(:disabled),body:not(.dark) .primary-button,body:not(.dark) .secondary-button,body:not(.dark) .export-button{opacity:1}
body:not(.dark) .secondary-button{background:#fff!important;border-color:#aebfcd!important;color:#0d3151!important;font-weight:800}
body:not(.dark) .data-status,body:not(.dark) .badge,body:not(.dark) .pill{opacity:1!important}

/* Login page: strong contrast without watermark. */
.login-shell.chooser-mode{background:linear-gradient(145deg,#061f3e 0%,#0d3b68 52%,#08704e 100%)!important}
.login-shell.chooser-mode .login-choice-card,.login-shell.chooser-mode .login-type-card{opacity:1!important}
.login-shell.chooser-mode .login-choice-card h1,.login-shell.chooser-mode .login-choice-card h2,.login-shell.chooser-mode .login-choice-card strong{color:#fff!important}
.login-shell.chooser-mode .login-choice-card p,.login-shell.chooser-mode .login-type-card small,.login-shell.chooser-mode .brand-mobile small{color:#e7eef4!important;opacity:1!important}
.login-shell:not(.chooser-mode) .login-card{background:#fff!important}
.login-shell:not(.chooser-mode) .login-card h1,.login-shell:not(.chooser-mode) .login-card h2,.login-shell:not(.chooser-mode) .login-card label{color:#10263a!important}
.login-shell:not(.chooser-mode) .login-card p,.login-shell:not(.chooser-mode) .login-card small{color:#455b6f!important;opacity:1!important}


/* ===== Selected Option 3 BIH brand placement — theme intentionally unchanged ===== */
.sidebar .sidebar-brand{display:flex!important;align-items:center!important;gap:11px!important;}
.sidebar .brand-marks{flex:0 0 auto!important;}
.sidebar .brand-logo-frame{width:62px!important;height:54px!important;flex:0 0 62px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
.sidebar .brand-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;filter:none!important;}
.sidebar .sidebar-brand-name{min-width:0!important;}
.sidebar .sidebar-brand-name strong{display:block!important;color:#fff!important;font-size:13px!important;line-height:1.12!important;letter-spacing:.055em!important;font-weight:850!important;}
.sidebar .sidebar-brand-name strong span{display:block!important;color:inherit!important;margin-top:2px!important;}
@media(max-width:760px){.sidebar .brand-logo-frame{width:54px!important;height:48px!important;flex-basis:54px!important}.sidebar .sidebar-brand-name strong{font-size:11px!important;}}

/* FINAL SELECTED BIH OPTION 3 BRAND ASSET */
.brand-mark,.brand-logo-frame{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
.brand-mark img,.brand-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;border-radius:0!important;filter:none!important}
.sidebar .brand-logo-frame{width:74px!important;height:58px!important;flex:0 0 74px!important}
.sidebar-brand{align-items:center!important;gap:12px!important}
.sidebar-brand>div:last-child strong{display:block!important;color:#fff!important;font-size:13px!important;line-height:1.18!important;letter-spacing:.055em!important}
.sidebar-brand>div:last-child strong span{color:#f3b51b!important}
.sidebar-brand>div:last-child small{display:none!important}
@media(max-width:760px){.sidebar .brand-logo-frame{width:64px!important;height:50px!important;flex-basis:64px!important}}


/* ===== 2026-08-31 FINAL VISIBILITY + SELECTED BIH BRAND THEME ===== */
:root{
  --bih-navy:#071B34;--bih-navy-2:#0A2D55;--bih-blue:#0B78E3;--bih-sky:#28BEFF;
  --bih-gold:#F4B51E;--bih-green:#198B5A;
  --bg:#F3F7FB;--surface:#FFFFFF;--surface-2:#F8FAFD;--text:#12263A;--muted:#4B5F73;--border:#D6E0EA;
  --shadow:0 14px 34px rgba(8,34,61,.09)
}
html,body{background:var(--bg);color:var(--text)}
body{font-synthesis:none;text-rendering:optimizeLegibility}
body:not(.dark){background:#F3F7FB!important;color:#12263A!important}
body.dark{--bg:#07111E;--surface:#0D1B2B;--surface-2:#112235;--text:#F4F8FC;--muted:#B8C6D6;--border:#223A52;--shadow:0 16px 40px rgba(0,0,0,.30);background:#07111E!important;color:#F4F8FC!important}

/* Selected logo lives on a dark brand surface in BOTH themes so it is always crisp. */
.sidebar{background:linear-gradient(180deg,#06182E 0%,#08243F 55%,#071A2D 100%)!important;border-right:1px solid rgba(255,255,255,.08)!important}
.sidebar-brand{padding:17px 14px!important;margin:0 0 8px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;min-height:84px!important}
.sidebar .brand-logo-frame{width:72px!important;height:54px!important;flex:0 0 72px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.sidebar .brand-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 5px 12px rgba(0,119,255,.18))!important}
.sidebar-brand>div:last-child strong{color:#F5B91F!important;font-size:12.5px!important;line-height:1.18!important;letter-spacing:.085em!important;font-weight:900!important;text-shadow:none!important}
.sidebar-brand>div:last-child strong span{display:block!important;color:#F5B91F!important;margin-top:2px!important}
.sidebar-brand>div:last-child small{display:none!important}
.side-nav .nav-item{color:#EAF2FA!important;opacity:1!important;font-weight:760!important}
.side-nav .nav-item:hover{background:rgba(45,166,255,.12)!important;color:#FFFFFF!important}
.side-nav .nav-item.active{background:linear-gradient(90deg,rgba(14,119,227,.26),rgba(244,181,30,.10))!important;color:#FFFFFF!important;border-color:rgba(49,179,255,.20)!important}
.sidebar-foot,.sidebar-foot strong,.sidebar-foot small{color:#DCE8F4!important;opacity:1!important}

/* Header remains legible in both themes. */
.topbar{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #D8E2EC!important;box-shadow:0 5px 20px rgba(8,34,61,.055)!important}
.topbar .top-label{color:#0A5EAE!important;font-weight:900!important;letter-spacing:.12em!important;opacity:1!important}
.top-brand-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#F4B51E;box-shadow:0 0 0 4px rgba(244,181,30,.12)}
.topbar h2,.topbar strong{color:#12263A!important}.topbar small{color:#53677B!important;opacity:1!important}
.topbar .icon-button,.topbar .profile-chip{background:#FFFFFF!important;border-color:#D5E0E9!important;color:#102B45!important}
body.dark .topbar{background:#0A1827!important;border-bottom-color:#223A52!important;box-shadow:0 6px 20px rgba(0,0,0,.24)!important}
body.dark .topbar .top-label{color:#55B8FF!important}
body.dark .topbar h2,body.dark .topbar strong{color:#F6FAFE!important}body.dark .topbar small{color:#B7C6D6!important}
body.dark .topbar .icon-button,body.dark .topbar .profile-chip{background:#102236!important;border-color:#28435C!important;color:#F2F7FB!important}

/* Main surfaces and all text: no low-opacity copy. */
.content{background:var(--bg)!important;color:var(--text)!important}
.panel,.metric-card,.action-card,.feature-card,.admin-stat-card,.school-banner,.tabs-panel,.download-panel,.org-download-card,.network-card,.location-school-card,.admission-card,.record-summary{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:var(--shadow)!important}
body.dark .panel,body.dark .metric-card,body.dark .action-card,body.dark .feature-card,body.dark .admin-stat-card,body.dark .school-banner,body.dark .tabs-panel,body.dark .download-panel,body.dark .org-download-card,body.dark .network-card,body.dark .location-school-card,body.dark .admission-card,body.dark .record-summary{background:#0D1B2B!important;border-color:#233C55!important;color:#F4F8FC!important}
body:not(.dark) h1,body:not(.dark) h2,body:not(.dark) h3,body:not(.dark) h4,body:not(.dark) strong,body:not(.dark) label{color:#11263A!important;opacity:1!important}
body:not(.dark) p,body:not(.dark) small,body:not(.dark) .muted,body:not(.dark) td,body:not(.dark) th{color:#4B6074!important;opacity:1!important}
body.dark h1,body.dark h2,body.dark h3,body.dark h4,body.dark strong,body.dark label,body.dark th{color:#F6FAFE!important;opacity:1!important}
body.dark p,body.dark small,body.dark .muted,body.dark td{color:#B9C8D8!important;opacity:1!important}
.eyebrow{color:#0A6FC7!important;opacity:1!important;font-weight:900!important}body.dark .eyebrow{color:#55B8FF!important}

/* Cards retain their role color but never sacrifice text contrast. */
.action-card,.metric-card,.admin-stat-card,.feature-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.action-card:hover,.admin-stat-card:hover,.feature-card:hover{transform:translateY(-2px);border-color:#80BCEB!important}
body.dark .action-card:hover,body.dark .admin-stat-card:hover,body.dark .feature-card:hover{border-color:#2D82C7!important}
.action-card b,.feature-card b,.admin-stat-card b{color:#0A67B6!important;opacity:1!important}body.dark .action-card b,body.dark .feature-card b,body.dark .admin-stat-card b{color:#66C3FF!important}

/* Inputs, selects and tables: strong contrast. */
input,select,textarea{background:#FFFFFF!important;color:#152A3F!important;border-color:#C9D6E2!important;opacity:1!important}
input::placeholder,textarea::placeholder{color:#718296!important;opacity:1!important}
body.dark input,body.dark select,body.dark textarea{background:#0A1725!important;color:#F5F9FD!important;border-color:#2B465F!important}
body.dark input::placeholder,body.dark textarea::placeholder{color:#93A7BA!important}
table{color:var(--text)!important}thead th{background:#EDF4FA!important;color:#17334F!important}tbody td{border-color:#DDE6EE!important}
body.dark thead th{background:#132A40!important;color:#F3F8FD!important}body.dark tbody td{border-color:#223A52!important}

/* Buttons are fully readable. */
.primary-button,.export-button{background:linear-gradient(135deg,#0B70D2,#0955A6)!important;color:#FFFFFF!important;border:0!important;text-shadow:none!important;opacity:1!important}
.primary-button:hover,.export-button:hover{filter:brightness(1.08)}
.secondary-button{background:#FFFFFF!important;color:#12324E!important;border:1px solid #B9CAD8!important;opacity:1!important}
body.dark .secondary-button{background:#102338!important;color:#EAF5FF!important;border-color:#31506A!important}

/* Login page: premium dark backdrop, selected logo clear, no text hidden. */
#loginScreen{background:radial-gradient(circle at 18% 20%,rgba(21,110,210,.20),transparent 30%),radial-gradient(circle at 82% 82%,rgba(244,181,30,.09),transparent 28%),linear-gradient(145deg,#030D19 0%,#061A31 52%,#08233E 100%)!important;color:#FFFFFF!important}
#loginScreen .login-visual{background:linear-gradient(155deg,rgba(4,17,32,.90),rgba(6,32,57,.86))!important;color:#FFFFFF!important}
#loginScreen .brand-mark{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important}
#loginScreen .brand-mark img{object-fit:contain!important;filter:drop-shadow(0 7px 18px rgba(0,116,255,.22))!important}
#loginScreen .brand strong,#loginScreen .brand strong span{color:#F4B51E!important;opacity:1!important;letter-spacing:.08em!important}
#loginScreen .brand small,#loginScreen .login-copy p,#loginScreen .trust-row span{color:#E6EEF7!important;opacity:1!important}
#loginScreen .login-copy h1{color:#FFFFFF!important;opacity:1!important}
#loginScreen .login-panel{background:rgba(5,17,31,.34)!important}
#loginScreen .login-card{background:rgba(10,27,46,.94)!important;border:1px solid rgba(116,177,232,.24)!important;box-shadow:0 22px 70px rgba(0,0,0,.34)!important;color:#FFFFFF!important;backdrop-filter:blur(14px)}
#loginScreen .login-card h2,#loginScreen .login-card label,#loginScreen .login-card strong{color:#FFFFFF!important;opacity:1!important}
#loginScreen .login-card p,#loginScreen .login-card small,#loginScreen .login-hint{color:#C9D8E7!important;opacity:1!important}
#loginScreen .login-type-card{background:#0C2035!important;border-color:#274761!important;color:#FFFFFF!important;opacity:1!important}
#loginScreen .login-type-card:hover{background:#102A45!important;border-color:#3D89C5!important}
#loginScreen .admin-login{box-shadow:inset 3px 0 #F4B51E}#loginScreen .peima-login{box-shadow:inset 3px 0 #29A86C}#loginScreen .pef-login{box-shadow:inset 3px 0 #268DFF}
#loginScreen .login-type-card small{color:#BFD0DF!important}
#loginScreen input{background:#071523!important;color:#FFFFFF!important;border-color:#34536C!important}#loginScreen input::placeholder{color:#91A5B7!important}
#loginScreen .login-back,#loginScreen .link-button{color:#72C5FF!important;opacity:1!important}

/* Subtle brand watermark on portal pages, placed in a corner so it never covers content. */
.app-shell{position:relative;isolation:isolate}
.app-shell:before{content:"";position:fixed;right:24px;bottom:22px;width:220px;height:126px;background:url('assets/bih-brand-mark-transparent.png?v=142') center/contain no-repeat;opacity:.025;pointer-events:none;z-index:0}
.app-shell>*{position:relative;z-index:1}
body.dark .app-shell:before{opacity:.035}

/* No element may become unreadably faded. */
.view:not(.is-hidden) :where(p,small,span,label,strong,b,em,td,th){text-shadow:none}
.view:not(.is-hidden) :where(p,small,label,td,th){opacity:1}

@media(max-width:760px){
 .sidebar-brand{min-height:74px!important}.sidebar .brand-logo-frame{width:62px!important;height:48px!important;flex-basis:62px!important}.sidebar-brand>div:last-child strong{font-size:10.5px!important}
 .app-shell:before{width:140px;height:84px;right:12px;bottom:12px;opacity:.02}
 #loginScreen .brand-mark{width:88px!important;height:62px!important}
}


/* ===== APPROVED FINAL LOGIN REFERENCE + THEME POLISH ===== */
/* Chooser matches the approved dark reference while preserving existing login behaviour. */
.login-shell.chooser-mode{background:radial-gradient(circle at 50% 12%,rgba(10,117,229,.13),transparent 25%),radial-gradient(circle at 18% 45%,rgba(10,117,229,.05),transparent 32%),linear-gradient(145deg,#020B15 0%,#041321 50%,#03101D 100%)!important}
.login-shell.chooser-mode:after{display:none!important}
.login-shell.chooser-mode:before{content:""!important;position:absolute!important;inset:0!important;background:url('assets/bih-brand-mark-transparent.png?v=142') 5% 28%/410px auto no-repeat,url('assets/bih-brand-mark-transparent.png?v=142') 95% 72%/390px auto no-repeat!important;opacity:.035!important;pointer-events:none!important}
.login-shell.chooser-mode .login-panel{padding:28px 5vw 34px!important}
.login-shell.chooser-mode .login-choice-card{width:min(980px,100%)!important;gap:18px!important}
.login-shell.chooser-mode .approved-login-brand{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border:0!important;padding:0!important;text-align:center!important;gap:10px!important}
.login-shell.chooser-mode .approved-login-brand .brand-mark{width:235px!important;height:145px!important;margin:0 auto!important}
.login-shell.chooser-mode .approved-login-brand .brand-mark img{filter:drop-shadow(0 9px 22px rgba(0,123,255,.26))!important}
.login-shell.chooser-mode .approved-brand-title{display:flex!important;align-items:center!important;gap:18px!important;color:#F5BB1D!important;font-size:20px!important;font-weight:900!important;letter-spacing:.22em!important;white-space:nowrap!important}
.login-shell.chooser-mode .approved-brand-title:before,.login-shell.chooser-mode .approved-brand-title:after{content:"";width:72px;height:1px;background:linear-gradient(90deg,transparent,#F5B91F)}
.login-shell.chooser-mode .approved-brand-title:after{background:linear-gradient(90deg,#F5B91F,transparent)}
.login-shell.chooser-mode .approved-login-intro{text-align:center!important}
.login-shell.chooser-mode .approved-login-intro p{color:#E9EFF6!important;font-size:17px!important;font-weight:500!important;opacity:1!important;margin:0 0 10px!important}
.login-shell.chooser-mode .login-type-list{grid-template-columns:repeat(3,1fr)!important;gap:20px!important}
.login-shell.chooser-mode .login-type-card{min-height:330px!important;padding:28px 20px!important;border-radius:20px!important;gap:15px!important;background:linear-gradient(160deg,rgba(10,24,39,.97),rgba(4,13,23,.99))!important;box-shadow:0 20px 45px rgba(0,0,0,.34)!important}
.login-shell.chooser-mode .login-type-card>span{width:96px!important;height:96px!important;background:rgba(5,17,29,.92)!important;padding:17px!important;box-shadow:0 0 0 1px currentColor,0 0 22px rgba(0,0,0,.35)!important}
.login-shell.chooser-mode .peima-login>span{padding:16px!important}.login-shell.chooser-mode .peima-login>span img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}.login-shell.chooser-mode .pef-login>span img{padding:0!important}.login-shell.chooser-mode .admin-login>span img{padding:0!important}
.login-shell.chooser-mode .login-type-card strong{font-size:24px!important;color:#FFF!important;letter-spacing:.02em!important}
.login-shell.chooser-mode .login-type-card small{font-size:14px!important;line-height:1.5!important;color:#CDD7E1!important}
.login-shell.chooser-mode .login-type-card>b{width:100%!important;height:48px!important;border-radius:11px!important;margin-top:4px!important;font-size:0!important;color:#FFF!important}
.login-shell.chooser-mode .login-type-card>b:before{content:"Login";font-size:17px;font-weight:800}.login-shell.chooser-mode .login-type-card>b:after{content:"  →";font-size:22px;margin-left:14px}
.login-shell.chooser-mode .admin-login{border-color:#B88300!important}.login-shell.chooser-mode .admin-login>b{background:linear-gradient(135deg,#E7AE20,#9C6500)!important}.login-shell.chooser-mode .admin-login>span{color:#F2B719!important}
.login-shell.chooser-mode .peima-login{border-color:#397B27!important}.login-shell.chooser-mode .peima-login>b{background:linear-gradient(135deg,#63B73B,#236D20)!important}.login-shell.chooser-mode .peima-login>span{color:#65B938!important}
.login-shell.chooser-mode .pef-login{border-color:#0878D7!important}.login-shell.chooser-mode .pef-login>b{background:linear-gradient(135deg,#087DE8,#03489B)!important}.login-shell.chooser-mode .pef-login>span{color:#168FF8!important}
.login-shell.chooser-mode .login-type-card:hover{transform:translateY(-5px)!important}
/* Login forms keep the same approved dark family and role accent. */
.login-shell.login-admin-form,.login-shell.login-peima-form,.login-shell.login-pef-form{background:linear-gradient(145deg,#020B15,#06192B 55%,#03101D)!important}
.login-shell.login-admin-form .login-visual,.login-shell.login-peima-form .login-visual,.login-shell.login-pef-form .login-visual{background:linear-gradient(155deg,#03101E,#082039)!important}
.login-shell.login-admin-form .login-card{border-color:#B88300!important}.login-shell.login-peima-form .login-card{border-color:#397B27!important}.login-shell.login-pef-form .login-card{border-color:#0878D7!important}
/* Light mode: clean high contrast, never washed out. */
body:not(.dark){--bg:#F2F6FA!important;--surface:#FFFFFF!important;--surface-2:#F7FAFC!important;--text:#10263B!important;--muted:#455D72!important;--border:#CFDCE7!important}
body:not(.dark) .content{background:#F2F6FA!important}body:not(.dark) .view{color:#10263B!important}
body:not(.dark) .panel,body:not(.dark) .metric-card,body:not(.dark) .action-card,body:not(.dark) .feature-card,body:not(.dark) .admin-stat-card,body:not(.dark) .org-download-card{background:#FFF!important;border-color:#CFDCE7!important}
body:not(.dark) :where(h1,h2,h3,h4,strong,b,label,th){color:#10263B!important}body:not(.dark) :where(p,small,td,.muted){color:#455D72!important}
/* Dark mode: distinguish surfaces while retaining readable copy. */
body.dark{--bg:#06111D!important;--surface:#0C1B2A!important;--surface-2:#102337!important;--text:#F4F8FC!important;--muted:#C0CDDA!important;--border:#294157!important}
body.dark .content{background:#06111D!important}body.dark .view{color:#F4F8FC!important}
body.dark .panel,body.dark .metric-card,body.dark .action-card,body.dark .feature-card,body.dark .admin-stat-card,body.dark .org-download-card{background:#0C1B2A!important;border-color:#294157!important}
body.dark :where(h1,h2,h3,h4,strong,b,label,th){color:#F5F9FD!important}body.dark :where(p,small,td,.muted){color:#C0CDDA!important}
/* Strong table/form visibility in both themes. */
body:not(.dark) thead th{background:#E7F0F8!important;color:#153650!important}body:not(.dark) tbody tr:nth-child(even){background:#FAFCFE!important}
body.dark thead th{background:#15314A!important;color:#FFF!important}body.dark tbody tr:nth-child(even){background:#0F2031!important}
body.dark input,body.dark select,body.dark textarea{background:#071522!important;color:#F7FAFD!important;border-color:#35516A!important}
body:not(.dark) input,body:not(.dark) select,body:not(.dark) textarea{background:#FFF!important;color:#142C42!important;border-color:#C3D2DE!important}
/* Selected logo stays clean and never receives a box. */
.brand-mark,.brand-logo-frame{background:transparent!important;border:0!important;box-shadow:none!important}.brand-mark img,.brand-logo-frame img{filter:drop-shadow(0 5px 12px rgba(0,115,230,.16))!important}
@media(max-width:760px){.login-shell.chooser-mode .approved-login-brand .brand-mark{width:180px!important;height:110px!important}.login-shell.chooser-mode .approved-brand-title{font-size:13px!important;letter-spacing:.13em!important}.login-shell.chooser-mode .approved-brand-title:before,.login-shell.chooser-mode .approved-brand-title:after{width:28px}.login-shell.chooser-mode .login-type-list{grid-template-columns:1fr!important}.login-shell.chooser-mode .login-type-card{min-height:190px!important;display:grid!important;grid-template-columns:78px 1fr!important}.login-shell.chooser-mode .login-type-card>b{grid-column:1/-1!important}.login-shell.chooser-mode .login-type-card>span{width:72px!important;height:72px!important}.login-shell.chooser-mode .login-type-card div{text-align:left!important}}


/* =====================================================================
   BIH FINAL VISUAL SYSTEM — approved login + readable light/dark portal
   This block intentionally comes last so older experimental rules cannot
   override the approved visual design.
   ===================================================================== */
:root{
 --final-navy:#071827;--final-navy-2:#0B2238;--final-blue:#087DE8;--final-blue-2:#0352A7;
 --final-gold:#F2B51D;--final-green:#42A62C;--final-red:#E23B3F;--final-purple:#7042B6;
 --final-text:#12263A;--final-muted:#53697F;--final-line:#D6E1EA;--final-bg:#F3F7FB;--final-card:#FFFFFF;
}
/* ---------- APPROVED LOGIN: OPTION 1 DARK MODERN ---------- */
#loginScreen.chooser-mode{display:grid!important;grid-template-columns:1fr!important;min-height:100vh!important;padding:0!important;background:
 radial-gradient(circle at 12% 12%,rgba(9,126,232,.13),transparent 20%),
 radial-gradient(circle at 82% 78%,rgba(7,86,166,.10),transparent 24%),
 linear-gradient(145deg,#020A13 0%,#041421 52%,#020D18 100%)!important;color:#fff!important;overflow:auto!important;isolation:isolate!important}
#loginScreen.chooser-mode .login-visual{display:none!important}
#loginScreen.chooser-mode .login-panel{min-height:100vh!important;padding:34px 26px 28px!important;background:transparent!important;place-items:center!important;position:relative!important}
#loginScreen.chooser-mode .login-panel:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:radial-gradient(circle,#0E78D0 1px,transparent 1.4px),radial-gradient(circle,#F0B31B 1px,transparent 1.3px);background-size:58px 58px,94px 94px;background-position:6% 14%,85% 78%;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 70%)}
#loginScreen.chooser-mode .login-choice-card{position:relative!important;z-index:1!important;width:min(1040px,96vw)!important;padding:12px 18px 18px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:grid!important;gap:20px!important}
#loginScreen.chooser-mode .approved-login-brand{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:0!important;border:0!important;background:transparent!important}
#loginScreen.chooser-mode .approved-login-brand .brand-mark{width:260px!important;height:154px!important;margin:0 auto!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
#loginScreen.chooser-mode .approved-login-brand .brand-mark img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important;filter:drop-shadow(0 10px 24px rgba(0,124,232,.24))!important}
#loginScreen.chooser-mode .approved-brand-title{display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;margin-top:-4px!important;color:#F4BA20!important;font-size:21px!important;font-weight:900!important;letter-spacing:.20em!important;line-height:1.2!important;text-align:center!important;white-space:nowrap!important}
#loginScreen.chooser-mode .approved-brand-title:before,#loginScreen.chooser-mode .approved-brand-title:after{content:""!important;width:86px!important;height:1px!important;background:linear-gradient(90deg,transparent,#F2B51D)!important}
#loginScreen.chooser-mode .approved-brand-title:after{background:linear-gradient(90deg,#F2B51D,transparent)!important}
#loginScreen.chooser-mode .approved-login-intro{margin-top:-4px!important;text-align:center!important}
#loginScreen.chooser-mode .approved-login-intro p{margin:0!important;color:#E6EEF6!important;font-size:17px!important;font-weight:600!important;opacity:1!important}
#loginScreen.chooser-mode .login-type-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;margin-top:4px!important}
#loginScreen.chooser-mode .login-type-card{position:relative!important;min-height:342px!important;padding:28px 22px 24px!important;border-radius:22px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;text-align:center!important;gap:14px!important;background:linear-gradient(160deg,rgba(12,31,49,.96),rgba(4,14,24,.99))!important;color:#fff!important;border:1px solid #28455E!important;box-shadow:0 22px 52px rgba(0,0,0,.34)!important;overflow:hidden!important}
#loginScreen.chooser-mode .login-type-card:after{content:"";position:absolute;left:16%;right:16%;bottom:-18px;height:32px;border-radius:50%;filter:blur(18px);opacity:.26;pointer-events:none}
#loginScreen.chooser-mode .login-type-card>span{width:108px!important;height:108px!important;flex:0 0 108px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#071523!important;border:2px solid currentColor!important;box-shadow:inset 0 0 0 10px rgba(255,255,255,.018),0 0 26px currentColor!important;padding:18px!important;overflow:hidden!important}
#loginScreen.chooser-mode .login-type-card>span img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important;transform:none!important;border-radius:6px!important}
#loginScreen.chooser-mode .admin-login>span img{filter:brightness(0) saturate(100%) invert(78%) sepia(83%) saturate(740%) hue-rotate(345deg) brightness(100%) contrast(94%)!important}
#loginScreen.chooser-mode .login-type-card div{flex:1!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important}
#loginScreen.chooser-mode .login-type-card strong{display:block!important;font-size:25px!important;line-height:1.1!important;letter-spacing:.02em!important;color:#FFF!important;margin-top:2px!important}
#loginScreen.chooser-mode .login-type-card small{display:block!important;margin-top:10px!important;color:#C9D5E0!important;font-size:14px!important;line-height:1.55!important;font-weight:550!important;opacity:1!important}
#loginScreen.chooser-mode .login-type-card>b{position:relative!important;width:100%!important;height:52px!important;min-height:52px!important;margin-top:auto!important;border-radius:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-size:0!important;box-shadow:0 10px 22px rgba(0,0,0,.28)!important}
#loginScreen.chooser-mode .login-type-card>b:before{content:"Login";font-size:17px!important;font-weight:850!important}#loginScreen.chooser-mode .login-type-card>b:after{content:"→";font-size:22px!important;margin-left:20px!important}
#loginScreen.chooser-mode .admin-login{border-color:#A97704!important;color:#F3B91D!important}.login-shell.chooser-mode .admin-login>b{background:linear-gradient(135deg,#E8AD18,#9C6500)!important}.login-shell.chooser-mode .admin-login:after{background:#F0B51D}
#loginScreen.chooser-mode .peima-login{border-color:#397E2A!important;color:#68B839!important}.login-shell.chooser-mode .peima-login>b{background:linear-gradient(135deg,#62B73D,#236D20)!important}.login-shell.chooser-mode .peima-login:after{background:#55B936}
#loginScreen.chooser-mode .pef-login{border-color:#087EDB!important;color:#168FF8!important}.login-shell.chooser-mode .pef-login>b{background:linear-gradient(135deg,#0A82ED,#034B9E)!important}.login-shell.chooser-mode .pef-login:after{background:#087DEB}
#loginScreen.chooser-mode .login-type-card:hover{transform:translateY(-5px)!important;filter:brightness(1.045)!important}
#loginScreen.chooser-mode .login-feature-strip{display:flex!important;align-items:center!important;justify-content:center!important;gap:26px!important;color:#E8EDF2!important;font-size:13px!important;margin:2px auto 0!important;padding:14px 28px!important;border-top:1px solid rgba(242,181,29,.25)!important;border-bottom:1px solid rgba(242,181,29,.17)!important;background:linear-gradient(90deg,transparent,rgba(9,24,39,.72),transparent)!important}
#loginScreen.chooser-mode .login-feature-strip span{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}.login-feature-strip i{font-style:normal;color:#F2B51D;font-size:17px}
#loginScreen.chooser-mode .login-copyright{text-align:center!important;color:#97A8B8!important;font-size:12px!important;margin:0!important}
/* Role login form remains dark, crisp and readable. */
#loginScreen:not(.chooser-mode){background:#04111E!important;color:#fff!important}
#loginScreen:not(.chooser-mode) .login-visual{background:radial-gradient(circle at 18% 20%,rgba(9,125,232,.16),transparent 28%),linear-gradient(145deg,#071827,#0A2740)!important}
#loginScreen:not(.chooser-mode) .login-panel{background:#07131F!important}
#loginScreen:not(.chooser-mode) .login-card{background:#0D2032!important;border-color:#2A465F!important;color:#F7FAFD!important;box-shadow:0 24px 54px rgba(0,0,0,.32)!important}
#loginScreen:not(.chooser-mode) .login-card h2,#loginScreen:not(.chooser-mode) .login-card label{color:#F7FAFD!important}#loginScreen:not(.chooser-mode) .login-card p,#loginScreen:not(.chooser-mode) .login-card small{color:#C4D1DD!important;opacity:1!important}
#loginScreen:not(.chooser-mode) input{background:#061522!important;border-color:#35526B!important;color:#FFF!important}#loginScreen:not(.chooser-mode) input::placeholder{color:#8FA4B6!important}
/* ---------- PORTAL BRAND AREA ---------- */
.app-shell:before{display:none!important}
.sidebar-brand{display:flex!important;align-items:center!important;gap:12px!important;min-height:92px!important;margin:-8px -6px 10px!important;padding:15px 12px!important;border:1px solid rgba(242,181,29,.18)!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(5,22,37,.96),rgba(33,26,9,.72))!important}
.sidebar .brand-marks{flex:0 0 auto!important}.sidebar .brand-logo-frame{width:76px!important;height:58px!important;flex:0 0 76px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}.sidebar .brand-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important;filter:drop-shadow(0 5px 10px rgba(0,111,221,.22))!important}
.sidebar-brand>div:last-child{min-width:0!important}.sidebar-brand>div:last-child strong{display:block!important;color:#F3B91D!important;font-size:12.5px!important;font-weight:900!important;line-height:1.18!important;letter-spacing:.075em!important}.sidebar-brand>div:last-child strong span{display:block!important;color:#FFFFFF!important;margin-top:3px!important}.sidebar-brand>div:last-child small{display:none!important}
/* ---------- HIGH-CONTRAST LIGHT THEME ---------- */
body:not(.dark){--bg:#F3F7FB!important;--surface:#FFFFFF!important;--surface-2:#F8FBFE!important;--text:#10263B!important;--muted:#50677D!important;--border:#D5E1EA!important;--shadow:0 14px 36px rgba(20,52,82,.08)!important;background:#F3F7FB!important;color:#10263B!important}
body:not(.dark) .sidebar{background:#FFFFFF!important;color:#18314A!important;border-right:1px solid #D8E4ED!important;box-shadow:8px 0 24px rgba(21,55,85,.045)!important}
body:not(.dark) .sidebar-brand{background:linear-gradient(135deg,#EAF4FF,#FFF7DA)!important;border-color:#D9E5EE!important}.sidebar-brand>div:last-child strong{color:#0A5AB5!important}body:not(.dark) .sidebar-brand>div:last-child strong span{color:#173A5C!important}
body:not(.dark) .nav-item{color:#385571!important}body:not(.dark) .nav-item:hover{background:#EEF5FC!important;color:#0A5AB5!important}body:not(.dark) .nav-item.active{background:linear-gradient(90deg,#176FE8,#86B8FF)!important;color:#FFF!important;box-shadow:0 8px 18px rgba(23,111,232,.18)!important}
body:not(.dark) .sidebar-foot{background:#F5F9FD!important;border-color:#D8E4ED!important;color:#16314A!important}body:not(.dark) .sidebar-foot small{color:#6B8094!important}
body:not(.dark) .topbar{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #D8E3EC!important;box-shadow:0 4px 18px rgba(20,48,75,.05)!important}body:not(.dark) .topbar h2,body:not(.dark) .topbar strong{color:#10263B!important}body:not(.dark) .topbar small{color:#60758A!important}body:not(.dark) .top-label{color:#0870D4!important}
body:not(.dark) .content{background:#F3F7FB!important}.view:not(.is-hidden){color:#10263B!important}
body:not(.dark) :where(h1,h2,h3,h4,strong,b,label,th){color:#10263B}body:not(.dark) :where(p,small,td,.muted){color:#50677D;opacity:1!important}
body:not(.dark) .panel,body:not(.dark) .metric-card,body:not(.dark) .action-card,body:not(.dark) .feature-card,body:not(.dark) .org-download-card{background:#FFF!important;border-color:#D3E0EA!important;box-shadow:0 12px 30px rgba(18,51,82,.055)!important}
body:not(.dark) .page-heading,body:not(.dark) .admin-overview-heading{background:linear-gradient(105deg,#FFFFFF,#EDF5FF 58%,#FFF9E9)!important;border:1px solid #D3E0EA!important;border-left:4px solid #176FE8!important;border-radius:20px!important;padding:24px!important;box-shadow:0 10px 28px rgba(18,51,82,.05)!important}
body:not(.dark) .admin-overview-grid .admin-stat-card{background:#FFF!important;border:1px solid #D3E0EA!important;box-shadow:0 10px 28px rgba(18,51,82,.055)!important}
body:not(.dark) .admin-overview-grid .stat-schools{background:linear-gradient(145deg,#FFF9E9,#FFF)!important;border-color:#F0D79A!important}body:not(.dark) .admin-overview-grid .stat-pef{background:linear-gradient(145deg,#EDF5FF,#FFF)!important;border-color:#C6DBF7!important}body:not(.dark) .admin-overview-grid .stat-peima{background:linear-gradient(145deg,#ECF9F0,#FFF)!important;border-color:#C8E8D3!important}body:not(.dark) .admin-overview-grid .stat-students{background:linear-gradient(145deg,#FFF0F1,#FFF)!important;border-color:#F3CDD0!important}body:not(.dark) .admin-overview-grid .stat-teachers{background:linear-gradient(145deg,#F5F0FF,#FFF)!important;border-color:#DFD3F5!important}
body:not(.dark) .admin-stat-card small,body:not(.dark) .admin-stat-card b{color:#465F76!important;opacity:1!important}
body:not(.dark) .action-grid .action-card:nth-child(1){background:#FFF8E9!important;border-color:#F1D9A4!important}body:not(.dark) .action-grid .action-card:nth-child(2){background:#EDF5FF!important;border-color:#C8DCF7!important}body:not(.dark) .action-grid .action-card:nth-child(3){background:#ECF9F1!important;border-color:#C9E7D2!important}body:not(.dark) .action-grid .action-card:nth-child(4){background:#FFF0F2!important;border-color:#F4CED3!important}
/* ---------- PREMIUM DARK THEME ---------- */
body.dark{--bg:#060E17!important;--surface:#0C1824!important;--surface-2:#101F2E!important;--text:#F6F9FC!important;--muted:#B9C7D4!important;--border:#273B4E!important;--shadow:0 16px 38px rgba(0,0,0,.28)!important;background:#060E17!important;color:#F6F9FC!important}
body.dark .sidebar{background:linear-gradient(180deg,#07111B,#081827)!important;color:#F6F9FC!important;border-right:1px solid #263B4E!important}.dark .sidebar-brand{background:linear-gradient(135deg,#07111B,#271E08)!important;border-color:#6E5312!important}.dark .nav-item{color:#C4CFD9!important}.dark .nav-item:hover{background:#102338!important;color:#FFF!important}.dark .nav-item.active{background:linear-gradient(90deg,#725000,#3E2D08)!important;color:#FFF!important;box-shadow:inset 3px 0 #F2B51D!important}.dark .sidebar-foot{background:#0E1E2D!important;border-color:#2B4154!important}.dark .sidebar-foot small{color:#9EB0C0!important}
body.dark .topbar{background:rgba(7,17,27,.97)!important;border-bottom:1px solid #273B4D!important;box-shadow:0 5px 20px rgba(0,0,0,.28)!important}.dark .topbar h2,.dark .topbar strong{color:#F7FAFD!important}.dark .topbar small{color:#B9C7D3!important}.dark .top-label{color:#F2B51D!important}.dark .topbar .icon-button,.dark .topbar .profile-chip{background:#0D1B29!important;border-color:#33495D!important;color:#FFF!important}
body.dark .content{background:#060E17!important}.dark .view:not(.is-hidden){color:#F6F9FC!important}.dark :where(h1,h2,h3,h4,strong,b,label,th){color:#F6F9FC}.dark :where(p,small,td,.muted){color:#B9C7D4;opacity:1!important}
.dark .panel,.dark .metric-card,.dark .action-card,.dark .feature-card,.dark .org-download-card{background:#0C1824!important;border-color:#283D50!important;box-shadow:0 15px 32px rgba(0,0,0,.22)!important}
.dark .page-heading,.dark .admin-overview-heading{background:linear-gradient(105deg,#0A141F,#101C27 60%,#241B08)!important;border:1px solid #344556!important;border-left:4px solid #F2B51D!important;border-radius:20px!important;padding:24px!important;box-shadow:0 14px 32px rgba(0,0,0,.22)!important}
.dark .admin-overview-grid .admin-stat-card{background:#0C1824!important;border:1px solid #293D4F!important;box-shadow:0 14px 28px rgba(0,0,0,.22)!important}.dark .admin-overview-grid .stat-schools{background:linear-gradient(145deg,#2A210A,#0C1824)!important;border-color:#6E5515!important}.dark .admin-overview-grid .stat-pef{background:linear-gradient(145deg,#0B2644,#0C1824)!important;border-color:#174E82!important}.dark .admin-overview-grid .stat-peima{background:linear-gradient(145deg,#0A3023,#0C1824)!important;border-color:#1A6248!important}.dark .admin-overview-grid .stat-students{background:linear-gradient(145deg,#351719,#0C1824)!important;border-color:#753239!important}.dark .admin-overview-grid .stat-teachers{background:linear-gradient(145deg,#251A3B,#0C1824)!important;border-color:#513B73!important}
.dark .admin-stat-card small,.dark .admin-stat-card b{color:#C4CFD8!important;opacity:1!important}.dark .admin-stat-card strong{color:#FFF!important}
.dark .action-grid .action-card:nth-child(1){background:linear-gradient(145deg,#251C08,#0C1824)!important;border-color:#624A12!important}.dark .action-grid .action-card:nth-child(2){background:linear-gradient(145deg,#0A2340,#0C1824)!important;border-color:#164A7B!important}.dark .action-grid .action-card:nth-child(3){background:linear-gradient(145deg,#09291E,#0C1824)!important;border-color:#185840!important}.dark .action-grid .action-card:nth-child(4){background:linear-gradient(145deg,#321618,#0C1824)!important;border-color:#6C3036!important}
/* forms, tables and secondary text never disappear */
body:not(.dark) input,body:not(.dark) select,body:not(.dark) textarea{background:#FFF!important;color:#10263B!important;border-color:#C8D7E3!important}body:not(.dark) input::placeholder,body:not(.dark) textarea::placeholder{color:#72869A!important}
body.dark input,body.dark select,body.dark textarea{background:#071522!important;color:#F8FAFC!important;border-color:#395169!important}body.dark input::placeholder,body.dark textarea::placeholder{color:#91A5B7!important}
body:not(.dark) thead th{background:#E8F1F9!important;color:#153650!important}body:not(.dark) tbody tr:nth-child(even){background:#FAFCFE!important}.dark thead th{background:#153047!important;color:#FFF!important}.dark tbody tr:nth-child(even){background:#0F1E2C!important}
/* Force readable opacity for common copy everywhere. */
#portal :where(p,small,label,td,th,.eyebrow,.top-label,.nav-item,.sidebar-foot small){opacity:1!important}
/* selected logo has no box and is never dimmed */
.brand-mark,.brand-logo-frame{background:transparent!important;border:0!important;box-shadow:none!important}.brand-mark img,.brand-logo-frame img{opacity:1!important}
@media(max-width:900px){#loginScreen.chooser-mode .login-type-list{grid-template-columns:1fr!important;max-width:560px!important;margin-left:auto!important;margin-right:auto!important}#loginScreen.chooser-mode .login-type-card{min-height:220px!important;display:grid!important;grid-template-columns:92px 1fr!important;text-align:left!important;align-items:center!important}#loginScreen.chooser-mode .login-type-card>span{width:82px!important;height:82px!important;flex-basis:82px!important;padding:12px!important}#loginScreen.chooser-mode .login-type-card div{align-items:flex-start!important;text-align:left!important}#loginScreen.chooser-mode .login-type-card>b{grid-column:1/-1!important}.sidebar-brand{margin:0 0 8px!important}}
@media(max-width:600px){#loginScreen.chooser-mode .approved-login-brand .brand-mark{width:210px!important;height:126px!important}#loginScreen.chooser-mode .approved-brand-title{font-size:13px!important;letter-spacing:.12em!important;gap:9px!important;white-space:normal!important}#loginScreen.chooser-mode .approved-brand-title:before,#loginScreen.chooser-mode .approved-brand-title:after{width:30px!important}#loginScreen.chooser-mode .login-panel{padding:22px 12px!important}#loginScreen.chooser-mode .login-choice-card{width:100%!important;padding:6px!important}#loginScreen.chooser-mode .login-feature-strip{gap:10px!important;padding:12px 8px!important;font-size:11px!important;flex-wrap:wrap!important}.sidebar-brand{min-height:78px!important}.sidebar .brand-logo-frame{width:60px!important;height:48px!important;flex-basis:60px!important}.sidebar-brand>div:last-child strong{font-size:10px!important}}


#loginScreen.chooser-mode:before,#loginScreen.chooser-mode:after{display:none!important;content:none!important;background:none!important;}

/* Light theme brand panel stays dark-blue so the approved white/gold BIH mark is fully visible. */
body:not(.dark) .sidebar-brand{background:linear-gradient(135deg,#071B2D,#0B4677)!important;border-color:#225D88!important;box-shadow:0 10px 22px rgba(8,48,80,.16)!important}
body:not(.dark) .sidebar-brand>div:last-child strong{color:#F3B91D!important}body:not(.dark) .sidebar-brand>div:last-child strong span{color:#FFFFFF!important}

/* V162 targeted professional UI refinements */
.school-student-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.student-attendance-hero{border-top:4px solid #2b89ba}
#schoolAttendanceMergeHost .page-heading{display:none!important}
#schoolAttendanceMergeHost .tabs-panel{margin-top:0}
.merged-attendance-legacy{display:none!important}

.staff-record-form{grid-template-columns:minmax(250px,290px) minmax(0,1fr)!important;gap:22px!important;padding:8px 0 26px!important}
.staff-photo-field{padding:22px!important;border-radius:22px!important;background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;display:grid!important;gap:14px!important;align-content:start!important}
.staff-photo-preview{width:184px!important;height:184px!important;border-radius:28px!important;background:linear-gradient(145deg,#11314a,#163d5a)!important;border:2px dashed rgba(98,177,241,.34)!important;color:#e7f4ff!important}
.staff-photo-preview small{font-size:15px!important;font-weight:800!important;color:#e7f4ff!important}
.staff-fields{grid-template-columns:repeat(2,minmax(180px,1fr))!important;gap:18px!important;align-items:start!important}
.staff-fields label{display:grid!important;gap:8px!important;min-width:0}
.staff-fields input,.staff-fields select{width:100%!important;min-width:0!important}
.staff-record-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:18px!important}
.staff-record-card{padding:18px!important;border-radius:22px!important;background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;box-shadow:0 14px 28px rgba(0,0,0,.12)!important;align-items:flex-start!important}
.staff-card-photo{width:90px!important;height:90px!important;flex-basis:90px!important;border-radius:22px!important;background:linear-gradient(145deg,#123c61,#21517a)!important;color:#fff!important}
.staff-card-copy h3{font-size:32px;line-height:1.15}
.staff-card-copy p{font-size:13px!important;line-height:1.45!important}

#adminSchools .metric-card.metric-blue{background:#1f4e8c!important;border-color:#1f4e8c!important;color:#fff!important}
#adminSchools .metric-card.metric-teal{background:#155e75!important;border-color:#155e75!important;color:#fff!important}
#adminSchools .metric-card.metric-violet{background:#4c3ea1!important;border-color:#4c3ea1!important;color:#fff!important}
#adminSchools .metric-card.metric-coral{background:#a14d1f!important;border-color:#a14d1f!important;color:#fff!important}
#adminSchools .metric-card :is(span,strong,small){color:#fff!important}

.admin-school-summary-card{position:relative;overflow:hidden;border-radius:24px!important;padding:22px!important;color:#fff!important;box-shadow:0 18px 38px rgba(5,20,34,.18)!important}
.admin-school-summary-card .section-heading{margin-bottom:14px!important}
.admin-school-summary-card .section-heading h2,.admin-school-summary-card .section-heading p,.admin-school-summary-card .section-heading .eyebrow,.admin-school-summary-card .admin-school-card-note,.admin-school-summary-card .admin-school-summary-stats :is(span,strong){color:#fff!important}
.admin-school-summary-card.org-pef{background:#0f5fb6!important;border-color:#0f5fb6!important}
.admin-school-summary-card.org-peima{background:#16844f!important;border-color:#16844f!important}
.admin-school-org-badge{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-weight:900;letter-spacing:.08em}
.admin-school-summary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.admin-school-summary-stats>div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18)}
.admin-school-summary-stats span{display:block;font-size:11px;font-weight:700;opacity:.9;text-transform:uppercase;letter-spacing:.08em}
.admin-school-summary-stats strong{display:block;margin-top:6px;font-size:28px;line-height:1}
.admin-school-card-subtitle{margin:6px 0 0;font-size:13px!important;opacity:.92}
.admin-school-card-note{margin:0 0 16px;line-height:1.55}
.admin-school-card-actions{display:flex;flex-wrap:wrap;gap:10px}
.admin-school-card-actions .secondary-button,.admin-school-card-actions .danger-button{border-color:rgba(255,255,255,.24)!important}
.admin-school-card-actions .secondary-button{background:rgba(255,255,255,.14)!important;color:#fff!important}
.admin-school-card-actions .danger-button{background:#fff!important;color:#8b1f1f!important}

@media(max-width:900px){.school-student-tabs{grid-template-columns:1fr}.admin-school-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-photo-preview{width:160px!important;height:160px!important}.staff-card-copy h3{font-size:28px}}
@media(max-width:760px){.staff-record-form{grid-template-columns:1fr!important}.staff-fields{grid-template-columns:1fr!important}.admin-school-summary-stats{grid-template-columns:1fr 1fr}.admin-school-card-actions{flex-direction:column}.admin-school-card-actions :is(.secondary-button,.danger-button){width:100%}}
