/* Regras de apresentação restritas às telas móveis; não alteram cálculos ou dados. */
@media (max-width:767px) {
  .dashboard-page { display:flex; flex-direction:column; }
  .dashboard-page > .metrics { order:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
  .dashboard-page > .metrics .metric-balance { grid-column:1 / -1; }
  .dashboard-page > .metrics article { min-height:96px; padding:14px; }
  .dashboard-page > .metrics .metric-balance strong { font-size:24px; }
  .dashboard-page > .assistant-compact { order:2; margin:0 0 16px; }
  .dashboard-page > .dashboard-top { order:3; margin-bottom:16px; }
  .dashboard-page > .dashboard-grid { order:4; min-width:0; }
  .dashboard-page > .error,.dashboard-page > [role="status"],.dashboard-page > .notice { order:0; }
  .dashboard-page .dashboard-main,.dashboard-page .dashboard-main-evolution,.dashboard-page .dashboard-main-side { min-width:0; }
  .dashboard-page #projection-chart { max-width:100%; height:240px !important; }
  .dashboard-page .dashboard-transactions-wrap { overflow:visible; }
  .dashboard-page .dashboard-transactions { display:block; min-width:0; width:100%; }
  .dashboard-page .dashboard-transactions thead,.dashboard-page .dashboard-transactions .mat-mdc-header-row { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .dashboard-page .dashboard-transactions tbody { display:block; }
  .dashboard-page .dashboard-transactions .mat-mdc-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; height:auto; min-height:0; margin:0 0 8px; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
  .dashboard-page .dashboard-transactions .mat-mdc-cell { display:block; min-width:0; padding:0 !important; border:0; white-space:normal; font-size:13px; }
  .dashboard-page .dashboard-transactions .transaction-description { grid-column:1; grid-row:1; min-width:0; overflow-wrap:anywhere; }
  .dashboard-page .dashboard-transactions .transaction-amount { grid-column:2; grid-row:1; text-align:right; }
  .dashboard-page .dashboard-transactions .mat-mdc-cell:first-child { grid-column:1; grid-row:2; color:var(--text-secondary); }
  .dashboard-page .dashboard-recent .mat-mdc-cell:nth-child(3) { grid-column:1 / -1; color:var(--text-secondary); }
}
@media (max-width:360px) {
  .dashboard-page > .metrics article { padding:12px; }
  .dashboard-page > .metrics article strong { font-size:18px; overflow-wrap:anywhere; }
}
@media (min-width:768px) {
  .ledger .mobile-filter-sheet { display:contents; }
  .ledger .mobile-filter-sheet > summary,.ledger .mobile-filter-close { display:none; }
}
@media (max-width:767px) {
  .ledger .mobile-filter-sheet.mobile-filter-sheet { display:block; }
  .ledger .mobile-filter-sheet.mobile-filter-sheet > summary { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px; margin-bottom:12px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--primary); font-weight:650; cursor:pointer; }
  .ledger .mobile-filter-sheet.mobile-filter-sheet[open] { position:fixed; inset:0; z-index:90; display:flex; flex-direction:column; justify-content:flex-end; background:#071a2280; }
  .ledger .mobile-filter-sheet.mobile-filter-sheet[open] > summary { position:static; flex:none; margin:0; border:0; border-radius:16px 16px 0 0; background:var(--surface); font-size:14px; }
  .ledger .mobile-filter-sheet[open] .entry-filters { flex:none; display:grid; grid-template-columns:1fr; gap:10px; max-height:calc(85dvh - 60px); overflow-y:auto; margin:0; padding:18px 18px 8px; border-radius:0; background:var(--surface); }
  .ledger .mobile-filter-sheet[open] .entry-filters label { min-width:0; }
  .ledger .mobile-filter-sheet[open] .entry-filters .invoice-month-selector { grid-column:1; }
  .ledger .mobile-filter-sheet[open] .mobile-filter-close { display:block; width:100%; min-height:52px; padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px)); background:var(--surface); color:var(--primary); border:0; border-radius:0; }
  .ledger .mobile-filter-sheet[open] .mobile-filter-close:not(:disabled):hover { background:var(--surface-hover); color:var(--primary); }
  .ledger .entries-table-wrap { overflow:visible; }
  .ledger .entries-table { min-width:0; }
  .ledger .entries-table thead,.ledger .entries-table .mat-mdc-header-row { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ledger .entries-table tbody,.ledger .entries-table tr { display:block; }
  .ledger .entries-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; height:auto; min-height:0; padding:16px 12px; margin-bottom:8px; border-radius:8px; }
  .ledger .entries-table td { display:block; min-width:0; padding:0; border:0; white-space:normal; overflow-wrap:anywhere; }
  .ledger .entries-table td:before { content:attr(data-label); display:block; color:var(--text-secondary); font-size:11px; font-weight:650; margin-bottom:3px; }
  .ledger .entries-table .entry-description { min-width:0; }
  .ledger .entries-table .entry-amount { text-align:left; }
}
@media (max-width:767px) {
  .cards-page.cards-page .cards-collection-content::before { content:'Deslize para ver os cartões'; display:block; margin:0 0 10px; color:var(--text-secondary); font-size:12px; }
  .cards-page.cards-page .cards-collection-grid { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:12px; overflow-x:auto; overflow-anchor:none; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding:2px 0 10px; }
  .cards-page.cards-page .cards-collection-grid .card-collection-item,.cards-page.cards-page .cards-collection-grid .cards-add-card { flex:0 0 88%; max-width:88%; scroll-snap-align:start; }
  .cards-page.cards-page .cards-collection-grid .cards-add-card { scroll-snap-align:end; scroll-snap-stop:always; }
  .cards-page.cards-page .invoice-summary-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .cards-page.cards-page .invoice-summary-row .invoice-total-card { width:auto; min-width:0; padding:12px; }
  .cards-page.cards-page .invoice-summary-row .invoice-total-card strong { font-size:18px; overflow-wrap:anywhere; }
  .cards-page .cards-chart-content,.cards-page .cards-chart-content > div { max-width:100%; min-width:0; }
  .ledger .accounts-panel .entries-table tr { background:var(--surface-hover); border:1px solid var(--border); }
  .ledger .accounts-panel .entries-table td { overflow-wrap:anywhere; }
  .ledger .accounts-heading,.ledger .accounts-filters { min-width:0; }
  .ledger .accounts-filters input,.ledger .accounts-filters select { max-width:100%; min-height:44px; }
}
@media (max-width:767px) {
  .card-dialog.modal-large:modal,.card-dialog.modal-extra-large:modal { inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)); border:0; border-radius:0; }
  .card-dialog.modal-large .card-dialog-heading,.card-dialog.modal-extra-large .card-dialog-heading { position:sticky; top:0; z-index:2; padding:4px 0 12px; margin-bottom:8px; background:var(--surface); }
  .card-dialog.modal-large .card-dialog-form,.card-dialog.modal-extra-large .card-dialog-form { grid-template-columns:1fr; }
  .card-dialog.modal-large .card-dialog-form label,.card-dialog.modal-extra-large .card-dialog-form label,.card-dialog.modal-large .card-dialog-wide,.card-dialog.modal-extra-large .card-dialog-wide { grid-column:1; }
  .card-dialog.modal-large .card-dialog-actions,.card-dialog.modal-extra-large .card-dialog-actions { position:sticky; bottom:0; z-index:2; grid-column:1; padding:12px 0 calc(8px + env(safe-area-inset-bottom,0px)); background:var(--surface); }
  .card-dialog .card-dialog-form input:not([type=checkbox]),.card-dialog .card-dialog-form select,.card-dialog .card-dialog-form textarea { width:100%; min-width:0; }
  .ai-drawer.ai-drawer.ai-drawer,.ai-drawer.ai-drawer.ai-drawer.ai-expanded { inset:0; width:100vw; height:100vh; height:100dvh; border-radius:0; }
  .login-wrap .login-hero { display:none; }
  .login-wrap .login-shell { display:block; width:min(100%,480px); min-height:0; }
  .login-wrap .login-card { padding:76px 24px 30px; }
}
@media (min-width:768px) and (max-width:1023px) {
  .dashboard-page .dashboard-main,.cards-page .cards-overview-grid { min-width:0; }
}
@media (max-width:767px) {
  .login-card .login-theme-switch { display:none; }
  .login-card .mobile-login-theme { position:absolute; top:18px; right:18px; display:flex; gap:6px; }
  .login-card .mobile-login-theme button { display:grid; place-items:center; min-width:44px; min-height:44px; padding:6px; background:var(--surface-hover); color:var(--text-primary); border:1px solid var(--border); border-radius:9px; }
  .login-card .mobile-login-theme button[aria-pressed="true"] { color:var(--primary); border-color:var(--primary); }
  .card-dialog .card-dialog-form { grid-template-columns:1fr; }
  .card-dialog .card-dialog-form label,.card-dialog .card-dialog-wide,.card-dialog .card-dialog-actions { grid-column:1; }
  .cards-page .card-dialog[aria-labelledby="payment-title"]:modal { inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:16px; border:0; border-radius:0; }
  .cards-page .card-dialog[aria-labelledby="payment-title"] .card-dialog-heading { position:sticky; top:0; z-index:2; background:var(--surface); }
  .cards-page .card-dialog[aria-labelledby="payment-title"] .card-dialog-actions { position:sticky; bottom:0; z-index:2; background:var(--surface); padding-bottom:env(safe-area-inset-bottom,0px); }
  app-reports .projection-table { display:block; min-width:0; }
  app-reports .projection-table thead,app-reports .projection-table .mat-mdc-header-row { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  app-reports .projection-table tbody { display:block; }
  app-reports .projection-table .mat-mdc-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); height:auto; gap:10px; margin-bottom:8px; padding:12px; border:1px solid var(--border); border-radius:10px; }
  app-reports .projection-table .mat-mdc-cell { display:block; min-width:0; padding:0; border:0; white-space:normal; overflow-wrap:anywhere; }
  app-reports .projection-table .mat-mdc-cell::before { display:block; color:var(--text-secondary); font-size:11px; }
  app-reports .projection-table .mat-mdc-cell:nth-child(1)::before { content:'Grupo'; }
  app-reports .projection-table .mat-mdc-cell:nth-child(2)::before { content:'Realizado'; }
  app-reports .projection-table .mat-mdc-cell:nth-child(3)::before { content:'Previsto'; }
  app-reports .projection-table .mat-mdc-cell:nth-child(4)::before { content:'Total'; }
}
@media (max-width:767px) {
  .mobile-layout .app-header h1 { font-size:22px; }
  .mobile-layout .ledger h2 { font-size:17px; }
  .mobile-layout .ledger .panel p,.mobile-layout .ledger .panel label { font-size:14px; }
  .mobile-layout .ledger button:not(.invoice-month-arrow) { min-height:44px; }
  .cards-page .card-options-trigger { width:44px; height:44px; }
}

