/* US-S03/07/08 · US-29 · EN-06/07 : guide, aide locale et version connectée. */
body[data-online-authenticated="1"] [hidden] { display: none !important; }
/* US-S15 ; US-29/31 : concise settings hub and native accessible advanced sections. */
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.settings-link { display: block; color: inherit; text-decoration: none; margin: 0; }
.settings-link h3 { margin: 0 0 .5rem; }
.settings-link p { color: #496273; }
.settings-link span { color: #0c3154; font-weight: 700; }
.settings-link:hover, .settings-link:focus-visible { outline: 2px solid #0c3154; outline-offset: 2px; }
.settings-back-link { margin: 0 0 1rem; font-size: .9rem; }
.settings-details { margin-bottom: 1rem; }
.settings-details > summary { cursor: pointer; font-weight: 700; padding: .35rem 0; }
.settings-details[open] > summary { margin-bottom: .8rem; }
@media (max-width: 650px) { .settings-grid { grid-template-columns: 1fr; } }
.onboarding-progress { display: grid; gap: 1rem; margin-bottom: 1.25rem; }
.onboarding-progress p { margin: .35rem 0 0; }
.onboarding-progress progress { width: 100%; height: 1rem; accent-color: #15775b; }
.onboarding-progress .button { justify-self: start; }
.onboarding-steps { list-style: none; padding: 0; display: grid; gap: 1rem; }
.onboarding-step { display: flex; align-items: flex-start; gap: 1rem; margin: 0; }
.onboarding-step h2 { margin: 0; font-size: 1.2rem; }
.onboarding-step[aria-current="step"] { border: 2px solid #0c3154; }
.onboarding-state { color: #496273; font-size: .85rem; margin: 0 0 .3rem; font-weight: 700; }
.onboarding-number { display: inline-grid; flex: 0 0 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: #e7edf3; color: #0c3154; font-weight: 700; }
.is-complete .onboarding-number { background: #e2f3e9; color: #136c45; }
.help-widget { position: fixed; bottom: 1rem; right: 1rem; z-index: 60; max-width: min(27rem, calc(100vw - 2rem)); }
.help-widget > summary { cursor: pointer; border-radius: 2rem; background: #0c3154; color: #fff; box-shadow: 0 3px 15px #0002; padding: .85rem 1.2rem; font-weight: 700; width: fit-content; margin-left: auto; }
.help-widget-panel { margin-top: .5rem; background: white; border: 1px solid #c9d6de; box-shadow: 0 5px 25px #0002; border-radius: .8rem; padding: 1rem; overflow-y: auto; max-height: calc(100dvh - 7rem); }
.help-widget-panel h2 { margin-top: 0; font-size: 1.15rem; }
.help-chat { max-width: 56rem; }
.help-conversation { max-height: 26rem; overflow-y: auto; padding: .2rem; }
.help-widget-panel .help-conversation { max-height: 14rem; }
.help-bubble { background: #edf3f7; border-radius: .8rem; padding: .8rem 1rem; margin: .5rem 0; overflow-wrap: anywhere; }
.help-bubble p { margin: 0 0 .5rem; }
.help-bubble p:last-child { margin-bottom: 0; }
.help-bubble.user { margin-left: 2rem; background: #e2f3e9; }
.help-bubble ul { padding-left: 1.2rem; margin-bottom: 0; }
.help-topics { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }
.help-topics .button { font-size: .85rem; white-space: normal; text-align: left; }
.help-form label { display: block; font-weight: 700; margin-bottom: .5rem; }
.help-input { display: flex; gap: .5rem; }
.help-input input { width: 100%; min-width: 0; border: 1px solid #acbdc9; border-radius: .4rem; padding: .7rem; font: inherit; }
.online-only-cover { position: fixed; inset: 0; background: #f3f6f9; display: grid; place-content: center; padding: 1.5rem; z-index: 200; text-align: center; }
.online-only-cover[hidden] { display: none; }
.app-shell[hidden], .help-widget[hidden] { display: none !important; }
.online-only-cover p { max-width: 36rem; }
.saas-pilot-badge { font-size: .8rem; color: #7e4a0d; background: #fff4d8; border-radius: .4rem; padding: .25rem .5rem; }
.login-card .friends-test-acknowledgement { display: flex; align-items: flex-start; gap: .65rem; margin-block: 1rem; line-height: 1.5; }
.login-card .friends-test-acknowledgement input { width: 20px; min-width: 20px; min-height: 20px; height: 20px; padding: 0; flex: none; margin: .1rem 0 0; }
@media (max-width: 600px) { .onboarding-step { gap: .7rem; padding: 1rem; } .help-input { flex-wrap: wrap; } .help-input .button { width: 100%; } .help-widget-panel { padding: .8rem; } .topbar-note { display: none; } }
