.auth-page{min-height: 80vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3rem 1.5rem; background: var(--bg);}
.auth-container{width: 100%; max-width: 440px;}
.auth-card{background: var(--white); border: 1px solid var(--border); border-radius: var(--r-xl); box-shadow: var(--sh-sm); padding: 2.5rem;}
.auth-logo{display: flex; justify-content: center; margin-bottom: 1.5rem;}
.auth-plan-banner{display: flex; align-items: center; gap: .5rem; background: var(--orange-xl);
  color: var(--orange-dark); border: 1px solid var(--orange-light); border-radius: var(--r-md);
  padding: .625rem .875rem; font-size: .8125rem; margin-bottom: 1.25rem;}
.auth-title{text-align: center; font-size: 1.625rem; margin-bottom: .375rem;}
.auth-sub{text-align: center; color: var(--ink-3); font-size: .875rem; margin-bottom: 1.5rem;}
.auth-alert{display: flex; align-items: center; gap: .5rem; border-radius: var(--r-md); padding: .75rem .875rem; font-size: .8125rem; margin-bottom: 1.25rem;}
.auth-alert-error{background: var(--danger-bg); color: var(--danger);}
.auth-oauth-grid{display: flex; flex-direction: column; gap: .625rem; margin-bottom: 1.25rem;}
.auth-oauth-btn{display: flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .75rem; border: 1.5px solid var(--border); border-radius: var(--r-md);
  font-size: .875rem; font-weight: 600; color: var(--ink); transition: var(--t);}
.auth-oauth-btn:hover{background: var(--bg-2); border-color: var(--ink-3);}
.auth-divider{display: flex; align-items: center; gap: .75rem; color: var(--ink-4); font-size: .8125rem; margin: 1.25rem 0; text-align: center;}
.auth-divider::before, .auth-divider::after{content: ''; flex: 1; height: 1px; background: var(--border);}
.auth-form{display: flex; flex-direction: column; gap: 1.125rem;}
.auth-row{display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;}
.auth-group{display: flex; flex-direction: column; gap: .375rem;}
.auth-group label{font-size: .8125rem; font-weight: 600; color: var(--ink-2);}
.auth-group input{padding: .75rem .875rem; border: 1.5px solid var(--border); border-radius: var(--r-md);
  font-size: .9375rem; font-family: inherit; transition: var(--t); background: var(--white); width: 100%;}
.auth-group input:focus{outline: none; border-color: var(--ink-3);}
.auth-input-wrap{position: relative; display: flex; align-items: center;}
.auth-input-wrap input{padding-right: 2.75rem;}
.toggle-pw{position: absolute; right: .75rem; color: var(--ink-4); display: flex; align-items: center; justify-content: center;}
.pw-strength{font-size: .75rem; font-weight: 600; min-height: 1em;}
.auth-terms{font-size: .75rem; color: var(--ink-4); line-height: 1.5;}
.auth-terms a{color: var(--ink-2); text-decoration: underline;}
.auth-submit{justify-content: center; padding: .875rem 1.5rem; font-size: .9375rem;}
.auth-switch{text-align: center; font-size: .875rem; color: var(--ink-3); margin-top: 1.5rem;}
.auth-switch a{color: var(--ink); font-weight: 700;}
.auth-trust{display: flex; justify-content: center; gap: 1.25rem; margin-top: 1.5rem; font-size: .75rem; color: var(--ink-4); flex-wrap: wrap;}
.auth-trust span{display: flex; align-items: center; gap: .375rem;}
@media(max-width:480px){
.auth-card{padding: 1.75rem 1.5rem;}
.auth-row{grid-template-columns: 1fr;}
}
.auth-label-row{display: flex; justify-content: space-between; align-items: center;}
.auth-forgot{font-size: .8rem; color: var(--orange-text);}
.auth-forgot:hover{text-decoration: underline;}
.auth-oauth-btn.provider-google i{color: #4285F4;}
.auth-oauth-btn.provider-microsoft i{color: #00A4EF;}
.auth-oauth-btn.provider-github i{color: var(--ink);}
.auth-oauth-btn.provider-linkedin i{color: #0A66C2;}
