:root{--ink:#081a3c;--muted:#5a6784;--line:#dbe3f0;--paper:#fff;--soft:#f4f7fc;--green:#0160fc;--blue:#0160fc;--orange:#fc021e;--red:#c4001a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9bbcff;outline-offset:3px}a{color:var(--blue)}[hidden]{display:none!important}svg.lucide{width:18px;height:18px;flex:none}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.2;margin-bottom:9px;font-weight:730}h2{font-size:17px;line-height:1.3;margin-bottom:15px}h3{font-size:13px;margin:22px 0 9px}p{color:var(--muted)}.header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1001}.identity{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none}.identity img{object-fit:contain;height:43px;width:auto}.identity strong{display:block;font-size:15px}.identity small{display:block;color:var(--muted);font-size:11px}.header-right{display:flex;align-items:center;gap:15px}.prototype{font-size:11px;font-weight:650;padding:5px 9px;background:#fff2e9;color:#9d491d;border-radius:4px}.connection{color:var(--muted);font-size:12px}.navigation{position:fixed;top:76px;bottom:0;width:202px;padding:27px 16px;border-right:1px solid var(--line);background:var(--soft);z-index:1000}.navigation button{display:flex;align-items:center;gap:12px;width:100%;padding:12px;margin-bottom:6px;border:0;border-radius:5px;background:transparent;color:var(--muted);text-align:left;font-weight:600}.navigation button.active{background:#e6eefd;color:var(--green)}.navigation b{font-size:11px;margin-left:auto}.nav-note{margin:38px 10px;color:var(--muted);font-size:11px}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:5px}main{margin-left:202px;padding:30px 36px 0;max-width:1560px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-title p:last-child{margin-bottom:0}.eyebrow{font-size:10px;font-weight:750;color:var(--green);margin-bottom:9px}.primary,.secondary,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;min-height:42px;padding:10px 15px;white-space:normal;text-align:center;text-decoration:none;font-weight:650;line-height:1.3}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover{background:#104b37}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.secondary:hover{background:var(--soft)}.icon-button{width:42px;padding:10px;border:1px solid var(--line);background:white;color:var(--ink)}.notice{padding:12px 15px;background:#fff6ec;border-left:3px solid #e8a317;color:#875029;display:flex;gap:10px;font-size:12px;margin-bottom:20px}.notice svg{margin-top:1px}.notice.neutral{background:#f1f5f9;color:#485766;border-color:#9dafbf}.equipment-strip{display:grid;grid-template-columns:1.5fr 1fr auto;gap:16px;align-items:end}.equipment-strip label,.map-controls label{font-size:11px;font-weight:650;color:var(--muted)}input,select{width:100%;border:1px solid #c9d5ea;border-radius:5px;height:42px;background:white;color:var(--ink);padding:9px 11px;min-width:0;outline:none}select{padding-right:24px}input:focus,select:focus{border-color:#0160fc;box-shadow:0 0 0 3px #e3edfe}input[aria-invalid="true"]{border-color:var(--red)}.equipment-strip select,.map-controls select{margin-top:5px}.equipment-note{font-size:12px;line-height:1.6;margin:12px 0 25px;max-width:850px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:35px;align-items:start}.form-section{border-top:1px solid var(--line);padding:22px 0}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-title>span{font-size:11px;color:var(--green);background:#eef3fc;width:28px;height:28px;display:grid;place-items:center;border-radius:4px}.section-title h2{margin:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;font-size:12px;font-weight:550;gap:6px;min-width:0}.field small,.hint{font-size:11px;font-weight:400;color:var(--muted);line-height:1.6}.error{color:var(--red)!important}.contents{display:contents}.assumptions{margin-top:22px}.assumptions summary,.extra-costs summary{font-size:12px;color:var(--muted);cursor:pointer}.assumptions p{font-size:12px;margin:12px 0 0}.extra-costs{margin-top:20px}.extra-costs .field-grid{margin-top:16px}.cold-title{display:flex;align-items:center;gap:7px;color:#276181;padding-top:16px;border-top:1px solid var(--line)}.form-actions{display:flex;gap:10px;align-items:center;margin-top:10px}.form-status{font-size:12px;min-height:18px;margin:10px 0 0}.results{border:1px solid var(--line);background:var(--soft);border-radius:7px;padding:22px;position:sticky;top:98px}.results-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.results-heading h2{margin:0}.result-state{font-size:10px;padding:4px 6px;background:#e6ecf8;border-radius:4px;max-width:160px;line-height:1.3}.result-state.good{color:var(--green);background:#dce8fd}.result-state.bad{color:var(--red);background:#f9e5e4}.main-metric{font-size:35px;font-weight:750;line-height:1.2;margin-bottom:19px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.main-metric.negative{color:var(--red)}.metric-label{font-size:11px;margin:26px 0 7px}.result-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.result-grid span{display:block;font-size:10px;color:var(--muted)}.result-grid strong{font-size:13px;display:block;font-variant-numeric:tabular-nums}.cost-bar{height:6px;background:#c9dafc;border-radius:3px;overflow:hidden;margin-top:17px}.cost-bar span{display:block;height:100%;background:#9db3d9;max-width:100%}.result-row{display:flex;justify-content:space-between;gap:15px;padding:6px 0;font-size:12px;border-bottom:1px solid #e6ebf6}.result-row span{color:var(--muted)}.result-row strong{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-note{font-size:11px;margin-top:12px}.privacy{font-size:10px;line-height:1.6;margin:22px 0 0;display:flex;gap:7px}.privacy svg{width:13px;height:13px;margin-top:1px}.empty-result{padding:35px 0 20px;display:flex;flex-direction:column;gap:10px}.empty-result svg{width:32px;height:32px;color:#8fa6cf}.empty-result p{font-size:12px;margin:0}.empty-result strong{font-size:15px}.map-controls{display:grid;grid-template-columns:1fr 1.6fr .7fr auto;gap:12px;margin-bottom:18px;align-items:end}.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.map-surface{min-width:0}#map{height:475px;background:#e8eefa;isolation:isolate}.map-source{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 15px;min-height:65px;font-size:10px;line-height:1.5}.weather{display:flex;gap:5px;align-items:center;text-decoration:none;font-size:11px;white-space:nowrap}.places-panel{border-left:1px solid var(--line);padding:16px;max-height:540px;overflow:auto}.places-heading{display:flex;align-items:center;justify-content:space-between}.places-heading h2{margin-bottom:12px}.places-heading span{font-size:11px;color:var(--muted)}.place{border-top:1px solid var(--line);padding:16px 0}.place h3{font-size:13px;margin:0 0 6px}.place p{font-size:11px;margin:4px 0}.place .type{font-size:9px;text-transform:uppercase;color:var(--green);font-weight:700}.place-actions{display:flex;align-items:center;gap:12px;margin-top:11px}.place-actions a{font-size:10px}.place-actions button{font-size:10px;min-height:34px;padding:7px 9px}.place-actions button svg{width:13px;height:13px}.pin{display:grid;place-items:center;border:2px solid white;background:var(--green);color:white;border-radius:50%;font-size:11px;font-weight:700;box-shadow:0 2px 5px #0003}.pin.tourism{background:#935e9c}.pin.rest{background:#356d9b}.directory-links{display:flex;align-items:center;gap:19px;flex-wrap:wrap;padding:15px 0;font-size:11px;border-bottom:1px solid var(--line)}.directory-links span{color:var(--muted)}.directory-links a{display:inline-flex;gap:5px;text-decoration:none}.directory-links svg{width:12px;height:12px}.trip-section{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;margin-top:28px}.trip-section ol{padding:0;list-style:none;margin:20px 0}.trip-stop{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.trip-stop .ordinal{font-size:10px;font-weight:700;color:var(--green);width:20px}.trip-stop .stop-detail{flex:1;min-width:0}.trip-stop strong{display:block;font-size:12px}.trip-stop small{font-size:10px;color:var(--muted)}.trip-stop .icon-button{width:32px;height:32px;min-height:32px;padding:5px}.trip-stop svg{width:14px;height:14px}.time-estimate{font-size:24px;color:var(--green);font-weight:700;margin:20px 0 6px}.profile-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:45px}.profile-layout form{padding-top:20px;border-top:1px solid var(--line)}.profile-card{padding:18px 0;border-bottom:1px solid var(--line)}.profile-card h3{margin:0 0 5px;font-size:15px}.profile-card p{font-size:12px}.profile-actions{display:flex;gap:8px}.profile-actions button{font-size:11px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:var(--soft);font-size:10px;color:var(--muted);padding:12px;white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}td strong{display:block}td small{display:block;font-size:10px;color:var(--muted)}td input[type="checkbox"]{width:18px;height:18px;accent-color:var(--green)}td .icon-button{width:33px;min-height:33px;padding:6px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:25px}.compare-item{border:1px solid var(--line);border-radius:6px;padding:20px;background:var(--soft)}.compare-item h2{font-size:15px}.compare-item .main-metric{font-size:27px;margin:9px 0}.compare-item p{font-size:11px;margin-bottom:6px}footer{border-top:1px solid var(--line);padding:20px 0;margin-top:35px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}footer strong{font-weight:650;color:var(--ink)}.leaflet-container{font-family:inherit}.leaflet-popup-content{font-size:12px}.leaflet-control-attribution{font-size:9px!important}
@media(min-width:1600px){main{padding-left:50px;padding-right:50px}}
@media(max-width:1100px){.navigation{width:174px;padding:20px 10px}.navigation button{font-size:12px;gap:9px}main{margin-left:174px;padding:26px 24px 0}.workspace{gap:22px;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.results{padding:18px}.map-controls{grid-template-columns:1fr 1fr}.map-workspace{grid-template-columns:minmax(0,1fr) 255px}.main-metric{font-size:30px}}
@media(max-width:800px){.header{height:65px;padding:0 18px}.identity img{width:auto;height:33px}.identity strong{font-size:13px}.connection{display:none}.prototype{font-size:9px}.navigation{top:auto;bottom:0;width:100%;height:calc(65px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;border-right:0;border-top:1px solid var(--line);padding:6px 4px env(safe-area-inset-bottom);background:white}.navigation button{width:25%;margin:0;flex-direction:column;gap:4px;padding:6px 3px;font-size:10px;border-radius:4px;line-height:1.2}.navigation b,.nav-note{display:none}.navigation svg{width:20px;height:20px}main{margin-left:0;padding:24px 20px calc(80px + env(safe-area-inset-bottom))}.workspace{grid-template-columns:1.3fr 1fr;gap:20px}.results{position:static}.page-title{align-items:start}h1{font-size:26px}.page-title p:last-child{font-size:12px}.map-workspace{grid-template-columns:1fr}.places-panel{border-left:0;border-top:1px solid var(--line);max-height:330px}#map{height:410px}.trip-section,.profile-layout{gap:25px}.equipment-strip{grid-template-columns:1fr 1fr auto}.comparison{gap:10px}.compare-item{padding:15px}}
@media(max-width:620px){main{padding-left:18px;padding-right:18px}.workspace,.profile-layout,.trip-section{grid-template-columns:1fr;gap:26px}.page-title{gap:10px;margin-bottom:21px}h1{font-size:25px;max-width:290px}.page-title .secondary{font-size:11px;min-height:36px;padding:8px}.page-title .secondary svg{width:15px}.equipment-strip{grid-template-columns:1fr 1fr;gap:12px}.equipment-strip label:first-child{grid-column:1/-1}.equipment-strip .secondary{align-self:end}.equipment-note{margin-bottom:20px}.form-section{padding:20px 0}.field-grid{gap:14px 12px}.field{font-size:11px}.field small{font-size:10px}input,select{font-size:16px;height:44px;padding:9px;max-width:100%}.notice{font-size:10px;padding:11px}.results{padding:20px}.main-metric{font-size:36px}.result-grid strong{font-size:14px}.result-row{font-size:12px}.map-controls{gap:12px}.map-controls label:nth-child(2){grid-column:1/-1;grid-row:2}.map-controls .primary{font-size:11px;grid-column:1/-1}.map-controls label:nth-child(3){grid-row:1;grid-column:2}#map{height:360px}.map-source{font-size:9px}.comparison{grid-template-columns:1fr}.directory-links{gap:12px;font-size:10px}.directory-links span{width:100%}footer{align-items:start;flex-direction:column;gap:5px}.header-right{gap:7px}.header .icon-button{width:33px;min-height:33px;padding:6px}.trip-stop{gap:8px}.trip-stop .icon-button{width:30px}summary{min-height:28px}}
@media print{.header,.navigation,.page-title,.equipment-strip,.equipment-note,.notice,.form-actions,.privacy,footer{display:none!important}main{padding:0;margin:0}.workspace{display:block}#loadForm{display:none}.results{position:static;max-width:700px;margin:auto;background:white}.results h2{font-size:20px}.results:before{content:'CARGIX · Evaluación de carga';display:block;margin-bottom:20px;font-weight:bold}.results{break-inside:avoid}}
@media(max-width:620px){.equipment-strip{grid-template-columns:minmax(0,1fr) auto}}
#languagePicker{width:62px;height:34px;font-size:12px;padding:5px 9px;border-color:var(--line)}.english-toolbar{display:grid;grid-template-columns:1fr 1.5fr auto;gap:20px;align-items:end;padding-bottom:22px;border-bottom:1px solid var(--line)}.english-progress{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);padding-bottom:5px}.english-progress strong{font-size:20px;color:var(--green)}.phrase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:35px}.phrase{padding:25px 0;border-bottom:1px solid var(--line);min-width:0}.phrase h2{font-size:19px;line-height:1.4;margin-bottom:10px;overflow-wrap:anywhere}.phrase-meaning{margin-bottom:10px;font-size:14px}.phrase-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.phrase-actions .secondary{font-size:11px}.practice-check{display:flex;align-items:center;gap:6px;font-size:11px;margin-left:auto}.practice-check input{width:17px;height:17px;accent-color:var(--green)}.english-quiz{margin:35px 0;padding:25px;border:1px solid var(--line);border-radius:6px;max-width:750px}.quiz-prompt{font-size:18px;color:var(--ink)}.quiz-option{display:block;width:100%;text-align:left;border:1px solid var(--line);background:white;color:var(--ink);padding:14px;margin:10px 0;border-radius:5px;line-height:1.5}.quiz-option.correct{border-color:var(--green);background:#e6eefd;opacity:1}.quiz-option.incorrect{border-color:var(--red);background:#f9e5e4;opacity:1}.quiz-score{font-size:32px;color:var(--green)}
@media(max-width:800px){.navigation button{width:20%;font-size:9px}.english-toolbar{grid-template-columns:1fr 1fr}.english-progress{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px}.header-right .prototype{display:none}}
@media(max-width:620px){.phrase-list{grid-template-columns:1fr}.english-toolbar{grid-template-columns:1fr;gap:15px}.phrase h2{font-size:18px}.english-quiz{padding:18px}.phrase-actions{gap:8px}.header-right{gap:5px}#languagePicker{width:57px}.english-progress{grid-column:auto}.navigation button[data-view="ruta"] span{max-width:65px}.navigation button[data-view="ingles"] span{max-width:65px}}
.actions-inline{display:flex;gap:8px;flex-wrap:wrap}
.map-controls #myLocation{white-space:nowrap}

.base-card{margin:6px 0 4px;padding:14px 16px;border:1px solid var(--line);background:var(--soft);border-radius:7px}.base-card summary{display:flex;flex-direction:column;gap:2px;cursor:pointer;font-size:13px;color:var(--ink)}.base-card summary span{font-size:12px;color:var(--muted);font-weight:500}.base-card .hint{margin:12px 0 14px}
.results{scroll-margin-top:78px}.result-banner{border-radius:7px;padding:16px 16px 14px;margin:14px 0 16px;background:#eef2fa;border:1px solid var(--line)}.result-banner .metric-label{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.02em}.result-banner .main-metric{margin-bottom:6px;font-size:40px}.result-banner .margin-line{margin:0;font-size:13px;font-weight:600}
.result-banner.gain{background:#e8f6ee;border-color:#b5dfc6}.result-banner.gain .metric-label,.result-banner.gain .main-metric,.result-banner.gain .margin-line{color:#0a7a3a}
.result-banner.loss{background:#fdeceb;border-color:#f0b9b6}.result-banner.loss .metric-label,.result-banner.loss .main-metric,.result-banner.loss .margin-line{color:var(--red)}
.result-banner.even .main-metric{color:var(--ink)}.result-state.good{color:#0a7a3a;background:#dff3e7}

.goal-box{margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:7px;background:var(--soft)}.goal-box .metric-label{margin:0 0 8px;font-size:12px;font-weight:700}.goal-box.done{background:#e8f6ee;border-color:#b5dfc6}.goal-box.done .result-row:last-of-type strong{color:#0a7a3a}.zip-hint{grid-column:1/-1;margin:0}

.tool-card{border:1px solid var(--line);border-radius:7px;padding:22px;margin:0 0 22px;max-width:900px;background:#fff}
.tool-card h3{font-size:13px;margin:22px 0 8px}
.tool-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.tool-head h2{margin:0;font-size:18px}
.tool-head svg{color:var(--blue)}
.mentor-card{background:var(--soft);border-left:4px solid var(--blue)}
.tool-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-radius:5px;padding:11px 16px;font-weight:650;margin:4px 0 6px}
.det-main{margin:14px 0}
.det-main button{min-width:130px;justify-content:center}
.tool-actions{flex-wrap:wrap;margin-top:14px}
.det-live{margin-top:16px}
.det-clock{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:var(--soft);border-radius:6px;padding:12px 14px;margin-bottom:6px}
.det-clock span{font-size:12px;color:var(--muted);font-weight:650}
.det-clock strong{font-size:26px;font-variant-numeric:tabular-nums}
.det-clock.running strong{color:var(--blue)}
.tool-list{display:grid;gap:0}
.tool-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:10px 0}
.tool-item small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.tool-item-right{text-align:right;font-variant-numeric:tabular-nums}
.tool-item-actions{display:flex;gap:6px}
.tool-month{display:flex;align-items:end;gap:12px;margin:22px 0 8px;border-top:1px solid var(--line);padding-top:18px}
.tool-month .field{max-width:220px;margin:0}
.tool-summary .tool-total{font-size:14px;border-bottom:0}
.tool-summary .tool-total strong{color:var(--blue)}
.tool-summary .tool-total.neg strong{color:var(--red)}
.photo-viewer{position:fixed;inset:0;background:#081a3ce6;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px}
.photo-viewer img{max-width:100%;max-height:80vh;border-radius:6px;background:#fff}
@media(max-width:800px){.navigation button{width:16.66%;font-size:8.5px;padding:6px 1px}.navigation button span{overflow-wrap:anywhere}}
@media(max-width:620px){.tool-card{padding:16px}.tool-item{grid-template-columns:minmax(0,1fr) auto}.tool-item-actions{grid-column:1/-1;justify-content:flex-end}.tool-month{flex-wrap:wrap}.det-main button{flex:1}}

.pin.b-loves{background:#ffc20e;color:#081a3c}.pin.b-pilot,.pin.b-flyingj{background:#d71920}.pin.b-one9{background:#111}.pin.b-ta{background:#0057b8}.pin.b-petro{background:#00a651}.pin.b-pf{background:#9c2f8c}.pin.b-speedco{background:#455a64}.pin.b-rest{background:#356d9b}
.route-card{margin-top:28px;border:1px solid var(--line);border-radius:7px;padding:22px;background:var(--soft)}.route-card h2{margin-bottom:6px}.route-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:28px;margin-top:16px}.route-points{display:flex;flex-direction:column;gap:10px}.route-points .secondary{align-self:flex-start}.route-now{font-size:12px;font-weight:650;color:var(--green);margin:0;min-height:0}.route-now:empty{display:none}.route-truck .field-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.route-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.route-status{font-size:12px;min-height:18px;margin:12px 0 0}.route-result{margin-top:14px;padding-top:16px;border-top:1px solid var(--line)}.route-figures{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px}.route-figures span{display:block;font-size:11px;color:var(--muted)}.route-figures b{font-size:28px;color:var(--green);font-variant-numeric:tabular-nums}.route-legs{font-size:12px;color:var(--muted);padding-left:0;list-style:none;margin:10px 0}.route-result .secondary{margin:6px 0 10px}.route-pin{display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#0160fc;color:#fff;font-size:11px;font-weight:750;box-shadow:0 2px 5px #0004}.route-pin.start{background:#081a3c}.route-pin.end{background:#fc021e}
@media(max-width:620px){.route-card{padding:16px}.route-grid{grid-template-columns:1fr;gap:18px}.route-truck .field-grid{grid-template-columns:1fr 1fr}.route-figures b{font-size:24px}.route-actions .primary,.route-actions .secondary{flex:1 1 100%}}
.place-actions{flex-wrap:wrap}
/* ---------- GPS ---------- */
.gps-page{position:relative;margin:-30px -36px 0;height:calc(100vh - 76px);min-height:520px;overflow:hidden;background:#e8eefa}
body.gps-mode footer{display:none}
#gpsMap{position:absolute;inset:0;z-index:0}
.gps-top{position:absolute;top:14px;left:14px;right:14px;z-index:600;max-width:560px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.gps-top>.gps-search,.gps-top>.gps-chips,.gps-top>.gps-from-zip,.gps-top>.gps-legend{align-self:stretch}
.gps-top>*{pointer-events:auto}
.gps-search{display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:6px 6px 6px 14px;box-shadow:0 8px 28px rgba(8,26,60,.18),0 1px 2px rgba(8,26,60,.12)}
.gps-search>svg{color:var(--muted);width:20px;height:20px}
.gps-search input{border:0;box-shadow:none;height:46px;padding:0;font-size:16px;font-weight:550;background:transparent}
.gps-search input:focus{box-shadow:none}
.gps-go{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-weight:750;font-size:15px;padding:12px 16px;min-height:46px}
.gps-go:active{transform:scale(.97)}
.gps-go svg{width:18px;height:18px}
.gps-from{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);background:rgba(255,255,255,.92);border-radius:10px;padding:6px 10px;align-self:flex-start;box-shadow:0 2px 10px rgba(8,26,60,.1)}
.gps-from button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:var(--ink);font-weight:700;padding:2px 0}
.gps-from svg{width:14px;height:14px;color:var(--blue)}
.gps-via{display:inline-flex;align-items:center;gap:5px;margin-left:6px;color:var(--ink)}
.gps-via input{width:16px;height:16px;accent-color:var(--blue)}
.gps-from-zip input{max-width:220px;border-radius:10px;box-shadow:0 2px 10px rgba(8,26,60,.12)}
.gps-chips{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:2px;margin-right:-14px;padding-right:14px}.gps-chip{flex:none}
.gps-chips::-webkit-scrollbar{display:none}
.gps-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid rgba(8,26,60,.08);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;font-size:13.5px;font-weight:650;box-shadow:0 2px 10px rgba(8,26,60,.12)}
.gps-chip svg{width:17px;height:17px;color:var(--blue)}
.gps-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.gps-chip.active svg{color:#fff}
.gps-status{margin:0;font-size:12px;background:rgba(8,26,60,.88);color:#fff;border-radius:10px;padding:8px 12px;align-self:flex-start;max-width:100%}
.gps-status.error{background:#b8001a;color:#fff!important}
.gps-top.compact .gps-chips,.gps-top.compact .gps-from{display:none}
.gps-truck{position:absolute;left:14px;bottom:18px;z-index:550;display:inline-flex;align-items:center;gap:8px;border:0;background:var(--ink);color:#fff;border-radius:999px;padding:11px 15px;font-weight:700;font-size:13px;box-shadow:0 8px 24px rgba(8,26,60,.3)}
.gps-truck svg{width:17px;height:17px}.gps-truck svg:last-child{width:14px;height:14px;opacity:.7}
.gps-locate{position:absolute;right:14px;bottom:96px;z-index:550;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 6px 18px rgba(8,26,60,.2)}
.gps-page .leaflet-bottom.leaflet-right{bottom:150px}
.gps-page .leaflet-control-zoom{border:0;box-shadow:0 6px 18px rgba(8,26,60,.2);border-radius:12px;overflow:hidden}
.gps-page .leaflet-bottom.leaflet-left{bottom:62px}
.gps-me span{display:block;width:22px;height:22px;border-radius:50%;background:#0160fc;border:4px solid #fff;box-shadow:0 0 0 8px rgba(1,96,252,.18),0 2px 6px rgba(0,0,0,.3)}
.gps-end{display:grid;place-items:center;border-radius:50%;border:3px solid #fff;color:#fff;font-weight:800;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.gps-end.a{background:var(--ink)}.gps-end.b{background:#fc021e}.gps-end.v{background:#0160fc}
.gps-end svg{width:16px;height:16px}
.gps-pop strong{display:block;font-size:14px;margin-bottom:2px}
.gps-pop small{display:block;color:var(--muted);font-size:11px;margin-bottom:10px}
.gps-pop .gps-go{width:100%;justify-content:center;min-height:40px;padding:9px 12px}
.gps-sheet{position:absolute;left:0;right:0;bottom:0;z-index:700;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -10px 34px rgba(8,26,60,.22);padding:8px 18px 18px;max-height:42%;overflow:hidden;display:flex;flex-direction:column;transition:max-height .25s ease}
.gps-sheet.open{max-height:82%}
.gps-handle{align-self:center;width:46px;height:5px;border-radius:3px;background:#cfd8e8;border:0;margin:2px 0 10px;padding:0;flex:none}
.gps-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.gps-time{margin:0;color:#0a8f4e;font-size:30px;line-height:1.05;font-weight:800;font-variant-numeric:tabular-nums}
.gps-sub{margin:4px 0 0;font-size:14px;color:var(--ink);font-weight:600}
.gps-to{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:13px;color:var(--muted)}
.gps-to svg{width:14px;height:14px;color:#fc021e}
.gps-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center;color:var(--ink);flex:none}
.gps-traffic,.gps-used{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 0;font-size:12px;color:var(--muted)}
.gps-traffic svg,.gps-used svg{width:14px;height:14px;color:var(--blue)}
.gps-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;flex:none}
.gps-actions .primary,.gps-actions .secondary{min-height:48px;font-size:14px;border-radius:11px}
.gps-steps{list-style:none;margin:14px 0 0;padding:0;overflow:auto;flex:1;display:none}
.gps-sheet.open .gps-steps{display:block}
.gps-steps li{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}
.gps-step-ic{width:38px;height:38px;border-radius:10px;background:#e8f0ff;color:var(--blue);display:grid;place-items:center}
.gps-step-tx{font-size:14px;color:var(--ink);font-weight:550;line-height:1.35}
.gps-step-mi{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.gps-note{font-size:10.5px;color:var(--muted);margin:12px 0 0;flex:none}
.gps-dialog{border:0;border-radius:18px;padding:22px;width:min(520px,calc(100vw - 24px));box-shadow:0 30px 80px rgba(8,26,60,.35)}
.gps-dialog::backdrop{background:rgba(8,26,60,.45)}
.gps-dialog h2{display:flex;align-items:center;gap:8px;font-size:20px;margin-bottom:4px}
.gps-dialog h2 svg{color:var(--blue);width:22px;height:22px}
.gps-dims{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.gps-dims .field:nth-child(3),.gps-dims .field:nth-child(7),.gps-dims .field:nth-child(8){grid-column:span 2}
.gps-dims .field:nth-child(4){grid-column:span 2}
.gps-err{min-height:16px;font-size:12px;margin:10px 0 0}
.primary:hover{background:#0050d6}
@media(max-width:800px){.gps-page{margin:-24px -20px 0;height:calc(100dvh - 65px - 65px - env(safe-area-inset-bottom));min-height:420px}.gps-top{top:10px;left:10px;right:10px}.gps-truck{left:10px;bottom:14px}.gps-locate{right:10px;bottom:84px}.gps-sheet{max-height:48%}.navigation button{width:14.28%;font-size:8px}}
@media(max-width:420px){.gps-dims{grid-template-columns:repeat(2,minmax(0,1fr))}.gps-dims .field{grid-column:auto!important}.gps-dims .field:nth-child(8),.gps-dims .field:nth-child(7){grid-column:span 2!important}.gps-time{font-size:27px}.gps-actions .primary,.gps-actions .secondary{font-size:13px;padding:8px}}
@media(max-width:620px){.gps-page{margin:-24px -18px 0}}
.gps-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(255,255,255,.25);font-size:12px}
input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;width:100%;display:block;text-align:left}
input[type="datetime-local"]::-webkit-date-and-time-value,input[type="date"]::-webkit-date-and-time-value,input[type="month"]::-webkit-date-and-time-value{text-align:left}
@media(hover:none){.primary:hover{background:var(--green)}.secondary:hover{background:white}}
/* barra de navegación con color por sección */
.navigation button[data-view="cargas"]{--c:#0160fc;--t:#e7f0ff}
.navigation button[data-view="gps"]{--c:#0a8f4e;--t:#e3f5ec}
.navigation button[data-view="ruta"]{--c:#e67e00;--t:#fff1e0}
.navigation button[data-view="equipos"]{--c:#455a8a;--t:#eaeef6}
.navigation button[data-view="historial"]{--c:#6a3fb5;--t:#f0eafa}
.navigation button[data-view="ingles"]{--c:#d81b3c;--t:#fde8ec}
.navigation button[data-view="herramientas"]{--c:#00838f;--t:#e0f4f5}
.navigation button svg{color:var(--c)}
.navigation button.active{background:var(--t);color:var(--c)}
.navigation button.active svg{color:var(--c)}
.navigation button.active span{font-weight:750}
@media(max-width:800px){.navigation button{text-align:center;justify-content:flex-start}.navigation button span{overflow-wrap:normal;word-break:keep-all;hyphens:none}.navigation button.active span{font-weight:700;letter-spacing:-.2px}}
.pin.b-bluebeacon{background:#1565c0}.pin.b-cat{background:#f2b705}.pin.b-weigh{background:#c62828}
/* íconos de la barra: mosaico de color relleno con ícono blanco */
.navigation button svg{width:30px;height:30px;padding:6px;border-radius:9px;background:var(--c);color:#fff!important;box-shadow:0 2px 6px color-mix(in srgb,var(--c) 35%,transparent);flex:none}
.navigation button.active{background:transparent}
.navigation button.active svg{transform:translateY(-1px);box-shadow:0 0 0 3px var(--t),0 4px 10px color-mix(in srgb,var(--c) 45%,transparent)}
.navigation button.active span{color:var(--c)}
main{min-height:calc(100vh - 76px)}
@media(max-width:800px){main{min-height:calc(100dvh - 65px)}.navigation button svg{width:30px;height:30px}.navigation button{gap:5px}}
.pin.b-camprv{background:#2e7d32}.pin.b-camp{background:#f9a825}.pin.b-campno{background:#d84315}.pin.b-tour{background:#00897b}.pin.b-hgvpark{background:#283593}.pin.b-restosm{background:#356d9b}
.camp-legend{font-size:12px;line-height:1.5;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:8px 0}
.camp-legend .lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 8px;vertical-align:-1px}.camp-legend .lg:first-child{margin-left:0}
.lg-rv{background:#2e7d32}.lg-unk{background:#f9a825}.lg-no{background:#d84315}
.gps-legend{margin:6px 0 0;background:rgba(255,255,255,.96);box-shadow:0 2px 10px rgba(8,26,60,.12)}
.gps-pop .gps-badge{color:var(--ink);font-weight:600;margin-top:-6px}
.gps-pop .gps-badge.camprv{color:#2e7d32}.gps-pop .gps-badge.campno{color:#d84315}.gps-pop .gps-badge.camp{color:#a66b00}
.gps-pop .gps-link{display:block;font-size:12px;margin:-4px 0 10px}
.gps-actions .gps-along-btn{grid-column:1/-1;min-height:44px}
.gps-along{display:none;margin-top:12px;flex:1;min-height:0;flex-direction:column}
.gps-sheet.open.along .gps-along{display:flex}.gps-sheet.open.along .gps-steps{display:none}
.gps-along-filter{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.gps-along-filter select{flex:1;min-height:40px}
.gps-along-status{font-size:12px;color:var(--muted);margin:8px 0 4px}
.gps-along-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1}
.gps-along-list li{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
.gps-along-mi{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#081a3c;color:#fff;border-radius:10px;padding:5px 0;line-height:1.1}.gps-along-mi small{font-size:9px;text-transform:uppercase;opacity:.8}.gps-along-mi b{font-size:16px}
.gps-along-tx strong{display:block;font-size:14px}.gps-along-tx small{display:block;font-size:12px;color:var(--muted)}.gps-along-tx .gps-badge{font-weight:600;margin-top:2px}
.gps-along-tx .gps-badge.camprv{color:#2e7d32}.gps-along-tx .gps-badge.campno{color:#d84315}.gps-along-tx .gps-badge.camp{color:#a66b00}
/* fondo claro para que resalten tarjetas y campos */
:root{--bg:#eef3fa}
body{background:var(--bg)}
.results,.compare-item,.base-card,.goal-box,.route-card,.mentor-card,.tool-card{background:#fff;box-shadow:0 1px 3px rgba(8,26,60,.06)}
.camp-legend:not(.gps-legend){background:#fff}

.basemap-toggle{background:#fff;color:#081a3c;border:1px solid rgba(8,26,60,.18);border-radius:8px;padding:6px 10px;font:600 12.5px/1.2 inherit;box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer}
.basemap-toggle:active{background:#eef3fa}
/* ---------- pines Cargix ---------- */
.cpin{background:none;border:0}
.cpin-b{position:absolute;left:0;right:0;top:0;height:28px;display:flex;align-items:center;justify-content:center;gap:3px;border:2px solid #fff;border-radius:9px;font:800 10.5px/1 system-ui,-apple-system,sans-serif;letter-spacing:.2px;box-shadow:0 3px 8px rgba(8,26,60,.35);white-space:nowrap;padding:0 4px}
.cpin-b.long{font-size:9.5px;letter-spacing:0}
.cpin-b.ic{border-radius:50%;width:30px;padding:0}
.cpin-b svg{display:block}
.cpin-tip{position:absolute;left:50%;top:26px;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid #0160fc;filter:drop-shadow(0 2px 1px rgba(8,26,60,.25))}
.cpin-price{margin-left:3px;padding:1px 4px;border-radius:5px;background:#0a8f4e;color:#fff;font-size:10px}
.leaflet-marker-icon.cpin:hover{z-index:1000!important}
/* ---------- GPS: panel de inicio ---------- */
.gps-page{--home-h:0px}
.gps-home{position:absolute;left:0;right:0;bottom:0;z-index:650;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -10px 30px rgba(8,26,60,.18);padding:6px 14px 14px;max-height:62%;overflow:auto}
.gps-home .gps-handle{display:block;margin:2px auto 8px}
.gps-home.min .gps-tiles,.gps-home.min .gps-weather{display:none}
.gps-home-peek{margin:0 0 2px;text-align:center;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.gps-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;padding:4px 0 6px}
.gps-tile{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;padding:2px;color:var(--ink);font-size:12.5px;font-weight:700;line-height:1.15;text-align:center;cursor:pointer}
.gt-ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:#fff;box-shadow:0 4px 10px rgba(8,26,60,.18),inset 0 -3px 0 rgba(0,0,0,.12)}
.gt-ic svg{width:27px;height:27px;stroke-width:2.2}
.gt-ic b{font-size:14px;font-weight:900;letter-spacing:.3px}
.gps-tile.active .gt-ic{outline:3px solid var(--ink);outline-offset:2px}
.gps-tile:active .gt-ic{transform:scale(.95)}
.gps-weather{display:flex;align-items:center;gap:12px;margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.gps-weather div{flex:1;min-width:0;display:flex;flex-direction:column}
.gps-weather strong{font-size:15px}
.gps-weather span{font-size:13px;color:var(--ink)}
.gps-weather small{font-size:12px;color:var(--muted)}
.gps-weather>b{font-size:30px;font-weight:800;color:var(--ink)}
.gps-wx-ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(160deg,#2f7cf6,#0b3c9e);color:#fff;display:grid;place-items:center}
.gps-wx-ic svg{width:24px;height:24px}
.gps-filter-btn{position:absolute;right:14px;bottom:calc(var(--home-h) + 14px);z-index:560;display:inline-flex;align-items:center;gap:6px;border:0;background:#fff;color:var(--ink);border-radius:12px;padding:10px 13px;font-weight:750;font-size:13px;box-shadow:0 6px 18px rgba(8,26,60,.2)}
.gps-filter-btn svg{width:16px;height:16px;color:var(--blue)}
.gps-filter-btn b{min-width:18px;height:18px;border-radius:9px;background:#fc021e;color:#fff;font-size:11px;display:grid;place-items:center;padding:0 4px}
.gps-page .gps-truck{bottom:calc(var(--home-h) + 14px)}
.gps-page .gps-locate{bottom:calc(var(--home-h) + 66px)}
.gps-page .leaflet-bottom.leaflet-right{bottom:calc(var(--home-h) + 118px)}
.gps-page .leaflet-bottom.leaflet-left{bottom:calc(var(--home-h) + 62px)}
.gps-me-truck span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fff;border:3px solid #0160fc;box-shadow:0 0 0 7px rgba(1,96,252,.18),0 3px 10px rgba(0,0,0,.3)}
.gps-me-truck svg{width:44px;height:22px}
/* ---------- GPS: atajos de la ruta ---------- */
.gps-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px;margin-top:14px;flex:none}
.gps-shortcuts button{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:none;padding:0;color:var(--ink);font-size:11.5px;font-weight:700;line-height:1.15;text-align:center}
.gs-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 3px 8px rgba(8,26,60,.18)}
.gs-ic svg{width:22px;height:22px}
.gps-shortcuts .gps-count{position:absolute;top:-4px;right:calc(50% - 32px);background:#fc021e;color:#fff;min-width:20px;height:20px;font-size:11px}
.gps-alts{display:flex;gap:8px;overflow-x:auto;margin-top:12px;flex:none}
.gps-alt{flex:1 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;text-align:left;color:var(--ink)}
.gps-alt strong{font-size:13px}.gps-alt span{font-size:12px;color:var(--muted)}
.gps-alt.on{border-color:var(--blue);background:#eef4ff}
.gps-wx-dest{margin:10px 0 0;font-size:12.5px;background:#eef7f8;color:#0b4f55;border-radius:10px;padding:8px 10px;flex:none}
/* ---------- filtros y avatar ---------- */
.filter-group{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:12px 0 0}
.filter-group legend{font-weight:800;font-size:13px;padding:0 6px}
.filter-group label{display:inline-flex;align-items:center;gap:6px;margin:6px 14px 2px 0;font-size:14px}
.filter-group input{width:18px;height:18px;accent-color:var(--blue)}
.avatar-pick{margin:12px 0 4px}
.avatar-title{display:block;font-size:12px;font-weight:750;color:var(--muted);margin-bottom:6px}
.avatar-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.avatar-opt{display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:8px 4px;font-size:11px;font-weight:700;color:var(--ink)}
.avatar-opt svg{width:56px;height:28px}
.avatar-opt.on{border-color:var(--blue);background:#eef4ff}
.avatar-colors{display:flex;gap:10px;margin-top:10px}
.avatar-col{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line)}
.avatar-col.on{box-shadow:0 0 0 3px var(--blue)}
/* ---------- cuenta ---------- */
.acc-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eef4ff;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line);overflow:hidden}
.acc-btn svg{width:34px;height:17px}
.account{max-width:640px;margin:0 auto}
.acc-head{display:flex;align-items:center;gap:14px;padding:8px 0 4px}
.acc-avatar{width:76px;height:76px;border-radius:50%;background:linear-gradient(160deg,#eef4ff,#dce8ff);display:grid;place-items:center;border:3px solid #fff;box-shadow:0 4px 14px rgba(8,26,60,.15);flex:none}
.acc-avatar svg{width:62px;height:31px}
.acc-id{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.acc-name{font-size:20px;font-weight:800;border:0;padding:4px 0;background:transparent;box-shadow:none;color:var(--ink)}
.acc-name:focus{box-shadow:inset 0 -2px 0 var(--blue)}
.acc-plan{align-self:flex-start;font-size:11px;font-weight:900;letter-spacing:.8px;padding:4px 10px;border-radius:7px;background:#e7ebf3;color:#45506a}
.acc-plan.trial{background:linear-gradient(90deg,#dff3ff,#e9e2ff);color:#2c3aa8}
.acc-plan.pro{background:linear-gradient(90deg,#081a3c,#0160fc);color:#fff}
.acc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.acc-stats div{display:flex;flex-direction:column;background:var(--soft);border-radius:12px;padding:10px}
.acc-stats b{font-size:20px}.acc-stats span{font-size:12px;color:var(--muted)}
.acc-member{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1.5px solid transparent;border-radius:16px;padding:16px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#4fc3f7,#7c4dff,#ff4081) border-box;color:var(--ink)}
.acc-member div{display:flex;flex-direction:column}.acc-member strong{font-size:17px;color:#2d1a6b}.acc-member span{font-size:13px;color:#4b3c8a;font-weight:650}
.acc-h{font-size:18px;margin:22px 0 8px}
.acc-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.acc-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink);text-decoration:none}
.acc-row:last-child{border-bottom:0}
.acc-row>svg:first-child{width:21px;height:21px;color:var(--ink);flex:none}
.acc-row>svg:last-child{width:17px;height:17px;color:#9aa5b8;flex:none}
.acc-row div{flex:1;display:flex;flex-direction:column;min-width:0}.acc-row strong{font-size:15px}.acc-row span{font-size:12.5px;color:var(--muted)}
.plans{max-width:440px}
.plans-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center}
.plans h2{font-size:24px;margin:2px 0 10px}
.plans-feat{list-style:none;padding:0;margin:0 0 14px}.plans-feat li{display:flex;gap:8px;align-items:center;font-size:14px;margin:6px 0}.plans-feat svg{width:18px;height:18px;color:#0a8f4e}
.plans-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plan-opt input{position:absolute;opacity:0}
.plan-opt span{display:flex;flex-direction:column;gap:2px;border:2px solid var(--line);border-radius:14px;padding:12px;cursor:pointer}
.plan-opt input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.plan-opt strong{font-size:14px}.plan-opt b{font-size:16px}.plan-opt small{font-size:11.5px;color:var(--muted)}
.plans-free{font-size:13px;color:var(--muted);margin:12px 0}
.plans-cta{width:100%;min-height:50px;font-size:16px}
.plans-note{font-size:11.5px;margin-top:10px}
@media(max-width:800px){.gps-home{padding:6px 12px 12px}.gt-ic{width:52px;height:52px}.gps-tile{font-size:11.5px}}

/* ---------- GPS: panel de ruta en 3 tamaños (v40) ---------- */
.gps-sheet{max-height:none;height:auto;overflow:hidden;padding:0 16px calc(10px + env(safe-area-inset-bottom));transition:height .22s ease,max-height .22s ease;touch-action:none}
.gps-sheet[data-size="mid"]{max-height:52%}
.gps-sheet[data-size="full"]{height:86%;max-height:86%}
.gps-sheet[data-mode="along"][data-size="mid"],.gps-sheet[data-mode="steps"][data-size="mid"]{height:54%}
.gps-grab{flex:none;display:flex;justify-content:center;padding:8px 0 6px;cursor:grab;touch-action:none}
.gps-grab .gps-handle{margin:0;width:52px;height:6px}
.gps-sheet-head{flex:none;touch-action:none}
.gps-list-head{display:none;flex:none;align-items:center;gap:10px;padding:2px 0 8px;touch-action:none}
.gps-sheet[data-mode="along"] .gps-list-head,.gps-sheet[data-mode="steps"] .gps-list-head{display:flex}
.gps-sheet[data-mode="along"] .gps-sheet-head,.gps-sheet[data-mode="steps"] .gps-sheet-head{display:none}
.gps-list-head strong{font-size:17px;flex:1;min-width:0}
.gps-list-meta{font-size:12.5px;color:var(--muted);font-weight:650;white-space:nowrap}
.gps-back{display:inline-flex;align-items:center;gap:2px;border:0;background:var(--soft);color:var(--ink);border-radius:999px;padding:7px 12px 7px 6px;font-weight:750;font-size:13px}
.gps-back svg{width:18px;height:18px}
.gps-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.gps-sheet[data-size="mini"] .gps-body{display:none}
.gps-sheet[data-size="mini"] .gps-to{display:none}
.gps-sheet[data-size="mini"] .gps-time{font-size:24px}
.gps-route-part{display:block}
.gps-sheet[data-mode="along"] .gps-route-part,.gps-sheet[data-mode="steps"] .gps-route-part{display:none}
.gps-sheet .gps-along,.gps-sheet .gps-steps{display:none}
.gps-sheet[data-mode="along"] .gps-along{display:block;margin-top:0}
.gps-sheet[data-mode="steps"] .gps-steps{display:block;margin-top:0;overflow:visible}
.gps-along-list{overflow:visible}
.gps-pchips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 8px;margin:0 -16px;padding-left:16px;padding-right:16px;touch-action:pan-x}
.gps-pchips::-webkit-scrollbar{display:none}
.gps-pchip{flex:none;display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:6px 12px 6px 6px;font-size:13px;font-weight:700;white-space:nowrap}
.gps-pchip i,.gps-pchip .pc-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:9.5px;font-weight:900}
.gps-pchip .pc-ic svg{width:15px;height:15px}
.gps-pchip.on{border-color:var(--ink);background:var(--ink);color:#fff}
.gps-note{margin:14px 0 4px;font-size:11px}
.gps-copy-full{display:block;margin-top:6px;white-space:pre-line;font-size:9.5px;line-height:1.35;color:var(--muted)}
.gps-note-btn{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline}
.gps-page{--sheet-h:0px}
.gps-page.route-on .gps-truck{bottom:calc(var(--sheet-h) + 14px)}
.gps-page.route-on .gps-locate{bottom:calc(var(--sheet-h) + 66px)}
.gps-page.route-on .gps-filter-btn{bottom:calc(var(--sheet-h) + 14px)}
.gps-page.route-on .leaflet-bottom.leaflet-right{bottom:calc(var(--sheet-h) + 118px)}
.gps-page.route-on .leaflet-bottom.leaflet-left{bottom:calc(var(--sheet-h) + 62px)}
.gps-page.sheet-full .gps-truck,.gps-page.sheet-full .gps-locate,.gps-page.sheet-full .gps-filter-btn,.gps-page.sheet-full .leaflet-control-container{display:none}
.gps-grab,.gps-sheet-head,.gps-list-head{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* ---------- Mensajes (v41) ---------- */
.msg-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#eef4ff;color:var(--blue);box-shadow:0 0 0 1.5px var(--line)}
.msg-btn svg{width:21px;height:21px}.msg-btn.on{background:var(--blue);color:#fff}
.comm-hub{max-width:640px;margin:0 auto}
.comm-h1{font-size:26px;margin:4px 0 14px}
.comm-list{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.comm-item{display:flex;align-items:center;gap:14px;border:0;background:#fff;padding:14px 14px;text-align:left;color:var(--ink);border-bottom:1px solid var(--line)}
.comm-item:last-child{border-bottom:0}.comm-item:active{background:var(--soft)}
.comm-item>svg{color:#b3bdcf;width:20px;height:20px}
.ci-ic{position:relative;flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center}
.ci-ic svg{width:25px;height:25px}
.ci-ic.wolf{background:linear-gradient(160deg,#0b2a66,#081a3c)}
.ci-ic.wolf img{width:38px;height:38px;object-fit:contain;filter:brightness(1.05)}
.ci-badge{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;border:2.5px solid #fff}
.ci-badge svg{width:13px;height:13px}
.ci-w{width:28px;height:28px;border-radius:50%;background:#0b7a4b;color:#fff;display:grid;place-items:center;font-weight:900;font-size:15px}
.ci-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.ci-tx strong{font-size:16px}.ci-tx small{font-size:13px;color:var(--muted)}
.comm-help{display:flex;gap:8px;align-items:flex-start;font-size:12px;margin:14px 4px}.comm-help svg{color:#0a8f4e;width:16px;height:16px;margin-top:2px}
.comm-panel{position:fixed;left:0;right:0;top:76px;bottom:0;z-index:900;background:#f4f7fc;display:flex;flex-direction:column}
@media(min-width:801px){.comm-panel{left:202px}}
@media(max-width:800px){.comm-panel{top:65px;bottom:calc(65px + env(safe-area-inset-bottom))}}
.comm-head{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line)}
.comm-back{width:40px;height:40px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center;color:var(--ink);flex:none}
.comm-ttl{flex:1;min-width:0;display:flex;flex-direction:column}.comm-ttl strong{font-size:17px}.comm-ttl small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comm-extra{display:flex;align-items:center;gap:6px;flex:none}
.comm-state{height:36px;font-size:13px;font-weight:700;max-width:150px;border-radius:999px;padding:0 26px 0 12px;background-color:var(--soft);border-color:transparent}
.comm-ibtn{width:38px;height:38px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center;color:var(--muted)}
.comm-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 12px 8px;display:flex;flex-direction:column;gap:10px}
.comm-foot{flex:none;background:#fff;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
@media(max-width:800px){.comm-foot{padding-bottom:8px}}
.comm-fine{font-size:11px;color:var(--muted);margin:0 2px 6px;line-height:1.4}
.comm-empty{margin:auto;text-align:center;color:var(--muted);max-width:300px;font-size:14px}
.comm-input{display:flex;align-items:flex-end;gap:8px}
.comm-input textarea{flex:1;min-height:44px;max-height:120px;resize:none;border:1.5px solid var(--line);border-radius:22px;padding:11px 16px;font:inherit;font-size:16px;line-height:1.3;outline:none;background:var(--soft)}
.comm-input textarea:focus{border-color:var(--blue);background:#fff}
.comm-send{width:44px;height:44px;border-radius:50%;border:0;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none}
.comm-send svg{width:20px;height:20px}
.bub{display:flex;align-items:flex-end;gap:8px;max-width:88%}
.bub.me{align-self:flex-end;flex-direction:row-reverse}
.bub-av{flex:none;width:32px;height:32px;border-radius:50%;background:#dbe6fb;color:#0b3c9e;display:grid;place-items:center;font-weight:800;font-size:14px}
.bub-av.wolf{background:#081a3c}.bub-av.wolf img{width:24px;height:24px;object-fit:contain}
.bub-c{background:#fff;border-radius:18px 18px 18px 6px;padding:9px 13px;box-shadow:0 1px 2px rgba(8,26,60,.08);min-width:0}
.bub.me .bub-c{background:var(--blue);color:#fff;border-radius:18px 18px 6px 18px}
.bub-c p{margin:0;color:inherit;font-size:15px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}
.cb-txt p{margin:0 0 6px}.cb-txt p:last-child{margin:0}.cb-txt p.li{padding-left:6px}
.bub.err .bub-c{background:#fff1f0;color:#a3241a}
.bub-meta{display:flex;gap:8px;align-items:baseline;margin-bottom:2px}.bub-meta b{font-size:12.5px}.bub-meta span{font-size:11px;opacity:.65}
.bub.me .bub-meta{justify-content:flex-end}
.bub-more{border:0;background:none;color:#9aa5b8;font-size:20px;line-height:1;padding:4px 6px;align-self:center}
.typing .bub-c{display:flex;gap:4px;padding:14px}
.dots{width:7px;height:7px;border-radius:50%;background:#9aa5b8;animation:cdot 1.2s infinite}
.dots:nth-child(2){animation-delay:.2s}.dots:nth-child(3){animation-delay:.4s}
@keyframes cdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.sugg{display:flex;flex-wrap:wrap;gap:8px;padding-left:40px}
.sugg-b{border:1.5px solid #cfe0ff;background:#fff;color:#0b3c9e;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:650;text-align:left}
.comm-toast{pointer-events:none;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(90px + env(safe-area-inset-bottom));z-index:3000;background:#081a3c;color:#fff;padding:11px 16px;border-radius:14px;font-size:14px;max-width:min(92vw,440px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.comm-toast.bad{background:#a3241a}
.comm-rules ul{margin:6px 0 10px;padding-left:20px;font-size:14px;line-height:1.5}
.comm-agree{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-weight:650;font-size:14px}.comm-agree input{width:22px;height:22px;accent-color:var(--blue)}
.comm-menu h2{font-size:17px;margin-bottom:10px}
.menu-acts{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.menu-b{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-weight:650;color:var(--ink);text-align:left}
.menu-b.danger{color:#b3261e}.menu-b svg{width:18px;height:18px}
.menu-cancel{width:100%}
/* radio CB */
.cb-live{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:9px;font-weight:700;color:var(--muted);margin-bottom:10px}
.cb-live.on{border-color:#0a8f4e;color:#0a8f4e;background:#effaf4}
.cb-ptt{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:20px;padding:14px;background:linear-gradient(160deg,#ff7a1a,#e8470a);color:#fff;font-size:16px;font-weight:800;box-shadow:0 8px 20px rgba(232,71,10,.35);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}
.cb-ptt-ic{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center}
.cb-ptt-ic svg{width:28px;height:28px}
.cb-ptt *,.cb-live *{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.comm-foot,.comm-foot *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.comm-foot textarea,.comm-foot input{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.cb-ptt.arming{opacity:.85}
.cb-dbg{display:none;height:42px;overflow:hidden;flex-direction:column;justify-content:flex-end;margin:6px 2px 0;font-size:11px;line-height:1.3;color:#5a6784;word-break:break-word}
.cb-ptt.rec{background:linear-gradient(160deg,#e53935,#b71c1c);box-shadow:0 0 0 6px rgba(229,57,53,.25),0 8px 20px rgba(183,28,28,.4)}
.cb-ptt.rec .cb-ptt-ic{animation:cpulse 1s infinite}
@keyframes cpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.cb-note{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:9px 10px;box-shadow:0 1px 2px rgba(8,26,60,.08)}
.cb-note.me{background:#eef4ff}
.cb-note.playing{outline:2.5px solid #ff7a1a}
.cb-play{width:42px;height:42px;border-radius:50%;border:0;background:#ff7a1a;color:#fff;display:grid;place-items:center;flex:none}
.cb-play svg{width:18px;height:18px;margin-left:2px}
.cb-tx{display:flex;flex-direction:column;min-width:0;flex:1}.cb-tx b{font-size:14px}.cb-tx span{font-size:12px;color:var(--muted)}
.cb-wave{display:flex;align-items:center;gap:2px;flex:none}.cb-wave i{display:block;width:3px;border-radius:2px;background:#ffb27a}
.cb-note.playing .cb-wave i{background:#ff7a1a;animation:cwave .8s infinite alternate}
.cb-note.playing .cb-wave i:nth-child(odd){animation-delay:.2s}
@keyframes cwave{to{transform:scaleY(.4)}}
/* básculas */
.wg-row{background:#fff;border-radius:16px;padding:12px;box-shadow:0 1px 2px rgba(8,26,60,.08)}
.wg-head{display:flex;align-items:center;gap:10px}
.wg-ic{flex:none;width:40px;height:40px;border-radius:12px;background:#0b7a4b;color:#fff;display:grid;place-items:center;font-weight:900;font-size:12px}
.wg-tx{flex:1;min-width:0;display:flex;flex-direction:column}.wg-tx strong{font-size:14px}.wg-tx small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wg-pill{flex:none;font-size:12px;font-weight:800;border-radius:999px;padding:4px 10px;background:#eef1f6;color:#5a6784}
.wg-pill.open{background:#dff5ea;color:#0b7a4b}.wg-pill.closed{background:#eceff3;color:#3c4659}.wg-pill.monitor{background:#fff3d6;color:#9a6500}
.wg-when{display:block;font-size:12px;color:var(--muted);margin:6px 0 8px 50px}
.wg-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.wg-b{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 4px;font-weight:750;font-size:13px;color:var(--ink)}
.wg-b.open{border-color:#a7e0c3;color:#0b7a4b}.wg-b.closed{color:#3c4659}.wg-b.monitor{border-color:#f3d48a;color:#9a6500}
.wg-acts.sm{margin:6px 0 8px}.wg-acts.sm .wg-b{padding:6px 2px;font-size:12px}
/* alertas */
.al-ok{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;color:#0a8f4e;font-weight:700;text-align:center}.al-ok svg{width:40px;height:40px}
.al-card{background:#fff;border-radius:16px;padding:12px 14px;border-left:6px solid #1d63d8;box-shadow:0 1px 2px rgba(8,26,60,.08)}
.al-card.x{border-color:#7b1fa2}.al-card.s{border-color:#d84315}.al-card.m{border-color:#f2b705}
.al-card summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:2px}.al-card summary::-webkit-details-marker{display:none}
.al-top{display:flex;align-items:center;gap:8px}.al-top b{font-size:15px}
.al-sev{font-size:11px;font-weight:900;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:#e8f0ff;color:#1d63d8}
.al-card.x .al-sev{background:#f3e5f5;color:#7b1fa2}.al-card.s .al-sev{background:#ffe7e3;color:#d84315}.al-card.m .al-sev{background:#fff3d6;color:#9a6500}
.al-card small{font-size:12px;color:var(--muted)}
.al-card p{font-size:13px;color:var(--ink);white-space:pre-wrap;margin:10px 0 0}.al-card .al-ins{font-weight:650}
/* combustible */
.gps-fuelavg{display:flex;align-items:center;gap:12px;margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.fa-ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(160deg,#ff7a45,#e8471f);color:#fff;display:grid;place-items:center;flex:none}.fa-ic svg{width:23px;height:23px}
.fa-tx{flex:1;min-width:0;display:flex;flex-direction:column}.fa-tx strong{font-size:14px}.fa-tx small{font-size:11.5px;color:var(--muted)}
.fa-pr{display:flex;gap:12px}.fa-pr span{display:flex;flex-direction:column;align-items:flex-end}.fa-pr b{font-size:18px;font-weight:800}.fa-pr small{font-size:11px;color:var(--muted)}
.pbox{border-top:1px solid var(--line);margin:4px 0 10px;padding-top:8px}
.pbox-l{color:var(--muted)}
.pbox-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.pbox-p{font-weight:800;font-size:13px;background:#effaf4;color:#0a8f4e;border-radius:7px;padding:2px 7px}.pbox-p.g{background:#eef4ff;color:#1d63d8}
.pbox-row small{margin:0!important}
.pbox-b{width:100%;border:1.5px solid #ffc9b0;background:#fff7f3;color:#c2410c;border-radius:10px;padding:7px;font-weight:750;font-size:13px}
.comm-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
/* gráfico de pago por milla */
.rate-card{border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:22px;background:#fff}
.rc-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.rc-head h2{margin:0}.rc-head small{color:var(--muted);font-size:12px}
.rc-stats{display:flex;gap:16px}.rc-stats span{display:flex;flex-direction:column;align-items:flex-end}
.rc-stats b{font-size:19px;font-weight:800;color:var(--ink)}.rc-stats .cost b{color:#e8710a}.rc-stats .best b{color:#0a8f4e}.rc-stats small{font-size:11px;color:var(--muted)}
.rc-svg{width:100%;height:auto;margin-top:10px;display:block}
.rc-grid{stroke:#e8edf5;stroke-width:1}.rc-axis{font-size:11px;fill:#7a869e}.rc-val{font-size:11px;font-weight:700;fill:#081a3c}
.rc-bar.good{fill:#0a8f4e}.rc-bar.bad{fill:#e5484d}
.rc-cost{fill:none;stroke:#f28c00;stroke-width:2.5;stroke-dasharray:6 4}.rc-dot{fill:#fff;stroke:#f28c00;stroke-width:2.5}
.rc-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-top:6px}
.rc-legend span{display:inline-flex;align-items:center;gap:6px}.rc-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.rc-legend i.good{background:#0a8f4e}.rc-legend i.bad{background:#e5484d}.rc-legend i.cost{height:3px;border-radius:2px;background:#f28c00}
.rate-card .hint{margin:8px 0 0}
.cpin-price.top{position:absolute;left:50%;bottom:31px;transform:translateX(-50%);margin:0;padding:2px 7px;border-radius:8px;background:#0a8f4e;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;border:2px solid #fff;box-shadow:0 2px 6px rgba(8,26,60,.3);line-height:1.2}

html.comm-lock,html.comm-lock body{overflow:hidden;overscroll-behavior:none}
.comm-panel{overscroll-behavior:contain}
.gps-alert{width:100%;max-width:560px;background:#c4001a;color:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 10px 26px rgba(196,0,26,.35);display:flex;flex-direction:column;gap:4px}
.gps-alert.x{background:#7a0012;box-shadow:0 0 0 3px #ffcc00,0 10px 26px rgba(122,0,18,.45)}
.gps-alert .ga-head{display:flex;align-items:center;gap:8px}
.gps-alert .ga-head b{flex:1;font-size:15px;line-height:1.25;font-weight:800}
.gps-alert .ga-head svg{width:22px;height:22px;flex:none}
.gps-alert small{color:#ffe3e6;font-size:12px;line-height:1.35}
.gps-alert .ga-x{border:0;background:rgba(255,255,255,.18);color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none}
.gps-alert .ga-x svg{width:16px;height:16px}
.gps-alert .ga-more{align-self:flex-start;margin-top:4px;border:0;background:#fff;color:#c4001a;font-weight:800;border-radius:10px;padding:7px 12px;font-size:13px}
/* iPhone: la vista web ocupa toda la pantalla (contentInset never); se deja el espacio de la barra de estado */
:root{--sat:env(safe-area-inset-top,0px)}
.header{height:calc(76px + var(--sat));padding-top:var(--sat)}
.navigation{top:calc(76px + var(--sat))}
.results{top:calc(98px + var(--sat))}
.comm-panel{top:calc(76px + var(--sat))}
.gps-page{height:calc(100vh - 76px - var(--sat))}
main{min-height:calc(100vh - 76px - var(--sat))}
.photo-viewer{padding-top:calc(20px + var(--sat))}
.comm-toast{bottom:auto;top:calc(84px + var(--sat))}
@media(max-width:800px){
.header{height:calc(65px + var(--sat));padding-top:var(--sat)}
.navigation{top:auto}
.comm-panel{top:calc(65px + var(--sat))}
.gps-page{height:calc(100dvh - 65px - 65px - env(safe-area-inset-bottom) - var(--sat))}
main{min-height:calc(100dvh - 65px - var(--sat))}
.comm-toast{top:calc(74px + var(--sat))}
}

.acc-delete{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:22px 0 6px;padding:13px;border:1.5px solid #f3c2c8;border-radius:14px;background:#fff;color:#c4001a;font-weight:700}
.acc-delete svg{width:18px;height:18px}
.acc-delete-note{min-height:18px;font-size:12px;text-align:center;margin:0 0 20px}
/* Barra inferior: sin Historial (sigue en Cuenta → Historial de cargas). 6 botones más grandes. */
@media(max-width:800px){.navigation button[data-view="historial"]{display:none!important}.navigation button{width:16.66%;font-size:10.5px;padding:5px 1px}.navigation button svg{width:38px;height:38px}.navigation{height:calc(74px + env(safe-area-inset-bottom))}main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}
@media(max-width:800px){.gps-page{height:calc(100dvh - 65px - 74px - env(safe-area-inset-bottom) - var(--sat,0px))}}

/* Mensajes y Asistente: el panel termina sobre la barra inferior (74px) y se adapta al teclado */
@media(max-width:800px){.comm-panel{bottom:calc(74px + env(safe-area-inset-bottom))}}
html.kb-open .navigation{display:none!important}
html.kb-open .comm-panel{z-index:1100;bottom:auto}
html.kb-open .comm-foot{padding-bottom:8px}
html.kb-open .comm-fine{display:none}
html.comm-lock body{position:fixed;inset:0;width:100%}
.comm-body{overscroll-behavior:contain}
/* Botón del asistente virtual en el encabezado */
.ai-btn{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 10px 0 4px;border-radius:21px;background:#081a3c;color:#fff;text-decoration:none;box-shadow:0 3px 10px rgba(1,96,252,.35);position:relative}
.ai-btn::after{content:'';position:absolute;inset:-2px;border-radius:23px;border:2px solid #0160fc;opacity:.0;animation:aiPulse 3.2s ease-out infinite;pointer-events:none}
.ai-face{width:36px;height:34px;display:grid;place-items:center;background:#fff;border-radius:50%}
.ai-face .cx-char{width:32px;height:30px}
.ai-l{display:flex;flex-direction:column;line-height:1.05}
.ai-l b{font-size:13px;font-weight:900;letter-spacing:.01em}
.ai-l small{font-size:9.5px;font-weight:800;color:#7fb0ff;letter-spacing:.04em}
@keyframes aiPulse{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.18)}}
@media(max-width:430px){.header{padding-left:12px!important;padding-right:10px!important}.header-right{gap:6px!important}.brand-logo{max-width:108px;height:auto!important}#languagePicker{width:50px!important;padding-left:6px;padding-right:2px}.ai-btn{height:40px;padding:0 9px 0 3px;gap:5px}.ai-face{width:33px;height:33px}.ai-face .cx-char{width:29px;height:27px}.ai-l b{font-size:12px}.ai-l small{font-size:9px}.msg-btn,.acc-btn{width:38px;height:38px}}
@media(max-width:380px){.ai-l small{display:none}.brand-logo{max-width:96px}}
@media (prefers-reduced-motion:reduce){.ai-btn::after{animation:none}}

/* Encabezado limpio (28 oct 2026) */
.header-right{gap:10px}
#languagePicker.lang-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.3px;box-shadow:0 0 0 1.5px var(--line)}
#languagePicker.lang-btn:active{transform:scale(.94)}
@media(max-width:800px){.header-right{gap:8px}}
@media(max-width:430px){
 .header{padding-left:14px!important;padding-right:12px!important}
 .header-right{gap:7px!important}
 .brand-logo{max-width:100px!important;height:auto!important}
 #languagePicker.lang-btn{width:36px!important;height:36px;font-size:11px}
 .ai-btn{height:36px;padding:0 12px 0 3px;gap:6px}
 .ai-btn::after{border-radius:21px}
 .ai-face{width:30px;height:30px}
 .ai-face .cx-char{width:27px;height:25px}
 .ai-l b{font-size:12.5px;line-height:1}
 .ai-l small{display:none}
 .msg-btn,.acc-btn{width:36px;height:36px}
 .msg-btn svg{width:19px;height:19px}
}
@media(max-width:360px){.brand-logo{max-width:88px!important}.ai-l{display:none}.ai-btn{padding:0 3px}}

/* Comunidades ES/EN y moderación (28 oct 2026) */
.comm-extra{display:flex;align-items:center;gap:6px}
.comm-lang{display:inline-flex;background:#eef3fc;border-radius:16px;padding:2px}
.comm-lang .cl-b{border:0;background:transparent;color:var(--muted);font-weight:800;font-size:11px;min-width:32px;height:28px;border-radius:14px;padding:0 8px}
.comm-lang .cl-b.on{background:var(--blue);color:#fff}
.comm-extra .comm-state{max-width:118px}
.cb-dbg{display:none!important}
.mod-refresh{border:1px solid var(--line);background:#fff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:var(--ink)}
.mod-stats{font-size:12px;color:var(--muted);margin:4px 0 10px}
.mod-h{font-size:13px;margin:16px 0 8px}
.mod-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}
.mod-card.off{opacity:.75;border-style:dashed}
.mod-top{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.mod-top span{color:var(--muted)}
.mod-text{margin:6px 0;color:var(--ink);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.mod-tags{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.mod-tag{font-size:10px;font-weight:700;padding:3px 7px;border-radius:9px;background:#eef3fc;color:#40507a}
.mod-tag.warn{background:#fff3e0;color:#9a4d00}
.mod-tag.bad{background:#fde7ea;color:var(--red)}
.mod-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.mod-b{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:650;color:var(--ink)}
.mod-b svg{width:15px;height:15px}
.mod-b.danger{color:var(--red);border-color:#f3c4cb}
@media(max-width:430px){.comm-extra .comm-state{max-width:92px;font-size:13px}.comm-lang .cl-b{min-width:28px;padding:0 6px}}
.comm-extra .comm-state{max-width:108px!important;font-size:13px;padding-left:8px;padding-right:20px}
