.auth-page{min-height:calc(100vh - 78px);min-height:calc(100dvh - 78px);display:grid;align-items:center;padding:48px 0 64px;background:#f8fafc}.auth__shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.72fr);grid-gap:32px;gap:32px;align-items:stretch}.auth__card,.auth__panel{border:1px solid #e2e8f0;border-radius:24px;background:#ffffff;box-shadow:0 1px 3px rgba(15,23,42,.05)}.auth__panel{min-height:560px;display:grid;align-content:space-between;grid-gap:30px;gap:30px;padding:34px;overflow:hidden;background:#ffffff;color:#0f172a}.auth__brand{display:inline-flex;align-items:center;gap:12px;justify-self:start;color:#0f172a;font-family:var(--font-display);font-size:1.05rem;font-weight:900;text-decoration:none}.auth__brand img{width:44px;height:44px;object-fit:contain}.auth__panel .eyebrow{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-size:.74rem;font-weight:800;padding:4px 10px;border-radius:999px;display:inline-flex;width:-moz-fit-content;width:fit-content;text-transform:uppercase;letter-spacing:.06em}.auth__copy{display:grid;grid-gap:14px;gap:14px}.auth__copy h1{max-width:580px;color:#0f172a;font-size:clamp(2rem,3.8vw,3rem);font-weight:850;line-height:1.15}.auth__copy p{max-width:520px;color:#475569;font-size:1rem;line-height:1.5}.auth__preview{max-width:420px;overflow:hidden;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.auth__preview-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #e2e8f0;background:#ffffff}.auth__preview-head>span{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.15)}.auth__preview-head strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;color:#0f172a}.auth__preview-head small{margin-left:auto;color:#64748b;font-size:.74rem;text-transform:uppercase;font-weight:750}.auth__preview-body{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;padding:14px}.auth__preview-body>div{display:grid;grid-gap:5px;gap:5px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#ffffff}.auth__preview-body small{color:#64748b;font-size:.74rem}.auth__preview-body strong{color:#0f172a;font-family:var(--font-display);font-size:.94rem;font-weight:800}.auth__event{grid-column:1/-1;grid-template-columns:10px 1fr auto;align-items:center}.auth__event>span{width:8px;height:8px;border-radius:50%;background:#10b981}.auth__event p{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;margin:0}.auth__card{display:grid;align-content:start;grid-gap:20px;gap:20px;padding:32px;background:#ffffff}.auth__card-head{display:grid;grid-gap:7px;gap:7px}.auth__card-head span{color:var(--primary);font-family:var(--font-display);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.auth__card-head h2{font-size:clamp(1.55rem,3vw,2.05rem);font-weight:900}.auth__card-head p{color:var(--text-muted);font-size:.94rem}.auth__tabs{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:6px;gap:6px;padding:5px;border:1px solid var(--border);border-radius:16px;background:var(--bg-soft)}.auth__tabs a{min-height:40px;display:grid;place-items:center;border-radius:11px;color:var(--text-soft);font-family:var(--font-display);font-size:.92rem;font-weight:850}.auth__tabs a.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.auth__form{display:grid;grid-gap:13px;gap:13px}.auth__card .field{gap:8px;margin:0}.auth__card .field span{color:var(--text);font-size:.82rem}.auth__card .input{min-height:50px;border-radius:14px;background:#fbfefd}.auth__card .input::placeholder{color:#9aa8b3}.auth__card .input:focus{background:#fff}.auth__card .phone-field .input{border-radius:0 14px 14px 0}.password-field{position:relative}.password-field .input{padding-right:54px}.password-field button{position:absolute;top:50%;right:8px;width:38px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface);color:var(--primary-dark);transform:translateY(-50%)}.password-field svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.auth__form .btn-primary{width:100%;min-height:50px;border-radius:14px}.auth__form .btn-ghost:disabled,.auth__form .btn-primary:disabled{cursor:default;opacity:.66;transform:none}.auth__form .actions{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.auth__form .actions__attente{margin:0;padding:11px 12px;color:var(--text-muted);font-size:.84rem;line-height:1.45;text-align:center}.auth__links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:2px;color:var(--primary-dark);font-size:.9rem;font-weight:800}.auth__links--fin{justify-content:flex-end}.auth__hint{color:var(--text-muted);font-size:.88rem}.pas{display:flex;align-items:flex-start;gap:0;margin:0 0 22px;padding:0;list-style:none;counter-reset:pas}.pas__item{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pas__item:before{content:"";position:absolute;top:13px;right:50%;left:-50%;height:2px;background:var(--border)}.pas__item:first-child:before{display:none}.pas__item--actif:before,.pas__item--fait:before{background:var(--accent)}.pas__puce{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:800;line-height:1}.pas__puce svg{width:13px;height:13px}.pas__item--actif .pas__puce{border-color:var(--accent);background:var(--accent);color:#ffffff;box-shadow:0 0 0 4px var(--accent-surface)}.pas__item--fait .pas__puce{border-color:var(--accent);background:var(--accent-surface);color:var(--accent)}.pas__nom{color:var(--text-muted);font-size:.74rem;font-weight:700}.pas__item--actif .pas__nom{color:#0f172a}.pas__item--fait .pas__nom{color:var(--accent)}.pas__actions{display:flex;gap:10px}.pas__actions .btn-primary{flex:1 1 auto}.otp-box{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:12px 18px;border:1.5px solid #a7f3d0;border-radius:18px;background:linear-gradient(145deg,#f0fdf4,#ecfdf5 50%,#f8fafc);box-shadow:0 4px 20px rgba(16,185,129,.08);margin-bottom:20px}.otp-box__mention{color:#0f172a;font-size:.86rem;font-weight:700}.otp-box__timer-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#ffffff;border:1.5px solid #cbd5e1;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;font-weight:800;box-shadow:0 1px 4px rgba(15,23,42,.05);flex-shrink:0;margin-left:auto}.otp-box__timer-pulse{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.7);animation:otpPulse 1.8s infinite}@keyframes otpPulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(16,185,129,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0)}}.otp-box__timer-chip--expired{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.otp-box__timer-chip--expired .otp-box__timer-pulse{background:#ef4444;animation:none}.auth__api{border-top:1px solid var(--border-soft);padding-top:12px}.auth__api summary{color:var(--text-muted);cursor:pointer;font-size:.86rem;font-weight:750}.auth__api .field{margin-top:12px;margin-bottom:0}@media (max-width:900px){.auth-page{align-items:start;padding:34px 0 56px}.auth__shell{grid-template-columns:1fr;gap:18px}.auth__panel{min-height:auto;padding:28px}.auth__card{max-width:560px;width:100%}}@media (max-width:560px){.auth__panel{padding:22px;border-radius:22px}.auth__preview{display:none}.auth__card{padding:22px;border-radius:22px}.otp-box{padding:12px 16px}}.canaux-otp{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:8px;gap:8px;margin-top:6px}.canal-otp{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 10px;border:1px solid var(--border,#d9dee6);border-radius:12px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.canal-otp--choisi,.canal-otp:hover{border-color:var(--primary,#1f6f4a)}.canal-otp--choisi{background:color-mix(in srgb,var(--primary,#1f6f4a) 10%,transparent);color:var(--primary-dark,#14472f)}.canal-otp:focus-visible{outline:2px solid var(--primary,#1f6f4a);outline-offset:2px}.canal-otp .icone-canal{flex:none}