/* SOS ÉCRANS — signin (externalisé pour CSP stricte) */
.signin-shell { max-width: 480px; margin: 0 auto; padding: 48px 24px; }
.signin-shell h1 { font-size: clamp(28px, 4vw, 36px); font-weight: 300; line-height: 1.2; margin-bottom: 16px; }
.signin-shell .lead { color: var(--g700); font-size: 16px; line-height: 1.7; margin-bottom: 32px; }
.signin-form { display: flex; flex-direction: column; gap: 16px; }
.signin-form input[type=email],
.signin-form input[type=text] {
  width: 100%; padding: 16px 18px; border: 1px solid var(--g200); font: inherit;
  font-size: 16px; background: var(--white); color: var(--black); border-radius: 0;
}
.signin-form input:focus { outline: none; border-color: var(--orange); }
.signin-form input[name=code] { letter-spacing: .4em; text-align: center; font-size: 22px; }
.signin-form button {
  padding: 16px 24px; background: var(--black); color: var(--white); border: none; font: inherit;
  font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; cursor: pointer;
}
.signin-form button:disabled { opacity: .5; cursor: wait; }
.signin-form button:hover:not(:disabled) { background: var(--g700); }
.signin-form button.btn-paste {
  background: transparent; color: var(--g700); border: 1px solid var(--g200);
  font-size: 13px; text-transform: none; letter-spacing: 0; font-weight: 400; padding: 12px;
}
.signin-shared { font-size: 13px; color: var(--g500); display: flex; align-items: center; gap: 8px; }
.signin-shared input { margin: 0; }
.signin-rgpd {
  font-size: 12px; color: var(--g500); line-height: 1.5; margin-top: 20px;
  padding: 12px 16px; background: var(--g50, #f8f8f8); border-left: 2px solid var(--g200);
}
.signin-msg { font-size: 14px; padding: 12px 16px; border-left: 3px solid; margin-top: 16px; }
.signin-msg.ok { color: #155724; border-color: #28a745; background: #f1f8f3; }
.signin-msg.err { color: #7a2c2c; border-color: #c0392b; background: #fcf2f2; }
.signin-resend { font-size: 13px; color: var(--g500); margin-top: 12px; }
.signin-resend a { color: var(--g700); cursor: pointer; text-decoration: underline; }
.signin-resend .sep { color: var(--g200); margin: 0 6px; }
.step-2 { display: none; }
.step-2.active { display: block; }
.step-1 { display: block; }
.step-1.hidden { display: none; }
.signin-back { font-size: 13px; color: var(--g500); margin-top: 24px; }
.signin-back a { color: var(--g500); text-decoration: underline; }
.is-hidden { display: none; }
.nav-urgence-mobile { color: var(--red); }
.signin-note-once { font-size: 12px; color: var(--g500, #888); margin: 12px 0 0; line-height: 1.6; }
