/* L'inscription reprend la composition de l'ancien écran : halo et carte centrale. */
body.signup-page{--orbit-accent:#c9233b;--orbit-core:#301522;--orbit-halo:#e75b70;background:radial-gradient(circle at 50% 16%,#542b42,#27182b 42%,#120e1c 80%)!important;min-height:100vh;position:relative;isolation:isolate;overflow-x:hidden}
body.signup-page[data-space=admin]{--orbit-accent:#25699f;--orbit-core:#112a49;--orbit-halo:#48b0d8;background:radial-gradient(circle at 50% 16%,#1d4163,#10233e 42%,#08162b 80%)!important}
body.signup-page[data-space=partenaire]{--orbit-accent:#cb2d45;--orbit-core:#3b1829;--orbit-halo:#e86678;background:radial-gradient(circle at 50% 16%,#5f293e,#321a2b 42%,#1b101d 80%)!important}
body.signup-page::before{content:'';position:absolute;z-index:-1;top:10px;left:50%;width:min(90vw,820px);aspect-ratio:1;transform:translateX(-50%);border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 92px #ffffff04,0 0 0 205px #ffffff02;pointer-events:none}
.signup-page .space-header{max-width:1200px;margin:auto;background:transparent!important;border:0!important;box-shadow:none!important;min-height:76px;padding:17px 24px!important;display:flex;align-items:center;gap:15px}
.signup-page .space-header>a:first-child{background:#fff;border-radius:12px;padding:7px 11px;box-shadow:0 8px 24px #0002}
.signup-page .space-header img{width:165px;max-width:36vw;height:auto}
.signup-page .space-header .space-badge{margin-left:auto;color:#fff!important;background:#ffffff1b!important;border:1px solid #ffffff25!important}
.signup-page .space-header .login-link{color:#f1dfe6!important;margin-left:10px;text-align:right;font-size:11px}
.signup-page .space-header .login-link strong{color:#fff!important;font-size:13px}
.signup-page .signup-layout{display:flex;flex-direction:column;align-items:center;max-width:740px;margin:5px auto 35px;padding:0 18px;border:0;background:transparent;box-shadow:none!important;overflow:visible}
.signup-page .welcome-panel{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;min-height:0;padding:27px 15px 20px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff;overflow:visible}
.signup-page .welcome-panel::before{content:'';position:absolute;left:50%;top:-37px;width:250px;height:250px;border:1px dashed #ffffff32;border-radius:50%;transform:translateX(-50%);animation:diamond-orbit 24s linear infinite;pointer-events:none}
.signup-page .welcome-panel::after{content:'🔒';position:relative;display:grid;place-items:center;order:-1;width:49px;height:49px;margin-bottom:15px;border:1px solid #ffffff28;border-radius:15px;background:#ffffff13;color:#e5c277;font-size:30px;line-height:1;box-shadow:0 0 30px color-mix(in srgb,var(--orbit-halo) 34%,transparent)}
.signup-page .team-label{font-size:10px;font-weight:800;letter-spacing:2.6px;color:#ead9e0!important}
.signup-page .welcome-panel h2{font-family:Inter,'Segoe UI',Arial,sans-serif!important;font-size:clamp(25px,3vw,34px)!important;font-weight:800!important;letter-spacing:-1px!important;line-height:1.18!important;margin:11px 0 7px!important;color:#fff!important}
.signup-page .welcome-panel h2 em{color:#e8c57c!important;font-style:normal}
.signup-page .welcome-panel>p{max-width:510px;margin:0!important;color:#dfd0d9!important;font-size:12px!important;line-height:1.6!important}
.signup-page .journey-steps{display:flex!important;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px 0 0!important;padding:0;list-style:none}
.signup-page .journey-steps li{display:flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #ffffff24;border-radius:99px;background:#ffffff0d;white-space:nowrap}
.signup-page .journey-steps li>span{width:20px;height:20px;border:0;border-radius:50%;background:var(--orbit-accent);color:#fff;font-size:9px;font-weight:800}
.signup-page .journey-steps strong{font-size:10px;color:#fff!important}.signup-page .journey-steps p{display:none}
.signup-page .welcome-photo,.signup-page .signature{display:none!important}
@keyframes diamond-orbit{to{transform:translateX(-50%) rotate(360deg)}}
.signup-page .auth{width:100%;max-width:none!important;margin:0!important;padding:34px clamp(22px,5vw,47px)!important;border:1px solid #ffffff80!important;border-radius:19px!important;background:#fff!important;box-shadow:0 28px 80px #0005,0 2px 12px #0002!important;position:relative;z-index:1}
.signup-page .auth::before{content:'';position:absolute;top:0;left:35px;right:35px;height:3px;border-radius:0 0 99px 99px;background:linear-gradient(90deg,transparent,var(--orbit-accent),#e6c278,var(--orbit-accent),transparent)}
.signup-page .auth>.eyebrow{color:var(--orbit-accent)!important;font-size:10px!important;font-weight:800;letter-spacing:2px}
.signup-page .auth h1{color:#17283e!important;font-size:clamp(27px,3vw,35px)!important;font-weight:850!important;letter-spacing:-1.3px;line-height:1.15;margin:9px 0 8px}
.signup-page .auth>p{color:#687587!important;font-size:12px;line-height:1.6;margin-bottom:16px}
.signup-page .auth .form-section-label{color:var(--orbit-accent)!important;font-size:10px;font-weight:800;letter-spacing:1.5px;margin-top:18px;padding:12px 0 9px;border-bottom:1px solid #e8edf2}
.signup-page .auth label{color:#29394d!important;font-size:12px;font-weight:750;margin-top:13px}
.signup-page .auth :is(input:not([type=checkbox]),select){background:#f8fafc!important;border:1px solid #d7e0e9!important;border-radius:9px!important;min-height:46px;font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s}
.signup-page .auth :is(input:not([type=checkbox]),select):hover{border-color:var(--orbit-accent)!important}
.signup-page .auth :is(input:not([type=checkbox]),select):focus{background:#fff!important;border-color:var(--orbit-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--orbit-accent) 14%,transparent)!important;outline:0}
.signup-page .auth .check{display:flex;align-items:flex-start;color:#4b596b!important;font-weight:500;line-height:1.55}.signup-page .auth .check input{accent-color:var(--orbit-accent)}
.signup-page .auth .primary{width:100%;min-height:50px;justify-content:center;gap:9px;border-radius:10px!important;background:var(--orbit-core)!important;border-color:var(--orbit-core)!important;color:#fff!important;font-size:13px;font-weight:800;margin-top:18px;box-shadow:0 8px 20px #10233e25;transition:transform .18s,box-shadow .18s,background .18s}
.signup-page .auth .primary:hover{background:var(--orbit-accent)!important;box-shadow:0 13px 26px color-mix(in srgb,var(--orbit-accent) 28%,transparent);transform:translateY(-2px)}
.signup-page .auth .primary span{transition:transform .18s}.signup-page .auth .primary:hover span{transform:translateX(4px)}
.signup-page .auth small{color:#677789!important;font-size:11px;line-height:1.5}
.signup-page .auth .qr-link{border-top:1px solid #e8edf2;margin-top:22px!important;padding-top:15px}.signup-page .auth .qr-link a{color:var(--orbit-accent)!important}
.signup-page .signup-footer{color:#d9ccd6;max-width:740px;padding:0 20px;margin:0 auto 22px}.signup-page .signup-footer a{color:#fff}
.signup-page #register-success{background:#f5f8fb;border:1px solid #dde7ef;border-radius:14px;padding:24px!important}
@keyframes diamond-form-in{from{opacity:0;transform:translateY(17px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.signup-page .auth{animation:diamond-form-in .6s cubic-bezier(.2,.7,.2,1) both}}
@media(max-width:640px){.signup-page .space-header{padding:14px 15px!important;min-height:70px}.signup-page .space-header img{width:125px;max-width:35vw}.signup-page .space-header .space-badge{display:none}.signup-page .space-header .login-link{margin-left:auto;font-size:10px}.signup-page .space-header .login-link strong{font-size:11px}.signup-page .signup-layout{padding:0 12px;margin:0 auto 20px}.signup-page .welcome-panel{padding:22px 12px 16px!important}.signup-page .welcome-panel::before{width:210px;height:210px;top:-30px}.signup-page .welcome-panel h2{font-size:25px!important}.signup-page .welcome-panel>p{font-size:11px!important}.signup-page .journey-steps li{padding:4px 6px}.signup-page .journey-steps strong{font-size:9px}.signup-page .auth{padding:27px 20px!important;border-radius:16px!important}.signup-page .auth h1{font-size:27px!important}.signup-page .auth .field-grid{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.signup-page .welcome-panel::before,.signup-page .auth{animation:none!important}.signup-page .auth .primary:hover{transform:none}}

/* Mouvement renforcé : anneaux, lumière, étapes et formulaire. */
body.signup-page{background-size:140% 140%!important}
body.signup-page::before{border-color:color-mix(in srgb,var(--orbit-halo) 38%,transparent);box-shadow:0 0 0 75px #ffffff07,0 0 0 155px #ffffff04,0 0 75px color-mix(in srgb,var(--orbit-halo) 24%,transparent),inset 0 0 70px color-mix(in srgb,var(--orbit-halo) 12%,transparent)}
body.signup-page::after{content:'';position:fixed;z-index:-2;inset:-25%;pointer-events:none;background:radial-gradient(circle at 26% 35%,color-mix(in srgb,var(--orbit-halo) 30%,transparent),transparent 27%),radial-gradient(circle at 78% 63%,color-mix(in srgb,var(--orbit-accent) 29%,transparent),transparent 31%);filter:blur(30px)}
.signup-page .welcome-panel::before{border:2px dashed color-mix(in srgb,var(--orbit-halo) 70%,transparent);box-shadow:0 0 35px color-mix(in srgb,var(--orbit-halo) 28%,transparent),0 0 0 22px #ffffff09,0 0 0 48px #ffffff06}
.signup-page .welcome-panel::after{box-shadow:0 0 26px color-mix(in srgb,var(--orbit-halo) 65%,transparent),0 0 0 8px #ffffff09;background:color-mix(in srgb,var(--orbit-accent) 38%,#ffffff18);border-color:color-mix(in srgb,var(--orbit-halo) 75%,white)}
.signup-page .team-label{text-shadow:0 0 15px color-mix(in srgb,var(--orbit-halo) 70%,transparent)}
.signup-page .journey-steps li{box-shadow:0 7px 20px #0002;border-color:#ffffff42;background:#ffffff18}
.signup-page .journey-steps li>span{box-shadow:0 0 16px color-mix(in srgb,var(--orbit-halo) 80%,transparent)}
.signup-page .auth{box-shadow:0 34px 100px #0007,0 0 48px color-mix(in srgb,var(--orbit-halo) 27%,transparent)!important;transform-origin:50% 0}
.signup-page .auth::before{height:5px;background:linear-gradient(105deg,var(--orbit-accent),#f4d681,var(--orbit-halo),#fff4c2,var(--orbit-accent));background-size:300% 100%;box-shadow:0 2px 18px color-mix(in srgb,var(--orbit-halo) 55%,transparent)}
.signup-page .auth :is(input:not([type=checkbox]),select):focus{box-shadow:0 0 0 5px color-mix(in srgb,var(--orbit-accent) 18%,transparent),0 0 22px color-mix(in srgb,var(--orbit-halo) 20%,transparent)!important}
.signup-page .auth .primary{background:linear-gradient(105deg,var(--orbit-core),var(--orbit-accent),var(--orbit-core))!important;background-size:220% 100%!important;position:relative;overflow:hidden;box-shadow:0 12px 25px color-mix(in srgb,var(--orbit-accent) 38%,transparent)}
.signup-page .auth .primary::before{content:'';position:absolute;inset:-20% auto -20% -42%;width:33%;transform:skewX(-24deg);background:linear-gradient(90deg,transparent,#ffffff73,transparent);pointer-events:none}
.signup-page .auth .primary:hover{background-position:100% 0!important;box-shadow:0 18px 36px color-mix(in srgb,var(--orbit-accent) 56%,transparent);transform:translateY(-4px) scale(1.015)}
.signup-page .auth .primary:active{transform:translateY(-1px) scale(.99)}
@keyframes diamond-aurora{0%,100%{background-position:20% 20%}50%{background-position:80% 75%}}
@keyframes diamond-halo{0%,100%{transform:translateX(-50%) scale(.96);opacity:.55}50%{transform:translateX(-50%) scale(1.12);opacity:1}}
@keyframes diamond-drift{0%,100%{transform:translate3d(-2%,0,0)}50%{transform:translate3d(3%,-3%,0)}}
@keyframes diamond-lock-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-11px) rotate(5deg)}}
@keyframes diamond-chip-in{from{opacity:0;transform:translateY(18px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes diamond-chip-pulse{0%,100%{box-shadow:0 7px 20px #0002}50%{box-shadow:0 8px 24px color-mix(in srgb,var(--orbit-halo) 50%,transparent)}}
@keyframes diamond-card-in{from{opacity:0;transform:perspective(900px) translateY(70px) rotateX(9deg) scale(.94)}to{opacity:1;transform:perspective(900px) translateY(0) rotateX(0) scale(1)}}
@keyframes diamond-card-breathe{0%,100%{box-shadow:0 34px 100px #0007,0 0 38px color-mix(in srgb,var(--orbit-halo) 24%,transparent)}50%{box-shadow:0 40px 110px #0008,0 0 78px color-mix(in srgb,var(--orbit-halo) 37%,transparent)}}
@keyframes diamond-shine{to{background-position:300% 0}}
@keyframes diamond-button-sweep{to{left:118%}}
@media(prefers-reduced-motion:no-preference){
 body.signup-page{animation:diamond-aurora 12s ease-in-out infinite}
 body.signup-page::before{animation:diamond-halo 7s ease-in-out infinite}
 body.signup-page::after{animation:diamond-drift 11s ease-in-out infinite}
 .signup-page .welcome-panel::before{animation:diamond-orbit 11s linear infinite}
 .signup-page .welcome-panel::after{animation:diamond-lock-float 3.2s ease-in-out infinite}
 .signup-page .journey-steps li{animation:diamond-chip-in .65s cubic-bezier(.2,.8,.2,1) both,diamond-chip-pulse 3s ease-in-out infinite}
 .signup-page .journey-steps li:nth-child(1){animation-delay:.15s,.9s}.signup-page .journey-steps li:nth-child(2){animation-delay:.28s,1.2s}.signup-page .journey-steps li:nth-child(3){animation-delay:.41s,1.5s}
 .signup-page .auth{animation:diamond-card-in .9s cubic-bezier(.17,.84,.27,1) both,diamond-card-breathe 5s ease-in-out 1s infinite}
 .signup-page .auth::before{animation:diamond-shine 4s linear infinite}
 .signup-page .auth .primary::before{animation:diamond-button-sweep 3s ease-in-out 1.5s infinite}
}
@media(prefers-reduced-motion:reduce){body.signup-page,body.signup-page::before,body.signup-page::after,.signup-page .welcome-panel::before,.signup-page .welcome-panel::after,.signup-page .journey-steps li,.signup-page .auth,.signup-page .auth::before,.signup-page .auth .primary::before{animation:none!important}}

/* Portraits éditoriaux dédiés à chaque rôle. */
.signup-page .signature{display:none!important}
.signup-page .signup-photo-stage{position:relative;display:block;width:min(100%,690px);height:245px;margin:22px 0 8px;border:1px solid #ffffff5c;border-radius:22px;overflow:hidden;isolation:isolate;box-shadow:0 24px 62px #0007,0 0 34px color-mix(in srgb,var(--orbit-halo) 30%,transparent);background:var(--orbit-core);text-align:left}
.signup-page .signup-photo-stage::after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#091321b8 0%,#09132157 45%,transparent 78%),linear-gradient(0deg,#0c142d8c,transparent 50%);pointer-events:none}
.signup-page .signup-photo-stage::before{content:'';position:absolute;z-index:2;top:-65px;right:-36px;width:210px;height:210px;border:2px solid #ffffff9a;border-radius:47% 53% 50% 50%;transform:rotate(-17deg);box-shadow:0 0 0 13px #ffffff1a,0 0 35px #ffffff46;pointer-events:none}
.signup-page .signup-photo-stage .welcome-photo{display:block!important;width:100%;height:100%;object-fit:cover;object-position:center 48%;margin:0!important;border:0!important;border-radius:0!important;filter:saturate(1.04) contrast(1.03)}
.signup-page .signup-photo-note{position:absolute;z-index:3;left:24px;bottom:24px;display:flex;flex-direction:column;gap:7px;max-width:57%;padding:14px 17px;border:1px solid #ffffff70;border-radius:14px;background:#0816278c;box-shadow:0 12px 35px #0004;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}
.signup-page .signup-photo-note span{color:#f6d98b;font-size:9px;font-weight:900;letter-spacing:2px}
.signup-page .signup-photo-note strong{font-size:clamp(15px,2.6vw,21px);line-height:1.18;letter-spacing:-.3px}
.signup-page[data-space=admin] .signup-photo-stage::after{background:linear-gradient(90deg,#081f42d9 0%,#0b2b6178 43%,transparent 78%),linear-gradient(0deg,#081b438c,transparent 50%)}
.signup-page .auth{margin-top:-16px!important}
@keyframes diamond-photo-reveal{from{opacity:0;transform:translateY(26px) scale(.96);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes diamond-photo-drift{0%,100%{transform:scale(1.035) translateX(0)}50%{transform:scale(1.09) translateX(-1.3%)}}
@keyframes diamond-lens-spin{to{transform:rotate(343deg)}}
@media(prefers-reduced-motion:no-preference){.signup-page .signup-photo-stage{animation:diamond-photo-reveal .85s cubic-bezier(.2,.8,.2,1) .25s both}.signup-page .signup-photo-stage .welcome-photo{animation:diamond-photo-drift 14s ease-in-out infinite}.signup-page .signup-photo-stage::before{animation:diamond-lens-spin 18s linear infinite}.signup-page .signup-photo-note{transition:transform .25s,background .25s}.signup-page .signup-photo-stage:hover .signup-photo-note{transform:translateY(-4px);background:#081627a8}}
@media(max-width:640px){.signup-page .signup-photo-stage{height:180px;margin:18px 0 6px;border-radius:17px}.signup-page .signup-photo-note{left:12px;bottom:12px;max-width:72%;padding:9px 11px;gap:4px;border-radius:10px}.signup-page .signup-photo-note span{font-size:7px;letter-spacing:1.3px}.signup-page .signup-photo-note strong{font-size:13px}.signup-page .signup-photo-stage::before{width:116px;height:116px;top:-36px;right:-29px}.signup-page .auth{margin-top:-11px!important}}
@media(prefers-reduced-motion:reduce){.signup-page .signup-photo-stage,.signup-page .signup-photo-stage .welcome-photo,.signup-page .signup-photo-stage::before{animation:none!important}.signup-page .signup-photo-stage:hover .signup-photo-note{transform:none}}
@media(min-width:900px){
 .signup-page .signup-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start;gap:34px;max-width:1180px;margin:18px auto 35px;padding:0 28px}
 .signup-page .welcome-panel{padding:57px 8px 20px!important}
 .signup-page .welcome-panel::before{top:4px}
 .signup-page .welcome-panel h2{font-size:clamp(30px,3vw,39px)!important}
 .signup-page .welcome-panel>p{font-size:13px!important;max-width:480px}
 .signup-page .journey-steps{gap:7px;margin-top:22px!important}
 .signup-page .journey-steps li{padding:7px 9px}
 .signup-page .signup-photo-stage{height:315px;margin-top:26px}
 .signup-page .signup-photo-note{max-width:75%}
 .signup-page .auth{margin-top:0!important}
 .signup-page .signup-footer{max-width:1125px}
}
