/* #region zone:desk.paper.order-list — การ์ดคำสั่งจำลองพร้อมสถานะและจำนวนหุ้นที่จับคู่แล้ว */
.paper-order-list {
  display: grid;
  gap: var(--sp-3);
  grid-auto-rows: 1fr;
}
.paper-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 144px;
  grid-template-areas: 'identity progress state' 'meta progress state' 'slip slip slip';
  /* Content sizes the rows; progress and state align with the identity instead of empty reserved tracks. */
  grid-template-rows: auto auto auto;
  align-items: start;
  gap: var(--sp-2) var(--sp-5);
  min-width: 0;
  padding: var(--sp-4);
  border: 1px solid var(--line);
  border-radius: var(--r-inner);
  background: var(--panel);
  font-size: var(--fs-md);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.paper-order-identity {
  grid-area: identity;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
}
.paper-order-identity strong {
  font-size: var(--fs-lg);
}
.paper-order-chip {
  width: fit-content;
  max-width: 100%;
  padding: 2px var(--sp-2);
  border: 1px solid currentColor;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
}
.paper-order-side.is-buy,
.paper-order-state.is-filled {
  color: var(--up-text);
  background: var(--up-soft);
}
.paper-order-side.is-sell,
.paper-order-state.is-rejected {
  color: var(--down-text);
  background: var(--down-soft);
}
.paper-order-state {
  grid-area: state;
  justify-self: end;
}
.paper-order-state.is-queued {
  color: var(--accent-text);
  background: var(--acc-soft);
}
.paper-order-state.is-partial_fill {
  color: var(--amber);
  background: var(--amber-soft);
}
.paper-order-state.is-expired {
  color: var(--amber);
  background: var(--panel2);
  border-style: dashed;
}
.paper-order-state.is-cancelled {
  color: var(--muted);
  background: var(--panel2);
}
.paper-order-progress {
  grid-area: progress;
  display: grid;
  gap: var(--sp-2);
  min-width: 0;
}
.paper-order-bar {
  display: block;
  appearance: none;
  width: 100%;
  height: 6px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--panel2);
  overflow: hidden;
}
.paper-order-bar::-webkit-progress-bar {
  border-radius: var(--r-pill);
  background: var(--panel2);
}
.paper-order-bar::-webkit-progress-value {
  border-radius: var(--r-pill);
  background: var(--accent);
}
.paper-order-bar::-moz-progress-bar {
  border-radius: var(--r-pill);
  background: var(--accent);
}
.paper-order-meta {
  grid-area: meta;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  color: var(--muted);
  font-size: var(--fs-sm);
}
.paper-order-slippage {
  grid-area: slip;
  color: var(--muted);
  font-size: var(--fs-sm);
}
.paper-order-slippage[data-tip] {
  cursor: help;
}
.paper-order-slippage-detail {
  display: none;
}
@media (pointer: coarse) {
  .paper-order-slippage-detail {
    display: block;
    margin-top: var(--sp-2);
    font-size: inherit;
  }
}
.paper-order-history > summary {
  cursor: pointer;
  padding: var(--sp-3) 0;
}
@container (max-width: 640px) {
  .paper-order {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: 'identity state' 'progress progress' 'meta meta' 'slip slip';
    grid-template-rows: auto;
    gap: var(--sp-3);
    align-items: start;
  }
  .paper-order-wait {
    order: -1;
  }
}
/* #endregion */
