:root{--verde:#1573c9;--verde-claro:#e5f1fc;--texto:#16241c;--suave:#5b6b61;--borde:#d3ddd7;--error:#b3261e}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{min-height:100%;background:#fff;color:var(--texto);font:16px/1.45 Inter,"Helvetica Neue",Helvetica,system-ui,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.app{max-width:460px;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom))}
.marca{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.marca img{width:44px;height:44px;border-radius:12px}.marca b{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;color:#fff;text-shadow:-1.5px -1.5px 0 #111,1.5px -1.5px 0 #111,-1.5px 1.5px 0 #111,1.5px 1.5px 0 #111,0 -1.5px 0 #111,0 1.5px 0 #111,-1.5px 0 0 #111,1.5px 0 0 #111}   /* nombre en blanco con contorno negro (marca) */
h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.sub{color:var(--suave);margin-bottom:18px}
.vista{display:none}.vista.on{display:block}
.tabs{display:flex;gap:6px;margin-bottom:16px}
.tabs button{flex:1;padding:10px;border:1.5px solid var(--borde);background:#fff;border-radius:12px;font:inherit;font-weight:600;color:var(--suave);cursor:pointer}
.tabs button.on{border-color:var(--verde);background:var(--verde-claro);color:var(--verde)}
label{display:block;font-size:.85rem;font-weight:600;margin:12px 0 4px}
input[type=email],input[type=password],input[type=text]{width:100%;padding:12px;border:1.5px solid var(--borde);border-radius:12px;font:inherit}
input:focus{outline:none;border-color:var(--verde)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;margin-top:14px;font-weight:400}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--verde)}
.btn{display:block;width:100%;padding:14px;border:0;border-radius:28px;background:var(--verde);color:#fff;font:inherit;font-weight:700;font-size:1rem;margin-top:18px;cursor:pointer}
.btn:disabled{opacity:.6}.btn.sec{background:#fff;color:var(--verde);border:1.5px solid var(--verde)}
.o{display:flex;align-items:center;gap:10px;color:var(--suave);margin:16px 0 0;font-size:.85rem}.o:before,.o:after{content:"";flex:1;height:1px;background:var(--borde)}
.error{display:none;background:#fdecea;color:var(--error);padding:10px 12px;border-radius:10px;font-size:.88rem;margin-top:12px}.error.on{display:block}
.aviso{background:#fff8e1;border:1px solid #f0d98a;color:#6d5300;padding:10px 12px;border-radius:10px;font-size:.88rem;margin-bottom:14px}
.tarjeta{border:1.5px solid var(--borde);border-radius:14px;padding:14px;margin-top:12px}
textarea{width:100%;padding:12px;border:1.5px solid var(--borde);border-radius:12px;font:inherit;resize:vertical}textarea:focus{outline:none;border-color:var(--verde)}
input[type=tel]{width:100%;padding:12px;border:1.5px solid var(--borde);border-radius:12px;font:inherit}
.enlace{background:none;border:0;color:var(--verde);font:inherit;font-weight:600;cursor:pointer;padding:0;margin-bottom:10px}
.tarjeta.alerta{border-color:#f0a020;background:#fff8e8}
.marca-img{display:flex;align-items:center;gap:14px;margin-top:4px}
.marca-img img{width:96px;height:96px;object-fit:contain;border:1.5px solid var(--borde);border-radius:12px;background:#fff}
.marca-ops{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.btn.chico{width:auto;padding:10px 18px;margin-top:0;font-size:.9rem}
.pie{margin-top:22px;font-size:.78rem;color:var(--suave);text-align:center}
