        :root {
            --auth-primary: #1e293b;
            --auth-accent: #0d9488;
            --auth-accent-hover: #0f766e;
            --auth-accent-soft: color-mix(in srgb, var(--auth-accent) 16%, transparent);
            --auth-cta-bg: #1e293b;
            --auth-cta-hover: #0f172a;
            --auth-cta-text: #f8fafc;
            --auth-bg: #e8edf4;
            --auth-card: rgba(255, 255, 255, 0.94);
            --auth-card-shadow: 0 24px 64px -32px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(148, 163, 184, 0.12);
            --auth-text: #0f172a;
            --auth-muted: #64748b;
            --auth-border: rgba(15, 23, 42, 0.1);
            --auth-screen-glow-a: rgba(59, 130, 246, 0.09);
            --auth-screen-glow-b: rgba(148, 163, 184, 0.22);
            --auth-screen-glow-c: color-mix(in srgb, var(--auth-accent) 12%, transparent);
            --auth-left-bg: linear-gradient(165deg, #f4f7fb 0%, #eef2f8 38%, #e8f0f6 72%, #f0f6fa 100%);
            --auth-left-text: #0f172a;
            --auth-left-grid-h: rgba(15, 23, 42, 0.035);
            --auth-left-grid-v: rgba(15, 23, 42, 0.028);
            --auth-left-spot: color-mix(in srgb, var(--auth-accent) 12%, rgba(59, 130, 246, 0.06));
            --auth-badge-bg: rgba(255, 255, 255, 0.72);
            --auth-badge-border: rgba(15, 23, 42, 0.1);
            --auth-badge-text: #475569;
            --auth-brand-copy: #64748b;
            --auth-headline: #0f172a;
            --auth-tagline: #475569;
            --auth-feature-bg: rgba(255, 255, 255, 0.55);
            --auth-feature-border: rgba(15, 23, 42, 0.08);
            --auth-feature-text: #1e293b;
            --auth-feature-icon-bg: rgba(241, 245, 249, 0.95);
            --auth-feature-icon: var(--auth-accent);
            --auth-right-bg: linear-gradient(180deg, #f1f5f9 0%, #e8eef5 55%, #eef2f7 100%);
            --auth-right-grid-h: rgba(15, 23, 42, 0.02);
            --auth-right-grid-v: rgba(15, 23, 42, 0.016);
            --auth-input-bg: #ffffff;
            --auth-input-text: #0f172a;
            --auth-input-placeholder: #94a3b8;
            --auth-input-focus-bg: #ffffff;
            --auth-form-label: #334155;
            --auth-link: var(--auth-accent);
            --auth-link-hover: var(--auth-accent-hover);
            --auth-toggle-bg: rgba(255, 255, 255, 0.88);
            --auth-toggle-border: rgba(15, 23, 42, 0.1);
            --auth-toggle-text: #475569;
            --auth-toggle-hover-bg: #ffffff;
            --auth-toggle-active-bg: #ffffff;
            --auth-toggle-active-border: rgba(15, 23, 42, 0.12);
            --auth-toggle-active-text: #0f172a;
            --auth-btn-primary-text: var(--auth-cta-text);
            --auth-btn-primary-bg: var(--auth-cta-bg);
            --auth-btn-primary-border: var(--auth-cta-bg);
            --auth-btn-primary-hover-bg: var(--auth-cta-hover);
            --auth-btn-primary-hover-border: var(--auth-cta-hover);
            --auth-btn-secondary-bg: rgba(255, 255, 255, 0.96);
            --auth-btn-secondary-border: rgba(15, 23, 42, 0.12);
            --auth-btn-secondary-text: #0f172a;
            --auth-btn-secondary-hover-bg: #ffffff;
            --auth-btn-secondary-hover-border: rgba(15, 23, 42, 0.2);
            --auth-trust: #64748b;
            --auth-divider-line: rgba(15, 23, 42, 0.1);
            --auth-danger: #dc2626;
            --auth-danger-soft: color-mix(in srgb, #dc2626 12%, transparent);
            --auth-qm-bar-bg: rgba(255, 255, 255, 0.82);
            --auth-qm-bar-border: rgba(15, 23, 42, 0.08);
            --auth-qm-lane-bg: rgba(248, 250, 252, 0.55);
            --auth-qm-lane-border: rgba(15, 23, 42, 0.07);
            --auth-qm-chip-bg: #ffffff;
            --auth-qm-chip-text: #334155;
            --auth-qm-rail: color-mix(in srgb, var(--auth-accent) 35%, rgba(148, 163, 184, 0.35));
            --auth-qm-strip-bg: rgba(255, 255, 255, 0.45);
            --auth-qm-strip-border: rgba(15, 23, 42, 0.08);
            --auth-qm-foot: #64748b;
        }
        [data-theme="dark"] {
            --auth-accent: #5eead4;
            --auth-accent-hover: #99f6e4;
            --auth-accent-soft: color-mix(in srgb, var(--auth-accent) 18%, transparent);
            --auth-cta-bg: #f1f5f9;
            --auth-cta-hover: #e2e8f0;
            --auth-cta-text: #0f172a;
            --auth-bg: #030712;
            --auth-card: rgba(15, 23, 42, 0.82);
            --auth-card-shadow: 0 28px 80px -28px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(148, 163, 184, 0.18);
            --auth-text: #f8fafc;
            --auth-muted: #c5d3e6;
            --auth-border: rgba(203, 213, 225, 0.22);
            --auth-screen-glow-a: rgba(45, 212, 191, 0.06);
            --auth-screen-glow-b: rgba(59, 130, 246, 0.08);
            --auth-screen-glow-c: rgba(99, 102, 241, 0.05);
            --auth-left-bg: linear-gradient(168deg, #0b1220 0%, #0f172a 45%, #0c1424 100%);
            --auth-left-text: #f8fafc;
            --auth-left-grid-h: rgba(248, 250, 252, 0.04);
            --auth-left-grid-v: rgba(248, 250, 252, 0.03);
            --auth-left-spot: color-mix(in srgb, var(--auth-accent) 8%, rgba(59, 130, 246, 0.04));
            --auth-badge-bg: rgba(30, 41, 59, 0.65);
            --auth-badge-border: rgba(148, 163, 184, 0.16);
            --auth-badge-text: #cbd5e1;
            --auth-brand-copy: #c5d3e6;
            --auth-headline: #f8fafc;
            --auth-tagline: #e2e8f0;
            --auth-feature-bg: rgba(30, 41, 59, 0.62);
            --auth-feature-border: rgba(203, 213, 225, 0.2);
            --auth-feature-text: #f1f5f9;
            --auth-feature-icon-bg: rgba(15, 23, 42, 0.55);
            --auth-feature-icon: color-mix(in srgb, var(--auth-accent) 55%, #e2e8f0);
            --auth-right-bg: linear-gradient(185deg, #030712 0%, #0b1220 50%, #0f172a 100%);
            --auth-right-grid-h: rgba(248, 250, 252, 0.025);
            --auth-right-grid-v: rgba(248, 250, 252, 0.02);
            --auth-input-bg: rgba(30, 41, 59, 0.65);
            --auth-input-text: #f8fafc;
            --auth-input-placeholder: #a8b8cc;
            --auth-input-focus-bg: rgba(51, 65, 85, 0.82);
            --auth-form-label: #e2e8f0;
            --auth-link: var(--auth-accent);
            --auth-link-hover: var(--auth-accent-hover);
            --auth-toggle-bg: rgba(15, 23, 42, 0.75);
            --auth-toggle-border: rgba(148, 163, 184, 0.14);
            --auth-toggle-text: #e8eef5;
            --auth-toggle-hover-bg: rgba(30, 41, 59, 0.85);
            --auth-toggle-active-bg: rgba(30, 41, 59, 0.95);
            --auth-toggle-active-border: rgba(203, 213, 225, 0.28);
            --auth-toggle-active-text: #ffffff;
            --auth-btn-primary-text: #0f172a;
            --auth-btn-primary-bg: var(--auth-cta-bg);
            --auth-btn-primary-border: var(--auth-cta-bg);
            --auth-btn-primary-hover-bg: var(--auth-cta-hover);
            --auth-btn-primary-hover-border: var(--auth-cta-hover);
            --auth-btn-secondary-bg: rgba(15, 23, 42, 0.35);
            --auth-btn-secondary-border: rgba(148, 163, 184, 0.2);
            --auth-btn-secondary-text: #e2e8f0;
            --auth-btn-secondary-hover-bg: rgba(30, 41, 59, 0.5);
            --auth-btn-secondary-hover-border: rgba(148, 163, 184, 0.28);
            --auth-trust: #b8c9dc;
            --auth-divider-line: rgba(203, 213, 225, 0.22);
            --auth-danger: #f87171;
            --auth-danger-soft: color-mix(in srgb, #f87171 16%, transparent);
            --auth-qm-bar-bg: rgba(15, 23, 42, 0.82);
            --auth-qm-bar-border: rgba(148, 163, 184, 0.12);
            --auth-qm-lane-bg: rgba(30, 41, 59, 0.72);
            --auth-qm-lane-border: rgba(203, 213, 225, 0.22);
            --auth-qm-chip-bg: rgba(51, 65, 85, 0.92);
            --auth-qm-chip-text: #f8fafc;
            --auth-qm-rail: color-mix(in srgb, var(--auth-accent) 42%, rgba(203, 213, 225, 0.35));
            --auth-qm-strip-bg: rgba(30, 41, 59, 0.72);
            --auth-qm-strip-border: rgba(203, 213, 225, 0.22);
            --auth-qm-foot: #b8c9dc;
        }
        [data-ui-theme="teal"] { --auth-accent: #0d9488; --auth-accent-hover: #0f766e; }
        [data-ui-theme="ocean"] { --auth-accent: #0284c7; --auth-accent-hover: #0369a1; }
        [data-ui-theme="violet"] { --auth-accent: #7c3aed; --auth-accent-hover: #5b21b6; }
        [data-ui-theme="emerald"] { --auth-accent: #059669; --auth-accent-hover: #047857; }
        [data-ui-theme="rose"] { --auth-accent: #e11d48; --auth-accent-hover: #be123c; }
        [data-ui-theme="amber"] { --auth-accent: #d97706; --auth-accent-hover: #b45309; }
        [data-ui-theme="indigo"] { --auth-accent: #4f46e5; --auth-accent-hover: #3730a3; }
        [data-ui-theme="cyan"] { --auth-accent: #0891b2; --auth-accent-hover: #0e7490; }
        [data-ui-theme="lime"] { --auth-accent: #65a30d; --auth-accent-hover: #4d7c0f; }
        [data-ui-theme="fuchsia"] { --auth-accent: #c026d3; --auth-accent-hover: #a21caf; }
        [data-ui-theme="sky"] { --auth-accent: #0ea5e9; --auth-accent-hover: #0284c7; }
        [data-ui-theme="coral"] { --auth-accent: #f97316; --auth-accent-hover: #ea580c; }
        [data-ui-theme="forest"] { --auth-accent: #15803d; --auth-accent-hover: #166534; }
        [data-ui-theme="midnight"] { --auth-accent: #334155; --auth-accent-hover: #1e293b; }
        [data-ui-theme="slate"] { --auth-accent: #475569; --auth-accent-hover: #334155; }
        [data-ui-theme="ruby"] { --auth-accent: #b91c1c; --auth-accent-hover: #7f1d1d; }
        [data-ui-theme="magenta"] { --auth-accent: #db2777; --auth-accent-hover: #9f1239; }
        [data-ui-theme="sunset"] { --auth-accent: #ea580c; --auth-accent-hover: #c2410c; }
        [data-ui-theme="gold"] { --auth-accent: #ca8a04; --auth-accent-hover: #a16207; }
        [data-ui-theme="lavender"] { --auth-accent: #8b5cf6; --auth-accent-hover: #6d28d9; }
        [data-ui-theme="steel"] { --auth-accent: #64748b; --auth-accent-hover: #475569; }
        [data-ui-theme="wine"] { --auth-accent: #9f1239; --auth-accent-hover: #881337; }
        [data-ui-theme="terracotta"] { --auth-accent: #c2410c; --auth-accent-hover: #9a3412; }
        [data-ui-theme="nord"] { --auth-accent: #5e81ac; --auth-accent-hover: #4c566a; }
        * { box-sizing: border-box; }
        html, body { height: 100%; margin: 0; }
        body {
            font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
            background: var(--auth-bg);
            color: var(--auth-text);
            overflow-x: hidden;
            letter-spacing: -0.01em;
            -webkit-font-smoothing: antialiased;
        }

        .auth-qm-app {
            --auth-qm-topbar-space: 4.5rem;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            /* First layer: soft wash at the top edge so the transparent topbar does not sit over a flat --auth-bg band. */
            background:
                radial-gradient(ellipse 125% 48% at 50% -18%, color-mix(in srgb, var(--auth-accent) 11%, transparent) 0%, transparent 58%),
                radial-gradient(ellipse 70% 55% at 50% 45%, color-mix(in srgb, var(--auth-accent) 7%, transparent), transparent 62%),
                radial-gradient(ellipse 90% 70% at 100% 0%, var(--auth-screen-glow-a), transparent 52%),
                radial-gradient(ellipse 80% 60% at 0% 100%, var(--auth-screen-glow-b), transparent 55%),
                radial-gradient(circle at 40% 35%, var(--auth-screen-glow-c), transparent 58%),
                var(--auth-bg);
        }

        /* Top chrome sits over .auth-qm-main (orbit layer) so DevTools/users do not see a flat app-bg strip. */
        .auth-qm-topbar,
        body .auth-qm-app .auth-qm-main > header.auth-qm-topbar {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 12;
            padding: 0;
            margin: 0;
            border: 0;
            border-bottom: none;
            background: transparent !important;
            background-color: transparent !important;
            background-image: none !important;
            background-repeat: repeat !important;
            background-position: 0% 0% !important;
            background-size: auto !important;
            background-clip: border-box !important;
            background-origin: border-box !important;
            background-attachment: scroll !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            box-shadow: none !important;
            -webkit-appearance: none;
            appearance: none;
        }

        .auth-qm-topbar::before,
        .auth-qm-topbar::after,
        body .auth-qm-app .auth-qm-main > header.auth-qm-topbar::before,
        body .auth-qm-app .auth-qm-main > header.auth-qm-topbar::after {
            content: none !important;
            display: none !important;
        }

        [data-theme="dark"] .auth-qm-topbar,
        [data-theme="dark"] body .auth-qm-app .auth-qm-main > header.auth-qm-topbar {
            background: transparent !important;
            background-color: transparent !important;
            background-image: none !important;
            box-shadow: none !important;
        }

        .auth-qm-topbar-inner,
        .auth-qm-topbar-start,
        .auth-qm-topbar-end {
            background: none !important;
            background-color: transparent !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            box-shadow: none !important;
        }

        .auth-qm-topbar-inner {
            max-width: 1320px;
            margin: 0 auto;
            width: 100%;
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem 0.75rem;
            padding: 0.65rem clamp(1rem, 3vw, 1.85rem) 0.75rem;
        }

        .auth-qm-topbar-start {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            gap: 0.5rem 0.65rem;
            min-width: 0;
            flex: 1 1 auto;
        }

        .auth-qm-topbar-divider {
            flex-shrink: 0;
            width: 1px;
            height: 2.25rem;
            border-radius: 99px;
            background: linear-gradient(
                180deg,
                transparent,
                color-mix(in srgb, var(--auth-accent) 35%, var(--auth-qm-bar-border)) 35%,
                color-mix(in srgb, var(--auth-accent) 35%, var(--auth-qm-bar-border)) 65%,
                transparent
            );
            opacity: 0.85;
        }

        .auth-qm-topbar-end {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            gap: 0.75rem;
            flex-shrink: 0;
            flex-grow: 0;
            margin-left: auto;
        }

        .auth-qm-brand-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            text-decoration: none;
            color: inherit;
        }

        .auth-qm-brand-fallback {
            display: none;
            width: 44px;
            height: 44px;
            border-radius: 12px;
            align-items: center;
            justify-content: center;
            background: var(--auth-qm-chip-bg);
            border: 1px solid var(--auth-qm-lane-border);
            color: var(--auth-accent);
        }

        .auth-qm-brand-fallback .ti {
            font-size: 1.35rem;
        }

        .auth-qm-brand-mark--icon {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            background: var(--auth-qm-chip-bg);
            border: 1px solid var(--auth-qm-lane-border);
            color: var(--auth-accent);
            box-shadow: 0 6px 18px -10px color-mix(in srgb, var(--auth-accent) 45%, transparent);
            transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .auth-qm-brand-mark--icon:hover {
            border-color: color-mix(in srgb, var(--auth-accent) 35%, var(--auth-qm-lane-border));
            transform: translateY(-1px);
        }

        .auth-qm-brand-mark--icon .ti {
            font-size: 1.35rem;
        }

        .auth-qm-product {
            display: flex;
            flex-direction: column;
            gap: 0.15rem;
            min-width: 0;
            flex: 1 1 auto;
            align-items: flex-start;
            max-width: 100%;
        }

        .auth-qm-product-name {
            font-size: clamp(1.02rem, 2.4vw, 1.2rem);
            font-weight: 800;
            letter-spacing: -0.035em;
            line-height: 1.2;
            color: var(--auth-text);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: min(58vw, 520px);
        }

        .auth-qm-product-meta {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            flex-wrap: wrap;
        }

        .auth-qm-product-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 8px;
            color: var(--auth-accent);
            background: color-mix(in srgb, var(--auth-accent) 10%, var(--auth-qm-chip-bg));
            border: 1px solid color-mix(in srgb, var(--auth-accent) 22%, var(--auth-qm-lane-border));
            flex-shrink: 0;
        }

        .auth-qm-product-badge .ti {
            font-size: 0.82rem;
        }

        .auth-qm-product-eyebrow {
            font-size: 0.78rem;
            font-weight: 600;
            letter-spacing: 0.02em;
            text-transform: none;
            color: var(--auth-muted);
        }

        .auth-qm-topbar .auth-qm-product {
            max-width: min(72vw, 640px);
            padding-left: clamp(0.65rem, 2.4vw, 1.15rem);
            box-sizing: border-box;
            background: none !important;
            background-color: transparent !important;
        }

        .auth-theme-switcher--embedded {
            position: relative;
            top: auto;
            right: auto;
            flex-shrink: 0;
            margin-left: 0;
        }

        .auth-theme-switcher {
            display: inline-flex;
            align-items: center;
            gap: 0.2rem;
            padding: 0.28rem;
            border-radius: 999px;
            background: color-mix(in srgb, var(--auth-toggle-bg) 96%, var(--auth-accent));
            border: 1px solid var(--auth-toggle-border);
            backdrop-filter: blur(14px);
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.55) inset,
                0 10px 28px -18px rgba(15, 23, 42, 0.2);
        }

        [data-theme="dark"] .auth-theme-switcher {
            background: color-mix(in srgb, var(--auth-toggle-bg) 94%, var(--auth-accent));
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.06) inset,
                0 12px 32px -16px rgba(0, 0, 0, 0.5);
        }

        .auth-theme-switcher .theme-choice-btn {
            border: 1px solid transparent;
            background: transparent;
            color: var(--auth-toggle-text);
            border-radius: 999px;
            min-height: 44px;
            min-width: 3rem;
            padding: 0.48rem 1rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.45rem;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: -0.01em;
            cursor: pointer;
            transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
        }

        .auth-theme-switcher .theme-choice-btn:hover {
            background: var(--auth-toggle-hover-bg);
        }

        .auth-theme-switcher .theme-choice-btn:active {
            transform: scale(0.97);
        }

        .auth-theme-switcher .theme-choice-btn.is-active {
            background: var(--auth-toggle-active-bg);
            border-color: var(--auth-toggle-active-border);
            color: var(--auth-toggle-active-text);
            box-shadow:
                0 2px 8px -4px rgba(15, 23, 42, 0.12),
                0 0 0 1px color-mix(in srgb, var(--auth-accent) 12%, transparent);
        }

        [data-theme="dark"] .auth-theme-switcher .theme-choice-btn.is-active {
            box-shadow:
                0 2px 10px -4px rgba(0, 0, 0, 0.35),
                0 0 0 1px color-mix(in srgb, var(--auth-accent) 18%, transparent);
        }

        .auth-theme-switcher .theme-choice-btn i {
            font-size: 1.28rem;
            line-height: 1;
            opacity: 0.92;
        }

        .auth-theme-switcher .theme-choice-btn.is-active i {
            color: var(--auth-accent);
            opacity: 1;
        }

        /* Auth topbar only: strip all chip/pill backgrounds so nothing reads as a header bar. */
        .auth-qm-topbar .auth-theme-switcher {
            background: none !important;
            background-color: transparent !important;
            border: none;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            padding: 0;
            flex-shrink: 0;
        }

        .auth-qm-topbar .auth-theme-switcher .theme-choice-btn {
            -webkit-appearance: none;
            appearance: none;
            background: none !important;
            background-color: transparent !important;
        }

        .auth-qm-topbar .auth-theme-switcher .theme-choice-btn:focus,
        .auth-qm-topbar .auth-theme-switcher .theme-choice-btn:focus-visible {
            background: none !important;
            background-color: transparent !important;
            box-shadow: none !important;
        }

        [data-theme="dark"] .auth-qm-topbar .auth-theme-switcher {
            background: transparent !important;
            box-shadow: none;
        }

        .auth-qm-topbar .auth-theme-switcher .theme-choice-btn:hover {
            background: transparent;
        }

        .auth-qm-topbar .auth-theme-switcher .theme-choice-btn.is-active {
            background: transparent;
            border: none;
            box-shadow: none;
            color: var(--auth-text);
            font-weight: 700;
        }

        [data-theme="dark"] .auth-qm-topbar .auth-theme-switcher .theme-choice-btn.is-active {
            box-shadow: none;
            color: var(--auth-text);
        }

        .auth-qm-topbar .auth-qm-brand-mark--icon {
            background: transparent;
            border: none;
            box-shadow: none;
        }

        .auth-qm-topbar .auth-qm-brand-mark--icon:hover {
            border: none;
            box-shadow: none;
        }

        .auth-qm-topbar .auth-qm-brand-fallback {
            background: transparent;
            border: none;
        }

        .auth-qm-topbar .auth-qm-product-badge {
            background: transparent;
            border: none;
        }

        .auth-qm-topbar .auth-qm-topbar-divider {
            background: none;
            opacity: 1;
            width: 0;
            height: 1.65rem;
            padding: 0;
            margin: 0 0.15rem 0 0.35rem;
            border-left: 1px solid color-mix(in srgb, var(--auth-muted) 32%, transparent);
            border-radius: 0;
            flex-shrink: 0;
        }

        .auth-qm-main {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 0;
            position: relative;
            overflow: hidden;
            padding-top: var(--auth-qm-topbar-space);
        }

        @keyframes auth-qm-orbit-spin {
            from { transform: translate(-50%, -50%) rotate(0deg); }
            to { transform: translate(-50%, -50%) rotate(360deg); }
        }

        @keyframes auth-qm-orbit-spin-rev {
            from { transform: translate(-50%, -50%) rotate(0deg); }
            to { transform: translate(-50%, -50%) rotate(-360deg); }
        }

        .auth-qm-orbit-layer {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .auth-qm-orbit {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            border: 1px solid color-mix(in srgb, var(--auth-accent) 22%, transparent);
            opacity: 0.52;
            animation: auth-qm-orbit-spin 56s linear infinite;
            will-change: transform;
        }

        /* Large radii so ring strokes sit mostly outside the auth card (same center as card). */
        .auth-qm-orbit--a {
            width: max(920px, min(150vw, 1680px));
            height: max(920px, min(150vw, 1680px));
            border-width: 1px;
            border-color: color-mix(in srgb, var(--auth-accent) 22%, rgba(148, 163, 184, 0.28));
            opacity: 0.52;
        }

        .auth-qm-orbit--b {
            width: max(780px, min(125vw, 1380px));
            height: max(780px, min(125vw, 1380px));
            animation-name: auth-qm-orbit-spin-rev;
            animation-duration: 72s;
            border-style: dashed;
            border-width: 1px;
            border-color: color-mix(in srgb, var(--auth-accent) 22%, rgba(59, 130, 246, 0.26));
            opacity: 0.46;
        }

        .auth-qm-orbit--c {
            width: max(640px, min(102vw, 1140px));
            height: max(640px, min(102vw, 1140px));
            animation-duration: 44s;
            border-width: 2px;
            border-color: color-mix(in srgb, var(--auth-accent) 34%, transparent);
            opacity: 0.42;
        }

        .auth-qm-orbit--d {
            width: max(540px, min(86vw, 960px));
            height: max(540px, min(86vw, 960px));
            animation-name: auth-qm-orbit-spin-rev;
            animation-duration: 32s;
            border-width: 1px;
            border-color: color-mix(in srgb, var(--auth-accent) 38%, rgba(148, 163, 184, 0.22));
            opacity: 0.5;
        }

        @keyframes auth-orbit-dial-spin {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        @keyframes auth-orbit-dial-spin-rev {
            from { transform: rotate(0deg); }
            to { transform: rotate(-360deg); }
        }

        .auth-qm-orbit-dial-layer {
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .auth-qm-orbit-dial {
            /* Slightly larger than auth card (~440×550) so dashed ring + icons sit in the margin band. */
            --orbit-dial-size: max(688px, min(82vw, 1040px));
            --orbit-dial-spin: 86s;
            position: absolute;
            left: 50%;
            top: 50%;
            width: var(--orbit-dial-size);
            height: var(--orbit-dial-size);
            margin-left: calc(var(--orbit-dial-size) / -2);
            margin-top: calc(var(--orbit-dial-size) / -2);
            border-radius: 50%;
            border: 1px dashed color-mix(in srgb, var(--auth-accent) 32%, rgba(148, 163, 184, 0.22));
            opacity: 0.78;
            box-shadow:
                0 0 0 1px color-mix(in srgb, var(--auth-accent) 12%, transparent) inset,
                0 0 min(42vw, 220px) -36px color-mix(in srgb, var(--auth-accent) 14%, transparent);
            animation: auth-orbit-dial-spin var(--orbit-dial-spin) linear infinite;
        }

        .auth-qm-orbit-node {
            position: absolute;
            left: 50%;
            top: 50%;
            width: 2.45rem;
            height: 2.45rem;
            margin-left: -1.225rem;
            margin-top: -1.225rem;
            transform: rotate(var(--orbit-deg, 0deg)) translateY(calc(var(--orbit-dial-size) / -2 + 1.225rem));
        }

        .auth-qm-orbit-node-inner {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            border-radius: 999px;
            font-size: 0.82rem;
            line-height: 1;
            color: var(--auth-accent);
            background: color-mix(in srgb, var(--auth-card) 72%, transparent);
            border: 1px solid color-mix(in srgb, var(--auth-accent) 32%, var(--auth-border));
            backdrop-filter: blur(10px);
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.35) inset,
                0 10px 26px -14px color-mix(in srgb, var(--auth-accent) 42%, transparent);
            animation: auth-orbit-dial-spin-rev var(--orbit-dial-spin) linear infinite;
        }

        [data-theme="dark"] .auth-qm-orbit-node-inner {
            background: color-mix(in srgb, var(--auth-card) 55%, transparent);
            box-shadow:
                0 1px 0 rgba(255, 255, 255, 0.06) inset,
                0 12px 28px -14px rgba(0, 0, 0, 0.45);
        }

        .auth-qm-orbit-node-inner .fas,
        .auth-qm-orbit-node-inner .far,
        .auth-qm-orbit-node-inner .fi,
        .auth-qm-orbit-node-inner .ti {
            font-size: 0.88rem;
        }

        .auth-qm-queue-float {
            position: absolute;
            top: 50%;
            translate: 0 -50%;
            z-index: 0;
            display: none;
            flex-direction: column;
            gap: 1.35rem;
            pointer-events: none;
            opacity: 0.92;
        }

        .auth-qm-queue-float--left {
            left: clamp(0.75rem, 3.5vw, 2.25rem);
            align-items: flex-start;
        }

        .auth-qm-queue-float--right {
            right: clamp(0.75rem, 3.5vw, 2.25rem);
            align-items: flex-end;
        }

        .auth-qm-queue-float-inner {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.55rem;
            padding: 0.65rem 0.5rem;
            border-radius: 14px;
            background: var(--auth-qm-lane-bg);
            border: 1px solid var(--auth-qm-lane-border);
            backdrop-filter: blur(12px);
            box-shadow: 0 12px 40px -24px rgba(15, 23, 42, 0.25);
        }

        .auth-qm-queue-float-inner--rx .auth-qm-chip {
            min-width: 3.5rem;
        }

        .auth-qm-queue-mobile {
            position: absolute;
            left: 50%;
            bottom: clamp(0.5rem, 2vw, 1rem);
            translate: -50% 0;
            z-index: 0;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 0.4rem 0.5rem;
            max-width: min(96vw, 520px);
            padding: 0.45rem 0.55rem;
            border-radius: 999px;
            background: var(--auth-qm-strip-bg);
            border: 1px solid var(--auth-qm-strip-border);
            backdrop-filter: blur(10px);
            pointer-events: none;
            opacity: 0.95;
        }

        @media (min-width: 1200px) {
            .auth-qm-queue-float {
                display: flex;
            }
            .auth-qm-queue-mobile {
                display: none;
            }
        }

        @media (max-width: 1199px) {
            .auth-qm-queue-mobile .auth-qm-rail {
                display: none;
            }
        }

        .auth-qm-chip {
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 3.25rem;
            padding: 0.35rem 0.5rem;
            border-radius: 8px;
            font-size: 0.65rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: var(--auth-qm-chip-text);
            background: var(--auth-qm-chip-bg);
            border: 1px solid var(--auth-qm-lane-border);
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        }

        .auth-qm-chip--accent {
            color: var(--auth-accent);
            border-color: color-mix(in srgb, var(--auth-accent) 35%, var(--auth-qm-lane-border));
            background: color-mix(in srgb, var(--auth-accent) 8%, var(--auth-qm-chip-bg));
        }

        .auth-qm-rail {
            width: 2px;
            flex: 1;
            min-height: 1.25rem;
            max-height: 3.5rem;
            border-radius: 99px;
            background: linear-gradient(180deg, var(--auth-qm-rail), transparent);
            opacity: 0.85;
        }

        .auth-qm-queue-float .auth-qm-rail {
            max-height: 2.5rem;
        }

        .auth-qm-center {
            flex: 0 1 auto;
            width: 100%;
            max-width: min(100%, 1200px);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: clamp(1.25rem, 4vw, 2.75rem) clamp(1rem, 3vw, 2rem);
            padding-bottom: clamp(3.5rem, 8vw, 4.5rem);
            position: relative;
            z-index: 1;
            isolation: isolate;
        }

        @media (min-width: 1200px) {
            .auth-qm-center {
                padding-bottom: clamp(1.25rem, 4vw, 2.75rem);
            }
        }

        .auth-qm-center-inner {
            width: 100%;
            max-width: 440px;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 1.25rem;
        }

        .auth-form-above-logo {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            margin-bottom: 1.35rem;
            min-height: 0;
            order: 0;
        }

        .auth-qm-context + .auth-form-above-logo {
            margin-top: -0.25rem;
        }

        .auth-form-above-logo__mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: inherit;
        }

        .auth-form-above-logo__img {
            display: block;
            max-height: 112px;
            width: auto;
            max-width: min(600px, 94vw);
            object-fit: contain;
            object-position: center;
        }

        .auth-form-above-logo__fallback {
            display: none;
            width: 96px;
            height: 96px;
            border-radius: 16px;
            align-items: center;
            justify-content: center;
            color: var(--auth-accent);
            background: color-mix(in srgb, var(--auth-accent) 8%, var(--auth-card));
            border: 1px solid var(--auth-border);
        }

        .auth-form-above-logo__fallback .ti {
            font-size: 2.65rem;
        }

        .auth-form-above-logo__mark--icon {
            width: 96px;
            height: 96px;
            border-radius: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--auth-accent);
            border: 1px solid var(--auth-border);
            background: color-mix(in srgb, var(--auth-accent) 6%, var(--auth-card));
        }

        .auth-form-above-logo__mark--icon .ti {
            font-size: 2.65rem;
        }

        [data-theme="dark"] .auth-form-above-logo__mark:not(.auth-form-above-logo__mark--icon) {
            padding: 0.5rem 1.15rem 0.6rem;
            border-radius: 16px;
            background: rgba(248, 250, 252, 0.97);
            border: 1px solid rgba(148, 163, 184, 0.32);
            box-shadow: 0 18px 44px -20px rgba(0, 0, 0, 0.55);
        }

        [data-theme="dark"] .auth-form-above-logo__mark--icon {
            background: rgba(51, 65, 85, 0.78);
            border-color: rgba(203, 213, 225, 0.35);
        }

        [data-theme="dark"] .auth-form-above-logo__fallback {
            background: rgba(51, 65, 85, 0.88);
            border-color: rgba(203, 213, 225, 0.32);
        }

        [data-theme="dark"] .auth-form-card .input-icon {
            color: color-mix(in srgb, var(--auth-accent) 40%, #d8e2ef);
        }

        [data-theme="dark"] .auth-qm-orbit-node-inner {
            background: color-mix(in srgb, #1e293b 38%, var(--auth-card));
            border-color: color-mix(in srgb, var(--auth-accent) 40%, rgba(226, 232, 240, 0.38));
            color: var(--auth-accent);
        }

        .auth-qm-context {
            margin: 0;
            font-size: 0.95rem;
            line-height: 1.55;
            color: var(--auth-muted);
            text-align: center;
            max-width: 36rem;
            align-self: center;
        }

        .auth-form-wrap {
            width: 100%;
            max-width: 440px;
            position: relative;
            z-index: 2;
        }

        @keyframes auth-form-bloom {
            0% { opacity: 0.55; transform: scale(1) translateY(0); }
            100% { opacity: 0.85; transform: scale(1.04) translateY(-2%); }
        }

        @keyframes auth-form-border-rotate {
            to { transform: rotate(360deg); }
        }

        @keyframes auth-form-sheen {
            0% { background-position: 140% 50%; }
            100% { background-position: -40% 50%; }
        }

        @keyframes auth-form-hero-pulse {
            0%, 100% { transform: scale(1); opacity: 0.55; }
            50% { transform: scale(1.12); opacity: 0.9; }
        }

        .auth-form-card {
            position: relative;
            border-radius: 24px;
            isolation: isolate;
            --tilt-rx: 0deg;
            --tilt-ry: 0deg;
        }

        .auth-form-card--interactive {
            transform-style: preserve-3d;
            transform: perspective(920px) rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry)) translateZ(0);
            transition:
                transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.35s ease;
            box-shadow:
                0 28px 56px -28px rgba(15, 23, 42, 0.22),
                0 0 0 1px rgba(148, 163, 184, 0.1);
        }

        .auth-form-card--interactive:hover {
            box-shadow:
                0 36px 72px -32px rgba(15, 23, 42, 0.28),
                0 0 0 1px color-mix(in srgb, var(--auth-accent) 22%, rgba(148, 163, 184, 0.12));
        }

        .auth-form-card--interactive.is-pressed {
            transform: perspective(920px) rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry)) translateZ(0) scale(0.992);
            transition-duration: 0.12s;
        }

        [data-theme="dark"] .auth-form-card--interactive {
            box-shadow:
                0 32px 64px -28px rgba(0, 0, 0, 0.55),
                0 0 0 1px rgba(148, 163, 184, 0.12);
        }

        [data-theme="dark"] .auth-form-card--interactive:hover {
            box-shadow:
                0 40px 80px -32px rgba(0, 0, 0, 0.62),
                0 0 0 1px color-mix(in srgb, var(--auth-accent) 28%, rgba(148, 163, 184, 0.14));
        }

        .auth-form-card__bloom {
            position: absolute;
            inset: -35%;
            z-index: 0;
            pointer-events: none;
            border-radius: 50%;
            background:
                radial-gradient(ellipse 55% 40% at 50% 0%, color-mix(in srgb, var(--auth-accent) 22%, transparent), transparent 62%),
                radial-gradient(ellipse 45% 35% at 85% 90%, rgba(59, 130, 246, 0.08), transparent 55%);
            opacity: 0.65;
            animation: auth-form-bloom 6.5s ease-in-out infinite alternate;
        }

        .auth-form-card__border-spin {
            position: absolute;
            inset: 0;
            z-index: 0;
            border-radius: inherit;
            overflow: hidden;
            pointer-events: none;
        }

        .auth-form-card__border-spin::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 50%;
            width: 180%;
            height: 180%;
            margin: -90% 0 0 -90%;
            background: conic-gradient(
                from 0deg,
                transparent 0deg,
                transparent 55deg,
                color-mix(in srgb, var(--auth-accent) 55%, transparent) 110deg,
                transparent 165deg,
                transparent 220deg,
                color-mix(in srgb, var(--auth-accent) 35%, transparent) 280deg,
                transparent 340deg,
                transparent 360deg
            );
            animation: auth-form-border-rotate 14s linear infinite;
        }

        .auth-form-card__sheen {
            position: absolute;
            inset: 0;
            z-index: 3;
            pointer-events: none;
            border-radius: inherit;
            background: linear-gradient(
                105deg,
                transparent 0%,
                transparent 42%,
                color-mix(in srgb, #ffffff 55%, transparent) 50%,
                transparent 58%,
                transparent 100%
            );
            background-size: 220% 100%;
            background-position: 160% 50%;
            opacity: 0;
            transition: opacity 0.45s ease;
        }

        .auth-form-card--interactive:hover .auth-form-card__sheen {
            opacity: 0.14;
            animation: auth-form-sheen 2.4s ease-in-out infinite;
        }

        [data-theme="dark"] .auth-form-card__sheen {
            background: linear-gradient(
                105deg,
                transparent 0%,
                transparent 42%,
                color-mix(in srgb, #f8fafc 18%, transparent) 50%,
                transparent 58%,
                transparent 100%
            );
            background-size: 220% 100%;
            background-position: 160% 50%;
        }

        [data-theme="dark"] .auth-form-card--interactive:hover .auth-form-card__sheen {
            opacity: 0.09;
        }

        .auth-form-card__body {
            position: relative;
            z-index: 2;
            margin: 1px;
            border-radius: 23px;
            padding: clamp(1.5rem, 2.4vw, 2.25rem);
            background: var(--auth-card);
            border: 1px solid var(--auth-border);
            backdrop-filter: blur(22px);
            box-shadow: var(--auth-card-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.52);
        }

        [data-theme="dark"] .auth-form-card__body {
            box-shadow: var(--auth-card-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        .auth-form-card-hero {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            margin-bottom: 1.35rem;
        }

        .auth-form-card-hero__badge {
            position: relative;
            flex-shrink: 0;
            width: 3.25rem;
            height: 3.25rem;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--auth-accent);
            background: color-mix(in srgb, var(--auth-accent) 12%, var(--auth-input-bg));
            border: 1px solid color-mix(in srgb, var(--auth-accent) 28%, var(--auth-border));
            box-shadow: 0 8px 22px -12px color-mix(in srgb, var(--auth-accent) 45%, transparent);
            transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.25s ease, box-shadow 0.35s ease;
        }

        .auth-form-card--interactive:hover .auth-form-card-hero__badge {
            transform: translateY(-2px) scale(1.03);
            box-shadow: 0 14px 28px -14px color-mix(in srgb, var(--auth-accent) 50%, transparent);
        }

        .auth-form-card-hero__badge .fas,
        .auth-form-card-hero__badge .far {
            font-size: 1.2rem;
            position: relative;
            z-index: 1;
        }

        .auth-form-card-hero__pulse {
            position: absolute;
            inset: -4px;
            border-radius: inherit;
            border: 1px solid color-mix(in srgb, var(--auth-accent) 35%, transparent);
            animation: auth-form-hero-pulse 2.8s ease-in-out infinite;
        }

        .auth-form-card-hero__text {
            min-width: 0;
            flex: 1;
        }

        .auth-form-card-hero__subtitle {
            margin-bottom: 0;
        }

        .auth-form-card .auth-form-card-hero .form-subtitle {
            margin-bottom: 0;
        }

        .auth-form-card-hero + .auth-form-card-form {
            margin-top: 0.25rem;
        }

        .auth-form-card .form-title {
            font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
            font-size: clamp(1.35rem, 2vw, 1.6rem);
            font-weight: 700;
            color: var(--auth-text);
            letter-spacing: -0.03em;
            margin-bottom: 0.4rem;
        }

        .auth-form-card .form-subtitle {
            font-size: 0.9375rem;
            color: var(--auth-muted);
            margin-bottom: 1.5rem;
            line-height: 1.55;
        }

        .auth-form-card .form-control,
        .auth-form-card .form-select {
            border-radius: 12px;
            border: 1px solid var(--auth-border);
            min-height: 48px;
            padding: 0.78rem 1rem 0.78rem 2.55rem;
            font-size: 0.97rem;
            transition: border-color 0.25s ease, box-shadow 0.28s ease, background 0.25s ease, transform 0.25s ease;
            background: var(--auth-input-bg);
            color: var(--auth-input-text);
        }

        .auth-form-card .form-control:hover:not(:focus):not(.is-invalid) {
            border-color: color-mix(in srgb, var(--auth-accent) 18%, var(--auth-border));
        }

        .auth-form-card .form-control::placeholder {
            color: var(--auth-input-placeholder);
        }

        .auth-form-card .form-control:focus {
            border-color: var(--auth-accent);
            box-shadow: 0 0 0 3px var(--auth-accent-soft);
            background: var(--auth-input-focus-bg);
        }

        .auth-form-card .input-group-text,
        .auth-form-card .input-group .form-control {
            border-radius: 12px;
        }

        .auth-form-card .input-group .form-control { padding-left: 2.75rem; }

        .auth-form-card .input-icon {
            position: absolute;
            left: 0.95rem;
            top: 50%;
            transform: translateY(-50%);
            color: color-mix(in srgb, var(--auth-accent) 28%, var(--auth-muted));
            font-size: 0.95rem;
            z-index: 2;
            pointer-events: none;
            transition: color 0.25s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .auth-form-card .position-relative:has(.form-control:focus) .input-icon,
        .auth-form-card .position-relative:has(.form-control:not(:placeholder-shown)) .input-icon {
            color: var(--auth-accent);
        }

        .auth-form-card .position-relative:has(.form-control:focus) .input-icon {
            transform: translateY(-50%) scale(1.08);
        }

        .auth-form-card .position-relative {
            transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .auth-form-card .position-relative:has(.form-control:focus) {
            transform: translateY(-1px);
        }

        .auth-form-card .form-label {
            font-weight: 600;
            color: var(--auth-form-label);
            font-size: 0.875rem;
            margin-bottom: 0.35rem;
        }

        .auth-form-card .btn-primary {
            position: relative;
            overflow: hidden;
            border-radius: 12px;
            min-height: 48px;
            padding: 0.8rem 1.2rem;
            font-weight: 600;
            font-size: 0.94rem;
            letter-spacing: -0.01em;
            color: var(--auth-btn-primary-text);
            background: var(--auth-btn-primary-bg);
            border: 1px solid var(--auth-btn-primary-border);
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
            transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease;
        }

        .auth-form-card .btn-primary::after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 42%;
            background: linear-gradient(
                95deg,
                transparent 0%,
                color-mix(in srgb, #ffffff 26%, transparent) 48%,
                transparent 100%
            );
            opacity: 0;
            transform: translate3d(-130%, 0, 0) skewX(-12deg);
            transition: opacity 0.35s ease, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
            pointer-events: none;
        }

        .auth-form-card .btn-primary:hover::after {
            opacity: 0.9;
            transform: translate3d(320%, 0, 0) skewX(-12deg);
        }

        .auth-form-card .btn-primary:hover {
            color: var(--auth-btn-primary-text);
            background: var(--auth-btn-primary-hover-bg);
            border-color: var(--auth-btn-primary-hover-border);
            box-shadow: 0 8px 22px -6px rgba(15, 23, 42, 0.18);
            transform: translateY(-2px);
        }

        .auth-form-card .btn-primary:active {
            transform: translateY(0);
            transition-duration: 0.1s;
        }

        .auth-form-card .btn-primary:focus-visible {
            outline: 2px solid var(--auth-accent);
            outline-offset: 2px;
            box-shadow: 0 0 0 3px var(--auth-accent-soft);
        }

        .auth-form-card .btn-outline-secondary {
            border-radius: 12px;
            min-height: 46px;
            padding: 0.72rem 1.15rem;
            font-weight: 600;
            border: 1px solid var(--auth-btn-secondary-border);
            color: var(--auth-btn-secondary-text);
            background: var(--auth-btn-secondary-bg);
        }

        .auth-form-card .btn-outline-secondary:hover {
            background: var(--auth-btn-secondary-hover-bg);
            border-color: var(--auth-btn-secondary-hover-border);
            color: var(--auth-btn-secondary-text);
        }

        .auth-form-card .form-check-input:checked {
            background-color: var(--auth-accent);
            border-color: var(--auth-accent);
        }

        .auth-form-card .form-check-label { color: var(--auth-text); }

        .auth-form-card .link-secondary {
            color: var(--auth-link);
            text-decoration: none;
            font-size: 0.875rem;
            font-weight: 600;
        }

        .auth-form-card .link-secondary:hover { color: var(--auth-link-hover); }

        .auth-form-card .auth-meta-row {
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .auth-form-card .auth-trust-note {
            text-align: center;
            margin-top: 1rem;
            font-size: 0.78rem;
            color: var(--auth-trust);
        }

        .auth-divider {
            text-align: center;
            margin: 1.25rem 0;
            color: var(--auth-trust);
            font-size: 0.875rem;
        }

        .auth-divider::before,
        .auth-divider::after {
            content: '';
            display: inline-block;
            width: 16%;
            height: 1px;
            background: var(--auth-divider-line);
            vertical-align: middle;
            margin: 0 0.65rem;
        }

        .auth-form-card .invalid-feedback {
            font-size: 0.83rem;
            font-weight: 500;
            color: var(--auth-danger);
            margin-top: 0.35rem;
        }

        .auth-form-card .form-control.is-invalid {
            border-color: var(--auth-danger);
            box-shadow: 0 0 0 3px var(--auth-danger-soft);
        }

        .auth-qm-strip {
            list-style: none;
            margin: 0;
            padding: 0.65rem 0.85rem;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 0.5rem 1rem;
            border-radius: 12px;
            background: var(--auth-qm-strip-bg);
            border: 1px solid var(--auth-qm-strip-border);
            backdrop-filter: blur(10px);
        }

        .auth-qm-strip-item {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            font-size: 0.78rem;
            font-weight: 600;
            color: var(--auth-muted);
        }

        .auth-qm-strip-item i {
            font-size: 0.82rem;
            color: var(--auth-accent);
            opacity: 0.9;
        }

        .auth-qm-strip-item + .auth-qm-strip-item::before {
            content: '';
            display: none;
        }

        @media (min-width: 768px) {
            .auth-qm-strip-item + .auth-qm-strip-item {
                border-left: 1px solid var(--auth-divider-line);
                padding-left: 1rem;
                margin-left: 0.25rem;
            }
        }

        .auth-qm-foot {
            text-align: center;
            font-size: 0.72rem;
            color: var(--auth-qm-foot);
            padding: 0.65rem 1rem 1rem;
            line-height: 1.45;
        }

        @media (prefers-reduced-motion: reduce) {
            .auth-qm-orbit {
                animation: none;
                opacity: 0.18;
            }
            .auth-qm-orbit-dial,
            .auth-qm-orbit-node-inner {
                animation: none !important;
            }
            .auth-qm-orbit-dial {
                opacity: 0.38;
            }
            .auth-form-card--interactive {
                transform: none !important;
                transition: box-shadow 0.2s ease;
            }
            .auth-form-card__bloom,
            .auth-form-card__border-spin::before,
            .auth-form-card__sheen,
            .auth-form-card-hero__pulse {
                animation: none !important;
            }
            .auth-form-card--interactive:hover .auth-form-card__sheen {
                opacity: 0;
                animation: none;
            }
            .auth-form-card .btn-primary::after {
                display: none;
            }
        }

        @media (max-width: 767px) {
            .auth-qm-app {
                --auth-qm-topbar-space: 4.35rem;
            }

            .auth-qm-topbar-inner {
                flex-direction: row;
                flex-wrap: nowrap;
                align-items: center;
                justify-content: space-between;
                gap: 0.35rem 0.45rem;
                padding: 0.5rem 0.6rem;
            }

            .auth-qm-topbar-start {
                flex-direction: row;
                flex-wrap: nowrap;
                align-items: center;
                flex: 1 1 auto;
                min-width: 0;
                gap: 0.3rem 0.4rem;
                width: auto;
            }

            .auth-form-above-logo {
                margin-bottom: 1.1rem;
            }

            .auth-form-above-logo__img {
                max-height: 96px;
                max-width: min(92vw, 520px);
            }

            .auth-form-above-logo__fallback,
            .auth-form-above-logo__mark--icon {
                width: 80px;
                height: 80px;
            }

            .auth-form-above-logo__fallback .ti,
            .auth-form-above-logo__mark--icon .ti {
                font-size: 2.25rem;
            }

            .auth-qm-product {
                align-items: flex-start;
                min-width: 0;
                flex: 1 1 auto;
                max-width: min(62vw, 320px);
            }

            .auth-qm-product-name {
                max-width: 100%;
                text-align: left;
                font-size: clamp(1rem, 3.2vw, 1.14rem);
            }

            .auth-qm-product-meta {
                justify-content: flex-start;
                max-width: 100%;
            }

            .auth-qm-product-eyebrow {
                max-width: 100%;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                font-size: 0.7rem;
            }

            .auth-qm-topbar-end {
                width: auto;
                flex-shrink: 0;
                margin-left: 0;
                justify-content: flex-end;
            }

            .auth-qm-queue-mobile {
                display: none !important;
            }

            .auth-qm-center {
                padding-bottom: clamp(1.25rem, 4vw, 2.75rem);
            }
        }

        @media (max-width: 575px) {
            .auth-qm-app {
                --auth-qm-topbar-space: 4.2rem;
            }

            .auth-qm-orbit-dial {
                --orbit-dial-size: max(400px, min(96vw, 600px));
                --orbit-dial-spin: 105s;
                opacity: 0.72;
            }
            .auth-qm-orbit-node {
                width: 2.1rem;
                height: 2.1rem;
                margin-left: -1.05rem;
                margin-top: -1.05rem;
                transform: rotate(var(--orbit-deg, 0deg)) translateY(calc(var(--orbit-dial-size) / -2 + 1.05rem));
            }
            .auth-qm-orbit-node-inner {
                font-size: 0.72rem;
            }
            .auth-qm-orbit-node-inner .fas,
            .auth-qm-orbit-node-inner .far,
            .auth-qm-orbit-node-inner .fi,
            .auth-qm-orbit-node-inner .ti {
                font-size: 0.78rem;
            }
            .auth-qm-topbar-inner {
                padding: 0.45rem 0.5rem 0.55rem;
                gap: 0.3rem 0.4rem;
            }
            .auth-form-above-logo__img {
                max-height: 84px;
                max-width: min(94vw, 460px);
            }

            .auth-form-above-logo__fallback,
            .auth-form-above-logo__mark--icon {
                width: 72px;
                height: 72px;
            }

            .auth-form-above-logo__fallback .ti,
            .auth-form-above-logo__mark--icon .ti {
                font-size: 2rem;
            }
            .auth-qm-product {
                max-width: min(46vw, 240px);
            }
            .auth-qm-product-name {
                font-size: clamp(0.98rem, 3.8vw, 1.1rem);
            }
            .auth-qm-product-eyebrow {
                font-size: 0.66rem;
            }
            .auth-theme-switcher .theme-choice-btn span {
                display: none;
            }
            .auth-theme-switcher .theme-choice-btn {
                min-height: 42px;
                min-width: 2.85rem;
                padding: 0.45rem 0.72rem;
            }
            .auth-theme-switcher .theme-choice-btn i {
                font-size: 1.38rem;
            }
            .auth-form-card__body {
                padding: 1.35rem 1.15rem 1.5rem;
            }
            .auth-form-card-hero {
                gap: 0.85rem;
                margin-bottom: 1.15rem;
            }
            .auth-form-card-hero__badge {
                width: 2.85rem;
                height: 2.85rem;
                border-radius: 12px;
            }
            .auth-form-card .form-subtitle { margin-bottom: 1.25rem; }
            .auth-form-card .form-label { font-size: 0.84rem; }
            .auth-form-card .link-secondary { font-size: 0.82rem; }
            .auth-form-card .auth-meta-row {
                flex-direction: column;
                align-items: flex-start !important;
                margin-bottom: 1rem !important;
            }
            .auth-form-card .auth-meta-row .link-secondary {
                margin-left: 1.65rem;
            }
            .auth-form-card .auth-trust-note { margin-top: 0.85rem; }
            .auth-divider::before,
            .auth-divider::after { width: 12%; }
        }
