/* 10.0.10 — política global sem sombras solicitada para toda a aplicação. */
:root{--shadow-card:none!important;--shadow-card-hover:none!important;--shadow-modal:none!important;--shadow-drawer:none!important;--shadow-btn:none!important;--shadow-color:transparent!important}
*,*::before,*::after{box-shadow:none!important;text-shadow:none!important}

/* Cartões de crédito no dashboard: sem sombra e fundo liso */
#virtualCardsSlider .virtual-card,
.virtual-card.virtual-card-credit,
.virtual-card.virtual-card-empty,
.virtual-card {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}
#virtualCardsSlider .virtual-card::before,
#virtualCardsSlider .virtual-card::after,
.virtual-card::before,
.virtual-card::after {
  display: none !important;
}

/* 10.0.10: nenhum efeito de sombra residual. */
[style*="drop-shadow"]{filter:none!important}

/* Indicadores financeiros mantêm o significado das cores em todas as paletas. */
.kpi-card-income { --kpi-bg: var(--success); --kpi-text: var(--text-on-success); --kpi-icon: var(--success-text); }
.kpi-card-expense { --kpi-bg: var(--danger); --kpi-text: var(--text-on-danger); --kpi-icon: var(--danger-text); }
.kpi-card-balance { --kpi-bg: var(--info); --kpi-text: var(--text-on-info); --kpi-icon: var(--info-text); }
.kpi-card-balance.is-negative, .summary-metric-card.mw-balance-negative {
  --kpi-bg: var(--danger); --kpi-text: var(--text-on-danger); --kpi-icon: var(--danger-text);
}
:root body .summary-metric-card.kpi-card:is(.kpi-card-income, .kpi-card-expense, .kpi-card-balance),
:root body .summary-metric-card.mw-balance-negative {
  background: var(--kpi-bg) !important;
  color: var(--kpi-text) !important;
  border-color: var(--kpi-bg) !important;
  box-shadow: none !important;
}
:root body .summary-metric-card.kpi-card :is(.metric-label, .metric-label span, .metric-val, .metric-val.balance),
:root body .summary-metric-card.mw-balance-negative :is(.metric-label, .metric-label span, .metric-val) {
  color: var(--kpi-text, var(--text-main)) !important;
  text-shadow: none !important;
}
:root body .summary-metric-card.kpi-card .metric-icon-box,
:root body .summary-metric-card.mw-balance-negative .metric-icon-box {
  background: var(--bg-card) !important;
  color: var(--kpi-icon, var(--primary-text)) !important;
  border-color: var(--border-card) !important;
  box-shadow: none !important;
}

/* O brilho decorativo não deve alterar o contraste calculado para o banner. */
.mw-ui-revision #sec-dashboard .welcome-banner::before,
.welcome-banner::before { display: none !important; }

/* Primeiro banner de boas-vindas do dashboard: verde com texto branco e caixas funcionais */
.welcome-banner,
.mw-ui-revision #sec-dashboard .welcome-banner {
  background: var(--welcome-bg, var(--primary)) !important;
  box-shadow: none !important;
  color: var(--welcome-text, var(--text-on-primary)) !important;
  text-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: var(--radius-lg, 16px) !important;
}
.welcome-banner .welcome-text-wrap h3,
.welcome-banner .welcome-title,
.mw-ui-revision #sec-dashboard .welcome-text-wrap h3 {
  text-shadow: none !important;
  color: var(--welcome-text, var(--text-on-primary)) !important;
}
.welcome-banner .welcome-text-wrap p,
.welcome-banner .welcome-subtitle,
.welcome-banner #welcomeDateTime,
.mw-ui-revision #sec-dashboard .welcome-text-wrap p {
  text-shadow: none !important;
  color: var(--welcome-text, var(--text-on-primary)) !important;
  max-width: none !important;
}
.welcome-banner .welcome-date-pill,
.welcome-banner .weather-badge-pill,
.mw-ui-revision #sec-dashboard .weather-badge-pill {
  text-shadow: none !important;
  color: var(--welcome-text, var(--text-on-primary)) !important;
  background: var(--welcome-pill-bg, transparent) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

