.co-timeline{border:1px solid var(--sf-line);background:var(--sf-card);color:var(--sf-ink);border-radius:16px;padding:18px}.co-timeline-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.co-drag-hint{color:var(--sf-muted);font-size:11px}.co-timeline-labels{height:38px;color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-top:12px;font-size:10px;position:relative}.co-timeline-labels span{white-space:nowrap;position:absolute;top:14px;transform:translate(-50%)}.co-timeline-labels span:first-child{transform:none}.co-timeline-labels span:last-child{transform:translate(-100%)}.co-timeline-track{isolation:isolate;height:64px;position:relative}.co-time-segment{border-inline-end:1px solid color-mix(in srgb, var(--sf-ink) 8%, transparent);background:color-mix(in srgb, var(--sf-ink) 5%, var(--sf-card));cursor:pointer;position:absolute;inset-block:0}.co-time-segment:disabled{cursor:default}.co-time-segment-reserved,.co-legend-booked{background:repeating-linear-gradient(135deg, transparent 0 4px, color-mix(in srgb, var(--sf-ink) 15%, transparent) 4px 6px) color-mix(in srgb, var(--sf-ink) 10%, var(--sf-card))}.co-time-segment-buffer,.co-legend-buffer{background:color-mix(in srgb, var(--sf-ink) 22%, var(--sf-card))}.co-booked-label{pointer-events:none;color:var(--sf-muted);place-items:center;font-size:10px;display:grid;position:absolute;inset-block:0}.co-time-selection{background:var(--sf-ink);color:var(--sf-on-ink);pointer-events:none;white-space:nowrap;box-shadow:0 6px 18px color-mix(in srgb, var(--sf-ink) 15%, transparent);transition:left .22s var(--ease-standard), width .22s var(--ease-standard);border-radius:8px;place-items:center;padding-inline:10px;font-size:11px;font-weight:600;display:grid;position:absolute;inset-block:4px;overflow:hidden}.co-time-handle{z-index:2;touch-action:none;cursor:ew-resize;width:26px;height:64px;transition:left .22s var(--ease-standard);place-items:center;display:grid;position:absolute;top:0;transform:translate(-50%)}.co-time-handle:active{transition:none}.co-time-handle:hover span,.co-time-handle:active span{transform:scaleY(1.08)}.co-time-handle span{transition:transform var(--dur-instant,.1s) var(--ease-standard);border:2px solid var(--sf-ink);background:var(--sf-card);width:17px;height:36px;color:var(--sf-ink);border-radius:6px;place-items:center;font-size:10px;display:grid}.co-time-handle:focus-visible{outline:2px solid var(--sf-accent);outline-offset:4px;border-radius:6px}.co-timeline-legend{color:var(--sf-muted);flex-wrap:wrap;gap:14px;margin-top:14px;font-size:10px;display:flex}.co-timeline-legend span{align-items:center;gap:5px;display:flex}.co-timeline-legend i{border:1px solid var(--sf-line);border-radius:2px;width:10px;height:10px}.co-legend-open{background:var(--sf-card)}.co-booked-times{color:var(--sf-muted);margin-top:10px;font-size:11px;line-height:1.6}.co-time-adjust{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:16px;font-size:13px;display:flex}.co-time-adjust__group{align-items:center;gap:10px;display:flex}.co-time-adjust button{border:1px solid var(--sf-line);background:var(--sf-card);width:40px;height:40px;color:var(--sf-ink);cursor:pointer;border-radius:50%;place-items:center;font-size:20px;display:grid}.co-time-adjust button:disabled{opacity:.3;cursor:default}@media (prefers-reduced-motion:reduce){.co-time-selection,.co-time-handle,.co-time-handle span{transition:none}}@media (pointer:coarse){.co-drag-hint{display:none}}
.co-schedule{--sf-bg:var(--co-bg);--sf-card:var(--co-bg);--sf-ink:var(--co-ink);--sf-muted:var(--co-muted);--sf-accent:var(--co-accent);--sf-on-accent:var(--co-on-accent);--sf-line:var(--co-rule);--sf-radius:var(--co-radius);--sf-font-body:var(--co-font);--sf-font-display:var(--co-display)}.co-schedule-main{width:min(100%,1200px);margin:0 auto;padding:32px 32px 64px}.co-schedule .sf-display{font-family:var(--co-display)}.co-schedule .sf-h2{font-size:clamp(26px,4vw,36px);line-height:1.2}.co-schedule-main>.max-w-4xl{max-width:none}.co-schedule-main>.co-booking-progress{margin:12px 0 36px}.co-roomlist{gap:10px;margin-top:24px;display:grid}.co-roomrow{border:1px solid var(--co-rule);border-radius:max(var(--co-radius), 14px);background:var(--co-bg);width:100%;color:var(--co-ink);text-align:left;cursor:pointer;grid-template-columns:72px minmax(0,1fr) auto 16px;align-items:center;gap:16px;padding:10px 16px 10px 10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.co-roomrow:hover{border-color:var(--co-ink);transform:translateY(-1px)}.co-roomrow[aria-pressed=true]{border-color:var(--co-ink);box-shadow:0 0 0 1px var(--co-ink)}.co-roomrow__media{background:color-mix(in srgb, var(--ch,var(--co-ink)) 18%, var(--co-bg));border-radius:10px;width:72px;height:72px;display:block;overflow:hidden}.co-roomrow__media img{object-fit:cover;width:100%;height:100%}.co-roomrow__body{flex-direction:column;gap:3px;min-width:0;display:flex}.co-roomrow__name{font-size:16px;font-weight:650;line-height:1.3}.co-roomrow__meta{color:var(--co-muted);font-size:13px;line-height:1.4}.co-roomrow__rate{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.co-roomrow__rate small{color:var(--co-muted);font-size:12px;font-weight:500}.co-roomrow__chev{color:var(--co-muted);font-size:22px;line-height:1}.co-roomrow--small{opacity:.6}.co-chooser{flex-direction:column;gap:24px;margin-top:24px;display:flex}.co-chooser .co-roomlist{margin-top:0}.co-roomgroup{flex-direction:column;gap:10px;display:flex}.co-roomgroup__name{color:var(--co-ink);font-size:15px;font-weight:650}.co-when__room{margin-top:24px}.co-when__room .co-chooser{margin-top:0}.co-chip--rated{flex-direction:column;gap:1px;line-height:1.15}.co-chip__rate{color:var(--co-muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.co-repeat{border:1px solid var(--co-rule);border-radius:max(var(--co-radius), 12px);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.co-repeat input{accent-color:var(--co-accent);margin-top:3px}.co-repeat__title{font-size:15px;font-weight:650;display:block}.co-repeat__note{color:var(--co-muted);margin-top:2px;font-size:13px;line-height:1.5;display:block}.co-session-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:40px;display:grid}.co-session-picker{min-width:0}.co-when{flex-direction:column;gap:28px;margin-top:24px;display:flex}.co-when__block{flex-direction:column;gap:12px;display:flex}.co-when__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.co-when__label{color:var(--co-ink);font-size:15px;font-weight:650}.co-when__toggle{color:var(--co-muted);text-underline-offset:4px;cursor:pointer;font-size:13px;text-decoration:underline}.co-when__toggle:hover{color:var(--co-ink)}.co-when__quiet{color:var(--co-muted);font-size:14px;line-height:1.5}.co-lengths{flex-wrap:wrap;gap:8px;display:flex}.co-lengths .sf-slot{min-width:72px;padding-inline:.9rem}.co-daystrip{scrollbar-width:none;padding-bottom:2px;gap:8px;margin-inline:-4px;padding-inline:4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.co-daystrip::-webkit-scrollbar{display:none}.co-daystrip .sf-daychip{flex:none;gap:.15rem;min-width:3.4rem;min-height:56px}.co-daystrip .sf-daychip--full{color:color-mix(in srgb, var(--co-ink) 34%, transparent);text-decoration:line-through;text-decoration-thickness:1px}.co-when__part+.co-when__part{margin-top:16px}.co-when__part .sf-daypart{letter-spacing:0;text-transform:none;color:var(--co-ink);margin-top:0;margin-bottom:8px;font-size:13px;font-weight:600}.co-when__part .sf-daypart span{color:var(--co-muted);font-weight:500}.co-when__more{color:var(--co-muted);border-style:dashed}.co-availability-empty{border:1px solid color-mix(in srgb, var(--co-ink) 12%, transparent);border-radius:max(12px, var(--co-radius));background:var(--co-panel);padding:20px}.co-availability-empty p{color:var(--co-muted);margin-top:8px;font-size:14px}.co-session-summary{border:1px solid var(--co-rule);border-radius:max(var(--co-radius), 16px);background:var(--co-bg);padding:24px;position:sticky;top:24px;box-shadow:0 8px 32px #00000004}.co-session-room{border-bottom:1px solid var(--co-rule);align-items:center;gap:14px;padding-bottom:20px;display:flex}.co-session-room img{object-fit:cover;border-radius:10px;width:76px;height:76px}.co-session-room h3{margin-top:4px;font-size:17px;font-weight:650;line-height:1.35}.co-session-room span{font-size:12px}.co-session-selection{margin-top:20px}.co-session-date{margin-bottom:8px;font-weight:600}.co-session-bar{margin-top:16px}.co-session-bar__recap{display:none}.co-session-bar__go{width:100%;min-height:50px}.co-session-empty{color:var(--co-muted);gap:20px;margin-top:20px;line-height:1.6;display:grid}.co-session-reassurance{color:var(--co-muted);margin-top:16px;font-size:12px;line-height:1.6}@media (max-width:1100px){.co-session-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}}@media (max-width:800px){.co-schedule{padding-bottom:112px}.co-session-layout{grid-template-columns:1fr}.co-session-summary{padding:20px;position:static}.co-session-bar{z-index:20;padding:10px 16px max(12px, env(safe-area-inset-bottom));background:var(--co-bg);border-top:1px solid var(--co-rule);margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000001a}.co-session-bar__recap{color:var(--co-muted);white-space:nowrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:13px;display:flex;overflow:hidden}.co-session-bar__recap>span:first-child{text-overflow:ellipsis;overflow:hidden}.co-session-bar__total{color:var(--co-ink);font-size:15px;font-weight:650}.co-schedule-main>.co-booking-progress{margin-bottom:28px}.co-roomrow{grid-template-columns:60px minmax(0,1fr) auto;gap:12px}.co-roomrow__media{width:60px;height:60px}.co-roomrow__chev{display:none}}@media (prefers-reduced-motion:reduce){.co-roomrow{transition:none}}@media (max-width:700px){.co-schedule-main{padding:16px 20px 40px}}.co-skeleton{border-radius:var(--sf-chip-radius,8px);background:linear-gradient(90deg, color-mix(in srgb, var(--co-ink) 6%, transparent) 0%, color-mix(in srgb, var(--co-ink) 11%, transparent) 50%, color-mix(in srgb, var(--co-ink) 6%, transparent) 100%);background-size:200% 100%;display:block}.co-skeleton--chip{min-width:72px;height:3rem}.co-skeleton--label{width:96px;height:14px;margin-bottom:10px}.co-tick-in{display:inline-block}@media (prefers-reduced-motion:no-preference){.co-session-stage{animation:co-rise var(--dur-slow,.45s) var(--ease-entrance) backwards}.co-roomrow{animation:co-rise var(--dur-slow,.45s) var(--ease-entrance) both;animation-delay:calc(var(--i,0) * 45ms)}.co-when__block{animation:co-rise var(--dur-slow,.45s) var(--ease-entrance) both;animation-delay:calc(var(--i,0) * 70ms)}.co-session-summary{animation:co-rise var(--dur-slow,.45s) var(--ease-entrance) backwards;animation-delay:.16s}.co-chip{animation:co-pop-in var(--dur-base,.25s) var(--ease-entrance) both;animation-delay:calc(var(--i,0) * 22ms)}.co-chip[aria-pressed=true]{animation:co-pressed .32s var(--ease-spring)}.co-when__starts{transition:opacity var(--dur-fast,.15s) var(--ease-standard)}.co-when__starts--stale{opacity:.45;pointer-events:none}.co-when__label{animation:co-fade var(--dur-base,.25s) var(--ease-entrance) both}.co-session-selection{animation:co-rise var(--dur-base,.25s) var(--ease-entrance) backwards}.co-availability-empty,.co-timeline{animation:co-rise var(--dur-base,.25s) var(--ease-entrance) both}.co-tick-in{animation:co-tick .36s var(--ease-spring) both}.co-skeleton{animation:co-shimmer 1.4s linear infinite, co-fade var(--dur-base,.25s) var(--ease-entrance) both;animation-delay:calc(var(--i,0) * 60ms), calc(var(--i,0) * 40ms)}}@media (prefers-reduced-motion:no-preference) and (max-width:800px){.co-session-bar{animation:co-bar-up var(--dur-base,.25s) var(--ease-entrance) both}}@keyframes co-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes co-fade{0%{opacity:0}to{opacity:1}}@keyframes co-pop-in{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:none}}@keyframes co-pressed{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes co-tick{0%{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}@keyframes co-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes co-bar-up{0%{transform:translateY(100%)}to{transform:none}}
