.theme-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.15);
  background: #ffffff;
  color: #1f2937;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.theme-toggle-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2);
}

.theme-toggle-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25);
}

.theme-toggle-btn i {
  font-size: 15px;
  line-height: 1;
}

.theme-toggle-btn .theme-icon-sun {
  display: none;
}

.theme-dark .theme-toggle-btn {
  background: #0f172a;
  color: #f8fafc;
  border-color: rgba(148, 163, 184, 0.2);
}

.theme-dark .theme-toggle-btn .theme-icon-moon {
  display: none;
}

.theme-dark .theme-toggle-btn .theme-icon-sun {
  display: inline-block;
}

.theme-light .theme-toggle-btn .theme-icon-moon {
  display: inline-block;
}

.theme-light .theme-toggle-btn .theme-icon-sun {
  display: none;
}

.theme-dark body.application {
  background: #0f172a !important;
  color: #e5e7eb !important;
}

.theme-dark .main-content,
.theme-dark .page-content,
.theme-dark .container-application,
.theme-dark .sidenav {
  background: #0f172a !important;
}

.theme-dark .navbar,
.theme-dark .footer,
.theme-dark .card,
.theme-dark .dropdown-menu,
.theme-dark .modal-content,
.theme-dark .list-group-item {
  background-color: #111827 !important;
  color: #e5e7eb;
  border-color: rgba(148, 163, 184, 0.18) !important;
}

.theme-dark .table,
.theme-dark .table thead th,
.theme-dark .table tbody td {
  color: #e5e7eb;
  border-color: rgba(148, 163, 184, 0.18);
}

.theme-dark .form-control,
.theme-dark input,
.theme-dark select,
.theme-dark textarea {
  background-color: #0f172a !important;
  color: #e5e7eb !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}

.theme-dark .form-control::placeholder,
.theme-dark input::placeholder,
.theme-dark textarea::placeholder {
  color: rgba(226, 232, 240, 0.6);
}

.theme-dark .text-muted {
  color: rgba(226, 232, 240, 0.7) !important;
}

.theme-dark .dropdown-item {
  color: #e5e7eb;
}

.theme-dark .dropdown-item:hover,
.theme-dark .dropdown-item:focus {
  background-color: rgba(37, 99, 235, 0.18);
  color: #ffffff;
}

.theme-dark .navbar-nav .nav-link,
.theme-dark .nav-link {
  color: #e5e7eb;
}

.theme-dark .navbar-nav .nav-link:hover,
.theme-dark .nav-link:hover {
  color: #ffffff;
}

.theme-dark body {
  background-color: #0f172a !important;
  color: #e5e7eb !important;
}

.theme-dark .bg-white {
  background-color: #111827 !important;
}

.theme-dark .bg-gray-50 {
  background-color: #0f172a !important;
}

.theme-dark .bg-gray-100 {
  background-color: #111827 !important;
}

.theme-dark .bg-primary-50,
.theme-dark .bg-primary-100,
.theme-dark .bg-secondary-50,
.theme-dark .bg-secondary-100,
.theme-dark .bg-accent-50,
.theme-dark .bg-accent-100 {
  background-color: #111827 !important;
}

.theme-dark .text-gray-900 {
  color: #f8fafc !important;
}

.theme-dark .text-gray-800 {
  color: #e5e7eb !important;
}

.theme-dark .text-gray-700 {
  color: #cbd5f5 !important;
}

.theme-dark .text-gray-600,
.theme-dark .text-gray-500,
.theme-dark .text-gray-400 {
  color: rgba(226, 232, 240, 0.75) !important;
}

.theme-dark .border-gray-200,
.theme-dark .border-gray-100 {
  border-color: rgba(148, 163, 184, 0.2) !important;
}

.theme-dark .shadow-sm,
.theme-dark .shadow,
.theme-dark .shadow-md {
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.35) !important;
}

.theme-dark .hover\:bg-gray-50:hover {
  background-color: rgba(148, 163, 184, 0.08) !important;
}

.theme-dark .hover\:bg-gray-100:hover {
  background-color: rgba(148, 163, 184, 0.14) !important;
}

.theme-dark .border-gray-300 {
  border-color: rgba(148, 163, 184, 0.25) !important;
}

.theme-dark header,
.theme-dark footer,
.theme-dark nav {
  background-color: #111827 !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}

.theme-dark .page-loading {
  background-color: #0f172a;
}

.theme-dark .page-loading .text {
  color: #e5e7eb;
}

.theme-dark .text-black,
.theme-dark .text-gray-950 {
  color: #f8fafc !important;
}

.theme-dark .text-primary-600,
.theme-dark .text-secondary-600,
.theme-dark .text-accent-600 {
  color: #93c5fd !important;
}

.theme-dark [data-lucide] {
  stroke: currentColor;
}

.theme-dark .btn,
.theme-dark .badge {
  color: #e5e7eb;
}
