.sale-metadata {
    display: grid;
    gap: .7rem;
    padding: .85rem 1rem;
    border-top: 1px solid #dce6f3;
    background: rgba(246,249,254,.92);
}

.sale-metadata > header { display: flex; justify-content: space-between; gap: .6rem; }
.sale-metadata > header span { color: #345d97; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.sale-metadata > header small { color: #8490a2; font-size: .57rem; }
.date-fields, .charge-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.sale-metadata label { display: grid; gap: .18rem; }
.sale-metadata label > span:first-child, .sale-metadata label > span { color: #738096; font-size: .57rem; font-weight: 750; text-transform: uppercase; }
.sale-metadata input[type="date"], .sale-metadata input[type="number"], .sale-metadata select, .sale-metadata textarea { min-width: 0; width: 100%; padding: .45rem .5rem; border: 1px solid #d2ddeb; border-radius: .5rem; background: #fff; color: #1d3151; font: inherit; font-size: .68rem; }
.sale-metadata textarea { min-height: 3.4rem; resize: vertical; }
.paid-toggle { grid-template-columns: auto 1fr; align-items: center; padding: .55rem; border: 1px solid #d8e3f1; border-radius: .6rem; background: #fff; }
.paid-toggle input { width: 1rem; height: 1rem; accent-color: #315f9f; }
.paid-toggle > span { text-transform: none !important; }
.paid-toggle strong, .paid-toggle small { display: block; }
.paid-toggle strong { color: #294b79; font-size: .66rem; }
.paid-toggle small { margin-top: .08rem; color: #8490a2; font-size: .56rem; font-weight: 400; }
.amount-paid input:disabled { background: #eaf1fb; color: #557094; }
.sale-totals { display: grid; gap: .28rem; margin: 0 0 .65rem; }
.sale-totals div, .outstanding { display: flex; justify-content: space-between; gap: .7rem; }
.sale-totals dt, .sale-totals dd { margin: 0; font-size: .63rem; }
.sale-totals dt { color: #748198; }
.sale-totals dd { color: #38577f; font-weight: 800; }
.outstanding { margin-top: .45rem; padding-top: .55rem; border-top: 1px dashed #cbd8e8; font-size: .68rem; font-weight: 800; }
.outstanding .due { color: #ad5d19; }
.outstanding .settled { color: #247253; }
.sale-validation { display: grid; gap: .2rem; margin: .65rem 0 0; padding: .55rem .7rem .55rem 1.6rem; border-radius: .55rem; background: #fff0f2; color: #a33a4b; font-size: .59rem; }
.product-price em { display: inline-flex; margin-top: .2rem; padding: .12rem .3rem; border-radius: 999px; background: #e9f3ff; color: #3867a7; font-size: .52rem; font-style: normal; font-weight: 800; }

.cart-lines { display: grid; gap: .55rem; padding: .65rem; background: #f4f7fb; }
.cart-line { padding: .75rem .8rem; border: 1px solid #dce5f1; border-radius: .7rem; background: #fff; box-shadow: 0 3px 10px rgba(31,65,116,.05); }
.sale-search-card { grid-template-columns: 8rem minmax(0,1fr) auto; }
.product-card { cursor: pointer; }
.product-card:focus-visible { outline: 2px solid #4f7fd2; outline-offset: -2px; background: #f5f9ff; }
.add-item { user-select: none; }

@media (max-width: 480px) {
    .date-fields, .charge-fields { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
    .sale-search-card { grid-template-columns: 6rem minmax(0,1fr); }
}
