.auth-body {
    --auth-ink: #252136;
    --auth-muted: #726c82;
    --auth-purple: #6842d6;
    background: radial-gradient(ellipse at 0% 90%, #e9e5fa 0, transparent 45%), radial-gradient(ellipse at 100% 0%, #eeebfa 0, transparent 40%), #f7f7fc;
    color: var(--auth-ink);
}
.auth-body .nav { position: relative; background: transparent; backdrop-filter: none; border-bottom: 0; }
.auth-body .auth-page { width: calc(100% - 64px); max-width: 1216px; min-height: 0; margin: 26px auto 40px; padding: 0; }
.auth-shell { display: grid; grid-template-columns: 47% 53%; padding: 10px; background: #fff; border: 1px solid #fff; border-radius: 34px; box-shadow: 0 18px 70px -35px #62539150; }
.auth-shell > .auth-panel { grid-column: 2; grid-row: 1; }
.auth-shell > .auth-story { grid-column: 1; grid-row: 1; }
.auth-story { position: relative; isolation: isolate; overflow: hidden; min-height: 740px; border-radius: var(--story-radius, 25px); background: #18122f; color: #fff; }
.auth-story-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 56% 38%; }
.auth-story::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, #17102d30, transparent 25%, transparent 48%, #140d2b75 68%, #100b26d9); }
.auth-story-copy { position: absolute; left: 38px; right: 38px; bottom: 42px; }
.auth-story-copy :is(h2, h3) { margin: 0 0 18px; font: 600 clamp(2.1rem, 3.2vw, 3rem)/1.1 'Bricolage Grotesque', sans-serif; letter-spacing: -.04em; white-space: pre-line; color: #fff; }
.auth-story-copy p { max-width: 330px; margin: 0; font-size: 15px; line-height: 1.65; color: #e0d9ee; }
.auth-stories::after { display: none; }
.auth-story-slide { position: absolute; inset: 0; isolation: isolate; }
.auth-story-slide[hidden], .auth-story-controls[hidden] { display: none; }
.auth-stories .auth-story-image { z-index: 0; object-position: center 30%; }
.auth-story-slide::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, #11102230 0%, transparent 26%, #0c0b1c08 39%, #100d239c 58%, #100d23f2 78%, #100d23); }
.auth-stories .auth-story-copy { z-index: 2; bottom: 98px; }
.auth-story-category { display: block; margin-bottom: 13px; color: #d7c7ff; font-size: 11px; line-height: 1.5; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.auth-stories .auth-story-copy :is(h2, h3) { font-size: clamp(2rem, 3vw, 2.75rem); margin-bottom: 16px; }
.auth-stories .auth-story-copy p { max-width: 385px; font-size: 14px; line-height: 1.65; color: #e2ddeb; }
.auth-story-agent { display: flex; gap: 11px; align-items: center; margin-top: 22px; border-radius: 8px; text-decoration: none; }
.auth-story-agent img { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 1px solid #ffffff4a; }
.auth-story-agent strong { display: block; font-size: 13px; line-height: 1.5; color: #fff; font-weight: 500; text-decoration: underline; text-decoration-color: #ffffff66; text-underline-offset: 3px; }
.auth-story-agent:hover strong { text-decoration-color: currentColor; color: #e2d4ff; }
.auth-story-agent:hover img { border-color: #e2d4ff; }
.auth-story-agent:focus-visible { outline: 3px solid #c5acff; outline-offset: 5px; }
.auth-story-agent span { display: block; margin-top: 2px; font-size: 11px; line-height: 1.5; color: #c4bcd5; }
.auth-story-controls { position: absolute; z-index: 3; left: 32px; right: 32px; bottom: 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 13px; border-top: 1px solid #ffffff26; }
.auth-story-pagination, .auth-story-navigation { display: flex; align-items: center; justify-content: center; gap: 3px; }
.auth-story-pagination { gap: 0; }
.auth-story-controls button { display: flex; align-items: center; justify-content: center; flex-shrink: 0; height: 40px; width: 40px; border: 1px solid #ffffff26; border-radius: 50%; background: #ffffff08; color: #fff; cursor: pointer; padding: 0; transition: background .2s, border-color .2s; }
.auth-story-controls button:hover { background: #ffffff1c; border-color: #ffffff70; }
.auth-story-controls button:focus-visible { outline-color: #e2d4ff; outline-offset: 2px; }
.auth-story-pagination button { border: 0; width: 24px; border-radius: 8px; background: transparent; }
.auth-story-pagination button span { width: 8px; height: 4px; border-radius: 4px; background: #9990ac; transition: width .2s, background .2s; }
.auth-story-pagination button[aria-current=true] span { width: 24px; background: #ddcfff; }
.auth-story-navigation [data-story-toggle] { margin-left: 5px; }
.auth-story-play, [data-story-toggle][data-paused=true] .auth-story-pause { display: none; }
[data-story-toggle][data-paused=true] .auth-story-play { display: block; }
.auth-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: no-preference) {
    .auth-stories[data-enhanced=true] .auth-story-slide.is-active { animation: auth-story-reveal .55s ease both; }
    @keyframes auth-story-reveal { from { opacity: .4; } to { opacity: 1; } }
}
.auth-panel { min-width: 0; padding: 30px 56px 22px; display: flex; flex-direction: column; align-items: stretch; }
.auth-back { align-self: flex-start; display: inline-flex; align-items: center; gap: 9px; color: var(--auth-muted); font-size: 13px; text-decoration: none; }
.auth-back:hover { color: var(--auth-purple); }
.account-auth { width: 100%; max-width: 400px; margin: auto; padding: 38px 0; }
.account-auth h1 { font: 600 clamp(2rem, 3.2vw, 2.65rem)/1.12 'Bricolage Grotesque', sans-serif; letter-spacing: -.045em; margin: 0 0 14px; color: var(--auth-ink); }
.account-auth .auth-intro, .account-auth .partner-intro { color: var(--auth-muted); font-size: 15px; line-height: 1.65; margin: 0 0 30px; }
.auth-form { display: grid; gap: 21px; }
.auth-form-register { gap: 17px; }
.auth-label-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 10px; margin-bottom: 8px; }
.auth-label-row label { font-size: 13px; line-height: 1.5; font-weight: 500; color: var(--auth-ink); }
.auth-label-row a { color: var(--auth-purple); text-decoration: none; font-size: 12px; font-weight: 500; }
.auth-label-row a:hover { text-decoration: underline; }
.auth-input-wrap { position: relative; }
.auth-input-wrap input { display: block; width: 100%; min-width: 0; height: 52px; padding: 0 15px; color: var(--auth-ink); background: #fff; border: 1px solid #dcd8e5; border-radius: 11px; font: inherit; font-size: 15px; box-shadow: 0 1px 2px #21153503; transition: border-color .15s, box-shadow .15s; }
.auth-input-wrap:has([data-password-toggle]) input { padding-right: 52px; }
.auth-input-wrap input::placeholder { color: var(--auth-muted); opacity: 1; }
.auth-input-wrap input:hover { border-color: #b7adc9; }
.auth-input-wrap input:focus { outline: 0; border-color: #815ee3; box-shadow: 0 0 0 3px #805de31c; }
.auth-input-wrap input[aria-invalid=true] { border-color: #cb4155; background: #fffcfc; }
.auth-input-wrap input[aria-invalid=true]:focus { box-shadow: 0 0 0 3px #cb415518; }
.auth-input-wrap input:-webkit-autofill { -webkit-text-fill-color: var(--auth-ink); box-shadow: 0 0 0 1000px #fbf9ff inset; }
.auth-password-toggle { position: absolute; right: 4px; top: 4px; height: 44px; width: 44px; border: 0; border-radius: 8px; background: transparent; color: #857c98; display: flex; justify-content: center; align-items: center; cursor: pointer; }
.auth-password-toggle:hover { background: #f4f0fc; color: var(--auth-purple); }
.auth-password-toggle[hidden], .auth-field-error[hidden] { display: none; }
.auth-eye-slash { display: none; }
.auth-password-toggle[aria-pressed=true] .auth-eye-slash { display: initial; }
.auth-field-error { margin: 7px 0 0; color: #b32f44; font-size: 12px; line-height: 1.5; }
.auth-field-error::before { content: ''; display: inline-flex; align-items: center; justify-content: center; width: 13px; height: 13px; border: 1px solid currentColor; border-radius: 50%; margin-right: 6px; font-size: 10px; font-weight: 600; }
.auth-password-help { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; line-height: 1.5; color: var(--auth-muted); margin: -8px 0 0; }
.auth-password-help svg { flex-shrink: 0; margin-top: 2px; }
.auth-password-help[data-met=false] path { opacity: 0; }
.auth-password-help[data-met=true] { color: #327a64; }
.auth-submit, .account-auth .partner-button { display: flex; justify-content: center; align-items: center; gap: 12px; width: 100%; min-height: 52px; margin: 6px 0 0; padding: 13px 20px; border: 1px solid transparent; border-radius: 40px; background: var(--auth-purple); color: #fff; font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; text-decoration: none; box-shadow: 0 4px 10px #6842d619; transition: background .15s, box-shadow .15s; }
.auth-submit:hover, .account-auth .partner-button:hover { background: #5935c4; box-shadow: 0 6px 15px #6842d62b; }
.auth-submit:active { background: #4d2ba9; }
.account-auth .partner-secondary { margin-top: 14px; background: #fff; border-color: #dcd8e5; color: var(--auth-purple); box-shadow: none; }
.account-auth .partner-secondary:hover { background: #f7f4fc; }
.auth-switch { text-align: center; margin: 28px 0 0; padding-top: 23px; border-top: 1px solid #efecf3; color: var(--auth-muted); font-size: 13px; line-height: 1.8; }
.auth-switch a { display: inline-block; color: var(--auth-purple); font-weight: 500; margin-left: 3px; text-underline-offset: 3px; }
.auth-privacy { color: var(--auth-muted); font-size: 11px; line-height: 1.7; text-align: center; max-width: 355px; margin: -2px auto 0; }
.auth-privacy a { color: #5a4c77; text-underline-offset: 2px; }
.auth-panel-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 0; color: var(--auth-muted); font-size: 11px; line-height: 1.5; text-align: center; }
.auth-panel-note svg { flex-shrink: 0; }
.auth-status, .auth-errors { padding: 14px 16px; border-radius: 11px; margin: 18px 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.auth-status { border: 1px solid #cce4d9; background: #f2faf6; color: #26664c; }
.auth-errors { border: 1px solid #f1c8cf; background: #fff5f6; color: #a72d42; }
.auth-errors p { margin: 0; }
.account-auth-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; font-size: 13px; }
.account-auth-links a { color: var(--auth-purple); text-underline-offset: 3px; }
.auth-body a:focus-visible, .auth-body button:focus-visible { outline: 3px solid #8a65e7; outline-offset: 4px; }
.auth-body footer { background: transparent; border-top: 0; padding-top: 0; }
.auth-body footer .wrap > img { display: none; }
.auth-body footer .wrap { max-width: 1216px; }
.auth-body .footer-navigation { border-top-color: #ddd5eb; }
@media (min-width: 1500px) {
    .auth-body .auth-page { margin-top: 50px; margin-bottom: 54px; }
}
@media (max-width: 1280px) {
    #auth-story-education::after, #auth-story-recruitment::after { background: linear-gradient(180deg, #11102230 0%, transparent 18%, #100d23b3 30%, #100d23ed 65%, #100d23 85%); }
    .auth-story-controls { display: grid; justify-content: stretch; justify-items: center; gap: 6px; }
    .auth-story-pagination { display: grid; grid-template-columns: repeat(7, 28px); }
    .auth-story-pagination button { width: 28px; height: 28px; }
    .auth-stories .auth-story-copy { bottom: 174px; }
}
@media (max-width: 1100px) {
    .auth-panel { padding: 24px 32px 22px; }
    .auth-story-copy { left: 28px; right: 28px; bottom: 34px; }
    .auth-story-copy :is(h2, h3) { font-size: 36px; }
}
@media (max-width: 800px) {
    .auth-body .auth-page { width: calc(100% - 32px); max-width: 520px; margin-top: 16px; margin-bottom: 32px; }
    .auth-shell { display: block; padding: 0; border-radius: 25px; box-shadow: 0 12px 45px -25px #62539140; }
    .auth-story { display: none; }
    .auth-shell--stories { display: flex; flex-direction: column; }
    .auth-shell--stories .auth-panel { order: 1; }
    .auth-shell--stories .auth-stories { order: 2; display: block; min-height: 700px; margin: 0 8px 8px; border-radius: 20px; }
    .auth-stories .auth-story-copy { left: 26px; right: 26px; bottom: 168px; }
    .auth-stories .auth-story-copy :is(h2, h3) { font-size: 34px; }
    .auth-stories .auth-story-copy p { font-size: 14px; }
    .auth-story-controls { left: 22px; right: 22px; bottom: 19px; }
    .auth-panel { padding: 25px 30px 24px; }
    .account-auth { padding: 30px 0; }
    .account-auth h1 { font-size: 35px; }
    .account-auth .auth-intro { margin-bottom: 26px; }
    .auth-input-wrap input { font-size: 16px; }
    .auth-form { gap: 20px; }
    .auth-form-register { gap: 17px; }
    .auth-body footer .wrap { padding: 0 24px; }
    .auth-body footer .wrap > span { width: 100%; text-align: center; }
    .auth-body .footer-navigation { justify-content: center; }
    .auth-body .footer-links { justify-content: center; }
}
@media (max-width: 380px) {
    .auth-body .nav .wrap { gap: 6px; }
    .auth-body .nav .brand img { height: 30px; }
    .auth-panel { padding: 22px; }
    .account-auth h1 { font-size: 31px; }
    .auth-label-row a { font-size: 11px; }
    .auth-stories .auth-story-copy { left: 20px; right: 20px; }
    .auth-stories .auth-story-copy :is(h2, h3) { font-size: 29px; }
    .auth-story-controls { left: 18px; right: 18px; gap: 6px; }
    .auth-story-navigation button { width: 34px; height: 36px; }
    .auth-story-pagination { gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .auth-input-wrap input, .auth-submit, .account-auth .partner-button, .auth-story-controls button, .auth-story-pagination button span { transition: none; }
}
