/* GoFyn Design System foundation. Canonical tokens and primitives for migrated surfaces. */
:root {
  --gofyn-brand-green: #8be52a;
  --gofyn-brand-green-dark: #63bd35;
  --gofyn-brand-ink: #06120d;
  --color-bg: #030807;
  --color-surface: #07120e;
  --color-surface-elevated: #0b1b15;
  --color-surface-hover: #10271d;
  --color-border: rgba(203, 235, 216, .16);
  --color-border-strong: rgba(203, 235, 216, .30);
  --color-text: #f3f8f4;
  --color-text-secondary: #c7d5cc;
  --color-text-muted: #91a198;
  --color-text-inverse: #07100d;
  --color-accent: #8bdc3a;
  --color-accent-hover: #a5ed58;
  --color-accent-active: #6dbb26;
  --color-success: #8bdc3a;
  --color-warning: #e4ad58;
  --color-danger: #ef7777;
  --color-info: #7bb8e5;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; --radius-full: 999px;
  --shadow-sm: 0 4px 14px rgba(0,0,0,.18); --shadow-md: 0 12px 32px rgba(0,0,0,.28); --shadow-lg: 0 22px 64px rgba(0,0,0,.38);
  --font-family-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-size-xs: .75rem; --font-size-sm: .875rem; --font-size-md: 1rem; --font-size-lg: 1.25rem; --font-size-xl: 1.75rem;
  --font-weight-regular: 400; --font-weight-medium: 550; --font-weight-bold: 700;
  --line-height-tight: 1.2; --line-height-normal: 1.5;
  --z-base: 0; --z-sticky: 10; --z-dropdown: 100; --z-drawer: 200; --z-modal: 300; --z-toast: 400;
  --motion-fast: 120ms ease; --motion-normal: 180ms ease;
  --layout-sidebar: 264px; --layout-topbar: 64px;
}

/* Shared GoFyn identity assets. Keep one source of truth across shell and auth. */
body .app-shell .sidebar .brand-link {
  justify-content: flex-start;
  padding-inline: 18px;
}
body .app-shell .sidebar .brand-logo-official {
  display: block;
  width: 154px;
  height: 48px;
  object-fit: contain;
  object-position: left center;
}
body .app-shell .sidebar.is-collapsed .brand-logo-official {
  width: 40px;
  object-fit: cover;
  object-position: left center;
}
body .app-shell .sidebar .brand-link-fallback { display: none; }
body .auth-panel .auth-brand-logo {
  display: block;
  width: min(240px, 78vw);
  height: auto;
  margin-inline: auto;
}
/* Final identity pass: the official asset is the only mark rendered. */
body .app-shell .sidebar .brand-link-fallback,
body .app-shell .sidebar .brand-link-fallback::before {
  display: none !important;
  content: none !important;
}
body .app-shell .sidebar__top {
  min-height: 76px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(139, 229, 42, .22) !important;
}
body .app-shell .sidebar .brand-link {
  height: 52px;
  padding: 0 10px;
}
body .app-shell .sidebar .brand-logo-official {
  width: 178px;
  height: 52px;
  object-fit: contain;
  object-position: left center;
}
body .app-shell .sidebar.is-collapsed .brand-logo-official {
  width: 40px;
  object-fit: cover;
  object-position: left center;
}
body .app-shell .topbar {
  min-height: 78px;
  padding-inline: 24px;
  background: linear-gradient(105deg, #06120d 0%, #071b12 62%, #0b2817 100%) !important;
  border-bottom: 1px solid rgba(139, 229, 42, .28) !important;
}
body .app-shell .topbar-page-title { gap: 12px; }
body .app-shell .topbar-page-icon {
  color: var(--gofyn-brand-green) !important;
  font-size: 1.18rem !important;
}
body .app-shell .topbar-page-text {
  color: #f2f7f4 !important;
  font-size: 1.08rem !important;
  font-weight: 650 !important;
  letter-spacing: -.015em;
}

html, body, .app, .app-shell, .page-area { background: var(--color-bg); color: var(--color-text); font-family: var(--font-family-sans); }
body.auth-layout-body, body.auth-layout-body .auth-page-content { background: var(--color-bg) !important; color: var(--color-text) !important; }
.sidebar { background: #050d0a !important; border-right: 1px solid var(--color-border) !important; box-shadow: 12px 0 32px rgba(0,0,0,.24); }
.sidebar__top { border-bottom: 1px solid var(--color-border) !important; }
.brand-link-fallback { color: var(--color-text) !important; font-weight: 750; letter-spacing: -.03em; }
.nav__hr { border-color: rgba(203,235,216,.10) !important; }
.nav__item { color: var(--color-text-secondary) !important; border-left: 3px solid transparent; }
.nav__item:hover { color: var(--color-text) !important; background: var(--color-surface-hover) !important; }
.nav__item.active { color: var(--color-accent) !important; background: rgba(139,220,58,.09) !important; border-left-color: var(--color-accent); }
.topbar { background: #07120e !important; border-bottom: 1px solid var(--color-border) !important; }
.topbar-page-text, .topbar-text-ui { color: var(--color-text) !important; }
.page-content, .content-area, .main-content { background: var(--color-bg) !important; color: var(--color-text) !important; }
.gofyn-page { min-width: 0; }
.gofyn-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.gofyn-toolbar__actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.gofyn-search { flex: 1 1 280px; min-width: 220px; }
.gofyn-filter-bar { display: grid; gap: var(--space-4); padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.gofyn-filter-bar__row { display: flex; gap: var(--space-3); align-items: end; flex-wrap: wrap; }
.gofyn-filter-bar__row > label, .gofyn-filter-bar__row > .multiselect-field { flex: 1 1 150px; }
.gofyn-table-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow: hidden; }
.gofyn-table-wrapper { overflow-x: auto; }
.gofyn-table { width: 100%; border-collapse: collapse; min-width: 840px; }
.gofyn-table th, .gofyn-table td { padding: var(--space-3) var(--space-4); }
.gofyn-table th { text-align: left; font-size: var(--font-size-xs); letter-spacing: .04em; text-transform: uppercase; }
.gofyn-table__numeric, .gofyn-table__numeric ~ td { text-align: right; font-variant-numeric: tabular-nums; }
.gofyn-table-sort-btn { color: inherit; background: transparent; border: 0; cursor: pointer; font: inherit; padding: 0; }
.gofyn-table tbody tr:hover { background: var(--color-surface-hover); }
.gofyn-empty-state { padding: var(--space-10) var(--space-6); text-align: center; color: var(--color-text-secondary); }
.gofyn-drawer { position: fixed; inset: 0 0 0 auto; width: min(720px, 94vw); z-index: var(--z-drawer); display: flex; flex-direction: column; background: var(--color-surface); box-shadow: var(--shadow-lg); transform: translateX(100%); visibility: hidden; }
.gofyn-drawer.open { transform: translateX(0); visibility: visible; }
.gofyn-drawer__header, .gofyn-drawer__footer { flex: 0 0 auto; padding: var(--space-4) var(--space-6); border-color: var(--color-border); }
.gofyn-drawer__header { border-bottom: 1px solid var(--color-border); }
.gofyn-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: var(--space-6); }
.gofyn-drawer__footer { display: flex; gap: var(--space-2); justify-content: flex-end; border-top: 1px solid var(--color-border); }
.gofyn-form-section { display: grid; gap: var(--space-3); margin-bottom: var(--space-6); }
.gofyn-form-section > h3 { color: var(--color-text-secondary); font-size: var(--font-size-sm); letter-spacing: .04em; text-transform: uppercase; }
.gofyn-alert { min-height: 0; padding: 0; }
.gofyn-alert:not(:empty) { padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface-elevated); }
@media (max-width: 768px) { .gofyn-drawer { width: 100vw; } .gofyn-drawer__body { padding: var(--space-4); } }
.app-shell, .page-area, .content { background: var(--color-bg); }
.panel, .table-panel, .contas-search-panel { background: var(--color-surface); border-color: var(--color-border); box-shadow: var(--shadow-sm); }
.gofyn-page .gofyn-table-card { border-radius: var(--radius-md); }
.gofyn-page .gofyn-filter-bar { border-radius: var(--radius-md); }
.gofyn-page .gofyn-table tbody tr { border-bottom: 1px solid rgba(203,235,216,.08); }
.gofyn-page .gofyn-table tbody tr:hover { background: rgba(139,220,58,.055); }
.btn, .toolbar-btn { border-radius: var(--radius-md); transition: background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast); }
.btn-primary, .toolbar-btn-primary { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-text-inverse); }
.btn-primary:hover, .toolbar-btn-primary:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); }
.btn:focus-visible, .toolbar-btn:focus-visible, .input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.input, select, textarea, .gofyn-input { background: var(--color-surface-elevated) !important; border-color: var(--color-border) !important; color: var(--color-text) !important; }
.input::placeholder { color: var(--color-text-muted); }
table { color: var(--color-text); }
table th { color: var(--color-text-secondary); }
table td { border-color: var(--color-border); }
.money, .valor, [data-money-field] { font-variant-numeric: tabular-nums; }
.drawer-panel, .drawer--contas-pagar, .dash-drawer-shell, .conciliacao-suggestion-drawer { background: var(--color-surface); box-shadow: var(--shadow-lg); }
.drawer-panel:focus-visible, .modal:focus-visible { outline: 2px solid var(--color-accent); }
.form-message.success, .notice-success { color: var(--color-success); }
.form-message.error, .notice-error { color: var(--color-danger); }
.empresas-empty-state, .contas-empty-state { color: var(--color-text-secondary); }
.status-success, .status-paid { color: var(--color-success); }
.status-warning, .status-open { color: var(--color-warning); }
.status-danger, .status-overdue { color: var(--color-danger); }
.status-info, .status-projected { color: var(--color-info); }
.ap-pilot-page .contas-main-filters-row, .ap-pilot-page .contas-extra-filters-row { border-color: var(--color-border); }
/* Official control contracts consumed by the AP pilot. */
.gofyn-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 38px; padding: 0 var(--space-4); border: 1px solid transparent; border-radius: var(--radius-md); font: inherit; font-weight: var(--font-weight-medium); cursor: pointer; text-decoration: none; }
.gofyn-button--secondary { background: var(--color-surface-elevated); border-color: var(--color-border-strong); color: var(--color-text-secondary); }
.gofyn-button--secondary:hover, .gofyn-button--ghost:hover { background: var(--color-surface-hover); color: var(--color-text); }
.gofyn-button--ghost { background: transparent; border-color: var(--color-border); color: var(--color-text-secondary); }
.gofyn-button--danger { background: var(--color-danger); border-color: var(--color-danger); color: #1a0808; }
.gofyn-button:disabled { opacity: .55; cursor: not-allowed; }
.gofyn-input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-elevated); color: var(--color-text); font: inherit; }
.gofyn-input:hover { border-color: var(--color-border-strong); }
.gofyn-input:disabled { opacity: .6; cursor: not-allowed; }
.gofyn-drawer-backdrop { position: fixed; inset: 0; z-index: calc(var(--z-drawer) - 1); background: rgba(0,0,0,.55); }

/* Global legacy-consumer consolidation: keep all native and shared controls on the
   canonical dark surfaces without introducing a second theme layer. */
