/* Compact scrapbook rows; quotas do not displace the existing overview. */
body[data-route="import"] .capture-mode-tabs { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
#weekly-budget { padding: 20px; margin-bottom: 22px; }
.budget-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.budget-heading h2 { margin:0; font-size:21px; }
.budget-link, .budget-week-controls button, .budget-row-actions button { border:0; background:transparent; color:var(--primary); font:inherit; font-size:15px; min-height:44px; padding:6px; cursor:pointer; }
.budget-link:disabled, .budget-week-controls button:disabled { opacity:.55; cursor:default; }
.budget-period-switch { display:flex; gap:6px; margin:4px 0; }
.budget-period-switch button { min-height:44px; border:1px solid var(--border); border-radius:7px; padding:6px 14px; background:var(--paper-ledger); color:var(--text); font:inherit; font-size:15px; cursor:pointer; }
.budget-period-switch button[aria-pressed="true"] { background:var(--paper-rose); border-color:var(--primary); }
.budget-period-switch button:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.budget-period-switch button:disabled { opacity:.55; cursor:default; }
.budget-week-controls { display:grid; grid-template-columns:36px minmax(0,1fr) 36px 48px; gap:4px; align-items:center; margin:8px 0; }
.budget-week-controls span { font-size:14px; text-align:center; overflow-wrap:anywhere; }
.budget-row { display:flex; align-items:center; gap:10px; border-top:1px dashed var(--border); padding:10px 0; min-width:0; }
.budget-row-main { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; align-items:center; min-width:0; flex:1; border:0; background:none; padding:4px 0; color:var(--text); font:inherit; cursor:pointer; text-align:left; }
.budget-category { font-size:18px; overflow-wrap:anywhere; }
.budget-left { font-size:14px; white-space:nowrap; }
.budget-left strong { font-size:20px; font-weight:400; }
.budget-row-note { grid-column:1/-1; color:var(--text-muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.budget-progress { display:block; height:5px; background:color-mix(in srgb,var(--text) 8%,transparent); grid-column:1/-1; margin-top:4px; }
.budget-progress i { display:block; height:100%; background:var(--category-color,var(--primary)); }
[data-budget-state="near"] .budget-progress i { background:var(--chart-yellow); }
[data-budget-state="over"] .budget-progress i, [data-budget-state="exhausted"] .budget-progress i { background:var(--expense); }
.budget-empty { color:var(--text-muted); font-size:15px; padding:18px 0; }
.budget-editor #budget-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:14px; }
.budget-editor .form-field { min-width:0; }
.budget-editor input, .budget-editor select { width:100%; min-width:0; box-sizing:border-box; }
.budget-form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; grid-column:1/-1; }
.budget-form-actions span { font-size:14px; overflow-wrap:anywhere; }
.budget-hint { font-size:13px; line-height:1.5; color:var(--text-muted); display:block; }
.budget-row-actions { display:flex; flex-direction:column; flex-shrink:0; }
.budget-row-actions button { font-size:13px; min-height:36px; white-space:nowrap; }
.budget-row-main:focus-visible, .budget-link:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.record-recovery-summary { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; font-size:15px; }
.recovery-search { display:flex; gap:8px; margin:14px 0; }
.recovery-search input { min-width:0; flex:1; box-sizing:border-box; }
.recovery-candidate { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--border); }
.recovery-candidate > span, .recovery-selected-row > span { flex:1; min-width:0; font-size:16px; overflow-wrap:anywhere; }
.recovery-candidate small, .recovery-selected-row small { display:block; font-size:12px; line-height:1.4; color:var(--text-muted); }
.recovery-pager { display:flex; align-items:center; justify-content:space-between; font-size:14px; }
.recovery-selected { border-top:1px dashed var(--border); margin-top:14px; padding-top:10px; }
.recovery-selected h3 { font-size:18px; margin:0 0 10px; }
.recovery-selected-row { display:grid; grid-template-columns:minmax(0,1fr) 110px 44px; gap:8px; align-items:center; margin-bottom:10px; }
.recovery-selected-row label { font-size:12px; }
.recovery-selected-row input { box-sizing:border-box; width:100%; min-width:0; }
#recovery-allocation-total, #recovery-status { font-size:14px; overflow-wrap:anywhere; }
@media(max-width:768px) {
  body[data-route="import"] .capture-mode-tabs .import-tab { font-size:15px !important; min-height:46px !important; }
  #weekly-budget { padding:16px 12px; }
  .budget-heading h2 { font-size:18px; }
  .budget-editor { padding:18px 14px !important; }
  .budget-editor #budget-form { grid-template-columns:minmax(0,1fr); gap:10px; }
  .budget-category { font-size:17px; }
  .budget-row-main { grid-template-columns:minmax(0,1fr); gap:3px; }
  .budget-left { white-space:normal; }
  .budget-row-note { font-size:12px; }
  .budget-row-actions button { min-height:44px; }
  .budget-row-note, .budget-progress { grid-column:1; }
  .recovery-selected-row { grid-template-columns:minmax(0,1fr) 94px 44px; }
}
