/* V1 station layering, RFID checks and Single Rider gate control. */

/* Vehicle < air gates < fixed platform fence < waiting guests. */
.vehicle-slot{z-index:7}
.air-gates,.air-gates.open{z-index:10}
.platform-fence,.platform-side-fence{z-index:12}
.guest-queue,.entry-walkers{z-index:14}
.single-gate-guests{z-index:15}

/* Hold position captions are intentionally hidden; block names remain below. */
.hold-slot-one:after,.hold-slot-two:after{content:none!important;display:none!important}

/* Crew rise above the protected fence only while passing through their gate. */
.staff.gate-entry{z-index:17}

/* RFID proof indicators sit high on the rear body panel, clear of the doors. */
.car-lock-light.light-row-one,.car-lock-light.light-row-two{left:auto;bottom:auto;right:7px}
.car-lock-light.light-row-one{top:14px}
.car-lock-light.light-row-two{top:31px}
.car-lock-light.scanning{background:#54d8ef;opacity:1;box-shadow:0 0 4px #fff,0 0 13px #54d8ef;animation:rfidScan .38s ease-in-out infinite alternate}
.load-staff.inspecting.check-front i,.load-staff.inspecting.check-back i{box-shadow:0 0 0 2px #8ce8f3,0 0 14px #53d3e8;animation:crewRfid .45s ease-in-out infinite alternate}
@keyframes rfidScan{from{filter:brightness(.65);transform:scale(.88)}to{filter:brightness(1.45);transform:scale(1.18)}}
@keyframes crewRfid{from{filter:brightness(.9)}to{filter:brightness(1.25)}}

/* Dedicated fenced Single Rider line on the load side of the station. */
.single-rider-line{position:absolute;left:8px;bottom:5px;z-index:15;width:136px;height:34px;padding:12px 5px 3px;border:1px solid #4c9aaa;border-top:3px solid #7ee3ed;border-radius:3px;background:linear-gradient(180deg,#eaffffdd,#91d4de77);box-shadow:0 0 8px #5bd4e455,inset 0 0 0 1px #efffff;overflow:hidden}
.single-rider-line:before,.single-rider-line:after{content:"";position:absolute;top:0;bottom:0;width:4px;background:linear-gradient(#dcfbff,#3d8d9a,#d8f9fd)}
.single-rider-line:before{left:0}.single-rider-line:after{right:0}
.single-rider-line>span{position:absolute;left:5px;top:2px;color:#2b6c78;font-size:5px;font-weight:bold;letter-spacing:.1em}
.single-rider-queue-visual{display:flex;align-items:flex-end;justify-content:flex-start;gap:4px;height:20px;padding-left:1px;overflow:hidden}
.single-rider-queue-visual .queue-person{position:relative;flex:0 0 15px;z-index:16}

/* Guests called by the operator wait visibly at the two gate positions. */
.single-gate-guests{position:absolute;left:calc(14% + 30px);top:221px;width:116px;display:grid;grid-template-columns:15px 15px;grid-auto-flow:column;grid-template-rows:20px 20px;column-gap:51px;row-gap:3px;pointer-events:none}
.single-gate-guests .queue-person{position:relative;z-index:15;animation:singleToGate .7s cubic-bezier(.2,.72,.25,1)}
.single-gate-guests.board .queue-person{transform:translateY(-67px);opacity:0;transition:transform .85s ease,opacity .65s ease}
@keyframes singleToGate{from{opacity:0;transform:translateX(95px)}to{opacity:1;transform:none}}

.single-stage-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;margin:0 0 9px;padding:7px 10px;border:2px solid #172123;background:#334145;color:#dce7e6;font-size:8px;font-weight:bold;letter-spacing:.05em;box-shadow:inset 0 0 0 2px #657477,0 3px 0 #171b1c;cursor:pointer}
.single-stage-button.ready{border-color:#318699;background:#2c6976;box-shadow:inset 0 0 0 2px #67b7c5,0 3px 0 #171b1c,0 0 12px #5dd5e677}
.single-stage-button:disabled{filter:grayscale(1);opacity:.42;cursor:not-allowed}
.single-stage-button kbd{padding:2px 6px;border:1px solid #5c6d70;border-radius:2px;background:#172023;color:#fff;font:7px Consolas,monospace}
.operations-auto-row{border:1px solid #506064;margin-top:10px}
.operations-auto-row kbd{margin-left:5px;padding:1px 5px;border:1px solid #68777a;border-radius:2px;background:#30393b;color:#d8e1df;font:7px Consolas,monospace}

@media(max-width:650px){.single-rider-line{width:102px}.single-gate-guests{left:calc(5% + 23px);width:96px;column-gap:39px}.car-lock-light.light-row-one,.car-lock-light.light-row-two{right:5px}}
