/* =========================================================
   JOURNAL NSS — 07/10/2026
   FICHIER : space-v27.css

   CHANGEMENT :
   - MON ESPACE : cadrage de la femme aligné sur la logique de l'Accueil.
   - Même comportement d'image sur PC, tablette, mobile et PWA.
   - Les anciens essais de décalage mobile ont été retirés.
   - Aucun calcul, aucune donnée, aucune jauge et aucune fonction métier modifiés.
   ========================================================= */

/* =========================================================
   JOURNAL NSS — 07/10/2026 — AJUSTEMENT FIN DU HERO MOBILE/PWA
   FICHIER : space-v27.css

   CHANGEMENT :
   - MON ESPACE mobile / PWA : descente légère de la photo de 8 px.
   - But : rapprocher l'alignement visuel de celui de l'Accueil
     et éviter l'impression de saut entre les deux écrans.
   - La photo reste entière : aucune coupe ajoutée.
   - Accueil : non modifié.
   - Mon espace PC : non modifié.
   - Calculs / jauges / données : non modifiés.
   ========================================================= */

/* =========================================================
   JOURNAL NSS — 07/10/2026
   FICHIER : space-v27.css

   CORRECTION HERO MON ESPACE MOBILE / PWA :
   - Diagnostic : les précédents correctifs ciblaient .nss-dashboard-hero-r3.
   - Le bloc réellement utilisé est .personal-welcome-v24.
   - Correction appliquée sur la bonne classe.
   - La hauteur forcée de la zone image est neutralisée sur mobile/PWA.
   - La photo garde son ratio naturel et ne doit plus couper la tête.
   - Accueil : non modifié.
   - Mon espace PC : non modifié.
   - Calculs, jauges, données et logique métier : non modifiés.
   ========================================================= */

/* =========================================================
   JOURNAL NSS — 07/10/2026 16:50
   FICHIER : space-v27.css

   CHANGEMENT :
   - MON ESPACE mobile / PWA : correction du Hero.
   - Cause visée : hauteur mobile trop basse, qui coupe la tête de la femme.
   - Solution : image affichée avec sa hauteur naturelle sur mobile/PWA.
   - Accueil : non modifié.
   - Mon espace PC : non modifié.
   - Cadrans / calculs / données : non modifiés par ce bloc.
   ========================================================= */

/* Nutri Sport & Santé — V.26 — NOUVEAU DESIGN
   Deux univers visuels : espace personnel/client et espace professionnel.
   Le moteur fonctionnel existant (jauges, calculs, menus, suivi) reste inchangé. */

/* VARIABLES GÉNÉRALES — couleurs, transparences, ombres et teintes de la charte NSS */
:root{
  --v24-teal:#0e8e86;
  --v24-teal-deep:#0b5f5a;
  --v24-aqua:#dff4ef;
  --v24-mint:#eef9f6;
  --v24-mint-2:#d7eee7;
  --v24-ink:#173f3b;
  --v24-muted:#647b77;
  --v24-line:rgba(17,111,101,.16);
  --v24-glass:rgba(255,255,255,.72);
  --v24-glass-strong:rgba(255,255,255,.88);
  --v24-shadow:0 18px 48px rgba(17,87,78,.12);
}

/* BADGE D’ESPACE — indique Personnel / Client / PRO */
.nss-space-context{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:28px;padding:0 12px;border:1px solid rgba(15,111,101,.22);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.12em;box-shadow:0 8px 18px rgba(16,90,81,.09);backdrop-filter:blur(10px)}
/* BADGE D’ESPACE — indique Personnel / Client / PRO */
.nss-space-context-client{background:rgba(222,247,240,.82);color:#0b7469}
/* BADGE D’ESPACE — indique Personnel / Client / PRO */
.nss-space-context-pro{background:rgba(16,96,90,.88);color:#fff;border-color:rgba(255,255,255,.32)}
@media(min-width:1101px){.app-banner-row .nss-space-context{position:absolute;right:18px;top:18px;z-index:3}}
@media(max-width:1100px){.app-banner-row .nss-space-context{position:absolute;right:76px;top:24px;z-index:4}}

/* Pop-ups : même langage visuel partout */
dialog.glass-dialog,
/* BLOC CSS — dialog.menu-editor-dialog */
dialog.menu-editor-dialog{
  background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(229,247,242,.83))!important;
  border:1px solid rgba(83,161,149,.27)!important;
  box-shadow:0 28px 80px rgba(5,61,56,.24)!important;
  backdrop-filter:blur(22px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.08)!important;
}
/* POPUPS / FENÊTRES — style translucide général */
dialog.glass-dialog::backdrop,dialog.menu-editor-dialog::backdrop{background:rgba(12,52,49,.34)!important;backdrop-filter:blur(6px)!important}
/* POPUPS / FENÊTRES — style translucide général */
dialog.glass-dialog .dialog-x,dialog.menu-editor-dialog .dialog-x{background:rgba(255,255,255,.8)!important;color:#0a675e!important;border:1px solid rgba(18,116,105,.18)!important;box-shadow:0 8px 22px rgba(9,76,69,.12)!important}

/* Inscription : ne plus présenter « client » comme un rôle libre */
/* BLOC CSS — .page-register .page-heading */
.page-register .page-heading{margin-bottom:12px}
/* BLOC CSS — .register-intro */
.register-intro{max-width:900px;margin:0 auto 14px;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(226,245,239,.7));border:1px solid var(--v24-line);box-shadow:var(--v24-shadow)}
/* BLOC CSS — .register-v24 */
.register-v24{max-width:900px;margin:0 auto;background:rgba(255,255,255,.74);border:1px solid var(--v24-line);box-shadow:var(--v24-shadow);backdrop-filter:blur(16px)}
/* INSCRIPTION — choix du type de compte */
.account-kind-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0}
/* INSCRIPTION — choix du type de compte */
.account-kind-choice>legend{grid-column:1/-1;font-weight:900;color:var(--v24-ink);margin-bottom:3px}
/* INSCRIPTION — carte de choix de compte */
.account-kind-card{display:flex!important;gap:12px;align-items:flex-start;padding:18px;border:1px solid var(--v24-line);border-radius:18px;background:rgba(246,253,251,.86);cursor:pointer;transition:.18s ease}
/* INSCRIPTION — carte de choix de compte */
.account-kind-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(12,92,82,.1)}
/* INSCRIPTION — carte de choix de compte */
.account-kind-card:has(input:checked){border-color:rgba(14,142,134,.48);background:linear-gradient(145deg,rgba(219,245,238,.9),rgba(255,255,255,.92));box-shadow:inset 0 0 0 1px rgba(14,142,134,.12),0 12px 28px rgba(12,92,82,.1)}
/* INSCRIPTION — carte de choix de compte */
.account-kind-card input{width:auto!important;margin-top:4px}
/* INSCRIPTION — carte de choix de compte */
.account-kind-card span{display:grid;gap:5px}.account-kind-card strong{color:var(--v24-teal-deep);font-size:17px}.account-kind-card small{line-height:1.45;color:var(--v24-muted)}
/* BLOC CSS — .register-followup-hint */
.register-followup-hint{padding:14px 16px;border-radius:15px;background:rgba(222,246,239,.74);border:1px solid rgba(17,111,101,.14)}
/* BLOC CSS — .page-register .professional-fields */
.page-register .professional-fields{padding:18px;border-radius:18px;border:1px solid rgba(18,109,99,.16);background:rgba(237,248,245,.72)}
@media(max-width:700px){.account-kind-choice{grid-template-columns:1fr}}

