/* Lightweight shared shell for login, registration and password recovery.
   It deliberately avoids animated blur layers and backdrop filters so the
   first usable form is quick on WebKit as well as desktop browsers. */
.public-auth-page {
    min-height: 100svh;
    padding-top: max(92px, env(safe-area-inset-top)) !important;
    padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
    background:
        radial-gradient(52rem 28rem at 15% 8%, rgba(128, 0, 60, .17), transparent 68%),
        radial-gradient(42rem 30rem at 88% 88%, rgba(209, 0, 96, .12), transparent 70%),
        #090a0e !important;
    color: var(--text-primary, #f7f7fa);
    font-family: var(--font-family-base, Onest, sans-serif);
}

.public-auth-page::before,
.public-auth-page::after { display: none !important; }
.public-auth-page .particle-global,
.public-auth-page .orb,
.public-auth-page .blur-3xl { display: none !important; }

.public-auth-page .w-full.max-w-md,
.public-auth-page > .relative.w-full.max-w-md {
    width: min(calc(100% - 32px), 440px);
    max-height: none !important;
    overflow: visible !important;
}

.public-auth-page .glass-card,
.public-auth-page .auth-card,
.public-auth-page .w-full.max-w-md > .bg-gradient-to-b {
    background: rgba(23, 24, 31, .96) !important;
    border: 1px solid var(--border-subtle, rgba(255,255,255,.10)) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.20) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.public-auth-page .glass-card,
.public-auth-page .auth-card { padding: clamp(24px, 5vw, 32px) !important; }

.public-auth-page .form-input,
.public-auth-page input:not([type="checkbox"]):not([type="hidden"]) {
    min-height: 48px;
    color: var(--text-primary, #f7f7fa);
    background: rgba(255,255,255,.035) !important;
    border-color: var(--border-subtle, rgba(255,255,255,.10)) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.public-auth-page .form-input:focus,
.public-auth-page input:not([type="checkbox"]):not([type="hidden"]):focus {
    border-color: var(--accent-border, rgba(209,0,96,.72)) !important;
    background: var(--accent-subtle, rgba(209,0,96,.045)) !important;
    box-shadow: 0 0 0 3px var(--accent-glow, rgba(209,0,96,.14)) !important;
}

.public-auth-page .btn-submit,
.public-auth-page .auth-btn,
.public-auth-page button[type="submit"] {
    min-height: 48px;
    color: #fff;
    border: 1px solid transparent;
    border-radius: var(--button-radius, 12px);
    background: var(--accent-primary, #d10060) !important;
    box-shadow: 0 5px 14px var(--accent-glow, rgba(209,0,96,.18)) !important;
    transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.public-auth-page .btn-submit:hover,
.public-auth-page .btn-submit:focus-visible,
.public-auth-page .auth-btn:hover,
.public-auth-page .auth-btn:focus-visible,
.public-auth-page button[type="submit"]:hover,
.public-auth-page button[type="submit"]:focus-visible {
    background: var(--accent-hover, #de0968) !important;
    box-shadow: 0 7px 18px var(--accent-glow, rgba(209,0,96,.22)) !important;
    outline: none;
    transform: translateY(-1px);
}

.public-auth-page .tab-btn {
    border: 1px solid transparent;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.public-auth-page .tab-btn.active {
    background: var(--accent, #d10060) !important;
    border-color: var(--accent, #d10060) !important;
    color: #fff;
    box-shadow: var(--shadow-accent, 0 5px 14px rgba(209,0,96,.22));
}

@media (max-width: 480px) {
    .public-auth-page { padding-inline: 0 !important; }
    .public-auth-page .w-full.max-w-md,
    .public-auth-page > .relative.w-full.max-w-md { width: min(calc(100% - 32px), 440px); }
    .public-auth-page .glass-card,
    .public-auth-page .auth-card,
    .public-auth-page .w-full.max-w-md > .bg-gradient-to-b { border-radius: 18px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .public-auth-page .form-input,
    .public-auth-page .btn-submit,
    .public-auth-page .auth-btn,
    .public-auth-page button[type="submit"],
    .public-auth-page .tab-btn { transition: none; }
}
