/* Rate card editor — HMS-15 AC2 */

.rate-editor {
  /* Was var(--wa-space-xl) — a spacing token (~2rem) that collapsed the whole
     editor to a ~30px column. 72rem matches the hotel_detail convention and
     gives the rate table room. */
  max-width: 72rem;
}

/* Header: wrapping flex row */
.rate-editor__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wa-space-s);
  margin-bottom: var(--wa-space-l);
}

/* Title uses heading font/weight at 2xl */
.rate-editor__title {
  font-family: var(--wa-font-family-heading);
  font-weight: var(--wa-font-weight-heading);
  font-size: var(--wa-font-size-2xl);
  margin: 0;
}

/* Subtitle quiet text, small size */
.rate-editor__subtitle {
  color: var(--wa-color-text-quiet);
  font-size: var(--wa-font-size-s);
  margin: 0;
  width: 100%;
}

/* Notice callout with vertical spacing */
.rate-editor__notice {
  margin-top: var(--wa-space-l);
  margin-bottom: var(--wa-space-l);
}

/* Form wrapper */
.rate-editor__form {
  display: flex;
  flex-direction: column;
  gap: var(--wa-space-l);
}

/* Horizontally scrollable table container */
.rate-editor__table-wrap {
  overflow-x: auto;
}

/* Full-width table with collapsed borders */
.rate-editor__table {
  width: 100%;
  border-collapse: collapse;
}

.rate-editor__table th,
.rate-editor__table td {
  text-align: left;
  padding: var(--wa-space-s);
  border-bottom: 1px solid var(--wa-color-surface-border);
}

/* Actions row: flex with gap and wrap */
.rate-editor__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wa-space-m);
}

/* Empty state: centred bordered rounded panel */
.rate-editor__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--wa-space-xl);
  margin-top: var(--wa-space-l);
  border: 1px solid var(--wa-color-neutral-border-quiet);
  border-radius: var(--wa-border-radius-m);
  background-color: var(--wa-color-surface-lowered);
  text-align: center;
}

.rate-editor__empty-title {
  color: var(--wa-color-text-normal);
  font-size: var(--wa-font-size-m);
  margin: 0 0 var(--wa-space-xs);
}

.rate-editor__empty-hint {
  color: var(--wa-color-text-quiet);
  font-size: var(--wa-font-size-s);
  margin: 0;
}