/* Os dois temas compartilham geometria e significado; mudam somente superfícies e contraste. */
:root:not(.dark) {
  --fh-surface: #fff;
  --fh-surface-strong: #fff;
  --fh-surface-soft: #f3f5f9;
  --fh-surface-muted: #e9eef6;
  --fh-track: #dbe2ec;
  --fh-track-soft: #e9eef6;
  --fh-text: #171e2a;
  --fh-text-soft: #232c3a;
  --fh-muted: #4a5666;
  --fh-muted-strong: #232c3a;
  --fh-success: #15803d;
  --fh-success-strong: #166534;
  --fh-attention: #a16207;
  --fh-warning: #b45309;
  --fh-warning-text: #92400e;
  --fh-danger: #b91c1c;
  --fh-info: #0369a1;
  --fh-donut-center: #fff;
}
html:not(.dark) .fi-body { background-color: #f3f5f9 !important; color: #171e2a; }
/* N4: identidade do documento mantém geometria e passa a ser legível no tema claro. */
html:not(.dark) .gf-import-file-copy strong { color: var(--fh-text); }
html:not(.dark) .gf-import-file-copy small { color: var(--fh-muted); }
html:not(.dark) .gf-import-file-copy span { color: var(--fh-text-soft); }
html:not(.dark) .gf-financial-advisor {
  --advisor-panel: #fff;
  --advisor-panel-strong: #fff;
  --advisor-panel-soft: #e9eef6;
  --advisor-text: #171e2a;
  --advisor-muted: #4a5666;
  --advisor-blue: #0369a1;
  --advisor-green: #15803d;
  --advisor-amber: #b45309;
  --advisor-red: #b91c1c;
  --advisor-slate: #4a5666;
}
html:not(.dark) .ret-page { --ret-text: #171e2a; --ret-surface: #fff; --ret-muted: #4a5666; }
html:not(.dark) :is(.gf-updated-at, .rel-fc small) { color: #4a5666; }
html:not(.dark) :is(.ret-success, .rel-pos) { color: #15803d; }
html:not(.dark) :is(.ret-warning, .rel-fc-value) { color: #b45309; }
html:not(.dark) .ret-info { color: #0369a1; }
html:not(.dark) .ret-danger { color: #b91c1c; }
html:not(.dark) .gf-list-title-row h2,
html:not(.dark) .gf-kpi-card strong { color: #171e2a; }
html:not(.dark) .gf-list-hero-copy p,
html:not(.dark) .gf-kpi-label,
html:not(.dark) .gf-kpi-card small { color: #4a5666; }
html:not(.dark) .gf-list-eyebrow { color: #047857; }
html:not(.dark) .gf-kpi-card { background: #fff; }
html:not(.dark) .gf-table-chip-success { color: #166534; }
html:not(.dark) .gf-table-chip-warning { color: #92400e; }
html:not(.dark) .gf-table-chip-danger { color: #991b1b; }
html:not(.dark) .gf-table-chip-info { color: #075985; }
html:not(.dark) :is(.gf-settle-chip, .gf-settle-preview-identity small, .gf-settle-balance span, .gf-transaction-table-entity-meta) { color: var(--fh-muted); }
html:not(.dark) .gf-settle-amount-income { color: var(--fh-success); }
html:not(.dark) .gf-settle-amount-expense { color: var(--fh-text); }
html:not(.dark) .gf-payment-status {
  --gf-status-bg: #f1f5f9;
  --gf-status-text: #334155;
  --gf-status-muted: #475569;
  box-shadow: none;
}
html:not(.dark) .gf-payment-status.is-paid { --gf-status-bg: #f0fdf4; --gf-status-text: #166534; --gf-status-muted: #15803d; }
html:not(.dark) .gf-payment-status:is(.is-open, .is-receivable) { --gf-status-bg: #eff6ff; --gf-status-text: #1e40af; --gf-status-muted: #1d4ed8; }
html:not(.dark) .gf-payment-status.is-due-today { --gf-status-bg: #fffbeb; --gf-status-text: #92400e; --gf-status-muted: #a16207; }
html:not(.dark) .gf-payment-status.is-receivable-overdue { --gf-status-bg: #fffbeb; --gf-status-text: #92400e; --gf-status-muted: #a16207; }
html:not(.dark) .gf-payment-status.is-overdue { --gf-status-bg: #fef2f2; --gf-status-text: #991b1b; --gf-status-muted: #b91c1c; }
@media (max-width: 1279.98px) {
  html:not(.dark) .fi-resource-transactions .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row) {
    background: #fff !important;
    border-color: #dbe2ec !important;
    box-shadow: 0 5px 13px rgba(23, 30, 42, .06);
  }
}
@media (max-width: 767.98px) {
  html:not(.dark) .fi-ta-row:not(.fi-ta-group-header-row):not(.fi-ta-summary-row):not(.fi-ta-summary-header-row),
  html:not(.dark) .fi-ta-summary-row {
    background: #fff !important;
    border-color: #dbe2ec !important;
    box-shadow: 0 5px 13px rgba(23, 30, 42, .06);
  }
  html:not(.dark) .fi-ta-row > .fi-ta-cell {
    border-bottom-color: #e9eef6 !important;
  }
  html:not(.dark) .fi-ta-cell-label,
  html:not(.dark) .fi-ta-summary-row-heading-cell {
    color: #4a5666 !important;
  }
  html:not(.dark) .fi-ta-summary-row .fi-ta-text-summary {
    border-top-color: #dbe2ec;
  }
  html:not(.dark) .fi-ta-summary-row .fi-ta-text-summary-label { color: #4a5666; }
  html:not(.dark) .fi-ta-summary-row .fi-ta-text-summary > span:last-child { color: #171e2a; }
  html:not(.dark) .fi-ta-row.fi-ta-group-header-row .fi-ta-cell {
    background: #eff6ff !important;
    border-color: #bfdbfe;
  }
  html:not(.dark) .fi-ta-header-toolbar { background: #fff; border-color: #dbe2ec; }
  html:not(.dark) :is(.fi-ta-filters-above-content-ctn.fi-open, .fi-ta-filters-before-content-ctn.fi-open, .fi-ta-filters-after-content-ctn.fi-open, .fi-ta-filters-dropdown .fi-ta-filters) {
    background: #fff !important;
    border-color: #dbe2ec;
  }
  html:not(.dark) .fi-ta-filters-actions-ctn {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 24%);
  }
}
.gf-transactions-section .gf-payment-status-label { white-space: normal; line-height: 1.2; }
@media (max-width: 767.98px) {
  html:not(.dark) .fi-body { background: #f3f5f9 !important; }
  html:not(.dark) :is(.gf-mobile-header, .gf-mobile-tabbar) {
    background: rgba(255, 255, 255, .96);
    border-color: #dbe2ec;
    box-shadow: 0 4px 20px rgba(23, 30, 42, .08);
  }
  html:not(.dark) :is(.gf-mobile-brand, .gf-mobile-icon-btn) { color: #171e2a; }
  html:not(.dark) :is(.gf-mobile-brand-kicker, .gf-mobile-tab) { color: #4a5666; }
  html:not(.dark) .gf-mobile-tab.is-active { color: #047857; }
  html:not(.dark) .gf-mobile-search .fi-input-wrp { background: #f3f5f9 !important; border-color: #dbe2ec !important; }
  html:not(.dark) .gf-mobile-search .fi-input { color: #171e2a !important; }
  html:not(.dark) .gf-mobile-search .fi-global-search-results-ctn { background: #fff; border-color: #dbe2ec; }
  html:not(.dark) .gf-mobile-more-sheet { background: #f3f5f9; border-color: #dbe2ec; color: #171e2a; }
  html:not(.dark) :is(.gf-mobile-more-head p, .gf-mobile-more-group h3) { color: #4a5666; }
  html:not(.dark) .gf-mobile-more-links { background: #fff; border-color: #dbe2ec; }
  html:not(.dark) .gf-mobile-more-link { color: #232c3a; }
  html:not(.dark) .gf-mobile-more-link + .gf-mobile-more-link { border-top-color: #e9eef6; }
  html:not(.dark) .gf-mobile-more-link.is-active { background: #ecfdf5; color: #047857; }
  html:not(.dark) .gf-mobile-more-icon { background: #e9eef6; }
  html:not(.dark) .gf-mobile-more-chevron { color: #64748b; }
}

/* Componentes compartilhados das importações usam os mesmos tokens claros. */
html:not(.dark) :is(.fi-resource-invoice-imports, .fi-resource-fgts-imports, .fi-resource-payroll-imports, .fi-resource-bank-statement-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) :is(.ii-coverage, .gf-import-stepper, .gf-import-panel, .gf-import-state, .gf-import-technical, .gf-import-delete-impact, .gf-import-review-table-wrap, .gf-import-metric, .gf-import-status, .gf-import-footer) {
  --gray-50: #171e2a;
  --gray-100: #171e2a;
  --gray-200: #232c3a;
  --gray-300: #334155;
  --gray-400: #4a5666;
  --gray-500: #64748b;
  --gray-950: #fff;
  --primary-200: #047857;
  --primary-300: #047857;
  --primary-400: #047857;
}
/* Processamento por IA ao vivo: mesmos tokens claros em qualquer importação. */
html:not(.dark) .gf-import-secondary-action {
  color: #171e2a;
  background: #f1f5f9;
  box-shadow: inset 0 0 0 1px #cbd5e1;
}
html:not(.dark) .gf-import-secondary-action:hover { background: #e2e8f0; }
html:not(.dark) :is(.fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) .gf-import-info .gf-import-panel-title { color: #075985; }

html:not(.dark) .gf-ai-live {
  --gray-50: #171e2a;
  --gray-100: #171e2a;
  --gray-200: #232c3a;
  --gray-300: #334155;
  --gray-400: #4a5666;
  --gray-500: #64748b;
  --gray-950: #fff;
}
html:not(.dark) .gf-ai-live-success .gf-ai-live-percent { color: #15803d; }
html:not(.dark) .gf-ai-live-danger .gf-ai-live-percent,
html:not(.dark) .gf-ai-live-error { color: #b91c1c; }
html:not(.dark) .is-done > .gf-ai-live-step-mark { color: #15803d; }
/* Envio do documento ao vivo. */
html:not(.dark) .gf-upload-hud {
  --gray-50: #171e2a;
  --gray-100: #171e2a;
  --gray-200: #232c3a;
  --gray-300: #334155;
  --gray-400: #4a5666;
  --gray-500: #64748b;
  --gray-950: #fff;
  box-shadow: 0 13px 34px -21px rgba(15, 23, 42, .35);
}
html:not(.dark) .gf-upload-hud__steps li.is-done .gf-upload-hud__mark::after { border-color: #15803d; }
/* Resultado da fatura e situação ao vivo na listagem. */
html:not(.dark) :is(.gf-result, .gf-live-status, .gf-cover, .gf-cardctx, .gf-flow, .gf-create-side .fi-fo-toggle-buttons) {
  --gray-50: #171e2a;
  --gray-100: #171e2a;
  --gray-200: #232c3a;
  --gray-300: #334155;
  --gray-400: #4a5666;
  --gray-500: #64748b;
  --gray-950: #fff;
}
html:not(.dark) .gf-result { box-shadow: 0 13px 34px -21px rgba(15, 23, 42, .35); }
html:not(.dark) .gf-create-drop .filepond--drop-label label { color: #4a5666; }
html:not(.dark) .gf-create-drop .filepond--drop-label label strong { color: #171e2a; }
html:not(.dark) .gf-result-check-mark { stroke: #16a34a; }
html:not(.dark) .gf-upload-hud__facts li.is-attention { color: #b45309; }
html:not(.dark) .gf-upload-hud__facts li.is-risk { color: #b91c1c; }

html:not(.dark) :is(.fi-resource-invoice-imports, .fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) :is(.gf-import-tone-success, .gf-import-success, .ii-status-success .ii-status-badge) { color: #15803d; }
html:not(.dark) :is(.fi-resource-invoice-imports, .fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) :is(.gf-import-tone-review, .gf-import-link, .ii-status-ready .ii-status-badge, .ii-status-review .ii-status-badge, .ii-status-waiting .ii-status-badge, .ii-status-pending .ii-status-badge, .ii-status-processing .ii-status-badge, .ii-status-uploaded .ii-status-badge) { color: #0369a1; }
html:not(.dark) :is(.fi-resource-invoice-imports, .fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) :is(.gf-import-tone-warning, .gf-import-warning .gf-import-panel-title, .ii-status-warning .ii-status-badge, .ii-status-missing .ii-status-badge) { color: #92400e; }
html:not(.dark) :is(.fi-resource-invoice-imports, .fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) :is(.gf-import-tone-danger, .gf-import-error, .ii-status-failed .ii-status-badge) { color: #b91c1c; }
html:not(.dark) .fi-resource-invoice-imports .ii-countdown-future { color: #0369a1 !important; }
html:not(.dark) .fi-resource-invoice-imports :is(.ii-countdown-today, .ii-countdown-aging) { color: #92400e !important; }
html:not(.dark) .fi-resource-invoice-imports .ii-countdown-fresh { color: #15803d !important; }
html:not(.dark) .fi-resource-invoice-imports .ii-countdown-stale { color: #b91c1c !important; }
html:not(.dark) .fi-resource-invoice-imports .gf-import-delete-warning { color: #92400e; }
html:not(.dark) .fi-resource-invoice-imports .is-current > .gf-import-step-number { color: #0369a1; }
html:not(.dark) .fi-resource-invoice-imports .is-done > .gf-import-step-number { color: #15803d; }
html:not(.dark) :is(.fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-tax-return-imports) .gf-import-info .gf-import-panel-title { color: #0369a1; }
html:not(.dark) :is(.fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) .is-current > .gf-import-step-number { color: #0369a1; }
html:not(.dark) :is(.fi-resource-bank-statement-imports, .fi-resource-payroll-imports, .fi-resource-fgts-imports, .fi-resource-loan-contract-imports, .fi-resource-retirement-imports, .fi-resource-insurance-policy-imports, .fi-resource-investment-imports, .fi-resource-tax-return-imports) .is-done > .gf-import-step-number { color: #15803d; }

/* Faturas de cartão: painel do mês. */
html:not(.dark) :is(.gf-invboard-context, .gf-invboard-body, .gf-invboard-loading) {
  --gray-50: #171e2a;
  --gray-100: #171e2a;
  --gray-200: #232c3a;
  --gray-300: #334155;
  --gray-400: #4a5666;
  --gray-500: #64748b;
  --gray-900: #fff;
  --gray-950: #fff;
}
html:not(.dark) :is(.gf-invboard-main, .gf-invtile, .gf-invtl, .gf-invboard-metrics > div) { box-shadow: 0 8px 21px -13px rgba(15, 23, 42, .28); }
html:not(.dark) .gf-invtile-state { color: color-mix(in srgb, var(--tone) 75%, #0b0e14); }
html:not(.dark) .gf-invtile-caption { color: color-mix(in srgb, var(--tone) 65%, #171e2a); }
html:not(.dark) :is(.gf-invboard-alert a, .gf-invtile-house em, .gf-invboard-empty a) { filter: brightness(.8); }
html:not(.dark) .gf-invboard-big.is-done { color: #15803d; }
