#seat-form textarea { min-height: 96px; }
#seat-form textarea[name="names"] { min-height: 180px; }
.opts { display: grid; gap: 12px; margin-top: 12px; }
label.check { display: flex; align-items: center; gap: 8px; font-weight: 400; }
label.check.save { align-self: end; padding-bottom: 10px; }
.desk { margin: 0; padding: 6px; text-align: center; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: .9rem; }
.seats { border-collapse: separate; border-spacing: 4px; margin: 0 auto; }
.seats td { padding: 0; }
.seats button { display: grid; align-content: center; gap: 2px; width: 64px; min-height: 56px; padding: 4px; background: var(--bg); color: var(--fg); border: 1px solid var(--line); font-weight: 500; font-size: .85rem; line-height: 1.25; overflow-wrap: anywhere; }
.seats .pos { color: var(--muted); font-size: .75rem; font-weight: 400; }
.seats .filled { border-color: var(--accent); }
.seats .off { border-style: dashed; background: transparent; color: var(--muted); }
.seats .clash { border-color: var(--warn); color: var(--warn); }
.actions { margin-top: 4px; }

@media print {
  .top, footer, main > *:not(#board), #board .actions, #status:empty { display: none !important; }
  main { max-width: none; padding: 0; }
  #board { border: 0; padding: 0; background: none; }
  .scroll { overflow: visible; }
  .seats { width: 100%; border-spacing: 6px; }
  .seats button { width: 100%; min-height: 72px; font-size: 1.1rem; border: 1px solid #000; color: #000; background: none; }
  .seats .pos { color: #444; }
  .seats .off { border: 1px dashed #999; color: #999; }
  .desk { border: 1px solid #000; color: #000; font-size: 1.1rem; }
}
