
:root{
  --ink:#0d2d4a;--ink2:#244961;--muted:#708696;--teal:#0aa58f;--teal-dark:#08796f;
  --mint:#e9f8f4;--soft:#f7fbfb;--line:#dce9e6;--danger:#ef4d4f;--amber:#f2ad23;
  --green:#1fd58e;--white:#fff;--shadow:0 18px 50px rgba(12,52,70,.10);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.container{width:min(1480px,calc(100% - 40px));margin:auto}.hidden{display:none!important}
.kicker{font-size:11px;letter-spacing:.22em;font-weight:900;color:var(--teal-dark);text-transform:uppercase}
.muted{color:var(--muted)}.section{padding:72px 0}.soft{background:var(--soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 20px;font-weight:850;font-size:13px;border:1px solid transparent;cursor:pointer}
.btn.primary{background:linear-gradient(180deg,#13b99e,#078c7d);color:#fff;box-shadow:0 8px 22px rgba(10,165,143,.19)}
.btn.ghost{background:#fff;border-color:#abdcd3;color:var(--teal-dark)}.btn.small{padding:9px 14px;font-size:11px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;outline:none;background:#fff}
.input:focus{border-color:#70cbbb;box-shadow:0 0 0 4px rgba(10,165,143,.08)}

/* NAV */
.nav-v9{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-v9-inner{min-height:76px;display:flex;align-items:center;gap:18px}.brand-v9{display:flex;align-items:center;gap:9px;min-width:225px}
.brand-v9 img{width:48px;height:48px}.brand-v9-copy{display:flex;flex-direction:column}.brand-v9-copy b{font-size:21px;letter-spacing:-.03em}.brand-v9-copy small{font-size:8px;color:var(--muted);font-weight:700}
.nav-v9-links{display:flex;gap:21px;align-items:center}.nav-v9-links a{font-size:12px;font-weight:800;white-space:nowrap}.nav-v9-links a.active{color:var(--teal-dark)}
.nav-v9-search{margin-left:auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 9px 7px 13px;min-width:290px}
.nav-v9-search input{width:100%;border:0;outline:0;font-size:12px}.nav-v9-search button{border:0;background:transparent;color:var(--teal);font-size:20px;font-weight:900;cursor:pointer}
.nav-v9-actions{display:flex;gap:8px;align-items:center;position:relative}.nav-v9-menu{display:none}

/* HOME HERO: strict no-overlap */
.hero-v9{padding:38px 0 28px;background:linear-gradient(180deg,#fbfefe,#f6fbfa)}
.hero-v9-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:26px;align-items:stretch}
.hero-v9-copy{padding:44px 10px 44px 0;display:flex;flex-direction:column;justify-content:center}
.hero-v9 h1{font-size:clamp(58px,6vw,88px);line-height:.94;letter-spacing:-.06em;margin:11px 0 18px}
.hero-v9 h1 span{color:var(--teal-dark)}.hero-v9 p{font-size:18px;line-height:1.6;color:var(--ink2);max-width:650px}
.hero-v9-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-v9-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}
.hero-v9-benefit{display:flex;gap:9px;align-items:flex-start}.hero-v9-benefit>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--mint);color:var(--teal-dark);font-weight:900}
.hero-v9-benefit b{display:block;font-size:11px}.hero-v9-benefit small{display:block;color:var(--muted);font-size:9px;line-height:1.4;margin-top:2px}
.hero-v9-photo{display:flex;align-items:center;justify-content:center;background:#eef8f6;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-v9-photo img{width:100%;height:100%;max-height:590px;object-fit:contain;display:block;background:#eef8f6}

/* SIMPLE BENEFIT STRIP */
.benefit-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.benefit-card{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
.benefit-card>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--mint);font-size:20px}
.benefit-card b{display:block;font-size:12px}.benefit-card p{font-size:10px;color:var(--muted);line-height:1.45;margin:4px 0 0}

/* MAP SHOWCASE */
.map-showcase{display:grid;grid-template-columns:.72fr 1.28fr;gap:26px;align-items:center}
.map-showcase h2,.section-head h2{font-size:46px;letter-spacing:-.045em;line-height:1.05;margin:8px 0 12px}
.map-showcase p{color:var(--muted);line-height:1.7}
.map-preview{border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#d8eef4}.map-preview img{width:100%;display:block}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.mini-grid>div{padding:11px;background:#f4faf8;border-radius:13px}.mini-grid small{display:block;color:var(--muted);font-size:8px}.mini-grid b{display:block;font-size:10px;margin-top:3px}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step{padding:22px}.step>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--teal-dark);font-weight:900}
.step h3{margin:14px 0 6px}.step p{font-size:12px;line-height:1.55;color:var(--muted)}

/* SENTINEL TEASER */
.sentinel-teaser{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.sentinel-teaser .card{padding:24px}
.prompt-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.prompt-row a{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:10px;font-weight:800}

/* TRUST */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.trust-grid>div{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}.trust-grid b{font-size:12px}.trust-grid p{font-size:10px;color:var(--muted);line-height:1.5}

/* LIVE MAP */
.map-page{background:#f2f8f8}.map-shell{display:grid;grid-template-columns:320px minmax(0,1fr) 360px;gap:0;min-height:780px;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.map-left,.map-right{background:#fff;padding:18px;overflow:auto}.map-left{border-right:1px solid var(--line)}.map-right{border-left:1px solid var(--line)}
.map-center{position:relative;min-width:0;background:#041a2a}.map-canvas{position:absolute;inset:0}
.map-view-switch{position:absolute;z-index:6;top:14px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:5px;background:rgba(255,255,255,.94);border-radius:999px;box-shadow:0 12px 35px rgba(0,0,0,.18)}
.map-view-switch button{border:0;background:transparent;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:850;color:var(--ink);cursor:pointer}.map-view-switch button.active{background:var(--teal);color:#fff}
.map-legend{position:absolute;z-index:6;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:14px;align-items:center;background:rgba(8,34,49,.93);color:#fff;padding:9px 14px;border-radius:999px;font-size:9px}
.map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}.map-legend .low{background:var(--green)}.map-legend .med{background:var(--amber)}.map-legend .high{background:var(--danger)}
.map-alert-toast{position:absolute;z-index:7;left:14px;bottom:58px;width:300px;padding:12px;border-radius:17px;background:#fff;border:1px solid #f0d1cd;box-shadow:var(--shadow);display:grid;grid-template-columns:40px 1fr;gap:9px}
.map-alert-toast>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ffe8e6}.map-alert-toast b{font-size:11px}.map-alert-toast p{font-size:9px;color:var(--muted);margin:3px 0}
.map-list-view{position:absolute;inset:0;z-index:5;background:#f8fbfb;padding:70px 18px 18px;overflow:auto}.map-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.map-list-card{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.map-list-card b{display:block;font-size:11px}.map-list-card small{display:block;color:var(--muted);font-size:8px;margin-top:3px}
.map-search-row{display:flex;gap:6px}.map-search-row .input{min-width:0}.map-block{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.map-block h4{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin:0 0 10px}
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:10px;font-weight:750}.toggle{width:36px;height:20px;border-radius:999px;background:#d6e4e1;position:relative;cursor:pointer}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.2s}.toggle.on{background:var(--teal)}.toggle.on:after{left:19px}
.filter-stack{display:grid;gap:8px}.filter-stack select{width:100%;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:10px}
.location-card{padding:12px;border-radius:14px;background:#f3faf8}.location-card p{font-size:9px;color:var(--muted);line-height:1.5}.coverage-card{padding:11px;border-radius:13px;background:#fff8e8;border:1px solid #f2dfb2;font-size:9px;color:#74591a}
.city-photo{width:100%;height:145px;object-fit:cover;border-radius:16px;background:#eef6f6}.map-right h2{font-size:30px;margin:8px 0 2px}.risk-pill{display:inline-flex;padding:6px 8px;border-radius:999px;background:#fff0cd;color:#7b5a0e;font-size:8px;font-weight:900}
.detail-tabs{display:flex;gap:3px;margin:14px 0;padding:4px;background:#f4f8f8;border-radius:12px}.detail-tabs button{flex:1;border:0;background:transparent;border-radius:9px;padding:8px 5px;font-size:9px;font-weight:850;cursor:pointer}.detail-tabs button.active{background:#fff;color:var(--teal-dark);box-shadow:0 3px 10px rgba(0,0,0,.05)}
.detail-section{padding:12px 0;border-top:1px solid var(--line)}.detail-section h4{margin:0 0 7px;font-size:11px}.detail-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:9px}.detail-row span{color:var(--muted)}
.tips{margin:0;padding-left:17px;font-size:10px;line-height:1.55;color:var(--ink2)}.feedback{display:flex;gap:6px;flex-wrap:wrap}.feedback button{padding:7px 8px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:8px;font-weight:800;cursor:pointer}

/* SENTINEL */
.chat-layout{display:grid;grid-template-columns:210px 1fr 250px;gap:15px}.chat-card{padding:18px}.quick-prompts button{display:block;width:100%;border:0;background:#f2faf8;border-radius:11px;padding:10px;margin:5px 0;text-align:left;font-size:9px;font-weight:800;cursor:pointer}
.messages{height:500px;overflow:auto;padding:10px 0}.msg{max-width:82%;padding:12px 14px;border-radius:15px;margin:8px 0;font-size:12px;line-height:1.55}.msg.ai{background:#eff8f6}.msg.user{margin-left:auto;background:#edf4fb}
.composer{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end}.composer textarea{min-height:72px;resize:vertical}.mic-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer}.mic-btn.listening{background:#e7f8f3;box-shadow:0 0 0 8px rgba(10,165,143,.12)}
.context-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf8f5;font-size:9px;font-weight:800;margin-bottom:8px}.voice-status{font-size:9px;color:var(--muted);min-height:14px}

/* AUTH/DASHBOARD generic reuse */
.page-head{padding:48px 0 30px;background:linear-gradient(135deg,#effaf6,#eef7ff)}.page-head h1{font-size:50px;letter-spacing:-.045em;margin:7px 0 10px}.page-head p{max-width:760px;color:var(--muted);font-size:16px;line-height:1.6}
.auth-layout{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1fr}.auth-image{padding:24px}.auth-image img{width:100%;height:100%;object-fit:contain;background:#eef8f7;border-radius:28px}.auth-pane{display:grid;place-items:center;padding:35px}.auth-card{width:min(480px,100%);padding:30px}
.footer-v9{padding:44px 0;background:#0d2d3f;color:#fff}.footer-v9-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:28px}.footer-v9 a{font-size:10px}.footer-v9 p{font-size:11px;color:#bfd0d8}.footer-v9-col{display:flex;flex-direction:column;gap:8px}

@media(max-width:1200px){
  .nav-v9-search{display:none}.nav-v9-menu{display:block;margin-left:auto}.nav-v9-links{display:none;position:absolute;top:76px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:12px;flex-direction:column;align-items:stretch}.nav-v9-links.show{display:flex}
  .hero-v9-grid,.map-showcase,.sentinel-teaser{grid-template-columns:1fr}.benefit-strip,.trust-grid{grid-template-columns:repeat(2,1fr)}
  .map-shell{grid-template-columns:270px 1fr}.map-right{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.chat-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container{width:min(100% - 24px,1480px)}.section{padding:48px 0}.brand-v9{min-width:0}.brand-v9-copy small{display:none}.nav-v9-actions .btn.ghost{display:none}
  .hero-v9 h1{font-size:50px}.hero-v9-benefits,.benefit-strip,.steps,.trust-grid,.mini-grid{grid-template-columns:1fr}.hero-v9-copy{padding:20px 0 0}
  .map-shell{display:block}.map-left{border-right:0;border-bottom:1px solid var(--line)}.map-center{height:620px}.map-right{border-top:1px solid var(--line)}.map-view-switch{top:10px}.map-legend{bottom:10px;white-space:nowrap}.map-alert-toast{left:10px;right:10px;width:auto;bottom:52px}
  .map-list-grid{grid-template-columns:1fr}.composer{grid-template-columns:1fr auto}.composer .btn.primary{grid-column:1/-1}.auth-layout{grid-template-columns:1fr}.auth-image{padding-bottom:0}.footer-v9-grid{grid-template-columns:1fr 1fr}
}

.map-error-v91{position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 30px));padding:18px;border-radius:18px;background:rgba(255,255,255,.97);border:1px solid #eed1ce;box-shadow:0 18px 55px rgba(0,0,0,.18);text-align:center}
.map-error-v91 b{display:block;font-size:15px;margin-bottom:6px}.map-error-v91 p{font-size:10px;color:var(--muted);line-height:1.5;margin:5px 0}.map-loading-v91{position:absolute;z-index:8;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);font-size:9px;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.12)}

/* V9.3 map engine hardening */
.map-center{height:780px;min-height:780px;position:relative;overflow:hidden;background:#041a2a}
#liveMap{position:relative!important;width:100%!important;height:100%!important;min-height:780px!important;display:block!important}
#liveMap.mapboxgl-map{position:relative!important}
.map-engine-badge{position:absolute;z-index:15;right:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.92);font-size:8px;font-weight:850;color:var(--ink);box-shadow:0 7px 20px rgba(0,0,0,.12)}
.leaflet-container{width:100%;height:100%;background:#061b2a;font-family:inherit}
@media(max-width:760px){
  .map-center,#liveMap{height:620px!important;min-height:620px!important}
}

/* V9.4 map visual hardening */
.map-center{position:relative!important;height:780px!important;min-height:780px!important;overflow:hidden!important;background:#061b2a!important}
#liveMap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}
#liveMap.leaflet-container{background:#061b2a!important}
.leaflet-tile-pane{filter:saturate(1.08) contrast(1.03)}
.leaflet-control-zoom{box-shadow:0 8px 20px rgba(0,0,0,.18)!important;border:0!important}
@media(max-width:760px){
  .map-center{height:620px!important;min-height:620px!important}
  #liveMap{height:620px!important}
}

/* V9.6 — visual polish only; V9.5 map engine is preserved */
.map-shell{grid-template-columns:285px minmax(0,1fr) 330px!important;min-height:800px}
.map-left,.map-right{padding:16px}.map-center{min-height:800px;background:#020b16}
.map-right .city-photo{height:132px}.map-right h2{font-size:27px;line-height:1.02}
.map-view-switch{top:16px}.map-legend{bottom:17px}
.map-engine-badge{opacity:.86}
.map-cluster-label{font-weight:900}
.signal-selected-pulse{pointer-events:none}
@media(max-width:1200px){.map-shell{grid-template-columns:250px minmax(0,1fr)!important}.map-right{grid-column:1/-1}}
@media(max-width:760px){.map-shell{display:block!important}.map-center{height:620px;min-height:620px}}

/* =========================
   V10 APPROVED LIVE MAP UI
   ========================= */
.map-page .section{padding:18px 0 28px!important}
.map-page .container{width:min(1580px,calc(100% - 28px))}
.map-shell{grid-template-columns:330px minmax(0,1fr) 390px!important;min-height:820px!important;border-radius:28px!important}
.map-left,.map-right{padding:18px!important}
.map-center{min-height:820px!important;height:820px!important;background:#020a18!important}
#liveMap{height:820px!important}
.map-view-switch{top:18px!important;background:rgba(255,255,255,.96)!important;padding:6px!important;border:1px solid rgba(255,255,255,.55);box-shadow:0 12px 34px rgba(0,0,0,.28)!important}
.map-view-switch button{padding:10px 16px!important;font-size:10px!important}
.map-legend{bottom:19px!important;gap:16px!important;background:rgba(4,24,39,.88)!important;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.11);padding:10px 15px!important}
.map-legend .supported{background:#1fd58e}.map-legend .official{background:#f4b328}.map-legend .report{background:#ff5258}.map-legend .selected{background:#ff383f;box-shadow:0 0 0 4px rgba(255,56,63,.25),0 0 16px rgba(255,56,63,.8)}
.map-live-pill{position:absolute;z-index:8;right:16px;top:18px;border-radius:999px;background:rgba(4,25,42,.76);border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 13px;font-size:9px;font-weight:850;backdrop-filter:blur(10px)}
.map-live-pill i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#19d6a7;box-shadow:0 0 11px #19d6a7;margin-right:6px}
.map-left .map-block h4{font-size:10px;letter-spacing:.1em}.map-left h2{font-size:34px!important;line-height:1.02}.map-left>p{font-size:11px!important}
.map-left .location-card{background:linear-gradient(145deg,#eefaf7,#f7fcfb);border:1px solid #dceee9}.coverage-card{background:#fffaf0!important}
.map-right .city-photo{height:174px!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(10,49,67,.08)}
.map-right h2{font-size:32px!important;line-height:1.02!important;margin:9px 0 3px!important}
.city-country-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.city-country-row .kicker{margin:0}.country-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:8px;font-weight:900;color:var(--ink2)}
.intelligence-card{margin:14px 0 12px;border-radius:16px;background:linear-gradient(145deg,#f6fbfb,#fff);border:1px solid var(--line);padding:14px}
.intelligence-card h4{font-size:11px;margin:0 0 9px;display:flex;gap:7px;align-items:center}.intelligence-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;padding:5px 0;font-size:10px;line-height:1.35}.intelligence-row span:first-child{color:var(--teal);font-weight:900}.intelligence-row b{font-weight:850}.intelligence-row em{font-style:normal;color:var(--muted)}
.detail-tabs{margin-top:12px!important}.detail-section p{line-height:1.55!important}.map-right .hero-v9-actions{margin-top:15px!important;display:grid!important;grid-template-columns:1fr 1.15fr!important}.map-right .hero-v9-actions .btn{width:100%}
.map-engine-badge{display:none!important}
.map-error-v91{z-index:30!important}
.map-city-popup{background:rgba(7,27,38,.92);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 11px;font:800 11px/1.1 Inter,system-ui,sans-serif;box-shadow:0 8px 22px rgba(0,0,0,.28);white-space:nowrap}
.mapboxgl-popup-content{padding:0!important;background:transparent!important;box-shadow:none!important}.mapboxgl-popup-tip{display:none!important}
@media(max-width:1250px){.map-shell{grid-template-columns:280px minmax(0,1fr)!important}.map-right{grid-column:1/-1!important}.map-live-pill{display:none}}
@media(max-width:760px){.map-shell{display:block!important}.map-center,#liveMap{height:640px!important;min-height:640px!important}.map-right .hero-v9-actions{grid-template-columns:1fr!important}.map-live-pill{display:none}.map-left h2{font-size:30px!important}}
