/* ARVYNO 0.9.133 — Finance overview presentation.
   Shared geometry and type with Home, Tasks and Goals. */
.page[data-page="finance"] {
  --finance-inset: 16px;
  align-content: start !important;
  grid-auto-rows: max-content;
  gap: 12px !important;
}
.page[data-page="finance"] .finance-heading { margin: 0 !important; }
.page[data-page="finance"] .finance-v2-heading-row {
  margin-bottom: 16px;
  padding-right: calc(var(--finance-inset) + 1px);
}
.page[data-page="finance"] .finance-v2-heading-row > h1 {
  font-size: clamp(28px, 7.1vw, 34px) !important;
  font-weight: 650 !important;
  line-height: 1.08 !important;
}
.page[data-page="finance"] .finance-v2-heading-add,
.page[data-page="finance"] .finance-compact-add {
  position: relative !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  flex: 0 0 32px !important;
  font-size: 24px !important;
  font-weight: 400 !important;
}
.page[data-page="finance"] .finance-v2-heading-add::after,
.page[data-page="finance"] .finance-compact-add::after {
  content: "";
  position: absolute;
  inset: -6px;
}
.page[data-page="finance"] .card,
.page[data-page="finance"] .finance-period-panel {
  min-height: 0;
  border-radius: 20px !important;
  border-color: transparent !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(54,47,40,.012) !important;
  backdrop-filter: none !important;
}
.page[data-page="finance"] .card { padding: 12px var(--finance-inset) !important; }
.page[data-page="finance"] .finance-period-panel { padding: 8px var(--finance-inset) 4px !important; }
.page[data-page="finance"] .finance-period-control {
  padding: 3px !important;
  border: 0 !important;
  background: #f5f4f1 !important;
  box-shadow: none !important;
}
.page[data-page="finance"] .finance-period-control button {
  min-height: 38px !important;
  font-size: 12px !important;
  font-weight: 550 !important;
}
.page[data-page="finance"] .finance-period-control button.active {
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(54,47,40,.035) !important;
}
.page[data-page="finance"] .finance-date-switch {
  grid-template-columns: 32px minmax(0,1fr) 32px !important;
  min-height: 44px !important;
  margin-top: 3px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
.page[data-page="finance"] .finance-date-switch b { font-size: 14px !important; font-weight: 550 !important; }
.page[data-page="finance"] .finance-date-switch button {
  position: relative;
  width: 32px !important;
  height: 44px !important;
  padding: 0 !important;
  font-size: 26px !important;
  font-weight: 400 !important;
}
.page[data-page="finance"] .finance-date-switch button::after { content: ""; position: absolute; inset: 0 -6px; }
.page[data-page="finance"] .finance-balance-card {
  padding: 16px var(--finance-inset) !important;
  border-radius: 20px !important;
  background: #687e6c !important;
  box-shadow: 0 3px 12px rgba(54,47,40,.025) !important;
}
.page[data-page="finance"] .finance-balance-card.is-negative { background: #8e6a65 !important; }
.page[data-page="finance"] .finance-balance-card.is-neutral { background: #71796f !important; }
.page[data-page="finance"] .finance-balance-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  color: rgba(255,255,255,.8) !important;
}
.page[data-page="finance"] .finance-balance-value {
  margin-top: 7px !important;
  font-size: clamp(28px, 8vw, 34px) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.page[data-page="finance"] .finance-balance-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 12px;
  font-size: 11px !important;
  opacity: 1 !important;
  color: rgba(255,255,255,.8) !important;
  overflow-wrap: anywhere;
}
.page[data-page="finance"] .finance-balance-stats { margin-top: 14px !important; padding-top: 10px !important; }
.page[data-page="finance"] .finance-balance-stats span { font-size: 11px !important; font-weight: 500 !important; color: rgba(255,255,255,.8) !important; }
.page[data-page="finance"] .finance-balance-stats strong {
  font-size: 14px !important;
  font-weight: 550 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
}
.page[data-page="finance"] .finance-v2-auto-entry { min-height: 60px; margin: 0 !important; }
.page[data-page="finance"] .finance-v2-auto-entry-copy b { font-size: 14px; font-weight: 550; }
.page[data-page="finance"] .finance-v2-auto-entry-copy small { font-size: 11px; color: #78736c; }
.page[data-page="finance"] .finance-v2-auto-entry-side { gap: 4px; }
.page[data-page="finance"] .finance-v2-auto-entry-side > span { width: 24px; height: 24px; background: transparent; font-size: 14px; font-weight: 550; }
.page[data-page="finance"] .finance-v2-auto-entry-side i { width: 32px; text-align: center; font-size: 20px; color: rgba(91,81,71,.46); }
.page[data-page="finance"] .finance-section-title-row { align-items: center !important; gap: 12px !important; margin-bottom: 6px !important; }
.page[data-page="finance"] .finance-section-title-row h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
}
.page[data-page="finance"] .finance-section-title-row .card-subtitle { font-size: 11px !important; color: #78736c !important; line-height: 1.35; }
.page[data-page="finance"] .finance-section-link {
  position: relative;
  align-self: center !important;
  margin-top: 0 !important;
  min-height: 32px;
  padding: 8px 0 !important;
  font-size: 11px !important;
  font-weight: 550 !important;
}
.page[data-page="finance"] .finance-section-link::after { content: ""; position: absolute; inset: -6px 0; }
.page[data-page="finance"] .finance-accounts-card .finance-v2-account-row,
.page[data-page="finance"] .finance-operations-card .finance-v2-transaction {
  gap: 8px !important;
  min-height: 50px !important;
  padding: 8px 0 !important;
  border-bottom-color: rgba(92,80,68,.075) !important;
}
.page[data-page="finance"] .account-row-main { flex: 1 1 auto; gap: 12px !important; }
.page[data-page="finance"] .account-icon,
.page[data-page="finance"] .finance-operations-card .transaction-icon {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  border-radius: 10px !important;
  background: rgba(143,159,138,.075) !important;
}
.page[data-page="finance"] .finance-operations-card .transaction-main { gap: 12px !important; }
.page[data-page="finance"] .finance-accounts-card .account-row b,
.page[data-page="finance"] .finance-operations-card .transaction-main b {
  max-width: none !important;
  font-size: 14px !important;
  font-weight: 550 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.page[data-page="finance"] .finance-accounts-card .account-row-main small,
.page[data-page="finance"] .finance-operations-card .transaction-main small { font-size: 10px !important; line-height: 1.35 !important; color: #78736c !important; }
.page[data-page="finance"] .finance-accounts-card .account-row-side,
.page[data-page="finance"] .finance-operations-card .transaction-side { width: max-content; flex: 0 0 auto; max-width: 45% !important; min-width: 0; gap: 2px !important; }
.page[data-page="finance"] .finance-accounts-card .account-row-side { grid-template-columns: minmax(0,1fr) 32px !important; }
.page[data-page="finance"] .finance-accounts-card .account-row-side strong,
.page[data-page="finance"] .finance-operations-card .transaction-amount {
  min-width: 0;
  font-size: 13px !important;
  font-weight: 550 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.page[data-page="finance"] .finance-accounts-card .account-row-side i,
.page[data-page="finance"] .transaction-chevron {
  flex: 0 0 32px;
  width: 32px;
  font-size: 20px !important;
  font-weight: 400 !important;
  text-align: center;
  color: rgba(91,81,71,.46) !important;
}
.page[data-page="finance"] .finance-v2-adjustment-link { margin-top: 3px; min-height: 44px; padding-top: 5px; border-color: rgba(92,80,68,.075); font-size: 11px; font-weight: 550; }
.page[data-page="finance"] .finance-v2-adjustment-link small { font-size: 10px; color: #78736c; }
.page[data-page="finance"] .finance-v2-adjustment-link i { display: inline-block; width: 32px; text-align: center; font-size: 20px; }
.page[data-page="finance"] .finance-budget-card .budget-row { padding: 8px 0 !important; gap: 5px !important; border-color: rgba(92,80,68,.075) !important; }
.page[data-page="finance"] .finance-budget-card .budget-row:last-child { border-bottom: 0 !important; }
.page[data-page="finance"] .finance-budget-card .budget-row > div:first-child { gap: 12px; font-size: 12px !important; align-items: baseline; }
.page[data-page="finance"] .finance-budget-card .budget-row > div:first-child b { font-size: 12px !important; font-weight: 550; text-align: right; overflow-wrap: anywhere; }
.page[data-page="finance"] .finance-budget-values { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 2px 5px; min-width: 0; font-variant-numeric: tabular-nums; }
.page[data-page="finance"] .finance-budget-values strong { font-weight: 550; }
.page[data-page="finance"] .finance-budget-values > span { color: #78736c; font-weight: 400; }
.page[data-page="finance"] .finance-budget-card .progress-track { height: 3px !important; }
.page[data-page="finance"] .finance-budget-card .budget-unset-line { min-height: 0; padding: 0 !important; background: transparent; color: #78736c; font-size: 11px !important; }
.page[data-page="finance"] .finance-v2-budget-plans { border-color: rgba(92,80,68,.075); }
.page[data-page="finance"] .finance-v2-budget-plans > div { font-size: 11px; gap: 12px; }
.page[data-page="finance"] .finance-v2-budget-plans b { font-size: 12px; font-weight: 550; overflow-wrap: anywhere; text-align: right; }
.page[data-page="finance"] .finance-categories-card .category-spend-list { gap: 4px !important; margin-top: 4px !important; }
.page[data-page="finance"] .finance-categories-card .category-spend-row { min-height: 44px !important; padding: 7px 0 !important; row-gap: 5px !important; }
.page[data-page="finance"] .category-spend-main { gap: 12px; align-items: baseline; font-size: 12px; }
.page[data-page="finance"] .category-spend-main > span { min-width: 0; overflow-wrap: anywhere; }
.page[data-page="finance"] .category-spend-main b { font-size: 12px; font-weight: 550; overflow-wrap: anywhere; text-align: right; font-variant-numeric: tabular-nums; }
.page[data-page="finance"] .finance-categories-card .category-spend-track { height: 3px !important; background: #f0eeea; }
.page[data-page="finance"] .category-spend-track i { background: #7f937e; }
.page[data-page="finance"] .category-spend-row > small { font-size: 10px; color: #78736c; }
.page[data-page="finance"] .finance-v2-empty-card { padding: 0 var(--finance-inset) !important; }
.page[data-page="finance"] .finance-v2-empty-card .finance-empty-entity-action { min-height: 60px !important; padding: 12px 0 !important; }
.page[data-page="finance"] .finance-empty-entity-action b { font-size: 18px !important; font-weight: 600 !important; line-height: 1.15 !important; letter-spacing: -.025em !important; }
.page[data-page="finance"] .finance-empty-entity-action small { font-size: 11px !important; color: #78736c !important; }
.page[data-page="finance"] .finance-empty-entity-action i { height: 32px !important; font-size: 24px !important; font-weight: 400 !important; }
.page[data-page="finance"] .finance-v2-empty-recurring .finance-section-title-row { margin-bottom: 0 !important; }
.page[data-page="finance"] .recurring-payment-row { grid-template-columns: 32px minmax(0,1fr) minmax(0,auto) 32px; gap: 12px; min-height: 50px; border-color: rgba(92,80,68,.075); }
.page[data-page="finance"] .recurring-payment-day { width: 32px; height: 32px; border-radius: 10px; background: rgba(143,159,138,.075); }
.page[data-page="finance"] .recurring-payment-main b { font-size: 14px; font-weight: 550; }
.page[data-page="finance"] .recurring-payment-main small { font-size: 10px; color: #78736c; }
.page[data-page="finance"] .recurring-payment-side strong { font-size: 13px; font-weight: 550; white-space: normal; overflow-wrap: anywhere; }
.page[data-page="finance"] .recurring-payment-side small { font-size: 10px; color: #78736c; }
.page[data-page="finance"] .recurring-payment-arrow { text-align: center; color: rgba(91,81,71,.46); }
.page[data-page="finance"] .finance-progress-card { padding: 10px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page[data-page="finance"] .finance-progress-head { gap: 12px; }
.page[data-page="finance"] .finance-progress-head > div { min-width: 0; }
.page[data-page="finance"] .finance-progress-head b { font-size: 14px; font-weight: 550; overflow-wrap: anywhere; }
.page[data-page="finance"] .finance-progress-head small { font-size: 11px; color: #78736c; overflow-wrap: anywhere; }
.page[data-page="finance"] .finance-progress-head > span { font-size: 12px; font-weight: 550; }
.page[data-page="finance"] .finance-progress-card .progress-track { height: 3px; }
.page[data-page="finance"] .finance-progress-actions { flex-wrap: wrap; }
.page[data-page="finance"] .finance-progress-actions button { min-height: 32px; font-size: 11px; font-weight: 500; }
.page[data-page="finance"] .finance-v2-year-grid > div { background: #f7f6f3; box-shadow: none; }
.page[data-page="finance"] .finance-v2-year-grid b { font-weight: 550; white-space: normal; overflow-wrap: anywhere; }
.page[data-page="finance"] button:focus-visible,
.page[data-page="finance"] ~ .bottom-nav .nav-item:focus-visible { outline: 2px solid #71866f; outline-offset: 3px; }
.page[data-page="finance"] ~ .bottom-nav .nav-item.active { background: transparent; box-shadow: none; color: var(--sage-dark); }
.page[data-page="finance"] ~ .bottom-nav .nav-item.active .nav-icon { border-radius: 9px; background: rgba(143,159,138,.10); box-shadow: 0 0 0 4px rgba(143,159,138,.10); }
.page[data-page="finance"] ~ .bottom-nav .nav-item small { font-size: 11px !important; }
.page[data-page="finance"] ~ .bottom-nav .nav-item:not(.active) { color: #78736c; }
@media (max-width: 390px) {
  .page[data-page="finance"] { --finance-inset: 14px; }
}
@media (max-width: 360px) {
  .page[data-page="finance"] .finance-accounts-card .finance-v2-account-row,
  .page[data-page="finance"] .finance-operations-card .finance-v2-transaction { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 4px !important; }
  .page[data-page="finance"] .finance-accounts-card .account-row-side,
  .page[data-page="finance"] .finance-operations-card .transaction-side { width: auto; max-width: none !important; margin-left: 44px; justify-self: stretch; justify-content: flex-end; }
  .page[data-page="finance"] .finance-accounts-card .account-row-side { grid-template-columns: minmax(0,1fr) 32px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .page[data-page="finance"] button { transition: none !important; }
}
