/* ============================================================
   CYCLE 6 — ORCHESTRATOR CORE: app lock + travel runway table
   ============================================================ */

/* ---------- App lock ---------- */
.app-locked { filter: blur(14px); pointer-events: none; user-select: none; }

.lock-screen {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(4, 6, 10, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.lock-card {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding: 34px 30px; border-radius: 18px;
  background: rgba(10, 14, 22, 0.95);
  border: 1px solid rgba(90, 200, 250, 0.18);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  width: min(320px, 86vw);
}
.lock-logo { font-family: "Orbitron", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 2px; }
.lock-logo span { color: var(--accent, #35d0ff); }
.lock-sub { font-size: 12px; color: var(--text-dim, #8fa3b8); letter-spacing: 1px; }
.lock-input {
  width: 100%; text-align: center; font-size: 26px; letter-spacing: 12px;
  padding: 12px 10px; border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(90, 200, 250, 0.25);
  color: var(--text, #e8f1f8); outline: none;
}
.lock-input:focus { border-color: var(--accent, #35d0ff); }
.lock-btn { width: 100%; min-height: 46px; }
.lock-err { min-height: 16px; font-size: 11.5px; color: var(--bad, #ff5470); text-align: center; line-height: 1.4; }

/* ---------- Travel: runway by city ---------- */
.city-runway-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 4px; border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  min-height: 48px;
}
.city-runway-row:last-child { border-bottom: none; }
.city-runway-row .cr-flag { font-size: 18px; width: 26px; text-align: center; }
.city-runway-row .cr-name { flex: 1; font-weight: 600; font-size: 13.5px; }
.city-runway-row .cr-name .cr-cost { display: block; font-size: 10.5px; color: var(--text-dim, #8fa3b8); font-weight: 400; }
.city-runway-row .cr-months { font-family: "Share Tech Mono", monospace; font-size: 14px; min-width: 64px; text-align: right; }
.cr-go {
  font-size: 9.5px; font-weight: 700; letter-spacing: 1px;
  padding: 4px 9px; border-radius: 20px; white-space: nowrap;
}
.cr-go.go { background: rgba(46, 213, 115, 0.16); color: var(--good, #2ed573); border: 1px solid rgba(46, 213, 115, 0.35); }
.cr-go.wait { background: rgba(255, 159, 67, 0.12); color: var(--warn, #ff9f43); border: 1px solid rgba(255, 159, 67, 0.3); }

/* ---------- Mobile "More" bottom sheet (tab bar launcher) ---------- */
.c6-more-scrim { align-items: flex-end; padding: 0; }
.c6-more-modal {
  width: 100%;
  max-width: 100%;
  max-height: min(72vh, 520px);
  border-radius: var(--radius, 14px) var(--radius, 14px) 0 0;
  margin-bottom: calc(62px + env(safe-area-inset-bottom, 0px));
  animation: none;
}
.c6-more-list { display: flex; flex-direction: column; gap: 2px; margin: -4px 0; }
.c6-more-row {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 0 4px;
  border: none;
  border-radius: var(--radius-sm, 10px);
  background: transparent;
  color: var(--text, #e8f1f8);
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s var(--ease, ease);
}
.c6-more-row:active { background: rgba(255, 255, 255, 0.06); }
.c6-more-ico {
  width: 32px; height: 32px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: rgba(0, 229, 255, 0.08);
  color: var(--accent, #35d0ff);
  flex: none;
}
.c6-more-ico svg { width: 18px; height: 18px; }
.c6-more-label { flex: 1; font-size: 14px; font-weight: 600; }
.c6-more-chev { color: var(--text-faint, #6b8299); font-size: 18px; line-height: 1; }
