.auth-page {
    min-height: 100vh;
    background: linear-gradient(125deg, #10283d 0 42%, #f3f6f8 42% 100%);
}

.auth-shell {
    width: min(1040px, calc(100% - 40px));
    min-height: 100vh;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr 460px;
    align-items: center;
    gap: clamp(48px, 9vw, 120px);
    padding-block: 48px;
}

.auth-intro { color: #fff; }
.auth-intro h1 { max-width: 520px; margin-bottom: 18px; }
.auth-intro > p:last-child { max-width: 520px; color: #cbd9e2; font-size: 1.05rem; }
.auth-logo { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 16px; background: #2f9878; }
.auth-logo svg { width: 31px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.auth-card { padding: 36px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 24px 60px rgba(10, 32, 48, .16); }
.auth-card h2 { margin: 0 0 24px; color: var(--navy); font-size: 1.75rem; }
.auth-form { display: grid; gap: 17px; }
.auth-form label { display: grid; gap: 7px; color: #46596b; font-size: .88rem; font-weight: 650; }
.auth-form label small, .auth-help { color: var(--muted); font-size: .78rem; font-weight: 400; }
.auth-form input, .auth-form select { width: 100%; min-height: 47px; padding: 10px 13px; border: 1px solid #cad7e0; border-radius: 10px; color: var(--ink); background: #fff; font: inherit; }
.auth-form input:focus, .auth-form select:focus { border-color: var(--accent); outline: 3px solid rgba(47,143,114,.13); }
.auth-submit { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; margin-top: 4px; border: 0; border-radius: 10px; color: #fff; background: var(--accent); font-weight: 700; cursor: pointer; }
.auth-help { margin: 18px 0 0; text-align: center; }
.auth-back { color: var(--navy); font-size: .88rem; text-align: center; }
.auth-alert { display: grid; gap: 4px; margin-bottom: 20px; padding: 13px 15px; border: 1px solid; border-radius: 10px; font-size: .87rem; }
.auth-alert--error { color: #8f3029; border-color: #efc5c1; background: #fff3f2; }
.auth-alert--success { color: #17644e; border-color: #b8dfd1; background: #eef9f4; }
.auth-alert code { overflow-wrap: anywhere; }
.user-controls { display: flex; align-items: center; gap: 12px; }
.user-identity { display: grid; text-align: right; line-height: 1.25; }
.user-identity strong { font-size: .86rem; }
.user-identity span { color: #b9c8d3; font-size: .72rem; }
.header-account-link { padding: 8px 11px; border: 1px solid rgba(255,255,255,.24); border-radius: 9px; color: #fff; font-size: .8rem; text-decoration: none; }
.header-account-link:hover { background: rgba(255,255,255,.08); }

@media (max-width: 800px) {
    .auth-page { background: #f3f6f8; }
    .auth-shell { grid-template-columns: 1fr; gap: 24px; padding-block: 28px; }
    .auth-intro { padding: 24px; border-radius: 18px; background: #10283d; }
    .auth-intro h1 { font-size: 2rem; }
    .auth-logo { margin-bottom: 18px; }
}

@media (max-width: 620px) {
    .auth-shell { width: min(100% - 24px, 1040px); }
    .auth-card { padding: 25px 20px; }
    .user-identity { display: none; }
    .header-account-link:first-of-type { display: none; }
}

