/* Purchase app styles (admin.css tokens only; logical properties for RTL). Shared KPI / attention cards live in inventory.css. */
.pur-dash .grid-dash .hbars { gap: 12px; }
.inv-lines + .inv-banner, .le + .inv-banner { margin-top: 12px; }
.w-share { width: 160px; }
.analysis .share i { background: var(--c3); }

/* quick action: purchase from a receipt photo */
.pur-quick { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: color-mix(in srgb, var(--accent-soft) 45%, var(--panel)); }
.pur-quick-ico { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--accent-soft); color: var(--accent-d); flex: 0 0 auto; }
.pur-quick-txt { flex: 1 1 220px; min-width: 0; display: grid; gap: 2px; }
.pur-bill-name { display: inline-flex; align-items: center; }
@media (max-width: 720px) { .pur-quick .btn { width: 100%; min-height: 48px; } }

/* alternatives compare, 3-way match, suggested quantities, exchange rates, vendor scorecard (tokens only, logical properties for RTL) */
.pur-best { background: var(--ok-soft); color: var(--ok-ink); }
.pur-best .muted { color: inherit; opacity: .8; }
.pur-bad td { color: var(--warn-ink); }
.pur-bad td .muted { color: inherit; opacity: .85; }
.pur-match-head { margin-bottom: 10px; }
.pur-issues { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.pur-issues li { display: flex; gap: 6px; align-items: flex-start; color: var(--warn-ink); background: var(--warn-soft); border-radius: var(--r-sm); padding: 6px 10px; font-size: 13px; font-weight: 600; }
.pur-issues li .ico { flex: 0 0 auto; margin-block-start: 2px; }
.pur-match td, .pur-match th { padding-inline: 4px; }
.pur-alt th, .pur-alt td { vertical-align: top; min-width: 130px; }
.pur-alt th:first-child, .pur-alt td:first-child { min-width: 110px; text-align: start; }
.pur-alt th.pur-alt-h { font-size: 13px; text-transform: none; letter-spacing: 0; color: inherit; font-weight: 500; }
.pur-alt-h > div + div { margin-block-start: 3px; }
.pur-alt tfoot th { text-align: start; }
.pur-alt tfoot td, .pur-alt tfoot th { border-block-start: 1px solid var(--line); padding-block: 8px; }
.pur-sug-qty { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.pur-sug-qty input { width: 84px; min-width: 70px; }
.pur-fx .mini-table input { min-width: 90px; }
.pur-fx-rate { display: flex; align-items: center; gap: 6px; }
.pur-date { display: inline-flex; align-items: center; gap: 8px; }
.pur-bill-match { display: grid; gap: 8px; margin-block-end: 12px; }
@media (max-width: 720px) {
  .pur-date { width: 100%; justify-content: space-between; }
  .pur-sug-qty { flex-direction: column; align-items: flex-end; gap: 2px; }
}
.pur-bill-match .link { color: inherit; text-decoration: underline; }
@media (min-width: 721px) { .pur-sug-more { display: none; } }

/* Odoo 20 visual check (2026-10-20) */
.pur-empty-sm .empty { padding: 22px 12px; }                  /* a small empty state inside a half-width card */
.pur-lines .le:has(.le-empty) .le-add { display: none; }       /* the empty table already has its own "Add a line": not twice */
@media (max-width: 720px) {
  .toolbar:has(.pur-date) { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }     /* From and To: same width, side by side */
  .pur-date { display: grid; gap: 4px; width: 100%; justify-content: stretch; }
  .pur-date .chip-select { width: 100%; min-width: 0; padding-inline: 8px; }
}
