/* Tema "paleta B" (redesign aprovado em 10/10/2026). Só aparência: cores, tipografia,
   espaçamento e bordas. Carregado depois do styles.css; nenhuma regra aqui muda o que aparece
   ou some, nem a ordem dos elementos. Referência: redesign-premium-final-b (fora do repositório). */

:root {
  /* Tokens da paleta B */
  --bg: #111318;
  --panel: #191c23;
  --panel-2: #1b1e26;
  --raised: #232630;
  --head: #252832;
  --border: #343742;
  --border-soft: #2b2e38;
  --field: #21242d;
  --field-border: #424550;
  --text: #f0f1f4;
  --text-2: #e0dfe8;
  --text-muted: #a9abb8;
  --primary: #6682ff;
  --primary-soft: #9caDff;
  --positive: #16cc6e;
  --pending: #f7a417;
  --negative: #ff5361;

  /* Tokens antigos do styles.css apontando para a paleta nova */
  --ink: var(--text);
  --muted: var(--text-muted);
  --line: var(--border);
  --canvas: var(--bg);
  --surface: var(--panel);
  --surface-raised: var(--raised);
  --cyan: #8299ff;
  --green: var(--positive);
  --orange: var(--pending);
  --yellow: #ffd047;
  --red: var(--negative);
  --purple: var(--primary);
  --fixed: #9baaff;
  --variable: #c3b2ff;
}

html, body { background: var(--bg); }
body { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Inter, Arial, sans-serif; color: var(--text); -webkit-font-smoothing: antialiased; }
:root { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Inter, Arial, sans-serif; }

