
*{box-sizing:border-box}
/* El atributo hidden tiene que ganar: sin esto, .casilla{display:flex} y
   button{display:block} mostraban lo oculto (la casilla del representante
   del menor salía a un adulto en el iPhone, 25-sep). */
[hidden]{display:none !important}
:root{--texto:#1c1c1c;--suave:#5f6368;--borde:#c9ccd1;--fondo:#ffffff;--acento:#1c1c1c;--error:#b3261e;--ok:#146c2e;--marca:#0F1729}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
main{max-width:480px;margin:0 auto;padding:20px 16px 40px}
.marcas{text-align:center;margin:4px 0 18px}
.logo-mg{display:block;width:240px;max-width:75%;height:auto;margin:0 auto}
.powered{margin:8px 0 0;font-size:13px;color:var(--suave);display:flex;align-items:center;justify-content:center;gap:5px}
.powered strong{color:var(--marca);letter-spacing:.06em;font-weight:700}
.simbolo-zenta{width:17px;height:17px;flex:none}
header{margin-bottom:18px}
.tienda{margin:0;color:var(--suave);font-size:14px;text-transform:uppercase;letter-spacing:.04em}
h1{font-size:24px;margin:4px 0 6px}
h2{font-size:21px;margin:8px 0}
.sub,.ayuda{color:var(--suave);margin:4px 0 10px;font-size:14px}
label{display:block;font-weight:600;margin:14px 0 6px;font-size:15px}
.opc{font-weight:400;color:var(--suave)}
input,select{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--borde);border-radius:8px;background:#fff;color:var(--texto)}
input:focus,select:focus{outline:2px solid var(--acento);outline-offset:1px}
.fila{display:flex;gap:10px;align-items:flex-end}
.crece{flex:1;min-width:0}
.dv{width:72px}
button{display:block;width:100%;margin-top:18px;padding:14px;font:inherit;font-weight:600;font-size:17px;border-radius:8px;border:0;background:var(--acento);color:#fff;cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
button.secundario{background:#fff;color:var(--texto);border:1px solid var(--borde);margin-top:10px}
button.enlace{background:none;color:var(--texto);text-decoration:underline;width:auto;padding:0;margin:6px 0 4px;font-weight:500;font-size:15px}
.error{color:var(--error);font-weight:600;min-height:1em;margin:10px 0 0}
.aviso{color:var(--error);font-weight:600}
.casilla{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:14px 0 0}
.casilla input{width:22px;height:22px;flex:none;margin-top:2px}
.politica-caja{margin-top:20px;border:1px solid var(--borde);border-radius:8px;padding:10px 12px}
.politica-caja summary{font-weight:600;cursor:pointer}
.politica{white-space:pre-wrap;font-size:14px;color:var(--texto);max-height:320px;overflow:auto;margin-top:10px}
main>.politica{max-height:none}
.version{color:var(--suave);font-size:14px}
.prueba{background:#fff4ce;color:#5c4400;border:1px solid #e0c060;border-radius:8px;padding:8px 12px;font-weight:600;font-size:14px;margin:0 0 12px}
.documento-elegido{background:#f3f4f6;border-radius:8px;padding:10px 12px;margin:0 0 6px;font-weight:600}
.ya{margin:10px 0 4px}
.contacto{margin:0 0 6px;color:var(--suave)}
.trampa{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#listo-titulo.ok{color:var(--ok)}
@media (prefers-color-scheme:dark){
  :root{--texto:#ececec;--suave:#a8adb4;--borde:#4a4d52;--fondo:#161616;--acento:#ececec;--error:#ff8a80;--ok:#7fd49a;--marca:#ececec}
  input,select{background:#222;color:var(--texto)}
  button{color:#161616}
  button.secundario{background:#222}
  .documento-elegido{background:#262626}
  /* El logo es negro sobre transparente: en oscuro se pasa a blanco. */
  .logo-mg{filter:invert(1)}
}
