/* Source ledger, annual collections and calendar integration. */
.event-tabs { flex-wrap: wrap; gap: 1.1rem; }
.coverage-totals { display: flex; flex-wrap: wrap; border-top: 1px solid #cec7be; border-bottom: 1px solid #cec7be; margin: 2rem 0; }
.coverage-totals > div { flex: 1 1 180px; padding: 1.5rem 1.2rem 1.5rem 0; }
.coverage-totals strong { display: block; font-size: clamp(2.2rem, 5vw, 4.3rem); font-weight: 800; letter-spacing: -.07em; line-height: 1; }
.coverage-totals span { display: block; font-size: .76rem; margin-top: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.source-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem; padding: 1.5rem 0; }
.source-filters > label { flex: 1 1 180px; min-width: 0; font-size: .75rem; }
.source-filters > .search-field { flex-basis: 100%; }
.source-filters input, .source-filters select { width: 100%; min-width: 0; }
.source-filters button { align-self: flex-end; }
.source-ledger { border-top: 2px solid #101215; margin-bottom: 3rem; }
.coverage-source { display: flex; align-items: flex-start; gap: 1.7rem; padding: 1.7rem 0; border-bottom: 1px solid #cec7be; }
.source-index { flex: 0 0 160px; display: flex; flex-direction: column; gap: 1rem; text-transform: uppercase; font-size: .67rem; line-height: 1.5; letter-spacing: .06em; }
.coverage-source > div:nth-child(2) { flex: 1; min-width: 0; }
.coverage-source h3 { font-size: clamp(1.3rem, 2.4vw, 2rem); letter-spacing: -.04em; margin: 0 0 .65rem; }
.coverage-source p { font-size: .9rem; line-height: 1.65; margin: .5rem 0; }
.source-state { display: inline-block; border: 1px solid #b0a69b; color: #695b4c; padding: .35rem .5rem; font-size: .64rem; line-height: 1.4; max-width: 100%; }
.source-state.verified { color: #254c3f; border-color: #608271; }
.source-foot { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; padding-top: .7rem; font-size: .78rem; }
.baseline-tag { background: #e4c6a5; color: #26211c; padding: .25rem .45rem; font-size: .64rem; }
.source-check { flex: 0 0 135px; font-size: .66rem; line-height: 1.5; }
.source-check > span, .source-check strong, .source-check small { display: block; }
.source-check strong { margin: .6rem 0; font-size: .75rem; }
.source-check small { color: #746f69; }
.weeks-list { margin-bottom: 4rem; border-top: 2px solid #101215; }
.week-card { padding: 2rem 0; border-bottom: 1px solid #cec7be; }
.week-label { display: flex; align-items: center; gap: 1.2rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; }
.week-card h2 { margin: 1rem 0 .75rem; font-size: clamp(1.8rem, 3.5vw, 3rem); letter-spacing: -.06em; }
.week-card p { max-width: 760px; line-height: 1.7; }
.week-date { font-weight: 700; }
.integration-layout { display: flex; align-items: flex-start; gap: 4rem; padding: 2rem 0 4rem; }
.integration-layout > .prose { flex: 1; min-width: 0; }
.integration-layout > aside { flex: 0 0 300px; }
@media (max-width: 850px) {
  .coverage-source { flex-wrap: wrap; gap: 1rem; }
  .source-index { flex: 0 0 100%; flex-direction: row; align-items: center; justify-content: space-between; }
  .source-check { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: .7rem; align-items: baseline; }
  .source-check strong { margin: 0; }
  .source-check small br { display: none; }
  .integration-layout { display: block; }
  .integration-layout > aside { margin-top: 2rem; }
}
@media (max-width: 500px) {
  .source-filters > label { flex-basis: 100%; }
  .source-filters button { width: 100%; }
  .event-tabs { gap: 1rem; font-size: .8rem; }
  .coverage-totals > div { flex-basis: 45%; }
  .source-index { flex-wrap: wrap; justify-content: flex-start; }
}

.platform-discovery { margin: 2rem 0 3rem; padding: 2rem 0; border-top: 1px solid var(--line, #cfc9bf); border-bottom: 1px solid var(--line, #cfc9bf); }
.platform-discovery h2 { margin: .7rem 0 1.5rem; }
.platform-channel-list { display: flex; gap: 2rem; align-items: stretch; }
.platform-channel { flex: 1; min-width: 0; padding-left: 1.4rem; border-left: 2px solid #e4c6a5; }
.platform-channel h3 { margin: 0 0 .8rem; }
.platform-channel .source-foot { align-items: flex-start; gap: .8rem; }
@media (max-width: 760px) { .platform-channel-list { flex-direction: column; gap: 1.6rem; } .platform-discovery { padding: 1.5rem 0; } }
