.product-row .product-name { position:relative; padding-left:25px }
.product-drag { position:absolute; left:0; top:50%; transform:translateY(-50%); padding:3px; border:0; background:transparent; color:#858b8d; cursor:grab; touch-action:none; user-select:none }
.product-drag:focus-visible { outline:1px solid var(--accent) }
.product-dragging { opacity:.7; background:var(--panel,#292929); outline:1px solid var(--accent); cursor:grabbing }
.order-saving .product-drag { pointer-events:none; opacity:.4 }
.cash-multi { position:relative; display:inline-block; min-width:180px }
.cash-multi summary { cursor:pointer; padding:7px 10px; border:1px solid #444; border-radius:5px }
.cash-multi-panel { position:absolute; top:100%; left:0; min-width:230px; max-height:300px; overflow:auto; padding:10px; background:var(--panel,#222); border:1px solid #555; border-radius:5px; z-index:20; box-shadow:0 4px 14px #0005 }
.cash-multi-panel label { display:flex; align-items:center; gap:8px; padding:6px; cursor:pointer }
.cash-multi-panel input { width:auto }
.cash-filtered-totals { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:24px; padding:14px; border-top:1px solid #444; font-size:13px }
.cash-filtered-totals[hidden] { display:none }
.cash-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px }
.cash-filter > label { display:flex; align-items:center; gap:6px; font-size:12px }
.purchase-update-cost { display:flex; align-items:center; gap:6px; min-height:28px; margin-top:5px; font-size:10px; color:var(--text-secondary,#999); font-weight:normal; cursor:pointer }
.paper-row .purchase-update-cost input { appearance:none; position:relative; width:46px; min-width:46px; height:22px; flex:none; margin:0; padding:0; border:1px solid var(--text-secondary,#999); border-radius:12px; background:var(--panel-bg,#222); color:var(--text-primary,#ddd); cursor:pointer; transition:background .18s,border-color .18s }
.paper-row .purchase-update-cost input::before { content:''; position:absolute; left:3px; top:3px; width:14px; height:14px; border-radius:50%; background:var(--text-secondary,#999); transition:transform .18s,background .18s }
.paper-row .purchase-update-cost input::after { content:'OFF'; position:absolute; right:3px; top:4px; font-size:8px; line-height:12px; font-weight:600 }
.paper-row .purchase-update-cost input:checked { background:var(--accent,#d9ad55); border-color:var(--accent,#d9ad55); color:#252016 }
.paper-row .purchase-update-cost input:checked::before { transform:translateX(24px); background:#252016 }
.paper-row .purchase-update-cost input:checked::after { content:'ON'; left:4px; right:auto }
.paper-row .purchase-update-cost input:focus-visible { outline:2px solid var(--accent,#d9ad55); outline-offset:3px }
@media(prefers-reduced-motion:reduce) { .paper-row .purchase-update-cost input,.paper-row .purchase-update-cost input::before { transition:none } }
