:root{
  --bg:#fbfaf6;--surface:#ffffff;--surface-soft:#f4f2ec;--ink:#17201d;--muted:#6b7470;
  --line:#e9e6de;--green:#176b50;--green-soft:#e8f4ee;--red:#bf4a42;--red-soft:#f8ebe7;
  --coral:#dc745e;--blue:#366b86;--blue-soft:#eaf2f5;--amber:#b47b25;--amber-soft:#fff3dd;
  --shadow:0 20px 55px rgba(33,47,41,.08);--radius:26px;--radius-sm:18px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Nunito",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
body.sheet-open{overflow:hidden}
.app-shell{min-height:100vh}
.topbar{height:78px;max-width:1240px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--ink);color:#fff;font-size:26px;line-height:1;overflow:hidden}.brand-mark.colombia-flag{display:flex;flex-direction:column;padding:0;background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:0 5px 14px rgba(26,39,33,.10)}.colombia-flag i{display:block;width:100%}.colombia-flag i:nth-child(1){height:50%;background:#FCD116}.colombia-flag i:nth-child(2){height:25%;background:#003893}.colombia-flag i:nth-child(3){height:25%;background:#CE1126}
.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}
.brand strong{font-size:17px;font-weight:900;letter-spacing:-.3px}
.brand small{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);font-weight:800;margin-top:4px}
.desktop-nav{display:flex;gap:30px;margin-left:auto}
.desktop-nav a{font-size:14px;color:#4f5955;font-weight:800}
.desktop-nav a:hover{color:var(--ink)}
.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:rgba(255,255,255,.7);border-radius:14px;display:grid;place-items:center}
.icon-btn svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.setup-banner{max-width:1184px;margin:2px auto 10px;padding:12px 16px;border:1px solid #efd9ad;background:#fff8e8;border-radius:16px;display:flex;align-items:center;gap:12px}
.setup-banner div{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:12px}.setup-banner span:last-child{color:#776a50}
.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.blue{background:var(--blue)}.status-dot.amber{background:#d49531}
.hero{max-width:1240px;margin:16px auto 0;padding:60px 28px 42px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;min-height:580px}
.eyebrow,.section-kicker{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1.45px;color:#65716c}
.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.5)}
.hero h1{font-size:clamp(44px,5.4vw,76px);line-height:.99;letter-spacing:-3.4px;margin:20px 0 22px;max-width:700px}
.hero h1 em{font-style:normal;color:var(--green)}
.hero-copy>p{font-size:18px;line-height:1.65;color:#5d6763;max-width:610px;margin:0}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.btn{border:0;border-radius:17px;padding:14px 19px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;font-size:14px;transition:.2s transform,.2s box-shadow,.2s background}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--ink);color:#fff;box-shadow:0 12px 24px rgba(23,32,29,.15)}
.btn.soft{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff}
.btn.wide{width:100%;padding:16px}
.btn-icon{font-size:19px;font-weight:500}
.privacy-note{display:flex;align-items:center;gap:8px!important;font-size:11px!important;color:#818985!important;margin-top:18px!important}
.privacy-note svg{width:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.hero-visual{position:relative}
.hero-visual:before{content:"";position:absolute;inset:-60px;background:radial-gradient(circle at 50% 45%,rgba(59,116,85,.15),transparent 61%);pointer-events:none}
.pulse-card{position:relative;background:#fff;border:1px solid rgba(226,225,218,.9);border-radius:32px;padding:27px;box-shadow:var(--shadow);transform:rotate(1.2deg)}
.pulse-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px}
.pulse-head div{display:flex;flex-direction:column}.pulse-head small{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#88908d;font-weight:900}.pulse-head strong{font-size:22px;margin-top:4px}
.live-pill{display:inline-flex;gap:6px;align-items:center;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:900;padding:7px 10px}.live-pill i{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px rgba(23,107,80,.08)}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}
.metric-grid article{background:var(--surface-soft);border-radius:20px;padding:18px}.metric-grid b{display:block;font-size:30px;letter-spacing:-1.4px}.metric-grid span{font-size:11px;color:#737c78;font-weight:800}
.source-row{display:flex;gap:12px;align-items:center;background:#f8faf9;border:1px solid #edf0ee;padding:14px;border-radius:18px}.source-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--blue-soft)}.source-row div{display:flex;flex-direction:column;min-width:0}.source-row strong{font-size:12px}.source-row small{font-size:10px;color:#7b8580;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.action-hub{max-width:1184px;margin:8px auto 80px;padding:0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.action-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:17px;display:flex;text-align:left;align-items:center;gap:13px;min-height:105px;color:var(--ink);transition:.2s transform,.2s box-shadow;border-color:rgba(225,223,215,.95)}
button.action-card{width:100%;font:inherit}
.action-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(34,48,42,.08)}
.action-symbol{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:21px;flex:0 0 auto}
.action-card.red .action-symbol{background:#f8e8e4;color:#9a433d}.action-card.coral .action-symbol{background:#fff0e9;color:#bd5f4b}.action-card.green .action-symbol{background:#eaf4ed;color:#297457}.action-card.blue .action-symbol{background:#eaf2f6;color:#336c87}
.action-copy{display:flex;flex-direction:column;min-width:0}.action-copy small{font-size:9px;text-transform:uppercase;letter-spacing:1.15px;color:#8a928f;font-weight:900}.action-copy strong{font-size:14px;margin-top:1px}.action-copy em{font-size:10px;color:#858d89;font-style:normal;margin-top:3px}.chevron{margin-left:auto;font-size:23px;color:#9aa19e}
.trust-strip,.people-section,.needs-section,.map-section{max-width:1184px;margin:0 auto;padding:84px 0}
.trust-strip{border-top:1px solid var(--line);text-align:center}
.trust-strip h2,.section-heading h2,.map-copy h2,.footer-cta h2{font-size:42px;letter-spacing:-1.7px;margin:8px 0 10px}
.trust-strip>p{max-width:650px;margin:0 auto;color:var(--muted);line-height:1.7}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;text-align:left}
.trust-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.trust-grid p{font-size:11px;line-height:1.5;color:#77807c;margin:11px 0 0}
.trust-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}
.trust-badge.official{background:var(--blue-soft);color:var(--blue)}
.trust-badge.verified{background:var(--green-soft);color:var(--green)}
.trust-badge.review{background:var(--amber-soft);color:#946718}
.trust-badge.community{background:#f0efec;color:#656c69}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.section-heading h2{margin-bottom:0}.text-btn{border:0;background:transparent;color:var(--green);font-weight:900;padding:8px}
.empty-state{background:#fff;border:1px solid var(--line);border-radius:28px;padding:48px 28px;text-align:center}.empty-orbit{width:66px;height:66px;border-radius:22px;margin:0 auto 15px;background:var(--surface-soft);display:grid;place-items:center;font-size:30px}.empty-state h3{font-size:20px;margin:0}.empty-state p{font-size:12px;line-height:1.65;color:var(--muted);max-width:570px;margin:8px auto 18px}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.case-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.case-top{display:flex;justify-content:space-between;gap:10px}.case-category{font-size:10px;text-transform:uppercase;font-weight:900;color:#858d89}.case-card h3{font-size:18px;margin:20px 0 4px}.case-card p{font-size:11px;color:var(--muted)}.case-card footer{border-top:1px solid var(--line);padding-top:14px;margin-top:18px;display:flex;justify-content:space-between;color:#858d89;font-size:9px}
.needs-section{padding-top:45px}.need-chips{display:flex;gap:9px;flex-wrap:wrap}.need-chips button{border:1px solid var(--line);background:#fff;padding:12px 15px;border-radius:999px;font-weight:800;font-size:12px}
.map-section{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:56px}.map-copy p{color:var(--muted);line-height:1.7}.map-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:23px}.map-legend span{font-size:11px;color:#6d7672;font-weight:800;display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%}.dot.shelter{background:#447861}.dot.collect{background:#c8844c}.dot.health{background:#b45753}.dot.need{background:#527f9b}
.map-preview{height:410px;border-radius:30px;border:1px solid var(--line);position:relative;overflow:hidden;background:#eef1ec}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(112,126,117,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(112,126,117,.08) 1px,transparent 1px);background-size:38px 38px;transform:rotate(-8deg) scale(1.25)}
.map-pin{position:absolute;width:42px;height:42px;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);background:#fff;box-shadow:0 8px 24px rgba(39,57,48,.15);display:grid;place-items:center;font-size:16px}.map-pin::first-letter{transform:rotate(45deg)}.p1{left:23%;top:30%}.p2{right:27%;top:20%}.p3{left:54%;bottom:24%}
.map-message{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column}.map-message strong{font-size:12px}.map-message small{font-size:10px;color:#737d78;margin-top:3px}
.footer-cta{max-width:1184px;margin:40px auto 32px;border-radius:34px;background:var(--ink);color:#fff;text-align:center;padding:70px 40px}.footer-cta .section-kicker{color:#a8b7b0}.footer-cta h2{max-width:800px;margin:10px auto 25px}.footer-cta>div{display:flex;justify-content:center;gap:10px}
.site-footer{max-width:1184px;margin:0 auto;padding:30px 0 50px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line);gap:20px}.site-footer>p{font-size:10px;color:#7f8884;text-align:center}.site-footer>div:last-child{display:flex;justify-content:flex-end;gap:15px;font-size:10px;font-weight:800;color:#69726e}
.mobile-tabbar{display:none}
.sheet-backdrop{position:fixed;inset:0;background:rgba(16,23,20,.34);backdrop-filter:blur(3px);z-index:80;opacity:0;pointer-events:none;transition:.22s}
.sheet-backdrop.show{opacity:1;pointer-events:auto}
.sheet,.select-popover{position:fixed;z-index:90;background:#fff;box-shadow:0 -24px 70px rgba(22,32,28,.20);overflow:auto}
.sheet{width:min(530px,calc(100vw - 36px));max-height:min(86vh,820px);left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);border-radius:30px;padding:24px;opacity:0;visibility:hidden;transition:.2s}
.sheet.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.sheet-handle{display:none;width:42px;height:4px;border-radius:5px;background:#d8d9d5;margin:0 auto 13px}
.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sheet-head small{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#858e8a;font-weight:900}.sheet-head h2{font-size:26px;letter-spacing:-.8px;margin:2px 0 0}.sheet-close{border:0;background:var(--surface-soft);width:38px;height:38px;border-radius:13px;font-size:24px;line-height:1;color:#59625e}.sheet-intro{font-size:12px;line-height:1.6;color:#707a75;margin:12px 0 18px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.choice-grid button{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px;text-align:left;display:grid;grid-template-columns:35px 1fr;column-gap:10px;align-items:center}.choice-grid button>span{grid-row:1/3;width:35px;height:35px;border-radius:11px;background:var(--surface-soft);display:grid;place-items:center}.choice-grid button strong{font-size:12px}.choice-grid button small{font-size:9px;color:#89918e}.choice-grid button.selected{border-color:#90b5a5;background:#f5faf7}.choice-grid.compact button{grid-template-columns:32px 1fr}.choice-grid.compact button>span{grid-row:auto;width:32px;height:32px}.sheet-divider{height:1px;background:var(--line);margin:18px 0}
.field{display:block;margin:14px 0}.field>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.65px;font-weight:900;color:#707a75;margin-bottom:7px}.field input,.select-trigger{width:100%;height:50px;border:1px solid var(--line);background:#fbfbf9;border-radius:15px;padding:0 14px;outline:none;color:var(--ink);font-size:13px}.field input:focus,.select-trigger:focus{border-color:#98b6a8;box-shadow:0 0 0 3px rgba(23,107,80,.06)}.field input::placeholder{color:#a2a8a5}.select-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left}.select-trigger b{font-size:17px;color:#7a837f}.microcopy{font-size:9px;color:#8b9390;text-align:center;line-height:1.45}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:var(--surface-soft);padding:4px;border-radius:14px;margin:17px 0}.segmented button{border:0;background:transparent;border-radius:11px;padding:9px;font-weight:900;font-size:11px;color:#78817d}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(25,37,31,.06)}.segment-pane{display:none}.segment-pane.active{display:block}.official-link{margin-top:14px;border:1px solid #dce8ed;background:#f3f8fa;border-radius:17px;padding:13px;display:flex;gap:11px}.official-link span{width:34px;height:34px;display:grid;place-items:center;background:#e7f0f4;border-radius:10px}.official-link div{display:flex;flex-direction:column}.official-link strong{font-size:10px}.official-link small{font-size:9px;color:#728087;line-height:1.45;margin-top:2px}
.menu-list{display:flex;flex-direction:column;margin-top:14px}.menu-list a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.menu-list>a>span{width:38px;height:38px;border-radius:12px;background:var(--surface-soft);display:grid;place-items:center}.menu-list div{display:flex;flex-direction:column}.menu-list strong{font-size:12px}.menu-list small{font-size:9px;color:#848c88}.menu-list b{font-size:19px;color:#969d9a}
.select-popover{width:min(420px,calc(100vw - 36px));max-height:70vh;left:50%;top:50%;transform:translate(-50%,-46%) scale(.98);border-radius:28px;padding:22px;opacity:0;visibility:hidden;transition:.2s}.select-popover.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.select-search{height:46px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fbfbf9;margin:16px 0 10px}.select-search input{border:0;background:transparent;outline:0;flex:1;font-size:12px}.option-list{display:flex;flex-direction:column;max-height:360px;overflow:auto}.option-list button{border:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:space-between}.option-list button:hover{background:#fafaf7}.option-list button::after{content:"";width:15px;height:15px;border:1.4px solid #bfc7c3;border-radius:50%;font-size:0}
.toast{position:fixed;z-index:120;left:50%;bottom:30px;transform:translate(-50%,25px);min-width:310px;background:#18221e;color:#fff;padding:12px 14px;border-radius:16px;box-shadow:0 18px 50px rgba(20,31,26,.24);display:flex;align-items:center;gap:11px;opacity:0;visibility:hidden;transition:.25s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}.toast>span{width:31px;height:31px;border-radius:10px;background:#315f4d;display:grid;place-items:center}.toast div{display:flex;flex-direction:column}.toast strong{font-size:11px}.toast small{font-size:9px;color:#bdc8c3;margin-top:2px}
@media(max-width:980px){
  .desktop-nav{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:40px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.privacy-note{justify-content:center}.hero-visual{max-width:650px;width:100%;margin:0 auto}.action-hub,.trust-strip,.people-section,.needs-section,.map-section,.footer-cta,.site-footer{margin-left:24px;margin-right:24px}.action-hub{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}.map-section{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center}.site-footer>div:last-child{justify-content:center}
}
@media(max-width:640px){
  body{padding-bottom:calc(72px + var(--safe-bottom))}
  .topbar{height:65px;padding:0 17px}.brand-mark{width:34px;height:34px;font-size:22px}.brand strong{font-size:15px}.brand small{font-size:8px}.icon-btn{width:38px;height:38px}
  .setup-banner{border-radius:0;margin:0;border-left:0;border-right:0;padding-left:17px;padding-right:17px}.setup-banner div{flex-direction:column;gap:0}
  .hero{padding:38px 18px 26px;min-height:auto}.hero h1{font-size:43px;line-height:1.02;letter-spacing:-2.2px}.hero-copy>p{font-size:15px;line-height:1.55}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.btn{padding:13px 12px;font-size:12px;border-radius:15px}.privacy-note{font-size:9px!important}
  .pulse-card{padding:17px;border-radius:24px;transform:none}.pulse-head{padding-bottom:15px}.pulse-head strong{font-size:17px}.metric-grid{gap:8px;margin:14px 0}.metric-grid article{padding:14px;border-radius:16px}.metric-grid b{font-size:26px}.metric-grid span{font-size:9px}.source-row{padding:11px}.source-row small{max-width:250px}
  .action-hub{margin:5px 15px 46px;grid-template-columns:1fr;gap:8px}.action-card{min-height:79px;border-radius:18px;padding:13px}.action-symbol{width:38px;height:38px}.action-copy em{display:none}
  .trust-strip,.people-section,.needs-section,.map-section{margin-left:17px;margin-right:17px;padding:58px 0}.trust-strip h2,.section-heading h2,.map-copy h2,.footer-cta h2{font-size:32px;letter-spacing:-1.2px}.trust-grid{grid-template-columns:1fr;gap:8px;margin-top:25px}.trust-grid article{border-radius:16px;padding:14px;display:flex;align-items:center;gap:11px}.trust-grid p{margin:0}
  .section-heading{align-items:center}.text-btn{font-size:11px}.case-grid{grid-template-columns:1fr}.needs-section{padding-top:20px}.need-chips{gap:7px}.need-chips button{font-size:10px;padding:10px 12px}
  .map-section{gap:24px}.map-preview{height:330px;border-radius:24px}.map-legend{gap:10px 15px}
  .footer-cta{margin:20px 12px 25px;padding:50px 22px;border-radius:26px}.footer-cta h2{font-size:30px}.site-footer{margin:0 17px;padding-bottom:30px}.site-footer>p{display:none}
  .mobile-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:70;left:0;right:0;bottom:0;height:calc(64px + var(--safe-bottom));padding:4px 6px var(--safe-bottom);background:rgba(255,255,255,.94);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.mobile-tabbar a,.mobile-tabbar button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#7c8581}.mobile-tabbar span{font-size:18px;line-height:1}.mobile-tabbar small{font-size:8px;font-weight:900}.mobile-tabbar .active{color:var(--green)}.mobile-tabbar .tab-main span{width:35px;height:35px;border-radius:13px;background:var(--ink);color:#fff;display:grid;place-items:center;margin-top:-15px;box-shadow:0 8px 20px rgba(23,32,29,.18)}.mobile-tabbar .tab-main small{margin-top:2px}
  .sheet,.select-popover{left:0;right:0;top:auto;bottom:0;width:100%;max-height:91vh;border-radius:27px 27px 0 0;padding:13px 17px calc(18px + var(--safe-bottom));transform:translateY(105%);opacity:1;visibility:hidden}.sheet.open,.select-popover.open{visibility:visible;transform:translateY(0)}.sheet-handle{display:block}.sheet-head h2{font-size:23px}.choice-grid{gap:7px}.choice-grid button{padding:12px;border-radius:15px}.select-popover{max-height:80vh}.option-list{max-height:50vh}.toast{bottom:calc(78px + var(--safe-bottom));min-width:0;width:calc(100vw - 28px)}
}

/* v0.2.0 */
.official-lines{max-width:1184px;margin:12px auto 46px;padding:0}.official-lines-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.official-lines-head h2{font-size:25px;letter-spacing:-.9px;margin:5px 0 0}.slider-controls{display:flex;gap:7px}.slider-controls button{width:37px;height:37px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:22px;color:#59635e}.official-lines-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 8px}.official-lines-track::-webkit-scrollbar{display:none}.official-line-card{scroll-snap-align:start;flex:0 0 300px;background:#fff;border:1px solid var(--line);border-radius:19px;padding:14px;display:grid;grid-template-columns:41px 1fr auto;gap:11px;align-items:center;transition:.2s transform,.2s box-shadow}.official-line-card:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(29,43,36,.07)}.line-icon{width:41px;height:41px;border-radius:13px;background:#f4f2ec;display:grid;place-items:center;font-size:18px}.official-line-card div{min-width:0;display:flex;flex-direction:column}.official-line-card small{font-size:8px;text-transform:uppercase;letter-spacing:.8px;color:#838c88;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.official-line-card strong{font-size:17px;letter-spacing:-.3px;margin-top:1px}.official-line-card em{font-style:normal;font-size:9px;color:#858e8a}.official-line-card>b{font-size:9px;border-radius:999px;background:#f1f3f1;padding:6px 8px}.official-line-card.emergency .line-icon,.official-line-card.redcross .line-icon{background:#f8e9e7;color:#b64842}.official-line-card.fire .line-icon{background:#fff1e8;color:#bd654d}.official-line-card.whatsapp .line-icon{background:#e8f4ee;color:#176b50}.official-line-card.mental .line-icon{background:#f0eaf7;color:#735b8f}.official-line-card.national .line-icon{background:#eaf2f5;color:#366b86}.official-line-card.search .line-icon{background:#eef0f5;color:#50617a}.official-lines-note{font-size:9px;color:#838c88;margin:5px 4px 0}.official-lines-note span{color:var(--green);font-size:8px;margin-right:5px}
.field textarea{width:100%;min-height:92px;resize:vertical;border:1px solid var(--line);background:#fbfbf9;border-radius:15px;padding:13px 14px;outline:none;color:var(--ink);font-size:13px;line-height:1.5}.field textarea:focus{border-color:#98b6a8;box-shadow:0 0 0 3px rgba(23,107,80,.06)}.field textarea::placeholder{color:#a2a8a5}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.consent-control{width:100%;border:1px solid var(--line);background:#fbfbf9;border-radius:15px;padding:12px 13px;margin:13px 0;display:grid;grid-template-columns:28px 1fr;gap:10px;text-align:left;align-items:center}.consent-control>span{width:28px;height:28px;border-radius:9px;border:1px solid #cfd5d1;display:grid;place-items:center;font-size:18px;color:#9aa29e}.consent-control div{display:flex;flex-direction:column}.consent-control strong{font-size:10px}.consent-control small{font-size:8px;color:#838c88;margin-top:2px}.consent-control.selected{border-color:#8fb7a6;background:#f3f9f6}.consent-control.selected>span{background:var(--green);border-color:var(--green);color:#fff}.form-message{border-radius:14px;padding:11px 12px;font-size:10px;line-height:1.45;margin:10px 0}.form-message.ok{background:#edf7f1;color:#286c52}.form-message.error{background:#fff0ed;color:#a94e47}
@media(max-width:980px){.official-lines{margin-left:24px;margin-right:24px}}
@media(max-width:640px){.official-lines{margin:2px 15px 35px}.official-lines-head{align-items:center}.official-lines-head h2{font-size:19px}.slider-controls{display:none}.official-line-card{flex-basis:84vw;max-width:330px}.official-lines-track{margin-right:-15px;padding-right:15px}.official-lines-note{line-height:1.45}.field textarea{min-height:86px}}

/* v0.3.0 — iconografía profesional + mapa territorial real */
.ui-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.icon-btn .ui-icon{width:21px;height:21px}.btn>.ui-icon{width:17px;height:17px}.privacy-note .ui-icon{width:15px;height:15px}.source-icon .ui-icon{width:19px;height:19px}
.btn-icon{display:none}
.source-row{position:relative}.sgc-row{margin-top:9px;background:#f7faf9}.source-status{margin-left:auto;font-size:8px;font-weight:900;letter-spacing:.7px;border-radius:999px;padding:6px 8px;background:#eaf2f5;color:#366b86}.source-status.live{background:#e8f4ee;color:#176b50}.source-status.offline{background:#fff3dd;color:#97691c}
.slider-controls button{display:grid;place-items:center}.slider-controls .ui-icon{width:17px;height:17px}.line-icon .ui-icon{width:20px;height:20px}
.official-lines-note{display:flex;align-items:center;gap:7px}.source-dot{width:6px;height:6px;background:var(--green);border-radius:50%;display:inline-block;flex:0 0 auto}
.action-symbol .ui-icon{width:21px;height:21px}.chevron{display:grid;place-items:center}.chevron .ui-icon{width:16px;height:16px}
.trust-badge .ui-icon{width:13px;height:13px}.trust-dot,.trust-ring{width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto}.trust-badge.verified .trust-dot{background:currentColor}.trust-badge.review .trust-dot{background:currentColor}.trust-ring{border:1.4px solid currentColor}
.text-btn{display:inline-flex;align-items:center;gap:7px}.text-btn .ui-icon{width:15px;height:15px}.empty-orbit .ui-icon{width:29px;height:29px}
.need-chips button{display:inline-flex;align-items:center;gap:7px}.need-chips .ui-icon{width:15px;height:15px}
.mobile-tabbar>a>.ui-icon,.mobile-tabbar>button>.ui-icon{width:19px;height:19px}.mobile-tabbar .tab-main span .ui-icon{width:18px;height:18px}
.sheet-close{display:grid;place-items:center}.sheet-close .ui-icon{width:17px;height:17px}.choice-grid button>span .ui-icon{width:18px;height:18px}.choice-grid.compact button>span .ui-icon{width:17px;height:17px}.select-trigger>.ui-icon{width:16px;height:16px;color:#7b8580}.official-link>span .ui-icon{width:17px;height:17px}.menu-list>a>span .ui-icon{width:18px;height:18px}.menu-list>a>.ui-icon{width:16px;height:16px;color:#969d9a}.select-search>.ui-icon{width:17px;height:17px;color:#7c8581}.toast>span .ui-icon{width:16px;height:16px}
.option-list button::after{content:"";width:15px;height:15px;border:1.4px solid #bfc7c3;border-radius:50%;font-size:0}.option-list button:hover::after{border-color:#6f8c7e}.option-list button.selected::after{border:4px solid var(--green)}
.consent-control{grid-template-columns:30px 1fr}.consent-indicator{width:30px!important;height:30px!important;border-radius:10px!important}.consent-indicator .ui-icon{width:15px;height:15px;opacity:0;transform:scale(.7);transition:.18s}.consent-control.selected .consent-indicator .ui-icon{opacity:1;transform:scale(1)}

/* Mapa */
.territory-section{max-width:1184px;margin:0 auto;padding:92px 0 84px}
.territory-head{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:end}.territory-head h2{font-size:44px;letter-spacing:-1.9px;line-height:1.06;margin:8px 0 12px;max-width:690px}.territory-head p{max-width:720px;margin:0;color:var(--muted);line-height:1.7;font-size:14px}
.territory-stat{min-width:170px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:17px 18px;display:flex;flex-direction:column}.territory-stat b{font-size:30px;letter-spacing:-1.2px}.territory-stat span{font-size:10px;font-weight:900}.territory-stat small{font-size:8px;color:#85908b;margin-top:3px}
.map-filter-bar{display:flex;flex-wrap:wrap;gap:7px;margin:28px 0 13px}.map-filter-bar button{height:38px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 13px;display:inline-flex;align-items:center;gap:7px;color:#69736e;font-size:10px;font-weight:900}.map-filter-bar button .ui-icon{width:14px;height:14px}.map-filter-bar button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.territory-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:12px;min-height:530px}.support-map-wrap{position:relative;min-height:530px;border:1px solid var(--line);background:#eef1ec;border-radius:28px;overflow:hidden}.support-map{position:absolute;inset:0;z-index:1}.map-loading{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);min-width:230px;max-width:310px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 45px rgba(23,32,29,.1);border-radius:19px;padding:17px;text-align:center;display:flex;flex-direction:column;align-items:center}.map-loading.hidden{display:none}.map-loading .ui-icon{width:25px;height:25px;margin-bottom:8px;color:var(--green)}.map-loading strong{font-size:11px}.map-loading small{font-size:9px;color:#7b8580;line-height:1.45;margin-top:4px}
.support-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px;display:flex;flex-direction:column;min-height:530px;overflow:hidden}.support-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding:2px 2px 14px;border-bottom:1px solid var(--line)}.support-panel-head h3{font-size:17px;margin:3px 0 0}.support-panel-count{min-width:30px;height:30px;padding:0 9px;border-radius:10px;background:var(--surface-soft);display:grid;place-items:center;font-size:10px;font-weight:900}.support-list{overflow:auto;flex:1;margin:0 -5px 0 0;padding-right:5px;scrollbar-width:thin}.support-list-empty{padding:35px 12px;text-align:center;font-size:10px;color:#88918d}
.support-location-card{width:100%;border:0;background:transparent;border-bottom:1px solid var(--line);padding:14px 2px;text-align:left;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:start;color:var(--ink)}.support-location-card:hover{background:#fbfbf8}.support-location-card:last-child{border-bottom:0}.support-card-icon{width:38px;height:38px;border-radius:12px;background:#eef4f0;color:#2b7258;display:grid;place-items:center}.support-card-icon .ui-icon{width:18px;height:18px}.support-location-card[data-category="collection"] .support-card-icon{background:#fff2e8;color:#b96c45}.support-location-card[data-category="health"] .support-card-icon{background:#f8e8e7;color:#b04c47}.support-location-card[data-category="shelter"] .support-card-icon{background:#eaf3ee;color:#2f7459}.support-location-card[data-category="animal"] .support-card-icon{background:#f2ecf7;color:#715a83}.support-location-card[data-category="information"] .support-card-icon,.support-location-card[data-category="connectivity"] .support-card-icon,.support-location-card[data-category="multi"] .support-card-icon{background:#eaf1f5;color:#396e88}.support-card-copy{min-width:0;display:flex;flex-direction:column}.support-card-copy small{font-size:8px;text-transform:uppercase;letter-spacing:.8px;color:#8a938f;font-weight:900}.support-card-copy strong{font-size:11px;margin:3px 0 2px}.support-card-copy span{font-size:9px;line-height:1.35;color:#737d78}.support-card-state{width:8px;height:8px;border-radius:50%;background:#2b795b;margin:7px 3px 0 0;box-shadow:0 0 0 4px rgba(43,121,91,.08)}.support-card-state.reconfirm{background:#bd812e;box-shadow:0 0 0 4px rgba(189,129,46,.09)}
.map-safety-note{margin-top:12px;border:1px solid #dde7e2;background:#f7faf8;border-radius:18px;padding:13px 15px;display:flex;align-items:flex-start;gap:11px}.map-safety-note>.ui-icon{width:19px;height:19px;color:var(--green);margin-top:1px}.map-safety-note div{display:flex;flex-direction:column}.map-safety-note strong{font-size:10px}.map-safety-note span{font-size:9px;color:#78827d;line-height:1.5;margin-top:2px}

/* Leaflet alineado con la identidad */
.leaflet-container{font-family:"Nunito",system-ui,sans-serif;background:#eef1ec}.leaflet-control-attribution{font-size:8px!important;background:rgba(255,255,255,.82)!important}.leaflet-control-zoom{border:0!important;box-shadow:0 8px 25px rgba(23,32,29,.1)!important}.leaflet-control-zoom a{border:0!important;color:#3f4b45!important}.ae-marker{background:transparent;border:0}.ae-marker-pin{width:38px;height:38px;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(24,38,31,.18);display:grid;place-items:center;border:1px solid rgba(216,221,217,.9);color:#2f7459;position:relative}.ae-marker-pin .ui-icon{width:18px;height:18px}.ae-marker-pin::after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;background:#fff;border-right:1px solid rgba(216,221,217,.9);border-bottom:1px solid rgba(216,221,217,.9);transform:translateX(-50%) rotate(45deg)}.ae-marker.collection .ae-marker-pin{color:#ad6847}.ae-marker.health .ae-marker-pin{color:#b04c47}.ae-marker.multi .ae-marker-pin{color:#396e88}.ae-marker.reconfirm .ae-marker-pin{box-shadow:0 0 0 3px rgba(189,129,46,.15),0 8px 24px rgba(24,38,31,.14)}
.leaflet-popup-content-wrapper{border-radius:18px!important;box-shadow:0 16px 45px rgba(23,32,29,.16)!important}.leaflet-popup-content{margin:14px 15px!important;min-width:240px}.map-popup{display:flex;flex-direction:column}.map-popup-top{display:flex;align-items:center;gap:7px}.map-popup-top span{font-size:8px;text-transform:uppercase;letter-spacing:.7px;color:#60716a;font-weight:900}.map-popup h4{font-size:14px;line-height:1.2;margin:7px 0 3px}.map-popup p{font-size:9px;line-height:1.4;color:#737d78;margin:0}.map-popup-meta{display:grid;gap:6px;margin:11px 0}.map-popup-meta div{display:grid;grid-template-columns:15px 1fr;gap:6px;align-items:start;font-size:9px;color:#5f6964}.map-popup-meta .ui-icon{width:14px;height:14px;margin-top:1px}.map-popup-actions{display:flex;gap:7px;margin-top:4px}.map-popup-actions a{flex:1;border-radius:10px;padding:8px 9px;text-align:center;font-size:8px;font-weight:900;background:var(--ink);color:#fff}.map-popup-actions a.secondary{background:#f1f2ef;color:#3c4742}.fresh-pill{display:inline-flex!important;align-items:center;gap:5px!important;font-size:8px!important;padding:4px 6px!important;border-radius:999px;background:#e8f4ee;color:#176b50!important}.fresh-pill.reconfirm{background:#fff3dd;color:#926719!important}
.public-search-results{display:flex;flex-direction:column;margin-top:10px}.public-person-result{border:1px solid var(--line);border-radius:15px;padding:11px 12px;margin-bottom:7px;background:#fff}.public-person-result strong{display:block;font-size:11px}.public-person-result span{display:block;font-size:9px;color:#7d8782;margin-top:2px}.public-person-result small{display:block;font-size:8px;color:#47735f;margin-top:5px;font-weight:900}.public-search-empty{padding:12px;text-align:center;border-radius:14px;background:#f7f7f4;color:#7f8884;font-size:9px}

@media(max-width:980px){.territory-section{margin-left:24px;margin-right:24px}.territory-layout{grid-template-columns:1fr}.support-map-wrap{min-height:470px}.support-panel{min-height:0;max-height:460px}.territory-head{grid-template-columns:1fr}.territory-stat{max-width:190px}.territory-head h2{font-size:38px}}
@media(max-width:640px){.ui-icon{stroke-width:1.65}.official-lines-note{align-items:flex-start}.territory-section{margin:0 15px;padding:58px 0}.territory-head{gap:16px}.territory-head h2{font-size:32px;letter-spacing:-1.3px}.territory-head p{font-size:12px}.territory-stat{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;max-width:none;width:100%;padding:12px 14px}.territory-stat b{grid-row:1/3;font-size:26px}.territory-stat small{margin:0}.map-filter-bar{overflow-x:auto;flex-wrap:nowrap;margin-right:-15px;padding-right:15px;scrollbar-width:none}.map-filter-bar::-webkit-scrollbar{display:none}.map-filter-bar button{flex:0 0 auto}.territory-layout{gap:9px}.support-map-wrap{min-height:390px;border-radius:22px}.support-panel{border-radius:22px;padding:14px;max-height:410px}.map-safety-note{border-radius:16px}.mobile-tabbar a,.mobile-tabbar button{gap:2px}.mobile-tabbar>a>.ui-icon,.mobile-tabbar>button>.ui-icon{width:18px;height:18px}.mobile-tabbar .tab-main span{display:grid;place-items:center}.mobile-tabbar .tab-main span .ui-icon{margin:0}.choice-grid button>span{display:grid;place-items:center}.consent-control{grid-template-columns:30px 1fr}}

/* v0.4.0 — datos vivos, personas primero y daños estructurales */
.quake-ribbon,.emergency-explorer{max-width:1184px;margin:0 auto;padding:28px 0 34px}
.quake-ribbon{border-top:1px solid var(--line)}
.quake-ribbon-head,.explorer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}
.quake-ribbon-head h2,.explorer-head h2{font-size:34px;letter-spacing:-1.35px;margin:5px 0 0}
.quake-ribbon-head>a{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:10px;font-weight:900}.quake-ribbon-head>a .ui-icon{width:13px;height:13px}
.quake-track{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding:17px 1px 8px;scrollbar-width:none}.quake-track::-webkit-scrollbar{display:none}
.quake-card{scroll-snap-align:start;flex:0 0 305px;min-height:76px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;color:inherit;text-decoration:none}
.quake-card.latest{border-color:#d5e4dd;background:#fbfdfc}.quake-mag{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef4f1;color:var(--green);font-size:13px;font-weight:900}.quake-copy{display:flex;flex-direction:column;min-width:0}.quake-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quake-copy small{font-size:8px;color:#808984;margin-top:3px;line-height:1.35}.quake-card>b{font-size:8px;color:#89918d;white-space:nowrap}.quake-loading{flex:1;min-height:74px;border:1px dashed #dcded9;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:9px;color:#7c8581;font-size:10px}.quake-loading .ui-icon{width:18px;height:18px}.quake-note{margin:2px 0 0;display:flex;gap:8px;align-items:center;font-size:8px;color:#8a928e}
.emergency-explorer{padding-top:70px;padding-bottom:72px}.explorer-head>div{max-width:760px}.explorer-head p{margin:9px 0 0;color:var(--muted);line-height:1.65;font-size:13px}.explorer-head>.btn{flex:0 0 auto}.explorer-head>.btn .ui-icon{width:16px;height:16px}
.explorer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.explorer-stats article{background:#fff;border:1px solid var(--line);border-radius:19px;padding:16px}.explorer-stats small{display:block;font-size:8px;letter-spacing:.8px;text-transform:uppercase;color:#7e8783;font-weight:900}.explorer-stats b{display:block;font-size:27px;letter-spacing:-1px;margin-top:5px}.explorer-stats span{display:block;font-size:8px;color:#8b9390;margin-top:2px}
.explorer-tabs{display:flex;gap:8px;margin-top:18px;background:#f1f0eb;border-radius:17px;padding:5px;overflow-x:auto;scrollbar-width:none}.explorer-tabs::-webkit-scrollbar{display:none}.explorer-tabs button{border:0;background:transparent;border-radius:13px;padding:10px 13px;display:inline-flex;align-items:center;gap:8px;color:#6f7874;font-size:10px;font-weight:900;white-space:nowrap}.explorer-tabs button .ui-icon{width:16px;height:16px}.explorer-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(28,40,34,.05)}.explorer-tabs button b{font-size:7px;text-transform:uppercase;letter-spacing:.5px;background:#edf5f1;color:var(--green);border-radius:999px;padding:4px 6px}
.explorer-toolbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin:11px 0}.explorer-search{height:48px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:0 13px;display:flex;align-items:center;gap:9px}.explorer-search .ui-icon{width:17px;height:17px;color:#747e79}.explorer-search input{border:0;outline:0;background:transparent;min-width:0;width:100%;font-size:12px}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:15px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:900}.filter-btn .ui-icon{width:15px;height:15px}
.explorer-pane{display:none}.explorer-pane.active{display:block}.registry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.registry-card{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden}.registry-card[hidden]{display:none}.registry-media{height:165px;background:#f1f0eb;position:relative;display:grid;place-items:center;overflow:hidden}.registry-media>img{width:100%;height:100%;object-fit:cover}.registry-media>span>.ui-icon,.registry-media>.ui-icon{width:34px;height:34px;color:#7e8883}.registry-status,.damage-level{position:absolute;left:9px;top:9px;border-radius:999px;padding:6px 8px;background:#fff;font-size:8px;font-style:normal;font-weight:900;box-shadow:0 2px 10px rgba(28,40,34,.08)}.registry-status.locating{background:#f9e8e6;color:#a8443d}.registry-status.located{background:#e7f4ed;color:#176b50}.damage-level.total{background:#f8e2e0;color:#a63d38}.damage-level.severe{background:#fff0df;color:#ad581d}.damage-level.partial{background:#fff6db;color:#8d6e18}.damage-level.inspection,.damage-level.unknown{background:#edf1ef;color:#59645f}.registry-body{padding:13px}.registry-body>small{font-size:7px;text-transform:uppercase;letter-spacing:.6px;color:#929995;font-weight:900}.registry-body h3{font-size:13px;margin:4px 0 3px;line-height:1.25}.registry-body p{font-size:9px;color:#78817d;line-height:1.45;margin:0}.registry-body>span{display:inline-block;margin-top:7px;font-size:8px;font-weight:900;color:#59635e}.registry-source-note{margin-top:11px;border:1px solid #dde7e2;background:#f6faf8;border-radius:15px;padding:11px 13px;display:flex;gap:9px;align-items:flex-start}.registry-source-note .ui-icon{width:16px;height:16px;color:var(--green);flex:0 0 auto}.registry-source-note span{font-size:9px;line-height:1.5;color:#6d7772}.registry-source-note strong{color:#32423b}
.explorer-empty{min-height:205px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:25px;display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}.explorer-empty>span{width:58px;height:58px;border-radius:18px;background:#f3f1eb;display:grid;place-items:center;flex:0 0 auto}.explorer-empty>span .ui-icon{width:25px;height:25px}.explorer-empty>div{max-width:610px}.explorer-empty strong{font-size:15px}.explorer-empty p{font-size:10px;line-height:1.55;color:#7c8581;margin:5px 0 12px}.explorer-empty.compact{min-height:165px}.empty-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-actions .btn{font-size:10px;padding:11px 13px}.empty-actions .ui-icon{width:13px;height:13px}.support-shortcut{margin-top:4px}.pane-action{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:13px 0}.pane-action>div{display:flex;flex-direction:column}.pane-action strong{font-size:12px}.pane-action span{font-size:9px;color:#838b88;margin-top:2px}.pane-action .btn{font-size:10px;padding:10px 12px}.pane-action .ui-icon{width:14px;height:14px}
.upload-field{margin:13px 0;border:1px dashed #cfd6d2;background:#fafbf9;border-radius:17px;padding:13px;display:flex;align-items:center;gap:11px;cursor:pointer}.upload-field input{position:absolute;opacity:0;pointer-events:none}.upload-field>span{width:40px;height:40px;border-radius:12px;background:#eef3f0;display:grid;place-items:center}.upload-field .ui-icon{width:18px;height:18px}.upload-field div{display:flex;flex-direction:column}.upload-field strong{font-size:11px}.upload-field small{font-size:8px;color:#858e89;margin-top:2px}.upload-field.prominent{background:#f5faf7;border-color:#b9cfc4}
.damage-choice{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.damage-choice button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 11px;display:flex;align-items:center;gap:8px;text-align:left}.damage-choice button i{width:9px;height:9px;border-radius:50%;background:#adb5b1}.damage-choice button strong{font-size:9px}.damage-choice button:nth-child(1) i{background:#b44b44}.damage-choice button:nth-child(2) i{background:#cf6f29}.damage-choice button:nth-child(3) i{background:#d0a431}.damage-choice button:nth-child(4) i{background:#6e7d76}.damage-choice button.selected{border-color:#8db2a1;background:#f5faf7}
@media(max-width:980px){.quake-ribbon,.emergency-explorer{margin-left:24px;margin-right:24px}.registry-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
 .quake-ribbon,.emergency-explorer{margin-left:17px;margin-right:17px}.quake-ribbon{padding-top:20px}.quake-ribbon-head,.explorer-head{align-items:flex-start;flex-direction:column}.quake-ribbon-head h2,.explorer-head h2{font-size:28px}.quake-ribbon-head>a{align-self:flex-start}.quake-card{flex-basis:85vw;grid-template-columns:46px 1fr}.quake-card>b{grid-column:2}.quake-mag{width:46px;height:46px}.quake-note{font-size:7px;line-height:1.4}
 .emergency-explorer{padding-top:48px}.explorer-head>.btn{width:100%}.explorer-stats{grid-template-columns:1fr 1fr;gap:7px}.explorer-stats article{padding:13px;border-radius:16px}.explorer-stats b{font-size:24px}.explorer-tabs{margin-left:-2px;margin-right:-2px}.explorer-toolbar{grid-template-columns:1fr}.filter-btn{height:44px;justify-content:center}.registry-grid{grid-template-columns:1fr 1fr;gap:8px}.registry-media{height:145px}.explorer-empty{min-height:0;align-items:flex-start;flex-direction:column;padding:20px}.explorer-empty>span{width:48px;height:48px}.empty-actions{display:grid;grid-template-columns:1fr;width:100%}.pane-action{align-items:flex-start;flex-direction:column}.pane-action .btn{width:100%}.damage-choice{grid-template-columns:1fr}.upload-field{padding:12px}
}
@media(max-width:430px){.registry-grid{grid-template-columns:1fr}.registry-media{height:210px}.explorer-tabs button{padding:9px 10px}.explorer-tabs button b{display:none}}

/* =========================================================
   AQUÍ ESTAMOS v0.4.0 — Información viva / Personas primero
   ========================================================= */

/* Feed sísmico */
.seismic-strip{max-width:1184px;margin:18px auto 22px;padding:0}
.seismic-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:15px}
.seismic-head h2{font-size:27px;line-height:1.08;letter-spacing:-1px;margin:5px 0 5px}
.seismic-head p{font-size:10px;color:#7c8581;margin:0;max-width:650px;line-height:1.45}
.quake-track{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 8px}
.quake-track::-webkit-scrollbar{display:none}
.quake-card{flex:0 0 282px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:19px;padding:14px 15px;color:var(--ink);min-height:144px;display:flex;flex-direction:column;transition:.18s transform,.18s box-shadow,.18s border-color;position:relative;overflow:hidden}
.quake-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#76a68f}
.quake-card.moderate::before{background:#d59744}.quake-card.strong::before{background:#c2534c}
.quake-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,32,29,.07);border-color:#d9ddd9}
.quake-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quake-wave{width:31px;height:31px;border-radius:10px;background:#eef4f0;color:var(--green);display:grid;place-items:center}.quake-wave .ui-icon{width:17px;height:17px}
.quake-card.moderate .quake-wave{background:#fff3df;color:#9d691c}.quake-card.strong .quake-wave{background:#f8e9e7;color:#aa4640}
.quake-recency{font-size:8px;text-transform:uppercase;letter-spacing:.6px;color:#8b948f;font-weight:900}
.quake-main{display:grid;grid-template-columns:59px 1fr;gap:11px;align-items:center;margin-top:11px}.quake-main>b{font-size:31px;letter-spacing:-1.5px;line-height:1}.quake-main>b small{font-size:9px;margin-right:3px;color:#7e8984;letter-spacing:.1px}.quake-main>div{min-width:0;display:flex;flex-direction:column}.quake-main strong{font-size:11px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quake-main span{font-size:8px;color:#87908c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quake-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:7px;text-transform:uppercase;letter-spacing:.55px;color:#8b9490;font-weight:900}.quake-foot i{font-style:normal;color:#557167}
.quake-loading,.quake-error{min-height:142px;min-width:330px;border:1px solid var(--line);border-radius:19px;background:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;font-size:10px;color:#737d78}.quake-loading .ui-icon,.quake-error>.ui-icon{width:19px;height:19px;color:var(--green)}.quake-error>div{display:flex;flex-direction:column}.quake-error strong{font-size:10px;color:var(--ink)}.quake-error span{font-size:8px;margin-top:3px;line-height:1.45}
.seismic-source-note{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:3px;color:#87908c;font-size:8px}.seismic-source-note span{display:flex;align-items:center;gap:6px}.seismic-source-note .ui-icon{width:12px;height:12px}.seismic-source-note a{font-weight:900;color:var(--green)}
.source-status.stale{background:#fff3dd;color:#956a22}

/* Explorador público */
.emergency-explorer{max-width:1184px;margin:0 auto;padding:78px 0 54px;border-top:1px solid var(--line)}
.explorer-heading{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end}.explorer-heading h2{font-size:42px;letter-spacing:-1.8px;line-height:1.04;margin:7px 0 9px}.explorer-heading p{max-width:760px;color:var(--muted);font-size:12px;line-height:1.6;margin:0}.explorer-heading .btn{align-self:end}
.emergency-stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:26px 0 18px}.emergency-stat-strip article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 15px;display:flex;align-items:center;gap:10px}.emergency-stat-strip .stat-icon{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#edf4f0;color:#2b7258;flex:0 0 auto}.emergency-stat-strip article:nth-child(3) .stat-icon{background:#f8eae7;color:#a34a43}.emergency-stat-strip article:nth-child(4) .stat-icon{background:#eaf2f5;color:#3a7089}.emergency-stat-strip .stat-icon .ui-icon{width:17px;height:17px}.emergency-stat-strip div{display:flex;flex-direction:column}.emergency-stat-strip b{font-size:22px;line-height:1;letter-spacing:-.7px}.emergency-stat-strip span{font-size:8px;text-transform:uppercase;letter-spacing:.65px;color:#7c8681;font-weight:900;margin-top:3px}
.explorer-tabs{display:flex;gap:5px;border:1px solid var(--line);padding:4px;background:#f1f1ed;border-radius:16px;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.explorer-tabs::-webkit-scrollbar{display:none}.explorer-tabs button{height:40px;border:0;background:transparent;border-radius:12px;padding:0 14px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:900;color:#69736e;white-space:nowrap}.explorer-tabs button .ui-icon{width:15px;height:15px}.explorer-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(23,32,29,.05)}.explorer-tabs button.priority.active{background:var(--ink);color:#fff}
.explorer-toolbar{margin-top:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.explorer-search{height:46px;border:1px solid var(--line);background:#fff;border-radius:15px;display:flex;align-items:center;gap:9px;padding:0 13px}.explorer-search .ui-icon{width:16px;height:16px;color:#78827d}.explorer-search input{border:0;outline:0;background:transparent;width:100%;font-size:11px;color:var(--ink)}.explorer-search input::placeholder{color:#a0a6a3}.explorer-hint{font-size:8px;color:#88918d;white-space:nowrap}
.explorer-pane{display:none;margin-top:13px}.explorer-pane.active{display:block}.pane-action{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 2px}.pane-action p{font-size:9px;color:#7d8782;margin:0;max-width:700px}.pane-action .btn{padding:9px 12px;font-size:9px}
.explorer-empty{min-height:205px;background:#fff;border:1px solid var(--line);border-radius:23px;display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center;padding:28px}.explorer-empty>span{width:52px;height:52px;border-radius:16px;background:#f1f2ee;display:grid;place-items:center;color:#50625a}.explorer-empty>span .ui-icon{width:24px;height:24px}.explorer-empty>div{display:flex;flex-direction:column}.explorer-empty strong{font-size:15px}.explorer-empty p{font-size:9px;line-height:1.55;color:#808985;max-width:650px;margin:4px 0 0}.explorer-empty .btn{font-size:9px;padding:10px 12px}
.people-public-grid,.damage-public-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.public-person-card,.damage-public-card,.resource-card{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden;min-width:0}.public-person-card[hidden],.damage-public-card[hidden],.resource-card[hidden]{display:none!important}
.public-person-card{display:grid;grid-template-columns:112px 1fr;min-height:152px}.public-person-photo{background:#eef1ed;position:relative;overflow:hidden}.public-person-photo img{width:100%;height:100%;object-fit:cover;display:block}.public-person-photo.no-photo{display:grid;place-items:center;color:#75827c}.public-person-photo.no-photo .ui-icon{width:30px;height:30px}.person-status-chip{position:absolute;left:7px;bottom:7px;border-radius:999px;padding:5px 7px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);font-size:7px;font-weight:900;color:#9e423c}.person-status-chip.located{color:#247158}
.public-person-copy{padding:14px;display:flex;flex-direction:column;min-width:0}.public-person-copy small,.damage-copy>small{font-size:7px;text-transform:uppercase;letter-spacing:.7px;color:#84908a;font-weight:900}.public-person-copy h3,.damage-copy h3{font-size:14px;line-height:1.2;margin:5px 0 4px}.public-person-copy p,.damage-copy p{font-size:9px;line-height:1.4;color:#737e78;margin:0}.person-card-meta,.damage-card-meta{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;gap:9px;border-top:1px solid var(--line);font-size:7px;color:#87908c}.person-card-meta span,.damage-card-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.damage-public-card{display:flex;flex-direction:column}.damage-image{height:150px;background:#eef1ed;overflow:hidden;position:relative}.damage-image img{width:100%;height:100%;object-fit:cover}.damage-image.no-photo{display:grid;place-items:center;color:#7a8580}.damage-image.no-photo .ui-icon{width:29px;height:29px}.damage-level-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 7px;font-size:7px;text-transform:uppercase;letter-spacing:.45px;font-weight:900;background:#f1f1ed;color:#68716d}.damage-level-pill.critical{background:#f8e8e5;color:#ac463f}.damage-level-pill.high{background:#fff0e5;color:#ba642f}.damage-level-pill.medium{background:#fff5df;color:#9b711c}.damage-level-pill.inspection{background:#eaf2f5;color:#3b6f87}.damage-copy{padding:13px 14px;display:flex;flex-direction:column;min-height:129px}
.external-sources{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.external-source-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px 14px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.external-source-card>span{width:38px;height:38px;border-radius:12px;background:#eef4f0;display:grid;place-items:center;color:var(--green)}.external-source-card>span .ui-icon{width:18px;height:18px}.external-source-card>div{min-width:0;display:flex;flex-direction:column}.external-source-card small{font-size:7px;text-transform:uppercase;letter-spacing:.65px;color:#87908c;font-weight:900}.external-source-card strong{font-size:10px;margin-top:2px}.external-source-card p{font-size:8px;color:#7c8581;margin:2px 0 0;line-height:1.35}.external-source-card>.ui-icon{width:15px;height:15px;color:#79837e}
.resource-card{padding:13px;display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}.resource-card>span{width:40px;height:40px;border-radius:12px;background:#edf4f0;display:grid;place-items:center;color:#2f7259}.resource-card>span .ui-icon{width:18px;height:18px}.resource-card>div{display:flex;flex-direction:column;min-width:0}.resource-card small{font-size:7px;text-transform:uppercase;letter-spacing:.55px;color:#89918d;font-weight:900}.resource-card strong{font-size:10px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-card p{font-size:8px;color:#7c8581;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-state{width:8px;height:8px;border-radius:50%;background:#297457;box-shadow:0 0 0 4px rgba(41,116,87,.08)}.resource-state.reconfirm{background:#b67b25;box-shadow:0 0 0 4px rgba(182,123,37,.08)}

/* Carga de archivos y niveles de daño */
.upload-field{border:1px dashed #cfd5d1;background:#fafaf8;border-radius:17px;padding:0;overflow:hidden;margin:13px 0}.upload-field label{min-height:73px;padding:13px 14px;display:grid;grid-template-columns:39px 1fr auto;gap:11px;align-items:center;cursor:pointer}.upload-field input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.upload-field .upload-icon{width:39px;height:39px;border-radius:12px;background:#edf3ef;color:var(--green);display:grid;place-items:center}.upload-field .upload-icon .ui-icon{width:18px;height:18px}.upload-field .upload-copy{display:flex;flex-direction:column}.upload-field .upload-copy strong{font-size:10px}.upload-field .upload-copy small{font-size:8px;color:#87908c;margin-top:2px}.upload-field .upload-action{font-size:8px;font-weight:900;border:1px solid var(--line);background:#fff;padding:7px 9px;border-radius:10px}.upload-field.has-file{border-style:solid;border-color:#a9c7b9;background:#f7fbf9}.upload-field.has-file .upload-action{color:var(--green)}
.damage-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 16px}.damage-level-grid button{border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px;text-align:left;display:flex;flex-direction:column;position:relative}.damage-level-grid button::after{content:"";position:absolute;right:11px;top:11px;width:14px;height:14px;border:1.3px solid #bec6c2;border-radius:50%}.damage-level-grid button.selected::after{border:4px solid var(--green)}.damage-level-grid button strong{font-size:10px}.damage-level-grid button small{font-size:8px;color:#87908c;margin-top:2px}.damage-level-grid button.total.selected{border-color:#d89b96;background:#fdf7f6}.damage-level-grid button.severe.selected{border-color:#dfb08e;background:#fffaf5}
.form-message{font-size:9px;line-height:1.45;border-radius:12px;margin:10px 0;padding:0}.form-message.ok,.form-message.error{padding:10px 11px}.form-message.ok{background:#edf7f1;color:#27694f}.form-message.error{background:#fff0ee;color:#9d433c}.button-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;display:inline-block;animation:aeSpin .7s linear infinite}@keyframes aeSpin{to{transform:rotate(360deg)}}

/* Modo de mapa / daños */
.map-mode-switch{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:25px}.map-mode-switch button{border:1px solid var(--line);background:#fff;border-radius:13px;height:40px;padding:0 13px;display:flex;align-items:center;gap:7px;font-size:9px;font-weight:900;color:#68726d}.map-mode-switch button .ui-icon{width:14px;height:14px}.map-mode-switch button.active{background:var(--ink);border-color:var(--ink);color:#fff}.map-mode-switch>span{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:8px;color:#76817b}.map-mode-switch>span .ui-icon{width:13px;height:13px;color:var(--green)}
.damage-filters[hidden],[data-support-filters][hidden]{display:none!important}
.ae-marker.damage .ae-marker-pin{color:#a94a43;background:#fff8f7}.ae-marker.damage.high .ae-marker-pin{color:#bd672f;background:#fffaf5}.ae-marker.damage.medium .ae-marker-pin{color:#9b721d;background:#fffcf4}.ae-marker.damage.inspection .ae-marker-pin{color:#3b7088;background:#f7fbfd}.damage-location-card .support-card-icon{background:#f8eae8;color:#a74b44}.damage-location-card.high .support-card-icon{background:#fff0e7;color:#b76235}.damage-location-card.medium .support-card-icon{background:#fff5e1;color:#92701f}.damage-location-card.inspection .support-card-icon{background:#eaf2f5;color:#396f88}.damage-state{background:#ad4a43;box-shadow:0 0 0 4px rgba(173,74,67,.08)}
.damage-popup .map-popup-top{justify-content:space-between}

/* Menos vacío y mejor ritmo visual */
.needs-section{padding-top:48px!important;padding-bottom:36px!important}.territory-section{padding-top:62px!important}.trust-strip{padding-top:62px!important;padding-bottom:64px!important}.footer-cta{margin-top:18px!important}

@media(max-width:980px){
  .seismic-strip,.emergency-explorer{margin-left:24px;margin-right:24px}.emergency-stat-strip{grid-template-columns:1fr 1fr}.people-public-grid,.damage-public-grid,.resource-grid{grid-template-columns:1fr 1fr}.explorer-heading{grid-template-columns:1fr}.explorer-heading .btn{justify-self:start}.explorer-toolbar{grid-template-columns:1fr}.explorer-hint{display:none}
}
@media(max-width:640px){
  .seismic-strip{margin:8px 15px 18px}.seismic-head{align-items:center}.seismic-head h2{font-size:21px;letter-spacing:-.7px}.seismic-head p{font-size:9px}.seismic-head .slider-controls{display:none}.quake-track{margin-right:-15px;padding-right:15px;gap:8px}.quake-card{flex-basis:252px;min-height:132px;padding:12px;border-radius:17px}.quake-main{grid-template-columns:53px 1fr}.quake-main>b{font-size:28px}.seismic-source-note{align-items:flex-start;flex-direction:column;gap:4px}
  .emergency-explorer{margin:0 15px;padding:49px 0 35px}.explorer-heading{gap:15px}.explorer-heading h2{font-size:31px;letter-spacing:-1.2px}.explorer-heading p{font-size:10px}.explorer-heading .btn{width:100%}.emergency-stat-strip{display:flex;overflow-x:auto;margin-right:-15px;padding-right:15px;scroll-snap-type:x mandatory;scrollbar-width:none}.emergency-stat-strip::-webkit-scrollbar{display:none}.emergency-stat-strip article{flex:0 0 152px;scroll-snap-align:start;border-radius:16px}.explorer-tabs{width:100%;border-radius:14px}.explorer-tabs button{flex:0 0 auto;height:38px;padding:0 11px;font-size:9px}.explorer-toolbar{margin-top:8px}.explorer-search{height:44px}.explorer-empty{grid-template-columns:45px 1fr;min-height:175px;padding:19px 16px}.explorer-empty>span{width:45px;height:45px}.explorer-empty .btn{grid-column:1/3;width:100%}.people-public-grid,.damage-public-grid,.resource-grid{grid-template-columns:1fr}.public-person-card{grid-template-columns:104px 1fr}.damage-image{height:190px}.external-sources{grid-template-columns:1fr}.pane-action{align-items:flex-start}.pane-action p{font-size:8px}
  .upload-field label{grid-template-columns:37px 1fr}.upload-field .upload-action{grid-column:2}.damage-level-grid{grid-template-columns:1fr 1fr}.map-mode-switch{overflow-x:auto;flex-wrap:nowrap;margin-right:-15px;padding-right:15px;scrollbar-width:none}.map-mode-switch::-webkit-scrollbar{display:none}.map-mode-switch button{flex:0 0 auto}.map-mode-switch>span{display:none}.needs-section{padding-top:30px!important;padding-bottom:20px!important}.territory-section{padding-top:48px!important}.trust-strip{padding-top:48px!important}
}
.field-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.65px;font-weight:900;color:#707a75;margin:14px 0 7px}


/* =========================================================
   AQUÍ ESTAMOS v0.4.1 — corrección visual, cache y responsive
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
.app-shell,main{width:100%;max-width:100%;min-width:0;overflow-x:clip}
img,svg,video,canvas{max-width:100%}
button,input,textarea,label,section,article,aside,div,span,a{min-width:0}

/* Bloques v0.4: forzar una presentación consistente incluso si quedó CSS previo en caché */
.seismic-strip,.emergency-explorer,.territory-section{width:calc(100% - 48px);max-width:1184px;margin-left:auto;margin-right:auto}
.seismic-head,.explorer-heading,.territory-head{width:100%}
.quake-track,.official-lines-track{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}
.quake-card{box-sizing:border-box;min-width:0}
.quake-card *{min-width:0}
.quake-main strong,.quake-main span{overflow-wrap:anywhere}
.emergency-stat-strip{width:100%;max-width:100%}
.explorer-tabs{box-sizing:border-box}
.explorer-tabs button{appearance:none;-webkit-appearance:none}
.explorer-toolbar,.explorer-search{width:100%;max-width:100%}
.explorer-search input{min-width:0;max-width:100%}
.people-public-grid,.damage-public-grid,.resource-grid{width:100%;max-width:100%}
.public-person-card,.damage-public-card,.resource-card{min-width:0;max-width:100%;overflow:hidden}
.external-sources{width:100%;max-width:100%}
.map-mode-switch,.map-filter-bar{max-width:100%}
.territory-layout{width:100%;max-width:100%}
.support-map-wrap,.support-panel{min-width:0;max-width:100%}

/* Lenguaje visual más suave y menos 'alerta' */
.explorer-heading h2,.territory-head h2{max-width:760px}
.explorer-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(23,32,29,.05)}
.explorer-tabs button.active::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:1px}
.map-mode-switch>span{border:1px solid var(--line);background:#f8f9f6;padding:7px 10px;border-radius:999px}

/* Evita que el navegador pinte controles sin estilo durante carga/caché */
.explorer-tabs button,.map-mode-switch button,.map-filter-bar button,.need-chips button{font-family:inherit;line-height:1.1}

@media(max-width:980px){
  .seismic-strip,.emergency-explorer,.territory-section{width:calc(100% - 40px);margin-left:20px;margin-right:20px}
  .territory-layout{grid-template-columns:1fr}
  .territory-head{grid-template-columns:1fr}
  .explorer-heading{grid-template-columns:1fr}
}

@media(max-width:640px){
  :root{--mobile-gutter:16px}
  body{font-size:16px}
  .topbar{width:100%;max-width:100%;padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}
  .hero{width:100%;max-width:100%;padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter);overflow:hidden}
  .hero h1{font-size:clamp(37px,11.2vw,46px);letter-spacing:-1.9px;overflow-wrap:normal;word-break:normal}
  .hero-copy>p{font-size:14px;max-width:100%}
  .hero-actions{grid-template-columns:1fr;width:100%}
  .hero-actions .btn{width:100%;min-height:48px}
  .hero-visual,.pulse-card{width:100%;max-width:100%}
  .metric-grid{width:100%}

  .seismic-strip,.official-lines,.action-hub,.emergency-explorer,.needs-section,.territory-section,.trust-strip,.footer-cta,.site-footer{
    width:calc(100% - (var(--mobile-gutter) * 2));
    max-width:calc(100% - (var(--mobile-gutter) * 2));
    margin-left:var(--mobile-gutter)!important;
    margin-right:var(--mobile-gutter)!important;
  }

  .seismic-strip{padding-left:0;padding-right:0}
  .seismic-head{display:block}
  .seismic-head h2{font-size:23px;line-height:1.12}
  .seismic-head p{font-size:10px;line-height:1.5}
  .quake-track{margin:0!important;padding:2px 0 8px!important;gap:8px;width:100%;max-width:100%}
  .quake-card{flex:0 0 min(82vw,286px);width:min(82vw,286px);min-height:134px;padding:13px 14px}
  .quake-main{grid-template-columns:52px minmax(0,1fr)}
  .quake-main>b{font-size:27px}
  .quake-main strong{font-size:11px}
  .quake-main span{font-size:8px;white-space:normal;line-height:1.35}
  .quake-foot{font-size:7px;gap:6px;flex-wrap:wrap}
  .seismic-source-note{font-size:8px;line-height:1.45}

  .official-lines-track{margin:0!important;padding:0 0 8px!important;gap:8px}
  .official-line-card{flex:0 0 min(84vw,320px);max-width:min(84vw,320px)}

  .action-hub{grid-template-columns:1fr;gap:8px}
  .action-card{width:100%;max-width:100%}

  .emergency-explorer{padding-top:46px;padding-bottom:34px}
  .explorer-heading{display:block}
  .explorer-heading h2{font-size:30px;line-height:1.08;letter-spacing:-1.1px;margin-top:6px}
  .explorer-heading p{font-size:10px;line-height:1.55;max-width:100%}
  .explorer-heading .btn{width:100%;margin-top:15px;min-height:46px}

  .emergency-stat-strip{display:grid!important;grid-template-columns:1fr 1fr;overflow:visible!important;margin:18px 0 14px!important;padding:0!important;gap:7px;width:100%}
  .emergency-stat-strip article{flex:none!important;width:100%;min-width:0;padding:12px;border-radius:15px;gap:8px}
  .emergency-stat-strip .stat-icon{width:32px;height:32px}
  .emergency-stat-strip b{font-size:20px}
  .emergency-stat-strip span{font-size:7px;line-height:1.2}

  .explorer-tabs{width:100%;max-width:100%;overflow-x:auto;padding:4px;margin:0;border-radius:14px;scroll-padding-left:4px}
  .explorer-tabs button{flex:0 0 auto;min-width:max-content;height:39px;padding:0 11px;font-size:9px}
  .explorer-tabs button.active::after{width:5px;height:5px}
  .explorer-toolbar{display:block;width:100%;margin-top:9px}
  .explorer-search{width:100%;height:45px}
  .explorer-hint{display:block;margin:7px 2px 0;white-space:normal;font-size:8px;line-height:1.4}
  .explorer-empty{width:100%;max-width:100%;grid-template-columns:44px minmax(0,1fr);padding:17px 14px;gap:11px;min-height:0}
  .explorer-empty>span{width:44px;height:44px}
  .explorer-empty .btn{grid-column:1/3;width:100%;margin-top:3px}
  .external-sources{grid-template-columns:1fr;gap:7px}
  .external-source-card{grid-template-columns:36px minmax(0,1fr) 15px;padding:11px 12px;border-radius:16px}

  .needs-section{padding-top:28px!important;padding-bottom:18px!important}
  .section-heading h2{font-size:30px}
  .need-chips{display:flex;overflow-x:auto;flex-wrap:nowrap;width:100%;max-width:100%;padding-bottom:4px;scrollbar-width:none}
  .need-chips::-webkit-scrollbar{display:none}
  .need-chips button{flex:0 0 auto}

  .territory-section{padding-top:42px!important;padding-bottom:54px}
  .territory-head{display:block}
  .territory-head h2{font-size:30px;line-height:1.08;letter-spacing:-1.1px}
  .territory-head p{font-size:11px;line-height:1.55}
  .territory-stat{margin-top:14px;width:100%;max-width:100%}
  .map-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px;width:100%;overflow:visible;padding:0}
  .map-mode-switch button{width:100%;justify-content:center;height:42px;padding:0 8px;font-size:9px}
  .map-mode-switch>span{grid-column:1/3;margin:0;justify-content:center;font-size:8px;text-align:center}
  .map-filter-bar{display:flex;overflow-x:auto;flex-wrap:nowrap;width:100%;max-width:100%;margin:11px 0 10px!important;padding:0 0 3px!important;scrollbar-width:none}
  .map-filter-bar::-webkit-scrollbar{display:none}
  .map-filter-bar button{flex:0 0 auto}
  .territory-layout{display:block;width:100%;max-width:100%}
  .support-map-wrap{width:100%;height:340px;min-height:340px;border-radius:20px}
  .support-panel{width:100%;max-width:100%;min-height:0;max-height:360px;margin-top:9px;border-radius:20px}
  .map-safety-note{width:100%;max-width:100%;padding:12px;border-radius:15px}

  .trust-grid{grid-template-columns:1fr}
  .footer-cta{padding:42px 18px}
  .footer-cta h2{font-size:28px;line-height:1.12}
  .footer-cta>div{display:grid;grid-template-columns:1fr;width:100%}
  .footer-cta .btn{width:100%}

  .sheet,.select-popover{max-width:100vw;overflow-x:hidden}
  .choice-grid{grid-template-columns:1fr}
  .two-fields{grid-template-columns:1fr}
  .damage-level-grid{grid-template-columns:1fr}
  .upload-field label{grid-template-columns:36px minmax(0,1fr)}
  .upload-field .upload-action{grid-column:2;justify-self:start}
}

@media(max-width:370px){
  :root{--mobile-gutter:14px}
  .hero h1{font-size:36px}
  .emergency-stat-strip{grid-template-columns:1fr}
  .map-mode-switch{grid-template-columns:1fr}
  .map-mode-switch>span{grid-column:1}
  .quake-card{flex-basis:calc(100vw - 42px);width:calc(100vw - 42px)}
  .official-line-card{flex-basis:calc(100vw - 42px);max-width:calc(100vw - 42px)}
}


/* v0.5 — operación y carruseles vivos */
.official-lines-track,.quake-track{scroll-behavior:smooth;overscroll-behavior-inline:contain}
.slider-live-note{display:inline-flex;align-items:center;gap:6px;font-size:8px;color:#83908a;margin-top:6px}.slider-live-note .ui-icon{width:12px;height:12px;color:var(--green)}
.volunteer-callout{max-width:1184px;margin:12px auto 74px;border:1px solid #dce7e1;background:#f6faf7;border-radius:24px;padding:19px 20px;display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center}.volunteer-callout>span{width:46px;height:46px;border-radius:15px;background:#e6f2eb;color:var(--green);display:grid;place-items:center}.volunteer-callout>span .ui-icon{width:21px;height:21px}.volunteer-callout div{display:flex;flex-direction:column}.volunteer-callout strong{font-size:13px}.volunteer-callout small{font-size:9px;color:#74807a;line-height:1.5;margin-top:2px}.volunteer-callout .btn{white-space:nowrap;font-size:10px;padding:11px 14px}
@media(max-width:980px){.volunteer-callout{margin-left:24px;margin-right:24px}}
@media(max-width:640px){.volunteer-callout{margin:8px 15px 48px;grid-template-columns:40px 1fr;padding:15px;border-radius:19px}.volunteer-callout>span{width:40px;height:40px;border-radius:13px}.volunteer-callout .btn{grid-column:1/-1;width:100%}.slider-live-note{font-size:7px}}
@media(prefers-reduced-motion:reduce){.official-lines-track,.quake-track{scroll-behavior:auto}}


/* =========================================================
   AQUÍ ESTAMOS v0.5.1 — recolorización humana / personas
   Inspiración cromática: azul confianza, rojo alerta, amarillo acción, verde confirmado
   ========================================================= */
:root{
  --bg:#f7f8fb;
  --surface:#ffffff;
  --surface-soft:#f4f6fb;
  --line:#e2e7f0;
  --ink:#1e2430;
  --muted:#667085;
  --green:#0f8b6d;
  --green-soft:#e7f7f1;
  --red:#d91f3a;
  --red-soft:#fdecef;
  --coral:#ef6a3a;
  --blue:#123E8A;
  --blue-soft:#e9f1ff;
  --amber:#f2c300;
  --amber-soft:#fff7d7;
  --shadow:0 22px 55px rgba(18,62,138,.08);
}
body{background:var(--bg);color:var(--ink)}
.hero-visual:before{background:radial-gradient(circle at 50% 45%,rgba(18,62,138,.10),transparent 62%)}
.btn.primary{background:var(--blue);box-shadow:0 12px 26px rgba(18,62,138,.18)}
.btn.primary:hover{background:#0f3474}
.btn.soft{border-color:#dfe5ef;background:#fff;color:var(--ink)}
.section-kicker,.eyebrow,.brand small{color:#6a7282}
.hero-copy>p,.explorer-heading p,.trust-strip>p,.map-copy p,.official-lines-note,.seismic-source-note,.slider-live-note{color:var(--muted)}
.hero h1 em{color:var(--blue)}

/* llamadas y actividad */
.seismic-strip,.official-lines,.emergency-explorer,.needs-section,.territory-section,.trust-strip{position:relative}
.seismic-strip .section-kicker,.official-lines .section-kicker,.emergency-explorer .section-kicker,.needs-section .section-kicker,.territory-section .section-kicker{color:#6e7685}
.quake-card{border-color:#dfe6f2;box-shadow:0 10px 24px rgba(17,24,39,.03)}
.quake-card::before{background:var(--blue)}
.quake-card.moderate::before{background:var(--amber)}
.quake-card.strong::before{background:var(--red)}
.quake-wave{background:var(--blue-soft);color:var(--blue)}
.quake-card.moderate .quake-wave{background:var(--amber-soft);color:#9b6e00}
.quake-card.strong .quake-wave{background:var(--red-soft);color:var(--red)}
.official-line-card{border-color:#e3e7ef;box-shadow:0 8px 22px rgba(17,24,39,.03)}
.official-line-card>b{background:#eff3fa;color:var(--blue)}
.official-line-card.emergency .line-icon,.official-line-card.redcross .line-icon{background:var(--red-soft);color:var(--red)}
.official-line-card.fire .line-icon{background:#fff2e2;color:#d46a17}
.official-line-card.whatsapp .line-icon{background:var(--green-soft);color:var(--green)}
.official-line-card.mental .line-icon{background:#edf0ff;color:#4f5bd5}
.official-line-card.national .line-icon{background:var(--blue-soft);color:var(--blue)}
.official-line-card.search .line-icon{background:#eef2f8;color:#5a6782}

/* acciones rápidas */
.action-card{border-color:#e4e8f1;box-shadow:0 8px 20px rgba(17,24,39,.025)}
.action-card.red .action-symbol{background:var(--red-soft);color:var(--red)}
.action-card.coral .action-symbol{background:var(--amber-soft);color:#9d6a00}
.action-card.green .action-symbol{background:var(--green-soft);color:var(--green)}
.action-card.blue .action-symbol{background:var(--blue-soft);color:var(--blue)}

/* módulo personas / explorer */
.emergency-explorer{border-top-color:#e2e8f0}
.emergency-explorer .explorer-heading .btn.primary{background:var(--red);box-shadow:0 14px 28px rgba(217,31,58,.20)}
.emergency-stat-strip article{border-color:#e0e5ef;box-shadow:0 8px 22px rgba(17,24,39,.025)}
.emergency-stat-strip article:nth-child(1){background:linear-gradient(180deg,#fffdf6 0%,#fff9df 100%)}
.emergency-stat-strip article:nth-child(2){background:linear-gradient(180deg,#f9fffc 0%,#ecfaf4 100%)}
.emergency-stat-strip article:nth-child(3){background:linear-gradient(180deg,#fff8f8 0%,#fdecef 100%)}
.emergency-stat-strip article:nth-child(4){background:linear-gradient(180deg,#fbfdff 0%,#eef4ff 100%)}
.emergency-stat-strip article:nth-child(1) .stat-icon{background:var(--amber-soft);color:#9a6b00}
.emergency-stat-strip article:nth-child(2) .stat-icon{background:var(--green-soft);color:var(--green)}
.emergency-stat-strip article:nth-child(3) .stat-icon{background:var(--red-soft);color:var(--red)}
.emergency-stat-strip article:nth-child(4) .stat-icon{background:var(--blue-soft);color:var(--blue)}
.emergency-stat-strip b{font-size:24px;color:var(--ink)}
.emergency-stat-strip span{color:#6f7788}
.explorer-tabs{background:#eff2f7;border-color:#dbe3ee;padding:5px}
.explorer-tabs button{color:#6b7381}
.explorer-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 5px 15px rgba(17,24,39,.06)}
.explorer-tabs button.active::after{display:none}
.explorer-tabs button[data-explorer-tab="people"].active{background:var(--red);color:#fff}
.explorer-tabs button[data-explorer-tab="damage"].active{background:#d97706;color:#fff}
.explorer-tabs button[data-explorer-tab="support"].active{background:var(--green);color:#fff}
.explorer-tabs button[data-explorer-tab="people"].active b,.explorer-tabs button[data-explorer-tab="damage"].active b,.explorer-tabs button[data-explorer-tab="support"].active b{background:rgba(255,255,255,.18);color:#fff}
.explorer-search{border-color:#dbe2ec;background:#fff;box-shadow:0 4px 14px rgba(17,24,39,.03)}
.explorer-search .ui-icon{color:var(--blue)}

.public-person-card{border-color:#e2e8f0;border-radius:24px;box-shadow:0 12px 30px rgba(17,24,39,.04)}
.public-person-photo{background:#eef2f8}
.public-person-copy small{color:#67748b;font-size:8px}
.public-person-copy h3{font-size:17px;color:#1f2937}
.public-person-copy p{font-size:10px;color:#667085}
.person-status-chip{background:var(--red-soft);color:var(--red);padding:6px 9px;border:1px solid rgba(217,31,58,.10);box-shadow:none}
.person-status-chip.located{background:var(--green-soft);color:var(--green);border-color:rgba(15,139,109,.10)}
.person-card-meta{border-top-color:#e7ebf2;color:#7b8493}

.external-source-card{border-color:#e2e7ef;border-radius:20px;box-shadow:0 8px 18px rgba(17,24,39,.025)}
.external-source-card>span{background:var(--blue-soft);color:var(--blue)}
.external-source-card:nth-child(2)>span{background:var(--amber-soft);color:#9b6e00}
.external-source-card small{color:#717a88}.external-source-card p{color:#667085}

.damage-public-card,.resource-card{border-color:#e2e7ef;box-shadow:0 10px 24px rgba(17,24,39,.03)}
.damage-image{background:#eef2f8}
.damage-level-pill.critical{background:var(--red-soft);color:var(--red)}
.damage-level-pill.high{background:#fff0df;color:#b25e10}
.damage-level-pill.medium{background:var(--amber-soft);color:#8f6a12}
.damage-level-pill.inspection{background:var(--blue-soft);color:var(--blue)}
.resource-card>span{background:var(--green-soft);color:var(--green)}
.resource-state{background:var(--green)}
.resource-state.reconfirm{background:#d39b24}

.need-chips button,.map-filter-bar button,.map-mode-switch button,.filter-btn{border-color:#dce3ed;background:#fff;color:#414b5a}
.need-chips button:hover,.map-filter-bar button:hover,.map-mode-switch button:hover,.filter-btn:hover{border-color:#cfd9e7}
.map-filter-bar button.active,.map-mode-switch button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.need-chips button[data-open-sheet]{box-shadow:0 4px 12px rgba(17,24,39,.02)}

/* formularios y selects */
.field input,.field textarea,.select-trigger,.upload-field,.consent-control,.sheet,.sheet-small,.select-popover{border-color:#dfe5ef}
.select-trigger,.field input,.field textarea{background:#fff}
.consent-control{background:#fff}
.consent-control[aria-pressed="true"]{border-color:#9fd1be;background:#f5fbf8}

/* responsive: mantener look del módulo personas en móvil */
@media(max-width:640px){
  .emergency-stat-strip article{padding:13px 12px}
  .emergency-stat-strip b{font-size:22px}
  .explorer-heading .btn.primary{width:100%}
  .public-person-card{border-radius:22px}
  .public-person-copy h3{font-size:16px}
  .official-line-card>b{padding:7px 9px}
}


/* v0.5.2 — botón hero Necesito ayuda en amarillo */
.hero-actions .btn.soft{
  background:var(--amber);
  border-color:#e4b100;
  color:#1e2430;
  box-shadow:0 12px 26px rgba(242,195,0,.18);
}
.hero-actions .btn.soft svg,.hero-actions .btn.soft .ui-icon{color:#1e2430}
.hero-actions .btn.soft:hover{background:#e8bb00;border-color:#d1a900}
.hero-actions .btn.soft:active{transform:translateY(1px)}

/* =========================================================
   Manos para ayudar v0.8.0 — hospitales, necesidades y privacidad
   ========================================================= */
.emergency-explorer .explorer-heading .btn.primary{background:var(--blue);box-shadow:0 14px 28px rgba(18,62,138,.16)}
.hospital-stats article:nth-child(1){background:linear-gradient(180deg,#fbfdff 0%,#edf4ff 100%)}
.hospital-stats article:nth-child(1) .stat-icon{background:var(--blue-soft);color:var(--blue)}
.hospital-stats article:nth-child(2){background:linear-gradient(180deg,#fffdf6 0%,#fff7d7 100%)}
.hospital-stats article:nth-child(2) .stat-icon{background:var(--amber-soft);color:#956b00}
.hospital-stats article:nth-child(3){background:linear-gradient(180deg,#f9fffc 0%,#e7f7f1 100%)}
.hospital-stats article:nth-child(3) .stat-icon{background:var(--green-soft);color:var(--green)}
.hospital-stats article:nth-child(4){background:linear-gradient(180deg,#fbfdff 0%,#eef4ff 100%)}
.hospital-stats article:nth-child(4) .stat-icon{background:var(--blue-soft);color:var(--blue)}
.explorer-tabs button[data-explorer-tab="hospital"].active{background:var(--blue);color:#fff}
.explorer-tabs button[data-explorer-tab="damage"].active{background:#d97706;color:#fff}
.explorer-tabs button[data-explorer-tab="support"].active{background:var(--green);color:#fff}
.hospital-safety-note{margin:0 0 15px;padding:13px 15px;border-radius:17px;border:1px solid #d7e4fb;background:#f4f8ff;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;color:#38547f}.hospital-safety-note>.ui-icon{width:21px;height:21px;margin:3px auto 0;color:var(--blue)}.hospital-safety-note div{display:flex;flex-direction:column}.hospital-safety-note strong{font-size:10px;color:#173d78}.hospital-safety-note span{font-size:9px;line-height:1.5;margin-top:2px;color:#62728d}
.hospital-needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hospital-need-card{background:#fff;border:1px solid #e1e7f0;border-radius:22px;padding:16px;min-width:0;box-shadow:0 10px 25px rgba(17,24,39,.035);position:relative;overflow:hidden}.hospital-need-card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--blue)}.hospital-need-card.urgency-critical::before{background:var(--red)}.hospital-need-card.urgency-high::before{background:#e39118}.hospital-need-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.hospital-need-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue)}.hospital-need-icon .ui-icon{width:18px;height:18px}.need-urgency{font-size:7px;text-transform:uppercase;letter-spacing:.5px;font-weight:900;background:#eef3fb;color:#51647e;border-radius:999px;padding:5px 7px}.urgency-critical .need-urgency{background:var(--red-soft);color:var(--red)}.urgency-high .need-urgency{background:var(--amber-soft);color:#926800}.hospital-need-card>small{display:block;margin-top:12px;font-size:8px;text-transform:uppercase;letter-spacing:.55px;color:#737f91;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hospital-need-card h3{font-size:16px;margin:5px 0 4px}.hospital-need-card>p{font-size:10px;line-height:1.45;color:#5f6c7d;margin:0}.hospital-public-note{margin-top:10px;border-radius:12px;background:#f7f9fc;padding:9px 10px;font-size:8px;line-height:1.45;color:#6f7b8c}.hospital-need-card footer{display:flex;justify-content:space-between;gap:9px;margin-top:14px;padding-top:10px;border-top:1px solid #e8edf3;font-size:7px;color:#818b99}.hospital-need-card footer span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hospital-directory{margin-top:18px;border:1px solid #e1e7ef;background:#fff;border-radius:22px;padding:14px}.section-mini-head{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 10px}.section-mini-head strong{font-size:11px}.section-mini-head span{font-size:8px;background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:5px 8px;font-weight:900}.hospital-directory article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px 3px;border-top:1px solid #edf0f4}.hospital-directory article>span{width:38px;height:38px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center}.hospital-directory article>span .ui-icon{width:17px;height:17px}.hospital-directory article>div{display:flex;flex-direction:column;min-width:0}.hospital-directory strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hospital-directory small{font-size:8px;color:#7b8594;margin-top:2px}.hospital-directory b{font-size:8px;color:var(--green);white-space:nowrap}
.action-card.red .action-symbol{background:var(--blue-soft);color:var(--blue)}
.action-card.coral .action-symbol{background:var(--amber-soft);color:#956b00}
.action-card.blue .action-symbol{background:#fff0e5;color:#c56322}
.action-card.green .action-symbol{background:var(--green-soft);color:var(--green)}
@media(max-width:980px){.hospital-needs-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hospital-needs-grid{grid-template-columns:1fr}.hospital-safety-note{grid-template-columns:28px 1fr;padding:12px}.hospital-directory{padding:12px;border-radius:19px}.hospital-directory article{grid-template-columns:35px 1fr}.hospital-directory article>b{grid-column:2}.hospital-need-card{border-radius:20px;padding:14px}.hospital-need-card h3{font-size:15px}}


/* v0.8.0 — identidad Manos para ayudar */
.brand-mark.helping-mark{background:#123E8A;color:#fff;border:0;box-shadow:0 7px 18px rgba(18,62,138,.18)}
.brand-mark.helping-mark .ui-icon{width:20px;height:20px;stroke-width:1.9}
@media(max-width:640px){.brand-mark.helping-mark .ui-icon{width:18px;height:18px}}

/* =========================================================
   Manos para ayudar v0.8.0 — mapa hospitalario operativo
   ========================================================= */
.hospital-map-marker{position:relative!important;width:48px!important;height:48px!important;background:transparent!important;border:0!important}
.hospital-marker-core{position:absolute;left:50%;top:50%;z-index:3;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;transform:translate(-50%,-50%);background:#0f8b6d;color:#fff;border:2px solid rgba(255,255,255,.96);box-shadow:0 7px 18px rgba(15,139,109,.30),0 0 0 4px rgba(15,139,109,.10)}
.hospital-marker-core .ui-icon,.hospital-marker-core svg{width:15px;height:15px;stroke-width:2}
.hospital-marker-ring{position:absolute;left:50%;top:50%;z-index:1;width:30px;height:30px;border:2px solid rgba(15,139,109,.46);border-radius:999px;transform:translate(-50%,-50%) scale(.82);opacity:.7;pointer-events:none;animation:hospitalPulse 2.6s cubic-bezier(.2,.7,.25,1) infinite}
.hospital-marker-ring.ring-two{animation-delay:1.3s}
@keyframes hospitalPulse{0%{opacity:.62;transform:translate(-50%,-50%) scale(.82)}68%{opacity:.09;transform:translate(-50%,-50%) scale(1.72)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.92)}}
.hospital-map-marker.high-demand .hospital-marker-core{background:#e2aa08;box-shadow:0 7px 18px rgba(226,170,8,.30),0 0 0 4px rgba(242,195,0,.12)}
.hospital-map-marker.high-demand .hospital-marker-ring{border-color:rgba(242,195,0,.52)}
.hospital-map-marker.partial .hospital-marker-core{background:#d97706;box-shadow:0 7px 18px rgba(217,119,6,.28),0 0 0 4px rgba(217,119,6,.10)}
.hospital-map-marker.partial .hospital-marker-ring{border-color:rgba(217,119,6,.48)}
.hospital-map-marker.closed .hospital-marker-core{background:#d91f3a;box-shadow:0 7px 18px rgba(217,31,58,.30),0 0 0 4px rgba(217,31,58,.11)}
.hospital-map-marker.closed .hospital-marker-ring{border-color:rgba(217,31,58,.52);animation-duration:2.9s}
.hospital-map-marker.unknown .hospital-marker-core{background:#758094;box-shadow:0 7px 18px rgba(89,101,120,.22),0 0 0 4px rgba(89,101,120,.09)}
.hospital-map-marker.unknown .hospital-marker-ring{border-color:rgba(89,101,120,.35);animation-duration:3.2s}

.map-status-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 13px;padding:0 2px}.map-status-legend>span{display:inline-flex;align-items:center;gap:6px;font-size:8px;font-weight:800;color:#626d7e;background:#fff;border:1px solid #e1e7ef;border-radius:999px;padding:6px 9px;white-space:nowrap}.legend-dot,.hospital-list-state{display:inline-block;width:8px;height:8px;border-radius:999px;background:#0f8b6d;box-shadow:0 0 0 3px rgba(15,139,109,.10)}.legend-dot.high-demand,.hospital-list-state.high-demand{background:#e2aa08;box-shadow:0 0 0 3px rgba(242,195,0,.13)}.legend-dot.partial,.hospital-list-state.partial{background:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.11)}.legend-dot.closed,.hospital-list-state.closed{background:#d91f3a;box-shadow:0 0 0 3px rgba(217,31,58,.10)}.legend-dot.unknown,.hospital-list-state.unknown{background:#758094;box-shadow:0 0 0 3px rgba(117,128,148,.10)}

.hospital-popup-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;background:#e7f7f1;color:#0f765d}.hospital-popup-status.high-demand{background:#fff7d7;color:#866300}.hospital-popup-status.partial{background:#fff0df;color:#a5570c}.hospital-popup-status.closed{background:#fdecef;color:#b81832}.hospital-popup-status.unknown{background:#eef1f5;color:#5d6878}
.hospital-location-card{position:relative}.hospital-location-card .support-card-icon{background:#e7f7f1;color:#0f765d}.hospital-location-card.high-demand .support-card-icon{background:#fff7d7;color:#8c6700}.hospital-location-card.partial .support-card-icon{background:#fff0df;color:#b15c0d}.hospital-location-card.closed .support-card-icon{background:#fdecef;color:#c41d37}.hospital-location-card.unknown .support-card-icon{background:#eef1f5;color:#647083}.hospital-location-card .hospital-list-state{margin-left:auto;flex:0 0 auto}

.hospital-directory article>div em{font-style:normal;font-size:8px;line-height:1.4;color:#667085;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hospital-directory article>aside{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:92px}.hospital-op-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:7px;font-weight:900;white-space:nowrap;background:#e7f7f1;color:#0f765d}.hospital-op-chip.high-demand{background:#fff7d7;color:#866300}.hospital-op-chip.partial{background:#fff0df;color:#a5570c}.hospital-op-chip.closed{background:#fdecef;color:#b81832}.hospital-op-chip.unknown{background:#eef1f5;color:#5d6878}.hospital-directory article>aside small{font-size:7px;color:#8a93a0;max-width:116px;text-align:right}

@media(max-width:640px){.map-status-legend{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.map-status-legend::-webkit-scrollbar{display:none}.map-status-legend>span{font-size:7px}.hospital-directory article{grid-template-columns:35px minmax(0,1fr) auto}.hospital-directory article>aside{grid-column:auto;align-items:flex-end;min-width:78px}.hospital-directory article>aside small{display:none}.hospital-op-chip{font-size:6.5px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.hospital-marker-ring{animation:none!important;opacity:.18;transform:translate(-50%,-50%) scale(1.32)}}

/* v0.8.5 — diagnóstico claro cuando el mapa está conectado pero aún sin datos */
.map-data-notice{padding:16px;border:1px solid #eadfb2;background:#fff9e8;border-radius:18px;display:flex;flex-direction:column;gap:4px;color:#6f5a18}.map-data-notice strong{font-size:11px}.map-data-notice span{font-size:9px;line-height:1.45}


/* =========================================================
   Manos para ayudar v0.8.5 — zonas afectadas + directorios
   ========================================================= */
.emergency-zone-circle{transition:opacity .2s ease}.emergency-zone-circle.zone-critical{stroke:#d91f3a;fill:#d91f3a}.emergency-zone-circle.zone-high{stroke:#e47712;fill:#e47712}.emergency-zone-circle.zone-moderate{stroke:#d8aa00;fill:#f2c300}.emergency-zone-circle.zone-monitoring{stroke:#3168b5;fill:#3168b5}
.emergency-zone-center{position:relative!important;width:34px!important;height:34px!important;background:transparent!important;border:0!important}.emergency-zone-center span{position:absolute;left:50%;top:50%;z-index:3;width:13px;height:13px;transform:translate(-50%,-50%);border-radius:50%;background:#d91f3a;border:2px solid #fff;box-shadow:0 3px 12px rgba(217,31,58,.35)}.emergency-zone-center i{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%) scale(.85);border:2px solid rgba(217,31,58,.55);border-radius:50%;animation:zonePulse 2.7s ease-out infinite}.emergency-zone-center.zone-high span{background:#e47712}.emergency-zone-center.zone-high i{border-color:rgba(228,119,18,.55)}.emergency-zone-center.zone-moderate span{background:#d8aa00}.emergency-zone-center.zone-moderate i{border-color:rgba(216,170,0,.52)}.emergency-zone-center.zone-monitoring span{background:#3168b5}.emergency-zone-center.zone-monitoring i{border-color:rgba(49,104,181,.48)}
@keyframes zonePulse{0%{opacity:.64;transform:translate(-50%,-50%) scale(.75)}72%{opacity:.04;transform:translate(-50%,-50%) scale(1.8)}100%{opacity:0;transform:translate(-50%,-50%) scale(2)}}
.legend-dot.zone-critical,.zone-list-state.zone-critical{background:#d91f3a;box-shadow:0 0 0 3px rgba(217,31,58,.1)}.legend-dot.zone-high,.zone-list-state.zone-high{background:#e47712;box-shadow:0 0 0 3px rgba(228,119,18,.11)}.legend-dot.zone-moderate,.zone-list-state.zone-moderate{background:#d8aa00;box-shadow:0 0 0 3px rgba(216,170,0,.12)}.legend-dot.zone-monitoring,.zone-list-state.zone-monitoring{background:#3168b5;box-shadow:0 0 0 3px rgba(49,104,181,.1)}.legend-explainer{background:#f7f9fc!important;color:#748095!important}.zone-list-state{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:auto;flex:0 0 auto}.zone-location-card.zone-critical .support-card-icon{background:#fdecef;color:#c51e37}.zone-location-card.zone-high .support-card-icon{background:#fff0df;color:#bd6110}.zone-location-card.zone-moderate .support-card-icon{background:#fff8d8;color:#8c6b00}.zone-location-card.zone-monitoring .support-card-icon{background:#eaf1fb;color:#245b9f}
.zone-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.zone-status-pill.zone-critical{background:#fdecef;color:#b81832}.zone-status-pill.zone-high{background:#fff0df;color:#a9570b}.zone-status-pill.zone-moderate{background:#fff8d8;color:#806200}.zone-status-pill.zone-monitoring{background:#eaf1fb;color:#245b9f}
.support-location-card.no-map-coordinate .support-card-copy em{display:block;margin-top:4px;font-style:normal;font-size:7px;color:#8a6b19;font-weight:800}.support-location-card.no-map-coordinate{border-style:dashed}.support-location-card.no-map-coordinate::after{content:"Abrir dirección";font-size:6.5px;font-weight:900;color:#576579;background:#f3f6fa;border-radius:999px;padding:5px 7px;white-space:nowrap}
@media(max-width:640px){.support-location-card.no-map-coordinate::after{display:none}.zone-location-card .support-card-copy span{-webkit-line-clamp:2}.map-mode-switch{scrollbar-width:none}.map-mode-switch::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.emergency-zone-center i{animation:none!important;opacity:.18;transform:translate(-50%,-50%) scale(1.45)}}


/* =========================================================
   Manos para ayudar v0.9.0 — mapa móvil limpio y coordenadas seguras
   ========================================================= */
.map-filter-bar[hidden],
.map-status-legend[hidden],
.map-coordinate-note[hidden]{display:none!important}

.map-coordinate-note{
  position:absolute;z-index:4;left:12px;right:12px;bottom:12px;
  display:flex;align-items:flex-start;gap:9px;
  padding:10px 12px;border:1px solid rgba(219,226,236,.94);
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);
  border-radius:14px;box-shadow:0 8px 26px rgba(30,42,58,.10);
  color:#586476;font-size:8px;line-height:1.45
}
.map-coordinate-note .ui-icon{width:15px;height:15px;flex:0 0 auto;color:var(--blue);margin-top:1px}
.map-coordinate-note strong{color:#273142;font-weight:900}

@media(max-width:640px){
  .map-filter-bar{scroll-padding-inline:2px;overscroll-behavior-x:contain}
  .map-filter-bar button{scroll-snap-align:center}
  .map-status-legend{scroll-padding-inline:2px;overscroll-behavior-x:contain}
  .map-coordinate-note{left:9px;right:9px;bottom:9px;padding:9px 10px;font-size:7.5px;border-radius:13px}
}


/* v0.9.0 · Directorio hospitalario desplegable */
.hospital-directory-collapsible{padding:0;overflow:hidden}
.hospital-directory-toggle{width:100%;min-height:76px;border:0;background:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;color:var(--ink);font-family:inherit;cursor:pointer}
.hospital-directory-title{display:flex;flex-direction:column;min-width:0}
.hospital-directory-title small{font-size:8px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#7f8897;margin:0 0 4px}
.hospital-directory-title strong{font-size:14px;line-height:1.25;white-space:normal;overflow:visible}
.hospital-directory-meta{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.hospital-directory-meta b{min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:900}
.hospital-directory-meta i{width:32px;height:32px;border-radius:11px;background:#f5f7fa;color:#657080;display:grid;place-items:center;transition:transform .2s ease;font-style:normal}
.hospital-directory-meta i .ui-icon{width:16px;height:16px}
.hospital-directory-toggle[aria-expanded="true"] .hospital-directory-meta i{transform:rotate(180deg)}
.hospital-directory-list{padding:0 14px 12px;border-top:1px solid #edf0f4}
.hospital-directory-list[hidden]{display:none!important}
@media(max-width:640px){.hospital-directory-toggle{min-height:72px;padding:14px 15px}.hospital-directory-title strong{font-size:13px}.hospital-directory-list{padding:0 11px 10px}}
\n\n/* Manos para ayudar v0.9.0 — identidad visual oficial */
.brand-mark.helping-mark{
  width:46px;height:46px;border-radius:0;background:transparent!important;color:inherit;
  border:0!important;box-shadow:none!important;overflow:visible;display:grid;place-items:center;
  flex:0 0 auto;
}
.brand-mark.helping-mark img{
  display:block;width:100%;height:100%;object-fit:contain;object-position:center;
  filter:none;transform:none;
}
.footer-brand .brand-mark.helping-mark{width:42px;height:42px}
.auth-brand .brand-mark.helping-mark{width:50px;height:50px}
@media(max-width:640px){
  .brand-mark.helping-mark{width:39px;height:39px}
  .footer-brand .brand-mark.helping-mark{width:38px;height:38px}
  .auth-brand .brand-mark.helping-mark{width:46px;height:46px}
}


/* v0.9.0 · navegación administrativa completa */
.admin-menu-launch{position:fixed;right:16px;top:16px;z-index:214;border:1px solid #dfe4e9;background:#fff;color:#17201d;border-radius:14px;min-height:42px;padding:0 12px;display:none;align-items:center;gap:7px;font:900 10px Nunito,sans-serif;box-shadow:0 8px 24px rgba(23,32,29,.12)}.admin-menu-launch .ui-icon{width:18px;height:18px}.admin-drawer-backdrop{position:fixed;inset:0;background:rgba(9,16,23,.42);backdrop-filter:blur(3px);z-index:220;opacity:0;visibility:hidden;transition:.22s}.admin-drawer-backdrop.open{opacity:1;visibility:visible}.admin-drawer{position:fixed;z-index:221;left:0;top:0;bottom:0;width:min(330px,88vw);background:#17201d;color:#fff;padding:18px 14px calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-104%);transition:transform .24s ease;display:flex;flex-direction:column;box-shadow:24px 0 60px rgba(0,0,0,.2)}.admin-drawer.open{transform:none}.admin-drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding:3px 4px 15px}.admin-drawer-head .brand strong{color:#fff}.admin-drawer-head .brand small{color:#91a097}.admin-drawer-head>button{width:38px;height:38px;border:0;border-radius:12px;background:#26332e;color:#fff;display:grid;place-items:center}.admin-drawer-head .ui-icon{width:17px;height:17px}.admin-drawer nav{overflow:auto;padding:10px 0;display:flex;flex-direction:column;gap:3px}.admin-drawer nav>small{font-size:8px;text-transform:uppercase;letter-spacing:1.2px;font-weight:900;color:#718078;padding:13px 10px 4px}.admin-drawer nav a{display:flex;align-items:center;gap:11px;color:#bcc8c2;text-decoration:none;padding:11px 12px;border-radius:13px;font-size:10px;font-weight:900}.admin-drawer nav a .ui-icon{width:17px;height:17px}.admin-drawer nav a.active,.admin-drawer nav a:hover{background:#28352f;color:#fff}.admin-drawer-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.admin-drawer-foot a{border-radius:12px;background:#222d29;padding:10px;color:#d9e1dd;text-decoration:none;font-size:8px;font-weight:900;display:flex;gap:6px;align-items:center;justify-content:center}.admin-drawer-foot .ui-icon{width:14px;height:14px}.admin-quick-nav{display:none}.admin-menu-open{overflow:hidden}
@media(max-width:860px){.admin-menu-launch{display:flex}.mobile-admin-nav{display:none!important}.admin-quick-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:210;height:70px;padding-bottom:env(safe-area-inset-bottom,0px);background:#17201d;border-top:1px solid rgba(255,255,255,.08)}.admin-quick-nav a,.admin-quick-nav button{border:0;background:none;color:#92a099;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:800 8px Nunito,sans-serif}.admin-quick-nav .ui-icon{width:18px;height:18px}.admin-quick-nav .active{color:#fff}}

/* v0.9.0 · panel de voluntariado */
.vol-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.vol-action-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;min-height:155px}.vol-action-card>span{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#eef4ff;color:#123e8a}.vol-action-card.damage>span{background:#fff0e5;color:#b45a1f}.vol-action-card.support>span{background:#eef7f1;color:#167054}.vol-action-card .ui-icon{width:19px;height:19px}.vol-action-card strong{font-size:12px}.vol-action-card small{font-size:9px;line-height:1.5;color:#778196}.vol-permission{margin-top:14px;border:1px solid #e4e9f1;border-radius:17px;padding:12px 14px;background:#fff;display:flex;gap:10px;align-items:center}.vol-permission>span{width:36px;height:36px;border-radius:12px;background:#eef1f5;color:#5f6978;display:grid;place-items:center}.vol-permission.direct>span{background:#e7f7f1;color:#0f765d}.vol-permission .ui-icon{width:16px;height:16px}.vol-permission strong{display:block;font-size:10px}.vol-permission small{display:block;font-size:8px;color:#7a8494;margin-top:2px}@media(max-width:700px){.vol-action-grid{grid-template-columns:1fr}.vol-action-card{min-height:0;display:grid;grid-template-columns:44px 1fr;align-items:center}.vol-action-card small{grid-column:2}}
