/* Seating chart maker (views/seating-chart-maker.cjs). Three panels: setup | board on desktop, the print panel under
 * both; one column on a phone (setup, board, print). Preview stage and paper controls: css/_print-kit.css.
 * Borders: 1px hairline. Every rule is under #visu-tools.vt-seating-chart-maker. */
#visu-tools.vt-seating-chart-maker .vt-sc { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.25fr); grid-template-areas: "setup board" "print print"; }
#visu-tools.vt-seating-chart-maker .vt-sc [hidden] { display: none !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-setup { grid-area: setup; }
#visu-tools.vt-seating-chart-maker .vt-sc-board { grid-area: board; display: grid; gap: 12px; align-content: start; position: relative; }
#visu-tools.vt-seating-chart-maker .vt-sc-print { grid-area: print; position: static; }
#visu-tools.vt-seating-chart-maker .vt-sc-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 16px; margin-bottom: 14px; }
#visu-tools.vt-seating-chart-maker .vt-sc-top .vt-hint { margin: 0 !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-texts { display: grid; gap: 12px; }
#visu-tools.vt-seating-chart-maker :is(.vt-sc-guests, .vt-sc-apart) { margin: 18px 0 0 !important; padding-top: 16px !important; border-top: 1px solid var(--vt-line) !important; display: grid; gap: 8px; }
#visu-tools.vt-seating-chart-maker .vt-sc-tables-set { margin: 18px 0 0 !important; padding-top: 16px !important; border-top: 1px solid var(--vt-line) !important; display: grid; gap: 12px; }
#visu-tools.vt-seating-chart-maker .vt-sc-guests textarea { min-height: 190px; line-height: 1.5 !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#visu-tools.vt-seating-chart-maker .vt-sc-row .vt-field { min-width: 0; }
#visu-tools.vt-seating-chart-maker .vt-sc-tables-set .vt-check { min-height: 32px; align-self: start; }
#visu-tools.vt-seating-chart-maker :is(.vt-sc-count, .vt-sc-capacity) { font-size: 14px; font-weight: 600; color: var(--vt-ink); margin: 0 !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-capacity.is-short { color: #8a2c0d; }
#visu-tools.vt-seating-chart-maker .vt-sc-import { margin-top: 6px; }
/* ---- board ---- */
#visu-tools.vt-seating-chart-maker .vt-sc-board-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; }
#visu-tools.vt-seating-chart-maker .vt-sc-auto { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
#visu-tools.vt-seating-chart-maker .vt-sc-seed { font-size: 13px; color: var(--vt-muted); font-variant-numeric: tabular-nums; letter-spacing: .04em; }
#visu-tools.vt-seating-chart-maker .vt-sc-facts { font-size: 14px; font-weight: 600; color: var(--vt-ink); margin: 0 !important; font-variant-numeric: tabular-nums; }
#visu-tools.vt-seating-chart-maker .vt-sc-warns { list-style: none; display: grid; gap: 6px; margin: 0 !important; padding: 10px 14px !important; border-radius: 12px; font-size: 14px; background: #fff7e8; color: #6b3d04; border: 1px solid #f3d9a8; }
#visu-tools.vt-seating-chart-maker .vt-sc-board > .vt-hint { margin: 0 !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-selbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 8px 12px; border-radius: 12px; background: var(--vt-tint); font-size: 14px; color: var(--vt-ink); }
#visu-tools.vt-seating-chart-maker .vt-sc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
#visu-tools.vt-seating-chart-maker :is(.vt-sc-table, .vt-sc-pool) { border: 1px solid var(--vt-line-2); border-radius: 14px; background: #fff; padding: 10px; display: grid; gap: 8px; align-content: start; min-width: 0; transition: border-color .12s, background-color .12s; }
#visu-tools.vt-seating-chart-maker .vt-sc-pool { background: var(--vt-bg); border-style: dashed; }
#visu-tools.vt-seating-chart-maker .vt-sc-table.is-over { border-color: #d97706; background: #fffaf0; }
#visu-tools.vt-seating-chart-maker :is(.vt-sc-table, .vt-sc-pool).is-target { border-color: var(--vt-accent-text); background: var(--vt-tint); }
#visu-tools.vt-seating-chart-maker .vt-sc-board.is-selecting .vt-sc-table { cursor: pointer; }
#visu-tools.vt-seating-chart-maker .vt-sc-thead { display: flex; align-items: center; gap: 8px; min-width: 0; flex-wrap: wrap; }
#visu-tools.vt-seating-chart-maker .vt-sc-thead h3 { font-size: 14.5px !important; font-weight: 700 !important; line-height: 1.3 !important; min-width: 0; overflow-wrap: anywhere; flex: 1 1 auto; }
#visu-tools.vt-seating-chart-maker .vt-sc-n { font-size: 13px; color: var(--vt-muted); font-variant-numeric: tabular-nums; }
#visu-tools.vt-seating-chart-maker .vt-sc-table.is-over .vt-sc-n { color: #8a2c0d; font-weight: 700; }
#visu-tools.vt-seating-chart-maker .vt-sc-here { flex: none; min-height: 32px; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--vt-accent-text); background: #fff; color: var(--vt-accent-text); font: 600 13px/1.2 inherit; cursor: pointer; }
#visu-tools.vt-seating-chart-maker .vt-sc-here:hover { background: var(--vt-tint); }
#visu-tools.vt-seating-chart-maker .vt-sc-chips { display: flex; flex-wrap: wrap; gap: 6px; min-height: 30px; }
#visu-tools.vt-seating-chart-maker .vt-sc-chips > .vt-hint { margin: 0 !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-height: 32px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--vt-line-2); background: #fff;
  color: var(--vt-ink); font: 500 13.5px/1.25 inherit; text-align: left; cursor: grab; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip:hover { border-color: var(--vt-ink); }