/* Espace personnel / client */
/* BLOC CSS — .page-dashboard .page-heading,.page-professional .page-heading */
.page-dashboard .page-heading,.page-professional .page-heading{display:none}
/* BLOC CSS — .page-dashboard main */
.page-dashboard main{width:min(1480px,96vw)}
/* BLOC CSS — .personal-space-v24 */
.personal-space-v24{gap:16px!important}
/* BLOC CSS — .personal-switch-banner */
.personal-switch-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-radius:16px;border:1px solid rgba(17,111,101,.15);background:rgba(240,250,247,.78);box-shadow:0 10px 28px rgba(13,80,73,.08)}
/* BLOC CSS — .personal-switch-banner div */
.personal-switch-banner div{display:grid;gap:2px}.personal-switch-banner strong{color:var(--v24-teal-deep)}.personal-switch-banner span{font-size:13px;color:var(--v24-muted)}
/* MON ESPACE — grand encadré d’accueil / hero */
.personal-welcome-v24{position:relative;overflow:hidden;min-height:250px;border:1px solid rgba(17,111,101,.14)!important;border-radius:28px!important;background:linear-gradient(120deg,rgba(247,253,251,.95),rgba(216,241,235,.72))!important;box-shadow:var(--v24-shadow)!important}
/* MON ESPACE — grand encadré d’accueil / hero */
.personal-welcome-v24 .dashboard-welcome-copy{padding:34px 36px!important;align-self:center}.personal-welcome-v24 h1{margin:.15em 0 .2em;color:var(--v24-ink)!important;font-size:clamp(34px,4vw,54px)!important}.personal-welcome-v24 p{max-width:720px;color:#536f6a}
/* MON ESPACE — grand encadré d’accueil / hero */
.personal-welcome-v24 .dashboard-welcome-visual{min-height:250px!important;opacity:.88}.personal-welcome-v24 .dashboard-welcome-visual img{filter:saturate(.82) contrast(.96)}
/* BLOC CSS — .is-client-space .personal-welcome-v24 */
.is-client-space .personal-welcome-v24{background:linear-gradient(120deg,rgba(247,253,251,.96),rgba(208,241,233,.77),rgba(232,247,243,.9))!important}

/* MON ESPACE — raccourcis principaux */
.personal-shortcuts-v24{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
/* MON ESPACE — raccourcis principaux */
.personal-shortcuts-v24>a{display:flex;align-items:center;gap:13px;min-height:92px;padding:16px 18px;border:1px solid var(--v24-line);border-radius:20px;background:var(--v24-glass);box-shadow:0 10px 28px rgba(14,82,74,.07);text-decoration:none;color:inherit;backdrop-filter:blur(13px);transition:.18s ease}
/* MON ESPACE — raccourcis principaux */
.personal-shortcuts-v24>a:hover{transform:translateY(-3px);border-color:rgba(14,142,134,.34);box-shadow:0 16px 34px rgba(14,82,74,.11)}
/* MON ESPACE — raccourcis principaux */
.personal-shortcuts-v24>a>span{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#d8f2eb,#eefaf7);color:#0b7469;font-size:22px;font-weight:900;border:1px solid rgba(17,111,101,.11)}
/* MON ESPACE — raccourcis principaux */
.personal-shortcuts-v24>a>div{display:grid;gap:3px}.personal-shortcuts-v24 strong{color:var(--v24-ink)}.personal-shortcuts-v24 small{color:var(--v24-muted)}

/* MON ESPACE — grille Ma journée / tâches */
.personal-today-grid-v24{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:14px;align-items:stretch}
/* BLOC CSS — .personal-today-main-v24,.personal-todo-v24 */
.personal-today-main-v24,.personal-todo-v24{padding:22px;border:1px solid var(--v24-line);border-radius:24px;background:var(--v24-glass);box-shadow:0 14px 36px rgba(14,82,74,.08);backdrop-filter:blur(15px)}
/* BLOC CSS — .personal-today-main-v24 .dashboard-section-heading-rich */
.personal-today-main-v24 .dashboard-section-heading-rich{margin-bottom:12px!important}
/* MON ESPACE — grille des cadrans nutritionnels */
.personal-rings-v24{grid-template-columns:repeat(4,minmax(135px,1fr))!important;gap:12px!important}
/* MON ESPACE — grille des cadrans nutritionnels */
.personal-rings-v24 .segmented-progress{min-width:0!important;padding:13px 10px!important;border-radius:18px!important;background:rgba(255,255,255,.62)!important;border:1px solid rgba(17,111,101,.10)!important}
/* MON ESPACE — indicateurs secondaires */
.personal-secondary-progress-v24{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.personal-secondary-progress-v24 span{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:rgba(235,248,244,.76);color:var(--v24-muted);font-size:12px}.personal-secondary-progress-v24 b{color:var(--v24-teal-deep);font-size:16px}
/* BLOC CSS — .personal-todo-v24 .section-title */
.personal-todo-v24 .section-title{margin-bottom:10px}.personal-todo-v24 .guidance-grid{display:grid;gap:8px}.personal-todo-v24 .guidance-item{min-height:66px;background:rgba(255,255,255,.6)!important}

/* MON ESPACE — bloc suivi professionnel */
.personal-professional-v24{display:grid;gap:12px}
/* MON ESPACE — bloc suivi professionnel */
.personal-professional-v24>.card{margin:0!important;border:1px solid rgba(18,121,108,.16)!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(225,245,239,.68))!important;box-shadow:0 12px 32px rgba(11,76,68,.08)!important}
/* BLOC CSS — .client-professional-card-v24 */
.client-professional-card-v24{display:flex;align-items:center;justify-content:space-between;gap:18px}.client-professional-card-v24 h2{margin:.1em 0 .25em}.shared-permission-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.shared-permission-chips span{padding:6px 9px;border-radius:999px;background:rgba(217,242,235,.9);border:1px solid rgba(15,112,100,.13);font-size:12px;font-weight:800;color:#12655c}.client-link-request+.client-link-request{border-top:1px solid rgba(17,111,101,.13);margin-top:18px;padding-top:18px}

/* Garde les données détaillées disponibles sans surcharger la première vue */
/* BLOC CSS — .page-dashboard .nss-section-reveal */
.page-dashboard .nss-section-reveal{border-radius:14px!important;background:rgba(237,249,245,.84)!important;border:1px solid rgba(16,118,106,.13)!important;color:#175d55!important;box-shadow:none!important}

/* Annuaire / rattachement */
/* BLOC CSS — .page-find-professional main */
.page-find-professional main{width:min(1180px,94vw)}
/* RECHERCHE PROFESSIONNEL — annuaire et résultats */
.professional-finder-hero{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(221,244,238,.72))!important;border:1px solid var(--v24-line)!important;box-shadow:var(--v24-shadow)!important}
/* RECHERCHE PROFESSIONNEL — annuaire et résultats */
.professional-finder-search{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:16px}.professional-finder-search label{margin:0}.finder-code-box{margin-top:12px;border:1px solid rgba(17,111,101,.13);border-radius:14px;background:rgba(255,255,255,.55);padding:10px 12px}.finder-code-box summary{font-weight:850;color:var(--v24-teal-deep);cursor:pointer}.inline-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:10px}.inline-form label{margin:0}
/* BLOC CSS — .professional-result-grid */
.professional-result-grid{display:grid;gap:10px}.professional-result-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:15px;border:1px solid rgba(17,111,101,.13);border-radius:18px;background:rgba(255,255,255,.62)}.professional-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(145deg,#d5f0e8,#f4fbf9);color:#0c7066;font-weight:950;font-size:18px;border:1px solid rgba(17,111,101,.12)}.professional-result-copy{display:grid;gap:2px}.professional-result-copy h3,.professional-result-copy p{margin:0}.professional-result-copy p,.professional-result-copy small{color:var(--v24-muted)}.pro-public-code{display:inline-flex;width:max-content;margin-top:5px;padding:5px 8px;border-radius:999px;background:rgba(220,244,237,.82);color:#0c6d63;font-size:11px;font-weight:900;letter-spacing:.04em}.finder-pending-grid{display:grid;gap:8px}.finder-pending-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:15px;background:rgba(250,248,234,.66);border:1px solid rgba(180,137,50,.18)}.finder-pending-card div{display:grid;gap:2px}.finder-pending-card small{color:var(--v24-muted)}

/* Espace PRO autonome */
/* BLOC CSS — .page-professional main */
.page-professional main{width:min(1550px,97vw)}
/* BLOC CSS — .page-professional */
.page-professional{background:linear-gradient(155deg,#eef7f5 0%,#e5f1ee 44%,#f7fbfa 100%)!important}
/* BLOC CSS — .page-professional .official-data-footer,.page-professional footer */
.page-professional .official-data-footer,.page-professional footer{filter:saturate(.88)}
/* ESPACE PRO — structure générale */
.pro-workspace-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}
/* ESPACE PRO — menu latéral */
.pro-side-nav{position:sticky;top:176px;display:grid;gap:4px;padding:14px;border:1px solid rgba(11,96,89,.16);border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 16px 42px rgba(7,66,61,.09);backdrop-filter:blur(16px)}
/* BLOC CSS — .pro-side-brand */
.pro-side-brand{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 14px;margin-bottom:5px;border-bottom:1px solid rgba(11,96,89,.12)}.pro-side-brand strong{font-size:20px;color:#0b5f5a}.pro-side-brand span{padding:4px 8px;border-radius:999px;background:#0d756c;color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em}.pro-side-nav>a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;border-radius:13px;text-decoration:none;color:#244f4b;font-weight:800}.pro-side-nav>a:hover,.pro-side-nav>a.is-active{background:linear-gradient(145deg,rgba(214,239,233,.92),rgba(235,248,245,.92));color:#0c6f65}.pro-side-nav>a b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#f1b76d;color:#563713;font-size:11px}
/* BLOC CSS — .pro-workspace-main */
.pro-workspace-main{display:grid;gap:14px;min-width:0}.professional-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border:1px solid rgba(10,97,89,.14);border-radius:25px;background:linear-gradient(130deg,rgba(255,255,255,.88),rgba(216,239,233,.72));box-shadow:0 18px 46px rgba(8,69,63,.1)}.professional-workspace-head h1{margin:.1em 0;font-size:clamp(30px,4vw,45px);color:#103f3b}.professional-workspace-head p{max-width:760px;color:#607872}.professional-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important}.professional-summary .card{min-height:112px;background:rgba(255,255,255,.73)!important;border:1px solid rgba(10,97,89,.13)!important;border-radius:19px!important;box-shadow:0 11px 30px rgba(8,69,63,.07)!important}.professional-summary strong{font-size:34px!important}.pro-request-section,.pro-directory-settings,.page-professional #clients-professionnels{margin:0!important;background:rgba(255,255,255,.72)!important;border:1px solid rgba(10,97,89,.13)!important;border-radius:22px!important;box-shadow:0 12px 34px rgba(8,69,63,.07)!important}.pro-request-grid{display:grid;gap:9px}.pro-request-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px;border-radius:16px;border:1px solid rgba(10,97,89,.12);background:rgba(244,251,249,.75)}.pro-request-card h3{margin:0}.pro-request-card small{color:var(--v24-muted)}.pro-request-card p{margin:.5em 0 0}.pro-request-card form{display:flex;gap:7px;flex-wrap:wrap}.pro-directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.copy-code-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.copy-code-row code{padding:10px 12px;border-radius:12px;background:#eaf6f2;color:#0b665e;font-weight:900;font-size:16px;letter-spacing:.07em}.pro-directory-settings input[readonly]{font-size:12px}
/* BLOC CSS — .page-professional .client-card */
.page-professional .client-card{background:rgba(255,255,255,.65)!important;border-color:rgba(10,97,89,.12)!important}.page-professional .client-card:hover{transform:none!important;box-shadow:0 10px 28px rgba(8,69,63,.08)!important}

/* Cohérence du dock avec les deux espaces */
/* RESPONSIVE ≤ 850 px — tablette / mobile */
@media(max-width:850px){
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock.is-auth{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock.is-auth::-webkit-scrollbar{display:none}
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock.is-auth a{flex:1 0 16.2%!important;min-width:58px!important}
}

/* RESPONSIVE ≤ 1100 px — tablette / petit ordinateur */
@media(max-width:1100px){
/* MON ESPACE — grille Ma journée / tâches */
  .personal-today-grid-v24{grid-template-columns:1fr}.personal-rings-v24{grid-template-columns:repeat(4,minmax(120px,1fr))!important}
/* ESPACE PRO — structure générale */
  .pro-workspace-shell{grid-template-columns:1fr}.pro-side-nav{position:static;display:flex;overflow-x:auto;border-radius:18px}.pro-side-nav .pro-side-brand{display:none}.pro-side-nav>a{white-space:nowrap;flex:0 0 auto}
}
/* RESPONSIVE ≤ 820 px — tablette étroite / mobile */
@media(max-width:820px){
/* MON ESPACE — raccourcis principaux */
  .personal-shortcuts-v24{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-rings-v24{grid-template-columns:repeat(2,minmax(130px,1fr))!important}.personal-welcome-v24{display:flex!important;flex-direction:column!important}.personal-welcome-v24 .dashboard-welcome-visual{order:-1;min-height:175px!important}.personal-welcome-v24 .dashboard-welcome-copy{padding:22px!important}.client-professional-card-v24{align-items:flex-start;flex-direction:column}.professional-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pro-directory-grid{grid-template-columns:1fr}.professional-result-card{grid-template-columns:auto 1fr}.professional-result-action{grid-column:1/-1}.professional-result-action button,.professional-result-action .button{width:100%}.professional-finder-search,.inline-form{grid-template-columns:1fr}.pro-request-card{grid-template-columns:1fr}
}
/* RESPONSIVE ≤ 520 px — smartphone */
@media(max-width:520px){
/* MON ESPACE — raccourcis principaux */
  .personal-shortcuts-v24{grid-template-columns:1fr 1fr;gap:8px}.personal-shortcuts-v24>a{min-height:78px;padding:12px;gap:9px}.personal-shortcuts-v24>a>span{width:38px;height:38px;flex-basis:38px;border-radius:12px;font-size:18px}.personal-shortcuts-v24 small{font-size:11px}.personal-today-main-v24,.personal-todo-v24{padding:15px;border-radius:19px}.personal-rings-v24{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.personal-secondary-progress-v24{grid-template-columns:1fr 1fr}.personal-secondary-progress-v24 span:last-child{grid-column:1/-1}.professional-summary{grid-template-columns:1fr 1fr!important}.professional-summary .card{min-height:96px!important;padding:13px!important}.professional-summary strong{font-size:28px!important}.professional-workspace-head{padding:18px;align-items:stretch;flex-direction:column}.professional-workspace-head .button{width:100%}.finder-pending-card{align-items:stretch;flex-direction:column}.professional-result-card{grid-template-columns:auto 1fr;gap:10px}.page-find-professional main{width:min(96vw,720px)}
}

/* ========================================================================== */
/* NSS V27 R2 — dock mobile compact, verre NSS, sans toucher au moteur métier  */
/* ========================================================================== */
/* RESPONSIVE ≤ 980 px — tablette / mobile : dock inférieur */
@media (max-width:980px){
/* VARIABLES GÉNÉRALES — couleurs, transparences, ombres et teintes de la charte NSS */
  :root{--nss-mobile-dock-h:62px!important}

  .mobile-dock,
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock.is-auth{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    gap:4px!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:var(--nss-mobile-dock-h)!important;
    margin:0!important;
    padding:6px 7px calc(6px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    border:0!important;
    border-top:1px solid rgba(57,142,131,.24)!important;
    border-radius:0!important;
    background:linear-gradient(180deg,rgba(226,248,242,.90),rgba(219,244,238,.78))!important;
    box-shadow:0 -7px 20px rgba(8,76,66,.10),inset 0 1px 0 rgba(255,255,255,.72)!important;
    backdrop-filter:blur(14px) saturate(118%)!important;
    -webkit-backdrop-filter:blur(14px) saturate(118%)!important;
  }

  .mobile-dock.is-auth a,
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock a{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:center!important;
    width:calc(100% - 8px)!important;
    max-width:88px!important;
    min-width:0!important;
    min-height:46px!important;
    margin:0!important;
    padding:4px 5px!important;
    gap:2px!important;
    border:1px solid rgba(25,121,106,.30)!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(197,235,226,.68))!important;
    box-shadow:0 5px 14px rgba(25,105,93,.07),inset 0 1px 0 rgba(255,255,255,.95)!important;
    color:#075e54!important;
    font-size:9.5px!important;
    line-height:1!important;
    font-weight:850!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transform:none!important;
  }

  .mobile-dock a:hover,
  .mobile-dock a:focus-visible,
  .mobile-dock a:active,
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock a.is-current{
    background:linear-gradient(145deg,rgba(242,253,249,.86),rgba(176,226,214,.76))!important;
    border-color:rgba(25,121,106,.42)!important;
    box-shadow:0 6px 16px rgba(25,105,93,.10),inset 0 1px 0 #fff!important;
    transform:none!important;
  }

/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock a span{
    display:block!important;
    margin:0!important;
    color:#087266!important;
    font-size:16px!important;
    line-height:1!important;
    font-weight:850!important;
  }

/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock-spacer{
    height:calc(var(--nss-mobile-dock-h) + env(safe-area-inset-bottom) + 4px)!important;
  }

/* BOUTON RETOUR EN HAUT — position sur mobile */
  .to-top{
    bottom:calc(var(--nss-mobile-dock-h) + 9px + env(safe-area-inset-bottom))!important;
  }

/* BANDEAU COOKIES — position sur mobile */
  .cookie-banner{
    bottom:calc(var(--nss-mobile-dock-h) + 5px + env(safe-area-inset-bottom))!important;
  }
}

/* RESPONSIVE ≤ 390 px — petit smartphone */
@media (max-width:390px){
  .mobile-dock.is-auth a,
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock a{
    width:calc(100% - 5px)!important;
    max-width:82px!important;
    min-height:45px!important;
    padding:4px 3px!important;
    font-size:9px!important;
  }
/* MOBILE / PWA — barre de navigation fixe du bas */
  .mobile-dock a span{font-size:15px!important}
}

/* ========================================================================== */
/* NSS V27 R3 — dashboard Personnel / Client uniquement                       */
/* Header, footer, dock mobile et moteur métier : volontairement inchangés.    */
/* ========================================================================== */

/* MON ESPACE — conteneur général du dashboard */
.page-dashboard .dashboard-stage{
  gap:14px!important;
  width:100%!important;
}

/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3{
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr)!important;
  min-height:300px!important;
  overflow:hidden!important;
  border:1px solid rgba(34,132,118,.18)!important;
  border-radius:26px!important;
  background:linear-gradient(120deg,rgba(249,255,253,.90),rgba(224,245,239,.72))!important;
  box-shadow:0 18px 44px rgba(9,80,71,.10),inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(16px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(112%)!important;
}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-copy{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:30px 34px!important;
}
/* MON ESPACE — ligne Espace personnel + date */
.page-dashboard .nss-dashboard-hero-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
.page-dashboard .nss-dashboard-space-pill,
/* MON ESPACE — badge de date */
.page-dashboard .nss-dashboard-date-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 11px!important;
  border:1px solid rgba(21,121,106,.18)!important;
  border-radius:999px!important;
  background:rgba(239,251,247,.72)!important;
  color:#0b6d63!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  backdrop-filter:blur(10px)!important;
}
/* MON ESPACE — badge de date */
.page-dashboard .nss-dashboard-date-pill{letter-spacing:.02em!important;font-weight:800!important;color:#486d67!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 h1{
  margin:0 0 8px!important;
  max-width:760px!important;
  color:#103f3b!important;
  font-size:clamp(36px,4.2vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
/* MON ESPACE — texte sous « Bonjour… » */
.page-dashboard .nss-dashboard-hero-lead{
  max-width:680px!important;
  margin:0!important;
  color:#58736e!important;
  font-size:16px!important;
  line-height:1.55!important;
}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin-top:18px!important;
}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-actions .button{
  min-height:42px!important;
  padding:9px 16px!important;
  border-radius:14px!important;
  font-size:13px!important;
  box-shadow:0 8px 18px rgba(11,95,84,.08)!important;
}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual{
  position:relative!important;
  min-height:300px!important;
  overflow:hidden!important;
  border-radius:0!important;
  opacity:1!important;
}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(239,250,247,.94) 0%,rgba(239,250,247,.30) 22%,transparent 46%)!important;
  pointer-events:none!important;
}
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual img{
  width:100%!important;
  height:100%!important;
  min-height:300px!important;
  object-fit:cover!important;
  object-position:center 38%!important;
  filter:saturate(.92) contrast(.98)!important;
}

/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3>a{
  min-height:82px!important;
  padding:13px 15px!important;
  gap:11px!important;
  border:1px solid rgba(31,128,114,.16)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(222,244,238,.60))!important;
  box-shadow:0 10px 24px rgba(9,82,72,.07),inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(14px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(110%)!important;
}
.page-dashboard .nss-dashboard-shortcuts-r3>a:hover,
/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3>a:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(23,139,122,.34)!important;
  box-shadow:0 14px 30px rgba(9,82,72,.10),inset 0 1px 0 #fff!important;
}
/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3 .nss-shortcut-icon{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,rgba(206,241,232,.92),rgba(244,253,250,.88))!important;
  border:1px solid rgba(24,132,116,.16)!important;
  color:#0b7d70!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92)!important;
}
/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3 .nss-shortcut-icon svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3 strong{font-size:15px!important;color:#124d47!important}
/* MON ESPACE — cartes de raccourcis R3 */
.page-dashboard .nss-dashboard-shortcuts-r3 small{font-size:11px!important;line-height:1.25!important;color:#66807b!important}

/* BLOC CSS — .page-dashboard .personal-today-grid-v24 */
.page-dashboard .personal-today-grid-v24{
  grid-template-columns:minmax(0,1.72fr) minmax(280px,.68fr)!important;
  gap:12px!important;
}
.page-dashboard .personal-today-main-v24,
/* BLOC CSS — .page-dashboard .personal-todo-v24 */
.page-dashboard .personal-todo-v24{
  border:1px solid rgba(30,128,113,.15)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.70),rgba(229,247,242,.57))!important;
  box-shadow:0 14px 34px rgba(9,80,71,.075),inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(15px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(110%)!important;
}
/* BLOC CSS — .page-dashboard .personal-today-main-v24 */
.page-dashboard .personal-today-main-v24{padding:20px!important}
/* BLOC CSS — .page-dashboard .personal-todo-v24 */
.page-dashboard .personal-todo-v24{padding:18px!important}
/* BLOC CSS — .page-dashboard .dashboard-section-heading-rich h2 */
.page-dashboard .dashboard-section-heading-rich h2{font-size:clamp(24px,2.5vw,34px)!important;color:#103f3b!important}
/* BLOC CSS — .page-dashboard .dashboard-section-heading-rich p */
.page-dashboard .dashboard-section-heading-rich p{color:#65807a!important}

/* BLOC CSS — .page-dashboard .personal-rings-v24 */
.page-dashboard .personal-rings-v24{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
/* MON ESPACE — carte contenant un cadran */
.page-dashboard .personal-rings-v24 .segmented-progress{
  min-height:154px!important;
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:8px!important;
  padding:13px 8px 12px!important;
  border:1px solid rgba(35,132,118,.13)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(235,249,245,.56))!important;
  box-shadow:0 8px 20px rgba(11,86,76,.055),inset 0 1px 0 rgba(255,255,255,.90)!important;
  text-align:center!important;
}
.page-dashboard .personal-rings-v24 .segmented-progress:hover,
/* MON ESPACE — carte contenant un cadran */
.page-dashboard .personal-rings-v24 .segmented-progress:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 26px rgba(11,86,76,.10),inset 0 1px 0 #fff!important;
}
/* MON ESPACE — cadran Calories / Protéines / Glucides / Lipides */
.page-dashboard .personal-rings-v24 .segmented-ring{
  width:112px!important;
  height:112px!important;
  flex-basis:112px!important;
  background:radial-gradient(circle,rgba(253,255,254,.98) 0 58%,rgba(222,244,237,.40) 59% 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(22,114,99,.08),0 8px 20px rgba(10,95,82,.07)!important;
}
/* MON ESPACE — cadran Calories / Protéines / Glucides / Lipides */
.page-dashboard .personal-rings-v24 .segmented-ring span{
  top:5px!important;
  width:3px!important;
  height:13px!important;
  margin-left:-1.5px!important;
  transform-origin:50% 51px!important;
}
/* MON ESPACE — cadran Calories / Protéines / Glucides / Lipides */
.page-dashboard .personal-rings-v24 .segmented-ring strong{font-size:19px!important;color:#0b6157!important}
/* BLOC CSS — .page-dashboard .personal-rings-v24 .ring-target-mark */
.page-dashboard .personal-rings-v24 .ring-target-mark{
  top:-2px!important;
  width:8px!important;
  height:8px!important;
  margin-left:-4px!important;
}
/* MON ESPACE — carte contenant un cadran */
.page-dashboard .personal-rings-v24 .segmented-progress>div:last-child{display:grid!important;gap:2px!important;justify-items:center!important}
/* MON ESPACE — carte contenant un cadran */
.page-dashboard .personal-rings-v24 .segmented-progress b{font-size:14px!important;color:#114e48!important;text-align:center!important}
/* MON ESPACE — carte contenant un cadran */
.page-dashboard .personal-rings-v24 .segmented-progress small{font-size:10.5px!important;line-height:1.25!important;color:#68817c!important;text-align:center!important}
/* BLOC CSS — .page-dashboard .personal-secondary-progress-v24 */
.page-dashboard .personal-secondary-progress-v24{gap:7px!important;margin-top:10px!important}
/* BLOC CSS — .page-dashboard .personal-secondary-progress-v24 span */
.page-dashboard .personal-secondary-progress-v24 span{
  min-height:54px!important;
  align-content:center!important;
  border:1px solid rgba(32,126,112,.10)!important;
  background:rgba(239,250,247,.68)!important;
}

/* BLOC CSS — .page-dashboard .personal-todo-v24 .guidance-item */
.page-dashboard .personal-todo-v24 .guidance-item{
  min-height:62px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:none!important;
}
/* BLOC CSS — .page-dashboard .personal-professional-v24>.card */
.page-dashboard .personal-professional-v24>.card{
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(225,245,239,.60))!important;
}

/* MON ESPACE — bouton d’ouverture / réduction de section */
.page-dashboard .dashboard-section-toggle{
  min-height:48px!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(218,242,235,.62))!important;
  border:1px solid rgba(26,126,111,.16)!important;
  box-shadow:0 8px 20px rgba(9,82,72,.06),inset 0 1px 0 rgba(255,255,255,.86)!important;
}

/* RESPONSIVE ≤ 1100 px — tablette / petit ordinateur */
@media(max-width:1100px){
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3{grid-template-columns:1fr minmax(330px,.86fr)!important}
/* BLOC CSS — .page-dashboard .personal-today-grid-v24 */
  .page-dashboard .personal-today-grid-v24{grid-template-columns:1fr!important}
/* BLOC CSS — .page-dashboard .personal-rings-v24 */
  .page-dashboard .personal-rings-v24{grid-template-columns:repeat(4,minmax(118px,1fr))!important}
}

/* RESPONSIVE ≤ 820 px — tablette étroite / mobile */
@media(max-width:820px){
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3{display:flex!important;flex-direction:column!important;min-height:0!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual{order:-1!important;min-height:210px!important;max-height:260px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual:before{background:linear-gradient(180deg,transparent 56%,rgba(239,250,247,.88) 100%)!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual img{min-height:210px!important;max-height:260px!important;object-position:center 32%!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-copy{padding:20px 21px 22px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 h1{font-size:clamp(30px,7vw,42px)!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3>a{min-height:74px!important;padding:11px!important}
/* BLOC CSS — .page-dashboard .personal-rings-v24 */
  .page-dashboard .personal-rings-v24{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* RESPONSIVE ≤ 520 px — smartphone */
@media(max-width:520px){
/* MON ESPACE — conteneur général du dashboard */
  .page-dashboard .dashboard-stage{gap:10px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3{border-radius:20px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual{min-height:185px!important;max-height:220px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual img{min-height:185px!important;max-height:220px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-copy{padding:16px 16px 18px!important}
/* MON ESPACE — ligne Espace personnel + date */
  .page-dashboard .nss-dashboard-hero-meta{margin-bottom:7px!important}
/* MON ESPACE — badge « Espace personnel » */
  .page-dashboard .nss-dashboard-space-pill,.page-dashboard .nss-dashboard-date-pill{min-height:26px!important;padding:4px 8px!important;font-size:9.5px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 h1{font-size:30px!important;margin-bottom:6px!important}
/* MON ESPACE — texte sous « Bonjour… » */
  .page-dashboard .nss-dashboard-hero-lead{font-size:13px!important;line-height:1.42!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-actions{gap:7px!important;margin-top:13px!important}
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-actions .button{min-height:38px!important;padding:8px 11px!important;border-radius:12px!important;font-size:11px!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3>a{min-height:68px!important;padding:9px!important;gap:8px!important;border-radius:15px!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3 .nss-shortcut-icon{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:12px!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3 .nss-shortcut-icon svg{width:18px!important;height:18px!important}
/* MON ESPACE — cartes de raccourcis R3 */
  .page-dashboard .nss-dashboard-shortcuts-r3 strong{font-size:12px!important}.page-dashboard .nss-dashboard-shortcuts-r3 small{font-size:9.5px!important}
/* BLOC CSS — .page-dashboard .personal-today-main-v24,.page-dashboard .personal-todo-v24 */
  .page-dashboard .personal-today-main-v24,.page-dashboard .personal-todo-v24{padding:13px!important;border-radius:18px!important}
/* BLOC CSS — .page-dashboard .personal-rings-v24 */
  .page-dashboard .personal-rings-v24{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
/* MON ESPACE — carte contenant un cadran */
  .page-dashboard .personal-rings-v24 .segmented-progress{min-height:138px!important;padding:10px 6px!important;border-radius:15px!important}
/* MON ESPACE — cadran Calories / Protéines / Glucides / Lipides */
  .page-dashboard .personal-rings-v24 .segmented-ring{width:98px!important;height:98px!important;flex-basis:98px!important}
/* MON ESPACE — cadran Calories / Protéines / Glucides / Lipides */
  .page-dashboard .personal-rings-v24 .segmented-ring span{top:4px!important;height:11px!important;transform-origin:50% 45px!important}
/* MON ESPACE — cadran Calories / Protéines / Glucides / Lipides */
  .page-dashboard .personal-rings-v24 .segmented-ring strong{font-size:16px!important}
/* MON ESPACE — carte contenant un cadran */
  .page-dashboard .personal-rings-v24 .segmented-progress b{font-size:12px!important}.page-dashboard .personal-rings-v24 .segmented-progress small{font-size:9.5px!important}
/* BLOC CSS — .page-dashboard .personal-secondary-progress-v24 */
  .page-dashboard .personal-secondary-progress-v24{grid-template-columns:1fr 1fr!important}.page-dashboard .personal-secondary-progress-v24 span:last-child{grid-column:1/-1!important}
}


/* ======================================================================
   V27 R4 — Dashboard : cadrage hero + synthese des indicateurs
   Zone protegee : aucun style header / footer / dock / menu n'est modifie.
   ====================================================================== */

/* Photo du hero : montrer davantage le bas de l'image sans changer le fichier. */
/* MON ESPACE — cadre principal du hero R3/R4 */
.page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual img{
  object-position:center top!important;
}

/* Popup globale : les actions ne doivent jamais recouvrir les cadrans. */
/* POPUP « TOUS MES INDICATEURS » — fenêtre complète */
#global-progress-dialog.nss-global-progress-dialog{
  width:min(900px,calc(100vw - 28px))!important;
  max-height:min(88dvh,920px)!important;
  padding:24px!important;
  overflow:auto!important;
}
/* POPUP INDICATEURS — contenu général */
#global-progress-dialog .global-progress-content{
  display:grid!important;
  gap:16px!important;
  min-width:0!important;
}
/* POPUP INDICATEURS — grille des 4 indicateurs */
#global-progress-dialog .global-progress-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
/* POPUP INDICATEURS — carte d’un indicateur */
#global-progress-dialog .global-progress-metric{
  min-width:0!important;
  min-height:190px!important;
  padding:16px 12px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(226,246,240,.62))!important;
  border:1px solid rgba(26,127,112,.16)!important;
  box-shadow:0 10px 26px rgba(10,86,76,.07),inset 0 1px 0 rgba(255,255,255,.92)!important;
  align-content:center!important;
}
/* POPUP INDICATEURS — cadran rond */
#global-progress-dialog .nss-popup-ring{
  width:140px!important;
  height:140px!important;
}
/* POPUP INDICATEURS — cadran rond */
#global-progress-dialog .nss-popup-ring span{
  top:6px!important;
  height:15px!important;
  transform-origin:50% 64px!important;
}
/* POPUP INDICATEURS — cadran rond */
#global-progress-dialog .nss-popup-ring>strong{
  font-size:23px!important;
}
/* POPUP INDICATEURS — carte d’un indicateur */
#global-progress-dialog .global-progress-metric>b{
  font-size:15px!important;
  line-height:1.2!important;
}
#global-progress-dialog .global-progress-metric>small,
/* POPUP INDICATEURS — carte d’un indicateur */
#global-progress-dialog .global-progress-metric>em{
  line-height:1.3!important;
}
/* POPUP INDICATEURS — boutons Actualiser / Progression complète */
#global-progress-dialog .nss-progress-dialog-actions{
  position:static!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:18px!important;
  padding:0!important;
  background:none!important;
}
/* POPUP INDICATEURS — boutons Actualiser / Progression complète */
#global-progress-dialog .nss-progress-dialog-actions>*{
  min-height:42px!important;
  width:auto!important;
  min-width:0!important;
  flex:0 1 auto!important;
}

/* RESPONSIVE ≤ 820 px — tablette étroite / mobile */
@media(max-width:820px){
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual img{
    object-position:center top!important;
  }
/* POPUP « TOUS MES INDICATEURS » — fenêtre complète */
  #global-progress-dialog.nss-global-progress-dialog{
    width:calc(100vw - 18px)!important;
    height:auto!important;
    max-height:calc(100dvh - 28px)!important;
    margin:auto!important;
    padding:20px 14px 18px!important;
    border-radius:26px!important;
  }
/* POPUP INDICATEURS — grille des 4 indicateurs */
  #global-progress-dialog .global-progress-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric{
    min-height:158px!important;
    grid-template-columns:138px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    justify-items:start!important;
    align-items:center!important;
    column-gap:14px!important;
    row-gap:4px!important;
    padding:12px 14px!important;
    text-align:left!important;
  }
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric .nss-popup-ring{
    grid-row:1 / 4!important;
    width:128px!important;
    height:128px!important;
  }
/* POPUP INDICATEURS — cadran rond */
  #global-progress-dialog .nss-popup-ring span{
    top:5px!important;
    height:14px!important;
    transform-origin:50% 59px!important;
  }
  #global-progress-dialog .global-progress-metric>b,
  #global-progress-dialog .global-progress-metric>small,
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric>em{
    justify-self:stretch!important;
    text-align:left!important;
  }
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric>b{font-size:17px!important}
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric>small{font-size:12px!important}
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric>em{font-size:11px!important}
/* BLOC CSS — #global-progress-dialog .global-progress-weight */
  #global-progress-dialog .global-progress-weight{
    grid-template-columns:1fr!important;
    padding:14px!important;
  }
/* POPUP INDICATEURS — boutons Actualiser / Progression complète */
  #global-progress-dialog .nss-progress-dialog-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
/* POPUP INDICATEURS — boutons Actualiser / Progression complète */
  #global-progress-dialog .nss-progress-dialog-actions>*{
    width:100%!important;
    min-height:42px!important;
  }
}

/* RESPONSIVE ≤ 520 px — smartphone */
@media(max-width:520px){
/* MON ESPACE — cadre principal du hero R3/R4 */
  .page-dashboard .nss-dashboard-hero-r3 .dashboard-welcome-visual img{
    object-position:center top!important;
  }
/* POPUP « TOUS MES INDICATEURS » — fenêtre complète */
  #global-progress-dialog.nss-global-progress-dialog{
    width:calc(100vw - 12px)!important;
    max-height:calc(100dvh - 18px)!important;
    padding:18px 12px 16px!important;
    border-radius:24px!important;
  }
/* BLOC CSS — #global-progress-dialog>p.muted */
  #global-progress-dialog>p.muted{
    font-size:13px!important;
    line-height:1.45!important;
    margin-bottom:12px!important;
  }
/* BLOC CSS — #global-progress-dialog #global-progress-title */
  #global-progress-dialog #global-progress-title{
    margin-right:48px!important;
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.04!important;
  }
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric{
    grid-template-columns:130px minmax(0,1fr)!important;
    min-height:150px!important;
    padding:10px 12px!important;
    border-radius:18px!important;
    column-gap:12px!important;
  }
/* POPUP INDICATEURS — carte d’un indicateur */
  #global-progress-dialog .global-progress-metric .nss-popup-ring{
    width:120px!important;
    height:120px!important;
  }
/* POPUP INDICATEURS — cadran rond */
  #global-progress-dialog .nss-popup-ring span{
    top:5px!important;
    height:13px!important;
    transform-origin:50% 55px!important;
  }
/* POPUP INDICATEURS — cadran rond */
  #global-progress-dialog .nss-popup-ring>strong{font-size:20px!important}
/* POPUP INDICATEURS — grille des contrôles / validations */
  #global-progress-dialog .global-check-grid{grid-template-columns:1fr 1fr!important}
}

/* =========================================================
   MODIF 07/10/2026 — CADRAGE IDENTIQUE À L'ACCUEIL — DÉBUT

   Rôle :
   - reproduire dans Mon espace le même comportement de cadrage
     que la photo de la page Accueil ;
   - PC : image en cover centrée ;
   - tablette / mobile / PWA : image entière, sans coupe,
     avec hauteur naturelle comme sur l'Accueil.

   Pour annuler uniquement cette correction :
   supprimer tout ce bloc DÉBUT / FIN.
   ========================================================= */

/* MON ESPACE — PC / grand écran
   Même logique de cadrage que l'Accueil : image centrée en cover. */
.page-dashboard .personal-welcome-v24 .dashboard-welcome-visual{
  padding:0!important;
  overflow:hidden!important;
}

.page-dashboard .personal-welcome-v24 .dashboard-welcome-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
}

/* MON ESPACE — tablette / mobile / PWA
   Reprise du cadrage responsive utilisé par l'Accueil. */
@media(max-width:1024px){

  .page-dashboard .personal-welcome-v24 .dashboard-welcome-visual{
    aspect-ratio:auto!important;
    min-height:clamp(300px,66vw,620px)!important;
    height:auto!important;
    max-height:none!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .page-dashboard .personal-welcome-v24 .dashboard-welcome-visual img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    padding:0!important;
    margin:0!important;
    transform:none!important;
  }
}

/* =========================================================
   MODIF 07/10/2026 — CADRAGE IDENTIQUE À L'ACCUEIL — FIN
   ========================================================= */

/* =========================================================
   JOURNAL NSS — 07/10/2026
   FICHIER : space-v27.css
   CHANGEMENTS :
   - identité d’espace compacte dans le header ;
   - raccourcis Administration dans Mon compte ;
   - aucun changement du cadrage Hero dans ce bloc.
   ========================================================= */

/* === MODIF 07/10/2026 — IDENTITÉ D’ESPACE HEADER — DÉBUT === */
.nss-space-context{
  min-width:0!important;
  height:26px!important;
  padding:0 10px!important;
  font-size:9.5px!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.nss-space-context-personal{background:rgba(227,247,242,.90)!important;color:#0b7469!important}
.nss-space-context-client{background:rgba(213,243,235,.92)!important;color:#08695f!important}
.nss-space-context-pro{background:rgba(16,96,90,.88)!important;color:#fff!important}
.nss-space-context-admin{background:rgba(255,242,214,.94)!important;color:#795016!important;border-color:rgba(170,116,28,.22)!important}
.nss-space-context-short{display:none}
@media(max-width:700px){
  .nss-space-context{right:72px!important;top:20px!important;height:24px!important;padding:0 7px!important;font-size:8.5px!important}
  .nss-space-context-full{display:none}
  .nss-space-context-short{display:inline}
}
/* === MODIF 07/10/2026 — IDENTITÉ D’ESPACE HEADER — FIN === */

/* === MODIF 07/10/2026 — RACCOURCIS ADMIN MON COMPTE — DÉBUT === */
.nss-account-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.nss-account-admin-grid>a{display:grid;gap:4px;padding:15px;border:1px solid rgba(17,111,101,.15);border-radius:16px;background:rgba(245,252,250,.76);text-decoration:none;color:inherit}
.nss-account-admin-grid>a:hover{border-color:rgba(14,142,134,.35);box-shadow:0 10px 24px rgba(13,80,73,.08)}
.nss-account-admin-grid strong{color:#0b6159}
.nss-account-admin-grid small{color:#617872;line-height:1.35}
@media(max-width:620px){.nss-account-admin-grid{grid-template-columns:1fr}}
/* === MODIF 07/10/2026 — RACCOURCIS ADMIN MON COMPTE — FIN === */

/* =========================================================
   MODIF NS&S — 07/10/2026 — PROGRESSION DYNAMIQUE R6 — DÉBUT

   Les compteurs du popup ne changent PAS les calculs.
   Ils animent uniquement l'affichage de 0 jusqu'à la valeur réelle reçue
   depuis progress.php?format=json à chaque ouverture / actualisation.
   ========================================================= */

#global-progress-dialog .nss-progress-animated-card{
  position:relative!important;
  overflow:hidden!important;
}
#global-progress-dialog .nss-progress-animated-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(110deg,transparent 0 36%,rgba(255,255,255,.42) 49%,transparent 62% 100%);
}
#global-progress-dialog .nss-progress-animated-card.is-counting::after{
  animation:nsesProgressSheenR6 .8s ease-out both;
}

#global-progress-dialog [data-ring-seg]{
  opacity:.26!important;
  transition:opacity .13s ease,filter .13s ease,box-shadow .13s ease!important;
}
#global-progress-dialog [data-ring-seg].is-on{
  opacity:1!important;
  animation:nsesProgressSegmentR6 .18s ease-out both!important;
}

#global-progress-dialog [data-progress-counter]{
  font-variant-numeric:tabular-nums!important;
  min-width:3ch;
}
#global-progress-dialog .is-counting [data-progress-counter]{
  color:#087366!important;
}
#global-progress-dialog .is-counted [data-progress-counter]{
  animation:nsesProgressSettleR6 .28s ease-out both;
}

#global-progress-dialog .nss-progress-reveal{
  opacity:0;
  transform:translateY(7px);
}
#global-progress-dialog .is-progress-replaying .nss-progress-reveal{
  animation:nsesProgressRevealR6 .40s .28s ease-out forwards;
}

#global-progress-dialog .nss-mini-chart-animated polyline{
  stroke-dasharray:220;
  stroke-dashoffset:220;
}
#global-progress-dialog .is-progress-replaying .nss-mini-chart-animated polyline{
  animation:nsesProgressChartR6 .78s .30s ease-out forwards;
}

