/* Tableau de bord — fondations, actions et recommandation */
.ru-home{max-width:1240px;padding:22px clamp(14px,2.2vw,34px) 42px}
.ru-home-kicker{display:block;color:var(--ru-blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin-bottom:8px}
.ru-home-head{padding:0 3px 22px}.ru-home-head h1{font-size:clamp(2.5rem,4.5vw,4rem)}.ru-home-head p{font-size:16px}
.ru-stats{border:0;border-radius:22px;padding:20px 28px 16px;margin-bottom:18px;background:linear-gradient(115deg,#fff9e6,#fff0b9);box-shadow:0 16px 40px rgba(198,145,0,.08)}
.ru-stats-grid strong{font-size:38px}.ru-stats-grid article{padding:7px 18px}.ru-stats header button{font-weight:700}
.ru-stats-setup{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0 4px}.ru-stats-setup strong,.ru-stats-setup span{display:block}.ru-stats-setup strong{font:800 20px/1.15 Outfit,sans-serif;color:#302a19}.ru-stats-setup span{font-size:12px;color:#736b55;margin-top:4px}.ru-stats-setup button{display:flex;align-items:center;gap:7px;flex:none;border:1px solid #d5a91b;border-radius:11px;background:#fff;color:#725500;padding:11px 14px;font-weight:800}.ru-stats-setup svg{width:15px;height:15px}
.ru-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.78fr);gap:16px;align-items:stretch;margin:0 0 28px}
.ru-recommendation{border:1px solid #cfe0ff;border-radius:24px;padding:22px;background:linear-gradient(145deg,#f0f8ff 0%,#e5f0ff 54%,#f1edff 100%);box-shadow:0 22px 55px rgba(46,91,160,.1);overflow:hidden;position:relative}
.ru-recommendation:after{content:"";position:absolute;width:240px;height:240px;border:52px solid rgba(255,255,255,.35);border-radius:50%;right:-110px;top:-125px;pointer-events:none}
.ru-recommendation>header{display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;z-index:1}.ru-recommendation>header>span{color:#9a6a00;background:#fff4c9;border:1px solid #f5d66e;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ru-recommendation>header>small{color:#315687;font-weight:700}
.ru-reco-content{display:grid;grid-template-columns:minmax(230px,.95fr) minmax(250px,1fr);gap:22px;align-items:center;margin-top:17px;position:relative;z-index:1}
.ru-reco-visual{aspect-ratio:4/4.25;border-radius:19px;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:#10182d;background:linear-gradient(145deg,#f3eadc,#d8eadf);box-shadow:0 18px 38px rgba(39,67,116,.16)}
.ru-reco-visual:before,.ru-preview:before{content:"";position:absolute;width:68%;aspect-ratio:1;border-radius:50%;right:-14%;top:-18%;background:rgba(255,255,255,.68);box-shadow:-74px 95px 0 -22px rgba(255,255,255,.4)}
.ru-reco-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.05) 66%)}
.ru-reco-visual>*{position:relative;z-index:1}.ru-reco-visual>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:#516075}.ru-reco-visual>strong{font:800 clamp(1.35rem,2.2vw,2rem)/1.02 Outfit,sans-serif;letter-spacing:-.035em;margin:8px 0 13px}.ru-reco-visual>i{height:4px;width:56px;border-radius:9px;background:var(--ru-gold);margin-bottom:12px}.ru-reco-visual>small{font-weight:700;color:#4c5c75}
.ru-reco-visual.variant-1,.ru-preview.variant-1{background:linear-gradient(145deg,#f8e9ee,#eae1ff)}.ru-reco-visual.variant-2,.ru-preview.variant-2{background:linear-gradient(145deg,#e9f5ff,#dcecff)}.ru-reco-visual.variant-3,.ru-preview.variant-3{background:linear-gradient(145deg,#fff0da,#f1e4ce)}
.ru-reco-copy h2{font:800 clamp(1.55rem,2.8vw,2.45rem)/1.02 Outfit,sans-serif;letter-spacing:-.045em;margin:0 0 10px}.ru-reco-copy p{color:#52617b;font-size:13px;line-height:1.55;margin:0 0 14px}.ru-reco-copy ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}.ru-reco-copy li{font-size:11px;color:#2e4264;padding-left:21px;position:relative}.ru-reco-copy li:before{content:"✓";position:absolute;left:0;color:#18a975;font-weight:900}.ru-reco-copy button{width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,#0874ff,#0758de);color:#fff;padding:14px 17px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:8px;box-shadow:0 10px 24px rgba(9,107,255,.23)}.ru-reco-copy button svg{width:17px;height:17px}
.ru-recommendation>footer{margin:18px -22px -22px;padding:14px 22px;text-align:center;background:rgba(255,255,255,.68);font:700 17px Caveat,cursive;color:#3c4e72;position:relative;z-index:1}.ru-recommendation>footer strong{color:#0a3e98}
.ru-dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.ru-system-card,.ru-schedule-card{border:1px solid var(--ru-line);border-radius:20px;background:#fff;padding:17px;text-align:left;color:var(--ru-ink);min-width:0}.ru-system-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.ru-system-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(49,84,132,.1)}
.ru-system-card>span{display:block;color:var(--ru-blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ru-system-card>strong{display:block;font:800 31px Outfit,sans-serif;margin:5px 0 3px}.ru-system-card>strong small{font-size:14px;color:#8390a7}.ru-system-card>p{font-size:10px;line-height:1.48;color:#455774;min-height:59px;margin:0 0 10px}.ru-system-card>small{display:flex;align-items:center;gap:5px;margin-top:9px;color:#315687;font-size:9px;font-weight:700}.ru-system-card>small svg{width:13px;height:13px}
.ru-system-card.foundations{background:linear-gradient(145deg,#fff,#edf6ff)}.ru-system-card.actions{background:linear-gradient(145deg,#fff,#f4efff)}
.ru-system-progress{height:7px;border-radius:999px;background:#dfe8f5;overflow:hidden}.ru-system-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#126fff,#6f62f4)}
.ru-action-dots{display:flex;gap:7px;height:14px;align-items:center}.ru-action-dot{width:12px;height:12px;border-radius:50%;background:#dce3ec;box-shadow:inset 0 0 0 1px rgba(31,49,82,.06)}.ru-action-dot.reussite{background:#1675f5}.ru-action-dot.user{background:#29b978}.ru-action-dot.pending{background:#f3a51e}.ru-action-dot.missed{background:#e84b58}.ru-action-dot.later{background:#dce3ec}
.ru-dots-legend{display:flex;flex-wrap:wrap;gap:4px 9px;margin-top:7px;color:#66758e;font-size:8px}.ru-dots-legend span{display:flex;align-items:center;gap:4px}.ru-dots-legend i{width:6px;height:6px;border-radius:50%}.ru-dots-legend i.reussite{background:#1675f5}.ru-dots-legend i.user{background:#29b978}.ru-dots-legend i.pending{background:#f3a51e}
.ru-schedule-card{grid-column:1/-1;padding:18px;background:linear-gradient(145deg,#fff,#fffaf0)}.ru-schedule-card header{display:flex;gap:11px;align-items:center}.ru-schedule-card header>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#e9f4ff;color:var(--ru-blue)}.ru-schedule-card header svg{width:18px;height:18px}.ru-schedule-card header strong,.ru-schedule-card header small{display:block}.ru-schedule-card header strong{font:800 15px Outfit,sans-serif}.ru-schedule-card header small{font-size:9px;color:var(--ru-muted);margin-top:2px}.ru-schedule-card ol{list-style:none;margin:13px 0 8px;padding:0}.ru-schedule-card li{display:grid;grid-template-columns:74px 1fr;gap:8px;padding:8px 0;border-top:1px solid #e8edf5;font-size:10px}.ru-schedule-card time{color:var(--ru-blue);font-weight:800}.ru-schedule-card li span{color:#31415d}.ru-schedule-card>button{border:0;background:transparent;color:var(--ru-blue);font-weight:800;padding:6px 0 0;display:flex;align-items:center;gap:5px}.ru-schedule-card>button svg{width:14px;height:14px}
.ru-activity{margin-top:4px}.ru-activity .ru-day{padding:13px 16px;background:linear-gradient(105deg,#eef7ff,#e9f3ff)}.ru-activity .ru-day:nth-of-type(even){background:linear-gradient(105deg,#f5f1ff,#eeeaff)}
.ru-preview{min-height:78px}.ru-preview:before{width:52%;right:-8%;top:-48%;box-shadow:-58px 76px 0 -28px rgba(255,255,255,.45)}.ru-preview>*{position:relative;z-index:1}
.ru-dashboard-footer{display:grid;grid-template-columns:1fr 1.25fr auto;gap:12px;align-items:center;border:1px solid var(--ru-line);border-radius:18px;padding:14px 18px;margin-top:17px;background:#fbfcff}.ru-dashboard-footer>div{padding-right:12px;border-right:1px solid var(--ru-line)}.ru-dashboard-footer strong,.ru-dashboard-footer span{display:block}.ru-dashboard-footer strong{font:800 16px Outfit,sans-serif}.ru-dashboard-footer span{font-size:9px;color:var(--ru-muted);margin-top:2px}.ru-dashboard-footer button{border:1px solid var(--ru-blue);background:#fff;color:var(--ru-blue);border-radius:11px;padding:10px 13px;font-weight:800;display:flex;align-items:center;gap:5px}.ru-dashboard-footer button svg{width:14px;height:14px}
@media(max-width:1050px){.ru-dashboard-grid{grid-template-columns:1fr}.ru-dashboard-side{grid-template-columns:1fr 1fr}.ru-schedule-card{grid-column:auto}.ru-reco-content{grid-template-columns:minmax(210px,.8fr) 1fr}}
@media(max-width:760px){.ru-home{padding:12px 13px 86px}.ru-home-head h1{font-size:2.6rem}.ru-home-head p{font-size:15px}.ru-stats{padding:17px 14px}.ru-stats header span{display:none}.ru-stats-setup{align-items:flex-start;flex-direction:column}.ru-stats-setup button{width:100%;justify-content:center}.ru-stats-grid{gap:0}.ru-stats-grid article{padding:5px 7px}.ru-stats-grid strong{font-size:27px}.ru-stats-grid span{font-size:10px}.ru-stats-grid small{display:none}.ru-dashboard-side,.ru-reco-content,.ru-dashboard-footer{grid-template-columns:1fr}.ru-reco-content{gap:15px}.ru-reco-visual{aspect-ratio:16/10;min-height:245px}.ru-recommendation{padding:16px}.ru-recommendation>footer{margin:16px -16px -16px}.ru-schedule-card{grid-column:1/-1}.ru-system-card>p{min-height:0}.ru-day{grid-template-columns:1fr}.ru-day h3{margin:0 0 8px}.ru-activity-item{grid-template-columns:105px 34px minmax(0,1fr);gap:9px}.ru-preview{height:66px;padding:8px}.ru-preview strong{font-size:11px}.ru-preview small{display:none}.ru-dashboard-footer>div{border:0;border-bottom:1px solid var(--ru-line);padding:0 0 10px}.ru-section-title{align-items:flex-start}.ru-section-title button{font-size:10px}.ru-hand{margin-bottom:12px}}

/* Accueil À faire + vue d'ensemble : un seul bloc par ligne */
.ru-focus-stack,.ru-overview-stack{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:22px}
.ru-focus-stack .ru-schedule-card,.ru-overview-stack .ru-schedule-card{grid-column:auto}
.ru-todo-home{max-width:1080px}
.ru-overview-home{max-width:1120px}
.ru-overview-stack .ru-system-card{width:100%;display:grid;grid-template-columns:minmax(150px,.34fr) minmax(220px,.66fr);column-gap:24px;align-items:center;padding:21px 24px}
.ru-overview-stack .ru-system-card>span,.ru-overview-stack .ru-system-card>strong,.ru-overview-stack .ru-system-card>small{grid-column:1}
.ru-overview-stack .ru-system-card>p,.ru-overview-stack .ru-system-card .ru-system-progress,.ru-overview-stack .ru-system-card .ru-action-dots,.ru-overview-stack .ru-system-card .ru-dots-legend{grid-column:2}
.ru-overview-stack .ru-system-card>p{grid-row:1 / span 2;min-height:0;font-size:13px}
.ru-overview-stack .ru-system-card .ru-system-progress,.ru-overview-stack .ru-system-card .ru-action-dots{grid-row:3}
.ru-overview-stack .ru-system-card .ru-dots-legend{grid-row:4}
.ru-overview-link{margin:2px auto 0;border:0;background:transparent;color:var(--ru-blue);font-weight:800;display:flex;align-items:center;gap:7px;padding:11px;cursor:pointer}
.ru-overview-link svg{width:16px;height:16px}
@media(max-width:760px){
  .ru-overview-stack .ru-system-card{display:block;padding:18px}
  .ru-overview-stack .ru-system-card>p{font-size:12px;margin-top:7px}
}

/* À faire — une seule prochaine étape, puis le travail déjà accompli */
.ru-todo-head{padding-bottom:14px}.ru-todo-head h1{font-size:clamp(2rem,3.6vw,3.25rem);max-width:920px}.ru-todo-head p{margin-top:6px}
.ru-next-step-banner{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid #d6e4f7;border-left:5px solid #096bff;border-radius:18px;padding:17px 20px;background:#fff;box-shadow:0 12px 32px rgba(39,82,143,.08)}
.ru-next-step-index{width:42px;height:42px;border:2px solid #096bff;border-radius:11px;display:grid;place-items:center;color:#096bff;background:#eef6ff;font:800 12px/1 Outfit,sans-serif}.ru-next-step-main>span{display:block;color:#096bff;font:800 10px/1.2 Outfit,sans-serif;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}.ru-next-step-main h2{font:800 clamp(1.15rem,2vw,1.55rem)/1.18 Outfit,sans-serif;letter-spacing:-.025em;margin:0;color:var(--ru-ink)}.ru-next-step-main p{margin:6px 0 0;color:#52617b;font-size:12px;font-weight:600}.ru-next-step-banner>button{border:0;border-radius:12px;background:#096bff;color:#fff;padding:12px 17px;font-weight:800;display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer}.ru-next-step-banner>button svg,.ru-next-steps-link svg{width:15px;height:15px}
.ru-next-steps-link{border:0;background:transparent;color:#096bff;font-weight:800;padding:11px 3px 2px;display:flex;align-items:center;gap:7px;cursor:pointer}.ru-home-activity{margin-top:27px}.ru-home-activity .ru-section-title h2{font-size:clamp(1.55rem,2.7vw,2.25rem)}
.ru-home-activity.is-empty .ru-empty{border:1px solid #d5e6fb;border-radius:17px;background:linear-gradient(105deg,#eef7ff,#e9f3ff);padding:22px 24px;text-align:left}.ru-home-activity.is-empty .ru-empty strong,.ru-home-activity.is-empty .ru-empty span{display:block}.ru-home-activity.is-empty .ru-empty span{margin-top:4px;color:#52617b}.ru-home-activity.is-empty .ru-empty button{margin-top:13px}
@media(max-width:760px){.ru-todo-head h1{font-size:2rem}.ru-next-step-banner{grid-template-columns:42px 1fr;padding:15px;gap:13px}.ru-next-step-index{width:38px;height:38px}.ru-next-step-banner>button{grid-column:1/3;justify-content:center;width:100%}}
