:root{--azul:#2563eb;--azul2:#1d4ed8;--verde:#16a34a;--texto:#172033;--suave:#64748b;--borde:#dbe3ef;--fondo:#f4f7fb;--rojo:#dc2626}
*{box-sizing:border-box}body{margin:0;background:var(--fondo);color:var(--texto);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}.oculto{display:none!important}
.encabezado{display:flex;align-items:center;justify-content:space-between;padding:13px max(16px,calc((100% - 760px)/2));background:#fff;border-bottom:1px solid var(--borde)}
.marca{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.marca>span{font-size:34px}.marca strong,.marca small{display:block}.marca small{color:var(--suave);font-size:12px}.volver{color:var(--azul);font-size:13px;font-weight:750;text-decoration:none}
.contenedor{width:min(calc(100% - 26px),760px);margin:0 auto;padding:30px 0 55px}.tarjeta{padding:clamp(20px,5vw,34px);background:#fff;border:1px solid var(--borde);border-radius:22px;box-shadow:0 16px 45px rgba(15,23,42,.08)}
.titulo{display:flex;align-items:center;gap:13px;margin-bottom:24px}.titulo>span{font-size:38px}.titulo h1{margin:0;font-size:clamp(24px,6vw,32px)}.titulo p{margin:4px 0 0;color:var(--suave)}
fieldset{margin:0 0 20px;padding:18px;border:1px solid var(--borde);border-radius:16px}legend{padding:0 7px;color:var(--azul2);font-weight:850}label{display:block;margin:12px 0 6px;font-weight:750}input:not([type=checkbox]),textarea,select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;outline:none}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--azul);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.boton{width:100%;min-height:50px;padding:12px 16px;border:0;border-radius:12px;font-weight:850;cursor:pointer}.boton:disabled{opacity:.6;cursor:wait}.boton-principal{background:var(--azul);color:#fff}.boton-secundario{background:#eff6ff;color:var(--azul2);border:1px solid #bfdbfe}.boton-whatsapp{margin-top:15px;background:#16a34a;color:#fff}
.aviso{margin:9px 0;color:var(--suave);font-size:13px}.aviso.correcto{color:#15803d;font-weight:700}.aviso.error{color:var(--rojo);font-weight:700}.mapa{height:230px;margin-top:12px;border-radius:14px;overflow:hidden}
.archivo{position:absolute;width:1px!important;height:1px;opacity:0}.captura{display:flex;flex-direction:column;align-items:center;margin-top:18px;padding:20px;border:2px dashed #93c5fd;border-radius:15px;background:#eff6ff;color:#1e40af;text-align:center;cursor:pointer}.captura>span{font-size:35px}.captura small{margin-top:4px;color:var(--suave);font-weight:500}.foto-previa{display:block;width:min(100%,300px);max-height:300px;margin:13px auto 0;object-fit:cover;border-radius:15px;border:1px solid var(--borde)}
.consentimiento{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;line-height:1.45}.consentimiento input{flex:0 0 auto;width:19px;height:19px;margin-top:1px}.restricciones{margin:0 0 18px;padding:13px;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;color:#9a3412;font-size:12px}
.estado{padding:20px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;text-align:center}.estado small,.estado strong,.estado span{display:block}.estado small{color:var(--suave);text-transform:uppercase;font-size:11px;font-weight:800}.estado strong{margin:5px 0;color:var(--azul2);font-size:21px}.estado span{color:var(--suave);font-size:12px}
.taxista,.estimacion,.codigos{margin-top:15px;padding:17px;border:1px solid var(--borde);border-radius:15px}.taxista{background:#f8fafc}.estimacion{background:#ecfeff;color:#155e75;font-weight:750}.codigos{background:#fffbeb;border-color:#fde68a}.codigos h2{margin:0 0 12px;font-size:17px}.codigos>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.codigos span{padding:12px;background:#fff;border-radius:11px;text-align:center}.codigos small,.codigos strong{display:block}.codigos small{color:var(--suave)}.codigos strong{font-size:27px;letter-spacing:4px}.codigos p{margin:10px 0 0;color:#92400e;font-size:12px}.enlace{display:block;margin:17px auto 0;border:0;background:none;color:var(--azul);font-weight:750;cursor:pointer}
.notificacion{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);max-width:calc(100% - 30px);padding:12px 17px;background:#172033;color:#fff;border-radius:11px;box-shadow:0 12px 35px rgba(15,23,42,.3);z-index:1000}
@media(max-width:520px){.volver{font-size:11px}.tarjeta{padding:19px}.codigos strong{font-size:23px}.codigos>div{gap:7px}}