#visu-tools.vt-seating-chart-maker .vt-sc-chip[aria-pressed="true"] { background: var(--vt-ink); border-color: var(--vt-ink); color: #fff; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip.is-clash { border-color: #d97706; box-shadow: inset 0 0 0 1px #d97706; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip.is-drag { opacity: .35; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip-n { flex: none; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--vt-tint); color: var(--vt-accent-text); font-size: 12px; font-weight: 700; display: inline-grid; place-items: center; }
#visu-tools.vt-seating-chart-maker .vt-sc-chip[aria-pressed="true"] .vt-sc-chip-n { background: rgba(255, 255, 255, .2); color: #fff; }
#visu-tools.vt-seating-chart-maker .vt-sc-ghost { position: fixed; z-index: 50; pointer-events: none; transform: translate(-50%, -60%); box-shadow: 0 8px 22px rgba(10, 19, 36, .2); border-color: var(--vt-ink); max-width: 240px; cursor: grabbing; }
/* ---- print panel ---- */
#visu-tools.vt-seating-chart-maker .vt-sc-opts { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: end; }
#visu-tools.vt-seating-chart-maker .vt-sc-opts .vt-pk-sheet { margin: 0; padding: 0; border: 0; }
#visu-tools.vt-seating-chart-maker .vt-sc-opt { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: end; }
#visu-tools.vt-seating-chart-maker .vt-sc-opt .vt-check { min-height: 40px; }
#visu-tools.vt-seating-chart-maker .vt-sc-outs .vt-seg-items, #visu-tools.vt-seating-chart-maker .vt-sc-opts .vt-seg-items { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
#visu-tools.vt-seating-chart-maker .vt-sc-print .vt-pk-stage { min-height: 300px; }
#visu-tools.vt-seating-chart-maker .vt-sc-stepper { display: flex; align-items: center; justify-content: center; gap: 14px; font-variant-numeric: tabular-nums; }
#visu-tools.vt-seating-chart-maker .vt-sc-step { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--vt-line-2); background: #fff; font-size: 22px; line-height: 1; cursor: pointer; color: var(--vt-ink); }
#visu-tools.vt-seating-chart-maker .vt-sc-step:disabled { opacity: .4; cursor: default; }
#visu-tools.vt-seating-chart-maker .vt-sc-pfacts { font-size: 14px; color: var(--vt-text); margin: 0 !important; }
#visu-tools.vt-seating-chart-maker .vt-sc-tips-sec { padding: 8px 0 24px; }
#visu-tools.vt-seating-chart-maker .vt-sc-tips { display: grid; gap: 8px; max-width: 80ch; margin-top: 12px !important; padding-left: 20px !important; }
@media (max-width: 900px) {
  #visu-tools.vt-seating-chart-maker .vt-sc { grid-template-columns: minmax(0, 1fr); grid-template-areas: "setup" "board" "print"; }
}
@media (max-width: 600px) {
  #visu-tools.vt-seating-chart-maker .vt-sc-grid { grid-template-columns: minmax(0, 1fr); }
  #visu-tools.vt-seating-chart-maker .vt-sc-print .vt-pk-stage { min-height: 200px; }
}
