.pv-list-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:16px 0; }
.pv-list-controls form,.pv-list-add,.pv-list-quantity { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pv-list-add { white-space:normal; margin:12px 0; font-size:14px; font-weight:400; }
.pv-list-add label { display:flex; flex-direction:column; gap:4px; }
.pv-list-add input,.pv-list-quantity input,#pv-list-discount { width:85px; max-width:100%; }
.pv-list-controls input,.pv-list-controls select,.pv-list-add input,.pv-list-quantity input { padding:8px; border:1px solid var(--pv-line); border-radius:5px; min-width:0; }
.pv-list-controls select { max-width:100%; }
.pv-add-status { flex-basis:100%; font-size:14px; color:var(--pv-ink); }
.pv-list-print-qty { display:none; }
.pv-list-table td { overflow-wrap:anywhere; }

.pv-list-add { align-items:flex-end; }
.pv-list-add button { align-self:flex-end; }
.pv-list-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,440px); gap:28px; align-items:start; margin-bottom:24px; }
.pv-list-header .pv-heading { min-width:0; }
.pv-list-header h1 { overflow-wrap:anywhere; }
.pv-list-manager { padding:18px; border:1px solid var(--pv-line); border-radius:8px; background:#f7faf8; min-width:0; }
.pv-list-manager h2 { font-size:16px; margin:0 0 12px; }
.pv-list-manager .pv-list-controls { margin:0; align-items:flex-end; }
.pv-list-manager .pv-list-controls form { align-items:flex-end; }
.pv-list-manager label { display:flex; flex-direction:column; gap:5px; min-width:0; }
.pv-list-manager input { max-width:100%; width:100%; }
.pv-list-manager .pv-saved-picker { flex:1; }
.pv-list-manager form:has(.pv-saved-picker) { flex:1 1 210px; min-width:0; }
.pv-list-manage-current { border-top:1px solid var(--pv-line); margin-top:16px; padding-top:12px; }
.pv-list-manage-current summary { font-size:14px; cursor:pointer; }
.pv-list-manage-current[open] summary { margin-bottom:12px; }
.pv-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.pv-list-wrap { max-width:100%; overflow-x:auto; }
.pv-list-table th,.pv-list-table td { vertical-align:top; }
.pv-list-quantity { flex-wrap:nowrap; }
.pv .pv-icon-button { display:inline-flex; align-items:center; justify-content:center; width:40px; min-height:40px; padding:8px; }
.pv-list-table button { white-space:nowrap; flex-shrink:0; }
.pv-list-table .pv-button { padding:8px 12px; }
.pv-list-quantity input { flex-shrink:0; width:72px; }
.pv-list-scroll-hint { display:none; font-size:13px; color:#53665c; }
.pv-list-discount-note { font-size:14px; }


.pv .pv-list-table td[data-export="part"],
.pv .pv-list-table td[data-export="part"] a {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}


@media screen {
 .pv-list-table { min-width:850px; }
}
@media screen and (max-width:760px) {
 .pv-list-header { grid-template-columns:minmax(0,1fr); gap:12px; }
 .pv-list-controls form,.pv-list-controls label { max-width:100%; }
 .pv-results-table .pv-list-add { grid-column:1 / -1; }
 /* Keep each item compact: identity and prices stack in pairs, not all fields. */
 .pv .pv-list-table { display:block; min-width:0; }
 .pv-list-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .pv-list-table tbody { display:block; }
 .pv-list-table tr { display:grid; grid-template-columns:minmax(0,1fr) 108px 40px; grid-template-areas:"part quantity actions" "description quantity actions" "price total total" "discount total total"; gap:6px 10px; padding:14px 0; border-bottom:1px solid var(--pv-line); }
 .pv .pv-list-table td { display:block; min-width:0; width:auto; padding:0; border:0; }
 .pv-list-table [data-export="part"] { grid-area:part; font-weight:650; }
 .pv-list-table [data-export="description"] { grid-area:description; font-size:13px; }
 .pv-list-table .pv-list-qty-cell { grid-area:quantity; }
 .pv-list-table .pv-list-qty-cell:before { content:"Qty"; display:block; font-size:12px; margin-bottom:5px; color:#53665c; }
 .pv .pv-list-table .pv-list-actions { grid-area:actions; padding-top:24px; }
 .pv-list-table .pv-list-price-cell { grid-area:price; font-size:13px; }
 .pv-list-table .pv-list-price-cell:before { content:"List price"; display:block; font-size:11px; color:#53665c; }
 .pv-list-table [data-discount-price] { grid-area:discount; font-size:13px; }
 .pv-list-table [data-discount-price]:before { content:"Discounted price"; display:block; font-size:11px; color:#53665c; }
 .pv-list-table [data-line-total] { grid-area:total; font-weight:650; }
 .pv-list-table [data-line-total]:before { content:"Total"; display:block; font-size:12px; font-weight:400; color:#53665c; }
 .pv-list-quantity { gap:4px; }
 .pv-list-quantity input { width:64px; height:40px; padding:6px; }
 .pv-list-table .pv-icon-button { width:40px; height:40px; padding:0; }
}
@media print {
 .pv-list-controls,.pv-list-add,.pv-list-quantity,.pv-list-manager,.pv-list-actions,.pv-list-scroll-hint,#pv-list-result { display:none!important; }
 .pv-list-print-qty { display:inline; }
 .pv-list-header { display:block; margin-bottom:12px; }
 .pv-list-wrap { overflow:visible!important; }
 .pv .pv-list-table { display:table!important; width:100%!important; min-width:0!important; table-layout:fixed; font-size:9pt; }
 .pv .pv-list-table thead { display:table-header-group!important; }
 .pv .pv-list-table tbody { display:table-row-group!important; }
 .pv .pv-list-table tr { display:table-row!important; break-inside:avoid; }
 .pv .pv-list-table th:not(.pv-list-actions),.pv .pv-list-table td:not(.pv-list-actions) { display:table-cell!important; min-width:0!important; padding:6px 4px; white-space:normal; overflow-wrap:anywhere; }
 .pv .pv-list-table th:nth-child(2),.pv .pv-list-table td:nth-child(2) { width:27%; }
 .pv .pv-list-table td:before { content:none!important; }
}
