.auth-body { background: var(--ac-wall); }
.auth-shell { display: grid; grid-template-columns: minmax(340px, 5fr) 6fr; min-height: 100vh; }
.auth-art { position: relative; color: #fff; padding: 2.5rem 3rem 3.5rem; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; }
.auth-art::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(28,23,87,.55), rgba(18,17,43,.9)); }
.auth-art > * { position: relative; }
.auth-logo { font-size: 1.8rem; }
.auth-logo span, .auth-top .ac-brand span { color: var(--ac-kola); }
.auth-pitch h2 { font-size: clamp(1.7rem, 2.6vw, 2.5rem); line-height: 1.15; max-width: 16em; }
.auth-pitch p { color: #d4d3ee; max-width: 30em; margin-top: 1rem; }
.auth-points { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; font-size: .95rem; }
.auth-points i { color: var(--ac-kola); margin-right: .5rem; }
.auth-edge { position: absolute !important; left: 0; right: 0; bottom: 0; }
.auth-main { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 2rem 1.25rem; }
.auth-card { width: 100%; max-width: 440px; background: #fff; border: 1px solid var(--ac-line); border-radius: 1rem; padding: 2.1rem 2rem; box-shadow: 0 10px 40px -18px rgba(18,17,43,.25); }
.auth-card .container { padding: 0; max-width: none; }
.auth-card .alert { margin-top: 0; font-size: .9rem; }
.auth-card h1 { font-size: 1.7rem; margin-bottom: .25rem; }
.auth-card .lead-sm { color: #6b6a92; font-size: .93rem; margin-bottom: 1.5rem; }
.auth-card .form-control, .auth-card .form-select { padding: .65rem .85rem; border-color: #d6d6e8; }
.auth-card .form-control:focus { border-color: var(--ac-adire); box-shadow: 0 0 0 .2rem rgba(42,35,119,.15); }
.pw-wrap { position: relative; }
.pw-wrap .form-control { padding-right: 2.8rem; }
.pw-wrap button { position: absolute; right: .35rem; top: 50%; transform: translateY(-50%); background: none; border: 0; padding: .4rem .6rem; color: #6b6a92; }
.pw-meter { height: 5px; background: #ececf5; border-radius: 99px; margin-top: .4rem; overflow: hidden; }
.pw-meter > div { height: 100%; width: 0; transition: width .2s; }
.auth-foot { margin-top: 1.25rem; font-size: .82rem; color: #8b8ab5; }
.auth-top { width: calc(100% + 2.5rem); margin: 0 -1.25rem 1.5rem; padding: 1rem 1.25rem; }
.auth-top .ac-brand { font-size: 1.5rem; }
.auth-divider { display: flex; align-items: center; gap: .75rem; color: #8b8ab5; font-size: .8rem; margin: 1.25rem 0; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--ac-line); }
.auth-choice { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.auth-choice label { border: 1.5px solid var(--ac-line); border-radius: .7rem; padding: .7rem .8rem; cursor: pointer; font-size: .88rem; display: block; }
.auth-choice input { position: absolute; opacity: 0; }
.auth-choice input:checked + span { color: var(--ac-adire); }
.auth-choice label:has(input:checked) { border-color: var(--ac-adire); background: #f0effa; }
.auth-choice small { color: #6b6a92; display: block; }
@media (max-width: 991.98px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-art { display: none; }
  .auth-main { justify-content: flex-start; padding-top: 0; }
  .auth-card { margin-top: -.5rem; padding: 1.6rem 1.25rem; }
}
.auth-card a:not(.btn), .auth-foot a { color: var(--ac-adire); }
.auth-card a:not(.btn):hover { color: var(--ac-adire-dark); text-decoration: underline; }
