/* ================== AUTH PAGES THEME SYSTEM ================== */
/* Shared CSS for: login, register, forgot-password pages */

/* ================== THEME: INDIGO DARK ================== */

.theme-indigo-dark .user-login-container {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%) !important;
}

.theme-indigo-dark .login-card {
    background: rgba(30, 41, 59, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.6),
        0 0 0 1px rgba(99, 102, 241, 0.2),
        inset 0 1px 0 rgba(99, 102, 241, 0.1) !important;
}

.theme-indigo-dark .login-card::before {
    background: linear-gradient(90deg, transparent, #6366f1, transparent) !important;
}

.theme-indigo-dark .login-header .logo-container img {
    filter: drop-shadow(0 4px 12px rgba(99, 102, 241, 0.4)) !important;
}

.theme-indigo-dark .logo-icon {
    background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
    box-shadow: 0 10px 20px rgba(99, 102, 241, 0.4) !important;
}

.theme-indigo-dark .login-title {
    color: #f1f5f9 !important;
    text-shadow: 0 2px 8px rgba(99, 102, 241, 0.3) !important;
}

.theme-indigo-dark .login-subtitle {
    color: #cbd5e1 !important;
}

.theme-indigo-dark .form-control {
    background: rgba(15, 23, 42, 0.8) !important;
    border: 2px solid rgba(51, 65, 85, 0.8) !important;
    color: #f1f5f9 !important;
}

.theme-indigo-dark .form-control::placeholder {
    color: #64748b !important;
}

.theme-indigo-dark .form-control:focus {
    background: rgba(15, 23, 42, 0.95) !important;
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.2) !important;
}

.theme-indigo-dark .form-control.is-invalid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2) !important;
}

.theme-indigo-dark .form-control.is-invalid:focus {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2) !important;
}

.theme-indigo-dark .form-control.is-valid {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2) !important;
    background: rgba(16, 185, 129, 0.1) !important;
}

.theme-indigo-dark .form-control.is-valid:focus {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2) !important;
}

.theme-indigo-dark .form-icon {
    color: #64748b !important;
}

.theme-indigo-dark .form-control:focus + .form-icon {
    color: #818cf8 !important;
}

.theme-indigo-dark .form-control.is-invalid + .form-icon {
    color: #ef4444 !important;
}

.theme-indigo-dark .form-control.is-valid + .form-icon {
    color: #10b981 !important;
}

.theme-indigo-dark .form-check-input {
    background: rgba(15, 23, 42, 0.8) !important;
    border: 2px solid rgba(51, 65, 85, 0.8) !important;
}

.theme-indigo-dark .form-check-input:hover {
    border-color: #475569 !important;
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.3) !important;
}

.theme-indigo-dark .form-check-input:checked {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(139, 92, 246, 0.2)) !important;
    border-color: #6366f1 !important;
    box-shadow: 0 0 15px rgba(99, 102, 241, 0.5) !important;
}

.theme-indigo-dark .form-check-input:checked::after {
    color: #818cf8 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8) !important;
}

.theme-indigo-dark .form-check-input:checked::before {
    border: 2px solid rgba(99, 102, 241, 0.4) !important;
}

.theme-indigo-dark .form-check-label {
    color: #cbd5e1 !important;
}

.theme-indigo-dark .form-check-label:hover {
    color: #f1f5f9 !important;
}

.theme-indigo-dark .btn-login {
    background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4) !important;
}

.theme-indigo-dark .btn-login:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(99, 102, 241, 0.6) !important;
}

.theme-indigo-dark .btn-google-login {
    background: rgba(30, 41, 59, 0.8) !important;
    border: 2px solid rgba(51, 65, 85, 0.8) !important;
    color: #f1f5f9 !important;
}

.theme-indigo-dark .btn-google-login:hover {
    background: rgba(30, 41, 59, 0.95) !important;
    border-color: #6366f1 !important;
    box-shadow: 0 10px 25px rgba(99, 102, 241, 0.4) !important;
    color: #f1f5f9 !important;
}

.theme-indigo-dark .login-links {
    border-top: 1px solid rgba(51, 65, 85, 0.8) !important;
}

.theme-indigo-dark .login-links p {
    color: #cbd5e1 !important;
}

.theme-indigo-dark .login-link {
    color: #818cf8 !important;
}

.theme-indigo-dark .login-link:hover {
    color: #a5b4fc !important;
}

.theme-indigo-dark .login-link::after {
    background: #818cf8 !important;
}

.theme-indigo-dark .admin-link {
    background: rgba(30, 41, 59, 0.8) !important;
    border: 2px solid rgba(51, 65, 85, 0.8) !important;
    color: #f1f5f9 !important;
}

