/* Dark mode refinement only. */
.dark {
  color-scheme: dark;
  --background: 222 28% 6%;
  --foreground: 220 24% 94%;
  --card: 221 23% 10%;
  --card-foreground: 220 24% 94%;
  --popover: 221 26% 9%;
  --popover-foreground: 220 24% 94%;
  --primary: 214 25% 63%;
  --primary-foreground: 222 32% 8%;
  --secondary: 219 20% 17%;
  --secondary-foreground: 42 18% 91%;
  --muted: 219 18% 15%;
  --muted-foreground: 219 12% 72%;
  --accent: 217 26% 19%;
  --accent-foreground: 42 24% 94%;
  --destructive: 0 72% 58%;
  --destructive-foreground: 42 26% 96%;
  --border: 219 18% 24%;
  --input: 219 18% 25%;
  --ring: 214 42% 66%;
  --sidebar-background: 222 34% 5%;
  --sidebar-foreground: 220 14% 76%;
  --sidebar-primary: 214 25% 63%;
  --sidebar-primary-foreground: 222 32% 8%;
  --sidebar-accent: 219 24% 15%;
  --sidebar-accent-foreground: 42 22% 93%;
  --sidebar-border: 219 18% 20%;
  --sidebar-ring: 214 42% 66%;
}

.dark body {
  background:
    radial-gradient(circle at 15% -10%, rgba(48, 65, 92, .28), transparent 34rem),
    radial-gradient(circle at 90% 0%, rgba(117, 140, 174, .12), transparent 28rem),
    hsl(var(--background));
  color: hsl(var(--foreground));
}

.dark ::selection {
  background: rgba(139, 165, 198, .34);
  color: #f5f8fc;
}

.dark [class*="bg-background"] {
  background-color: rgba(10, 15, 23, .92) !important;
}

.dark [class*="bg-card"],
.dark [class*="bg-popover"] {
  background:
    linear-gradient(180deg, rgba(24, 31, 43, .96), rgba(15, 21, 31, .98)) !important;
  color: hsl(var(--card-foreground)) !important;
}

.dark [class*="bg-muted"] {
  background-color: rgba(30, 39, 52, .86) !important;
}

.dark [class*="bg-secondary"] {
  background-color: rgba(35, 46, 62, .9) !important;
  color: hsl(var(--secondary-foreground)) !important;
}

.dark [class*="bg-accent"] {
  background-color: rgba(37, 52, 72, .92) !important;
  color: hsl(var(--accent-foreground)) !important;
}

.dark [class*="border"],
.dark [class*="border-border"],
.dark [class*="border-input"] {
  border-color: rgba(106, 121, 146, .28) !important;
}

.dark [class*="shadow"],
.dark .shadow-subtle {
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .28),
    0 1px 0 rgba(255, 255, 255, .035) inset !important;
}

.dark h1,
.dark h2,
.dark h3,
.dark h4,
.dark [class*="font-bold"],
.dark [class*="font-semibold"] {
  color: #edf2f8;
}

.dark [class*="text-muted-foreground"] {
  color: rgba(203, 213, 226, .78) !important;
}

.dark [class*="text-[#1f2937]"],
.dark [class*="text-[#252525]"],
.dark [class*="text-[#374151]"],
.dark [class*="text-[#3b4dc8]"] {
  color: #e7edf6 !important;
}

.dark [class*="border-[#ded7cc]"] {
  border-color: rgba(108, 125, 153, .36) !important;
}

.dark [class*="bg-[#f8f6f3]"],
.dark [class*="bg-[#fbfaf8]"],
.dark [class*="bg-[#f0ede8]"] {
  background-color: rgba(22, 31, 45, .94) !important;
}

.dark img[src*="logo_ferrareze"] {
  filter: brightness(0) invert(1) sepia(.12) saturate(.55) hue-rotate(176deg) brightness(1.1);
  opacity: .88;
}

.dark [data-sidebar],
.dark [data-sidebar] [class*="bg-white"],
.dark [class*="bg-sidebar"] {
  background-color: rgba(12, 18, 29, .98) !important;
}

.dark [data-sidebar] a,
.dark [data-sidebar] button {
  color: #d9e2ef !important;
}

.dark [data-sidebar] a[data-active="true"],
.dark [data-sidebar] button[data-active="true"],
.dark [data-sidebar] [data-active="true"],
.dark [data-sidebar="menu-button"][data-active="true"] {
  background-color: rgba(52, 66, 88, .86) !important;
  color: #f3f6fb !important;
  box-shadow: inset 0 0 0 1px rgba(146, 172, 206, .2) !important;
}

.dark input,
.dark textarea,
.dark select,
.dark [role="combobox"] {
  background-color: rgba(9, 14, 22, .94) !important;
  border-color: rgba(121, 138, 166, .34) !important;
  color: #f5efe1 !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .035) inset !important;
}

