/* ==========================================================================
   Login — glassy card centered, fully mobile-first
   ========================================================================== */

.login-wrap{
  min-height: calc(100dvh - var(--nav-height));
  display: grid; place-items: center;
  padding: 20px 12px 32px;
}

.login-card{
  width: 100%;
  max-width: 420px;
  padding: 16px 16px 14px;
}

.login-head{
  text-align: center; margin-bottom: 10px;
}
.login-head .logo{ width: 42px; height: 42px; display:block; margin: 6px auto; }
.login-head h1{ font: 700 22px/1.2 var(--ui-head); margin: 8px 0 2px; }

.field{ display:block; margin: 10px 0; }
.lbl{ display:block; font-size: 12px; color: var(--muted); margin-bottom: 6px; }

.row{
  margin-top: 6px;
  display:flex; align-items:center; justify-content:space-between;
}
.remember{ font-size: 13px; color: var(--muted); display:flex; align-items:center; gap:6px; }

.submit{ width: 100%; justify-content:center; margin-top: 12px; }

.alert{
  margin: 6px 0 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,99,71,.20);
  border: 1px solid rgba(255,255,255,.35);
}
.alert.warn{ background: rgba(239,68,68,.28); }

.login-foot{
  text-align: center; margin-top: 10px;
}

/* Small improvements for iOS PWAs */
@supports (-webkit-touch-callout: none) {
  .login-wrap{ padding-bottom: 24px; }
}
