/* Budget report page: loads after article.css */
.mock-note{background:var(--amber-bg); color:var(--amber); border-bottom:1px solid rgba(154,107,18,0.3); font-size:13.5px; padding:10px 0;}
.mock-note .wrap{max-width:var(--max);}
.budget-hero{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%);}
.budget-day{display:flex; align-items:stretch; gap:22px; margin-top:30px; max-width:640px; background:rgba(249,250,251,0.06); border:1px solid var(--line-dark); border-left:3px solid var(--teal-light);}
.budget-day-date{display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px 22px; background:var(--teal); color:var(--white); min-width:128px; text-align:center;}
.bd-dow{font-size:11.5px; text-transform:uppercase; letter-spacing:1.2px; font-weight:700; opacity:.9;}
.bd-day{font-family:'Fraunces',serif; font-size:46px; font-weight:700; line-height:1.05;}
.bd-mon{font-size:12.5px; font-weight:600;}
.budget-day-text{padding:16px 22px 16px 0; display:flex; flex-direction:column; justify-content:center; gap:10px;}
.budget-day-text p{margin:0; color:rgba(249,250,251,0.88); font-size:15px;}
.budget-day-text strong{color:var(--white);}
.budget-status{align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--teal-light); border:1px solid var(--teal-light); padding:3px 10px;}
.bud-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:22px 0 8px;}
.bud-card{background:var(--white); border:1px solid var(--line); border-top:3px solid var(--teal); padding:20px 22px;}
.article-content .bud-card h3{margin:10px 0 8px; font-size:17px;}
.bud-card p{margin:0; font-size:14.5px;}
.bud-chip{display:inline-block; font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--amber); background:var(--amber-bg); padding:3px 9px;}
.bud-ph{color:var(--ink-soft); font-style:italic;}
.bud-ph-block{border-left:3px dashed var(--amber); background:var(--amber-bg); padding:14px 18px; color:var(--ink-soft); font-style:italic;}
.bud-table-wrap{overflow-x:auto; margin:20px 0 8px;}
.bud-table{width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px;}
.bud-table th,.bud-table td{text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top;}
.bud-table thead th{font-size:12px; text-transform:uppercase; letter-spacing:.8px; color:var(--ink-soft); background:var(--bg);}
.bud-table tbody th{color:var(--navy); font-weight:700; width:26%;}
.bud-timeline{list-style:none; margin:20px 0 8px; padding:0; border-left:2px solid var(--teal);}
.bud-timeline li{display:grid; grid-template-columns:150px 1fr; gap:16px; padding:0 0 18px 22px; position:relative; margin:0;}
.bud-timeline li::before{content:''; position:absolute; left:-7px; top:5px; width:12px; height:12px; background:var(--teal); border-radius:50%;}
.bt-when{font-weight:700; color:var(--navy);}
.bt-what{color:var(--ink-soft);}
.bud-dl-pending{color:var(--ink-soft); border-bottom:1px dashed var(--ink-soft); cursor:default;}
@media (max-width:640px){
  .bud-grid{grid-template-columns:1fr;}
  .budget-day{flex-direction:column; gap:0;}
  .budget-day-date{flex-direction:row; gap:10px; justify-content:flex-start; padding:12px 18px;}
  .bd-day{font-size:32px;}
  .budget-day-text{padding:16px 18px;}
  .bud-timeline li{grid-template-columns:1fr; gap:2px;}
}
