/* NCLEX Drill Daily — signup modal styles (self-contained, nls- prefixed) */
.nls-hidden { display: none !important; }
.nls-scrim {
  position: fixed; inset: 0; background: rgba(2, 6, 16, 0.7);
  backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  z-index: 90; opacity: 1; transition: opacity 0.2s ease;
}
.nls-modal {
  position: fixed; inset: 0; z-index: 95;
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.nls-card {
  position: relative; width: 100%; max-width: 400px;
  background: #111c2e; border: 1px solid #1e2f4d; border-radius: 18px;
  padding: 32px 28px 24px; text-align: center; color: #e8eef7;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  animation: nls-pop 0.22s ease-out;
}
@keyframes nls-pop { from { transform: scale(0.96) translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
.nls-x {
  position: absolute; top: 10px; right: 12px; border: 0; background: none;
  color: #7d8ba3; font-size: 18px; cursor: pointer; padding: 8px; line-height: 1;
}
.nls-x:hover { color: #e8eef7; }
.nls-emoji { font-size: 40px; margin-bottom: 10px; }
.nls-card h2, .nls-card h3 { margin: 0 0 8px 0; font-size: 22px; font-weight: 800; color: #ffffff; }
.nls-sub { font-size: 14px; line-height: 1.6; color: #aebdd3; margin: 0 0 18px 0; }
.nls-input {
  width: 100%; box-sizing: border-box; padding: 14px 16px; font-size: 16px;
  background: #0b1220; border: 1px solid #2b3a55; border-radius: 12px;
  color: #e8eef7; margin-bottom: 12px; outline: none;
}
.nls-input:focus { border-color: #14b8a6; box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.25); }
.nls-input::placeholder { color: #5b6b85; }
.nls-btn {
  width: 100%; padding: 14px; font-size: 16px; font-weight: 800;
  background: #0d9488; color: #ffffff; border: 0; border-radius: 12px; cursor: pointer;
}
.nls-btn:hover { background: #0fa396; }
.nls-btn:disabled { opacity: 0.6; cursor: default; }
.nls-error { font-size: 13px; color: #f87171; margin: 10px 0 0 0; }
.nls-fine { font-size: 11px; color: #5b6b85; margin: 14px 0 0 0; }
.nls-check { font-size: 44px; margin-bottom: 8px; }