/* Blocos com 4 quadrados/cards: sempre em 1 linha, com deslocamento responsivo (horizontal scroll) */
.top-summary-grid-4,
.top-summary-grid.dashboard-summary-grid,
.top-summary-grid.mw-report-work-kpis,
#sec-reports .top-summary-grid,
.top-summary-grid:has(> :nth-child(4)),
.tx-kpi-horizontal-grid,
#sec-dashboard .dashboard-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(210px, 1fr)) !important;
  grid-auto-flow: column !important;
  gap: 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(148, 163, 184, 0.4) transparent !important;
  padding-bottom: 6px !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.top-summary-grid-4 > *,
.top-summary-grid.dashboard-summary-grid > *,
.top-summary-grid.mw-report-work-kpis > *,
#sec-reports .top-summary-grid > *,
.top-summary-grid:has(> :nth-child(4)) > *,
.tx-kpi-horizontal-grid > *,
#sec-dashboard .dashboard-summary-grid > * {
  min-width: 210px !important;
  scroll-snap-align: start !important;
  grid-column: auto !important;
}

.top-summary-grid-4::-webkit-scrollbar,
.top-summary-grid.dashboard-summary-grid::-webkit-scrollbar,
.top-summary-grid.mw-report-work-kpis::-webkit-scrollbar,
#sec-reports .top-summary-grid::-webkit-scrollbar,
.top-summary-grid:has(> :nth-child(4))::-webkit-scrollbar,
.tx-kpi-horizontal-grid::-webkit-scrollbar,
#sec-dashboard .dashboard-summary-grid::-webkit-scrollbar {
  height: 5px !important;
}

.top-summary-grid-4::-webkit-scrollbar-track,
.top-summary-grid.dashboard-summary-grid::-webkit-scrollbar-track,
.top-summary-grid.mw-report-work-kpis::-webkit-scrollbar-track,
#sec-reports .top-summary-grid::-webkit-scrollbar-track,
.top-summary-grid:has(> :nth-child(4))::-webkit-scrollbar-track,
.tx-kpi-horizontal-grid::-webkit-scrollbar-track,
#sec-dashboard .dashboard-summary-grid::-webkit-scrollbar-track {
  background: transparent !important;
}

.top-summary-grid-4::-webkit-scrollbar-thumb,
.top-summary-grid.dashboard-summary-grid::-webkit-scrollbar-thumb,
.top-summary-grid.mw-report-work-kpis::-webkit-scrollbar-thumb,
#sec-reports .top-summary-grid::-webkit-scrollbar-thumb,
.top-summary-grid:has(> :nth-child(4))::-webkit-scrollbar-thumb,
.tx-kpi-horizontal-grid::-webkit-scrollbar-thumb,
#sec-dashboard .dashboard-summary-grid::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.35) !important;
  border-radius: 999px !important;
}

.top-summary-grid-4::-webkit-scrollbar-thumb:hover,
.top-summary-grid.dashboard-summary-grid::-webkit-scrollbar-thumb:hover,
.top-summary-grid.mw-report-work-kpis::-webkit-scrollbar-thumb:hover,
#sec-reports .top-summary-grid::-webkit-scrollbar-thumb:hover,
.top-summary-grid:has(> :nth-child(4))::-webkit-scrollbar-thumb:hover,
.tx-kpi-horizontal-grid::-webkit-scrollbar-thumb:hover,
#sec-dashboard .dashboard-summary-grid::-webkit-scrollbar-thumb:hover {
  background: rgba(148, 163, 184, 0.6) !important;
}

@media (max-width: 768px) {
  .top-summary-grid-4,
  .top-summary-grid.dashboard-summary-grid,
  .top-summary-grid.mw-report-work-kpis,
  #sec-reports .top-summary-grid,
  .top-summary-grid:has(> :nth-child(4)),
  .tx-kpi-horizontal-grid,
  #sec-dashboard .dashboard-summary-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
    gap: 12px !important;
    padding-bottom: 8px !important;
  }
  .top-summary-grid-4 > *,
  .top-summary-grid.dashboard-summary-grid > *,
  .top-summary-grid.mw-report-work-kpis > *,
  #sec-reports .top-summary-grid > *,
  .top-summary-grid:has(> :nth-child(4)) > *,
  .tx-kpi-horizontal-grid > *,
  #sec-dashboard .dashboard-summary-grid > * {
    min-width: 180px !important;
    grid-column: auto !important;
  }
}