.dark input::placeholder,
.dark textarea::placeholder {
  color: rgba(201, 210, 223, .54) !important;
}

.dark input:focus,
.dark textarea:focus,
.dark select:focus,
.dark [role="combobox"]:focus,
.dark [class*="focus-within"] {
  border-color: rgba(146, 172, 206, .74) !important;
  box-shadow:
    0 0 0 3px rgba(146, 172, 206, .18),
    0 1px 0 rgba(255, 255, 255, .05) inset !important;
}

.dark button[class~="bg-primary"],
.dark a[class~="bg-primary"],
.dark [role="button"][class~="bg-primary"] {
  background:
    linear-gradient(135deg, #40536d, #223047) !important;
  border-color: rgba(173, 190, 214, .36) !important;
  color: #f4f7fb !important;
  text-shadow: none !important;
  box-shadow:
    0 12px 26px rgba(11, 18, 29, .28),
    0 1px 0 rgba(255, 255, 255, .14) inset !important;
}

.dark button[class~="bg-primary"]:hover,
.dark a[class~="bg-primary"]:hover,
.dark [role="button"][class~="bg-primary"]:hover {
  background:
    linear-gradient(135deg, #4b6382, #2b3b54) !important;
  transform: translateY(-1px);
}

.dark button[class*="border"],
.dark a[class*="border"],
.dark [role="button"][class*="border"] {
  border-color: rgba(126, 145, 174, .38) !important;
}

.dark button[class*="bg-background"],
.dark a[class*="bg-background"],
.dark button[class*="border-input"],
.dark a[class*="border-input"],
.dark [role="button"][class*="bg-background"] {
  background: rgba(17, 24, 36, .9) !important;
  color: #efe8d7 !important;
}

.dark button[class*="bg-background"]:hover,
.dark a[class*="bg-background"]:hover,
.dark button[class*="border-input"]:hover,
.dark a[class*="border-input"]:hover,
.dark button[class*="hover:bg-accent"]:hover,
.dark a[class*="hover:bg-accent"]:hover,
.dark button[class*="hover:bg-muted"]:hover,
.dark a[class*="hover:bg-muted"]:hover {
  background: rgba(40, 55, 76, .95) !important;
  color: #f5f8fc !important;
  border-color: rgba(146, 172, 206, .46) !important;
}

.dark button[class*="ghost"],
.dark button[class*="hover:bg-accent"],
.dark a[class*="hover:bg-accent"],
.dark button[class*="hover:bg-muted"],
.dark a[class*="hover:bg-muted"],
.dark [role="button"][class*="hover:bg-accent"],
.dark [role="button"][class*="hover:bg-muted"] {
  color: #ece5d4;
}

.dark button:disabled,
.dark [role="button"][aria-disabled="true"],
.dark [class*="disabled:opacity-50"]:disabled {
  opacity: .46 !important;
  color: rgba(220, 226, 237, .58) !important;
}

.dark button[class*="bg-destructive"],
.dark a[class*="bg-destructive"],
.dark [role="button"][class*="bg-destructive"] {
  background: linear-gradient(135deg, #d94c4c, #9f2626) !important;
  color: #fff6f0 !important;
  border-color: rgba(255, 146, 126, .28) !important;
  box-shadow: 0 12px 24px rgba(140, 35, 35, .24) !important;
}

.dark [class*="text-destructive"] {
  color: #ff8b86 !important;
}

.dark [class*="bg-red-"],
.dark [class*="bg-destructive/10"] {
  background-color: rgba(111, 33, 38, .3) !important;
}

.dark [class*="bg-emerald-"],
.dark [class*="bg-green-"] {
  background-color: rgba(21, 91, 70, .28) !important;
}

.dark [class*="bg-amber-"],
.dark [class*="bg-orange-"] {
  background-color: rgba(128, 88, 29, .26) !important;
}

.dark [class*="bg-blue-"],
.dark [class*="bg-indigo-"],
.dark [class*="bg-purple-"] {
  background-color: rgba(42, 70, 110, .26) !important;
}

.dark [class*="text-red-"] {
  color: #ff9a93 !important;
}

.dark [class*="text-emerald-"],
.dark [class*="text-green-"] {
  color: #6de0b0 !important;
}

.dark [class*="text-amber-"],
.dark [class*="text-orange-"] {
  color: #f6c56b !important;
}

.dark [class*="text-blue-"],
.dark [class*="text-indigo-"],
.dark [class*="text-purple-"] {
  color: #9fc5ff !important;
}

.dark [class*="border-red-"],
.dark [class*="border-destructive"] {
  border-color: rgba(255, 139, 134, .38) !important;
}

.dark [class*="border-emerald-"],
.dark [class*="border-green-"] {
  border-color: rgba(109, 224, 176, .34) !important;
}

.dark [class*="border-amber-"],
.dark [class*="border-orange-"] {
  border-color: rgba(246, 197, 107, .38) !important;
}

.dark [class*="border-blue-"],
.dark [class*="border-indigo-"],
.dark [class*="border-purple-"] {
  border-color: rgba(159, 197, 255, .34) !important;
}

.dark .bg-white,
.dark [class*="bg-white"] {
  background-color: rgba(18, 25, 37, .96) !important;
  color: #f3ecd9 !important;
}

.dark table,
.dark [class*="bg-card"] table {
  color: #eee7d6;
}

.dark thead,
.dark tr[class*="bg-muted"] {
  background-color: rgba(25, 34, 49, .92) !important;
}

.dark tbody tr,
.dark [class*="divide-y"] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgba(107, 123, 148, .2) !important;
}

.dark [class*="hover:bg-muted"]:hover,
.dark [class*="hover:bg-secondary"]:hover {
  background-color: rgba(44, 58, 80, .88) !important;
}

.dark [data-state="active"],
.dark [data-state="on"],
.dark [aria-selected="true"] {
  background: rgba(78, 99, 130, .34) !important;
  color: #f3f7fc !important;
  border-color: rgba(146, 172, 206, .42) !important;
}

.dark [class*="rounded-full"][class*="bg-primary/10"],
.dark [class*="bg-primary/5"],
.dark [class*="border-primary/20"] {
  background-color: rgba(78, 99, 130, .22) !important;
  border-color: rgba(146, 172, 206, .32) !important;
  color: #c9d6e8 !important;
}

.dark [class~="text-primary"] {
  color: #b8c7dc !important;
}

.dark [class~="bg-primary"][class*="transition-all"] {
  background: linear-gradient(90deg, #8fa5c1, #b4c1d1) !important;
}

.dark [class*="bg-sidebar"],
.dark [class*="from-sidebar"],
.dark [class*="to-sidebar"] {
  background-color: rgba(7, 11, 18, .98) !important;
}

.dark [class*="text-sidebar"],
.dark [class*="text-sidebar-foreground"] {
  color: rgba(220, 228, 240, .8) !important;
}

.dark [class*="bg-sidebar-accent"],
.dark [data-sidebar="menu-button"][data-active="true"] {
  background-color: rgba(78, 99, 130, .28) !important;
  color: #e7edf6 !important;
}

.dark [class*="ring-offset-background"] {
  --tw-ring-offset-color: #090e16 !important;
}

.dark [class*="ring-ring"],
.dark *:focus-visible {
  --tw-ring-color: rgba(146, 172, 206, .76) !important;
}

.dark [role="dialog"],
.dark [cmdk-root],
.dark [class*="rounded-md"][class*="bg-popover"],
.dark [class*="rounded-xl"][class*="bg-card"] {
  border-color: rgba(129, 146, 174, .28) !important;
}

.dark [class*="backdrop-blur"] {
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}

.dark .recharts-wrapper text,
.dark .recharts-legend-item-text {
  fill: rgba(231, 238, 248, .8) !important;
  color: rgba(231, 238, 248, .8) !important;
}

.dark .recharts-tooltip-wrapper [class*="bg-background"],
.dark .recharts-default-tooltip {
  background: rgba(12, 18, 28, .96) !important;
  border-color: rgba(146, 172, 206, .28) !important;
  color: #edf2f8 !important;
}

.dark ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.dark ::-webkit-scrollbar-track {
  background: rgba(7, 11, 18, .72);
}

.dark ::-webkit-scrollbar-thumb {
  background: rgba(109, 127, 154, .48);
  border: 2px solid rgba(7, 11, 18, .72);
  border-radius: 999px;
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: rgba(146, 172, 206, .58);
}

@media (max-width: 639px) {
  .dark a[href*="tab=prazos"] {
    display: grid !important;
    grid-template-columns: 4rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .9rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 1rem !important;
  }

  .dark a[href*="tab=prazos"] > div:first-child {
    width: 4rem !important;
    min-width: 4rem !important;
    max-width: 4rem !important;
  }

  .dark a[href*="tab=prazos"] > div:nth-child(2),
  .dark a[href*="tab=prazos"] [class*="flex-1"] {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .dark a[href*="tab=prazos"] [class*="justify-between"] {
    min-width: 0 !important;
    align-items: flex-start !important;
  }

  .dark a[href*="tab=prazos"] h4 {
    display: -webkit-box !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-height: 1.25 !important;
  }

  .dark a[href*="tab=prazos"] p,
  .dark a[href*="tab=prazos"] span {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
}
