.cashflow-page {
    display: grid;
    gap: var(--ayw-space-5);
    width: 100%;
    max-width: var(--ayw-container-xl);
    margin: 0 auto;
    padding: var(--ayw-space-5);
  }
  
  .cashflow-hero {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--ayw-space-5);
  }
  
  .cashflow-hero h1 {
    margin: 0;
    color: var(--ayw-text);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: var(--ayw-font-weight-bold);
    letter-spacing: -0.035em;
  }
  
  .cashflow-hero p {
    max-width: var(--ayw-content-readable);
    margin: var(--ayw-space-2) 0 0;
    color: var(--ayw-text-muted);
  }
  
  .cashflow-period,
  .cashflow-period-form {
    display: flex;
    align-items: end;
    gap: var(--ayw-space-2);
  }
  
  .cashflow-period { position: relative; }
  .cashflow-period-form label {
    position: absolute;
    top: -1.2rem;
    left: 3.4rem;
    color: var(--ayw-text-muted);
    font-size: var(--ayw-font-size-xs);
    font-weight: var(--ayw-font-weight-semibold);
  }
  .cashflow-period-form .ayw-input { width: 165px; }
  .cashflow-period-arrow { width: var(--ayw-control-height-md); padding-inline: 0; }
  .cashflow-today-link {
    position: absolute;
    right: 0;
    bottom: -1.45rem;
    color: var(--ayw-primary);
    font-size: var(--ayw-font-size-xs);
    text-decoration: none;
  }
  
  .cashflow-messages { display: grid; gap: var(--ayw-space-2); }
  .cashflow-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, 360px); gap: var(--ayw-space-5); align-items: start; }
  .cashflow-main-column, .cashflow-side-column { display: grid; min-width: 0; gap: var(--ayw-space-5); }
  .cashflow-side-column { position: static; }
  
  .cashflow-entry-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ayw-space-4);
    align-items: end;
  }
  .cashflow-field-description { grid-column: span 2; }
  .cashflow-entry-form .ayw-field { gap: var(--ayw-space-1); }
  .cashflow-entry-form .ayw-field-error { color: var(--ayw-danger); font-size: var(--ayw-font-size-xs); }
  .cashflow-form-action { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: var(--ayw-space-1); }
  .cashflow-form-errors { grid-column: 1 / -1; }
  .cashflow-payment-panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-4); padding: var(--ayw-space-4); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-md); background: var(--ayw-bg-soft); }
  .cashflow-payment-heading { grid-column: 1 / -1; display: grid; gap: var(--ayw-space-1); padding-bottom: var(--ayw-space-2); border-bottom: 1px solid var(--ayw-border); }
  .cashflow-payment-heading strong { color: var(--ayw-text); }
  .cashflow-payment-heading small { color: var(--ayw-text-muted); }
  .cashflow-recurring-field, .cashflow-entry-form [data-recurrence-end] { grid-column: 1 / -1; }
  .cashflow-money-field { position: relative; }
  .cashflow-money-field > span { position: absolute; z-index: 1; top: 50%; left: .9rem; transform: translateY(-50%); color: var(--ayw-text-muted); font-size: var(--ayw-font-size-sm); }
  .cashflow-money-field .ayw-input { padding-left: 2.7rem; }
  .cashflow-money-field { position: relative; width: 100%; }
  .cashflow-money-field > span {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: .9rem;
    transform: translateY(-50%);
    color: var(--ayw-text-muted);
    font-size: var(--ayw-font-size-sm);
    font-weight: var(--ayw-font-weight-semibold);
    pointer-events: none;
  }
  .cashflow-money-field .cashflow-amount-input {
    width: 100%;
    padding-left: 2.8rem;
    font-variant-numeric: tabular-nums;
  }
  
  .cashflow-history-heading { display: flex; align-items: start; justify-content: space-between; width: 100%; gap: var(--ayw-space-4); }
  .cashflow-filters { display: none; grid-template-columns: minmax(190px, 1.4fr) repeat(4, minmax(125px, .8fr)) auto; align-items: end; width: 100%; gap: var(--ayw-space-3); padding-top: var(--ayw-space-4); border-top: 1px solid var(--ayw-border); }
  .cashflow-filters.is-open { display: grid; }
  .cashflow-filter-actions { display: flex; gap: var(--ayw-space-2); }
  .cashflow-history-card, .cashflow-history-body, .cashflow-table-wrap { overflow: visible; }
  .cashflow-history-body { min-width: 0; }
  .cashflow-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
  .cashflow-table th, .cashflow-table td { padding: .9rem var(--ayw-space-4); border-bottom: 1px solid var(--ayw-border); text-align: left; vertical-align: middle; }
  .cashflow-table th { background: var(--ayw-bg-soft); color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-bold); letter-spacing: .06em; text-transform: uppercase; }
  .cashflow-table tbody tr:last-child td { border-bottom: 0; }
  .cashflow-table tbody tr:hover { background: var(--ayw-bg-soft); }
  .cashflow-table th:first-child, .cashflow-table td:first-child { width: 82px; color: var(--ayw-text-muted); white-space: nowrap; }
  .cashflow-entry-date time { display: block; }
  .cashflow-table th:nth-child(3), .cashflow-table td:nth-child(3) { width: 135px; }
  .cashflow-table th:nth-child(4), .cashflow-table td:nth-child(4) { width: 155px; padding-right: var(--ayw-space-2); }
  .cashflow-table th:last-child, .cashflow-table td:last-child { width: 100px; padding-left: var(--ayw-space-2); }
  .cashflow-table td:nth-child(2) strong, .cashflow-table td:nth-child(2) span { display: block; }
  .cashflow-table td:nth-child(2) strong { color: var(--ayw-text); font-size: var(--ayw-font-size-sm); }
  .cashflow-table td:nth-child(2) span { margin-top: .2rem; color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); }
  .cashflow-align-right { text-align: right !important; }
  .cashflow-value { font-weight: var(--ayw-font-weight-bold); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .cashflow-value.is-positive { color: var(--ayw-success); }
  .cashflow-value.is-negative { color: var(--ayw-danger); }
  .cashflow-entry-badges { display: flex; align-items: flex-start; flex-direction: column; gap: var(--ayw-space-1); }
  .cashflow-state-badge { display: inline-flex; width: max-content; padding: .2rem .55rem; border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-full); color: var(--ayw-text-muted); background: var(--ayw-bg-soft); font-size: .68rem; font-weight: var(--ayw-font-weight-bold); line-height: 1.25; }
  .cashflow-state-badge.is-confirmed { border-color: color-mix(in srgb, var(--ayw-success) 28%, transparent); color: var(--ayw-success); }
  .cashflow-state-badge.is-planned { border-color: var(--ayw-primary-border); color: var(--ayw-primary); background: var(--ayw-primary-soft); }
  .cashflow-state-badge.is-overdue { border-color: color-mix(in srgb, var(--ayw-danger) 28%, transparent); color: var(--ayw-danger); }
  .cashflow-state-badge.is-canceled { text-decoration: line-through; }
  .cashflow-entry-row.is-canceled { opacity: .58; }
  .cashflow-row-actions { text-align: right !important; white-space: nowrap; }
  .cashflow-actions-menu { position: relative; display: inline-block; text-align: left; }
  .cashflow-actions-menu summary { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 36px; padding: .45rem .7rem; border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-md); color: var(--ayw-text-soft); cursor: pointer; font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-semibold); list-style: none; }
  .cashflow-actions-menu summary::-webkit-details-marker { display: none; }
  .cashflow-actions-menu[open] summary { border-color: var(--ayw-primary-border); background: var(--ayw-primary-soft); color: var(--ayw-primary); }
  .cashflow-row-actions-inner { position: absolute; z-index: var(--ayw-z-dropdown); top: calc(100% + var(--ayw-space-1)); right: 0; display: grid; min-width: 8rem; padding: var(--ayw-space-2); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-md); background: var(--ayw-surface); box-shadow: var(--ayw-shadow-md); }
  .cashflow-row-actions-inner .ayw-btn { width: 100%; justify-content: flex-start; }
  .cashflow-row-actions form { margin: 0; }
  .cashflow-pagination { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--ayw-space-4); padding: var(--ayw-space-4); border-top: 1px solid var(--ayw-border); color: var(--ayw-text-muted); font-size: var(--ayw-font-size-sm); }
  .cashflow-page-size { display: flex; align-items: center; gap: var(--ayw-space-2); justify-self: start; }
  .cashflow-page-size .ayw-select {
    flex: 0 0 auto;
    width: calc(var(--ayw-control-height-lg) + var(--ayw-space-10));
    min-width: calc(var(--ayw-control-height-lg) + var(--ayw-space-10));
    padding-inline: var(--ayw-space-3) var(--ayw-space-8);
  }
  .cashflow-category-label { display: flex; align-items: center; justify-content: space-between; gap: var(--ayw-space-3); }
  .cashflow-category-header-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: var(--ayw-space-2); }
  .cashflow-new-category-field { display: grid; gap: var(--ayw-space-2); margin-top: var(--ayw-space-3); padding: var(--ayw-space-3); border: 1px solid var(--ayw-primary-border); border-radius: var(--ayw-radius-md); background: var(--ayw-primary-soft); }
  .cashflow-category-manager { width: min(var(--ayw-container-md), calc(100% - var(--ayw-space-8))); max-height: min(84vh, 860px); padding: 0; border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-xl); background: var(--ayw-surface); color: var(--ayw-text); box-shadow: var(--ayw-shadow-xl); }
  .cashflow-category-manager::backdrop { background: var(--ayw-overlay); }
  .cashflow-category-manager-shell { display: grid; max-height: inherit; grid-template-rows: auto minmax(0, 1fr); }
  .cashflow-category-manager-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ayw-space-4); padding: var(--ayw-space-5); border-bottom: 1px solid var(--ayw-border); }
  .cashflow-category-manager-header h2 { margin: var(--ayw-space-1) 0; font-size: var(--ayw-font-size-xl); }
  .cashflow-category-manager-header p { margin: 0; color: var(--ayw-text-muted); }
  .cashflow-category-manager-body { overflow-y: auto; padding: var(--ayw-space-5); }
  .cashflow-category-create { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--ayw-space-3); padding: var(--ayw-space-4); border-radius: var(--ayw-radius-lg); background: var(--ayw-bg-muted); }
  .cashflow-category-manager-list { display: grid; gap: var(--ayw-space-3); margin-top: var(--ayw-space-5); }
  .cashflow-managed-category { overflow: hidden; border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-lg); background: var(--ayw-surface); }
  .cashflow-managed-category.is-archived { opacity: var(--ayw-opacity-disabled); }
  .cashflow-managed-category-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--ayw-space-3); padding: var(--ayw-space-4); cursor: pointer; list-style: none; }
  .cashflow-managed-category-heading::-webkit-details-marker { display: none; }
  .cashflow-managed-category-heading > span:first-child { display: flex; align-items: center; gap: var(--ayw-space-2); min-width: 0; }
  .cashflow-managed-category-heading small { padding: var(--ayw-space-1) var(--ayw-space-2); border-radius: var(--ayw-radius-full); background: var(--ayw-bg-muted); color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); font-weight: 500; }
  .cashflow-managed-category-edit { color: var(--ayw-primary); font-size: var(--ayw-font-size-sm); font-weight: 700; white-space: nowrap; }
  .cashflow-managed-category-edit i { display: inline-block; font-style: normal; transition: transform var(--ayw-transition-fast); }
  .cashflow-managed-category[open] .cashflow-managed-category-edit i { transform: rotate(180deg); }
  .cashflow-managed-category-editor { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ayw-space-4); padding: var(--ayw-space-4); border-top: 1px solid var(--ayw-border); background: var(--ayw-bg-subtle); }
  .cashflow-managed-category-editor section { display: grid; align-content: start; gap: var(--ayw-space-2); }
  .cashflow-managed-category-editor h3, .cashflow-managed-category-editor p { margin: 0; }
  .cashflow-managed-category-editor h3 { font-size: var(--ayw-font-size-sm); }
  .cashflow-managed-category-editor p { color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); }
  .cashflow-category-rename, .cashflow-category-merge, .cashflow-managed-category-actions { display: flex; align-items: center; gap: var(--ayw-space-2); }
  .cashflow-category-rename .ayw-input, .cashflow-category-merge .ayw-select { min-width: 0; }
  .cashflow-category-rename .ayw-input { flex: 1; }
  .cashflow-category-merge { flex: 1; }
  .cashflow-category-merge .ayw-select { flex: 1; }
  .cashflow-managed-category-actions { grid-column: 1 / -1; justify-content: space-between; padding-top: var(--ayw-space-3); border-top: 1px solid var(--ayw-border); }
  .cashflow-managed-category-actions > form { margin: 0; }
  .cashflow-category-delete { color: var(--ayw-danger); }
  .cashflow-state-dialog { width: min(620px, calc(100% - var(--ayw-space-8))); padding: 0; border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-xl); background: var(--ayw-surface); color: var(--ayw-text); box-shadow: var(--ayw-shadow-xl); }
  .cashflow-state-dialog::backdrop { background: var(--ayw-overlay); }
  .cashflow-state-dialog-shell { display: grid; gap: 0; }
  .cashflow-state-dialog-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--ayw-space-4); padding: var(--ayw-space-5); border-bottom: 1px solid var(--ayw-border); }
  .cashflow-state-dialog-shell h2 { margin: var(--ayw-space-1) 0; font-size: var(--ayw-font-size-xl); }
  .cashflow-state-dialog-shell p { margin: 0; color: var(--ayw-text-muted); }
  .cashflow-state-dialog-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-4); padding: var(--ayw-space-5); }
  .cashflow-state-dialog-shell > footer { display: flex; justify-content: flex-end; gap: var(--ayw-space-2); padding: var(--ayw-space-4) var(--ayw-space-5); border-top: 1px solid var(--ayw-border); background: var(--ayw-bg-soft); }
  .cashflow-pagination-summary { justify-self: center; white-space: nowrap; }
  .cashflow-pagination-pages { display: flex; align-items: center; justify-content: flex-end; gap: var(--ayw-space-2); min-width: 0; }
  .cashflow-pagination-pages .ayw-btn { min-width: var(--ayw-control-height-sm); padding-inline: var(--ayw-space-2); }
  .cashflow-pagination-ellipsis { display: inline-grid; min-width: var(--ayw-control-height-sm); place-items: center; }
  .cashflow-page[aria-busy="true"] .cashflow-history-body,
  .cashflow-page[aria-busy="true"] .ayw-stats-grid,
  .cashflow-page[aria-busy="true"] .cashflow-side-column { opacity: var(--ayw-opacity-disabled); pointer-events: none; }
  .cashflow-empty-state { min-height: 330px; margin: var(--ayw-space-5); width: auto; }
  
  .cashflow-composition { display: grid; gap: var(--ayw-space-5); }
  .cashflow-composition-item { display: grid; gap: var(--ayw-space-2); }
  .cashflow-composition-item > div:first-child { display: flex; justify-content: space-between; gap: var(--ayw-space-3); color: var(--ayw-text-soft); font-size: var(--ayw-font-size-sm); }
  .cashflow-composition-item strong { color: var(--ayw-text); font-variant-numeric: tabular-nums; }
  .cashflow-bar { height: var(--ayw-space-2); overflow: hidden; border-radius: var(--ayw-radius-full); background: var(--ayw-bg-muted); }
  .cashflow-bar span { display: block; min-width: 0; height: 100%; border-radius: inherit; transition: width var(--ayw-transition-slow); }
  .cashflow-bar .is-expense { background: var(--ayw-danger); }
  .cashflow-bar .is-investment { background: var(--ayw-info); }
  .cashflow-bar .is-balance { background: var(--ayw-primary); }
  .cashflow-analysis-footer { flex-direction: row; align-items: center; justify-content: space-between; color: var(--ayw-text-soft); font-size: var(--ayw-font-size-sm); }
  .cashflow-analysis-footer strong { color: var(--ayw-text); }
  
  .cashflow-breakdown-groups details { border-bottom: 1px solid var(--ayw-border); }
  .cashflow-breakdown-groups details:last-child { border-bottom: 0; }
  .cashflow-breakdown-groups summary { display: flex; align-items: center; justify-content: space-between; gap: var(--ayw-space-3); padding: var(--ayw-space-4) var(--ayw-space-5); cursor: pointer; list-style: none; color: var(--ayw-text-soft); font-size: var(--ayw-font-size-sm); }
  .cashflow-breakdown-groups summary::-webkit-details-marker { display: none; }
  .cashflow-breakdown-groups summary span { display: flex; align-items: center; gap: var(--ayw-space-2); }
  .cashflow-breakdown-groups summary i { width: 9px; height: 9px; border-radius: 50%; }
  .cashflow-breakdown-groups i.is-income { background: var(--ayw-success); }
  .cashflow-breakdown-groups i.is-fixed { background: var(--ayw-danger); }
  .cashflow-breakdown-groups i.is-variable { background: var(--ayw-warning); }
  .cashflow-breakdown-groups i.is-investment { background: var(--ayw-info); }
  .cashflow-breakdown-groups details > div { display: grid; gap: var(--ayw-space-2); padding: 0 var(--ayw-space-5) var(--ayw-space-4); }
  .cashflow-breakdown-groups p { display: flex; justify-content: space-between; gap: var(--ayw-space-3); margin: 0; color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); }
  .cashflow-breakdown-groups p strong { color: var(--ayw-text-soft); font-variant-numeric: tabular-nums; }
  .cashflow-breakdown-groups p.is-empty { font-style: italic; }

  /* ========================================================
     CENTRAL DE ANÁLISE — AYW SYSTEM
     ======================================================== */
  .cashflow-view-navigation { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "tabs categories" "new new"; align-items: center; gap: var(--ayw-space-3); }
  .cashflow-view-tabs { grid-area: tabs; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--ayw-space-1); padding: var(--ayw-space-1); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-lg); background: var(--ayw-surface); box-shadow: var(--ayw-shadow-xs); }
  .cashflow-category-manager-action { grid-area: categories; white-space: nowrap; }
  .cashflow-new-entry-action { grid-area: new; width: 100%; white-space: nowrap; }
  .cashflow-view-tab { min-height: var(--ayw-control-height-md); padding: var(--ayw-space-2) var(--ayw-space-4); border: 0; border-radius: var(--ayw-radius-md); background: transparent; color: var(--ayw-text-muted); font: inherit; font-weight: var(--ayw-font-weight-semibold); cursor: pointer; }
  .cashflow-view-tab:hover { color: var(--ayw-primary); background: var(--ayw-primary-soft); }
  .cashflow-view-tab.is-active { color: var(--ayw-primary); background: var(--ayw-primary-soft); box-shadow: inset 0 0 0 1px var(--ayw-primary-border); }
  .cashflow-workspace { display: block; margin: 0; }
  .cashflow-main-column { display: contents; }
  .cashflow-side-column { position: static; display: block; }
  [data-cashflow-pane][hidden], [data-cashflow-form-panel][hidden] { display: none !important; }

  .cashflow-overview-dashboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-5); }
  .cashflow-state-overview { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ayw-space-3); }
  .cashflow-state-card { display: grid; gap: var(--ayw-space-1); min-width: 0; padding: var(--ayw-space-4); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-lg); background: var(--ayw-surface); color: var(--ayw-text); font: inherit; text-align: left; box-shadow: var(--ayw-shadow-xs); }
  button.cashflow-state-card { cursor: pointer; }
  button.cashflow-state-card:hover, button.cashflow-state-card:focus-visible { border-color: var(--ayw-primary-border); box-shadow: var(--ayw-shadow-sm); }
  .cashflow-state-card > span { color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-bold); text-transform: uppercase; }
  .cashflow-state-card > strong { overflow-wrap: anywhere; font-size: var(--ayw-font-size-lg); font-variant-numeric: tabular-nums; }
  .cashflow-state-card > small { color: var(--ayw-text-muted); line-height: 1.35; }
  .cashflow-state-card.is-realized { border-color: color-mix(in srgb, var(--ayw-success) 28%, var(--ayw-border)); }
  .cashflow-state-card.is-projected { border-color: var(--ayw-primary-border); }
  .cashflow-state-card.is-upcoming { border-color: color-mix(in srgb, var(--ayw-info) 28%, var(--ayw-border)); }
  .cashflow-state-card.is-overdue strong { color: var(--ayw-danger); }
  .cashflow-overview-categories { grid-column: 1 / -1; }
  .cashflow-overview-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ayw-space-4); }
  .cashflow-overview-numbers > div:not(.cashflow-overview-progress) { display: grid; gap: var(--ayw-space-1); }
  .cashflow-overview-numbers span, .cashflow-report-kpis span { color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-semibold); text-transform: uppercase; }
  .cashflow-overview-numbers strong { color: var(--ayw-text); font-size: var(--ayw-font-size-lg); font-variant-numeric: tabular-nums; }
  .cashflow-overview-numbers .is-positive, .cashflow-report-kpis .is-positive { color: var(--ayw-success); }
  .cashflow-overview-numbers .is-negative, .cashflow-report-kpis .is-negative { color: var(--ayw-danger); }
  .cashflow-overview-progress { grid-column: 1 / -1; height: var(--ayw-space-2); overflow: hidden; border-radius: var(--ayw-radius-full); background: var(--ayw-bg-muted); }
  .cashflow-overview-progress span { display: block; max-width: 100%; height: 100%; border-radius: inherit; background: var(--ayw-primary); }
  .cashflow-overview-numbers > small { grid-column: 1 / -1; color: var(--ayw-text-muted); }
  .cashflow-insights-list { display: grid; gap: var(--ayw-space-3); }
  .cashflow-insight { display: grid; grid-template-columns: var(--ayw-control-height-sm) minmax(0, 1fr); align-items: center; gap: var(--ayw-space-3); width: 100%; padding: var(--ayw-space-3); border: 0; border-radius: var(--ayw-radius-md); background: var(--ayw-bg-soft); color: var(--ayw-text-soft); font: inherit; text-align: left; }
  .cashflow-insight > span { display: grid; width: var(--ayw-control-height-sm); height: var(--ayw-control-height-sm); place-items: center; border-radius: var(--ayw-radius-full); color: var(--ayw-primary); background: var(--ayw-primary-soft); font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-bold); }
  .cashflow-insight p { margin: 0; line-height: var(--ayw-line-height-normal); }
  .cashflow-insight.is-warning { cursor: pointer; }
  .cashflow-insight.is-warning > span { color: var(--ayw-warning-text); background: var(--ayw-warning-soft); }

  .cashflow-category-ranking { display: grid; gap: var(--ayw-space-2); }
  .cashflow-category-row { display: grid; grid-template-columns: var(--ayw-control-height-sm) minmax(0, 1fr) auto; align-items: center; gap: var(--ayw-space-3); width: 100%; padding: var(--ayw-space-3); border: 1px solid transparent; border-radius: var(--ayw-radius-md); background: transparent; color: var(--ayw-text); font: inherit; text-align: left; cursor: pointer; }
  .cashflow-category-row:hover, .cashflow-category-row:focus-visible { border-color: var(--ayw-primary-border); background: var(--ayw-primary-soft); }
  .cashflow-category-position { display: grid; width: var(--ayw-control-height-sm); height: var(--ayw-control-height-sm); place-items: center; border-radius: var(--ayw-radius-md); color: var(--ayw-primary); background: var(--ayw-primary-soft); font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-bold); }
  .cashflow-category-copy { display: grid; min-width: 0; gap: var(--ayw-space-1); }
  .cashflow-category-copy small { color: var(--ayw-text-muted); }
  .cashflow-category-row > strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
  .cashflow-category-bar { display: block; width: 100%; height: var(--ayw-space-1); overflow: hidden; border-radius: var(--ayw-radius-full); background: var(--ayw-bg-muted); }
  .cashflow-category-bar i { display: block; height: 100%; border-radius: inherit; background: var(--ayw-primary); }

  .cashflow-entry-card { margin-top: var(--ayw-space-5); }

  .cashflow-entry-toggle { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--ayw-space-2); width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
  .cashflow-entry-toggle > span { display: grid; min-width: 0; }
  .cashflow-entry-toggle small { margin-top: var(--ayw-space-1); overflow: hidden; color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); text-overflow: ellipsis; white-space: nowrap; }
  .cashflow-entry-toggle i { color: var(--ayw-text-muted); font-style: normal; transition: transform var(--ayw-transition-fast); }
  .cashflow-entry-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
  .cashflow-entry-row.is-expanded { background: var(--ayw-primary-soft); }
  .cashflow-entry-detail td { padding: 0 !important; background: var(--ayw-bg-soft); }
  .cashflow-entry-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: var(--ayw-space-4); padding: var(--ayw-space-4) var(--ayw-space-5); border-bottom: 1px solid var(--ayw-border); }
  .cashflow-entry-detail-grid > div { display: grid; gap: var(--ayw-space-1); }
  .cashflow-entry-detail-grid span { color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); font-weight: var(--ayw-font-weight-semibold); text-transform: uppercase; }
  .cashflow-entry-detail-grid .ayw-btn { justify-self: end; }

  .cashflow-reports { width: 100%; }
  .cashflow-report-header { display: flex; align-items: end; justify-content: space-between; gap: var(--ayw-space-5); margin-bottom: var(--ayw-space-5); }
  .cashflow-report-header h2 { margin: var(--ayw-space-1) 0; color: var(--ayw-text); }
  .cashflow-report-header p { margin: 0; color: var(--ayw-text-muted); }
  .cashflow-report-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ayw-space-4); margin-bottom: var(--ayw-space-5); }
  .cashflow-report-kpis article { display: grid; gap: var(--ayw-space-2); padding: var(--ayw-space-4); }
  .cashflow-report-kpis strong { overflow: hidden; color: var(--ayw-text); font-size: var(--ayw-font-size-lg); text-overflow: ellipsis; white-space: nowrap; }
  .cashflow-report-kpis small { color: var(--ayw-text-muted); }
  .cashflow-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-5); align-items: start; }
  .cashflow-report-secondary { display: grid; gap: var(--ayw-space-5); align-content: start; }
  .cashflow-category-ranking.is-report { max-height: none; }
  .cashflow-payment-ranking, .cashflow-largest-list { display: grid; gap: var(--ayw-space-3); }
  .cashflow-payment-ranking > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ayw-space-2) var(--ayw-space-4); }
  .cashflow-payment-ranking > div > span:first-child { display: grid; }
  .cashflow-payment-ranking small, .cashflow-largest-list small { color: var(--ayw-text-muted); }
  .cashflow-payment-ranking .cashflow-category-bar { grid-column: 1 / -1; }
  .cashflow-largest-list button { display: flex; align-items: center; justify-content: space-between; gap: var(--ayw-space-4); width: 100%; padding: var(--ayw-space-3); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-md); background: transparent; color: var(--ayw-text); font: inherit; text-align: left; cursor: pointer; }
  .cashflow-largest-list button:hover { border-color: var(--ayw-primary-border); background: var(--ayw-primary-soft); }
  .cashflow-largest-list button > span { display: grid; gap: var(--ayw-space-1); }
  .cashflow-largest-list button > strong { white-space: nowrap; }
  .cashflow-report-empty { margin: 0; color: var(--ayw-text-muted); }
  
  @media (max-width: 1199px) {
    .cashflow-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cashflow-state-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  
  @media (max-width: 767px) {
    .cashflow-page { padding: var(--ayw-space-4); }
    .cashflow-hero { align-items: start; flex-direction: column; }
    .cashflow-period { width: 100%; }
    .cashflow-period-form { flex: 1; }
    .cashflow-period-form .ayw-input { flex: 1; width: auto; }
    .cashflow-period-form label { left: 3.4rem; }
    .cashflow-side-column { grid-template-columns: 1fr; }
    .cashflow-overview-dashboard, .cashflow-report-grid { grid-template-columns: 1fr; }
    .cashflow-overview-categories, .cashflow-report-category-card { grid-column: auto; grid-row: auto; }
    .cashflow-entry-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cashflow-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cashflow-filter-search, .cashflow-filter-actions { grid-column: 1 / -1; }
    .cashflow-pagination { grid-template-columns: 1fr auto; }
    .cashflow-pagination-summary { justify-self: end; }
    .cashflow-pagination-pages { grid-column: 1 / -1; justify-content: center; flex-wrap: wrap; }
  }
  
  @media (max-width: 639px) {
    .cashflow-page { gap: var(--ayw-space-4); padding: var(--ayw-space-3); }
    .cashflow-state-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-2); }
    .cashflow-state-card { padding: var(--ayw-space-3); }
    .cashflow-page > .ayw-stats-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-3); }
    .cashflow-page > .ayw-stats-grid .ayw-stat-compact { --ayw-stat-padding: var(--ayw-space-3); --ayw-stat-gap: var(--ayw-space-2); --ayw-stat-icon-size: 34px; min-width: 0; }
    .cashflow-page > .ayw-stats-grid .ayw-stat-compact .ayw-stat-value { font-size: clamp(1rem, 4.7vw, 1.25rem); line-height: 1.2; overflow-wrap: anywhere; }
    .cashflow-page > .ayw-stats-grid .ayw-stat-meta { font-size: .7rem; line-height: 1.35; }
    .cashflow-view-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "tabs tabs" "new categories"; gap: var(--ayw-space-2); }
    .cashflow-view-tabs { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
    .cashflow-new-entry-action, .cashflow-category-manager-action { width: 100%; min-width: 0; padding-inline: var(--ayw-space-2); font-size: var(--ayw-font-size-xs); white-space: normal; }
    .cashflow-view-tab { min-width: 0; min-height: var(--ayw-control-height-sm); padding: var(--ayw-space-2); font-size: var(--ayw-font-size-xs); line-height: 1.2; white-space: normal; }
    .cashflow-overview-numbers { grid-template-columns: 1fr; }
    .cashflow-report-header { align-items: stretch; flex-direction: column; }
    .cashflow-report-header .ayw-btn { width: 100%; }
    .cashflow-report-kpis { grid-template-columns: 1fr; }
    .cashflow-category-row { grid-template-columns: var(--ayw-control-height-sm) minmax(0, 1fr); }
    .cashflow-category-row > strong { grid-column: 2; }
    .cashflow-entry-detail-grid { grid-template-columns: 1fr; }
    .cashflow-entry-detail-grid .ayw-btn { justify-self: stretch; }
    .cashflow-period { flex-wrap: wrap; }
    .cashflow-period-form { order: -1; width: 100%; }
    .cashflow-period-form label { top: -1.15rem; left: 0; }
    .cashflow-today-link { position: static; margin-left: auto; }
    .cashflow-entry-form, .cashflow-filters { grid-template-columns: 1fr; }
    .cashflow-pagination { grid-template-columns: 1fr; }
    .cashflow-page-size, .cashflow-pagination-summary { justify-self: center; }
    .cashflow-page-size { flex-wrap: wrap; justify-content: center; }
    .cashflow-category-manager { width: calc(100% - var(--ayw-space-4)); max-height: 92vh; border-radius: var(--ayw-radius-lg); }
    .cashflow-state-dialog { width: calc(100% - var(--ayw-space-4)); border-radius: var(--ayw-radius-lg); }
    .cashflow-state-dialog-shell > header, .cashflow-state-dialog-fields { padding: var(--ayw-space-4); }
    .cashflow-state-dialog-fields { grid-template-columns: 1fr; }
    .cashflow-state-dialog-shell > footer { align-items: stretch; flex-direction: column-reverse; padding: var(--ayw-space-4); }
    .cashflow-state-dialog-shell > footer .ayw-btn { width: 100%; }
    .cashflow-category-manager-header, .cashflow-category-manager-body { padding: var(--ayw-space-4); }
    .cashflow-category-header-actions, .cashflow-category-header-actions .ayw-btn { width: 100%; }
    .cashflow-category-create { grid-template-columns: 1fr; }
    .cashflow-category-create .ayw-btn { width: 100%; }
    .cashflow-managed-category-editor { grid-template-columns: 1fr; }
    .cashflow-category-rename, .cashflow-category-merge, .cashflow-managed-category-actions { align-items: stretch; flex-direction: column; }
    .cashflow-managed-category-actions .ayw-btn, .cashflow-managed-category-actions form, .cashflow-category-merge { width: 100%; }
    .cashflow-payment-panel { grid-template-columns: 1fr; padding: var(--ayw-space-3); }
    .cashflow-field-description, .cashflow-filter-search, .cashflow-filter-actions { grid-column: auto; }
    .cashflow-form-action .ayw-btn, .cashflow-filter-actions .ayw-btn { flex: 1; }
    .cashflow-history-heading { align-items: center; }
    .cashflow-table-wrap { overflow: visible; }
    .cashflow-table thead { display: none; }
    .cashflow-table, .cashflow-table tbody { display: block; width: 100%; table-layout: auto; }
    .cashflow-table tr {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: var(--ayw-space-3) var(--ayw-space-4);
      width: 100%;
      padding: var(--ayw-space-4);
      border-bottom: 1px solid var(--ayw-border);
    }
    .cashflow-table tr.cashflow-entry-detail {
      display: block;
      width: 100%;
      padding: 0;
      border-bottom: 1px solid var(--ayw-border);
    }
    .cashflow-table td {
      display: block;
      width: auto !important;
      padding: 0;
      border: 0;
      text-align: left !important;
    }
    .cashflow-table td::before { content: none; }
    .cashflow-table td:first-child {
      grid-column: 1 / -1;
      width: max-content !important;
      padding: .25rem .65rem;
      border-radius: var(--ayw-radius-full);
      background: var(--ayw-bg-soft);
      color: var(--ayw-text-muted);
      font-size: var(--ayw-font-size-xs);
      font-weight: var(--ayw-font-weight-semibold);
    }
    .cashflow-table td:first-child::before { content: none; }
    .cashflow-table td:nth-child(2) { grid-column: 1 / -1; }
    .cashflow-table td:nth-child(2) strong { font-size: var(--ayw-font-size-md); line-height: 1.35; }
    .cashflow-table td:nth-child(2) span { max-width: 100%; line-height: 1.55; overflow-wrap: anywhere; }
    .cashflow-table td:nth-child(3) { align-self: center; }
    .cashflow-table td:nth-child(4) { align-self: center; font-size: var(--ayw-font-size-md); }
    .cashflow-row-actions {
      grid-column: 1 / -1;
      margin-top: var(--ayw-space-1);
      padding-top: var(--ayw-space-3) !important;
      border-top: 1px solid var(--ayw-border) !important;
    }
    .cashflow-row-actions::before { content: none !important; }
    .cashflow-actions-menu { width: 100%; }
    .cashflow-actions-menu summary { width: 100%; }
    .cashflow-row-actions-inner {
      position: absolute;
      top: calc(100% + var(--ayw-space-2));
      right: 0;
      width: min(100%, calc(var(--ayw-control-height-lg) * 4));
      margin-top: 0;
      box-shadow: var(--ayw-shadow-md);
    }
    .cashflow-row-actions-inner .ayw-btn { min-height: var(--ayw-icon-size-md); padding-inline: var(--ayw-space-3); }
    .cashflow-entry-detail td { display: block; width: 100% !important; }
    .cashflow-entry-detail-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      gap: var(--ayw-space-4);
      width: 100%;
      padding: var(--ayw-space-4);
      background: var(--ayw-surface);
    }
    .cashflow-entry-detail-grid > div {
      min-width: 0;
      padding: var(--ayw-space-3);
      border-radius: var(--ayw-radius-md);
      background: var(--ayw-bg-soft);
    }
    .cashflow-entry-detail-grid strong { overflow-wrap: anywhere; }
    .cashflow-entry-detail-grid .ayw-btn { grid-column: 1 / -1; width: 100%; }
    .cashflow-empty-state { margin: var(--ayw-space-3); }
  }

