/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V4
 * Calendar workbench · editorial · theme-friendly scoped tokens
 */
.lean-events {
  --lean-paper: #f6f8fb;
  --lean-surface: #ffffff;
  --lean-ink: #1e2a38;
  --lean-muted: #5d6b7a;
  --lean-rule: #dbe2ea;
  --lean-soft: #eaf1f8;
  --lean-accent: #3b6e9e;
  --lean-focus: #2a5b88;
  --lean-font: inherit;
  --lean-week-height: 240px;
  --lean-space-1: .375rem;
  --lean-space-2: .75rem;
  --lean-space-3: 1rem;
  --lean-space-4: 1.5rem;
  --lean-space-5: 2rem;
  --lean-space-6: 2.75rem;
  color: var(--lean-ink);
  background: var(--lean-paper);
  border: 1px solid var(--lean-rule);
  border-radius: 6px;
  box-shadow: 0 14px 38px -30px var(--lean-muted);
  font-family: var(--lean-font);
  font-size: 1rem;
  line-height: 1.45;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  container-type: inline-size;
}
.lean-events * { box-sizing: border-box; }
.lean-events[data-layout="wide"] { width: min(1160px, calc(100vw - 2rem)); max-width: none; margin-left: calc((100% - min(1160px, 100vw - 2rem)) / 2) !important; }
.lean-events-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; padding: var(--lean-space-3) var(--lean-space-4); border-bottom: 1px solid var(--lean-rule); }
.lean-events-eyebrow, .lean-events-field-label { color: var(--lean-muted); font-weight: 700; font-size: .69rem; line-height: 1.4; letter-spacing: .13em; }
.lean-events-heading .lean-events-eyebrow { grid-column: 2; text-align: center; }
.lean-events button, .lean-events select, .lean-events input { font: inherit; color: inherit; }
.lean-events button { cursor: pointer; border-radius: 4px; box-shadow: none; text-decoration: none; }
.lean-events button:hover, .lean-events a:hover { color: var(--lean-accent); }
.lean-events button:focus-visible, .lean-events a:focus-visible, .lean-events input:focus-visible, .lean-events select:focus-visible { outline: 3px solid var(--lean-focus); outline-offset: 2px; }
.lean-events button:active { transform: translateY(1px); }
.lean-events button:disabled { opacity: .38; cursor: not-allowed; }
.lean-events a { color: var(--lean-ink); text-decoration-color: var(--lean-accent); text-underline-offset: 3px; }
.lean-events-controls[hidden] { display: none; }
.lean-events-controls { padding: 0 var(--lean-space-4); }
.lean-events-tools { display: contents; }
.lean-events-tools[hidden] { display: none; }
.lean-events-nav { grid-column: 2; justify-self: center; }
.lean-events-view { grid-column: 3; justify-self: end; }
.lean-events-nav, .lean-events-view { display: inline-flex; align-items: center; gap: 2px; }
.lean-events-nav button, .lean-events-view button { background: transparent; border: 1px solid transparent; padding: .5rem .75rem; min-height: 40px; min-width: 40px; font-size: .85rem; font-weight: 650; line-height: 1.2; white-space: nowrap; }
.lean-events-nav button:first-child, .lean-events-nav button:last-child { border-color: var(--lean-rule); background: var(--lean-surface); font-size: 1.15rem; }
.lean-events-view { background: var(--lean-soft); border: 1px solid var(--lean-rule); border-radius: 5px; padding: 3px; }
.lean-events-view button[aria-pressed="true"] { background: var(--lean-ink); color: var(--lean-surface); }
.lean-events-filterbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 210px); gap: var(--lean-space-3); border-top: 1px solid var(--lean-rule); padding: var(--lean-space-3) 0 var(--lean-space-4); }
.lean-events-filterbar label { display: grid; gap: var(--lean-space-1); min-width: 0; }
.lean-events-filterbar input, .lean-events-filterbar select { background: var(--lean-surface); border: 1px solid var(--lean-rule); border-radius: 4px; width: 100%; min-height: 44px; padding: .6rem .8rem; font-size: .9rem; }
.lean-events-filterbar input::placeholder { color: var(--lean-muted); opacity: 1; }
.lean-events-results { border-top: 1px solid var(--lean-rule); min-width: 0; }
.lean-events-results-header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--lean-space-2); padding: var(--lean-space-3) var(--lean-space-4) .5rem; }
.lean-events-results-header > h2 { font-weight: 400; font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.1; letter-spacing: -.045em; margin: 0; overflow-wrap: anywhere; }
.lean-events .lean-month-summary { color: var(--lean-muted); font-size: .8rem; margin: 0; padding: 0 var(--lean-space-4) var(--lean-space-4); }
.lean-events-results-header > h2:focus { outline: none; }
.lean-events-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-template-rows: 40px; grid-auto-rows: var(--lean-week-height); border-top: 1px solid var(--lean-rule); }
.lean-events-grid > div { min-width: 0; border-right: 1px solid var(--lean-rule); border-bottom: 1px solid var(--lean-rule); }
.lean-events-grid > div:nth-child(7n) { border-right: 0; }
.lean-events-grid .lean-weekday { padding: .7rem .4rem; color: var(--lean-muted); background: var(--lean-soft); text-align: center; font-size: .7rem; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }
.lean-events .lean-day { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; padding: .65rem .65rem .8rem; background: var(--lean-surface); }
.lean-events .lean-day.lean-outside { background: var(--lean-paper); color: var(--lean-muted); }
.lean-events .lean-day.lean-today { box-shadow: inset 0 3px 0 var(--lean-accent); }
.lean-events .lean-day.lean-selected { background: var(--lean-soft); }
.lean-events .lean-day-head { display: flex; align-items: center; justify-content: space-between; flex: none; margin-bottom: .45rem; }
.lean-events .lean-day-number { border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; padding: 0; width: 1.9rem; height: 1.9rem; font-size: .85rem; font-weight: 400; }
.lean-events .lean-today .lean-day-number { background: var(--lean-accent); color: var(--lean-surface); border-radius: 50%; }
.lean-events .lean-day-count { font-size: .65rem; color: var(--lean-muted); font-weight: 400; }
.lean-events .lean-day ul { flex: 1 1 auto; min-height: 0; order: 1; overflow-y: auto; scrollbar-width: thin; padding: 0; margin: 0; list-style: none; }
.lean-events .lean-day li { margin: 0 0 .35rem; padding: .4rem .5rem; border-left: 2px solid var(--lean-accent); background: var(--lean-paper); font-size: .8rem; line-height: 1.3; }
.lean-events .lean-day li a { display: block; text-decoration: none; font-weight: 400; }
.lean-events .lean-day li.lean-category-event { border-left-color: var(--lean-category-primary); background: var(--lean-category-background); color: var(--lean-category-text); }
.lean-events .lean-day li.lean-category-event a, .lean-events .lean-day li.lean-category-event .lean-event-time { color: var(--lean-category-text); }
.lean-events .lean-day li .lean-event-time { color: var(--lean-muted); display: block; font-size: .68rem; margin-bottom: .15rem; }
.lean-events .lean-day li a:hover { text-decoration: underline; }
.lean-event-detail { --lean-ink: #1e2a38; --lean-surface: #ffffff; --lean-muted: #5d6b7a; --lean-rule: #dbe2ea; --lean-accent: #3b6e9e; --lean-focus: #2a5b88; }
.lean-event-actions { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
:is(.lean-events, .lean-event-detail) .lean-event-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  min-height: 34px;
  padding: .45rem .7rem;
  border: 1px solid var(--lean-rule);
  border-radius: 3px;
  background: var(--lean-surface);
  color: var(--lean-ink);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
}
:is(.lean-events, .lean-event-detail) .lean-event-action--ics { background: var(--lean-ink); border-color: var(--lean-ink); color: var(--lean-surface); }
:is(.lean-events, .lean-event-detail) .lean-event-action:hover { border-color: var(--lean-accent); color: var(--lean-accent); text-decoration: none; }
:is(.lean-events, .lean-event-detail) .lean-event-action--ics:hover { background: var(--lean-accent); color: var(--lean-surface); }
:is(.lean-events, .lean-event-detail) .lean-event-action:focus-visible { outline: 3px solid var(--lean-focus); outline-offset: 2px; }
:is(.lean-events, .lean-event-detail) .lean-event-action:active { transform: translateY(1px); }
.lean-event-detail > .lean-event-actions { margin: .5rem 0 1rem; }
.lean-event-detail .lean-event-when { margin-bottom: .25rem; font-weight: 600; }
.lean-event-detail .lean-event-ended { margin-bottom: .25rem; color: var(--lean-muted); }
.lean-event-detail .lean-event-repeat { margin-bottom: .25rem; color: var(--lean-muted); }
.lean-events .lean-day .lean-crowded { overflow: hidden; }
.lean-events .lean-day .lean-crowded li:nth-child(n+4) { display: none; }
.lean-events .lean-show-more { flex: none; order: 2; border: 0; background: transparent; padding: .2rem 0; color: var(--lean-accent); font-size: .73rem; font-weight: 400; text-align: left; }
.lean-events .lean-day-panel { display: none; }
.lean-events[data-day-content="dots"] .lean-events-grid { grid-auto-rows: 100px; }
.lean-events[data-day-content="dots"] .lean-day ul, .lean-events[data-day-content="dots"] .lean-day .lean-show-more { display: none; }
.lean-events[data-day-content="dots"] .lean-day-count { font-size: 0; color: var(--lean-accent); }
.lean-events[data-day-content="dots"] .lean-day-count::before { content: '•'; font-size: 1rem; }
.lean-events[data-day-content="dots"] .lean-day-panel { display: block; padding: var(--lean-space-3) var(--lean-space-4); background: var(--lean-soft); border-top: 1px solid var(--lean-rule); }
.lean-events[data-day-content="dots"] .lean-day-panel ul { list-style: none; margin: 0; padding: 0; }
.lean-events .lean-day-panel li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: baseline; gap: .7rem; padding: .55rem 0; }
.lean-events .lean-day-panel li + li { border-top: 1px solid var(--lean-rule); }
.lean-events .lean-day-panel li.lean-category-event { border-left: 3px solid var(--lean-category-primary); background: var(--lean-category-background); padding: .55rem .7rem; }
.lean-events .lean-day-panel li.lean-category-event a, .lean-events .lean-day-panel li.lean-category-event .lean-day-panel-time { color: var(--lean-category-text); }
.lean-events .lean-day-panel-time { font-size: .75rem; font-weight: 700; color: var(--lean-muted); white-space: nowrap; }
.lean-events .lean-day-panel li a { min-width: 0; font-weight: 400; }
.lean-events .lean-day-panel-time { font-weight: 400; }
.lean-events .lean-list-day, .lean-events .lean-events-server-day { display: grid; grid-template-columns: minmax(120px, 190px) minmax(0, 1fr); gap: var(--lean-space-4); padding: var(--lean-space-4); border-top: 1px solid var(--lean-rule); }
.lean-events .lean-list-day h3, .lean-events .lean-events-server-day h2 { margin: 0; font-weight: 400; font-size: 1.25rem; line-height: 1.25; }
.lean-events .lean-list-day ul, .lean-events .lean-events-server-day ul { list-style: none; margin: 0; padding: 0; }
.lean-events .lean-list-day li, .lean-events .lean-events-server-day li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; align-items: center; padding: .7rem 0; }
.lean-events .lean-list-day li + li, .lean-events .lean-events-server-day li + li { border-top: 1px solid var(--lean-rule); }
.lean-events .lean-list-day li.lean-category-event, .lean-events .lean-events-server-day li.lean-category-event { border-left: 3px solid var(--lean-category-primary); background: var(--lean-category-background); padding: .7rem .8rem; }
.lean-events .lean-list-day li.lean-category-event > a, .lean-events .lean-list-day li.lean-category-event > span:not(.lean-event-actions), .lean-events .lean-events-server-day li.lean-category-event > a, .lean-events .lean-events-server-day li.lean-category-event > time { color: var(--lean-category-text); }
.lean-events .lean-list-day li > a:first-child, .lean-events .lean-events-server-day li > a:first-child { font-weight: 700; font-size: .95rem; grid-column: 1; }
.lean-events .lean-list-day li > span:not(.lean-event-actions), .lean-events .lean-events-server-day li > time { color: var(--lean-muted); font-size: .8rem; grid-column: 1; }
.lean-events .lean-list-day li > .lean-event-actions, .lean-events .lean-events-server-day li > .lean-event-actions { grid-column: 2; grid-row: 1 / span 2; }
.lean-events .lean-empty { padding: 0 var(--lean-space-4) var(--lean-space-5); color: var(--lean-muted); }
.lean-events .lean-more-wrap { padding: var(--lean-space-4); border-top: 1px solid var(--lean-rule); }
.lean-events .lean-more-wrap button { border: 1px solid var(--lean-rule); background: var(--lean-surface); padding: .6rem 1rem; font-weight: 700; }
.lean-events-scope { display: flex; flex-wrap: wrap; gap: .35rem .7rem; align-items: center; margin: 0; padding: var(--lean-space-3) var(--lean-space-4); border-top: 1px solid var(--lean-rule); color: var(--lean-muted); font-size: .75rem; }
.lean-events noscript p { padding: var(--lean-space-2) var(--lean-space-4); }
.lean-event-tooltip {
  --lean-tip-paper: #1e2a38;
  --lean-tip-ink: #f6f8fb;
  --lean-tip-muted: #c5d1de;
  --lean-tip-accent: #a9c8e8;
  position: fixed;
  box-sizing: border-box;
  z-index: 100000;
  display: grid;
  gap: .35rem;
  width: min(300px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: hidden;
  padding: 1rem 1.1rem;
  border: 1px solid var(--lean-tip-paper);
  border-radius: 4px;
  background: var(--lean-tip-paper);
  box-shadow: 0 14px 35px -15px var(--lean-tip-paper);
  color: var(--lean-tip-ink);
  font-size: .83rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  pointer-events: none;
}
.lean-event-tooltip[hidden] { display: none; }
.lean-event-tooltip-date { color: var(--lean-tip-accent); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.lean-event-tooltip-title { color: var(--lean-tip-ink); font-weight: 400; font-size: 1.28rem; line-height: 1.2; margin: .15rem 0; }
.lean-event-tooltip-time { color: var(--lean-tip-ink); font-size: .8rem; font-weight: 700; }
.lean-event-tooltip-excerpt { color: var(--lean-tip-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin-top: .25rem; }
.lean-event-tooltip-meta { color: var(--lean-tip-accent); border-top: 1px solid var(--lean-tip-muted); padding-top: .55rem; margin-top: .35rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.lean-events-day-dialog {
  --lean-modal-paper: #f6f8fb;
  --lean-modal-surface: #ffffff;
  --lean-modal-ink: #1e2a38;
  --lean-modal-muted: #5d6b7a;
  --lean-modal-rule: #dbe2ea;
  --lean-modal-accent: #3b6e9e;
  --lean-modal-focus: #2a5b88;
  --lean-modal-backdrop: rgba(20, 30, 45, .55);
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  z-index: 100001;
  width: min(560px, calc(100vw - 24px));
  max-height: min(720px, calc(100vh - 24px));
  margin: auto;
  padding: 0;
  border: 1px solid var(--lean-modal-rule);
  border-radius: 6px;
  background: var(--lean-modal-paper);
  box-shadow: 0 24px 60px -20px var(--lean-modal-ink);
  color: var(--lean-modal-ink);
}
.lean-events-day-dialog::backdrop { background: var(--lean-modal-backdrop); }
.lean-events-day-dialog[open] { display: flex; flex-direction: column; }
.lean-day-dialog-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; padding: 1.4rem 1.6rem; border-bottom: 1px solid var(--lean-modal-rule); }
.lean-day-dialog-header h2 { margin: 0; color: var(--lean-modal-ink); font-weight: 400; font-size: clamp(1.4rem, 4vw, 1.85rem); line-height: 1.16; overflow-wrap: anywhere; }
.lean-day-dialog-count { margin: .45rem 0 0; color: var(--lean-modal-muted); font-size: .83rem; }
.lean-day-dialog-close { flex: none; width: 44px; height: 44px; border: 1px solid var(--lean-modal-rule); border-radius: 3px; background: var(--lean-modal-surface); color: var(--lean-modal-ink); cursor: pointer; font-size: 1.45rem; font-weight: 400; line-height: 1; }
.lean-day-dialog-close:hover { border-color: var(--lean-modal-accent); color: var(--lean-modal-accent); }
.lean-events-day-dialog :focus-visible { outline: 3px solid var(--lean-modal-focus); outline-offset: 2px; }
.lean-day-dialog-list { overflow-y: auto; min-height: 0; margin: 0; padding: 0 1.6rem; list-style: none; }
.lean-day-dialog-list li { padding: 1rem 0; }
.lean-day-dialog-list li + li { border-top: 1px solid var(--lean-modal-rule); }
.lean-day-dialog-list li.lean-category-event { border-left: 3px solid var(--lean-category-primary); background: var(--lean-category-background); color: var(--lean-category-text); padding: .8rem 1rem; }
.lean-day-dialog-list li.lean-category-event .lean-event-title, .lean-day-dialog-list li.lean-category-event .lean-day-dialog-time, .lean-day-dialog-list li.lean-category-event .lean-day-dialog-excerpt { color: var(--lean-category-text); }
.lean-day-dialog-time { display: block; margin-bottom: .3rem; color: var(--lean-modal-accent); font-size: .75rem; font-weight: 700; }
.lean-day-dialog-list .lean-event-title { color: var(--lean-modal-ink); font-size: 1.05rem; font-weight: 400; text-decoration: underline; text-decoration-color: var(--lean-modal-accent); text-underline-offset: 3px; }
.lean-day-dialog-list .lean-event-title:hover { color: var(--lean-modal-accent); }
.lean-day-dialog-excerpt { margin: .4rem 0 0; color: var(--lean-modal-muted); font-size: .83rem; line-height: 1.45; overflow-wrap: anywhere; }
.lean-day-dialog-empty { margin: 0; padding: 1.5rem 1.6rem; color: var(--lean-modal-muted); }
@container (max-width: 760px) {
  .lean-events { --lean-space-4: 1rem; --lean-space-5: 1.5rem; }
  .lean-events-grid, .lean-events[data-day-content="dots"] .lean-events-grid { grid-template-rows: 32px; grid-auto-rows: 72px; }
  .lean-events .lean-day { min-height: 0; padding: .25rem; }
  .lean-events .lean-day ul, .lean-events .lean-day .lean-show-more { display: none; }
  .lean-events .lean-day-head { display: flex; flex-direction: column; gap: 0; align-items: center; }
  .lean-events .lean-day-count { font-size: 0; color: var(--lean-accent); }
  .lean-events .lean-day-count::before { content: '•'; font-size: 1rem; line-height: .5; }
  .lean-events .lean-day-panel { display: block; padding: var(--lean-space-3) var(--lean-space-4); background: var(--lean-soft); border-top: 1px solid var(--lean-rule); }
  .lean-events .lean-day-panel h3 { font-weight: 400; font-size: 1.35rem; line-height: 1.2; margin: 0 0 .65rem; }
  .lean-events .lean-day-panel ul { padding: 0; margin: 0; list-style: none; }
  .lean-events .lean-day-panel li + li { border-top: 1px solid var(--lean-rule); }
  .lean-events .lean-day-panel li { padding: .4rem 0; }
  .lean-events .lean-list-day, .lean-events .lean-events-server-day { grid-template-columns: 1fr; gap: .5rem; }
  .lean-events .lean-list-day li, .lean-events .lean-events-server-day li { grid-template-columns: 1fr; gap: .35rem; }
  .lean-events .lean-list-day li > .lean-event-actions, .lean-events .lean-events-server-day li > .lean-event-actions { grid-column: 1; grid-row: auto; margin-top: .35rem; }
  .lean-events .lean-list-day .lean-event-action, .lean-events .lean-events-server-day .lean-event-action { min-height: 44px; }
}
@container (min-width: 481px) and (max-width: 760px) {
  .lean-events[data-day-content="titles"] .lean-events-grid { grid-auto-rows: 156px; }
  .lean-events[data-day-content="titles"] .lean-day ul { display: block; }
  .lean-events[data-day-content="titles"] .lean-day li { padding: .2rem .3rem; }
  .lean-events[data-day-content="titles"] .lean-day li a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lean-events[data-day-content="titles"] .lean-day .lean-show-more { display: block; }
  .lean-events[data-day-content="titles"] .lean-event-time { display: none; }
}
@container (max-width: 600px) {
  .lean-events-results-header { grid-template-columns: minmax(0, 1fr) auto; gap: var(--lean-space-1); padding-inline: var(--lean-space-3); }
  .lean-events-results-header > h2 { grid-column: 1 / -1; }
  .lean-events-nav { grid-column: 1; grid-row: 2; justify-self: start; }
  .lean-events-view { grid-column: 2; grid-row: 2; justify-self: end; }
}
@container (max-width: 480px) {
  .lean-events-filterbar { grid-template-columns: 1fr; }
  .lean-events-results-header { gap: .5rem; }
  .lean-events-nav button, .lean-events-view button { min-width: 36px; padding: .45rem .55rem; font-size: .78rem; }
  .lean-events-grid .lean-weekday { padding: .5rem .1rem; font-size: .62rem; }
  .lean-events .lean-day { min-height: 63px; }
  .lean-events .lean-day-number { width: 1.7rem; height: 1.7rem; font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) { .lean-events button:active { transform: none; } }

/* A self-contained, server-rendered event strip for pages and embeds. */
.lean-events-row {
  --lean-row-paper: #f6f8fb;
  --lean-row-surface: #ffffff;
  --lean-row-ink: #1e2a38;
  --lean-row-muted: #5d6b7a;
  --lean-row-rule: #dbe2ea;
  --lean-row-accent: #3b6e9e;
  --lean-row-focus: #2a5b88;
  box-sizing: border-box;
  max-width: 100%;
  margin-block: 2rem;
  color: var(--lean-row-ink);
}
.lean-events-row[data-layout="wide"] { width: min(1160px, calc(100vw - 2rem)); max-width: none; margin-left: calc((100% - min(1160px, 100vw - 2rem)) / 2) !important; }
.lean-events-row * { box-sizing: border-box; }
.lean-events-row > h2 { margin: 0 0 1rem; color: var(--lean-row-ink); font-weight: 400; font-size: clamp(1.55rem, 3vw, 2rem); line-height: 1.2; }
.lean-events-row-list { display: flex; gap: 1rem; overflow-x: auto; max-width: 100%; margin: 0; padding: 0 0 .8rem; list-style: none; scroll-snap-type: x proximity; scrollbar-color: var(--lean-row-rule) transparent; scrollbar-width: thin; }
.lean-events-row-list > li { display: flex; flex: 0 0 clamp(230px, calc((100% - 3rem) / 4), 300px); min-width: 0; scroll-snap-align: start; }
.lean-events-row-card { display: flex; flex-direction: column; width: 100%; min-height: 216px; padding: 1.15rem 1.25rem; border: 1px solid var(--lean-row-rule); border-top: 3px solid var(--lean-row-accent); border-radius: 3px; background: var(--lean-row-surface); color: var(--lean-row-ink); }
.lean-events-row .lean-category-event .lean-events-row-card { border-top-color: var(--lean-category-primary); background: var(--lean-category-background); color: var(--lean-category-text); }
.lean-events-row-card time { display: block; color: var(--lean-row-accent); font-size: .76rem; font-weight: 600; line-height: 1.4; }
.lean-events-row .lean-category-event time { color: var(--lean-category-text); }
.lean-events-row-card time span { display: block; margin-top: .15rem; color: var(--lean-row-muted); font-weight: 400; }
.lean-events-row .lean-category-event time span { color: var(--lean-category-text); }
.lean-events-row-card h3 { margin: 1rem 0 .55rem; color: inherit; font-weight: 400; font-size: 1.3rem; line-height: 1.22; overflow-wrap: anywhere; }
.lean-events-row-card h3 a { color: inherit; text-decoration-color: var(--lean-row-accent); text-underline-offset: 3px; }
.lean-events-row-card h3 a:hover { text-decoration-thickness: 2px; }
.lean-events-row-card a:focus-visible { outline: 3px solid var(--lean-row-focus); outline-offset: 3px; }
.lean-events-row-card p { margin: auto 0 0; padding-top: .7rem; color: var(--lean-row-muted); font-size: .82rem; line-height: 1.4; }
.lean-events-row-card .lean-events-row-venue { margin: -.2rem 0 0; padding-top: 0; font-weight: 600; }
.lean-events-row .lean-category-event p { color: var(--lean-category-text); }
.lean-events-row-empty { margin: 0; padding: 1.25rem; border: 1px solid var(--lean-row-rule); background: var(--lean-row-paper); color: var(--lean-row-muted); }
@media (max-width: 480px) { .lean-events-row-list > li { flex-basis: min(84vw, 290px); } }
/* Event status (canceled/postponed). */
:is(.lean-events, .lean-events-row, .lean-event-detail) .lean-event-status { display: inline-block; margin-right: .15em; padding: 0 .35em; border-radius: 3px; background: #7a1f1f; color: #fff; font-size: .72em; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; vertical-align: .1em; }
:is(.lean-events, .lean-events-row, .lean-event-detail) .lean-event-status--postponed { background: #7a5a00; }
/* Beats the month grid's `.lean-events .lean-day li a` reset; the inline-block label is not struck through. */
.lean-events a.lean-event-title--canceled, .lean-events .lean-day li a.lean-event-title--canceled, .lean-day-dialog-list a.lean-event-title--canceled { text-decoration: line-through; text-decoration-thickness: 1px; }
.lean-events .lean-event-tooltip-status { display: block; font-weight: 700; }
.lean-event-detail .lean-event-status-line { margin-bottom: .25rem; }
.lean-event-detail .lean-event-when--canceled { margin-bottom: .25rem; }
.lean-event-detail .lean-event-when--canceled s { opacity: .75; }

/* Event details box after the description: Details · Venue · Organizer (TEC's single-event meta). */
.lean-event-meta { --lean-ink: #1e2a38; --lean-muted: #5d6b7a; --lean-rule: #dbe2ea; --lean-paper: #f6f8fb; --lean-accent: #3b6e9e; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 1.25rem 1.75rem; box-sizing: border-box; margin: 2rem 0; padding: 1.25rem 1.5rem; border: 1px solid var(--lean-rule); border-top: 3px solid var(--lean-ink); background: var(--lean-paper); color: var(--lean-ink); font-size: .9rem; line-height: 1.45; }
.lean-event-meta h2 { margin: 0 0 .6rem; padding: 0; color: var(--lean-ink); font-size: .78rem; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.lean-event-meta dl { margin: 0; }
.lean-event-meta-row { margin: 0 0 .55rem; }
.lean-event-meta dt { margin: 0; color: var(--lean-muted); font-size: .78rem; font-weight: 600; }
.lean-event-meta dd { margin: 0; overflow-wrap: anywhere; }
.lean-event-meta-name dd { font-weight: 600; }
.lean-event-meta address { font-style: normal; }
.lean-event-meta .lean-event-map { display: inline-block; font-size: .85em; white-space: nowrap; }
.lean-event-meta a { color: inherit; text-decoration-color: var(--lean-rule); text-underline-offset: .15em; }
.lean-event-meta a:hover { color: var(--lean-accent); text-decoration-color: currentColor; }
.lean-event-meta a:focus-visible { outline: 3px solid #2a5b88; outline-offset: 2px; }
@media (max-width: 600px) { .lean-event-meta { padding: 1rem; } }

/* Colored text (Events → Settings): a colored event's title and time in its color, bold, on the normal background. */
:is(.lean-events, .lean-day-dialog-list) li.lean-event-colored a.lean-event-title,
:is(.lean-events, .lean-day-dialog-list) li.lean-event-colored :is(.lean-event-time, .lean-day-panel-time, .lean-day-dialog-time),
.lean-events :is(.lean-list-day, .lean-events-server-day) li.lean-event-colored > :is(span:not(.lean-event-actions), time),
.lean-events-row .lean-event-colored :is(h3 a, time, time span) { color: var(--lean-event-color); font-weight: 700; }
.lean-event-detail .lean-event-page-title { margin: 0 0 .5rem; }
