.brand-directory { padding-top:32px; padding-bottom:12px; }
.brand-directory-intro { max-width:76ch; margin:0 0 20px; font:400 12px/1.8 var(--mono); color:var(--ink-soft, #625d55); }
.brand-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,.45fr); gap:12px; margin-bottom:12px; }
.brand-filters label, .brand-picker label { display:grid; gap:8px; min-width:0; font:500 10px/1.4 var(--mono); letter-spacing:.07em; }
.brand-filters input, .brand-filters select, .brand-picker input, .brand-picker select { width:100%; min-width:0; min-height:44px; border:1px solid #d5d1ca; border-radius:0; padding:10px 12px; background:var(--paper, #fdfcfa); color:var(--ink, #1d1d1f); font:400 12px/1.5 var(--mono); }
.brand-filters :is(input,select):focus-visible, .brand-picker :is(input,select):focus-visible { outline:2px solid var(--ink, #1d1d1f); outline-offset:3px; }
.brand-directory-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; max-height:410px; overflow-y:auto; overscroll-behavior:contain; border-top:1px dashed #c8c1b6; scrollbar-width:thin; scrollbar-color:#aaa39a transparent; }
.brand-entry { padding:18px 0; border-bottom:1px dashed #c8c1b6; min-width:0; }
.brand-entry-heading { display:flex; justify-content:space-between; align-items:baseline; gap:10px; font:500 13px/1.5 var(--mono); }
.brand-entry-heading strong { font-weight:600; overflow-wrap:anywhere; }
.brand-entry-heading b { color:var(--green, #5c7a52); white-space:nowrap; font-size:11px; }
.brand-entry-category { display:block; margin-top:5px; font:400 10px/1.5 var(--mono); color:var(--ink-soft, #625d55); }
.brand-entry p { margin:9px 0; font:400 11px/1.7 var(--mono); color:var(--ink-soft, #625d55); overflow-wrap:anywhere; }
.brand-entry-state { font:500 9px/1.5 var(--mono); color:var(--ink-soft, #625d55); }
.brand-directory-count, .brand-catalog-status, .brand-empty, .brand-picker-status { font:400 11px/1.7 var(--mono); color:var(--ink-soft, #625d55); }
.brand-catalog-status { margin:12px 0; }
.brand-directory-count { margin:10px 0; }
.brand-empty { grid-column:1 / -1; padding:18px 0; }
.brand-picker { display:grid; gap:12px; margin-top:16px; }
.brand-picker-status { margin:0; }
.brand-directory-compact .brand-directory-list { grid-template-columns:minmax(0,1fr); max-height:350px; }
.brand-directory-compact .brand-filters { grid-template-columns:minmax(0,1fr); }
.brand-directory-compact .brand-entry { padding:14px 0; }
.text-receipt-art { aspect-ratio:3 / 4; display:flex; flex-direction:column; justify-content:center; padding:28px 24px; gap:20px; background:#f6f2e9; font:400 12px/1.7 var(--mono); color:var(--ink); }
.text-receipt-art strong { text-align:center; font-size:16px; letter-spacing:.08em; }
.text-receipt-art .receipt-art-row { display:flex; justify-content:space-between; gap:12px; border-bottom:1px dashed #b8b0a2; padding-bottom:12px; }
.text-receipt-art small { text-align:center; font-size:9px; letter-spacing:.1em; }
@media(max-width:800px) { .brand-directory-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .brand-filters, .brand-directory-list { grid-template-columns:minmax(0,1fr); } .brand-directory { padding-top:24px; } }

.upcoming-brands{margin:20px 0;padding:16px;border:1px dashed #b8b0a2;color:#6e665c;font:400 12px/1.7 var(--mono);overflow-wrap:anywhere}.upcoming-brands summary{cursor:pointer;font-weight:600}.upcoming-brands p{margin:10px 0 0}