/* Planejamento financeiro */
.cashflow-planning { display: grid; gap: var(--ayw-space-5); }
.cashflow-planning-hero { display: flex; align-items: end; justify-content: space-between; gap: var(--ayw-space-5); padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--ayw-radius-xl); background: linear-gradient(135deg, var(--ayw-primary-soft), var(--ayw-surface)); border: 1px solid var(--ayw-primary-border); }
.cashflow-planning-hero h2 { margin: .35rem 0; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.035em; }
.cashflow-planning-hero p { max-width: 680px; margin: 0; color: var(--ayw-text-muted); }
.cashflow-planning-hero-value { display: grid; flex: 0 0 auto; gap: .25rem; text-align: right; }
.cashflow-planning-hero-value span { color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); font-weight: 700; text-transform: uppercase; }
.cashflow-planning-hero-value strong { font-size: var(--ayw-font-size-2xl); }
.cashflow-planning-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ayw-space-4); }
.cashflow-planning-kpis article { display: grid; gap: .35rem; padding: var(--ayw-space-5); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-lg); background: var(--ayw-surface); }
.cashflow-planning-kpis span, .cashflow-planning-kpis small { color: var(--ayw-text-muted); }
.cashflow-planning-kpis strong { font-size: var(--ayw-font-size-xl); }
.cashflow-planning-grid { display: grid; grid-template-columns: 1fr; align-items: start; gap: var(--ayw-space-5); }
.cashflow-budget-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .45fr) auto; gap: var(--ayw-space-3); }
.cashflow-budget-list, .cashflow-commitment-list, .cashflow-debt-list { display: grid; gap: var(--ayw-space-3); margin-top: var(--ayw-space-5); }
.cashflow-budget-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--ayw-space-2) var(--ayw-space-4); padding: var(--ayw-space-3); border-radius: var(--ayw-radius-md); background: var(--ayw-bg-soft); }
.cashflow-budget-row > div { display: grid; }.cashflow-budget-row small { color: var(--ayw-text-muted); }
.cashflow-budget-row > span { grid-column: 1 / 3; overflow: hidden; height: 6px; border-radius: 999px; background: var(--ayw-bg-muted); }.cashflow-budget-row > span i, .cashflow-debt-progress i { display: block; height: 100%; border-radius: inherit; background: var(--ayw-primary); }
.cashflow-commitment-list { margin-top: 0; }.cashflow-commitment-list > div { display: flex; align-items: center; justify-content: space-between; gap: var(--ayw-space-3); padding-block: var(--ayw-space-3); border-bottom: 1px solid var(--ayw-border); }.cashflow-commitment-list span { display: grid; }.cashflow-commitment-list small { color: var(--ayw-text-muted); }
.cashflow-commitment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ayw-space-6); }
.cashflow-commitments-summary { display: grid; align-self: center; gap: var(--ayw-space-1); min-width: 190px; }
.cashflow-commitments-summary span { display: flex; align-items: center; justify-content: space-between; gap: var(--ayw-space-3); color: var(--ayw-text-muted); font-size: var(--ayw-font-size-xs); }
.cashflow-commitments-summary strong { white-space: nowrap; font-size: var(--ayw-font-size-sm); }
.cashflow-commitments-summary .is-income strong,
.cashflow-commitment-item.is-income > strong { color: var(--ayw-success); }
.cashflow-commitments-summary .is-expense strong,
.cashflow-commitment-item.is-expense > strong { color: var(--ayw-danger); }
.cashflow-commitment-item { position: relative; padding-left: var(--ayw-space-3); }
.cashflow-commitment-item::before { position: absolute; top: var(--ayw-space-3); bottom: var(--ayw-space-3); left: 0; width: 3px; border-radius: var(--ayw-radius-full); content: ""; }
.cashflow-commitment-item.is-income::before { background: var(--ayw-success); }
.cashflow-commitment-item.is-expense::before { background: var(--ayw-danger); }
.cashflow-debt-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-4); margin-bottom: var(--ayw-space-5); padding: var(--ayw-space-5); border-radius: var(--ayw-radius-lg); background: var(--ayw-bg-soft); }.cashflow-debt-form-actions { display: flex; grid-column: 1 / -1; gap: var(--ayw-space-3); }
.cashflow-debt-form-heading { display: grid; grid-column: 1 / -1; gap: .25rem; padding-bottom: var(--ayw-space-3); border-bottom: 1px solid var(--ayw-border); }.cashflow-debt-form-heading strong { font-size: var(--ayw-font-size-lg); }.cashflow-debt-form-heading small, .cashflow-debt-form .ayw-label span { color: var(--ayw-text-muted); font-weight: 400; }
.cashflow-debt-item { padding: var(--ayw-space-5); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-lg); }.cashflow-debt-item.is-inactive { opacity: .65; }.cashflow-debt-item header { display: flex; justify-content: space-between; gap: var(--ayw-space-5); }.cashflow-debt-item header > div { display: grid; gap: .2rem; }.cashflow-debt-item header > div:last-child { text-align: right; }.cashflow-debt-item h4 { margin: .35rem 0 0; font-size: var(--ayw-font-size-lg); }.cashflow-debt-item small, .cashflow-debt-item span { color: var(--ayw-text-muted); }.cashflow-debt-progress { display: grid; gap: .4rem; margin-block: var(--ayw-space-4); }.cashflow-debt-progress > span { height: 8px; overflow: hidden; border-radius: 999px; background: var(--ayw-bg-muted); }.cashflow-debt-numbers { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ayw-space-3); }.cashflow-debt-numbers div { display: grid; gap: .2rem; padding: var(--ayw-space-3); border-radius: var(--ayw-radius-md); background: var(--ayw-bg-soft); }.cashflow-debt-item footer { display: flex; justify-content: flex-end; gap: var(--ayw-space-2); margin-top: var(--ayw-space-4); }
.cashflow-forecast-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--ayw-space-3); }.cashflow-forecast-grid > div { display: grid; gap: .3rem; min-width: 0; padding: var(--ayw-space-3); border: 1px solid var(--ayw-border); border-radius: var(--ayw-radius-md); }.cashflow-forecast-grid > div > span { color: var(--ayw-text-muted); text-transform: capitalize; }.cashflow-forecast-grid small { color: var(--ayw-text-muted); line-height: 1.5; }
@media (max-width: 1199px) { .cashflow-commitment-list { grid-template-columns: 1fr; }.cashflow-forecast-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 639px) {
  .cashflow-planning { gap: var(--ayw-space-4); }
  .cashflow-planning-hero {
    align-items: stretch;
    flex-direction: column;
    gap: var(--ayw-space-4);
    padding: var(--ayw-space-4);
    border-radius: var(--ayw-radius-lg);
  }
  .cashflow-planning-hero h2 { margin-block: var(--ayw-space-1); font-size: 1.45rem; line-height: 1.15; }
  .cashflow-planning-hero p { font-size: var(--ayw-font-size-sm); line-height: 1.5; }
  .cashflow-planning-hero-value { gap: var(--ayw-space-1); padding-top: var(--ayw-space-3); border-top: 1px solid var(--ayw-primary-border); text-align: left; }
  .cashflow-planning-hero-value strong { font-size: 1.6rem; }
  .cashflow-planning-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-3); }
  .cashflow-planning-kpis article { min-width: 0; gap: var(--ayw-space-1); padding: var(--ayw-space-3); }
  .cashflow-planning-kpis article:last-child { grid-column: 1 / -1; }
  .cashflow-planning-kpis strong { font-size: var(--ayw-font-size-lg); line-height: 1.25; overflow-wrap: anywhere; }
  .cashflow-planning-kpis span, .cashflow-planning-kpis small { font-size: var(--ayw-font-size-xs); line-height: 1.35; }
  .cashflow-planning .ayw-card-header,
  .cashflow-planning .ayw-card-body { padding: var(--ayw-space-4); }
  .cashflow-planning .ayw-card-title { font-size: var(--ayw-font-size-lg); }
  .cashflow-planning .ayw-card-subtitle { line-height: 1.45; }
  .cashflow-planning .ayw-card-header-horizontal { align-items: stretch; flex-direction: column; }
  .cashflow-planning .ayw-card-header-horizontal .ayw-btn { width: 100%; }
  .cashflow-budget-form,
  .cashflow-debt-form { grid-template-columns: 1fr; }
  .cashflow-budget-form .ayw-btn,
  .cashflow-debt-form-actions .ayw-btn { width: 100%; }
  .cashflow-budget-list,
  .cashflow-debt-list { margin-top: var(--ayw-space-4); }
  .cashflow-budget-row { grid-template-columns: minmax(0, 1fr) auto; gap: var(--ayw-space-2); }
  .cashflow-budget-row > span { grid-column: 1 / -1; }
  .cashflow-budget-row form { grid-column: 1 / -1; }
  .cashflow-budget-row form .ayw-btn { width: 100%; }
  .cashflow-planning .ayw-empty-state { min-height: 0; margin: 0; padding: var(--ayw-space-5) var(--ayw-space-3); }
  .cashflow-debt-form { gap: var(--ayw-space-3); margin-bottom: var(--ayw-space-4); padding: var(--ayw-space-3); }
  .cashflow-debt-form-actions { flex-direction: column; }
  .cashflow-debt-item { padding: var(--ayw-space-4); }
  .cashflow-debt-item header { flex-direction: column; gap: var(--ayw-space-3); }
  .cashflow-debt-item header > div:last-child { text-align: left; }
  .cashflow-debt-numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cashflow-debt-numbers div:last-child { grid-column: 1 / -1; }
  .cashflow-debt-item footer { align-items: stretch; flex-direction: column; }
  .cashflow-debt-item footer form,
  .cashflow-debt-item footer .ayw-btn { width: 100%; }
  .cashflow-commitments-summary { align-self: stretch; min-width: 0; padding: var(--ayw-space-3); border-radius: var(--ayw-radius-md); background: var(--ayw-bg-soft); }
  .cashflow-commitment-list > div { align-items: flex-start; }
  .cashflow-commitment-list > div > strong { flex: 0 0 auto; white-space: nowrap; }
  .cashflow-forecast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ayw-space-2); }
  .cashflow-forecast-grid > div { padding: var(--ayw-space-2); }
  .cashflow-forecast-grid strong { font-size: var(--ayw-font-size-sm); overflow-wrap: anywhere; }
  .cashflow-forecast-grid small { font-size: .7rem; }
}

