.review-rooms-app {
  display: grid;
  gap: 1.5rem;
}

.review-rooms-header .app-page-header__inner {
  align-items: center;
}

.review-rooms-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  justify-content: space-between;
  padding: 1.25rem;
  border: 1px solid rgb(15 23 42 / 8%);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgb(248 250 252 / 94%), rgb(255 255 255 / 98%));
}

.review-rooms-toolbar__field {
  min-width: min(24rem, 100%);
  flex: 1 1 20rem;
  margin: 0;
}

.review-rooms-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.review-rooms-empty,
.review-room-detail-empty {
  padding: 1.5rem;
  border: 1px dashed rgb(15 23 42 / 18%);
  border-radius: 1.25rem;
  background: rgb(248 250 252 / 72%);
}

.review-rooms-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr);
}

.review-rooms-panel,
.review-room-section {
  border: 1px solid rgb(15 23 42 / 8%);
  border-radius: 1.25rem;
  background: #fff;
}

.review-rooms-panel {
  padding: 1.25rem;
}

.review-rooms-panel__header,
.review-room-section__header,
.review-room-detail__header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.review-rooms-panel__eyebrow {
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #475569;
}

.review-rooms-list,
.review-room-sections {
  display: grid;
  gap: 1rem;
}

.review-room-card {
  width: 100%;
  text-align: left;
  padding: 1rem;
  border: 1px solid rgb(15 23 42 / 9%);
  border-radius: 1rem;
  background: rgb(248 250 252 / 80%);
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.review-room-card:hover,
.review-room-card:focus-visible,
.review-room-card--active {
  border-color: rgb(14 116 144 / 34%);
  background: rgb(236 254 255 / 92%);
  transform: translateY(-1px);
}

.review-room-card__header,
.review-room-card__meta,
.review-room-inline-form,
.review-room-form__grid,
.review-room-list-item,
.review-room-detail__badges,
.review-room-form__actions {
  display: flex;
  gap: 0.75rem;
}

.review-room-card__header,
.review-room-list-item {
  justify-content: space-between;
  align-items: start;
}

.review-room-card__header h3,
.review-room-card__header p,
.review-room-list-item p {
  margin: 0;
}

.review-room-card__header p,
.review-room-card__meta,
.review-room-detail__meta,
.review-room-list-item p,
.review-room-list-block__empty {
  color: #475569;
  font-size: 0.95rem;
}

.review-room-card__meta {
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

.review-room-card__pill,
.review-room-list-item__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgb(15 23 42 / 8%);
  color: #0f172a;
}

.review-room-card__pill--private {
  background: rgb(15 23 42 / 8%);
}

.review-room-card__pill--workspace {
  background: rgb(14 116 144 / 12%);
  color: #155e75;
}

.review-room-card__pill--status {
  background: rgb(14 165 233 / 12%);
  color: #075985;
}

.review-room-detail__meta {
  margin: 0.35rem 0 0;
}

.review-room-form,
.review-room-section {
  padding: 1rem;
}

.review-room-form__grid {
  flex-wrap: wrap;
}

.review-room-form__grid .field-group {
  flex: 1 1 14rem;
  margin: 0;
}

.review-room-form__full {
  flex-basis: 100%;
}

.review-room-inline-form {
  flex-wrap: wrap;
  align-items: end;
  margin-bottom: 1rem;
}

.review-room-inline-form .field-group {
  flex: 1 1 14rem;
  margin: 0;
}

.review-room-list-block {
  display: grid;
  gap: 0.75rem;
}

.review-room-list-item {
  padding: 0.9rem 1rem;
  border: 1px solid rgb(15 23 42 / 8%);
  border-radius: 0.9rem;
  background: rgb(248 250 252 / 72%);
}

.review-room-list-item strong {
  display: block;
  margin-bottom: 0.2rem;
}

.review-room-list-item--activity {
  align-items: center;
}

@media (width <= 960px) {
  .review-rooms-grid {
    grid-template-columns: 1fr;
  }
}
