:root{--rojo: #c8102e;--rojo-oscuro: #9e0c24;--negro: #111111;--blanco: #ffffff;--gris: #f2f2f2;--borde: #d0d0d0;--texto: #1a1a1a}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--blanco);color:var(--texto);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent}#app{min-height:100dvh;display:flex;flex-direction:column}.centro,.pagina{width:100%;max-width:480px;margin:0 auto;padding:20px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px}.centro{flex:1;justify-content:center}.marca{font-weight:900;letter-spacing:.5px;font-size:28px;line-height:1;text-align:center}.marca-ecu{color:var(--rojo)}.marca-andamio{color:var(--negro);margin-left:6px}.cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.cabecera .marca{font-size:22px;text-align:left}.cabecera h1{font-size:20px;margin:0;flex:1;text-align:right;text-transform:uppercase}.quien{display:flex;align-items:center;gap:12px;font-weight:600}.tarjeta{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--borde);border-radius:14px;background:var(--gris)}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}input{font:inherit;padding:12px;min-height:48px;border:1px solid var(--borde);border-radius:10px;background:var(--blanco);color:var(--texto)}input:focus-visible,button:focus-visible{outline:3px solid var(--negro);outline-offset:2px}.boton{font:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.5px;min-height:56px;padding:12px 16px;width:100%;border:0;border-radius:12px;color:var(--blanco);cursor:pointer}.boton.rojo{background:var(--rojo)}.boton.rojo:active{background:var(--rojo-oscuro)}.boton.negro{background:var(--negro)}.boton.negro:active{background:#333}.boton:disabled{opacity:.6}.enlace{font:inherit;background:none;border:0;color:var(--rojo);font-weight:700;padding:10px 4px;min-height:44px;cursor:pointer}.menu{display:flex;flex-direction:column;gap:14px}.fila{display:flex;gap:14px}.fila .boton{font-size:15px}.aviso{text-align:center;margin:0}.error{color:var(--rojo-oscuro);font-weight:700;margin:0}
