.ce-live { border-top: 1px solid var(--line); }
.ce-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.5rem; }
.ce-heading h2 { margin-bottom: .6rem; }
.ce-heading p { max-width: 43rem; color: var(--muted); }
.ce-heading .eyebrow { color: var(--teal); }
.ce-controls { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.ce-controls button { min-height: 44px; padding: .6rem .85rem; font: inherit; font-size: .825rem; border: 1px solid #b5c4b7; border-radius: 8px; background: #fffdf8; color: var(--ink); cursor: pointer; }
.ce-controls button:hover { background: var(--mint); }
.ce-controls button:disabled { opacity: .4; cursor: default; }
.ce-filters { display: flex; flex-wrap: wrap; align-items: end; gap: .8rem; margin-bottom: 1rem; }
.ce-filters label { font-size: .8rem; font-weight: 600; display: grid; gap: .4rem; }
.ce-filters select { background: #fffdf8; border: 1px solid var(--line); border-radius: 8px; min-height: 44px; min-width: 190px; padding: .6rem 2rem .6rem .75rem; color: var(--ink); font: inherit; font-size: .85rem; }
.ce-status { flex: 1; min-width: 210px; color: var(--muted); font-size: .775rem; line-height: 1.6; margin: .5rem 0; }
.ce-viewport { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #9cbdb2 transparent; scroll-snap-type: x proximity; padding: .1rem 0 1rem; }
.ce-viewport.is-moving { scroll-snap-type: none; }
.ce-track { display: flex; gap: 1rem; }
.ce-event { flex: 0 0 calc((100% - 2rem) / 3); min-width: 0; padding: 1.5rem; background: #fffdf8; border: 1px solid var(--line); border-top: 4px solid var(--teal); border-radius: 10px; scroll-snap-align: start; display: flex; flex-direction: column; }
.ce-colgate { border-top-color: #b9583b; }
.ce-viva { border-top-color: #59788f; }
.ce-academy { border-top-color: #967542; }
.ce-card-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: 1.5rem; }
.ce-provider-name { font-size: .725rem; font-weight: 700; color: var(--teal-dark); }
.ce-free-badge { font-size: .65rem; font-weight: 700; color: var(--teal-dark); background: var(--mint); border-radius: 4px; padding: .25rem .45rem; white-space: nowrap; }
.ce-date { width: 62px; margin-bottom: 1rem; padding: .5rem; background: var(--soft); text-align: center; border-radius: 8px; }
.ce-month { display: block; font-size: .7rem; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.ce-day { font-size: 1.75rem; line-height: 1.2; font-weight: 700; }
.ce-event h3 { font-size: 1.2rem; line-height: 1.5; font-weight: 600; margin: 0 0 1.1rem; overflow-wrap: anywhere; }
.ce-event time { font-size: .8rem; color: var(--ink); margin-top: auto; }
.ce-event .ce-time { font-size: 1.05rem; font-weight: 600; color: var(--teal); margin: .25rem 0 .5rem; }
.ce-event .ce-credits { color: var(--muted); font-size: .775rem; margin-bottom: 1rem; }
.ce-event .ce-posted { font-size: .7rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: .75rem; margin-bottom: .25rem; }
.ce-event .text-link { font-size: .8rem; }
.ce-source-status { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin-top: .9rem; }
.ce-source { display: grid; align-content: start; gap: .35rem; padding: .8rem; border: 1px solid var(--line); border-radius: 8px; font-size: .7rem; text-decoration: none; }
.ce-source strong { font-weight: 600; color: var(--ink); }
.ce-source span { color: var(--muted); line-height: 1.6; }
.ce-source-delayed, .ce-source-unavailable, .ce-source-pending { border-color: #c8a982; }
.ce-disclaimer { font-size: .75rem; color: var(--muted); line-height: 1.7; margin-top: 1rem; }
.ce-one .ce-event { flex-basis: 100%; }
.ce-two .ce-event { flex-basis: calc((100% - 1rem) / 2); }
@media (max-width: 950px) { .ce-event { flex-basis: calc((100% - 1rem) / 2); } .ce-source-status { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .ce-event, .ce-two .ce-event { flex-basis: 100%; padding: 1.25rem; } .ce-filters label { width: 100%; } .ce-filters select { width: 100%; } .ce-filters { gap: .65rem; } .ce-heading { align-items: start; } .ce-source-status { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .ce-viewport { scroll-behavior: auto; } }
.ce-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1rem}.ce-save{border:1px solid #aebdb2;border-radius:7px;background:#fff;color:#164c43;min-height:42px;padding:.6rem .8rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.ce-save[aria-pressed=true]{background:#eaf0e5}.ce-save:disabled{opacity:.6;cursor:wait}.ce-card-actions .text-link{min-height:36px;display:inline-flex;align-items:center}.ce-save:focus-visible,.ce-calendar-day:focus-visible{outline:3px solid #16786e;outline-offset:3px}.ce-guide{padding:.8rem 1rem;background:#eaf0e5;border-radius:8px;font-size:.8rem;line-height:1.7;margin:.8rem 0}.ce-guide p{margin:0 0 .5rem}.ce-detail{max-width:850px;background:#fff;padding:2rem;border:1px solid #d9ded3;border-radius:14px}.ce-detail h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.25;margin:1rem 0}.ce-detail-time{font-size:1.2rem;font-weight:600;color:#164c43;line-height:1.6}.ce-detail-meta{color:#586b61}.ce-detail>p{line-height:1.7}.ce-notice{background:#f3e6c9;padding:.8rem;border-radius:7px}.ce-calendar-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1fr);gap:1.5rem}.ce-calendar-card{padding:1.4rem;border:1px solid #d9ded3;border-radius:14px;background:#fff;align-self:start}.ce-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.ce-calendar-toolbar h3{font-size:1.2rem;text-align:center}.ce-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ce-weekday{text-align:center;font-size:.65rem;color:#586b61;padding:.5rem 0}.ce-calendar-day{min-height:60px;border:1px solid #d9ded3;border-radius:8px;background:#faf7f0;color:#20392f;font:inherit;font-size:.9rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.ce-calendar-day.selected{border:2px solid #7952a7;background:#f0e9f8}.ce-calendar-dot{font-size:.58rem;font-weight:700;color:#7952a7}.ce-agenda{display:grid;align-content:start;gap:1rem}.ce-agenda>h3{font-size:1.15rem}.ce-agenda-card{padding:1.3rem;border:1px solid #d9ded3;border-radius:12px;background:#fff}.ce-agenda-card h4{font-size:1.1rem;line-height:1.5;margin:.7rem 0}.ce-agenda-card>p{font-size:.8rem;line-height:1.7}.ce-saved-count,.ce-calendar-status{font-size:.8rem;line-height:1.7;color:#586b61;margin:.7rem 0}.ce-calendar-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem}.ce-calendar-label input{width:18px;height:18px}.ce-calendar-provider,.ce-role{max-width:100%}.ce-calendar-status:empty{display:none}
@media(max-width:800px){.ce-calendar-layout{grid-template-columns:minmax(0,1fr)}.ce-detail{padding:1.3rem}.ce-calendar-card{padding:1rem}.ce-calendar-day{min-height:52px}.ce-calendar-dot{font-size:.55rem}}
