.budget-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.budget-heading h1,.budget-heading h2{margin:0}.budget-heading .budget-field{max-width:190px}.budget-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.budget-card{margin:0!important;padding:22px}.budget-card h3{margin-top:0}.budget-spent{font-size:20px}.budget-spent b{font-size:30px}.budget-over,.budget-error{color:#ad3030}.budget-error:empty{display:none}.budget-meter{height:8px;border-radius:8px;background:#edf1ee;overflow:hidden}.budget-meter span{display:block;height:100%;background:#2d8058}.budget-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:600}.budget-field .field{width:100%;box-sizing:border-box;min-width:0}.budget-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end;margin-top:20px}.budget-form p{grid-column:1/-1;margin:0}.budget-settings summary,.budget-import summary{cursor:pointer;font-weight:600}.budget-import .controls{flex-wrap:wrap}.receipt-file-label{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;border-radius:12px;padding:.75rem 1rem;font-weight:700;cursor:pointer;overflow:hidden}.receipt-file-label:focus-within{outline:3px solid #61a583;outline-offset:3px}.receipt-file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.budget-import textarea{display:block;width:100%;box-sizing:border-box;margin:12px 0}.receipt-history-row{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid #e4eae5;align-items:center}.budget-history>.controls{margin-top:16px;justify-content:space-between}.receipt-review{width:min(1080px,calc(100vw - 32px));max-height:90dvh;box-sizing:border-box;border:1px solid #d5dfd7;border-radius:20px;padding:24px;color:#263b2d;background:#fff;overflow:auto}.receipt-review::backdrop{background:rgba(20,40,26,.55)}.receipt-review-layout{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,2fr);gap:24px}.receipt-preview{width:100%;max-height:70dvh;object-fit:contain;object-position:top;background:#f4f6f3;border-radius:12px}.receipt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.receipt-item-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(65px,.65fr) minmax(90px,1fr) 36px;gap:8px;align-items:end;margin-bottom:12px}.receipt-item-row .budget-field{font-size:12px}.receipt-remove{padding:8px!important;min-height:40px}.receipt-confirm{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-weight:600}.receipt-confirm input{margin-top:4px;width:18px;height:18px;flex-shrink:0}.budget-review-note{color:#765311;background:#fff8e8;border-radius:8px;padding:10px;font-size:13px}.budget-review-note:empty{display:none}.budget-month{display:grid;grid-template-columns:80px minmax(0,1fr) 100px 90px;gap:16px;align-items:center;margin:20px 0}.budget-month-bar{height:20px;background:#edf1ee;border-radius:5px;overflow:hidden}.budget-month-bar span{display:block;height:100%;background:#2d8058}.budget-month strong{text-align:right}.list-budget-card{margin-top:16px}.list-budget-form{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.list-budget-form .budget-field{flex:1}.list-budget-form .budget-error{flex-basis:100%}
@media(max-width:1000px){.budget-cards{grid-template-columns:1fr}.budget-form{grid-template-columns:1fr 1fr}.receipt-history-row{grid-template-columns:1fr 1fr}.receipt-history-row .controls{grid-column:1/-1}.receipt-review-layout{grid-template-columns:1fr}.receipt-preview{max-height:220px}.budget-month{grid-template-columns:70px minmax(0,1fr) 90px}.budget-month small{grid-column:2/4;margin-top:-14px}}
@media(max-width:480px){.budget-heading{gap:10px}.budget-heading .budget-field{max-width:none}.budget-form{grid-template-columns:1fr}.receipt-review{padding:16px;width:calc(100vw - 16px)}.receipt-fields{gap:12px}.receipt-item-row{grid-template-columns:minmax(0,1fr) 70px 85px 30px;gap:5px}.receipt-item-row .field{padding:9px 5px}.budget-month{gap:8px}.budget-heading h1{font-size:26px}.receipt-history-row{gap:8px}}
