.reserve-table { min-width: 1280px; }
.reserve-table td { vertical-align: top; }
.reserve-table .reserve-reason { max-width: 340px; white-space: normal; overflow-wrap: anywhere; }
.reserve-actions { display: flex; flex-wrap: wrap; gap: 6px; max-width: 390px; }
.reserve-state-stack { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 130px; }
.reserve-state-stack .reserve-reason { flex-basis: 100%; }
.reserve-health-select { width: 100px; min-width: 100px; min-height: 30px; height: 30px; padding: 3px 7px; border: 1px solid #8a7133; border-radius: 6px; background: #17160f; color: #f0cc69; font-size: 12px; cursor: pointer; color-scheme: dark; }
.reserve-health-select:disabled { opacity: .6; cursor: wait; }
.reserve-dialog { width: 600px; max-width: calc(100% - 40px); max-height: 90vh; overflow: auto; padding: 24px; border: 1px solid #344349; border-radius: 8px; background: #101619; color: #edf5f5; }
.reserve-dialog::backdrop { background: #0009; }
.reserve-dialog h2 { margin: 0 0 20px; font-size: 20px; }
.reserve-dialog form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.reserve-dialog label { display: grid; gap: 7px; font-size: 13px; color: #bfd0d4; }
.reserve-dialog input, .reserve-dialog select, .reserve-dialog textarea { width: 100%; min-width: 0; background: #0b1013; color: #ecf3f5; border: 1px solid #344349; border-radius: 5px; padding: 10px; font: inherit; }
.reserve-dialog textarea { resize: vertical; min-height: 76px; }
.reserve-dialog .reserve-wide { grid-column: 1 / -1; }
.reserve-dialog .reserve-check { display: flex; align-items: flex-start; gap: 10px; }
.reserve-dialog .reserve-check input { width: 16px; height: 16px; flex: 0 0 16px; }
.reserve-dialog footer { display: flex; justify-content: flex-end; gap: 8px; }
.reserve-dialog .reserve-error { color: #ff9292; white-space: pre-wrap; margin: 0; }
.reserve-dialog .reserve-binding { overflow-wrap: anywhere; color: #f4ca63; margin: 0; }
.reserve-dialog .reserve-import-hint { line-height: 1.8; color: #bfd0d4; margin: 0; overflow-wrap: anywhere; }
.reserve-dialog .reserve-import-hint strong { display: inline-block; color: #edf5f5; }
.reserve-dialog .reserve-import-text { min-height: 280px; font-family: ui-monospace, Consolas, monospace; white-space: pre; }
@media (max-width: 700px) {
  .reserve-dialog { padding: 18px; }
  .reserve-dialog form { grid-template-columns: 1fr; }
  .reserve-dialog .reserve-wide { grid-column: 1; }
  .reserve-dialog footer { flex-wrap: wrap; }
}
