/* ============================================================================
   Login Page — AMI Global Theme Bridge
   Ensures login visuals track the live app theme color (primary / accent / mode).
   Loaded after login-professional.css
   ========================================================================== */

body.login-page {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}

/* ── Dark canvas from brand ramp ── */
[data-bs-theme="dark"] body.login-page,
body.dark-mode.login-page,
body.s-dark.login-page {
    background:
        radial-gradient(ellipse 80% 55% at 10% -10%, rgba(var(--ami-brand-rgb), 0.28), transparent 55%),
        radial-gradient(ellipse 60% 40% at 90% 10%, rgba(var(--ami-accent-rgb), 0.16), transparent 50%),
        linear-gradient(135deg, var(--ami-brand-950) 0%, var(--ami-brand-900) 40%, var(--ami-brand-800) 100%) !important;
}

/* ── Ambient motion tied to brand ── */
body.login-page .login-orb-1 { background: var(--ami-brand-500) !important; }
body.login-page .login-orb-2 { background: var(--ami-accent) !important; }
body.login-page .login-orb-3 { background: var(--ami-brand-300) !important; }
body.login-page .login-particle { background: var(--ami-brand-400) !important; }

body.login-page .login-grid-pattern {
    background-image:
        linear-gradient(rgba(var(--ami-brand-rgb), 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--ami-brand-rgb), 0.06) 1px, transparent 1px) !important;
}

/* ── Card / badge ── */
body.login-page .login-card {
    border-color: rgba(var(--ami-brand-rgb), 0.22) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 25px 60px -20px rgba(var(--ami-brand-deep-rgb), 0.55),
        var(--ami-sh-lg) !important;
}

body.login-page .login-welcome-badge {
    background: rgba(var(--ami-brand-rgb), 0.16) !important;
    color: var(--ami-brand-300) !important;
    border-color: rgba(var(--ami-brand-rgb), 0.32) !important;
}

[data-bs-theme="light"] body.login-page .login-welcome-badge {
    color: var(--ami-brand-700) !important;
    background: rgba(var(--ami-brand-rgb), 0.12) !important;
}

[data-bs-theme="light"] body.login-page .login-card {
    background: var(--ami-glass-strong) !important;
    border-color: var(--ami-border) !important;
}

[data-bs-theme="light"] body.login-page .login-title {
    color: var(--ami-text) !important;
    text-shadow: none;
}

[data-bs-theme="light"] body.login-page .login-subtitle {
    color: var(--ami-text-muted) !important;
}

/* ── Sign-in button = brand gradient ── */
body.login-page #LoginPanel button[type="submit"],
body.login-page #LoginPanel .btn-success,
body.login-page #LoginPanel .btn.btn-success {
    background: var(--ami-grad-brand) !important;
    background-image: var(--ami-grad-brand) !important;
    border: none !important;
    color: var(--ami-on-brand, #fff) !important;
    box-shadow: var(--ami-sh-brand) !important;
}

body.login-page #LoginPanel button[type="submit"]:hover,
body.login-page #LoginPanel .btn-success:hover {
    filter: brightness(1.06);
    box-shadow: 0 12px 28px -8px rgba(var(--ami-brand-rgb), 0.55) !important;
}

body.login-page #LoginPanel input[type="text"]:focus,
body.login-page #LoginPanel input[type="password"]:focus {
    border-color: var(--ami-brand-500) !important;
    background: rgba(var(--ami-brand-rgb), 0.10) !important;
    box-shadow: 0 0 0 4px var(--ami-line-focus-ring) !important;
}

body.login-page #LoginPanel input[type="checkbox"],
body.login-page #LoginPanel .check-box {
    accent-color: var(--ami-brand-600) !important;
}

/* ── Header links & controls ── */
body.login-page .login-header-link:hover {
    color: var(--ami-brand-300) !important;
}

[data-bs-theme="light"] body.login-page .login-header-link {
    color: var(--ami-text-2) !important;
}

[data-bs-theme="light"] body.login-page .login-header-link:hover {
    color: var(--ami-brand-700) !important;
}

body.login-page .login-theme-toggle:hover {
    background: var(--ami-brand-600) !important;
    border-color: var(--ami-brand-600) !important;
}

[data-bs-theme="light"] body.login-page .login-theme-toggle {
    background: rgba(var(--ami-brand-rgb), 0.10) !important;
    border-color: rgba(var(--ami-brand-rgb), 0.22) !important;
    color: var(--ami-text) !important;
}

[data-bs-theme="light"] body.login-page #theme-icon-appearance {
    color: var(--ami-brand-600) !important;
}

body.login-page .login-theme-appearance:hover #theme-icon-appearance {
    color: #ffffff !important;
}

body.login-page .login-security {
    background: rgba(var(--ami-brand-rgb), 0.12) !important;
    border-color: rgba(var(--ami-brand-rgb), 0.24) !important;
}

body.login-page .login-security i {
    color: var(--ami-brand-400) !important;
}

body.login-page .login-footer-link:hover {
    color: var(--ami-brand-400) !important;
}

body.login-page #amiThemePanel {
    z-index: 10050;
}
