/* BARGAINX_V294_NAV_DRAWER_V22 */

#setupPanel.bx-drawer-v22 {
  display:block!important;
  position:fixed!important;
  z-index:22020!important;
  top:112px!important;
  left:18px!important;
  right:auto!important;
  bottom:18px!important;

  width:min(392px,calc(100vw - 36px))!important;
  height:auto!important;
  max-height:none!important;

  margin:0!important;
  padding:0!important;

  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;

  color:#f1ede6;
  background:
    linear-gradient(
      160deg,
      rgba(14,27,34,.985),
      rgba(5,14,19,.992)
    )!important;

  border:1px solid rgba(201,143,84,.43)!important;
  border-radius:18px!important;

  box-shadow:
    0 24px 70px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.018) inset,
    0 0 28px rgba(198,137,79,.045)!important;

  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0);

  transition:
    transform .30s cubic-bezier(.2,.8,.2,1),
    opacity .22s ease,
    visibility 0s linear 0s;

  will-change:transform,opacity;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,143,84,.45) rgba(255,255,255,.035);
}

/* Keep the hidden attribute as the real owner, but animate it instead of
   allowing the browser to instantly remove the drawer from layout. */
#setupPanel.bx-drawer-v22[hidden] {
  display:block!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(calc(-100% - 28px),0,0)!important;

  transition:
    transform .30s cubic-bezier(.2,.8,.2,1),
    opacity .20s ease,
    visibility 0s linear .30s;
}

#setupPanel.bx-drawer-v22::-webkit-scrollbar {
  width:7px;
}

#setupPanel.bx-drawer-v22::-webkit-scrollbar-track {
  background:rgba(255,255,255,.025);
}

#setupPanel.bx-drawer-v22::-webkit-scrollbar-thumb {
  background:rgba(201,143,84,.43);
  border-radius:99px;
}

#menuButton {
  position:relative;
  z-index:22040!important;
}

/* Old manual/test route controls remain in code, but are no longer part of
   the user-facing drawer. Their routing logic is untouched. */
#setupPanel.bx-drawer-v22 > header,
#setupPanel.bx-drawer-v22 > .setup-grid,
#setupPanel.bx-drawer-v22 > #buildButton,
#setupPanel.bx-drawer-v22 > #navigateButton,
#setupPanel.bx-drawer-v22 > #setupStatus {
  display:none!important;
}

#setupPanel.bx-drawer-v22 * {
  box-sizing:border-box;
}

#setupPanel.bx-drawer-v22 button {
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}

.bx-nav-drawer-content-v22 {
  min-height:100%;
  padding:14px;
}

.bx-drawer-head-v22 {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 34px;
  align-items:center;
  gap:10px;

  padding:3px 2px 13px;
  margin-bottom:11px;

  border-bottom:1px solid rgba(201,143,84,.22);
}

.bx-drawer-brand-icon-v22,
.bx-saved-place-icon-v22,
.bx-method-icon-v22,
.bx-candidate-icon-v22,
.bx-recent-icon-v22,
.bx-drop-confirm-icon-v22 {
  display:grid;
  place-items:center;
}

.bx-drawer-brand-icon-v22 {
  width:40px;
  height:40px;
  color:#dda268;
  background:rgba(198,137,79,.10);
  border:1px solid rgba(198,137,79,.30);
  border-radius:11px;
}

.bx-drawer-brand-icon-v22 svg,
.bx-saved-place-icon-v22 svg,
.bx-method-icon-v22 svg,
.bx-candidate-icon-v22 svg,
.bx-recent-icon-v22 svg,
.bx-drop-confirm-icon-v22 svg,
#twoDButton.bx-drop-button-v22 svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bx-drawer-head-copy-v22 {
  min-width:0;
}

.bx-drawer-head-copy-v22 strong {
  display:block;
  color:#f7f3ec;
  font-size:14px;
  font-weight:850;
  letter-spacing:.01em;
}

.bx-drawer-head-copy-v22 small {
  display:block;
  margin-top:3px;
  color:#969b97;
  font-size:9.5px;
}

.bx-drawer-close-v22 {
  width:34px;
  height:34px;
  padding:0;

  color:#aeb1ae;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;

  font-size:19px;
  line-height:1;
  cursor:pointer;
}

