:root { --tinta:#16283F; --gris:#6B7280; --borde:#D8D2C4; --error:#B42318; --sol:#E8912D; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:#fff; color:var(--tinta); font:16px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
main { max-width:480px; margin:0 auto; padding:0 0 40px; }
label { display:block; margin:14px 0 4px; font-weight:600; font-size:15px; }
small { display:block; color:var(--gris); font-weight:400; font-size:13px; margin-top:2px; }
input, select { width:100%; padding:14px; font-size:17px; border:1px solid var(--borde); border-radius:10px; background:#fff; color:var(--tinta); }
input:focus, select:focus { outline:2px solid var(--sol); border-color:var(--sol); }
.dos { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.foto { display:block; padding:18px; text-align:center; border:2px dashed var(--sol); border-radius:10px; background:#fff; font-weight:600; cursor:pointer; margin-top:6px; }
.foto input { display:none; }
.foto small { margin-top:4px; }
img.recibo { width:100%; border-radius:8px; margin-top:10px; border:1px solid var(--borde); }
.o { text-align:center; color:var(--gris); font-size:14px; margin:12px 0 2px; }
.quitar { width:100%; min-height:44px; margin-top:8px; background:#fff; color:var(--error); border:1px solid var(--error); border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; }
.liga { background:none; border:0; padding:0; font:inherit; color:inherit; text-decoration:underline; cursor:pointer; }
.fino { font-size:12.5px; line-height:1.45; color:var(--gris); margin:12px 0 0; text-align:center; }
.fino a { color:inherit; }
.pie { padding:0 22px; }
#capa { position:fixed; inset:0; z-index:9; background:rgba(22,40,63,.55); display:flex; align-items:flex-end; justify-content:center; }
#hoja { background:#fff; width:100%; max-width:560px; max-height:86vh; overflow:auto; border-radius:16px 16px 0 0; padding:18px 18px 28px; }
#hoja .cerrar { float:right; min-width:44px; min-height:44px; background:none; border:0; font-size:22px; color:var(--tinta); cursor:pointer; }
#hoja h1 { font-size:18px; margin:8px 0 4px; }
.hero { background:linear-gradient(160deg,#16283F 0%,#1F3C5C 70%,#2B5275 100%); color:#fff; padding:26px 22px 24px; position:relative; overflow:hidden; }
.hero::after { content:""; position:absolute; right:-52px; top:-52px; width:170px; height:170px; border-radius:50%; background:radial-gradient(circle,#F7B55C 0%,#E8912D 58%,rgba(232,145,45,0) 72%); }
.marca { font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.9; position:relative; z-index:1; }
.hero h1 { font-size:26px; line-height:1.18; margin:12px 0 8px; max-width:17em; position:relative; z-index:1; }
.hero p { margin:0; font-size:15px; opacity:.88; position:relative; z-index:1; }
.paso { padding:20px 22px 0; }
.barra { height:5px; background:#ECE7DC; }
.barra i { display:block; height:100%; width:25%; background:var(--sol); transition:width .25s; }
@media (prefers-reduced-motion: reduce) { .barra i { transition:none; } }
.cuenta { font-size:13px; color:var(--gris); margin-bottom:4px; }
.paso h2 { font-size:21px; line-height:1.25; margin:0 0 14px; }
.opcion { display:flex; align-items:center; width:100%; min-height:58px; margin:0 0 10px; padding:12px 16px; font:inherit; font-weight:600; text-align:left; color:var(--tinta); background:#fff; border:1.5px solid var(--borde); border-radius:12px; cursor:pointer; }
.opcion:hover, .opcion:focus { border-color:var(--sol); outline:none; background:#FFF9F1; }
.opcion span { font-size:22px; margin-right:12px; }
.siguiente { width:100%; margin-top:18px; padding:16px; font-size:17px; font-weight:700; background:var(--sol); color:var(--tinta); border:0; border-radius:12px; cursor:pointer; }
.siguiente:disabled { opacity:.6; }
.atras { display:block; margin:12px auto 0; min-height:44px; background:none; border:0; font:inherit; font-size:15px; color:var(--gris); cursor:pointer; }
.campo-error { color:var(--error); font-size:14px; margin-top:6px; }
.confianza { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 14px; padding:18px 22px 0; font-size:13px; color:var(--gris); }
.hecho { font-size:40px; line-height:1; margin-bottom:8px; }
.aviso-t h2 { font-size:15px; margin:14px 0 4px; }
.aviso-t p, .aviso-t li { font-size:14px; margin:4px 0; }
.aviso-t ul { padding-left:20px; margin:4px 0; }
.trampa { position:absolute; left:-9999px; }
/* Página del equipo */
body.eq { background:#FAF5EC; }
body.eq header { background:var(--tinta); color:#FAF5EC; padding:16px; }
body.eq header h1 { margin:0; font-size:20px; }
body.eq header p { margin:4px 0 0; font-size:14px; opacity:.85; }
body.eq main { max-width:520px; padding:16px 16px 96px; }
body.eq input, body.eq select { padding:12px; font-size:16px; border-radius:8px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chip { padding:10px 14px; min-height:44px; border:1px solid var(--borde); border-radius:22px; background:#fff; font-size:15px; color:var(--tinta); cursor:pointer; }
.chip[aria-pressed="true"] { background:var(--tinta); border-color:var(--tinta); color:#FAF5EC; }
.req { color:var(--error); }
.chk { display:flex; gap:10px; align-items:flex-start; margin:12px 0 0; font-size:14px; font-weight:400; }
.chk input { width:22px; height:22px; flex:0 0 22px; margin:0; padding:0; }
details { margin-top:18px; border-top:1px solid var(--borde); padding-top:10px; }
summary { font-weight:600; min-height:44px; display:flex; align-items:center; cursor:pointer; }
button.guardar { width:100%; margin-top:22px; padding:15px; font-size:17px; font-weight:700; background:var(--sol); color:var(--tinta); border:0; border-radius:10px; cursor:pointer; }
button.guardar:disabled { opacity:.6; }
.msg { margin-top:14px; padding:12px; border-radius:8px; background:#fff; border:1px solid var(--borde); }
.msg.error { color:var(--error); border-color:var(--error); }
.msg.ok { color:#17663A; border-color:#17663A; font-weight:600; }
.wa { display:block; text-align:center; margin-top:14px; padding:13px; border:1px solid var(--tinta); border-radius:10px; color:var(--tinta); text-decoration:none; font-weight:600; }
.cf { margin-top:14px; }
.cf:empty { margin:0; }
