    :root {
        --lmi-ink: #101828;
        --lmi-muted: #667085;
        --lmi-border: #e4e7ec;
        --lmi-accent: #2955a6;
        --lmi-accent-dark: #1c3d7a;
        --lmi-accent-soft: #eef2fb;
        --lmi-danger: #b42318;
        --lmi-danger-bg: #fef3f2;
        --lmi-danger-border: #fda29b;
        --lmi-success: #067647;
        --lmi-success-bg: #132e1e;
        --lmi-success-border: #6ce9a6;
    }

    html, body {
        height: 100%;
    }

    body {
        background:
            radial-gradient(circle at 15% 15%, rgba(41, 85, 166, 0.16), transparent 45%),
            radial-gradient(circle at 85% 85%, rgba(41, 85, 166, 0.12), transparent 50%),
            #f7f8fa;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;
    }

    .callout {
        font-size: 13.5px;
        display: none;
        border-radius: 10px;
        padding: 0.7rem 0.9rem;
        border: 1px solid transparent;
    }

    .callout-warning {
        background: var(--lmi-danger-bg) !important;
        border-color: var(--lmi-danger-border) !important;
        color: var(--lmi-danger) !important;
    }

    .callout-success {
        background: var(--lmi-success-bg) !important;
        border-color: var(--lmi-success-border) !important;
        color: var(--lmi-success) !important;
    }

    .cms-logo {
        width: 100%;
        max-width: 168px;
    }

    .auth-shell {
        min-height: 100vh;
    }

    .auth-card {
        width: 100%;
        max-width: 420px;
        background: #ffffff;
        border: 1px solid var(--lmi-border);
        border-radius: 18px;
        box-shadow: 0 2px 4px rgba(16, 24, 40, 0.04), 0 20px 40px -12px rgba(16, 24, 40, 0.10);
        padding: 2.25rem 2.25rem 2rem;
    }

    .auth-brand {
        text-align: center;
        margin-bottom: 1.5rem;
    }

    .auth-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--lmi-accent);
        background: var(--lmi-accent-soft);
        padding: 0.3rem 0.7rem;
        border-radius: 999px;
        margin-bottom: 1.1rem;
    }

    .auth-title {
        font-size: 1.375rem;
        font-weight: 700;
        color: var(--lmi-ink);
        margin-bottom: 0.35rem;
        text-align: center;
    }

    .auth-subtitle {
        font-size: 13.5px;
        color: var(--lmi-muted);
        text-align: center;
        margin-bottom: 1.5rem;
        line-height: 1.5;
    }

    .field-label {
        font-size: 13px;
        font-weight: 600;
        color: var(--lmi-ink);
        margin-bottom: 0.4rem;
        display: block;
    }

    .field-wrap {
        position: relative;
    }

    .field-wrap svg {
        position: absolute;
        left: 0.85rem;
        top: 50%;
        transform: translateY(-50%);
        color: var(--lmi-muted);
        pointer-events: none;
    }

    .form-control.email {
        height: 46px;
        padding-left: 2.6rem;
        border-radius: 10px;
        border: 1px solid var(--lmi-border);
        font-size: 14px;
        color: var(--lmi-ink);
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .form-control.email:focus {
        border-color: var(--lmi-accent);
        box-shadow: 0 0 0 3.5px rgba(41, 85, 166, 0.14);
        outline: none;
    }

    .auth-actions {
        display: flex;
        gap: 0.6rem;
        margin-top: 1.5rem;
    }

    .btn-lmi-primary {
        flex: 1;
        height: 44px;
        border-radius: 10px;
        border: none;
        background: var(--lmi-accent);
        color: #fff;
        font-weight: 600;
        font-size: 14px;
        transition: background 0.15s ease, transform 0.05s ease;
    }

    .btn-lmi-primary:hover {
        background: var(--lmi-accent-dark);
        color: #fff;
    }

    .btn-lmi-primary:active {
        transform: translateY(1px);
    }

    .btn-lmi-secondary {
        height: 44px;
        padding: 0 1.1rem;
        border-radius: 10px;
        border: 1px solid var(--lmi-border);
        background: #fff;
        color: var(--lmi-muted);
        font-weight: 600;
        font-size: 14px;
        transition: background 0.15s ease, border-color 0.15s ease;
    }

    .btn-lmi-secondary:hover {
        background: #f9fafb;
        border-color: #d0d5dd;
        color: var(--lmi-ink);
    }

    .login-desc {
        display: block;
        text-align: center;
        margin-top: 1.75rem;
        font-size: 12.5px;
        color: var(--lmi-muted);
        letter-spacing: 0.02em;
    }

    @media (prefers-reduced-motion: reduce) {
        .form-control.email, .btn-lmi-primary, .btn-lmi-secondary {
            transition: none;
        }
    }