:root {
  --supermarket-0: #e4ded4;
  --supermarket-1: #f6e0bc;
  --supermarket-2: #efc27c;
  --supermarket-3: #df9251;
  --supermarket-4: #b95d35;
  --supermarket-5: #7f2f20;
  --supermarket-dark: #6a281b;
}
.brand span { color: var(--supermarket-4); }
.loading-mark { border-right-color: var(--supermarket-4); }
.meter i { background: linear-gradient(90deg, var(--supermarket-2), var(--supermarket-5)); }
.supermarket-title h1 { font-size: clamp(34px, 4.7vw, 64px); }
.supermarket-dashboard { grid-template-columns: minmax(0, 1fr) 350px; min-height: 675px; }
.supermarket-toolbar { min-height: 52px; }
.supermarket-toolbar > div { align-items: baseline; display: flex; gap: 12px; }
.supermarket-toolbar .eyebrow { margin: 0; }
.supermarket-toolbar strong { font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 400; }
.supermarket-toolbar > p { color: var(--muted); font-size: 8px; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.supermarket-map-frame { min-height: 610px; }
.supermarket-legend { overflow-x: auto; }
.supermarket-legend .legend-item { flex: 0 0 auto; }
.supermarket-selection { min-height: 190px; }
#selection-detail { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 9px; }
#selection-detail[hidden] { display: none; }
.mcd-list { list-style: none; margin: 0; max-height: 300px; overflow-y: auto; padding: 0; }
.mcd-list li { border-bottom: 1px solid rgba(150,144,134,.28); display: grid; gap: 3px; padding: 9px 0; }
.mcd-list li:last-child { border-bottom: 0; }
.mcd-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-weight: 400; line-height: 1.25; }
.mcd-list span { color: var(--muted); font-size: 8px; line-height: 1.35; }
.mcd-empty { color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: 11px; line-height: 1.45; margin: 0; }
.scope-note { padding: 17px 24px; }
.scope-note p:last-child { color: var(--muted); font-family: Georgia, serif; font-size: 11px; line-height: 1.5; margin: 0; }
.grid-cell { transition: fill .22s ease, opacity .15s ease, stroke .15s ease; }
@media (max-width: 1050px) { .supermarket-dashboard { grid-template-columns: 1fr 310px; } }
@media (max-width: 780px) { .supermarket-dashboard { display: block; } .supermarket-map-frame { min-height: 510px; } .supermarket-toolbar { align-items: flex-start; } .supermarket-toolbar > div { align-items: flex-start; flex-direction: column; gap: 2px; } }
@media (max-width: 500px) { .supermarket-title h1 { font-size: 40px; } .supermarket-map-frame { min-height: 450px; } }
