.program-toolbar{margin-bottom:28px}.program-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.program-tabs button{border:0;background:#f2f6f8;color:var(--muted);padding:20px 25px;text-align:left;display:flex;align-items:center;gap:18px;cursor:pointer}.program-tabs button+button{border-left:1px solid var(--line)}.program-tabs button b{font-size:19px}.program-tabs button span{font-size:12px}.program-tabs button.active{background:var(--navy);color:#fff}.program-tabs button.active b{color:var(--lime)}.program-legend{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px 18px;padding-top:16px;font-size:10px;color:var(--muted)}.program-legend span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border:1px solid rgba(0,0,0,.08);border-radius:2px;vertical-align:-1px}.legend-hepatobiliary:before{background:#b4c7e7}.legend-abdomen:before{background:#a3e0ff}.legend-cardiac:before{background:#c6e0b4}.legend-vascular:before{background:#e2f0d9}.legend-thyroid:before{background:#ffd85d}.legend-breast:before{background:#b9a4e4}.legend-musculoskeletal:before{background:#f6a4c3}.legend-pocus:before{background:#94caa5}.legend-fibrosis:before{background:#f8cbad}.legend-hands:before{background:#ffff99}.legend-break:before{background:#d9d9d9}.program-day{display:none}.program-day.active{display:block}.program-date{display:flex;align-items:center;gap:18px;margin:35px 0 18px}.program-date span{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--blue);color:#fff;font-size:10px;font-weight:700}.program-date h2{font-size:26px;margin:0}.program-room-head,.program-slot{display:grid;grid-template-columns:105px repeat(var(--rooms),1fr)}.program-room-head{background:var(--deep);color:#fff}.program-room-head>*{padding:16px;border-right:1px solid rgba(255,255,255,.15);font-size:11px;text-align:center}.program-slot{border-left:1px solid var(--line)}.program-slot>time{padding:18px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;font-weight:700;color:var(--navy);background:#fff}.program-room-cell{border-right:1px solid #fff;border-bottom:1px solid #fff;background:#f2f5f7;min-height:92px}.program-cell{height:100%;padding:16px;background:#eaf3f9}.program-cell small{font-size:13px;line-height:1.25;color:#163f69;font-weight:700}.program-cell h3{font-size:14px;line-height:1.45;margin:7px 0 0}.program-cell.type-hepatobiliary{background:#b4c7e7}.program-cell.type-abdomen{background:#a3e0ff}.program-cell.type-cardiac{background:#c6e0b4}.program-cell.type-vascular{background:#e2f0d9}.program-cell.type-thyroid{background:#ffd85d}.program-cell.type-breast{background:#b9a4e4}.program-cell.type-musculoskeletal{background:#f6a4c3}.program-cell.type-pocus{background:#94caa5}.program-cell.type-fibrosis{background:#f8cbad}.program-cell.type-hands{background:#ffff99}.program-cell.type-lunch{background:#f7f7f7}.program-cell.type-special{background:#fee8ef}.program-cell.type-break,.program-cell.type-ceremony{background:#d9d9d9}.program-cell.all-rooms{grid-column:2 / calc(var(--rooms) + 2);text-align:center;min-height:70px}.program-note{margin-top:22px;padding:14px;background:#f4f7f8;color:var(--muted);font-size:14px}.program-note strong{color:var(--blue)}@media(max-width:800px){.program-tabs button{display:grid;gap:5px;padding:15px}.program-legend{justify-content:flex-start;flex-wrap:wrap}.program-room-head{display:none}.program-slot{display:grid;grid-template-columns:82px 1fr;margin-bottom:8px;border:1px solid var(--line)}.program-slot>time{grid-row:1 / span 10;border-bottom:0;font-size:14px}.program-room-cell{grid-column:2;min-height:0}.program-room-cell:empty{display:none}.program-cell.all-rooms{grid-column:2;text-align:left}.program-date h2{font-size:19px}.program-cell h3{font-size:13px}.program-cell small{font-size:12px}}

/* Minute-accurate program timeline */
.program-day{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.program-room-head{min-width:900px;grid-template-columns:105px repeat(var(--rooms),1fr)}
.program-timeline{position:relative;min-width:900px;height:var(--timeline-height);border:1px solid #b8c6cf;border-top:0;background:#fff;overflow:hidden}
.program-time-grid{position:absolute;inset:0;z-index:0;pointer-events:none}
.program-hour-line,.program-half-line{position:absolute;top:var(--top);left:0;right:0;height:0}
.program-hour-line time{position:absolute;top:0;left:0;width:104px;padding-right:13px;transform:translateY(-50%);background:#fff;color:#082a50;text-align:right;font-size:14px;font-weight:700;line-height:22px}
.program-hour-line span{position:absolute;left:105px;right:0;border-top:1px solid #8fa5b3}
.program-half-line{left:105px;border-top:1px dashed #d5dfe5}
.program-track-grid{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:105px repeat(var(--rooms),1fr)}
.program-time-column{border-right:1px solid #8fa5b3;background:rgba(255,255,255,.75)}
.program-track{position:relative;border-right:1px solid #c6d2d9}
.program-track:last-child{border-right:0}
.program-track .program-cell,.program-all-track .program-cell{position:absolute;top:var(--top);height:var(--height);left:2px;right:2px;z-index:2;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border:1px solid rgba(18,45,65,.18);padding:3px 8px;text-align:center}
.program-track .program-cell small,.program-all-track .program-cell small{display:block;font-size:12px;line-height:1.15;color:#18354d;font-weight:800}
.program-track .program-cell h3,.program-all-track .program-cell h3{margin:2px 0 0;font-size:13px;line-height:1.2}
.program-all-track{position:absolute;z-index:3;top:0;right:0;bottom:0;left:105px;pointer-events:none}
.program-all-track .program-cell{left:2px;right:2px}
.program-timeline .program-cell.type-hepatobiliary{background:#b4c7e7}.program-timeline .program-cell.type-abdomen{background:#a3e0ff}.program-timeline .program-cell.type-cardiac{background:#c6e0b4}.program-timeline .program-cell.type-vascular{background:#e2f0d9}.program-timeline .program-cell.type-thyroid{background:#ffd85d}.program-timeline .program-cell.type-breast{background:#b9a4e4}.program-timeline .program-cell.type-musculoskeletal{background:#f6a4c3}.program-timeline .program-cell.type-pocus{background:#94caa5}.program-timeline .program-cell.type-fibrosis{background:#f8cbad}.program-timeline .program-cell.type-hands{background:#ffff99}.program-timeline .program-cell.type-lunch{background:#fff}.program-timeline .program-cell.type-special{background:#fee8ef}.program-timeline .program-cell.type-break,.program-timeline .program-cell.type-ceremony{background:#d9d9d9}
@media(max-width:800px){.program-room-head{display:grid}.program-date{position:sticky;left:0}.program-track .program-cell small,.program-all-track .program-cell small{font-size:12px}.program-track .program-cell h3,.program-all-track .program-cell h3{font-size:12px}}

/* Day 2 special program markers */
.program-special-legend{position:sticky;left:0;display:flex;align-items:center;justify-content:flex-end;gap:26px;margin-top:-10px;padding:15px 10px 4px;border-top:3px solid #345aa3;color:#555;font-size:17px;line-height:1.2}
.program-badge{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.program-badge i,.program-cell-badge{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;color:#fff;font-style:normal;font-size:14px;font-weight:800;line-height:1}
.program-badge-lunch i,.program-cell-badge-lunch{background:#d7487f}
.program-badge-korean i,.program-cell-badge-korean{background:#e6a83b}
.program-cell-badge{position:absolute;z-index:4;top:7px;left:7px;width:24px;height:24px;font-size:11px;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.program-meal-icon{display:block;width:19px;height:19px;color:#fff}
.program-badge-lunch i{width:30px;height:30px;flex-basis:30px;background:#a72d60}
.program-cell-badge-lunch{width:24px;height:24px;background:#a72d60}
.program-cell-badge-lunch .program-meal-icon{width:17px;height:17px}
.program-cell-badge-lunch~small{padding-left:24px!important}
.program-cell.has-program-badge small{padding-left:18px;padding-right:18px}

@media(max-width:800px){
.program-special-legend{min-width:900px;justify-content:flex-start;padding-left:105px;font-size:15px}
.program-day{scrollbar-width:thin;scrollbar-color:#9d3a70 #f4e9ef}
.program-day::-webkit-scrollbar{height:8px}
.program-day::-webkit-scrollbar-track{background:#f4e9ef}
.program-day::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(90deg,#642254,#d65b70)}
}
