/* IFT Student PWA passkey controls — no global layout changes. */
.ift-passkey-login { margin: 1.4rem 0; padding: 1rem; border: 1px solid var(--clr-border, #333); }
.ift-passkey-lead { margin-bottom: .8rem; }
.ift-passkey-button { background: #bd1c27; color: #fff; border: 0; padding: .8rem 1rem; font-weight: 800; cursor: pointer; width: 100%; }
.ift-passkey-profile { scroll-margin-top: 6rem; }
.ift-passkey-password { display: block; width: min(100%, 24rem); background: #19191a; color: #fff; padding: .7rem; border: 1px solid #555; margin: .5rem 0 1rem; }
.ift-passkey-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.ift-passkey-message { margin-top: .7rem; min-height: 1em; }
.ift-passkey-button:disabled, .ift-passkey-actions button:disabled { opacity: .65; cursor: progress; }
@media (prefers-reduced-motion: reduce) { .ift-passkey-button { transition: none; } }

/* The install dialog appears ONLY when Chrome emits beforeinstallprompt.
   Scoped selectors protect all existing IFT pages, Gallery and Admin. */
.ift-login-install {
  position: fixed;
  width: min(92vw, 420px);
  max-height: min(90vh, 620px);
  overflow-y: auto;
  border: 1px solid #9a2a33;
  border-radius: 10px;
  padding: 1.6rem;
  margin: auto;
  background: #111113;
  color: #fff;
  box-shadow: 0 20px 60px rgba(0,0,0,.65);
  font: 400 15px/1.6 Inter, sans-serif;
}
.ift-login-install::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.ift-login-install__top { display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.ift-login-install__eyebrow { color: #ed424e; letter-spacing: .09em; font-size: 11px; font-weight: 800; }
.ift-login-install h2 { margin: .6rem 0 1rem; font-size: clamp(1.35rem, 4.5vw, 1.8rem); line-height: 1.1; font-weight: 900; color: #fff; }
.ift-login-install p { margin: 0 0 1.5rem; color: #d5d5d8; }
.ift-login-install__actions { display: flex; gap: .7rem; justify-content: flex-end; flex-wrap: wrap; }
.ift-login-install button { cursor: pointer; font: inherit; border-radius: 4px; }
.ift-login-install__close { background: transparent; color: #fff; border: 0; font-size: 2rem !important; line-height: 1; padding: .2rem .4rem; }
.ift-login-install__later { border: 1px solid #666; background: transparent; color: #fff; padding: .7rem 1rem; }
.ift-login-install__yes { border: 1px solid #bd1c27; background: #bd1c27; color: #fff; font-weight: 800 !important; padding: .7rem 1.1rem; }
.ift-login-install button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ift-login-install button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 360px) {
  .ift-login-install { padding: 1.2rem; }
  .ift-login-install__actions button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { .ift-login-install::backdrop { backdrop-filter: none; } }
