.receipt-history-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:18px;padding:20px 24px;border-bottom:1px solid var(--line);font-size:.9rem}.receipt-history-item:last-child{border-bottom:0}.receipt-history-item>div{min-width:0;overflow-wrap:anywhere}.receipt-history-item small{display:block;margin-top:5px}.receipt-history-item p{margin-top:4px}.receipt-history-item time{display:block}
.receipt-history-lines{margin-top:10px}.receipt-history-lines summary{cursor:pointer;font-size:.8rem;color:var(--green)}.receipt-history-lines ul{padding:0;list-style:none;margin:10px 0 0;display:grid;gap:10px}.receipt-history-lines li>span,.receipt-history-lines li>strong{display:block;font-size:.8rem}
.receipt-form-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.receipt-upload-progress{display:flex;align-items:flex-start;gap:12px;padding:15px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.receipt-upload-progress p{font-size:.9rem}.receipt-busy-dot{flex:0 0 14px;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;margin-top:4px;animation:receipt-spin 1s linear infinite}.receipt-upload-photo img{display:block;width:100%;max-height:230px;object-fit:contain;background:var(--paper);border-radius:10px}.receipt-form-error[hidden],.receipt-upload-progress[hidden],.receipt-upload-photo[hidden]{display:none}
.receipt-photo-details,.receipt-ocr{border:1px solid var(--line);border-radius:10px;overflow:hidden}.receipt-photo-details summary,.receipt-ocr summary{padding:14px;font-size:.9rem;font-weight:600;cursor:pointer;overflow-wrap:anywhere}.receipt-review-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:var(--paper);border-top:1px solid var(--line)}.receipt-ocr pre{margin:0;padding:14px;border-top:1px solid var(--line);max-height:230px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem;font-family:inherit;background:var(--paper)}.receipt-document-fields,.receipt-row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.receipt-document-fields>*,.receipt-row-fields>*{min-width:0}
.receipt-review-rows{display:grid;gap:18px}.receipt-row{border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}.receipt-row-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.receipt-row-heading h3{font-size:1rem}.receipt-source{font-size:.8125rem;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:14px;padding:12px;background:var(--paper);border-radius:8px}.receipt-source span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.receipt-row select{width:100%;min-width:0;text-overflow:ellipsis}.receipt-row-fields{margin-top:16px}.receipt-unit{margin-top:7px}.receipt-calculation{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--paper);border-radius:8px;padding:12px;margin-top:16px;font-size:.8125rem}.receipt-calculation>span{display:block;min-width:0;overflow-wrap:anywhere}.receipt-calculation strong{display:block;margin-top:3px;font-size:1.15rem;font-variant-numeric:tabular-nums}.receipt-review-check{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:.9rem}.receipt-review-check input{width:22px;height:22px;min-height:0;flex:0 0 22px;margin:2px 0 0;padding:0;accent-color:var(--green)}.receipt-review-check span{min-width:0}
@keyframes receipt-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.receipt-busy-dot{animation:none}}
@media(max-width:580px){.receipt-history-item{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px}.receipt-document-fields,.receipt-row-fields{grid-template-columns:minmax(0,1fr);gap:14px}.receipt-row{padding:14px}.receipt-form-actions .button{flex:1;min-width:min(100%,160px)}.receipt-review-photo{max-height:400px}.receipt-calculation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.receipt-calculation>span:only-child{grid-column:1/-1}}
