/* Receipt-only layout: equal cards, consistent controls and natural mobile order. */
#receiptView:not(.hidden){display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
#receiptView>header{margin:0;padding:0 0 8px}
#receiptView>.card{margin:0;padding:22px;border:1px solid #dfe7ef;border-radius:18px;background:#fff;box-shadow:0 3px 16px #14304a04;min-width:0}
#receiptView .receipt-intro{grid-column:1/-1;padding:0 2px 2px}
#receiptView .receipt-intro h3{font-size:20px;line-height:1.4;margin:0 0 6px}
#receiptView .receipt-intro p{margin:0;max-width:760px;font-size:14px;line-height:1.65;color:#64778c}
#receiptView :is(h3,summary){overflow-wrap:anywhere}
#receiptView .muted{font-size:13px;line-height:1.65;color:#667b90;margin:0}
#receiptView label{display:grid;gap:8px;font-size:13px;font-weight:600;color:#526880;min-width:0;margin:0}
#receiptView :is(input:not([type=checkbox]):not([type=file]),select,textarea){box-sizing:border-box;display:block;width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid #dce5ee;border-radius:11px;background:#fff;color:#15304b;font:inherit;font-size:16px;line-height:1.4;margin:0}
#receiptView textarea{resize:vertical;min-height:96px}
#receiptView :is(input,select,textarea,button,summary):focus-visible{outline:3px solid #9bc6ff;outline-offset:3px}
#receiptView :is(.primary,.secondary,.recognize-btn){min-height:48px;border-radius:12px;padding:12px 18px;line-height:1.4;white-space:normal}
#receiptView .receipt-ownership{grid-column:1/-1;display:grid;gap:16px;background:#f8fbff}
#receiptView .receipt-ownership>p{grid-column:1/-1}
#receiptView details>summary{font-size:16px;line-height:1.5;font-weight:700;color:#17334e;text-align:left;padding:0;cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
#receiptView details>summary::-webkit-details-marker{display:none}
#receiptView details>summary::after{content:'＋';margin-left:auto;flex-shrink:0;color:#71869c;font-size:20px}
#receiptView details[open]>summary::after{content:'−'}
#receiptView details[open]>summary{margin-bottom:18px}
#receiptView details>p{margin:0 0 18px}
.receipt-step{display:inline-grid;place-items:center;flex-shrink:0;vertical-align:middle;width:30px;height:30px;border-radius:9px;background:#edf5ff;color:#2674d5;font-size:12px;font-weight:700;margin-right:4px}
#receiptView .section-head{margin:0;align-items:start}
#receiptView .section-head h3{font-size:16px;line-height:1.5;margin:0 0 8px}
#receiptView :is(.excel-import-card,.photo-import-card){display:grid;gap:18px;align-content:start}
#receiptView #receiptForm{padding:0;margin:0;border:0;box-shadow:none;display:grid;gap:18px;max-width:none}
#receiptView .receipt-file-label small{font-size:12px;font-weight:400;line-height:1.5;color:#73869a}
#receiptView #excelImportFile{width:100%;min-width:0;box-sizing:border-box;padding:14px;border-radius:12px;border:1px dashed #b9cadb;background:#f7faff;font-size:13px}
#receiptView #excelImportFile::file-selector-button{padding:10px 12px;margin-right:10px;border:0;border-radius:8px;background:#e4eefb;color:#163958;font-weight:600;cursor:pointer}
#receiptView .photo-preview-grid{flex-wrap:wrap;gap:12px;padding:0;overflow:visible}
#receiptView :is(.add-photo-tile,.photo-thumb-tile){width:112px;height:124px;flex:0 0 112px;border-radius:12px}
#receiptView .add-photo-tile small{font-size:12px;line-height:1.5}
#receiptView .receipt-history-filters{display:grid;gap:14px;align-items:end;margin-bottom:18px}
#receiptView .receipt-history-filters .secondary{margin:0}
#receiptView #receiptHistoryList{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#receiptView .receipt-history-row{margin:0;gap:8px;padding:18px;background:#f9fbfe;border-radius:13px}
#receiptView .receipt-history-row:hover{border-color:#9fbfdf;background:#f2f7ff}
#receiptView #receiptGroupEditor{border-top:1px solid #e1e9f1;padding-top:22px;margin-top:24px}
#receiptView #receiptGroupItems{display:grid;gap:12px}
#receiptView #receiptGroupItems .consignment-line{margin:0;padding:18px;border-radius:12px;background:#f8fafd}
#receiptView #receiptGroupSave{width:100%}
#receiptView #receiptGroupTotal{display:block;padding:16px;border-radius:12px;background:#eef5fc;color:#173958}
#receiptView :is(#receiptHistoryStatus,#receiptGroupError):empty{display:none}
@media(min-width:1100px){
 .desktop-session #receiptView:not(.hidden){grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .desktop-session #receiptView :is(#receiptCatalogPanel,#manualReceiptPanel){grid-column:auto;align-self:start}
 .desktop-session #receiptView>.receipt-ownership{grid-template-columns:repeat(2,minmax(0,1fr))}
 .desktop-session #receiptView #receiptForm{grid-template-columns:repeat(2,minmax(0,1fr))}
 .desktop-session #receiptView #receiptForm>label:first-child,.desktop-session #receiptView #receiptForm>label:has(textarea),.desktop-session #receiptView #receiptForm>button{grid-column:1/-1}
 .desktop-session #receiptView .receipt-history-filters{grid-template-columns:minmax(0,2fr) minmax(180px,1fr) auto}
 .desktop-session #receiptView #receiptHistoryList{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){#receiptView:not(.hidden){gap:14px}#receiptView>.card{padding:18px;border-radius:15px}#receiptView .receipt-intro h3{font-size:18px}#receiptView #receiptGroupItems .consignment-line{padding:14px}#receiptView .outgoing-cart-fields{gap:10px}}
