.auth-body { min-height: 100vh; background: #f3f2ef; }
.auth-shell { display: grid; grid-template-columns: minmax(360px, .95fr) minmax(480px, 1.05fr); min-height: 100vh; }
.auth-brand-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100vh; padding: clamp(30px, 5vw, 68px); overflow: hidden; color: #fff; background: #17191d; }
.auth-brand-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 80% 45%, rgba(227,28,43,.13), transparent 34%), linear-gradient(135deg, transparent 48%, rgba(255,255,255,.018) 48% 50%, transparent 50%); }
.auth-brand-panel > * { position: relative; z-index: 2; }
.auth-statement { max-width: 610px; margin: auto 0; padding: 9vh 0; }
.auth-statement h1 { margin: 20px 0 22px; font-size: clamp(2.7rem, 5.2vw, 5.2rem); font-weight: 735; letter-spacing: -.075em; line-height: .98; }
.auth-statement h1 em { color: #ff4250; font-style: normal; }
.auth-statement p { max-width: 560px; margin: 0; color: #a9adb4; font-size: 1rem; line-height: 1.75; }
.auth-proof { display: flex; gap: clamp(18px, 3vw, 42px); color: #858a92; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.auth-proof b { margin-right: 6px; color: #ff4653; }
.auth-arrow { position: absolute; z-index: 1; right: -16%; bottom: 7%; width: 60%; height: 38%; opacity: .035; transform: skewX(-20deg) rotate(-20deg); }
.auth-arrow::before, .auth-arrow::after { content: ""; position: absolute; background: #fff; }
.auth-arrow::before { inset: 34% 0 34% 0; }
.auth-arrow::after { top: 0; right: 0; width: 46%; height: 100%; clip-path: polygon(0 0, 100% 50%, 0 100%, 34% 50%); }
.auth-form-panel { display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 35px; }
.auth-card { width: min(430px, 100%); padding: clamp(27px, 4vw, 45px); background: #fff; border: 1px solid #e4e3df; border-radius: 18px; box-shadow: 0 25px 65px rgba(20,22,25,.08); }
.auth-card h2 { margin: 8px 0 8px; font-size: 1.8rem; font-weight: 750; letter-spacing: -.045em; }
.auth-card > p { margin-bottom: 25px; color: #747982; font-size: .78rem; line-height: 1.6; }
.auth-card .form-label { font-size: .73rem; }
.auth-card .form-control { min-height: 46px; }
.auth-card .btn-lg { width: 100%; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 23px 0; color: #a1a4aa; font-size: .66rem; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: #e8e7e4; }
.auth-switch { margin: 22px 0 0 !important; text-align: center; }
.auth-switch a { color: #d71927; font-weight: 680; }
.auth-legal { margin: 18px 0 0; color: #92969d; font-size: .65rem; }
.auth-legal a { color: #60656d; text-decoration: underline; }
.auth-mobile-brand { display: none; }
.password-meter { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin-top: 8px; }
.password-meter i { height: 3px; background: #e7e6e3; border-radius: 4px; }
.password-meter[data-strength="2"] i:nth-child(-n+2) { background: #e9a230; }
.password-meter[data-strength="3"] i:nth-child(-n+3), .password-meter[data-strength="4"] i { background: #168263; }
.auth-result { text-align: center; }
.auth-result-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 18px; color: #168263; font-size: 1.5rem; font-weight: 800; background: #e9f7f2; border-radius: 18px; }
@media (max-width: 900px) {
  .auth-shell { display: block; }
  .auth-brand-panel { display: none; }
  .auth-form-panel { min-height: 100vh; padding: 24px 16px; }
  .auth-mobile-brand { display: flex; align-items: baseline; gap: 8px; margin-bottom: 22px; }
  .auth-mobile-brand .brand-word { color: #17191d; }
  .auth-mobile-brand small { color: #8e9299; }
}
