.home-layout { display: grid; gap: 14px; min-width: 0; }
.home-hero { align-items: stretch; text-align: left; padding: 12px 4px 0; gap: 10px; }
.home-hero__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.home-hero .hero__label { font-size: 14px; font-weight: 500; }
.home-month { color: var(--ink-2); font-size: 12px; }
.home-hero > .money--hero { align-self: flex-start; font-size: clamp(48px, 15vw, 64px); line-height: 1.08; letter-spacing: -.055em; margin: 2px 0 4px; max-width: 100%; }
.home-hero .money__sym { font-size: .44em; letter-spacing: -.02em; }
.home-hero .money__frac { font-size: .52em; }
.home-hero .money__sub { font-size: 12px; letter-spacing: 0; margin-top: 8px; }
.home-budget-strip { margin-top: 6px; }
.home-budget-labels { display: flex; justify-content: space-between; gap: 12px; color: var(--ink-2); font-size: 12px; margin-bottom: 8px; }
.home-budget-labels b { color: var(--ink); font-weight: 500; }
.home-stats { display: grid; grid-template-columns: 1fr 1fr; margin: 18px 0 8px; }
.home-stat { display: flex; flex-direction: column; gap: 4px; }
.home-stat + .home-stat { border-left: 1px solid var(--line); padding-left: 22px; }
.home-stat > span { color: var(--ink-2); font-size: 12px; }
.home-stat > strong { font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
.home-primary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 5px; }
.home-primary-actions .btn { min-height: 50px; font-size: 15px; }
.home-secondary-actions { display: flex; justify-content: space-between; align-items: center; }
.home-secondary-actions > span { font-size: 11px; color: var(--ink-3); }
.home-secondary-actions > .btn { margin-left: -12px; font-size: 12px; min-height: 40px; }
.home-recent { padding: 18px 16px 8px; }
.home-recent .card__head { margin-bottom: 8px; }
.home-recent .card__title { font-size: 16px; }
.home-recent .card__head .btn { font-size: 12px; min-height: 44px; }
.home-recent .row { padding-block: 13px; }
.home-recent .row__title { font-size: 14px; font-weight: 500; }
.home-recent .row__meta { font-size: 11px; }
.home-recent .row__amount { font-size: 17px; font-weight: 600; }
.home-recent .row__icon { width: 36px; height: 36px; border-radius: 12px; }
.home-advance { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 14px; border-radius: 16px; background: var(--surface); color: var(--ink-2); font-size: 12px; }
.home-advance > span { flex: 1; }.home-advance strong { color: var(--ink); font-weight: 600; }
.home-fx-strip { display: flex; gap: 12px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 20px; min-height: 72px; }
.home-fx-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--surface); }
.home-fx-copy { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.home-fx-copy > span { font-size: 11px; color: var(--ink-2); }
.home-fx-copy > strong { font-size: 15px; font-weight: 600; }
.home-fx-link { display: flex; align-items: center; gap: 2px; font-size: 12px; color: var(--ink-2); }
.home-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 4px; cursor: pointer; list-style: none; }
.home-details > summary::-webkit-details-marker { display: none; }
.home-details > summary strong { font-size: 14px; font-weight: 600; }
.home-details > summary small { display: block; margin-top: 4px; color: var(--ink-2); font-size: 11px; }
.home-details[open] > summary > svg { transform: rotate(180deg); }
.home-details__grid { display: grid; gap: 14px; }
.home-detail-card .money--lg { font-size: 24px; }.home-detail-card .money__sub { font-size: 11px; }
.home-detail-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-projection { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12px; }
.home-projection > span { color: var(--ink-2); }
@media (max-width: 719px) {
  body:has(.view--home) .fab { display: none; }
  .app[data-view="home"] .topbar__title { font-size: 18px; }
  .app[data-view="home"] .page { padding-top: 0; }
  .home-recent .list-group--flush { margin-inline: -4px; }
}
@media (min-width: 900px) {
  .home-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
  .home-hero { grid-column: 1; grid-row: span 3; padding: 28px; border-radius: 28px; background: var(--surface); }
  .home-recent, .home-advance, .home-fx-strip { grid-column: 2; }
  .home-details { grid-column: 1 / -1; }
  .home-details__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hero > .money--hero { font-size: 72px; margin-top: 10px; }
}
