.budget-dashboard{color:#172a43;background:#f5f8fc;border:1px solid #d8e1ef;border-radius:24px;margin:2rem 0;padding:clamp(1rem,3vw,2rem);scroll-margin-top:90px}.budget-title,.budget-category-title,.budget-item-head,.budget-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.budget-title h2{margin:.3rem 0;font-size:clamp(1.7rem,4vw,2.4rem)}.budget-eyebrow{letter-spacing:.14em;color:#47617f;font-size:.72rem;font-weight:800}.budget-access{background:#e8f4f0;border-left:4px solid #176b66;border-radius:8px;margin:1.4rem 0;padding:.8rem 1rem}.budget-access p{margin:.4rem 0 0}.budget-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.budget-totals>div{background:#fff;border:1px solid #dbe3ed;border-radius:14px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.budget-totals strong{font-size:1.5rem}.budget-totals span,.budget-small{color:#4b617b;font-size:.85rem;line-height:1.6}.budget-toolbar{margin:1.5rem 0}.budget-toggle{align-items:center;gap:.5rem;display:flex}.budget-toggle input{width:18px;height:18px}.budget-legend{flex-wrap:wrap;gap:.6rem;display:flex}.budget-color-0{--budget-color:#2969ad;--budget-tint:#eef5ff}.budget-color-1{--budget-color:#14766c;--budget-tint:#edf9f5}.budget-color-2{--budget-color:#7550a3;--budget-tint:#f7f1ff}.budget-color-3{--budget-color:#9b620c;--budget-tint:#fff7e8}.budget-color-4{--budget-color:#ac4660;--budget-tint:#fff0f3}.budget-legend span{border-left:5px solid var(--budget-color);background:var(--budget-tint);border-radius:5px;padding:.4rem .7rem;font-size:.75rem}.budget-category{margin-top:2rem}.budget-category-title h3{font-size:1.2rem}.budget-category-title span{font-size:.85rem}.budget-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.budget-item{border:1px solid #dbe3ed;border-top:5px solid var(--budget-color);background:#fff;border-radius:14px;min-width:0;padding:1rem}.budget-item h4{margin:.3rem 0;font-size:1.05rem}.budget-badge{white-space:nowrap;background:#edf1f6;border-radius:20px;padding:.35rem .55rem;font-size:.7rem}.budget-badge.editable{color:#07554c;background:#dff5ed}.budget-figures{flex-wrap:wrap;gap:1rem;margin:1.2rem 0;display:flex}.budget-figures div{min-width:90px}.budget-figures dt{color:#51627b;font-size:.75rem}.budget-figures dd{margin:.25rem 0;font-weight:700}.budget-over dd{color:#ae2540}.budget-calculator,.budget-edit{border-top:1px solid #e0e7ef;margin-top:.75rem;padding-top:.75rem}.budget-calculator summary,.budget-edit summary{cursor:pointer;padding:.4rem 0;font-weight:700}.budget-calculator[open]{background:var(--budget-tint);border-radius:8px;padding:.8rem}.budget-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.budget-dashboard label,.portal-feedback label{flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.budget-dashboard input:not([type=checkbox]),.budget-dashboard textarea,.portal-feedback input,.portal-feedback textarea,.portal-feedback select{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#172a43;background:#fff;border:1px solid #aab9cd;border-radius:7px;min-height:44px;padding:.65rem}.budget-dashboard textarea{min-height:85px}.budget-dashboard fieldset,.portal-feedback fieldset{border:0;margin:0;padding:0}.budget-dashboard button,.portal-feedback button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#174868;border:1px solid #174868;border-radius:8px;padding:.65rem .9rem;font-size:.85rem}.budget-dashboard button:disabled,.portal-feedback button:disabled{opacity:.6;cursor:wait}.budget-dashboard output{padding:1rem 0;font-weight:700;display:block}.budget-dashboard .budget-toggle{flex-direction:row}.budget-history{margin-top:2rem}.budget-history article{background:#fff;border:1px solid #d5e0ed;border-radius:12px;margin:.8rem 0;padding:1rem}.budget-history dl{flex-wrap:wrap;gap:1.2rem;display:flex}.budget-history dt{font-size:.8rem}.budget-history dd{margin:.3rem 0;font-weight:600}.portal-feedback{color:#172a43;background:#f7f9fd;border:1px solid #d8e1ef;border-radius:20px;margin:2rem 0;padding:clamp(1rem,3vw,2rem);scroll-margin-top:90px}.portal-feedback h2{font-size:1.8rem}.portal-feedback form{gap:.8rem;display:grid}.portal-feedback>details{background:#fff;border:1px solid #dbe3ed;border-radius:12px;padding:1rem}.portal-feedback summary{cursor:pointer;padding:.3rem 0;font-weight:700}.portal-feedback article{overflow-wrap:anywhere;background:#fff;border:1px solid #dbe3ed;border-radius:12px;margin-top:1rem;padding:1rem}.portal-feedback .feedback-status{background:#e7eef8;border-radius:20px;padding:.3rem .7rem;font-size:.75rem;display:inline-block}.portal-feedback .feedback-details{white-space:pre-wrap}.portal-feedback .feedback-response{background:#edf7f2;border-radius:8px;padding:.8rem}.portal-feedback button{justify-self:start}.portal-feedback .feedback-tools{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0;display:flex}:is(.budget-dashboard :focus-visible,.portal-feedback :focus-visible){outline-offset:3px;outline:3px solid #da8c12}@media (max-width:760px){.budget-items{grid-template-columns:1fr}.budget-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-title>button{width:100%}.budget-totals strong{font-size:1.25rem}}@media (max-width:380px){.budget-fields,.budget-totals{grid-template-columns:1fr}}