/* Central de cartões */
.cashflow-cards { display: grid; gap: 20px; }
.cashflow-cards-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:30px; border:1px solid var(--ayw-primary-border); border-radius:var(--ayw-radius-xl); background:linear-gradient(135deg,var(--ayw-primary-soft),var(--ayw-surface)); }
.cashflow-cards-hero h2 { margin:7px 0 8px; font-size:clamp(1.55rem,2vw,2.15rem); color:var(--ayw-text); }
.cashflow-cards-hero p { margin:0; max-width:720px; color:var(--ayw-text-muted); line-height:1.55; }
.cashflow-card-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cashflow-card-kpis article { display:grid; gap:7px; padding:20px 22px; border:1px solid var(--ayw-border); border-radius:var(--ayw-radius-lg); background:var(--ayw-surface); }
.cashflow-card-kpis span,.cashflow-card-kpis small { color:var(--ayw-text-muted); }
.cashflow-card-kpis strong { font-size:1.35rem; color:var(--ayw-text); }
.cashflow-card-legacy-note { display:flex; flex-wrap:wrap; gap:6px 12px; }
.cashflow-cards-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); gap:20px; align-items:start; }
.cashflow-statements-column { display:grid; gap:14px; }
.cashflow-section-heading h3 { margin:5px 0 0; font-size:1.35rem; }
.cashflow-statement-list { display:grid; gap:16px; }
.cashflow-statement { border-top:4px solid var(--card-accent); overflow:hidden; }
.cashflow-statement > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-bottom:1px solid var(--ayw-border); }
.cashflow-statement-card-name,.cashflow-wallet-card > div:first-child { display:flex; align-items:center; gap:11px; }
.cashflow-card-color { width:12px; height:38px; flex:none; border-radius:999px; background:var(--card-accent); }
.cashflow-statement-card-name div,.cashflow-wallet-card span { display:grid; gap:3px; }
.cashflow-statement-card-name small,.cashflow-wallet-card small { color:var(--ayw-text-muted); font-weight:500; }
.cashflow-statement-status { padding:7px 11px; border-radius:var(--ayw-radius-full); background:var(--ayw-bg-muted); color:var(--ayw-text-soft); font-size:.82rem; font-weight:700; }
.cashflow-statement.is-paid .cashflow-statement-status { background:var(--ayw-primary-soft); color:var(--ayw-success); }
.cashflow-statement.is-overdue .cashflow-statement-status { background:var(--ayw-bg-soft); color:var(--ayw-danger); }
.cashflow-statement.is-partial .cashflow-statement-status { background:var(--ayw-warning-soft); color:var(--ayw-warning-text); }
.cashflow-statement-main { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:22px; }
.cashflow-statement-main > div { display:grid; gap:4px; }
.cashflow-statement-main span,.cashflow-statement-main small { color:var(--ayw-text-muted); }
.cashflow-statement-main strong { font-size:1.25rem; color:var(--ayw-text); }
.cashflow-statement-limit { padding:0 22px 18px; display:grid; gap:6px; }
.cashflow-statement-limit > span { height:7px; overflow:hidden; border-radius:var(--ayw-radius-full); background:var(--ayw-bg-muted); }
.cashflow-statement-limit i { display:block; height:100%; border-radius:inherit; background:var(--card-accent); }
.cashflow-statement-limit small { color:var(--ayw-text-muted); }
.cashflow-statement-details { border-top:1px solid var(--ayw-border); }
.cashflow-statement-details summary { padding:14px 22px; cursor:pointer; color:var(--ayw-text-soft); font-weight:700; }
.cashflow-statement-purchases { display:grid; padding:0 22px 14px; }
.cashflow-statement-purchases button { appearance:none; border:0; border-top:1px solid var(--ayw-border); background:none; display:flex; justify-content:space-between; gap:14px; padding:12px 0; text-align:left; cursor:pointer; }
.cashflow-statement-purchases button > span { display:grid; gap:3px; }
.cashflow-statement-purchases small { color:var(--ayw-text-muted); }
.cashflow-payment-history { margin:0 22px 16px; padding:14px; border-radius:var(--ayw-radius-md); background:var(--ayw-bg-soft); }
.cashflow-payment-history h4 { margin:0 0 8px; }
.cashflow-payment-history > div { display:flex; align-items:center; gap:12px; padding:6px 0; }
.cashflow-payment-history > div strong { margin-left:auto; }
.cashflow-payment-history button { border:0; background:none; color:var(--ayw-danger); font-size:1.2rem; cursor:pointer; }
.cashflow-statement-payment { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; padding:18px 22px 22px; border-top:1px solid var(--ayw-border); background:var(--ayw-bg-soft); }
.cashflow-statement-payment label { display:block; margin-bottom:6px; color:var(--ayw-text-soft); font-size:.84rem; font-weight:700; }
.cashflow-card-wallet { position:sticky; top:90px; }
.cashflow-wallet-list { display:grid; gap:12px; }
.cashflow-wallet-card { display:grid; gap:14px; padding:16px; border:1px solid var(--ayw-border); border-radius:var(--ayw-radius-lg); }
.cashflow-wallet-card.is-inactive { opacity:.62; }
.cashflow-wallet-card > strong { font-size:1.05rem; }
.cashflow-wallet-card > strong small { color:var(--ayw-text-muted); font-size:.75rem; font-weight:500; }
.cashflow-wallet-card footer { display:flex; align-items:center; gap:6px; border-top:1px solid var(--ayw-border); padding-top:8px; }
.cashflow-wallet-empty { color:var(--ayw-text-muted); }
.cashflow-card-empty { background:var(--ayw-surface); border:1px dashed var(--ayw-border); border-radius:var(--ayw-radius-lg); }
.cashflow-card-dialog { width:min(720px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:0; border:0; border-radius:var(--ayw-radius-xl); box-shadow:var(--ayw-shadow-xl); }
.cashflow-card-dialog::backdrop { background:var(--ayw-overlay); }
.cashflow-card-dialog form > header { display:flex; justify-content:space-between; gap:20px; padding:24px 26px 20px; border-bottom:1px solid var(--ayw-border); }
.cashflow-card-dialog h3 { margin:5px 0; font-size:1.55rem; }
.cashflow-card-dialog p { margin:0; color:var(--ayw-text-muted); }
.cashflow-card-dialog header button { align-self:flex-start; border:0; background:none; font-size:1.7rem; cursor:pointer; color:var(--ayw-text-muted); }
.cashflow-card-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:24px 26px; }
.cashflow-card-color-input { width:100%; min-height:48px; padding:5px; border:1px solid var(--ayw-border); border-radius:var(--ayw-radius-md); background:var(--ayw-surface); }
.cashflow-card-dialog form > footer { display:flex; gap:10px; padding:0 26px 24px; }

