.salon-reception {
  --reception-rule: #dedcea;
  --reception-wash: #f2f0f9;
  display: grid;
  gap: 26px;
  min-width: 0;
  overflow-wrap: anywhere;
  container-type: inline-size;
}

.salon-reception :is(button, input) { min-height: 44px; }
.salon-reception button { max-width: 100%; }
.reception-header { display: grid; gap: 15px; justify-items: start; }
.reception-header h1 { display: block; font-size: clamp(33px, 5cqi, 57px); }
.reception-copy { color: var(--muted); font-size: 13px; }
.reception-header .reception-copy { max-width: 56ch; margin-top: 7px; font-size: 15px; }
.reception-reception, .reception-retention { display: grid; gap: 14px; min-width: 0; }

.reception-queue-tools {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px clamp(14px, 3cqi, 24px);
  border: 1px solid var(--reception-rule);
  border-radius: 12px;
  background: var(--reception-wash);
}

.reception-connection { display: grid; gap: 4px; }
.reception-connection-label, .reception-row-head, .reception-actions, .reception-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}
.reception-connection-label { font-weight: 650; }
.reception-meta { gap: 3px 8px; }

.reception-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 5px;
  background: var(--canvas);
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}
.reception-badge::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.reception-badge[data-tone="accent"] { color: var(--accent-dark); background: var(--accent-wash); }
.reception-badge[data-tone="good"] { color: var(--green); background: #e8f2ec; }
.reception-badge[data-tone="attention"] { color: #80531d; background: #f9efdf; }

.reception-queue, .reception-retention-grid { display: grid; gap: 14px; align-items: start; }
.reception-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(15px, 3cqi, 24px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
}
.reception-panel-head, .reception-panel-body { display: grid; gap: 8px; min-width: 0; }
.reception-panel-body { gap: 10px; }
.reception-panel-head > :is(h2, h3) { font-size: 19px; line-height: 1.25; letter-spacing: -.025em; }
.reception-panel-body > h3 { margin-top: 4px; font-size: 14px; font-weight: 650; }
.reception-panel-body > h3:first-child { margin-top: 0; }
.reception-empty {
  padding: 11px 12px;
  border-inline-start: 2px solid var(--reception-rule);
  background: var(--canvas);
  color: var(--muted);
  font-size: 13px;
}
.reception-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.reception-row {
  display: grid;
  gap: 5px;
  justify-items: start;
  min-width: 0;
  padding-block: 11px;
  border-bottom: 1px solid var(--line);
}
.reception-row:last-child { border-bottom: 0; }
.reception-row > .button, .reception-row > .reception-actions { margin-top: 5px; }
.reception-message { max-width: 65ch; font-size: 14px; white-space: pre-wrap; }
.reception-error { width: fit-content; max-width: 100%; }

.reception-retention {
  padding-top: 22px;
  border-top: 1px solid var(--reception-rule);
}
.reception-retention-title { font: 400 clamp(25px, 4cqi, 35px) / 1.15 Georgia, serif; letter-spacing: -.04em; }
.reception-retention-head { display: grid; gap: 14px; align-items: end; }
.reception-retention-head > div { display: grid; gap: 5px; }
.reception-date-form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.reception-date-field { display: grid; gap: 4px; max-width: 100%; }
.reception-date-field label { display: grid; gap: 4px; color: var(--muted); font-size: 13px; font-weight: 650; }
.reception-date-field input {
  width: 100%;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid var(--control-line);
  border-radius: 8px;
  background: var(--paper);
}
.reception-report {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 105px), 1fr));
  gap: 10px 12px;
}
.reception-report > div { padding-top: 8px; border-top: 1px solid var(--line); }
.reception-report dt { color: var(--muted); font-size: 13px; }
.reception-report dd { font-size: 23px; font-weight: 650; font-variant-numeric: tabular-nums; }
.reception-review {
  display: grid;
  gap: 8px;
  width: 100%;
  margin-top: 4px;
  padding: 12px;
  border: 1px solid var(--reception-rule);
  border-radius: 8px;
  background: var(--reception-wash);
}
.reception-evidence {
  display: grid;
  gap: 3px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--reception-rule);
}
.reception-evidence > strong { margin-bottom: 3px; font-size: 13px; }
.reception-panel-body > .button { justify-self: start; }

@container (min-width: 680px) {
  .reception-queue { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .reception-retention-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .reception-retention-head { grid-template-columns: minmax(0, 1fr) auto; }
}

@container (max-width: 340px) {
  .reception-date-form > *, .reception-queue-tools > .button { width: 100%; }
}
