:root{--bg:#faf6f2;--cd:#fff;--tx:#2a2220;--mu:#6b5f5a;--pr:#a81f1f;--pt:#fff;--or:#b87a12;--ok:#2e7d32;--wn:#b26a00;--er:#b3261e;--bd:#e3d9d2;--sf:#f4ede7;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#171210;--cd:#221b18;--tx:#f2ebe6;--mu:#b5a8a1;--pr:#e0534f;--pt:#1a0f0e;--or:#e0a73c;--ok:#66bb6a;--wn:#ffb74d;--er:#ff8a80;--bd:#3a2f2a;--sf:#1c1613}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
#app{max-width:560px;margin:0 auto;padding:16px}
h1{font-size:1.5rem;line-height:1.25;margin:.2em 0 .4em}
h2{font-size:1.2rem;margin:1.2em 0 .4em}
p{margin:.5em 0}
.mu{color:var(--mu);font-size:.92rem}
.card{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:16px;margin:12px 0}
.logo{display:block;width:150px;height:150px;margin:8px auto 0;border-radius:12px;background:#fff}
.centro{text-align:center}
.btn{display:block;width:100%;min-height:52px;padding:12px 16px;border:2px solid var(--pr);border-radius:12px;background:var(--pr);color:var(--pt);font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer;margin:10px 0}
.btn.sec{background:transparent;color:var(--pr)}
.btn.emerg{background:#c62828;border-color:#c62828;color:#fff;font-size:1.15rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.chico{display:inline-block;width:auto;min-height:44px;padding:8px 14px;margin:6px 6px 6px 0}
.enlace{background:none;border:0;color:var(--pr);font:inherit;text-decoration:underline;cursor:pointer;padding:8px 0}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;min-height:48px;padding:10px 12px;border:1.5px solid var(--bd);border-radius:10px;background:var(--cd);color:var(--tx);font:inherit}
input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--or);outline-offset:1px}
input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:0;margin:2px 10px 0 0;flex:none;accent-color:var(--pr)}
.chk{display:flex;align-items:flex-start;font-weight:400;margin:12px 0;gap:0}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.fila{grid-template-columns:1fr}}
.error{background:#fdecea;color:#7f1d1d;border:1px solid #f5b5b0;border-radius:10px;padding:10px 12px;margin:10px 0}
.aviso{background:var(--sf);border:1px solid var(--bd);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:.95rem}
.ok{background:#e8f5e9;color:#1b5e20;border:1px solid #a5d6a7;border-radius:10px;padding:10px 12px;margin:10px 0}
@media (prefers-color-scheme:dark){.error{background:#3b1a17;color:#ffcdd2;border-color:#7a2b25}.ok{background:#16301a;color:#c8e6c9;border-color:#2e5a33}}
.pasos{display:flex;gap:6px;margin:6px 0 14px}
.pasos i{flex:1;height:6px;border-radius:3px;background:var(--bd)}
.pasos i.hecho{background:var(--or)}
.pasos i.actual{background:var(--pr)}
table{width:100%;border-collapse:collapse;margin:6px 0}
td,th{padding:8px 4px;border-bottom:1px solid var(--bd);text-align:left;vertical-align:top}
td.n,th.n{text-align:right;white-space:nowrap}
tr.total td{font-weight:800;border-bottom:0;font-size:1.1rem}
.contrato{height:60vh;min-height:300px;overflow:auto;border:2px solid var(--bd);border-radius:10px;padding:12px;background:var(--cd);font-size:.95rem}
.contrato h3{font-size:1rem;margin:1em 0 .3em}
.insignia{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.85rem;font-weight:700;background:var(--sf);border:1px solid var(--bd)}
.insignia.pend{color:var(--wn)}.insignia.act{color:var(--ok)}
.fono{font-weight:800;font-size:1.25rem;color:var(--pr)}
.top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cargando{text-align:center;color:var(--mu);margin-top:30vh}
.persona{border-top:1px solid var(--bd);padding-top:10px;margin-top:10px}
.casillas{border-top:2px solid var(--bd);margin-top:16px;padding-top:6px}
.contrato a{color:var(--pr);word-break:break-word}.contrato p{margin:.5em 0}.casillas .chk span{display:block}

.captcha { margin: 12px 0; min-height: 65px; }