.theme-indigo-dark .admin-link:hover {
    background: rgba(30, 41, 59, 0.95) !important;
    border-color: #6366f1 !important;
    color: #c4b5fd !important;
}

.theme-indigo-dark .alert {
    background: rgba(99, 102, 241, 0.15) !important;
    color: #cbd5e1 !important;
    border-left: 4px solid #6366f1 !important;
}

.theme-indigo-dark .alert-danger {
    background: rgba(239, 68, 68, 0.2) !important;
    color: #f87171 !important;
    border-left: 4px solid #ef4444 !important;
}

.theme-indigo-dark .alert-success {
    background: rgba(16, 185, 129, 0.2) !important;
    color: #34d399 !important;
    border-left: 4px solid #10b981 !important;
}

.theme-indigo-dark .alert-info {
    background: rgba(99, 102, 241, 0.2) !important;
    color: #818cf8 !important;
    border-left: 4px solid #6366f1 !important;
}

/* Development Warning - Dark Theme */
.theme-indigo-dark .alert[style*="background: rgba(255, 193, 7"] {
    background: rgba(245, 158, 11, 0.15) !important;
    border-left: 4px solid #f59e0b !important;
}

.theme-indigo-dark .alert[style*="background: rgba(255, 193, 7"] h5 {
    color: #fbbf24 !important;
}

.theme-indigo-dark .alert[style*="background: rgba(255, 193, 7"] p,
.theme-indigo-dark .alert[style*="background: rgba(255, 193, 7"] ul,
.theme-indigo-dark .alert[style*="background: rgba(255, 193, 7"] li {
    color: #cbd5e1 !important;
}

/* Version Badge - Dark Theme */
.theme-indigo-dark div[style*="background: rgba(102, 126, 234"] {
    background: rgba(99, 102, 241, 0.2) !important;
    border: 1px solid rgba(99, 102, 241, 0.4) !important;
}

.theme-indigo-dark div[style*="background: rgba(102, 126, 234"] span {
    color: #a5b4fc !important;
}

/* Footer - Dark Theme */
.theme-indigo-dark div[style*="bottom: 20px"] p {
    color: rgba(203, 213, 225, 0.6) !important;
}

/* Instructions box - Dark Theme (forgot-password) */
.theme-indigo-dark .mb-3[style*="background: rgba(116, 185, 255, 0.1)"] {
    background: rgba(99, 102, 241, 0.15) !important;
    border-left: 4px solid #6366f1 !important;
}

.theme-indigo-dark .mb-3[style*="background: rgba(116, 185, 255, 0.1)"] p {
    color: #cbd5e1 !important;
}

.theme-indigo-dark .mb-3[style*="background: rgba(116, 185, 255, 0.1)"] i {
    color: #a78bfa !important;
}

/* Validation feedback - Dark Theme */
.theme-indigo-dark .validation-feedback {
    color: #cbd5e1 !important;
}

.theme-indigo-dark .validation-feedback.valid {
    color: #34d399 !important;
}

.theme-indigo-dark .validation-feedback.invalid {
    color: #f87171 !important;
}

/* ================== THEME: INDIGO LIGHT ================== */

.theme-indigo-light .user-login-container {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #667eea 100%) !important;
}

.theme-indigo-light .login-card {
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}

.theme-indigo-light .login-card::before {
    background: linear-gradient(90deg, transparent, #667eea, transparent) !important;
}

.theme-indigo-light .login-header .logo-container img {
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.1)) !important;
}

.theme-indigo-light .logo-icon {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    box-shadow: 0 10px 20px rgba(102, 126, 234, 0.4) !important;
}

.theme-indigo-light .login-title {
    color: #1e293b !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.theme-indigo-light .login-subtitle {
    color: #64748b !important;
}

.theme-indigo-light .form-control {
    background: #f8fafc !important;
    border: 2px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-indigo-light .form-control::placeholder {
    color: #94a3b8 !important;
}

.theme-indigo-light .form-control:focus {
    background: #ffffff !important;
    border-color: #667eea !important;
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.15) !important;
}

.theme-indigo-light .form-control.is-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
}

.theme-indigo-light .form-control.is-invalid:focus {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
}

.theme-indigo-light .form-control.is-valid {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
    background: rgba(16, 185, 129, 0.05) !important;
}

.theme-indigo-light .form-control.is-valid:focus {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
}

.theme-indigo-light .form-icon {
    color: #94a3b8 !important;
}

.theme-indigo-light .form-control:focus + .form-icon {
    color: #667eea !important;
}

.theme-indigo-light .form-control.is-invalid + .form-icon {
    color: #dc2626 !important;
}

.theme-indigo-light .form-control.is-valid + .form-icon {
    color: #10b981 !important;
}

.theme-indigo-light .form-check-input {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid #cbd5e1 !important;
}

