/* Habillage partagé entre onboarding.psychologue.fr et l’espace professionnel. */
.profile-onboarding,.psy-workspace .workspace-view.profile-onboarding { --journey-ink:var(--psy-brand-ink); --journey-muted:#596184; --journey-accent:var(--psy-brand-accent); --accent:var(--psy-brand-accent); --accent-hover:var(--psy-brand-accent-hover); --ink:var(--psy-brand-ink); --text:var(--psy-brand-ink); color:var(--journey-ink); display:block; box-sizing:border-box; width:100%; max-width:1090px; padding:32px 38px 56px; margin-inline:auto; }
.profile-onboarding .journey-logo { display:block; flex:0 0 auto; width:164px; height:36px; object-fit:contain; object-position:left; }
.profile-onboarding .profile-onboarding-top { flex-wrap:wrap; min-height:42px; display:flex; justify-content:flex-start; align-items:center; gap:20px; margin-bottom:36px; }
.profile-onboarding-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:44px; align-items:start; }
.profile-onboarding-layout > aside { position:sticky; top:24px; }
.profile-onboarding .profile-onboarding-layout > aside h2 { font-size:19px; font-weight:600; letter-spacing:-.4px; line-height:1.5; margin:0 0 26px; }
.profile-onboarding .profile-steps { list-style:none; padding:0; margin:0; display:grid; gap:10px; font-size:14px; color:var(--journey-muted); }
.profile-onboarding .profile-steps li { display:block; }
.profile-onboarding .profile-steps :is(button,li>div) { display:flex; align-items:center; gap:11px; min-height:40px; width:100%; border:0; padding:4px 6px; border-radius:9px; background:transparent; font:inherit; color:inherit; text-align:left; }
.profile-onboarding .profile-steps button:hover { background:var(--psy-brand-soft); color:var(--journey-accent); }
.profile-onboarding .profile-steps button:focus-visible { outline:2px solid var(--journey-accent); outline-offset:3px; }
.profile-onboarding .profile-steps span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:#eaebf6; }
.profile-onboarding .profile-steps [aria-current] { color:var(--journey-ink); font-weight:700; }
.profile-onboarding .profile-steps [aria-current] > :is(button,div) { background:var(--psy-brand-soft); }
.profile-onboarding .profile-steps [aria-current] span { background:var(--journey-accent); color:white; }
.profile-onboarding .profile-steps .complete span { background:#e8f4ee; color:#28684a; }
.profile-step-main { min-width:0; }
.profile-onboarding .journey-heading { margin-bottom:30px; }
.profile-onboarding .profile-step-main .journey-heading h1 { font-size:32px; line-height:1.25; letter-spacing:-1px; margin:12px 0; }
.profile-onboarding .profile-step-main .journey-heading p { color:var(--journey-muted); font-size:15px; line-height:1.6; margin:0; }
.profile-onboarding .journey-heading .eyebrow { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--journey-muted); }
@media(max-width:850px) {
 .profile-onboarding,.psy-workspace .workspace-view.profile-onboarding { padding:20px 18px 40px; }
 .profile-onboarding-layout { grid-template-columns:1fr; gap:22px; }
 .profile-onboarding-layout > aside { position:static; min-width:0; }
 .profile-onboarding .profile-onboarding-layout > aside h2 { display:none; }
 .profile-onboarding .profile-steps { display:flex; overflow-x:auto; gap:8px; padding:4px; }
 .profile-onboarding .profile-steps li { flex:0 0 auto; }
 .profile-onboarding .profile-steps :is(button,li>div) { font-size:12px; white-space:nowrap; }
 .profile-onboarding .profile-onboarding-top { margin-bottom:20px; }
 .profile-onboarding .profile-step-main .journey-heading h1 { font-size:28px; }
}

