.auth-body { min-height: 100vh; background: var(--gradient-wash); }
.auth-header { display: flex; min-height: 78px; align-items: center; justify-content: space-between; padding: 0 max(1rem, calc((100vw - 1320px) / 2)); border-bottom: 1px solid rgb(227 226 239 / 75%); background: rgb(255 255 255 / 78%); }
.auth-header .brand { display: inline-flex; align-items: center; }
.auth-header .brand-logo { width: 140px; height: auto; max-height: 34px; object-fit: contain; }
.auth-main { width: min(calc(100% - 2rem), 1120px); margin: clamp(2rem, 7vw, 5rem) auto; }
.auth-panel { display: grid; grid-template-columns: .92fr 1.08fr; overflow: hidden; border: 1px solid rgb(217 215 234 / 80%); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-lg); }
.auth-panel--compact { max-width: 980px; margin-inline: auto; }
.auth-story { display: flex; min-height: 620px; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); background: radial-gradient(circle at 80% 20%, #ffdce9, transparent 30%), radial-gradient(circle at 10% 90%, #dcd7ff, transparent 38%), #faf8ff; }
.auth-story h1 { font-size: clamp(2.3rem, 5vw, 4rem); }.auth-story p, .auth-story li { color: var(--color-muted); }.auth-story ul { display: grid; gap: 1rem; padding-left: 1.2rem; }
.auth-art { display: grid; place-items: center; gap: 1rem; margin-top: 3rem; padding: 2rem; border: 1px solid rgb(255 255 255 / 80%); border-radius: var(--radius-lg); background: rgb(255 255 255 / 60%); text-align: center; }
.auth-form-wrap { display: flex; flex-direction: column; justify-content: center; gap: 1.2rem; padding: clamp(2rem, 5vw, 4rem); }.auth-form { display: grid; gap: 1rem; }.field-label-row { display: flex; justify-content: space-between; gap: 1rem; }.field-label-row a, .auth-switch a, .checkbox a { color: var(--color-violet); font-weight: 700; }.auth-switch { margin: 0; text-align: center; }
.account-types { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 0; padding: 0; border: 0; }.account-types legend { margin-bottom: .5rem; font-weight: 700; }.account-types label { display: flex; gap: .7rem; padding: 1rem; border: 1px solid var(--color-line); border-radius: .75rem; }.account-types label:has(input:checked) { border-color: var(--color-violet); background: #faf8ff; }.account-types span { display: grid; }.account-types small { color: var(--color-muted); }.checkbox { display: flex; gap: .65rem; align-items: start; }
@media (max-width: 780px) { .auth-header { min-height: 64px; }.auth-header > a:last-child { font-size: .85rem; }.auth-panel { grid-template-columns: 1fr; }.auth-story { min-height: auto; padding-block: 2.5rem; }.auth-art { display: none; }.auth-form-wrap { padding: 1.5rem; }.account-types { grid-template-columns: 1fr; } }
