body {
    font-family: 'Inter', sans-serif;
    background:
        radial-gradient(1100px 520px at 12% -10%, rgba(16, 185, 129, 0.18), transparent 58%),
        radial-gradient(900px 420px at 88% 115%, rgba(59, 130, 246, 0.14), transparent 58%),
        linear-gradient(135deg, #f7faf7 0%, #edf5f0 46%, #eef4fb 100%);
}

[data-theme="dark"] body {
    background:
        radial-gradient(950px 480px at 12% -10%, rgba(16, 185, 129, 0.16), transparent 58%),
        radial-gradient(850px 420px at 88% 115%, rgba(59, 130, 246, 0.14), transparent 58%),
        linear-gradient(135deg, #07111e 0%, #0f172a 46%, #13233c 100%);
}

.auth-surface-card {
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.12);
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

[data-theme="dark"] .auth-surface-card {
    background: rgba(15, 23, 42, 0.84);
    border: 1px solid rgba(71, 85, 105, 0.38);
    box-shadow: 0 30px 70px rgba(2, 6, 23, 0.45);
}

.auth-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(15, 118, 110, 0.08);
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

[data-theme="dark"] .auth-kicker {
    background: rgba(16, 185, 129, 0.12);
    color: #6ee7b7;
}

.auth-theme-toggle {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(203, 213, 225, 0.7);
    backdrop-filter: blur(12px);
}

[data-theme="dark"] .auth-theme-toggle {
    background: rgba(15, 23, 42, 0.82);
    border-color: rgba(71, 85, 105, 0.55);
}

.auth-surface-icon {
    position: relative;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 0 18px 30px rgba(15, 23, 42, 0.12);
}

.auth-surface-icon::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 999px;
    border: 3px solid rgba(16, 185, 129, 0.22);
    opacity: 0.9;
}

.auth-surface-icon--primary {
    background: linear-gradient(135deg, #047857, #0f766e 55%, #2563eb);
}

.auth-surface-icon--warning {
    background: linear-gradient(135deg, #d97706, #f59e0b 55%, #f97316);
}

.auth-surface-icon--danger {
    background: linear-gradient(135deg, #b91c1c, #dc2626 55%, #f97316);
}

.auth-notice,
.auth-panel {
    border-radius: 1rem;
    border: 1px solid transparent;
}

.auth-notice {
    padding: 1rem 1rem 1rem 1.1rem;
}

.auth-panel {
    padding: 1rem 1.1rem;
}

.auth-notice.info,
.auth-panel.info {
    background: rgba(59, 130, 246, 0.08);
    color: #1d4ed8;
    border-color: rgba(59, 130, 246, 0.14);
}

.auth-notice.success,
.auth-panel.success {
    background: rgba(16, 185, 129, 0.1);
    color: #047857;
    border-color: rgba(16, 185, 129, 0.18);
}

.auth-notice.warning,
.auth-panel.warning {
    background: rgba(245, 158, 11, 0.1);
    color: #b45309;
    border-color: rgba(245, 158, 11, 0.18);
}

.auth-notice.error,
.auth-panel.error {
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    border-color: rgba(239, 68, 68, 0.14);
}

[data-theme="dark"] .auth-notice.info,
[data-theme="dark"] .auth-panel.info {
    background: rgba(59, 130, 246, 0.12);
    color: #bfdbfe;
    border-color: rgba(59, 130, 246, 0.22);
}

[data-theme="dark"] .auth-notice.success,
[data-theme="dark"] .auth-panel.success {
    background: rgba(16, 185, 129, 0.14);
    color: #a7f3d0;
    border-color: rgba(16, 185, 129, 0.24);
}

[data-theme="dark"] .auth-notice.warning,
[data-theme="dark"] .auth-panel.warning {
    background: rgba(245, 158, 11, 0.14);
    color: #fde68a;
    border-color: rgba(245, 158, 11, 0.24);
}

[data-theme="dark"] .auth-notice.error,
[data-theme="dark"] .auth-panel.error {
    background: rgba(239, 68, 68, 0.14);
    color: #fecaca;
    border-color: rgba(239, 68, 68, 0.24);
}

.auth-primary-btn {
    background-image: linear-gradient(135deg, #059669, #0f766e 55%, #2563eb);
    color: white;
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.12);
}

.auth-primary-btn:hover {
    background-image: linear-gradient(135deg, #047857, #115e59 55%, #1d4ed8);
}

.auth-secondary-btn {
    background-image: linear-gradient(135deg, #475569, #334155);
    color: white;
}

.auth-secondary-btn:hover {
    background-image: linear-gradient(135deg, #334155, #1f2937);
}

.auth-danger-btn {
    background-image: linear-gradient(135deg, #dc2626, #b91c1c 55%, #ea580c);
    color: white;
}

.auth-danger-btn:hover {
    background-image: linear-gradient(135deg, #b91c1c, #991b1b 55%, #c2410c);
}

.auth-focus-input:focus {
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.12);
    border-color: rgba(5, 150, 105, 0.6);
}

@media (hover: none) {
    .auth-primary-btn:hover,
    .auth-secondary-btn:hover,
    .auth-danger-btn:hover {
        transform: none;
        box-shadow: inherit;
    }
}

@supports not (selector(:focus-visible)) {
    .auth-theme-toggle:focus,
    .auth-primary-btn:focus,
    .auth-secondary-btn:focus,
    .auth-danger-btn:focus,
    .auth-focus-input:focus,
    a:focus,
    button:focus {
        outline: 3px solid rgba(37, 99, 235, 0.42);
        outline-offset: 3px;
    }

    [data-theme="dark"] .auth-theme-toggle:focus,
    [data-theme="dark"] .auth-primary-btn:focus,
    [data-theme="dark"] .auth-secondary-btn:focus,
    [data-theme="dark"] .auth-danger-btn:focus,
    [data-theme="dark"] .auth-focus-input:focus,
    [data-theme="dark"] a:focus,
    [data-theme="dark"] button:focus {
        outline-color: rgba(125, 211, 252, 0.7);
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .auth-surface-card,
    .auth-theme-toggle {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .auth-surface-card {
        background: rgba(255, 255, 255, 0.97);
    }

    [data-theme="dark"] .auth-surface-card {
        background: rgba(15, 23, 42, 0.97);
    }

    .auth-theme-toggle {
        background: rgba(255, 255, 255, 0.96);
    }

    [data-theme="dark"] .auth-theme-toggle {
        background: rgba(15, 23, 42, 0.96);
    }
}
