/* Deck estimate editor: independent of utility-CSS generation. */
.cart-edit-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; margin:.4rem 0; }
.cart-edit-action { min-height:44px; padding:.55rem .65rem; border:1px solid #475569; border-radius:.6rem; background:#1e293b; color:#e2e8f0; font-size:.78rem; font-weight:800; line-height:1.4; overflow-wrap:anywhere; }
.cart-edit-action:hover:not(:disabled) { background:#334155; border-color:#93c5fd; }
.cart-edit-custom { background:#172b4d; border-color:#3b82f6; color:#bfdbfe; }
.cart-edit-action:disabled, .cart-remove-card:disabled, .cart-remove-slot:disabled { opacity:.38; cursor:not-allowed; }
.cart-edit-note { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.25rem .7rem; color:#94a3b8; font-size:.68rem; line-height:1.45; margin:.3rem 0 .5rem; }
#cartUndoEditBtn { color:#93c5fd; text-decoration:underline; min-height:32px; }
#cartModal .cart-editable-card { position:relative; padding-right:3rem !important; }
.cart-remove-card, .cart-remove-slot { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; font-size:23px; line-height:1; border-radius:.5rem; color:#cbd5e1; border:1px solid #475569; background:#172033; }
.cart-remove-card { position:absolute; top:.35rem; right:.35rem; }
.cart-remove-card:hover:not(:disabled), .cart-remove-slot:hover:not(:disabled) { color:#fca5a5; background:#451a1a; border-color:#f87171; }
.cart-edit-action:focus-visible, .cart-remove-card:focus-visible, .cart-remove-slot:focus-visible, #cartUndoEditBtn:focus-visible { outline:2px solid #93c5fd; outline-offset:2px; }
#cartModal .cart-editable-card > .flex { flex-wrap:wrap; }
@media (max-width:600px) {
  .cart-edit-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
  .cart-edit-custom { grid-column:1/-1; }
  .cart-edit-action { font-size:.73rem; padding:.45rem .3rem; }
  .cart-remove-card, .cart-remove-slot { width:44px; height:44px; }
  #cartModal .cart-editable-card { padding-right:3.4rem !important; }
  #cartModal #cartItems.quote-card-grid { grid-template-columns:minmax(0,1fr) !important; }
  .cart-edit-note { font-size:.63rem; }
  #cartModal .cart-quote-total-wrap { flex-wrap:wrap; gap:.15rem .35rem; }
  #cartModal #cartTotal { font-size:1.65rem; }
  #cartModal .cart-quote-submit { min-height:44px; font-size:.73rem; white-space:normal; }
}
@media (max-height:520px) and (max-width:900px) { #cartModal .cart-quote-footer { max-height:48dvh; overflow-y:auto; } }

#cartModal .cart-missing-slot { display:flex; align-items:center; justify-content:space-between; gap:.5rem; font-size:.75rem; padding:.4rem; color:#fca5a5; border:1px solid #7f1d1d; border-radius:.5rem; }
