.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.receipt-intro,.monthly-spending,.receipt-history,.pantry-inventory{padding:24px;margin:0 0 20px}
.receipt-intro{display:grid;grid-template-columns:48px 1fr;gap:14px 18px;align-items:center}
.receipt-intro h2,.monthly-spending h2,.receipt-history h2,.pantry-inventory h2{font-size:21px;letter-spacing:-.6px;margin:0 0 6px}
.receipt-intro p{font-size:13px;line-height:1.6;color:#b5c8bc;margin:0}
.receipt-intro>button{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:10px;min-height:48px;border-radius:15px;background:#c5dfce;color:#193d29}
.receipt-intro button svg,.receipt-camera svg,.receipt-choose svg{width:23px;height:23px}
.receipt-camera{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#d4f3e011;color:#b7dbc5;border:1px solid #ddf6e420}
.receipt-local-note{display:block;font-size:12px;line-height:1.65;color:#b4c6ba;margin:14px 0}
.receipt-intro>.receipt-local-note{grid-column:1/-1;margin:0;font-size:11px}
.spending-month{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#bacdc0;margin:20px 0}
body[data-screen] .spending-month input{font-size:14px;min-height:42px;padding:7px 10px;max-width:185px}
.monthly-spending-numbers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0}
.monthly-spending-numbers span{display:block;color:#b4c6ba;font-size:12px;margin-bottom:6px}
.monthly-spending-numbers strong{font-size:28px;font-weight:600;letter-spacing:-1px}
.receipt-history-row{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;text-align:left;border-bottom:1px solid #ffffff14!important;border-radius:0!important;padding:14px 0!important;color:#dce9e1!important;background:none!important}
.receipt-history-row>span:first-child{flex:1;min-width:0}
.receipt-history-row strong{font-size:14px;overflow-wrap:anywhere}
.receipt-history-row small{display:block;color:#aebfb5;font-size:11px;margin-top:4px}
.pantry-add>summary{font-size:16px;font-weight:600;cursor:pointer}
.pantry-item{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #ffffff15}
.pantry-item>.item-name-label{flex:1;min-width:0}
.pantry-item .item-name-copy strong{display:block;font-size:14px;overflow-wrap:anywhere}
.pantry-item .item-name-copy small{display:block;font-size:11px;line-height:1.5;color:#adc2b5;margin-top:4px}
.pantry-item-controls{display:flex;align-items:center;gap:9px}
.pantry-item-controls input{width:90px;min-height:44px;text-align:center;padding:8px}
.pantry-item-controls .stock-status{max-width:110px;min-height:44px;line-height:1.4;color:#bed7c7}
.pantry-item-controls .remove-icon{min-width:38px;min-height:44px}
.pantry-empty{padding:27px 10px;text-align:center;color:#b8c8be}
.pantry-empty svg{width:38px;height:38px;opacity:.65}
.pantry-empty h3{color:#e4eee8;font-size:18px;margin:14px 0 8px}
.pantry-empty p{font-size:13px;line-height:1.6}
.receipt-dialog{width:calc(100% - 24px);max-width:660px;max-height:90dvh;padding:25px;overflow:auto}
.receipt-dialog>p{color:#b8cabf;line-height:1.65;font-size:13px}
.receipt-dialog h2{font-size:24px;letter-spacing:-.5px}
.receipt-choose{display:flex;gap:12px;margin:24px 0}
.receipt-choose>button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px}
.receipt-dialog .receipt-photo{display:block;max-width:100%;width:auto;max-height:300px;margin:18px auto;object-fit:contain;border-radius:12px}
.receipt-dialog progress{width:100%;height:9px;accent-color:#bedec9}
.receipt-dialog label{margin:15px 0;font-size:13px}
.receipt-dialog input:not([type=checkbox]),.receipt-dialog select,.receipt-dialog textarea{width:100%;min-height:44px;font-size:16px;margin:7px 0 0}
.receipt-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.receipt-fields>label,.receipt-item-name,.receipt-item-amount>label{min-width:0}
.receipt-dialog input,.receipt-dialog select{min-width:0}
.receipt-items-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.receipt-items-heading h3{font-size:18px;margin:0}
.receipt-items-heading button{font-size:12px;min-height:42px}
.receipt-item{display:grid;grid-template-columns:24px 1fr;gap:10px 13px;padding:16px;border:1px solid #ffffff24;border-radius:17px;margin:14px 0;background:#ffffff04}
.receipt-item>label,.receipt-item-amount label{margin:0}
.receipt-item>.receipt-include{align-self:center;margin-top:20px}
.receipt-item-amount{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.receipt-item>.receipt-confirm{grid-column:2;min-height:42px;padding:9px 10px;font-size:12px}
.receipt-item .receipt-line-price{grid-column:2;color:#b9cdc1;margin:0;font-size:11px}
.receipt-dialog .receipt-include input,.receipt-dialog .receipt-duplicate input{appearance:none;-webkit-appearance:none;display:inline-block;flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:0;border:1.5px solid #c5ddcf99;border-radius:6px;background:#dcefe508;vertical-align:middle}
.receipt-dialog .receipt-include input:checked,.receipt-dialog .receipt-duplicate input:checked{background:#b8d9c5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='%23163e2c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;border-color:#c6e6d2}
.receipt-duplicate{display:flex;align-items:flex-start;gap:11px;font-size:12px!important;line-height:1.6;padding:15px 0}
.receipt-duplicate input{margin-top:2px!important}
.receipt-text{padding:16px 0;font-size:12px}
.receipt-text textarea{font-family:monospace;font-size:12px!important}
.receipt-text>button{margin-top:12px;font-size:12px}
.receipt-form-actions{display:flex;gap:12px;margin-top:20px}
.receipt-form-actions>button{flex:1;min-height:48px}
.receipt-dialog .receipt-error,.receipt-dialog [data-receipt-error]{color:#f0bdac;line-height:1.65;padding:13px;border:1px solid #f0bdac44;border-radius:12px;background:#f0bdac08;font-size:13px}
.receipt-save-summary{font-size:13px;line-height:1.7;color:#d0e8d9;padding:14px;border-radius:12px;background:#d0e8d908}
.receipt-dialog .receipt-remove{display:block;color:#e0b3a5;margin:22px 0 0;padding:6px 0}
@media(max-width:600px){.receipt-intro,.monthly-spending,.receipt-history,.pantry-inventory{padding:20px}.pantry-item{align-items:flex-start;flex-direction:column;gap:12px}.pantry-item-controls{width:100%;padding-left:49px;gap:8px}.pantry-item-controls input{width:78px}.pantry-item-controls .stock-status{margin-left:auto}.receipt-dialog{padding:20px}.receipt-fields{gap:12px}.receipt-dialog .receipt-form-actions{position:sticky;bottom:-20px;background:#11271df2;padding:13px 0 20px;backdrop-filter:blur(14px)}.receipt-form-actions>button{font-size:12px;padding:12px}.monthly-spending-numbers strong{font-size:26px}}
@media(forced-colors:active){.receipt-dialog .receipt-include input,.receipt-dialog .receipt-duplicate input{appearance:auto;background:revert;border:revert}}