@keyframes nsesProgressSegmentR6{
  from{filter:saturate(.45) brightness(1.12);transform:scale(.94)}
  to{filter:none;transform:none}
}
@keyframes nsesProgressSheenR6{
  0%{opacity:0;transform:translateX(-45%)}
  25%{opacity:.55}
  100%{opacity:0;transform:translateX(65%)}
}
@keyframes nsesProgressSettleR6{
  0%{transform:scale(.92)}
  62%{transform:scale(1.07)}
  100%{transform:scale(1)}
}
@keyframes nsesProgressRevealR6{
  to{opacity:1;transform:none}
}
@keyframes nsesProgressChartR6{
  to{stroke-dashoffset:0}
}

@media(prefers-reduced-motion:reduce){
  #global-progress-dialog .nss-progress-animated-card::after,
  #global-progress-dialog [data-ring-seg].is-on,
  #global-progress-dialog .is-counted [data-progress-counter],
  #global-progress-dialog .is-progress-replaying .nss-progress-reveal,
  #global-progress-dialog .is-progress-replaying .nss-mini-chart-animated polyline{
    animation:none!important;
    transition:none!important;
  }
  #global-progress-dialog .nss-progress-reveal{
    opacity:1!important;
    transform:none!important;
  }
  #global-progress-dialog .nss-mini-chart-animated polyline{
    stroke-dasharray:none!important;
    stroke-dashoffset:0!important;
  }
}
/* MODIF NS&S — 07/10/2026 — PROGRESSION DYNAMIQUE R6 — FIN === */

