/* Financeiro — Liquid Glass. Presentation only; no external resources. */
@media screen {
  body.financeiro-glass {
    --glass-border: rgba(255, 255, 255, .88);
    --glass-shadow: 0 10px 32px -18px rgba(40, 69, 110, .32), inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(255, 255, 255, .4);
    background: #eaf1f8;
    background-image: radial-gradient(ellipse at 12% 14%, rgba(151, 213, 253, .53), transparent 42%), radial-gradient(ellipse at 88% 20%, rgba(191, 184, 252, .34), transparent 40%), radial-gradient(ellipse at 68% 88%, rgba(140, 230, 211, .38), transparent 46%), linear-gradient(135deg, #f0f6fc, #e9edf8 55%, #edf8f6);
    background-attachment: fixed;
    color: #24334b;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", sans-serif;
    font-optical-sizing: auto;
    letter-spacing: -.012em;
    -webkit-font-smoothing: antialiased;
  }

  .financeiro-glass #root > .min-h-screen {
    background: transparent;
  }

  .financeiro-glass main {
    min-width: 0;
    background: transparent;
  }

  /* Large surfaces get blur; nested controls do not stack expensive filters. */
  .financeiro-glass :is(main, aside) :is(div, form, section)[class~="bg-white"][class~="border"],
  .financeiro-glass main div[class~="bg-slate-50"][class~="border"],
  .financeiro-glass main div[class~="min-h-[140px]"] {
    background: linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.57));
    border-color: var(--glass-border);
    border-radius: 24px;
    box-shadow: var(--glass-shadow);
    -webkit-backdrop-filter: blur(20px) saturate(135%);
    backdrop-filter: blur(20px) saturate(135%);
  }

  .financeiro-glass main div[class~="min-h-[140px]"][class~="bg-teal-50"] {
    background: linear-gradient(135deg, rgba(234,255,251,.91), rgba(211,244,241,.63));
  }
  .financeiro-glass main div[class~="min-h-[140px]"][class~="bg-emerald-50"] {
    background: linear-gradient(135deg, rgba(237,255,247,.91), rgba(213,246,229,.63));
  }
  .financeiro-glass main div[class~="min-h-[140px]"][class~="bg-orange-50"] {
    background: linear-gradient(135deg, rgba(255,248,236,.93), rgba(251,232,211,.66));
  }
  .financeiro-glass main div[class~="min-h-[140px]"][class~="bg-indigo-50"] {
    background: linear-gradient(135deg, rgba(243,243,255,.93), rgba(224,226,253,.66));
  }

  .financeiro-glass aside {
    background: linear-gradient(165deg, rgba(255,255,255,.85), rgba(244,250,255,.66));
    border: 1px solid rgba(255,255,255,.9);
    box-shadow: 8px 0 36px -24px rgba(39,64,110,.3), inset -1px 0 0 rgba(255,255,255,.75);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
    backdrop-filter: blur(28px) saturate(145%);
  }
  .financeiro-glass aside > div { border-color: rgba(153,174,203,.18); }
  .financeiro-glass aside nav { padding-inline: 12px; }
  .financeiro-glass aside nav button {
    border-radius: 17px;
    min-height: 46px;
    border: 1px solid transparent;
    font-weight: 500;
    transition: background-color .18s ease, box-shadow .18s ease;
  }
  .financeiro-glass aside nav button:not(.text-white):hover {
    background: rgba(255,255,255,.7);
    border-color: rgba(255,255,255,.95);
    box-shadow: 0 3px 12px -8px rgba(30,60,100,.35);
  }
  .financeiro-glass aside nav button.text-white {
    background-image: linear-gradient(155deg, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
    border-color: rgba(255,255,255,.5);
    box-shadow: 0 6px 16px -7px rgba(30,80,120,.5), inset 0 1px 0 rgba(255,255,255,.36);
  }

  .financeiro-glass main header h2 { letter-spacing: -.035em; }
  .financeiro-glass :is(h1, h2, h3) {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", sans-serif;
  }
  .financeiro-glass :is(button, input, select, textarea) { font-family: inherit; }
  .financeiro-glass main h3 { letter-spacing: -.02em; }
  .financeiro-glass main div[class~="min-h-[140px]"] h3 {
    font-variant-numeric: tabular-nums;
    letter-spacing: -.035em;
    font-size: 1.375rem;
  }
  .financeiro-glass :is(main, aside) :is(.text-slate-400, .text-slate-500) { color: #596b82; }
  .financeiro-glass :is(.bg-slate-800, .bg-slate-900, .from-slate-900, .from-slate-800) :is(.text-slate-400, .text-slate-500) { color: #b8c6d9; }
  .financeiro-glass main .text-slate-800 { color: #1d2d46; }

  .financeiro-glass :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background-color: rgba(255,255,255,.76);
    border-color: rgba(123,147,178,.32);
    border-radius: 13px;
    box-shadow: inset 0 1px 3px rgba(37,67,104,.035), 0 1px 0 rgba(255,255,255,.8);
    color: #24334b;
  }
  .financeiro-glass :is(input, textarea)::placeholder { color: #64758d; opacity: 1; }
  .financeiro-glass select option { background: #fff; color: #24334b; }
  .financeiro-glass :is(button, input, select, textarea, a):focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 3px;
  }
  .financeiro-glass main button[class~="rounded-lg"],
  .financeiro-glass main button[class~="rounded-xl"] { border-radius: 14px; }
  .financeiro-glass main button[class~="bg-white"] {
    background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(255,255,255,.65));
    border-color: rgba(145,166,196,.27);
    box-shadow: 0 2px 6px -4px rgba(36,67,110,.3), inset 0 1px 0 #fff;
  }
  .financeiro-glass main button:is(.bg-blue-600, .bg-teal-600, .bg-indigo-600, .bg-emerald-600, .bg-slate-900) {
    background-image: linear-gradient(150deg, rgba(255,255,255,.18), transparent);
    box-shadow: 0 4px 12px -6px rgba(23,55,95,.5), inset 0 1px 0 rgba(255,255,255,.3);
  }
  .financeiro-glass button:disabled { opacity: .5; box-shadow: none; }

  /* The reminder strip is glass; warnings keep their semantic colors. */
  .financeiro-glass main .overflow-hidden > div[class~="bg-slate-900"] {
    background: linear-gradient(110deg, rgba(32,49,78,.94), rgba(49,70,102,.89));
    border-bottom: 1px solid rgba(255,255,255,.25);
  }
  .financeiro-glass main div[class~="bg-rose-50"][class~="border"] {
    background-color: rgba(255,235,241,.86);
    border-color: rgba(239,153,174,.3);
    border-radius: 16px;
  }
  .financeiro-glass main div[class~="bg-amber-50"][class~="border"] {
    background-color: rgba(255,247,223,.9);
    border-radius: 16px;
  }
  .financeiro-glass main .bg-slate-50:not(button):not(input):not(select) { background-color: rgba(239,244,250,.65); }
  .financeiro-glass main table { font-variant-numeric: tabular-nums; }
  .financeiro-glass main thead { background: rgba(235,242,250,.72); }
  .financeiro-glass main td { border-color: rgba(148,168,195,.18); }
  .financeiro-glass main tbody tr:hover { background-color: rgba(255,255,255,.5); }
  .financeiro-glass main .recharts-default-tooltip {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid #d7e1ee !important;
    border-radius: 14px;
  }

  @media (min-width: 768px) {
    .financeiro-glass aside {
      margin: 16px 0 16px 16px;
      border-radius: 28px;
      flex-shrink: 0;
      position: sticky;
      top: 16px;
      height: calc(100dvh - 32px);
      overflow-y: auto;
    }
  }
  @media (min-width: 1024px) and (max-width: 1279px) {
    .financeiro-glass main div[class~="lg:grid-cols-4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (min-width: 1280px) and (max-width: 1599px) {
    .financeiro-glass main div[class~="lg:grid-cols-4"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 767px) {
    .financeiro-glass aside { border-radius: 0 28px 28px 0; }
    .financeiro-glass #root > div > div[class~="sticky"] {
      background: rgba(246,251,255,.87);
      border-bottom: 1px solid rgba(255,255,255,.9);
      -webkit-backdrop-filter: blur(18px);
      backdrop-filter: blur(18px);
    }
    .financeiro-glass main { padding-inline: 16px; }
    .financeiro-glass :is(main, aside) :is(div, form, section)[class~="bg-white"][class~="border"],
    .financeiro-glass main div[class~="min-h-[140px]"] {
      border-radius: 20px;
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
    }
  }
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .financeiro-glass aside,
    .financeiro-glass :is(main, aside) :is(div, form, section)[class~="bg-white"][class~="border"] { background-color: #f8fbff; }
  }
  @media (prefers-reduced-transparency: reduce) {
    .financeiro-glass aside,
    .financeiro-glass :is(main, aside) :is(div, form, section)[class~="bg-white"][class~="border"],
    .financeiro-glass main div[class~="min-h-[140px]"] {
      background: #f8fbff;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
    }
    .financeiro-glass .from-slate-900 {
      background: #172439;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .financeiro-glass *, .financeiro-glass *::before, .financeiro-glass *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }
    .financeiro-glass main div[class~="min-h-[140px]"]:hover { translate: none; transform: none !important; }
  }
  @media (forced-colors: active) {
    .financeiro-glass aside,
    .financeiro-glass :is(main, aside) :is(div, form, section)[class~="border"] {
      background: Canvas;
      color: CanvasText;
      border-color: CanvasText;
      box-shadow: none;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
    }
    .financeiro-glass :is(button, input, select, textarea, a):focus-visible { outline-color: Highlight; }
  }
}
