.bcrc-events {
  --bcrc-blue: #0d4b7b; --bcrc-green: #528f45; --bcrc-ink: #173b54;
  --bcrc-border: #d9e3e8; --bcrc-soft: #f2f6f7;
  color: var(--bcrc-ink); font-family: inherit; max-width: 1200px; margin: 2rem auto;
  line-height: 1.5; text-align: left;
}
.bcrc-events *, .bcrc-events *::before, .bcrc-events *::after { box-sizing: border-box; }
.bcrc-events [hidden] { display: none !important; }
.bcrc-events h2 { color: var(--bcrc-blue); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; margin: 0 0 .4rem; padding: 0 0 .65rem; border-bottom: 3px solid var(--bcrc-green); }
.bcrc-events h3 { color: var(--bcrc-blue); font-size: 1.2rem; margin: .35rem 0 .75rem; line-height: 1.35; overflow-wrap: anywhere; }
.bcrc-events p { margin: .4rem 0 .8rem; }
.bcrc-events .bcrc-timezone, .bcrc-events .bcrc-hint, .bcrc-events .bcrc-status { color: #536775; font-size: .85rem; }
.bcrc-events .bcrc-controls { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 1.5rem 0; }
.bcrc-events .bcrc-toggle { display: flex; flex-wrap: wrap; gap: .35rem; }
.bcrc-events .bcrc-button { appearance: none; border: 1px solid var(--bcrc-blue); border-radius: 4px; background: #fff; color: var(--bcrc-blue); padding: .6rem .9rem; min-height: 44px; font: inherit; font-size: .9rem; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: normal; }
.bcrc-events .bcrc-button:hover, .bcrc-events .bcrc-button[aria-pressed="true"] { background: var(--bcrc-blue); color: #fff; }
.bcrc-events button:disabled { cursor: default; opacity: .5; }
.bcrc-events :is(button,input,select,summary):focus-visible { outline: 3px solid #e38932; outline-offset: 3px; }
.bcrc-events label { display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; font-weight: 600; }
.bcrc-events .bcrc-search { flex: 1; min-width: 180px; }
.bcrc-events input, .bcrc-events select { width: 100%; border: 1px solid #8a9da9; border-radius: 4px; padding: .55rem .7rem; min-height: 44px; font: inherit; font-weight: normal; color: var(--bcrc-ink); background: #fff; margin: 0; }
.bcrc-events .bcrc-month-bar { display: flex; gap: .75rem; align-items: center; justify-content: center; flex-wrap: wrap; background: var(--bcrc-soft); padding: 1rem; border-radius: 6px 6px 0 0; }
.bcrc-events .bcrc-month-bar h3 { margin: 0; min-width: 180px; text-align: center; }
.bcrc-events .bcrc-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 1px; background: var(--bcrc-border); border: 1px solid var(--bcrc-border); }
.bcrc-events .bcrc-weekday { background: var(--bcrc-blue); color: white; padding: .6rem .2rem; text-align: center; font-size: .85rem; }
.bcrc-events .bcrc-day { appearance: none; text-align: left; display: flex; flex-direction: column; gap: .3rem; min-height: 112px; min-width: 0; border: 0; border-radius: 0; padding: .6rem; margin: 0; background: white; color: var(--bcrc-ink); font: inherit; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: normal; }
.bcrc-events .bcrc-day:disabled { opacity: 1; background: #f9fbfc; color: #647681; }
.bcrc-events .bcrc-day:not(:disabled):hover { background: #eef6ed; }
.bcrc-events .bcrc-day[aria-pressed="true"] { background: #e5f0e2; box-shadow: inset 0 0 0 2px var(--bcrc-green); }
.bcrc-events .bcrc-day[aria-current="date"] .bcrc-day-number { text-decoration: underline; text-decoration-color: var(--bcrc-green); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.bcrc-events .bcrc-day-number { font-size: .95rem; font-weight: 600; }
.bcrc-events .bcrc-day-count { color: #35632c; font-size: .75rem; font-weight: 600; }
.bcrc-events .bcrc-day-title { font-size: .75rem; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.bcrc-events .bcrc-blank { background: var(--bcrc-soft); cursor: default; }
.bcrc-events .bcrc-agenda-heading { margin-top: 1.5rem; }
.bcrc-events .bcrc-cards { display: grid; gap: 1rem; }
.bcrc-events .bcrc-upcoming { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); margin-top: 1.25rem; }
.bcrc-events .bcrc-card { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem; background: white; border: 1px solid var(--bcrc-border); border-top: 3px solid var(--bcrc-green); border-radius: 5px; box-shadow: 0 3px 12px rgb(13 75 123 / 5%); min-width: 0; }
.bcrc-events .bcrc-date-stamp { flex: 0 0 54px; border-radius: 4px; text-align: center; background: var(--bcrc-blue); color: white; padding: .45rem .3rem; }
.bcrc-events .bcrc-date-stamp span { display: block; font-size: .8rem; }
.bcrc-events .bcrc-date-stamp span:first-child { font-size: 1.65rem; font-weight: 600; line-height: 1.2; }
.bcrc-events .bcrc-card-content { min-width: 0; flex: 1; }
.bcrc-events .bcrc-when { color: #526976; font-size: .8rem; }
.bcrc-events .bcrc-description { font-size: .95rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.bcrc-events details.bcrc-description { white-space: normal; }
.bcrc-events .bcrc-description p { white-space: pre-wrap; }
.bcrc-events summary { color: var(--bcrc-blue); cursor: pointer; padding: .3rem 0; min-height: 32px; }
.bcrc-events .bcrc-empty { padding: 1.5rem; background: var(--bcrc-soft); border-radius: 4px; }
.bcrc-events .bcrc-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 1.5rem 0; }
@media (max-width: 600px) {
  .bcrc-events .bcrc-day { min-height: 76px; padding: .35rem; }
  .bcrc-events .bcrc-day-title { display: none; }
  .bcrc-events .bcrc-day-count { font-size: .65rem; }
  .bcrc-events .bcrc-month-bar { gap: .5rem; padding: .75rem .4rem; }
  .bcrc-events .bcrc-month-bar h3 { min-width: 135px; font-size: 1rem; }
  .bcrc-events .bcrc-card { padding: 1rem; gap: .75rem; }
  .bcrc-events .bcrc-weekday { font-size: .7rem; }
}
