.auth-page {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    background: #e9edf2;
}
.auth-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border: 1px solid #bccbde;
    border-radius: 5px;
    padding: 0;
    position: relative;
    isolation: isolate;
    box-shadow: 0 18px 42px #243f6920;
    margin: 0;
}
.auth-card::before,
.auth-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    border: 1px solid #c7d2df;
    border-radius: inherit;
    background: #f7f9fc;
    pointer-events: none;
}
.auth-card::before {
    transform: translateY(4px) rotate(-1.5deg);
}
.auth-card::after {
    transform: translateY(3px) rotate(1deg);
}
.auth-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    background: #fff;
    color: var(--nav);
    padding: 28px 30px 22px;
    border-bottom: 1px solid #e2e7ee;
    border-radius: 4px 4px 0 0;
    font-size: 17px;
    font-weight: 600;
}
.auth-header .brand-logo {
    width: 224px;
    max-width: 100%;
    height: auto;
    max-height: 168px;
    margin: 0;
    flex-shrink: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
}
.auth-content {
    padding: 30px;
    background: #fff;
    border-radius: 0 0 4px 4px;
}
.auth-content h1 {
    font-size: 20px;
    margin: 0 0 28px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: center;
}
.auth-content h1::before,
.auth-content h1::after {
    content: '';
    flex: 1;
    min-width: 12px;
    height: 1px;
    background: #d4dce6;
}
.auth-hint {
    font-size: 12px;
    line-height: 1.6;
    color: #7b8aa0;
    margin: -10px 0 20px;
}
.auth-content .field {
    margin-bottom: 18px;
}
.auth-content input {
    min-height: 46px;
    padding: 12px;
    font-size: 14px;
    background: #f8fafc;
}
.auth-input {
    display: block;
    position: relative;
}
.auth-input svg {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    color: #6d819c;
    pointer-events: none;
}
.auth-input input {
    width: 100%;
    padding-left: 43px;
}
.auth-input:focus-within svg {
    color: var(--blue);
}
.auth-content input:focus {
    background: #fff;
}
.auth-content small {
    color: #7e8da2;
    font-size: 11px;
}
.auth-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 3px;
}
.auth-actions .button {
    width: 100%;
    min-height: 44px;
    font-size: 14px;
    position: relative;
    box-shadow: 0 3px 7px #243f691a;
}
.auth-submit-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}
.auth-error {
    border: 1px solid #e5c3c3;
    background: #fff1f1;
    color: #a54d4d;
    padding: 11px 12px;
    border-radius: 3px;
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 18px;
}
.logout-form {
    margin: 0;
}
.logout-button {
    padding: 7px 10px;
    border: 1px solid #c7d2e0;
    border-radius: 3px;
    background: #fff;
    font-size: 12px;
    color: #4c668b;
    min-height: 32px;
    cursor: pointer;
}
.logout-button:hover {
    background: #edf3fb;
}
.account-name {
    font-size: 12px;
    color: #687d98;
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 650px) {
    .auth-card input {
        font-size: 16px;
    }
    .auth-page {
        align-items: flex-start;
        padding-top: 56px;
    }
    .auth-content {
        padding: 22px;
    }
    .account-name {
        display: none;
    }
}
