/* Dark mode improvements for Foidora */

body.dark {
  --foidora-surface-1: #1a1f27;
  --foidora-surface-2: #222833;
  --foidora-surface-3: #2a3140;
  --foidora-border: #3a4354;
  --foidora-text: #e6e9f0;
  --foidora-text-muted: #a8b0bf;
  --foidora-text-strong: #f5f7fb;
  --foidora-glass-bg: rgba(20, 24, 32, 0.7);
  --foidora-glass-border: rgba(255, 255, 255, 0.08);

  --gris-anthracite: #e6e9f0;
  --gris-beton: #a8b0bf;
  --gris-clair: #2a303a;
  --foidora-anthracite: #e6e9f0;
  --foidora-gray-concrete: #a8b0bf;
  --foidora-light: #2a303a;
  --glass-bg: rgba(20, 24, 32, 0.7);
  --glass-border: rgba(255, 255, 255, 0.08);

  --bs-card-bg: var(--foidora-surface-2);
  --bs-card-border-color: var(--foidora-border);
  --bs-dropdown-bg: var(--foidora-surface-2);
  --bs-dropdown-link-color: var(--foidora-text);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.06);
  --bs-dropdown-link-hover-color: var(--foidora-text-strong);
  --bs-modal-bg: var(--foidora-surface-2);
  --bs-modal-border-color: var(--foidora-border);
  --bs-list-group-bg: var(--foidora-surface-2);
  --bs-list-group-border-color: var(--foidora-border);
  --bs-table-color: var(--foidora-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--foidora-border);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.06);
}

body.dark {
  color: var(--foidora-text);
  background-color: var(--bodybg-color);
}

body.dark .text-dark,
body.dark .link-dark {
  color: rgba(var(--dark), 1) !important;
}

body.dark .text-muted,
body.dark .text-secondary,
body.dark .text-body-secondary {
  color: var(--foidora-text-muted) !important;
}

body.dark .bg-warning.text-dark,
body.dark .bg-warning .text-dark,
body.dark .badge.bg-warning,
body.dark .btn-warning,
body.dark .alert-warning {
  color: #1b1e24 !important;
}

body.dark .dashboard-card,
body.dark .feature-card,
body.dark .pricing-card,
body.dark .content-card,
body.dark .auth-card {
  background-color: var(--foidora-surface-2) !important;
  border-color: var(--foidora-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

body.dark .dashboard-card:hover,
body.dark .feature-card:hover,
body.dark .pricing-card:hover {
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

body.dark .auth-form-panel,
body.dark .form-content-box {
  background-color: var(--foidora-surface-2) !important;
}

body.dark .glass-widget {
  background: var(--foidora-glass-bg) !important;
  border-color: var(--foidora-glass-border) !important;
}

body.dark .form-control,
body.dark .form-select,
body.dark .input-group-text {
  background-color: var(--foidora-surface-2) !important;
  border-color: var(--foidora-border) !important;
  color: var(--foidora-text) !important;
}

body.dark .form-control::placeholder,
body.dark .form-select::placeholder {
  color: var(--foidora-text-muted) !important;
}

body.dark .form-control:focus,
body.dark .form-select:focus {
  border-color: rgba(var(--primary), 0.6) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--primary), 0.25);
}

body.dark .form-content-box .form-control,
body.dark .form-content-box .form-container .form-control {
  background-color: var(--foidora-surface-2) !important;
  color: var(--foidora-text) !important;
}

body.dark .select2-container--bootstrap-5 .select2-selection {
  background-color: var(--foidora-surface-2) !important;
  border-color: var(--foidora-border) !important;
  color: var(--foidora-text) !important;
}

body.dark .select2-dropdown,
body.dark .select2-search__field {
  background-color: var(--foidora-surface-2) !important;
  border-color: var(--foidora-border) !important;
  color: var(--foidora-text) !important;
}

body.dark .select2-results__option--highlighted {
  background-color: rgba(var(--primary), 0.2) !important;
  color: var(--foidora-text-strong) !important;
}

body.dark .table thead th {
  color: var(--foidora-text-strong);
}

body.dark .modal-content,
body.dark .dropdown-menu,
body.dark .list-group-item {
  background-color: var(--foidora-surface-2);
  border-color: var(--foidora-border);
  color: var(--foidora-text);
}

body.dark .modal-header,
body.dark .modal-footer,
body.dark .dropdown-divider {
  border-color: var(--foidora-border);
}

body.dark .dropdown-item {
  color: var(--foidora-text);
}

body.dark .dropdown-item:hover,
body.dark .dropdown-item:focus {
  background-color: rgba(255, 255, 255, 0.06);
  color: var(--foidora-text-strong);
}

body.dark .list-group-item-action:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

body.dark .nav-tabs .nav-link {
  color: var(--foidora-text-muted);
}

body.dark .nav-tabs .nav-link.active {
  color: var(--foidora-text-strong);
  background-color: var(--foidora-surface-2);
  border-color: var(--foidora-border);
}

body.dark .alert-secondary {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: var(--foidora-border);
  color: var(--foidora-text);
}

body.dark .pagination-wrapper,
body.dark .pagination-inline-wrapper {
  background-color: var(--foidora-surface-2);
  border-color: var(--foidora-border);
}

body.dark .pagination-info,
body.dark .pagination-info-inline {
  color: var(--foidora-text-muted);
}

body.dark .pagination-info strong {
  color: var(--foidora-text);
}

body.dark .app-pagination .page-link,
body.dark .app-pagination-inline .page-link {
  background-color: var(--foidora-surface-3);
  border-color: var(--foidora-border);
  color: var(--foidora-text);
}

body.dark .app-pagination .page-link:hover:not(:disabled):not(.disabled),
body.dark .app-pagination-inline .page-link:hover:not(:disabled):not(.disabled) {
  background-color: rgba(var(--primary), 0.18);
  border-color: rgba(var(--primary), 0.45);
  color: var(--foidora-text-strong);
}

body.dark .app-pagination .page-item.disabled .page-link,
body.dark .app-pagination-inline .page-item.disabled .page-link {
  color: var(--foidora-text-muted);
  background-color: var(--foidora-surface-2);
  border-color: var(--foidora-border);
}

body.dark .stat-card {
  background: linear-gradient(135deg, #2a3140 0%, #1e232d 100%) !important;
}

body.dark .notification-item:hover,
body.dark .deadline-item:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Dashboard stats refinement */
body.dark .dashboard-card {
  border: 1px solid rgba(255, 255, 255, 0.06);
}

body.dark .dashboard-card.stat-card {
  background: linear-gradient(135deg, #2a3140 0%, #1b212c 100%) !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.45);
}

body.dark .dashboard-card .stat-value {
  color: var(--foidora-text-strong);
}

body.dark .dashboard-card .stat-label {
  color: var(--foidora-text-muted);
}

body.dark .dashboard-card .stat-icon.bg-light-primary {
  background: rgba(var(--primary), 0.2) !important;
  color: rgba(var(--primary), 1) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--primary), 0.35);
}

body.dark .dashboard-card .stat-icon.bg-light-success {
  background: rgba(var(--success), 0.2) !important;
  color: rgba(var(--success), 1) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--success), 0.35);
}