/* =========================================================
   MODIF NS&S — 07/10/2026 — PROGRESSION R7 — DÉBUT
   Tous les indicateurs réels sont visibles et le popup peut défiler.
   ========================================================= */
.nss-all-live-indicators{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.nss-count-indicator{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
}
.nss-count-indicator-value{
  display:grid;
  place-items:center;
  align-content:center;
  width:104px;
  height:104px;
  border-radius:50%;
  border:1px solid rgba(21,139,121,.15);
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(219,244,237,.78));
}
.nss-count-indicator-value strong{font-size:30px;color:#0b6d61}
.nss-count-indicator-value span{font-size:10px;color:#607b76}

#global-progress-dialog{
  overflow:hidden!important;
}
#global-progress-content{
  overflow-y:auto!important;
  max-height:calc(100dvh - 220px)!important;
  padding-right:3px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
#global-progress-dialog .nss-all-popup-indicators{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#global-progress-dialog .nss-progress-count-card{
  display:grid;
  justify-items:center;
  align-content:start;
  gap:5px;
  padding:16px 10px;
  border:1px solid rgba(24,126,108,.14);
  border-radius:20px;
  background:rgba(255,255,255,.56);
  text-align:center;
}
#global-progress-dialog .nss-popup-count{
  display:grid;
  place-items:center;
  width:136px;
  height:136px;
  border-radius:50%;
  background:conic-gradient(from 210deg,rgba(30,156,135,.20),rgba(255,255,255,.8),rgba(214,164,55,.22),rgba(30,156,135,.20));
  border:1px solid rgba(24,126,108,.14);
}
#global-progress-dialog .nss-popup-count strong{
  color:#086f63;
  font-size:34px;
  font-variant-numeric:tabular-nums;
}
#global-progress-dialog .nss-progress-animated-card [data-ring-seg]{
  opacity:.24!important;
  transition:opacity .16s ease,filter .16s ease,box-shadow .16s ease!important;
}
#global-progress-dialog .nss-progress-animated-card [data-ring-seg].is-on{
  opacity:1!important;
}
#global-progress-dialog .nss-progress-reveal{opacity:1!important;transform:none!important}