@media (max-width: 991px) {
  .cashflow-cards-layout { grid-template-columns:1fr; }
  .cashflow-card-wallet { position:static; order:-1; }
}

@media (max-width: 639px) {
  .cashflow-cards-hero { align-items:stretch; flex-direction:column; padding:22px; border-radius:var(--ayw-radius-lg); }
  .cashflow-card-kpis { grid-template-columns:1fr; }
  .cashflow-statement-main { grid-template-columns:1fr 1fr; padding:18px; }
  .cashflow-statement-main > div:first-child { grid-column:1/-1; }
  .cashflow-statement > header { align-items:flex-start; padding:18px; }
  .cashflow-statement-payment { grid-template-columns:1fr; padding:18px; }
  .cashflow-statement-details summary,.cashflow-statement-purchases { padding-left:18px; padding-right:18px; }
  .cashflow-card-form-grid { grid-template-columns:1fr; padding:20px; }
  .cashflow-card-dialog form > header { padding:20px; }
  .cashflow-card-dialog form > footer { padding:0 20px 20px; }
}

@media (max-width: 359px) {
  .cashflow-page > .ayw-stats-grid-4,
  .cashflow-planning-kpis,
  .cashflow-debt-numbers,
  .cashflow-forecast-grid { grid-template-columns: 1fr; }
  .cashflow-planning-kpis article:last-child,
  .cashflow-debt-numbers div:last-child { grid-column: auto; }
}
