.stage{--ease:cubic-bezier(.16, 1, .3, 1);--view:clamp(29rem, 72svh, 36rem);--dim:#6b6b6b;--off:#3a3a3a}.stage .stage__steps{gap:clamp(2.5rem,10vw,4.5rem);display:grid}.stage .stage__step{min-width:0}.stage .stage__line{width:100%;color:var(--ink);font-family:var(--font-display);font-size:var(--t-lead);letter-spacing:-.02em;text-align:left;pointer-events:none;border-radius:6px;font-weight:500;line-height:1.2;display:block}.stage .stage__detail{max-width:34rem;color:var(--text);margin-top:.625rem}.stage .stage__line:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.stage .stage__card{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:20px;margin-top:1rem;padding:.875rem;font-size:.8125rem;line-height:1.3;overflow:hidden}.stage .stage__card-body{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.stage .stage__card-body .stage__head{grid-row:1}.stage .stage__card-body .stage__slide{grid-row:2}.stage .stage__side{display:none}.stage .stage__window{border:1px solid var(--line);background:var(--surface);height:100%;color:var(--text);border-radius:20px;grid-template-rows:auto auto minmax(0,1fr);font-size:.8125rem;line-height:1.3;display:grid;overflow:hidden;container:window/inline-size}.stage .stage__chrome{align-items:center;gap:.375rem;padding:.75rem 1rem;display:flex;position:relative}.stage .stage__chrome>span{background:var(--surface-3);border-radius:50%;width:10px;height:10px}.stage .stage__chrome p{color:var(--muted);text-align:center;flex:1;margin-right:46px;font-size:.75rem}.stage .stage__visit{color:var(--ink);isolation:isolate;align-items:center;gap:.25rem;padding-inline:1rem;font-size:.75rem;font-weight:500;display:flex;position:absolute;top:0;bottom:0;right:0}.stage .stage__visit canvas{z-index:-1;pointer-events:none;width:calc(100% + 48px);height:100%;position:absolute;top:0;left:-48px}.stage .stage__visit svg{animation:stage-visit-arrow 3.2s var(--ease) infinite}@keyframes stage-visit-arrow{0%,70%,to{transform:translate(0)}82%{transform:translate(3px,-3px)}}@media (hover:hover) and (pointer:fine){.stage .stage__visit:hover svg{animation-duration:1.2s}}@media (prefers-reduced-motion:reduce){.stage .stage__visit svg{animation:none}}.stage .stage__progress{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;display:grid}.stage .stage__progress span{background:var(--line);height:2px;transition:background-color .24s var(--ease)}.stage .stage__progress span[data-on]{background:var(--ink)}.stage .stage__app{grid-template-columns:9.5rem minmax(0,1fr);min-height:0;display:grid}.stage .stage__rail{border-right:1px solid var(--line);color:var(--muted);padding:1rem .625rem;overflow:hidden}.stage .stage__hotel{color:var(--ink);padding:0 .75rem .75rem;font-weight:700}.stage .stage__nav li{white-space:nowrap;transition:background-color .18s var(--ease), color .18s var(--ease);border-radius:8px;padding:.4375rem .75rem}.stage .stage__nav li[data-current]{background:var(--surface-3);color:var(--ink)}.stage .stage__main{grid-template-rows:auto minmax(0,1fr);gap:.875rem;min-width:0;min-height:0;padding:1.125rem 1.25rem;display:grid}.stage .stage__head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.stage .stage__title{color:var(--ink);font-family:var(--font-body);font-size:1.25rem;font-weight:700;line-height:1.2}.stage .stage__sample{color:var(--muted);white-space:nowrap}.stage .stage__stack{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.stage .stage__slide{min-width:0;min-height:0;animation:stage-enter .22s var(--ease);grid-area:1/1;container:scene/inline-size}.stage .stage__slide[data-leaving]{visibility:hidden;opacity:0;animation:stage-leave .14s var(--ease)}.stage .stage__slide[data-waiting] *,.stage .stage__slide[data-waiting] :before,.stage .stage__slide[data-waiting] :after{animation-play-state:paused!important}@container window (max-width:44rem){.stage .stage__app{grid-template-columns:7.75rem minmax(0,1fr)}.stage .stage__rail{padding-inline:.375rem;font-size:.75rem}.stage .stage__hotel,.stage .stage__nav li{padding-inline:.5rem}.stage .stage__main{padding:1rem}}.stage .rise{animation:stage-rise .42s var(--ease) var(--at,0s) backwards}.stage .lamp{background:var(--ink);width:6px;height:6px;animation:stage-lamp .24s var(--ease) var(--at,0s) backwards;border-radius:50%;flex:none;display:inline-block}.stage .flip{display:inline-grid}.stage .flip__face{grid-area:1/1;min-width:0}.stage .flip__face[data-phase=first]{opacity:0;animation:stage-flip-out .2s var(--ease) var(--out) backwards}.stage .flip__face[data-phase=middle]{opacity:0;animation:stage-flip-in .26s var(--ease) var(--in) forwards, stage-flip-out .2s var(--ease) var(--out) forwards}.stage .flip__face[data-phase=last]{animation:stage-flip-in .26s var(--ease) var(--in) backwards}.stage .chan{flex-direction:column;gap:.625rem;height:100%;display:flex}.stage .chan__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.stage .chan__row{border:1px solid var(--line);color:var(--ink);border-radius:10px;gap:.125rem;padding:.5rem .75rem;font-weight:500;display:grid}.stage .chan__status{color:var(--muted);align-items:center;gap:.375rem;font-size:.75rem;font-weight:400;display:flex}.stage .chan__chart{flex:1;grid-template-rows:1.25rem repeat(6,minmax(1.5rem,1fr));grid-template-columns:2.25rem repeat(7,minmax(0,1fr));gap:3px;min-height:0;display:grid}.stage .chan__today{background:var(--accent);opacity:.6;grid-row:1/-1;justify-self:start;width:1px}.stage .chan__day{color:var(--muted);grid-row:1;align-self:center;padding-left:.375rem;font-size:.75rem}.stage .chan__day[data-today]{color:var(--accent);font-weight:700}.stage .chan__room{grid-column:1;align-self:center;font-size:.75rem}.stage .chan__stay{z-index:1;background:var(--surface-3);white-space:nowrap;border-radius:6px;flex-direction:column;justify-content:center;min-width:0;padding:0 .5rem;display:flex;overflow:hidden}.stage .chan__stay[data-in-house]{background:var(--ink);color:#000}.stage .chan__stay[data-new]{background:var(--surface);box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink);animation:stage-land .52s var(--ease) var(--at,0s) backwards}.stage .chan__guest{text-overflow:ellipsis;font-size:.75rem;font-weight:700;overflow:hidden}.stage .chan__source{opacity:.7;text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.stage .chan__note{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.125rem 1rem;display:flex}.stage .chan__note span:first-child{color:var(--ink);font-weight:500}@container scene (max-width:24rem){.stage .chan__list{grid-template-columns:minmax(0,1fr);gap:.25rem}.stage .chan__row{justify-content:space-between;align-items:center;padding:.375rem .625rem;display:flex}.stage .chan__chart{grid-template-columns:1.75rem repeat(7,minmax(0,1fr))}.stage .chan__day{padding-left:0;font-size:.6875rem}.stage .chan__stay{padding:0}.stage .chan__guest,.stage .chan__source{display:none}.stage .chan__stay[data-roomy]{padding:0 .375rem}.stage .chan__stay[data-roomy] .chan__guest{text-overflow:ellipsis;font-size:.6875rem;display:block;overflow:hidden}}@container scene (max-width:19rem){.stage .chan__stay[data-roomy]:not([data-long]) .chan__guest{display:none}}.stage .checkin{grid-template-columns:minmax(0,11.5rem) minmax(0,1fr);align-items:start;gap:1.25rem;height:100%;display:grid}.stage .phone{border:1px solid var(--line);background:var(--surface-2);border-radius:24px;flex-direction:column;gap:.625rem;height:min(100%,23rem);min-height:18.5rem;padding:.875rem .75rem;display:flex}.stage .phone:before{content:"";background:var(--surface-3);border-radius:999px;align-self:center;width:2.75rem;height:4px}.stage .phone__hotel{color:var(--ink);font-weight:700}.stage .phone__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.stage .phone__steps li{background:var(--ink);height:2px;animation:stage-lamp .24s var(--ease) var(--at,0s) backwards}.stage .phone__screens{flex:1;min-height:0;display:grid}.stage .phone__screens>.flip__face{display:grid}.stage .phone__screen{flex-direction:column;gap:.5rem;padding-top:.375rem;display:flex}.stage .phone__heading{color:var(--ink);font-size:1rem;font-weight:700;line-height:1.2}.stage .phone__detail{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:.5rem;padding-block:.25rem;display:flex}.stage .phone__detail span:last-child{color:var(--ink)}.stage .phone__id{border:1px solid var(--line);color:var(--ink);text-align:center;border-radius:10px;flex:1;place-items:center;display:grid}.stage .phone__button{background:var(--ink);color:#000;text-align:center;animation:stage-press .24s var(--ease) var(--at,0s);border-radius:10px;margin-top:auto;padding:.5rem;font-weight:700}.stage .phone__tick{background:var(--ink);color:#000;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;margin-block:auto .25rem;display:grid}.stage .phone__tick+.phone__heading+span{margin-bottom:auto}.stage .checkin__title{color:var(--ink);margin-bottom:.5rem;font-weight:700}.stage .checkin__row{border-top:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr);gap:.5rem;padding:.5rem .625rem;display:grid}.stage .checkin__row[data-focus]{background:var(--surface-3);border-top-color:#0000;border-radius:10px}.stage .checkin__row[data-focus]+.checkin__row{border-top-color:#0000}.stage .checkin__room{color:var(--ink);font-weight:700}.stage .checkin__guest{color:var(--ink);justify-items:start;gap:.125rem;display:grid}.stage .checkin__status{color:var(--muted);font-size:.75rem}.stage .checkin__done{color:var(--ink);align-items:center;gap:.375rem;display:inline-flex}@container scene (max-width:22rem){.stage .checkin{grid-template-columns:minmax(0,1fr);gap:1rem}.stage .phone{justify-self:center;width:min(100%,12.5rem)}.stage .checkin__row:nth-child(n+5){display:none}}.stage .kitchen{flex-direction:column;gap:.625rem;height:100%;display:flex}.stage .kitchen__board{--gap:.5rem;--inset:.375rem;--hop-x:calc(100% + 2 * var(--inset) + var(--gap));--hop-y:0px;column-gap:var(--gap);flex:1;grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;display:grid}.stage .kitchen__group{border-bottom:1px solid var(--line);color:var(--ink);grid-area:1/2/auto/-1;padding-bottom:.25rem;font-weight:700}.stage .kitchen__label{grid-row:2;grid-column:calc(var(--i) + 1);color:var(--muted);padding-block:.125rem .375rem}.stage .kitchen__lane{grid-row:3/-1;grid-column:calc(var(--i) + 1);border:1px solid var(--line);border-radius:10px}.stage .kitchen__queue{grid-row:3;grid-column:calc(var(--i) + 1);margin:var(--inset) var(--inset) 0;align-content:start;gap:.375rem;display:grid}.stage .kitchen__queued{background:var(--surface-3);color:var(--ink);border-radius:8px;gap:.125rem;padding:.5rem .625rem;display:grid}.stage .kitchen__queued span:last-child{color:var(--muted);font-size:.75rem}.stage .ticket{z-index:1;min-width:0;margin:var(--inset);background:var(--ink);color:#000;animation:stage-ticket 2.3s var(--ease) backwards;border-radius:8px;flex-direction:column;grid-area:4/4;align-self:start;gap:.5rem;padding:.625rem;display:flex}.stage .ticket__head{flex-wrap:wrap;justify-content:space-between;gap:0 .5rem;display:flex}.stage .ticket__room{font-weight:700}.stage .ticket__items{gap:.125rem;font-size:.75rem;display:grid}.stage .ticket__foot{justify-content:space-between;gap:.5rem;font-weight:700;display:flex}.stage .kitchen__note{color:var(--ink);font-weight:500}@container scene (max-width:30rem){.stage .kitchen__board{--hop-x:0px;--hop-y:calc(100% + 2 * var(--inset) + var(--gap));row-gap:var(--gap);grid-template-rows:repeat(4,minmax(3.875rem,1fr));grid-template-columns:4.5rem minmax(0,1fr)}.stage .kitchen__group{grid-area:2/1;align-self:start}.stage .kitchen__label{grid-row:calc(var(--i) + 1);grid-column:1;align-self:center;padding-block:0}.stage .kitchen__lane{grid-row:calc(var(--i) + 1);grid-column:2}.stage .ticket{grid-area:4/2;justify-content:center;gap:.125rem;padding:.375rem .625rem}.stage .kitchen__queue{grid-row:calc(var(--i) + 1);margin:0 var(--inset);grid-column:2;align-self:center}.stage .kitchen__queue[data-served],.stage .kitchen__queued:not(:first-child){display:none}.stage .kitchen__queued{grid-template-columns:minmax(0,1fr) auto;padding:.375rem .625rem}.stage .ticket__items{display:none}}.stage .keep{flex-direction:column;gap:.625rem;height:100%;display:flex}.stage .keep__counts{color:var(--muted);flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.stage .keep__counts .flip{color:var(--ink);font-weight:700}.stage .keep__grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(3.25rem,1fr);gap:.375rem;min-height:0;display:grid}.stage .keep__tile{min-width:0}.stage .keep__tile .flip{width:100%;height:100%;display:grid}.stage .keep__tile .flip__face{display:grid}.stage .keep__face{color:var(--ink);border:1px solid #ffffffbf;border-radius:10px;flex-direction:column;justify-content:space-between;gap:.125rem;padding:.5rem .625rem;font-size:.75rem;display:flex}.stage .keep__face[data-status=Cleaning]{background:var(--surface-3);color:var(--text);border-color:#0000}.stage .keep__face[data-status=Ready]{border-color:var(--line);color:var(--muted)}.stage .keep__room{color:var(--ink);font-size:.9375rem;font-weight:700}.stage .keep__note{color:var(--ink);font-weight:500}@container scene (max-width:24rem){.stage .keep__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stage .invoice{grid-template-columns:minmax(0,1fr) 9.5rem;gap:1rem;height:100%;display:grid}.stage .invoice__paper{background:var(--ink);color:#000;border-radius:12px;flex-direction:column;place-self:start center;gap:.5rem;width:100%;max-width:36rem;min-height:0;padding:1.25rem 1.5rem;display:flex;overflow:hidden}.stage .invoice__top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.stage .invoice__name{font-size:1rem;font-weight:700}.stage .invoice__party{color:#525252;font-size:.75rem}.stage .invoice__lines li,.stage .invoice__total{border-top:1px solid #0000001f;justify-content:space-between;gap:1rem;padding-block:.3125rem;display:flex}.stage .invoice__lines span:last-child{white-space:nowrap}.stage .invoice__total{border-top-color:#000;margin-top:.5rem;padding-top:.5rem;font-size:1rem;font-weight:700}.stage .invoice__trail{color:var(--ink);align-content:start;gap:.5rem;display:grid}.stage .invoice__trail li{align-items:center;gap:.5rem;display:flex}@container scene (max-width:30rem){.stage .invoice{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-content:start;gap:.625rem}.stage .invoice__trail li:not(:last-child){display:none}}.stage .chat{border:1px solid var(--line);border-radius:12px;grid-template-columns:10.5rem minmax(0,1fr);height:100%;display:grid;overflow:hidden}.stage .chat__list{border-right:1px solid var(--line)}.stage .chat__item{border-bottom:1px solid var(--line);color:var(--ink);gap:.125rem;padding:.625rem .75rem;display:grid}.stage .chat__item span:last-child{color:var(--muted);font-size:.75rem}.stage .chat__item[data-open]{background:var(--surface-2)}.stage .chat__thread{flex-direction:column;min-width:0;min-height:0;display:flex}.stage .chat__head{border-bottom:1px solid var(--line);color:var(--ink);flex-wrap:wrap;justify-content:space-between;gap:0 .75rem;padding:.625rem .75rem;font-weight:500;display:flex}.stage .chat__mode{color:var(--accent)}.stage .chat__body{flex-direction:column;flex:1;justify-content:flex-end;gap:.5rem;min-height:0;padding:.75rem;display:flex;overflow:hidden}.stage .chat__day{color:var(--muted);align-self:center;font-size:.75rem}.stage .bubble--right{align-self:flex-end}.stage .chat__exchange{gap:.5rem;display:grid}.stage .chat__reply{display:grid}.stage .chat__reply .flip__face{justify-self:end;max-width:88%}.stage .bubble{background:var(--surface-3);width:fit-content;max-width:88%;color:var(--ink);border-radius:12px;padding:.5rem .75rem;display:block}.stage .chat__reply .bubble{max-width:100%}.stage .bubble--concierge{background:var(--ink);color:#000}.stage .typing{gap:.25rem;padding-block:.75rem;display:inline-flex}.stage .typing span{opacity:.35;width:5px;height:5px;animation:stage-typing .24s var(--ease) calc(var(--in) + var(--dot,0s)) 4 alternate;background:#000;border-radius:50%}.stage .typing span:nth-child(2){--dot:80ms}.stage .typing span:nth-child(3){--dot:.16s}@container scene (max-width:30rem){.stage .chat{grid-template-columns:minmax(0,1fr)}.stage .chat__list{display:none}}.stage .rates{flex-direction:column;gap:.625rem;height:100%;display:flex}.stage .rates__key{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;font-size:.75rem;display:flex}.stage .rates__key li{align-items:center;gap:.375rem;display:inline-flex}.stage .rates__mark{border:1px solid var(--dim);border-radius:50%;width:9px;height:9px}.stage .rates__mark[data-recommended]{border-color:var(--ink);background:var(--ink)}.stage .rates__days{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;min-height:0;display:grid}.stage .rate{border:1px solid var(--line);border-radius:10px;grid-template-rows:auto minmax(4rem,1fr) auto auto;justify-items:center;gap:.375rem;min-width:0;padding:.625rem .25rem;display:grid}.stage .rate__day{color:var(--muted)}.stage .rate[data-today] .rate__day{color:var(--accent);font-weight:700}.stage .rate__rail{background:var(--line);width:1px;height:100%;position:relative}.stage .rate__was,.stage .rate__now{bottom:var(--pos);border-radius:50%;width:9px;height:9px;margin:0 0 -4.5px -4.5px;position:absolute;left:50%}.stage .rate__was{border:1px solid var(--dim);background:var(--surface)}.stage .rate__now{background:var(--ink);animation:stage-rate-y .64s var(--ease) var(--at,0s) backwards}.stage .rate__price{color:var(--ink);font-size:.9375rem;font-weight:700}.stage .rate__change{color:var(--muted);font-size:.6875rem}.stage .rates__note{color:var(--muted)}@container scene (max-width:30rem){.stage .rates__days{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(2rem,1fr);gap:.25rem}.stage .rate{grid-template-rows:none;grid-template-columns:2rem minmax(1.5rem,1fr) 3.25rem 3.25rem;align-items:center;gap:.5rem;padding:.25rem .625rem}.stage .rate__rail{width:100%;height:1px}.stage .rate__was,.stage .rate__now{top:50%;bottom:auto;left:var(--pos);margin:-4.5px 0 0 -4.5px}.stage .rate__now{animation-name:stage-rate-x}.stage .rate__price,.stage .rate__change{justify-self:end}}@media (min-width:900px){.stage{grid-template-columns:minmax(0,4fr) minmax(0,9fr);column-gap:clamp(2rem,4vw,4.5rem);display:grid}.stage .stage__steps{display:block}.stage .stage__step{align-items:center;min-height:70svh;display:flex}.stage .stage__line{width:fit-content;color:var(--dim);cursor:pointer;pointer-events:auto;transition:color .24s var(--ease)}.stage .stage__line:hover{color:var(--muted)}.stage .stage__line[aria-current]{color:var(--ink)}.stage .stage__detail{color:var(--dim);transition:color .24s var(--ease)}.stage .stage__step[data-active] .stage__detail{color:var(--text)}@supports (animation-timeline:view()){.stage .stage__text{animation:linear both stage-line-edge;animation-timeline:view();animation-range:cover}@keyframes stage-line-edge{0%,to{opacity:0}28%,72%{opacity:1}}}.stage .stage__card{display:none}.stage .stage__side{top:max(.75rem, calc(50svh - var(--view) / 2));height:var(--view);align-self:start;display:block;position:sticky}}@keyframes stage-enter{0%{opacity:0}}@keyframes stage-leave{0%{visibility:visible;opacity:1}}@keyframes stage-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes stage-lamp{0%{background:var(--off)}}@keyframes stage-flip-in{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}@keyframes stage-flip-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-.35em)}}@keyframes stage-land{0%{opacity:0;transform:translateY(-14px)scale(1.04)}}@keyframes stage-press{50%{opacity:.7;transform:scale(.97)}}@keyframes stage-ticket{0%,30.4%{transform:translate(calc(var(--hop-x) * -3), calc(var(--hop-y) * -3))}44.3%,56.5%{transform:translate(calc(var(--hop-x) * -2), calc(var(--hop-y) * -2))}70.4%,82.6%{transform:translate(calc(var(--hop-x) * -1), calc(var(--hop-y) * -1))}96.5%,to{transform:none}}@keyframes stage-typing{to{opacity:1}}@keyframes stage-rate-y{0%{bottom:var(--from)}}@keyframes stage-rate-x{0%{left:var(--from)}}@media (prefers-reduced-motion:reduce),(scripting:none){.stage *,.stage :before,.stage :after{transition:none!important;animation:none!important}}
