:root{--azul:#0B2447;--naranja:#F26A1B;--celeste:#00AFEF;--fondo:#eef2f7;--texto:#1b2433;--gris:#59647a;--borde:#cfd6e2}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.cab{background:var(--azul);color:#fff;padding:18px 16px;text-align:center}
.marca{font-size:28px;font-weight:800;letter-spacing:.02em}.marca span{color:var(--naranja)}
.sub{opacity:.8;font-size:14px}
.caja{max-width:560px;margin:20px auto;background:#fff;border-radius:12px;padding:22px 18px;box-shadow:0 2px 10px rgba(11,36,71,.08)}
h1{color:var(--azul);font-size:24px;margin:0 0 6px}
.intro{color:var(--gris);margin:0 0 16px}
label{display:block;font-weight:600;margin:12px 0 0;font-size:15px}
label small{font-weight:400;color:var(--gris)}
input,select{display:block;width:100%;margin-top:5px;padding:12px;border:1px solid var(--borde);border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus{outline:2px solid var(--celeste);border-color:var(--celeste)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.check input{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0}
.btn{display:block;width:100%;margin-top:18px;padding:15px;border:0;border-radius:10px;background:var(--naranja);color:#fff;font-family:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer}
.btn:disabled{opacity:.6}
.btn.grande{font-size:22px;padding:20px;letter-spacing:.05em}
.nota{color:var(--gris);font-size:14px;text-align:center;margin:10px 0 0}
.error{background:#fdecea;color:#8a1c12;border-radius:8px;padding:10px 12px;margin:10px 0}
.bien{background:#e7f6ec;color:#185c2c;border-radius:8px;padding:10px 12px;margin:10px 0}
.aviso-prueba{background:#fff4e5;color:#7a4300;border-radius:8px;padding:8px 12px;margin:0 0 14px;font-size:14px}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rnc-res{font-size:14px;color:var(--gris);min-height:1.2em;margin-top:4px}.rnc-res.si{color:#185c2c}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cod{font-size:24px;letter-spacing:.3em;text-align:center}
.envio{font-size:14px;padding:6px 10px;border-radius:6px;margin:4px 0;background:#f4f6fa;color:var(--gris)}
.envio.enviado{background:#e7f6ec;color:#185c2c}.envio.fallido,.envio.bloqueado{background:#fdecea;color:#8a1c12}
.terminos{max-height:260px;overflow:auto;border:1px solid var(--borde);border-radius:8px;padding:4px 14px;margin:16px 0 8px;font-size:14px;background:#fafbfd}
.terminos h3{color:var(--azul);font-size:16px}
.terminos li{margin:0 0 8px}
.reenviar{text-align:center;margin-top:10px}
.enlace{background:none;border:0;color:var(--azul);text-decoration:underline;font-family:inherit;font-size:15px;cursor:pointer;padding:8px}
.hecho{width:64px;height:64px;border-radius:50%;background:#e7f6ec;color:#185c2c;font-size:36px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.pasos li{margin:6px 0}
.pie{text-align:center;color:var(--gris);font-size:12px;padding:10px 16px 24px}
@media (max-width:420px){.dos{grid-template-columns:1fr}.caja{margin:12px;padding:18px 14px}}
.hecho.sobre{background:#fff4e5;color:#7a4300}
a.btn{text-align:center;text-decoration:none}
.plan{border:2px solid var(--naranja);border-radius:12px;padding:16px;margin:14px 0}
.plan h2{margin:0;color:var(--azul);font-size:20px}.plan .precio{font-size:30px;font-weight:800;color:var(--azul);margin:6px 0}
.plan .precio small{font-size:15px;font-weight:400;color:var(--gris)}
#paypal-boton{margin-top:14px;min-height:50px}
.pasos-vivo li{margin:8px 0;color:var(--gris)}.pasos-vivo li.hecho-si{color:#185c2c;font-weight:600}.pasos-vivo li.ahora{color:var(--azul);font-weight:600}
.canal{background:#e8f0fe;color:#1f3d7a;border-radius:8px;padding:12px 14px;margin:10px 0;font-size:15px;line-height:1.45}
/* App fase 2: pago por adelantado y pago automático */
.enlace-boton{background:none;border:0;color:var(--gris);text-decoration:underline;font:inherit;font-size:14px;cursor:pointer;margin-top:12px;padding:0}
.opciones-adelanto{display:grid;gap:10px;margin:12px 0}
.plan.opcion{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;margin:0;cursor:pointer;border-color:var(--borde)}
.plan.opcion:has(input:checked){border-color:var(--naranja);background:#fff7f1}
.plan.opcion input{width:20px;height:20px;margin:0;grid-row:span 2}
.plan.opcion .precio{grid-column:2;font-weight:700;color:var(--azul)}
.plan.opcion .desc{color:#17784a;font-weight:600;font-size:14px}
#paypal-adelanto{margin-top:12px}
.terminos{margin:12px 0;font-size:14px}.terminos summary{cursor:pointer;color:var(--azul);font-weight:600}
/* CLINIXPERT (registro.clinixpert.cloud): los mismos componentes con los colores de la marca de salud */
body.cx{--azul:#0E3B30;--naranja:#0F6E56;--celeste:#7AB648;--fondo:#F4F6F5;--texto:#10201B;--gris:#52615C;--borde:#D5DEDA}
body.cx .marca span{color:#7AB648}
