:root{
  --bg:#f4f7f4;--card:#fff;--ink:#132019;--muted:#5d6c63;--line:#d8e2db;
  --green:#0d7550;--green-dark:#075b3d;--green-soft:#e9f4ee;
  --red:#b42318;--red-dark:#8f1b13;--red-soft:#fff0ee;
  --amber:#8a5a00;--amber-soft:#fff4df;--focus:#75b997;
  --shadow:0 10px 34px rgba(18,61,39,.07)
}
*{box-sizing:border-box}
html{background:var(--bg);font-size:16px}
body{margin:0;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
a{color:var(--green-dark);font-weight:750}
.shell{width:min(100%,760px);margin:auto;padding:16px 14px calc(90px + env(safe-area-inset-bottom))}
.brand{display:flex;align-items:center;gap:11px;padding:5px 2px 13px}
.mark{width:44px;height:44px;border-radius:13px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;flex:none}
.brand strong{display:block;font-size:20px;line-height:1.05}.brand span{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.screen{display:none}.screen.active{display:block}
.hero{padding:18px 1px 6px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.1em;color:var(--green);margin:8px 0}.urgent-label{color:var(--red)}
h1{font-size:clamp(34px,7vw,51px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 14px}h2{font-size:clamp(28px,6vw,36px);line-height:1.08;letter-spacing:-.025em;margin:7px 0 10px}h3{font-size:19px;line-height:1.18;margin:0 0 12px}
.lead{font-size:18px;color:#34433a;margin:0;max-width:680px}.sub{color:var(--muted);font-size:16px;margin:0 0 18px}
.mission,.warning,.last-case,.legal-compact,.mail-status{border-radius:16px;padding:15px 16px;margin:15px 0;border:1px solid var(--line);background:#fff}
.mission{box-shadow:var(--shadow)}.mission strong{color:var(--green-dark);font-size:17px}.mission p{margin:6px 0 0;color:#3f4d45;font-size:14px}
.warning{background:var(--amber-soft);border-color:#ead49f;color:#664700;font-size:14px}.last-case{background:var(--green-soft);border-color:#c8dfd2}.last-case span{display:block;color:var(--muted);font-size:12px}.last-case b{display:block;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.landing-actions{display:grid;gap:11px;margin:18px 0}.action{width:100%;min-height:88px;border:0;border-radius:18px;padding:17px;display:flex;gap:14px;align-items:center;text-align:left;color:#fff;text-decoration:none;box-shadow:var(--shadow);cursor:pointer}.action-emergency{background:var(--red)}.action-help{background:var(--green)}.action-icon{font-size:30px;line-height:1}.action b{font-size:18px}.action small{display:block;font-weight:550;line-height:1.35;margin-top:4px;opacity:.96}
.back-link{border:0;background:transparent;padding:10px 0 14px;color:var(--green-dark);font-weight:800;cursor:pointer;min-height:44px}
.triage-grid{display:grid;gap:11px}.triage-card{width:100%;border:2px solid var(--line);background:#fff;border-radius:18px;min-height:94px;padding:17px;display:grid;grid-template-columns:42px 1fr;column-gap:10px;text-align:left;cursor:pointer;box-shadow:var(--shadow);align-items:center}.triage-card>span{font-size:29px;grid-row:1/3}.triage-card b{font-size:18px;line-height:1.15}.triage-card small{font-size:14px;color:var(--muted);line-height:1.35;margin-top:4px}.triage-card.danger{border-color:#e7b7b1;background:#fffafa}.triage-card.danger b{color:var(--red-dark)}.triage-card.calm{margin-top:14px;border-color:#bfd8ca;background:var(--green-soft)}.triage-card.calm b{color:var(--green-dark)}
.urgent-header{background:var(--red-soft);border:1px solid #edc7c2;border-radius:18px;padding:16px;margin-bottom:14px}.urgent-header p:last-child{margin:4px 0 0;color:#684039}
.field-card{display:grid;grid-template-columns:38px 1fr;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin:12px 0;box-shadow:var(--shadow)}.compact-card{margin-top:14px}.section-number{width:34px;height:34px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:900}.section-body{min-width:0}
label{display:block;font-weight:750;font-size:14px;margin:12px 0 0}label>span:not(.optional){color:var(--red)}.optional{font-weight:500;color:var(--muted);font-size:12px}
input,select,textarea{width:100%;border:1.5px solid #cfdad2;background:#fff;color:var(--ink);border-radius:12px;padding:13px 14px;margin-top:6px;min-height:50px}textarea{resize:vertical;min-height:78px}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--green)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gps-button{width:100%;min-height:58px;border:2px solid var(--green);background:var(--green-soft);color:var(--green-dark);font-weight:900;border-radius:14px;padding:13px;cursor:pointer}.gps-button.is-ok{background:var(--green);color:#fff}.gps-button.is-bad{background:var(--amber-soft);border-color:#d7b362;color:#6d4c00}.gps-result{font-size:12px;color:var(--muted);min-height:6px;margin-top:5px}
.count-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:8px 0}.count-buttons button,.single-choice button{min-height:52px;border:1.5px solid #cfdad2;background:#fff;border-radius:12px;color:var(--ink);font-weight:850;cursor:pointer}.count-buttons button.selected,.single-choice button.selected{background:var(--green);color:#fff;border-color:var(--green)}.more-count{margin-top:8px}.micro{font-size:12px;color:var(--muted);margin:7px 0}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.need-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.need-option{margin:0;position:relative}.need-option input{position:absolute;opacity:0;width:1px;height:1px}.need-option span{min-height:72px;border:1.5px solid #cfdad2;border-radius:15px;background:#fff;display:flex;align-items:center;gap:9px;padding:13px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow)}.need-option input:checked+span{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.need-option span b{font-size:15px}.progressive{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:10px 0}.chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chip-grid label{margin:0;position:relative}.chip-grid input{position:absolute;opacity:0;width:1px;height:1px}.chip-grid span{min-height:50px;border:1.5px solid #cfdad2;border-radius:12px;padding:11px;display:flex;align-items:center;color:var(--ink);cursor:pointer}.chip-grid input:checked+span{background:var(--green-soft);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.single-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wide-field{font-size:14px;margin:14px 0}
.existing-case{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin:13px 0}.existing-case summary{font-weight:800;cursor:pointer;min-height:28px}
.legal-compact{background:#f8faf8;font-size:13px;color:#445148}.legal-compact p{margin:4px 0 10px}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:650}.consent input{width:24px;height:24px;min-height:24px;flex:none;margin:0}.consent span{color:var(--ink)!important}
.primary,.secondary{width:100%;min-height:56px;border-radius:14px;padding:13px 16px;font-weight:900;cursor:pointer}.primary{border:0;background:var(--green);color:#fff}.danger-submit{background:var(--red)}.secondary{background:#fff;color:var(--ink);border:1.5px solid var(--line);margin-top:9px}.primary:disabled,.secondary:disabled{opacity:.55;cursor:default}.form-error{color:var(--red);font-weight:750;font-size:14px;min-height:10px;margin:10px 0}
.status-screen{text-align:center;padding:38px 8px}.status-screen p{max-width:560px;margin:9px auto 16px}.spinner{width:46px;height:46px;border:5px solid #dce7df;border-top-color:var(--green);border-radius:50%;margin:10px auto 18px;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:8px auto 16px;font-size:30px;font-weight:900}.status-icon.green{background:var(--green-soft);color:var(--green)}.status-icon.amber{background:var(--amber-soft);color:var(--amber)}.case-label{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.folio{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(20px,5vw,28px);font-weight:900;background:#eef4ef;border:1px solid #cfe0d4;border-radius:13px;padding:12px;margin:6px auto 10px;display:inline-block}.mail-status{font-size:14px;text-align:left}.mail-status.ok{background:var(--green-soft);border-color:#bdd9c9}.mail-status.bad{background:var(--amber-soft);border-color:#ead49f}
.connection{position:sticky;top:0;z-index:50;text-align:center;font-size:13px;font-weight:800}.connection.show{padding:9px 12px;background:var(--amber-soft);border-bottom:1px solid #e1c988}.connection.good{background:var(--green);color:#fff}.footer{margin-top:34px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
@media(max-width:620px){.shell{padding:11px 11px calc(80px + env(safe-area-inset-bottom))}.brand strong{font-size:18px}.brand span{font-size:11px}h1{font-size:36px}.lead{font-size:17px}.two-col,.need-grid,.chip-grid,.single-choice{grid-template-columns:1fr}.field-card{grid-template-columns:32px 1fr;padding:13px 12px}.section-number{width:30px;height:30px}.count-buttons{gap:5px}.count-buttons button{min-height:50px;padding:8px}.action{min-height:82px;padding:15px}.triage-card{min-height:90px;padding:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.spinner{animation:none}}

/* V6.6.1 · controles críticos más visibles */
.prominent-back{
  width:100%;min-height:52px;margin:0 0 14px;padding:12px 16px;
  border:2px solid #0d7550;border-radius:14px;background:#fff;color:#0b5d40;
  text-align:left;font-size:14px;letter-spacing:.01em;box-shadow:0 1px 0 rgba(0,0,0,.04)
}
.prominent-back:focus,.prominent-back:hover{background:#eef8f3}
.prominent-existing{
  margin:16px 0;border:2px solid #0d7550;border-radius:14px;background:#f4fbf7;overflow:hidden
}
.prominent-existing summary{
  cursor:pointer;list-style:none;padding:15px 16px;font-weight:900;color:#0b5d40;font-size:14px;min-height:52px;display:flex;align-items:center
}
.prominent-existing summary::-webkit-details-marker{display:none}
.prominent-existing[open] summary{border-bottom:1px solid #cfe3d9;background:#eaf6ef}
.prominent-existing>p,.prominent-existing>label{margin-left:16px;margin-right:16px}.prominent-existing>label{margin-bottom:16px}
.legal-strong{border:2px solid #b78a2f;background:#fff8e8;border-radius:14px;padding:16px;margin-top:16px}
.legal-strong h3{margin:0 0 8px;font-size:15px;color:#6a4a00}
.policy-link{display:inline-block;font-weight:900;text-decoration:underline;text-underline-offset:3px;color:#0b5d40;padding:4px 0}
.legal-strong .consent{background:#fff;border:1px solid #d9c89e;border-radius:12px;padding:12px;margin:10px 0}
.legal-strong .consent input{accent-color:#0d7550}

/* V6.6.2 · consentimiento visible antes de enviar */
.consent-required{border:3px solid #d79a25!important;background:#fff8e8!important;padding:16px!important;border-radius:16px!important;margin:18px 0 12px!important;box-shadow:0 3px 12px rgba(82,60,10,.08)}
.consent-kicker{display:inline-block;background:#6b4700;color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em;padding:5px 9px;border-radius:999px;margin-bottom:7px}
.consent-required h3{margin:2px 0 6px;font-size:18px;color:#2b2416}
.consent-required .consent{border:2px solid #b77a00!important;background:#fff!important;padding:14px!important;border-radius:13px!important;font-size:15px!important;line-height:1.35}
.consent-required .consent input{width:28px!important;height:28px!important;min-height:28px!important;accent-color:#0d7550}
.consent-required .policy-link{font-size:14px}
.consent-required:has(input:focus-visible){outline:3px solid #0d7550;outline-offset:2px}

/* V6.6.4 · portada unificada */
.home-hero{display:block;padding:10px 1px 8px}
.home-title{margin:0;letter-spacing:-.025em;max-width:100%}
.home-title-main{display:block;white-space:nowrap;font-size:clamp(36px,5vw,46px);line-height:1.02;font-weight:950;color:var(--ink)}
.home-title-sub{display:block;white-space:nowrap;margin-top:7px;font-size:clamp(23px,3.2vw,29px);line-height:1.08;font-weight:900;color:var(--green-dark);letter-spacing:-.015em}
.home-mission{margin-top:18px}
.choice-heading{margin:20px 0 10px;font-size:14px;line-height:1.2;font-weight:900;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.home-warning{line-height:1.45}
@media(max-width:620px){.home-title-main{font-size:clamp(27px,8.2vw,34px)}.home-title-sub{font-size:clamp(17px,5.2vw,21px);margin-top:6px}.choice-heading{font-size:12px;letter-spacing:.01em;margin-top:18px}}
@media(max-width:380px){.home-title-main{font-size:26px}.home-title-sub{font-size:16px}.choice-heading{font-size:11px}}

.responsibility-warning{margin:12px 0 0;padding:14px 16px;border:1px solid #e6b8b3;border-left:5px solid var(--red);border-radius:14px;background:#fff4f2;color:#68251f;font-size:13px;line-height:1.48}
.responsibility-warning b{display:block;margin-bottom:4px;color:#8a2119;font-size:14px}

/* V6.6.8 · corrección robusta de portada */
.home-title-main{display:block!important;white-space:nowrap!important;font-size:clamp(34px,5vw,46px)!important;line-height:1.02!important;font-weight:900!important;letter-spacing:-.025em!important}
.home-title-sub{display:block!important;white-space:nowrap!important;margin-top:8px!important;font-size:clamp(22px,3.1vw,28px)!important;line-height:1.08!important;font-weight:800!important;letter-spacing:-.015em!important;color:#075b3d!important}
.choice-heading{display:block!important;margin:20px 0 10px!important;font-size:14px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.02em!important;white-space:nowrap!important}
@media(max-width:620px){.home-title-main{font-size:clamp(26px,8vw,34px)!important}.home-title-sub{font-size:clamp(16px,5.1vw,21px)!important}.choice-heading{font-size:clamp(11px,3.3vw,13px)!important}}

/* V6.6.9 · navegación visible dentro de cada ruta de reporte */
.report-navigation{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:2px 0 18px}
.report-nav-button{min-height:48px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--green-dark);font-weight:900;font-size:13px;padding:10px 12px;cursor:pointer}
.report-nav-primary{background:var(--green-soft);border-color:#a9ccb9}
.report-nav-button:hover,.report-nav-button:focus{outline:3px solid rgba(13,117,80,.16);outline-offset:1px}
@media(max-width:430px){.report-navigation{grid-template-columns:1fr}.report-nav-button{min-height:46px}}

/* V6.7.0 · Acceso a zonas rurales y remotas */
.rural-access{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#d9e2db)}
.rural-access h4{margin:0 0 4px;font-size:16px}.rural-access h4>span{color:#b42318}
.rural-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.rural-type button{min-height:52px;text-align:left}
.rural-type button.selected{background:#0d7550;color:#fff;border-color:#0d7550}
.rural-details{margin-top:12px;padding:12px;border:1px solid #c7dfd0;background:#f7fbf8;border-radius:12px}
.rural-details[hidden]{display:none}
@media(max-width:620px){.rural-type{grid-template-columns:1fr}}
