:root{
--bg:#020402;--card:#071008;--line:#174018;--green:#65ff18;--green2:#b4ff2f;
--white:#f4f6f4;--muted:#8e968f;--red:#ff3b30;--orange:#ff7a00;--yellow:#fff11b;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000;color:var(--white);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea{font:inherit}button{cursor:pointer}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#app{max-width:590px;margin:auto;min-height:100vh;background:#020402;position:relative;padding-bottom:102px}
.app-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:15px 24px;position:sticky;top:0;z-index:100;background:rgba(2,4,2,.94);backdrop-filter:blur(16px)}
.logo-wrap{display:flex;align-items:center;gap:13px}.logo-pulse{width:58px;height:58px;border:3px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);box-shadow:0 0 18px rgba(101,255,24,.3)}.logo-pulse svg{font-size:42px}
.logo-text span,.logo-text strong{display:block;line-height:.9;font-weight:950}.logo-text span{font-size:19px}.logo-text strong{font-size:28px;color:var(--green);text-shadow:0 0 16px rgba(101,255,24,.26)}
.bell-btn{border:0;background:transparent;color:var(--green);font-size:34px}
main{padding:0 20px}.page{display:none;animation:fade .18s ease}.page.active{display:block}@keyframes fade{from{opacity:.4;transform:translateY(4px)}}
.radar-hero{height:330px;margin:0 -20px 30px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(55,255,20,.12),transparent 35%),linear-gradient(#020602,#020402)}
.map-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(101,255,24,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(101,255,24,.08) 1px,transparent 1px);background-size:42px 42px}
.radar{position:absolute;inset:0;display:grid;place-items:center}.ring{position:absolute;border:2px solid rgba(101,255,24,.28);border-radius:50%;animation:ringPulse 2.4s ease-in-out infinite}.ring1{width:150px;height:150px}.ring2{width:220px;height:220px;animation-delay:.35s}.ring3{width:290px;height:290px;animation-delay:.7s}
@keyframes ringPulse{0%,100%{opacity:.25;transform:scale(.94);box-shadow:0 0 0 rgba(101,255,24,0)}50%{opacity:.85;transform:scale(1.03);box-shadow:0 0 30px rgba(101,255,24,.18)}}
.radar-core{position:absolute;width:124px;height:124px;border:4px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);box-shadow:0 0 32px rgba(101,255,24,.48),inset 0 0 22px rgba(101,255,24,.1);animation:coreBeat 1.35s ease-in-out infinite}.radar-core svg{font-size:78px}
@keyframes coreBeat{0%,100%{transform:scale(.98)}50%{transform:scale(1.05)}}
.seismic-wave{position:absolute;left:-5%;width:110%;height:130px;overflow:visible}.seismic-wave path{fill:none;stroke-linejoin:round;stroke-linecap:round}.wave-shadow{stroke:rgba(101,255,24,.2);stroke-width:10;filter:blur(5px)}.wave-main{stroke:var(--green);stroke-width:3.4;stroke-dasharray:1050;stroke-dashoffset:1050;filter:drop-shadow(0 0 5px rgba(101,255,24,.8));animation:drawWave 2.2s linear infinite}
@keyframes drawWave{0%{stroke-dashoffset:1050;opacity:.25}25%{opacity:1}75%{opacity:1}100%{stroke-dashoffset:0;opacity:.25}}
.monitoring{position:absolute;bottom:13px;left:0;right:0;text-align:center;color:#b8c0b8;font-size:11px;font-weight:850;letter-spacing:.1em}.monitoring i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 9px var(--green);animation:blink 1s infinite}@keyframes blink{50%{opacity:.25}}
.tremor-card{width:100%;min-height:132px;border:2px solid var(--green);border-radius:25px;background:linear-gradient(100deg,#071108,#020603);color:white;display:flex;align-items:center;gap:20px;padding:19px 23px;text-align:left;box-shadow:0 0 24px rgba(101,255,24,.14);margin-bottom:18px}
.tremor-card>div:nth-child(2){flex:1}.tremor-card>b{font-size:47px;color:var(--green);font-weight:400}.warning-symbol{width:66px;height:60px;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--yellow);color:#111;display:flex;align-items:flex-end;justify-content:center;font-size:43px;font-weight:950;padding-bottom:2px}
.tremor-card strong{display:block;color:var(--green);font-size:42px;line-height:1;font-weight:950}.tremor-card span{display:block;color:#a6aca6;font-size:16px;margin-top:7px;font-weight:700}
.dashboard-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.status-strip,.emergency-strip{border-radius:17px;min-height:92px;padding:14px;background:#061007;display:flex;align-items:center;gap:10px;text-align:left;color:white}.status-strip{border:1px solid #205c1f}.emergency-strip{border:1px solid rgba(255,59,48,.55);background:linear-gradient(120deg,#0d0806,#050403)}.status-dot{width:15px;height:15px;background:var(--green);border-radius:50%;box-shadow:0 0 12px var(--green);flex:none}.dashboard-row small{display:block;font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--green)}.dashboard-row strong{display:block;font-size:12px;margin-top:4px;line-height:1.3}.dashboard-row b{margin-left:auto;font-size:28px;color:var(--green)}.emergency-strip>svg{font-size:34px;color:var(--red)}.emergency-strip small,.emergency-strip b{color:var(--red)}
.menu-list{display:grid;gap:11px}.menu-row{display:flex;width:100%;min-height:98px;align-items:center;background:linear-gradient(90deg,#061107,#020603);border:1.3px solid #205a1d;border-radius:20px;color:white;padding:12px 14px;text-align:left}.menu-icon{width:62px;height:62px;display:grid;place-items:center;color:#969d97;border-right:1px solid #214421}.menu-icon svg{font-size:43px}.menu-num{font-size:24px;font-weight:950;color:var(--green);margin:0 16px}.menu-copy{flex:1}.menu-copy strong{display:block;font-size:20px}.menu-copy small{display:block;color:#818881;margin-top:3px}.menu-row>b{font-size:39px;color:var(--green);font-weight:400}
.emergency-quick{display:grid;grid-template-columns:1.15fr 1fr 1.2fr 1fr;gap:7px;align-items:stretch;margin:18px 0;background:#061007;border:1px solid #246b22;border-radius:18px;padding:9px}.emergency-title{display:flex;gap:8px;align-items:center}.emergency-title svg{font-size:30px;color:var(--green)}.emergency-title small{display:block;color:var(--green);font-size:8px;font-weight:900}.emergency-title strong{display:block;font-size:9px;line-height:1.2;margin-top:3px}.call{border-radius:12px;padding:8px 5px;text-decoration:none;text-align:center;color:white;display:flex;flex-direction:column;justify-content:center}.call b{font-size:14px}.call span{font-size:8px;margin-top:2px}.police{background:#d51628}.fire{background:#d86a00}.redcross{background:#f4f4f4;color:#7d0b14}
.page-head{display:flex;align-items:center;gap:12px;padding:22px 0}.back-btn{width:44px;height:44px;border-radius:50%;border:1px solid #245825;background:#071008;color:var(--green);font-size:36px}.page-head small{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.12em}.page-head h1{font-size:29px;margin:2px 0 0}
.quake-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:15px;padding:17px;background:#071008;border:1px solid #2b6929;border-radius:19px}.quake-feature>div:first-child{border-right:1px solid #244424}.quake-feature small,.quake-feature span{display:block;color:#8b948c;font-size:11px}.quake-feature>div:first-child strong{display:block;font-size:52px;color:var(--green);line-height:.95}.quake-feature-copy{display:flex;flex-direction:column;justify-content:center;gap:5px}.quake-feature-copy strong{color:var(--green)}
.filters{display:flex;gap:7px;overflow:auto;margin:13px 0}.filter{border:1px solid #234723;background:#071008;color:#89928a;border-radius:10px;padding:9px 12px;font-weight:800;white-space:nowrap}.filter.active{border-color:var(--green);color:var(--green);background:rgba(101,255,24,.1)}
#map{height:360px;border:1px solid #215121;border-radius:18px;overflow:hidden}.section-row{display:flex;align-items:center;justify-content:space-between;margin:16px 2px 8px}.section-row button{border:0;background:transparent;color:var(--green);font-weight:900}.event-list{display:grid;gap:8px}.event{background:#071008;border:1px solid #183c18;border-radius:15px;padding:13px}.event-top{display:flex;justify-content:space-between}.event-mag{font-size:19px;font-weight:950}.event-dist{color:var(--green);font-weight:900}.event-place{font-weight:700;margin-top:5px}.event-time{color:#808981;font-size:11px;margin-top:4px}.official-btn,.main-btn,.outline-btn{width:100%;display:block;border-radius:15px;padding:14px;text-align:center;font-weight:900;text-decoration:none;margin-top:11px}.main-btn{border:0;background:var(--green);color:#041004}.outline-btn,.official-btn{border:1px solid #315b30;background:#071008;color:var(--green)}
.emergency-title-big{display:flex;gap:10px;align-items:center;background:rgba(255,59,48,.08);border:1px solid rgba(255,59,48,.35);border-radius:16px;padding:15px}.emergency-title-big span{font-size:30px}.action-steps{display:grid;gap:10px;margin-top:12px}.action-steps article{display:flex;align-items:center;gap:14px;background:#071008;border:1px solid #183e19;border-radius:16px;padding:15px}.action-steps b{width:40px;height:40px;border-radius:50%;background:var(--green);color:#041004;display:grid;place-items:center}.action-steps strong{display:block}.action-steps span{display:block;color:#8f978f;font-size:12px;margin-top:3px}.info-card,.privacy-note{margin-top:10px;background:#071008;border:1px solid #183e19;border-radius:16px;padding:15px}.info-card strong,.privacy-note strong{color:var(--green)}.info-card p,.privacy-note p{margin:5px 0 0;color:#929a93;line-height:1.45;font-size:13px}
.progress-panel{background:#071008;border:1px solid #225421;border-radius:17px;padding:15px}.progress-panel>div:first-child{display:flex;align-items:end;gap:6px}.progress-panel strong{font-size:40px;color:var(--green)}.progress-panel span{color:#909891;margin-bottom:6px}.bar{height:9px;background:#132014;border-radius:20px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;width:0;background:var(--green)}
.kit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.kit-item{display:flex;align-items:center;gap:8px;background:#071008;border:1px solid #183c18;border-radius:14px;padding:12px}.kit-item.checked{border-color:var(--green);background:rgba(101,255,24,.07)}.kit-item input{accent-color:var(--green)}
.safe-hero{text-align:center;padding:30px 8px}.safe-check{width:98px;height:98px;border:4px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:58px;margin:auto;box-shadow:0 0 28px rgba(101,255,24,.22)}.safe-hero h2{margin:16px 0 5px}.safe-hero p{color:#8e968f;margin:0}textarea{width:100%;min-height:100px;background:#071008;border:1px solid #234924;color:white;border-radius:14px;padding:13px;resize:vertical}
.form-card,.missing-form{display:grid;gap:11px;background:#071008;border:1px solid #183e19;border-radius:17px;padding:15px}.form-card label,.missing-form label{font-size:12px;color:#919992;font-weight:800}.form-card input,.missing-form input,.missing-form textarea{width:100%;margin-top:5px;background:#030603;border:1px solid #1b3d1c;border-radius:11px;padding:11px;color:white;outline:none}.form-2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.missing-form h2{margin:0 0 2px}.missing-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.missing-actions .main-btn,.missing-actions .outline-btn{margin-top:0}.consent{display:flex!important;align-items:flex-start;gap:8px;line-height:1.35}.consent input{width:auto!important;margin-top:2px!important;accent-color:var(--green)}
.missing-list{display:grid;gap:11px}.missing-card{background:#071008;border:1px solid #1b4d1b;border-radius:17px;overflow:hidden}.missing-card img{width:100%;height:260px;object-fit:cover;background:#0e140e}.missing-card-body{padding:14px}.missing-card h3{font-size:21px;margin:0}.missing-meta{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0}.missing-meta span{font-size:10px;background:#122213;border:1px solid #244d24;border-radius:999px;padding:5px 8px;color:#b1bbb2}.missing-card p{color:#949c95;font-size:13px;line-height:1.45}.missing-contact{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #173517;padding-top:10px}.missing-contact a{color:var(--green);font-weight:900;text-decoration:none}.hidden{display:none!important}
.emergency-page-list{display:grid;gap:11px}.emergency-contact{display:flex;align-items:center;gap:13px;border-radius:17px;padding:15px;text-decoration:none;color:white;background:#071008;border:1px solid #243d24}.emergency-contact>svg{font-size:38px}.emergency-contact div{flex:1}.emergency-contact small{display:block;font-size:9px;font-weight:900;letter-spacing:.1em}.emergency-contact strong{display:block;font-size:24px;margin:2px 0}.emergency-contact span{font-size:11px;color:#a2aaa3}.emergency-contact>b{border-radius:10px;padding:8px 10px;background:#182418}.emergency-contact.police{border-color:#8e1c24}.emergency-contact.police>svg{color:#ff3946}.emergency-contact.fire{border-color:#884600}.emergency-contact.fire>svg{color:#ff8a00}.emergency-contact.redcross{border-color:#73313a}.emergency-contact.redcross>svg{color:#ff4b58}.emergency-contact.sem>svg{color:var(--green)}.source-note{color:#7f8880;font-size:11px;line-height:1.45}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(590px,100%);height:92px;background:rgba(2,4,2,.97);border-top:1px solid #252b25;border-radius:22px 22px 0 0;z-index:500;display:flex;overflow-x:auto;padding:6px 5px max(7px,env(safe-area-inset-bottom));scrollbar-width:none}.bottom-nav::-webkit-scrollbar{display:none}
.nav-btn{min-width:82px;flex:1;border:0;background:transparent;color:#777e78;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.nav-btn svg{font-size:29px}.nav-btn small{font-size:9px}.nav-btn.active{color:var(--green);filter:drop-shadow(0 0 7px rgba(101,255,24,.26))}.nav-btn.active small{color:var(--green)}
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:1000;display:grid;align-items:end}.sheet{background:#071008;border:1px solid #285d27;border-radius:24px 24px 0 0;padding:24px 20px 34px;position:relative}.sheet>#closeSheet,.sheet>#closeSosSheet{position:absolute;right:13px;top:10px;border:0;background:#172317;color:white;width:34px;height:34px;border-radius:50%;font-size:22px;z-index:4}.sheet p,.sheet li{color:#a0aaa1;line-height:1.6}
.toast{position:fixed;bottom:104px;left:50%;transform:translateX(-50%) translateY(10px);opacity:0;transition:.2s;background:#e8ffe0;color:#061006;font-weight:900;padding:11px 15px;border-radius:12px;z-index:1500;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:460px){main{padding:0 15px}.radar-hero{margin:0 -15px 27px;height:290px}.tremor-card strong{font-size:36px}.warning-symbol{width:56px;height:51px;font-size:36px}.dashboard-row{grid-template-columns:1fr 1fr}.menu-icon{width:54px}.menu-icon svg{font-size:37px}.menu-num{margin:0 11px;font-size:21px}.menu-copy strong{font-size:18px}.menu-row{min-height:90px}.emergency-quick{grid-template-columns:1fr 1fr 1fr}.emergency-title{grid-column:1/-1}.kit-grid{grid-template-columns:1fr}.form-2{grid-template-columns:1fr}.missing-card img{height:220px}}

.map-help{color:#849085;font-size:11px;margin:10px 2px -3px}
#map{height:390px!important;position:relative;z-index:1}
.quake-marker{background:transparent!important;border:none!important}
.quake-dot{border-radius:50%;border:3px solid rgba(255,255,255,.95);display:grid;place-items:center;font-size:10px;font-weight:950;color:#061006;box-shadow:0 0 0 5px rgba(255,255,255,.08),0 0 20px currentColor;animation:quakePulse 1.8s ease-in-out infinite}
.quake-dot.low{background:#65ff18}.quake-dot.mid{background:#fff11b}.quake-dot.high{background:#ff8a00}.quake-dot.severe{background:#ff3b30}
@keyframes quakePulse{50%{transform:scale(1.14)}}
.palmira-pin{width:24px;height:24px;border-radius:50%;background:#00d5ff;border:4px solid white;box-shadow:0 0 0 7px rgba(0,213,255,.2),0 0 24px #00d5ff}
.palmira-label{background:#041009!important;color:white!important;border:1px solid #00d5ff!important;border-radius:9px!important;padding:3px 7px!important;font-size:10px!important;font-weight:900!important;box-shadow:0 4px 12px rgba(0,0,0,.4)!important}
.map-legend{display:flex;gap:9px;flex-wrap:wrap;margin:8px 3px;color:#89938a;font-size:9px}.map-legend span{display:flex;align-items:center;gap:4px}.lg{width:9px;height:9px;border-radius:50%;display:inline-block}.lg.low{background:#65ff18}.lg.mid{background:#fff11b}.lg.high{background:#ff8a00}.lg.severe{background:#ff3b30}.lg.palmira{background:#00d5ff}
.honeypot{position:absolute!important;left:-9999px!important}
.found-badge{position:absolute;top:12px;right:12px;background:#65ff18;color:#062006;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:950;box-shadow:0 0 18px rgba(101,255,24,.3)}
.missing-card{position:relative}
.admin-entry{width:100%;border:0;background:transparent;color:#59635a;padding:20px 0 6px;font-size:11px;text-decoration:underline}
.admin-box{display:grid;gap:11px;background:#071008;border:1px solid #183e19;border-radius:17px;padding:15px}.admin-box p,.admin-box small{color:#889289;line-height:1.45}.admin-box input{width:100%;background:#030603;border:1px solid #1b3d1c;border-radius:11px;padding:11px;color:white}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.admin-toolbar button{border:1px solid #315b30;background:#071008;color:#65ff18;border-radius:10px;padding:8px 10px}
.admin-list{display:grid;gap:10px}.admin-card{background:#071008;border:1px solid #203e20;border-radius:16px;padding:12px}.admin-card-head{display:flex;justify-content:space-between;gap:10px}.admin-card h3{margin:0}.status-pill{font-size:9px;border-radius:999px;padding:5px 7px;height:max-content;font-weight:900;text-transform:uppercase}.status-pending{background:#3b3100;color:#ffe86b}.status-approved{background:#0d3510;color:#75ff7f}.status-found{background:#123c2d;color:#7affc8}.status-hidden{background:#331317;color:#ff8f99}.admin-meta{color:#899289;font-size:11px;margin-top:6px}.admin-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.admin-actions button{border:1px solid #294929;background:#0c160d;color:white;border-radius:10px;padding:9px;font-weight:800}.admin-actions .danger{border-color:#652329;color:#ff8991}
.emergency-contact.risk>svg,.emergency-contact.defense>svg{color:#65ff18}

/* V3.4 HOME PORTAL */
.portal-hero{text-align:center;padding:44px 10px 26px;position:relative}.portal-logo{width:90px;height:90px;margin:auto;border:3px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);box-shadow:0 0 28px rgba(101,255,24,.3)}.portal-logo svg{font-size:64px}.portal-hero h1{font-size:33px;line-height:.9;margin:18px 0 8px}.portal-hero h1 span{display:block;color:var(--green);font-size:42px}.portal-hero p{color:#929a93;margin:0}.portal-pulse{height:70px;display:flex;justify-content:center;align-items:center;position:relative}.portal-pulse i{position:absolute;border:1px solid rgba(101,255,24,.3);border-radius:50%;animation:portalPulse 2.4s ease-out infinite}.portal-pulse i:nth-child(1){width:32px;height:32px}.portal-pulse i:nth-child(2){width:55px;height:55px;animation-delay:.4s}.portal-pulse i:nth-child(3){width:78px;height:78px;animation-delay:.8s}@keyframes portalPulse{0%{opacity:.8;transform:scale(.7)}100%{opacity:0;transform:scale(1.35)}}.portal-question{text-align:center;font-size:15px;font-weight:800;margin-bottom:14px;color:#d2d7d2}.portal-options{display:grid;gap:13px}.portal-card{width:100%;min-height:145px;border-radius:24px;padding:20px;display:flex;align-items:center;gap:16px;text-align:left;color:white;background:#071008}.portal-card.volunteers{border:1.5px solid #40d57a;box-shadow:0 0 24px rgba(64,213,122,.08)}.portal-card.quake{border:1.5px solid var(--green);box-shadow:0 0 24px rgba(101,255,24,.08)}.portal-card-icon{width:70px;height:70px;display:grid;place-items:center;border-radius:20px;background:#0b1b0e;color:var(--green)}.portal-card.volunteers .portal-card-icon{color:#4bff9b}.portal-card-icon svg{font-size:48px}.portal-card>div:nth-child(2){flex:1}.portal-card small{display:block;color:var(--green);font-size:9px;font-weight:900;letter-spacing:.13em}.portal-card.volunteers small{color:#4bff9b}.portal-card strong{display:block;font-size:23px;margin:4px 0}.portal-card span{display:block;color:#8f988f;font-size:12px}.portal-card>b{font-size:44px;color:var(--green);font-weight:400}.portal-note{text-align:center;color:#717a72;font-size:10px;line-height:1.5;padding:22px 20px}.portal-note span{color:var(--green);font-weight:900}

/* VOLUNTEERS */
.volunteer-intro{display:flex;gap:13px;align-items:center;background:linear-gradient(120deg,#07170d,#041007);border:1px solid #226936;border-radius:18px;padding:15px}.volunteer-intro>div{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#0c2815;color:#4bff9b}.volunteer-intro svg{font-size:39px}.volunteer-intro p{margin:0;color:#adb6ae;line-height:1.45;font-size:13px}.volunteer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 25px}.volunteer-stats div{background:#071008;border:1px solid #1f4f2b;border-radius:14px;text-align:center;padding:12px 7px}.volunteer-stats strong{display:block;color:#4bff9b;font-size:24px}.volunteer-stats span{display:block;color:#89928a;font-size:9px;margin-top:2px}.route-section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:22px 2px 10px}.route-section-head small{display:block;color:#4bff9b;font-size:9px;font-weight:900;letter-spacing:.12em}.route-section-head h2{font-size:22px;margin:2px 0 0}.live-pill{font-size:9px;color:#06220e;background:#4bff9b;border-radius:999px;padding:6px 9px;font-weight:950}.tiny-btn{border:1px solid #28683c;background:#071008;color:#4bff9b;border-radius:10px;padding:7px 10px;font-size:10px;font-weight:900}.volunteer-map,.collection-map{height:350px;border:1px solid #23663a;border-radius:18px;overflow:hidden;background:#061008}.route-line-list{display:flex;gap:6px;overflow-x:auto;padding:10px 2px 3px;scrollbar-width:none}.route-stop-chip{white-space:nowrap;background:#071008;border:1px solid #225732;border-radius:999px;padding:7px 9px;color:#a8b0a9;font-size:9px}.route-stop-chip:first-child{color:#00d5ff}.mini-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mini-route-card{background:#071008;border:1px solid #1e5130;border-radius:16px;overflow:hidden}.mini-route-map{height:120px}.mini-route-copy{padding:10px}.mini-route-copy strong{display:block;font-size:14px}.mini-route-copy span{display:block;color:#838d84;font-size:9px;margin-top:3px}.collection-list{display:grid;gap:9px;margin-top:11px}.collection-card{display:flex;gap:11px;align-items:flex-start;background:#071008;border:1px solid #205c32;border-radius:15px;padding:12px}.collection-pin{width:40px;height:40px;border:1px solid #4bff9b;border-radius:50%;display:grid;place-items:center;color:#4bff9b;flex:none}.collection-pin svg{font-size:24px}.collection-card>div:nth-child(2){flex:1}.collection-card strong{display:block}.collection-card span,.collection-card small{display:block;color:#8b948c;font-size:10px;margin-top:3px}.collection-card a{color:#4bff9b;text-decoration:none;font-size:11px;font-weight:900}.empty-collections{background:#071008;border:1px dashed #2b5c38;border-radius:15px;padding:18px;text-align:center;color:#838d84;font-size:11px;line-height:1.45}.route-disclaimer{color:#657067;font-size:9px;line-height:1.45;margin-top:12px;text-align:center}.collection-marker{width:26px;height:26px;border-radius:50% 50% 50% 0;background:#4bff9b;transform:rotate(-45deg);border:3px solid white;box-shadow:0 0 18px #4bff9b}.route-dest-marker{width:24px;height:24px;border-radius:50%;background:#ff2a35;border:3px solid #fff;box-shadow:0 0 0 6px rgba(255,42,53,.18),0 0 22px rgba(255,42,53,.9);position:relative;animation:urgentBeat 1.25s ease-in-out infinite}.route-origin-marker{width:22px;height:22px;border-radius:50%;background:#00d5ff;border:3px solid white;box-shadow:0 0 14px #00d5ff}
.global-nav .nav-btn{min-width:72px}
@media(max-width:460px){.mini-route-grid{grid-template-columns:1fr 1fr}.volunteer-map,.collection-map{height:310px}.portal-card strong{font-size:20px}.portal-card-icon{width:60px;height:60px}.portal-card-icon svg{font-size:42px}}

@keyframes urgentBeat{
  0%,100%{transform:scale(.92);box-shadow:0 0 0 5px rgba(255,42,53,.16),0 0 18px rgba(255,42,53,.75)}
  50%{transform:scale(1.14);box-shadow:0 0 0 13px rgba(255,42,53,.03),0 0 30px rgba(255,42,53,1)}
}
.urgent-ring-icon{width:42px;height:42px;border-radius:50%;position:relative;display:grid;place-items:center}
.urgent-ring-icon::before,.urgent-ring-icon::after{content:"";position:absolute;border:2px solid rgba(255,42,53,.75);border-radius:50%;inset:4px;animation:urgentRing 1.6s ease-out infinite}
.urgent-ring-icon::after{animation-delay:.55s}
.urgent-ring-core{width:18px;height:18px;border-radius:50%;background:#ff2a35;border:3px solid #fff;box-shadow:0 0 15px #ff2a35}
@keyframes urgentRing{0%{transform:scale(.65);opacity:1}100%{transform:scale(1.55);opacity:0}}

.route-map-legend{display:flex;gap:12px;flex-wrap:wrap;padding:9px 2px 2px;color:#8c968e;font-size:9px}
.route-map-legend span{display:flex;align-items:center;gap:5px}
.route-map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.legend-origin{background:#00d5ff;box-shadow:0 0 7px #00d5ff}
.legend-urgent{background:#ff2a35;box-shadow:0 0 7px #ff2a35}
.legend-user{background:#2f80ff;box-shadow:0 0 7px #2f80ff}

.collection-head{align-items:flex-start}
.collection-head p{margin:4px 0 0;color:#838d84;font-size:10px}
.collection-admin-btn{width:100%;margin:-2px 0 10px;border:1px solid #2a6d3d;background:#071008;color:#65ff18;border-radius:13px;padding:11px;font-weight:900}
.collection-card{position:relative}
.collection-card::before{content:"";width:7px;height:7px;border-radius:50%;background:#65ff18;box-shadow:0 0 8px #65ff18;position:absolute;left:13px;top:13px}
.collection-card .collection-pin{margin-top:8px}
.collection-card strong::before{content:"📍 ";filter:none}
.collection-card a{display:inline-flex;align-items:center;gap:4px}
.collection-card a::before{content:"➤";font-size:10px}
.user-gps-marker{width:22px;height:22px;border-radius:50%;background:#2f80ff;border:4px solid #fff;box-shadow:0 0 0 7px rgba(47,128,255,.22),0 0 22px #2f80ff}
.user-gps-label{background:#05101d!important;color:#80b5ff!important;border:1px solid #2f80ff!important;border-radius:8px!important;padding:3px 6px!important;font-size:9px!important;font-weight:900!important}

.header-actions{display:flex;align-items:center;gap:7px}
.header-admin-btn{width:40px;height:40px;border-radius:13px;border:1px solid #2d6138;background:#071008;color:#65ff18;font-size:20px;display:grid;place-items:center;box-shadow:0 0 12px rgba(101,255,24,.08)}
.geocode-note{font-size:10px;line-height:1.45;color:#9aa59b;background:#061007;border:1px solid #214c2b;border-radius:11px;padding:10px}
.collection-card{display:grid!important;grid-template-columns:88px 1fr auto;align-items:center!important;gap:12px!important}
.collection-card::before,.collection-card .collection-pin{display:none!important}
.collection-photo,.collection-photo-placeholder{width:88px;height:88px;border-radius:16px;border:1.5px solid #65ff18;background:#0a100b;box-shadow:0 0 14px rgba(101,255,24,.12)}
.collection-photo{object-fit:cover}
.collection-photo-placeholder{display:grid;place-items:center;color:#65ff18;font-size:30px}
.collection-info{min-width:0}
.collection-info strong{display:block;font-size:14px}
.collection-info span,.collection-info small{display:block;line-height:1.35}
.collection-card>a{align-self:center}
.collection-popup{display:flex;gap:8px;align-items:center}
.collection-popup img{width:72px;height:72px;object-fit:cover;border-radius:11px;border:1.5px solid #65ff18}
@media(max-width:460px){
  .collection-card{grid-template-columns:76px 1fr!important}
  .collection-photo,.collection-photo-placeholder{width:76px;height:76px}
  .collection-card>a{grid-column:2;justify-self:start}
}

/* V3.6.1 structural safety */
#app>main{width:100%;max-width:100%}
#app>main>.page{width:100%;max-width:100%}
#desaparecidosPage,#adminPage,#emergenciasPage,#sismosPage,#ahoraPage,#prepararmePage,#bienPage,#familiaPage{min-height:calc(100vh - 184px)}

.sos-home-btn{width:100%;margin:2px 0 18px;min-height:105px;border:1.8px solid #ff3445;border-radius:22px;background:linear-gradient(100deg,#1a0508,#080203);color:white;display:flex;align-items:center;gap:15px;padding:15px 18px;text-align:left;box-shadow:0 0 25px rgba(255,52,69,.12)}
.sos-home-btn>div{flex:1}.sos-home-btn small{display:block;color:#ff6b77;font-size:9px;font-weight:950;letter-spacing:.13em}.sos-home-btn strong{display:block;font-size:22px;color:#ff4455;margin:3px 0}.sos-home-btn span{display:block;color:#a99698;font-size:11px}.sos-home-btn em{font-style:normal;font-size:40px;color:#ff4455}
.sos-rings{width:64px;height:64px;position:relative;display:grid!important;place-items:center;flex:none}.sos-rings i{position:absolute;border:2px solid #ff3445;border-radius:50%;animation:sosRing 1.7s ease-out infinite}.sos-rings i:nth-child(1){inset:6px}.sos-rings i:nth-child(2){inset:0;animation-delay:.55s}.sos-rings b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ff3445;color:#fff;font-size:24px;box-shadow:0 0 16px #ff3445}
@keyframes sosRing{0%{transform:scale(.55);opacity:1}100%{transform:scale(1.35);opacity:0}}
.sos-offline-notice{margin:-8px 0 14px;border:1px solid #7e4320;background:#1c0d05;color:#ffbd78;border-radius:12px;padding:10px;font-size:10px;line-height:1.4}
.sos-sheet{text-align:center}.sos-modal-icon{width:84px;height:84px;margin:4px auto 12px;border-radius:50%;background:#ff3445;color:white;display:grid;place-items:center;font-size:48px;font-weight:950;box-shadow:0 0 30px rgba(255,52,69,.32)}
.sos-send-btn{width:100%;border:0;border-radius:15px;background:#ff3445;color:white;font-weight:950;padding:15px;margin-top:10px}.sos-warning{display:block;color:#796b6c;margin-top:12px}

.collection-map{display:none!important}.collection-list{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.collection-card{display:grid!important;grid-template-columns:150px 1fr!important;gap:18px!important;padding:16px!important;min-height:180px;border-radius:19px!important}
.collection-photo,.collection-photo-placeholder{width:150px!important;height:150px!important;border-radius:18px!important;border:1.5px solid #65ff18!important}.collection-photo{object-fit:cover!important}.collection-photo-placeholder{display:grid;place-items:center;background:#09110a;color:#65ff18;font-size:46px}
.collection-info strong{font-size:20px!important;margin-bottom:7px!important}.collection-info span{font-size:13px!important;color:#b0b8b1!important}.collection-info small{font-size:12px!important;margin-top:7px!important;color:#89948b!important}
.collection-card>a{grid-column:2;justify-self:start;background:#0c1b0e;border:1px solid #65ff18;border-radius:12px;padding:10px 14px;color:#65ff18!important;font-size:12px!important;font-weight:950!important}
@media(max-width:460px){.collection-card{grid-template-columns:118px 1fr!important;gap:12px!important}.collection-photo,.collection-photo-placeholder{width:118px!important;height:118px!important}.collection-info strong{font-size:17px!important}.collection-card>a{grid-column:1/-1;justify-self:stretch;text-align:center}}

.history-filters{display:flex;gap:8px;margin:13px 0;overflow:auto}.history-filter{border:1px solid #244d27;background:#071008;color:#8a948b;border-radius:10px;padding:9px 12px;font-weight:850;white-space:nowrap}.history-filter.active{border-color:#65ff18;color:#65ff18;background:rgba(101,255,24,.09)}
.quake-history{display:grid;gap:10px}.history-card{display:grid;grid-template-columns:78px 1fr auto;gap:12px;align-items:center;background:#071008;border:1px solid #183c18;border-radius:16px;padding:14px}.history-mag{width:68px;height:68px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d170e;border:1px solid #285b2a}.history-mag strong{font-size:24px}.history-mag small{font-size:8px;color:#879188}.history-mag.m4{border-color:#b9a900;color:#fff11b}.history-mag.m5{border-color:#8c4800;color:#ff8a00}.history-mag.m6{border-color:#8e1d25;color:#ff4350}.history-copy strong{display:block;font-size:14px}.history-copy span{display:block;color:#89938a;font-size:10px;margin-top:4px;line-height:1.35}.history-distance{color:#65ff18;font-size:12px;font-weight:950;text-align:right}
@media(max-width:460px){.history-card{grid-template-columns:62px 1fr}.history-mag{width:58px;height:58px}.history-distance{grid-column:2;text-align:left}}
.sos-admin-head{margin-top:28px!important}.sos-admin-card{border-color:#65242b!important}

/* V4.0.1 SOS modal layout */
#sosSheet{padding:16px;align-items:center;justify-items:center}
#sosSheet .sos-sheet{width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;border-radius:24px;padding:28px 20px 24px;position:relative}
#sosSheet .sos-send-btn{position:static!important;inset:auto!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:54px!important;margin:14px 0 0!important;padding:15px 16px!important;border-radius:15px!important;font-size:15px!important;line-height:1.2!important;text-align:center!important}
#sosSheet .outline-btn{position:static!important;display:block!important;width:100%!important;margin:10px 0 0!important}
.sos-confirmation{margin:12px 0 0;background:#0b2810;border:1px solid #49d657;color:#8dff97;border-radius:12px;padding:10px;font-size:11px;font-weight:800;line-height:1.4}

/* SOS inbox */
.sos-inbox{background:linear-gradient(145deg,#160608,#080203);border:1.5px solid #7b222c;border-radius:18px;padding:15px;margin-bottom:22px;box-shadow:0 0 20px rgba(255,52,69,.08)}
.sos-inbox-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.sos-inbox-title small{display:block;color:#ff6874;font-size:9px;font-weight:950;letter-spacing:.12em}.sos-inbox-title strong{display:block;color:#ff4654;font-size:20px;margin-top:2px}.sos-inbox-title span{background:#ff3445;color:white;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:950;white-space:nowrap}.sos-inbox p{color:#a18d90;font-size:11px;line-height:1.4;margin:8px 0 10px}.sos-refresh-btn{width:100%;border:1px solid #7b222c;background:#1d070a;color:#ff7b85;border-radius:11px;padding:10px;font-weight:900;margin-bottom:10px}
.sos-admin-card{background:#100507!important;border:1px solid #6d2028!important}.sos-admin-card a{color:#65ff18}.sos-admin-card .admin-actions button:first-child{border-color:#2d6d38;color:#8dff97}
@media(max-width:460px){#sosSheet{padding:10px}#sosSheet .sos-sheet{max-height:calc(100vh - 20px);padding:26px 15px 20px}}

#sosSmsBtn{position:static!important;width:100%!important;margin:10px 0 0!important;display:block!important}
.sms-help{display:block;color:#8f9990;font-size:10px;line-height:1.4;margin:7px 2px 0}
.sms-help.hidden{display:none!important}
.sos-debug{margin-top:8px;font-size:9px;color:#8b9690;word-break:break-all}

/* V4.1 promise header */
.promise-header{gap:10px}.promise-ribbon{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border-left:2px solid #65ff18;padding-left:11px}.promise-mark{color:#65ff18;font-size:20px;filter:drop-shadow(0 0 8px rgba(101,255,24,.5))}.promise-copy{min-width:0}.promise-copy strong{display:block;font-size:12px;color:#e8eee9;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .25s ease,transform .25s ease}.promise-copy small{display:block;color:#65ff18;font-size:9px;margin-top:3px;font-weight:850}.promise-copy.changing strong{opacity:0;transform:translateY(-3px)}
@media(max-width:430px){.promise-copy strong{font-size:10.5px}.promise-mark{font-size:16px}.header-admin-btn{width:36px;height:36px}}

/* V4.1 quake map */
.quake-map-note{color:#8b958c;font-size:11px;line-height:1.45;margin:10px 2px 0}
#map{height:390px!important;border:1px solid #225b29;border-radius:18px;overflow:hidden;background:#061007;position:relative;z-index:1}
.leaflet-container{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.map-legend{display:flex;gap:10px;flex-wrap:wrap;margin:8px 3px 2px;color:#8e988f;font-size:9px}.map-legend span{display:flex;align-items:center;gap:4px}.lg{width:9px;height:9px;border-radius:50%;display:inline-block}.lg.low{background:#65ff18}.lg.mid{background:#fff11b}.lg.high{background:#ff8a00}.lg.severe{background:#ff3445}.lg.palmira{background:#00d5ff}
.event-list{display:grid;gap:9px}.event{background:#071008;border:1px solid #183c18;border-radius:15px;padding:13px}.event-top{display:flex;justify-content:space-between;gap:10px}.event-mag{font-size:19px;font-weight:950}.event-dist{color:#65ff18;font-weight:900}.event-place{font-weight:750;margin-top:5px}.event-time{color:#808981;font-size:11px;margin-top:4px}

/* V4.1 decision center */
.decision-intro{background:#071008;border:1px solid #1d4a20;border-radius:15px;padding:14px;margin-bottom:11px}.decision-intro strong{display:block;color:#65ff18;font-size:16px}.decision-intro p{margin:4px 0 0;color:#8c958d;font-size:11px}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.decision-btn{border:1px solid #1d4e21;background:#071008;border-radius:16px;color:white;display:flex;align-items:center;gap:10px;padding:13px;text-align:left;min-height:86px}.decision-btn>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#102312;color:#65ff18;font-size:23px;font-weight:950;flex:none}.decision-btn strong{display:block;font-size:13px}.decision-btn small{display:block;color:#849086;font-size:9px;line-height:1.3;margin-top:3px}.decision-btn.active{border-color:#65ff18;background:rgba(101,255,24,.07);box-shadow:0 0 16px rgba(101,255,24,.08)}.decision-btn.danger{border-color:#632028}.decision-btn.danger>span{background:#2a080b;color:#ff4350}.decision-btn.warning{border-color:#68430d}.decision-btn.warning>span{background:#261704;color:#ffad32}
.situation-panel{display:none;margin-top:13px}.situation-panel.active{display:block;animation:fade .18s ease}.situation-title{display:flex;align-items:center;gap:11px;background:#071008;border:1px solid #245529;border-radius:16px;padding:13px}.situation-title>span{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#65ff18;color:#071007;font-weight:950;font-size:18px}.situation-title small{display:block;color:#65ff18;font-size:9px;font-weight:900;letter-spacing:.1em}.situation-title strong{display:block;margin-top:3px;font-size:17px}.situation-title.red{border-color:#6d2028}.situation-title.red>span{background:#ff3445;color:#fff}.situation-title.red small{color:#ff6874}.situation-title.orange{border-color:#704814}.situation-title.orange>span{background:#ff9b1a;color:#171000}.situation-title.orange small{color:#ffb95d}
.context-tabs{display:flex;gap:7px;margin:10px 0}.context-btn{flex:1;border:1px solid #254e28;background:#071008;color:#8b958c;border-radius:10px;padding:9px 6px;font-weight:850;font-size:11px}.context-btn.active{border-color:#65ff18;color:#65ff18;background:rgba(101,255,24,.08)}.context-panel{display:none}.context-panel.active{display:grid;gap:9px}
.action-card,.checklist-actions article{display:flex;align-items:flex-start;gap:12px;background:#071008;border:1px solid #183e1b;border-radius:15px;padding:13px}.action-card>b,.checklist-actions article>b{width:34px;height:34px;border-radius:50%;background:#65ff18;color:#071007;display:grid;place-items:center;flex:none}.action-card strong,.checklist-actions strong{display:block}.action-card span,.checklist-actions span{display:block;color:#89938a;font-size:11px;line-height:1.4;margin-top:3px}.do-not-card{margin-top:9px;border:1px solid #66421b;background:#170d03;border-radius:15px;padding:13px}.do-not-card strong{display:block;color:#ffb157}.do-not-card span{display:block;color:#b09a84;font-size:11px;line-height:1.45;margin-top:4px}
.checklist-actions{display:grid;gap:9px;margin-top:10px}.trapped-grid,.hazard-actions{display:grid;gap:9px;margin-top:10px}.trapped-grid article,.hazard-actions article{background:#071008;border:1px solid #183e1b;border-radius:15px;padding:13px}.trapped-grid strong,.hazard-actions strong{display:block}.trapped-grid span,.hazard-actions span{display:block;color:#89938a;font-size:11px;line-height:1.45;margin-top:4px}.guide-sos-btn{width:100%;margin-top:12px;border:0;border-radius:15px;background:#ff3445;color:white;padding:14px;font-weight:950;box-shadow:0 0 20px rgba(255,52,69,.14)}.official-guidance-note{margin-top:14px;color:#6e786f;font-size:9px;line-height:1.5;text-align:center}
@media(max-width:440px){.decision-grid{grid-template-columns:1fr}.decision-btn{min-height:72px}#map{height:345px!important}}

.gps-status{margin:10px 0;background:#071008;border:1px solid #244c28;border-radius:11px;padding:9px 10px;color:#95a096;font-size:10px;font-weight:800}
.gps-status.ok{border-color:#2c7438;color:#7fff8b;background:#081b0b}
.gps-status.bad{border-color:#7b2b31;color:#ff8790;background:#180608}
.new-sos-alert{animation:newSosFlash 1s ease-in-out 4}
@keyframes newSosFlash{50%{box-shadow:0 0 30px rgba(255,52,69,.45);transform:scale(1.01)}}
.sos-location-btn{display:inline-flex;margin-top:7px;padding:8px 10px;border:1px solid #65ff18;border-radius:9px;color:#65ff18!important;text-decoration:none;font-weight:900}

.gps-status.approx{border-color:#806d22;color:#ffd95a;background:#171304}.gps-status.poor{border-color:#7b2b31;color:#ff8790;background:#180608}

#sosUpdateLocation{position:static!important;width:100%!important;margin:10px 0 0!important;display:block!important}
#sosUpdateLocation.hidden{display:none!important}

.gps-test-home{width:100%;display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:13px 15px;border:1px solid #23572a;border-radius:16px;background:#071008;color:white;text-align:left}
.gps-test-home>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#0c2510;font-size:23px;flex:none}.gps-test-home>div{flex:1}.gps-test-home strong{display:block;color:#65ff18;font-size:14px}.gps-test-home small{display:block;color:#89938b;font-size:10px;margin-top:3px}.gps-test-home>b{font-size:28px;color:#65ff18}
.gps-test-summary{margin:-6px 0 15px;border-radius:12px;padding:10px 12px;font-size:10px;line-height:1.45;background:#071008;border:1px solid #27492b;color:#a4aea6}.gps-test-summary.ok{border-color:#2e7b39;color:#83ff8e;background:#071909}.gps-test-summary.warn{border-color:#806d22;color:#ffd95a;background:#171304}.gps-test-summary.bad{border-color:#7b2b31;color:#ff8790;background:#180608}
#gpsTestSheet{padding:14px;align-items:center;justify-items:center}#gpsTestSheet .gps-test-sheet{width:min(540px,100%);max-height:calc(100vh - 28px);overflow-y:auto;border-radius:23px;padding:28px 18px 22px;position:relative;text-align:center}#gpsTestSheet .gps-test-sheet>#closeGpsTestSheet{position:absolute;right:13px;top:10px;border:0;background:#172317;color:white;width:34px;height:34px;border-radius:50%;font-size:22px}
.gps-test-icon{width:78px;height:78px;margin:2px auto 10px;border-radius:50%;display:grid;place-items:center;background:#0c2510;border:1px solid #2d6a36;font-size:38px}.gps-test-sheet p{color:#939d95;font-size:11px;line-height:1.45}.gps-diag-status{margin:12px 0;border-radius:13px;padding:12px;background:#071008;border:1px solid #234c28;color:#d6ddd7;font-size:12px;font-weight:850;line-height:1.45;text-align:left}.gps-diag-status.ok{border-color:#2d7838;background:#071a09;color:#83ff8e}.gps-diag-status.warn{border-color:#806d22;background:#171304;color:#ffd95a}.gps-diag-status.bad{border-color:#7c2930;background:#180608;color:#ff8790}
.gps-diag-details{display:grid;gap:7px;margin-bottom:12px;text-align:left}.gps-detail-row{display:grid;grid-template-columns:125px 1fr;gap:10px;background:#071008;border:1px solid #1c3b20;border-radius:10px;padding:9px 10px;font-size:10px}.gps-detail-row b{color:#8a958b}.gps-detail-row span{color:#e0e6e1;word-break:break-word}.gps-diag-note{display:block;margin-top:10px;color:#727d74;font-size:9px;line-height:1.45}

.account-home-btn{margin-top:-7px}
#myAccountSheet{padding:14px;align-items:center;justify-items:center}
#myAccountSheet .account-sheet{width:min(540px,100%);max-height:calc(100vh - 28px);overflow-y:auto;border-radius:23px;padding:28px 18px 22px;position:relative;text-align:left}
#myAccountSheet .account-sheet>#closeMyAccountSheet{position:absolute;right:13px;top:10px;border:0;background:#172317;color:white;width:34px;height:34px;border-radius:50%;font-size:22px}
.account-sheet h2,.account-sheet>p{text-align:center}.account-sheet>p{color:#939d95;font-size:11px;line-height:1.45}
.account-sheet label{display:block;color:#aeb8b0;font-size:10px;font-weight:800;margin:12px 0 5px}.account-sheet label small{font-weight:500;color:#69736b}
.account-sheet input{box-sizing:border-box;width:100%;margin-top:5px;padding:13px;border:1px solid #28552e;border-radius:12px;background:#071008;color:white;font-size:14px;outline:none}
.account-sheet input:focus{border-color:#65ff18;box-shadow:0 0 0 2px rgba(101,255,24,.08)}
.account-sheet .main-btn{width:100%;margin-top:16px}

/* V4.7 admin editor / routes / backups */
.admin-photo-preview{margin:8px 0 12px;padding:10px;border:1px solid #27542d;border-radius:12px;background:#071008;display:flex;align-items:center;gap:10px}
.admin-photo-preview img{width:84px;height:84px;object-fit:cover;border-radius:13px;border:1px solid #65ff18}.admin-photo-preview span{color:#94a097;font-size:10px;line-height:1.4}
.admin-card .admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions .edit-btn{border-color:#2d6f38!important;color:#74ff83!important}
.route-admin-head,.backup-admin-head{margin-top:25px!important}.route-admin-box,.backup-box{border:1px solid #1e4b24;background:#061007;border-radius:17px;padding:14px;margin-bottom:20px}.route-admin-box>p,.backup-box>p{color:#8b958c;font-size:10px;line-height:1.5;margin:0 0 12px}
.route-admin-box label{display:block;color:#aab4ac;font-size:10px;font-weight:800;margin:10px 0 5px}.route-admin-box input{box-sizing:border-box;width:100%;background:#071008;border:1px solid #26552c;border-radius:11px;color:white;padding:12px;outline:none}.route-admin-box input:focus{border-color:#65ff18}
.route-admin-map{height:300px;border:1px solid #2b7134;border-radius:15px;overflow:hidden;margin-top:12px;background:#071008}.route-selected-location{margin:8px 0;color:#89958b;font-size:9px}.route-selected-location.selected{color:#ff707a;font-weight:850}
.admin-form-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0 15px}.route-zone-card{border-color:#63252b!important}.route-zone-card h3{color:#ff6d78!important}.route-zone-card .route-coords{font-size:9px;color:#79837b;margin-top:3px}
.backup-box>.main-btn{width:100%}.backup-card{border-color:#284d2c!important}.backup-card .backup-size{color:#8b968d;font-size:9px}.backup-card a{color:#65ff18;text-decoration:none;font-weight:850}
@media(max-width:440px){.route-admin-map{height:250px}.admin-form-actions{grid-template-columns:1fr}.admin-form-actions .outline-btn{width:100%}}

.community-help-box{border:1px solid #1f4f25;background:#061007;border-radius:18px;padding:14px;margin:14px 0 20px}
.community-help-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.community-help-head small{display:block;color:#65ff18;font-size:9px;font-weight:950;letter-spacing:.12em}.community-help-head h2{margin:3px 0 0;font-size:20px}.community-help-head p{margin:4px 0 0;color:#89938b;font-size:10px;line-height:1.4}.community-help-head .main-btn{width:auto;white-space:nowrap;padding:10px 12px}
#communityHelpForm{margin-top:14px;border-top:1px solid #1b3e20;padding-top:12px}.community-help-note{display:block;color:#758078;font-size:9px;line-height:1.45;margin-top:8px}
.community-badge{display:inline-flex;align-items:center;gap:5px;margin-bottom:5px;padding:4px 7px;border-radius:999px;background:#0c2510;border:1px solid #2f7339;color:#75ff84;font-size:8px;font-weight:900}
@media(max-width:480px){.community-help-head{align-items:flex-start;flex-direction:column}.community-help-head .main-btn{width:100%}}

.restore-backup-box{margin-top:12px;padding:13px;border:1px solid #315c36;border-radius:14px;background:#08130a}.restore-backup-box>strong{color:#76ff84}.restore-backup-box>p{font-size:9px;color:#8d978f;line-height:1.45}.restore-backup-box input{width:100%;box-sizing:border-box;margin:8px 0;padding:10px;border:1px dashed #386d40;border-radius:10px;background:#050b06;color:#cdd5ce}.restore-backup-box .outline-btn{width:100%}
.backup-inspect-result{margin-top:12px;border-top:1px solid #234528;padding-top:12px}.backup-inspect-result h4{margin:0 0 8px;color:#fff}.backup-summary{font-size:10px;line-height:1.7;color:#aab4ac}.restore-options{display:grid;gap:7px;margin:10px 0}.restore-options label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #234528;border-radius:10px;background:#071008;color:#c9d2ca;font-size:10px}.restore-options input{width:auto;margin:0}.restore-warning{color:#ffb45e;font-size:9px;line-height:1.45;margin:8px 0}.restore-confirm{width:100%;background:#a91e2b!important;border-color:#ff5360!important}

.org-route-report-box{border:1px solid #6a4317;background:#160d03;border-radius:18px;padding:14px;margin:15px 0 20px}
.org-route-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.org-route-report-head small{display:block;color:#ffad32;font-size:9px;font-weight:950;letter-spacing:.11em}.org-route-report-head h2{margin:3px 0 0;font-size:18px}.org-route-report-head p{margin:4px 0 0;color:#a48f75;font-size:10px;line-height:1.45}.org-route-report-head .main-btn{width:auto;white-space:nowrap;background:#ff9b1a;color:#151000}
#orgRouteForm{margin-top:14px;border-top:1px solid #5b3a16;padding-top:12px}.org-route-marker{width:26px;height:26px;border-radius:50%;background:#ff9b1a;border:3px solid white;box-shadow:0 0 0 7px rgba(255,155,26,.17),0 0 20px rgba(255,155,26,.7)}
.org-report-card{border-color:#6a4317!important}.org-report-card h3{color:#ffb253!important}.org-report-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#281604;border:1px solid #80521d;color:#ffb253;font-size:8px;font-weight:900}.org-admin-head{margin-top:25px!important}
#sosPrepSheet{padding:14px;align-items:center;justify-items:center}#sosPrepSheet .sos-prep-sheet{width:min(500px,100%);border-radius:22px;padding:28px 18px 22px;position:relative;text-align:center}#sosPrepSheet .sos-prep-sheet>#closeSosPrep{position:absolute;right:13px;top:10px;border:0;background:#172317;color:white;width:34px;height:34px;border-radius:50%;font-size:22px}.sos-prep-sheet p{color:#9aa39c;font-size:11px;line-height:1.5}.sos-prep-sheet .main-btn,.sos-prep-sheet .outline-btn{width:100%;margin-top:10px}
@media(max-width:480px){.org-route-report-head{flex-direction:column}.org-route-report-head .main-btn{width:100%}}

.route-popup{min-width:220px}.route-popup strong{font-size:14px}.route-needs{margin-top:6px;padding-top:6px;border-top:1px solid #ddd;font-size:11px}.route-needs b{display:block;margin-bottom:3px}.route-needs ul{margin:3px 0 6px;padding-left:17px}.route-popup-actions{display:grid;gap:6px;margin-top:8px}.route-popup-actions button{border:0;border-radius:8px;padding:7px 8px;font-weight:850;font-size:10px;cursor:pointer}.route-popup-actions .needs-btn{background:#ff3344;color:#fff}.route-popup-actions .gallery-btn{background:#0c2510;color:#65ff18;border:1px solid #2e7338}
.route-needs-editor{margin-top:10px;padding:10px;border-radius:10px;background:#fff7f7;border:1px solid #ffb9bf}.route-needs-editor textarea{width:100%;box-sizing:border-box;min-height:86px;margin-top:5px;padding:8px;border:1px solid #d9a3a6;border-radius:8px}.route-needs-editor input{width:100%;box-sizing:border-box;margin-top:6px;padding:8px;border:1px solid #d9a3a6;border-radius:8px}.route-needs-editor button{width:100%;margin-top:7px;background:#ff3344;color:white;border:0;border-radius:8px;padding:8px;font-weight:900}
.route-gallery-sheet{width:min(650px,100%);max-height:calc(100vh - 24px);overflow-y:auto;border-radius:22px;padding:24px 16px 20px;position:relative}.route-gallery-sheet>#closeRouteGallery,.photo-viewer-sheet>#closePhotoViewer{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:#172317;color:white;font-size:22px;z-index:4}.gallery-head small{color:#65ff18;font-size:9px;font-weight:950;letter-spacing:.1em}.gallery-head h2{margin:3px 0}.gallery-head p{margin:0;color:#87918a;font-size:10px}.route-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.delivery-card{background:#071008;border:1px solid #26542d;border-radius:14px;overflow:hidden;cursor:pointer}.delivery-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.delivery-card .delivery-meta{padding:8px}.delivery-card strong{display:block;color:#fff;font-size:11px}.delivery-card small{display:block;color:#8e998f;font-size:9px;line-height:1.35;margin-top:3px}.delivery-upload-box{border-top:1px solid #234528;padding-top:12px}.delivery-upload-box h3{margin:0 0 10px}.delivery-chips{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}.delivery-chips button{border:1px solid #2a5e31;background:#071008;color:#9fa9a1;border-radius:999px;padding:6px 9px;font-size:9px}.delivery-chips button.active{border-color:#65ff18;color:#65ff18;background:#0c2510}.photo-viewer-sheet{width:min(700px,100%);max-height:calc(100vh - 24px);overflow-y:auto;border-radius:20px;padding:46px 12px 14px;position:relative;text-align:center}.photo-viewer-sheet img{max-width:100%;max-height:68vh;object-fit:contain;border-radius:14px;border:1px solid #2a5b31}.photo-viewer-sheet #photoViewerCaption{margin-top:10px;color:#c9d2ca;font-size:11px;line-height:1.5}

/* V5.2 route UX / needs checklist / account clarity */
.route-map-instruction{display:flex!important;flex-direction:column;gap:4px;margin:10px 0 12px;padding:11px 12px!important;border:1px solid #2d7136!important;border-radius:12px!important;background:#071408!important;color:#d8e0d9!important;font-size:10px!important;line-height:1.4}
.route-map-instruction strong{color:#65ff18;font-size:11px}.route-map-instruction.selected{border-color:#65ff18!important;background:#0b1d0d!important}.route-map-instruction.selected strong{color:#7fff8b}
#routeStopNeeds{box-sizing:border-box;width:100%;min-height:92px;background:#071008;border:1px solid #26552c;border-radius:11px;color:white;padding:12px;outline:none;resize:vertical}
#routeStopNeeds:focus{border-color:#65ff18}

.account-section-title{margin:14px 0 6px;color:#65ff18;font-size:9px;font-weight:950;letter-spacing:.12em}
.account-emergency-box{margin-top:14px;padding:12px;border:1px solid #27512d;border-radius:14px;background:#071008}
.account-emergency-box>p{margin:2px 0 8px!important;text-align:left!important;color:#8f9991!important;font-size:9px!important;line-height:1.45!important}

.route-needs-sheet{width:min(540px,100%);max-height:calc(100vh - 24px);overflow-y:auto;border-radius:22px;padding:26px 16px 20px;position:relative}
.route-needs-sheet>#closeRouteNeeds{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:#172317;color:white;font-size:22px}
.needs-sheet-head small{color:#65ff18;font-size:9px;font-weight:950;letter-spacing:.1em}.needs-sheet-head h2{margin:3px 0}.needs-sheet-head p{margin:0 0 12px;color:#8b958d;font-size:10px;line-height:1.45}
.route-needs-checklist{display:grid;gap:8px}.need-check-row{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid #315437;border-radius:11px;background:#071008}.need-check-row input{width:20px;height:20px;accent-color:#65ff18;flex:none}.need-check-row span{flex:1;color:#e0e6e1;font-size:11px;font-weight:750}.need-check-row.covered span{text-decoration:line-through;color:#657069}.need-remove{border:0;background:transparent;color:#ff6873;font-size:17px;padding:2px 5px}
.add-need-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:12px 0}.add-need-row input,.needs-reporter-label input{box-sizing:border-box;width:100%;padding:11px;background:#071008;border:1px solid #28552e;border-radius:10px;color:white}.add-need-row button{border:1px solid #65ff18;background:#0c2510;color:#65ff18;border-radius:10px;font-weight:900;padding:0 12px}
.needs-reporter-label{display:block;color:#aab4ac;font-size:10px;font-weight:800;margin:10px 0}.needs-reporter-label small{font-weight:500;color:#737d75}.route-needs-sheet>.main-btn{width:100%;margin-top:8px}

/* V5.2.1 password visibility */
.password-wrap{position:relative;width:100%}
.password-wrap input{padding-right:52px!important}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid #28552e;border-radius:10px;background:#0a170c;color:#65ff18;font-size:18px;display:grid;place-items:center;cursor:pointer;z-index:2}
.password-toggle:active{transform:translateY(-50%) scale(.96)}

.truck-turn-section{border:1px solid #24572b;background:#061007;border-radius:18px;padding:14px;margin:15px 0 22px}
.truck-turn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.truck-turn-head small{color:#65ff18;font-size:9px;font-weight:950;letter-spacing:.11em}.truck-turn-head h2{margin:3px 0;font-size:19px}.truck-turn-head p{margin:4px 0;color:#8b958d;font-size:10px;line-height:1.45}.truck-turn-head .main-btn{width:auto;white-space:nowrap}
.truck-routes-map{height:330px;border:1px solid #2d7337;border-radius:15px;overflow:hidden;margin:13px 0;background:#071008}
.truck-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.truck-map-instruction{display:flex;flex-direction:column;gap:4px;padding:10px 11px;margin-top:10px;border:1px solid #2e7237;border-radius:11px;background:#071408}.truck-map-instruction strong{color:#65ff18;font-size:10px}.truck-map-instruction span{color:#a0aaa2;font-size:9px;line-height:1.4}
.truck-active-title{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}.truck-active-title button{background:none;border:0;color:#65ff18;font-weight:850}
.truck-route-cards{display:grid;gap:9px}.truck-card{border:1px solid #285d30;background:#071008;border-radius:14px;padding:11px}.truck-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.truck-card h3{margin:0;color:#fff;font-size:14px}.truck-dest{color:#65ff18;font-size:10px;font-weight:850;margin-top:3px}.truck-card small{color:#8f9991;font-size:9px;line-height:1.45}.truck-card button{margin-top:9px;width:100%;border:1px solid #2d7136;background:#0b1c0d;color:#65ff18;border-radius:10px;padding:8px;font-weight:850}
.truck-progress{height:13px;background:#172019;border:1px solid #2d4a32;border-radius:999px;overflow:hidden;margin:8px 0 4px}.truck-progress>span{display:block;height:100%;background:linear-gradient(90deg,#65ff18,#dbff21);border-radius:999px}.truck-percent{font-size:9px;color:#b5beb6;font-weight:850}
.truck-marker{font-size:28px;filter:drop-shadow(0 0 7px rgba(101,255,24,.8))}.truck-arrow{font-size:26px;color:#65ff18;font-weight:950;text-shadow:0 0 8px #000}
.truck-route-sheet{width:min(620px,100%);max-height:calc(100vh - 24px);overflow-y:auto;border-radius:22px;padding:27px 16px 20px;position:relative}.truck-route-sheet>#closeTruckRouteSheet{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#172317;color:white;font-size:22px}
.truck-detail-head small{color:#65ff18;font-size:9px;font-weight:950}.truck-detail-head h2{margin:3px 0}.truck-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.truck-detail-item{border:1px solid #274c2c;background:#071008;border-radius:10px;padding:9px}.truck-detail-item b{display:block;color:#78847a;font-size:8px}.truck-detail-item span{display:block;color:#e2e7e3;font-size:11px;margin-top:3px}
.truck-cargo-box{border:1px solid #28572e;border-radius:11px;padding:10px;background:#08120a;margin:9px 0}.truck-cargo-box b{color:#65ff18}.truck-cargo-box p{color:#c6cec7;font-size:10px;line-height:1.45;margin:5px 0 0}
.truck-update-load{margin:14px 0;padding:12px;border:1px solid #315737;border-radius:13px;background:#071008}.truck-update-load input{box-sizing:border-box;width:100%;padding:10px;background:#030704;border:1px solid #2c5e33;border-radius:10px;color:white}.truck-update-load .outline-btn{width:100%;margin-top:7px}
.truck-log-section{border-top:1px solid #244329;padding-top:14px}.truck-log-section>p{color:#8e988f;font-size:9px}.log-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.log-chips button{border:1px solid #315537;background:#071008;color:#b7c0b8;border-radius:999px;padding:6px 8px;font-size:8px}.log-chips button.active{border-color:#65ff18;color:#65ff18}.truck-log-section input,.truck-log-section textarea{box-sizing:border-box;width:100%;margin:6px 0;padding:10px;border:1px solid #28542f;border-radius:10px;background:#071008;color:white}.truck-log-list{display:grid;gap:7px;margin-top:12px}.truck-log-item{border-left:3px solid #65ff18;background:#071008;border-radius:0 10px 10px 0;padding:9px}.truck-log-item strong{font-size:10px}.truck-log-item p{font-size:9px;color:#bbc4bc}.truck-log-item small{font-size:8px;color:#707a72}
.truck-admin-head{margin-top:25px!important}
@media(max-width:480px){.truck-turn-head{flex-direction:column}.truck-turn-head .main-btn{width:100%}.truck-form-grid,.truck-detail-grid{grid-template-columns:1fr}.truck-routes-map{height:280px}}

/* V5.3.1 admin password eye */
#volAdminLoginBox .password-wrap{position:relative;width:100%;margin:8px 0 12px}
#volAdminLoginBox .password-wrap #volAdminPassword{box-sizing:border-box;width:100%;padding-right:54px!important;margin:0!important}
#volAdminLoginBox .password-toggle{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:39px!important;height:39px!important;display:grid!important;place-items:center!important;border:1px solid #2b6833!important;border-radius:10px!important;background:#09170b!important;color:#65ff18!important;font-size:18px!important;cursor:pointer!important;z-index:20!important;opacity:1!important;visibility:visible!important}
#volAdminLoginBox .password-toggle:hover{border-color:#65ff18!important}

/* V5.3.2 — capacidad pública de camiones */
.truck-turn-section{box-shadow:0 0 28px rgba(101,255,24,.07)}
.truck-route-cards{gap:13px!important}
.truck-card{position:relative;overflow:hidden;border:1px solid #35a43f!important;background:linear-gradient(145deg,#071108,#031006)!important;box-shadow:0 0 18px rgba(101,255,24,.08)}
.truck-card:before{content:"";position:absolute;inset:-50% auto auto -20%;width:70%;height:130%;background:radial-gradient(circle,rgba(101,255,24,.12),transparent 70%);pointer-events:none}
.truck-card-top{position:relative;z-index:1}.truck-card h3{font-size:15px!important}.truck-card .truck-dest{color:#a9ff65!important}
.truck-load-public{margin:11px 0;padding:11px;border:1px solid #2b7134;border-radius:13px;background:#041006;position:relative;z-index:1}
.truck-load-number{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.truck-load-number strong{font-size:34px;line-height:.95;color:#65ff18;text-shadow:0 0 14px rgba(101,255,24,.45)}.truck-load-number span{color:#9daa9e;font-size:9px;text-align:right}
.truck-load-public .truck-progress{height:18px!important;margin:9px 0 7px!important;background:#101712!important;border-color:#315d36!important;box-shadow:inset 0 0 8px rgba(0,0,0,.7)}
.truck-load-public .truck-progress>span{background:linear-gradient(90deg,#29f300,#a8ff00,#e8ff32)!important;box-shadow:0 0 15px rgba(101,255,24,.65)}
.truck-load-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.truck-load-stat{background:#061b09;border:1px solid #214c27;border-radius:9px;padding:7px}.truck-load-stat b{display:block;color:#65ff18;font-size:8px;text-transform:uppercase}.truck-load-stat span{display:block;color:#fff;font-size:11px;font-weight:850;margin-top:2px}
.truck-map-empty{padding:16px;text-align:center;color:#8b958d;font-size:10px}
.truck-public-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #2f7538;border-radius:999px;background:#09200c;color:#65ff18;font-size:8px;font-weight:900}
.truck-map-popup{min-width:180px}.truck-map-popup .pct{font-size:24px;font-weight:950;color:#19a700}.truck-map-popup small{display:block;margin-top:3px}

/* V5.3.3 password + neon route arrows */
#volAdminLoginBox .password-wrap{position:relative;width:100%}
#volAdminLoginBox #volAdminPassword{box-sizing:border-box;width:100%;padding-right:58px!important}
#volAdminPasswordToggle{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;border:1px solid #3a8b44!important;border-radius:11px!important;background:#071408!important;color:#65ff18!important;font-size:19px!important;display:grid!important;place-items:center!important;z-index:50!important;cursor:pointer!important;opacity:1!important;visibility:visible!important}
#volAdminPasswordToggle.showing{background:#123318!important;box-shadow:0 0 12px rgba(101,255,24,.35)!important}

.truck-route-glow{filter:drop-shadow(0 0 6px rgba(101,255,24,.65))}
.truck-route-arrow-icon{font-size:26px;color:#65ff18;text-shadow:0 0 8px #65ff18,0 0 12px #000;transform:translate(-2px,-2px)}
.truck-origin-label,.truck-dest-label{background:#061007!important;border:1px solid #2f7538!important;color:#fff!important;border-radius:8px!important;box-shadow:0 0 10px rgba(0,0,0,.65)!important;font-weight:850!important}

/* V5.3.4 — ruta de camiones más limpia */
.truck-route-glow{
  stroke:#65ff18!important;
  stroke-width:3!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:10 9!important;
  animation:truckRouteFlow 1.15s linear infinite,truckRoutePulse 1.6s ease-in-out infinite!important;
  filter:drop-shadow(0 0 3px rgba(101,255,24,.7))!important;
}
@keyframes truckRouteFlow{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-19}
}
@keyframes truckRoutePulse{
  0%,100%{opacity:.55}
  50%{opacity:1}
}
.truck-origin-truck{font-size:27px;filter:drop-shadow(0 0 6px rgba(101,255,24,.75))}
.truck-destination-dot{width:15px;height:15px;border-radius:50%;background:#65ff18;border:2px solid #fff;box-shadow:0 0 11px rgba(101,255,24,.75)}
#toggleTruckRouteForm{font-weight:950!important;letter-spacing:.03em}

/* V5.3.5 — WhatsApp + fecha/hora PC + ruta visible */
.departure-picker{margin:10px 0;padding:11px;border:1px solid #2c6434;border-radius:13px;background:#071008}
.departure-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.departure-picker-head>strong{color:#65ff18;font-size:10px}.departure-quick{display:flex;gap:5px}.departure-quick button{border:1px solid #2f7137;background:#0c2510;color:#65ff18;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:900;cursor:pointer}
.departure-picker input[type="date"],.departure-picker input[type="time"]{font-size:16px!important;min-height:46px!important;cursor:pointer}
.truck-whatsapp-btn{display:flex!important;align-items:center;justify-content:center;gap:7px;width:100%;box-sizing:border-box;margin-top:8px;padding:9px 10px;border:1px solid #36b84b!important;border-radius:10px;background:#0c2911!important;color:#65ff18!important;text-decoration:none!important;font-weight:900!important;font-size:10px!important}
.truck-whatsapp-btn:active{transform:scale(.985)}
.truck-route-base{stroke:#37d848!important;stroke-width:4!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.72!important;filter:drop-shadow(0 0 3px rgba(101,255,24,.38))!important}
.truck-route-flow{stroke:#a7ff2d!important;stroke-width:2.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-dasharray:7 10!important;animation:truckRouteDash .9s linear infinite!important;filter:drop-shadow(0 0 3px rgba(101,255,24,.7))!important}
@keyframes truckRouteDash{from{stroke-dashoffset:0}to{stroke-dashoffset:-17}}

/* V5.3.6 — FIX CRÍTICO LEAFLET SVG
   La regla global svg{width:1em;height:1em} estaba reduciendo
   el SVG donde Leaflet dibuja las polilíneas del mapa. */
.leaflet-container .leaflet-overlay-pane svg{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Leaflet controla estas rutas mediante sus propios atributos. */
.leaflet-container .leaflet-overlay-pane svg path.leaflet-interactive{
  vector-effect:non-scaling-stroke;
}

/* Ruta de camiones: línea permanente + flujo animado */
.leaflet-container path.truck-route-base{
  stroke:#37d848!important;
  stroke-width:4px!important;
  stroke-opacity:.85!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:drop-shadow(0 0 3px rgba(101,255,24,.55));
}
.leaflet-container path.truck-route-flow{
  stroke:#b4ff36!important;
  stroke-width:2.5px!important;
  stroke-opacity:1!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:7 10!important;
  animation:paTruckRouteMove .9s linear infinite!important;
  filter:drop-shadow(0 0 4px rgba(101,255,24,.85));
}
@keyframes paTruckRouteMove{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-17}
}

.live-visits-bar{width:min(920px,calc(100% - 28px));margin:8px auto 4px;display:flex;justify-content:center;align-items:center;gap:7px;padding:7px 12px;box-sizing:border-box;border:1px solid #194b20;border-radius:999px;background:#061008;color:#baff91;font-size:9px;letter-spacing:.08em}.live-visits-bar i{width:7px;height:7px;border-radius:50%;background:#65ff18;box-shadow:0 0 10px #65ff18;animation:vlive 1.4s ease-in-out infinite}@keyframes vlive{50%{opacity:.35;transform:scale(.8)}}
.visit-stats-admin{margin:18px 0;padding:12px;border:1px solid #285e30;border-radius:15px;background:#061008}.visit-stat-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.visit-stat-summary div{padding:11px 5px;text-align:center;border:1px solid #24572c;border-radius:11px;background:#08160a}.visit-stat-summary b{display:block;color:#65ff18;font-size:22px}.visit-stat-summary span{font-size:7px;color:#98a099}.visit-stat-toolbar{display:flex;gap:6px;margin:9px 0}.visit-stat-toolbar button{flex:1;padding:8px;border:1px solid #2d7136;border-radius:8px;background:#071108;color:#aab0aa;font-size:8px;font-weight:900}.visit-stat-toolbar button.active{color:#65ff18;border-color:#65ff18}.visit-stats-chart{height:145px;display:flex;align-items:flex-end;gap:5px;padding:9px 5px;border:1px solid #214d27;border-radius:11px;background:#030b04;overflow-x:auto}.visit-bar-col{height:100%;min-width:25px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.visit-bar{width:65%;min-height:2px;border-radius:5px 5px 0 0;background:linear-gradient(#aaff39,#38dc4b);box-shadow:0 0 6px rgba(101,255,24,.3)}.visit-bar-value,.visit-bar-label{font-size:6px;color:#a9b0aa}.visit-stats-totals{font-size:9px;margin-top:8px}.visit-stats-note{font-size:7px;color:#788079;line-height:1.45}

.role-auth-sheet{width:min(480px,100%);border-radius:22px;padding:28px 18px 22px;position:relative;text-align:center}.role-auth-sheet>button:first-child{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:#172317;color:white;font-size:22px}.role-auth-sheet p{color:#929b94;font-size:10px;line-height:1.5}
.role-password-eye{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:39px!important;height:39px!important;border:1px solid #2d7136!important;border-radius:10px!important;background:#08170a!important;color:#65ff18!important;font-size:18px!important;z-index:5!important}
.role-auth-msg{display:block;margin-top:8px;color:#ff7a84;font-size:9px;min-height:14px}
.collection-role-admin{margin:20px 0;padding:13px;border:1px solid #315d37;border-radius:16px;background:#061008}.collection-role-head{margin-top:0!important}.role-login-box p{font-size:9px;color:#8f9991;line-height:1.45}.role-login-box .main-btn{width:100%;margin-top:9px}.collection-role-status{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;margin:8px 0 13px;border:1px solid #2f6e36;border-radius:10px;background:#0a1e0c;color:#78ff85;font-size:9px;font-weight:850}.collection-role-status button{border:0;background:transparent;color:#ff8088;font-weight:900}
.pending-card{border-color:#805f1e!important}.pending-card h3{color:#ffd760!important}.pending-badge{display:inline-flex;padding:4px 7px;border-radius:999px;border:1px solid #7d641e;background:#231c04;color:#ffd760;font-size:8px;font-weight:900}
.role-action-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.role-action-row button{flex:1;min-width:90px}

/* =========================================================
   V5.4 — EXPERIENCIA DE NAVEGACIÓN / MODO TAREA / MODO MAPA
   ========================================================= */

/* Navegación rápida */
.help-quick-nav{margin:10px 0 15px;padding:13px;border:1px solid #234f29;border-radius:16px;background:#061008}
.help-quick-nav>div:first-child small{display:block;color:#65ff18;font-size:8px;font-weight:950;letter-spacing:.12em}
.help-quick-nav>div:first-child strong{display:block;margin-top:2px;font-size:15px}
.help-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}
.help-quick-grid button{min-height:66px;border:1px solid #285b30;border-radius:12px;background:#08160a;color:#dce3dd;font-weight:850;font-size:19px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.help-quick-grid button span{font-size:8px;color:#a5afa7}
@media(max-width:520px){.help-quick-grid{grid-template-columns:repeat(2,1fr)}}

/* Los formularios de acción se convierten en una pantalla independiente. */
body.task-mode{overflow:hidden!important}
.task-focus-form{
  position:fixed!important;
  inset:0!important;
  z-index:8000!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  height:100dvh!important;
  margin:0!important;
  padding:76px max(16px,calc((100vw - 680px)/2)) 100px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  background:#020604!important;
  border:0!important;
  border-radius:0!important;
}
.task-focus-form.hidden{display:block!important}
.task-focus-form .task-original-title{display:none!important}
.task-focus-form .task-original-submit{display:none!important}
.task-focus-header{
  position:fixed;left:0;right:0;top:0;z-index:8010;height:61px;
  display:flex;align-items:center;gap:10px;
  padding:8px 14px;box-sizing:border-box;
  background:rgba(2,8,3,.97);border-bottom:1px solid #234f29;
  backdrop-filter:blur(12px)
}
.task-focus-header button{width:39px;height:39px;border:1px solid #285d30;border-radius:11px;background:#071108;color:#65ff18;font-size:22px}
.task-focus-header div{min-width:0}.task-focus-header small{display:block;color:#65ff18;font-size:7px;font-weight:950;letter-spacing:.12em}.task-focus-header strong{display:block;color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-focus-footer{
  position:fixed;left:0;right:0;bottom:0;z-index:8010;
  display:grid;grid-template-columns:minmax(95px,.35fr) 1fr;gap:8px;
  padding:10px max(14px,calc((100vw - 680px)/2));
  background:rgba(2,8,3,.97);border-top:1px solid #234f29;
  backdrop-filter:blur(12px)
}
.task-focus-footer button{min-height:48px;border-radius:12px;font-weight:950}
.task-focus-footer .task-cancel{border:1px solid #37423a;background:#0a100b;color:#aab2ab}
.task-focus-footer .task-save{border:1px solid #65ff18;background:#65ff18;color:#071006;box-shadow:0 0 15px rgba(101,255,24,.22)}
.task-focus-form label{margin-top:12px!important}
.task-focus-form input,.task-focus-form textarea{font-size:16px!important}
.admin-open-task{width:100%;margin:6px 0 12px}

/* Selección de mapa: el mapa toma toda la pantalla.
   Así el usuario no puede terminar haciendo pinch-zoom sobre la página. */
.map-focus-launch{width:100%;box-sizing:border-box;margin:9px 0 8px;padding:11px;border:1px solid #65ff18;border-radius:11px;background:#0a210d;color:#65ff18;font-size:9px;font-weight:950;letter-spacing:.03em}
.map-select-guide{display:flex;flex-direction:column;gap:3px;padding:10px;margin-top:10px;border:1px solid #2a6231;border-radius:11px;background:#071408}.map-select-guide strong{color:#65ff18;font-size:10px}.map-select-guide span{color:#a0aaa2;font-size:9px}
body.map-focus-mode{overflow:hidden!important;overscroll-behavior:none!important}
.map-focus-active{
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  touch-action:none!important;
  overscroll-behavior:none!important;
  background:#061008!important
}
.map-focus-hud{
  position:fixed;z-index:9010;left:12px;right:12px;top:max(12px,env(safe-area-inset-top));
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 10px;border:1px solid #2f7137;border-radius:14px;
  background:rgba(2,8,3,.94);box-shadow:0 5px 25px rgba(0,0,0,.45);backdrop-filter:blur(12px)
}
.map-focus-hud.hidden{display:none!important}
.map-focus-instruction{min-width:0}.map-focus-instruction strong{display:block;color:#65ff18;font-size:10px}.map-focus-instruction span{display:block;margin-top:2px;color:#c2cac3;font-size:8px;line-height:1.3}
.map-focus-actions{display:flex;gap:5px;flex:none}.map-focus-actions button{height:38px;border:1px solid #35553a;border-radius:9px;background:#09120a;color:#cbd2cc;font-size:8px;font-weight:900;padding:0 9px}.map-focus-actions .confirm{border-color:#65ff18;background:#65ff18;color:#061007}.map-focus-actions button:last-child{width:38px;padding:0;font-size:17px}
.map-focus-active .leaflet-control-zoom{margin-top:86px!important}
@media(max-width:560px){
 .map-focus-hud{align-items:stretch;flex-direction:column}
 .map-focus-actions{display:grid;grid-template-columns:1fr 1fr 38px;width:100%}
 .map-focus-actions button{width:auto}
 .map-focus-active .leaflet-control-zoom{margin-top:135px!important}
}

/* Camiones: la lectura pública queda limpia. Editar solo cuando se solicita. */
.truck-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.truck-editor-actions button{padding:11px 8px;border:1px solid #2d6734;border-radius:10px;background:#08170a;color:#65ff18;font-size:9px;font-weight:900}
.truck-update-load.collapsed,#truckLogForm.collapsed{display:none!important}

/* Evita que el resto de la página reciba gestos mientras hay una tarea o mapa activo. */
body.task-mode > *:not(.task-focus-form):not(.map-focus-hud):not(.map-focus-active){pointer-events:none}
body.task-mode .task-focus-form,body.task-mode .task-focus-form *{pointer-events:auto}

/* V5.4.1 — administración independiente de centros */
.collection-admin-public-btn{
  width:100%;box-sizing:border-box;margin:10px 0 2px;padding:10px 12px;
  border:1px solid #315f37;border-radius:11px;background:#071108;
  color:#9ca89f;font-size:8px;font-weight:900;letter-spacing:.04em
}
.collection-admin-public-btn:active{transform:scale(.99);border-color:#65ff18;color:#65ff18}
.collection-public-admin-sheet{
  width:min(650px,100%);height:min(92dvh,850px);max-height:92dvh;
  overflow-y:auto;border-radius:22px;padding:28px 16px 22px;position:relative
}
.collection-public-admin-sheet>#closeCollectionPublicAdmin{
  position:absolute;right:12px;top:10px;width:35px;height:35px;border:0;
  border-radius:50%;background:#172317;color:#fff;font-size:22px;z-index:5
}
#collectionPublicLoginView{text-align:center;padding-top:16px}
#collectionPublicLoginView>p{color:#909a92;font-size:10px;line-height:1.5;margin:7px auto 14px;max-width:420px}
#collectionPublicLoginView .main-btn{width:100%;margin-top:10px}
.collection-public-admin-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
  margin-bottom:12px;padding-right:36px
}
.collection-public-admin-head small{display:block;color:#65ff18;font-size:8px;font-weight:950;letter-spacing:.12em}
.collection-public-admin-head h2{margin:3px 0;font-size:19px}
.collection-public-admin-head>button{
  border:1px solid #71333a;border-radius:9px;background:#1b090b;color:#ff7d87;
  padding:8px 11px;font-size:8px;font-weight:900
}
#collectionPublicAddBtn{width:100%;margin-bottom:14px}
.collection-public-admin-sheet .section-row{margin-top:18px}
@media(max-width:520px){
  .collection-public-admin-sheet{height:100dvh;max-height:100dvh;border-radius:0;padding-top:56px}
  .collection-public-admin-sheet>#closeCollectionPublicAdmin{top:max(10px,env(safe-area-inset-top))}
}
