.auth-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background:
        radial-gradient(circle at 20% 20%, rgba(44, 92, 255, 0.16), transparent 28%),
        radial-gradient(circle at 80% 10%, rgba(11, 132, 145, 0.18), transparent 26%),
        rgba(248, 246, 240, 0.86);
    backdrop-filter: blur(18px);
}
.auth-modal-overlay.show { display: flex; }
.auth-card {
    width: min(420px, 100%);
    padding: 30px;
    border: 1px solid rgba(28, 34, 45, 0.12);
    border-radius: 24px;
    background: rgba(255, 252, 245, 0.92);
    box-shadow: 0 24px 70px rgba(28, 34, 45, 0.18);
}
.auth-mark {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: #101820;
}
.auth-mark img { width: 42px; height: 42px; }
.auth-card h1 { margin: 18px 0 8px; font-size: 28px; letter-spacing: -0.04em; color: #101820; }
.auth-card p { margin: 0 0 22px; color: #5d6572; line-height: 1.6; }
.auth-input {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 12px;
    padding: 13px 14px;
    border: 1px solid rgba(28, 34, 45, 0.16);
    border-radius: 14px;
    background: rgba(255,255,255,0.86);
    color: #101820;
    outline: none;
}
.auth-input:focus { border-color: #2364ff; box-shadow: 0 0 0 3px rgba(35, 100, 255, 0.12); }
.auth-password-wrap { margin-bottom: 12px; }
.auth-password-wrap .auth-input { margin-bottom: 0; padding-right: 42px; }
.auth-error { min-height: 20px; color: #b3261e; font-size: 13px; }
.auth-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 12px; }
.auth-primary,
.auth-secondary {
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    cursor: pointer;
}
.auth-primary { background: #101820; color: #fff; }
.auth-secondary { background: rgba(16, 24, 32, 0.08); color: #101820; }
