/* Live glass-and-chrome elevator panel rebuilt from the user's photo. */
.floor-navigation{--panel-led:#ff6172;position:fixed;inset-inline-end:16px;top:50%;transform:translateY(-50%);z-index:15;width:66px;padding:10px 6px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;max-height:calc(100dvh - 48px);border:3px solid transparent;border-radius:22px;color:#f0f0ed;background:linear-gradient(130deg,#303133 0%,#101113 27%,#08090b 45%,#242527 70%,#0b0c0e 100%) padding-box,linear-gradient(90deg,#080a09 0%,#a2a4a6 5%,#f0f1f2 10%,#4a4c4f 16%,#141617 50%,#66696c 85%,#f5f6f7 93%,#090b0a 100%) border-box;box-shadow:0 9px 25px #10121030,inset 1px 0 0 #ffffff65,inset -1px 0 0 #000;isolation:isolate}
.floor-navigation::before{content:"";position:absolute;inset:1px;border:1px solid #c4c7cb66;border-radius:18px;background:linear-gradient(133deg,#ffffff08 0%,#ffffff08 15%,transparent 15.3%,transparent 66%,#ffffff03 66.3%,transparent 100%);pointer-events:none;z-index:-1}
.floor-navigation::after{content:"";position:absolute;bottom:1px;inset-inline:2px;height:11px;border-top:1px solid #efeff0b3;border-radius:0 0 16px 16px;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,#00000008 1px 2px),linear-gradient(90deg,#737679,#d8dadd 26%,#b8babe 55%,#777b80 94%);pointer-events:none;z-index:-1}
.floor-display{display:flex;align-items:center;justify-content:center;gap:4px;width:44px;min-height:48px;flex-shrink:0;padding:7px 2px;background:transparent;color:var(--panel-led);direction:ltr;border-radius:10px}
.floor-current,.floor-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.floor-readout{display:flex;justify-content:center;align-items:center;gap:2px;max-width:36px;min-width:0;filter:drop-shadow(0 0 5px #f3384c55)}
.floor-readout .floor-led-digit{width:18px;height:30px;min-width:0;flex:0 1 18px;fill:#ff61720a;stroke:none;overflow:visible}.floor-led-digit .is-lit{fill:var(--panel-led)}
.floor-arrows{display:flex;flex-direction:column;gap:6px;font-size:7px;line-height:1}.floor-arrows>span{color:#797b7b}.floor-arrows>.is-on{color:var(--panel-led);text-shadow:0 0 6px #ff617280}
.floor-speaker{display:block;flex-shrink:0;width:28px;height:7px;border:1px solid #c0c9ce25;border-radius:1px;background:radial-gradient(circle,#b5c3cc 0 .8px,transparent 1px) 1px 1px/5px 4px,#272e35;box-shadow:inset 0 1px 3px #0008;margin-bottom:2px}
.floor-list{list-style:none;margin:0;padding:3px 0;display:flex;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden;min-height:0;width:48px;scrollbar-width:thin;scrollbar-color:#72777c transparent;overscroll-behavior:contain;scroll-behavior:auto}
.floor-list>li{flex-shrink:0}.floor-link{display:flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;margin-inline:auto;border-radius:50%}
.floor-number,.floor-peek-number{display:grid;place-items:center;position:relative;flex-shrink:0;width:30px;height:30px;border-radius:50%;border:2px solid transparent;background:linear-gradient(150deg,#62666a,#3d4145 45%,#5c6166 50%,#4c5156) padding-box,conic-gradient(from -20deg,#f2f3f4,#72767a 18%,#f3f4f5 35%,#7b8085 50%,#e5e8eb 68%,#60656a 84%,#f2f3f4) border-box;color:#fff;font-size:14px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000b;box-shadow:0 2px 4px #000a,inset 0 0 0 1px #ffffff4d;transition:box-shadow .18s,transform .18s}
.floor-link:hover .floor-number{box-shadow:0 0 0 1px #e9ecef,0 2px 5px #000a,inset 0 0 0 1px #ffffff80}.floor-link:active .floor-number{transform:translateY(1px)}
.floor-link[aria-current] .floor-number{box-shadow:0 0 0 2px var(--brand),0 0 12px #b0292780,inset 0 0 0 1px #ffffff6b}.floor-link[aria-current] .floor-number::after{content:"";position:absolute;top:3px;width:3px;height:3px;background:var(--panel-led);border-radius:50%;box-shadow:0 0 4px #ff6172}
.floor-navigation :is(a,button):focus-visible{outline:2px solid var(--panel-led);outline-offset:1px}
@media(min-width:1001px){.has-floor-navigation .container{width:min(var(--content),calc(100% - 184px))}}
@media(max-width:1000px){.floor-navigation{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));inset-inline-end:16px;transform:none;flex-direction:column-reverse;width:66px;max-height:calc(100dvh - 112px);padding:6px 6px 16px;gap:5px;border-radius:20px}.floor-navigation::before{border-radius:16px}.floor-navigation::after{height:10px;border-radius:0 0 14px 14px}.floor-display{width:44px;min-height:44px}.floor-readout .floor-led-digit{height:27px;width:18px}.floor-speaker{display:none}.floor-navigation.is-expanded{width:66px;align-items:center;padding-top:10px}.floor-navigation.is-expanded .floor-display{align-self:center}.floor-navigation.is-expanded .floor-speaker{display:block;align-self:center;margin-inline:0;margin-bottom:0}.floor-navigation .floor-list{width:48px;padding:3px 0;gap:0;max-height:calc(100dvh - 240px)}.floor-navigation .floor-link{justify-content:center;gap:0;width:44px;height:44px;min-height:44px;border-radius:50%;padding:0}.floor-link:hover{background:transparent}.has-floor-navigation{padding-bottom:88px}.has-floor-navigation:has(input:focus,textarea:focus,select:focus) .floor-navigation{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.floor-number{transition:none}}

/* Retract the complete panel into the edge, leaving a curved G pull-tab. */
.floor-navigation{--floor-exit-x:calc(100% + 20px);transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .2s,visibility 0s}
html[dir="rtl"] .floor-navigation{--floor-exit-x:calc(-100% - 20px)}
.floor-navigation.is-retracted{transform:translate(var(--floor-exit-x),-50%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .2s,visibility 0s .28s}
.floor-retract{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;background:transparent;color:#dddfe1;border-radius:50%;margin-top:-3px}
.floor-retract svg,.floor-restore svg{width:19px;height:19px;stroke-width:2}.floor-retract:hover,.floor-restore:hover{color:#ff9ea8;background:transparent}
html[dir="rtl"] :is(.floor-retract,.floor-restore) svg{transform:scaleX(-1)}
.floor-peek{position:fixed;inset-inline-end:0;top:50%;transform:translateY(-50%);width:56px;height:224px;z-index:15;filter:drop-shadow(0 2px 3px #1012101f)}
.floor-peek .floor-peek-shell{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:none;pointer-events:none}
html[dir="rtl"] .floor-peek-shell{transform:scaleX(-1)}
.floor-peek-home,.floor-restore{position:absolute;inset-inline-end:0;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#dddfe1;background:transparent;padding:0}
.floor-peek-home{top:90px;inset-inline-end:3px}.floor-restore{top:134px}
.floor-peek :is(a,button):focus-visible{outline:2px solid #ff6172;outline-offset:-2px}.floor-peek-home:hover .floor-peek-number{box-shadow:0 0 0 1px #f2f3f4,0 2px 5px #0008}
@media(max-width:1000px){.floor-navigation{flex-direction:column}.floor-navigation:not(.is-expanded) .floor-retract{display:none}.floor-navigation.is-retracted{transform:translateX(var(--floor-exit-x))}.floor-peek{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:none}.has-floor-navigation:has(input:focus,textarea:focus,select:focus) .floor-peek{visibility:hidden}.floor-navigation .floor-list{max-height:calc(100dvh - 280px)}}
@media(prefers-reduced-motion:reduce){.floor-navigation,.floor-navigation.is-retracted{transition:none}}

/* Compact desktop panel; retain generous touch targets on phones and tablets. */
@media(min-width:1001px){
 .floor-navigation{width:52px;inset-inline-end:12px;padding:7px 4px 14px;gap:4px;border-width:2px;border-radius:18px}
 .floor-navigation::before{border-radius:15px}.floor-navigation::after{height:8px;border-radius:0 0 13px 13px}
 .floor-display{width:36px;min-height:38px;padding:4px 1px;gap:3px}
 .floor-readout{max-width:29px}.floor-readout .floor-led-digit{width:15px;height:25px;flex-basis:15px}
 .floor-arrows{font-size:6px;gap:5px}.floor-speaker{width:23px;height:6px}
 .floor-list{width:38px;padding:2px 0}.floor-link{width:36px;height:36px}
 .floor-number{width:25px;height:25px;font-size:12px;border-width:1.5px}
 .floor-retract{width:36px;height:34px;margin-top:-2px}.floor-retract svg{width:16px;height:16px}
 .floor-peek{width:48px;height:192px}.floor-peek-home{top:70px}.floor-restore{top:114px}
}
@media(max-width:1000px){.floor-navigation,.floor-navigation.is-expanded{width:58px;padding-inline:4px;border-width:2px}.floor-navigation{inset-inline-end:12px}.floor-peek{width:48px;height:192px}.floor-peek-home{top:70px}.floor-restore{top:114px}}
