:root{--bg:#f4f7fb;--panel:#fff;--ink:#142033;--muted:#667085;--line:#dbe3ef;--brand:#143d79;--brand2:#0b6bcb;--danger:#dc2626;--warn:#d97706;--ok:#15803d;--soft:#eef4ff;--shadow:0 14px 38px rgba(16,24,40,.10);--radius:18px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:68px;background:linear-gradient(90deg,#0b254d,#143d79);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:var(--shadow);position:sticky;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-weight:900;letter-spacing:.3px}.chakra{width:40px;height:40px;border-radius:50%;border:3px solid #f7c948;display:grid;place-items:center;position:relative}.chakra:before{content:'✺';color:#f7c948;font-size:23px}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a,.ghost{padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}.nav a:hover,.ghost:hover{background:rgba(255,255,255,.22)}.wrap{max-width:1260px;margin:0 auto;padding:24px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.hero h1{font-size:42px;line-height:1.06;margin:10px 0}.sub{color:var(--muted);line-height:1.6}.grid{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:18px;border-radius:16px;background:linear-gradient(180deg,#fff,#f6f9ff);border:1px solid var(--line)}.metric b{display:block;font-size:28px}.muted{color:var(--muted)}.btn{background:var(--brand2);color:white;border:0;border-radius:12px;padding:12px 16px;font-weight:800;display:inline-flex;align-items:center;gap:8px}.btn.secondary{background:#eef4ff;color:#143d79;border:1px solid #cdddf6}.btn.danger{background:var(--danger)}.btn.ok{background:var(--ok)}.btn.warn{background:var(--warn)}.btn.block{width:100%;justify-content:center}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;border:1px solid var(--line);background:#fff}.critical{color:#991b1b;background:#fee2e2;border-color:#fecaca}.high{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.medium{color:#854d0e;background:#fef3c7;border-color:#fde68a}.low{color:#166534;background:#dcfce7;border-color:#bbf7d0}.assigned{color:#075985;background:#e0f2fe}.resolved{color:#166534;background:#dcfce7}.layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 68px)}.side{background:#0f2749;color:white;padding:18px;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto}.side a{display:block;padding:13px 14px;border-radius:12px;margin-bottom:8px;color:#dbeafe}.side a.active,.side a:hover{background:#1e4f8f;color:white}.main{padding:18px;min-width:0}.command-grid{display:grid;grid-template-columns:minmax(380px,1fr) 420px;gap:18px}.mapbox{height:610px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#dce9f8;position:relative}.mapbox.large{height:72vh;min-height:560px}.map-toolbar{position:absolute;top:14px;left:14px;right:14px;z-index:500;display:flex;gap:8px;flex-wrap:wrap}.map-toolbar .chip{background:white;border:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.12);padding:9px 12px;border-radius:999px;font-weight:800}.leaflet-container{font:inherit}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{border:1px solid var(--line);background:white;padding:11px 14px;border-radius:999px;font-weight:800}.tab.active{background:#143d79;color:white}.queue{display:grid;gap:12px;max-height:72vh;overflow:auto;padding-right:4px}.case{border:1px solid var(--line);border-left:6px solid var(--brand2);border-radius:16px;padding:14px;background:white;display:grid;gap:9px}.case.critical{border-left-color:var(--danger)}.case.high{border-left-color:#f97316}.case.medium{border-left-color:#eab308}.case.low{border-left-color:#22c55e}.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.form{display:grid;gap:13px}.field label{display:block;font-weight:800;font-size:13px;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8e6;border-radius:12px;padding:12px;background:white}.field textarea{min-height:90px;resize:vertical}.wizard{max-width:980px;margin:0 auto}.steps{display:flex;gap:8px;margin:18px 0}.step{flex:1;height:8px;border-radius:999px;background:#d7e3f5}.step.on{background:#0b6bcb}.emergency-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ecard{border:2px solid var(--line);background:white;border-radius:20px;padding:20px;text-align:left;min-height:130px;transition:.2s}.ecard:hover,.ecard.selected{border-color:#0b6bcb;background:#eef6ff;transform:translateY(-2px)}.ecard .icon{font-size:34px}.ecard b{display:block;font-size:18px;margin-top:10px}.panel-title{font-size:22px;margin:0 0 12px}.timeline{display:grid;gap:12px}.tl{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start}.dot{width:22px;height:22px;border-radius:50%;background:#dbe3ef;display:grid;place-items:center;color:white;font-size:12px}.tl.done .dot{background:#15803d}.tl.now .dot{background:#0b6bcb}.notice{border-radius:16px;padding:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700}.alertbar{border-radius:16px;background:linear-gradient(90deg,#fee2e2,#fff7ed);border:1px solid #fecaca;padding:14px;display:flex;align-items:center;gap:12px;font-weight:900;margin-bottom:14px}.spin{width:16px;height:16px;border:2px solid #cfe2ff;border-top-color:#0b6bcb;border-radius:50%;animation:rot 1s linear infinite;display:inline-block}@keyframes rot{to{transform:rotate(360deg)}}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{text-align:left;color:var(--muted);font-size:12px}.table td{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px}.table td:first-child{border-left:1px solid var(--line);border-radius:12px 0 0 12px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}.modal{position:fixed;inset:0;background:rgba(5,15,30,.58);display:none;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal.show{display:flex}.modal-card{background:white;border-radius:22px;max-width:960px;width:100%;max-height:90vh;overflow:auto;padding:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-map{height:320px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.empty{text-align:center;color:var(--muted);padding:30px;border:1px dashed var(--line);border-radius:16px;background:white}.login{max-width:420px;margin:40px auto}.hide{display:none!important}.footer{color:var(--muted);text-align:center;padding:30px}.status-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.status-card{background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:11px;text-align:center}.status-card b{display:block}canvas.chart{width:100%;height:240px}.badges{display:flex;gap:6px;flex-wrap:wrap}.small{font-size:12px}.center-card{display:grid;gap:8px}.center-card h3{margin:0}.officer-line{background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px}.tracking-card{max-width:900px;margin:0 auto}.countdown{font-size:42px;font-weight:900;color:#0b6bcb}.map-note{position:absolute;bottom:12px;left:12px;background:rgba(255,255,255,.95);padding:9px 12px;border-radius:12px;z-index:500;border:1px solid var(--line);font-size:12px}.mobile-bottom{display:none}@media(max-width:980px){.hero,.command-grid,.layout,.split{grid-template-columns:1fr}.side{position:relative;top:0;height:auto}.grid4,.grid3,.emergency-cards{grid-template-columns:1fr 1fr}.mapbox.large,.mapbox{height:520px}.topbar{height:auto;min-height:68px;align-items:flex-start;gap:12px;flex-direction:column;padding:14px}.nav{width:100%}.main{padding:12px}}@media(max-width:640px){.wrap{padding:14px}.grid2,.grid3,.grid4,.emergency-cards{grid-template-columns:1fr}.hero h1{font-size:30px}.mapbox.large,.mapbox{height:430px}.card{padding:15px}.status-grid{grid-template-columns:1fr 1fr}.nav a{font-size:13px;padding:8px 10px}.queue{max-height:none}.countdown{font-size:32px}}
/* State-city resource directory upgrade */
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-top:18px}.resource-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin-top:14px}.resource-chip{background:#f8fafc;border:1px solid #dbe3ee;border-radius:14px;padding:12px}.resource-chip b{display:block;font-size:22px;color:#0f172a}.tall-map{min-height:520px}.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;color:#475569;font-size:13px}.legend span{background:#f8fafc;border:1px solid #dbe3ee;border-radius:999px;padding:6px 10px}.resource-card{border:1px solid #dbe3ee;border-radius:16px;padding:14px;margin:10px 0;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.04)}.resource-card .title{font-size:17px;font-weight:800;color:#0f172a}.resource-card .meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.resource-card .meta div{background:#f8fafc;border-radius:12px;padding:8px}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:5px 9px;font-size:12px;font-weight:700}.tag.gov{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.tag.private{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.tag.police{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.tag.fire{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.tag.blood{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.tag.disaster{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}@media(max-width:900px){.filter-grid{grid-template-columns:1fr}.resource-summary{grid-template-columns:repeat(2,1fr)}.resource-card .meta{grid-template-columns:1fr 1fr}.tall-map{min-height:360px}}

.portal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.emergency-live{display:inline-flex;align-items:center;gap:10px;background:#fff1f2;color:#991b1b;border:1px solid #fecdd3;border-radius:999px;padding:9px 14px;font-weight:900;letter-spacing:.4px;box-shadow:0 6px 18px rgba(220,38,38,.12)}
.blink-light{width:14px;height:14px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 rgba(220,38,38,.7);animation:emergencyBlink 1s infinite}
@keyframes emergencyBlink{0%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,.7)}50%{opacity:.35;box-shadow:0 0 0 8px rgba(220,38,38,.08)}100%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,0)}}
@media(max-width:640px){.portal-head{align-items:flex-start;flex-direction:column}.emergency-live{font-size:13px;padding:8px 12px}}

