﻿.reviews-page{display:grid;gap:1rem}
    .reviews-hero{
      border:1px solid #e5e7eb;
      border-radius:1.2rem;
      background:linear-gradient(135deg,#ffffff 0%,#fbfdff 38%,#f8fafc 100%);
      box-shadow:0 24px 50px rgba(15,23,42,.06);
      padding:1.15rem;
      display:grid;
      gap:1.15rem;
    }
    .reviews-hero__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
    .reviews-hero__title{margin:0;font-size:1.75rem;font-weight:800;color:#111827}
    .reviews-hero__copy{margin:.35rem 0 0;color:#6b7280;max-width:78ch}
    .reviews-kpis{display:flex;gap:.7rem;flex-wrap:wrap}
    .reviews-kpi{
      min-width:120px;
      border:1px solid rgba(226,232,240,.9);
      border-radius:1rem;
      background:rgba(255,255,255,.85);
      padding:.75rem .9rem;
      display:grid;
      gap:.2rem;
    }
    .reviews-kpi__label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#475569}
    .reviews-kpi__value{font-size:1.25rem;font-weight:800;color:#111827}
    .reviews-kpi__sub{font-size:.82rem;color:#6b7280}
    .reviews-scale{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:.85rem;
      align-items:end;
    }
    .reviews-scale__item{
      border:1px solid rgba(226,232,240,.95);
      border-radius:1rem;
      background:rgba(255,255,255,.92);
      padding:.85rem .85rem .9rem;
      display:grid;
      gap:.55rem;
      min-height:240px;
    }
    .reviews-scale__head{display:grid;gap:.15rem;justify-items:center;text-align:center}
    .reviews-scale__emoji{font-size:2.2rem;line-height:1}
    .reviews-scale__label{font-size:.84rem;font-weight:700;color:#334155}
    .reviews-scale__count{font-size:1.5rem;font-weight:800;color:#111827}
    .reviews-scale__percent{font-size:.8rem;color:#6b7280}
    .reviews-scale__track{
      margin-top:auto;
      height:120px;
      border-radius:.9rem;
      background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
      position:relative;
      overflow:hidden;
      display:flex;
      align-items:flex-end;
    }
    .reviews-scale__bar{
      width:100%;
      border-radius:.9rem .9rem .45rem .45rem;
      background:linear-gradient(180deg,#f59e0b 0%,#ea580c 100%);
      min-height:6px;
    }
    .reviews-card{
      border:1px solid #e5e7eb;
      border-radius:1.1rem;
      background:#fff;
      box-shadow:0 18px 44px rgba(15,23,42,.05);
      padding:1rem;
      display:grid;
      gap:1rem;
    }
    .reviews-card__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}
    .reviews-card__title{margin:0;font-size:1.05rem;font-weight:800;color:#111827}
    .reviews-card__muted{color:#6b7280}
    .reviews-filter{
      display:grid;
      grid-template-columns:minmax(260px,420px) auto;
      gap:.75rem;
      align-items:end;
    }
    .reviews-filter__field{display:grid;gap:.35rem}
    .reviews-filter__field label{font-size:.9rem;font-weight:700;color:#374151}
    .reviews-filter__select{
      width:100%;
      border:1px solid #d1d5db;
      border-radius:.85rem;
      padding:.72rem .82rem;
      font:inherit;
      color:#111827;
      background:#fff;
    }
    .reviews-filter__actions{display:flex;gap:.5rem;flex-wrap:wrap}
    .reviews-question-summary{
      display:flex;
      gap:.75rem;
      flex-wrap:wrap;
      align-items:center;
      border:1px solid #e5e7eb;
      border-radius:1rem;
      background:#f8fafc;
      padding:.8rem .9rem;
    }
    .reviews-question-summary__text{font-weight:700;color:#0f172a}
    .reviews-pill{
      display:inline-flex;
      align-items:center;
      border-radius:999px;
      padding:.28rem .65rem;
      font-size:.78rem;
      font-weight:800;
      background:#eef2ff;
      color:#3730a3;
    }
    .reviews-pill--yes{background:#dcfce7;color:#166534}
    .reviews-pill--no{background:#fee2e2;color:#b91c1c}
    .reviews-table-wrap{overflow:auto}
    .reviews-table{width:100%;min-width:1100px;border-collapse:collapse}
    .reviews-table th,.reviews-table td{
      padding:.85rem .75rem;
      border-bottom:1px solid #f1f5f9;
      vertical-align:top;
      text-align:left;
    }
    .reviews-table th{
      font-size:.76rem;
      text-transform:uppercase;
      letter-spacing:.06em;
      color:#64748b;
      font-weight:800;
    }
    .reviews-table tr:last-child td{border-bottom:0}
    .reviews-reservation{display:grid;gap:.22rem}
    .reviews-reservation__name{font-weight:800;color:#111827}
    .reviews-reservation__meta{font-size:.82rem;color:#6b7280}
    .reviews-score{display:grid;gap:.15rem}
    .reviews-score__emoji{font-size:1.4rem;line-height:1}
    .reviews-score__label{font-size:.82rem;color:#6b7280}
    .reviews-answer-list{display:grid;gap:.35rem}
    .reviews-answer-item{display:grid;gap:.15rem}
    .reviews-answer-item__text{font-size:.82rem;color:#334155}
    .reviews-comment{max-width:34ch;white-space:normal;color:#334155}
    .reviews-empty{
      border:1px dashed #cbd5e1;
      border-radius:1rem;
      padding:1rem;
      text-align:center;
      color:#6b7280;
      background:#f8fafc;
    }
    @media (max-width: 1100px) {
      .reviews-scale{grid-template-columns:repeat(2,minmax(0,1fr))}
      .reviews-filter{grid-template-columns:1fr}
    }
    @media (max-width: 700px) {
      .reviews-scale{grid-template-columns:1fr}
    }

/* Match the Bon Maître application chrome used by the dashboard and options pages. */
.reviews-page{gap:1.25rem}
.reviews-hero{
  border-color:var(--bm-border, #D8D2C4);
  border-radius:1rem;
  background:linear-gradient(135deg, var(--bm-linen, #F7F3EA) 0%, #fffaf1 62%, rgba(231,226,214,.62) 100%);
  box-shadow:0 10px 30px rgba(31,42,36,.04);
  padding:1.25rem;
}
.reviews-hero__title{
  color:var(--bm-ink, #1F2A24);
  font-size:1.65rem;
  letter-spacing:-.02em;
}
.reviews-hero__copy,
.reviews-kpi__sub,
.reviews-scale__percent,
.reviews-card__muted,
.reviews-reservation__meta,
.reviews-score__label,
.reviews-answer-item__text,
.reviews-comment,
.reviews-empty{color:var(--bm-muted, #6F766F)}
.reviews-kpis{gap:.6rem}
.reviews-kpi{
  min-width:132px;
  border-color:var(--bm-border, #D8D2C4);
  border-radius:.85rem;
  background:rgba(255,255,255,.72);
  padding:.75rem .85rem;
}
.reviews-kpi__label,
.reviews-table th{color:var(--bm-muted, #6F766F)}
.reviews-kpi__value,
.reviews-scale__count,
.reviews-card__title,
.reviews-question-summary__text,
.reviews-reservation__name{color:var(--bm-ink, #1F2A24)}
.reviews-scale{gap:.7rem}
.reviews-scale__item{
  min-height:224px;
  border-color:var(--bm-border, #D8D2C4);
  border-radius:.85rem;
  background:rgba(255,255,255,.72);
  padding:.8rem;
}
.reviews-scale__label{color:var(--bm-ink, #1F2A24)}
.reviews-scale__track{background:linear-gradient(180deg, rgba(125,135,126,.1) 0%, rgba(125,135,126,.2) 100%)}
.reviews-scale__bar{background:linear-gradient(180deg, var(--bm-sage, #7D877E) 0%, var(--bm-green, #2F3D34) 100%)}
.reviews-card{
  border-color:var(--bm-border, #D8D2C4);
  border-radius:1rem;
  background:var(--bm-linen, #F7F3EA);
  box-shadow:0 10px 30px rgba(31,42,36,.04);
  padding:1.15rem;
}
.reviews-filter__field label{color:var(--bm-ink, #1F2A24)}
.reviews-filter__select{
  border-color:var(--bm-border, #D8D2C4);
  border-radius:.75rem;
  background:#fffaf1;
  color:var(--bm-ink, #1F2A24);
}
.reviews-filter__select:focus{
  border-color:var(--bm-green, #2F3D34);
  box-shadow:0 0 0 3px rgba(47,61,52,.12);
  outline:0;
}
.reviews-question-summary{
  border-color:var(--bm-border, #D8D2C4);
  border-radius:.85rem;
  background:rgba(125,135,126,.1);
}
.reviews-pill{background:rgba(125,135,126,.16);color:var(--bm-green, #2F3D34)}
.reviews-pill--yes{background:rgba(47,61,52,.14);color:var(--bm-green, #2F3D34)}
.reviews-pill--no{background:rgba(141,74,67,.12);color:var(--bm-wine, #8D4A43)}
.reviews-table th,.reviews-table td{border-bottom-color:rgba(216,210,196,.72)}
.reviews-table tbody tr{transition:background-color .16s ease}
.reviews-table tbody tr:hover{background:rgba(255,255,255,.5)}
.reviews-score__emoji{filter:saturate(.82)}
.reviews-empty{
  border-color:var(--bm-border, #D8D2C4);
  border-radius:.85rem;
  background:rgba(255,250,241,.72);
}

@media (max-width: 700px) {
  .reviews-hero,
  .reviews-card{padding:1rem}
  .reviews-kpis{width:100%}
  .reviews-kpi{flex:1 1 0}
  .reviews-scale__item{min-height:0}
  .reviews-scale__track{height:88px}
}

