
body.auth-page-body{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(201,111,92,.08), transparent 30%),
    radial-gradient(circle at top right, rgba(109,53,87,.10), transparent 28%),
    linear-gradient(180deg, #fbf8fa 0%, #f5f0f4 100%);
}
.auth-shell{
  width:min(1180px, calc(100% - 34px));
  margin:clamp(16px, 4vh, 42px) auto;
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 520px);
  background:#fff;
  border:1px solid #eadfe6;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 56px rgba(75,45,67,.10);
}
.auth-shell-recovery{grid-template-columns:minmax(0, .92fr) minmax(360px, 500px);}
.auth-spotlight{padding:clamp(28px, 4.4vw, 52px); background:linear-gradient(180deg, #fff8fb 0%, #faf4f8 100%); border-right:1px solid #f1e5ec;}
.auth-back-link{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:16px}
.auth-spotlight-card{display:flex;flex-direction:column;gap:16px;height:100%;}
.auth-brand-mark{margin-bottom:0;box-shadow:0 10px 24px rgba(109,53,87,.12)}
.auth-spotlight h1{font-size:clamp(2rem, 4vw, 3rem); line-height:1.08; margin:0;}
.auth-spotlight .lead{font-size:1.02rem; max-width:58ch;}
.auth-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.auth-badges span{display:inline-flex;align-items:center;gap:.4rem;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #ecdfe6;color:#6b5362;font-weight:650;font-size:.88rem;box-shadow:0 4px 14px rgba(109,53,87,.05)}
.auth-steps{display:grid;gap:14px;margin-top:8px}
.auth-steps article{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.74);border:1px solid #efe1e8;}
.auth-steps strong{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#6d3557;color:#fff;font-size:1rem;box-shadow:0 8px 16px rgba(109,53,87,.17)}
.auth-steps h2{margin:0 0 4px;font-size:1rem}
.auth-steps p{margin:0;color:#756773;font-size:.94rem}
.auth-highlight{margin-top:auto;padding:18px;border-radius:20px;background:linear-gradient(180deg, #fff 0%, #fbf4f7 100%);border:1px solid #eee0e8}
.auth-highlight .small{font-size:.68rem}
.auth-highlight p{margin:.35rem 0 0;color:#6b5b67}
.auth-form-pane{padding:clamp(24px, 4vw, 40px);display:grid;align-items:center;background:linear-gradient(180deg, #fff 0%, #fffdfd 100%)}
.auth-form-card{max-width:440px;width:100%;margin:0 auto}
.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f7f0f4;border:1px solid #ecdee6;border-radius:16px;padding:6px;margin-bottom:18px}
.auth-switch a{text-decoration:none;text-align:center;padding:11px 12px;border-radius:12px;color:#684051;font-weight:750}
.auth-switch a.active{background:#fff;color:#3d2c37;box-shadow:0 8px 18px rgba(109,53,87,.08)}
.auth-form-header{margin-bottom:14px}
.auth-form-header h2{font-size:clamp(1.55rem, 3.2vw, 2.15rem);line-height:1.12;margin:.15rem 0 .5rem;color:#302333}
.auth-form{gap:14px}
.auth-form input:not([type=checkbox]){height:48px;border-radius:14px;border-color:#d9c7d2;background:#fff}
.auth-form input:not([type=checkbox]):focus{border-color:#ba89a6;box-shadow:0 0 0 4px rgba(186,137,166,.15);outline:none}
.password-row{display:grid;gap:8px}
.password-wrap{position:relative}
.password-wrap input{padding-right:88px!important}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:#f6edf2;color:#6d3557;border:1px solid #e7d3de;border-radius:10px;padding:7px 10px;font-size:.8rem;font-weight:700;line-height:1;cursor:pointer}
.password-toggle:hover{background:#efdee8}
.forgot-link{justify-self:end;font-size:.89rem;font-weight:650;text-decoration:none}
.auth-submit{width:100%;height:52px;border-radius:16px;background:linear-gradient(180deg, #81456b 0%, #6d3557 100%);box-shadow:0 14px 28px rgba(109,53,87,.16)}
.auth-submit:hover{background:linear-gradient(180deg, #753c61 0%, #5f2f4d 100%)}
.auth-alert{border:1px solid #f1c7cb}
.success-alert{padding:12px;border-radius:12px;background:#edf8f1;color:#20573a;border:1px solid #cbe7d5}
.auth-footer-links{margin-top:16px}
.recovery-card .auth-form{margin:18px 0 10px}
.recovery-actions{display:grid;gap:10px;margin-top:16px}
.recovery-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 14px;border-radius:14px;background:#fff;color:#5f3850;text-decoration:none;border:1px solid #dfccd7;font-weight:700}
.recovery-button:hover{color:#4a2940;background:#faf3f7}
.recovery-button.primary{background:#6d3557;color:#fff;border-color:#6d3557}
.recovery-button.primary:hover{background:#5e2f4c;color:#fff}
.recovery-button.ghost{background:#f8f2f5}
@media (max-width: 960px){
  .auth-shell,.auth-shell-recovery{grid-template-columns:1fr}
  .auth-spotlight{border-right:0;border-bottom:1px solid #f1e5ec}
}
@media (max-width: 640px){
  .auth-shell{width:min(100%, calc(100% - 18px)); margin:9px auto 18px; border-radius:22px;}
  .auth-spotlight,.auth-form-pane{padding:20px}
  .auth-spotlight h1{font-size:2rem}
  .auth-steps article{grid-template-columns:36px 1fr;padding:14px}
  .auth-steps strong{width:36px;height:36px;border-radius:12px}
  .auth-badges span{font-size:.82rem}
  .password-toggle{padding:7px 9px}
}
@media (prefers-reduced-motion: reduce){
  .auth-shell,*{scroll-behavior:auto}
  .auth-submit,.password-toggle,.auth-badges span,.auth-steps strong{transition:none!important}
}