body.dark .dashboard-card .stat-icon.bg-light-warning {
  background: rgba(var(--warning), 0.2) !important;
  color: rgba(var(--warning), 1) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--warning), 0.35);
}

body.dark .dashboard-card .stat-icon.bg-light-danger {
  background: rgba(var(--danger), 0.2) !important;
  color: rgba(var(--danger), 1) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--danger), 0.35);
}

body.dark .dashboard-card .badge-soft-primary {
  background: rgba(140, 198, 255, 0.18);
  color: #8cc6ff;
  border: 1px solid rgba(140, 198, 255, 0.25);
}

body.dark .dashboard-card .bg-light {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

body.dark .dashboard-card .bg-light-primary {
  background-color: rgba(var(--primary), 0.12) !important;
  border: 1px solid rgba(var(--primary), 0.2) !important;
}

body.dark .dashboard-card .progress {
  background: rgba(140, 198, 255, 0.12) !important;
}

body.dark .dashboard-card .list-item-premium:hover {
  background: rgba(140, 198, 255, 0.08) !important;
}

body.dark .dashboard-card .badge.bg-light-success {
  background: rgba(16, 185, 100, 0.18) !important;
  color: #7fe9bf !important;
  border: 1px solid rgba(16, 185, 100, 0.35);
}

/* Dynamic client dashboard (dark) */
body.dark .dashboard-dynamic .card {
  background: var(--foidora-surface-2);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.45);
}

body.dark .dashboard-dynamic .card-header.bg-white {
  background: transparent !important;
}

body.dark .dashboard-dynamic .card-header {
  border-color: rgba(255, 255, 255, 0.08);
}

body.dark .dashboard-dynamic .stat-card::after {
  background: rgba(255, 255, 255, 0.12);
}

body.dark .dashboard-dynamic .stat-card .stat-icon {
  background: rgba(255, 255, 255, 0.18);
}

body.dark .dashboard-dynamic .table thead th {
  color: var(--foidora-text-muted);
}

body.dark .dashboard-dynamic .input-group-text {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--foidora-text);
}

body.dark .dashboard-dynamic #dashboardSearch {
  background: rgba(15, 20, 28, 0.95);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--foidora-text);
}

body.dark .dashboard-dynamic .btn-group .btn-outline-primary.active {
  background: rgba(140, 198, 255, 0.18);
  border-color: rgba(140, 198, 255, 0.35);
  color: #8cc6ff;
}

