/* Zoey Transportation v3.11.7 — portal and booking usability */
.v3117-mobile-nav,.v3117-mobile-sheet{display:none}
.v3117-login-link{white-space:nowrap}

.v3117-journey{margin:0 0 20px;padding:18px;border:1px solid rgba(240,207,112,.32);border-radius:20px;background:rgba(21,25,30,.86)}
.v3117-journey-head{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:14px}
.v3117-journey-head h2{margin:4px 0 0;font-size:1.35rem}
.v3117-journey-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.v3117-journey-step{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#111820;color:#d8d2c8;padding:12px;text-align:left;cursor:pointer;min-height:76px}
.v3117-journey-step strong,.v3117-journey-step small{display:block}
.v3117-journey-step small{margin-top:5px;color:#9fa6af}
.v3117-journey-step.done{border-color:rgba(76,184,126,.5);background:rgba(38,116,81,.18)}
.v3117-journey-step.current{border-color:#f0cf70;background:rgba(240,207,112,.13);color:#f6f3ea}

.v3117-provider-save{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.v3117-provider-warning{display:none;margin:0;padding:11px 13px;border-left:3px solid #f0cf70;background:rgba(240,207,112,.09);color:#f6f3ea;line-height:1.5}
.v3117-provider-warning.show{display:block}

.v3117-booking-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}
.v3117-booking-tab{border:1px solid #2a3038;border-radius:12px;background:#15191e;color:#9fa6af;padding:11px 8px;font-weight:800;text-align:center}
.v3117-booking-tab.active{border-color:#d9b455;background:rgba(217,180,85,.13);color:#f6f3ea}
.v3117-booking-tab.done{border-color:rgba(76,184,126,.45);color:#9be1bd}
.v3117-booking-panel[hidden]{display:none!important}
.v3117-booking-panel{display:grid;gap:13px}
.v3117-booking-panel .booking-grid{align-items:start}
.v3117-booking-actions{display:flex;gap:10px;margin-top:8px}
.v3117-booking-actions>*{flex:1}
.v3117-booking-review{padding:14px;border:1px solid rgba(217,180,85,.35);border-radius:14px;background:#15191e;display:grid;gap:6px}
.v3117-booking-review strong{color:#f0cf70}

.v3117-priority-card{margin-top:18px}
.v3117-priority-list{display:grid;gap:9px;margin-top:12px}
.v3117-priority-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#111820}
.v3117-priority-item strong,.v3117-priority-item small{display:block}
.v3117-priority-item small{margin-top:3px;color:#9fa6af}
.v3117-priority-empty{padding:18px;border:1px dashed rgba(76,184,126,.45);border-radius:14px;color:#9be1bd;text-align:center}

.portal-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-choice-card{display:grid;gap:12px;align-content:start}
.portal-choice-card h2,.portal-choice-card p{margin:0}

@media(max-width:900px){
  body.portal-body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  body.v3117-has-mobile-dock .portal-sidebar{display:none!important}
  .v3117-mobile-nav{display:grid;position:fixed;left:7px;right:7px;bottom:calc(7px + env(safe-area-inset-bottom,0px));z-index:1200;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;background:rgba(8,10,13,.96);border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.45)}
  .v3117-mobile-nav button{min-width:0;min-height:56px;border:0;border-radius:12px;background:transparent;color:#b8bec6;padding:5px 2px;font-size:.68rem;font-weight:850;line-height:1.1}
  .v3117-mobile-nav button.active{background:rgba(240,207,112,.16);color:#f6f3ea}
  .v3117-mobile-nav button span{display:block;font-size:1.05rem;margin-bottom:3px}
  .v3117-mobile-sheet{position:fixed;display:none;left:7px;right:7px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:1199;max-height:65vh;overflow:auto;padding:10px;background:#11151b;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.55)}
  .v3117-mobile-sheet.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .v3117-mobile-sheet button{min-height:48px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#1b2026;color:#f6f3ea;padding:10px;text-align:left;font-weight:750}
  .v3117-mobile-sheet button.active{border-color:#d9b455;background:rgba(217,180,85,.13)}
  .customer-mobile-nav{grid-template-columns:repeat(5,1fr)!important}
  .v3117-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3117-journey-head{display:block}
  .v3117-booking-tabs{position:sticky;top:68px;z-index:8;background:#0d1014;padding:6px 0}
  .portal-choice-grid{grid-template-columns:1fr}
}

@media(max-width:520px){
  .v3117-mobile-sheet.open{grid-template-columns:1fr}
  .v3117-mobile-nav button{font-size:.61rem}
  .v3117-journey-grid{grid-template-columns:1fr}
  .v3117-booking-tabs{gap:4px}
  .v3117-booking-tab{font-size:.72rem;padding:9px 4px}
  .v3117-booking-actions{display:grid}
}

/* v3.13.2: booking fillable-control contrast is intentionally scoped in booking.html. */