.theme-indigo-light .form-check-input:hover {
    border-color: #94a3b8 !important;
    box-shadow: 0 0 10px rgba(102, 126, 234, 0.2) !important;
}

.theme-indigo-light .form-check-input:checked {
    background: linear-gradient(135deg, #e0e7ff, #ddd6fe) !important;
    border-color: #667eea !important;
    box-shadow: 0 0 15px rgba(102, 126, 234, 0.4) !important;
}

.theme-indigo-light .form-check-input:checked::after {
    color: #1e293b !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

.theme-indigo-light .form-check-input:checked::before {
    border: 2px solid rgba(102, 126, 234, 0.3) !important;
}

.theme-indigo-light .form-check-label {
    color: #475569 !important;
}

.theme-indigo-light .form-check-label:hover {
    color: #1e293b !important;
}

.theme-indigo-light .btn-login {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    box-shadow: 0 8px 24px rgba(102, 126, 234, 0.4) !important;
}

.theme-indigo-light .btn-login:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(102, 126, 234, 0.6) !important;
}

.theme-indigo-light .btn-google-login {
    background: white !important;
    border: 2px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-indigo-light .btn-google-login:hover {
    background: #f8fafc !important;
    border-color: #667eea !important;
    box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3) !important;
    color: #1e293b !important;
}

.theme-indigo-light .login-links {
    border-top: 1px solid #e2e8f0 !important;
}

.theme-indigo-light .login-links p {
    color: #64748b !important;
}

.theme-indigo-light .login-link {
    color: #667eea !important;
}

.theme-indigo-light .login-link:hover {
    color: #5568d3 !important;
}

.theme-indigo-light .login-link::after {
    background: #667eea !important;
}

.theme-indigo-light .admin-link {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 2px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-indigo-light .admin-link:hover {
    background: white !important;
    border-color: #667eea !important;
    color: #667eea !important;
}

.theme-indigo-light .alert {
    background: rgba(102, 126, 234, 0.1) !important;
    color: #475569 !important;
    border-left: 4px solid #667eea !important;
}

.theme-indigo-light .alert-danger {
    background: rgba(220, 38, 38, 0.15) !important;
    color: #dc2626 !important;
    border-left: 4px solid #dc2626 !important;
}

.theme-indigo-light .alert-success {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #059669 !important;
    border-left: 4px solid #10b981 !important;
}

.theme-indigo-light .alert-info {
    background: rgba(59, 130, 246, 0.15) !important;
    color: #2563eb !important;
    border-left: 4px solid #3b82f6 !important;
}

/* Instructions box - Light Theme (forgot-password) */
.theme-indigo-light .mb-3[style*="background: rgba(116, 185, 255, 0.1)"] {
    background: rgba(102, 126, 234, 0.1) !important;
    border-left: 4px solid #667eea !important;
}

.theme-indigo-light .mb-3[style*="background: rgba(116, 185, 255, 0.1)"] p {
    color: #475569 !important;
}

.theme-indigo-light .mb-3[style*="background: rgba(116, 185, 255, 0.1)"] i {
    color: #667eea !important;
}

/* Validation feedback - Light Theme */
.theme-indigo-light .validation-feedback {
    color: #64748b !important;
}

.theme-indigo-light .validation-feedback.valid {
    color: #059669 !important;
}

.theme-indigo-light .validation-feedback.invalid {
    color: #dc2626 !important;
}

/* ================== MOBILE RESPONSIVE ================== */

@media (max-width: 768px) {
    /* Hide version badge on mobile */
    div[style*="position: absolute"][style*="top: 15px"][style*="right: 15px"] {
        display: none !important;
    }
    
    /* Language Selector - smaller and more to the corner */
    .language-selector {
        top: 8px !important;
        right: 8px !important;
    }
    
    .language-selector .dropdown-toggle {
        padding: 6px 10px !important;
        font-size: 0.8rem !important;
        gap: 4px !important;
    }
    
    .language-selector .dropdown-toggle span:first-child {
        font-size: 16px !important;
    }
    
    .language-selector .dropdown-toggle span:last-child {
        display: none !important; /* Hide text, show only flag */
    }
    
    /* Logo - responsive sizing */
    .login-header .logo-container img {
        height: 85px !important;
        max-width: 90% !important;
        width: auto !important;
    }
    
    /* Add vertical scroll to card on mobile */
    .login-card {
        max-height: 90vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 576px) {
    /* Logo - same size on small phones */
    .login-header .logo-container img {
        height: 85px !important;
        max-width: 85% !important;
    }
}

@media (max-width: 400px) {
    /* Logo - same size on extra small phones */
    .login-header .logo-container img {
        height: 85px !important;
        max-width: 80% !important;
    }
}