.bx-drawer-close-v22:hover {
  color:#f1ede6;
  border-color:rgba(201,143,84,.36);
  background:rgba(201,143,84,.07);
}

.bx-saved-place-v22 {
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;

  min-height:76px;
  margin-top:8px;
  padding:10px 11px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.032),
      rgba(255,255,255,.015)
    );

  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
}

.bx-saved-place-icon-v22 {
  width:46px;
  height:46px;
  border-radius:12px;
}

.bx-saved-place-icon-v22.home {
  color:#ebb16f;
  background:rgba(198,137,79,.13);
  border:1px solid rgba(198,137,79,.28);
}

.bx-saved-place-icon-v22.work {
  color:#b59bf1;
  background:rgba(138,110,209,.12);
  border:1px solid rgba(138,110,209,.25);
}

.bx-saved-place-icon-v22 svg {
  width:25px;
  height:25px;
}

.bx-saved-place-copy-v22 {
  min-width:0;
}

.bx-saved-place-copy-v22 strong {
  display:block;
  color:#f3efe8;
  font-size:12px;
  font-weight:820;
}

.bx-saved-place-copy-v22 small {
  display:block;
  margin-top:4px;

  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;

  color:#9aa09b;
  font-size:9.3px;
}

.bx-saved-place-actions-v22 {
  display:flex;
  gap:6px;
}

