@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');:root{--ink:#142a48;--nav:#091f3b;--blue:#2878ce;--muted:#6b819d;--line:#dce5ef;--surface:#fff;--bg:#f3f7fb}*{box-sizing:border-box}body{margin:0;font:14px Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink)}button,select,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;background:#1455a1;color:white;padding:12px 16px;font-weight:700}.outline{background:white;border:1px solid var(--line);color:#295078}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:linear-gradient(#061a33,#102e50);color:white;padding:25px 14px;display:flex;flex-direction:column;z-index:2}.sidebrand{display:flex;align-items:center;gap:13px;margin:0 12px 40px}.sidebrand img{width:43px;height:51px;object-fit:contain}.sidebrand b{font-size:22px}.sidebrand small{display:block;letter-spacing:1.5px;font-weight:700;font-size:10px}.navheading{font-size:10px;letter-spacing:2px;color:#91b0d2;margin:0 14px 11px;font-weight:800}.sidebar nav{display:grid;gap:5px}.navlink{width:100%;text-align:left;background:transparent;color:#c4d5e8;font-weight:600;padding:13px 15px}.navlink.active{background:#1b559e;color:white;border-left:3px solid #67c7fa}.navlink:hover{background:#24517f}.source{margin-top:auto;display:grid;gap:9px;padding:15px;border-top:1px solid #41617d}.source small{color:#9fbbd7;font-size:11px}.shell{margin-left:248px}.topbar{height:104px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 30px;gap:15px}.brand{display:flex;align-items:center;gap:14px}.brand img{height:58px;width:50px;object-fit:contain}.brand h2{margin:4px 0;font-size:21px;letter-spacing:-.6px}.brand small,.eyebrow{color:#4777ad;letter-spacing:1.7px;font-size:10px;font-weight:800}.brand span{font-size:12px;color:var(--muted)}.righthead{display:flex;align-items:center;gap:18px}.righthead div{display:grid;gap:7px}.righthead small{font-size:10px;color:var(--muted)}.outbreak{background:#fff0ef;color:#c2342c;font-size:10px;padding:12px;border-radius:8px;font-weight:800}main{padding:29px;max-width:1740px;margin:auto}.topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}h1{font-size:30px;letter-spacing:-1px;margin:7px 0 5px}p{line-height:1.6}.topline p{margin:0;color:var(--muted)}.actions{display:flex;gap:8px}.panel,.kpi{background:white;border:1px solid var(--line);border-radius:13px}.filters{display:flex;align-items:end;gap:12px;padding:17px;margin-bottom:18px;flex-wrap:wrap}.filters label{display:grid;gap:7px;color:#537091;letter-spacing:1px;font-size:10px;font-weight:800;flex:1;min-width:142px}.filters select{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;background:white;color:var(--ink);font-weight:600;font-size:13px}.context{width:100%;font-size:12px;color:#647f9b}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:17px}.kpi{border-top:4px solid var(--c);padding:17px;min-height:139px}.kpi .klabel{font-size:11px;color:#526b88;font-weight:700}.kpi .number{font-size:35px;font-weight:800;letter-spacing:-1px;margin:15px 0 5px}.kpi .small{font-size:10px;color:var(--muted);line-height:1.4}.twocol{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px}.panel.pad{padding:20px}.panel h3{font-size:17px;margin:2px 0 15px}.overline{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#4777ad}.muted{color:var(--muted)}.notice{padding:14px 16px;background:#fff9ed;border:1px solid #f1d8a1;color:#885c18;border-radius:9px;margin:0 0 16px}.notice.blue{background:#eef5ff;border-color:#d2e3fa;color:#315f95}.rowbar{display:grid;grid-template-columns:116px 1fr 36px;align-items:center;gap:10px;margin:14px 0;font-size:12px;font-weight:700}.track{height:13px;background:#e8eff8;border-radius:20px;overflow:hidden}.track i{display:block;background:#2d79d3;height:100%;border-radius:20px}.listrow{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e9eff6;padding:14px 0}.listrow b:last-child{margin-left:auto}.pill{border-radius:18px;background:#e9f1fa;color:#2c70b9;font-weight:800;font-size:11px;padding:7px 10px}.statrow{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #e9eff6}.statrow:last-child{border:0}.statrow strong{font-size:17px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;background:#f0f5fa;color:#587593;font-size:11px;white-space:nowrap}td,th{padding:12px;border-bottom:1px solid #e6edf5}tr:hover td{background:#f8fbff}.tag{background:#f2f5f8;border-radius:6px;padding:5px 8px;font-size:10px;color:#6a7d92}.empty{padding:30px;text-align:center;color:#7389a3;background:#f6f9fc;border-radius:9px}.chart{display:flex;align-items:end;gap:15px;height:190px;border-bottom:1px solid #d8e3ef;padding:0 18px}.ageblock{flex:1;display:flex;gap:7px;align-items:end;justify-content:center;height:100%}.ageblock i{width:34%;display:block;background:#2d79d3;border-radius:5px 5px 0 0}.ageblock i.female{background:#f2a03e}.agelabels{display:flex;justify-content:space-around;font-size:11px;margin-top:12px;color:#6f86a2}.legend{display:flex;justify-content:center;gap:20px;color:var(--muted);font-size:11px;margin-bottom:15px}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:15px 0}.minicard{padding:16px;background:#f6f9fd;border:1px solid var(--line);border-radius:11px}.minicard b{display:block;margin-bottom:10px}.minicard p{margin:0;color:#64809d;font-size:12px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.formgrid label{font-size:12px;font-weight:700;color:#536e8e;display:grid;gap:7px}.formgrid input,.formgrid select,.formgrid textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;color:var(--ink)}.formgrid .wide{grid-column:1/-1}.formgrid textarea{min-height:90px}.formbar{display:flex;gap:12px;margin-top:15px;align-items:center}.map{height:445px;border-radius:10px;background:#e8f0f7}.mapnote{font-size:11px;color:var(--muted);margin:12px 0}.indicator{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}footer{padding:28px 0;color:#8da0b5;font-size:11px}#screen>section{margin-bottom:16px}@media(max-width:1250px){.kpis{grid-template-columns:repeat(3,1fr)}.twocol{grid-template-columns:1fr}}@media(max-width:850px){.sidebar{width:100%;height:auto;position:relative;padding:12px}.sidebar nav{display:flex;overflow-x:auto}.navlink{white-space:nowrap}.sidebrand,.navheading,.source{display:none}.shell{margin-left:0}.topbar{height:auto;padding:15px}.righthead{display:none}main{padding:15px}.topline{align-items:start;flex-direction:column}.kpis{grid-template-columns:repeat(2,1fr)}.cards3{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}}@media print{.sidebar,.actions,.filters,button{display:none!important}.shell{margin-left:0}main{padding:10px}.panel{break-inside:avoid}body{background:white}}
/* Batch 1.2 — administrative drill-down */
.tier-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:18px}.tier{background:#f4f8fc;border:1px solid #dce6f1;border-radius:12px;padding:16px}.tier h3{margin:6px 0}.tier p{margin:0}.tier-active{background:#edf8f4;border-color:#a8d6be}.tier-arrow{text-align:center;color:#6591b8;font-weight:800}.scope-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px;margin-top:16px}.scope-item{background:#fff;border:1px solid #dbe5ef;border-radius:10px;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:14px;gap:10px;color:#143451}.scope-item span:first-child{display:grid;gap:5px}.scope-item small{color:#6b829b;font-size:11px}.scope-item:hover{border-color:#2b7cce;background:#f4f9ff}.formbar label{font-size:12px;max-width:420px}

/* Batch 1.2A — scope explorer, no landing-page hierarchy diagram */
.explorer-panel{margin-bottom:16px}.explorer-panel>p{max-width:840px}.scope-path{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 0 18px;color:#4e6c8c;font-size:12px}.scope-path span{padding:7px 11px;background:#f1f6fc;border:1px solid #dce8f4;border-radius:7px;font-weight:700}.scope-path b{font-size:18px;color:#7c9dbc}.explorer-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:6px 0 18px}.explorer-action{display:flex;flex-direction:column;align-items:stretch;text-align:left;justify-content:space-between;gap:20px;min-height:135px;background:#fff;color:#143451;border:1px solid #cbdceb;border-radius:12px;padding:18px}.explorer-action strong{display:block;font-size:15px}.explorer-action small{display:block;color:#70869d;margin-top:8px;line-height:1.5;font-size:11px}.explorer-action>span:last-child{font-size:12px;color:#1f65af;font-weight:800}.explorer-action:hover:not(:disabled){background:#f0f7ff;border-color:#4486cf}.explorer-action:disabled{opacity:.55;cursor:not-allowed;background:#f5f7fa}.explorer-action:disabled>span:last-child{color:#74879c}.scope-guidance{margin:0}.navlink:focus-visible,.explorer-action:focus-visible{outline:3px solid #54b8fd;outline-offset:2px}

/* Batch 1.2B: executive situational map */
.map-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.map-actions button{padding:9px 12px;font-size:12px}.map-flex{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(210px,1fr);gap:14px}.outbreak-map{min-height:360px;height:360px;border:1px solid #d9e5f3;border-radius:12px;overflow:hidden;background:#eaf0f4}.map-summary{background:#f4f8fc;border-radius:12px;padding:18px;font-size:13px;line-height:1.6;color:#3b5773}.map-summary strong{color:#142e4f;font-size:15px}.map-stat{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #dae5ee}.map-stat b{font-size:28px;color:#1a5ba2}.map-note,.mapnote{font-size:12px;color:#60738c}.map-district-action{font-size:12px;border:none;border-radius:6px;color:white;background:#1958a2;padding:8px;cursor:pointer}@media(max-width:900px){.map-flex{grid-template-columns:1fr}.outbreak-map{height:310px;min-height:310px}}

/* Batch 1.3A reference-layer controls and facility clusters */
.gis-layer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;padding:10px 12px;margin:10px 0;background:#f1f6fc;border:1px solid #d7e3f2;border-radius:9px;color:#263f61;font-size:12px}.gis-layer-toolbar label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}.gis-layer-toolbar input{accent-color:#1966b4}.gis-layer-title{font-weight:800;color:#193657}.yf-cluster-icon{background:#1966b4;border:3px solid white;border-radius:50%;color:white;box-shadow:0 1px 8px #16456b70;display:grid;place-items:center;font-size:12px;font-weight:800}.yf-cluster-icon span{display:block;text-align:center;line-height:30px}
/* Batch access-control login + staff identity */
.login-gate{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(460px,.95fr);background:#eef4fb}.login-brand-pane{position:relative;overflow:hidden;padding:72px clamp(46px,7vw,108px);background:linear-gradient(145deg,#041d3a 0%,#083764 54%,#0e477c 100%);color:white;display:flex;flex-direction:column;justify-content:center}.login-brand-pane:after{content:"";position:absolute;inset:auto -18% -18% 18%;height:48%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.24));transform:skewY(-7deg);pointer-events:none}.login-brand-top{display:flex;align-items:center;gap:18px;position:relative;z-index:1}.login-brand-top img{width:72px;height:84px;object-fit:contain}.login-brand-top strong{display:block;font-size:34px;line-height:1}.login-brand-top span{display:block;margin-top:8px;font-size:15px;letter-spacing:2px;font-weight:800}.login-rule{width:46px;height:4px;background:#4eb5ff;border-radius:6px;margin:48px 0 34px;position:relative;z-index:1}.login-kicker{font-size:12px;letter-spacing:2.2px;font-weight:800;color:#c8ddef;position:relative;z-index:1}.login-brand-pane h1{font-size:clamp(42px,4.2vw,68px);line-height:1.08;letter-spacing:-2.2px;margin:15px 0 22px;position:relative;z-index:1}.login-lead{max-width:660px;font-size:20px;line-height:1.55;color:#d4e5f6;position:relative;z-index:1}.login-benefits{display:grid;gap:18px;margin-top:30px;font-size:16px;position:relative;z-index:1}.login-benefits span{display:flex;gap:14px;align-items:center}.login-watermark{position:absolute;right:8%;top:27%;font-weight:900;font-size:120px;letter-spacing:18px;color:rgba(255,255,255,.035);transform:rotate(-8deg);user-select:none}.login-brand-foot{position:absolute;left:clamp(46px,7vw,108px);bottom:42px;display:grid;gap:8px;z-index:1}.login-brand-foot b{font-size:11px;letter-spacing:2px;color:#bfd5e8}.login-brand-foot span{font-size:12px;color:#9fbcd6;word-spacing:12px}.login-form-pane{display:grid;place-items:center;padding:50px;background:linear-gradient(135deg,#f8fbff,#edf4fb)}.login-card{width:min(100%,590px);background:white;border:1px solid #cfdeed;border-radius:18px;padding:48px;box-shadow:0 22px 70px rgba(29,65,103,.08)}.login-eyebrow{margin:0 0 10px!important;color:#1764b2!important;letter-spacing:2px;font-size:11px!important;font-weight:800}.login-card h2{font-size:32px;letter-spacing:-1px;margin:0 0 10px}.login-card>p{color:#617b98;margin:0 0 26px;font-size:15px}.login-card form{display:grid;gap:18px}.login-card label{display:grid;gap:8px;font-weight:800;font-size:13px}.login-card input{width:100%;padding:15px;border:1px solid #cbd9e8;border-radius:9px;font-size:14px;outline:none}.login-card input:focus{border-color:#2f7bc9;box-shadow:0 0 0 3px rgba(47,123,201,.12)}.password-wrap{position:relative}.password-wrap input{padding-right:75px}.text-button{position:absolute;right:8px;top:7px;background:transparent;color:#286cb0;padding:8px;border-radius:6px}.forgot-link{text-align:right;color:#1764b2;font-weight:700;text-decoration:none;font-size:13px;margin-top:-8px}.signin-button{width:100%;font-size:15px;margin-top:4px;background:linear-gradient(90deg,#1455a1,#2070c6)}.secure-note{display:grid;gap:7px;margin-top:28px;padding:15px 16px;border-radius:10px;background:#fff8e9;border:1px solid #eed190;color:#7a5317;font-size:12px;line-height:1.5}.login-status{min-height:20px;margin:14px 0 0!important;font-size:12px!important}.login-status.error{color:#b4232b!important}.staff-identity{display:grid!important;gap:3px!important;min-width:160px}.staff-identity b{font-size:12px}.staff-identity small{font-size:10px!important;max-width:220px}.compact{padding:8px 11px!important;font-size:11px}.access-denied{padding:28px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:13px}.access-denied h3{margin-top:0}.jurisdiction-lock{font-size:11px;color:#4d6c8e;margin-top:4px}
@media(max-width:950px){.login-gate{grid-template-columns:1fr}.login-brand-pane{min-height:360px;padding:42px 34px}.login-brand-pane h1{font-size:44px}.login-brand-foot{position:relative;left:auto;bottom:auto;margin-top:40px}.login-form-pane{padding:28px 18px}.login-card{padding:30px}.login-benefits{display:none}.login-watermark{display:none}}

/* Login visual refinement — 2026-10-08 */
.login-gate{grid-template-columns:minmax(520px,1.08fr) minmax(500px,.92fr);min-height:100svh;background:#edf4fb}
.login-brand-pane{min-height:100svh;padding:64px clamp(52px,6vw,96px);background:
 radial-gradient(circle at 76% 34%,rgba(83,174,239,.15),transparent 25%),
 radial-gradient(circle at 18% 82%,rgba(46,114,176,.18),transparent 31%),
 linear-gradient(145deg,#031a33 0%,#07335d 50%,#0a477d 100%)}
.login-brand-pane:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,black 30%,black 75%,transparent);pointer-events:none}
.login-brand-pane:after{inset:auto -12% -14% 8%;height:45%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.22));transform:skewY(-5deg)}
.login-brand-top img{width:68px;height:80px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.14))}
.login-brand-top strong{font-size:31px}.login-brand-top span{font-size:14px;letter-spacing:1.9px}
.login-rule{width:44px;height:4px;margin:42px 0 30px;background:linear-gradient(90deg,#52bfff,#83d8ff)}
.login-kicker{font-size:11px;letter-spacing:2.35px;color:#c8deef}
.login-brand-pane h1{max-width:700px;font-size:clamp(46px,4.3vw,66px);line-height:1.06;letter-spacing:-2.5px;margin:14px 0 24px}
.login-lead{max-width:640px;font-size:18px;line-height:1.6;color:#d3e3f3}
.login-benefits{gap:15px;margin-top:30px;font-size:15px}.login-benefits span{gap:13px}.login-benefits span::first-letter{color:#71c9ff}
.login-watermark{right:5%;top:31%;font-size:112px;letter-spacing:20px;color:rgba(255,255,255,.027)}
.login-brand-foot{bottom:36px}.login-brand-foot b{font-size:10px}.login-brand-foot span{font-size:11px}
.login-form-pane{position:relative;padding:44px clamp(28px,5vw,72px);background:radial-gradient(circle at 90% 10%,#fff 0,#f6faff 35%,#edf4fb 100%)}
.login-form-pane:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-180px;bottom:-160px;background:rgba(47,123,201,.045);pointer-events:none}
.login-card{position:relative;width:min(100%,610px);padding:48px 48px 34px;border:1px solid #cbdced;border-radius:20px;box-shadow:0 24px 65px rgba(20,64,108,.10);background:rgba(255,255,255,.97)}
.login-card-head{display:flex;align-items:flex-start;gap:14px}.login-lock-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5ff;color:#1764b2;font-size:12px;margin-top:1px}
.login-card h2{font-size:34px;line-height:1.15;letter-spacing:-1.25px;margin:0}.login-eyebrow{margin:0 0 7px!important;font-size:10px!important;letter-spacing:2.2px}
.login-card>p.login-intro{margin:14px 0 30px;color:#617b98;font-size:15px;max-width:500px}
.login-card form{gap:17px}.login-card label{font-size:12px;gap:8px;color:#142a48}.login-input-wrap{position:relative}.login-card input{height:54px;padding:0 48px 0 48px;border-color:#c8d8e8;border-radius:10px;background:#fbfdff;font-size:14px;font-weight:500;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.login-card input::placeholder{color:#8a9db1}.login-card input:focus{background:white;border-color:#2e78c6;box-shadow:0 0 0 4px rgba(46,120,198,.11)}
.login-field-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:18px;color:#6e88a4;font-size:9px;z-index:1}.login-lock-icon{font-size:13px}.password-wrap input{padding-right:78px}.text-button{top:10px;right:9px;color:#1764b2;font-size:12px;font-weight:800}.login-form-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:-4px;font-size:11px;color:#8b9caf}.forgot-link{margin:0;font-size:12px}.signin-button{height:52px;border-radius:10px;margin-top:4px;font-size:14px;letter-spacing:.1px;background:linear-gradient(90deg,#124f98 0%,#1d6ec1 100%);box-shadow:0 8px 18px rgba(24,95,170,.18)}.signin-button:hover{filter:brightness(1.035)}
.secure-note{grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:26px;padding:16px 17px;border-radius:11px;background:#fff8e9;border-color:#eccb83;color:#70490f}.secure-note-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f6d66c;font-size:14px}.secure-note div{display:grid;gap:5px}.secure-note b{font-size:12px}.secure-note span:not(.secure-note-icon){font-size:11px;color:#79571f;line-height:1.55}
.login-status{margin:12px 0 0!important;text-align:center}.login-support{border-top:1px solid #e6edf5;margin-top:8px;padding-top:17px;display:flex;justify-content:space-between;gap:12px;color:#95a5b6;font-size:9.5px;text-transform:uppercase;letter-spacing:.65px;font-weight:700}
@media(max-width:1100px){.login-gate{grid-template-columns:minmax(430px,.95fr) minmax(480px,1.05fr)}.login-brand-pane{padding-left:48px;padding-right:48px}.login-brand-pane h1{font-size:50px}.login-lead{font-size:16px}.login-card{padding:40px}}
@media(max-width:950px){.login-gate{display:block;min-height:100svh}.login-brand-pane{min-height:auto;padding:32px 28px 34px;justify-content:flex-start}.login-brand-top img{width:50px;height:60px}.login-brand-top strong{font-size:25px}.login-brand-top span{font-size:11px}.login-rule{margin:24px 0 20px;width:36px}.login-kicker{font-size:9px}.login-brand-pane h1{font-size:38px;line-height:1.08;margin:10px 0 14px}.login-lead{font-size:14px;line-height:1.5}.login-brand-foot{display:none}.login-form-pane{padding:24px 16px 34px}.login-card{max-width:620px;padding:30px 24px;border-radius:16px}.login-card h2{font-size:28px}.login-benefits,.login-watermark{display:none}.login-support{flex-direction:column;gap:5px}}
@media(max-width:520px){.login-brand-pane{padding:26px 20px 28px}.login-brand-pane h1{font-size:33px}.login-brand-top{gap:12px}.login-form-pane{padding:16px 12px 28px}.login-card{padding:26px 18px}.login-card-head{gap:10px}.login-lock-mark{width:30px;height:30px}.login-card h2{font-size:25px}.login-card>p.login-intro{font-size:13px;margin-bottom:24px}.login-form-meta{align-items:flex-end}.login-form-meta span{max-width:140px}.secure-note{padding:14px}}

/* Batch 1.4A2 — NursMid-inspired centered login; isolate to login-v2. */
.login-gate.login-v2{min-height:100svh;display:flex!important;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(circle at 16% 26%,rgba(23,126,111,.36),transparent 42%),radial-gradient(circle at 88% 75%,rgba(17,65,112,.65),transparent 50%),linear-gradient(130deg,#06352f,#09283a 52%,#12223f);position:relative;isolation:isolate}
.login-v2 .login-bg-pattern{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(199,245,231,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(199,245,231,.07) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(to right,#000,rgba(0,0,0,.4));z-index:-1}
.login-v2 .login-centered{width:min(100%,610px);padding:0;overflow:hidden;background:white;border-radius:27px;border:1px solid rgba(255,255,255,.45);box-shadow:0 28px 100px rgba(0,16,33,.4);position:relative}
.login-v2 .login-visual-head{position:relative;min-height:315px;padding:23px 30px 27px;background:radial-gradient(circle at 78% 6%,rgba(78,205,172,.3),transparent 40%),linear-gradient(145deg,#06352f,#0a4e4c 56%,#142d4a);color:#fff;overflow:hidden}
.login-v2 .login-visual-head:after{content:"";position:absolute;right:-65px;bottom:-118px;width:320px;height:320px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.035),0 0 0 100px rgba(255,255,255,.027);pointer-events:none}
.login-v2 .login-hero-top,.login-v2 .login-hero-content,.login-v2 .login-hero-modules{position:relative;z-index:1}
.login-v2 .login-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.login-v2 .login-brand-top{gap:10px}.login-v2 .login-brand-top img{width:44px;height:52px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.2))}.login-v2 .login-brand-top strong{font-size:22px}.login-v2 .login-brand-top span{font-size:10px;margin-top:4px;letter-spacing:1.2px}
.login-v2 .login-dev-pill{display:flex;align-items:center;gap:7px;border:1px solid rgba(221,255,237,.28);background:rgba(255,255,255,.12);padding:8px 10px;border-radius:40px;font-size:10px;font-weight:700;color:#e0f8eb;white-space:nowrap}.login-v2 .live-dot{height:8px;width:8px;border-radius:50%;background:#a4e8c0}
.login-v2 .login-hero-content{margin-top:20px}.login-v2 .login-hero-kicker{letter-spacing:2px;color:#a1e7d8;font-size:10px;font-weight:900}.login-v2 .login-hero-content h1{color:white;font-size:clamp(27px,3vw,37px);line-height:1.12;letter-spacing:-1.1px;margin:9px 0 10px}.login-v2 .login-hero-content p{font-size:12px;line-height:1.6;color:#d5eae7;max-width:420px;margin:0}
.login-v2 .login-hero-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:19px}.login-v2 .login-hero-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.19);border-radius:11px;display:flex;gap:7px;align-items:center;padding:10px 8px;backdrop-filter:blur(4px)}.login-v2 .hero-chip-icon{font-size:16px;color:#a8efda}.login-v2 .login-hero-chip b{font-size:10px;color:white;display:block}.login-v2 .login-hero-chip small{font-size:8px;color:#d0e6df;display:block;margin-top:3px;line-height:1.3}
.login-v2 .login-card-body{padding:24px 35px 18px}.login-v2 .login-welcome{text-align:center;margin:0 0 22px}.login-v2 .login-welcome h2{font-size:30px;letter-spacing:-.8px;color:#152540;margin:0}.login-v2 .login-welcome p{font-size:13px;color:#60748a;margin:4px 0 0}
.login-v2 .login-card form{display:grid;gap:14px}.login-v2 .login-card label{font-size:12px;gap:7px}.login-v2 .login-card input{height:48px;border-radius:12px}.login-v2 .login-form-meta{margin-top:0}.login-v2 .signin-button{height:49px;background:#087650;box-shadow:0 8px 18px rgba(6,112,77,.17);display:flex;justify-content:center;align-items:center;gap:14px}.login-v2 .login-support{margin-top:14px;font-size:9px;letter-spacing:0;line-height:1.5;text-transform:none;gap:8px}.login-v2 .login-status{min-height:0;margin:8px 0 0!important}
@media(max-width:680px){.login-gate.login-v2{padding:12px}.login-v2 .login-centered{border-radius:19px}.login-v2 .login-visual-head{min-height:0;padding:19px 20px 23px}.login-v2 .login-dev-pill{font-size:0;padding:7px}.login-v2 .login-hero-content h1{font-size:29px}.login-v2 .login-hero-modules{grid-template-columns:1fr 1fr;gap:7px}.login-v2 .login-hero-chip:last-child{display:none}.login-v2 .login-card-body{padding:24px 22px 19px}.login-v2 .login-support{flex-direction:column;text-align:center}}
@media(max-width:380px){.login-v2 .login-hero-modules{display:none}.login-v2 .login-brand-top strong{font-size:18px}.login-v2 .login-hero-content h1{font-size:27px}}

/* Batch 1.4A3: visual-only animation; no synthetic operational statistics. */
.login-v2 .login-motion-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:12px 16px;border:1px solid rgba(255,255,255,.23);background:rgba(0,23,31,.25);border-radius:14px;backdrop-filter:blur(9px)}
.login-v2 .login-motion-note{display:flex;align-items:flex-start;gap:10px;min-width:0}
.login-v2 .login-motion-note>div{display:flex;flex-direction:column;gap:3px}
.login-v2 .login-motion-note strong{font-size:10px;color:#a8eadb;letter-spacing:.14em}
.login-v2 .login-motion-note span{color:#fff;font-size:13px;font-weight:650}
.login-v2 .login-motion-note small{color:#c4e1df;font-size:10px}
.login-v2 .login-motion-indicator{width:9px;height:9px;flex:none;margin-top:4px;background:#9deccb;border-radius:50%;box-shadow:0 0 0 5px rgba(157,236,203,.13)}
.login-v2 .login-motion-graphic{height:68px;min-width:141px;display:flex;align-items:flex-end;justify-content:flex-end;gap:9px;border-bottom:1px solid rgba(218,250,238,.4)}
.login-v2 .motion-bar{width:15px;height:56%;border-radius:7px 7px 1px 1px;background:linear-gradient(180deg,#a1f5d8,#45cbb5);transform-origin:bottom;animation:yfPulseBars 2.6s ease-in-out infinite alternate;box-shadow:0 0 14px rgba(118,237,209,.13)}
.login-v2 .motion-bar:nth-child(1){height:24%;animation-delay:-.9s}.login-v2 .motion-bar:nth-child(2){height:43%;animation-delay:-1.5s}.login-v2 .motion-bar:nth-child(3){height:36%;animation-delay:-.4s}.login-v2 .motion-bar:nth-child(4){height:72%;animation-delay:-1.1s}.login-v2 .motion-bar:nth-child(5){height:60%;animation-delay:-2.2s}.login-v2 .motion-bar:nth-child(6){height:88%;animation-delay:-.7s}
@keyframes yfPulseBars{from{transform:scaleY(.38);opacity:.58}to{transform:scaleY(1);opacity:1}}
@media(max-width:680px){.login-v2 .login-motion-row{padding:10px 12px}.login-v2 .login-motion-graphic{min-width:104px;gap:6px;height:50px}.login-v2 .motion-bar{width:11px}}
@media(max-width:380px){.login-v2 .login-motion-graphic{min-width:74px;gap:4px}.login-v2 .motion-bar{width:9px}.login-v2 .login-motion-note span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.login-v2 .motion-bar{animation:none;transform:none}}

/* Batch 1.4A4: enforce auth gate visibility, regardless of component display rules. */
[hidden], #appShell[hidden], #loginGate[hidden] {display:none !important;}
.login-v2 .login-dev-pill {white-space:normal; max-width:240px; line-height:1.25; text-align:left;}
@media(max-width:680px){.login-v2 .login-dev-pill{font-size:9px;max-width:160px;padding:7px 9px;}}

/* YF BATCH 1.4A5 — DIRECTOR REVIEW CLEANUP */
.sidebar-account{margin-top:auto;padding:15px 8px 5px;border-top:1px solid rgba(180,210,238,.22);display:grid;gap:10px}
.sidebar-account-label{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#a1bad4;padding-left:9px}
.sidebar-signout{background:rgba(255,255,255,.09);border:1px solid rgba(191,216,241,.28);color:#fff;text-align:left;width:100%;padding:13px 15px;box-shadow:none}
.sidebar-signout:hover,.sidebar-signout:focus-visible{background:#23578a;outline:2px solid transparent}
.righthead .top-signout{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-color:#bad0e7;background:#eaf3ff;color:#174e86;font-weight:800;padding:11px 14px}
.righthead .top-signout:hover{background:#dcecff}
@media(max-width:850px){.sidebar-account{margin-top:0;min-width:120px}.sidebar-account-label{display:none}.sidebar-signout{padding:10px 12px}.righthead{display:flex;gap:8px;flex-wrap:wrap}.righthead>div:last-of-type,.righthead .outbreak{display:none}}
@media print{.sidebar-account,.top-signout{display:none!important}}

/* YF BATCH 1.4A6 — SINGLE HEADER SIGN-OUT */
.account-menu{display:flex!important;align-items:center;gap:14px;padding:7px 8px 7px 14px;border:1px solid #dce7f2;border-radius:12px;background:#f7fafd;min-width:0}
.account-menu .staff-identity{display:flex!important;flex-direction:column;gap:3px;min-width:130px;max-width:190px}
.account-menu .staff-identity b{font-size:12px;color:#142a48;white-space:normal}
.account-menu .staff-identity small{font-size:11px;color:#5f7995}
.righthead .account-menu .top-signout{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;white-space:nowrap;background:#fff;color:#1e4f86;border:1px solid #cbddec;border-radius:8px;padding:10px 14px;min-height:41px;font-weight:800}
.righthead .account-menu .top-signout:hover,.righthead .account-menu .top-signout:focus-visible{background:#e4effd;outline:2px solid #8eb8e8;outline-offset:2px}
.sidebar .sidebar-account,.sidebar .source{display:none!important}
@media(max-width:1150px){.topbar{height:auto;min-height:104px;flex-wrap:wrap}.righthead{gap:10px;flex-wrap:wrap}.outbreak{display:none}}
@media(max-width:850px){.righthead{display:flex!important}.righthead .account-menu{width:100%;justify-content:space-between}.righthead>div:not(.account-menu),.righthead .outbreak{display:none!important}.topbar{align-items:stretch}.brand h2{font-size:18px}}
@media print{.account-menu{display:none!important}}

/* BATCH 1.4A7 - ACCOUNT AVATAR DROPDOWN */
.yf-profile-menu{position:relative;display:block;flex-shrink:0;z-index:1100}
.yf-profile-trigger{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border:1px solid #d7e6ee;background:#fff;padding:5px 9px 5px 5px;border-radius:999px;min-height:43px}
.yf-profile-trigger::-webkit-details-marker{display:none}
.yf-profile-trigger:hover{background:#eff6f7;border-color:#9abec2}
.yf-profile-trigger:focus-visible{outline:3px solid #4b9cd5;outline-offset:3px}
.yf-avatar{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;background:#126b53;color:#fff;font-weight:800;font-size:12px;letter-spacing:.5px}
.yf-profile-chevron{font-size:13px;color:#3f5973}
.yf-profile-menu[open] .yf-profile-trigger{border-color:#16765e;box-shadow:0 0 0 3px #16765e18}
.yf-profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:270px;max-width:calc(100vw - 24px);border:1px solid #dae5ed;border-radius:14px;background:#fff;box-shadow:0 18px 45px #12304d30;overflow:hidden;z-index:1110;padding:15px 0 7px;text-align:left}
.yf-profile-caption{font-size:10px;font-weight:800;color:#71869d;letter-spacing:1.15px;margin:0 18px 8px}
.yf-profile-dropdown .staff-identity{display:flex!important;flex-direction:column;padding:0 18px 13px;gap:5px;max-width:none!important;min-width:0!important}
.yf-profile-dropdown .staff-identity b{font-size:14px;color:#152c49;white-space:normal}
.yf-profile-dropdown .staff-identity small{font-size:12px;color:#627b94}
.yf-profile-divider{height:1px;background:#e7eef4;margin:0 0 5px}
.yf-dropdown-signout{width:100%;display:flex!important;align-items:center;gap:10px;text-align:left;border:0!important;border-radius:0!important;background:#fff!important;color:#be3131!important;box-shadow:none!important;padding:13px 19px!important;font-size:13px;font-weight:700;cursor:pointer}
.yf-dropdown-signout:hover,.yf-dropdown-signout:focus-visible{background:#fff0f0!important;outline:none}
.righthead .yf-profile-menu{order:3}
@media(max-width:850px){.righthead .yf-profile-menu{display:block!important;order:1}.yf-profile-dropdown{right:0}}
@media print{.yf-profile-menu{display:none!important}}