@media (max-width:767px) { html:has(.ledger .mobile-filter-sheet[open]) { overflow:hidden; } }

/* Visão Geral exclusiva para telas pequenas. */
@media (max-width:767px) {
.dashboard-page > .dashboard-top,.dashboard-page > .dashboard-grid,.dashboard-page > .assistant-compact,.dashboard-page > .metrics,.dashboard-page > .notice { display:none; }
.dashboard-page .mobile-overview-placeholder { display:block; min-height:1px; }.dashboard-page app-mobile-overview { display:block; min-width:0; }
.mobile-dashboard-page .app-header { background:var(--sidebar-bg); border-color:var(--sidebar-bg); color:#fff; }.mobile-dashboard-page .app-header h1,.mobile-dashboard-page .app-header .eyebrow { color:#fff; }.mobile-dashboard-page .app-header button { border-color:#ffffff70; color:#fff; background:transparent; }
.mobile-summary { display:grid; gap:16px; min-width:0; }.mobile-balance { min-height:130px; display:flex; flex-direction:column; justify-content:center; gap:7px; padding:18px; border-radius:16px; background:#07534d; color:#fff; }.mobile-balance span,.mobile-balance small { color:#d3eeea; }.mobile-balance strong { color:#fff; font-size:clamp(24px,7vw,32px); line-height:1.12; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.mobile-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.mobile-stat { min-width:0; min-height:103px; display:flex; flex-direction:column; gap:6px; justify-content:center; padding:13px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }.mobile-stat.income { background:var(--income-bg); }.mobile-stat.expense { background:var(--expense-bg); }.mobile-stat.info { background:var(--info-bg); }.mobile-stat.projected { background:var(--surface-hover); }.mobile-stat span { font-size:12px; font-weight:700; color:var(--text-primary); }.mobile-stat strong { font-size:clamp(16px,4.5vw,20px); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }.mobile-stat small,.mobile-section small { font-size:12px; color:var(--text-secondary); }.mobile-stat.income strong { color:var(--income-text); }.mobile-stat.expense strong { color:var(--expense-text); }.mobile-stat.info strong { color:var(--info); }
.mobile-section { min-width:0; padding:16px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }.mobile-section h2 { margin:0; font-size:16px; line-height:1.35; }.mobile-section p { margin:6px 0 0; font-size:13px; }.mobile-section-title { display:flex; justify-content:space-between; align-items:center; gap:8px; }.mobile-link { flex:none; min-height:44px; padding:8px; color:var(--primary); background:transparent; font-size:12px; }.mobile-link:not(:disabled):hover { color:var(--primary); background:var(--surface-hover); }
.mobile-event-list { margin-top:8px; }.mobile-event { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px 0; border-top:1px solid var(--border); }.mobile-event-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--info-bg); color:var(--primary); }.mobile-event div { min-width:0; }.mobile-event strong,.mobile-event small { display:block; overflow-wrap:anywhere; }.mobile-event strong,.mobile-event b { font-size:12px; }.mobile-event b { text-align:right; overflow-wrap:anywhere; }.mobile-event small { margin-top:3px; }
.mobile-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:10px; }.mobile-actions button { display:flex; align-items:center; flex-direction:column; gap:6px; min-width:0; min-height:68px; padding:5px 2px; background:transparent; color:var(--text-primary); font-size:11px; line-height:1.2; }.mobile-actions button span { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:var(--income-bg); color:var(--primary); font-size:22px; }.mobile-actions button:not(:disabled):hover { background:var(--surface-hover); }.mobile-projection-summary { display:flex; justify-content:space-between; align-items:center; gap:8px; }.mobile-category { margin-top:12px; }.mobile-category > div:first-child { display:flex; justify-content:space-between; gap:8px; font-size:12px; }.mobile-category-track { height:6px; margin-top:6px; overflow:hidden; border-radius:5px; background:var(--surface-hover); }.mobile-category-track span { display:block; height:100%; border-radius:5px; background:var(--primary); }.mobile-notice { padding:12px; background:var(--warning-bg); border-radius:10px; font-size:12px; }
.mobile-projection-dialog { position:fixed; inset:auto 0 0; width:100%; max-width:none; max-height:90dvh; margin:0; padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px)); overflow:auto; border:1px solid var(--border); border-radius:20px 20px 0 0; background:var(--surface); color:var(--text-primary); }.mobile-projection-dialog::backdrop { background:#020617a0; }.mobile-dialog-head { display:flex; justify-content:space-between; align-items:start; }.mobile-dialog-head h2 { margin:0; font-size:19px; }.mobile-dialog-head p { margin:4px 0; font-size:12px; }.mobile-dialog-head button { min-width:44px; min-height:44px; padding:0; background:transparent; color:var(--text-primary); font-size:26px; }.mobile-dialog-tabs { display:flex; gap:8px; margin:14px 0; }.mobile-dialog-tabs button { flex:1; min-height:44px; background:var(--surface-hover); color:var(--text-primary); }.mobile-dialog-tabs button.active { background:var(--primary); color:#fff; }.mobile-dialog-form { display:grid; gap:12px; }.mobile-dialog-form label { display:grid; gap:5px; }.mobile-dialog-form input,.mobile-dialog-form select { width:100%; margin:0; padding:10px; }.mobile-dialog-form button { min-height:44px; }.mobile-dialog-form small { color:var(--text-secondary); }.mobile-dialog-result { display:grid; gap:8px; margin-top:20px; }.mobile-dialog-result strong { font-size:22px; }.mobile-dialog-result h3 { margin:10px 0 0; font-size:16px; }.mobile-dialog-result p { font-size:13px; }
}
@media (max-width:767px) {
.mobile-dashboard-page .app-header .eyebrow { display:flex; align-items:center; gap:5px; letter-spacing:.03em; }
.mobile-dashboard-page .app-header .eyebrow::before { content:''; display:inline-block; width:25px; height:25px; flex:none; background:url('/assets/icon-32.png') center/contain no-repeat; border-radius:6px; }
}

