.inv-checklist{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;display:flex}.chk-vendor{font-family:var(--font-mono);border-radius:var(--r-sm);border:1px solid var(--border);color:var(--muted);letter-spacing:.5px;white-space:nowrap;cursor:pointer;padding:3px 10px;font-size:11px;font-weight:600;transition:all .15s}.chk-vendor:hover{border-color:var(--muted);color:var(--text)}.chk-vendor.chk-done{border-color:var(--green);color:var(--green);background:#4ade8014}.chk-vendor.chk-active{border-color:var(--fire);color:var(--fire);background:#ff6b001a}.chk-clear{font-family:var(--font-mono);color:var(--muted);cursor:pointer;border-radius:var(--r-sm);border:1px solid var(--border);padding:3px 8px;font-size:10px;transition:all .15s}.chk-clear:hover{color:var(--text);border-color:var(--muted)}.invoices-shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.invoices-body{flex:1;display:flex;overflow:hidden}.inv-list-panel{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;flex-shrink:0;width:320px;min-width:280px;display:flex;overflow:hidden}.inv-filters{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:6px;padding:8px 12px;display:flex}.inv-filters-sort{padding-top:6px;padding-bottom:8px}.inv-sort-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0;font-size:10px;font-weight:700}.inv-filter-sel{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;outline:none;flex:1;min-width:0;padding:5px 8px;font-size:11px}.inv-filter-sel:focus{border-color:var(--fire)}.inv-sort-sel{flex:1}.inv-count-row{border-bottom:1px solid var(--border);padding:6px 14px}.inv-count{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.inv-list{flex:1;overflow-y:auto}.invoices-shell .inv-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:88px 1fr auto auto 22px;align-items:center;gap:5px;padding:7px 12px;transition:background .12s;display:grid}.invoices-shell .inv-row:hover{background:var(--surface)}.invoices-shell .inv-row.active{background:var(--surface-2);border-left:3px solid var(--fire);padding-left:11px}.invoices-shell .inv-row.is-dup{border-left:3px solid #ff6b0066;padding-left:11px}.invoices-shell .inv-row.is-dup.active{border-left-color:var(--fire)}.inv-dup-badge{font-family:var(--font-mono);letter-spacing:.5px;color:var(--fire);background:#ff6b001f;border:1px solid #ff6b0059;border-radius:3px;align-self:center;padding:1px 4px;font-size:9px;font-weight:700}.inv-dates{flex-direction:column;gap:2px;display:flex}.inv-date{font-family:var(--font-mono);color:var(--text);white-space:nowrap;letter-spacing:-.2px;font-size:10px}.inv-upload-date{font-family:var(--font-mono);color:#fff;white-space:nowrap;letter-spacing:-.2px;font-size:10px;font-weight:600}.inv-vendor{font-family:var(--font-mono);color:var(--text);letter-spacing:.3px;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.inv-total{font-family:var(--font-mono);color:var(--text);text-align:right;white-space:nowrap;letter-spacing:-.3px;font-size:11px}.inv-status-icon{color:var(--border);text-align:center;font-size:11px}.inv-status-icon.confirmed{color:var(--green,#4ade80)}.inv-badge{font-family:var(--font-mono);border-radius:var(--r-sm);letter-spacing:.5px;padding:1px 6px;font-size:9px;font-weight:700}.badge-review{color:var(--fire);border:1px solid var(--fire);background:#ff6b0033}.badge-confirmed{color:var(--green);border:1px solid var(--green);background:#4ade8026}.inv-empty{font-family:var(--font-mono);color:var(--muted);text-align:center;padding:32px 16px;font-size:11px}.inv-detail-panel{flex:1;padding:16px 20px;position:relative;overflow-y:auto}.inv-no-sel{font-family:var(--font-mono);color:var(--muted);text-align:center;padding:60px 20px;font-size:12px}.mobile-back{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:0 0;margin-bottom:12px;padding:4px 10px;font-size:11px;display:none}.dup-banner{border:1px solid var(--fire);border-radius:var(--r-md);font-family:var(--font-mono);color:var(--fire);background:#ff6b0026;margin-bottom:14px;padding:8px 14px;font-size:11px}.hdr-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.hdr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;padding:10px 12px;transition:border-color .12s}.hdr-card:hover,.hdr-card.editing{border-color:var(--fire)}.hdr-card-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px;font-size:9px}.hdr-card-val{font-family:var(--font-mono);color:var(--text);font-size:14px;font-weight:700}.hdr-card-input{background:var(--surface-2);border:1px solid var(--fire);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:var(--r-sm);box-sizing:border-box;outline:none;padding:4px 8px;font-size:13px}.hdr-card-btns{gap:6px;margin-top:6px;display:flex}.hdr-btn{font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;border:1px solid var(--border);padding:3px 8px;font-size:10px;font-weight:700}.save-btn{background:var(--fire);color:#fff;border-color:var(--fire)}.cancel-btn{color:var(--muted);background:0 0}.save-btn:disabled{opacity:.5}.lines-section{margin-bottom:16px}.lines-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.lines-title{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.lines-loading{font-family:var(--font-mono);color:var(--muted);font-size:10px}.lines-stats{font-family:var(--font-mono);color:var(--muted);margin-left:auto;font-size:10px}.lines-unmatched{color:var(--fire)}.lines-empty{font-family:var(--font-mono);color:var(--muted);padding:16px 0;font-size:11px}.lines-table-wrap{border:1px solid var(--border);border-radius:var(--r-md);overflow-x:auto}.lines-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:11px}.lines-table thead th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 10px;font-size:9px;font-weight:700}.lines-table thead th.cell-num,.lines-table thead th.cell-dot{text-align:right}.line-row{cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s}.line-row:last-child{border-bottom:none}.line-row:hover{background:var(--surface)}.lines-table td{color:var(--text);vertical-align:middle;padding:7px 10px}.cell-sku{color:var(--muted);white-space:nowrap;min-width:70px}.cell-desc{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.cell-pack{color:var(--muted);white-space:nowrap}.cell-num{text-align:right;white-space:nowrap}.cell-dot{text-align:right;width:28px}.match-dot{border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:inline-flex}.dot-matched{color:var(--green);border:1px solid var(--green);background:#4ade8033}.dot-unmatched{color:var(--fire);border:1px solid var(--fire);background:#ff6b0033}.dot-partial{color:#fbbf24;background:#fbbf2433;border:1px solid #fbbf24}.dot-unknown{color:var(--muted);border:1px solid var(--border);background:#94a3b833}.inv-actions{gap:10px;padding-top:4px;padding-bottom:20px;display:flex}.action-btn{font-family:var(--font-mono);border-radius:var(--r-md);border:1.5px solid var(--border);cursor:pointer;letter-spacing:.4px;padding:9px 18px;font-size:12px;font-weight:700;transition:all .15s}.push-btn{color:var(--text);border-color:var(--border);background:0 0}.push-btn:hover:not(:disabled){border-color:var(--fire);color:var(--fire)}.push-btn.pushed{color:var(--muted);opacity:.55;cursor:default}.push-btn:disabled{opacity:.45;cursor:default}.confirm-btn{background:var(--fire);color:#fff;border-color:var(--fire)}.confirm-btn:hover:not(:disabled){background:var(--fire-dim)}.confirm-btn.confirmed{color:var(--green);border-color:var(--green);background:0 0}.confirm-btn:disabled{opacity:.55;cursor:default}.detail-top-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:8px 16px;display:flex}.detail-top-bar .dup-banner{flex:1;margin:0;font-size:11px}.delete-invoice-btn{font-family:var(--font-mono);color:#c0392b;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #c0392b;border-radius:6px;flex-shrink:0;padding:5px 14px;font-size:12px;font-weight:600;transition:all .15s}.delete-invoice-btn:hover{color:#fff;background:#c0392b}.detail-top-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.delete-dup-btn{font-family:var(--font-mono);border:1.5px solid var(--fire);color:var(--fire);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .15s}.delete-dup-btn:hover{background:var(--fire);color:#fff}.slide-backdrop{z-index:30;background:#0006;position:fixed;inset:0}.slide-panel{background:var(--surface);border-left:1px solid var(--border);z-index:31;flex-direction:column;width:min(420px,90vw);height:100%;padding:0;display:flex;position:fixed;top:0;right:0;overflow-y:auto}.slide-header{border-bottom:1px solid var(--border);background:var(--surface-2);z-index:1;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.slide-title{font-family:var(--font-body);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:13px;font-weight:600;overflow:hidden}.slide-close{color:var(--muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:2px 6px;font-size:16px}.slide-close:hover{color:var(--text);background:var(--surface)}.slide-loading{font-family:var(--font-mono);color:var(--muted);text-align:center;padding:32px;font-size:11px}.slide-grid{background:var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.slide-cell{background:var(--surface);padding:10px 16px}.slide-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px;font-size:9px}.slide-val{font-family:var(--font-mono);color:var(--text);font-size:13px;font-weight:600}.slide-status{font-family:var(--font-mono);border-bottom:1px solid var(--border);padding:8px 16px;font-size:11px;font-weight:700}.slide-status.dot-matched{color:var(--green)}.slide-status.dot-unmatched{color:var(--fire)}.slide-status.dot-partial{color:#fbbf24}.slide-status.dot-unknown{color:var(--muted)}.slide-section-label{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-size:9px;font-weight:700}.slide-linked-item{border-bottom:1px solid var(--border);padding:14px 16px}.slide-item-name{font-family:var(--font-body);color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.slide-item-meta{font-family:var(--font-mono);color:var(--muted);margin-bottom:10px;font-size:11px}.remap-btn{font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;letter-spacing:.3px;background:0 0;padding:4px 10px;font-size:10px;font-weight:700}.remap-btn:hover{border-color:var(--fire);color:var(--fire)}.slide-history{border-bottom:1px solid var(--border);padding:14px 16px}.hist-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:10px}.hist-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding-bottom:6px;font-size:9px;font-weight:700}.hist-table th.cell-num{text-align:right}.hist-table td{color:var(--text);border-bottom:1px solid var(--border);padding:5px 0}.hist-table tr:last-child td{border-bottom:none}.slide-search{padding:14px 16px}.slide-search-input{box-sizing:border-box;background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:var(--r-sm);outline:none;margin-bottom:8px;padding:8px 10px;font-size:12px}.slide-search-input:focus{border-color:var(--fire)}.search-results{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);max-height:220px;margin-bottom:8px;overflow:hidden auto}.search-result{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.search-result:last-child{border-bottom:none}.search-result:hover{background:var(--surface)}.search-result.selected{background:var(--surface);border-left:3px solid var(--fire)}.sr-name{font-family:var(--font-mono);color:var(--text);font-size:11px}.sr-table{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.search-sel-display{font-family:var(--font-mono);color:var(--green);margin-bottom:8px;font-size:11px}.link-btn{background:var(--fire);color:#fff;border-radius:var(--r-sm);width:100%;font-family:var(--font-mono);cursor:pointer;letter-spacing:.4px;border:none;padding:9px;font-size:12px;font-weight:700}.link-btn:disabled{opacity:.45;cursor:default}.slide-remap-section{padding:14px 16px}.inv-loading,.inv-err{font-family:var(--font-mono);color:var(--muted);text-align:center;padding:40px;font-size:12px}.inv-err{color:var(--fire)}@media (width<=768px){.inv-list-panel{border-right:none;width:100%}.inv-detail-panel{background:var(--bg);z-index:5;display:none;position:absolute;inset:0}.inv-detail-panel.visible-mobile{flex-direction:column;padding:12px 14px;display:flex}.inv-list-panel.hidden-mobile{display:none}.mobile-back{display:inline-block}.hdr-cards{grid-template-columns:1fr 1fr}.inv-actions{flex-wrap:wrap}}.inv-list-hdr{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.inv-list-hdr-title{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-size:11px;font-weight:700}.upload-trigger-btn{background:var(--fire);color:#fff;border-radius:var(--r-sm);cursor:pointer;letter-spacing:.4px;white-space:nowrap;border:none;padding:6px 12px;font-size:12px;font-weight:700;transition:opacity .15s}.upload-trigger-btn:hover{opacity:.85}.upload-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.upload-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,10px);flex-direction:column;width:100%;max-width:900px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.upload-modal-hdr{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.upload-modal-title{color:var(--text);letter-spacing:.3px;font-size:14px;font-weight:700}.upload-modal-close{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.upload-modal-close:hover{background:var(--hover);color:var(--text)}.upload-zone{border:2px dashed var(--border);border-radius:var(--r-lg,10px);cursor:pointer;background:var(--bg);justify-content:center;align-items:center;min-height:200px;margin:24px;transition:all .2s;display:flex}.upload-zone:hover,.upload-zone.dragging{border-color:var(--fire);background:#ff6b000a}.upload-prompt{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px;display:flex}.upload-icon{font-size:40px;line-height:1}.upload-label{color:var(--text);font-size:14px;font-weight:600}.upload-hint{color:var(--muted);font-size:11px;font-family:var(--font-mono);letter-spacing:.4px}.upload-error{color:var(--red,#ef4444);margin-top:4px;font-size:12px}.upload-multipage{flex-direction:column;gap:16px;margin:20px 24px;display:flex}.upload-pages-grid{flex-wrap:wrap;gap:10px;display:flex}.upload-page-thumb{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;flex-shrink:0;width:90px;position:relative;overflow:hidden}.upload-thumb-img{object-fit:cover;width:90px;height:90px;display:block}.upload-thumb-doc{width:90px;height:90px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:28px;display:flex}.upload-thumb-doc span{font-size:9px;font-family:var(--font-mono);color:var(--dim);letter-spacing:.5px}.upload-thumb-label{font-size:10px;font-family:var(--font-mono);color:var(--muted);text-align:center;background:var(--surface);padding:3px 4px}.upload-thumb-remove{width:18px;height:18px;color:var(--light);cursor:pointer;opacity:0;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:3px;right:3px}.upload-page-thumb:hover .upload-thumb-remove{opacity:1}.upload-page-add{border:2px dashed var(--border);cursor:pointer;width:90px;height:108px;color:var(--dim);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:border-color .15s,color .15s;display:flex}.upload-page-add:hover{border-color:var(--fire);color:var(--fire)}.upload-add-icon{font-size:22px;line-height:1}.upload-add-label{font-size:10px;font-family:var(--font-mono);letter-spacing:.4px}.upload-error-bar{color:var(--red);background:#f871711a;border:1px solid #f8717133;border-radius:4px;padding:6px 10px;font-size:12px}.upload-action-row{justify-content:flex-end;align-items:center;gap:10px;display:flex}.upload-parse-btn{background:var(--fire);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;border-radius:6px;align-self:flex-end;padding:9px 20px;transition:opacity .15s}.upload-parse-btn:hover{opacity:.88}.upload-parsing{color:var(--muted);flex-direction:column;align-items:center;gap:12px;font-size:13px;display:flex}.upload-spinner{border:3px solid var(--border);border-top-color:var(--fire);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preview-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.preview-hdr-fields{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;flex-shrink:0;gap:10px;padding:12px 20px;display:flex}.preview-hdr-field{flex-direction:column;gap:3px;display:flex}.preview-hdr-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.preview-hdr-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);min-width:100px;padding:5px 8px;font-size:13px}.preview-hdr-input:focus{border-color:var(--fire);outline:none}.preview-table-wrap{flex:1;padding:0 20px 12px;overflow-y:auto}.preview-table{border-collapse:collapse;width:100%;font-size:12px}.preview-table thead th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:var(--surface);padding:8px 6px;font-size:10px;font-weight:700;position:sticky;top:0}.preview-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 4px}.preview-row.row-matched{background:#4ade800a}.preview-row.row-unmatched{background:#ff6b000a}.preview-cell-input{color:var(--text);background:0 0;border:1px solid #0000;border-radius:3px;width:100%;min-width:60px;padding:3px 5px;font-size:12px}.preview-cell-input:focus{border-color:var(--fire);background:var(--surface);outline:none}.preview-cell-input.wide{min-width:160px}.preview-cell-input.sm{min-width:70px;max-width:100px}.preview-cell-input.num{text-align:right;min-width:60px;max-width:80px}.preview-match-name{color:var(--green,#4ade80);text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:1px;font-size:10px;display:block;overflow:hidden}.preview-rm{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:16px}.preview-rm:hover{color:var(--red,#ef4444);background:#ef444426}.upload-modal-footer{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:10px;padding:12px 20px;display:flex}.upload-summary{color:var(--muted);font-size:12px;font-family:var(--font-mono);flex:1}.upload-btn-secondary{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s}.upload-btn-secondary:hover{border-color:var(--muted)}.upload-btn-primary{background:var(--fire);border-radius:var(--r-sm);color:#fff;cursor:pointer;letter-spacing:.3px;border:none;padding:7px 18px;font-size:12px;font-weight:700;transition:opacity .15s}.upload-btn-primary:hover{opacity:.85}.upload-btn-primary:disabled{opacity:.5;cursor:default}@media (width<=640px){.upload-modal-backdrop{align-items:flex-end;padding:0}.upload-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;border-radius:var(--r-lg,10px) var(--r-lg,10px) 0 0;max-width:100%;max-height:92vh}.upload-zone{min-height:160px;margin:16px}.preview-hdr-fields{gap:8px;padding:10px 14px}.preview-hdr-input{min-width:80px}.upload-modal-footer{flex-wrap:wrap;gap:8px}.upload-summary{width:100%}.upload-btn-secondary,.upload-btn-primary{text-align:center;flex:1}}
