﻿/* extracted verbatim 2026-08-28 estate speed sweep. New content = new filename. */

        /* ===== Login — built on locked Site.Master tokens ===== */
        :root {
            /* Base tokens — this standalone page does NOT inherit Site.Master, so define them here */
            --void:#0A0B10; --panel:#0F1118; --panel-2:#15171F;
            --line:rgba(255,255,255,.07); --line-strong:rgba(255,255,255,.13);
            --ink:#E8EDF5; --ink-dim:#93A1B5; --ink-faint:#5A6B82;
            --model:#34D399; --book:#F87171; --action-hi:#60A5FA;
            --accent-1:#5AA0FF; --accent-2:#2F6FE6; --accent-grad:linear-gradient(180deg,#5AA0FF,#2F6FE6);
            --accent-glow:rgba(70,140,255,.8); --accent-ink:#BBD6FF; --card-edge:rgba(70,140,255,.2);
            --ui:'Geist','Inter',sans-serif; --display:'Geist','Space Grotesk',sans-serif; --mono:'JetBrains Mono',monospace;

            --bg-app: var(--void);
            --bg-field: var(--panel-2);
            --border-subtle: var(--line);
            --text-main: var(--ink); --text-muted: var(--ink-dim); --text-dim: var(--ink-faint);
            --color-primary: var(--action-hi); --color-danger: var(--book); --color-money: var(--model);
            --font-ui: var(--ui); --font-display: var(--display); --font-data: var(--mono);
            --radius-card: 18px; --radius-field: 12px;
        }

        html, body {
            margin: 0; padding: 0; width: 100%; min-height: 100%; overflow-x: hidden;
            background-color: var(--bg-app); color: var(--text-main);
            font-family: var(--font-ui); line-height: 1.55;
            -webkit-font-smoothing: antialiased;
        }

        /* Ambient backdrop: photo washed into deep void + soft blue aura behind card */
        body {
            background-image:
                radial-gradient(900px 600px at 50% -8%, rgba(70,140,255,.16), transparent 70%),
                linear-gradient(180deg, rgba(10,11,16,.86), rgba(10,11,16,.97)),
                url('https://d9qd20a2vo3kw.cloudfront.net/login_background.webp');
            background-size: cover; background-position: center top;
            background-repeat: no-repeat; background-attachment: fixed;
        }

        .container {
            display: flex; justify-content: center; align-items: center;
            min-height: 100vh; padding: 28px 18px; box-sizing: border-box;
        }

        /* ===== Ambient-lift auth card ===== */
        .auth-card {
            position: relative; overflow: hidden;
            background: var(--panel); border: 1px solid var(--card-edge);
            border-radius: var(--radius-card);
            box-shadow: 0 30px 60px -28px var(--accent-glow), 0 2px 0 rgba(255,255,255,.03) inset;
            color: var(--text-main);
            padding: 30px 34px 34px; max-width: 420px; width: 100%;
        }
        .auth-card::after {
            content: ""; position: absolute; inset: 0; pointer-events: none;
            background: radial-gradient(420px 160px at 50% -40px, rgba(70,140,255,.14), transparent 70%);
        }
        .auth-card > * { position: relative; z-index: 1; }

        /* Top row: back link */
        .card-top { display: flex; align-items: center; margin-bottom: 18px; }
        .home-link {
            display: inline-flex; align-items: center; gap: 7px;
            min-height: 36px; padding: 6px 4px;
            font-size: .85rem; color: var(--text-dim); text-decoration: none;
            font-weight: 600; transition: color .2s;
        }
        .home-link:hover { color: var(--color-primary); }
        .home-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; border-radius: 6px; }

        /* Brand + heading */
        .brand-mark { text-align: center; margin: 2px 0 16px; }
        .brand-mark img { width: 60px; height: 60px; opacity: .95; }

        .eyebrow {
            font-family: var(--font-data); font-size: .72rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: .16em;
            color: var(--color-primary); text-align: center; margin-bottom: 8px;
        }
        h1.headline {
            font-family: var(--font-display);
            font-size: 1.6rem; font-weight: 800; line-height: 1.18;
            color: var(--ink); margin: 0 0 6px; text-align: center;
            letter-spacing: -.02em;
        }
        .subhead {
            text-align: center; margin: 0 0 22px;
            font-size: .92rem; color: var(--text-muted);
        }

        /* ===== Form ===== */
        .form-group { margin-bottom: 16px; }
        .field-label {
            display: block; font-size: .78rem; font-weight: 600;
            color: var(--text-muted); margin: 0 0 7px 2px; letter-spacing: .01em;
        }

        .form-control {
            background-color: var(--bg-field); border: 1px solid var(--border-subtle);
            color: var(--ink); border-radius: var(--radius-field);
            padding: 13px 16px; font-size: 1rem; width: 100%;
            box-sizing: border-box; transition: border-color .15s, box-shadow .15s;
            font-family: var(--font-ui);
        }
        .form-control::placeholder { color: var(--text-dim); }
        .form-control:focus, .form-control:focus-visible {
            border-color: var(--color-primary); outline: none;
            box-shadow: 0 0 0 3px rgba(70,140,255,.22);
        }

        /* Password reveal */
        .input-group { position: relative; width: 100%; }
        .input-group .form-control { padding-right: 50px; }
        .input-group-append {
            position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
            cursor: pointer; color: var(--text-dim); z-index: 2;
            width: 38px; height: 38px;
            display: flex; align-items: center; justify-content: center;
            background: none; border: none; border-radius: 8px;
        }
        .input-group-append:hover { color: var(--color-primary); }
        .input-group-append:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 1px; }

        /* Row above the button: forgot link */
        .row-aux { display: flex; justify-content: flex-end; margin: -2px 2px 16px; }
        .row-aux a { font-size: .85rem; color: var(--text-muted); text-decoration: none; font-weight: 600; }
        .row-aux a:hover { color: var(--color-primary); text-decoration: underline; }

        /* Primary CTA — electric-blue gradient */
        .btn-primary {
            background: var(--accent-grad); border: none;
            border-radius: var(--radius-field); font-weight: 700;
            padding: 14px 20px; font-size: 1.02rem;
            color: #fff; display: block; width: 100%; min-height: 48px; text-align: center;
            box-shadow: 0 10px 26px -8px var(--accent-glow); cursor: pointer;
            transition: transform .15s, box-shadow .15s; letter-spacing: .01em;
        }
        .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 30px -8px var(--accent-glow); }
        .btn-primary:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 3px; }

        /* Divider between password + Google */
        .or-divider {
            display: flex; align-items: center; gap: 14px;
            margin: 20px 0 16px; color: var(--text-dim);
            font-family: var(--font-data); font-size: .72rem;
            text-transform: uppercase; letter-spacing: .14em;
        }
        .or-divider::before, .or-divider::after {
            content: ""; flex: 1; height: 1px; background: var(--border-subtle);
        }

        /* Signup nudge */
        .signup-prompt {
            text-align: center; margin: 20px 0 0; font-size: .9rem; color: var(--text-muted);
        }
        .signup-prompt a { color: var(--color-primary); font-weight: 700; text-decoration: none; }
        .signup-prompt a:hover { text-decoration: underline; }

        /* ===== Trust / proof strip (routes forward, no fabricated stats) ===== */
        .trust-strip {
            display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 18px;
            margin: 18px 0 2px; padding-top: 18px;
            border-top: 1px solid var(--border-subtle);
        }
        .trust-item {
            display: inline-flex; align-items: center; gap: 7px;
            font-size: .8rem; color: var(--text-muted);
        }
        .trust-item i { color: var(--color-primary); font-size: .82rem; }
        .trust-item.money i { color: var(--color-money); }
        .trust-item a { color: inherit; text-decoration: none; }
        .trust-item a:hover { color: var(--ink); }

        /* Validation & messages */
        .text-danger {
            color: var(--color-danger); font-size: .82rem; font-weight: 600;
            display: block; margin-top: 6px;
        }

        /* Dark-theme autofill */
        input:-webkit-autofill,
        input:-webkit-autofill:hover,
        input:-webkit-autofill:focus,
        input:-webkit-autofill:active {
            -webkit-box-shadow: 0 0 0 30px var(--bg-field) inset !important;
            -webkit-text-fill-color: var(--ink) !important;
            border-radius: var(--radius-field) !important;
        }

        /* Google button */
        #googleSignInButtonContainer { display: flex; justify-content: center; }
        #googleSignInButton { display: block !important; margin: 0 auto !important; }

        @media (max-width: 480px) {
            .auth-card { padding: 24px 20px 28px; }
            h1.headline { font-size: 1.4rem; }
        }
        @media (prefers-reduced-motion: reduce) {
            * { transition: none !important; animation: none !important; }
            .btn-primary:hover { transform: none; }
        }

        /* ---- LIGHT THEME (standalone fallback — mirrors Site.Master light tokens) ---- */
        @media (prefers-color-scheme: light) {
            :root {
                --void:#EEF1F7; --panel:#FFFFFF; --panel-2:#F6F8FC;
                --line:rgba(16,24,40,.08); --line-strong:rgba(16,24,40,.14);
                --ink:#111827; --ink-dim:#48566B; --ink-faint:#7C8AA0;
                --model:#0F9D63; --book:#DC4A41; --action:#2563EB; --action-hi:#1D4ED8;
                --gold:#A9791A; --accent-ink:#1D4ED8; --card-edge:rgba(47,111,224,.22);
            }
            /* Wash the photo backdrop into a light field so it isn't a dark slab */
            body {
                background-image:
                    radial-gradient(900px 600px at 50% -8%, rgba(47,111,224,.12), transparent 70%),
                    linear-gradient(180deg, rgba(238,241,247,.90), rgba(238,241,247,.99)),
                    url('https://d9qd20a2vo3kw.cloudfront.net/login_background.webp');
            }
        }
    