/* ---- Topo e menu ---- */
body .topbar { border-bottom: 1px solid #333541; background: #17191ff2; }
body .sidebar { border-color: #333541; background: #17191f; }
body .brand-name { font-size: 16px; font-weight: 650; letter-spacing: -.28px; color: var(--text); }
body .brand-mark { width: 30px; height: 30px; display: inline-grid; place-items: center; border: 1px solid #5369c8; border-radius: 7px; background: #1c2852; color: #9aacff; font-size: 0; }
body .brand-mark svg { width: 19px; height: 19px; }
@media (min-width: 761px) {
  body .side-nav .nav-button { color: #a9aab7; font-weight: 550; }
  body .side-nav .nav-button:hover { color: #e6e1ef; }
  body .side-nav .nav-button.active { color: #eff0ff; border-bottom-color: var(--primary); }
}
@media (max-width: 760px) {
  body .side-nav .nav-button.active { background: #253367; color: #eff0ff; box-shadow: 0 0 0 1px #536bd4 inset; }
}

/* ---- Botões ---- */
body .button-primary, body .top-actions .button-primary, body .entry-dialog .button-primary { border: 1px solid #8da1ff; background: var(--primary); color: #0c1538; box-shadow: none; }
body .button-primary:hover { background: #7690ff; }
body .button-secondary, body .entry-dialog .button-secondary { border-color: #41434e; background: #262932; color: #e2e2eb; }
body .button-secondary:hover { border-color: #565a68; background: #2c303a; }
body .account-avatar { border-color: #575461; background: #31313b; }
body .sync-dot { border-color: #17191f; }

/* ---- Título do período ---- */
body .title-select, body .page-title-line h1 { color: var(--text); letter-spacing: -.9px; }
body .month-nav-arrow { border: 1px solid #3a3d49; border-radius: 6px; background: #20232b; color: #bccddd; }
body .month-nav-arrow:hover { border-color: #536bd4; color: #eff0ff; }
body .month-picker { border-color: var(--border); background: var(--panel); }

/* ---- Cartões do topo: uma faixa só, divisórias finas, traço colorido no rótulo ----
   O fundo do container aparece como linha entre os cartões (gap de 1px), em qualquer número
   de colunas. Cor do número: entradas verde, pagas/saldo azul, vencidas/acima vermelho
   (só quando há valor); o resto em branco. */
body .month-metrics, body .year-summary, body .category-metrics { gap: 1px; padding: 0; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; background: var(--border); }
body .month-metrics .metric, body .year-summary > div, body .category-metrics article {
  min-height: 0; justify-content: center; gap: 8px; padding: 17px 24px 18px; border: 0; border-radius: 0; background: var(--panel-2); box-shadow: none;
}
body .month-metrics .metric-label, body .year-summary > div > span, body .category-metrics article > span {
  display: flex; align-items: center; gap: 9px; color: #b5b6c2; font-size: 13px; font-weight: 520;
}
body .month-metrics .metric-label::before, body .year-summary > div > span::before, body .category-metrics article > span::before {
  content: ""; flex: none; width: 12px; height: 2px; border-radius: 3px; background: var(--metric-dash, #888b9b);
}
body .month-metrics .metric .metric-value, body .year-summary > div:nth-child(n) > strong, body .category-metrics article:nth-child(n) > strong {
  margin-top: 0; color: var(--metric-value, #f2f0f5); font-size: 28px; font-weight: 610; line-height: 32px; letter-spacing: -.75px; white-space: nowrap; font-variant-numeric: tabular-nums;
}
body .metric-value .currency, body .year-summary strong .currency, body .category-metrics strong .currency { margin-right: 5px; color: var(--metric-currency, #b9bac8); font-size: 18px; font-weight: 470; letter-spacing: -.2px; }
body .metric-value .unit, body .year-summary strong .unit, body .category-metrics strong .unit { margin-left: 4px; font-size: 21px; font-weight: 550; }

/* Caixa */
body .month-metrics .metric-income { --metric-dash: var(--positive); --metric-value: #2ddd79; }
body .month-metrics .metric-bills { --metric-dash: var(--primary); --metric-value: #f2f0f5; }
body .month-metrics .metric-due { --metric-dash: var(--pending); --metric-value: #f2f0f5; }
body .month-metrics .metric-paid { --metric-dash: var(--primary); --metric-value: #9cadff; }
body .month-metrics .metric-late { --metric-dash: var(--negative); --metric-value: var(--text-muted); }
/* Gastos */
body .month-metrics .metric-goal { --metric-dash: var(--primary); --metric-value: #f2f0f5; }
body .month-metrics .metric-spent { --metric-dash: var(--pending); --metric-value: #f2f0f5; }
body .month-metrics .metric-available { --metric-dash: var(--primary); --metric-value: #9cadff; }
body .month-metrics .metric-over { --metric-dash: var(--negative); --metric-value: var(--text-muted); }
body .month-metrics .metric-value.negative { --metric-value: #ff6670; color: #ff6670 !important; }
body .month-metrics .metric-value.negative .currency { color: #ffa0a5; }
/* Ano */
body .year-summary > div:nth-child(1) { --metric-dash: var(--positive); --metric-value: #2ddd79; }
body .year-summary > div:nth-child(2) { --metric-dash: var(--pending); --metric-value: #f2f0f5; }
body .year-summary > div:nth-child(3) { --metric-dash: var(--primary); --metric-value: #f2f0f5; }
body .year-summary > div:nth-child(4) { --metric-dash: var(--negative); --metric-value: #ff6670; --metric-currency: #ffa0a5; }
body .year-summary > div.is-clear { --metric-dash: var(--positive); --metric-value: #2ddd79; --metric-currency: #b9bac8; }
body .year-summary > div:nth-child(5) { --metric-dash: var(--primary); --metric-value: #9cadff; }
/* Orçamento */
body .category-metrics .monthly, body .category-metrics .budget { --metric-dash: var(--primary); --metric-value: #f2f0f5; }
body .category-metrics .spent { --metric-dash: var(--pending); --metric-value: #f2f0f5; }
body .category-metrics .over { --metric-dash: var(--negative); --metric-value: #ff6670; --metric-currency: #ffa0a5; }
@media (max-width: 1100px) {
  body .month-metrics .metric, body .year-summary > div, body .category-metrics article { padding: 13px 16px; }
  body .month-metrics .metric .metric-value, body .year-summary > div:nth-child(n) > strong, body .category-metrics article:nth-child(n) > strong { font-size: 22px; line-height: 26px; }
  body .metric-value .currency, body .year-summary strong .currency, body .category-metrics strong .currency { font-size: 14px; }
}
@media (max-width: 700px) {
  body .month-metrics > .metric:first-child, body .year-summary > div:first-child { grid-column: 1 / -1; }
  body .month-metrics .metric .metric-value, body .year-summary > div:nth-child(n) > strong, body .category-metrics article:nth-child(n) > strong { font-size: 19px; line-height: 23px; }
}

/* ---- Títulos de seção ---- */
body .section-heading h2, body .month-panel-head h2, body .transactions-view h2 { color: var(--text); font-size: 19px; font-weight: 630; letter-spacing: -.35px; }
body .section-heading p, body .month-panel-head p, body .muted { color: #aeb0be; }
body .eyebrow { color: var(--text-muted); }

/* ---- Campos e filtros ---- */
body input:not([type=checkbox]):not([type=radio]), body select, body textarea, body .combo-select, body .monthly-search {
  border-color: var(--field-border); background-color: var(--field); color: #e0dfe7;
}
body input::placeholder, body textarea::placeholder { color: #aaa9b8; opacity: 1; }
body input:focus, body select:focus, body textarea:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 2px #6682ff40; }
body .filters label > span, body .form-grid label > span, body .launch-filter > span { color: #bdbecc; font-weight: 580; }
body .combo-list { border-color: var(--border); background: var(--panel); }

/* Seletor em segmentos (Todas/Fixas/Variáveis, Por categoria/Em lista) */
body .segmented { border: 1px solid #3b3e4b; border-radius: 6px; background: #1d2028; }
body .segmented .segment { color: #aeb0bd; font-weight: 550; }
body .segmented .segment.active, body .segmented .segment[aria-pressed="true"] { border-color: transparent; background: #253367; box-shadow: 0 0 0 1px #536bd4 inset; color: #ced6ff; }

/* ---- Painéis e tabelas ---- */
body .panel, body .monthly-table-wrap, body .transaction-list, body .year-table-wrap, body .manager-table-panel { border-color: #363943; background: var(--panel-2); }
body .monthly-budget-table th, body .year-table th, body .manager-table th, body .transaction-list-head, body .recurrence-table th, body .statement-table th, body .depara-table th, body .plan-table th {
  border-bottom-color: #3b3e49; background: var(--head); color: #bcbec9; font-weight: 610;
}
body .monthly-budget-table td, body .manager-table td, body .recurrence-table td, body .statement-table td, body .depara-table td, body .plan-table td { border-color: #2c2f39; color: var(--text-2); }
body .transaction-row { border-color: #2c2f39; }
body .transaction-row:hover, body .monthly-budget-table tbody tr:hover td, body .manager-table tbody tr:hover td { background-color: #20232c; }
body .monthly-positive, body .year-difference.positive, body .positive { color: var(--positive); }
body .monthly-negative, body .negative { color: var(--negative); }
body .monthly-goal { color: #9baaff; }
body .monthly-budget-total td { border-top: 1px solid #53618c; background: #2c3042; color: #f0f1f8; font-weight: 630; }

/* Barras de uso da meta */
body progress.monthly-usage { appearance: none; -webkit-appearance: none; height: 4px; border: 0; border-radius: 3px; background: #3a3d46; }
body progress.monthly-usage::-webkit-progress-bar { border-radius: 3px; background: #3a3d46; }
body progress.monthly-usage::-webkit-progress-value { border-radius: 3px; background: var(--primary); }
body progress.monthly-usage::-moz-progress-bar { border-radius: 3px; background: var(--primary); }
body .is-over progress.monthly-usage::-webkit-progress-value, body progress.monthly-usage.is-over::-webkit-progress-value, body progress.monthly-usage.over::-webkit-progress-value { background: var(--negative); }
body .is-over progress.monthly-usage::-moz-progress-bar, body progress.monthly-usage.is-over::-moz-progress-bar, body progress.monthly-usage.over::-moz-progress-bar { background: var(--negative); }
body .manager-usage-track { height: 4px; background: #3a3d46; }
body .manager-usage-fill { background: var(--primary); }

/* Situação: selo com ponto */
body .payment-badge, body .transaction-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 0; border-radius: 4px; background: #392914; color: #f7b532; font-size: 12px; font-weight: 570; white-space: nowrap; }
body .payment-badge::before, body .transaction-status::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
body .payment-badge.paid, body .transaction-status.paid { background: #163b28; color: #2ddd79; }
body .payment-badge.partial, body .transaction-status.partial { background: #3b3210; color: #ffd047; }
body .payment-badge.overdue, body .transaction-status.overdue, body .payment-badge.late, body .transaction-status.late { background: #3d1a20; color: #ff6670; }

/* Gastos em lista */
body .transaction-main strong { color: #f0edf2; font-weight: 570; }
body .transaction-main small, body .transaction-category-text small { color: #aaa9b6; }
body .transaction-fixed .transaction-main small { color: #9baaff; }
body .transaction-amount.expense { color: #f7ad2a; }
body .transaction-amount.income { color: var(--positive); }

/* Ícones de ação nas linhas */
body .icon-tool, body .icon-action { border-color: #414b60; background: #222734; color: #a6b5dd; }
body .icon-tool:hover, body .icon-action:hover { border-color: #5e75d9; color: #e0e6ff; }
body .icon-action.danger-action:hover { border-color: #74333c; color: #ff6670; }

/* Ícone da categoria (emoji, como antes), num quadradinho na paleta */
body .category-emoji { border: 1px solid #343a4c; background: #232838; filter: saturate(.75); }

/* ---- Caixa: grupos de contas ---- */
body .bill-group { border: 1px solid var(--border); border-radius: 8px; background: var(--panel-2); overflow: hidden; }
body .bill-group-head { border-bottom: 1px solid #393c48; background: var(--head); }
body .bill-group-title strong { color: var(--text); font-size: 16px; font-weight: 620; }
body .bill-group-count { border: 1px solid #455064; border-radius: 4px; background: #2b303b; color: #c3cbda; }
body .bill-group-total { font-weight: 600; font-variant-numeric: tabular-nums; }
body .bill-group-overdue { border-color: #74333c; }
body .bill-group-overdue .bill-group-head { box-shadow: 3px 0 0 var(--negative) inset; }
body .bill-group-overdue .bill-group-title strong, body .bill-group-overdue .bill-group-total { color: #ff6670; }
body .bill-group-soon .bill-group-title strong, body .bill-group-soon .bill-group-total { color: var(--pending); }
body .bill-group-income .bill-group-title strong, body .bill-group-income .bill-group-total { color: var(--positive); }
body .bill-group-help { margin: 0; padding: 12px 20px; background: #242127; color: #bfc3ce; }
body .bill-row { border-color: var(--border-soft); }
body .bill-row:hover { background: #1f222b; }
body .bill-main strong { color: var(--text); font-weight: 590; }
body .bill-main small { color: #aeb5c2; }
body .bill-due { color: #c6ccd7; }
body .bill-amount strong { color: var(--text); font-weight: 610; }
body .bill-check { border-color: #647083; background: #20242d; }
body .bill-check[aria-pressed="true"] { border-color: var(--positive); background: #163b28; color: #2ddd79; }

/* ---- Ano ---- */
body .annual-chart { border-color: var(--border); background: var(--panel-2); }
body .chart-gridline { stroke: #343944; }
body .chart-axis-label, body .chart-month-label { fill: #b3afbf; }
body .chart-income-bar { fill: var(--positive); }
body .chart-expense-bar { fill: var(--pending); }
body .chart-balance-line { stroke: var(--primary); }
body .chart-balance-point { fill: var(--panel-2); stroke: var(--primary); }
body .chart-target { stroke: var(--pending); }
body .chart-selection { fill: #6682ff14; stroke: #536bd4; stroke-dasharray: 3 3; }
body .income-dot { background: var(--positive); }
body .expense-dot { background: var(--pending); }
body .balance-line { background: var(--primary); }
body .target-line { border-color: var(--pending); }
body .annual-legend { color: #d1cbd9; }
body .forecast-switch { border-color: #8da1ff; }
body .forecast-toggle input:checked + .forecast-switch { background: #506bec; }

body .year-row { --row-bg: var(--panel-2); }
body .year-row:nth-of-type(even) { --row-bg: #1d2029; }
body .year-row:hover { --row-bg: #232735; }
body .year-row.year-parent td { --row-bg: var(--panel-2); }
body .year-row.year-parent.is-open { --row-bg: #212638; }
body .year-row.year-child { --row-bg: #171a21; }
body .year-row.year-child:nth-of-type(even) { --row-bg: #191c24; }
body .year-row.annual-section-row { --row-bg: #2c3042; }
body .year-row.annual-section-row.income { --row-bg: #1c2e27; }
body .year-row.balance { --row-bg: #222c52; }
body .year-table td { border-color: #2c2f39; color: #dbd8e2; }
body .year-table .is-forecast { color: #a7aebb; }
body .year-table th.year-current, body .year-table thead th:nth-child(12).is-current { background: #34488e; color: #d6dfff; }
body .year-table td.year-current { background-color: #222c52; color: #e0e6ff; }
body .year-table td.year-current.is-forecast { color: #c8d0f0; }
body .year-table td.year-annual { background-color: #302a21; color: #f7bc52; }
body .year-table td.year-annual-goal { background-color: #262c49; color: #a8b6ff; }
body .year-budget { color: #9baaff; }

/* ---- Orçamento ---- */
body .manager-sub-count { border: 1px solid #48577e; border-radius: 4px; background: #252c45; color: #c4d0f4; }
body .manager-sub-count[aria-expanded="true"] { border-color: #5e75d9; background: #24366c; color: #c3ceff; }
body .manager-category-name { color: #e9e8ef; font-weight: 580; }
body .drill-link { color: inherit; }
body .drill-link:hover { color: #c3ceff; }

/* ---- Janelas ---- */
body dialog { border-color: var(--border); background: var(--panel); color: var(--text); }
body dialog::backdrop { background: #07080bb8; }
body .dialog-heading h2 { color: var(--text); }
body .toast { border-color: var(--border); background: var(--raised); color: var(--text); }
body .form-error { color: #ff7782; }
body .backup-reminder { border-color: #48577e; background: #1d2440; }

/* ---- Medidas do desenho em telas largas: topo de 60px, margens de 32px ---- */
@media (min-width: 1000px) {
  body .topbar-inner { min-height: 60px; padding: 0 32px; }
  body .sidebar { height: 60px; padding: 0 32px; gap: 36px; }
  body .side-nav .nav-button { min-height: 60px; padding: 0 18px; }
  body .page-shell { padding: 20px 32px 28px; }
}
/* Cabeçalho da tabela anual acompanha a página só quando a tabela cabe sem rolagem lateral. */
@media (min-width: 1512px) { body .year-table thead th { top: 60px; } }

/* ---- Gastos por categoria: categoria em branco, subcategorias num tom abaixo ---- */
body .monthly-budget-parent { background: var(--panel-2); }
body .monthly-budget-parent .monthly-budget-name { color: #e9e8ef; font-weight: 580; }
body .monthly-budget-parent .monthly-disclosure strong { font-size: 13.5px; }
body .monthly-disclosure > span:first-child { color: #a0b0ff; }
body .monthly-budget-child { background: #17191f; }
body .monthly-budget-child td { color: #c1bccb; }
/* "Sem conferência" aparece como vencida (SPEC §3): mesmo vermelho */
body .payment-badge.unknown, body .transaction-status.unknown { background: #3d1a20; color: #ff6670; }
body .transactions-view .filters .combo-select input, body .combo input { border-color: var(--field-border); background: var(--field); color: #e0dfe7; }
body .combo input:focus, body .transactions-view .filters .combo-select input:focus { border-color: var(--primary); box-shadow: 0 0 0 2px #6682ff40; }
body .combo-clear:hover, body .combo-toggle:hover { background: #2c303a; }
body .combo-list, body .entry-suggest { border-color: var(--border); background: var(--panel); }
body .entry-suggest-item:hover, body .entry-suggest-item.is-active { background: #253367; }

/* ---- Ano: nomes em branco; a faixa colorida à esquerda continua marcando a seção ---- */
body .year-row.year-parent td.year-category { color: #e4e1e9; }
body .year-row.year-parent.income td.year-category, body .year-row.year-income-source td.year-category { color: #6fe0a0; }
body .year-row.annual-section-row.expense td.year-category, body .year-row.annual-section-row.income td.year-category { color: #f0f1f8; }
body .year-row.annual-section-row.expense td { border-top-color: #53618c; border-bottom-color: #53618c; }
body .year-row.annual-section-row.income td { border-top-color: #2b5a42; border-bottom-color: #2b5a42; }
body .year-row.balance td.year-category { color: #c3ceff; box-shadow: inset 3px 0 0 var(--primary); }
body .year-row.balance:hover td.year-category { box-shadow: inset 3px 0 0 var(--primary), inset 0 1px 0 #48577e, inset 0 -1px 0 #48577e; }
body .year-row.year-parent.is-open td.year-category { box-shadow: inset 3px 0 0 var(--primary); }
body .year-row.year-child td.year-category { box-shadow: inset 3px 0 0 #6682ff66; }
body .year-table td.year-category { border-right-color: var(--border); }
body .year-table-wrap { border-color: var(--border); background: var(--panel-2); }

/* ---- Orçamento: coluna da meta anual destacada; disponível em verde, excesso em vermelho ---- */
body .manager-table th:nth-child(4), body .manager-table td:nth-child(4) { background: #242b43; }
body .manager-table tbody tr:not(.manager-category-row) td:nth-child(4) { background: #1f273c; }
body .manager-table td.is-over { color: #ff5361; }
body .manager-table tbody td:nth-child(6):not(.is-over) { color: var(--positive); }
body .manager-table .sort-button { color: #bcbec9; }
body .manager-table .sort-button.active { color: #c3ceff; }
/* Categoria acima da meta: a meta anual mantém um fundo avermelhado (aviso que já existia). */
body .manager-table .manager-category-row.exceeded td:nth-child(4) { background: #3a2433; }
/* Alça de arrastar a subcategoria para outra categoria (função existente). */
body .drag-handle { color: #6c7590; }
body .manager-subcategory-row:hover .drag-handle { color: #a0b0ff; }
body .manager-subcategory-row td { background-color: #17191f; color: #c1bccb; }

/* ---- Celular ---- */
@media (max-width: 700px) {
  /* A barra de baixo passava 6px da tela (largura 100% + recuo). */
  body .sidebar { left: 0; right: 0; width: auto; max-width: 100vw; overflow: hidden; background: #17191f; }
  body .side-nav { min-width: 0; flex: 1; }
  body .side-nav .nav-button { min-width: 0; flex: 1 1 0; }
  /* Gastos: com 5 cartões em 2 colunas, o último ocupa a linha toda (o primeiro é o de Caixa, oculto). */
  body .month-metrics.is-spending > .metric:first-child { grid-column: auto; }
  body .month-metrics.is-spending > .metric-over { grid-column: 1 / -1; }
}

/* ---- Ícones de traço das categorias (no lugar dos emojis; o emoji continua guardado) ---- */
body .category-emoji.category-line-icon { width: 18px; height: 18px; border: 0; background: none; color: #a1aab9; filter: none; }
body .category-line-icon svg { width: 17px; height: 17px; display: block; }
body .year-group-icon.category-line-icon svg, body .combo-icon.category-line-icon svg { width: 15px; height: 15px; }
body .transaction-category-icon.category-line-icon { color: #a1aab9; }
body .icon-choice svg { width: 20px; height: 20px; display: block; margin: auto; color: #c3cbda; }
body .icon-choice.selected { border-color: #5e75d9; background: #24366c; }
body .icon-choice.selected svg { color: #eff0ff; }

/* Categoria sem subcategoria: selo âmbar, como no redesign */
body .manager-sub-empty { display: inline-flex; align-items: center; padding: 0 8px; border: 1px solid #785012; border-radius: 4px; background: #352811; color: #ffc047; font-size: 12px; line-height: 23px; white-space: nowrap; }

/* ---- Ajustes de 10/10 ---- */
/* Gastos por categoria: Diferença em verde (dentro da meta) ou vermelho (acima), como no redesign.
   Precisa vencer a cor neutra das células definida acima. */
body .monthly-budget-table td.monthly-positive { color: var(--positive); }
body .monthly-budget-table td.monthly-negative { color: var(--negative); }
/* Orçamento: nome da categoria no mesmo tamanho e peso de Gastos, para o mesmo contraste. */
body .manager-category-name { font-size: 13.5px; font-weight: 700; }
/* Ano: categorias (e as linhas Despesas, Entradas e Saldo) com a fonte de Gastos e Orçamento. */
body .year-row.year-parent .year-group-name, body .year-row.annual-section-row .year-group-name, body .year-row.year-income-source .year-group-name, body .year-row.balance .year-group-name { font-size: 13.5px; font-weight: 700; }
/* Coluna de categoria mais larga, para os nomes maiores caberem sem "…". */
body .year-table { min-width: 1520px; }
body .year-table thead th:nth-child(1), body .year-table td.year-category, body .year-row.year-child td.year-category.year-subcategory { width: 242px; }
/* Botão principal das janelas: o hover antigo (ciano) vencia a cor do tema. */
body .entry-dialog .button-primary:hover, body dialog .button-primary:hover { background: #7690ff; box-shadow: none; }
