/* HMS-349 — Emergency relocation admin index (layout basics only) */

.relocation-cases__section {
  margin-top: 1.5rem;
}

.relocation-cases__kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
}

.relocation-cases__kpi {
  padding: 0.75rem 1rem;
  border: 1px solid var(--wa-color-surface-border);
  border-radius: 8px;
  background: var(--wa-color-surface-default);
}

.relocation-cases__kpi-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.5rem;
  border-radius: 8px;
  font-size: 0.9rem;
}

.relocation-cases__kpi--active .relocation-cases__kpi-icon {
  background: rgba(41, 93, 119, 0.12);
  color: #295D77;
}

.relocation-cases__kpi--pending .relocation-cases__kpi-icon {
  background: rgba(180, 130, 20, 0.15);
  color: #8a6510;
}

.relocation-cases__kpi--relocated .relocation-cases__kpi-icon {
  background: rgba(46, 125, 50, 0.12);
  color: #2e7d32;
}

.relocation-cases__kpi--hotels .relocation-cases__kpi-icon {
  background: rgba(96, 60, 158, 0.12);
  color: #603c9e;
}

.relocation-cases__section-title {
  font-size: 18px;
  color: #1B1D26;
}

.relocation-cases__desc {
  font-size: 16px;
  color: #545868;
}

.relocation-cases__kpi-value {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.relocation-cases__kpi-label {
  font-size: 0.8rem;
  color: var(--wa-color-text-quiet);
}

.relocation-cases__table {
  width: 100%;
  border-collapse: collapse;
}

.relocation-cases__table th,
.relocation-cases__table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--wa-color-surface-border);
}

.relocation-cases__table th {
  font-size: 16px;
  color: #1B1D26;
}

.relocation-cases__table th i {
  margin-right: 0.35rem;
  color: var(--wa-color-text-quiet);
}

/* UI review (HMS-452): the generic .admin-table-wrap rule sizes the table to
   max-content, so one long Reason text stretched the table past the wrap and
   pushed Status/Actions off-viewport at 1440. Let the table fit the wrap —
   cells wrap as units, and content min-widths still force a scroll on very
   narrow screens. Specificity must outrank `.admin-table-wrap table`. */
.admin-table-wrap .relocation-cases__table {
  min-width: 0;
}

.relocation-cases__form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.relocation-cases__empty {
  color: var(--wa-color-text-quiet);
}

.relocation-cases__pages {
  margin-top: 0.75rem;
}

.relocation-cases__dialog-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.25rem 0;
  font-size: 0.85rem;
  color: var(--wa-color-text-quiet);
}

.relocation-cases__dialog-sub {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  color: var(--wa-color-text-quiet);
}

.relocation-cases__dialog-divider {
  border: 0;
  border-top: 1px solid var(--wa-color-surface-border);
  margin: 0.75rem 0;
}

.relocation-cases__dialog-heading {
  font-size: 1rem;
  font-weight: 600;
  margin: 0.5rem 0 0.75rem;
}

.relocation-cases__dialog-dates {
  display: flex;
  gap: 1rem;
  margin: 0.75rem 0;
}

.relocation-cases__dialog-dates label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.8rem;
  color: var(--wa-color-text-quiet);
}

.relocation-cases__dialog-dates input {
  width: 100%;
}

.relocation-cases__dialog-note {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  color: var(--wa-color-text-quiet);
  background: var(--wa-color-surface-lowered);
  border-radius: 8px;
  padding: 0.625rem 0.75rem;
}

.relocation-cases__dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
}

.relocation-cases__room-option {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  border: 1px solid var(--wa-color-surface-border);
  border-radius: 8px;
  background: var(--wa-color-surface-default);
  cursor: pointer;
}

.relocation-cases__room-option:hover {
  border-color: var(--wa-color-brand);
}

.relocation-cases__room-option:has(input:checked) {
  border-color: #295D77;
  box-shadow: 0 0 0 1px #295D77;
}

.relocation-cases__room-title {
  display: block;
  font-size: 0.95rem;
}

.relocation-cases__room-sub {
  display: block;
  font-size: 0.85rem;
  color: var(--wa-color-text-quiet);
}

/* Blocks that cannot take the case's stay (no coverage or zero rooms) stay
   visible but unselectable — staff see why an option is out, not an error
   after submitting. */
.relocation-cases__room-option--unavailable {
  opacity: 0.55;
  cursor: not-allowed;
}

.relocation-cases__room-option--unavailable:hover {
  border-color: var(--wa-color-surface-border);
}

/* Per-case workflow steps under the status pill — QA needs to see where each
   case sits in search → assign → relocate, not just a status word. */
.relocation-cases__steps {
  list-style: none;
  margin: 0.4rem 0 0;
  padding: 0;
  font-size: 0.75rem;
  line-height: 1.5;
}

.relocation-cases__step {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--wa-color-text-quiet);
}

.relocation-cases__step-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.875rem;
  height: 0.875rem;
  border: 1px solid var(--wa-color-surface-border);
  border-radius: 50%;
  font-size: 0.625rem;
  line-height: 1;
  flex: none;
}

.relocation-cases__step--done {
  color: var(--wa-color-text-normal);
}

.relocation-cases__step--done .relocation-cases__step-dot {
  border-color: var(--wa-color-success);
  background: var(--wa-color-success);
  color: var(--wa-color-success-on-loud);
}

.relocation-cases__step--current {
  color: var(--wa-color-text-normal);
  font-weight: 600;
}

.relocation-cases__step--current .relocation-cases__step-dot {
  border-color: var(--wa-color-brand);
  box-shadow: inset 0 0 0 2px var(--wa-color-brand);
}
