/* Brand geometry and source palette: docs/brand/BRAND.md.
   Analytical curve colors retain their semantic separation. */
:root {
  --brand-ink: #2f3a40;
  --brand-brown: #4a3f36;
  --brand-olive: #6e7a63;
  --brand-tan: #a4896c;
  --brand-sand: #e0d4ba;
  --brand-cream: #e6dfd6;
  --green: var(--brand-brown);
  --border: #e6e1da;
  --muted: #717875;
  color: var(--brand-ink);
  background: #f7f5f1;
}
header { min-height: 102px; }
.brand { gap: 22px; }
.brand-logo { display: block; width: 190px; height: auto; flex-shrink: 0; }
.brand-app { padding-left: 22px; border-left: 1px solid var(--brand-cream); }
.brand-app strong { display: block; color: var(--brand-brown); font-size: 19px; font-weight: 500; letter-spacing: -.02em; }
.brand-app small { margin-top: 4px; font-size: 11px; letter-spacing: .015em; }
nav { gap: 34px; }
nav a { font-size: 14px; }
main { padding-top: 26px; }
h1, h2, h3 { color: var(--brand-ink); }
h1 { font-weight: 550; }
button, .button { border-color: var(--brand-brown); background: var(--brand-brown); }
button:hover, .button:hover { border-color: var(--brand-ink); background: var(--brand-ink); }
.subtle { background: #fff; color: var(--brand-brown); border-color: var(--border); }
.subtle:hover { background: #f4f0e9; border-color: #d3c7b5; }
.link-button { background: transparent; border: 0; color: var(--brand-brown); }
.link-button:hover { background: transparent; }
.period-switch button.active { color: #fff; border-color: var(--brand-brown); background: var(--brand-brown); }
input, select, textarea { color: var(--brand-ink); border-color: #d8d2ca; }
button:focus-visible, a:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-color: var(--brand-olive);
}
.filters, .panel, .review-card, .kpi { background: #fff; }
.filters { border-radius: 14px; padding: 20px; }
.panel { border-radius: 14px; padding: 26px; }
.count { background: #eeeae3; color: var(--brand-brown); }
.count strong { color: var(--brand-ink); }
.kpi { border-radius: 14px; }
.kpi.primary { border-color: var(--brand-olive); }
.kpi-value { color: var(--brand-ink); }
.coverage-summary { background: #f8f5ef; border-color: #e9e1d3; color: #77654f; }
.coverage-good { color: #56634c; }
.coverage-source, .scope-caption { color: #737a71; }
.tag { background: #f1ede5; color: #76624b; }
.issue-status-badge { background: #ecefe7; color: #536149; }
.stars { color: #876746; }
th { color: var(--muted); }
td, th { border-bottom-color: #eee9e2; }
.row { border-bottom-color: #eee9e2; }
.review-card-head { color: var(--muted); }
.review-tags .complaint { background: #fff0e8; color: #8e4d30; }
.review-tags .praise { background: #edf1e8; color: #526448; }
.picker { border-color: var(--border); box-shadow: 0 10px 28px #4a3f3612; }
.product-image { background: #f5f3ef; border-color: #e9e4dc; }
.product-image.image-missing { color: #8e9088; }
.model-option { border-bottom-color: #ece7de; }
.chart svg .chart-grid { stroke: #ebe8e1; }
.chart svg text { fill: #737a76; }
.chart svg .axis-title { fill: var(--brand-brown); }
.chart-tooltip { background: #f6f3ec; border-color: #e2d8c8; color: var(--brand-brown); }
.chart-empty { background: repeating-linear-gradient(0deg,transparent,transparent 59px,#efede7 59px,#efede7 60px); }
.chart-empty strong { color: var(--brand-brown); }
dialog { color: var(--brand-ink); border-color: var(--border); }
dialog::backdrop { background: #2f3a405e; }
blockquote { background: #f6f4ee; border-left-color: var(--brand-sand); }
.edit-labels, pre { background: #f5f3ee; }
@media (max-width: 900px) {
  .brand { gap: 16px; }
  .brand-app { padding-left: 16px; }
}
@media (max-width: 600px) {
  header { min-height: 124px; padding-top: 20px; }
  .brand-logo { width: 157px; }
  .brand-app strong { font-size: 17px; }
  .brand-app small { font-size: 10px; }
  nav { gap: 23px; }
  .filters { padding: 15px; }
  .panel { padding: 19px; }
  .count { padding: 12px 8px; }
}
