/* BDPI 1.1.2 — parcours public et activation de compte */
.public-auth-body { min-width: 320px; }
.password-setup-page .auth-panel { overflow-y: auto; }
.password-card { width: min(100%, 480px); }
.password-card .auth-brand-compact { margin-bottom: 26px; }
.password-card .auth-brand-compact .auth-logo-stage { min-height: 152px; }
.password-card .auth-brand-compact .auth-logo-full { height: 136px; }
.password-card .auth-heading { margin-bottom: 22px; }
.password-card .auth-heading h2 { margin-top: 6px; }
.password-form { gap: 20px; }
.password-help { margin-top: 8px; padding: 12px 14px; border-radius: 10px; background: var(--surface-soft); border: 1px solid var(--border); color: var(--muted); font-size: 12px; line-height: 1.55; }
.password-help ul { margin: 0; padding-left: 18px; }
.password-help li + li { margin-top: 3px; }
.security-note { display: grid; gap: 4px; margin-top: 22px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--border)); border-radius: 11px; background: color-mix(in srgb, var(--primary-soft) 52%, var(--surface)); color: var(--muted); font-size: 12px; line-height: 1.5; }
.security-note strong { color: var(--text); font-size: 13px; }
.password-public-page { padding: 30px 18px; }
.password-public-page .password-card { padding: 34px; }
.public-brand-mini { display: grid; place-items: center; min-height: 134px; margin-bottom: 24px; padding: 12px; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: 0 16px 38px rgba(15,23,42,.10); position: relative; }
.public-brand-mini::after { content: ""; position: absolute; top: -60%; left: -35%; width: 26%; height: 220%; transform: rotate(20deg); background: linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent); animation: bdpi-logo-shine 6.8s ease-in-out infinite; }
.public-brand-mini img { display: block; width: min(100%, 360px); height: 112px; object-fit: contain; }
.password-result-card { text-align: center; }
.result-icon { display: inline-grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%; background: #dcfce7; color: #15803d; font-size: 28px; font-weight: 800; }
.password-result-card p { color: var(--muted); line-height: 1.65; }
@media (max-width: 760px) {
  .password-public-page .password-card { padding: 26px 22px; }
  .password-card .auth-brand-compact .auth-logo-stage { min-height: 132px; }
  .password-card .auth-brand-compact .auth-logo-full { height: 116px; }
}
@media (prefers-reduced-motion: reduce) {
  .public-brand-mini::after { animation: none; }
}
.auth-logo-watermark { position:absolute; inset:0; display:grid; place-items:center; opacity:.06; pointer-events:none; }
.auth-logo-watermark img { width:min(68vw,520px); height:min(68vw,520px); object-fit:contain; }
.auth-logo-stage { position:relative; display:grid; place-items:center; min-height:170px; overflow:hidden; border-radius:18px; background:radial-gradient(circle at 30% 30%,rgba(239,68,68,.12),transparent 42%),#fff; }
.auth-logo-full { position:relative; z-index:2; width:min(100%,390px); height:145px; object-fit:contain; filter:drop-shadow(0 10px 20px rgba(127,29,29,.16)); animation:bdpi-logo-float 4.8s ease-in-out infinite; }
@keyframes bdpi-logo-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
