/* Compact receipt review: money first, optional product details stay folded. */
.import-modal{max-width:680px;max-height:90vh;max-height:90dvh;scroll-padding-top:76px}
.import-modal .modal-head{position:sticky;top:0;background:#fff;z-index:4}
.import-modal .modal-body{padding:20px 24px 24px;background:#fcfdfb}
.receipt-import-lead{color:#657b6b;font-size:13px;margin:0 0 16px;line-height:1.5}
.receipt-total-card{padding:17px 18px 14px;border:1px solid #ceddc8;border-radius:16px;background:#f0f5e9}
.receipt-total-card>label{font-size:12px;font-weight:600;color:#526e4f}
.receipt-total-input{display:flex;align-items:baseline;gap:10px;margin-top:4px;max-width:280px}
.receipt-total-input input:not([type=file]){border:0;border-bottom:1px solid #b8c9b0;border-radius:0;background:transparent;padding:3px 0;font-size:36px;font-weight:650;letter-spacing:-1px;color:var(--ink);line-height:1.3;min-width:0;max-width:215px}
.receipt-total-input input::-webkit-inner-spin-button,.receipt-total-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.receipt-total-input input{appearance:textfield}
.receipt-total-input>span{font-size:15px;font-weight:600;color:#657b5a}
.receipt-total-card #importSum{font-size:12px;line-height:1.5;color:#4d7545;margin:10px 0 0}
.receipt-total-card #importSum.is-error{color:#9d5235}
.receipt-meta{margin:12px 0 20px;border-bottom:1px solid #e3e9df}
.receipt-meta>summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 1px;font-size:12px;cursor:pointer}
.receipt-meta>summary::-webkit-details-marker{display:none}
.receipt-meta>summary>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536d5a}
.receipt-meta>summary>span:last-child{font-size:11px;white-space:nowrap;color:#6a8160;text-decoration:underline;text-underline-offset:3px}
.receipt-meta-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;padding:3px 0 16px}
.receipt-meta-fields label,.receipt-row-editor label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:550;color:#5e765d}
.receipt-meta-fields input,.receipt-row-editor input,.receipt-row-editor select{font-size:13px;color:#294a35;background:#fff;min-height:42px}
.receipt-meta-fields .form-error{grid-column:1/-1;margin:0}
.receipt-review-photo{grid-column:1/-1;width:100%;max-height:330px;object-fit:contain;border-radius:10px;background:#f1f4ec}
.receipt-photo-empty{grid-column:1/-1;font-size:11px;color:#83917e;margin:0}
.receipt-blockers{margin:0 0 14px}
.receipt-blockers>h3{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650;margin:0 0 10px;color:#965236}
.receipt-blockers>h3>span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:7px;background:#f8e8dd;font-size:11px}
.receipt-row-group{border:1px solid #dfe7da;border-radius:13px;background:#fff;margin:11px 0;overflow:hidden}
.receipt-row-group>summary{list-style:none;position:relative;display:flex;flex-direction:column;gap:2px;padding:15px 42px 15px 15px;cursor:pointer;color:#284b35;font-weight:600;font-size:13px}
.receipt-row-group>summary::-webkit-details-marker{display:none}
.receipt-row-group>summary::after{content:'+';position:absolute;right:17px;top:15px;font-size:20px;font-weight:400;color:#779169;line-height:1}
.receipt-row-group[open]>summary::after{content:'−'}
.receipt-row-group>summary>small{font-size:11px;font-weight:400;color:#7a8972}
.receipt-row-group[open]>summary{border-bottom:1px solid #e6ece2}
.receipt-row-group>div{padding:0 10px}
.receipt-review-row{border-bottom:1px solid #e9eee5;background:#fff}
.receipt-review-row:last-child{border-bottom:0}
.receipt-blockers>.receipt-review-row{border:1px solid #ecd3c2;border-radius:12px;margin:9px 0;overflow:hidden}
.receipt-review-row>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:48px;padding:12px 6px;cursor:pointer;font-size:12px}
.receipt-review-row>summary::-webkit-details-marker{display:none}
.receipt-blockers>.receipt-review-row>summary{padding:13px}
.receipt-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:#2c4935}
.receipt-review-row>summary>strong{white-space:nowrap;font-size:12px;font-weight:600;color:#294832}
.receipt-row-edit{font-size:10px;color:#7f9273;text-decoration:underline;text-underline-offset:3px}
.receipt-row-editor{padding:0 6px 13px}
.receipt-blockers>.receipt-review-row>.receipt-row-editor{padding:0 13px 13px}
.receipt-row-status{font-size:10px;color:#769062;margin:0 0 10px}
.receipt-review-row.has-error .receipt-row-status{color:#a15b39;font-weight:600}
.receipt-row-fields{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:10px;margin:10px 0}
.receipt-row-quantity{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.receipt-match-field{margin:12px 0 8px}
.receipt-row-reasons{font-size:11px;color:#7c8c74;line-height:1.5}
.receipt-row-reasons p{margin:5px 0}
.receipt-row-reasons .is-blocking{color:#a25a36}
.receipt-row-editor [aria-invalid=true]{border-color:#c89477;background:#fffdfb}
.receipt-remove-row.text-button{font-size:10px;color:#a0735d;min-height:36px;padding:7px 0}
.receipt-add-row.text-button{font-size:12px;min-height:42px;margin:1px 0 7px;padding:9px 1px}
.receipt-raw{border-top:1px solid #e5ebdf;padding:11px 0 0;margin-top:1px}
.receipt-raw>summary{font-size:11px;color:#7c8f6c;cursor:pointer}
.receipt-raw>p{font-size:11px;color:#7c8d72;line-height:1.5;margin:11px 0 8px}
.receipt-raw textarea{font-size:13px;line-height:1.6;resize:vertical;margin-bottom:8px;min-height:110px}
.receipt-import-error{font-size:12px;line-height:1.5}
.receipt-import-footer{position:sticky;bottom:-24px;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 12px;background:#fffffffa;border-top:1px solid #dfe7d8;margin:19px -24px -24px;padding:14px 24px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 15px #243e2f05;backdrop-filter:blur(8px)}
.receipt-import-footer>.button{min-height:46px;font-size:13px;margin:0}
.receipt-import-footer>.button.secondary{border-color:transparent;background:transparent;color:#718565}
.receipt-import-footer>small{grid-column:1/-1;font-size:10px;line-height:1.45;color:#7f8e75;text-align:center}
.receipt-scan-intro>p{font-size:14px;line-height:1.6;color:#6d8164;margin:0 0 20px}
.receipt-source-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.receipt-source-buttons>.button{flex:1;min-width:150px}
.receipt-scan-intro>.text-button{display:block;font-size:12px;padding:8px 0;min-height:38px}
.receipt-scan-intro>small{display:block;font-size:11px;color:#87967d;margin-top:15px}
.receipt-scan-progress{display:grid;grid-template-columns:115px minmax(0,1fr);gap:20px;align-items:center}
.receipt-scan-preview{height:180px;overflow:hidden;border-radius:12px;background:#f0f4e9;display:flex;align-items:center;justify-content:center;color:#93a584;font-size:11px}
.receipt-scan-preview img{display:block;width:100%;height:100%;object-fit:contain}
.receipt-scan-copy h3{font-size:17px;line-height:1.4;margin:0 0 15px;color:#2f5038}
.receipt-scan-copy>p{font-size:12px;line-height:1.5;color:#7b8d70;margin:15px 0 0}
.receipt-scan-copy .scan-progress{margin-top:0;height:6px}
.receipt-scan-metrics{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#7b9270;margin-top:9px}
.receipt-scan-metrics #scanPercent{font-size:11px;margin:0;color:inherit}
.receipt-scan-actions{display:flex;gap:10px;margin-top:22px}
.receipt-scan-actions>.button{flex:1;font-size:12px}
@media(max-width:680px){
 .import-modal{width:calc(100% - 16px);border-radius:18px;max-height:92vh;max-height:92dvh}
 .import-modal .modal-head{padding:16px}
 .import-modal .modal-head h2{font-size:20px}
 .import-modal .modal-body{padding:16px 16px 18px}
 .receipt-import-lead{font-size:13px;margin-bottom:13px}
 .receipt-total-card{padding:15px;border-radius:14px}
 .receipt-total-input input:not([type=file]){font-size:34px;max-width:205px}
 .receipt-meta{margin-bottom:15px}
 .receipt-meta>summary{font-size:11px;gap:9px}
 .receipt-meta>summary>span:last-child{font-size:10px}
 .receipt-meta-fields{grid-template-columns:1fr}
 .receipt-meta-fields input,.receipt-row-editor input,.receipt-row-editor select,.receipt-raw textarea{font-size:16px;padding:10px;min-height:44px}
 .receipt-row-fields{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8px}
 .receipt-row-quantity{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
 .receipt-review-row>summary{gap:8px;font-size:12px}
 .receipt-row-edit{font-size:9px}
 .receipt-row-group>summary{font-size:13px;padding:13px 36px 13px 13px}
 .receipt-row-group>summary::after{right:14px;top:14px}
 .receipt-row-editor label{font-size:10px}
 .receipt-import-footer{bottom:-18px;margin:17px -16px -18px;padding:12px 16px calc(11px + env(safe-area-inset-bottom,0px));gap:8px}
 .receipt-import-footer>.button{font-size:14px;min-height:47px}
 .receipt-import-footer>small{font-size:10px}
 .receipt-scan-progress{grid-template-columns:90px minmax(0,1fr);gap:14px}
 .receipt-scan-preview{height:155px}
 .receipt-scan-copy h3{font-size:16px}
 .receipt-scan-copy>p{font-size:11px}
 .receipt-scan-metrics{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.receipt-scan-copy .scan-progress div{transition:none}}
