/* MLS listings in "Listed" and the expiry-date box (pipeline-expiry.js,
   2026-10-26). Own file because styles.css is written by several sessions. */
.px-box { display: grid; gap: 6px; }
.px-label { font-size: 0.8rem; font-weight: 600; color: var(--sv-text); }
.px-row { display: flex; align-items: center; gap: 6px; }
/* The global `input { width: 100% ... }` rule would push the buttons off the card. */
/* flex-basis 0, not auto: a date input's natural width (~180px) plus the two
   buttons is wider than a board column, and Save spilled past the card edge
   (Matt's screenshot, 2026-10-27). The field gives up the width instead. */
.px-row input.px-date {
  flex: 1 1 0; width: auto; min-width: 0;
  padding: 6px 8px; font-size: 0.85rem; border-radius: 6px;
}
/* Our own calendar button sits to the right of the blank, so the browser's
   built-in icon inside the field is hidden where the browser allows it. */
.px-row input.px-date::-webkit-calendar-picker-indicator { display: none; }
.px-cal {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 32px; padding: 0; cursor: pointer;
  border: 1px solid var(--sv-line); border-radius: 6px;
  background: var(--sv-surface-2); color: var(--sv-heading);
}
.px-cal:hover, .px-cal:focus-visible { border-color: var(--sv-heading); }
.px-save { flex: 0 0 auto; padding-left: 14px; padding-right: 14px; }
.px-box { min-width: 0; }
.px-row { min-width: 0; max-width: 100%; }
.px-error { color: #f3a9a0; font-size: 0.78rem; }
[data-theme="cream"] .px-error { color: #8a1c1c; }
.px-source { color: var(--sv-text-muted); font-size: 0.75rem; }
.px-candidate { border-style: dashed; }
.px-ask { color: var(--sv-text-muted); font-size: 0.78rem; }
