/* Login page styles */
body.login-body {
    background: var(--lp-light-bg, linear-gradient(135deg, #eef2ff 0%, #e0e7ff 50%, #c7d2fe 100%));
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding: 24px 0;
}
[data-theme="dark"] body.login-body {
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #312e81 100%);
}
.login-wrapper { max-width: 520px; width: 92%; }
.login-card {
    background: #fff; border-radius: 16px;
    box-shadow: 0 20px 60px var(--lp-shape-color, rgba(99,102,241,0.15));
    border: 1px solid var(--lp-shape-color, rgba(99,102,241,0.1));
    padding: 28px 40px 24px; width: 100%;
}
[data-theme="dark"] .login-card { background: rgba(30,41,59,0.97); color: #f1f5f9; }
.login-brand { text-align: center; margin-bottom: 20px; }
.login-brand .brand-icon {
    width: 64px; height: 64px; border-radius: 16px; margin: 0 auto 12px;
    background: var(--lp-gradient-bg, linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 1.8rem;
}
.login-brand h3 {
    color: var(--lp-dark, #4338ca); font-weight: 700; font-size: 1.3rem; margin: 0 0 4px;
}
[data-theme="dark"] .login-brand h3 { color: #a5b4fc; }
.login-brand p { color: #64748b; font-size: 0.85rem; margin: 0; }
.login-page .form-label {
    color: var(--lp-dark, #3730a3); font-weight: bold; font-size: 0.9rem; margin-bottom: 0.25rem;
}
[data-theme="dark"] .login-page .form-label { color: #a5b4fc; }
.login-page .form-control, .login-page .form-select {
    height: 42px; padding: 10px 12px; border-radius: 6px;
    border: 1px solid var(--lp-lighter, #e0e7ff); font-size: 15px;
}
.login-page .mb-3 { margin-bottom: 0.75rem !important; }
.login-page .form-control:focus, .login-page .form-select:focus {
    border-color: var(--lp-primary, #6366f1);
    box-shadow: 0 0 0 4px var(--lp-focus-shadow, rgba(99,102,241,0.15));
}
[data-theme="dark"] .login-page .form-control, [data-theme="dark"] .login-page .form-select {
    background: #334155; border-color: #475569; color: #f1f5f9;
}
.password-wrapper { position: relative; }
.password-wrapper .form-control { padding-right: 44px; }
.password-wrapper .eye-toggle {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    border: none; background: none; color: #94a3b8; cursor: pointer;
    font-size: 1.1rem; padding: 4px;
}
.password-wrapper .eye-toggle:hover { color: var(--lp-primary, #6366f1); }
.btn-login {
    width: 40%; margin-left: auto; margin-right: auto; display: block;
    padding: 7px; border-radius: 8px; font-size: 1rem; font-weight: 600;
    background: var(--lp-gradient-bg, linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%));
    color: #fff; border: none; margin-top: 6px;
    box-shadow: var(--lp-btn-shadow, 0 4px 15px rgba(99,102,241,0.4));
    transition: all 0.2s;
}
.btn-login:hover { filter: brightness(0.9); color: #fff; transform: translateY(-2px);
    box-shadow: var(--lp-btn-shadow-hover, 0 6px 20px rgba(99,102,241,0.5)); }
.forgot-link { text-align: center; margin-top: 10px; }
.forgot-link a {
    color: #1e1b4b; text-decoration: none; font-size: 14px; font-weight: 600;
}
.forgot-link a:hover { text-decoration: underline; }
.theme-separator { border-top: 1px solid #e5e7eb; margin: 10px 0 8px; }
[data-theme="dark"] .theme-separator { border-color: #475569; }
.login-footer { text-align: center; font-size: 0.78rem; color: #94a3b8; margin-top: 12px; }
