/* Coach — tableau de bord (option B), même verre que Séance V2. */
body[data-view="coach"] main { max-width: 1320px; }
.cb .wellness-icon { width: 20px; height: 20px; }
.cb-eyebrow { gap: 8px; align-items: center; }
.cb-eyebrow .wellness-icon { width: 15px; height: 15px; color: var(--s2-link); }
.cb-head .s2-head-acts .s2-btn .wellness-icon { color: var(--s2-link); }
.cb-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.cb-s8 { grid-column: span 8; }
.cb-s4 { grid-column: span 4; }
.cb .s2-card { display: flex; flex-direction: column; min-width: 0; animation: cb-in .6s var(--s2-ease) both; }
.cb .s2-card:nth-child(2) { animation-delay: .06s; } .cb .s2-card:nth-child(3) { animation-delay: .12s; } .cb .s2-card:nth-child(4) { animation-delay: .18s; } .cb .s2-card:nth-child(5) { animation-delay: .24s; }
.cb-hero { display: grid !important; grid-template-columns: 160px minmax(0, 1fr); gap: 26px; align-items: center; }
.cb-hero.is-loading { min-height: 300px; background: linear-gradient(100deg, var(--s2-glass) 30%, var(--s2-glass-hi) 50%, var(--s2-glass) 70%); background-size: 300% 100%; animation: cb-shimmer 1.6s linear infinite; }
.cb-pico { display: flex; flex-direction: column; align-items: center; }
.cb-pico img { width: 100%; height: auto; animation: cb-float 5s cubic-bezier(.45,0,.55,1) infinite; }
.cb-pico i { display: block; width: 60%; height: 12px; margin-top: -6px; border-radius: 50%; background: radial-gradient(closest-side, #14386e38, transparent); }
.cb-pico.is-hidden { display: none; }
.cb-hero:has(.cb-pico.is-hidden) { grid-template-columns: 1fr; }
.cb-hero-body { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cb-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.cb-row.is-start { justify-content: flex-start; gap: 14px; }
.cb-over { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--s2-muted); }
.cb-over .wellness-icon { width: 16px; height: 16px; color: var(--s2-link); }
.cb-lede { font-size: 25px; line-height: 1.2; letter-spacing: -.7px; font-weight: 500; text-wrap: pretty; }
.cb-lede strong { font-weight: 800; }
.cb-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cb-stat { padding: 14px 16px; border-radius: 20px; background: var(--s2-hair); min-width: 0; }
.cb-stat span { display: block; font-size: 12.5px; font-weight: 650; color: var(--s2-muted); }
.cb-stat b { display: block; margin-top: 6px; font-size: 26px; font-weight: 800; letter-spacing: -.8px; font-variant-numeric: tabular-nums; }
.cb-stat b small { font-size: 13px; font-weight: 600; color: var(--s2-muted); letter-spacing: 0; }
.cb-stat i { display: block; margin-top: 2px; font-style: normal; font-size: 12px; font-weight: 600; color: var(--s2-muted); }
.cb-ghost { display: inline-flex !important; align-items: center; gap: 10px !important; min-height: 48px !important; padding: 4px 4px 4px 18px !important; border-radius: 999px !important; background: var(--s2-soft) !important; color: var(--s2-link) !important; font-size: 14px; font-weight: 700; }
.cb-ghost > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--s2-glass-hi); transition: transform .5s var(--s2-ease); }
.cb-ghost:hover > span { transform: translateX(3px); }
.cb-ghost .wellness-icon { width: 16px; height: 16px; }
.cb-tiny { font-size: 12px; color: var(--s2-muted); }
.cb-quote { font-size: 13.5px; font-style: italic; color: var(--s2-muted); }
.cb-tag { align-self: flex-start; }
.cb-prop:not(.is-next) { box-shadow: inset 0 0 0 1.5px var(--s2-orange-bg), var(--s2-shadow); }
.cb-ptitle { margin-top: 14px !important; font-size: 19px; font-weight: 750; letter-spacing: -.35px; line-height: 1.3; }
.cb-ba { display: flex; align-items: center; gap: 8px; margin-top: 10px !important; font-size: 15px; font-variant-numeric: tabular-nums; }
.cb-ba s { color: var(--s2-muted); }
.cb-ba b { color: var(--s2-green); font-weight: 800; }
.cb-ba .wellness-icon { width: 16px; height: 16px; color: var(--s2-muted); }
.cb-small { margin-top: 6px !important; font-size: 13px; color: var(--s2-muted); line-height: 1.5; }
.cb-fill { flex: 1; min-height: 16px; }
.cb-wide { width: 100%; min-height: 50px !important; }
.cb-row2 { display: flex; gap: 8px; margin-top: 8px; }
.cb-row2 > * { flex: 1; }
.cb-chead { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; }
.cb-chead h2 { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 750; letter-spacing: -.3px; }
.cb-chead h2 .wellness-icon { width: 21px; height: 21px; color: var(--s2-link); }
.cb-more { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 4px 0 10px; border-radius: 999px; color: var(--s2-link); font-size: 13px; font-weight: 650; }
.cb-more .wellness-icon { width: 15px; height: 15px; }
.cb-goaltitle { margin-top: 8px !important; font-size: 26px; font-weight: 800; letter-spacing: -.8px; }
.cb-lines { display: grid; gap: 4px; margin-top: 14px; }
.cb-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; font-size: 13.5px; color: var(--s2-muted); }
.cb-line + .cb-line { box-shadow: 0 -1px 0 var(--s2-line); }
.cb-line b { color: var(--s2-ink); font-variant-numeric: tabular-nums; }
.cb-line b.cb-up { color: var(--s2-green); }
.cb-line b.cb-down { color: var(--s2-orange); }
.cb-adv { display: grid; gap: 6px; margin-top: 10px; }
.cb-arow { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 10px 8px 14px; border-radius: 18px; background: var(--s2-hair); }
.cb-grow { flex: 1; min-width: 0; }
.cb-arow strong { display: block; font-size: 13.5px; font-weight: 700; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cb-arow .cb-grow > span { display: block; font-size: 12px; color: var(--s2-muted); margin-top: 1px; }
.s2-chip.is-green { background: var(--s2-green-bg) !important; color: var(--s2-green) !important; }
.cb-qs { display: grid; gap: 8px; margin-top: 12px; }
.cb-q { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 8px 12px 8px 14px; border-radius: 18px; background: var(--s2-hair); font-size: 14px; font-weight: 600; transition: background .3s, transform .3s var(--s2-ease); }
.cb-q:hover { background: var(--s2-glass-hi); transform: translateX(2px); }
.cb-q span { flex: 1; }
.cb-q .wellness-icon { width: 16px; height: 16px; color: var(--s2-muted); }
.cb-composer { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 16px; border-radius: 999px; background: var(--s2-glass-hi); border: 1px solid var(--s2-edge); box-shadow: inset 0 1px 2px #07102a0d; }
.cb-composer:focus-within { border-color: var(--s2-blue); box-shadow: 0 0 0 4px var(--s2-soft); }
.cb-composer input { flex: 1; min-width: 0; min-height: 40px; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; font: 500 16px/1.3 TodayJakarta, 'Plus Jakarta Sans', sans-serif; color: var(--s2-ink); outline: none; }
.cb-send { display: grid !important; place-items: center; width: 44px; height: 44px; border-radius: 50% !important; background: var(--s2-blue) !important; color: #fff !important; box-shadow: 0 10px 22px -10px #0866ffcc !important; flex-shrink: 0 !important; }
.cb-send .wellness-icon { width: 18px; height: 18px; }
.cb-links { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cb-link { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 12px 14px 12px 12px; border-radius: 26px; background: var(--s2-glass); border: 1px solid var(--s2-edge); box-shadow: inset 0 1px 0 #ffffff8c, var(--s2-shadow); backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%); transition: transform .4s var(--s2-ease); animation: cb-in .6s .3s var(--s2-ease) both; }
.cb-link:hover { transform: translateY(-2px); }
.cb-link strong { display: block; font-size: 15px; font-weight: 750; }
.cb-link .cb-grow > span { display: block; font-size: 12.5px; color: var(--s2-muted); margin-top: 1px; }
.cb-link > .wellness-icon { width: 16px; height: 16px; color: var(--s2-muted); }
.cb-link .s2-tile .wellness-icon { color: var(--s2-link); }
.coach-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 8px; padding: 0 14px 0 10px; border-radius: 999px; background: var(--s2-glass-hi, #ffffffeb); color: var(--s2-link, #0757de); font-size: 14px; font-weight: 650; text-decoration: none; }
.coach-back .wellness-icon { width: 16px; height: 16px; }
@keyframes cb-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes cb-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes cb-shimmer { from { background-position: 100% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .cb .s2-card, .cb-link, .cb-pico img, .cb-hero.is-loading { animation: none !important; } }
@media (max-width: 1100px) { .cb-s8 { grid-column: span 12; } .cb-s4 { grid-column: span 6; } .cb-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .cb-grid { gap: 12px; }
  .cb-s4, .cb-s8 { grid-column: span 12; }
  .cb .s2-card { padding: 18px !important; border-radius: 26px; }
  .cb-hero { display: flex !important; flex-direction: column; position: relative; gap: 0; }
  .cb-hero-body { gap: 14px; }
  .cb-pico { position: absolute; top: 12px; right: 14px; width: 76px; }
  .cb-hero:not(:has(.cb-pico.is-hidden)) .cb-hero-body > .cb-row:first-child { padding-right: 82px; min-height: 64px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; }
  .cb-lede { font-size: 19px; letter-spacing: -.4px; }
  .cb-stats { gap: 6px; }
  .cb-stat { padding: 10px; border-radius: 16px; }
  .cb-stat b { font-size: 20px; }
  .cb-stat i { display: none; }
  .cb-ghost { width: 100%; justify-content: space-between; }
  .cb-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cb-link { flex-direction: column; align-items: flex-start; gap: 8px; min-height: 0; padding: 14px; border-radius: 22px; }
  .cb-link .cb-grow > span, .cb-link > .wellness-icon { display: none; }
  .cb-link strong { font-size: 13.5px; }
  .cb-head .s2-head-acts { width: 100%; }
  .cb-head .s2-head-acts > * { flex: 1; }
  .cb-hero { order: 1; } .cb-prop { order: 2; } .cb-advice { order: 3; } .cb-goal { order: 4; } .cb-ask { order: 5; } .cb-links { order: 6; }
}
.cb .cb-head { display: flex; }
@media (max-width: 900px) { .cb .cb-head { padding: 6px 2px 16px; } .cb .cb-head .s2-h1 { font-size: 32px; letter-spacing: -1.2px; } }
.cb-head .s2-btn.is-primary .wellness-icon { color: #fff; }
@media (max-width: 700px) { .cb-head .s2-head-acts { flex-wrap: nowrap; gap: 8px; } .cb-head .s2-btn { padding: 0 12px !important; font-size: 13.5px; min-height: 46px !important; } }
