/* Action hierarchy: blue creates/continues, green receives/confirms, red removes.
   Labels and icons carry the meaning as well as color. Keep document data neutral. */
:root {
  --action-blue: #0969b8;
  --action-blue-hover: #075797;
  --action-green: #167347;
  --action-green-hover: #105c38;
  --action-red: #b42332;
  --action-red-hover: #941c29;
  --action-focus: #084e89;
}
.btn {
  border-color: #cbd5df;
  color: #253747;
  line-height: 1.35;
  font-weight: 600;
  transition: background-color .12s, border-color .12s, box-shadow .12s;
}
.btn:hover:not(:disabled) { background: #f0f5f9; border-color: #aabac8; }
.btn.primary,.btn.primary:hover {
  background: var(--action-blue);
  border-color: var(--action-blue);
  color: #fff;
  filter: none;
}
.btn.primary:hover:not(:disabled) { background: var(--action-blue-hover); border-color: var(--action-blue-hover); }
.btn.success,.btn.primary.success {
  background: var(--action-green);
  border-color: var(--action-green);
  color: #fff;
}
.btn.success:hover:not(:disabled) { background: var(--action-green-hover); border-color: var(--action-green-hover); }
.btn.danger { background: #fff6f5; color: var(--action-red); border-color: #e6b7bc; }
.btn.danger:hover:not(:disabled) { background: #fee8e7; border-color: #cf8b92; }
.btn.primary.danger { background: var(--action-red); border-color: var(--action-red); color: #fff; }
.btn.primary.danger:hover:not(:disabled) { background: var(--action-red-hover); border-color: var(--action-red-hover); }
.icon-btn.danger { color: var(--action-red); }
.icon-btn.danger:hover:not(:disabled) { background: #fee8e7; }
.btn:focus-visible,.icon-btn:focus-visible {
  outline: 3px solid var(--action-focus);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
.btn:disabled,.btn:is(.primary,.success,.danger):disabled {
  opacity: 1;
  color: #647382;
  background: #edf1f4;
  border-color: #dce3e9;
  filter: none;
  box-shadow: none;
  cursor: not-allowed;
}
.btn[aria-busy=true] { cursor: wait; }
.btn[aria-busy=true]::before {
  content: '';
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: action-progress .7s linear infinite;
}
@keyframes action-progress { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
  .btn { transition: none; }
  .btn[aria-busy=true]::before { animation: none; }
}
.modal-foot { gap: 12px; }
.modal-foot .btn[type=submit] { min-width: 136px; }
.modal-body>.inline-note { margin-block: 0; }
.procurement-dialog .modal-body { gap: 20px; }
.procurement-dialog .purchase-main-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr) minmax(190px,.7fr); gap: 16px; align-items: start; }
.procurement-dialog .purchase-main-fields label { min-width: 0; margin: 0; }
.procurement-dialog .purchase-main-fields select { width: 100%; min-width: 0; }
.procurement-dialog .purchase-currency-info { display: flex; align-items: center; gap: 12px; }
.procurement-dialog .purchase-currency-info .rate-note { flex: 1; min-width: 0; }
.procurement-dialog .purchase-currency-info [hidden] { display: none; }
.procurement-dialog .rate-note { margin: 0; padding: 12px 14px; }
.procurement-dialog .bulk-toolbar { flex-wrap: wrap; gap: 12px; padding-top: 6px; }
.procurement-dialog .bulk-toolbar>span { color: #253747; font-weight: 650; }
.procurement-dialog .bulk-toolbar .actions { gap: 8px; }
.procurement-dialog .bulk-table { max-height: 42vh; border-color: #d6e0e8; }
.procurement-dialog .bulk-table th { color: #475b6b; background: #f3f6f9; font-weight: 600; }
.procurement-dialog .bulk-table td { vertical-align: top; }
.procurement-dialog .bulk-table td:first-child { width: 55%; }
.procurement-dialog .bulk-total { color: #253747; padding: 4px 0; }
.procurement-dialog .purchase-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 24px; }
.procurement-dialog .purchase-summary>label { min-width: 0; max-width: 620px; margin: 0; }
.procurement-dialog .purchase-summary .bulk-total { min-width: 0; padding-block: 12px; overflow-wrap: anywhere; }
.procurement-dialog textarea[name=notes] { min-height: 72px; }
.procurement-dialog .bulk-table .icon-btn { min-width: 36px; min-height: 36px; justify-content: center; align-items: center; }
/* Purchase details: compact totals, one item list, optional supporting detail. */
.purchase-workspace { display: grid; gap: 16px; min-width: 0; }
.purchase-detail-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; min-width: 0; }
.purchase-detail-heading { display: flex; align-items: center; gap: 12px; min-width: 0; }
.purchase-detail-heading h1 { font-size: 25px; line-height: 1.2; margin: 0; letter-spacing: -.5px; }
.purchase-back { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: none; }
.purchase-detail-header>.actions { gap: 8px; flex-wrap: wrap; }
.purchase-detail-header .btn { min-height: 34px; padding: 7px 11px; font-size: 12px; }
.purchase-detail-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; flex-basis: 100%; color: var(--muted); font-size: 12px; line-height: 1.5; }
.purchase-detail-meta span { min-width: 0; overflow-wrap: anywhere; }
.purchase-detail-meta b { color: var(--text); font-weight: 550; }
.purchase-stats { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 12px 0; }
.purchase-stat { display: flex; flex-direction: column; gap: 4px; padding: 0 18px; min-width: 0; flex: 1; border-right: 1px solid var(--line); }
.purchase-stat:last-child { border: 0; }
.purchase-stat span { color: var(--muted); font-size: 11px; }
.purchase-stat strong { font-size: 16px; font-weight: 550; line-height: 1.35; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.purchase-stat-total strong { font-weight: 700; }
.purchase-workspace .panel { margin: 0; }
.purchase-items>.panel-head { padding: 10px 14px; gap: 16px; flex-wrap: wrap; }
.purchase-items>.panel-head h2 { font-size: 14px; display: flex; align-items: center; gap: 8px; }
.purchase-item-count { font-size: 11px; font-weight: 500; color: var(--muted); }
.purchase-detail-search { display: block; width: 260px; max-width: 100%; margin: 0; min-width: 0; }
.purchase-detail-search input { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.purchase-items .purchase-search-empty { padding: 14px; margin: 0; font-size: 13px; color: var(--muted); }
.purchase-workspace [hidden] { display: none!important; }
.purchase-note { display: flex; gap: 12px; align-items: baseline; font-size: 12px; padding-inline: 2px; }
.purchase-note strong { color: var(--muted); font-weight: 500; flex: none; }
.purchase-note p { margin: 0; overflow-wrap: anywhere; min-width: 0; }
.purchase-details { display: grid; gap: 0; }
.purchase-details:empty { display: none; }
.purchase-disclosure { border-bottom: 1px solid var(--line); min-width: 0; }
.purchase-disclosure>summary { cursor: pointer; padding: 10px 2px; font-size: 12px; color: #475b6b; width: fit-content; }
.purchase-disclosure-body { padding: 2px 0 12px; font-size: 12px; }
.purchase-disclosure-body p { margin: 0 0 8px; overflow-wrap: anywhere; }
.purchase-disclosure-body h3 { font-size: 12px; margin: 12px 0 6px; }
.purchase-history-row { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 7px 0; align-items: baseline; }
.purchase-history-row small { color: var(--muted); }
.purchase-history-row strong { font-weight: 550; }
.purchase-workspace~.freight-assignment-strip { margin-block: 12px; padding: 8px 12px; font-size: 12px; }
.purchase-workspace~.inbound-purchase-panel { margin-top: 14px; }
.purchase-workspace~.inbound-purchase-panel>.panel-head { padding: 12px 14px; }
.purchase-workspace~.inbound-purchase-panel>.panel-head h2 { font-size: 14px; }
@media(min-width:801px) {
 .purchase-items>.table-wrap>table th,.purchase-items>.table-wrap>table td { padding: 10px 12px; font-size: 12px; }
 .purchase-items>.table-wrap>table th { font-size: 11px; font-weight: 550; }
 .purchase-items td[data-item-column=product] { width: 32%; white-space: normal; }
 .purchase-items td[data-item-column=sku] { width: 19%; }
 .purchase-items td small { font-size: 10px; }
}
@media(max-width:800px) {
 .purchase-workspace { gap: 12px; }
 .purchase-detail-header { gap: 10px; }
 .purchase-detail-heading { gap: 8px; flex-wrap: wrap; }
 .purchase-detail-heading h1 { font-size: 22px; }
 .purchase-back { width: 36px; min-height: 44px; }
 .purchase-detail-header>.actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; order: 3; gap: 8px; }
 .purchase-detail-header .btn { min-height: 44px; font-size: 11px; padding: 8px; white-space: normal; }
 .purchase-detail-meta { gap: 3px 10px; font-size: 11px; }
 .purchase-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; }
 .purchase-stat { padding: 10px 12px; border-bottom: 1px solid var(--line); }
 .purchase-stat:nth-child(even) { border-right: 0; }
 .purchase-stat:nth-last-child(-n+2) { border-bottom: 0; }
 .purchase-stat strong { font-size: 14px; }
 .purchase-items>.panel-head { gap: 10px; padding: 12px; }
 .purchase-detail-search { width: 100%; }
 .purchase-detail-search input { min-height: 44px; }
 .purchase-disclosure>summary { min-height: 44px; padding-block: 13px; }
 .purchase-note { flex-direction: column; gap: 4px; }
 .purchase-items .table-wrap { min-width: 0; }
}
@media(max-width:700px) {
  body .btn,body .btn.small,body .icon-btn,
  .inbound-card .actions .btn,.order-workspace .order-sku .btn,
  .cord-data-list.dense-list .btn.small { min-height: 44px; }
  body .icon-btn { min-width: 44px; align-items: center; justify-content: center; }
  .procurement-dialog .bulk-table .icon-btn { min-width: 44px; min-height: 44px; }
  .modal-foot .btn { white-space: normal; }
  .procurement-dialog .bulk-table { max-height: none; overflow: visible; }
  .procurement-dialog .bulk-toolbar .actions { width: 100%; }
  .procurement-dialog .bulk-toolbar .actions .btn { flex: 1; }
  .procurement-dialog .modal-body { gap: 16px; }
  .procurement-dialog .purchase-main-fields { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .procurement-dialog .purchase-currency-info { align-items: stretch; flex-direction: column; }
  .inbound-scan-row { flex-wrap: wrap; }
  .inbound-scan-row>label { flex-basis: 100%; }
  .inbound-scan-row .btn { width: 100%; }
}

@media(max-width:800px) {
  .procurement-dialog .purchase-summary { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .procurement-dialog .purchase-summary .bulk-total { padding-block: 0; }
}

dialog.quick-receipt-dialog { width:min(1040px,calc(100vw - 32px)); }
.quick-receipt-dialog .modal-head,.quick-receipt-dialog .modal-foot { padding:14px 20px; }
.quick-receipt-dialog .modal-body { padding:16px 20px;gap:14px; }
.quick-receipt-dialog .quick-receipt-context { display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:start;gap:12px; }
.quick-receipt-dialog .quick-receipt-context label { margin:0;min-width:0;font-size:.875rem;gap:6px; }
:root[data-theme] .quick-receipt-dialog .transfer-place-picker { border:0;background:transparent;padding:0; }
.quick-receipt-dialog .form-error:empty { display:none; }
.quick-receipt-dialog .transfer-place-picker legend { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.quick-receipt-dialog .quick-receipt-context select { min-height:38px;padding:7px 10px;font-size:.875rem; }
.quick-receipt-dialog .quick-receipt-table { max-height:42vh; }
.quick-receipt-dialog .quick-receipt-table td:first-child { width:52%; }
.quick-receipt-dialog .quick-receipt-table :is(th,td) { padding:8px 10px; }
.quick-receipt-dialog .quick-receipt-table input { width:100%;min-width:0; }
.quick-receipt-dialog .quick-receipt-serial-field { display:grid;gap:5px;margin:8px 0 0;font-size:.8rem;color:var(--muted);white-space:normal; }
.quick-receipt-dialog .quick-receipt-serial-field textarea { display:block;width:100%;min-width:0;min-height:38px;padding:8px 10px;line-height:20px;font-size:.875rem;resize:vertical;box-sizing:border-box; }
.quick-receipt-dialog .quick-receipt-serial-field .field-error { color:var(--danger); }
.quick-receipt-dialog .quick-receipt-table td:nth-child(2) { min-width:140px; }
.quick-receipt-dialog .quick-receipt-table td:nth-child(3) { min-width:100px; }
.quick-receipt-dialog .quick-receipt-summary { display:grid;gap:8px; }
.quick-receipt-dialog .quick-receipt-party-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end; }
.quick-receipt-dialog .quick-receipt-party-fields :is(label,.supplier-field) { min-width:0;margin:0; }
.quick-receipt-dialog .quick-receipt-party-fields :is(input,select) { height:44px;min-height:44px;width:100%;min-width:0;box-sizing:border-box; }
.quick-receipt-dialog .quick-receipt-total { padding:0;text-align:right;font-weight:700;color:var(--text); }
.quick-receipt-dialog .transfer-place-fields { display:flex;gap:12px; }
.quick-receipt-dialog .transfer-place-fields label { min-width:0;flex:1; }
.quick-receipt-dialog [hidden] { display:none!important; }
.quick-receipt-dialog .transfer-stock-summary:empty { display:none; }
@media(max-width:700px) {
 dialog.quick-receipt-dialog { width:calc(100vw - 16px); }
 .quick-receipt-dialog .modal-head,.quick-receipt-dialog .modal-foot { padding:12px 14px; }
 .quick-receipt-dialog .modal-body { padding:14px;gap:12px; }
 .quick-receipt-dialog .quick-receipt-context { grid-template-columns:minmax(0,1fr) 105px;gap:10px; }
 .quick-receipt-dialog .transfer-place-fields { flex-direction:column;gap:10px; }
 .quick-receipt-dialog .quick-receipt-context select { min-height:44px; }
 .quick-receipt-dialog .quick-receipt-party-fields { grid-template-columns:minmax(0,1fr);gap:12px; }
 .quick-receipt-dialog .quick-receipt-table { max-height:none;overflow:visible; }
 .quick-receipt-dialog .quick-receipt-table :is(table,tbody) { display:block;min-width:0;width:100%; }
 .quick-receipt-dialog .quick-receipt-table thead { display:none; }
 .quick-receipt-dialog .quick-receipt-table tr { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;padding:10px;gap:10px;border-bottom:1px solid var(--line); }
 .quick-receipt-dialog .quick-receipt-table td { display:block;width:auto!important;min-width:0!important;padding:0;border:0; }
 .quick-receipt-dialog .quick-receipt-table td:first-child { grid-column:1 / 3;grid-row:1; }
 .quick-receipt-dialog .quick-receipt-table td:nth-child(2) { grid-column:1;grid-row:2; }
 .quick-receipt-dialog .quick-receipt-table td:nth-child(3) { grid-column:2;grid-row:2; }
 .quick-receipt-dialog .quick-receipt-table td:nth-child(4) { grid-column:1 / -1;grid-row:3;text-align:right; }
 .quick-receipt-dialog .quick-receipt-table td:last-child { grid-column:3;grid-row:1;align-self:end; }
 .quick-receipt-dialog .quick-receipt-table td[data-label]::before { content:attr(data-label);display:block;font-size:.8rem;color:var(--muted);margin-bottom:4px; }
 .quick-receipt-dialog .quick-receipt-table td:nth-child(4)::before { display:inline;margin-right:8px; }
 .quick-receipt-dialog .quick-receipt-table .icon-btn { width:44px;height:44px; }
}

/* Supplier creation is available beside every document supplier picker. */
.supplier-field { display:grid;gap:8px;min-width:0; }
.supplier-field>label { margin:0; }
.supplier-input-group { position:relative;display:flex;align-items:stretch;min-width:0; }
.supplier-input-group::after { content:"";position:absolute;top:50%;right:60px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none; }
.supplier-input-group:has(>select:only-child)::after { right:16px; }
.supplier-input-group>select { appearance:none;-webkit-appearance:none;min-width:0;width:100%;flex:1;height:44px;min-height:44px;padding-right:34px;border-radius:8px 0 0 8px; }
.supplier-input-group>select:only-child { border-radius:8px; }
.supplier-input-group>.supplier-add { display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;margin:0 0 0 -1px;padding:0;border-radius:0 8px 8px 0; }
.supplier-input-group>.supplier-add svg { width:19px;height:19px; }
.supplier-input-group>:focus-visible { position:relative;z-index:1; }
dialog.supplier-create-dialog { width:min(720px,calc(100vw - 32px)); }
.supplier-create-dialog .modal-body { gap:12px; }
.supplier-create-dialog .modal-body textarea { min-height:60px; }
.supplier-create-dialog .form-error:empty { display:none; }

/* Keep the fixed order product beside currency, with serials across the card. */
.quick-receipt-order-item { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px;gap:14px 12px;align-items:start; }
.quick-receipt-order-item>label,.quick-receipt-order-item>div,.quick-receipt-order-currency>label { display:grid;gap:6px;min-width:0;margin:0;font-size:.875rem; }
.quick-receipt-order-product { grid-column:1 / 3; }
.quick-receipt-order-currency { grid-column:3; }
.quick-receipt-order-item :is(input,select) { width:100%;min-width:0;height:42px;min-height:42px;box-sizing:border-box; }
.quick-receipt-order-item .inventory-product-picker { min-width:0; }
.quick-receipt-order-item .quick-receipt-order-product input:disabled { opacity:1;color:var(--text);-webkit-text-fill-color:var(--text);background:var(--surface-2); }
.quick-receipt-order-sum output { display:flex;align-items:center;justify-content:flex-end;min-height:42px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.quick-receipt-dialog .quick-receipt-order-item .quick-receipt-serial-field { grid-column:1 / -1;margin:0; }
.quick-receipt-order-item .quick-receipt-serial-field textarea { min-height:42px; }
@media(max-width:700px) {
 .quick-receipt-order-item { grid-template-columns:minmax(0,1fr) 105px;gap:12px 10px; }
 .quick-receipt-order-product { grid-column:1; }
 .quick-receipt-order-currency { grid-column:2; }
 .quick-receipt-order-sum { grid-column:1 / -1;grid-template-columns:1fr 1fr!important;align-items:center; }
 .quick-receipt-order-sum output { min-height:24px; }
}
