.chart-container[data-chart-brand-filter] [hidden] { display: none !important; }
.chart-brand-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 8px 16px; margin: 12px 5px 4px; color: #405a6d; font-size: 14px; }
.chart-brand-controls fieldset { flex: 0 1 300px; min-width: 0; width: 100%; margin: 0; padding: 0; border: 0; }
.chart-brand-controls legend { padding: 0 0 6px; font-weight: 600; }
.chart-brand-controls details { position: relative; min-width: 0; }
.chart-brand-controls summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; box-sizing: border-box; padding: 8px 12px; border: 1px solid #b5c6d3; border-radius: 6px; background: #fff; color: #23465e; cursor: pointer; list-style: none; }
.chart-brand-controls summary::-webkit-details-marker { display: none; }
.chart-brand-controls summary > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chart-brand-menu { position: absolute; z-index: 20; inset-inline: 0; top: calc(100% + 4px); padding: 8px; border: 1px solid #b5c6d3; border-radius: 6px; background: #fff; box-shadow: 0 6px 18px #18384d26; }
.chart-brand-menu button { width: 100%; min-height: 36px; margin: 0 0 6px; padding: 6px 10px; border: 1px solid #b5c6d3; border-radius: 4px; background: #f0f7fc; color: #23465e; text-align: start; font: inherit; cursor: pointer; }
[data-chart-brand-options] { max-height: min(280px, 45vh); overflow-y: auto; overscroll-behavior: contain; }
[data-chart-brand-options] label { display: flex; align-items: center; gap: 10px; min-height: 40px; padding-inline: 6px; cursor: pointer; }
[data-chart-brand-options] label:hover { background: #edf5fa; }
[data-chart-brand-options] input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: #1265a2; }
.chart-brand-controls :is(summary, button, input):focus-visible { outline: 2px solid #005caa; outline-offset: 2px; }
[data-chart-brand-status] { margin: 0 0 10px; font-size: 13px; }