.bx-saved-place-actions-v22 button {
  min-width:48px;
  min-height:34px;
  padding:0 10px;

  color:#e1ddd6;
  background:#0b171d;
  border:1px solid rgba(201,143,84,.30);
  border-radius:9px;

  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

.bx-saved-place-actions-v22 button.primary:not(:disabled) {
  color:white;
  background:linear-gradient(180deg,#a86e40,#85542f);
  border-color:#cf925c;
}

.bx-saved-place-actions-v22 button:disabled {
  opacity:.34;
  cursor:not-allowed;
}

.bx-set-location-v22 {
  margin-top:12px;
  padding:12px;

  background:
    linear-gradient(
      150deg,
      rgba(198,137,79,.065),
      rgba(255,255,255,.018)
    );

  border:1px solid rgba(198,137,79,.30);
  border-radius:14px;
}

.bx-set-location-v22[hidden],
.bx-save-candidate-v22[hidden] {
  display:none!important;
}

.bx-set-location-head-v22 strong {
  display:block;
  color:#f4f0e9;
  font-size:11.5px;
  font-weight:850;
}

.bx-set-location-head-v22 small {
  display:block;
  margin-top:3px;
  color:#969b97;
  font-size:8.8px;
}

.bx-set-methods-v22 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}

.bx-set-methods-v22 > button {
  min-height:96px;
  padding:9px 6px 8px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  color:#ddd9d2;
  background:#08151b;
  border:1px solid rgba(201,143,84,.27);
  border-radius:11px;

  cursor:pointer;
}

.bx-set-methods-v22 > button:hover {
  background:rgba(201,143,84,.075);
  border-color:rgba(201,143,84,.46);
}

.bx-method-icon-v22 {
  width:38px;
  height:38px;
  margin-bottom:7px;

  color:#e0a76d;
  background:rgba(198,137,79,.08);
  border:1px solid rgba(198,137,79,.18);
  border-radius:10px;
}

.bx-method-icon-v22 svg {
  width:23px;
  height:23px;
}

.bx-set-methods-v22 strong {
  color:#eeeae3;
  font-size:9.5px;
  font-weight:820;
}

.bx-set-methods-v22 small {
  display:block;
  margin-top:3px;
  color:#858b87;
  font-size:7.5px;
  line-height:1.25;
  text-align:center;
}

.bx-set-cancel-v22 {
  width:100%;
  min-height:31px;
  margin-top:7px;

  color:#a7aaa7;
  background:transparent;
  border:0;

  font-size:8.5px;
  font-weight:700;
  cursor:pointer;
}

.bx-save-candidate-v22 {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:9px;
  align-items:center;

  margin-top:10px;
  padding:10px;

  background:rgba(5,14,19,.76);
  border:1px solid rgba(79,169,215,.34);
  border-radius:11px;
}

.bx-candidate-icon-v22 {
  width:40px;
  height:40px;
  color:#52b6e5;
  background:rgba(49,153,201,.10);
  border:1px solid rgba(49,153,201,.24);
  border-radius:10px;
}

.bx-candidate-copy-v22 {
  min-width:0;
}

.bx-candidate-copy-v22 strong,
.bx-candidate-copy-v22 small {
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.bx-candidate-copy-v22 strong {
  color:#f0ece5;
  font-size:10px;
}

.bx-candidate-copy-v22 small {
  margin-top:3px;
  color:#929894;
  font-size:8px;
}

.bx-candidate-actions-v22 {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.bx-candidate-actions-v22 button {
  min-height:35px;
  color:#ddd9d2;
  background:#0c181f;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

.bx-candidate-actions-v22 button.primary {
  color:white;
  background:linear-gradient(180deg,#a86e40,#87542f);
  border-color:#ce915b;
}

.bx-recent-v22 {
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(201,143,84,.22);
}

.bx-recent-head-v22 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.bx-recent-head-v22 strong,
.bx-recent-head-v22 small {
  display:block;
}

.bx-recent-head-v22 strong {
  color:#f1ede6;
  font-size:11px;
  font-weight:830;
}

.bx-recent-head-v22 small {
  margin-top:3px;
  color:#8f9591;
  font-size:8.3px;
}

.bx-recent-head-v22 > button {
  padding:3px 0;
  color:#d28a66;
  background:transparent;
  border:0;
  font-size:8px;
  font-weight:750;
  cursor:pointer;
}

.bx-recent-list-v22 {
  display:grid;
  gap:6px;
}

.bx-recent-row-v22 {
  width:100%;
  min-width:0;
  min-height:62px;

  display:grid;
  grid-template-columns:36px minmax(0,1fr) 15px;
  align-items:center;
  gap:9px;

  padding:8px 9px;

  text-align:left;
  color:#ddd9d2;
  background:rgba(255,255,255,.021);

  border:1px solid rgba(255,255,255,.06);
  border-radius:10px;

  cursor:pointer;
}

.bx-recent-row-v22:hover {
  background:rgba(198,137,79,.07);
  border-color:rgba(198,137,79,.30);
}

.bx-recent-icon-v22 {
  width:34px;
  height:34px;
  color:#dda76d;
  background:rgba(198,137,79,.07);
  border-radius:9px;
}

.bx-recent-icon-v22 svg {
  width:19px;
  height:19px;
}

.bx-recent-text-v22 {
  min-width:0;
}

.bx-recent-text-v22 strong,
.bx-recent-text-v22 small,
.bx-recent-text-v22 em {
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.bx-recent-text-v22 strong {
  color:#ede9e2;
  font-size:9.5px;
  font-weight:800;
}

.bx-recent-text-v22 small {
  margin-top:2px;
  color:#929793;
  font-size:7.8px;
}

.bx-recent-text-v22 em {
  margin-top:2px;
  color:#b38862;
  font-size:7.4px;
  font-style:normal;
}

.bx-recent-arrow-v22 {
  color:#dfa76b;
  font-size:18px;
  text-align:center;
}

.bx-recent-empty-v22 {
  padding:13px 10px;
  color:#8e9490;
  text-align:center;
  border:1px dashed rgba(201,143,84,.24);
  border-radius:10px;
  font-size:8.7px;
}

.bx-drawer-tip-v22 {
  display:flex;
  align-items:center;
  gap:7px;

  margin-top:12px;
  padding:9px 3px 2px;

  color:#8e9490;
  font-size:8.2px;
}

.bx-drawer-tip-v22 > span:first-child {
  color:#dda76d;
  font-size:14px;
}

/* Right-rail destination button: same original DOM owner. */
#twoDButton.bx-drop-button-v22 {
  display:grid!important;
  place-items:center!important;
  color:#f6f8f9!important;
  background:linear-gradient(180deg,#157eb1,#0b5d85)!important;
  border-color:rgba(70,178,226,.62)!important;
}

#twoDButton.bx-drop-button-v22 svg {
  width:23px;
  height:23px;
}

/* Exact destination confirmation. */
.bx-drop-confirm-v22 {
  position:fixed;
  z-index:22060;
  left:50%;
  bottom:118px;

  width:min(430px,calc(100vw - 28px));
  min-height:88px;

  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:10px;
  align-items:center;

  padding:12px;

  color:#f2eee7;
  background:linear-gradient(150deg,rgba(15,29,37,.995),rgba(5,14,19,.995));
  border:1px solid rgba(201,143,84,.68);
  border-radius:15px;
  box-shadow:0 22px 70px rgba(0,0,0,.58);
}

.bx-drop-confirm-v22[hidden] {
  display:none!important;
}

.bx-drop-confirm-icon-v22 {
  width:43px;
  height:43px;
  color:#57b9e5;
  background:rgba(44,151,203,.10);
  border:1px solid rgba(44,151,203,.25);
  border-radius:11px;
}

.bx-drop-confirm-copy-v22 {
  min-width:0;
}

.bx-drop-confirm-copy-v22 strong,
.bx-drop-confirm-copy-v22 small,
.bx-drop-confirm-copy-v22 em {
  display:block;
}

.bx-drop-confirm-copy-v22 strong {
  color:#f4f0e9;
  font-size:11px;
  font-weight:850;
}

.bx-drop-confirm-copy-v22 small {
  margin-top:3px;
  color:#989e99;
  font-size:8.5px;
}

.bx-drop-confirm-copy-v22 em {
  margin-top:6px;
  color:#d8d4cd;
  font-size:9.5px;
  font-style:normal;
  font-weight:750;
}

.bx-drop-confirm-actions-v22 {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.bx-drop-confirm-actions-v22 button {
  min-height:37px;
  color:#ddd9d2;
  background:#101b21;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  font-size:9.5px;
  font-weight:800;
  cursor:pointer;
}

.bx-drop-confirm-actions-v22 button.primary {
  color:white;
  background:linear-gradient(180deg,#1788bf,#0c6692);
  border-color:#3b9fd0;
}

/* Tablet */
@media (min-width:641px) and (max-width:1100px) {
  #setupPanel.bx-drawer-v22 {
    top:100px!important;
    left:14px!important;
    bottom:14px!important;
    width:min(372px,calc(100vw - 28px))!important;
  }

  .bx-nav-drawer-content-v22 {
    padding:12px;
  }

  .bx-set-methods-v22 > button {
    min-height:90px;
  }

  .bx-drop-confirm-v22 {
    bottom:96px;
  }
}

/* Phone */
@media (max-width:640px) {
  #setupPanel.bx-drawer-v22 {
    top:74px!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    border-radius:15px!important;
  }

  #setupPanel.bx-drawer-v22[hidden] {
    transform:translate3d(calc(-100% - 18px),0,0)!important;
  }

  .bx-nav-drawer-content-v22 {
    padding:10px;
  }

  .bx-drawer-head-v22 {
    grid-template-columns:38px minmax(0,1fr) 32px;
  }

  .bx-drawer-brand-icon-v22 {
    width:36px;
    height:36px;
  }

  .bx-saved-place-v22 {
    grid-template-columns:44px minmax(0,1fr) auto;
    min-height:68px;
    padding:8px;
  }

  .bx-saved-place-icon-v22 {
    width:40px;
    height:40px;
  }

  .bx-saved-place-actions-v22 {
    gap:4px;
  }

  .bx-saved-place-actions-v22 button {
    min-width:42px;
    min-height:32px;
    padding:0 7px;
  }

  .bx-set-methods-v22 {
    gap:5px;
  }

  .bx-set-methods-v22 > button {
    min-height:86px;
    padding:7px 3px;
  }

  .bx-method-icon-v22 {
    width:34px;
    height:34px;
  }

  .bx-set-methods-v22 strong {
    font-size:8.5px;
  }

  .bx-set-methods-v22 small {
    font-size:6.8px;
  }

  .bx-drop-confirm-v22 {
    left:8px;
    right:8px;
    bottom:max(10px,env(safe-area-inset-bottom));
    width:auto;
    transform:none;
  }
}

/* Short landscape screens */
@media (max-height:700px) and (min-width:641px) {
  #setupPanel.bx-drawer-v22 {
    top:84px!important;
    bottom:10px!important;
  }

  .bx-saved-place-v22 {
    min-height:67px;
  }

  .bx-set-methods-v22 > button {
    min-height:82px;
  }

  .bx-drop-confirm-v22 {
    bottom:82px;
  }
}