body.dark .dashboard-dynamic .kpi-card {
  background: rgba(22, 28, 38, 0.92);
  border-color: rgba(255, 255, 255, 0.08);
}

body.dark .dashboard-dynamic .kpi-title {
  color: var(--foidora-text-strong);
}

body.dark .dashboard-dynamic .kpi-track {
  background: rgba(140, 198, 255, 0.12);
}

body.dark .dashboard-dynamic .kpi-fill {
  background: #8cc6ff;
}

body.dark .dashboard-dynamic .notification-item:hover,
body.dark .dashboard-dynamic .deadline-item:hover {
  background: rgba(255, 255, 255, 0.06);
}

body.dark .dashboard-dynamic .loading-overlay {
  background: rgba(15, 20, 28, 0.75);
}

body.dark .timeline-premium {
  border-left-color: rgba(255, 255, 255, 0.15);
}

body.dark .timeline-item-premium::before {
  background: var(--foidora-surface-2);
}

body.dark .premium-title {
  color: var(--foidora-text-strong);
}

body.dark .global-search-loading {
  background: linear-gradient(90deg, #2f3542 25%, #3a4252 50%, #2f3542 75%);
  background-size: 200% 100%;
}

body.dark.auth-page {
  background: linear-gradient(135deg, #101621 0%, #1a2230 100%);
}

body.dark .auth-card {
  background: rgba(28, 34, 44, 0.95) !important;
  border-color: var(--foidora-border) !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.55);
}

body.dark .auth-title {
  color: var(--foidora-text-strong);
}

body.dark.auth-page .form-control.bg-light,
body.dark.auth-page .form-select.bg-light,
body.dark.auth-page .input-group-text.bg-light {
  background-color: var(--foidora-surface-2) !important;
  color: var(--foidora-text) !important;
}

body.dark.auth-page .form-control.bg-light.border-0,
body.dark.auth-page .form-select.bg-light.border-0 {
  border: 1px solid var(--foidora-border) !important;
}

body.dark.auth-page .input-group .input-group-text.bg-light.border-0 {
  border: 1px solid var(--foidora-border) !important;
  border-right: 0 !important;
}

body.dark.auth-page .input-group .form-control.bg-light.border-0 {
  border-left: 0 !important;
}

body.dark.auth-page .border-light-subtle,
body.dark.auth-page .form-control.border-light-subtle,
body.dark.auth-page .form-select.border-light-subtle {
  border-color: var(--foidora-border) !important;
}

body.dark .feature-item {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.08);
}

body.dark .feature-item:hover {
  background: rgba(255, 255, 255, 0.1);
}

body.dark .legal-header {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

body.dark .sidebar-link {
  color: var(--foidora-text);
}

body.dark .sidebar-link:hover,
body.dark .sidebar-link.active {
  background: rgba(255, 255, 255, 0.06);
  color: var(--foidora-text-strong);
}

body.dark .content-card p,
body.dark .content-card li {
  color: var(--foidora-text-muted);
}

body.dark.landing-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(0, 78, 146, 0.22), transparent 45%),
    radial-gradient(circle at 88% 18%, rgba(255, 180, 0, 0.08), transparent 40%),
    linear-gradient(180deg, #0f141c 0%, #161c26 40%, #11161f 100%);
  color: var(--foidora-text);
}

body.dark.landing-page.bg-white,
body.dark.landing-page.bg-light {
  background-color: #0f141c !important;
}

body.dark.landing-page .landing-navbar {
  background: transparent;
}

body.dark.landing-page .landing-navbar.scrolled {
  background: rgba(15, 20, 28, 0.9) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.dark.landing-page .landing-navbar .navbar-brand {
  color: #d9ecff !important;
}

body.dark.landing-page .landing-navbar .nav-link {
  color: var(--foidora-text-muted) !important;
}

body.dark.landing-page .landing-navbar .nav-link:hover,
body.dark.landing-page .landing-navbar .nav-link:focus {
  color: var(--foidora-text-strong) !important;
}

body.dark.landing-page .landing-navbar .nav-link::after {
  background-color: #8cc6ff;
}

body.dark.landing-page .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.15);
}

body.dark.landing-page .navbar-toggler-icon {
  filter: invert(1) brightness(1.4);
}

