/* Procurement-only EXE presentation; do not change storefront/admin tables. */
.purchase-system-panel { background: #f0f0f0; padding: 10px; font-family: Arial, "Microsoft JhengHei", sans-serif; color: #000; }
.purchase-desktop-controls { overflow: auto; width: 100%; padding-bottom: 8px; }
.purchase-control-grid { display: grid; grid-template-columns: 48px 134px 200px repeat(10, max-content); grid-template-rows: repeat(5, minmax(28px, auto)); gap: 5px 8px; align-items: center; width: max-content; min-width: 100%; }
.purchase-control-grid .purchase-commandbar, .purchase-control-grid .purchase-filters, .purchase-control-grid .purchase-metrics { display: contents; }
.purchase-control-grid button { min-height: 26px; height: auto; padding: 3px 8px; font: 12px Arial, "Microsoft JhengHei", sans-serif; font-weight: normal; color: #000; background: #f0f0f0; border: 1px solid #adadad; border-radius: 2px; white-space: nowrap; cursor: pointer; }
.purchase-control-grid button:hover { border-color: #0078d7; background: #e5f1fb; color: #000; }
.purchase-control-grid button svg { display: none; }
.purchase-control-grid button:disabled { opacity: .5; cursor: wait; }
.purchase-commandbar #purchase-start { grid-area: 1 / 1; color: black; background: #f0f0f0; border-color: #adadad; }
.purchase-commandbar #purchase-generate { grid-area: 1 / 4; }
.purchase-commandbar #purchase-add { grid-area: 1 / 5; }
.purchase-commandbar #purchase-export { grid-area: 1 / 6; }
.purchase-commandbar [data-purchase-tool=alerts] { grid-area: 1 / 7; }
.purchase-commandbar [data-purchase-tool=low] { grid-area: 1 / 8; }
.purchase-commandbar [data-purchase-tool=nonPurchase] { grid-area: 1 / 9; }
.purchase-commandbar [data-purchase-tool=preOrder] { grid-area: 1 / 10; }
.purchase-commandbar [data-purchase-tool=ieat] { grid-area: 1 / 11; }
.purchase-commandbar [data-purchase-tool=wholesale] { grid-area: 1 / 12; }
.purchase-commandbar [data-purchase-tool=quick] { grid-area: 2 / 12; background: #ffab91; }
.purchase-commandbar [data-purchase-tool=pricing] { grid-area: 1 / 13; background: #c8e6c9; font-weight: bold; }
.purchase-control-grid .purchase-filters > label:not(.purchase-date) { display: grid; grid-template-columns: 134px 200px; gap: 8px; grid-column: 2 / 4; }
.purchase-control-grid .purchase-filters > label:nth-child(1) { grid-row: 1; }
.purchase-control-grid .purchase-filters > label:nth-child(2) { grid-row: 2; }
.purchase-control-grid .purchase-filters > label:nth-child(3) { grid-row: 3; }
.purchase-control-grid .purchase-filters label > span { text-align: right; font-size: 12px; font-weight: normal; }
.purchase-control-grid input, .purchase-control-grid select { height: 26px; padding: 1px 4px; border: 1px solid #7a7a7a; border-radius: 0; background: white; font: 12px Arial, "Microsoft JhengHei", sans-serif; }
.purchase-control-grid .purchase-date { grid-area: 2 / 4 / 3 / 11; }
.purchase-control-grid .purchase-date input { width: 134px; }
.purchase-control-grid .purchase-date > span { font-weight: bold; }
.purchase-control-grid .purchase-parameters { grid-area: 3 / 4 / 4 / 14; padding: 0; gap: 15px; flex-wrap: nowrap; }
.purchase-control-grid .purchase-parameters label > span { font-size: 13px; }
.purchase-control-grid .purchase-parameters input { width: 66px; color: blue; font-size: 16px; font-weight: bold; }
.purchase-control-grid .purchase-parameters .critical, .purchase-control-grid .purchase-parameters .critical input, .purchase-control-grid .purchase-parameters .critical span { color: red; }
.purchase-control-grid .purchase-parameters .critical input { background: #f0f0f0; }
.purchase-control-grid .purchase-metrics > div { gap: 8px; }
.purchase-control-grid .purchase-metrics > div:nth-child(1) { grid-area: 4 / 2 / 5 / 4; justify-content: flex-end; }
.purchase-control-grid .purchase-metrics > div:nth-child(2) { grid-area: 4 / 5 / 5 / 8; }
.purchase-control-grid .purchase-metrics > div:nth-child(3) { grid-area: 4 / 8 / 5 / 10; }
.purchase-control-grid .purchase-metrics span { font-size: 13px; font-weight: normal; }
.purchase-control-grid .purchase-metrics strong { font-size: 19px; white-space: nowrap; }
.purchase-control-grid #purchase-save { grid-area: 4 / 11; margin: 0; background: #e1f5fe; }
.purchase-control-grid #purchase-load { grid-area: 4 / 12; background: #fff9c4; }
.purchase-control-grid .purchase-quick-add { grid-area: 5 / 2 / 6 / 10; padding: 5px 0; }
.purchase-control-grid .purchase-quick-add label { font-size: 13px; }
.purchase-control-grid .purchase-quick-add input { width: 200px; font-size: 14px; font-weight: bold; }
.purchase-control-grid .purchase-quick-add button { background: #e8f5e9; font-weight: bold; }
.purchase-control-grid #purchase-recalculate { grid-area: 5 / 11 / 6 / 13; justify-self: end; color: red; font-weight: bold; }
.purchase-system-panel .purchase-status { background: transparent; border: 0; color: #444; min-height: 24px; margin: 0; padding: 0; }
.purchase-system-panel > .purchase-table-wrap { height: max(330px, calc(100dvh - 365px)); min-height: 0; }
.purchase-table { min-width: max-content; width: max-content; font: 12px Arial, "Microsoft JhengHei", sans-serif; background: white; }
.purchase-table th { height: 34px; padding: 6px 8px; background: #f0f0f0; border-color: #b6b6b6; white-space: nowrap; font-weight: normal; }
.purchase-table td { height: 25px; padding: 2px 7px; border-bottom: 0; border-right: 1px solid #eee; }
.purchase-table th:first-child, .purchase-table td:first-child { position: static; min-width: 75px; }
.purchase-table th:nth-child(2), .purchase-table td:nth-child(2) { min-width: 220px; }
.purchase-table th:first-child { background: #f0f0f0; }
.purchase-table tbody tr:hover { background: inherit; }
.purchase-table tbody tr.high-volume { background: pink; }
.purchase-table tbody tr.preorder { background: #fff59d; }
.purchase-table tbody tr.selected { color: white; background: #0078d7; outline: 0; }
.purchase-table td[data-purchase-quantity] { color: inherit; font-weight: normal; }
.purchase-table button.purchase-detail-link { display: inline; min-height: 0; min-width: 0; width: auto; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0; color: inherit; background: none; font: inherit; cursor: pointer; }
.purchase-table button.purchase-detail-link:hover { text-decoration: underline; }
.purchase-table button.purchase-detail-link:focus-visible { outline: 2px solid #0078d7; outline-offset: 2px; }
.purchase-tool-dialog, .purchase-add-dialog, .purchase-list-dialog, .purchase-detail-dialog, .purchase-supplier-dialog { border: 1px solid #888; border-radius: 0; background: #f0f0f0; font: 13px Arial, "Microsoft JhengHei", sans-serif; }
.purchase-tool-dialog .dialog-heading, .purchase-add-dialog .dialog-heading, .purchase-list-dialog .dialog-heading, .purchase-detail-dialog .dialog-heading, .purchase-supplier-dialog .dialog-heading { padding: 8px 12px; background: #f0f0f0; }
.purchase-tool-dialog .dialog-heading h2, .purchase-detail-dialog h2, .purchase-supplier-dialog h2 { font-size: 15px; }
.purchase-tool-dialog .dialog-heading span, .purchase-add-dialog .dialog-heading span, .purchase-list-dialog .dialog-heading span { display: none; }
.purchase-tool-dialog .tool-table { min-height: 260px; max-height: 65dvh; }
.purchase-detail-dialog { width: min(1020px, 96vw); padding: 0; }
.purchase-detail-dialog.customer-sales { width: min(700px, 96vw); }
.purchase-detail-dialog .dialog-shell { width: 100%; max-height: 90dvh; }
.purchase-detail-dialog .purchase-table-wrap { min-height: 160px; max-height: 55dvh; }
.purchase-detail-dialog .purchase-table { min-width: 100%; width: max-content; }
.purchase-detail-dialog .purchase-table th:nth-child(2), .purchase-detail-dialog .purchase-table td:nth-child(2) { min-width: 110px; }
.purchase-detail-dialog .purchase-table th:nth-child(3), .purchase-detail-dialog .purchase-table td:nth-child(3) { min-width: 220px; text-align: left; }
.purchase-detail-status { padding: 0 12px; white-space: pre-line; overflow-wrap: anywhere; }
.purchase-supplier-dialog { width: min(400px, 94vw); }
.purchase-supplier-dialog .dialog-shell { width: 100%; padding: 12px; }
.purchase-supplier-options { max-height: 50dvh; overflow: auto; }
.purchase-supplier-options label { display: flex; gap: 8px; padding: 7px 0; }
.purchase-filter-actions { display: flex; gap: 8px; margin-bottom: 10px; }
.purchase-method-dialog { width: min(350px, 94vw); padding: 0; border-radius: 0; background: #f0f0f0; border: 1px solid #888; }
.purchase-method-dialog .dialog-shell { width: 100%; display: grid; gap: 15px; padding: 14px; }
.purchase-method-dialog .dialog-heading { padding: 0; }
.purchase-method-dialog h2 { font-size: 15px; }
.purchase-method-dialog label { display: grid; gap: 10px; }
.purchase-method-dialog button, .purchase-method-dialog select { min-height: 30px; border: 1px solid #aaa; border-radius: 0; }
.purchase-tool-mode-controls [hidden] { display: none; }
.purchase-add-modes[hidden], .purchase-list-dialog .purchase-list-form, .purchase-list-dialog .purchase-list-filter { display: none; }
.purchase-list-dialog { width: min(540px,94vw); }
.purchase-list-dialog .purchase-table-wrap { min-height: 160px; max-height: 55dvh; }
.purchase-list-dialog .purchase-table { min-width: 450px; width: 100%; }
.purchase-tool-footer { display: flex; gap: 8px; padding: 10px 15px; }
.purchase-tool-footer button { min-height: 28px; padding: 3px 10px; background: #eee; border: 1px solid #aaa; border-radius: 0; }
.purchase-tool-footer #purchase-tool-delete { background: #ffcdd2; }
.purchase-tool-footer [id^="purchase-tool-delete-"] { background: #ffcdd2; }
.purchase-floating-window { position: fixed; margin: 0; right: auto; bottom: auto; max-height: 65dvh; max-width: calc(100vw - 16px); min-width: min(420px,94vw); overflow: auto; resize: both; box-shadow: 0 8px 25px #0005; }
.purchase-floating-window .dialog-heading { cursor: move; touch-action: none; }
.purchase-floating-window .dialog-heading button { cursor: pointer; }
.purchase-floating-window .dialog-shell { max-height: none; }
.purchase-floating-window .tool-table { max-height: 42dvh; }
.purchase-tool-footer[hidden], .purchase-tool-controls [hidden] { display: none; }
.purchase-region-tabs button.active { color: #004d40; background: #b2dfdb; border-color: #888; box-shadow: inset 1px 1px 1px #777; }
.purchase-date small { white-space: nowrap; color: #555; }
@media (max-width: 760px) {
  .purchase-control-grid { display: flex; flex-direction: column; align-items: stretch; width: 100%; min-width: 0; gap: 10px; }
  .purchase-control-grid .purchase-commandbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; border: 0; }
  .purchase-control-grid .purchase-filters { display: flex; flex-direction: column; gap: 8px; }
  .purchase-control-grid .purchase-filters > label:not(.purchase-date) { grid-template-columns: 100px minmax(0, 1fr); }
  .purchase-control-grid .purchase-date { flex-wrap: wrap; }
  .purchase-control-grid .purchase-parameters { flex-wrap: wrap; gap: 10px; }
  .purchase-control-grid .purchase-metrics { display: flex; flex-wrap: wrap; gap: 10px; background: transparent; border: 0; padding: 0; }
  .purchase-control-grid .purchase-quick-add { flex-wrap: wrap; }
  .purchase-control-grid .purchase-quick-add input { width: min(200px, 100%); }
  .purchase-control-grid button, .purchase-control-grid input, .purchase-control-grid select { min-height: 34px; }
  .purchase-control-grid #purchase-recalculate { align-self: end; }
  .purchase-system-panel > .purchase-table-wrap { height: 380px; }
}
