[hidden] { display: none !important; }
#monthlyChartSection { grid-template-columns: minmax(0, 1fr); }
.filter-context { font-size: .875rem; margin: .75rem .25rem 1rem; }
.source-period { color: var(--muted); font-size: .875rem; }
#reportTable th, #reportTable td { text-align: left; }
#fyTable th, #executiveFyTable th, #reportTable th { cursor: default; }
#metricSelect { max-width: 100%; }
.player-audience-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.player-audience-grid.includes-youtube { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.player-audience-card { border-top: 3px solid var(--blue, #245d93); }
.player-period { margin: .6rem 0 1.25rem; color: var(--muted); font-size: .875rem; }
.listener-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: .9rem; margin-top: .9rem; border-top: 1px solid var(--line); }
.listener-shortcuts .pill { min-height: 42px; font-size: .875rem; }
#periodMetricSection > .overview-value { margin-bottom: 1rem; }
@media (max-width: 1000px) { .player-audience-grid, .player-audience-grid.includes-youtube { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .player-audience-grid, .player-audience-grid.includes-youtube { grid-template-columns: minmax(0, 1fr); } }
.dashboard-menu {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .65rem .75rem; background: #fff; position: relative; z-index: 5;
  border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow);
  margin-bottom: 1.25rem;
}
.dashboard-tabs { display: flex; gap: .5rem; min-width: 0; }
.global-filter { position: relative; margin-left: auto; flex-shrink: 0; }
.global-filter summary { display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-height: 48px; padding: .65rem .9rem; border: 1px solid var(--line); border-radius: 9px; list-style: none; cursor: pointer; font-size: .875rem; color: var(--muted); }
.global-filter summary::-webkit-details-marker { display: none; }
.global-filter summary strong { color: var(--navy); font-weight: 750; max-width: 15rem; }
.global-filter summary:focus-visible { outline: 3px solid #397ebb; outline-offset: 3px; }
.global-filter-panel { position: absolute; top: calc(100% + .75rem); right: 0; width: 390px; max-width: calc(100vw - 48px); padding: 1rem; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 12px 35px rgba(18,38,63,.18); }
.global-date-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.global-filter .toggle { margin-top: .75rem; }
.global-filter #globalFilterError { margin-bottom: 0; }
#pageControls .controls { grid-template-columns: minmax(0,2fr) minmax(0,1fr); }
#pageControls .subrow { justify-content: flex-end; }
.dashboard-tabs [role="tab"] {
  border: 0; border-radius: 9px; background: transparent; color: #4c6177;
  font-size: 1rem; font-weight: 750; padding: .8rem 1.6rem; cursor: pointer;
  min-height: 48px; transition: background .15s, color .15s;
}
.dashboard-tabs [role="tab"]:hover { background: #edf3f9; }
.dashboard-tabs [role="tab"][aria-selected="true"] { background: var(--navy); color: #fff; }
button:focus-visible, select:focus-visible, input:focus-visible, [role="tabpanel"]:focus-visible {
  outline: 3px solid #397ebb; outline-offset: 3px;
}
.view-heading { margin: .5rem 0 1rem; }
.view-heading h2 { margin: 0; font-size: 1.6rem; }
.view-heading p { margin: .4rem 0 0; color: var(--muted); font-size: 1rem; }
#panel-executive .executive-section { margin-top: 0; }
.snapshot-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.snapshot-grid .snapshot { border: 1px solid var(--line); border-radius: 12px; padding: 1rem; background: #f8fbfd; }
.snapshot-grid .s-label { font-size: .875rem; }
.snapshot-grid .s-value { font-size: 1.65rem; margin: .35rem 0; }
.snapshot-grid .s-meta { font-size: .8rem; }
.youtube-snapshots { grid-template-columns: repeat(2,minmax(0,1fr)); }
.channel-footnote { margin: .75rem .25rem 1rem; font-size: .875rem; line-height: 1.5; color: var(--muted); }
.player-report th { cursor: default; }
.player-report th:last-child,.player-report td:last-child { text-align: left; }
.field label, .toggle, .btn, .pill, .kpi .label, .kpi .delta,
.intel-controls input, .intel-controls select, .bar-label, .bar-value,
th,td,.overview-meta { font-size: .875rem; }
.badge,.footer,.status-note,.intel-foot,.panel-sub,.overview-platform { font-size: .75rem; }
.section-head { flex-wrap: wrap; gap: 1rem; }
.section-head h2,.card-title h2,.executive-head h2 { font-size: 1.15rem; }
.section-head p,.executive-head p,.card-title p,.executive-note,.source-rule { font-size: .875rem; line-height: 1.5; }
.field select,.field input,.btn { min-height: 42px; }
.intelligence-grid { grid-template-columns: minmax(0,.75fr) minmax(0,1.4fr); }
.insight-panel .card-title { flex-wrap: wrap; }
.intel-controls { flex-wrap: wrap; min-width: 0; }
.intel-controls select { max-width: 100%; }
.intel-controls select#showSelect { max-width: 22rem; }
.main-grid,.controls { min-width: 0; }
.source-rule { margin-bottom: 0; }
@media(max-width:1050px) {
  .dashboard-tabs [role="tab"] { padding-inline: .8rem; }
  .snapshot-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .intelligence-grid { grid-template-columns: 1fr; }
}
@media(max-width:650px) {
  .dashboard-menu { flex-wrap: wrap; gap: .75rem; }
  .dashboard-tabs { flex: 1 0 100%; }
  .global-filter { max-width: 100%; }
  .global-date-fields, #pageControls .controls { grid-template-columns: minmax(0,1fr); }
  .dashboard-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; }
  .dashboard-tabs [role="tab"] { padding: .75rem .5rem; }
  .snapshot-grid { grid-template-columns: 1fr; }
  .actions,.overview-meta { flex-wrap: wrap; }
  .actions .btn { height: auto; padding: .6rem .8rem; }
  .intel-controls select#showSelect { max-width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
  .dashboard-tabs [role="tab"] { transition: none; }
}