body.dark.landing-page .navbar-collapse {
  background: rgba(15, 20, 28, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 12px 16px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
}

body.dark.landing-page .hero-section {
  background: radial-gradient(circle at top right, rgba(0, 78, 146, 0.25), transparent),
              radial-gradient(circle at bottom left, rgba(255, 180, 0, 0.1), transparent);
}

body.dark.landing-page .hero-title,
body.dark.landing-page .section-title h2,
body.dark.landing-page .footer h5 {
  color: var(--foidora-text-strong);
}

body.dark.landing-page .hero-subtitle,
body.dark.landing-page .price-currency,
body.dark.landing-page .section-title p,
body.dark.landing-page .pricing-list li {
  color: var(--foidora-text-muted);
}

body.dark.landing-page .hero-badge {
  background: rgba(22, 28, 38, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

body.dark.landing-page .hero-badge h6 {
  color: var(--foidora-text-strong);
}

body.dark.landing-page .hero-badge p {
  color: var(--foidora-text-muted);
}

body.dark.landing-page .footer {
  background: #0f141c;
  color: var(--foidora-text);
}

body.dark.landing-page .bg-light,
body.dark.landing-page .bg-white {
  background-color: #0f141c !important;
}

body.dark.landing-page .bg-light {
  background-color: #111823 !important;
}

body.dark.landing-page .hero-image-wrapper img {
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.65);
}

body.dark.landing-page .section-title .badge,
body.dark.landing-page .bg-primary-light {
  background: rgba(140, 198, 255, 0.15) !important;
  color: #8cc6ff !important;
  border: 1px solid rgba(140, 198, 255, 0.2);
}

body.dark.landing-page .feature-card {
  background: rgba(22, 28, 38, 0.9);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

body.dark.landing-page .feature-card:hover {
  border-color: rgba(140, 198, 255, 0.45);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

body.dark.landing-page .feature-icon-wrapper {
  background: rgba(0, 105, 196, 0.2);
  color: #d9ecff;
}

body.dark.landing-page .pricing-card {
  background: rgba(22, 28, 38, 0.92);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
}

body.dark.landing-page .pricing-card.popular {
  border-color: rgba(140, 198, 255, 0.5);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.5);
}

body.dark.landing-page .pricing-card.popular::before {
  background: #ffcf4a;
  color: #1b1f28;
}

body.dark.landing-page .price-amount {
  color: #8cc6ff;
}

body.dark.landing-page .pricing-list li i {
  color: #6fe3b0;
}

body.dark.landing-page .cta-section {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

body.dark.landing-page .btn-premium-outline {
  border-color: #8cc6ff;
  color: #8cc6ff;
}

body.dark.landing-page .btn-premium-outline:hover {
  background: #8cc6ff;
  color: #0f141c;
}

body.dark.landing-page .accordion-item {
  background: rgba(22, 28, 38, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark.landing-page .accordion-button {
  color: var(--foidora-text-strong) !important;
}

body.dark.landing-page .accordion-button::after {
  filter: invert(1) brightness(1.4);
}

body.dark.landing-page .accordion-button:not(.collapsed) {
  background: rgba(140, 198, 255, 0.08) !important;
  color: var(--foidora-text-strong) !important;
}

body.dark.landing-page .accordion-body {
  color: var(--foidora-text-muted) !important;
}

body.dark.landing-page .footer .border-top,
body.dark.landing-page .footer.border-top-0 .border-top {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark.landing-page .footer a.text-muted {
  color: var(--foidora-text-muted) !important;
}

body.dark.landing-page .footer a.text-muted:hover {
  color: var(--foidora-text-strong) !important;
}

body.dark.landing-page .footer .form-control.bg-light {
  background-color: rgba(22, 28, 38, 0.95) !important;
  color: var(--foidora-text) !important;
}

body.dark.contact-page .contact-hero {
  background: radial-gradient(circle at top right, rgba(0, 78, 146, 0.25), transparent),
              radial-gradient(circle at bottom left, rgba(255, 180, 0, 0.12), transparent);
}

body.dark.contact-page .contact-panel,
body.dark.contact-page .contact-hero-card {
  background: rgba(22, 28, 38, 0.92);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

body.dark.contact-page .contact-info-item {
  border-color: rgba(255, 255, 255, 0.08);
}

body.dark.contact-page .contact-info-icon {
  background: rgba(140, 198, 255, 0.12);
  color: #8cc6ff;
}

body.dark.contact-page .contact-badge {
  background: rgba(140, 198, 255, 0.15);
  color: #8cc6ff;
  border: 1px solid rgba(140, 198, 255, 0.25);
}

body.dark.contact-page .contact-input {
  background: rgba(15, 20, 28, 0.95);
  border-color: var(--foidora-border);
  color: var(--foidora-text);
}

body.dark.contact-page .contact-input::placeholder {
  color: var(--foidora-text-muted);
}

body.dark.contact-page .contact-note {
  background: rgba(140, 198, 255, 0.08);
  border-color: rgba(140, 198, 255, 0.2);
  color: var(--foidora-text);
}

body.dark .swal2-popup {
  background-color: var(--foidora-surface-2) !important;
  color: var(--foidora-text) !important;
}

body.dark .swal2-title,
body.dark .swal2-html-container {
  color: var(--foidora-text) !important;
}