@media (max-width:767px) { .mobile-projection-link { justify-self:start; text-align:left; padding-left:2px; } }

@media (max-width:767px) { .mobile-card-invoices .mobile-invoice-month { margin:12px auto 0; justify-content:center; width:100%; } }

@media (max-width:767px) { .mobile-card-invoices .mobile-event { grid-template-columns:44px minmax(0,1fr) auto; } }
@media (max-width:767px) {
  .mobile-dashboard-page .app-header h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
}

/* Lançamentos: resumo e lista específicos para mobile. */
@media (max-width:767px) {
  .mobile-entries-page .app-header { background:var(--sidebar-bg); border-color:var(--sidebar-bg); color:#fff; }
  .mobile-entries-page .app-header h1,.mobile-entries-page .app-header .eyebrow { color:#fff; }
  .mobile-entries-page .app-header button { border-color:#ffffff70; color:#fff; background:transparent; }
  .mobile-entries-view .mobile-ledger-heading { display:block; padding:16px; margin-bottom:14px; border:1px solid var(--border); border-radius:16px; background:var(--surface); }
  .mobile-ledger-heading-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .mobile-ledger-heading-top h2 { margin:0; font-size:19px; }.mobile-ledger-heading-top p { margin:3px 0 0; color:var(--text-secondary); font-size:12px; }
  .mobile-ledger-heading .mobile-ledger-new { width:44px; min-height:44px; padding:0; font-size:25px; }
  .mobile-entries-view .mobile-ledger-month { width:100%; justify-content:center; margin-top:12px; }
  .mobile-entries-view > .tabs { display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto; margin-bottom:14px; padding:2px 0 5px; scrollbar-width:thin; }
  .mobile-entries-view > .tabs button { flex:0 0 auto; min-height:44px; padding:9px 12px; font-size:12px; }
  .mobile-entries-view > .tabs .ledger-new-entry { display:none; }
  .mobile-entries-view .ledger-summary .metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 14px; }
  .mobile-entries-view .ledger-summary .metrics article { min-width:0; min-height:94px; padding:12px; border-radius:14px; }
  .mobile-entries-view .ledger-summary .metrics .ledger-metric-balance { grid-column:1/-1; min-height:120px; background:#07534d; color:#fff; }
  .mobile-entries-view .ledger-metric-balance .ledger-metric-content span,.mobile-entries-view .ledger-metric-balance .ledger-metric-content strong,.mobile-entries-view .ledger-metric-balance .ledger-metric-content small { color:#fff; }
  .mobile-entries-view .ledger-summary .metrics .ledger-metric-balance strong { font-size:25px; }
  .mobile-entries-view .ledger-summary .metrics .ledger-metric-invoices { background:var(--info-bg); }
  .mobile-entries-view .ledger-summary .metrics .ledger-metric-payable { background:var(--expense-bg); }
  .mobile-entries-view .ledger-summary .metrics .ledger-metric-receivable { background:var(--income-bg); }
  .mobile-entries-view .ledger-summary .metrics .ledger-metric-month { background:var(--surface-hover); }
  .mobile-entries-view .ledger-summary .metrics strong { font-size:16px; overflow-wrap:anywhere; }
  .mobile-entries-view .ledger-summary .metrics small { font-size:11px; }
  .mobile-entries-view .entries-panel { padding:14px; border-radius:16px; }
  .mobile-entries-view .entries-panel .entries-table tr.mat-mdc-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; padding:14px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:none; }
  .mobile-entries-view .entries-panel .entries-table .mat-mdc-cell { display:block; min-width:0; font-size:12px; }
  .mobile-entries-view .entries-panel .entries-table .mat-mdc-cell:before { font-size:10px; }
  .mobile-entries-view .entries-panel .mat-column-description { grid-column:1; grid-row:1; font-size:14px!important; font-weight:700; }
  .mobile-entries-view .entries-panel .mat-column-amount { grid-column:2; grid-row:1; text-align:right; font-weight:700; }
  .mobile-entries-view .entries-panel .mat-column-date { grid-column:1; grid-row:2; }
  .mobile-entries-view .entries-panel .mat-column-status { grid-column:2; grid-row:2; text-align:right; }
  .mobile-entries-view .entries-panel .mat-column-account,.mobile-entries-view .entries-panel .mat-column-category,.mobile-entries-view .entries-panel .mat-column-type { grid-column:1; }
  .mobile-entries-view .entries-panel .mat-column-actions { grid-column:2; grid-row:3 / span 3; align-self:end; justify-self:end; }
  .mobile-entries-view .entries-panel .mat-column-description:before,.mobile-entries-view .entries-panel .mat-column-amount:before,.mobile-entries-view .entries-panel .mat-column-actions:before { display:none; }
  .mobile-entries-view .entries-panel .entry-income { color:var(--income-text); }.mobile-entries-view .entries-panel .entry-expense { color:var(--expense-text); }
}

@media (max-width:767px) {
 .mobile-entries-view .entries-panel > .entries-table-wrap { display:none; }
 .mobile-entries-view .ledger-movements-mobile { display:block; }
 .ledger-movement-day { margin-top:14px; }.ledger-movement-day h3 { margin:0 0 6px; color:var(--text-secondary); font-size:13px; font-weight:700; }
 .ledger-movement { display:grid; grid-template-columns:36px minmax(0,1fr) auto 36px; gap:8px; align-items:center; padding:12px 0; border-top:1px solid var(--border); }
 .ledger-movement-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--income-bg); color:var(--primary); font-size:19px; }
 .ledger-movement-detail,.ledger-movement-end { min-width:0; }.ledger-movement-detail strong,.ledger-movement-detail small,.ledger-movement-end strong,.ledger-movement-end small { display:block; overflow-wrap:anywhere; }
 .ledger-movement-detail strong,.ledger-movement-end strong { font-size:13px; line-height:1.3; }.ledger-movement-detail small,.ledger-movement-end small { margin-top:4px; font-size:11px; color:var(--text-secondary); }.ledger-movement-end { text-align:right; }.ledger-movement-income { color:var(--income-text); }.ledger-movement-expense { color:var(--expense-text); }.ledger-movement-end small.is-paid { color:var(--income-text); }
 .ledger-movement-actions .list-actions-trigger { width:36px; min-width:36px; padding:0; }
}
@media (max-width:767px) {
 .ledger-movement-detail strong,.ledger-movement-end strong { font-size:12px; }
 .ledger-movement-detail small,.ledger-movement-end small { font-size:10px; }
}

@media (max-width:767px) { .mobile-entries-view .entries-panel > app-pagination { display:none; } }
/* No celular, a navegação identifica a página; mantenha o título para leitores de tela. */
@media (max-width:767px) {
 .mobile-layout .app-header h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
}

@media (max-width:767px) {
 .mobile-layout app-ledger > .ledger > .tabs { display:none; }
 .mobile-layout .sidebar .mobile-extra-nav { display:block; }
}

@media (max-width:767px) {
 .mobile-cards-page .app-header { background:var(--sidebar-bg); border-color:var(--sidebar-bg); color:#fff; }
 .mobile-cards-page .app-header .eyebrow { color:#fff; }.mobile-cards-page .app-header button { border-color:#ffffff70; color:#fff; background:transparent; }
 .cards-page .cards-page-heading { margin-bottom:12px; }.cards-page .cards-page-heading h2 { font-size:19px; }
 .cards-page .cards-toolbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .cards-page .cards-toolbar button { min-width:0; min-height:55px; justify-content:center; padding:8px 5px; font-size:11px; }
 .cards-page .cards-collection,.cards-page .cards-chart-expander,.cards-page .invoice-entries { border-radius:16px; padding:14px; }
 .cards-page .invoice-heading-controls { flex-direction:column-reverse; align-items:stretch; gap:10px; }.cards-page .invoice-month-selector { width:100%; justify-content:center; }.cards-page .invoice-card-filter { width:100%; }
 .cards-page.cards-page .invoice-summary-row .invoice-total-card { border-radius:14px; background:var(--surface-hover); }.cards-page.cards-page .invoice-summary-row .invoice-indicator-paid { background:var(--income-bg); }.cards-page.cards-page .invoice-summary-row .invoice-indicator-open { background:var(--expense-bg); }
 .cards-page .invoice-entries > .entries-table-wrap,.cards-page .invoice-entries > app-pagination { display:none; }
 .cards-page .mobile-card-charges { display:block; }
}
@media (max-width:767px) {
 .mobile-cards-page .app-header .eyebrow { display:flex; align-items:center; gap:5px; letter-spacing:.03em; }
 .mobile-cards-page .app-header .eyebrow::before { content:''; display:inline-block; width:25px; height:25px; flex:none; background:url('/assets/icon-32.png') center/contain no-repeat; border-radius:6px; }
}
@media (max-width:767px) {
 .cards-page .cards-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cards-page .cards-toolbar > button:nth-child(2) { display:none; }
}
@media (max-width:767px) {
 .cards-page.cards-page .invoice-summary-row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
 .cards-page.cards-page .invoice-summary-row .invoice-total-card { padding:9px 7px; min-height:76px; gap:5px; }
 .cards-page.cards-page .invoice-summary-row .invoice-indicator-label { font-size:10px; line-height:1.2; }
 .cards-page.cards-page .invoice-summary-row .invoice-indicator-label svg { width:13px; height:13px; flex:none; }
 .cards-page.cards-page .invoice-summary-row .invoice-total-card strong { font-size:clamp(12px,3.5vw,15px); overflow-wrap:anywhere; }
 .cards-page.cards-page .invoice-summary-row .invoice-total-card small { font-size:10px; }
}

@media (max-width:767px) {
 .cards-page.cards-page .invoice-summary-row .invoice-total-card { container-type:inline-size; }
 .cards-page.cards-page .invoice-summary-row .invoice-total-card strong { font-size:clamp(7px,calc((100cqw - 14px) * var(--mobile-amount-scale)),14px); line-height:1.2; white-space:nowrap; letter-spacing:-.02em; }
}
@media (max-width:767px) {
 .cards-page.cards-page .invoice-summary-row .invoice-total-card { grid-template-rows:28px 18px auto; align-content:start; }
 .cards-page.cards-page .invoice-summary-row .invoice-indicator-label { align-self:end; }
 .cards-page.cards-page .invoice-summary-row .invoice-total-card strong { align-self:end; }
}

@media (max-width:767px) { .cards-page .invoice-label-desktop { display:none; } .cards-page .invoice-label-mobile { display:inline; } }

@media (max-width:767px) {
 .mobile-accounts-page .app-header { background:var(--sidebar-bg); border-color:var(--sidebar-bg); color:#fff; }.mobile-accounts-page .app-header .eyebrow { display:flex; align-items:center; gap:5px; color:#fff; letter-spacing:.03em; }.mobile-accounts-page .app-header .eyebrow::before { content:''; width:25px; height:25px; flex:none; background:url('/assets/icon-32.png') center/contain no-repeat; border-radius:6px; }.mobile-accounts-page .app-header button { border-color:#ffffff70; color:#fff; background:transparent; }
 .mobile-accounts-view .account-metrics { display:none; }.mobile-accounts-view .mobile-accounts-summary { display:grid; gap:12px; margin-bottom:16px; }.mobile-accounts-heading { display:flex; align-items:center; justify-content:space-between; }.mobile-accounts-heading h2 { margin:0; }.mobile-accounts-heading .mobile-account-add { min-width:44px; min-height:44px; padding:0; font-size:24px; }
 .mobile-accounts-view .accounts-panel { padding:16px; border-radius:16px; }.mobile-accounts-view .accounts-heading { display:grid; gap:12px; }.mobile-accounts-view .accounts-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }.mobile-accounts-view .accounts-filters input,.mobile-accounts-view .accounts-filters select { width:100%; min-width:0; padding:8px; font-size:12px; }
 .mobile-accounts-view .accounts-panel > .entries-table-wrap,.mobile-accounts-view .accounts-panel > app-pagination { display:none; }.mobile-accounts-view .mobile-accounts-list { display:block; }
 .mobile-account-item { display:grid; grid-template-columns:36px minmax(0,1fr) auto 36px; gap:8px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); }.mobile-account-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--income-bg); color:var(--primary); }.mobile-account-info,.mobile-account-value { min-width:0; }.mobile-account-info strong,.mobile-account-info small { display:block; overflow-wrap:anywhere; }.mobile-account-info strong,.mobile-account-value strong { font-size:12px; }.mobile-account-info small { color:var(--text-secondary); font-size:10px; margin-top:4px; }.mobile-account-value { text-align:right; overflow-wrap:anywhere; }.mobile-account-item .list-actions-trigger { width:36px; min-width:36px; padding:0; }.mobile-account-compensations { grid-column:2/-1; font-size:11px; }.mobile-account-compensations p { font-size:11px; }
}

