/* Dosta — Payday plan and Goals (M3 part 1). */

.btn-small { min-height: 36px; padding: 6px 12px; font-size: var(--text-s); }

/* Payday plan */
.payday-pay { margin: -4px 0 20px; font-size: var(--text-l); font-variant-numeric: tabular-nums; }
.section-total { margin: 12px 0 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.bill-row input:disabled { opacity: 0.55; cursor: not-allowed; }
.spend-text { font-size: var(--text-l); }
.payday-actions { margin-top: 8px; }

/* Goals */
.goal-list { list-style: none; margin: 0; padding: 0; }
.goal-row { padding: 18px 0; border-bottom: 1px solid var(--line); }
.goal-row.is-paused .goal-amount,
.goal-row.is-paused .progress { opacity: 0.55; }
.goal-top {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 6px 16px; margin-bottom: 10px;
}
.goal-name { font-size: var(--text-l); text-align: left; }
.goal-amount { font-weight: 700; font-variant-numeric: tabular-nums; }
.progress { height: 10px; margin-bottom: 10px; border-radius: 5px; background: var(--line); overflow: hidden; }
.progress-fill { display: block; height: 100%; border-radius: 5px; background: var(--fern); }
.goal-meta { margin: 0 0 10px; color: var(--ink-soft); font-size: var(--text-s); }
.goal-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Live feedback inside the goal form */
.feedback { margin: 4px 0 16px; padding: 12px 14px; border-radius: var(--radius); background: var(--fern-tint); }
.feedback:empty { display: none; }
.feedback p { margin: 0 0 6px; }
.feedback p:last-child { margin: 0; }
.feedback--warn { background: var(--kowhai-tint); }

@media print {
  .payday h1 { font-size: 22pt; }
  .payday .lead { display: none; }
}