/* vAvtobyse TECH-FINAL: welcome, daily update choice and persistent install controls. */
.vav-tech-overlay {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  background: rgba(11, 14, 16, .72);
  backdrop-filter: blur(6px);
}
.vav-tech-overlay.hidden { display: none !important; }
.vav-tech-card {
  width: min(520px, 100%);
  max-height: min(760px, calc(100dvh - 36px));
  overflow: auto;
  box-sizing: border-box;
  border: 1px solid rgba(227, 181, 65, .42);
  border-radius: 18px;
  padding: 22px;
  color: #f4eee0;
  background: linear-gradient(180deg, rgba(45, 51, 53, .98), rgba(29, 34, 36, .99));
  box-shadow: 0 22px 70px rgba(0, 0, 0, .48), inset 0 1px rgba(255, 255, 255, .05);
}
.vav-tech-kicker {
  margin-bottom: 6px;
  color: #e4b744;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vav-tech-card h2 { margin: 0 0 10px; color: #fff8e8; font-size: clamp(22px, 5vw, 30px); }
.vav-tech-primary { min-height: 44px; }
.vav-welcome-card { text-align: left; }
.vav-welcome-bus { float: right; margin-left: 14px; font-size: 38px; filter: drop-shadow(0 5px 10px rgba(0,0,0,.3)); }
.vav-welcome-lead { margin: 12px 0 8px; font-weight: 700; }
.vav-welcome-features { display: grid; gap: 7px; margin: 0 0 14px; }
.vav-welcome-features span { display: block; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.045); }
.vav-welcome-note { margin: 10px 0 16px; color: #c8c1b5; font-size: 13px; line-height: 1.45; }
.vav-welcome-update { display: grid; gap: 4px; margin: 12px 0 16px; padding: 11px 12px; border: 1px solid rgba(228,183,68,.45); border-radius: 12px; background: rgba(228,183,68,.09); color: #d7d0c3; font-size: 13px; line-height: 1.45; }
.vav-welcome-update strong { color: #f2c958; font-size: 14px; }
.vav-welcome-go { width: 100%; font-weight: 800; }
.vav-tech-close { float: right; border: 0; background: transparent; color: #d8d0c2; font-size: 28px; line-height: 1; cursor: pointer; }
.vav-install-help-card p { color: #ddd5c8; line-height: 1.5; }

#installBtn[data-vav-persistent-install="1"] {
  display: inline-grid !important;
  place-items: center;
  width: 30px;
  min-width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 9px;
  opacity: .72;
  font-size: 16px;
  line-height: 1;
  transition: opacity .16s ease, transform .16s ease, background .16s ease;
}
#installBtn[data-vav-persistent-install="1"]:hover,
#installBtn[data-vav-persistent-install="1"]:focus-visible { opacity: 1; transform: translateY(-1px); }
#installBtn[data-vav-persistent-install="1"].is-installed { opacity: .48; }
.vav-install-account-icon { display: inline-grid; place-items: center; width: 22px; font-size: 18px; }
.vav-install-account-button[data-installed="1"] { opacity: .72; }

.vav-update-choice {
  position: fixed;
  z-index: 10020;
  top: max(12px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  width: min(560px, calc(100% - 24px));
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 12px 11px 14px;
  border: 1px solid rgba(227, 181, 65, .42);
  border-radius: 14px;
  background: rgba(38, 43, 45, .97);
  color: #f5efe4;
  box-shadow: 0 12px 36px rgba(0,0,0,.34);
  backdrop-filter: blur(8px);
}
.vav-update-choice.hidden { display: none !important; }
.vav-update-choice-copy { min-width: 0; flex: 1; display: grid; gap: 2px; }
.vav-update-choice-copy strong { font-size: 14px; }
.vav-update-choice-copy span { color: #c9c2b7; font-size: 12px; }
.vav-update-choice-actions { display: flex; gap: 7px; flex: 0 0 auto; }
.vav-update-choice-actions button { min-height: 34px; padding: 6px 10px; }
.vav-update-ready { position: relative; }
.vav-update-ready::after {
  content: '';
  position: absolute;
  top: 3px;
  right: 3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e9b93e;
  box-shadow: 0 0 0 2px rgba(36, 41, 43, .9);
}
.vav-tech-toast {
  position: fixed;
  z-index: 10100;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  transform: translate(-50%, 16px);
  max-width: calc(100% - 30px);
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(36, 41, 43, .97);
  color: #f5efe4;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.vav-tech-toast.show { opacity: 1; transform: translate(-50%, 0); }
.vav-tech-toast.is-error { border: 1px solid rgba(220, 92, 76, .6); }

@media (max-width: 620px) {
  .vav-tech-card { padding: 18px; border-radius: 16px; }
  .vav-welcome-bus { font-size: 32px; }
  .vav-welcome-features { gap: 5px; }
  .vav-welcome-features span { padding: 7px 8px; font-size: 13px; }
  .vav-update-choice { align-items: stretch; flex-direction: column; gap: 9px; }
  .vav-update-choice-actions { justify-content: flex-end; }
}
