body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
 background:radial-gradient(1200px 600px at 10% -10%,#2a5fb8 0,transparent 60%),
 radial-gradient(900px 500px at 110% 110%,#f3900055 0,transparent 55%),linear-gradient(135deg,#071636,#0f2c63)}
.caja{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:34px 32px 28px;
 box-shadow:0 24px 60px rgba(0,0,0,.35)}
.caja img{display:block;height:46px;margin:0 auto 18px}
h1{font-size:20px;text-align:center;margin:0 0 4px;color:var(--navy)}
p.sub{text-align:center;margin:0 0 24px;color:var(--suave);font-size:14px}
label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin:14px 0 6px;letter-spacing:.3px}
.campo{position:relative}
.campo svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:#8793a8}
input{width:100%;padding:12px 12px 12px 40px;font-size:15px;border:1px solid var(--borde);border-radius:9px;
 background:#f8fafd;transition:.15s}
input:focus{outline:0;border-color:var(--azul);background:#fff;box-shadow:0 0 0 3px #2259a622}
button{margin-top:24px;width:100%;padding:13px;font-size:16px;font-weight:600;color:#fff;border:0;border-radius:9px;
 cursor:pointer;background:linear-gradient(135deg,var(--azul),var(--navy2));transition:.15s}
button:hover{filter:brightness(1.1);transform:translateY(-1px)}
.error{margin-top:16px;padding:10px 12px;border-radius:8px;background:#fdecea;color:var(--error);font-size:14px}
.pie{margin-top:22px;text-align:center;font-size:12px;color:#8a95a8}
