:root{
 --navy:#082d54;--navy2:#0b3d70;--blue:#0a73df;--blue-dark:#0758ad;--cyan:#eaf5ff;
 --red:#ef3340;--red-soft:#fff0f2;--orange:#ff8b17;--yellow:#f6b90b;--green:#0aa36f;
 --bg:#f4f8fc;--text:#173454;--muted:#6e8197;--border:#d9e5f0;--white:#fff;
 --shadow:0 8px 25px rgba(31,71,112,.08);--shadow-soft:0 3px 12px rgba(31,71,112,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans Thai",Tahoma,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}img{max-width:100%}

/* Public */
.public-body{background:linear-gradient(180deg,#eef7ff,#f7fbff 40%,#fff)}
.public-header{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 980px)/2));position:sticky;top:0;z-index:20;box-shadow:0 2px 12px rgba(23,52,84,.05)}
.public-brand{display:flex;align-items:center;gap:11px}.public-brand img{width:48px;height:48px}.public-header strong{display:block;font-size:20px}.public-header small{display:block;color:var(--muted)}.public-staff-link{padding:9px 13px;border-radius:9px;background:#edf5ff;color:var(--blue-dark);font-weight:700}
.public-main{max-width:980px;margin:24px auto;padding:0 16px 48px}.hero{background:linear-gradient(135deg,#084a87,#0d79e5);color:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-110px;background:rgba(255,255,255,.1)}.hero h1{margin:0 0 6px;font-size:30px}.hero p{margin:0;opacity:.92}

/* Shared UI */
.card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:17px;box-shadow:var(--shadow-soft);margin-top:14px}.card h2,.card h3{margin-top:0}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{font-weight:700}.form-group input,.form-group select,.form-group textarea,.filter-field input,.filter-field select{width:100%;padding:11px 12px;border:1px solid #cbd9e8;border-radius:9px;background:#fff;color:var(--text);outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.filter-field input:focus,.filter-field select:focus{border-color:#75b8f5;box-shadow:0 0 0 3px rgba(10,115,223,.1)}.form-group textarea{min-height:100px;resize:vertical}.hint{font-size:13px;color:var(--muted)}.req{color:var(--red)}
.btn{border:0;border-radius:9px;padding:11px 15px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-light{background:#eef4fa;color:#24435f;border:1px solid #dae6f1}.btn-outline{background:#fff;color:var(--blue);border:1px solid #9ccaf5}.btn-block{width:100%}.btn-sm{padding:7px 10px;font-size:12px}.alert{padding:13px 15px;border-radius:11px;margin:12px 0}.alert-danger{background:#fff0f1;color:#a81d2b}.alert-info{background:#eef6ff;color:#154f8b}.alert-success{background:#edf9f2;color:#11693d}
.location-box{border:1px dashed #8ab8ef;background:#f5faff;border-radius:13px;padding:16px}.location-ok{background:#effaf4;border-color:#76c798}.location-bad{background:#fff7ed;border-color:#ffb86c}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.steps{display:flex;justify-content:space-between;gap:6px;margin:20px 0}.step{flex:1;text-align:center;color:var(--muted);font-size:13px;position:relative}.step:not(:last-child):after{content:"";position:absolute;height:3px;background:#dfe8f2;left:57%;right:-43%;top:14px}.step b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dfe7f1;margin:0 auto 6px;position:relative;z-index:1}.step.active{color:var(--blue);font-weight:700}.step.active b{background:var(--blue);color:#fff}.check-group{display:flex;flex-wrap:wrap;gap:8px}.check-pill{padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:#fafcff}.check-pill input{margin-right:6px}

/* App shell */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:218px;background:linear-gradient(180deg,#0c3967 0%,#092e52 54%,#062542 100%);color:#fff;display:flex;flex-direction:column;z-index:50;box-shadow:4px 0 18px rgba(5,35,65,.12)}
.side-brand{height:110px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;border-bottom:1px solid rgba(255,255,255,.1);padding:9px}.side-brand img{width:62px;height:62px}.side-brand b{display:block;font-size:16px}.side-brand small{font-size:10px;letter-spacing:.5px;opacity:.78}
.sidebar nav{display:flex;flex-direction:column;gap:4px;padding:14px 9px;overflow:auto}.sidebar nav a{padding:11px 12px;border-radius:8px;color:#d9e8f6;display:flex;align-items:center;gap:11px;font-size:14px;position:relative}.sidebar nav a span{width:21px;text-align:center;font-weight:800;color:#c9e5ff}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#0b79e6,#0c66c4);color:#fff;box-shadow:0 4px 10px rgba(0,102,204,.26)}.nav-count{margin-left:auto;background:#f13a46;color:#fff;font-style:normal;font-size:10px;min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;padding:0 5px}
.sidebar-foot{margin-top:auto;padding:16px 13px 18px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:#d9e9f7}.city-skyline{text-align:center;font-size:24px;letter-spacing:2px;opacity:.18;margin-bottom:9px}.side-municipality{display:flex;align-items:center;gap:8px}.side-municipality img{width:34px;height:34px}.side-municipality b{font-size:12px}.side-municipality small{display:block;font-size:9px;opacity:.72}.sidebar-foot p{line-height:1.6;margin:10px 0 0;color:#b9d1e5}
.app-shell{margin-left:218px;min-height:100vh}.command-header{height:102px;background:linear-gradient(100deg,#0756a7 0%,#0c76d8 52%,#1688ed 100%);color:#fff;padding:0 22px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;box-shadow:0 4px 14px rgba(22,83,146,.12);overflow:hidden}.command-header:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 67% 10%,rgba(255,255,255,.22),transparent 26%),linear-gradient(110deg,transparent 43%,rgba(255,255,255,.08) 44%,transparent 66%);pointer-events:none}.command-title,.command-actions{position:relative;z-index:1}.command-title h1{font-size:29px;line-height:1;margin:0 0 4px;font-weight:850;letter-spacing:.2px}.command-title b{display:block;font-size:17px}.command-title small{display:block;margin-top:4px;color:#d9edff}.command-actions{display:flex;align-items:center;gap:13px}.risk-pill{min-width:190px;background:linear-gradient(135deg,#ef3340,#e72635);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 6px 18px rgba(167,20,31,.2)}.risk-pill>span{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--red);display:grid;place-items:center;font-weight:900;font-size:20px}.risk-pill b,.risk-pill strong{display:block;font-size:12px}.risk-pill strong{font-size:16px}.bell{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;position:relative}.bell i{position:absolute;right:-2px;top:-4px;background:#ef3340;color:#fff;border:2px solid #fff;border-radius:99px;min-width:20px;height:20px;font-size:10px;font-style:normal;display:grid;place-items:center;padding:0 4px}.user-pill{display:flex;align-items:center;gap:8px;min-width:180px}.avatar{width:38px;height:38px;border-radius:50%;background:#fff;color:#0a5fb5;display:grid;place-items:center;font-weight:850}.user-pill b{display:block;font-size:13px}.user-pill small{display:block;font-size:10px;color:#d9edff}.mobile-menu{display:none;position:fixed;z-index:80;left:12px;top:14px;background:#0b6fcf;color:white;border:0;border-radius:8px;width:42px;height:42px;font-size:24px}.sidebar-backdrop{display:none}
.content{padding:12px 14px 22px;max-width:1700px;margin:0 auto;width:100%}

/* Dashboard filters */
.dashboard-filter{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1fr auto auto;gap:9px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:10px 12px;box-shadow:var(--shadow-soft);align-items:end}.filter-field label{display:block;font-size:11px;font-weight:750;margin:0 0 4px;color:#304b67}.filter-submit{min-width:112px}.filter-reset{min-width:96px}

/* KPI */
.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:13px;min-height:82px}.stat-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:28px;font-weight:900}.stat-copy{min-width:0}.stat span{color:#294862;font-size:12px;font-weight:750}.stat strong{display:block;font-size:27px;line-height:1.05;margin-top:2px}.stat small{display:block;font-size:10px;margin-top:3px}.stat.blue .stat-icon{background:#eaf5ff;color:#0874dc}.stat.red{background:linear-gradient(135deg,#fff,#fff4f5);border-color:#ffd4d8}.stat.red .stat-icon{background:#ffe5e8;color:var(--red)}.stat.orange{background:linear-gradient(135deg,#fff,#fffaf0);border-color:#ffe3bd}.stat.orange .stat-icon{background:#fff0dc;color:var(--orange)}.stat.gray .stat-icon{background:#edf3f9;color:#728aa5}.stat.green{background:linear-gradient(135deg,#fff,#f0fff8);border-color:#ccefe0}.stat.green .stat-icon{background:#daf8ea;color:var(--green)}.delta-up{color:var(--green)}.delta-warn{color:var(--red)}

/* Main command layout */
.command-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(290px,.86fr) minmax(285px,.84fr);gap:10px;margin-top:10px;align-items:stretch}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-soft);overflow:hidden}.panel-head{height:42px;padding:0 13px;border-bottom:1px solid #e6edf5;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2{font-size:15px;margin:0;display:flex;align-items:center;gap:8px}.panel-head a{font-size:11px;color:var(--blue);font-weight:700}.panel-head .legend{display:flex;gap:11px;font-size:10px;color:#45617b;align-items:center}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:3px}.dot-p1{background:var(--red)}.dot-p2{background:var(--orange)}.dot-p3{background:var(--yellow)}.dot-p4{background:#218ce7}
.dashboard-map{height:438px;background:#eaf4fb}.leaflet-container{font-family:inherit}.map-popup b{display:block;font-size:13px}.map-popup small{display:block;margin-top:3px}.case-list,.team-list,.notify-list{padding:0;margin:0;list-style:none}.critical-row{display:grid;grid-template-columns:38px 1fr auto;gap:8px;padding:10px 11px;border-bottom:1px solid #edf2f7;align-items:start}.critical-row:last-child{border-bottom:0}.priority-chip{width:34px;height:27px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:850;color:#fff}.chip-P1{background:var(--red)}.chip-P2{background:var(--orange)}.chip-P3{background:var(--yellow);color:#6a5200}.chip-P4{background:#218ce7}.critical-main b{display:block;font-size:12px}.critical-main small{display:block;color:#657b92;font-size:10px;line-height:1.45}.critical-side{text-align:right}.critical-side time{font-size:10px;color:var(--red);display:block;margin-bottom:5px}.critical-side .btn{padding:6px 8px;font-size:10px;border-radius:6px}.team-row{display:grid;grid-template-columns:38px 1fr auto;gap:8px;padding:9px 11px;border-bottom:1px solid #edf2f7;align-items:center}.team-row:last-child{border-bottom:0}.team-icon{width:34px;height:34px;border-radius:50%;background:#0f70d3;color:#fff;display:grid;place-items:center;font-size:16px}.team-main b{font-size:12px;display:block}.team-main small{font-size:10px;color:#688098;display:block}.team-status{font-size:10px;font-weight:800}.status-AVAILABLE,.status-ON_SCENE{color:var(--green)}.status-EN_ROUTE,.status-ASSIGNED{color:var(--orange)}.status-OFFLINE{color:#8495a7}

/* bottom analytics */
.analytics-grid{display:grid;grid-template-columns:1.05fr 1.2fr 1.25fr .9fr;gap:10px;margin-top:10px}.analytics-panel{min-height:205px}.analytics-body{padding:14px}.sla-wrap{display:grid;grid-template-columns:145px 1fr;gap:14px;align-items:center}.donut{--pct:78;width:124px;height:124px;border-radius:50%;background:conic-gradient(#1385ea calc(var(--pct)*1%),#e7f0f8 0);display:grid;place-items:center;margin:auto;position:relative}.donut:after{content:"";width:84px;height:84px;border-radius:50%;background:#fff;position:absolute}.donut strong{position:relative;z-index:1;font-size:26px}.donut-label{text-align:center;margin-top:7px;font-size:10px;color:#536d85}.sla-metrics{display:flex;flex-direction:column;gap:8px}.sla-line{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center}.sla-line i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-style:normal}.sla-line b{display:block;font-size:16px}.sla-line small{font-size:9px;color:#75899d}.sla-line.red i{background:#ffe4e7;color:var(--red)}.sla-line.red b{color:var(--red)}.sla-line.orange i{background:#fff0da;color:var(--orange)}.sla-line.orange b{color:var(--orange)}.sla-line.green i{background:#ddf6e9;color:var(--green)}.sla-line.green b{color:var(--green)}
.bar-chart{height:150px;display:flex;align-items:end;gap:14px;padding:6px 5px 0}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.bar{width:72%;max-width:38px;min-height:5px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#ff4250,#ef3340);position:relative}.bar.orange{background:linear-gradient(180deg,#ffa24c,#ff7f18)}.bar.yellow{background:linear-gradient(180deg,#ffd551,#efb40e)}.bar.blue{background:linear-gradient(180deg,#52b1ff,#1d8ce6)}.bar.gray{background:linear-gradient(180deg,#aac0d5,#7f9bb6)}.bar b{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:10px}.bar-col small{font-size:9px;color:#647c92;margin-top:6px;white-space:nowrap;max-width:64px;overflow:hidden;text-overflow:ellipsis}.hour-chart{height:150px;display:flex;align-items:flex-end;gap:3px;padding:10px 3px 17px;border-bottom:1px solid #dbe5ef;position:relative}.hour-bar{flex:1;background:#6fc0ff;border-radius:2px 2px 0 0;min-height:2px;position:relative}.hour-bar.p1:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#ef3340;left:50%;top:-5px;transform:translateX(-50%)}.hour-labels{display:flex;justify-content:space-between;font-size:8px;color:#70869b;margin-top:4px}.notify-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;padding:10px 11px;border-bottom:1px solid #edf2f7}.notify-icon{width:27px;height:27px;border-radius:7px;background:#e8f4ff;color:#0874dc;display:grid;place-items:center}.notify-main b{display:block;font-size:11px}.notify-main small{display:block;font-size:9px;color:#6c8298}.notify-row time{font-size:9px;color:#7a8ea1;white-space:nowrap}

/* Tables + case */
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 9px;border-bottom:1px solid var(--border);text-align:left;font-size:13px;white-space:nowrap}.table th{font-size:11px;color:var(--muted);text-transform:uppercase}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge-P1{background:#ffe8eb;color:#b11b2c}.badge-P2{background:#fff0df;color:#b15a00}.badge-P3{background:#fff8d8;color:#856900}.badge-P4{background:#e8f2ff;color:#1264ad}.badge-status{background:#eef4fa;color:#365a78}.case-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.case-no{font-size:28px;font-weight:850}.meta{display:flex;gap:10px;flex-wrap:wrap}.map-placeholder{background:linear-gradient(135deg,#e8f5ff,#eaf7ec);min-height:260px;border-radius:14px;display:grid;place-items:center;text-align:center;padding:20px;border:1px solid var(--border)}.case-layout{display:grid;grid-template-columns:1.5fr .82fr;gap:14px}.timeline{border-left:3px solid #dbe8f6;margin-left:7px;padding-left:18px}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:"";position:absolute;left:-27px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1px #a7c5e4}.timeline-item small{color:var(--muted)}.priority-box{border-radius:14px;padding:14px;text-align:center;font-weight:800}.priority-P1{background:#fff0f1;color:#b11b2c}.priority-P2{background:#fff3e8;color:#a94f00}.priority-P3{background:#fff9dc;color:#756000}.priority-P4{background:#eaf8f0;color:#147044}.login-card{max-width:440px;margin:8vh auto}

.empty-state{padding:24px;text-align:center;color:var(--muted);font-size:12px}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.muted{color:var(--muted)}

@media(max-width:1250px){.command-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.9fr)}.command-grid>.panel:nth-child(3){grid-column:1/-1}.analytics-grid{grid-template-columns:1fr 1fr}.dashboard-filter{grid-template-columns:repeat(4,1fr)}.filter-submit,.filter-reset{min-width:0}.command-actions .user-pill{display:none}}
@media(max-width:980px){.mobile-menu{display:block}.sidebar{transform:translateX(-100%);transition:.2s ease}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(6,32,55,.45);z-index:40}.app-shell{margin-left:0}.command-header{padding-left:68px}.command-title h1{font-size:23px}.command-title b{font-size:14px}.risk-pill{min-width:160px}.command-grid{grid-template-columns:1fr}.command-grid>.panel:nth-child(3){grid-column:auto}.analytics-grid{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}.case-layout{grid-template-columns:1fr}}
@media(max-width:720px){.public-header small{display:none}.public-main{margin-top:12px}.hero{padding:20px}.hero h1{font-size:25px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(3,1fr)}.steps{font-size:11px}.command-header{height:82px}.command-title h1{font-size:19px}.command-title b{font-size:12px}.command-title small{display:none}.command-actions{display:none}.content{padding:9px}.dashboard-filter{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}.stat{min-height:74px;padding:10px}.stat-icon{width:44px;height:44px;font-size:22px}.stat strong{font-size:23px}.dashboard-map{height:360px}.analytics-grid{grid-template-columns:1fr}.sla-wrap{grid-template-columns:1fr}.panel-head .legend{display:none}.case-head{flex-direction:column}.table th,.table td{padding:9px 7px}}
@media(max-width:450px){.dashboard-filter{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Full Setup / Telegram */
.settings-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:14px;align-items:start}.setup-checks{margin:10px 0 14px}.danger-check{border-color:#ffc7cd;background:#fff6f7;color:#a71d2a}.setup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.status-dot{font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px}.status-dot.ok{background:#e8f8f1;color:#08734c}.status-dot.bad{background:#fff0f1;color:#b11b2c}.discovered-list{margin-top:12px;background:#f5f9fd;border:1px solid var(--border);border-radius:10px;padding:12px}.discovered-list>div{padding:7px 0;border-bottom:1px dashed #d6e3ee}.discovered-list>div:last-child{border-bottom:0}.sla-setting-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.sla-setting{border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center;background:#f8fbfe}.sla-setting b{display:block;font-size:20px}.sla-setting span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.sla-setting input{width:100%;text-align:center;padding:9px;border:1px solid var(--border);border-radius:8px}.sla-setting small{display:block;margin-top:4px;color:var(--muted)}.sla-setting.P1{border-top:4px solid var(--red)}.sla-setting.P2{border-top:4px solid var(--orange)}.sla-setting.P3{border-top:4px solid var(--yellow)}.sla-setting.P4{border-top:4px solid var(--blue)}.health-list>div{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.health-list>div:last-child{border-bottom:0}.health-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:900}.health-icon.ok{background:#e8f8f1;color:#08734c}.health-icon.bad{background:#fff0f1;color:#b11b2c}.health-list span:last-child{font-size:12px;color:var(--muted)}.setup-steps{padding-left:22px;margin-bottom:0}.setup-steps li{margin:9px 0;line-height:1.5}.delivery-status{font-size:10px;font-weight:850;padding:5px 8px;border-radius:999px}.delivery-status.sent{background:#e8f8f1;color:#08734c}.delivery-status.failed{background:#fff0f1;color:#b11b2c}.delivery-status.pending{background:#fff6df;color:#8b6200}.log-error{max-width:260px;overflow:hidden;text-overflow:ellipsis}.alert-info code,.setup-steps code,.discovered-list code{background:#e6eff7;padding:2px 5px;border-radius:5px}@media(max-width:1050px){.settings-grid{grid-template-columns:1fr}}@media(max-width:650px){.sla-setting-grid{grid-template-columns:1fr 1fr}.setup-actions{flex-direction:column}.setup-actions form,.setup-actions button{width:100%}}
/* Full Setup v4 operational modules */
.location-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.manual-location-panel{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#f8fbff}.report-location-map{height:320px;border-radius:12px;overflow:hidden;background:#eef4fa}.geo-environment{margin-bottom:10px}.row-disabled{opacity:.55;background:#fafafa}.inline-assign{display:flex;gap:6px;align-items:center;margin-top:6px}.inline-assign select{min-width:145px;padding:7px 9px}.compact-stats{grid-template-columns:repeat(4,minmax(140px,1fr));margin:12px 0}.dispatch-grid{grid-template-columns:minmax(0,2fr) minmax(280px,.7fr)}.field-task-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.field-task-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff}.field-task-card h3{margin:12px 0 8px}.field-task-card p{margin:6px 0}.field-task-head,.field-task-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.field-task-actions{justify-content:flex-start;margin-top:12px}.alert-success{background:#eaf8f0;border:1px solid #b9e1c8;color:#116536}.alert-warning{background:#fff7dc;border:1px solid #f0d98b;color:#765d00}
@media(max-width:900px){.compact-stats{grid-template-columns:repeat(2,1fr)}.dispatch-grid{grid-template-columns:1fr}.report-location-map{height:280px}.inline-assign{align-items:stretch;flex-direction:column}}
@media(max-width:520px){.compact-stats{grid-template-columns:1fr 1fr}.location-actions .btn{flex:1 1 100%}.report-location-map{height:250px}}
.file-photo-card{height:150px;min-width:150px;border:1px dashed var(--border);border-radius:12px;display:grid;place-items:center;text-align:center;background:#f7f9fc;color:#46647f;font-weight:800;padding:12px}
.user-pill{text-decoration:none;color:#fff}.user-pill:hover{opacity:.92}

/* v6 system credit */
.system-credit-footer{padding:14px 18px 18px;text-align:center;color:#667085;font-size:12px;border-top:1px solid #e5edf7;background:#fff}
.system-credit{display:block;margin-top:4px;color:#5f6f82;font-size:11px;font-weight:600}


/* v6.2 multi-agency branding */
.branding-editor{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start}.branding-preview{min-height:220px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,#f4faff,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}.branding-preview img{width:96px;height:96px;object-fit:contain;margin-bottom:12px}.branding-preview b{font-size:18px;color:#0b4f92}.branding-preview small{margin-top:3px;color:var(--muted);font-weight:700}.branding-fields{display:grid;gap:12px}
.side-brand img,.side-municipality img,.citizen-brand img{object-fit:contain}

/* v6.2 Live Map real-time / fullscreen */
.live-map-card{padding:14px}.live-map-head{gap:14px}.live-map-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.live-status{display:grid;grid-template-columns:10px auto;column-gap:7px;align-items:center;background:#edf9f2;border:1px solid #c8ead7;border-radius:10px;padding:7px 10px;min-width:190px}.live-status i{width:9px;height:9px;border-radius:50%;background:#16a66a;box-shadow:0 0 0 4px rgba(22,166,106,.12);grid-row:1/3}.live-status b{font-size:11px;color:#126a46}.live-status small{font-size:9px;color:#6c8196}.live-status.offline{background:#fff6ed;border-color:#ffd5a7}.live-status.offline i{background:#f28a17;box-shadow:0 0 0 4px rgba(242,138,23,.12)}.live-status.offline b{color:#a15b0d}.live-map-stage{position:relative}.live-map-stage #map{height:calc(100vh - 230px);min-height:580px;border-radius:14px;border:1px solid #d7e4ef}.live-map-counter{position:absolute;right:14px;bottom:14px;z-index:500;background:rgba(8,45,84,.9);color:#fff;padding:9px 13px;border-radius:10px;box-shadow:0 5px 16px rgba(0,0,0,.16);text-align:center}.live-map-counter b{display:block;font-size:22px}.live-map-counter span{font-size:9px;opacity:.85}.map-priority{padding:2px 6px;border-radius:99px;color:#fff;font-size:10px}.map-priority.P1{background:#dc3545}.map-priority.P2{background:#fd7e14}.map-priority.P3{background:#d8aa00}.map-priority.P4{background:#198754}.map-popup{line-height:1.55;min-width:220px}.live-map-card:fullscreen{background:#eef5fb;padding:12px;width:100vw;height:100vh;overflow:hidden}.live-map-card:fullscreen .live-map-stage #map{height:calc(100vh - 100px);min-height:0}.live-map-card:fullscreen .case-head{margin:0 0 8px}.live-map-card.pseudo-fullscreen{position:fixed;inset:0;z-index:9999;background:#eef5fb;margin:0!important;border-radius:0;padding:12px}.live-map-card.pseudo-fullscreen .live-map-stage #map{height:calc(100vh - 100px)}
@media(max-width:760px){.branding-editor{grid-template-columns:1fr}.branding-preview{min-height:180px}.live-map-head{align-items:flex-start}.live-map-actions{justify-content:flex-start;width:100%}.live-map-stage #map{height:calc(100vh - 310px);min-height:480px}}


/* v6.2.1 Dashboard Live Map */
.dashboard-map-live{font-size:12px;font-weight:800;color:#159b67;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.dashboard-map-live:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(21,155,103,.13)}.dashboard-map-live.offline{color:#d64a4a}.dashboard-map-live.offline:before{box-shadow:0 0 0 3px rgba(214,74,74,.13)}
.dashboard-case-icon{background:transparent!important;border:0!important}.dashboard-pin{width:31px;height:31px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pin,#218ce7);border:3px solid #fff;box-shadow:0 2px 7px rgba(42,65,90,.55);display:flex;align-items:center;justify-content:center}.dashboard-pin span{display:block;transform:rotate(45deg);color:#fff;font-size:10px;font-weight:900;line-height:1}

/* v6.2.2 Email / OTP password recovery */
.settings-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.settings-section-nav a{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#25577f;font-size:13px;font-weight:800;box-shadow:var(--shadow-soft)}.settings-section-nav a:hover{border-color:#8dc4f4;background:#eef7ff}.password-recovery-card{max-width:520px;margin:38px auto}.otp-input{text-align:center;font-size:30px!important;font-weight:900;letter-spacing:10px;color:#075bb3;font-variant-numeric:tabular-nums}.password-recovery-card .btn-block{min-height:46px}

.gps-help-actions{justify-content:center;align-items:center;margin-top:24px}.gps-help-actions .btn{min-width:160px;text-align:center}
@media(max-width:520px){.gps-help-actions{justify-content:center}.gps-help-actions .btn{flex:0 1 180px;min-width:145px}}

/* v6.2.9 developer credit link */
.system-credit-footer .developer-credit-link{color:#0b67c5;text-decoration:none;font-weight:800;border-bottom:1px dashed #75aee4}
.system-credit-footer .developer-credit-link:hover,.system-credit-footer .developer-credit-link:focus{color:#084e98;border-bottom-color:#084e98}

/* =========================================================
   v6.3 unified local SVG icon system
   ========================================================= */
.ui-icon{width:1.15em;height:1.15em;display:inline-block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em;flex:0 0 auto}
.btn .ui-icon{width:1.05em;height:1.05em;margin-right:5px}
.sidebar nav a>span{display:grid;place-items:center}
.sidebar nav a>span .ui-icon{width:20px;height:20px}
.mobile-menu .ui-icon{width:25px;height:25px}
.risk-pill>span .ui-icon{width:22px;height:22px}
.bell .ui-icon{width:21px;height:21px}
.stat-icon .ui-icon{width:29px;height:29px}
.panel-title-icon,.section-title-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;margin-right:7px}
.panel-title-icon .ui-icon,.section-title-icon .ui-icon{width:22px;height:22px}
.icon-heading{display:flex;align-items:center;gap:8px}
.icon-heading .ui-icon{width:23px;height:23px}
.city-skyline-icon{width:54px!important;height:54px!important;opacity:.55}
.inline-ui-icon{display:inline-flex;align-items:center;gap:6px}
.inline-ui-icon .ui-icon{width:17px;height:17px}
.team-icon .ui-icon,.notify-icon .ui-icon{width:23px;height:23px}
.health-icon .ui-icon{width:16px;height:16px}
.settings-section-nav a{display:inline-flex;align-items:center;gap:6px}
.settings-section-nav .ui-icon{width:17px;height:17px}
.status-dot-mini{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}
.account-status{display:inline-flex;align-items:center;font-weight:750}.account-status.is-active{color:#138342}.account-status.is-disabled{color:#7e8b98}

/* =========================================================
   v6.3.2 Live Team GPS + nearest-team dispatch assistance
   ========================================================= */
.live-map-legend{display:flex;flex-wrap:wrap;gap:9px 13px;margin-top:8px;font-size:10px;color:#607a91}.live-map-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.legend-dot.p1{background:#dc3545}.legend-dot.p2{background:#fd7e14}.legend-dot.p3{background:#d8aa00}.legend-dot.p4{background:#198754}.legend-team{width:17px;height:17px;border-radius:6px 6px 8px 8px;display:inline-block;background:#1478d4;border:2px solid #fff;box-shadow:0 1px 5px rgba(8,73,136,.3)}.legend-team.stale{background:#8a99a8}
.live-map-counter-cases{right:14px}.live-map-counter-teams{right:auto;left:14px;background:rgba(11,106,190,.92)}
.team-live-div-icon{background:transparent!important;border:0!important}.team-live-map-marker{width:42px;height:42px;border-radius:50% 50% 50% 12px;transform:rotate(-45deg);display:grid;place-items:center;background:#1178d4;border:3px solid #fff;box-shadow:0 6px 15px rgba(8,63,116,.32);position:relative}.team-live-map-marker svg{width:22px;height:22px;transform:rotate(45deg);stroke:#fff;fill:none;stroke-width:2}.team-live-map-marker span{position:absolute;width:9px;height:9px;border-radius:50%;background:#31d17c;right:-2px;top:-1px;border:2px solid #fff}.team-live-map-marker.stale{background:#8495a7;filter:grayscale(.25)}.team-live-map-marker.stale span{background:#f4a62a}
.team-live-pill{float:right;font-size:9px;font-weight:900;padding:2px 6px;border-radius:99px;color:#fff}.team-live-pill.fresh{background:#15a36b}.team-live-pill.stale{background:#8997a5}.team-map-popup>a,.map-popup>a{display:inline-block;margin-top:7px;color:#096ac6;font-weight:800}.nearest-team-box{margin:9px 0 5px;padding:8px;border-radius:8px;background:#f1f7fd;border:1px solid #d6e6f5}.nearest-team-box>b{font-size:11px;color:#0a4e90;margin-bottom:5px}.nearest-team-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:5px 0;border-top:1px dashed #d3e1ee;font-size:10px}.nearest-team-row:first-of-type{border-top:0}.nearest-team-row span{font-weight:800;color:#174f81}.nearest-team-row strong{color:#0969c4}.nearest-team-row small{grid-column:1/-1;color:#6b8196}.nearest-team-note,.nearest-team-empty{display:block;margin-top:5px;font-size:9px;color:#73889c;line-height:1.4}
.team-live-share-card{border:1px solid #cfe2f5;background:linear-gradient(180deg,#fff,#f7fbff)}.team-live-share-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.team-live-share-head h2{margin:0 0 4px}.team-live-share-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.team-live-share-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px;padding:12px 14px;border-radius:12px;background:#eef6ff;border:1px solid #d5e7f7}.team-live-status{display:inline-flex;align-items:center;gap:7px;font-weight:850;font-size:12px;padding:7px 10px;border-radius:99px;background:#e8edf2;color:#536b82}.team-live-status:before{content:"";width:9px;height:9px;border-radius:50%;background:#8a99a8}.team-live-status.active{background:#eaf9f0;color:#157149}.team-live-status.active:before{background:#1bb66f;box-shadow:0 0 0 4px rgba(27,182,111,.12)}.team-live-status.starting{background:#eef6ff;color:#0e62b2}.team-live-status.starting:before{background:#1d80da}.team-live-status.warning{background:#fff7e8;color:#97600d}.team-live-status.warning:before{background:#f0a21c}.team-live-status.error{background:#fff0f1;color:#aa2a38}.team-live-status.error:before{background:#dc3c4d}.team-live-share-status small{color:#617b94}.team-live-server-note{margin-top:9px;font-size:11px;color:#5f7790;display:flex;align-items:center;gap:5px}.team-live-privacy-note{margin:10px 0 0!important;font-size:11px}
@media(max-width:760px){.team-live-share-head{display:block}.team-live-share-actions{justify-content:stretch;margin-top:10px}.team-live-share-actions .btn{flex:1 1 100%}.team-live-share-status{align-items:flex-start;flex-direction:column}.live-map-legend{gap:6px 9px}.live-map-counter{bottom:10px}.live-map-counter-cases{right:10px}.live-map-counter-teams{left:10px}.nearest-team-box{padding:7px}}
.team-live-map-marker.fresh.status-AVAILABLE{background:#15995d}.team-live-map-marker.fresh.status-ASSIGNED,.team-live-map-marker.fresh.status-ACKNOWLEDGED{background:#e48a16}.team-live-map-marker.fresh.status-EN_ROUTE{background:#1478d4}.team-live-map-marker.fresh.status-ON_SCENE{background:#d94a3d}.team-live-map-marker.fresh.status-WAITING_RESOURCE{background:#c99808}.team-live-map-marker.fresh.status-RETURNING{background:#7057c8}

/* =========================================================
   v6.3.3 Live Map GIS Layers + Smart Dispatch
   ========================================================= */
.map-layer-panel{position:absolute;z-index:650;top:14px;right:14px;width:330px;max-height:calc(100% - 28px);overflow:hidden;display:flex;flex-direction:column;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border:1px solid #d4e4f1;border-radius:16px;box-shadow:0 16px 38px rgba(15,55,92,.2);transform:translateX(calc(100% + 30px));transition:transform .2s ease}
.map-layer-panel.open{transform:none}.map-layer-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 16px 12px;border-bottom:1px solid #e1ebf3;background:linear-gradient(180deg,#fff,#f8fbff)}.map-layer-panel-head b{display:flex;align-items:center;gap:8px;color:#0a4f92;font-size:17px}.map-layer-panel-head small{display:block;margin-top:3px;color:#6e8498}.map-layer-panel-head button{border:0;background:#eef5fb;color:#52718d;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;cursor:pointer}.map-layer-list{overflow:auto;padding:8px}.map-layer-toggle{display:grid;grid-template-columns:22px 36px minmax(0,1fr);gap:10px;align-items:center;padding:9px 8px;border-radius:11px;cursor:pointer}.map-layer-toggle:hover{background:#f1f7fc}.map-layer-toggle.core-layer{background:#f8fbfe}.map-layer-toggle input{width:17px;height:17px;accent-color:#0b74d1}.map-layer-toggle b{display:block;color:#164d7e;font-size:13px}.map-layer-toggle small{display:block;color:#73889c;font-size:11px;margin-top:2px}.map-layer-toggle em{font-style:normal;font-weight:800;color:#0b65ba}.map-layer-swatch{width:26px;height:26px;border-radius:8px;display:block}.case-swatch{background:linear-gradient(135deg,#dc3545 0 25%,#fd7e14 25% 50%,#d8aa00 50% 75%,#198754 75%)}.team-swatch{background:#1576d2;position:relative}.team-swatch:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.map-layer-svg{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--layer-color) 13%,white);color:var(--layer-color)}.map-layer-svg .ui-icon{width:18px;height:18px}.map-layer-panel-foot{padding:10px;border-top:1px solid #e2ebf3;display:flex;gap:7px;justify-content:center}.map-layer-panel-foot .btn{flex:1}
.gis-div-icon{background:none!important;border:0!important}.gis-map-marker{width:34px;height:34px;border-radius:12px 12px 12px 3px;transform:rotate(-45deg);background:var(--gis-color);border:2px solid #fff;box-shadow:0 5px 14px rgba(20,47,72,.28);display:grid;place-items:center}.gis-map-marker svg{width:18px;height:18px;color:#fff;transform:rotate(45deg);fill:none;stroke:currentColor}.gis-popup-layer{display:inline-block;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--gis-color) 14%,white);color:var(--gis-color);font-size:11px;font-weight:800}.gis-popup h4{margin:7px 0 8px;color:#0b4f91;font-size:16px}.gis-popup p{margin:7px 0;color:#5e7589;line-height:1.5}
.smart-dispatch-box{margin-top:10px;padding:10px;border-radius:12px;background:#f5f9fd;border:1px solid #d9e7f2}.smart-dispatch-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid #e1eaf2;padding-bottom:7px;margin-bottom:7px}.smart-dispatch-title b{color:#0b579e}.smart-dispatch-title span{font-size:10px;color:#70869a}.smart-dispatch-req{font-size:10px;color:#5d7286;margin:5px 0 8px}.smart-team-row{display:grid;grid-template-columns:24px minmax(0,1fr) 52px;gap:7px;align-items:center;padding:7px 0;border-bottom:1px dashed #dfe8ef}.smart-team-row:last-of-type{border-bottom:0}.smart-rank{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e3effa;color:#0b65b8;font-weight:900;font-size:11px}.smart-team-row b{display:block;font-size:12px;color:#124c7d}.smart-team-row small{display:block;font-size:10px;color:#718598}.smart-team-row em{display:block;font-style:normal;font-size:9px;color:#8a99a8;margin-top:2px}.smart-score{width:48px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:900}.smart-score small{font-size:8px!important;margin-top:-8px}.smart-score.excellent{background:#e7f8ec;color:#15803d}.smart-score.good{background:#eaf4ff;color:#0b6fcb}.smart-score.fair{background:#fff4db;color:#b76a00}.smart-score.low{background:#f3f4f6;color:#6b7280}.nearest-team-note{display:block;margin-top:7px!important;line-height:1.35!important;color:#778b9d!important}
.smart-dispatch-info{display:flex;align-items:flex-start;gap:14px;padding:15px 18px!important;margin-bottom:14px!important;border-left:4px solid #0b76d8!important;background:linear-gradient(135deg,#f3f9ff,#fff)!important}.smart-dispatch-info-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#e1f0ff;color:#0c6fc9;flex:0 0 auto}.smart-dispatch-info-icon .ui-icon{width:24px;height:24px}.smart-dispatch-info b{display:block;color:#0a4f91;font-size:17px}.smart-dispatch-info p{margin:4px 0 0;color:#617a91;line-height:1.55;font-size:12px}.dispatch-smart-cell{min-width:330px}.dispatch-smart-top{display:flex;align-items:center;gap:9px;margin:8px 0;padding:8px;border:1px solid #d9e7f2;background:#f8fbff;border-radius:10px}.dispatch-smart-top .smart-score{width:42px;height:36px;flex:0 0 auto}.dispatch-smart-top b{display:block;color:#0b559a;font-size:12px}.dispatch-smart-top small{display:block;margin-top:2px;color:#6c8196;font-size:10px}.smart-assign-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.smart-assign-form select{min-width:245px;max-width:340px}.gis-filter-grid{display:flex;flex-wrap:wrap;gap:8px}.gis-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid #dbe7f1;background:#fff;color:#345f82;font-size:12px;font-weight:700}.gis-filter-chip:hover,.gis-filter-chip.active{background:#eaf5ff;border-color:#9dcaf0;color:#0867bf}.gis-filter-chip .ui-icon{width:16px;height:16px}.gis-filter-chip b{margin-left:2px;background:#edf3f8;border-radius:999px;padding:2px 6px;font-size:10px}.gis-admin-grid{grid-template-columns:minmax(0,1.55fr) minmax(360px,.8fr)}.map-layer-admin-label{display:inline-flex;align-items:center;gap:6px}.map-layer-admin-label .ui-icon{width:17px;height:17px;color:#0b6fc7}
@media(max-width:1000px){.map-layer-panel{width:300px}.gis-admin-grid{grid-template-columns:1fr}.dispatch-smart-cell{min-width:280px}.smart-assign-form select{min-width:210px}}
@media(max-width:760px){.map-layer-panel{top:8px;right:8px;left:8px;width:auto;max-height:calc(100% - 16px)}.map-layer-toggle{padding:8px 6px}.smart-dispatch-info{padding:12px!important}.dispatch-smart-cell{min-width:260px}.smart-assign-form{display:grid;grid-template-columns:1fr}.smart-assign-form select{min-width:0;width:100%}}

/* =========================================================
   v6.3.6 Map pickers + audit pagination
   ========================================================= */
.map-picker-section{margin-top:14px;padding:14px;border:1px solid #d7e5f1;border-radius:14px;background:#f8fbff}
.map-picker-help{margin:5px 0 11px;color:#627b93;font-size:12px;line-height:1.6}
.admin-location-picker{height:360px;width:100%;border-radius:12px;border:1px solid #cbddea;background:#eaf4fb;overflow:hidden;z-index:1}
.map-picker-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.map-picker-coordinate{min-height:38px;display:flex;align-items:center;padding:8px 11px;border-radius:9px;background:#fff;border:1px solid #d8e5ef;color:#0b4e90;font-size:12px;font-weight:700;word-break:break-word}
.map-picker-buttons{display:flex;gap:7px;flex-wrap:wrap}
.location-small{display:inline-flex;align-items:center;gap:4px;color:#0b6cc8!important}.location-small .ui-icon{width:13px;height:13px}
.team-base-picker{grid-column:1/-1}
.audit-title-row{align-items:flex-start}
.audit-page-summary{margin:12px 0 9px;padding:9px 11px;border-radius:9px;background:#f4f9ff;border:1px solid #dce9f4;color:#5d7790;font-size:12px}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-top:16px}
.page-link,.page-gap{min-width:36px;height:36px;padding:0 10px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d3e1ee;background:#fff;color:#0b5da9;font-size:12px;font-weight:800;text-decoration:none}
.page-link:hover{background:#edf6ff;border-color:#aad2f3}.page-link.active{background:#0b70d0;color:#fff;border-color:#0b70d0;pointer-events:none}.page-link.disabled{opacity:.42;pointer-events:none}.page-gap{border:0;background:transparent;color:#71869b;padding:0 3px;min-width:20px}
@media(max-width:760px){
  .admin-location-picker{height:300px}
  .map-picker-toolbar{align-items:stretch}.map-picker-coordinate{width:100%}.map-picker-buttons{width:100%}.map-picker-buttons .btn{flex:1}
  .audit-title-row{gap:8px}.pagination{gap:4px}.page-link{min-width:32px;height:34px;padding:0 8px;font-size:11px}
}

/* =========================================================
   v6.3.7 GIS visual drawing workflow
   ========================================================= */
.gis-geometry-auto-card{display:flex;align-items:center;gap:12px;margin:12px 0 4px;padding:12px 14px;border-radius:13px;border:1px solid #cfe2f3;background:linear-gradient(135deg,#f2f9ff,#fff)}
.gis-geometry-auto-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e3f2ff;color:#0b6fc8;flex:0 0 auto}.gis-geometry-auto-icon .ui-icon{width:23px;height:23px}.gis-geometry-auto-card small{display:block;color:#6b8197;font-size:11px;margin-bottom:2px}.gis-geometry-auto-card strong{display:block;color:#0b4f91;font-size:14px}
.gis-drawing-section{background:#fbfdff}.gis-geometry-map{height:430px}.gis-draw-hint{margin-top:9px;padding:9px 11px;border-radius:9px;background:#edf7ff;border:1px solid #d2e7f8;color:#4e708e;font-size:11px;line-height:1.55}
.gis-vertex-label{background:#0b6fc8!important;border:2px solid #fff!important;color:#fff!important;border-radius:50%!important;width:24px!important;height:24px!important;line-height:20px!important;text-align:center!important;font-weight:900!important;box-shadow:0 3px 8px rgba(0,50,94,.2)!important}.gis-vertex-label:before{display:none!important}
@media(max-width:760px){.gis-geometry-map{height:330px}.gis-geometry-auto-card{padding:10px 11px}.gis-geometry-auto-card strong{font-size:13px}}


/* =========================================================
   v6.3.8 map reliability / Leaflet CDN fallback
   ========================================================= */
.side-brand img{object-fit:contain;max-width:62px;max-height:62px;aspect-ratio:1/1}
.map-load-error{height:100%;min-height:240px;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;background:#f8fbff;color:#5f7892;border:1px dashed #c9dbea;border-radius:12px;line-height:1.65}
.map-load-error b{display:block;color:#0b4f91;margin-bottom:4px}

/* =========================================================
   v6.3.9 — Crisp agency logo rendering in staff sidebar
   Keep the original uploaded logo aspect ratio and render it
   using the same visual treatment as the public header.
   ========================================================= */
.side-brand{
  height:126px;
  gap:6px;
  padding:10px 9px 9px;
}
.side-brand img{
  width:auto!important;
  height:auto!important;
  max-width:72px!important;
  max-height:72px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  display:block;
  image-rendering:auto;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.16));
  transform:none!important;
}
.side-brand b{font-size:16px;line-height:1.15}
.side-brand small{font-size:10px;line-height:1.2}
.side-municipality img{
  width:auto!important;
  height:auto!important;
  max-width:38px!important;
  max-height:38px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  image-rendering:auto;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.12));
}
@media(max-width:980px){
  .side-brand{height:118px}
  .side-brand img{max-width:66px!important;max-height:66px!important}
}

/* =========================================================
   v6.4.0 — Case Smart Dispatch, status-aware map markers,
   contained map canvases and themed notification dialogs
   ========================================================= */

/* Keep every Leaflet canvas inside its own card/panel. */
.dashboard-map-panel,.live-map-card,.live-map-stage,.case-layout>div,.case-layout>aside{min-width:0}
.dashboard-map-panel,.live-map-card{overflow:hidden}
.dashboard-map,.live-map-stage,#caseMap,.admin-location-picker,.report-location-map,.citizen-location-map{width:100%;max-width:100%;min-width:0;overflow:hidden;isolation:isolate}
.live-map-stage{border-radius:14px;contain:layout paint;width:100%}
.live-map-stage #map{display:block;width:100%!important;max-width:100%;overflow:hidden;border-radius:14px}
.dashboard-map{display:block;border-radius:12px;border:1px solid #d7e4ef;overflow:hidden}
.leaflet-container{max-width:100%;min-width:0}
.leaflet-control-container,.leaflet-pane,.leaflet-map-pane{max-width:none}

/* Case markers now represent workflow status; priority stays printed inside. */
.live-case-div-icon{background:transparent!important;border:0!important}
.live-case-marker{width:36px;height:36px;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);display:grid;place-items:center;background:var(--case-status-color,#218ce7);border:3px solid #fff;box-shadow:0 4px 11px rgba(21,50,78,.38);position:relative}
.live-case-marker:after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,255,255,.45)}
.live-case-marker span{position:relative;z-index:1;transform:rotate(45deg);color:#fff;font-size:10px;font-weight:950;text-shadow:0 1px 2px rgba(0,0,0,.24)}
.status-legend{display:flex;flex-wrap:wrap;gap:7px 12px}
.legend-dot.status-new{background:#ef3340}.legend-dot.status-verifying{background:#f59e0b}.legend-dot.status-assigned{background:#3b82f6}.legend-dot.status-enroute{background:#06b6d4}.legend-dot.status-onscene{background:#8b5cf6}.legend-dot.status-resolved{background:#0aa36f}

/* Smart Dispatch is available directly inside the opened case. */
.case-smart-dispatch-card{border-color:#cfe2f3;background:linear-gradient(180deg,#fff,#f8fbff)}
.case-smart-requirements{margin:9px 0 10px;padding:9px 10px;border-radius:9px;background:#eef7ff;border:1px solid #d6e9f8;color:#4e6e8a;font-size:11px;line-height:1.55}
.case-smart-requirements b{color:#0b579e}
.case-smart-list{display:grid;gap:7px;margin-top:8px}
.case-smart-team{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) 52px;gap:8px;align-items:center;text-align:left;padding:9px;border:1px solid #dbe7f1;border-radius:11px;background:#fff;color:inherit;cursor:pointer;transition:.16s ease;box-shadow:none}
.case-smart-team:hover,.case-smart-team.selected{border-color:#80bbe9;background:#edf7ff;box-shadow:0 0 0 3px rgba(10,115,223,.07);transform:translateY(-1px)}
.case-smart-team-main{min-width:0}.case-smart-team-main b{display:block;color:#104d80;font-size:12px}.case-smart-team-main small{display:block;color:#6b8195;font-size:10px;margin-top:2px;line-height:1.4}.case-smart-team-main em{display:block;color:#8191a0;font-size:9px;font-style:normal;margin-top:3px;line-height:1.35}
.case-smart-assign-form{margin-top:12px;padding-top:11px;border-top:1px solid #e2ebf3}
.case-smart-assign-form label{font-size:11px;color:#4c6882}

/* Themed modal / popup replaces browser-native alert and confirm. */
body.dialog-open{overflow:hidden}
.ui-dialog-backdrop[hidden]{display:none!important}
.ui-dialog-backdrop{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,26,48,.62);backdrop-filter:blur(5px);animation:uiBackdropIn .16s ease}
.ui-dialog{width:min(540px,100%);display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;position:relative;padding:23px;border-radius:20px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 24px 70px rgba(3,27,51,.32);animation:uiDialogIn .18s ease}
.ui-dialog-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:#edf4fa;color:#607991;cursor:pointer}.ui-dialog-close .ui-icon{width:19px;height:19px}
.ui-dialog-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#e7f3ff;color:#0a70d2}.ui-dialog-icon .ui-icon{width:29px;height:29px}
.ui-dialog-copy{padding-right:26px}.ui-dialog-copy h3{margin:2px 0 7px;color:#0a4c8d;font-size:21px}.ui-dialog-message{color:#506b84;font-size:14px;line-height:1.7;white-space:pre-line}
.ui-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:5px;padding-top:14px;border-top:1px solid #e1ebf3}.ui-dialog-actions .btn{min-width:105px}
.ui-dialog-backdrop.type-warning .ui-dialog-icon{background:#fff3d7;color:#c27b00}.ui-dialog-backdrop.type-danger .ui-dialog-icon{background:#ffe9ec;color:#d92f42}.ui-dialog-backdrop.type-success .ui-dialog-icon{background:#e6f8ed;color:#14914b}.ui-dialog-backdrop.type-confirm .ui-dialog-icon{background:#e9f3ff;color:#0a6bc7}
@keyframes uiBackdropIn{from{opacity:0}to{opacity:1}}@keyframes uiDialogIn{from{opacity:.45;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:760px){
 .live-map-stage{border-radius:11px}.live-map-stage #map{border-radius:11px}
 .case-smart-team{grid-template-columns:24px minmax(0,1fr) 47px;padding:8px}.case-smart-team-main em{display:none}
 .ui-dialog{grid-template-columns:48px minmax(0,1fr);padding:18px 15px;border-radius:17px;gap:11px}.ui-dialog-icon{width:48px;height:48px;border-radius:14px}.ui-dialog-icon .ui-icon{width:24px;height:24px}.ui-dialog-copy{padding-right:23px}.ui-dialog-copy h3{font-size:18px}.ui-dialog-message{font-size:13px}.ui-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.ui-dialog-actions .btn:only-child{grid-column:1/-1}
}

/* =========================================================
   v6.4.1 Live Map quick case info + configurable GIS categories
   ========================================================= */
.case-map-popup{min-width:300px;max-width:410px}
.case-map-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #e5edf5}
.case-map-popup-head>div>b{display:block;color:#0a4f91;font-size:15px}.case-map-popup-head>div>small{display:block;margin-top:2px;color:#5f7891;font-size:11px}
.case-map-status{display:flex;align-items:center;gap:7px;margin:9px 0;padding:7px 9px;border-radius:9px;background:#f7fafc;color:#294f72;font-size:11px;font-weight:800}.case-map-status i{width:10px;height:10px;border-radius:50%;background:var(--status-color,#218ce7);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color,#218ce7) 18%,transparent)}
.case-map-reporter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;background:#eef7ff;border:1px solid #d6e8f8}.case-map-reporter small{display:block;color:#6b8298;margin:0}.case-map-reporter strong{display:block;color:#0b4f91;font-size:13px;margin-top:1px}.map-popup-call{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;padding:7px 9px;border-radius:8px;background:#0b73d8;color:#fff!important;font-size:10px;font-weight:850;white-space:nowrap}.map-popup-call svg{width:14px;height:14px;fill:none;stroke:currentColor}.map-popup-muted{font-size:10px;color:#71869a}
.case-map-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.case-map-quick span{padding:8px;border:1px solid #e1eaf2;border-radius:9px;background:#fff;color:#345a7d;font-size:10px;line-height:1.35}.case-map-quick span b{display:block!important;margin-bottom:3px;color:#6c8296;font-size:9px;font-weight:700}
.map-popup-danger{margin-top:8px;padding:8px 9px;border-radius:9px;background:#fff6eb;border:1px solid #ffd9a8;color:#8a550d;font-size:10px}.map-popup-danger b{display:block!important;margin-bottom:2px;color:#b45f00;font-size:9px}
.case-map-address{margin-top:8px;padding:8px 9px;border-radius:9px;background:#f8fafc;color:#4b647b;font-size:10px;line-height:1.45}.case-map-address b{display:block!important;margin-bottom:2px;color:#6b8195;font-size:9px}.case-map-time{display:block!important;margin-top:7px!important;color:#7b8fa2!important;font-size:9px!important}
.map-popup-detail-link{display:block!important;text-align:center;margin-top:9px!important;padding:8px 10px;border-radius:9px;background:#edf6ff;color:#096ac6!important;border:1px solid #d2e7f8}

.gis-category-manager{margin-bottom:14px}.gis-category-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.gis-category-form{padding:14px;border-radius:14px;background:#f8fbff;border:1px solid #dce9f4}.gis-category-form .grid-3{grid-template-columns:1.2fr 1fr .65fr}.gis-color-input{height:43px;padding:4px 6px!important;cursor:pointer}.gis-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gis-category-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #dce8f2;border-radius:12px;background:#fff}.gis-category-row.disabled{opacity:.58;background:#f5f7fa}.gis-category-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--layer-color,#475569) 12%,white);color:var(--layer-color,#475569);border:1px solid color-mix(in srgb,var(--layer-color,#475569) 25%,white)}.gis-category-icon .ui-icon{width:20px;height:20px}.gis-category-copy{min-width:0}.gis-category-copy b{display:block;color:#174f81;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-category-copy small{display:block;margin-top:3px;color:#73879a;font-size:9px;line-height:1.4}.gis-category-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.gis-category-actions form{margin:0}
@media(max-width:1100px){.gis-category-layout{grid-template-columns:1fr}.gis-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.case-map-popup{min-width:250px}.case-map-quick{grid-template-columns:1fr 1fr}.case-map-quick span:last-child{grid-column:1/-1}.case-map-reporter{align-items:flex-start;flex-direction:column}.gis-category-list{grid-template-columns:1fr}.gis-category-form .grid-3{grid-template-columns:1fr}.gis-category-row{grid-template-columns:38px minmax(0,1fr)}.gis-category-actions{grid-column:1/-1;justify-content:flex-start}}


/* =========================================================
   v6.4.2 Real-time audible alerts
   ========================================================= */
.realtime-sound-toggle{position:fixed;right:18px;bottom:18px;z-index:16000;display:flex;align-items:center;gap:9px;min-width:168px;padding:10px 13px;border:1px solid rgba(255,255,255,.7);border-radius:14px;background:linear-gradient(135deg,#0b6fcf,#0756a7);color:#fff;box-shadow:0 10px 30px rgba(3,48,91,.28);cursor:pointer;text-align:left;transition:.18s ease}
.realtime-sound-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(3,48,91,.34)}
.realtime-sound-toggle>.ui-icon{width:24px;height:24px;flex:0 0 auto}.realtime-sound-toggle span{display:block;min-width:0}.realtime-sound-toggle b{display:block;font-size:12px;line-height:1.15}.realtime-sound-toggle small{display:block;margin-top:3px;color:#d9edff;font-size:9px;white-space:nowrap}
.realtime-sound-toggle.enabled{background:linear-gradient(135deg,#13944a,#08773b)}.realtime-sound-toggle.disabled{background:linear-gradient(135deg,#64748b,#475569)}.realtime-sound-toggle.locked{background:linear-gradient(135deg,#d48806,#ad6800)}
.realtime-toast-stack{position:fixed;right:18px;top:118px;z-index:15990;width:min(390px,calc(100vw - 28px));display:grid;gap:10px;pointer-events:none}
.realtime-alert-toast{pointer-events:auto;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:10px;align-items:start;padding:12px 11px;border-radius:15px;background:rgba(255,255,255,.98);border:1px solid #d8e7f3;box-shadow:0 16px 42px rgba(4,39,72,.25);color:inherit;text-decoration:none;transform:translateX(30px);opacity:0;transition:.22s ease;backdrop-filter:blur(8px)}
.realtime-alert-toast.show{transform:none;opacity:1}.realtime-alert-toast:hover{border-color:#93c5ef;background:#f8fcff}
.realtime-toast-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#e8f4ff;color:#0a6dcc}.realtime-toast-icon .ui-icon{width:25px;height:25px}
.realtime-alert-toast.assignment .realtime-toast-icon{background:#e8f8ef;color:#138a47}.realtime-alert-toast.priority-P1.new-case{border-left:5px solid #ef3340}.realtime-alert-toast.priority-P1.new-case .realtime-toast-icon{background:#ffe9ec;color:#d92f42}
.realtime-toast-copy{min-width:0}.realtime-toast-copy>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.realtime-toast-copy>div>b{color:#0b4f91;font-size:13px}.realtime-toast-copy>div>span{padding:2px 6px;border-radius:999px;background:#eef5fb;color:#496d8e;font-size:9px;font-weight:900}.realtime-toast-copy>strong{display:block;margin-top:4px;color:#173f64;font-size:12px;line-height:1.35}.realtime-toast-copy>small{display:block;margin-top:4px;color:#71869a;font-size:10px;line-height:1.45}
.realtime-alert-toast>button{width:27px;height:27px;border:0;border-radius:50%;display:grid;place-items:center;background:#eef4f9;color:#688198;cursor:pointer}.realtime-alert-toast>button .ui-icon{width:16px;height:16px}
@media(max-width:720px){.realtime-sound-toggle{right:10px;bottom:10px;min-width:0;padding:10px;border-radius:50%;width:50px;height:50px;justify-content:center}.realtime-sound-toggle span{display:none}.realtime-toast-stack{right:10px;top:74px;width:calc(100vw - 20px)}.realtime-alert-toast{grid-template-columns:42px minmax(0,1fr) 26px;padding:10px}.realtime-toast-icon{width:40px;height:40px}.realtime-toast-icon .ui-icon{width:22px;height:22px}}

/* v6.4.4 lightweight map fallback shared shell */
.yala-mini-map-host{position:relative;width:100%;height:100%;overflow:hidden;background:#dceaf3}
.yala-mini-map{position:absolute;inset:0;overflow:hidden;background:#dceaf3;touch-action:none;user-select:none}
.yala-mini-map-tiles{position:absolute;inset:0}.yala-mini-map-tiles img{position:absolute;width:256px;height:256px;max-width:none!important;border:0;pointer-events:none}.yala-mini-map-tiles img.tile-error{visibility:hidden}
.yala-mini-map-marker{position:absolute;left:0;top:0;z-index:20;width:42px;height:42px;color:#e3212f;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35));pointer-events:none}.yala-mini-map-marker .ui-icon{width:42px;height:42px}
.yala-mini-map-controls{position:absolute;z-index:30;left:10px;top:10px;display:grid;border-radius:9px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.18)}.yala-mini-map-controls button{width:38px;height:36px;border:0;background:#fff;color:#174c79;font-size:24px;font-weight:800;cursor:pointer}.yala-mini-map-controls button+button{border-top:1px solid #d8e1e8}.yala-mini-map-attrib{position:absolute;right:3px;bottom:2px;z-index:30;padding:2px 5px;background:rgba(255,255,255,.84);border-radius:4px;font-size:9px;color:#41627d;text-decoration:none}

/* =========================================================
   v6.5.21 Simplified Operations UX — Dispatch / Reports / Case status
   ========================================================= */
.ops-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 14px}.ops-eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#6f87a0;margin-bottom:5px}.ops-title{margin:0;color:#0b4f91;font-size:28px;line-height:1.15}.ops-subtitle{margin:6px 0 0;color:#687f95;font-size:12px;line-height:1.55}.ops-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ops-kpi-grid,.situation-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}.ops-kpi,.situation-kpi{display:block;position:relative;overflow:hidden;padding:14px 15px;border:1px solid #dbe7f1;border-radius:15px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 4px 12px rgba(25,71,111,.035)}.ops-kpi:before,.situation-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2d83d5}.ops-kpi span,.situation-kpi span{display:block;color:#647e96;font-size:10px;font-weight:800}.ops-kpi strong,.situation-kpi strong{display:block;margin:2px 0;color:#153f64;font-size:26px;line-height:1.1}.ops-kpi small,.situation-kpi small{display:block;color:#8294a6;font-size:9px}.ops-kpi.danger:before,.situation-kpi.danger:before{background:#e13b4d}.ops-kpi.warning:before,.situation-kpi.warning:before{background:#e8971c}.ops-kpi.neutral:before{background:#7c8da0}.ops-kpi.primary:before,.situation-kpi.primary:before{background:#1676d2}.situation-kpi.success:before{background:#13a065}.ops-kpi:hover{border-color:#b9d7ef;box-shadow:0 8px 20px rgba(20,84,137,.09);transform:translateY(-1px)}
.ops-filter-card{padding:10px!important;margin-bottom:12px!important}.ops-filter-row{display:grid;grid-template-columns:minmax(240px,1.8fr) minmax(135px,.65fr) minmax(170px,.85fr) minmax(170px,.85fr) auto auto;gap:8px;align-items:center}.ops-filter-row select,.ops-filter-row input{height:40px}.ops-search-field{position:relative}.ops-search-field>.ui-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#7290aa;pointer-events:none}.ops-search-field input{width:100%;padding-left:38px}
.ops-dispatch-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.62fr);gap:12px;align-items:start}.ops-queue-panel,.ops-team-panel{padding:0!important;overflow:hidden}.ops-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 15px;border-bottom:1px solid #e5edf4}.ops-section-head.compact{padding:13px 14px}.ops-section-head h2{margin:0;font-size:16px;color:#124e7f}.ops-section-head p{margin:3px 0 0;color:#74899c;font-size:10px}.ops-count-badge{padding:5px 9px;border-radius:999px;background:#edf5fc;color:#356889;font-size:10px;font-weight:850;white-space:nowrap}.ops-text-link{display:inline-flex;align-items:center;gap:3px;color:#0b70ce;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.ops-text-link .ui-icon{width:13px;height:13px}
.ops-case-list{display:grid;gap:0}.ops-case-card{position:relative;padding:13px 14px;border-bottom:1px solid #e8eff5;background:#fff}.ops-case-card:last-child{border-bottom:0}.ops-case-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#2586d8}.ops-case-card.priority-P1:before{background:#df3246}.ops-case-card.priority-P2:before{background:#ef8f1f}.ops-case-card.priority-P3:before{background:#e2bd26}.ops-case-card.priority-P4:before{background:#2990db}.ops-case-card:hover{background:#fbfdff}.ops-case-top,.ops-case-content{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ops-case-id{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ops-case-id>a{color:#0a559a;font-size:13px;font-weight:900;text-decoration:none}.ops-wait{display:flex;align-items:center;gap:5px;color:#6e8396;font-size:10px;font-weight:750;white-space:nowrap}.ops-wait .ui-icon{width:14px;height:14px}.ops-wait.late{color:#c85d00}.ops-case-content{margin-top:9px}.ops-case-main{min-width:0}.ops-case-main h3{margin:0;color:#1a4569;font-size:14px}.ops-case-address{display:flex;align-items:flex-start;gap:5px;margin:4px 0;color:#647b90;font-size:10px;line-height:1.45}.ops-case-address .ui-icon{width:14px;height:14px;flex:0 0 auto;margin-top:1px}.ops-case-meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:7px;color:#71879a;font-size:9px}.ops-case-meta span{display:inline-flex;align-items:center;gap:4px}.ops-case-meta .ui-icon{width:13px;height:13px}.ops-open-case{flex:0 0 auto}.ops-recommendation{display:grid;grid-template-columns:34px minmax(0,1fr) 48px;gap:8px;align-items:center;margin-top:10px;padding:8px 9px;border:1px solid #d8e8f5;border-radius:10px;background:#f6fbff}.ops-recommend-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e4f2ff;color:#0b70cc}.ops-recommend-icon .ui-icon{width:18px;height:18px}.ops-recommendation small{display:block;color:#7a8fa3;font-size:8px}.ops-recommendation b{display:block;color:#0d578f;font-size:11px}.ops-recommendation span{display:block;color:#6c8296;font-size:9px;margin-top:2px}.ops-recommendation .smart-score{width:44px;height:34px;font-size:13px}.ops-assign-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:9px}.ops-assign-row select{min-width:0;width:100%;height:38px;font-size:11px}.ops-empty-state{display:grid;place-items:center;text-align:center;padding:46px 18px;color:#70869a}.ops-empty-state>.ui-icon{width:34px;height:34px;color:#1ca568;margin-bottom:8px}.ops-empty-state b{display:block;color:#315b7d;font-size:14px}.ops-empty-state span{display:block;margin-top:4px;font-size:10px}
.ops-team-list{padding:2px 12px 8px}.ops-team-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 2px;border-bottom:1px solid #edf2f6}.ops-team-item:last-child{border-bottom:0}.ops-team-dot{width:9px;height:9px;border-radius:50%;background:#899aad;box-shadow:0 0 0 3px #eef3f7}.ops-team-dot.available{background:#17a25f;box-shadow:0 0 0 3px #e6f7ee}.ops-team-dot.assigned,.ops-team-dot.acknowledged,.ops-team-dot.en_route{background:#e88b19;box-shadow:0 0 0 3px #fff2df}.ops-team-dot.on_scene{background:#7956d8;box-shadow:0 0 0 3px #f0ebff}.ops-team-dot.waiting_resource{background:#d46b13;box-shadow:0 0 0 3px #fff0e3}.ops-team-copy{min-width:0}.ops-team-copy b{display:block;color:#174f7d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-team-copy small{display:block;margin-top:2px;color:#8091a1;font-size:8px}.ops-team-side{text-align:right}.ops-team-side strong{display:block;color:#456680;font-size:9px}.ops-team-side small{display:block;margin-top:2px;color:#8797a5;font-size:8px}.ops-smart-note{display:flex;align-items:flex-start;gap:7px;margin:8px 12px 12px;padding:9px;border-radius:10px;background:#f5f9fc;border:1px solid #e0eaf2;color:#667d91;font-size:9px;line-height:1.45}.ops-smart-note>.ui-icon{width:16px;height:16px;color:#1473c8;flex:0 0 auto}.ops-smart-note b{color:#0b5fa7}.ops-empty-mini{padding:18px;text-align:center;color:#8798a7;font-size:10px}

/* Situation reports */
.report-page-head{margin-bottom:12px}.situation-filter{padding:11px 13px!important;margin-bottom:12px!important}.situation-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #e8eef4}.situation-presets>span{color:#72879b;font-size:9px;font-weight:800;margin-right:2px}.situation-preset{padding:5px 9px;border-radius:999px;border:1px solid #d9e6f0;background:#fff;color:#456a87;font-size:9px;font-weight:800;text-decoration:none}.situation-preset:hover,.situation-preset.active{background:#eaf5ff;border-color:#99c8ed;color:#0767bd}.situation-date-row{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.situation-date-row label{display:grid;gap:4px;min-width:155px}.situation-date-row label span{font-size:9px;color:#71869a;font-weight:800}.situation-date-row input{height:38px}.situation-performance{display:grid;grid-template-columns:repeat(3,minmax(130px,.7fr)) minmax(220px,1.4fr);gap:0;padding:0!important;margin-bottom:12px!important;overflow:hidden}.situation-performance>div{padding:12px 14px;border-right:1px solid #e8eef4}.situation-performance>div:last-child{border-right:0}.situation-performance span{display:flex;align-items:center;gap:5px;color:#778b9e;font-size:9px;font-weight:800}.situation-performance span .ui-icon{width:14px;height:14px}.situation-performance strong{display:block;margin-top:4px;color:#17496f;font-size:16px}.situation-progress-wrap small{display:block;margin-top:4px;color:#8796a4;font-size:8px}.situation-progress,.daily-progress{height:6px;border-radius:999px;background:#edf2f6;overflow:hidden}.situation-progress{margin-top:8px}.situation-progress i,.daily-progress i,.situation-mini-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#138bdb,#1bb578)}.situation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.situation-card{padding:0!important;overflow:hidden}.situation-rank-list{padding:5px 13px 11px}.situation-rank-item{display:grid;grid-template-columns:25px minmax(0,1fr) 36px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eef2f6}.situation-rank-item:last-child{border-bottom:0}.situation-rank-no{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#edf5fc;color:#246493;font-size:9px;font-weight:900}.situation-rank-item b{display:block;color:#244f72;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.situation-rank-item small{display:block;color:#8797a6;font-size:8px;margin-top:1px}.situation-rank-item>strong{text-align:right;color:#0b5598;font-size:14px}.situation-mini-bar{height:4px;margin-top:5px;border-radius:999px;background:#edf2f6;overflow:hidden}.situation-rank-item.area .situation-mini-bar i{background:linear-gradient(90deg,#e99619,#e7bb31)}.situation-daily-card{padding:0!important;overflow:hidden}.situation-daily-card .table-wrap{padding:0 12px 12px}.situation-table td:last-child{min-width:110px}.daily-progress{display:inline-block;width:72px;vertical-align:middle;margin-right:6px}.situation-table td:last-child small{font-size:8px;color:#778b9e}

/* Case status update — make current state unmissable before changes */
.case-status-update-card{border-color:#cfe1ef;background:linear-gradient(180deg,#fff,#fbfdff)}.case-status-title{margin-bottom:10px}.case-status-title h2{margin:0}.case-status-title p{margin:3px 0 0;color:#778b9e;font-size:9px}.case-current-status{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border-radius:12px;background:#eef7ff;border:1px solid #d5e9f8}.case-current-status-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#dcefff;color:#096cc6}.case-current-status-icon .ui-icon{width:20px;height:20px}.case-current-status small{display:block;color:#7890a4;font-size:8px}.case-current-status strong{display:block;color:#0b4e89;font-size:14px;margin-top:1px}.case-current-status span:not(.badge){display:block;color:#6e8498;font-size:8px;margin-top:2px}.case-next-suggestion{display:flex;align-items:center;gap:6px;margin:8px 0 10px;padding:7px 9px;border-radius:9px;background:#f6fbf7;border:1px solid #d8ecdf;color:#557260;font-size:9px}.case-next-suggestion>.ui-icon{width:15px;height:15px;color:#169255}.case-next-suggestion b{color:#117644}.case-status-form{display:grid;gap:9px}.case-status-form label{display:block;margin-bottom:4px;color:#587189;font-size:9px;font-weight:850}.case-status-form textarea{min-height:82px;resize:vertical}

@media(max-width:1180px){.ops-filter-row{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(145px,.55fr));}.ops-filter-row .btn{min-height:38px}.ops-dispatch-layout{grid-template-columns:minmax(0,1.45fr) minmax(270px,.65fr)}.situation-performance{grid-template-columns:repeat(3,1fr)}.situation-progress-wrap{grid-column:1/-1;border-top:1px solid #e8eef4!important}.situation-performance>div:nth-child(3){border-right:0}}
@media(max-width:900px){.ops-page-head{flex-direction:column}.ops-head-actions{justify-content:flex-start}.ops-kpi-grid,.situation-kpi-grid{grid-template-columns:repeat(2,1fr)}.ops-filter-row{grid-template-columns:1fr 1fr}.ops-search-field{grid-column:1/-1}.ops-dispatch-layout{grid-template-columns:1fr}.situation-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ops-title{font-size:22px}.ops-head-actions{width:100%}.ops-head-actions .btn{flex:1}.ops-kpi-grid,.situation-kpi-grid{gap:7px}.ops-kpi,.situation-kpi{padding:11px 12px}.ops-kpi strong,.situation-kpi strong{font-size:22px}.ops-filter-row{grid-template-columns:1fr}.ops-search-field{grid-column:auto}.ops-filter-row .btn{width:100%}.ops-case-top{align-items:flex-start}.ops-case-content{display:block}.ops-open-case{margin-top:8px;width:100%}.ops-assign-row{grid-template-columns:1fr}.ops-assign-row .btn{width:100%}.situation-date-row{display:grid;grid-template-columns:1fr 1fr}.situation-date-row label{min-width:0}.situation-date-row .btn{grid-column:1/-1}.situation-performance{grid-template-columns:1fr 1fr}.situation-performance>div{border-bottom:1px solid #e8eef4}.situation-performance>div:nth-child(2){border-right:0}.situation-performance>div:nth-child(3){border-right:1px solid #e8eef4}.situation-progress-wrap{grid-column:2;border-top:0!important}.case-current-status{grid-template-columns:34px minmax(0,1fr)}.case-current-status>.badge{grid-column:1/-1;justify-self:start}.case-current-status-icon{width:32px;height:32px}}

/* =========================================================
   v6.5.23 — Command Center Upgrade
   ========================================================= */

/* Dashboard — action-first command center */
.stat-link{color:inherit;text-decoration:none;transition:.16s ease}.stat-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,57,91,.12)}
.command-attention-panel{margin:12px 0 14px;padding:14px;border:1px solid #d9e6f0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 5px 16px rgba(22,61,96,.05)}
.command-attention-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.command-attention-head h2{display:flex;align-items:center;gap:7px;margin:2px 0 0;color:#113f69;font-size:18px}.command-attention-head h2 .ui-icon{width:20px;height:20px}.command-attention-head>a{font-size:11px;font-weight:850;color:#0a6fcf}
.command-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.command-attention-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid #dce7f0;border-radius:13px;background:#fff;text-decoration:none;color:inherit}.command-attention-item>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center}.command-attention-item>span .ui-icon{width:21px;height:21px}.command-attention-item b,.command-attention-item small{display:block}.command-attention-item b{font-size:10px;color:#647b90}.command-attention-item strong{display:block;font-size:20px;margin-top:1px;color:#163e64}.command-attention-item small{margin-top:2px;font-size:9px;color:#7b8fa2}.command-attention-item.danger>span{background:#ffecee;color:#d92f42}.command-attention-item.warning>span{background:#fff4dd;color:#bd7800}.command-attention-item.info>span{background:#eaf5ff;color:#0a70d2}
.command-attention-cases{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #e4edf4}.command-attention-cases>a{display:grid;grid-template-columns:auto minmax(0,1fr) 18px;gap:9px;align-items:center;padding:8px 9px;border-radius:10px;text-decoration:none;color:inherit}.command-attention-cases>a:hover{background:#f0f7fd}.command-attention-cases b,.command-attention-cases small{display:block}.command-attention-cases b{font-size:11px;color:#264d70}.command-attention-cases small{font-size:9px;color:#7d91a4;margin-top:2px}.command-attention-cases>a>.ui-icon{width:16px;height:16px;color:#8aa0b4}

/* Case management */
.case-quick-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}.case-quick-filter{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center;padding:10px 11px;border:1px solid #dce7f0;border-radius:12px;background:#fff;color:#45627c;text-decoration:none}.case-quick-filter>.ui-icon{width:18px;height:18px;color:#0d74d1}.case-quick-filter span{font-size:10px;font-weight:800}.case-quick-filter strong{font-size:16px;color:#113f69}.case-quick-filter.active,.case-quick-filter:hover{border-color:#86bce8;background:#eef7ff;box-shadow:0 0 0 3px rgba(21,117,205,.06)}
.case-manager-filter{padding:13px}.case-filter-grid{display:grid;grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(135px,.65fr));gap:9px;align-items:end}.case-filter-grid label{display:block}.case-filter-grid label>span{display:block;margin-bottom:4px;color:#5f7890;font-size:9px;font-weight:850}.case-filter-grid input,.case-filter-grid select{width:100%}.case-filter-actions{display:flex;gap:7px}.case-manager-results{margin-top:10px}.case-manager-table td{vertical-align:middle}.case-manager-table td b,.case-manager-table td small{display:block}.case-manager-table td small{margin-top:3px;color:#7a8ea1;font-size:9px}.case-priority-row{position:relative}.case-priority-row td:first-child{border-left:4px solid #94a3b8}.case-priority-row.priority-P1 td:first-child{border-left-color:#e53945}.case-priority-row.priority-P2 td:first-child{border-left-color:#f08c24}.case-priority-row.priority-P3 td:first-child{border-left-color:#e0b300}.case-priority-row.priority-P4 td:first-child{border-left-color:#3d8ed8}

/* Case Timeline */
.case-timeline{position:relative;display:grid;gap:0;margin-top:8px}.case-timeline:before{content:"";position:absolute;left:17px;top:20px;bottom:20px;width:2px;background:#e1eaf2}.case-timeline-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;position:relative;padding:8px 0}.case-timeline-icon{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf4fd;color:#0a70d2;border:2px solid #fff;box-shadow:0 0 0 1px #d5e6f4}.case-timeline-icon .ui-icon{width:17px;height:17px}.case-timeline-item.event-status .case-timeline-icon{background:#e9f8ef;color:#11894c}.case-timeline-item.event-priority .case-timeline-icon{background:#fff0e8;color:#d26418}.case-timeline-body{padding:8px 10px;border:1px solid #e0e9f1;border-radius:11px;background:#fff}.case-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.case-timeline-head b{color:#244d70;font-size:11px}.case-timeline-head time{white-space:nowrap;color:#8497a8;font-size:8px}.case-timeline-body p{margin:5px 0;color:#5f7890;font-size:10px}.case-timeline-body>small{display:flex;align-items:center;gap:4px;color:#8799a8;font-size:8px}.case-timeline-body>small .ui-icon{width:12px;height:12px}.case-timeline-change{display:flex;align-items:center;gap:5px;margin-top:5px;color:#71879a;font-size:9px}.case-timeline-change .ui-icon{width:12px;height:12px}.case-timeline-change strong{color:#1470c5}

/* Field team mobile workflow */
.field-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.field-mobile-head h1{display:flex;align-items:center;gap:7px;margin:3px 0;color:#123f69;font-size:23px}.field-mobile-head h1 .ui-icon{width:24px;height:24px}.field-mobile-head p{margin:3px 0;color:#72879a;font-size:10px}.field-tracker-card{border-color:#cfe2ef;background:linear-gradient(180deg,#fff,#f7fbff)}.field-tracker-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.field-tracker-top small{color:#7c91a5;font-size:9px}.field-tracker-top h2{margin:2px 0 5px;color:#0f4d86;font-size:20px}.field-tracker-actions{display:flex;gap:7px}.field-native-hint{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:9px 10px;border-radius:10px;background:#f4f8fb;border:1px solid #dfe8ef;color:#5f7488}.field-native-hint>.ui-icon{width:18px;height:18px;color:#0b72d0;flex:none}.field-native-hint b,.field-native-hint span{display:block}.field-native-hint b{font-size:10px;color:#2b5578}.field-native-hint span{font-size:9px;line-height:1.5;margin-top:2px}.field-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.field-summary-grid>div{padding:10px 12px;border:1px solid #dce7ef;border-radius:12px;background:#fff}.field-summary-grid span{display:block;color:#788da0;font-size:9px}.field-summary-grid strong{display:block;margin-top:2px;color:#124d81;font-size:18px}.field-missions{margin-top:8px}.field-mission-list{display:grid;gap:10px}.field-mission-card{position:relative;padding:14px;border:1px solid #dbe6ef;border-left:5px solid #3d8ed8;border-radius:14px;background:#fff;box-shadow:0 4px 13px rgba(21,56,87,.05)}.field-mission-card.priority-P1{border-left-color:#e53945}.field-mission-card.priority-P2{border-left-color:#f08c24}.field-mission-card.priority-P3{border-left-color:#e0b300}.field-mission-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.field-mission-top>div{display:flex;align-items:center;gap:7px}.field-mission-top b{color:#143f65;font-size:12px}.field-mission-card h3{margin:10px 0 7px;color:#0e4d85;font-size:17px}.field-mission-info{display:grid;gap:5px}.field-mission-info p{display:flex;align-items:flex-start;gap:6px;margin:0;color:#526d84;font-size:11px}.field-mission-info p>.ui-icon{width:15px;height:15px;flex:none;color:#0b74d1}.field-mission-info p.danger{color:#a74b22}.field-mission-info p.danger>.ui-icon{color:#d35a20}.field-mission-primary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.field-mission-primary-actions form,.field-mission-primary-actions .btn{width:100%}.field-mission-secondary-actions{display:flex;gap:7px;margin-top:7px}.field-mission-secondary-actions form{margin:0}.field-empty-missions{display:flex;flex-direction:column;align-items:center;gap:5px;padding:30px}.field-empty-missions>.ui-icon{width:36px;height:36px;color:#1b9b5b}.field-empty-missions b{font-size:15px}.field-empty-missions span{font-size:10px;color:#7b8fa2}

/* Public tracking timeline */
.track-public-timeline-section{margin-top:14px;padding:15px;border:1px solid #dbe8f1;border-radius:15px;background:#fff}.track-public-timeline{display:grid;gap:0;margin-top:10px}.track-public-timeline-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;position:relative;padding:7px 0}.track-public-timeline-item:not(:last-child):before{content:"";position:absolute;left:15px;top:34px;bottom:-8px;width:2px;background:#dce8f1}.track-public-timeline-dot{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef5fb;color:#5d7d99}.track-public-timeline-dot .ui-icon{width:16px;height:16px}.track-public-timeline-item.current .track-public-timeline-dot{background:#e5f3ff;color:#0871d4;box-shadow:0 0 0 4px rgba(15,116,209,.08)}.track-public-timeline-item b,.track-public-timeline-item small{display:block}.track-public-timeline-item b{font-size:11px;color:#214e75}.track-public-timeline-item small{font-size:9px;color:#8396a7;margin-top:2px}.track-reported-at span{display:block;color:#8597a6;font-size:9px;margin-top:3px}

/* Live Map — team freshness and assigned-case route links */
.legend-team.delayed{background:#f0a522}.team-live-map-marker.delayed{background:#e8961b}.team-live-map-marker.delayed span{background:#ffd36b}.team-live-map-marker.stale{background:#7d8a96!important;filter:grayscale(.45);opacity:.82}.team-live-map-marker.stale span{background:#9aa8b4}.team-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.team-popup-head>b,.team-popup-head b{display:block;color:#0d4f89;font-size:14px}.team-popup-head small{display:block;color:#71869a;font-size:9px;margin-top:2px}.team-live-pill.delayed{background:#fff0d2;color:#a36200}.team-popup-meta{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.team-popup-meta span{padding:4px 6px;border-radius:6px;background:#f2f6f9;color:#60778b;font-size:8px}.team-popup-tasks{padding:8px;border-radius:9px;background:#f8fbfd;border:1px solid #e1eaf1}.team-popup-tasks>strong{display:block;color:#516c82;font-size:9px;margin-bottom:5px}.team-popup-task{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px dashed #dce6ed}.team-popup-task:first-of-type{border-top:0}.team-popup-task b,.team-popup-task small{display:block}.team-popup-task b{font-size:10px;color:#0d5797}.team-popup-task small{font-size:8px;color:#7c8e9d}.team-popup-task a{font-size:8px;font-weight:800}.team-popup-no-task{font-size:9px;color:#8496a5}.team-popup-actions{display:flex;gap:6px;margin-top:8px}.team-popup-actions a{flex:1;text-align:center;padding:7px;border-radius:8px;background:#eef6fc;color:#0b6cc4!important;font-size:9px!important;font-weight:850}.team-popup-actions .team-popup-route{background:#0b73d8;color:#fff!important}

/* System Health + Audit */
.health-head-actions{display:flex;gap:7px}.health-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.health-summary>div{padding:11px 13px;border:1px solid #dce6ef;border-radius:12px;background:#fff}.health-summary span{display:block;color:#758a9c;font-size:9px}.health-summary strong{display:block;margin-top:2px;color:#174a75;font-size:22px}.health-summary .ok{border-color:#cfead9;background:#f7fcf9}.health-summary .ok strong{color:#168c4e}.health-summary .warn{border-color:#f0dfbd;background:#fffaf0}.health-summary .warn strong{color:#b37200}.health-summary .bad{border-color:#f2cdd2;background:#fff8f9}.health-summary .bad strong{color:#ca3342}.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.health-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;padding:12px 38px 12px 12px;border:1px solid #dbe6ee;border-radius:13px;background:#fff}.health-card-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#edf5fb;color:#0b73d0}.health-card-icon .ui-icon{width:22px;height:22px}.health-card small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#8497a6}.health-card h3{margin:1px 0 3px;color:#214d71;font-size:13px}.health-card p{margin:0;color:#6e8294;font-size:9px;line-height:1.45}.health-dot{position:absolute;right:14px;top:16px;width:10px;height:10px;border-radius:50%;background:#20a765;box-shadow:0 0 0 4px rgba(32,167,101,.1)}.health-card.warn .health-dot{background:#e29a1b;box-shadow:0 0 0 4px rgba(226,154,27,.1)}.health-card.bad .health-dot{background:#db4050;box-shadow:0 0 0 4px rgba(219,64,80,.1)}.health-card.warn{border-color:#eddcb8}.health-card.bad{border-color:#efcbd0}.health-guidance{margin-top:10px}.health-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.health-checklist span{display:flex;align-items:center;gap:6px;padding:8px;border-radius:9px;background:#f5f9fc;color:#537087;font-size:9px}.health-checklist .ui-icon{width:15px;height:15px;color:#0b73d0}.health-audit-list{display:grid;gap:5px}.health-audit-list>div{display:grid;grid-template-columns:125px 180px minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:8px}.health-audit-list>div:nth-child(odd){background:#f8fafc}.health-audit-list time,.health-audit-list span{font-size:9px;color:#71869a}.health-audit-list b{font-size:9px;color:#2d5779}.audit-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.audit-kpi-grid>div{padding:10px 12px;border:1px solid #dbe6ef;border-radius:11px;background:#fff}.audit-kpi-grid span{display:block;color:#778b9d;font-size:9px}.audit-kpi-grid strong{display:block;color:#174d7c;font-size:21px;margin-top:2px}.audit-filter{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;gap:8px;align-items:end;margin-bottom:10px}.audit-filter label>span{display:block;margin-bottom:4px;color:#61788d;font-size:9px;font-weight:850}.audit-action{display:inline-block;padding:4px 6px;border-radius:6px;background:#eef5fb;color:#315f84;font-size:8px;font-weight:850}.audit-table td{vertical-align:top}

@media(max-width:980px){.command-attention-grid{grid-template-columns:1fr 1fr}.case-quick-filters{grid-template-columns:repeat(2,1fr)}.case-filter-grid{grid-template-columns:1fr 1fr}.case-filter-search{grid-column:1/-1}.field-mission-primary-actions{grid-template-columns:1fr 1fr}.health-grid{grid-template-columns:1fr}.health-checklist{grid-template-columns:1fr 1fr}.audit-filter{grid-template-columns:1fr 1fr}.audit-kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.command-attention-head,.field-mobile-head,.field-tracker-top{flex-direction:column}.command-attention-grid{grid-template-columns:1fr}.case-quick-filters{grid-template-columns:1fr}.case-filter-grid{grid-template-columns:1fr}.case-filter-search{grid-column:auto}.case-filter-actions{display:grid;grid-template-columns:1fr 1fr}.case-manager-table{min-width:860px}.case-timeline-head{display:block}.case-timeline-head time{display:block;margin-top:3px}.field-tracker-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.field-tracker-actions .btn{width:100%}.field-summary-grid{grid-template-columns:1fr 1fr}.field-summary-grid>div:last-child{grid-column:1/-1}.field-mission-primary-actions{grid-template-columns:1fr}.field-mission-secondary-actions{display:grid;grid-template-columns:1fr 1fr}.field-mission-secondary-actions .btn{width:100%}.health-summary{grid-template-columns:1fr 1fr}.health-checklist{grid-template-columns:1fr}.health-audit-list>div{grid-template-columns:1fr}.audit-filter{grid-template-columns:1fr}.audit-kpi-grid{grid-template-columns:1fr 1fr}}
.team-live-map-marker.offline{background:#64748b!important;filter:grayscale(.7);opacity:.68}.team-live-map-marker.offline span{background:#cbd5e1}.team-live-pill.offline{background:#eef1f4;color:#66798a}

/* =========================================================
   v6.5.24 Live Map — Siren badge above rescue-team markers
   ========================================================= */
.team-live-div-icon{overflow:visible!important}
.team-live-marker-stack{
  position:relative;width:54px;height:64px;display:flex;align-items:flex-end;justify-content:center;
  overflow:visible;filter:drop-shadow(0 5px 9px rgba(8,63,116,.18));
}
.team-live-marker-stack .team-live-map-marker{flex:0 0 auto}
.team-siren-badge{
  position:absolute;z-index:4;left:50%;top:-2px;transform:translateX(-50%);
  width:27px;height:25px;border-radius:9px 9px 7px 7px;
  display:grid;place-items:center;background:#ef3340;border:2px solid #fff;
  box-shadow:0 3px 9px rgba(148,24,34,.35),0 0 0 2px rgba(239,51,64,.13);
  color:#fff;
}
.team-siren-badge svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.25}
.team-siren-badge.fresh{animation:teamSirenPulse 1.7s ease-in-out infinite}
.team-siren-badge.delayed{background:#e8961b;box-shadow:0 3px 9px rgba(150,91,0,.28),0 0 0 2px rgba(232,150,27,.13)}
.team-siren-badge.stale,.team-siren-badge.offline{background:#71808e;box-shadow:0 3px 8px rgba(61,76,90,.22);opacity:.86}
@keyframes teamSirenPulse{
  0%,100%{box-shadow:0 3px 9px rgba(148,24,34,.35),0 0 0 2px rgba(239,51,64,.12)}
  50%{box-shadow:0 3px 10px rgba(148,24,34,.4),0 0 0 7px rgba(239,51,64,.16)}
}
.team-legend-item{gap:4px!important}
.legend-siren{width:16px!important;height:16px!important;color:#ef3340;stroke-width:2.3}
.legend-siren.delayed{color:#e8961b}
.legend-siren.stale{color:#71808e}
@media (prefers-reduced-motion:reduce){.team-siren-badge.fresh{animation:none}}


/* =========================================================
   v6.5.25 Forms — red required-field asterisk
   ========================================================= */
.required-mark{
  color:#dc2626!important;font-weight:900;margin-left:2px;line-height:1;
}

/* =========================================================
   v6.5.26 — New-case notification center / bell
   ========================================================= */
.command-header{overflow:visible}
.notification-bell-wrap{position:relative;z-index:45}
.notification-bell-button{border:0;color:inherit;cursor:pointer;padding:0;font:inherit}
.notification-bell-button:hover,.notification-bell-button[aria-expanded="true"]{background:rgba(255,255,255,.28)}
.notification-popover{position:absolute;right:0;top:52px;width:min(390px,calc(100vw - 28px));background:#fff;color:var(--text);border:1px solid #d7e4f0;border-radius:16px;box-shadow:0 22px 55px rgba(10,50,90,.24);overflow:hidden;z-index:120}
.notification-popover[hidden]{display:none!important}
.notification-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px 12px;background:#f7fbff;border-bottom:1px solid #e3edf6}
.notification-popover-head b{display:block;font-size:15px;color:#113d68}.notification-popover-head small{display:block;margin-top:2px;color:#748ba1;font-size:11px}.notification-popover-head a{font-size:12px;font-weight:800;color:#0873d9}
.notification-popover-list{max-height:365px;overflow:auto}
.notification-popover-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:12px 13px;border-bottom:1px solid #eef3f8;background:#fff}
.notification-popover-item:hover{background:#f9fcff}.notification-popover-item>a{min-width:0}.notification-popover-item>a>div{display:flex;align-items:center;gap:7px;margin-bottom:4px}.notification-popover-item strong{font-size:13px;color:#0b4f94}.notification-popover-item small{display:block;color:#6d8398;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-read-btn{border:1px solid #c6d9e8;background:#fff;color:#19704d;border-radius:9px;padding:7px 8px;font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}.notification-read-btn:hover{background:#edf9f3;border-color:#9ed2b8}
.notification-read-all{padding:10px 12px;background:#f8fbfe}.notification-read-all button{width:100%;border:0;border-radius:10px;background:#eaf7f0;color:#16704b;padding:10px 12px;font-weight:850;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.notification-read-all button:hover{background:#dcf1e6}
.notification-popover-empty{padding:24px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#6e879e}.notification-popover-empty .ui-icon{width:30px;height:30px;color:#0aa36f}
.notification-center-head .case-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-center-head form{margin:0}
.case-notification-center{margin-bottom:18px}.section-subtitle{margin:4px 0 0;color:#74899c;font-size:12px}.notification-unread-summary{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#fff0f2;color:#c62836;font-size:11px;font-weight:850}
.case-notification-list{display:flex;flex-direction:column}.case-notification-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-top:1px solid #edf2f7}.case-notification-row:first-child{border-top:0}.case-notification-row.is-unread{background:linear-gradient(90deg,#fff8f9,#fff 52%);box-shadow:inset 4px 0 #ef3340}.case-notification-row.is-read{opacity:.78}.case-notification-icon{width:42px;height:42px;border-radius:13px;background:#edf6ff;color:#0873d9;display:grid;place-items:center}.is-unread .case-notification-icon{background:#fff0f2;color:#e12e3c}.case-notification-icon .ui-icon{width:22px;height:22px}
.case-notification-copy{min-width:0}.case-notification-copy>b{display:block;margin:3px 0;color:#173f67;font-size:13px}.case-notification-copy>small{display:block;color:#70879d;font-size:11px}.case-notification-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.case-notification-title strong{font-size:14px;color:#075db3}.unread-dot-label{padding:3px 7px;border-radius:999px;background:#ef3340;color:#fff;font-size:9px;font-weight:900}.case-notification-action form{margin:0}.read-state{display:inline-flex;align-items:center;gap:5px;color:#30805d;font-size:11px;font-weight:800}.read-state .ui-icon{width:16px;height:16px}
.notification-empty-state{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.notification-empty-state .ui-icon{width:34px;height:34px;color:#0aa36f}.notification-empty-state b{color:#365d7d}.notification-empty-state span{font-size:11px;color:#7b8fa2}.section-divider-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:20px 2px 10px}.section-divider-title h2{margin:0}.section-divider-title small{color:#7a8ea2}
@media(max-width:760px){.notification-popover{position:fixed;left:10px;right:10px;top:72px;width:auto;max-height:72vh}.notification-popover-list{max-height:52vh}.case-notification-row{grid-template-columns:40px minmax(0,1fr);gap:9px}.case-notification-action{grid-column:2}.case-notification-action .btn{width:100%}.section-divider-title{align-items:flex-start;flex-direction:column}}

/* =========================================================
   v6.5.27 — Enterprise Geospatial Command UI
   Screenshot-inspired staff shell + full-screen GIS workspace
   ========================================================= */
:root{
 --enterprise-teal:#005c5e;--enterprise-teal-2:#00484f;--enterprise-accent:#12c8c8;
 --enterprise-ink:#102f43;--enterprise-muted:#6c8190;--enterprise-line:#dce6e8;
 --enterprise-panel:rgba(255,255,255,.97);--enterprise-shadow:0 14px 38px rgba(8,45,57,.16);
}
.app-body{background:#f2f5f5;color:var(--enterprise-ink)}
.enterprise-shell{margin-left:0!important;min-height:100vh;background:#f2f5f5}
.enterprise-header{height:76px;position:sticky;top:0;z-index:3000;display:grid;grid-template-columns:minmax(330px,.8fr) minmax(520px,1.45fr) minmax(270px,.72fr);align-items:stretch;background:linear-gradient(100deg,#005052 0%,#005f61 52%,#00454d 100%);color:#fff;box-shadow:0 2px 14px rgba(0,45,50,.22);padding:0 22px;gap:16px}
.enterprise-brand{display:flex;align-items:center;gap:12px;min-width:0;color:#fff}.enterprise-brand img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.16))}.enterprise-brand>span{min-width:0}.enterprise-brand strong{display:block;font-size:20px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enterprise-brand small{display:block;margin-top:4px;font-size:11px;color:#d2eeee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.enterprise-nav{display:flex;align-items:stretch;justify-content:center;gap:4px;min-width:0}.enterprise-nav>a,.enterprise-nav-group>button{height:76px;position:relative;display:flex;align-items:center;justify-content:center;gap:9px;border:0;background:transparent;color:#e7f6f6;padding:0 17px;font-weight:800;font-size:14px;white-space:nowrap;cursor:pointer}.enterprise-nav>a:after,.enterprise-nav-group>button:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:transparent}.enterprise-nav>a:hover,.enterprise-nav>a.active,.enterprise-nav-group:hover>button,.enterprise-nav-group:focus-within>button,.enterprise-nav-group.active>button{color:#31e1df}.enterprise-nav>a.active:after,.enterprise-nav-group.active>button:after{background:#31e1df}.enterprise-nav .nav-ui-icon{width:22px;height:22px}.nav-chevron{width:13px;height:13px;opacity:.8;margin-left:2px}
.enterprise-nav-group{position:relative;display:flex;align-items:stretch}.enterprise-nav-menu{position:absolute;top:70px;left:0;width:330px;padding:8px;background:#fff;color:var(--enterprise-ink);border:1px solid #d8e4e5;border-radius:13px;box-shadow:0 20px 48px rgba(8,44,51,.24);opacity:0;visibility:hidden;transform:translateY(7px);transition:.15s ease;z-index:3100}.enterprise-nav-menu-right{left:auto;right:0}.enterprise-nav-group:hover .enterprise-nav-menu,.enterprise-nav-group:focus-within .enterprise-nav-menu{opacity:1;visibility:visible;transform:none}.enterprise-nav-menu>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;color:#214453}.enterprise-nav-menu>a:hover{background:#edf8f7;color:#006c6e}.enterprise-nav-menu>a>.ui-icon{width:20px;height:20px;color:#0a8f91}.enterprise-nav-menu>a span b{display:block;font-size:12px}.enterprise-nav-menu>a span small{display:block;margin-top:2px;font-size:10px;color:#81939b;line-height:1.35}.enterprise-nav-menu .nav-count{align-self:center}
.enterprise-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.enterprise-critical{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;background:rgba(236,53,66,.18);border:1px solid rgba(255,150,157,.22);color:#ffdfe1;font-size:11px;font-weight:800}.enterprise-critical .ui-icon{width:17px;height:17px}.enterprise-critical b{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#f13d4a;color:#fff;font-size:10px}
.enterprise-header .bell{width:40px;height:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;cursor:pointer}.enterprise-header .bell:hover{background:rgba(255,255,255,.15)}.enterprise-header .bell .ui-icon{width:21px;height:21px}.enterprise-user-menu{position:relative;height:100%;display:flex;align-items:center}.enterprise-header .user-pill{min-width:0;max-width:225px;padding:7px 4px 7px 7px;border-radius:10px;color:#fff}.enterprise-header .user-pill:hover{background:rgba(255,255,255,.08)}.enterprise-header .avatar{width:39px;height:39px;border:2px solid rgba(255,255,255,.75);background:#e7f4f4;color:#006265;flex:0 0 auto}.enterprise-header .user-pill>div:nth-child(2){min-width:0}.enterprise-header .user-pill b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enterprise-header .user-pill small{color:#c9e6e6}.user-chevron{width:14px;height:14px;opacity:.82;margin-left:2px}.enterprise-user-dropdown{position:absolute;right:0;top:65px;width:190px;padding:7px;background:#fff;color:#214453;border:1px solid #d8e4e5;border-radius:11px;box-shadow:0 18px 42px rgba(8,44,51,.22);opacity:0;visibility:hidden;transform:translateY(7px);transition:.15s ease}.enterprise-user-menu:hover .enterprise-user-dropdown,.enterprise-user-menu:focus-within .enterprise-user-dropdown{opacity:1;visibility:visible;transform:none}.enterprise-user-dropdown a{display:flex;align-items:center;gap:9px;padding:10px;border-radius:8px;font-size:12px;font-weight:750}.enterprise-user-dropdown a:hover{background:#edf8f7;color:#006c6e}.enterprise-user-dropdown .ui-icon{width:18px;height:18px}
.enterprise-content{max-width:none!important;width:100%;padding:18px 22px 28px}.enterprise-content>.card:first-child{margin-top:0}.app-body .card{border-color:#dfe7e8;border-radius:12px;box-shadow:0 3px 12px rgba(27,59,66,.055)}.app-body .btn-primary{background:#087f82}.app-body .btn-outline{color:#087f82;border-color:#86c9ca}.app-body .btn-outline:hover{background:#edfafa}.app-body .page-link.active{background:#087f82;border-color:#087f82}.app-body .form-group input:focus,.app-body .form-group select:focus,.app-body .form-group textarea:focus,.app-body .filter-field input:focus,.app-body .filter-field select:focus{border-color:#5abec0;box-shadow:0 0 0 3px rgba(8,127,130,.11)}
.enterprise-mobile-drawer{display:none}.enterprise-mobile-menu{display:none!important}

/* Live GIS workspace */
.page-live_map{overflow:hidden}.page-live_map .enterprise-content{padding:0!important}.page-live_map .system-credit-footer{display:none}.page-live_map .enterprise-shell{height:100vh;overflow:hidden}.page-live_map .realtime-sound-toggle{left:410px;right:auto;bottom:18px;z-index:2600;background:linear-gradient(135deg,#006f72,#00575a)}
.geo-workspace{position:relative;height:calc(100vh - 76px);width:100%;overflow:hidden;background:#dce9e5}.geo-map-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important;overflow:hidden!important;contain:layout paint}.geo-map-stage #map{width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:#d4e1de}.geo-map-stage .leaflet-container{font-family:inherit}.geo-map-stage .leaflet-control-zoom{border:0!important;box-shadow:0 5px 18px rgba(7,46,57,.2)!important;margin-right:18px!important;margin-bottom:60px!important}.geo-map-stage .leaflet-control-zoom a{width:40px!important;height:39px!important;line-height:38px!important;color:#154859!important;border-color:#e1e9ea!important}.geo-map-stage .leaflet-control-scale{margin-right:18px!important;margin-bottom:16px!important}.geo-map-stage .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.82)!important}
.geo-control-panel.map-layer-panel{position:absolute!important;z-index:2100!important;left:14px!important;right:auto!important;top:14px!important;bottom:14px!important;width:370px!important;max-height:none!important;display:flex!important;flex-direction:column;background:var(--enterprise-panel)!important;border:1px solid rgba(215,229,230,.96)!important;border-radius:14px!important;box-shadow:var(--enterprise-shadow)!important;backdrop-filter:blur(15px);overflow:hidden!important;transform:translateX(calc(-100% - 30px))!important;transition:transform .22s ease!important}.geo-control-panel.map-layer-panel.open{transform:none!important}.geo-agency-card{min-height:104px;display:grid;grid-template-columns:68px minmax(0,1fr) 36px;gap:12px;align-items:center;padding:15px 13px;border-bottom:1px solid #e2e9e9;background:#fff}.geo-agency-card img{width:66px;height:66px;object-fit:contain;border-radius:50%;background:#f7fbfb;padding:2px}.geo-agency-card strong{display:block;font-size:16px;color:#173b49;line-height:1.2}.geo-agency-card b{display:block;margin-top:3px;font-size:11px;color:#6f858c}.geo-agency-card small{display:block;margin-top:4px;font-size:9px;line-height:1.45;color:#8a9ba0}.geo-agency-card>button{width:34px;height:44px;border:0;background:#f0f6f6;color:#2e5d66;border-radius:8px;display:grid;place-items:center;cursor:pointer}.geo-agency-card>button .ui-icon{width:18px;height:18px}.geo-panel-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#b8ccce transparent}.geo-panel-section{padding:13px 15px;border-bottom:1px solid #e4ebeb}.geo-panel-section h3,.geo-section-heading h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#183c4c;font-size:12px;font-weight:850}.geo-panel-section h3 .ui-icon,.geo-section-heading h3 .ui-icon{width:17px;height:17px;color:#078e91}.geo-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.geo-section-heading>span .ui-icon{width:14px;height:14px;color:#8a9ca2}.geo-area-select{height:46px;display:grid;grid-template-columns:22px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:0 11px;border:1px solid #d5e0e1;border-radius:8px;background:#fbfdfd;color:#28505b}.geo-area-select>.ui-icon{width:17px;height:17px;color:#138a8d}.geo-area-select>span small{display:block;font-size:8px;color:#8a9a9f}.geo-area-select>span b{display:block;margin-top:1px;font-size:11px}.geo-area-select>.ui-icon:last-child{width:13px;height:13px;color:#71878d}
.geo-basemap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.geo-basemap-option{display:block;min-width:0;cursor:pointer;text-align:center}.geo-basemap-option input{position:absolute;opacity:0;pointer-events:none}.geo-basemap-preview{height:55px;border:2px solid transparent;border-radius:8px;display:block;overflow:hidden;background:#dce6e2;box-shadow:inset 0 0 0 1px rgba(16,53,62,.06);position:relative}.geo-basemap-preview:after{content:"";position:absolute;inset:0;opacity:.9}.geo-basemap-preview.satellite{background:linear-gradient(145deg,#2e5b49 0 20%,#809a68 20% 39%,#8b7453 39% 52%,#335c48 52% 68%,#7e9f76 68%)}.geo-basemap-preview.satellite:after{background:linear-gradient(25deg,transparent 45%,rgba(210,217,192,.8) 46% 49%,transparent 50%),linear-gradient(100deg,transparent 60%,rgba(180,201,183,.55) 61% 64%,transparent 65%)}.geo-basemap-preview.street{background:#f5f2e7}.geo-basemap-preview.street:after{background:linear-gradient(30deg,transparent 42%,#e1b96f 43% 46%,transparent 47%),linear-gradient(112deg,transparent 57%,#d5c8a2 58% 61%,transparent 62%),linear-gradient(0deg,transparent 70%,#b7d5c4 71% 76%,transparent 77%)}.geo-basemap-preview.light{background:#f5f5f3}.geo-basemap-preview.light:after{background:linear-gradient(25deg,transparent 48%,#d0d5d5 49% 51%,transparent 52%),linear-gradient(110deg,transparent 58%,#e0e2e2 59% 62%,transparent 63%)}.geo-basemap-preview.terrain{background:linear-gradient(145deg,#d6ead0,#9cbd8d 45%,#e5d7a8 70%,#bdd4a8)}.geo-basemap-preview.terrain:after{background:radial-gradient(ellipse at 40% 30%,transparent 0 22%,rgba(87,122,76,.25) 24% 26%,transparent 28% 36%,rgba(87,122,76,.18) 38% 40%,transparent 42%)}.geo-basemap-option.selected .geo-basemap-preview{border-color:#0e9697;box-shadow:0 0 0 2px rgba(14,150,151,.12)}.geo-basemap-option b{display:block;margin-top:5px;font-size:8px;color:#60777d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-basemap-option.selected b{color:#05777a}
.geo-simple-toggle,.geo-layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;color:#31535e}.geo-simple-toggle>span:first-child{display:flex;align-items:center;gap:8px;font-size:10px}.geo-simple-toggle .ui-icon{width:15px;height:15px;color:#178b8d}.geo-layer-row{grid-template-columns:28px minmax(0,1fr) auto;padding:6px 0;border-radius:8px;cursor:pointer}.geo-layer-row:hover{background:#f3f8f8;padding-left:5px;padding-right:5px}.geo-layer-symbol{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--layer-color,#168b8d) 13%,white);color:var(--layer-color,#168b8d)}.geo-layer-symbol .ui-icon{width:16px;height:16px}.geo-layer-symbol.case-core{background:#fff0f1;color:#ee3345}.geo-layer-symbol.team-core{background:#eaf5ff;color:#1379d4}.geo-layer-copy b{display:block;font-size:10px;color:#2c4d58}.geo-layer-copy small{display:block;margin-top:2px;font-size:8px;color:#92a1a5}.geo-layer-copy em{font-style:normal;font-weight:850;color:#0a8587}.geo-switch{position:relative;width:35px;height:20px;display:inline-flex;align-items:center}.geo-switch input{position:absolute;opacity:0;width:0;height:0}.geo-switch i{position:absolute;inset:0;border-radius:999px;background:#cfdadb;transition:.15s ease;box-shadow:inset 0 0 0 1px rgba(38,70,76,.06)}.geo-switch i:after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.15s ease}.geo-switch input:checked+i{background:#11a88e}.geo-switch input:checked+i:after{transform:translateX(15px)}.geo-panel-footer{display:flex;gap:6px;padding:9px 10px;border-top:1px solid #e1e9e9;background:#fff}.geo-panel-footer button,.geo-panel-footer a{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 6px;border:1px solid #dbe5e6;border-radius:8px;background:#f7fbfb;color:#43636b;font-size:8px;font-weight:800;cursor:pointer}.geo-panel-footer .ui-icon{width:14px;height:14px}.geo-panel-footer button:hover,.geo-panel-footer a:hover{background:#eaf7f6;color:#007d80;border-color:#add9d7}
.geo-panel-reopen{position:absolute;z-index:2050;left:16px;top:16px;display:flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid rgba(255,255,255,.8);border-radius:10px;background:rgba(0,111,115,.94);color:#fff;box-shadow:0 8px 24px rgba(0,58,63,.23);font-size:10px;font-weight:850;cursor:pointer}.geo-panel-reopen .ui-icon{width:17px;height:17px}.geo-control-panel.open~.geo-panel-reopen{opacity:0;pointer-events:none}
.geo-map-search{position:absolute;z-index:2050;right:16px;top:16px;width:min(430px,calc(100% - 460px));height:48px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 7px 0 13px;border:1px solid rgba(220,231,231,.95);border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(9,46,56,.17);backdrop-filter:blur(10px)}.geo-map-search>.ui-icon{width:20px;height:20px;color:#294e5d}.geo-map-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:#1f4654;font-size:12px}.geo-map-search input::placeholder{color:#86979c}.geo-map-search>button{border:0;border-radius:7px;background:#eaf7f6;color:#087b7d;padding:7px 9px;font-size:9px;font-weight:850;cursor:pointer}.geo-search-feedback{position:absolute;top:53px;left:0;right:0;padding:9px 11px;border:1px solid #dce6e6;border-radius:8px;background:#fff;color:#526e77;font-size:10px;box-shadow:0 8px 20px rgba(9,46,56,.14)}
.geo-live-status.live-status{position:absolute;z-index:2040;right:16px;top:73px;min-width:180px;width:auto;grid-template-columns:9px auto;padding:7px 10px;border-radius:9px;background:rgba(235,250,245,.95);box-shadow:0 5px 14px rgba(9,46,56,.11)}.geo-live-status.live-status div{min-width:0}.geo-live-status.live-status b{font-size:9px}.geo-live-status.live-status small{font-size:8px}.geo-live-status.live-status.offline{background:rgba(255,246,237,.96)}
.geo-map-tools{position:absolute;z-index:2050;right:16px;top:128px;display:flex;flex-direction:column;gap:8px}.geo-map-tools button{width:67px;min-height:67px;border:1px solid rgba(222,232,233,.96);border-radius:10px;background:rgba(255,255,255,.96);color:#315461;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 6px 18px rgba(8,46,56,.13);cursor:pointer;font-size:8px;font-weight:800;line-height:1.15;text-align:center}.geo-map-tools button:hover,.geo-map-tools button.active{background:#e8f7f6;color:#007d80;border-color:#9ed3d2}.geo-map-tools button .ui-icon{width:21px;height:21px;color:#0d7180}.geo-map-tools button.active .ui-icon{color:#008b8d}
.geo-map-legend{position:absolute;z-index:2040;right:98px;bottom:18px;width:335px;max-height:390px;border:1px solid rgba(219,231,231,.98);border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 12px 32px rgba(8,45,55,.18);overflow:hidden;backdrop-filter:blur(12px);transition:.18s ease}.geo-map-legend.collapsed{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none}.geo-legend-head{display:flex;align-items:center;justify-content:space-between;padding:12px 13px 9px}.geo-legend-head>div{display:flex;align-items:center;gap:8px;color:#183f50}.geo-legend-head .ui-icon{width:18px;height:18px;color:#087f82}.geo-legend-head b{font-size:13px}.geo-legend-head>button{width:28px;height:28px;border:0;border-radius:7px;background:#f1f6f6;color:#6d858b;display:grid;place-items:center;cursor:pointer}.geo-legend-head>button .ui-icon{width:16px;height:16px}.geo-legend-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 13px;border-bottom:1px solid #e4ebeb}.geo-legend-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 5px;color:#677d84;font-size:9px;font-weight:800}.geo-legend-tabs button.active{color:#008487;border-color:#09a7a6}.geo-legend-body{padding:12px 14px 13px}.geo-legend-body>strong{display:block;margin:0 0 8px;color:#294b57;font-size:9px}.geo-legend-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-bottom:12px}.geo-legend-list span{display:flex;align-items:center;gap:7px;color:#5f767d;font-size:8px}.geo-legend-list i{width:13px;height:13px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(18,56,66,.16);flex:0 0 auto}.geo-legend-list i.status-new{background:#ef3340}.geo-legend-list i.status-verifying{background:#ff8b17}.geo-legend-list i.status-assigned{background:#1788dc}.geo-legend-list i.status-resolved{background:#18bf5d}.geo-legend-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.geo-legend-kpis>div{padding:8px 9px;border-radius:8px;background:#f3f8f8;border:1px solid #e0e9e9}.geo-legend-kpis b{display:block;color:#087b7d;font-size:18px}.geo-legend-kpis span{font-size:8px;color:#7d9196}.geo-measure-readout{margin-top:9px;display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:8px;background:#eaf8f7;color:#087b7d;font-size:9px;font-weight:750}.geo-measure-readout .ui-icon{width:15px;height:15px}.geo-measure-tooltip{background:#006d70!important;color:#fff!important;border:0!important;box-shadow:0 4px 12px rgba(0,50,55,.22)!important;font-weight:850}.geo-measure-tooltip:before{border-top-color:#006d70!important}.geo-map-stage #map.measure-mode{cursor:crosshair}
.geo-workspace:fullscreen,.geo-workspace.pseudo-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:20000!important;background:#dce9e5}.geo-workspace:fullscreen .geo-map-stage,.geo-workspace.pseudo-fullscreen .geo-map-stage{height:100vh!important}.geo-workspace:fullscreen .geo-control-panel,.geo-workspace.pseudo-fullscreen .geo-control-panel{top:14px!important;bottom:14px!important}

@media(max-width:1320px){
 .enterprise-header{grid-template-columns:minmax(270px,.75fr) minmax(490px,1.35fr) minmax(240px,.7fr);padding:0 14px;gap:8px}.enterprise-brand strong{font-size:17px}.enterprise-brand small{font-size:9px}.enterprise-nav>a,.enterprise-nav-group>button{padding:0 11px;font-size:12px}.enterprise-nav .nav-ui-icon{width:19px;height:19px}.enterprise-header .user-pill{max-width:180px}.enterprise-critical{display:none}
 .geo-map-search{width:min(380px,calc(100% - 440px))}
}
@media(max-width:1050px){
 .enterprise-header{grid-template-columns:minmax(0,1fr) auto;height:70px;padding-left:65px}.enterprise-nav{display:none}.enterprise-actions{grid-column:2}.enterprise-brand small{max-width:360px}.enterprise-mobile-menu{display:grid!important;place-items:center;position:fixed;z-index:3400;left:14px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(0,57,62,.86);color:#fff}.enterprise-mobile-menu .ui-icon{width:23px;height:23px}.enterprise-mobile-drawer{display:block;position:fixed;z-index:3350;left:0;top:0;bottom:0;width:min(340px,86vw);background:#fff;color:#214653;box-shadow:12px 0 38px rgba(3,42,47,.22);transform:translateX(-105%);transition:.2s ease;overflow:auto}.sidebar-open .enterprise-mobile-drawer{transform:none}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:3300;background:rgba(4,36,40,.5)}.enterprise-mobile-brand{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:10px;align-items:center;padding:14px;border-bottom:1px solid #e2eaea}.enterprise-mobile-brand img{width:46px;height:46px;object-fit:contain}.enterprise-mobile-brand b{display:block;font-size:13px}.enterprise-mobile-brand small{display:block;margin-top:2px;color:#7e9298;font-size:9px}.enterprise-mobile-brand button{width:32px;height:32px;border:0;border-radius:8px;background:#f1f6f6;color:#658087;display:grid;place-items:center}.enterprise-mobile-drawer nav{display:flex;flex-direction:column;padding:9px}.enterprise-mobile-drawer nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;font-size:12px;font-weight:750}.enterprise-mobile-drawer nav a:hover{background:#edf8f7;color:#007d80}.enterprise-mobile-drawer nav .ui-icon{width:18px;height:18px;color:#0a8a8d}
 .page-live_map .geo-workspace{height:calc(100vh - 70px)}.geo-map-search{left:360px;right:14px;width:auto}.geo-map-tools{top:126px}
}
@media(max-width:760px){
 .enterprise-header{height:66px;padding:0 10px 0 62px;grid-template-columns:minmax(0,1fr) auto}.enterprise-brand img{width:42px;height:42px}.enterprise-brand strong{font-size:14px}.enterprise-brand small{display:none}.enterprise-actions{gap:7px}.enterprise-header .user-pill>div:nth-child(2),.enterprise-header .user-chevron{display:none}.enterprise-header .user-pill{padding:0}.enterprise-header .avatar{width:36px;height:36px}.enterprise-header .bell{width:36px;height:36px}.enterprise-mobile-menu{top:12px;left:11px}.enterprise-content{padding:11px!important}
 .page-live_map .geo-workspace{height:calc(100vh - 66px)}.geo-control-panel.map-layer-panel{left:8px!important;right:8px!important;top:8px!important;bottom:8px!important;width:auto!important}.geo-agency-card{min-height:90px;grid-template-columns:56px minmax(0,1fr) 32px;padding:11px}.geo-agency-card img{width:54px;height:54px}.geo-basemap-grid{grid-template-columns:repeat(4,1fr)}.geo-basemap-preview{height:44px}.geo-panel-reopen{left:9px;top:9px}.geo-map-search{left:9px;right:9px;top:9px;width:auto;height:44px}.geo-control-panel.open~.geo-panel-reopen{display:none}.geo-control-panel.open~.geo-map-search{opacity:0;pointer-events:none}.geo-live-status.live-status{top:59px;right:9px}.geo-map-tools{top:auto;right:9px;bottom:80px;flex-direction:row;gap:5px;max-width:calc(100vw - 18px);overflow-x:auto}.geo-map-tools button{width:54px;min-width:54px;min-height:54px;font-size:7px}.geo-map-tools button .ui-icon{width:18px;height:18px}.geo-map-legend{right:9px;left:9px;bottom:142px;width:auto;max-height:300px}.geo-legend-list{grid-template-columns:1fr 1fr}.geo-map-stage .leaflet-control-zoom{margin-right:9px!important;margin-bottom:17px!important}.geo-map-stage .leaflet-control-scale{display:none}.page-live_map .realtime-sound-toggle{left:auto;right:9px;bottom:14px}.geo-map-stage .leaflet-control-attribution{max-width:75vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}


/* ==========================================================================\n   v6.5.29 — Executive Overview + Notification Center + body-level water UI\n   ========================================================================== */
.page-dashboard .enterprise-content{padding:22px 24px 30px;background:#f4f8fa}
.overview-v6529{max-width:1780px;margin:0 auto}.overview-title-v6529{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.overview-title-v6529 h1{font-size:31px;line-height:1.15;margin:4px 0 6px;color:#0b2940;letter-spacing:-.02em}.overview-title-v6529 p{margin:0;color:#64748b}.overview-refresh-v6529{display:flex;align-items:center;gap:10px}.overview-refresh-v6529>div{height:52px;display:flex;align-items:center;gap:9px;padding:0 14px;background:#fff;border:1px solid #dce7ec;border-radius:12px;box-shadow:0 5px 18px rgba(11,41,64,.05)}.overview-refresh-v6529>div .ui-icon{width:20px;height:20px;color:#0b8b8d}.overview-refresh-v6529 span{display:grid}.overview-refresh-v6529 small{font-size:11px;color:#8a9aa8}.overview-refresh-v6529 b{font-size:13px;color:#17364d}
.overview-kpi-grid-v6529{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.overview-kpi-v6529{min-height:118px;padding:17px 16px;background:#fff;border:1px solid #dfe9ee;border-radius:14px;display:flex;gap:12px;text-decoration:none;color:#17364d;box-shadow:0 8px 22px rgba(16,50,68,.055);transition:.18s ease}.overview-kpi-v6529:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,50,68,.1)}.overview-kpi-v6529>span{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.overview-kpi-v6529>span .ui-icon{width:22px;height:22px}.overview-kpi-v6529 div{display:grid;align-content:center}.overview-kpi-v6529 small{font-weight:800;color:#5e7180}.overview-kpi-v6529 strong{font-size:30px;line-height:1.08;color:#102f48;margin:2px 0}.overview-kpi-v6529 em{font-style:normal;font-size:11px;color:#8a99a6}.overview-kpi-v6529.blue>span{background:#e7f3ff;color:#1687d9}.overview-kpi-v6529.orange>span{background:#fff1df;color:#f59e0b}.overview-kpi-v6529.cyan>span{background:#e4f8fb;color:#0e91a6}.overview-kpi-v6529.green>span{background:#e6f8ef;color:#0aa36f}.overview-kpi-v6529.red>span{background:#ffe8ea;color:#ed3142}.overview-kpi-v6529.indigo>span{background:#ecedff;color:#5658d8}
.overview-main-grid-v6529{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr) minmax(320px,.83fr);gap:12px;margin-bottom:12px}.overview-v6529 .panel{border:1px solid #dce7ec;border-radius:15px;box-shadow:0 8px 22px rgba(16,50,68,.05);background:#fff}.overview-v6529 .panel-head{padding:15px 16px 12px}.overview-v6529 .panel-head h2{font-size:17px;color:#17364d}.overview-v6529 .section-subtitle{margin:2px 0 0;color:#8294a2;font-size:12px}.overview-map-actions-v6529{display:flex;align-items:center;gap:8px}.overview-map-v6529{height:370px;border-radius:0 0 14px 14px;overflow:hidden}.overview-map-legend-v6529{position:absolute;z-index:450;left:28px;bottom:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);display:flex;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dce7ec;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.08);font-size:11px;font-weight:700}.overview-map-panel-v6529{position:relative}.overview-map-legend-v6529 span{display:flex;align-items:center;gap:5px}.overview-map-legend-v6529 i{width:9px;height:9px;border-radius:50%;display:block}.overview-map-legend-v6529 i.danger{background:#ef3340}.overview-map-legend-v6529 i.warning{background:#f97316}.overview-map-legend-v6529 i.info{background:#1687d9}.overview-map-legend-v6529 i.safe{background:#10b981}
.overview-donut-wrap-v6529{padding:10px 18px 18px;display:grid;place-items:center;gap:18px}.overview-donut-v6529{width:180px;height:180px;border-radius:50%;background:conic-gradient(#f59e0b 0 var(--pending),#1687d9 var(--pending) calc(var(--pending) + var(--active)),#17b978 calc(var(--pending) + var(--active)) 360deg);display:grid;place-items:center;position:relative}.overview-donut-v6529:after{content:"";width:112px;height:112px;background:#fff;border-radius:50%;position:absolute}.overview-donut-v6529>div{z-index:1;text-align:center;display:grid}.overview-donut-v6529 strong{font-size:31px;line-height:1;color:#16364e}.overview-donut-v6529 span{font-size:12px;color:#768b99}.overview-status-list-v6529{width:100%;display:grid;gap:6px}.overview-status-list-v6529 a{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:9px;border-radius:9px;text-decoration:none;color:#17364d}.overview-status-list-v6529 a:hover{background:#f5f9fa}.overview-status-list-v6529 i{width:9px;height:9px;border-radius:50%}.overview-status-list-v6529 i.pending{background:#f59e0b}.overview-status-list-v6529 i.active{background:#1687d9}.overview-status-list-v6529 i.done{background:#17b978}.overview-status-list-v6529 span{display:grid}.overview-status-list-v6529 b{font-size:13px}.overview-status-list-v6529 small{font-size:10px;color:#8a9aa6}.overview-status-list-v6529 strong{font-size:18px}.overview-sla-v6529{border-top:1px solid #edf2f5;padding:13px 16px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end}.overview-sla-v6529 span{display:grid}.overview-sla-v6529 span b{font-size:12px}.overview-sla-v6529 span small{font-size:10px;color:#8497a5}.overview-sla-v6529>strong{font-size:20px;color:#0aa36f}.overview-sla-v6529>div{grid-column:1/-1;height:6px;background:#e8eef1;border-radius:99px;overflow:hidden}.overview-sla-v6529>div i{display:block;height:100%;background:#0aa36f;border-radius:inherit}
.overview-water-bars-v6529{padding:8px 18px 12px;display:grid;gap:12px}.water-bar-row-v6529{display:grid;grid-template-columns:75px 1fr 24px;gap:8px;align-items:center;font-size:11px}.water-bar-row-v6529>span{font-weight:700;color:#536a7a}.water-bar-row-v6529>div{height:16px;background:#eef3f5;border-radius:4px;overflow:hidden}.water-bar-row-v6529>div i{height:100%;display:block;border-radius:4px;background:#71b7e9}.water-bar-row-v6529.medium>div i{background:#f4c445}.water-bar-row-v6529.high>div i{background:#f58b23}.water-bar-row-v6529.critical>div i{background:#ed3346}.water-bar-row-v6529>strong{text-align:right;color:#17364d}.overview-water-note-v6529{margin:6px 16px 16px;padding:9px 10px;border-radius:9px;background:#edf8fa;color:#39717c;font-size:11px;display:flex;gap:7px;align-items:center}.overview-water-note-v6529 .ui-icon{width:16px;height:16px}
.overview-bottom-grid-v6529{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.64fr) minmax(330px,.72fr);gap:12px}.overview-table-v6529 td:nth-child(2){min-width:180px}.overview-table-v6529 td:nth-child(2)>b,.overview-table-v6529 td:nth-child(2)>small{display:block}.overview-table-v6529 td:nth-child(2)>small{color:#8193a0;margin-top:2px}.water-level-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#edf3f6;color:#526877;font-size:11px;font-weight:800;white-space:nowrap}.water-level-badge.water-low{background:#e8f8ef;color:#0a895c}.water-level-badge.water-medium{background:#fff5d8;color:#9b6c00}.water-level-badge.water-high{background:#ffeddc;color:#b65c00}.water-level-badge.water-critical{background:#ffe4e7;color:#c8293a}
.overview-team-list-v6529{padding:2px 14px 14px;display:grid}.overview-team-list-v6529>div{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:10px 4px;border-top:1px solid #eef2f4}.overview-team-list-v6529>div:first-child{border-top:0}.overview-team-icon-v6529{width:34px;height:34px;border-radius:10px;background:#e8f5f5;color:#087c80;display:grid;place-items:center}.overview-team-icon-v6529 .ui-icon{width:19px;height:19px}.overview-team-list-v6529 p{margin:0;display:grid}.overview-team-list-v6529 p b{font-size:12px}.overview-team-list-v6529 p small{font-size:10px;color:#8295a3}.overview-team-list-v6529 .team-status{font-size:10px;white-space:nowrap}
.overview-risk-section-v6529{padding:0 14px 12px}.overview-risk-section-v6529+h3{margin-top:6px}.overview-risk-section-v6529 h3{font-size:12px;margin:4px 0 7px;color:#17364d;display:flex;justify-content:space-between}.overview-risk-section-v6529 h3 span{font-size:10px;color:#8a9aa6;font-weight:600}.overview-risk-row-v6529{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:9px;margin-bottom:6px;background:#f7fafb}.overview-risk-row-v6529>i{width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.overview-risk-row-v6529>i .ui-icon{width:16px;height:16px}.overview-risk-row-v6529.shelter>i{background:#e3f5f6;color:#0b8588}.overview-risk-row-v6529.risk>i{background:#ffe7ea;color:#dd3042}.overview-risk-row-v6529 p{margin:0;display:grid}.overview-risk-row-v6529 b{font-size:11px}.overview-risk-row-v6529 small{font-size:9px;color:#8193a0;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-risk-row-v6529>span{font-size:9px;font-weight:800;color:#64748b}.overview-risk-empty-v6529{padding:10px;background:#f8fafb;border-radius:8px;color:#8a9ba8;font-size:10px;text-align:center}.overview-filter-details-v6529{margin-top:12px;background:#fff;border:1px solid #dce7ec;border-radius:12px;overflow:hidden}.overview-filter-details-v6529 summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#416072;display:flex;align-items:center;gap:7px}.overview-filter-details-v6529 .dashboard-filter{border:0;border-top:1px solid #eef2f4;border-radius:0;margin:0}
.notification-popover-head-actions{display:flex;align-items:center;gap:8px}.notification-head-read-all{border:0;background:transparent;color:#078286;font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:4px 6px;border-radius:6px}.notification-head-read-all:hover{background:#eaf7f7}.notification-read-all button{cursor:pointer}.notification-read-btn[disabled]{opacity:.55;cursor:wait}
@media(max-width:1400px){.overview-kpi-grid-v6529{grid-template-columns:repeat(3,1fr)}.overview-main-grid-v6529{grid-template-columns:1.4fr .8fr}.overview-water-v6529{grid-column:1/-1}.overview-bottom-grid-v6529{grid-template-columns:1fr 1fr}.overview-cases-v6529{grid-column:1/-1}}
@media(max-width:900px){.page-dashboard .enterprise-content{padding:14px}.overview-title-v6529{align-items:flex-start;flex-direction:column}.overview-refresh-v6529{width:100%;justify-content:space-between}.overview-kpi-grid-v6529{grid-template-columns:repeat(2,1fr)}.overview-main-grid-v6529,.overview-bottom-grid-v6529{grid-template-columns:1fr}.overview-water-v6529,.overview-cases-v6529{grid-column:auto}.overview-map-v6529{height:340px}.overview-map-legend-v6529{position:static;margin:9px 12px}.overview-table-v6529{min-width:850px}}
@media(max-width:560px){.overview-kpi-grid-v6529{grid-template-columns:1fr 1fr;gap:8px}.overview-kpi-v6529{min-height:104px;padding:12px;gap:8px}.overview-kpi-v6529>span{width:36px;height:36px}.overview-kpi-v6529 strong{font-size:25px}.overview-refresh-v6529>div{display:none}.overview-title-v6529 h1{font-size:24px}.overview-map-v6529{height:300px}}

/* ==========================================================================
   v6.5.30 — Dashboard readability + resilient notification dropdown
   ========================================================================== */
/* Dashboard panel headers inherited a legacy fixed 42px height.  v6.5.29 added
   vertical padding, which clipped the subtitle and made it look faded/missing. */
.overview-v6529 .panel-head{
  height:auto;
  min-height:72px;
  padding:13px 16px;
  align-items:center;
  overflow:visible;
}
.overview-v6529 .panel-head>div:first-child{min-width:0}
.overview-v6529 .panel-head h2{line-height:1.35;font-weight:850}
.overview-v6529 .section-subtitle{
  margin:3px 0 0;
  color:#526977;
  font-size:12px;
  line-height:1.45;
  font-weight:550;
}
/* Legacy .panel-head a had higher specificity than .btn-primary and painted
   primary-button text blue on teal. Keep action labels high contrast. */
.overview-v6529 .panel-head a.btn-primary,
.overview-v6529 .panel-head a.btn-primary:visited{
  color:#fff!important;
}
.overview-v6529 .panel-head a.btn-outline,
.overview-v6529 .panel-head a.btn-outline:visited{
  color:#087f82!important;
}
.overview-map-actions-v6529{flex-wrap:wrap;justify-content:flex-end}
.overview-map-actions-v6529 .btn{white-space:nowrap}
.dashboard-map-live{font-weight:850}

/* Notification dropdown uses native details/summary as the no-JS baseline. */
.enterprise-header,.enterprise-actions{overflow:visible}
.notification-bell-details{position:relative;z-index:5200;margin:0;padding:0}
.notification-bell-details>summary{list-style:none;user-select:none;-webkit-user-select:none}
.notification-bell-details>summary::-webkit-details-marker{display:none}
.notification-bell-details:not([open])>.notification-popover{display:none!important}
.notification-bell-details[open]>.notification-popover{display:block!important}
.notification-bell-details[open]>.notification-bell-button{background:rgba(255,255,255,.22)}
.notification-popover{z-index:5300;width:min(420px,calc(100vw - 24px));color:#173454}
.notification-popover-head{min-height:62px}
.notification-popover-head b{font-size:16px;color:#123b5a}
.notification-popover-head small{color:#536c7c;font-size:11px;font-weight:600}
.notification-popover-head a{color:#006f73}
.notification-popover-item>a{color:#173454}
.notification-popover-item strong{color:#0a527f}
.notification-popover-item small{color:#526c7f;font-size:11px}
.notification-read-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#116a49}
.notification-read-btn .ui-icon{width:14px;height:14px}
.notification-head-read-all{color:#006d70}
.notification-head-read-all:disabled,.notification-read-all button:disabled{opacity:.55;cursor:wait}
.notification-read-all button{font-size:12px}
.notification-popover-empty{color:#526d7e;font-weight:650}

@media(max-width:760px){
  .overview-v6529 .panel-head{min-height:68px;padding:11px 12px;align-items:flex-start}
  .overview-v6529 .panel-head h2{font-size:15px}
  .overview-v6529 .section-subtitle{font-size:11px}
  .overview-map-actions-v6529{justify-content:flex-start}
  .notification-bell-details{z-index:5200}
  .notification-popover{z-index:5300}
}
/* Explicit text fill prevents browser/link-state styles from reducing map action contrast. */
.overview-v6529 .overview-map-actions-v6529 a.btn-primary{
  background:#087f82!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}


/* v6.5.34 — resilient monochrome basemap.
   The light map uses the same-origin OSM proxy, so no third-party CARTO API key is required. */
.geo-light-basemap-pane .leaflet-tile{
  filter:grayscale(1) saturate(0) brightness(1.08) contrast(.88);
}