@media (max-width:767px) {
 .mobile-layout .app-header .ai-header-open { display:inline-flex; align-items:center; justify-content:center; width:52px; min-width:52px; height:44px; padding:0; border:1px solid #9de3d4; border-radius:13px; background:#dcf8f0; color:#075e55; box-shadow:0 2px 6px #002d2a20; }
 .mobile-layout .app-header .ai-header-open:not(:disabled):hover { background:#c8f1e7; color:#075e55; }
 .mobile-layout .ai-header-open .ai-header-desktop-label { display:none; }
 .mobile-layout .ai-header-open .ai-header-mobile-icon { display:flex; align-items:center; justify-content:center; gap:1px; font-size:10px; font-weight:800; letter-spacing:0; line-height:1; }
 .mobile-layout .ai-header-open .ai-header-mobile-icon svg { display:block; width:23px; height:23px; }
}
@media (max-width:767px) {
 .mobile-layout .app-header .ai-header-open { background:var(--surface); color:var(--primary); border-color:var(--border); box-shadow:none; }
 .mobile-layout .app-header .ai-header-open:not(:disabled):hover { background:var(--surface-hover); color:var(--primary); }
 .mobile-dashboard-page .app-header .ai-header-open,.mobile-entries-page .app-header .ai-header-open,.mobile-cards-page .app-header .ai-header-open,.mobile-accounts-page .app-header .ai-header-open { background:#ffffff14; color:#e7f7f4; border-color:#ffffff66; }
 .mobile-dashboard-page .app-header .ai-header-open:not(:disabled):hover,.mobile-entries-page .app-header .ai-header-open:not(:disabled):hover,.mobile-cards-page .app-header .ai-header-open:not(:disabled):hover,.mobile-accounts-page .app-header .ai-header-open:not(:disabled):hover { background:#ffffff26; color:#fff; }
}
