.schedule-showcase { display: grid; gap: 16px; padding-top: 24px; padding-bottom: 24px; overflow: hidden; }
.schedule-showcase__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.schedule-showcase__header > div { display: grid; gap: 6px; }
.schedule-showcase__header h2 { margin: 0; color: var(--ink,#163d39); font-size: clamp(1.45rem,calc(6vw * var(--app-font-scale)),2.3rem); }
.schedule-showcase__header p { max-width: 54ch; margin: 0; color: var(--ink-soft,#657b77); font-size: .84rem; line-height: 1.45; }
.schedule-showcase__status { flex: 0 0 auto; padding: 8px 10px; border-radius: 999px; color: #087d75; background: #e2f5f1; font-size: .68rem; }
.schedule-showcase__filters { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; }
.schedule-showcase__filters::-webkit-scrollbar { display: none; }
.schedule-showcase__filters button { flex: 0 0 auto; min-height: 40px; padding: 8px 14px; border: 1px solid rgba(20,91,84,.12); border-radius: 999px; color: #55706b; background: rgba(255,255,255,.78); font: inherit; font-size: .78rem; font-weight: 760; }
.schedule-showcase__filters button.active { color: #fff; border-color: transparent; background: #153f3a; }
.schedule-showcase__rail { display: grid; grid-auto-columns: minmax(238px,72%); grid-auto-flow: column; gap: 12px; overflow-x: auto; padding: 2px 2px 12px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.schedule-showcase__rail::-webkit-scrollbar { display: none; }
.schedule-showcase-card { min-width: 0; overflow: hidden; border: 1px solid rgba(20,72,67,.09); border-radius: 24px; background: #fff; box-shadow: 0 14px 32px rgba(16,67,62,.09); scroll-snap-align: start; }
.schedule-showcase-card[hidden] { display: none; }
.schedule-showcase-card__open { display: grid; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; }
.schedule-showcase-card__visual { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: #d9efea; }
.schedule-showcase-card__visual::after { position: absolute; inset: auto 0 0; height: 55%; content: ""; background: linear-gradient(transparent,rgba(7,36,33,.38)); }
.schedule-showcase-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.schedule-showcase-card:hover img { transform: scale(1.035); }
.schedule-showcase-card__date { position: absolute; z-index: 1; top: 12px; left: 12px; display: grid; place-items: center; min-width: 48px; min-height: 54px; padding: 6px; border-radius: 15px; color: #153d38; background: rgba(255,255,255,.9); box-shadow: 0 7px 20px rgba(6,39,36,.14); }
.schedule-showcase-card__date b { font-size: 1.2rem; line-height: 1; }.schedule-showcase-card__date small { font-size: .6rem; text-transform: uppercase; }
.schedule-showcase-card__copy { display: grid; min-height: 126px; gap: 7px; padding: 16px 16px 8px; }
.schedule-showcase-card__copy small { color: #0b8a80; font-size: .65rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.schedule-showcase-card__copy strong { color: #173d39; font-size: 1.05rem; line-height: 1.15; }.schedule-showcase-card__copy span { color: #6c7e7a; font-size: .78rem; }
.schedule-showcase-card__action { display: flex; align-items: center; justify-content: space-between; padding: 0 16px 17px; color: #255b55; font-size: .76rem; font-weight: 800; }.schedule-showcase-card__action svg { width: 19px; }
.schedule-detail-cover { position: relative; aspect-ratio: 16/9; margin-bottom: 16px; overflow: hidden; border-radius: 22px; background: #d9efea; }
.schedule-detail-cover img,.schedule-detail-cover span { position: absolute; inset: 0; width: 100%; height: 100%; }.schedule-detail-cover img { object-fit: cover; }.schedule-detail-cover span { background: linear-gradient(transparent,rgba(8,43,39,.38)); }
html[data-theme="dark"] .schedule-showcase-card { border-color: rgba(117,225,215,.15); background: #102f2d; }
html[data-theme="dark"] .schedule-showcase-card__copy strong { color: #efffFC; }html[data-theme="dark"] .schedule-showcase-card__copy span { color: #a8c4bf; }
html[data-theme="dark"] .schedule-showcase__filters button { color: #b8d0cc; border-color: rgba(117,225,215,.15); background: #143b38; }html[data-theme="dark"] .schedule-showcase__filters button.active { color: #082f2c; background: #79e6dc; }
@media (min-width: 720px) { .schedule-showcase__rail { grid-auto-columns: minmax(250px,31%); } }
@media (max-width: 360px) { .schedule-showcase__header { display: grid; }.schedule-showcase__rail { grid-auto-columns: 82%; } }
@media (prefers-reduced-motion: reduce) { .schedule-showcase * { scroll-behavior: auto!important; transition: none!important; } }

/* module=scheduling; channel=miniapp,web; layer=ui; scenario=schedule.day-programme */
#calendar.schedule-day-view > :is(.calendar-band,.next-event) { display:none; }
#calendar.schedule-day-view > header > :is(h1,p,.eyebrow) { display:none; }
#calendar .schedule-showcase { gap:12px;padding-top:12px;background:transparent; }
#calendar .schedule-showcase__header { flex-wrap:wrap;gap:7px; }
#calendar .schedule-showcase__header h2 { margin:0;color:var(--ink,#123b49);font-size:clamp(1.9rem,7vw,2.6rem);line-height:1.12;letter-spacing:-.04em; }
#calendar .schedule-showcase__status { max-width:100%;color:var(--muted,#3f6a77);background:var(--surface-glass,#ffffff66);font-size:.75rem;line-height:1.4;white-space:normal;padding:5px 9px; }
#calendar .schedule-month-bar { display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:9px; }
#calendar .schedule-month-bar strong { text-align:center;text-transform:capitalize;color:var(--ink,#123b49);font-size:1rem; }
#calendar .schedule-month-bar button { width:44px;height:42px;border:0;border-radius:14px;background:transparent;color:var(--ink,#123b49);font:inherit;font-size:1.8rem;cursor:pointer; }
#calendar .schedule-date-strip { position:relative;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 2px 8px; }
#calendar .schedule-date { position:relative;flex:0 0 64px;min-height:66px;display:grid;gap:3px;justify-items:center;padding:9px 8px;border-radius:19px;border:1px solid var(--line-glass,#ffffffa3);background:var(--surface-glass,#ffffff8c);color:var(--ink,#123b49);font:inherit;cursor:pointer;scroll-snap-align:center;backdrop-filter:blur(12px); }
#calendar .schedule-date span { font-size:.76rem;color:var(--muted,#3f6a77); }
#calendar .schedule-date strong { font-size:1.32rem;line-height:1.05; }
#calendar .schedule-date i { position:absolute;top:4px;right:5px;font-style:normal;font-size:.56rem;line-height:1; }
#calendar .schedule-date i.has-events { border-radius:99px;background:#84cfc332;padding:3px; }
#calendar .schedule-date.active { color:#fff;background:linear-gradient(145deg,#58caca,#1a8995);border-color:#baf6f2;box-shadow:inset 0 0 12px #b8ffff80,0 0 14px #4adbc655; }
#calendar .schedule-date.active span { color:#efffff; }
#calendar .schedule-timezone { margin:-5px 3px 0;color:var(--muted,#3f6a77);font-size:.85rem; }
#calendar .schedule-showcase__filters { gap:8px; }
#calendar .schedule-showcase__filters button { min-height:40px;padding:9px 18px;color:var(--ink,#123b49);background:var(--surface-glass,#ffffff85);border:1px solid var(--line-glass,#ffffffa3);border-radius:20px;font-size:.86rem;backdrop-filter:blur(12px); }
#calendar .schedule-showcase__filters button.active { color:#fff;background:linear-gradient(145deg,#55c6ca,#1c8e9a);border-color:#a0efed;box-shadow:0 0 12px #4bc6bf30; }
#calendar .schedule-showcase__rail { grid-auto-flow:row;grid-template-columns:1fr;grid-auto-columns:auto;overflow:visible;gap:10px;padding:2px; }
#calendar .schedule-showcase-card { padding:11px 13px;border:1px solid var(--line-glass,#ffffffdb);border-radius:19px;background:var(--surface-card,#ffffffad);box-shadow:0 4px 15px #0b344c0d;backdrop-filter:blur(16px); }
#calendar .schedule-showcase-card__open { display:grid;grid-template-columns:66px minmax(0,1fr) 20px;grid-template-rows:none;align-items:center;gap:10px;min-height:33px;padding:0;margin-bottom:7px;color:var(--ink,#123b49); }
#calendar .schedule-showcase-card__time { font-weight:750;font-size:1.25rem;letter-spacing:-.025em;font-variant-numeric:tabular-nums; }
#calendar .schedule-showcase-card__title { font-size:1rem;font-weight:750;line-height:1.2; }
#calendar .schedule-showcase-card__chevron { text-align:center;font-size:1.6rem;line-height:1; }
#calendar .schedule-showcase-card__body { display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:14px;align-items:stretch; }
#calendar .schedule-showcase-card__visual { height:68px;aspect-ratio:auto;border-radius:11px; }
#calendar .schedule-showcase-card.is-expanded .schedule-showcase-card__visual { height:115px; }
#calendar .schedule-showcase-card__visual::after { display:none; }
#calendar .schedule-showcase-card__copy { display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:5px 0;gap:10px; }
#calendar .schedule-showcase-card__description { margin:0;color:var(--muted,#3f6a77);font-size:.82rem;line-height:1.4; }
#calendar .schedule-showcase-card__duration { display:flex;gap:7px;align-items:center;color:var(--muted,#3f6a77);font-size:.83rem;line-height:1.4; }
#calendar .schedule-showcase-card__duration::before { content:"◷";font-size:1.25rem;line-height:1; }
#calendar .schedule-showcase-card__action { display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;margin-top:11px;padding:10px 15px;border:1px solid #99eeeb;border-radius:16px;background:linear-gradient(145deg,#55c8ca,#28a4aa);box-shadow:inset 0 0 10px #b5ffff6b,0 4px 12px #2cacb01c;color:#fff;font:700 .92rem/1.3 var(--font-body);cursor:pointer; }
#calendar .schedule-showcase-card [hidden] { display:none; }
#calendar .schedule-showcase__empty { margin:0;padding:28px 22px;border:1px dashed var(--line-glass,#8ab7c0);border-radius:20px;color:var(--muted,#3f6a77);background:var(--surface-glass,#ffffff70);font-size:.95rem;line-height:1.6;text-align:center; }
#calendar .schedule-showcase button:focus-visible { outline:3px solid #50c9d0;outline-offset:3px; }
html[data-theme="dark"] #calendar :is(.schedule-date.active,.schedule-showcase__filters button.active,.schedule-showcase-card__action) { color:#efffff;background:linear-gradient(145deg,#0d5863,#0c3947);border-color:#a3f6f1;box-shadow:inset 0 0 14px #6aeeea70,0 0 12px #71e8e849; }
@media(min-width:900px) { #calendar .schedule-showcase__rail { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:360px) { #calendar .schedule-showcase-card { padding:10px; }#calendar .schedule-showcase-card__open { grid-template-columns:59px minmax(0,1fr) 15px;gap:7px; }#calendar .schedule-showcase-card__title { font-size:.92rem; }#calendar .schedule-showcase-card__body { gap:10px; } }
