/* Páginas de cuenta: ingresar, registro, recuperación y Mi cuenta. Usa las variables de style.css. */
.auth-body{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 560px at 50% -180px,#d8eeff 0,#eef8ff 55%,#f5fbff 100%) no-repeat,#f5fbff;color:var(--navy)}
.auth-header{width:100%;max-width:1120px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.auth-brand{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:24px;letter-spacing:-1px;white-space:nowrap}
.auth-brand b{color:#061a71;font-weight:850}
.auth-brand img{max-height:40px;width:auto;display:block}
.auth-wave{width:34px;height:28px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}
.auth-back{font-weight:600;font-size:14px}
.auth-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:12px 16px 48px}
.auth-card{width:100%;max-width:470px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px #0b398c14,0 2px 6px #0b398c0a;padding:36px 36px 30px}
.auth-card.wide{max-width:640px}
.auth-card h1{font-size:27px;line-height:1.15;font-weight:800;letter-spacing:-.8px;color:var(--navy);margin-bottom:8px}
.auth-card h2{font-size:17px;letter-spacing:-.3px;margin-bottom:8px}
.auth-lead{font-size:15px;line-height:1.5;margin-bottom:22px}
.auth-lead strong{color:var(--navy)}
.auth-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.auth-form{display:grid;gap:16px}
.auth-grid{grid-template-columns:1fr 1fr}
.auth-span{grid-column:1/-1}
.auth-field{display:grid;gap:6px;align-content:start;font-size:14px;font-weight:600;color:#153c70}
.auth-field>span em{font-style:normal;font-weight:500;color:var(--muted)}
.auth-field input,.auth-field textarea{margin:0;font-weight:400;height:46px;border-radius:10px;font-size:15px;padding:11px 14px;border-color:#c9dcf1;transition:border-color .15s,box-shadow .15s}
.auth-field textarea{height:auto;min-height:64px}
.auth-field input:focus,.auth-field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px #087eff1f}
.auth-field small{font-weight:400;font-size:12.5px;color:var(--muted)}
.auth-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13.5px;line-height:1.45;color:#3a5a88}
.auth-check input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:var(--blue)}
.auth-submit{width:100%;min-width:0;min-height:48px;font-size:15.5px;border-radius:10px}
.auth-submit:hover{background:#006be0}
.btn.outline.auth-submit:hover{background:#f2f8ff}
.auth-link-right{justify-self:end;margin-top:-6px;font-size:13.5px;font-weight:600}
.auth-divider{display:flex;align-items:center;gap:12px;margin:26px 0 14px;color:var(--muted);font-size:13px}
.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}
.auth-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-choice{display:grid;gap:3px;align-content:start;padding:14px 14px;border:1px solid #cfe3f8;border-radius:12px;background:#f8fcff;transition:border-color .15s,background .15s}
.auth-choice:hover{border-color:var(--blue);background:#eef7ff}
.auth-choice strong{color:var(--navy);font-size:14.5px}
.auth-choice span{color:var(--muted);font-size:12.5px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#eef6ff;border:1px solid #d6e8fa;margin-bottom:24px}
.auth-tabs a{text-align:center;padding:9px 8px;border-radius:9px;font-weight:700;font-size:14px;color:#3d6194}
.auth-tabs a[aria-current="page"]{background:#fff;color:var(--blue);box-shadow:0 1px 4px #0b398c1c}
.auth-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:step}
.auth-steps li{counter-increment:step;padding:12px;border-radius:12px;background:#f5faff;border:1px solid #e0eefb;display:grid;gap:3px;font-size:13px}
.auth-steps li:before{content:counter(step);width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;margin-bottom:4px}
.auth-steps strong{color:var(--navy);font-size:13.5px}
.auth-steps span{color:var(--muted)}
.auth-foot{margin-top:20px;text-align:center;font-size:14px}
.auth-foot a{font-weight:700}
.auth-small{font-size:12.5px;line-height:1.5;margin-top:12px;color:var(--muted)}
.auth-note-box{border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.45;margin-bottom:18px;border:1px solid}
.auth-note-box.error{background:#fff4f4;border-color:#f5c9c9;color:#a12424}
.auth-note-box.ok{background:#effcf6;border-color:#bfead6;color:#0b6b46}
.auth-note-box.warn{background:#fff9ec;border-color:#f3dfb0;color:#7a5600}
.auth-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.auth-success-icon{width:56px;height:56px;border-radius:50%;background:#e7f9f1;color:var(--green);display:grid;place-items:center;font-size:28px;font-weight:800;margin-bottom:16px}
.auth-account-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.auth-account-head .btn{min-width:0}
.auth-section{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.auth-section .auth-form{max-width:420px}
.auth-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--navy)}
.auth-badge{font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px}
.auth-badge.ok{background:#e7f9f1;color:#0b6b46}
.auth-badge.warn{background:#fff3d6;color:#7a5600}
.auth-section form .btn.small{min-width:0;min-height:38px;padding:8px 14px;font-size:13.5px;margin-top:12px}
.auth-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.auth-actions .btn{min-width:0}
.auth-footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:20px 16px 28px;font-size:13px;color:var(--muted)}
.auth-footer a{color:var(--muted)}
@media (max-width:640px){
  .auth-header{padding:16px}
  .auth-brand{font-size:21px}
  .auth-card,.auth-card.wide{padding:26px 20px 22px;border-radius:16px}
  .auth-card h1{font-size:24px}
  .auth-grid,.auth-choices,.auth-steps{grid-template-columns:1fr}
  .auth-steps li{grid-template-columns:auto 1fr;align-items:center;column-gap:10px}
  .auth-steps li:before{grid-row:span 2;margin:0}
}
