/* ========================================
   KIPO - Dark Mode / Modo Oscuro
   ======================================== */

/* Variables para modo oscuro */
[data-theme="dark"] {
    --color-primary: #0C1A29;
    --color-secondary: #FE6600;
    --color-secondary-hover: #E55D00;
    --color-bg-light: #1a1a1a;
    --color-bg-white: #2a2a2a;
    --color-text-dark: #e5e5e5;
    --color-text-gray: #b0b0b0;
    --color-text-light: #888888;
    --color-border: #404040;
    --color-success: #10b981;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
    --color-info: #3b82f6;
}

/* Ajustes específicos para dark mode */
[data-theme="dark"] body {
    background-color: #1a1a1a;
    color: #e5e5e5;
}

[data-theme="dark"] .sidebar {
    background-color: var(--color-primary);
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .sidebar-header,
[data-theme="dark"] .sidebar-user {
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .sidebar-user-avatar {
    background-color: var(--color-secondary);
}

[data-theme="dark"] .sidebar-user-name {
    color: #ffffff !important;
}

[data-theme="dark"] .nav-link {
    color: #e5e5e5;
}

[data-theme="dark"] .nav-link:hover {
    background-color: rgba(254, 102, 0, 0.2);
}

[data-theme="dark"] .nav-link.active {
    background-color: var(--color-secondary);
    color: #ffffff;
}

[data-theme="dark"] .sidebar-divider {
    border-top-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .main-header {
    background-color: #2a2a2a;
    border-bottom: 1px solid #404040;
}

[data-theme="dark"] .header-title {
    color: #e5e5e5;
}

[data-theme="dark"] .header-user-email {
    color: #b0b0b0;
}

[data-theme="dark"] .card {
    background-color: #2a2a2a;
    border: 1px solid #404040;
}

[data-theme="dark"] .btn-secondary {
    color: #FFF;
}

[data-theme="dark"] .card-header {
    border-bottom-color: #404040;
}

[data-theme="dark"] .table {
    background-color: #2a2a2a;
}

[data-theme="dark"] .table thead {
    background-color: #1a1a1a;
    border-bottom-color: #404040;
}

[data-theme="dark"] .table th {
    color: #b0b0b0;
}

[data-theme="dark"] .table td {
    border-bottom-color: #404040;
    color: #e5e5e5;
}

[data-theme="dark"] .table tbody tr:hover {
    background-color: #333333;
}

[data-theme="dark"] .form-input,
[data-theme="dark"] .form-select,
[data-theme="dark"] .form-textarea {
    background-color: #333333;
    border-color: #404040;
    color: #e5e5e5;
}

[data-theme="dark"] .form-input::placeholder {
    color: #666666;
}

[data-theme="dark"] .form-input:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] .form-textarea:focus {
    border-color: var(--color-primary);
    background-color: #3a3a3a;
}

[data-theme="dark"] .modal-content {
    background-color: #2a2a2a;
}

[data-theme="dark"] .modal-body {
    color: #e5e5e5;
}

[data-theme="dark"] .accordion-content {
    background-color: #2a2a2a;
}

[data-theme="dark"] .info-box {
    background-color: #333333;
    border: 1px solid #404040;
}

[data-theme="dark"] .titulo {
    color: #FFF;
}

[data-theme="dark"] .info-section-title {
    color: #FFF;
}

[data-theme="dark"] .info-box strong {
    color: #FFF;
}

[data-theme="dark"] .info-section {
    background-color: #2a2a2a;
    border-left-color: var(--color-primary);
}

[data-theme="dark"] .info-item {
    background-color: #333333;
}

[data-theme="dark"] .dashboard-card {
    border: 1px solid #404040;
}

[data-theme="dark"] .empty-state-icon {
    color: #555555;
}

[data-theme="dark"] .empty-state-title {
    color: #b0b0b0;
}

[data-theme="dark"] .empty-state-text {
    color: #888888;
}

/* Login page dark mode */
[data-theme="dark"] .login-container {
    background: linear-gradient(135deg, #0a0e14 0%, #1a1a2e 100%);
}

[data-theme="dark"] .login-card {
    background-color: #2a2a2a;
    border: 1px solid #404040;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .login-title {
    color: var(--color-secondary);
}

[data-theme="dark"] .login-remember {
    color: #e5e5e5;
}

[data-theme="dark"] .login-footer {
    color: #b0b0b0;
}

[data-theme="dark"] .login-link {
    color: var(--color-secondary);
}

[data-theme="dark"] .login-link:hover {
    color: var(--color-secondary-hover);
}

[data-theme="dark"] .error-container {
    background-color: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
}

[data-theme="dark"] .error-container h3 {
    color: #fca5a5;
}

/* Register page dark mode */
[data-theme="dark"] .form-container {
    background-color: #2a2a2a;
    border-color: #404040;
}

[data-theme="dark"] .section-title {
    color: #e5e5e5;
}

[data-theme="dark"] .form-section {
    border-bottom-color: #404040;
}

[data-theme="dark"] .input-group label {
    color: #b0b0b0;
}

/* Home page dark mode */
[data-theme="dark"] body {
    background-color: #0a0e14;
}

[data-theme="dark"] .trust-bar {
    background: linear-gradient(90deg, #FE6600 0%, #E55D00 100%);
    color: white;
}

[data-theme="dark"] .trust-bar i {
    color: white;
}

[data-theme="dark"] .main-header {
    background-color: #0C1A29;
    box-shadow: 0 2px 8px rgba(254, 102, 0, 0.2);
}

[data-theme="dark"] .mobile-menu-toggle {
    color: white;
}

[data-theme="dark"] .mobile-menu-toggle:hover {
    color: var(--color-secondary);
}

[data-theme="dark"] .main-nav {
    background-color: #0C1A29;
}

[data-theme="dark"] .main-nav li {
    border-bottom-color: #1a3a52;
}

[data-theme="dark"] .main-nav a {
    color: #e5e5e5;
}

[data-theme="dark"] .main-nav a:hover {
    color: var(--color-secondary);
}

[data-theme="dark"] .hero-content h1 {
    color: #ffffff;
}

[data-theme="dark"] .hero-content p {
    color: #b0b0b0;
}

[data-theme="dark"] .calculator-widget {
    background: linear-gradient(135deg, #0C1A29 0%, #1a3a52 100%);
    border: 2px solid var(--color-secondary);
    box-shadow: 0 10px 40px rgba(254, 102, 0, 0.3);
}

[data-theme="dark"] .calculator-widget h2 {
    color: #ffffff;
}

[data-theme="dark"] #loan-amount-value {
    color: var(--color-secondary);
}

[data-theme="dark"] .detail-item .label {
    color: #e5e5e5;
}

[data-theme="dark"] .detail-item .value {
    color: #ffffff;
}

[data-theme="dark"] .how-it-works {
    background: linear-gradient(180deg, #0a0e14 0%, #0C1A29 100%);
}

[data-theme="dark"] .how-it-works h2 {
    color: var(--color-secondary);
}

[data-theme="dark"] .step {
    background: linear-gradient(135deg, #0C1A29 0%, #1a3a52 100%);
    border: 2px solid rgba(254, 102, 0, 0.3);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .step:hover {
    border-color: var(--color-secondary);
    box-shadow: 0 10px 30px rgba(254, 102, 0, 0.4);
    transform: translateY(-10px);
}

[data-theme="dark"] .step h3 {
    color: var(--color-secondary);
}

[data-theme="dark"] .step p {
    color: #b0b0b0;
}

[data-theme="dark"] .testimonials {
    background-color: #0a0e14;
}

[data-theme="dark"] .testimonials h2 {
    color: var(--color-secondary);
}

[data-theme="dark"] .testimonial-card {
    background: linear-gradient(135deg, #0C1A29 0%, #1a3a52 100%);
    border-left: 5px solid var(--color-secondary);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .testimonial-card:hover {
    box-shadow: 0 10px 30px rgba(254, 102, 0, 0.3);
}

[data-theme="dark"] .testimonial-card p {
    color: #b0b0b0;
}

[data-theme="dark"] .testimonial-card .author {
    color: var(--color-secondary);
}

[data-theme="dark"] .testimonial-card .location {
    color: #e5e5e5;
}

[data-theme="dark"] .main-footer {
    background: linear-gradient(135deg, #0C1A29 0%, #0a0e14 100%);
}

/* Botón flotante en modo oscuro */
[data-theme="dark"] .theme-toggle-floating {
    background: var(--color-secondary);
    box-shadow: 0 4px 15px rgba(254, 102, 0, 0.6);
}

[data-theme="dark"] .theme-toggle-floating:hover {
    background: #E55D00;
    box-shadow: 0 6px 20px rgba(254, 102, 0, 0.8);
    transform: scale(1.1);
}

/* Ajustes de badges en dark mode */
[data-theme="dark"] .badge-primary {
    background-color: rgba(254, 102, 0, 0.2);
    color: var(--color-primary);
}

[data-theme="dark"] .badge-secondary {
    background-color: rgba(12, 26, 41, 0.3);
    color: #6b9ac4;
}

/* Ajustes de alertas en dark mode */
[data-theme="dark"] .alert-success {
    background-color: rgba(16, 185, 129, 0.1);
    border-color: rgba(16, 185, 129, 0.3);
    color: #6ee7b7;
}

[data-theme="dark"] .alert-error {
    background-color: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
    color: #fca5a5;
}

[data-theme="dark"] .alert-warning {
    background-color: rgba(245, 158, 11, 0.1);
    border-color: rgba(245, 158, 11, 0.3);
    color: #fcd34d;
}

[data-theme="dark"] .alert-info {
    background-color: rgba(59, 130, 246, 0.1);
    border-color: rgba(59, 130, 246, 0.3);
    color: #93c5fd;
}

/* Theme Toggle Button */
.theme-toggle {
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.theme-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.theme-toggle i {
    font-size: 1rem;
}

/* Transición suave para cambio de tema */
body,
.sidebar,
.main-header,
.card,
.table,
.form-input,
.form-select,
.form-textarea,
.modal-content,
.login-card {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}