.profile-onboarding .journey-help { margin-left:auto; font-size:13px; color:var(--journey-muted); text-decoration:none; }
.profile-onboarding .journey-help:hover { color:var(--journey-accent); text-decoration:underline; }
.profile-onboarding .journey-help:focus-visible { outline:2px solid var(--journey-accent); outline-offset:5px; border-radius:4px; }
/* Carte de récapitulatif commune, y compris lors d’un retour depuis l’espace pro. */
.profile-onboarding .journey-summary { box-sizing:border-box; width:100%; max-width:760px; padding:28px; background:#fff; border:1px solid var(--psy-brand-soft); border-radius:20px; box-shadow:0 3px 14px #18215404; }
.profile-onboarding .journey-summary h2 { margin:0 0 24px; font-size:21px; line-height:1.4; }
.profile-onboarding .journey-summary dl { display:grid; gap:0; margin:0; }
.profile-onboarding .journey-summary dl > div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; align-items:baseline; padding:18px 0; border-top:1px solid #eeeff7; }
.profile-onboarding .journey-summary dt { color:var(--journey-muted); font-size:14px; }
.profile-onboarding .journey-summary dd { margin:0; font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.profile-onboarding .journey-summary .journey-summary-note { margin:20px 0 0; color:var(--journey-muted); font-size:13px; line-height:1.65; }
.profile-onboarding .journey-summary-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:26px; }
.profile-onboarding .journey-summary-actions .btn { margin:0; min-height:46px; font-size:14px; }
.profile-onboarding .card:has(#s-journey-summary.on),.profile-onboarding #s-journey-summary { padding:0; border:0; background:transparent; box-shadow:none; }
@media(max-width:600px) {
 .profile-onboarding .journey-summary { padding:22px; }
 .profile-onboarding .journey-summary dl > div { grid-template-columns:1fr; gap:6px; }
 .profile-onboarding .journey-summary-actions .btn { width:100%; white-space:normal; }
}
.profile-onboarding .profile-onboarding-top > .btn { box-sizing:border-box; min-height:42px; padding:10px 0; border:0; font-size:13px; line-height:22px; }

/* Effet commun au tunnel et au cabinet, après confirmation serveur. */
.workspace-confetti { position:fixed;inset:0;pointer-events:none;z-index:10000;overflow:hidden; }
.workspace-confetti i { position:absolute;left:var(--x);top:-20px;width:8px;height:13px;border-radius:2px;animation:workspace-celebrate 1.7s var(--delay) ease-in forwards; }
@keyframes workspace-celebrate { to { transform:translate(40px,90vh) rotate(560deg);opacity:0; } }
@media(prefers-reduced-motion:reduce) { .workspace-confetti { display:none; } }

@media(max-width:600px) {
 .profile-onboarding .journey-logo { width:145px; height:32px; }
 .profile-onboarding .profile-onboarding-top { gap:12px; }
 .profile-onboarding .journey-help { order:1; }
 .profile-onboarding .profile-onboarding-top > .btn { order:2; flex-basis:100%; justify-content:flex-start; }
 .profile-onboarding #profileDraftStatus { order:3; }
}

.connect-progress { display:flex; flex-direction:column; align-items:center; text-align:center; padding:48px 24px; gap:16px; }
.connect-progress h2,.connect-progress p { margin:0; }
.connect-progress p { max-width:540px; }
.connect-progress-orbit { position:relative; display:grid; place-items:center; width:88px; height:88px; color:var(--accent,#5e60e5); border-radius:50%; background:#f0efff; margin-bottom:8px; }
.connect-progress-orbit svg { width:32px; height:32px; }
.connect-progress-orbit::after { content:""; position:absolute; inset:-6px; border:2px solid #e4e2fc; border-top-color:currentColor; border-radius:50%; }
.connect-progress-orbit.is-running::after { animation:connect-orbit 1.4s linear infinite; }
@keyframes connect-orbit { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .connect-progress-orbit.is-running::after { animation:none; } }

.psy-workspace #page-agenda:has(.profile-onboarding) > .page-content { overflow:visible; }
.journey-agenda-finish { position:sticky; bottom:0; z-index:10; display:flex; justify-content:flex-end; align-items:center; min-height:76px; box-sizing:border-box; margin-top:16px; padding:12px 0 calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--border,#e4e5f3); background:var(--journey-bg,#f9f9fd); box-shadow:0 -8px 18px #f9f9fd; }
#packWeeklySchedule .aw-save { bottom:calc(76px + env(safe-area-inset-bottom)); }
@media(max-width:600px) { .journey-agenda-finish .btn { width:100%; justify-content:center; } }

/* Revendication : une décision claire avant les questions facultatives. */
.claim-welcome { border:1px solid #e3e5fb; border-radius:24px; background:#fff; overflow:hidden; box-shadow:0 12px 32px #14205205; }
.claim-welcome-intro { padding:32px 36px 26px; background:linear-gradient(120deg,#f0f0ff,#fafaff); }
.claim-welcome-badge { display:inline-flex; padding:7px 12px; border-radius:999px; background:#e7f5ef; color:#247859; font-size:13px; font-weight:700; }
.claim-welcome-intro h2 { margin:18px 0 10px; font-size:clamp(24px,2.2vw,32px); line-height:1.25; }
.claim-welcome-intro p { max-width:720px; margin:0; line-height:1.6; color:#667095; }
.claim-welcome-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:30px 36px; }
.claim-welcome-benefits article > span { color:#605de8; font-size:13px; font-weight:700; letter-spacing:.08em; }
.claim-welcome-benefits h3 { font-size:17px; margin:10px 0; line-height:1.4; }
.claim-welcome-benefits p { margin:0; color:#667095; font-size:15px; line-height:1.55; }
.claim-welcome-actions { padding:24px 36px; border-top:1px solid #eceefb; }
.claim-welcome-actions > p { margin:12px 0; font-size:14px; color:#667095; }
.psy-workspace .workspace-view .claim-welcome-actions .ext-delete-link { color:#b7394b; font-size:14px; }
.claim-welcome-actions .claim-welcome-error:empty { display:none; }
.claim-welcome-actions .claim-welcome-error { color:#b7394b; }
@media(max-width:700px) {
 .claim-welcome-benefits { grid-template-columns:1fr; gap:20px; }
 .claim-welcome-intro,.claim-welcome-benefits,.claim-welcome-actions { padding:22px; }
 .claim-welcome-actions .primary { width:100%; }
}
