:root{--verde: #0B6E4F;--verde-oscuro: #073F2C;--asfalto: #1C1F22;--concreto: #F3F1EC;--ambar: #F5A623;--guardarrail: #8A8F94;--borde: #DEDBD3;--bg: var(--concreto);--text: var(--asfalto);--card: #FFFFFF;--card-border: var(--borde);--muted: #5B6066;--error: #B42318}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #14171A;--text: #EDEBE6;--card: #1D2124;--card-border: #2C3034;--muted: #A7ACB1;--concreto: #14171A;--error: #F97066}}:root[data-theme=dark]{--bg: #14171A;--text: #EDEBE6;--card: #1D2124;--card-border: #2C3034;--muted: #A7ACB1;--error: #F97066}*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}html,body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:IBM Plex Sans,Arial,sans-serif}body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}h1,h2,.display{font-family:Big Shoulders Display,Arial Narrow,sans-serif;font-weight:700;letter-spacing:.01em;line-height:1.02}.app{max-width:560px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:20px 16px 28px}header.brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}header.brand .word{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:26px;color:var(--verde);text-decoration:none}header.brand .tag{font-size:12.5px;color:var(--muted);text-align:right;max-width:150px}.route{margin-bottom:26px}.route-track{position:relative;height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--card-border) 0 10px,transparent 10px 18px)}.route-fill{position:absolute;top:0;left:0;height:6px;border-radius:3px;background:var(--verde);transition:width .35s ease}.route-marker{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:18px;transition:left .35s ease}.route-caption{margin-top:10px;font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between}main{flex:1}.step-eyebrow{color:var(--verde);font-size:13px;font-weight:600;margin-bottom:4px}.step-title{font-size:28px;margin:0 0 6px}.step-help{color:var(--muted);font-size:14.5px;margin:0 0 22px;max-width:46ch}.field{margin-bottom:18px}.field label,.field .label-text{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field input[type=date],.field input[type=time],.field select{width:100%;padding:12px 13px;font-size:16px;font-family:inherit;color:var(--text);background:var(--card);border:1.5px solid var(--card-border);border-radius:8px}.field input:focus,.field select:focus{outline:none;border-color:var(--verde)}.field.invalid input{border-color:var(--error)}.field-error{font-size:12.5px;color:var(--error);margin-top:5px}.hint{font-size:12px;color:var(--muted);margin-top:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-title{font-size:15px;font-weight:600;margin:26px 0 12px}.radio-row{display:flex;gap:10px}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.option-card{border:1.5px solid var(--card-border);background:var(--card);color:var(--text);border-radius:8px;padding:13px 12px;cursor:pointer;font:inherit;font-size:14.5px;font-weight:500;text-align:left}.option-card.selected{border-color:var(--verde);box-shadow:inset 0 0 0 1.5px var(--verde);background:color-mix(in srgb,var(--verde) 8%,var(--card))}.option-card.otra{border-style:dashed}.check-row{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px solid var(--card-border);cursor:pointer}.check-row:last-of-type{border-bottom:none}.check-row input{margin-top:3px;width:17px;height:17px;accent-color:var(--verde);flex-shrink:0}.check-row .label{font-size:14.5px;font-weight:500}.check-row .sub{font-size:12.5px;color:var(--muted)}.check-row.disabled{opacity:.75;cursor:default}.badge{display:inline-block;font-size:11.5px;font-weight:600;color:var(--verde-oscuro);background:color-mix(in srgb,var(--ambar) 30%,transparent);padding:3px 9px;border-radius:999px;margin-bottom:14px}.quote-card{border:1.5px solid var(--card-border);border-radius:12px;padding:14px 18px 6px;background:var(--card);margin-bottom:18px}.quote-card h3{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0}.quote-row{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--card-border)}.quote-row>span:last-child{text-align:right}.quote-row:last-child{border-bottom:none}.quote-row .muted{color:var(--muted)}.quote-row.ahorro>span:last-child{color:var(--verde);font-weight:600}.quote-row.total{border-bottom:none;border-top:2px solid var(--text);margin-top:4px;padding:14px 0 12px;align-items:baseline}.quote-row.total .monto{font-family:Big Shoulders Display,sans-serif;font-size:34px;font-weight:800;color:var(--verde)}.notice{background:color-mix(in srgb,var(--ambar) 16%,var(--card));border:1px solid color-mix(in srgb,var(--ambar) 55%,var(--card-border));border-radius:10px;padding:12px 14px;font-size:13.5px;margin-bottom:14px;color:var(--text)}.notice p{margin:0 0 6px}.notice p:last-child{margin-bottom:0}.notice strong{color:var(--verde-oscuro)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .notice strong{color:var(--ambar)}}.notice.error{background:color-mix(in srgb,var(--error) 10%,var(--card));border-color:color-mix(in srgb,var(--error) 50%,var(--card-border))}.legal{font-size:12.5px;color:var(--muted);margin:0 0 6px}footer.nav{display:flex;gap:10px;margin-top:22px;padding-top:8px}button,.button{font-family:inherit;font-size:15px;font-weight:600;border-radius:9px;padding:14px 18px;border:none;cursor:pointer;text-align:center;text-decoration:none;display:inline-block}button.primary,.button.primary{flex:1;background:var(--verde);color:#fff}button.primary:disabled{background:var(--guardarrail);cursor:not-allowed}button.ghost,.button.ghost{background:transparent;color:var(--text);border:1.5px solid var(--card-border)}.final-icon{font-size:40px;margin-bottom:8px}.text-link{color:var(--verde);font-size:14px}.loading{color:var(--muted);padding:24px 0}.admin-bar{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.tabs{display:flex;gap:8px;margin-bottom:16px}button.tab{flex:1;background:var(--card);color:var(--text);border:1.5px solid var(--card-border)}button.tab.selected{border-color:var(--verde);box-shadow:inset 0 0 0 1.5px var(--verde)}a.admin-row{display:block;padding:13px 14px;margin-bottom:10px;border:1.5px solid var(--card-border);border-radius:10px;background:var(--card);color:var(--text);text-decoration:none;font-size:14px;line-height:1.5}a.admin-row:hover{border-color:var(--verde)}.admin-row-top{display:flex;justify-content:space-between;gap:10px}.admin-row .muted,.admin .muted{color:var(--muted)}.admin-row .pendiente{color:var(--verde-oscuro);background:color-mix(in srgb,var(--ambar) 30%,transparent);border-radius:6px;padding:1px 6px;display:inline-block}.admin .quote-row>span:last-child{text-align:right;overflow-wrap:anywhere}.admin-acciones{display:flex;flex-direction:column;gap:10px;padding:14px 0 12px}.admin-acciones button:disabled{opacity:.55;cursor:not-allowed}.link-generado{margin-top:18px}.link-generado input[type=text]{width:100%;padding:11px 12px;font-size:13.5px;font-family:inherit;color:var(--text);background:var(--bg);border:1.5px solid var(--card-border);border-radius:8px}.admin-acciones a.button{display:block;text-align:center;text-decoration:none;font-weight:600;font-size:15px;border-radius:9px;padding:14px 18px}