html body .input,
html body select,
html body textarea,
html body input[type="date"],
html body input[type="number"],
html body input[type="text"],
html body input[type="email"],
html body input[type="password"] { background: var(--color-surface-elevated); color: var(--color-text); border-color: var(--color-border); }
html body .input:focus, html body select:focus, html body textarea:focus,
html body input:focus { border-color: var(--color-accent); box-shadow: 0 0 0 2px rgba(139,220,58,.18); }
html body .input::placeholder, html body textarea::placeholder, html body input::placeholder { color: var(--color-text-muted); }
html body input[type="file"] { color: var(--color-text-secondary); background: var(--color-surface-elevated); border: 1px solid var(--color-border); }
html body input[type="file"]::file-selector-button { margin-right: var(--space-3); padding: 8px 12px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text-secondary); }
html body .dash-tab-btn, html body .segmented-control button { background: var(--color-surface-elevated); color: var(--color-text-secondary); border-color: var(--color-border); }
html body .dash-tab-btn.active, html body .segmented-control button.active { background: var(--color-surface-hover); color: var(--color-accent); border-color: var(--color-border-strong); }
html body .multiselect-trigger, html body .multiselect-menu, html body .multiselect-search-input, html body .multiselect-option { background: var(--color-surface-elevated); color: var(--color-text-secondary); border-color: var(--color-border); }
html body .multiselect-option:hover, html body .multiselect-option.is-active { background: var(--color-surface-hover); color: var(--color-text); }
html body .panel, html body .card, html body .table-panel, html body .drawer-panel, html body .modal, html body .filter-panel { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
html body .btn, html body button, html body .toolbar-btn { color: var(--color-text-secondary); border-color: var(--color-border); }
html body .btn-primary, html body .toolbar-btn-primary { background: var(--color-accent); color: var(--color-text-inverse); border-color: var(--color-accent); }
html body .btn-ghost, html body .btn-secondary { background: var(--color-surface-elevated); color: var(--color-text-secondary); }
html body .status-badge, html body .badge { border-color: var(--color-border); }

/* 27F visual correction: compact financial forms, readable hierarchy and
   responsive grids on the existing dark design system. */
.gofyn-drawer,
.drawer-panel.drawer--contas-pagar { width: min(820px, 92vw); }
.gofyn-drawer__body,
.drawer-panel .drawer-body { padding: 20px; }
.gofyn-form-section { gap: 10px; margin-bottom: 18px; }
.gofyn-form-section > h3,
.drawer-panel .form-section-title,
.drawer-panel .section-title { margin: 0; font-size: .78rem; line-height: 1.25; color: var(--color-text-secondary); }
.drawer-panel .form-grid,
.drawer-panel .form-grid-2,
.drawer-panel .contas-entity-grid { gap: 10px 14px; }
.drawer-panel .form-grid-2,
.drawer-panel .contas-entity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.drawer-panel .form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.drawer-panel label { font-size: .8rem; line-height: 1.25; color: var(--color-text-secondary); }
.drawer-panel .input,
.drawer-panel select,
.drawer-panel textarea,
.drawer-panel .gofyn-input { min-height: 34px; padding: 6px 9px; }
.drawer-panel .drawer-actions { gap: 8px; padding-top: 12px; }
.gofyn-table th, .gofyn-table td { padding: 8px 12px; line-height: 1.3; font-size: .85rem; }
.contas-pagar-page table tbody tr:hover,
.contas-receber-page table tbody tr:hover,
.ap-pilot-page table tbody tr:hover { background: var(--color-surface-hover); }
.contas-pagar-page table tbody tr.selected,
.contas-receber-page table tbody tr.selected,
.contas-pagar-page table tbody tr[aria-selected="true"],
.contas-receber-page table tbody tr[aria-selected="true"] { background: rgba(139,220,58,.10); }
.dashboard-page .dash-hero-card h2,
.dashboard-page .dash-panel h3,
.dashboard-page .dash-chart-header h3,
.dash-page .dash-hero-card h2,
.dash-page .dash-panel h3,
.dash-page .dash-chart-header h3 { color: var(--color-text); }
.dash-page .dash-panel-subtitle,
.dash-page .dash-legend-note,
.dash-page .dash-empty-note,
.dash-page .dash-filter-bar label { color: var(--color-text-secondary); }
.dash-page .dash-filter-bar,
.dash-page .dash-filter-bar select,
.dash-page .dash-custom-date { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
.dash-page .dash-period-tabs,
.dash-page .dash-view-tabs { border-color: var(--color-border); }
.dash-page .dash-tab-btn:hover,
.dash-page .dash-view-tab:hover,
.dash-page .dash-sort-btn:hover { background: var(--color-surface-hover); color: var(--color-text); }
.dash-page .dash-row-clickable:hover td { background: var(--color-surface-hover); color: var(--color-text); }
.dash-page .dash-side-summary,
.dash-page .dash-preportal-panel,
.dash-page .dash-chart-panel,
.dash-page .dash-analytics-panel,
.dash-page .dash-comparison-card { background: var(--color-surface); border-color: var(--color-border); }
.contas-pagar-page .contas-main-filters-row,
.contas-pagar-page .contas-extra-filters-row,
.contas-receber-page .contas-main-filters-row,
.contas-receber-page .contas-extra-filters-row { background: var(--color-surface); }
.contas-pagar-page .conta-file-picker,
.contas-receber-page .conta-file-picker,
.contas-pagar-page .upload-area,
.contas-receber-page .upload-area,
.contas-pagar-page .ofx-import,
.contas-receber-page .ofx-import { background: var(--color-surface-elevated); border-color: var(--color-border); color: var(--color-text-secondary); }
@media (max-width: 1100px) {
  .drawer-panel .form-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drawer-panel .form-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .gofyn-drawer, .drawer-panel.drawer--contas-pagar { width: 100vw; }
  .drawer-panel .form-grid-2,
  .drawer-panel .contas-entity-grid,
  .drawer-panel .form-grid-3,
  .drawer-panel .form-grid-6 { grid-template-columns: 1fr; }
  .drawer-panel .drawer-body, .gofyn-drawer__body { padding: 16px; }
  .gofyn-toolbar__actions { width: 100%; }
  .gofyn-table { min-width: 680px; }
}
/* 27F follow-up: AP uses the canonical gofyn-drawer classes (not legacy drawer-panel). */
.gofyn-drawer .form-grid-2,
.gofyn-drawer .contas-entity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.gofyn-drawer .form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; }
.gofyn-drawer .form-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px 14px; }
.gofyn-drawer .form-grid-6 .contas-col-span-2 { grid-column: span 2; }
.gofyn-drawer .form-block { margin-bottom: 0; }
.gofyn-drawer label { color: var(--color-text-secondary); }
@media (max-width: 1100px) {
  .gofyn-drawer .form-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gofyn-drawer .form-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gofyn-drawer .form-grid-6 .contas-col-span-2 { grid-column: span 1; }
}
@media (max-width: 768px) {
  .gofyn-drawer .form-grid-2,
  .gofyn-drawer .contas-entity-grid,
  .gofyn-drawer .form-grid-3,
  .gofyn-drawer .form-grid-6 { grid-template-columns: 1fr; }
  .gofyn-drawer .form-grid-6 .contas-col-span-2 { grid-column: auto; }
}
/* 27F card parity: legacy AP sub-sections inherit the official dark surface. */
.gofyn-drawer .contas-subfav-section,
.gofyn-drawer .contas-drawer-section,
.gofyn-drawer #conta-auditoria,
.gofyn-drawer .contas-subfav-table-wrap { background: var(--color-surface-elevated); border-color: var(--color-border); color: var(--color-text); }
.gofyn-drawer .contas-subfav-table-wrap { overflow: hidden; }
.gofyn-drawer .contas-subfav-table thead th,
.gofyn-drawer .contas-subfav-table tbody td,
.gofyn-drawer .contas-drawer-section-title { color: var(--color-text-secondary); border-color: var(--color-border); }
.gofyn-drawer .contas-subfav-table thead th { background: var(--color-surface); }
.gofyn-drawer .contas-subfav-summary p,
.gofyn-drawer .form-help,
.gofyn-drawer #conta-auditoria-status { color: var(--color-text-muted); }
.gofyn-drawer .contas-drawer-section textarea,
.gofyn-drawer .contas-drawer-section input,
.gofyn-drawer .contas-drawer-section select { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
/* 27F final spacing and control parity inside AP cards. */
.gofyn-drawer .contas-drawer-section,
.gofyn-drawer .contas-subfav-section { margin-top: 16px; padding: 14px; gap: 12px; }
.gofyn-drawer .contas-pay-top-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.gofyn-drawer .contas-pay-bottom-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; align-items: end; }
.gofyn-drawer .contas-pay-actions { display: flex; align-items: end; height: 100%; }
.gofyn-drawer .contas-pay-actions .gofyn-button { width: auto; }
.gofyn-drawer .contas-subfav-col-actions .contas-subfav-row-action,
.gofyn-drawer .contas-subfav-add,
.gofyn-drawer .contas-subfav-remove { min-height: 34px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-text-secondary); }
.gofyn-drawer .contas-subfav-col-actions .contas-subfav-row-action:hover,
.gofyn-drawer .contas-subfav-add:hover,
.gofyn-drawer .contas-subfav-remove:hover { background: var(--color-surface-hover); color: var(--color-text); border-color: var(--color-accent); }
.gofyn-drawer .btn,
.gofyn-drawer button:not(.entity-autocomplete-option) { min-height: 34px; border-radius: var(--radius-md); font: inherit; }
@media (max-width: 768px) {
  .gofyn-drawer .contas-pay-top-grid,
  .gofyn-drawer .contas-pay-bottom-row { grid-template-columns: 1fr; }
}
/* Keep standalone AP form blocks separated from adjacent cards. */
.gofyn-drawer #conta-edit-form > .form-grid,
.gofyn-drawer #conta-edit-form > .contas-drawer-section,
.gofyn-drawer #conta-edit-form > .contas-subfav-section { margin-bottom: 16px; }
.gofyn-drawer #conta-apply-group-wrap { margin-top: 16px; padding: 4px 0; }
.gofyn-drawer .switch-inline { display: flex; flex-direction: row; align-items: center; gap: 8px; color: var(--color-text-secondary); }
.gofyn-drawer .switch-inline input { width: 14px; min-height: 14px; accent-color: var(--color-accent); }
.gofyn-drawer .gofyn-button--primary { background: var(--color-accent); border: 1px solid var(--color-accent); color: var(--color-text-inverse); }
.gofyn-drawer .gofyn-button--primary:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); }
.gofyn-drawer .gofyn-button--primary:disabled { background: var(--color-surface-elevated); border-color: var(--color-border); color: var(--color-text-muted); opacity: .7; }
.gofyn-drawer .gofyn-button--secondary { background: var(--color-surface-elevated); border-color: var(--color-border-strong); color: var(--color-text-secondary); }
.gofyn-drawer .gofyn-button--danger { background: transparent; border-color: rgba(239,119,119,.5); color: var(--color-danger); }
.gofyn-drawer .gofyn-drawer__footer { margin-top: 8px; padding: 14px 0 0; }
/* AP drawer navigation: keep the long form scannable without changing its fields. */
.conta-drawer-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 4px 0 12px; margin-bottom: 4px; border-bottom: 1px solid var(--color-border); }
.conta-drawer-tab { flex: 0 0 auto; min-height: 34px; padding: 7px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-elevated); color: var(--color-text-secondary); font: inherit; font-size: .82rem; cursor: pointer; white-space: nowrap; }
.conta-drawer-tab:hover { background: var(--color-surface-hover); color: var(--color-text); }
.conta-drawer-tab.is-active { background: rgba(139,220,58,.12); border-color: var(--color-accent); color: var(--color-accent); }
.conta-drawer-panels { min-height: 0; }
.conta-drawer-panel { min-width: 0; }
.conta-drawer-panel[hidden] { display: none; }
.conta-drawer-panel > :first-child { margin-top: 4px; }
.gofyn-drawer #conta-edit-form > .gofyn-form-section:last-child { margin-top: 16px; }
.gofyn-drawer #conta-edit-form > .gofyn-form-section:last-child > h3,
.gofyn-drawer #conta-edit-form > .gofyn-form-section:last-child > .drawer-divider { display: none; }
@media (max-width: 768px) { .conta-drawer-tab { padding-inline: 10px; font-size: .78rem; } }
/* AP list hover: keep the hovered record in the dark table instead of the legacy white highlight. */
.contas-pagar-page .gofyn-table tbody tr.empresa-row:hover td,
.contas-pagar-page .gofyn-table tbody tr:hover td { background: var(--color-surface-hover); color: var(--color-text); }
.contas-pagar-page .gofyn-table tbody tr:nth-child(even) td { background: transparent; }
.contas-pagar-page .gofyn-table tbody tr:nth-child(even):hover td { background: var(--color-surface-hover); }
.contas-pagar-page .gofyn-table tbody tr:hover .empresa-row-chevron { color: var(--color-accent); }
/* Primary creation action follows the same contract as Save. */
.gofyn-button.gofyn-button--primary { background: var(--color-accent); border: 1px solid var(--color-accent); color: var(--color-text-inverse); box-shadow: var(--shadow-sm); }
.gofyn-button.gofyn-button--primary:hover,
.gofyn-button.gofyn-button--primary:focus-visible { background: var(--color-accent-hover); border-color: var(--color-accent-hover); color: var(--color-text-inverse); }
.gofyn-button.gofyn-button--primary:active { background: var(--color-accent-active); border-color: var(--color-accent-active); }
.gofyn-button.gofyn-button--primary:disabled { background: var(--color-surface-elevated); border-color: var(--color-border); color: var(--color-text-muted); opacity: .7; }
/* Modern tab treatment: navigation tabs, not pill buttons. */
.conta-drawer-tabs { gap: 2px; align-items: flex-end; padding: 0; margin: 0 0 16px; border-bottom: 1px solid var(--color-border); }
.conta-drawer-tab { position: relative; min-height: 40px; padding: 9px 12px 10px; border: 0; border-radius: 0; background: transparent; color: var(--color-text-muted); font-size: .82rem; font-weight: 550; transition: color var(--motion-fast), background var(--motion-fast); }
.conta-drawer-tab::after { content: ""; position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; background: transparent; border-radius: 2px 2px 0 0; }
.conta-drawer-tab:hover { background: rgba(139,220,58,.06); color: var(--color-text); }
.conta-drawer-tab.is-active { background: transparent; color: var(--color-accent); }
.conta-drawer-tab.is-active::after { background: var(--color-accent); }
@media (max-width: 768px) { .conta-drawer-tabs { margin-bottom: 12px; } .conta-drawer-tab { padding-inline: 9px; } .conta-drawer-tab::after { right: 7px; left: 7px; } }
/* Inside tabs, sections already have their own hierarchy; remove redundant outer cards. */
.gofyn-drawer .conta-drawer-panel .contas-drawer-section,
.gofyn-drawer .conta-drawer-panel .contas-subfav-section { margin: 12px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gofyn-drawer .conta-drawer-panel .contas-drawer-section:first-child,
.gofyn-drawer .conta-drawer-panel .contas-subfav-section:first-child { margin-top: 4px; }
.gofyn-drawer .conta-drawer-panel .contas-subfav-table-wrap { background: transparent; }
.gofyn-drawer .conta-drawer-panel .contas-drawer-section-title { margin-bottom: 10px; }
/* Calendar controls use the same dark control contract as the filter inputs. */
.contas-pagar-page .date-picker-trigger,
.contas-receber-page .date-picker-trigger { width: 40px; height: 40px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); background: var(--color-surface-elevated); color: var(--color-text-secondary); }
.contas-pagar-page .date-picker-trigger:hover,
.contas-pagar-page .date-picker-trigger:focus-visible,
.contas-receber-page .date-picker-trigger:hover,
.contas-receber-page .date-picker-trigger:focus-visible { border-color: var(--color-accent); background: var(--color-surface-hover); color: var(--color-accent); box-shadow: 0 0 0 3px rgba(139,220,58,.14); }
.date-picker-popover .date-picker-panel { background: var(--color-surface); border-color: var(--color-border); color: var(--color-text); }
.date-picker-popover .date-picker-nav,
.date-picker-popover .date-picker-footer-btn { background: var(--color-surface-elevated); border-color: var(--color-border); color: var(--color-text-secondary); }
.date-picker-popover .date-picker-nav:hover,
.date-picker-popover .date-picker-footer-btn:hover { background: var(--color-surface-hover); color: var(--color-accent); }
/* Align AP drawer section tabs to the right edge of the content area. */
.conta-drawer-tabs { justify-content: flex-end; }
@media (max-width: 768px) { .conta-drawer-tabs { justify-content: flex-start; } }
/* Keep the filter card visually separated from the no-results card. */
.contas-pagar-page .gofyn-filter-bar + .gofyn-table-card,
.contas-pagar-page .gofyn-filter-bar + .gofyn-empty-state,
.contas-receber-page .gofyn-filter-bar + .gofyn-table-card,
.contas-receber-page .gofyn-filter-bar + .gofyn-empty-state { margin-top: 14px; }
/* Dark calendar popover: remove the remaining light header island. */
.date-picker-popover .date-picker-panel { background: var(--color-surface); border-color: var(--color-border); box-shadow: var(--shadow-md); }
.date-picker-popover .date-picker-header { background: var(--color-surface-elevated); border-color: var(--color-border); }
.date-picker-popover .date-picker-title { color: var(--color-text); }
.date-picker-popover .date-picker-nav { background: var(--color-surface); color: var(--color-text-secondary); }
.date-picker-popover .date-picker-nav:hover,
.date-picker-popover .date-picker-nav:focus-visible { background: var(--color-surface-hover); color: var(--color-accent); }
.date-picker-popover .date-picker-weekdays { color: var(--color-text-muted); }
.date-picker-popover .date-picker-day { color: var(--color-text-secondary); }
.date-picker-popover .date-picker-day:hover,
.date-picker-popover .date-picker-day:focus-visible { background: var(--color-surface-hover); color: var(--color-text); }
.date-picker-popover .date-picker-day.is-outside-month { color: var(--color-text-muted); opacity: .7; }
.date-picker-popover .date-picker-day.is-today { box-shadow: inset 0 0 0 1px var(--color-accent); }
.date-picker-popover .date-picker-day.is-selected { background: #3c9e8c; color: #f3f8f4; }
/* AP table density and status badges. */
.contas-pagar-page .gofyn-table { font-size: .82rem; }
.contas-pagar-page .gofyn-table th { font-size: .72rem; }
.contas-pagar-page .gofyn-table td { font-size: .82rem; }
.contas-pagar-page .badge { background: transparent; border: 1px solid currentColor; color: var(--color-text-secondary); }
.contas-pagar-page .badge.status-success,
.contas-pagar-page .badge.status-paid { color: var(--color-success); border-color: rgba(139,220,58,.55); }
.contas-pagar-page .badge.status-danger,
.contas-pagar-page .badge.status-overdue { color: var(--color-danger); border-color: rgba(239,119,119,.6); }
.contas-pagar-page .badge.liberado-pagamento-badge { color: var(--color-warning); border-color: rgba(228,173,88,.55); }
/* AP drawer reference treatment, preserving the tab navigation. */
.gofyn-drawer#conta-edit-drawer { width: min(980px, 94vw); background: linear-gradient(145deg, #06110d 0%, #071611 58%, #04100c 100%); border-left: 1px solid rgba(139,220,58,.9); box-shadow: -18px 0 55px rgba(0,0,0,.45), inset 1px 0 0 rgba(139,220,58,.18); }
.gofyn-drawer#conta-edit-drawer .gofyn-drawer__header { padding: 22px 28px 18px; border-bottom-color: rgba(139,220,58,.24); }
.gofyn-drawer#conta-edit-drawer .gofyn-drawer__header h2 { font-size: 1.5rem; letter-spacing: -.02em; color: var(--color-text); }
.gofyn-drawer#conta-edit-drawer .gofyn-drawer__body { padding: 20px 28px 28px; }
.gofyn-drawer#conta-edit-drawer label { color: var(--color-text); font-weight: 500; }
.gofyn-drawer#conta-edit-drawer .gofyn-input,
.gofyn-drawer#conta-edit-drawer select,
.gofyn-drawer#conta-edit-drawer textarea { background: rgba(8,20,16,.92); border-color: rgba(167,203,184,.34); color: var(--color-text); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.gofyn-drawer#conta-edit-drawer .gofyn-input:focus,
.gofyn-drawer#conta-edit-drawer select:focus,
.gofyn-drawer#conta-edit-drawer textarea:focus { border-color: var(--color-accent); box-shadow: 0 0 0 2px rgba(139,220,58,.16); }
.gofyn-drawer#conta-edit-drawer .gofyn-form-section > h3,
.gofyn-drawer#conta-edit-drawer .contas-drawer-section-title { color: var(--color-text); letter-spacing: .06em; }
.gofyn-drawer#conta-edit-drawer .conta-file-picker { border: 1px dashed rgba(139,220,58,.55); background: rgba(8,20,16,.72); border-radius: var(--radius-md); padding: 8px; }
.gofyn-drawer#conta-edit-drawer .gofyn-button--primary { background: var(--color-accent); color: var(--color-text-inverse); box-shadow: 0 0 18px rgba(139,220,58,.2); }
.gofyn-drawer#conta-edit-drawer .gofyn-button--ghost,
.gofyn-drawer#conta-edit-drawer .gofyn-button--secondary { border-color: rgba(139,220,58,.55); color: var(--color-text-secondary); background: transparent; }
.gofyn-drawer#conta-edit-drawer .gofyn-button--ghost:hover,
.gofyn-drawer#conta-edit-drawer .gofyn-button--secondary:hover { border-color: var(--color-accent); color: var(--color-accent); background: rgba(139,220,58,.08); }
@media (max-width: 768px) { .gofyn-drawer#conta-edit-drawer .gofyn-drawer__header, .gofyn-drawer#conta-edit-drawer .gofyn-drawer__body { padding-inline: 16px; } }
/* AP list reference treatment, retaining the requested reduced columns. */
.contas-pagar-page { background: radial-gradient(circle at 84% 8%, rgba(32,100,45,.16), transparent 28%), var(--color-bg); }
.contas-pagar-page .gofyn-filter-bar,
.contas-pagar-page .gofyn-table-card { border-color: rgba(139,220,58,.28); box-shadow: 0 8px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(139,220,58,.05); }
.contas-pagar-page .gofyn-table-card { border-radius: 12px; }
.contas-pagar-page .gofyn-table thead th { background: rgba(3,12,9,.72); color: #a9c4b5; letter-spacing: .07em; }
.contas-pagar-page .gofyn-table tbody tr { transition: background-color var(--motion-fast), box-shadow var(--motion-fast); }
.contas-pagar-page .gofyn-table tbody tr:hover td { background: rgba(34,104,52,.26); }
.contas-pagar-page .gofyn-table tbody tr:hover { box-shadow: inset 2px 0 0 var(--color-accent), inset -2px 0 0 rgba(139,220,58,.42); }
.contas-pagar-page .badge.status-open { color: var(--color-warning); border-color: rgba(228,173,88,.65); background: rgba(228,173,88,.07); }
.contas-pagar-page .badge.status-cancelled { color: var(--color-danger); border-color: rgba(239,119,119,.65); background: rgba(239,119,119,.07); }
.contas-pagar-page .gofyn-table td { color: #e5efe9; }
/* Refine AP list proportions toward the supplied reference while keeping the reduced columns. */
.contas-pagar-page .gofyn-table-card { margin-top: 16px; border-radius: 14px; overflow: hidden; }
.contas-pagar-page .gofyn-table { min-width: 760px; }
.contas-pagar-page .gofyn-table th { padding: 13px 16px; font-size: .7rem; }
.contas-pagar-page .gofyn-table td { padding: 13px 16px; font-size: .88rem; line-height: 1.35; }
.contas-pagar-page .gofyn-table tbody tr { min-height: 56px; }
.contas-pagar-page .gofyn-table tbody tr td:first-child { padding-left: 18px; }
.contas-pagar-page .gofyn-table .badge { min-height: 24px; padding: 3px 10px; font-size: .72rem; letter-spacing: .02em; }
.contas-pagar-page .gofyn-filter-bar { padding: 18px; border-radius: 14px; }
.contas-pagar-page .gofyn-filter-bar__row { gap: 14px; }
/* Match the reference page chrome: stronger title hierarchy and precise borders. */
body:has(.contas-pagar-page) .topbar { min-height: 72px; background: linear-gradient(110deg, #07140f 0%, #081b13 64%, #0b2918 100%) !important; border-bottom: 1px solid rgba(139,220,58,.28) !important; box-shadow: 0 4px 22px rgba(0,0,0,.22); }
body:has(.contas-pagar-page) .topbar-page-title { gap: 12px; }
body:has(.contas-pagar-page) .topbar-page-icon { color: var(--color-accent) !important; font-size: 1.15rem; filter: drop-shadow(0 0 6px rgba(139,220,58,.28)); }
body:has(.contas-pagar-page) .topbar-page-text { color: var(--color-text) !important; font-size: 1.12rem; font-weight: 650; letter-spacing: -.01em; }
.contas-pagar-page .gofyn-filter-bar { border-width: 1px; border-color: rgba(139,220,58,.38); }
.contas-pagar-page .gofyn-table-card { border-width: 1px; border-color: rgba(139,220,58,.34); }
.contas-pagar-page .gofyn-table thead { border-bottom: 1px solid rgba(139,220,58,.26); }
.contas-pagar-page .gofyn-table tbody tr { border-bottom-color: rgba(167,203,184,.16); }
/* AP filter scale correction: keep the compact proportions of the reference. */
.contas-pagar-page .gofyn-filter-bar { font-size: .82rem; padding: 14px 16px; }
.contas-pagar-page .gofyn-filter-bar .gofyn-input,
.contas-pagar-page .gofyn-filter-bar select { min-height: 36px; padding: 7px 10px; font-size: .82rem; }
.contas-pagar-page .gofyn-filter-bar label { font-size: .76rem; gap: 5px; }
.contas-pagar-page .gofyn-filter-bar .gofyn-button { min-height: 36px; padding-inline: 13px; font-size: .82rem; }
.contas-pagar-page .gofyn-filter-bar .date-picker-trigger { width: 38px; height: 38px; }
@media (max-width: 768px) { .contas-pagar-page .gofyn-filter-bar { padding: 12px; } }
/* Match the no-results action to the official GoFyn accent. */
.contas-pagar-page .empresas-clear-search,
.contas-pagar-page .gofyn-empty-state--no-results .action-link { color: var(--color-accent); font-weight: 600; }
.contas-pagar-page .empresas-clear-search:hover,
.contas-pagar-page .gofyn-empty-state--no-results .action-link:hover { color: var(--color-accent-hover); text-decoration: underline; text-underline-offset: 3px; }
/* Visual test: neutral system-gray card borders on the AP list only. */
body .contas-pagar-page .gofyn-filter-bar,
body .contas-pagar-page .gofyn-table-card,
body .contas-pagar-page .gofyn-empty-state,
body .contas-pagar-page .gofyn-empty-state--no-results {
  border-color: rgba(167, 183, 175, .34) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .22) !important;
}
/* Use the freed header label to balance the reduced AP table columns. */
body .contas-pagar-page .gofyn-table {
  table-layout: fixed;
}
body .contas-pagar-page .gofyn-table .contas-lote-check-col { width: 5%; }
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 16%; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 22%; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 28%; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 18%; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 11%; }
body .contas-pagar-page .gofyn-table th,
body .contas-pagar-page .gofyn-table td { overflow-wrap: anywhere; }
/* Status badges in the compact table: no outline and no indicator dot. */
body .contas-pagar-page .gofyn-table .badge {
  border: 0 !important;
  box-shadow: none !important;
}
body .contas-pagar-page .gofyn-table .status-text {
  display: inline-block;
  appearance: none !important;
  -webkit-appearance: none !important;
  padding: 0 !important;
  margin: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  outline: none !important;
  font-size: .62rem !important;
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}
body .contas-pagar-page .gofyn-table tbody td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body .contas-pagar-page .gofyn-table tbody td:nth-child(3),
body .contas-pagar-page .gofyn-table tbody td:nth-child(4) {
  max-width: 0;
}
body .contas-pagar-page .gofyn-table .contas-lote-check-col {
  width: 4% !important;
  min-width: 42px;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 16%; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 22%; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 28%; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 14%; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 11%; }
body .contas-pagar-page .gofyn-table .empresa-action-head,
body .contas-pagar-page .gofyn-table .empresa-action-cell { display: none !important; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 25%; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 28%; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 16%; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 11%; }
body .contas-pagar-page .gofyn-table .status-text::before { display: none !important; content: none !important; }
body .contas-pagar-page .gofyn-table .status-text.paga,
body .contas-pagar-page .gofyn-table .status-text.status-paid { color: #a6d47d !important; }
body .contas-pagar-page .gofyn-table .status-text.aberta,
body .contas-pagar-page .gofyn-table .status-text.status-open { color: #d7b875 !important; }
body .contas-pagar-page .gofyn-table .status-text.atrasada,
body .contas-pagar-page .gofyn-table .status-text.cancelada,
body .contas-pagar-page .gofyn-table .status-text.status-overdue,
body .contas-pagar-page .gofyn-table .status-text.status-cancelled { color: #d99696 !important; }
body .contas-pagar-page .gofyn-table .badge::before {
  display: none !important;
  content: none !important;
}
body .contas-pagar-page .gofyn-table .badge {
  display: inline-block;
  align-items: center;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: .62rem !important;
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.2;
  white-space: nowrap;
}
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 18%; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 23%; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 27%; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 18%; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 14%; }
body .contas-pagar-page .gofyn-table td { font-size: .76rem; }
body .contas-pagar-page .gofyn-table th { font-size: .65rem; }
/* Final AP column balance: give the company name the widest text column. */
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 16% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 28% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 25% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 16% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 11% !important; }
/* Compact utility columns; prioritize the two descriptive columns. */
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 13% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 31% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 29% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 15% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 8% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 18% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 29% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 27% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 16% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 6% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(2),
body .contas-pagar-page .gofyn-table td:nth-child(2) { width: 20% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(3),
body .contas-pagar-page .gofyn-table td:nth-child(3) { width: 27% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(4),
body .contas-pagar-page .gofyn-table td:nth-child(4) { width: 25% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(5),
body .contas-pagar-page .gofyn-table td:nth-child(5) { width: 14% !important; }
body .contas-pagar-page .gofyn-table th:nth-child(6),
body .contas-pagar-page .gofyn-table td:nth-child(6) { width: 10% !important; }
body .contas-pagar-page .gofyn-table td:nth-child(6) .status-text { overflow: visible; }
body .contas-pagar-page .gofyn-table th,
body .contas-pagar-page .gofyn-table th button,
body .contas-pagar-page .gofyn-table th button span { white-space: nowrap !important; }
body .contas-pagar-page .gofyn-table th button { gap: 5px; }
/* Softer status badges: preserve meaning with restrained saturation. */
body .contas-pagar-page .gofyn-table .badge.paga,
body .contas-pagar-page .gofyn-table .badge.status-paid {
  color: #a6d47d !important;
  background: rgba(139, 229, 42, .055) !important;
  border-color: rgba(139, 229, 42, .52) !important;
}
body .contas-pagar-page .gofyn-table .badge.aberta,
body .contas-pagar-page .gofyn-table .badge.liberado-pagamento-badge {
  color: #d7b875 !important;
  background: rgba(242, 188, 75, .055) !important;
  border-color: rgba(242, 188, 75, .52) !important;
}
body .contas-pagar-page .gofyn-table .badge.atrasada,
body .contas-pagar-page .gofyn-table .badge.cancelada {
  color: #d99696 !important;
  background: rgba(255, 124, 124, .055) !important;
  border-color: rgba(255, 124, 124, .52) !important;
}
/* Calendar selection follows the canonical GoFyn active green. */
body .contas-pagar-page .date-picker-popover .date-picker-day.is-selected,
body .date-picker-popover .date-picker-day.is-selected {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: var(--color-text-inverse) !important;
  box-shadow: 0 0 0 1px rgba(139, 229, 42, .22), 0 3px 10px rgba(139, 229, 42, .16) !important;
}
/* Status badges follow the supplied reference: compact neutral outline pills. */
.contas-pagar-page .gofyn-table .badge,
.contas-pagar-page .gofyn-table .badge.status-success,
.contas-pagar-page .gofyn-table .badge.status-paid,
.contas-pagar-page .gofyn-table .badge.status-open,
.contas-pagar-page .gofyn-table .badge.status-danger,
.contas-pagar-page .gofyn-table .badge.status-overdue,
.contas-pagar-page .gofyn-table .badge.status-cancelled { background: transparent; border: 1px solid rgba(199,213,204,.78); color: var(--color-text-secondary); box-shadow: none; }
.contas-pagar-page .gofyn-table .badge.liberado-pagamento-badge { background: transparent; border-color: rgba(228,173,88,.7); color: var(--color-warning); }
/* Sidebar icon and menu polish to match the supplied navigation reference. */
.sidebar { background: #030b08 !important; border-right-color: rgba(167,203,184,.16) !important; }
.sidebar__top { min-height: 42px; padding-bottom: 12px; }
.nav { gap: 2px; padding-inline: 3px; }
.nav__hr { margin: 11px 0; border-top-color: rgba(167,203,184,.14) !important; }
.nav__item { min-height: 34px; padding: 8px 10px; border-radius: 9px; color: var(--color-text-secondary) !important; font-size: .86rem; }
.nav__item i { width: 18px; color: #8b9a92 !important; font-size: .78rem; }
.nav__item:hover { background: rgba(139,220,58,.07) !important; color: var(--color-text) !important; }
.nav__item.active { background: rgba(139,220,58,.10) !important; color: var(--color-accent) !important; box-shadow: inset 2px 0 0 var(--color-accent); }
.nav__item.active i { color: var(--color-accent) !important; }
/* Reference-level chrome details: restrained green ambient light and branded sidebar mark. */
.contas-pagar-page::before { content: ""; position: fixed; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 78% -8%, rgba(42,120,48,.22), transparent 30%), radial-gradient(ellipse at 12% 105%, rgba(49,150,43,.16), transparent 24%); }
.brand-link-fallback { display: inline-flex; align-items: center; gap: 9px; font-size: 1.2rem; }
.brand-link-fallback::before { content: ""; display: inline-block; width: 24px; height: 24px; border: 3px solid var(--color-accent); border-radius: 5px 10px 5px 10px; transform: rotate(30deg) skew(-8deg); box-shadow: 0 0 10px rgba(139,220,58,.22); }
.sidebar__top { border-bottom-color: rgba(139,220,58,.2) !important; }
.contas-pagar-page .gofyn-filter-bar .gofyn-search .gofyn-input { border-color: rgba(139,220,58,.42); }
.contas-pagar-page .gofyn-table-card { box-shadow: 0 10px 36px rgba(0,0,0,.25), 0 0 24px rgba(42,120,48,.08); }

/* Shared premium dark-system pass for reuse across financial screens. */
:root { --ui-font-size: .875rem; --ui-control-height: 38px; --ui-border: rgba(167,203,184,.26); --ui-border-accent: rgba(139,220,58,.48); }
body { font-family: var(--font-family-sans); }
.topbar { min-height: 64px; background: linear-gradient(110deg,#06110d,#081b13 68%,#0a2115) !important; border-bottom-color: rgba(139,220,58,.24) !important; }
.topbar-page-title { gap: 10px; }
.topbar-page-icon { color: var(--color-accent) !important; }
.topbar-page-text { color: var(--color-text) !important; font-size: 1rem; font-weight: 650; }
.sidebar { background: #030b08 !important; }
.nav__item { font-size: .86rem; min-height: 35px; }
.btn, .toolbar-btn, .gofyn-button { min-height: var(--ui-control-height); border-radius: var(--radius-md); font-size: .875rem; }
.btn-primary, .toolbar-btn-primary, .gofyn-button--primary { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-text-inverse); }
.btn-secondary, .btn-ghost, .toolbar-btn-secondary, .gofyn-button--secondary, .gofyn-button--ghost { background: transparent; border-color: var(--ui-border); color: var(--color-text-secondary); }
.btn-secondary:hover, .btn-ghost:hover, .toolbar-btn-secondary:hover, .gofyn-button--secondary:hover, .gofyn-button--ghost:hover { background: rgba(139,220,58,.08); border-color: var(--ui-border-accent); color: var(--color-text); }
input, select, textarea, .input, .gofyn-input { min-height: var(--ui-control-height); background: var(--color-surface-elevated); color: var(--color-text); border-color: var(--ui-border); border-radius: var(--radius-md); font-size: .875rem; }
input::placeholder, textarea::placeholder, .input::placeholder { color: var(--color-text-muted); }
input:focus, select:focus, textarea:focus, .input:focus, .gofyn-input:focus { border-color: var(--color-accent); outline: none; box-shadow: 0 0 0 2px rgba(139,220,58,.14); }
.gofyn-filter-bar, .filter-panel, .panel, .table-panel, .card, .gofyn-table-card { border-color: var(--ui-border); background: var(--color-surface); border-radius: var(--radius-lg); }
table th { color: var(--color-text-muted); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
table td { color: var(--color-text-secondary); font-size: .875rem; }
table tbody tr { border-bottom: 1px solid rgba(167,203,184,.14); }
table tbody tr:hover td { background: rgba(139,220,58,.07); }
.badge, .status-badge { background: transparent; border: 1px solid rgba(199,213,204,.7); color: var(--color-text-secondary); border-radius: var(--radius-full); padding: 3px 9px; font-size: .72rem; font-weight: 650; letter-spacing: .02em; }
.date-picker-trigger { background: var(--color-surface-elevated); border-color: var(--ui-border); color: var(--color-text-secondary); }
.date-picker-trigger:hover { background: var(--color-surface-hover); border-color: var(--color-accent); color: var(--color-accent); }
.checkbox, input[type="checkbox"] { accent-color: var(--color-accent); }
.gofyn-empty-state { color: var(--color-text-secondary); }
@media (max-width: 768px) { .topbar-page-text { font-size: .92rem; } .gofyn-button, .btn, .toolbar-btn { min-height: 36px; } }
/* Final concrete control fixes visible in the VPS capture. */
body .app-shell .sidebar .brand-link-fallback { display: inline-flex; color: var(--color-text) !important; }
body .app-shell .sidebar .nav__item i { font-size: .9rem; color: #a9b8ae !important; }
body .app-shell .sidebar .nav__item.active i { color: var(--color-accent) !important; }
.contas-pagar-page input[type="checkbox"],
.contas-receber-page input[type="checkbox"],
.gofyn-drawer input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 15px; height: 15px; min-height: 15px; padding: 0; margin: 0; border: 1px solid rgba(199,213,204,.7); border-radius: 4px; background: transparent; vertical-align: middle; cursor: pointer; }
.contas-pagar-page input[type="checkbox"]:checked,
.contas-receber-page input[type="checkbox"]:checked,
.gofyn-drawer input[type="checkbox"]:checked { background: var(--color-accent); border-color: var(--color-accent); }
.contas-pagar-page input[type="checkbox"]:checked::after,
.contas-receber-page input[type="checkbox"]:checked::after,
.gofyn-drawer input[type="checkbox"]:checked::after { content: "✓"; display: block; color: var(--color-text-inverse); font-size: 11px; line-height: 14px; text-align: center; font-weight: 800; }
.contas-pagar-page .gofyn-table .badge::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 6px; border-radius: 50%; background: currentColor; vertical-align: 1px; opacity: .9; }
/* Semantic badge colors from the reference model. */
.contas-pagar-page .gofyn-table .badge.status-paid,
.contas-pagar-page .gofyn-table .badge.status-success { color: var(--color-success); border-color: rgba(139,220,58,.72); background: rgba(139,220,58,.08); }
.contas-pagar-page .gofyn-table .badge.status-open,
.contas-pagar-page .gofyn-table .badge.status-projected { color: var(--color-warning); border-color: rgba(228,173,88,.78); background: rgba(228,173,88,.08); }
.contas-pagar-page .gofyn-table .badge.status-danger,
.contas-pagar-page .gofyn-table .badge.status-cancelled,
.contas-pagar-page .gofyn-table .badge.status-overdue { color: var(--color-danger); border-color: rgba(239,119,119,.78); background: rgba(239,119,119,.08); }
body .app-shell .sidebar .nav__item i { width: 22px; font-size: 1rem; }
body .app-shell .topbar .topbar-page-text { color: var(--color-text) !important; font-size: 1.08rem; font-weight: 700; }
body .app-shell .topbar .topbar-page-icon { color: var(--color-accent) !important; font-size: 1.18rem; }
/* Highest-specificity compatibility fixes for legacy app.css rules. */
body .app-shell .sidebar .brand-link-fallback,
body .app-shell .sidebar .brand-link-fallback::before { display: none !important; }
body .app-shell .topbar .top-left .topbar-page-title .topbar-page-text {
  color: #f2f7f4 !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
}
body .app-shell .topbar .top-left .topbar-page-title .topbar-page-icon {
  color: #8be52a !important;
}
/* AP semantic badges: status classes are paga/aberta/atrasada/cancelada. */
body .contas-pagar-page .gofyn-table .badge.paga,
body .contas-pagar-page .gofyn-table .badge.status-paid {
  color: #8be52a !important;
  background: rgba(139, 229, 42, .12) !important;
  border: 1px solid rgba(139, 229, 42, .74) !important;
}
body .contas-pagar-page .gofyn-table .badge.aberta,
body .contas-pagar-page .gofyn-table .badge.liberado-pagamento-badge {
  color: #f2bc4b !important;
  background: rgba(242, 188, 75, .12) !important;
  border: 1px solid rgba(242, 188, 75, .78) !important;
}
body .contas-pagar-page .gofyn-table .badge.atrasada,
body .contas-pagar-page .gofyn-table .badge.cancelada {
  color: #ff7c7c !important;
  background: rgba(255, 124, 124, .12) !important;
  border: 1px solid rgba(255, 124, 124, .78) !important;
}
body .contas-pagar-page .gofyn-table .badge.paga::before,
body .contas-pagar-page .gofyn-table .badge.aberta::before,
body .contas-pagar-page .gofyn-table .badge.atrasada::before,
body .contas-pagar-page .gofyn-table .badge.cancelada::before {
  background: currentColor !important;
}
/* Left navigation alignment with the approved GoFyn reference. */
body .app-shell .sidebar {
  width: 248px;
  padding: 14px 10px;
  background: #030b08 !important;
  border-right: 1px solid rgba(164, 202, 181, .20) !important;
}
body .app-shell .sidebar .nav { padding-inline: 0; gap: 3px; }
body .app-shell .sidebar .nav__hr {
  margin: 13px 4px;
  border: 0;
  border-top: 1px solid rgba(164, 202, 181, .16) !important;
}
body .app-shell .sidebar .nav__item {
  min-height: 38px;
  padding: 8px 20px;
  gap: 14px;
  border-radius: 9px;
  color: #c8d3cc !important;
  font-size: .875rem;
  font-weight: 450;
}
body .app-shell .sidebar .nav__item i {
  width: 22px;
  min-width: 22px;
  font-size: 1.08rem !important;
  line-height: 1;
  color: #b8c9be !important;
  text-align: center;
  transform: scale(1.18);
  transform-origin: center;
}
body .app-shell .sidebar .nav__item:hover {
  color: #f2f7f4 !important;
  background: rgba(139, 229, 42, .07) !important;
}
body .app-shell .sidebar .nav__item.active {
  color: #8be52a !important;
  background: rgba(139, 229, 42, .11) !important;
  border: 0 !important;
  border-left: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body .app-shell .sidebar .nav__item.active i { color: #8be52a !important; }
body .date-picker-popover .date-picker-day.is-selected {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
/* Self-hosted Google Material Symbols mapping for the shared navigation. */
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 400;
  src: url("/static/fonts/material-symbols-outlined-400.ttf?v=1") format("truetype");
}
body .app-shell .sidebar .nav__item i {
  font-family: "Material Symbols Outlined" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 21px !important;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  transform: none;
}
body .app-shell .sidebar .nav__item i::before { content: none !important; }
body .app-shell .sidebar .nav__item .fa-chart-column::before { content: "space_dashboard" !important; }
body .app-shell .sidebar .nav__item .fa-briefcase::before { content: "request_quote" !important; }
body .app-shell .sidebar .nav__item .fa-file-invoice::before { content: "receipt_long" !important; }
body .app-shell .sidebar .nav__item .fa-building::before { content: "business" !important; }
body .app-shell .sidebar .nav__item .fa-wallet::before { content: "payments" !important; }
body .app-shell .sidebar .nav__item .fa-building-columns::before { content: "account_balance" !important; }
body .app-shell .sidebar .nav__item .fa-layer-group::before { content: "category" !important; }
body .app-shell .sidebar .nav__item .fa-user::before { content: "group" !important; }
body .app-shell .sidebar .nav__item .fa-download::before { content: "download" !important; }
body .app-shell .sidebar .nav__item .fa-arrow-up::before { content: "north" !important; }
body .app-shell .sidebar .nav__item .fa-chart-line::before { content: "monitoring" !important; }
body .app-shell .sidebar .nav__item .fa-chart-pie::before { content: "pie_chart" !important; }
body .app-shell .sidebar .nav__item .fa-scale-balanced::before { content: "balance" !important; }
body .app-shell .sidebar .nav__item .fa-hand-holding-dollar::before { content: "person" !important; }
body .app-shell .sidebar .nav__item .fa-sitemap::before { content: "account_tree" !important; }
body .app-shell .sidebar .nav__item .fa-sack-dollar::before { content: "sell" !important; }
body .app-shell .sidebar .nav__item .fa-tags::before { content: "sell" !important; }
body .app-shell .sidebar .nav__item .fa-file-import::before { content: "upload_file" !important; }
body .app-shell .sidebar .nav__item .fa-list-check::before { content: "checklist" !important; }
body .app-shell .sidebar .nav__item .fa-file-zipper::before { content: "folder_zip" !important; }
body .app-shell .sidebar .nav__item .fa-gear::before { content: "settings" !important; }
body .app-shell .sidebar .nav__item .fa-right-from-bracket::before { content: "logout" !important; }
body .app-shell .sidebar__bottom {
  padding-top: 8px;
  border-top: 1px solid rgba(164, 202, 181, .16);
}
body:has(.contas-pagar-page) .topbar-page-icon.fa-download {
  font-family: "Material Symbols Outlined" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
body:has(.contas-pagar-page) .topbar-page-icon.fa-download::before { content: "download" !important; }
/* Ensure the AP page title reuses the exact Material download glyph. */
body .app-shell .topbar-page-icon.fa-download {
  font-family: "Material Symbols Outlined" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 21px !important;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24 !important;
}
body .app-shell .topbar-page-icon.fa-download::before {
  content: "download" !important;
}

/* The sidebar brand area has no divider; section separators remain in the menu. */
body .app-shell .sidebar__top {
  border-bottom: 0 !important;
}

/* Remove the brand header divider at every layer. */
html body .app-shell .sidebar__top,
html body .app-shell .sidebar__top::after,
html body .app-shell .sidebar .brand-link {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Keep table row dividers subtle on the dark surface. */
html body .contas-pagar-page .gofyn-table tbody tr {
  border-bottom: 1px solid rgba(167, 203, 184, .07) !important;
}
html body .contas-pagar-page .gofyn-table thead tr {
  border-bottom-color: rgba(167, 203, 184, .10) !important;
}

/* Reduce the actual cell dividers; the table cells provide the visible rule. */
html body .contas-pagar-page .gofyn-table th,
html body .contas-pagar-page .gofyn-table td {
  border-bottom: 1px solid rgba(167, 203, 184, .035) !important;
}
html body .contas-pagar-page .gofyn-table tbody tr:last-child td {
  border-bottom-color: transparent !important;
}

/* Canonical search/form pattern: reuse the list screen tokens inside drawers. */
:root {
  --gofyn-form-surface: #07130f;
  --gofyn-form-surface-elevated: #0b1b15;
  --gofyn-form-border: rgba(167, 183, 175, .34);
  --gofyn-form-border-soft: rgba(167, 183, 175, .18);
}
html body .gofyn-drawer {
  background: var(--gofyn-form-surface) !important;
  border-left: 1px solid var(--gofyn-form-border) !important;
  box-shadow: -18px 0 45px rgba(0,0,0,.38) !important;
  color: var(--color-text);
}
html body .gofyn-drawer .gofyn-drawer__header {
  min-height: 68px;
  padding: 16px 24px !important;
  background: var(--gofyn-form-surface);
  border-bottom: 1px solid var(--gofyn-form-border-soft) !important;
}
html body .gofyn-drawer .gofyn-drawer__header h2 {
  margin: 0;
  font-size: 1.12rem !important;
  font-weight: 650;
  letter-spacing: -.01em;
}
html body .gofyn-drawer .gofyn-drawer__body {
  padding: 20px 24px 28px !important;
  background: var(--gofyn-form-surface);
}
html body .gofyn-drawer .gofyn-form-section {
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid var(--gofyn-form-border-soft);
  border-radius: 10px;
  background: var(--gofyn-form-surface-elevated);
}
html body .gofyn-drawer .gofyn-form-section > h3,
html body .gofyn-drawer .contas-drawer-section-title {
  margin: 0 0 12px !important;
  color: var(--color-text-secondary) !important;
  font-size: .72rem !important;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
html body .gofyn-drawer label { color: var(--color-text-secondary) !important; font-size: .76rem; font-weight: 500; }
html body .gofyn-drawer .gofyn-input,
html body .gofyn-drawer select,
html body .gofyn-drawer textarea {
  min-height: 36px;
  background: var(--gofyn-form-surface) !important;
  border: 1px solid var(--gofyn-form-border) !important;
  border-radius: 8px;
  color: var(--color-text) !important;
  font-size: .82rem;
  box-shadow: none !important;
}
html body .gofyn-drawer .gofyn-input:focus,
html body .gofyn-drawer select:focus,
html body .gofyn-drawer textarea:focus { border-color: var(--color-accent) !important; box-shadow: 0 0 0 2px rgba(139,220,58,.12) !important; }
html body .gofyn-drawer .conta-drawer-tabs { border-bottom: 1px solid var(--gofyn-form-border-soft); margin-bottom: 16px; }
html body .gofyn-drawer .conta-drawer-tab { border-color: var(--gofyn-form-border); background: transparent; color: var(--color-text-secondary); font-size: .78rem; }
html body .gofyn-drawer .conta-drawer-tab.is-active { background: rgba(139,220,58,.10); border-color: var(--color-accent); color: var(--color-accent); }
html body .gofyn-drawer .gofyn-button--ghost,
html body .gofyn-drawer .gofyn-button--secondary { min-height: 36px; border: 1px solid var(--gofyn-form-border) !important; border-radius: 8px; background: transparent; color: var(--color-text-secondary); font-size: .8rem; }
html body .gofyn-drawer .gofyn-button--ghost:hover,
html body .gofyn-drawer .gofyn-button--secondary:hover { border-color: var(--color-accent) !important; background: rgba(139,220,58,.08); color: var(--color-text); }
html body .gofyn-drawer .gofyn-button--primary { min-height: 38px; border-radius: 8px; background: var(--color-accent); border-color: var(--color-accent); box-shadow: none; }

/* Drawer tabs are the grouping mechanism; avoid nested cards inside each tab. */
html body .gofyn-drawer .gofyn-form-section {
  margin: 0 0 22px;
  padding: 0 0 18px;
  border: 0 !important;
  border-bottom: 1px solid var(--gofyn-form-border-soft) !important;
  border-radius: 0;
  background: transparent !important;
}
html body .gofyn-drawer .gofyn-form-section:last-child { border-bottom: 0 !important; }
html body .gofyn-drawer .gofyn-form-section > h3 { margin-bottom: 12px !important; }
html body .gofyn-drawer .conta-drawer-tab,
html body .gofyn-drawer .conta-drawer-tab.is-active {
  min-height: 34px;
  padding: 7px 11px;
  border: 0 !important;
  border-radius: 6px;
  background: transparent !important;
  color: var(--color-text-secondary);
  font-size: .76rem;
  font-weight: 500;
}
html body .gofyn-drawer .conta-drawer-tab.is-active { color: var(--color-accent); font-weight: 650; }
html body .gofyn-drawer .conta-drawer-tab:hover { color: var(--color-text); background: rgba(167,183,175,.06) !important; }
html body .gofyn-drawer .gofyn-button,
html body .gofyn-drawer .gofyn-button--ghost,
html body .gofyn-drawer .gofyn-button--secondary,
html body .gofyn-drawer .gofyn-button--primary {
  min-height: 36px;
  padding: 7px 13px;
  border-radius: 8px;
  font-size: .8rem;
  line-height: 1.1;
  box-shadow: none !important;
}
html body .gofyn-drawer .gofyn-drawer__header .gofyn-button { min-width: 36px; padding-inline: 10px; }

/* Tabs already name the context; keep their panels clean and uninterrupted. */
html body .gofyn-drawer .gofyn-form-section > h3,
html body .gofyn-drawer .contas-drawer-section-title { display: none !important; }
html body .gofyn-drawer .gofyn-form-section {
  margin-bottom: 24px;
  padding-bottom: 0;
  border-bottom: 0 !important;
}
html body .gofyn-drawer .conta-drawer-tabs { border-bottom: 0 !important; margin-bottom: 22px; }
html body .gofyn-drawer .form-grid { row-gap: 14px; }
html body .gofyn-drawer .drawer-form-row,
html body .gofyn-drawer .drawer-form-row-single { margin-top: 14px; }
html body .gofyn-drawer textarea { margin-top: 2px; }

/* Meaningful drawer emphasis: identity and financial totals only. */
html body .gofyn-drawer .gofyn-drawer__header h2 {
  display: flex;
  align-items: center;
  gap: 9px;
}
html body .gofyn-drawer .drawer-title-icon {
  display: inline-flex;
  font-family: "Material Symbols Outlined" !important;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  color: var(--color-accent);
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
html body .gofyn-drawer #conta-subfav-total-conta,
html body .gofyn-drawer #conta-subfav-total-distribuido {
  color: var(--color-accent) !important;
  font-weight: 650;
}
html body .gofyn-drawer #conta-subfav-diferenca {
  color: var(--color-warning) !important;
  font-weight: 650;
}

/* Material Symbols use ligatures for named glyphs such as edit_note. */
html body .gofyn-drawer .drawer-title-icon {
  font-feature-settings: "liga" 1;
  font-variant-ligatures: discretionary-ligatures;
}

/* Keep the edit glyph visible when drawer title text is refreshed by JavaScript. */
html body .gofyn-drawer .drawer-title-icon {
  font-size: 0 !important;
}
html body .gofyn-drawer .drawer-title-icon::before {
  content: "edit_note";
  font-family: "Material Symbols Outlined" !important;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  color: var(--color-accent);
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* Drawer autocomplete follows the dark search/form surface. */
html body .gofyn-drawer .entity-autocomplete-menu {
  top: calc(100% + 5px);
  padding: 5px;
  border: 1px solid var(--gofyn-form-border) !important;
  border-radius: 8px;
  background: #0b1b15 !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;
}
html body .gofyn-drawer .entity-autocomplete-item,
html body .gofyn-drawer .entity-autocomplete-create {
  min-height: 34px;
  padding: 7px 10px;
  border: 0 !important;
  border-radius: 6px;
  background: transparent !important;
  color: var(--color-text-secondary) !important;
  font-size: .8rem;
}
html body .gofyn-drawer .entity-autocomplete-item:hover,
html body .gofyn-drawer .entity-autocomplete-item.is-active {
  background: rgba(139,220,58,.10) !important;
  color: var(--color-text) !important;
}
html body .gofyn-drawer .entity-autocomplete-create {
  color: var(--color-accent) !important;
  font-weight: 600;
}
html body .gofyn-drawer .entity-autocomplete-create:hover {
  background: rgba(139,220,58,.08) !important;
}
html body .gofyn-drawer .entity-autocomplete-divider { background: var(--gofyn-form-border-soft) !important; }

/* Export menu uses the same elevated dark surface as the search controls. */
html body .contas-pagar-page .empresas-export-menu {
  min-width: 220px;
  padding: 5px;
  border: 1px solid var(--gofyn-form-border) !important;
  border-radius: 8px;
  background: var(--gofyn-form-surface-elevated) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;
}
html body .contas-pagar-page .empresas-export-option {
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--color-text-secondary) !important;
  font-size: .8rem;
  font-weight: 500;
}
html body .contas-pagar-page .empresas-export-option:hover,
html body .contas-pagar-page .empresas-export-option:focus-visible {
  background: rgba(139,220,58,.10) !important;
  color: var(--color-text) !important;
  outline: none;
}

/* Autocomplete suggestions overlay the form instead of changing grid height. */
html body .gofyn-drawer .entity-autocomplete { position: relative !important; }
html body .gofyn-drawer .entity-autocomplete-menu {
  position: absolute !important;
  top: calc(100% + 5px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  max-height: 210px;
  overflow-y: auto;
}

/* Shared search/form language for every authenticated screen. */
html body .empresas-page .empresas-toolbar,
html body .contas-search-panel,
html body .relatorio-filters-panel,
html body .conciliacao-filters-panel {
  background: var(--color-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0,0,0,.18) !important;
}
html body .empresas-page .empresas-toolbar,
html body .contas-search-panel,
html body .relatorio-filters-panel { padding: 14px 16px; }
html body .empresas-page .empresas-toolbar input,
html body .empresas-page .empresas-toolbar select,
html body .contas-search-panel input,
html body .contas-search-panel select,
html body .relatorio-filters-panel input,
html body .relatorio-filters-panel select,
html body .conciliacao-filters-panel input,
html body .conciliacao-filters-panel select {
  min-height: 36px;
  border: 1px solid var(--ui-border) !important;
  border-radius: 8px;
  background: var(--color-surface-elevated) !important;
  color: var(--color-text) !important;
  font-size: .82rem;
}
html body .empresas-page .toolbar-btn,
html body .contas-search-panel .toolbar-btn,
html body .relatorio-filters-panel .toolbar-btn,
html body .conciliacao-filters-panel .toolbar-btn {
  min-height: 36px;
  padding: 7px 13px;
  border-radius: 8px;
  font-size: .8rem;
  box-shadow: none !important;
}
html body .empresas-page .empresas-panel,
html body .relatorio-table-panel,
html body .conciliacao-page .empresas-panel,
html body .settings-card {
  background: var(--color-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0,0,0,.18) !important;
}
html body .empresas-page .empresas-export-menu,
html body .relatorio-page .empresas-export-menu {
  border: 1px solid var(--gofyn-form-border) !important;
  border-radius: 8px;
  background: var(--gofyn-form-surface-elevated) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.38) !important;
}
html body .empresas-page .empresas-export-option,
html body .relatorio-page .empresas-export-option { color: var(--color-text-secondary) !important; border-radius: 6px; font-size: .8rem; }
html body .empresas-page .empresas-export-option:hover,
html body .relatorio-page .empresas-export-option:hover { background: rgba(139,220,58,.10) !important; color: var(--color-text) !important; }
/* All standard drawers inherit the AP form pattern. */
html body .drawer-panel:not(.gofyn-drawer) {
  background: var(--gofyn-form-surface) !important;
  border-left: 1px solid var(--gofyn-form-border) !important;
  box-shadow: -18px 0 45px rgba(0,0,0,.38) !important;
}
html body .drawer-panel:not(.gofyn-drawer) .drawer-header {
  background: var(--gofyn-form-surface) !important;
  border-bottom: 1px solid var(--gofyn-form-border-soft) !important;
}
html body .drawer-panel:not(.gofyn-drawer) .drawer-body,
html body .drawer-panel:not(.gofyn-drawer) .form-section,
html body .drawer-panel:not(.gofyn-drawer) .form-block { color: var(--color-text); }
html body .drawer-panel:not(.gofyn-drawer) input,
html body .drawer-panel:not(.gofyn-drawer) select,
html body .drawer-panel:not(.gofyn-drawer) textarea {
  background: var(--gofyn-form-surface) !important;
  border-color: var(--gofyn-form-border) !important;
  color: var(--color-text) !important;
  border-radius: 8px;
  font-size: .82rem;
}

/* Contas a Receber inherits the dark table treatment; remove legacy white zebra rows. */
html body .contas-receber-page .empresas-panel tbody tr,
html body .contas-receber-page .empresas-panel tbody tr:nth-child(even),
html body .contas-receber-page .empresas-panel tbody tr:nth-child(odd) {
  background: var(--color-surface) !important;
}
html body .contas-receber-page .empresas-panel tbody tr td {
  background: transparent !important;
  color: var(--color-text) !important;
  border-bottom: 1px solid rgba(167,203,184,.07) !important;
}
html body .contas-receber-page .empresas-panel tbody tr:hover td {
  background: rgba(34,104,52,.20) !important;
}
html body .contas-receber-page .empresas-panel thead th {
  background: rgba(3,12,9,.72) !important;
  color: #a9c4b5 !important;
}

/* Final metric pass: every search/list screen uses the AP density scale. */
html body :is(.empresas-page, .relatorio-page, .conciliacao-page, .settings-page) {
  --screen-control-h: 36px;
  --screen-radius: 8px;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-toolbar,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .contas-search-panel,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-filters-panel,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .conciliacao-filters-panel {
  gap: 12px !important;
  padding: 14px 16px !important;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-toolbar input,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-toolbar select,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .contas-search-panel .input,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-filters-panel .input,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .conciliacao-filters-panel .input {
  height: var(--screen-control-h) !important;
  min-height: var(--screen-control-h) !important;
  padding: 7px 10px !important;
  border-radius: var(--screen-radius) !important;
  font-size: .82rem !important;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .toolbar-btn {
  min-height: var(--screen-control-h) !important;
  padding: 7px 13px !important;
  border-radius: var(--screen-radius) !important;
  font-size: .8rem !important;
  box-shadow: none !important;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel {
  margin-top: 16px;
  border-radius: 12px !important;
  overflow: hidden;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel th,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel td,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel th,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel td {
  padding: 13px 16px !important;
  font-size: .84rem !important;
  line-height: 1.3;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel thead th,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel thead th {
  font-size: .7rem !important;
  letter-spacing: .07em;
  color: #a9c4b5 !important;
  background: rgba(3,12,9,.72) !important;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel tbody tr,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel tbody tr {
  background: var(--color-surface) !important;
  border-bottom: 1px solid rgba(167,203,184,.07) !important;
}
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel tbody tr:nth-child(even) td,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel tbody tr:nth-child(even) td { background: transparent !important; }
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-panel tbody tr:hover td,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .relatorio-table-panel tbody tr:hover td { background: rgba(34,104,52,.20) !important; }
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-drawer .drawer-header,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .drawer-panel .drawer-header { min-height: 68px; padding: 16px 24px; }
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .empresas-drawer .drawer-body,
html body :is(.empresas-page, .relatorio-page, .conciliacao-page) .drawer-panel .drawer-body { padding: 20px 24px 28px; }

/* Contas a Receber table uses the same reduced status treatment as AP. */
html body .contas-receber-page .empresas-panel .status-text {
  display: inline-block;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}
html body .contas-receber-page .empresas-panel .status-text.recebida,
html body .contas-receber-page .empresas-panel .status-text.status-paid,
html body .contas-receber-page .empresas-panel .status-success { color: #a6d47d !important; }
html body .contas-receber-page .empresas-panel .status-text.aberta,
html body .contas-receber-page .empresas-panel .status-text.status-open { color: #d7b875 !important; }
html body .contas-receber-page .empresas-panel .status-text.cancelada,
html body .contas-receber-page .empresas-panel .status-text.atrasada,
html body .contas-receber-page .empresas-panel .status-text.status-cancelled,
html body .contas-receber-page .empresas-panel .status-text.status-overdue { color: #d99696 !important; }
html body .contas-receber-page .empresas-panel table { table-layout: fixed; }
html body .contas-receber-page .empresas-panel th:nth-child(1),
html body .contas-receber-page .empresas-panel td:nth-child(1) { width: 18%; }
html body .contas-receber-page .empresas-panel th:nth-child(2),
html body .contas-receber-page .empresas-panel td:nth-child(2) { width: 25%; }
html body .contas-receber-page .empresas-panel th:nth-child(3),
html body .contas-receber-page .empresas-panel td:nth-child(3) { width: 25%; }
html body .contas-receber-page .empresas-panel th:nth-child(4),
html body .contas-receber-page .empresas-panel td:nth-child(4) { width: 20%; }
html body .contas-receber-page .empresas-panel th:nth-child(5),
html body .contas-receber-page .empresas-panel td:nth-child(5) { width: 12%; }
html body .contas-receber-page .empresas-panel tbody td { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Contas a Receber uses one filter card, matching the AP layout. */
html body .contas-receber-page .contas-search-panel > .empresas-toolbar {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .contas-receber-page .empresas-panel .status-text.paga {
  display: inline-block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #a6d47d !important;
  font-size: .62rem !important;
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Contas a Receber drawer adopts the canonical AP drawer surface and density. */
html body .contas-receber-page .contas-drawer {
  width: min(980px, 94vw) !important;
  background: var(--gofyn-form-surface) !important;
  border-left: 1px solid var(--gofyn-form-border) !important;
  box-shadow: -18px 0 45px rgba(0,0,0,.38) !important;
}
html body .contas-receber-page .contas-drawer .drawer-header {
  min-height: 68px;
  padding: 16px 24px !important;
  background: var(--gofyn-form-surface) !important;
  border-bottom: 1px solid var(--gofyn-form-border-soft) !important;
}
html body .contas-receber-page .contas-drawer .drawer-body {
  padding: 20px 24px 28px !important;
  background: var(--gofyn-form-surface) !important;
}
html body .contas-receber-page .contas-drawer .form-block,
html body .contas-receber-page .contas-drawer .contas-drawer-section,
html body .contas-receber-page .contas-drawer .contas-subfav-section {
  margin: 0 0 22px;
  padding: 0 0 18px;
  border: 0 !important;
  border-bottom: 1px solid var(--gofyn-form-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body .contas-receber-page .contas-drawer .contas-drawer-section-title { display: none !important; }
html body .contas-receber-page .contas-drawer label { color: var(--color-text-secondary) !important; font-size: .76rem; }
html body .contas-receber-page .contas-drawer input,
html body .contas-receber-page .contas-drawer select,
html body .contas-receber-page .contas-drawer textarea {
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--gofyn-form-border) !important;
  border-radius: 8px;
  background: var(--gofyn-form-surface) !important;
  color: var(--color-text) !important;
  font-size: .82rem;
  box-shadow: none !important;
}
html body .contas-receber-page .contas-drawer .drawer-actions,
html body .contas-receber-page .contas-drawer .empresas-drawer-actions { gap: 8px; }
html body .contas-receber-page .contas-drawer .btn,
html body .contas-receber-page .contas-drawer .gofyn-button {
  min-height: 36px;
  padding: 7px 13px;
  border-radius: 8px;
  font-size: .8rem;
  box-shadow: none !important;
}
html body .contas-receber-page .contas-drawer .panel,
html body .contas-receber-page .contas-drawer .card,
html body .contas-receber-page .contas-drawer .contas-conciliacao-section {
  background: transparent !important;
  border-color: var(--gofyn-form-border-soft) !important;
  color: var(--color-text);
}

/* Auxiliary tables: restore readable content contrast on the dark surface. */
html body .empresas-page .empresas-panel tbody td,
html body .empresas-page .relatorio-table-panel tbody td {
  color: #e5efe9 !important;
  font-weight: 500;
}
html body .empresas-page .empresas-panel tbody td a,
html body .empresas-page .empresas-panel tbody td .muted { color: var(--color-text-secondary) !important; }
html body .empresas-page .empresas-panel .badge,
html body .empresas-page .empresas-panel .status-badge {
  display: inline-block;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-success) !important;
  font-size: .62rem !important;
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.2;
  text-transform: uppercase;
}
html body .empresas-page .empresas-panel .badge::before,
html body .empresas-page .empresas-panel .status-badge::before { display: none !important; content: none !important; }
html body .empresas-page .empresas-panel thead th { color: #a9c4b5 !important; }
html body .empresas-page .empresas-summary { color: var(--color-text-secondary) !important; }

/* User drawer: remove legacy light reset panel and use the canonical form surface. */
html body .usuarios-page .usuarios-drawer .usuarios-reset-section {
  margin: 18px 0 22px;
  padding: 14px 0 0;
  border: 0 !important;
  border-top: 1px solid var(--gofyn-form-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body .usuarios-page .usuarios-drawer .usuarios-reset-title {
  margin: 0 0 12px;
  color: var(--color-text-secondary) !important;
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
html body .usuarios-page .usuarios-drawer input,
html body .usuarios-page .usuarios-drawer select {
  min-height: 36px;
  border: 1px solid var(--gofyn-form-border) !important;
  border-radius: 8px;
  background: var(--gofyn-form-surface) !important;
  color: var(--color-text) !important;
  font-size: .82rem;
}
html body .usuarios-page .usuarios-drawer .btn,
html body .usuarios-page .usuarios-drawer .gofyn-button {
  min-height: 36px;
  padding: 7px 13px;
  border-radius: 8px;
  font-size: .8rem;
  box-shadow: none !important;
}
html body .usuarios-page .usuarios-drawer .btn-ghost {
  border: 1px solid var(--gofyn-form-border) !important;
  background: transparent !important;
  color: var(--color-text-secondary) !important;
}
html body .usuarios-page .usuarios-drawer .btn-primary,
html body .usuarios-page .usuarios-drawer .usuarios-drawer-save {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: var(--color-text-inverse) !important;
}

/* Dashboard uses the same dark card, control and typography system as the lists. */
html body .dash-page :is(.dash-dre-card, .dash-alert-card, .dash-analytics-card, .dash-chart-panel, .dash-side-summary, .dash-panel, .dash-preportal-panel, .dash-comparison-card) {
  background: var(--color-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0,0,0,.18) !important;
  color: var(--color-text) !important;
}
html body .dash-page :is(.dash-dre-card, .dash-alert-card) strong,
html body .dash-page :is(.dash-dre-card, .dash-alert-card) span,
html body .dash-page :is(.dash-dre-card, .dash-alert-card) small { color: var(--color-text) !important; }
html body .dash-page .dash-dre-card small,
html body .dash-page .dash-alert-card small { color: var(--color-text-secondary) !important; }
html body .dash-page .dash-view-tab,
html body .dash-page .dash-tab-btn { background: transparent !important; border: 0 !important; color: var(--color-text-secondary); }
html body .dash-page .dash-view-tab.active,
html body .dash-page .dash-tab-btn.active { background: transparent !important; color: var(--color-accent) !important; border-bottom: 2px solid var(--color-accent) !important; }
html body .dash-page .dash-filter-bar,
html body .dash-page .dash-filter-fields { background: var(--color-surface) !important; border-color: var(--ui-border) !important; }
html body .dash-page .dash-filter-bar select,
html body .dash-page .dash-filter-bar input { min-height: 36px; background: var(--color-surface-elevated) !important; border-color: var(--ui-border) !important; color: var(--color-text) !important; border-radius: 8px; font-size: .82rem; }
html body .dash-page .dash-filter-bar button { min-height: 36px; border-radius: 8px; font-size: .8rem; box-shadow: none !important; }
html body .dash-page .dash-data-table td,
html body .dash-page .dash-mini-table td { color: #e5efe9 !important; border-bottom-color: rgba(167,203,184,.07) !important; }
html body .dash-page .dash-data-table th,
html body .dash-page .dash-mini-table th { color: #a9c4b5 !important; }

/* Dashboard period controls and summaries: remove remaining legacy light styling. */
html body .dash-page .dash-period-tabs {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--ui-border) !important;
  border-radius: 8px;
  background: var(--color-surface-elevated) !important;
}
html body .dash-page .dash-period-tabs .dash-tab-btn {
  min-height: 28px;
  padding: 5px 9px;
  border: 0 !important;
  border-radius: 6px;
  background: transparent !important;
  color: var(--color-text-secondary) !important;
  font-size: .76rem;
}
html body .dash-page .dash-period-tabs .dash-tab-btn.active {
  background: rgba(139,220,58,.10) !important;
  color: var(--color-accent) !important;
  border-bottom: 0 !important;
}
html body .dash-page .dash-side-summary,
html body .dash-page .dash-side-summary * {
  color: var(--color-text-secondary);
}
html body .dash-page .dash-side-summary h3,
html body .dash-page .dash-side-summary .dash-summary-value,
html body .dash-page .dash-side-summary strong { color: var(--color-text) !important; }
html body .dash-page .dash-side-summary .dash-summary-label,
html body .dash-page .dash-side-summary .dash-side-period { color: var(--color-text-secondary) !important; }
html body .dash-page .dash-side-summary hr,
html body .dash-page .dash-side-summary .summary-divider { border-color: var(--gofyn-form-border-soft) !important; background: var(--gofyn-form-border-soft) !important; }

/* Final fidelity pass: Contas a Receber mirrors the AP table scale exactly. */
html body .contas-receber-page .gofyn-table tbody td .status-text,
html body .contas-receber-page .gofyn-table tbody td .badge,
html body .contas-receber-page .empresas-panel tbody td .status-text {
  display: inline-block !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: .62rem !important;
  font-weight: 650 !important;
  letter-spacing: .035em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  white-space: nowrap;
}
html body .contas-receber-page .gofyn-table tbody td {
  padding: 8px 12px !important;
  font-size: .85rem !important;
  line-height: 1.3 !important;
}
html body .contas-receber-page .gofyn-table thead th {
  padding: 8px 12px !important;
  font-size: .7rem !important;
  line-height: 1.3 !important;
  letter-spacing: .07em !important;
}
html body .contas-receber-page .gofyn-table th:nth-child(1),
html body .contas-receber-page .gofyn-table td:nth-child(1) { width: 18% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(2),
html body .contas-receber-page .gofyn-table td:nth-child(2) { width: 25% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(3),
html body .contas-receber-page .gofyn-table td:nth-child(3) { width: 25% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(4),
html body .contas-receber-page .gofyn-table td:nth-child(4) { width: 21% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(5),
html body .contas-receber-page .gofyn-table td:nth-child(5) { width: 11% !important; }
html body .contas-receber-page .gofyn-filter-bar .gofyn-search { flex: 1 1 420px; min-width: 0; }
html body .contas-receber-page .gofyn-filter-bar .gofyn-toolbar__actions { gap: 8px; }

/* Receiver list uses its own neutral status hook to prevent legacy badge rules. */
html body .contas-receber-page .gofyn-status-text {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: var(--color-text-secondary) !important;
  font-size: .62rem !important;
  font-weight: 650 !important;
  letter-spacing: .035em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  white-space: nowrap;
}
html body .contas-receber-page .gofyn-status-text.recebida,
html body .contas-receber-page .gofyn-status-text.status-paid { color: #a6d47d !important; }
html body .contas-receber-page .gofyn-status-text.vencida,
html body .contas-receber-page .gofyn-status-text.atrasada,
html body .contas-receber-page .gofyn-status-text.status-overdue { color: #d99696 !important; }
html body .contas-receber-page .gofyn-toolbar { flex-wrap: nowrap !important; }
html body .contas-receber-page .gofyn-toolbar__actions { flex: 0 0 auto; white-space: nowrap; }

/* Structural parity: receiver toolbar and status cell use the AP primitives directly. */
html body .contas-receber-page > .gofyn-filter-bar > .gofyn-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
html body .contas-receber-page > .gofyn-filter-bar > .gofyn-toolbar > .gofyn-search { min-width: 0 !important; }
html body .contas-receber-page > .gofyn-filter-bar > .gofyn-toolbar > .gofyn-toolbar__actions { flex-wrap: nowrap !important; }
html body .contas-receber-page .gofyn-status-cell {
  color: var(--color-text-secondary) !important;
  font-size: .62rem !important;
  font-weight: 650 !important;
  letter-spacing: .035em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
html body .contas-receber-page .gofyn-status-cell.paga { color: #a6d47d !important; }
html body .contas-receber-page .gofyn-status-cell.atrasada { color: #d99696 !important; }

/* Final density alignment with Contas a Pagar. */
html body .contas-receber-page .gofyn-table {
  font-size: .78rem !important;
}
html body .contas-receber-page .gofyn-table thead th,
html body .contas-receber-page .gofyn-table thead th button,
html body .contas-receber-page .gofyn-table thead th button span {
  font-size: .62rem !important;
  font-weight: 650 !important;
  letter-spacing: .055em !important;
}
html body .contas-receber-page .gofyn-table tbody td {
  padding: 7px 12px !important;
  font-size: .78rem !important;
  line-height: 1.25 !important;
}
html body .contas-receber-page .gofyn-table tbody td:nth-child(1) { width: 17% !important; }
html body .contas-receber-page .gofyn-table tbody td:nth-child(2) { width: 27% !important; }
html body .contas-receber-page .gofyn-table tbody td:nth-child(3) { width: 25% !important; }
html body .contas-receber-page .gofyn-table tbody td:nth-child(4) { width: 19% !important; }
html body .contas-receber-page .gofyn-table tbody td:nth-child(5) { width: 12% !important; }
html body .contas-receber-page .gofyn-table thead th { padding: 7px 12px !important; }

/* Match AP typography and keep the value column compact. */
html body .contas-receber-page .gofyn-table,
html body .contas-receber-page .gofyn-table tbody td {
  font-family: inherit !important;
  font-size: .75rem !important;
}
html body .contas-receber-page .gofyn-table tbody td { padding: 7px 12px !important; line-height: 1.25 !important; }
html body .contas-receber-page .gofyn-table thead th,
html body .contas-receber-page .gofyn-table thead th button,
html body .contas-receber-page .gofyn-table thead th button span {
  font-family: inherit !important;
  font-size: .6rem !important;
  letter-spacing: .05em !important;
}
html body .contas-receber-page .gofyn-table th:nth-child(1),
html body .contas-receber-page .gofyn-table td:nth-child(1) { width: 17% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(2),
html body .contas-receber-page .gofyn-table td:nth-child(2) { width: 29% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(3),
html body .contas-receber-page .gofyn-table td:nth-child(3) { width: 27% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(4),
html body .contas-receber-page .gofyn-table td:nth-child(4) { width: 15% !important; }
html body .contas-receber-page .gofyn-table th:nth-child(5),
html body .contas-receber-page .gofyn-table td:nth-child(5) { width: 12% !important; }

/* Exact AP table density for receiver rows. */
html body .contas-receber-page .gofyn-table th,
html body .contas-receber-page .gofyn-table td {
  padding: 8px 12px !important;
  font-size: .85rem !important;
  line-height: 1.3 !important;
}
html body .contas-receber-page .gofyn-table thead th,
html body .contas-receber-page .gofyn-table thead th button,
html body .contas-receber-page .gofyn-table thead th button span {
  font-size: .7rem !important;
  line-height: 1.3 !important;
  letter-spacing: .07em !important;
}
html body .contas-receber-page .gofyn-table tbody td.gofyn-status-cell {
  font-size: .62rem !important;
  line-height: 1.2 !important;
}

/* Receiver drawer visual parity with the compact AP form. */
html body .contas-receber-page .contas-drawer .drawer-body { padding: 20px !important; }
html body .contas-receber-page .contas-drawer form { display: flex; flex-direction: column; gap: 10px; }
html body .contas-receber-page .contas-drawer .form-block,
html body .contas-receber-page .contas-drawer .contas-drawer-section,
html body .contas-receber-page .contas-drawer .contas-subfav-section {
  margin: 0 !important;
  padding: 0 0 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gofyn-form-border-soft) !important;
  background: transparent !important;
}
html body .contas-receber-page .contas-drawer .form-grid { gap: 10px 14px !important; }
html body .contas-receber-page .contas-drawer label { font-size: .76rem !important; line-height: 1.25 !important; }
html body .contas-receber-page .contas-drawer input,
html body .contas-receber-page .contas-drawer select,
html body .contas-receber-page .contas-drawer textarea { min-height: 34px !important; padding: 6px 9px !important; font-size: .82rem !important; }
html body .contas-receber-page .contas-drawer textarea { min-height: 66px !important; }
html body .contas-receber-page .contas-drawer .conta-file-picker,
html body .contas-receber-page .contas-drawer .contas-anexos-section,
html body .contas-receber-page .contas-drawer .contas-auditoria-section { background: transparent !important; border-color: var(--gofyn-form-border-soft) !important; }
html body .contas-receber-page .contas-drawer .drawer-actions { padding-top: 8px !important; gap: 8px !important; }

/* Receiver drawer actions use the same compact action language as AP. */
html body .contas-receber-page .contas-drawer .empresas-drawer-actions .btn,
html body .contas-receber-page .contas-drawer .drawer-actions .btn {
  min-height: 36px !important;
  padding: 7px 13px !important;
  border-radius: 8px !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
html body .contas-receber-page .contas-drawer #conta-receber-cancel-form,
html body .contas-receber-page .contas-drawer #conta-receber-new-after-save,
html body .contas-receber-page .contas-drawer .btn-ghost {
  background: transparent !important;
  border: 1px solid var(--gofyn-form-border) !important;
  color: var(--color-text-secondary) !important;
}
html body .contas-receber-page .contas-drawer #conta-receber-delete,
html body .contas-receber-page .contas-drawer .btn-danger {
  background: rgba(190,65,65,.14) !important;
  border: 1px solid rgba(239,119,119,.65) !important;
  color: #ef9a9a !important;
}
html body .contas-receber-page .contas-drawer .btn-primary {
  background: var(--color-accent) !important;
  border: 1px solid var(--color-accent) !important;
  color: var(--color-text-inverse) !important;
}
html body .contas-receber-page .contas-drawer .conta-drawer-tab { font-size: .8rem !important; }

/* Drawer forms: no divider between consecutive field groups. */
html body .contas-receber-page .contas-drawer .form-block,
html body .contas-receber-page .contas-drawer .form-grid.form-block {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html body .contas-receber-page .contas-drawer .contas-drawer-section {
  border-bottom: 0 !important;
}

/* Receiver drawer footer follows the canonical AP action bar. */
html body .contas-receber-page .contas-drawer > .drawer-body > form > .empresas-drawer-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--gofyn-form-border-soft) !important;
}
html body .contas-receber-page .contas-drawer > .drawer-body > form > .empresas-drawer-actions .btn {
  min-height: 36px !important;
  padding: 7px 13px !important;
  border-radius: 8px !important;
  font-size: .8rem !important;
}

/* Receiver drawer title matches the AP title and edit icon. */
html body .contas-receber-page .contas-drawer .drawer-header h2 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: var(--color-text) !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
html body .contas-receber-page .contas-drawer .drawer-title-icon {
  font-family: 'Material Symbols Outlined' !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: var(--color-accent) !important;
  line-height: 1 !important;
}

/* Receiver drawer: restore the vertical rhythm used by the AP form. */
html body .contas-receber-page .contas-drawer form { gap: 14px !important; }
html body .contas-receber-page .contas-drawer .form-grid {
  row-gap: 12px !important;
  column-gap: 14px !important;
}
html body .contas-receber-page .contas-drawer .form-grid > label {
  display: grid !important;
  gap: 5px !important;
  align-content: start !important;
}
html body .contas-receber-page .contas-drawer .entity-autocomplete { display: grid; gap: 0; }

/* Observation field has no trailing divider in the receiver drawer. */
html body .contas-receber-page .contas-drawer #conta-receber-observacao,
html body .contas-receber-page .contas-drawer #conta-receber-observacao ~ *,
html body .contas-receber-page .contas-drawer #conta-receber-observacao {
  border-bottom-color: transparent !important;
}
html body .contas-receber-page .contas-drawer #conta-receber-observacao {
  border-bottom: 1px solid var(--gofyn-form-border) !important;
}
html body .contas-receber-page .contas-drawer #conta-receber-observacao:focus { border-bottom-color: var(--color-accent) !important; }
html body .contas-receber-page .contas-drawer .form-grid:has(#conta-receber-observacao) {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* The tab panels provide the separation; hide the legacy standalone divider. */
html body .contas-receber-page .contas-drawer .drawer-divider { display: none !important; }

/* Receiver drawer: increase vertical rhythm between field rows without dividers. */
html body .contas-receber-page .contas-drawer form { gap: 18px !important; }
html body .contas-receber-page .contas-drawer .form-grid {
  row-gap: 16px !important;
}
html body .contas-receber-page .contas-drawer .form-grid > label {
  gap: 6px !important;
}

/* Field groups live inside the active tab panel; apply spacing at that level. */
html body .contas-receber-page .conta-drawer-panel {
  display: grid !important;
  gap: 16px !important;
  align-content: start !important;
}
html body .contas-receber-page .conta-drawer-panel .form-grid + .form-grid,
html body .contas-receber-page .conta-drawer-panel .form-grid + .contas-drawer-section {
  margin-top: 0 !important;
}