.map-toolbar .chip.map-filter{appearance:none;border:1px solid var(--line);background:#fff;color:#143d79;box-shadow:0 6px 18px rgba(0,0,0,.12);padding:9px 12px;border-radius:999px;font-weight:900;cursor:pointer}.map-toolbar .chip.map-filter.active{background:#143d79;color:#fff;border-color:#143d79}.map-toolbar .chip.map-filter:hover{transform:translateY(-1px)}.resource-status{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8fbff;border:1px solid var(--line);font-size:13px;color:#475569}.responder-actions{display:flex;gap:8px;flex-wrap:wrap}.case.resolved-card{opacity:.85;border-left-color:#15803d}.case.assigned-card{border-left-color:#0b6bcb}
/* Phase 2 production upgrade */
.metric.danger{border-left:5px solid #dc2626}.metric.warn{border-left:5px solid #f59e0b}.progress{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:10px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#f59e0b,#dc2626);border-radius:999px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{border:1px solid #d8e1ee;padding:10px;text-align:center}.table th{background:#eff6ff}.table td:first-child,.table th:first-child{text-align:left}.case.critical{border-left:6px solid #dc2626}.case.high{border-left:6px solid #f97316}.case.medium{border-left:6px solid #f59e0b}.case.low{border-left:6px solid #16a34a}.nav a[href="operations.html"],.nav a[href="security.html"]{font-weight:800}


/* =========================================================
   PHASE 1 OPTION 2 UI ACCESSIBILITY UPDATE
   Theme: Blue + Medical Teal + Red
   Primary #004AAD | Teal #0E7490 | Emergency #E11D48
   ========================================================= */
:root{
  --bg:#EFF6FF;
  --panel:#FFFFFF;
  --ink:#0B1B35;
  --muted:#53647E;
  --line:#D7E4F5;
  --brand:#004AAD;
  --brand2:#0E7490;
  --danger:#E11D48;
  --warn:#F59E0B;
  --ok:#22C55E;
  --soft:#E8F2FF;
  --shadow:0 16px 45px rgba(0,74,173,.10);
  --radius:20px;
}
body{background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 42%,#eef6ff 100%);}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 18% 15%,rgba(0,74,173,.08),transparent 32%),radial-gradient(circle at 82% 12%,rgba(14,116,144,.08),transparent 28%);pointer-events:none;z-index:-1}.app-topbar,.topbar{height:auto;min-height:76px;background:linear-gradient(90deg,#004AAD,#0756B8);border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 14px 34px rgba(0,74,173,.18);padding:12px 28px}.app-brand,.brand{gap:12px}.app-brand span:last-child{display:grid;line-height:1.15}.app-brand strong{font-size:22px;letter-spacing:.4px}.app-brand small{font-size:12px;color:rgba(255,255,255,.82);font-weight:600}.brand-mark{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);display:grid;place-items:center;font-size:23px;color:white;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.brand-mark.chakra-mark{font-size:25px;font-weight:900;line-height:1;letter-spacing:0;text-shadow:0 0 8px rgba(255,255,255,.18)}
header.two-entry-header .brand-mark.chakra-mark{font-size:29px!important}
header.topbar.app-topbar .brand-mark.chakra-mark{font-size:21px}
.sudar-watermark:before{font-weight:900;letter-spacing:0}
.chakra{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.12)}.chakra:before{color:white}.app-nav,.nav{gap:7px}.app-nav a,.nav a,.ghost{background:transparent;border:1px solid transparent;border-radius:12px;color:rgba(255,255,255,.9);font-weight:750;padding:10px 11px}.app-nav a:hover,.app-nav a.active,.nav a:hover,.nav a.active{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.18);color:#fff}.top-status{display:flex;align-items:center;gap:8px;background:#0E7490;border:1px solid rgba(255,255,255,.16);color:white;padding:9px 13px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}.status-dot{width:9px;height:9px;background:#22C55E;border-radius:50%;display:inline-block;box-shadow:0 0 0 5px rgba(34,197,94,.14)}.home-shell{max-width:1320px;margin:0 auto;padding:28px}.option2-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch;background:linear-gradient(120deg,#ffffff 0%,#f2f8ff 60%,#eaf5ff 100%);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:34px;position:relative;overflow:hidden}.option2-hero:after{content:"";position:absolute;right:12%;top:12%;width:220px;height:220px;background:radial-gradient(circle,rgba(14,116,144,.12),transparent 70%);border-radius:50%}.hero-copy{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:10px;background:#e8f5ff;color:#0756b8;border:1px solid #cfe7ff;padding:8px 12px;border-radius:999px;font-weight:900;font-size:13px}.home-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.02;margin:22px 0 14px;color:#05346E;letter-spacing:-1.6px}.home-hero p{font-size:18px;line-height:1.68;color:#40536f;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.btn.big{font-size:17px;padding:16px 21px;border-radius:15px}.btn.danger{background:linear-gradient(135deg,#E11D48,#FB385B);box-shadow:0 12px 24px rgba(225,29,72,.22)}.btn.secondary{background:#fff;color:#004AAD;border:1px solid #B8D5FF}.btn.secondary:hover{background:#EFF6FF}.assurance-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.assurance-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#0E7490;font-weight:800;font-size:13px}.hero-visual{position:relative;min-height:340px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#d9eeff,#ffffff);border:1px solid #cfdef1;overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 75%,rgba(0,74,173,.08)),repeating-linear-gradient(90deg,transparent 0 54px,rgba(0,74,173,.035) 55px 56px)}.medical-shield{width:190px;height:220px;border-radius:44px 44px 70px 70px;background:rgba(255,255,255,.78);border:8px solid #c8e0ff;display:grid;place-items:center;color:#004AAD;font-size:82px;font-weight:900;box-shadow:0 18px 42px rgba(0,74,173,.12);position:relative;z-index:1}.ambulance-card{position:absolute;bottom:26px;left:28px;right:28px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 18px;box-shadow:0 16px 38px rgba(0,74,173,.12);display:grid;gap:4px;z-index:2}.ambulance-card:before{content:"🚑";position:absolute;right:18px;top:-42px;font-size:80px;filter:drop-shadow(0 14px 18px rgba(0,74,173,.15))}.ambulance-card b{color:#05346E;font-size:22px}.ambulance-card small{color:var(--muted);font-weight:700}.sirens{width:50px;height:8px;border-radius:999px;background:linear-gradient(90deg,#E11D48 0 45%,#fff 45% 55%,#004AAD 55%);box-shadow:0 0 18px rgba(225,29,72,.5)}.portal-section,.status-overview{margin-top:24px;background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.section-title>span{width:5px;height:34px;background:#0E7490;border-radius:999px;margin-top:5px}.section-title.compact{align-items:center}.section-title h2{margin:0;color:#08264E}.section-title p{margin:4px 0 0;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;min-height:220px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(0,74,173,.06);transition:.18s ease}.portal-card:before{content:"";height:4px;background:var(--brand);position:absolute;left:0;right:0;top:0}.portal-card:hover{transform:translateY(-4px);box-shadow:0 20px 34px rgba(0,74,173,.13);border-color:#a9ccfb}.portal-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#E8F2FF;color:#004AAD;font-size:28px;font-weight:900}.portal-icon.teal,.portal-card.resource:before{color:#0E7490}.portal-icon.red,.portal-card.responder:before,.portal-card.hospital:before{color:#E11D48;background:#fff0f3}.portal-icon.blue{color:#004AAD}.portal-card.command:before,.portal-card.admin:before{background:#004AAD}.portal-card.citizen:before,.portal-card.resource:before{background:#0E7490}.portal-card.hospital:before,.portal-card.responder:before{background:#E11D48}.portal-card h3{font-size:22px;line-height:1.12;margin:8px 0 0;color:#091f3d}.portal-card p{color:var(--muted);line-height:1.45;margin:0;flex:1}.portal-card b{color:#004AAD}.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;gap:16px;align-items:center;box-shadow:0 10px 22px rgba(0,74,173,.05)}.stat-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:#E8F2FF}.stat-icon.blue{color:#004AAD}.stat-icon.red{color:#E11D48;background:#FFF0F3}.stat-icon.teal{color:#0E7490;background:#E7F7FA}.stat-icon.green{color:#22C55E;background:#EAFBF0}.stat-card small{color:var(--muted);font-weight:900}.stat-card strong{font-size:34px;display:block;color:#08264E}.stat-card em{font-style:normal;color:var(--muted);font-size:12px}.app-footer{max-width:1320px;margin:0 auto 24px;background:linear-gradient(90deg,#004AAD,#0756B8);color:white;border-radius:0 0 22px 22px;padding:18px 28px;display:flex;justify-content:space-between;gap:12px;align-items:center;box-shadow:0 14px 34px rgba(0,74,173,.14)}.app-footer a{color:white;border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:10px 14px;font-weight:900}.page-wrap{position:relative;z-index:1}.page-intro{background:linear-gradient(120deg,#ffffff,#eef6ff);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px}.page-intro h1{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:10px 0;color:#05346E}.page-intro p{color:var(--muted);font-size:16px;max-width:850px}.citizen-intro{background:linear-gradient(120deg,#fff,#eef6ff 60%,#f0fbfd)}.card{border-color:var(--line);box-shadow:0 12px 30px rgba(0,74,173,.08)}.metric{background:linear-gradient(180deg,#fff,#f8fbff)}.side{background:linear-gradient(180deg,#003C8B,#062B5E)}.side a.active,.side a:hover{background:#0E7490}.tab.active{background:#004AAD}.case{border-left-color:#0E7490}.mapbox{background:#dcecff}.field input,.field select,.field textarea{border-color:#c9d9ef}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(0,74,173,.13);border-color:#004AAD}.steps .step.on,.step.on{background:#0E7490}.ecard{box-shadow:0 8px 22px rgba(0,74,173,.05)}.ecard:hover,.ecard.selected{border-color:#0E7490;background:#F0FAFC}.emergency-live{background:#FFF0F3;color:#E11D48;border-color:#ffd0d9}.blink-light{background:#E11D48}@media(max-width:1080px){.option2-hero,.portal-grid,.home-stats{grid-template-columns:1fr 1fr}.hero-visual{min-height:280px}.top-status{display:none}.app-topbar,.topbar{align-items:flex-start;flex-direction:column}.app-nav,.nav{width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}}@media(max-width:720px){.home-shell{padding:14px}.option2-hero,.portal-grid,.home-stats{grid-template-columns:1fr}.option2-hero{padding:22px;border-radius:22px}.home-hero h1{font-size:36px}.hero-actions .btn{width:100%;justify-content:center}.app-footer{margin:0 14px 18px;flex-direction:column;align-items:flex-start}.portal-section,.status-overview{padding:16px}.portal-card{min-height:190px}.topbar{padding:12px 14px}.app-nav a,.nav a{white-space:nowrap}}

/* =========================================================
   PHASE 2 WORKFLOW RELIABILITY UPDATE
   Citizen → Command → Assign → Dispatch → Track
   ========================================================= */
.workflow-overview{margin-top:24px;background:linear-gradient(120deg,#fff,#f4fbff);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow)}
.workflow-overview h2{margin:0 0 6px;color:#05346E}.workflow-overview p{margin:0 0 16px;color:var(--muted)}
.workflow-strip{display:grid;grid-template-columns:repeat(8,minmax(86px,1fr));gap:8px;margin:12px 0 14px;align-items:stretch}.wf-step{background:#F3F8FF;border:1px solid #D8E8FB;border-radius:16px;padding:10px 8px;text-align:center;color:#52677f;font-size:12px;font-weight:800}.wf-step span{width:28px;height:28px;display:grid;place-items:center;margin:0 auto 6px;border-radius:999px;background:#fff;border:1px solid #C9DEF8;color:#004AAD}.wf-step.done{background:#E8F8F9;border-color:#A5E5ED;color:#064E5F}.wf-step.done span{background:#0E7490;color:white;border-color:#0E7490}.workflow-progress{height:10px;background:#E6EEF8;border-radius:999px;overflow:hidden;margin:10px 0}.workflow-progress i{display:block;height:100%;background:linear-gradient(90deg,#0E7490,#004AAD);border-radius:999px}.workflow-progress.mini{height:6px}.handoff-card{background:#F8FBFF;border:1px solid var(--line);border-radius:16px;padding:14px}.handoff-card b{color:#05346E}.next-action{border-left:5px solid #0E7490;background:#F0FAFC}.phase2-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.phase2-checklist .item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(0,74,173,.05)}.phase2-checklist b{color:#05346E}.phase2-command-tools{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.tracking-result h2{margin-bottom:8px}.metric.danger b,.metric.danger span{color:#E11D48}@media(max-width:980px){.workflow-strip{grid-template-columns:repeat(4,1fr)}.phase2-checklist{grid-template-columns:1fr 1fr}}@media(max-width:640px){.workflow-strip{grid-template-columns:repeat(2,1fr)}.phase2-checklist{grid-template-columns:1fr}.wf-step{font-size:11px}}

/* =========================================================
   PHASE 3 RESOURCE DIRECTORY HARDENING
   Resource quality, duplicate control, import/export, status
   ========================================================= */
.resource-insights{margin-top:14px}.resource-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.resource-health-grid>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 8px 18px rgba(0,74,173,.04)}.resource-health-grid b{display:block;font-size:26px;color:#004AAD}.resource-health-grid span{font-size:12px;color:var(--muted);font-weight:800}.tag.status-available{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.tag.status-limited{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.tag.status-full{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.tag.status-unavailable,.tag.status-maintenance{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.tag.quality-excellent{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.tag.quality-good{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.tag.quality-needs-review{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.tag.quality-poor{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.resource-issues{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px;color:#9a3412}.status-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.mini-btn{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;color:#334155}.mini-btn.on{background:#004AAD;color:#fff;border-color:#004AAD}.checkline{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#05346E;background:#f8fbff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.checkline input{width:auto}.resource-card:hover{border-color:#a9ccfb;box-shadow:0 16px 32px rgba(0,74,173,.08)}@media(max-width:980px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card .meta{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.filter-grid,.resource-health-grid,.resource-card .meta{grid-template-columns:1fr}.status-actions{justify-content:flex-start}}

/* Phase 4: offline / hosted readiness */
.runtime-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:800;font-size:12px;white-space:nowrap}
.runtime-badge small{font-weight:700;opacity:.82;border-left:1px solid rgba(255,255,255,.28);padding-left:7px}
.runtime-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.runtime-dot.warn{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}
.runtime-dot.bad{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.18)}
html[data-offline] .topbar:after{content:'Offline mode';position:fixed;right:16px;bottom:16px;background:#991b1b;color:#fff;border-radius:999px;padding:9px 13px;font-weight:900;box-shadow:var(--shadow);z-index:99}
.phase4-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.phase4-check{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;box-shadow:0 8px 20px rgba(16,24,40,.06)}
.phase4-check p{color:var(--muted);margin-bottom:0;line-height:1.55}.phase4-check.ok{border-color:#bbf7d0;background:#f0fdf4}.phase4-check.warn{border-color:#fde68a;background:#fffbeb}.phase4-check.bad{border-color:#fecaca;background:#fef2f2}
.phase4-mini>div{background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}.phase4-mini b{display:block;font-size:28px;color:#004AAD}.phase4-mini span{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.phase4-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.phase4-flow>div{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:16px;text-align:center}.phase4-flow b{display:grid;place-items:center;margin:0 auto 8px;width:34px;height:34px;border-radius:50%;background:#004AAD;color:#fff}.phase4-flow span{font-weight:800;color:#143d79}
.portal-card.system{border-top:4px solid #0E7490}
@media(max-width:900px){.phase4-status-grid,.phase4-flow{grid-template-columns:1fr}.runtime-badge{display:none}.phase4-mini.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================================================
   PHASE 5 EVIDENCE HANDLING
   Case-linked local evidence vault, previews, safe metadata
   ========================================================= */
.evidence-preview{margin-top:10px;border:1px dashed #b9d6f8;background:#f8fbff;border-radius:14px;padding:12px}.evidence-preview-list{display:grid;gap:8px}.evidence-preview-list>div{display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 10px}.evidence-preview-list b{color:#05346E}.evidence-preview-list span{color:var(--muted);font-size:12px;font-weight:800}.evidence-panel{margin:12px 0;border:1px solid #cfe3fb;background:#f8fbff;border-radius:18px;padding:14px}.evidence-panel.compact{padding:10px;background:#fff}.evidence-panel h3{margin:0;color:#05346E}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.evidence-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px;overflow:hidden}.evidence-card b{display:block;margin-top:8px;color:#102a4c;word-break:break-word}.evidence-thumb{height:120px;border-radius:12px;background:#eef6ff;display:grid;place-items:center;overflow:hidden;font-size:34px;color:#004AAD}.evidence-thumb img,.evidence-thumb video{width:100%;height:100%;object-fit:cover}.evidence-empty{border:1px dashed #cbd5e1;border-radius:12px;padding:10px;background:#f8fafc;color:var(--muted)}.evidence-upload{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:12px 0;padding:12px;border:1px dashed #a9ccfb;background:#f8fbff;border-radius:16px}.evidence-metrics>div{background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(0,74,173,.05)}.evidence-list{display:grid;gap:12px;margin-top:16px}.evidence-row{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:14px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px}.evidence-row .evidence-panel{margin:0}.evidence-meta{align-self:center}.evidence-meta b{font-size:20px;color:#05346E}.evidence-meta p{color:var(--muted)}@media(max-width:760px){.evidence-grid,.evidence-row,.evidence-upload{grid-template-columns:1fr}.evidence-thumb{height:160px}}

/* =========================================================
   PHASE 6 AUTHENTICATION & ROLE ACCESS
   Browser-local PIN gates, role badges, permission matrix
   ========================================================= */
.auth-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;font-size:12px;font-weight:900;white-space:nowrap}.auth-badge small{font-weight:700;opacity:.85;border-left:1px solid rgba(255,255,255,.28);padding-left:8px}.auth-badge a{color:#fff}.auth-badge button{border:0;background:#E11D48;color:#fff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.auth-role{background:#0E7490;border-radius:999px;padding:4px 8px}.locked-link{opacity:.55;position:relative}.locked-link:after{content:' 🔒';font-size:11px}.auth-lock-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#EFF6FF,#F8FBFF);padding:22px}.auth-lock-card{max-width:620px;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:34px;text-align:center}.auth-lock-card h1{color:#05346E}.auth-shield{display:grid;place-items:center;margin:0 auto 14px;width:72px;height:72px;border-radius:24px;background:#E8F8F9;color:#0E7490;font-size:34px}.auth-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0}.auth-login{display:grid;grid-template-columns:minmax(320px,460px) 1fr;gap:18px;max-width:1060px}.auth-login h1{margin-bottom:8px;color:#05346E}.auth-demo .table{font-size:13px}.danger-notice{background:#fef2f2;border-color:#fecaca;color:#991b1b}.auth-admin-panel h2{margin-bottom:4px;color:#05346E}.auth-user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.auth-user-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;box-shadow:0 8px 20px rgba(0,74,173,.04)}.auth-user-card p{margin:4px 0 12px;color:var(--muted);font-size:12px;font-weight:800}.auth-user-card .grid2{grid-template-columns:1fr 1fr}.permission-denied{border-left:5px solid #E11D48;background:#fff0f3;color:#9f1239}.topbar .auth-badge,.topbar .runtime-badge{margin-left:8px}@media(max-width:1080px){.auth-badge{display:none}.auth-login{grid-template-columns:1fr}.auth-user-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.auth-lock-card{padding:22px}.auth-actions{flex-direction:column}.auth-actions .btn{justify-content:center}.auth-user-grid{grid-template-columns:1fr}.auth-user-card .grid2{grid-template-columns:1fr}}

/* Phase 7 sync/backend readiness */
.sync-mini-badge{display:inline-flex;align-items:center;gap:6px;text-decoration:none;background:#fff;border:1px solid #bfdbfe;color:#004AAD;border-radius:999px;padding:7px 10px;font-weight:800;font-size:.82rem;box-shadow:0 8px 18px rgba(0,74,173,.08)}
.sync-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.12)}.sync-dot.on{background:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,.14)}.sync-dot.off{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.portal-card.sync{border-top:4px solid #2563eb}.sync-metrics div b{font-size:1.1rem}.checkrow{display:flex;align-items:center;gap:9px;font-weight:800;color:#0f172a;background:#f8fafc;border:1px solid #dbeafe;border-radius:12px;padding:12px}.checkrow input{width:auto}.sync-log{max-height:360px;overflow:auto}.notice.warn-notice{border-color:#fde68a;background:#fffbeb;color:#78350f}.sync-code{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.9rem;line-height:1.55}.backend-diagram{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}.backend-diagram div{background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:14px;text-align:center;font-weight:800}.backend-diagram b{display:block;color:#004AAD;font-size:1.4rem}@media(max-width:800px){.backend-diagram{grid-template-columns:1fr 1fr}.sync-mini-badge{order:9}}

/* Phase 8: Notifications & SLA escalations */
.notify-mini-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:900;text-decoration:none;box-shadow:0 8px 22px rgba(0,74,173,.12);margin-left:8px;white-space:nowrap}
.notify-mini-badge.critical-badge{background:#ffe4e6;color:#be123c;animation:notifyPulse 1.8s ease-in-out infinite}
@keyframes notifyPulse{0%,100%{box-shadow:0 0 0 0 rgba(225,29,72,.22)}50%{box-shadow:0 0 0 8px rgba(225,29,72,0)}}
.notification-metrics div{border-left:4px solid #0E7490}
.notify-tabs{flex-wrap:wrap;justify-content:flex-end}
.notification-list{display:grid;gap:12px;margin-top:14px}
.notification-card{border:1px solid #dbeafe;border-radius:18px;padding:16px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.notification-card p{margin:6px 0;color:#334155}
.notification-card.critical{border-color:#fecdd3;background:linear-gradient(135deg,#fff,#fff1f2)}
.notification-card.warning{border-color:#fde68a;background:linear-gradient(135deg,#fff,#fffbeb)}
.notification-card.success{border-color:#bbf7d0;background:linear-gradient(135deg,#fff,#f0fdf4)}
.notification-card.info{border-color:#bae6fd;background:linear-gradient(135deg,#fff,#f0f9ff)}
.notification-card.acknowledged{opacity:.78}
.notification-card.read{opacity:.9}
.danger-notice,.notice.danger-notice{border-color:#fecdd3;background:#fff1f2;color:#991b1b}
.checkline{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;font-weight:700;color:#334155}
@media(max-width:900px){.notify-mini-badge{margin-left:0;margin-top:8px}.notify-tabs{justify-content:flex-start}.notification-card .row{align-items:flex-start}}

/* =========================================================
   PHASE 8 LAYOUT BUGFIX: COMPACT HEADER / NO VERTICAL NAV
   Fixes: desktop/tablet header growing into a full blue screen
   when many Phase 8 badges and nav links are present.
   ========================================================= */
header.topbar.app-topbar,
.topbar.app-topbar{
  height:auto!important;
  min-height:64px!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:10px 18px!important;
  scroll-behavior:smooth;
}
header.topbar.app-topbar::-webkit-scrollbar{height:6px}
header.topbar.app-topbar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px}
header.topbar.app-topbar .app-brand,
header.topbar.app-topbar .brand{
  flex:0 0 auto!important;
  min-width:220px!important;
  max-width:260px!important;
}
header.topbar.app-topbar .app-nav,
header.topbar.app-topbar .nav{
  width:auto!important;
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 4px!important;
  scrollbar-width:thin;
}
header.topbar.app-topbar .app-nav a,
header.topbar.app-topbar .nav a{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  line-height:1.1!important;
}
header.topbar.app-topbar .top-status,
header.topbar.app-topbar .runtime-badge,
header.topbar.app-topbar .auth-badge,
header.topbar.app-topbar .notify-mini-badge,
header.topbar.app-topbar .sync-mini-badge{
  flex:0 0 auto!important;
  margin-left:0!important;
  align-self:center!important;
  white-space:nowrap!important;
}
@media(max-width:1080px){
  header.topbar.app-topbar,
  .topbar.app-topbar{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:62px!important;
    padding:9px 12px!important;
  }
  header.topbar.app-topbar .app-brand,
  header.topbar.app-topbar .brand{min-width:190px!important;max-width:215px!important}
  header.topbar.app-topbar .top-status{display:none!important}
  header.topbar.app-topbar .auth-badge{display:inline-flex!important}
}
@media(max-width:760px){
  header.topbar.app-topbar,
  .topbar.app-topbar{gap:8px!important;padding:8px 10px!important}
  header.topbar.app-topbar .app-brand,
  header.topbar.app-topbar .brand{min-width:128px!important;max-width:150px!important;gap:7px!important}
  header.topbar.app-topbar .brand-mark{width:34px;height:34px;border-radius:11px;font-size:19px}
  header.topbar.app-topbar .app-brand strong{font-size:15px!important;letter-spacing:.1px!important}
  header.topbar.app-topbar .app-brand small{display:none!important}
  header.topbar.app-topbar .auth-badge,
  header.topbar.app-topbar .runtime-badge,
  header.topbar.app-topbar .notify-mini-badge,
  header.topbar.app-topbar .sync-mini-badge{font-size:11px!important;padding:6px 8px!important}
}

/* Phase 8 GPS Resource Fix */
.gps-helper{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 14px;padding:10px 12px;background:#eff6ff;border:1px solid rgba(0,74,173,.16);border-radius:14px}
.gps-helper .btn{white-space:nowrap}.gps-helper .small{line-height:1.35}.resource-card .row .btn.ok{background:#0e7490;border-color:#0e7490;color:#fff}.resource-card .row .btn.ok:hover{filter:brightness(.95)}
.leaflet-popup-content .btn{display:inline-block;margin-top:6px;padding:7px 10px;border-radius:10px;text-decoration:none;font-size:12px}
@media(max-width:720px){.gps-helper{align-items:flex-start;flex-direction:column}.resource-card>.row{align-items:flex-start}.resource-card>.row>.row{width:100%;overflow-x:auto;justify-content:flex-start}}

/* =========================================================
   PHASE 9 GIS + NEAREST RESOURCE INTELLIGENCE
   Offline-safe India board and nearest resource scoring
   ========================================================= */
.gis-board{position:relative;min-height:520px;border-radius:22px;overflow:hidden;border:1px solid #bfdbfe;background:radial-gradient(circle at 55% 45%,rgba(14,116,144,.16),transparent 30%),linear-gradient(135deg,#e0f2fe,#eff6ff 45%,#ffffff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.gis-board:before{content:'';position:absolute;inset:9% 13% 7% 17%;background:linear-gradient(160deg,rgba(0,74,173,.13),rgba(14,116,144,.08));clip-path:polygon(37% 1%,52% 4%,60% 10%,71% 17%,73% 28%,66% 38%,72% 51%,64% 63%,58% 78%,48% 97%,39% 78%,34% 66%,25% 61%,22% 47%,15% 35%,22% 20%,30% 12%);border:2px solid rgba(0,74,173,.18);filter:drop-shadow(0 18px 38px rgba(0,74,173,.12))}
.gis-board:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,74,173,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,74,173,.06) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.gis-india-label{position:absolute;left:14px;top:14px;z-index:2;background:rgba(255,255,255,.92);border:1px solid #dbeafe;border-radius:16px;padding:10px 12px;font-weight:900;color:#05346e;box-shadow:0 12px 30px rgba(15,23,42,.08)}.gis-india-label small{font-weight:700;color:#64748b}.gis-pin{position:absolute;z-index:3;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;border:2px solid #fff;background:#004AAD;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,74,173,.22);transition:.15s}.gis-pin:hover{transform:translate(-50%,-50%) scale(1.22);z-index:4}.gis-pin.recommended{background:#E11D48;animation:gisPulse 1.8s ease-in-out infinite}.gis-case-pin{position:absolute;z-index:5;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#0E7490;color:#fff;border:3px solid #fff;box-shadow:0 14px 32px rgba(14,116,144,.35);font-size:22px}.gis-rec-list{display:grid;gap:14px;margin-top:12px}.gis-rec-card{border:1px solid #dbeafe;border-radius:18px;background:#fff;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.gis-rec-card.best{border-color:#0E7490;box-shadow:0 14px 34px rgba(14,116,144,.14)}.gis-scorebar{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:10px 0}.gis-scorebar span{display:block;height:10px;background:linear-gradient(90deg,#0E7490,#004AAD);border-radius:99px}.gis-rec-card .phase4-mini{margin:10px 0}.gis-rec-card .phase4-mini div{background:#f8fafc;border:1px solid #e2e8f0}.gis-rec-card .phase4-mini b{font-size:1rem}.table-wrap{overflow:auto}@keyframes gisPulse{0%,100%{box-shadow:0 0 0 0 rgba(225,29,72,.28)}50%{box-shadow:0 0 0 9px rgba(225,29,72,0)}}@media(max-width:760px){.gis-board{min-height:420px}.gis-pin{width:28px;height:28px;font-size:13px}.gis-case-pin{width:36px;height:36px;font-size:18px}.gis-india-label{right:12px;font-size:12px}.gis-rec-card .row{align-items:flex-start}}

/* =========================================================
   PHASE 9 DASHBOARD HEADER REBUILD
   Fixes the yellow/red marked issue: no horizontal slide strip,
   no oversized header block, and no truncated primary actions.
   ========================================================= */
header.topbar.app-topbar.clean-dashboard-header,
.topbar.app-topbar.clean-dashboard-header{
  height:auto!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:minmax(220px,270px) minmax(360px,1fr) auto!important;
  grid-template-areas:"brand nav actions"!important;
  align-items:center!important;
  gap:12px!important;
  padding:10px 22px!important;
  overflow:visible!important;
  background:linear-gradient(90deg,#004AAD,#0756B8)!important;
  box-shadow:0 12px 28px rgba(0,74,173,.16)!important;
}
header.clean-dashboard-header .app-brand,
header.clean-dashboard-header .brand{
  grid-area:brand!important;
  min-width:0!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  overflow:hidden!important;
}
header.clean-dashboard-header .brand-mark{
  flex:0 0 auto!important;
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  display:grid!important;
  place-items:center!important;
  font-size:25px!important;
  line-height:1!important;
}
header.clean-dashboard-header .app-brand strong{display:block!important;font-size:22px!important;line-height:1!important;letter-spacing:.2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
header.clean-dashboard-header .app-brand small{display:block!important;margin-top:3px!important;font-size:12px!important;line-height:1.15!important;opacity:.92!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
header.clean-dashboard-header .app-nav,
header.clean-dashboard-header .nav{
  grid-area:nav!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  width:auto!important;
  min-width:0!important;
  overflow:visible!important;
  padding:0!important;
  scrollbar-width:none!important;
}
header.clean-dashboard-header .app-nav::-webkit-scrollbar,
header.clean-dashboard-header .nav::-webkit-scrollbar{display:none!important}
header.clean-dashboard-header .app-nav a,
header.clean-dashboard-header .nav a,
header.clean-dashboard-header .more-nav>summary{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
header.clean-dashboard-header .app-nav a:hover,
header.clean-dashboard-header .nav a:hover,
header.clean-dashboard-header .more-nav>summary:hover{background:rgba(255,255,255,.22)!important}
header.clean-dashboard-header .app-nav a.active,
header.clean-dashboard-header .nav a.active,
header.clean-dashboard-header .more-nav.active>summary{
  background:rgba(255,255,255,.24)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important;
}
header.clean-dashboard-header .more-nav{position:relative!important;flex:0 0 auto!important;color:#fff!important}
header.clean-dashboard-header .more-nav>summary{list-style:none!important;cursor:pointer!important;user-select:none!important}
header.clean-dashboard-header .more-nav>summary::-webkit-details-marker{display:none!important}
header.clean-dashboard-header .more-nav>summary:after{content:'▾';font-size:10px;margin-left:8px;opacity:.9}
header.clean-dashboard-header .more-nav[open]>summary:after{content:'▴'}
header.clean-dashboard-header .more-menu{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  z-index:1000!important;
  min-width:230px!important;
  display:grid!important;
  gap:6px!important;
  padding:10px!important;
  background:#fff!important;
  border:1px solid #dbeafe!important;
  border-radius:18px!important;
  box-shadow:0 24px 56px rgba(15,23,42,.22)!important;
}
header.clean-dashboard-header .more-menu a{
  justify-content:flex-start!important;
  min-height:34px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  border:1px solid #e2e8f0!important;
  color:#05346E!important;
  font-size:13px!important;
}
header.clean-dashboard-header .more-menu a:hover,
header.clean-dashboard-header .more-menu a.active{background:#eff6ff!important;border-color:#bfdbfe!important;color:#004AAD!important}
header.clean-dashboard-header .top-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
header.clean-dashboard-header .top-status,
header.clean-dashboard-header .runtime-badge,
header.clean-dashboard-header .auth-badge,
header.clean-dashboard-header .notify-mini-badge,
header.clean-dashboard-header .sync-mini-badge{
  flex:0 0 auto!important;
  margin:0!important;
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
header.clean-dashboard-header .top-status{background:rgba(14,116,144,.94)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
header.clean-dashboard-header .runtime-badge{background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important}
header.clean-dashboard-header .runtime-badge small{border-left:1px solid rgba(255,255,255,.28)!important;padding-left:8px!important;opacity:.9!important}
header.clean-dashboard-header .auth-badge{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important}
header.clean-dashboard-header .auth-badge small{max-width:110px!important;overflow:hidden!important;text-overflow:ellipsis!important}
header.clean-dashboard-header .auth-badge button{min-height:0!important;padding:6px 9px!important}
header.clean-dashboard-header .notify-mini-badge{background:#fff0f3!important;color:#9f1239!important;border:1px solid #fecdd3!important}
header.clean-dashboard-header .sync-mini-badge{background:#fff!important;color:#004AAD!important;border:1px solid #bfdbfe!important}
@media(max-width:1180px){
  header.topbar.app-topbar.clean-dashboard-header,
  .topbar.app-topbar.clean-dashboard-header{
    grid-template-columns:minmax(200px,250px) 1fr!important;
    grid-template-areas:"brand actions" "nav nav"!important;
    gap:8px 12px!important;
  }
  header.clean-dashboard-header .app-nav,
  header.clean-dashboard-header .nav{justify-content:flex-start!important}
  header.clean-dashboard-header .top-actions{justify-content:flex-end!important}
}
@media(max-width:760px){
  header.topbar.app-topbar.clean-dashboard-header,
  .topbar.app-topbar.clean-dashboard-header{
    grid-template-columns:1fr!important;
    grid-template-areas:"brand" "actions" "nav"!important;
    padding:10px 12px!important;
  }
  header.clean-dashboard-header .app-brand strong{font-size:18px!important}
  header.clean-dashboard-header .app-brand small{font-size:11px!important}
  header.clean-dashboard-header .top-actions{justify-content:flex-start!important}
  header.clean-dashboard-header .top-status{display:none!important}
  header.clean-dashboard-header .app-nav,
  header.clean-dashboard-header .nav{justify-content:flex-start!important;gap:6px!important}
  header.clean-dashboard-header .app-nav a,
  header.clean-dashboard-header .nav a,
  header.clean-dashboard-header .more-nav>summary{font-size:13px!important;padding:8px 10px!important;min-height:34px!important}
  header.clean-dashboard-header .more-menu{left:0!important;right:auto!important;min-width:215px!important}
}
@media(max-width:460px){
  header.clean-dashboard-header .runtime-badge small,
  header.clean-dashboard-header .auth-badge small{display:none!important}
  header.clean-dashboard-header .notify-mini-badge,
  header.clean-dashboard-header .sync-mini-badge{font-size:11px!important;padding:6px 8px!important}
}

/* =========================================================
   TWO ENTRY DASHBOARD MODEL
   Home screen only shows Public Portal + Admin Login.
   Official modules live inside admin.html. No top slider.
   ========================================================= */
header.two-entry-header,
.topbar.two-entry-header{
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:14px 28px!important;
  background:linear-gradient(90deg,#004AAD,#0756B8)!important;
  overflow:visible!important;
  box-shadow:0 12px 28px rgba(0,74,173,.16)!important;
}
header.two-entry-header .app-brand,
header.two-entry-header .brand{flex:0 1 auto!important;min-width:220px!important;max-width:none!important;display:flex!important;align-items:center!important;gap:12px!important;color:#fff!important;text-decoration:none!important;overflow:hidden!important}
header.two-entry-header .brand-mark{width:46px!important;height:46px!important;flex:0 0 auto!important;border-radius:16px!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.28)!important;display:grid!important;place-items:center!important;font-size:26px!important;line-height:1!important}
header.two-entry-header .app-brand strong{display:block!important;font-size:25px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
header.two-entry-header .app-brand small{display:block!important;margin-top:4px!important;font-size:12px!important;line-height:1.15!important;opacity:.92!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
header.two-entry-header .app-nav,
header.two-entry-header .nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;width:auto!important;min-width:0!important;overflow:visible!important;flex-wrap:nowrap!important;padding:0!important}
header.two-entry-header .app-nav a,
header.two-entry-header .nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:12px 18px!important;border-radius:16px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;font-size:15px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important}
header.two-entry-header .app-nav a:hover,
header.two-entry-header .nav a:hover,
header.two-entry-header .app-nav a.active,
header.two-entry-header .nav a.active{background:#fff!important;color:#004AAD!important;border-color:#fff!important}
.two-entry-home{max-width:1240px!important;margin:0 auto!important}
.two-entry-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px;align-items:stretch;background:linear-gradient(135deg,#F8FBFF,#EFF6FF);border:1px solid #dbeafe;border-radius:32px;padding:34px;box-shadow:0 22px 60px rgba(0,74,173,.10);position:relative;overflow:hidden}
.two-entry-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-1.6px;color:#05346E;margin:14px 0}
.two-entry-hero p{max-width:820px;font-size:18px;line-height:1.62;color:#53657f}
.two-entry-actions{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px;margin:28px 0 16px}
.access-tile{position:relative;display:grid;gap:10px;min-height:230px;padding:26px;border-radius:28px;text-decoration:none;background:#fff;border:1px solid #dbeafe;box-shadow:0 16px 36px rgba(15,23,42,.08);transition:.18s ease;overflow:hidden}
.access-tile:before{content:'';position:absolute;inset:0 0 auto 0;height:6px;background:#004AAD}.access-tile:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(15,23,42,.13)}
.access-tile .access-icon{width:68px;height:68px;border-radius:24px;display:grid;place-items:center;font-size:34px;background:#EFF6FF;color:#004AAD}
.access-tile strong{font-size:28px;color:#071f46;line-height:1.12}.access-tile small{font-size:15px;line-height:1.5;color:#64748b;font-weight:800}.access-tile b{margin-top:auto;color:#004AAD;font-size:15px}.public-access:before{background:#E11D48}.public-access .access-icon{background:#FFF1F2;color:#E11D48}.public-access b{color:#E11D48}.admin-access:before{background:#0E7490}.admin-access .access-icon{background:#E8F8F9;color:#0E7490}.admin-access b{color:#0E7490}
.two-entry-panel{display:grid;align-content:center;gap:18px;min-height:420px;border-radius:28px;padding:28px;background:linear-gradient(180deg,#004AAD,#063E8F);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.two-entry-panel .medical-shield{margin:0;width:96px;height:96px;border-radius:34px;font-size:48px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center}.two-entry-panel h2{font-size:30px;margin:0}.two-entry-panel p{color:rgba(255,255,255,.86);font-size:16px;margin:0}.mini-flow{display:grid;gap:9px}.mini-flow span{display:block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px 14px;font-weight:900}.mini-flow i{width:3px;height:15px;background:#fff;border-radius:99px;margin-left:20px;opacity:.55}
.two-entry-status{margin-top:22px}.admin-workspace{max-width:1260px!important;margin:0 auto!important}.workspace-intro{background:linear-gradient(135deg,#F8FBFF,#EFF6FF)!important;border:1px solid #dbeafe!important}.workspace-session{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:260px}.session-card{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:10px 12px;box-shadow:0 10px 24px rgba(0,74,173,.08)}.workspace-grid .portal-card{min-height:210px}
@media(max-width:900px){header.two-entry-header,.topbar.two-entry-header{padding:12px 16px!important;gap:12px!important}header.two-entry-header .app-brand{min-width:0!important}header.two-entry-header .app-brand strong{font-size:20px!important}header.two-entry-header .app-brand small{font-size:11px!important}.two-entry-hero{grid-template-columns:1fr;padding:24px}.two-entry-actions{grid-template-columns:1fr}.two-entry-panel{min-height:300px}.workspace-intro .row{align-items:flex-start}.workspace-session{justify-content:flex-start;min-width:0;width:100%}}
@media(max-width:560px){header.two-entry-header,.topbar.two-entry-header{align-items:flex-start!important;flex-direction:column!important}header.two-entry-header .app-nav,header.two-entry-header .nav{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}header.two-entry-header .app-nav a,header.two-entry-header .nav a{font-size:14px!important;padding:12px 10px!important}.two-entry-hero h1{font-size:36px}.access-tile{min-height:205px;padding:22px}.access-tile strong{font-size:24px}.home-shell{padding:14px!important}}

/* =========================================================
   FINAL PHASE 10 STABILIZATION
   Smaller two-entry header, no slider, visible runtime warning only on real JS error.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
header.two-entry-header .app-nav a[data-main-nav="admin"].active,
header.two-entry-header .app-nav a[data-main-nav="public"].active{background:#fff!important;color:#004AAD!important;border-color:#fff!important}
.final-runtime-warning{position:fixed;left:16px;right:16px;bottom:16px;z-index:2000;background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:16px;box-shadow:0 16px 44px rgba(15,23,42,.18);padding:12px 46px 12px 14px;font-size:13px;font-weight:800}.final-runtime-warning button{position:absolute;right:10px;top:8px;border:0;background:#9a3412;color:white;border-radius:999px;width:28px;height:28px;font-size:18px;line-height:1}.auth-lock-card .btn{justify-content:center}.auth-lock-card .auth-actions .btn{min-width:140px}.workspace-grid{align-items:stretch}.workspace-grid .portal-card{height:100%}.page-wrap{max-width:1320px;margin-left:auto;margin-right:auto}.two-entry-header + .layout{min-height:calc(100vh - 78px)}
@media(max-width:760px){.final-runtime-warning{left:10px;right:10px;bottom:10px}.two-entry-header .brand-mark{width:40px!important;height:40px!important}.two-entry-header .app-brand strong{max-width:76vw}.workspace-grid.portal-grid{grid-template-columns:1fr!important}.side{height:auto!important;max-height:none!important}}


/* Phase 10 two-entry cleanup: home has only Public Portal + Admin Login */
.home-choice-only{min-height:calc(100vh - 138px);display:flex;align-items:center;justify-content:center;padding:32px 18px;position:relative;z-index:1;background:radial-gradient(circle at 20% 10%,rgba(0,74,173,.09),transparent 34%),linear-gradient(180deg,#EFF6FF,#F8FAFC)}
.home-choice-hero{width:min(1080px,100%);text-align:center;background:rgba(255,255,255,.86);border:1px solid #dbeafe;border-radius:32px;box-shadow:0 24px 70px rgba(15,23,42,.12);padding:42px 34px}
.home-choice-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.02;margin:12px 0;color:#05346E;letter-spacing:-.04em}
.home-choice-hero p{max-width:760px;margin:0 auto 28px;color:#475569;font-size:1.08rem;line-height:1.65}
.home-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:30px auto 22px;max-width:920px}
.home-choice-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:14px;padding:30px;border-radius:28px;background:#fff;border:1px solid #dbeafe;box-shadow:0 18px 48px rgba(0,74,173,.12);min-height:260px;transition:.18s ease;position:relative;overflow:hidden}
.home-choice-card:before{content:"";position:absolute;right:-70px;top:-70px;width:160px;height:160px;border-radius:50%;background:rgba(0,74,173,.08)}
.home-choice-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,74,173,.18);border-color:#93c5fd}
.home-choice-card .choice-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:32px;background:#EFF6FF;color:#004AAD}
.home-choice-card strong{font-size:clamp(24px,3vw,34px);color:#0f172a}
.home-choice-card small{font-size:1rem;color:#64748b;line-height:1.55;min-height:54px}
.home-choice-card b{margin-top:auto;color:#004AAD;font-size:1.02rem}
.home-choice-card.public-choice{border-top:6px solid #E11D48}.home-choice-card.admin-choice{border-top:6px solid #0E7490}
.home-choice-card.public-choice .choice-icon{background:#fff1f2;color:#E11D48}.home-choice-card.admin-choice .choice-icon{background:#ecfeff;color:#0E7490}
.home-choice-note{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;color:#475569;font-weight:800;font-size:.95rem}.home-choice-note span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:10px 14px}
.simple-footer{justify-content:center;gap:18px}.single-admin-login{max-width:980px;grid-template-columns:minmax(320px,460px) minmax(280px,1fr);align-items:stretch}.admin-cred-box{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:center;background:#f8fafc;border:1px solid #dbeafe;border-radius:18px;padding:16px;margin:12px 0}.admin-cred-box code{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:10px 12px;font-weight:900}.minimal-home-header .app-nav{grid-template-columns:repeat(2,minmax(130px,auto))}
@media(max-width:760px){.home-choice-hero{padding:28px 18px;border-radius:24px}.home-choice-grid,.single-admin-login{grid-template-columns:1fr}.home-choice-card{min-height:220px}.home-choice-note{align-items:stretch;flex-direction:column}.home-choice-note span{border-radius:14px}.minimal-home-header .app-nav{width:100%;display:grid!important;grid-template-columns:1fr 1fr!important}}

/* Phase 10 admin login center alignment fix */
body:has(#loginRoot){
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
}
body:has(#loginRoot) .topbar{flex:0 0 auto!important;}
#loginRoot.page-wrap{
  flex:1 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-height:calc(100vh - 170px)!important;
  margin:0!important;
  padding:36px 18px!important;
  display:grid!important;
  place-items:center!important;
}
#loginRoot .auth-login.single-admin-login,
#loginRoot .single-admin-login{
  width:100%!important;
  max-width:590px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-content:center!important;
  justify-items:stretch!important;
  align-items:center!important;
  gap:0!important;
}
#loginRoot .auth-login.single-admin-login .card,
#loginRoot .single-admin-login .card{
  width:100%!important;
  max-width:590px!important;
  margin:0 auto!important;
}
body:has(#loginRoot) .app-footer{
  flex:0 0 auto!important;
  width:calc(100% - 48px)!important;
}
@media(max-width:760px){
  #loginRoot.page-wrap{
    min-height:calc(100vh - 210px)!important;
    padding:22px 14px!important;
    display:grid!important;
    place-items:center!important;
  }
  #loginRoot .auth-login.single-admin-login,
  #loginRoot .single-admin-login{
    max-width:100%!important;
  }
  body:has(#loginRoot) .app-footer{
    width:calc(100% - 28px)!important;
  }
}

/* =========================================================
   PHASE 10 STICKY CHROME FIX
   Official pages keep the upper header and left tool panel fixed
   while only the main workspace scrolls.
   ========================================================= */
:root{
  --sudar-header-height:78px;
  --sudar-side-width:260px;
}
body.sudar-fixed-shell{
  padding-top:var(--sudar-header-height)!important;
}
body.sudar-fixed-shell > header.topbar,
body.sudar-fixed-shell > header.topbar.app-topbar,
body.sudar-fixed-shell > header.two-entry-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:3000!important;
}
body.sudar-fixed-shell .layout{
  display:block!important;
  min-height:calc(100vh - var(--sudar-header-height))!important;
}
body.sudar-fixed-shell .layout > .side{
  position:fixed!important;
  top:var(--sudar-header-height)!important;
  left:0!important;
  bottom:0!important;
  width:var(--sudar-side-width)!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:1500!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
body.sudar-fixed-shell .layout > .main{
  margin-left:var(--sudar-side-width)!important;
  width:calc(100% - var(--sudar-side-width))!important;
  min-height:calc(100vh - var(--sudar-header-height))!important;
  padding-top:18px!important;
}
body.sudar-fixed-shell .layout > .main.page-wrap{
  max-width:none!important;
}
body.sudar-fixed-shell .modal{
  z-index:4000!important;
}
body.sudar-fixed-shell .final-runtime-warning{
  z-index:4100!important;
}
@media(max-width:980px){
  body.sudar-fixed-shell{
    padding-top:0!important;
  }
  body.sudar-fixed-shell > header.topbar,
  body.sudar-fixed-shell > header.topbar.app-topbar,
  body.sudar-fixed-shell > header.two-entry-header{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:auto!important;
    z-index:3000!important;
  }
  body.sudar-fixed-shell .layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  body.sudar-fixed-shell .layout > .side{
    position:relative!important;
    top:0!important;
    left:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    z-index:auto!important;
  }
  body.sudar-fixed-shell .layout > .main{
    margin-left:0!important;
    width:100%!important;
    min-height:auto!important;
    padding-top:12px!important;
  }
}


/* =========================================================
   CRITICAL FIX: TRUE FIXED COMMAND HEADER + SIDE PANEL
   Keeps upper header and official side panel fixed. Only the
   main command workspace scrolls.
   ========================================================= */
body.sudar-fixed-shell{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  padding-top:var(--sudar-header-height,78px)!important;
}
body.sudar-fixed-shell > header.topbar,
body.sudar-fixed-shell > header.topbar.app-topbar,
body.sudar-fixed-shell > header.two-entry-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:5000!important;
}
body.sudar-fixed-shell .layout{
  display:grid!important;
  grid-template-columns:var(--sudar-side-width,260px) minmax(0,1fr)!important;
  height:calc(100vh - var(--sudar-header-height,78px))!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.sudar-fixed-shell .layout > .side{
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  height:calc(100vh - var(--sudar-header-height,78px))!important;
  max-height:calc(100vh - var(--sudar-header-height,78px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:2500!important;
  scrollbar-gutter:stable!important;
}
body.sudar-fixed-shell .layout > .main{
  height:calc(100vh - var(--sudar-header-height,78px))!important;
  max-height:calc(100vh - var(--sudar-header-height,78px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  min-height:0!important;
  margin-left:0!important;
  width:100%!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}
body.sudar-fixed-shell .layout > .main.page-wrap{max-width:none!important;}
.resource-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 16px;align-items:center}.resource-quick-actions .btn{min-width:150px;justify-content:center}.resource-form-focus{outline:3px solid rgba(14,116,144,.22);box-shadow:0 0 0 6px rgba(14,116,144,.08),var(--shadow)!important}.unlock-panel{background:linear-gradient(180deg,#f8fbff,#eef6ff);border:1px solid #cfe2ff;border-radius:16px;padding:16px;margin:14px 0}.unlock-panel .inline-unlock{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.unlock-panel input{max-width:260px}.admin-credentials-form.locked{display:none!important}.success-notice{background:#dcfce7!important;border-color:#bbf7d0!important;color:#166534!important}.danger-notice{background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b!important}
@media(max-width:980px){
  body.sudar-fixed-shell{height:auto!important;max-height:none!important;overflow:auto!important;padding-top:0!important;}
  body.sudar-fixed-shell .layout{display:grid!important;grid-template-columns:1fr!important;height:auto!important;overflow:visible!important;}
  body.sudar-fixed-shell .layout > .side{position:relative!important;top:0!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  body.sudar-fixed-shell .layout > .main{height:auto!important;max-height:none!important;overflow:visible!important;}
}

/* Phase 10 map display fix: live Leaflet + offline India pin board */
.mapbox.map-loading{display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#f8fbff)}
.fallback-mapbox{background:linear-gradient(135deg,#dff0ff,#f7fbff)!important;display:flex;flex-direction:column;gap:10px;padding:14px;overflow:hidden!important}
.fallback-map-head,.fallback-map-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:14px;padding:10px 12px;z-index:2;position:relative;box-shadow:0 8px 18px rgba(0,74,173,.06)}
.fallback-map-head b{color:#05346E}.fallback-map-head span,.fallback-map-foot span{font-size:12px;color:#475569;font-weight:800}.fallback-map-india{position:relative;flex:1;min-height:320px;border-radius:18px;background:radial-gradient(circle at 45% 50%,rgba(0,74,173,.18),transparent 50%),linear-gradient(160deg,#edf7ff,#d7ecff);border:1px solid #bed8f7;overflow:hidden}
.fallback-map-india:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,74,173,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,74,173,.06) 1px,transparent 1px);background-size:42px 42px;opacity:.65}.fallback-india-shape{position:absolute;left:32%;top:14%;width:38%;height:70%;display:grid;place-items:center;border-radius:48% 46% 50% 42%;background:rgba(255,255,255,.45);border:2px dashed rgba(0,74,173,.35);font-size:42px;font-weight:1000;color:rgba(0,74,173,.18);letter-spacing:2px;transform:rotate(-6deg)}
.fallback-pin{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:2px solid white;background:#004AAD;color:white;display:grid;place-items:center;box-shadow:0 7px 16px rgba(0,74,173,.28);z-index:3;font-size:16px;line-height:1;cursor:pointer}.fallback-pin:hover{transform:translate(-50%,-50%) scale(1.15);z-index:5}.fallback-pin.case-pin{background:#E11D48;box-shadow:0 7px 16px rgba(225,29,72,.3)}
.leaflet-container{z-index:1}.leaflet-control-container{font-family:inherit}.leaflet-popup-content{font-family:inherit;line-height:1.45}.leaflet-popup-content .btn{display:inline-flex!important;align-items:center;gap:6px;margin:6px 4px 0 0}
@media(max-width:720px){.fallback-mapbox{padding:10px}.fallback-map-head,.fallback-map-foot{align-items:flex-start;flex-direction:column}.fallback-map-india{min-height:280px}.fallback-india-shape{font-size:26px}.fallback-pin{width:30px;height:30px;font-size:14px}}

/* Phase 10 emergency visual upgrade: live siren + 24/7 clock + public live tracking */
.sudar-emergency-visual-header{position:sticky;top:0;z-index:5400;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 18px;background:linear-gradient(90deg,#081D36,#0E7490,#004AAD);color:#fff;border-bottom:1px solid rgba(255,255,255,.22);box-shadow:0 12px 30px rgba(0,0,0,.16)}
body.sudar-fixed-shell .sudar-emergency-visual-header{position:fixed;top:var(--sudar-header-height,78px);left:0;right:0}.sudar-live-siren{display:flex;align-items:center;gap:8px;min-width:132px}.sudar-siren-dot{width:16px;height:16px;border-radius:50%;display:inline-block;box-shadow:0 0 0 rgba(255,255,255,.5);animation:sudarSirenFlash .85s infinite ease-in-out}.sudar-siren-dot.red{background:#ef233c;box-shadow:0 0 18px #ef233c}.sudar-siren-dot.blue{background:#38bdf8;box-shadow:0 0 18px #38bdf8;animation-delay:.42s}.sudar-beep-wave{font-size:11px;font-weight:1000;letter-spacing:.16em;color:#ffe7e7;text-shadow:0 0 12px rgba(255,255,255,.9);animation:sudarBeepText 1s infinite}.sudar-live-message{display:flex;flex-direction:column;line-height:1.1;min-width:0}.sudar-live-message b{font-size:13px;letter-spacing:.08em}.sudar-live-message span{font-size:12px;opacity:.86}.sudar-live-clock{text-align:right;line-height:1.1;min-width:190px}.sudar-live-clock b{font-size:18px;letter-spacing:.04em}.sudar-live-clock span{display:block;font-size:12px;opacity:.9;font-weight:700}@keyframes sudarSirenFlash{0%,100%{transform:scale(.85);opacity:.52;filter:saturate(.9)}50%{transform:scale(1.22);opacity:1;filter:saturate(1.35);box-shadow:0 0 22px currentColor,0 0 42px currentColor}}@keyframes sudarBeepText{0%,100%{opacity:.35;transform:translateY(0)}45%{opacity:1;transform:translateY(-1px)}}
body.sudar-fixed-shell{padding-top:calc(var(--sudar-header-height,78px) + 45px)!important}body.sudar-fixed-shell .layout{height:calc(100vh - var(--sudar-header-height,78px) - 45px)!important}body.sudar-fixed-shell .layout>.side,body.sudar-fixed-shell .layout>.main{height:calc(100vh - var(--sudar-header-height,78px) - 45px)!important;max-height:calc(100vh - var(--sudar-header-height,78px) - 45px)!important}.final-runtime-warning{top:calc(var(--sudar-header-height,78px) + 58px)!important}
.public-live-track{margin:18px 0;border:1px solid #bfd7ff;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#f8fcff,#edf7ff);box-shadow:0 18px 44px rgba(0,74,173,.12)}.track-status-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:linear-gradient(90deg,#071a33,#004AAD,#0E7490);color:#fff}.track-status-bar>div{min-width:0}.track-status-bar b{display:block}.track-status-bar span{display:block;font-size:12px;opacity:.9}.track-beacon{display:flex;align-items:center;gap:9px;letter-spacing:.08em}.track-beacon span{width:16px;height:16px;border-radius:50%;background:#E11D48;box-shadow:0 0 18px #E11D48;animation:sudarSirenFlash .8s infinite}.track-eta{text-align:right}.track-eta b{font-size:20px}.rapido-map-visual{position:relative;min-height:310px;background:linear-gradient(135deg,#dff0ff 0%,#f7fbff 58%,#e8f7ff 100%);overflow:hidden}.track-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,74,173,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,74,173,.07) 1px,transparent 1px);background-size:38px 38px}.track-road{position:absolute;border-radius:999px;background:rgba(0,74,173,.13);box-shadow:0 0 0 2px rgba(255,255,255,.55) inset}.road-a{left:-8%;top:52%;width:118%;height:34px;transform:rotate(-8deg)}.road-b{left:10%;top:20%;width:90%;height:24px;transform:rotate(25deg)}.road-c{left:18%;bottom:12%;width:88%;height:20px;transform:rotate(10deg)}.route-line{position:absolute;left:12%;right:12%;top:50%;height:12px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(0,74,173,.18);box-shadow:0 10px 24px rgba(0,74,173,.12);overflow:hidden}.route-fill{display:block;height:100%;width:var(--track-progress,10%);background:linear-gradient(90deg,#E11D48,#F59E0B,#22C55E);border-radius:999px;box-shadow:0 0 16px rgba(225,29,72,.32)}.track-pin{position:absolute;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #cfe2ff;border-radius:999px;padding:8px 10px;box-shadow:0 14px 24px rgba(0,74,173,.16);font-weight:900;color:#05346E}.track-pin b{font-size:18px}.track-pin span{font-size:12px;max-width:132px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-pin.origin{left:7%;top:45%}.track-pin.destination{right:6%;top:43%}.tracking-vehicle{position:absolute;left:calc(12% + (76% * var(--track-progress-num,10) / 100));top:45%;transform:translate(-50%,-50%);display:grid;place-items:center;gap:4px;z-index:5;transition:left .7s ease}.tracking-vehicle b{width:54px;height:54px;border-radius:50%;background:#fff;border:3px solid #E11D48;display:grid;place-items:center;font-size:28px;box-shadow:0 0 0 8px rgba(225,29,72,.11),0 18px 28px rgba(225,29,72,.25);animation:vehicleBounce 1.2s infinite}.tracking-vehicle small{background:#071a33;color:#fff;border-radius:999px;padding:5px 9px;font-weight:800;font-size:11px;white-space:nowrap}.vehicle-pulse{position:absolute;width:70px;height:70px;border-radius:50%;border:2px solid rgba(225,29,72,.3);animation:vehiclePulse 1.4s infinite}.public-live-track.police .tracking-vehicle b{border-color:#004AAD;box-shadow:0 0 0 8px rgba(0,74,173,.11),0 18px 28px rgba(0,74,173,.25)}.public-live-track.fire .tracking-vehicle b{border-color:#F59E0B}.public-live-track.ndrf .tracking-vehicle b{border-color:#0E7490}.track-help-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.track-help-row .btn{justify-content:center}.track-help-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;min-height:70px}.track-help-card b{display:block;color:#05346E}.track-help-card span{display:block;color:#475569;font-size:13px;margin-top:4px}@keyframes vehicleBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes vehiclePulse{0%{transform:scale(.72);opacity:.75}100%{transform:scale(1.35);opacity:0}}
@media(max-width:980px){.sudar-emergency-visual-header{position:relative;top:auto;flex-wrap:wrap;justify-content:center;text-align:center}.sudar-live-clock{text-align:center;min-width:160px}body.sudar-fixed-shell{padding-top:0!important}body.sudar-fixed-shell .sudar-emergency-visual-header{position:relative;top:auto}.track-status-bar{align-items:flex-start;flex-direction:column}.track-eta{text-align:left}.rapido-map-visual{min-height:260px}.track-help-row{grid-template-columns:1fr}.track-pin span{max-width:86px}.tracking-vehicle b{width:48px;height:48px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.sudar-siren-dot,.sudar-beep-wave,.track-beacon span,.tracking-vehicle b,.vehicle-pulse{animation:none!important}}


/* =========================================================
   FINAL CORRECTION: FIX EVERYTHING ABOVE EMERGENCY LINE
   The SUDARSHANA top header + 24/7 emergency watch strip stay
   locked on screen on every page. Only page content scrolls.
   ========================================================= */
:root{--sudar-emergency-height:45px;}
body.sudar-chrome-fixed > header.topbar,
body.sudar-chrome-fixed > header.app-topbar,
body.sudar-chrome-fixed > header.two-entry-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9000!important;
}
body.sudar-chrome-fixed .sudar-emergency-visual-header{
  position:fixed!important;
  top:var(--sudar-header-height,78px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:8990!important;
}
body.sudar-chrome-fixed:not(.sudar-fixed-shell){
  padding-top:calc(var(--sudar-header-height,78px) + var(--sudar-emergency-height,45px))!important;
}
body.sudar-fixed-shell.sudar-chrome-fixed{
  height:100vh!important;
  max-height:100vh!important;
  overflow:hidden!important;
  padding-top:calc(var(--sudar-header-height,78px) + var(--sudar-emergency-height,45px))!important;
}
body.sudar-fixed-shell.sudar-chrome-fixed .layout{
  height:calc(100vh - var(--sudar-header-height,78px) - var(--sudar-emergency-height,45px))!important;
  max-height:calc(100vh - var(--sudar-header-height,78px) - var(--sudar-emergency-height,45px))!important;
  overflow:hidden!important;
}
body.sudar-fixed-shell.sudar-chrome-fixed .layout > .side,
body.sudar-fixed-shell.sudar-chrome-fixed .layout > .main{
  height:calc(100vh - var(--sudar-header-height,78px) - var(--sudar-emergency-height,45px))!important;
  max-height:calc(100vh - var(--sudar-header-height,78px) - var(--sudar-emergency-height,45px))!important;
}
body.sudar-fixed-shell.sudar-chrome-fixed .layout > .main{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}
body.sudar-fixed-shell.sudar-chrome-fixed .layout > .side{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}
body.sudar-chrome-fixed .final-runtime-warning{
  top:calc(var(--sudar-header-height,78px) + var(--sudar-emergency-height,45px) + 12px)!important;
}
@media(max-width:980px){
  body.sudar-chrome-fixed:not(.sudar-fixed-shell){
    padding-top:calc(var(--sudar-header-height,78px) + var(--sudar-emergency-height,45px))!important;
  }
  body.sudar-fixed-shell.sudar-chrome-fixed{
    height:auto!important;
    max-height:none!important;
    overflow:auto!important;
    padding-top:calc(var(--sudar-header-height,78px) + var(--sudar-emergency-height,45px))!important;
  }
  body.sudar-fixed-shell.sudar-chrome-fixed .layout,
  body.sudar-fixed-shell.sudar-chrome-fixed .layout > .side,
  body.sudar-fixed-shell.sudar-chrome-fixed .layout > .main{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* Phase 10 service-number + clean tagline update */
.home-choice-note-centered{display:block!important;text-align:center;margin-top:24px}
.service-call-strip{width:100%;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.4fr);gap:14px;align-items:stretch;background:linear-gradient(135deg,#fff,#f0fbff);border:1px solid #cfe7ff;border-radius:22px;padding:14px;box-shadow:0 14px 32px rgba(0,74,173,.08)}
.home-service-call{max-width:920px;margin:0 auto}.service-call-title{display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:left;padding:10px 12px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:18px}.service-call-title b{color:#9a3412;font-size:16px}.service-call-title small{color:#64748b;font-weight:750;line-height:1.35}.service-call-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-call-card{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0f172a;background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.05);transition:.15s ease;min-width:0}.service-call-card:hover{transform:translateY(-2px);border-color:#004AAD;box-shadow:0 14px 28px rgba(0,74,173,.12)}.service-call-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#075985;font-weight:1000;font-size:20px}.service-call-card span:last-child{min-width:0}.service-call-card b{display:block;color:#05346E;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-call-card strong{display:block;color:#E11D48;font-size:17px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-call-card small{display:block;color:#64748b;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-call-help{margin-top:16px}.service-number-settings .service-settings-preview{max-width:620px;flex:1}.service-number-settings .service-call-strip{grid-template-columns:1fr}.service-number-settings .service-call-title{display:none}.service-number-edit-card{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;padding:14px}.service-number-edit-card h3{margin:0 0 12px;color:#05346E}.service-number-form{margin-top:16px}.simple-footer [data-service-line],.app-footer [data-service-line]{font-weight:800;text-align:center}.sudar-emergency-visual-header{justify-content:center!important;display:grid!important;grid-template-columns:minmax(120px,220px) minmax(280px,1fr) minmax(160px,220px)!important}.sudar-live-message{text-align:center!important;align-items:center!important}.sudar-live-siren{justify-content:flex-start}.sudar-live-clock{text-align:right}.sudar-live-message b{font-size:14px!important}.sudar-live-message span{font-size:12px!important}
@media(max-width:980px){.service-call-strip{grid-template-columns:1fr}.service-call-list{grid-template-columns:1fr}.sudar-emergency-visual-header{grid-template-columns:1fr!important}.sudar-live-siren,.sudar-live-clock{justify-content:center;text-align:center}.sudar-live-clock{text-align:center}}


/* Phase 10: Language / typing support */
.language-widget{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  border-radius:14px;
  padding:8px 10px;
  color:#fff;
}
.language-widget label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.2px;
}
.language-widget select{
  min-width:210px;
  max-width:320px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:10px;
  padding:8px 10px;
  background:#fff;
  color:#08264E;
  font-weight:800;
}
.language-widget small{
  width:100%;
  color:rgba(255,255,255,.9);
  font-size:11px;
}
.language-card{
  margin:18px 0;
  border-left:5px solid #0E7490;
}
.language-card .language-widget{
  background:linear-gradient(90deg,#004AAD,#0E7490);
  color:#fff;
  margin:10px 0 14px;
}
.language-card textarea{
  width:100%;
  min-height:110px;
  resize:vertical;
}
.language-list-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px;
  margin-top:12px;
}
.language-list-grid span{
  background:#f5f9ff;
  border:1px solid #dbe7f6;
  border-radius:12px;
  padding:9px 10px;
  font-size:13px;
  font-weight:800;
}
.language-list-grid b{
  display:block;
  color:#0E7490;
  margin-top:3px;
}
@media(max-width:900px){
  .language-widget{width:100%}
  .language-widget select{width:100%;max-width:none}
}



/* Phase 10: Impact counters and final PDF case report */
.public-impact-card{
  margin:18px auto 0;
  background:linear-gradient(135deg,#ffffff,#f1f8ff);
  border:1px solid #dbe7f6;
  border-left:6px solid #0E7490;
  border-radius:22px;
  box-shadow:0 12px 28px rgba(0,74,173,.08);
  padding:18px;
  max-width:980px;
}
.impact-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.impact-title>span{font-size:30px}.impact-title b{display:block;color:#08264E;font-size:19px}.impact-title small{color:#667085;font-weight:800}.impact-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.impact-stat{border-radius:18px;padding:18px;background:#fff;border:1px solid #dbe7f6;text-align:center}.impact-stat strong{display:block;font-size:44px;line-height:1;color:#08264E}.impact-stat span{display:block;margin-top:7px;font-weight:900;color:#40536f}.impact-stat.saved{border-color:#bbf7d0;background:#f0fdf4}.impact-stat.saved strong{color:#15803d}.impact-stat.lost{border-color:#fecdd3;background:#fff1f2}.impact-stat.lost strong{color:#be123c}.public-impact-card p{margin:12px 0 0;color:#667085;font-weight:700}.impact-admin-card,.impact-report-card{margin-top:20px}.resolved-report-list{display:grid;gap:14px;margin-top:14px}.resolved-report-row{background:#fff;border:1px solid #dbe7f6;border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(0,74,173,.05)}.report-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.report-head b{font-size:18px;color:#08264E}.report-head span{display:block;color:#667085;font-weight:700;margin-top:3px}.report-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.report-mini-grid span{background:#f8fbff;border:1px solid #e2eaf5;border-radius:12px;padding:9px;font-size:12px;color:#667085}.report-mini-grid b{display:block;color:#08264E;margin-bottom:2px}.report-outcome-grid{margin-top:10px}.pill.resolved{background:#dcfce7;color:#166534;border-color:#bbf7d0}@media(max-width:840px){.impact-stats-grid,.report-mini-grid{grid-template-columns:1fr 1fr}.report-head{flex-direction:column}.report-outcome-grid{grid-template-columns:1fr!important}}@media(max-width:520px){.impact-stats-grid,.report-mini-grid{grid-template-columns:1fr}.impact-stat strong{font-size:34px}}


/* Phase 10 professional reporting update */
.weekly-report-card,.impact-report-card{margin-top:18px}
.weekly-report-controls .metric.compact{min-height:92px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 8px 20px rgba(0,74,173,.06)}
.weekly-report-controls .metric.compact b{font-size:30px;color:#004AAD;line-height:1}
.weekly-report-controls .metric.compact span{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-top:6px}
.weekly-report-preview{margin-top:14px;background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:14px}
.weekly-case-list{display:grid;gap:8px;margin-top:12px}
.weekly-case-list>div{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e4ebf5;border-radius:12px;padding:10px 12px}
.weekly-case-list b{color:#08264E}.weekly-case-list span{color:var(--muted);font-size:13px}
.resolved-report-row{border:1px solid #e2eaf5;border-radius:18px;background:#fff;padding:16px;margin-top:12px;box-shadow:0 8px 22px rgba(0,74,173,.05)}
.report-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.report-head span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.report-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.report-mini-grid span{display:flex;flex-direction:column;background:#f8fbff;border:1px solid #e3ebf5;border-radius:12px;padding:10px;color:var(--muted);font-size:13px}.report-mini-grid b{color:#08264E;font-size:12px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}
@media(max-width:850px){.report-mini-grid{grid-template-columns:1fr 1fr}.weekly-case-list>div{flex-direction:column}.report-head{flex-direction:column}}
@media(max-width:560px){.report-mini-grid{grid-template-columns:1fr}}


/* Phase 10: report delete controls and admin case filters */
.report-admin-note{background:#f8fbff;border:1px solid #dbe7f6;border-radius:14px;padding:10px 12px;color:#40536f;font-weight:700;margin:12px 0}
.report-admin-actions{margin-top:14px;justify-content:space-between;align-items:center}
.case-filter-card{margin-top:20px}.case-filter-controls{margin-top:12px}.admin-case-viewer-results{margin-top:14px}.admin-case-list{display:grid;gap:12px}.admin-case-row{background:#fff;border:1px solid #dbe7f6;border-radius:16px;padding:14px;box-shadow:0 8px 20px rgba(0,74,173,.05)}.admin-case-row b{display:block;color:#08264E;font-size:16px}.admin-case-row span{color:#667085;font-weight:700;font-size:13px}.case-row-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.case-row-meta span{background:#f8fbff;border:1px solid #e3ebf5;border-radius:999px;padding:7px 10px;color:#40536f;font-size:12px;font-weight:800}
@media(max-width:860px){.case-filter-controls{grid-template-columns:1fr 1fr!important}.report-admin-actions{flex-direction:column;align-items:flex-start}.admin-case-row>.row{flex-direction:column;align-items:stretch}.admin-case-row>.row .btn{width:100%;justify-content:center}}
@media(max-width:560px){.case-filter-controls{grid-template-columns:1fr!important}.case-row-meta{flex-direction:column}.case-row-meta span{width:100%}}