@media(max-width:980px){
  .nss-all-live-indicators{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #global-progress-dialog .nss-all-popup-indicators{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .nss-all-live-indicators{grid-template-columns:1fr!important}
  #global-progress-dialog .nss-all-popup-indicators{grid-template-columns:1fr!important}
  #global-progress-content{max-height:calc(100dvh - 185px)!important}
  .nss-count-indicator{grid-template-columns:92px minmax(0,1fr)!important}
  .nss-count-indicator-value{width:88px;height:88px}
}
/* MODIF NS&S — 07/10/2026 — PROGRESSION R7 — FIN */

/* === MODIF NS&S 07/10/2026 — COMPTEUR SÉANCES COHÉRENT R9 — DÉBUT === */
.nss-count-indicator-value,
#global-progress-dialog .nss-popup-count{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    repeating-conic-gradient(from 210deg,
      rgba(29,151,132,.72) 0deg 4deg,
      transparent 4deg 8deg)!important;
  border:0!important;
}
.nss-count-indicator-value::before,
#global-progress-dialog .nss-popup-count::before{
  content:"";
  position:absolute;
  inset:13px;
  z-index:-1;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(224,246,240,.94));
  box-shadow:inset 0 0 0 1px rgba(17,121,105,.10);
}
.nss-count-indicator-value strong,
#global-progress-dialog .nss-popup-count strong{
  position:relative;
  z-index:2;
}
/* === MODIF NS&S 07/10/2026 — COMPTEUR SÉANCES COHÉRENT R9 — FIN === */


/* === MODIF NS&S 08/10/2026 — INDICATEURS ANIMÉS R17 — DÉBUT === */
.segmented-ring>span{
  transition:opacity .07s linear,filter .10s ease,transform .10s ease!important;
}
.segmented-ring>span.is-on{filter:saturate(1.08) brightness(1.03)!important;}
.segmented-ring>strong{font-variant-numeric:tabular-nums!important;min-width:3.2ch;text-align:center!important;}
.nss-count-indicator-value strong{font-variant-numeric:tabular-nums!important;}
/* === MODIF NS&S 08/10/2026 — INDICATEURS ANIMÉS R17 — FIN === */
