/* Prime XI — fenêtre de bienvenue et panneau « Mon compte ». */
.modal-open { overflow: hidden; }
.modal-wrap {
  position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 16px;
  background: radial-gradient(circle at 50% 30%, rgba(20, 60, 40, .7), rgba(3, 8, 6, .92));
  animation: fadeIn .3s both;
}
.modal {
  width: min(440px, 100%); padding: 28px 24px 22px; border-radius: 24px; text-align: center;
  background: linear-gradient(180deg, #17382a, #0b1a13); border: 1px solid rgba(215, 255, 62, .3);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6), 0 0 60px -20px rgba(215, 255, 62, .5);
  animation: popIn .45s cubic-bezier(.2, 1.3, .4, 1) both;
}
.welcome-mark {
  display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: 12px; border-radius: 16px;
  border: 3px solid var(--accent); color: var(--accent); font-family: var(--font-display); font-size: 30px;
  box-shadow: 0 0 30px -6px var(--accent);
}
.modal h2 { font-size: 30px; margin-bottom: 8px; }
.modal h2::after { display: none; }
.modal p { margin: 6px 0; }
.welcome-gift { padding: 10px 12px; border-radius: 12px; background: rgba(215, 255, 62, .12); border: 1px solid rgba(215, 255, 62, .3); font-weight: 700; }
.welcome-step { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.welcome-step[hidden] { display: none; }
.welcome-step .input { height: 50px; font-size: 18px; text-align: center; }
.welcome-step .btn { width: 100%; }
.welcome .error { color: var(--danger); min-height: 1.2em; font-weight: 700; }
.account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.account-grid .panel { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 760px) { .account-grid { grid-template-columns: 1fr; } }
