/* =======================================================================
   WiTracEQUIP · NUDE ATELIER
   Une interface de carnet technique claire, tactile et sans surcharge.
   Les profils terrain partagent la base nude ; chaque niveau a son accent.
   Le fondateur garde sa palette de direction, harmonisée ci-dessous.
   ======================================================================= */

/* --- Fondations communes aux espaces clients et à l'écran de connexion --- */
body:not([data-role="fondateur"]){
  color-scheme:light;
  --bg:hsl(calc(var(--h) + 10 * var(--hs)) 28.6% 94.5%);
  --surface:#fffdfa;
  --surface-2:hsl(calc(var(--h) + 7.3 * var(--hs)) 26.8% 92%);
  --border:hsl(calc(var(--h) + 6.3 * var(--hs)) calc(23.5% * (1 + (var(--sk) - 1) * 0.1)) calc(86.7% + var(--dl) * 0.1));
  --text:#2e2a2a;
  --text-dim:hsl(calc(var(--h) - 3.6 * var(--hs)) calc(4.5% * var(--sk)) calc(48.4% + var(--dl) * 1));
  --primary:hsl(calc(var(--h) - 3.6 * var(--hs)) calc(22.1% * var(--sk)) calc(48.8% + var(--dl) * 1));
  --primary-dim:hsl(calc(var(--h) - 2 * var(--hs)) calc(26% * var(--sk)) calc(37.6% + var(--dl) * 1));
  --primary-contrast:hsl(calc(var(--h) + 2.5 * var(--hs)) 100% 98.4%);
  --danger:#a5453e;
  --danger-bg:#f8e9e6;
  --success:#4e7057;
  --success-bg:#e9f1e9;
  --warn:#8b6939;
  --warn-bg:#f7f0e2;
  --accent:hsl(calc(var(--h) - 2.9 * var(--hs)) calc(39.9% * (1 + (var(--sk) - 1) * 0.9)) calc(62.2% + var(--dl) * 0.9));
  --accent-dim:hsl(calc(var(--h) - 0.7 * var(--hs)) calc(50% * (1 + (var(--sk) - 1) * 0)) calc(89% + var(--dl) * 0));
  --radius:16px;
  --shadow:0 2px 5px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(20.9% * var(--sk)) calc(16.9% + var(--dl) * 1) / .035),0 12px 30px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(20.9% * var(--sk)) calc(16.9% + var(--dl) * 1) / .055);
  --bg-glow:radial-gradient(950px 620px at 100% -15%,hsl(calc(var(--h) - 3.6 * var(--hs)) calc(30.3% * (1 + (var(--sk) - 1) * 0.4)) calc(78.6% + var(--dl) * 0.4) / .17),transparent 72%),radial-gradient(760px 540px at -14% 108%,hsl(calc(var(--h) - 100 * var(--hs)) calc(8.6% * (1 + (var(--sk) - 1) * 0.4)) calc(79.4% + var(--dl) * 0.4) / .14),transparent 70%);
  background:var(--bg-glow) fixed,var(--bg);
}
body[data-role="utilisateur"]{
  --primary:#2f6fed;--primary-dim:#1f4fb8;--primary-contrast:#fff;
  --sidebar-bg:#f4f7ff;--sidebar-active:#dce8fd;
  --role-wash:#dce8fd;--role-ink:#1f4fb8;
}
body[data-role="responsable"]{
  --primary:#10916f;--primary-dim:#0b6e54;--primary-contrast:#fff;
  --sidebar-bg:#f2fbf7;--sidebar-active:#d3f3e7;
  --role-wash:#d3f3e7;--role-ink:#0b6e54;
}
body[data-role="admin"]{
  --primary:hsl(calc(var(--h) - 61.2 * var(--hs)) calc(15.2% * var(--sk)) calc(41.2% + var(--dl) * 1));--primary-dim:hsl(calc(var(--h) - 63.4 * var(--hs)) calc(17.6% * var(--sk)) calc(32.4% + var(--dl) * 1));--primary-contrast:#fffaff;
  --sidebar-bg:linear-gradient(165deg,hsl(calc(var(--h) - 91.2 * var(--hs)) calc(15.7% * var(--sk)) calc(20% + var(--dl) * 1)),hsl(calc(var(--h) - 98.5 * var(--hs)) calc(16.9% * var(--sk)) calc(15.1% + var(--dl) * 1)));
  --sidebar-active:linear-gradient(100deg,hsl(calc(var(--h) - 3 * var(--hs)) calc(44.5% * (1 + (var(--sk) - 1) * 0.4)) calc(76.7% + var(--dl) * 0.4) / .18),hsl(calc(var(--h) - 3 * var(--hs)) calc(44.5% * (1 + (var(--sk) - 1) * 0.4)) calc(76.7% + var(--dl) * 0.4) / .055));
  --role-wash:hsl(calc(var(--h) - 65 * var(--hs)) 26.1% 91%);--role-ink:hsl(calc(var(--h) - 64.1 * var(--hs)) calc(17.9% * var(--sk)) calc(37.3% + var(--dl) * 1));
  --bg-glow:radial-gradient(980px 650px at 100% -15%,hsl(calc(var(--h) - 68 * var(--hs)) calc(19.7% * (1 + (var(--sk) - 1) * 0.5)) calc(75.1% + var(--dl) * 0.5) / .16),transparent 72%),radial-gradient(780px 580px at -14% 108%,hsl(calc(var(--h) + 5.9 * var(--hs)) calc(34.6% * (1 + (var(--sk) - 1) * 0.4)) calc(79% + var(--dl) * 0.4) / .13),transparent 70%);
}
body:not([data-role="fondateur"]){
  background-color:var(--bg);background-image:var(--bg-glow);background-attachment:fixed;
}

/* --- App shell : lumière, calme, hiérarchie --- */
body:not([data-role="fondateur"]) .sidebar{
  background:var(--sidebar-bg);border-right:1px solid hsl(calc(var(--h) - 2.9 * var(--hs)) calc(18.2% * var(--sk)) calc(30.2% + var(--dl) * 1) / .10);
}
body[data-role="utilisateur"] .sidebar,
body[data-role="responsable"] .sidebar{color:hsl(calc(var(--h) - 5 * var(--hs)) calc(7.5% * var(--sk)) calc(20.8% + var(--dl) * 1));}
body[data-role="utilisateur"] .sidebar-brand .name,
body[data-role="responsable"] .sidebar-brand .name{color:#312d2b;letter-spacing:-.035em;}
body[data-role="utilisateur"] .sidebar-brand .by,
body[data-role="responsable"] .sidebar-brand .by{color:hsl(calc(var(--h) + 4.7 * var(--hs)) calc(6.8% * var(--sk)) calc(51.2% + var(--dl) * 1));}
body[data-role="utilisateur"] .sidebar-link,
body[data-role="responsable"] .sidebar-link{color:hsl(calc(var(--h) + 3.1 * var(--hs)) calc(6.7% * var(--sk)) calc(37.8% + var(--dl) * 1));}
body[data-role="utilisateur"] .sidebar-link:hover,
body[data-role="responsable"] .sidebar-link:hover{background:rgba(255,255,255,.8);color:var(--primary-dim);}
body[data-role="utilisateur"] .sidebar-link.active,
body[data-role="responsable"] .sidebar-link.active{color:var(--primary-dim);background:var(--sidebar-active);box-shadow:inset 3px 0 var(--primary);}
body[data-role="admin"] .sidebar{border-right:1px solid hsl(calc(var(--h) - 2.6 * var(--hs)) calc(44.9% * (1 + (var(--sk) - 1) * 0.1)) calc(86.5% + var(--dl) * 0.1) / .15);}
body[data-role="admin"] .sidebar-brand .logo{width:36px;height:36px;padding:2px;border:1px solid hsl(calc(var(--h) + 0.5 * var(--hs)) calc(57.9% * (1 + (var(--sk) - 1) * 0.2)) calc(85.1% + var(--dl) * 0.2) / .34);border-radius:11px;background:rgba(255,255,255,.06);}
body[data-role="admin"] .sidebar-brand .name{letter-spacing:-.04em;}
body[data-role="admin"] .sidebar-tier-admin{display:flex;align-items:center;gap:8px;align-self:flex-start;margin:18px 0 0 8px;padding:7px 10px;border:1px solid hsl(calc(var(--h) + 0.7 * var(--hs)) calc(54.5% * (1 + (var(--sk) - 1) * 0.3)) calc(80.2% + var(--dl) * 0.3) / .28);border-radius:8px;background:hsl(calc(var(--h) + 0.7 * var(--hs)) calc(54.5% * (1 + (var(--sk) - 1) * 0.3)) calc(80.2% + var(--dl) * 0.3) / .07);color:hsl(calc(var(--h) + 1.4 * var(--hs)) calc(55.3% * (1 + (var(--sk) - 1) * 0.2)) calc(85.1% + var(--dl) * 0.2));font-size:9px;font-weight:800;letter-spacing:.14em;}
body[data-role="admin"] .sidebar-nav{margin-top:5px;}
body[data-role="admin"] .sidebar-link{min-height:42px;border:1px solid transparent;}
body[data-role="admin"] .sidebar-link.active{border-color:hsl(calc(var(--h) + 0.7 * var(--hs)) calc(54.5% * (1 + (var(--sk) - 1) * 0.3)) calc(80.2% + var(--dl) * 0.3) / .16);box-shadow:inset 3px 0 hsl(calc(var(--h) - 1.8 * var(--hs)) calc(41.2% * (1 + (var(--sk) - 1) * 0.7)) calc(68.6% + var(--dl) * 0.7));}
body[data-role="admin"] .sidebar-fondateur{display:none;}
body[data-role="utilisateur"] .sidebar-sync,
body[data-role="responsable"] .sidebar-sync{background:hsl(calc(var(--h) + 5.4 * var(--hs)) 52% 90.2%);border-color:hsl(calc(var(--h) + 2.3 * var(--hs)) calc(42.2% * (1 + (var(--sk) - 1) * 0.2)) calc(83.7% + var(--dl) * 0.2));color:hsl(calc(var(--h) + 3.5 * var(--hs)) calc(24.5% * var(--sk)) calc(36.9% + var(--dl) * 1));}
body:not([data-role="fondateur"]) .sidebar-link{appearance:none;width:100%;border:0;background:none;text-align:left;}
body:not([data-role="fondateur"]) .bottom-nav-item{appearance:none;border:0;background:none;}
body:not([data-role="fondateur"]) .topbar{min-height:66px;background:rgba(255,253,250,.88);border-bottom:1px solid hsl(calc(var(--h) + 1.1 * var(--hs)) calc(16.6% * var(--sk)) calc(43.7% + var(--dl) * 1) / .13);backdrop-filter:blur(18px) saturate(1.1);}
body[data-role="admin"] .topbar{border-bottom-color:hsl(calc(var(--h) - 2.4 * var(--hs)) calc(23.9% * (1 + (var(--sk) - 1) * 0.1)) calc(86.1% + var(--dl) * 0.1));}
body:not([data-role="fondateur"]) .bottom-nav{background:rgba(255,253,250,.95);border-top:1px solid var(--border);box-shadow:0 -8px 25px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(20.9% * var(--sk)) calc(16.9% + var(--dl) * 1) / .055);}
body[data-role="admin"] .bottom-nav{background:hsl(calc(var(--h) - 92 * var(--hs)) calc(15.5% * var(--sk)) calc(19% + var(--dl) * 1) / .97);border-top-color:hsl(calc(var(--h) + 0.7 * var(--hs)) calc(54.5% * (1 + (var(--sk) - 1) * 0.3)) calc(80.2% + var(--dl) * 0.3) / .24);}
body[data-role="admin"] .bottom-nav-item{color:hsl(calc(var(--h) - 48 * var(--hs)) calc(16.1% * (1 + (var(--sk) - 1) * 0.3)) calc(81.8% + var(--dl) * 0.3));}
body[data-role="admin"] .bottom-nav-item.active{color:hsl(calc(var(--h) + 0.4 * var(--hs)) calc(63.9% * (1 + (var(--sk) - 1) * 0.2)) calc(83.7% + var(--dl) * 0.2));}
body[data-role="admin"] main{max-width:1220px;padding:28px clamp(20px,3vw,40px) 58px;}
body[data-role="utilisateur"] main,
body[data-role="responsable"] main{max-width:1160px;padding:26px clamp(18px,3vw,36px) 58px;}

/* Topbar identity and role markers */
body[data-role="admin"] .avatar{background:linear-gradient(145deg,hsl(calc(var(--h) - 61.1 * var(--hs)) calc(15.8% * var(--sk)) calc(56.7% + var(--dl) * 1)),hsl(calc(var(--h) - 80 * var(--hs)) calc(18.5% * var(--sk)) calc(37.1% + var(--dl) * 1)));color:#fff;border:1px solid hsl(calc(var(--h) - 64.1 * var(--hs)) calc(13.6% * var(--sk)) calc(49% + var(--dl) * 1));box-shadow:0 0 0 3px hsl(calc(var(--h) - 61.2 * var(--hs)) calc(15.2% * var(--sk)) calc(41.2% + var(--dl) * 1) / .10);}
body[data-role="utilisateur"] .badge-role.role-utilisateur,
body[data-role="utilisateur"] .thumb.role-utilisateur{background:#dce8fd;color:#1f4fb8;border-color:#b9d0fa;}
body[data-role="responsable"] .badge-role.role-responsable,
body[data-role="responsable"] .thumb.role-responsable{background:#d3f3e7;color:#0b6e54;border-color:#a9e4cd;}
body[data-role="admin"] .badge-role.role-admin,
body[data-role="admin"] .thumb.role-admin{background:hsl(calc(var(--h) - 63.6 * var(--hs)) 24.4% 91.2%);color:hsl(calc(var(--h) - 65.9 * var(--hs)) calc(17.7% * var(--sk)) calc(37.6% + var(--dl) * 1));border-color:hsl(calc(var(--h) - 65 * var(--hs)) calc(18.2% * (1 + (var(--sk) - 1) * 0.2)) calc(82.7% + var(--dl) * 0.2));}
.admin-identity{display:inline-flex;align-items:center;gap:10px;color:hsl(calc(var(--h) - 85.5 * var(--hs)) calc(11.6% * var(--sk)) calc(18.6% + var(--dl) * 1));}
.admin-identity .admin-mark{width:35px;height:35px;display:grid;place-items:center;overflow:hidden;border:1px solid hsl(calc(var(--h) - 40 * var(--hs)) calc(19% * (1 + (var(--sk) - 1) * 0.2)) calc(84.5% + var(--dl) * 0.2));border-radius:11px;background:hsl(calc(var(--h) - 20 * var(--hs)) 29.4% 93.3%);box-shadow:0 3px 12px hsl(calc(var(--h) - 56 * var(--hs)) calc(19.4% * var(--sk)) calc(25.3% + var(--dl) * 1) / .10);}
.admin-identity .admin-mark img{width:100%;height:100%;object-fit:cover;}
.admin-identity-copy{display:flex;flex-direction:column;gap:1px;line-height:1.15;}
.admin-identity-copy strong{font-size:15px;letter-spacing:-.04em;white-space:nowrap;}
.admin-identity-copy small{color:hsl(calc(var(--h) - 66.3 * var(--hs)) calc(15.8% * var(--sk)) calc(43.3% + var(--dl) * 1));font-size:8px;font-weight:850;letter-spacing:.14em;white-space:nowrap;}

/* --- Composants : surfaces, boutons, formulaires --- */
body:not([data-role="fondateur"]) .card{border-color:var(--border);border-radius:17px;background:var(--surface);box-shadow:var(--shadow);}
body:not([data-role="fondateur"]) .card:hover{border-color:color-mix(in srgb,var(--primary) 21%,var(--border));}
body:not([data-role="fondateur"]) .btn{min-height:42px;padding:10px 16px;border-radius:12px;font-weight:680;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;}
body:not([data-role="fondateur"]) .btn-primary{box-shadow:0 5px 13px color-mix(in srgb,var(--primary) 18%,transparent);}
body:not([data-role="fondateur"]) .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 19px color-mix(in srgb,var(--primary) 23%,transparent);}
body:not([data-role="fondateur"]) .btn:focus-visible,
body:not([data-role="fondateur"]) .icon-btn:focus-visible,
body:not([data-role="fondateur"]) .sidebar-link:focus-visible,
body:not([data-role="fondateur"]) .bottom-nav-item:focus-visible,
body:not([data-role="fondateur"]) .quick-action:focus-visible,
body:not([data-role="fondateur"]) .dashboard-stat:focus-visible,
body:not([data-role="fondateur"]) .dashboard-refresh:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 48%,white);outline-offset:3px;}
body:not([data-role="fondateur"]) input[type="text"],
body:not([data-role="fondateur"]) input[type="search"],
body:not([data-role="fondateur"]) input[type="email"],
body:not([data-role="fondateur"]) input[type="password"],
body:not([data-role="fondateur"]) input[type="date"],
body:not([data-role="fondateur"]) input[type="number"],
body:not([data-role="fondateur"]) select,
body:not([data-role="fondateur"]) textarea{border-radius:11px;background:var(--surface);}
body:not([data-role="fondateur"]) input:focus,
body:not([data-role="fondateur"]) select:focus,
body:not([data-role="fondateur"]) textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent);}
body:not([data-role="fondateur"]) .reglages-onglets{border-radius:13px;background:var(--surface-2);}
body:not([data-role="fondateur"]) .reglages-onglet{border-radius:9px;}
body:not([data-role="fondateur"]) .reglages-onglet.active{box-shadow:0 3px 10px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(20.9% * var(--sk)) calc(16.9% + var(--dl) * 1) / .08);}
body:not([data-role="fondateur"]) .dropdown{border-radius:14px;box-shadow:0 20px 50px hsl(calc(var(--h) - 10 * var(--hs)) calc(15.8% * var(--sk)) calc(14.9% + var(--dl) * 1) / .15);}
body:not([data-role="fondateur"]) .dropdown button, body:not([data-role="fondateur"]) .dropdown .dropdown-fichier{border-radius:8px;}
body:not([data-role="fondateur"]) .pied-support{border-color:var(--border);}
body:not([data-role="fondateur"]) .modal{border-radius:18px;box-shadow:0 24px 80px rgba(38,31,31,.24);}
body:not([data-role="fondateur"]) .dlg{border-radius:18px;}
body:not([data-role="fondateur"]) .member,body:not([data-role="fondateur"]) .list-item{border-color:var(--border);}
body:not([data-role="fondateur"]) th{border-color:var(--border);}
body:not([data-role="fondateur"]) td{border-color:var(--border);}

/* --- Nouveau tableau de bord : carte-héros, indicateurs et vrais raccourcis --- */
.dashboard-workspace{width:100%;max-width:1080px;margin:0 auto;padding:3px 0 20px;}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 1px 22px;}
.dashboard-heading>div{min-width:0;}
.dashboard-eyebrow{display:flex;align-items:center;gap:7px;color:var(--primary);font-size:9px;font-weight:850;letter-spacing:.16em;}
.dashboard-eyebrow i{font-style:normal;color:hsl(calc(var(--h) - 3.3 * var(--hs)) calc(27% * (1 + (var(--sk) - 1) * 0.7)) calc(68.8% + var(--dl) * 0.7));}
.dashboard-heading h1{margin:8px 0 4px;color:#302b2a;font-size:clamp(28px,3vw,37px);font-weight:680;line-height:1.08;letter-spacing:-.055em;}
.dashboard-heading p{margin:0;color:var(--text-dim);font-size:13px;}
.dashboard-refresh{flex:none;width:41px;height:41px;display:grid;place-items:center;border:1px solid var(--border);border-radius:13px;background:rgba(255,253,250,.85);color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s,transform .15s;}
.dashboard-refresh:hover{transform:rotate(-12deg);background:#fff;color:var(--primary);}
.dashboard-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:270px;padding:32px clamp(25px,4vw,43px);border:1px solid rgba(255,255,255,.65);border-radius:24px;box-shadow:0 18px 42px hsl(calc(var(--h) - 15 * var(--hs)) calc(14.5% * var(--sk)) calc(32.5% + var(--dl) * 1) / .12);}
.client-hero{color:hsl(calc(var(--h) - 20 * var(--hs)) calc(10.6% * var(--sk)) calc(18.4% + var(--dl) * 1));background:radial-gradient(340px 270px at 88% 9%,rgba(255,255,255,.55),transparent 76%),linear-gradient(118deg,hsl(calc(var(--h) + 8.2 * var(--hs)) calc(44.7% * (1 + (var(--sk) - 1) * 0.2)) calc(85.1% + var(--dl) * 0.2)) 0%,hsl(calc(var(--h) - 27.1 * var(--hs)) calc(26.2% * (1 + (var(--sk) - 1) * 0.1)) calc(87.3% + var(--dl) * 0.1)) 53%,hsl(calc(var(--h) - 7.2 * var(--hs)) calc(61% * (1 + (var(--sk) - 1) * 0.2)) calc(84.9% + var(--dl) * 0.2)) 100%);}
.admin-hero{color:hsl(calc(var(--h) - 95 * var(--hs)) calc(13.3% * var(--sk)) calc(17.6% + var(--dl) * 1));background:radial-gradient(360px 280px at 88% 8%,rgba(255,255,255,.58),transparent 77%),linear-gradient(118deg,hsl(calc(var(--h) - 70 * var(--hs)) calc(16.7% * (1 + (var(--sk) - 1) * 0.1)) calc(85.9% + var(--dl) * 0.1)) 0%,hsl(calc(var(--h) - 7.5 * var(--hs)) calc(34.3% * (1 + (var(--sk) - 1) * 0.1)) calc(86.3% + var(--dl) * 0.1)) 54%,hsl(calc(var(--h) + 1.3 * var(--hs)) calc(60% * (1 + (var(--sk) - 1) * 0.2)) calc(85.3% + var(--dl) * 0.2)) 100%);}
.dashboard-hero-copy{position:relative;z-index:2;max-width:560px;}
.hero-kicker{display:flex;align-items:center;gap:9px;color:var(--primary-dim);font-size:9px;font-weight:850;letter-spacing:.16em;}
.hero-kicker b{color:hsl(calc(var(--h) - 16.8 * var(--hs)) calc(20% * (1 + (var(--sk) - 1) * 0.9)) calc(63.7% + var(--dl) * 0.9));font-size:11px;}
.dashboard-hero h2{margin:18px 0 8px;font-size:clamp(27px,3.4vw,42px);font-weight:670;line-height:1.04;letter-spacing:-.055em;}
.dashboard-hero h2 em{font:400 1.03em Georgia,"Times New Roman",serif;color:hsl(calc(var(--h) - 47.7 * var(--hs)) calc(12.5% * var(--sk)) calc(40.8% + var(--dl) * 1));letter-spacing:-.045em;}
.dashboard-hero p{max-width:47ch;margin:0;color:hsl(calc(var(--h) - 8 * var(--hs)) calc(8.2% * var(--sk)) calc(35.9% + var(--dl) * 1));font-size:12px;line-height:1.55;}
.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
body:not([data-role="fondateur"]) .hero-actions .btn{min-height:41px;padding:9px 14px;border-radius:12px;font-size:12px;}
.hero-actions .hero-cta{border:1px solid hsl(calc(var(--h) - 46.7 * var(--hs)) calc(10.3% * var(--sk)) calc(17.1% + var(--dl) * 1) / .88);background:hsl(calc(var(--h) - 80 * var(--hs)) calc(8.2% * var(--sk)) calc(19.2% + var(--dl) * 1));color:hsl(var(--h) 100% 98.2%);box-shadow:0 7px 16px hsl(calc(var(--h) - 58.2 * var(--hs)) calc(11.8% * var(--sk)) calc(18.2% + var(--dl) * 1) / .16);}
.hero-actions .hero-cta:hover{background:#241f26;border-color:#241f26;}
.hero-actions .hero-secondary{border:1px solid hsl(calc(var(--h) - 17.4 * var(--hs)) calc(11.6% * var(--sk)) calc(39% + var(--dl) * 1) / .20);background:rgba(255,253,250,.58);color:hsl(calc(var(--h) - 20 * var(--hs)) calc(8.4% * var(--sk)) calc(25.7% + var(--dl) * 1));}
.hero-actions .hero-secondary:hover{background:rgba(255,253,250,.9);}
.hero-stat-card{position:relative;z-index:2;flex:none;width:230px;min-height:149px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:21px 22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(145deg,hsl(calc(var(--h) - 118.2 * var(--hs)) calc(9.7% * var(--sk)) calc(22.2% + var(--dl) * 1)),hsl(calc(var(--h) - 149.2 * var(--hs)) calc(14% * var(--sk)) calc(18.2% + var(--dl) * 1)) 80%);color:hsl(calc(var(--h) + 2.5 * var(--hs)) 100% 98.4%);box-shadow:0 19px 38px hsl(calc(var(--h) - 66.2 * var(--hs)) calc(13.4% * var(--sk)) calc(19% + var(--dl) * 1) / .24);transform:translateY(13px);}
.hero-stat-label{color:hsl(calc(var(--h) - 48.7 * var(--hs)) calc(25.3% * (1 + (var(--sk) - 1) * 0.3)) calc(82.2% + var(--dl) * 0.3));font-size:8px;font-weight:820;letter-spacing:.16em;}
.hero-stat-card strong{margin:8px 0 2px;font-size:37px;font-weight:660;letter-spacing:-.065em;line-height:1;}
.hero-stat-caption{color:hsl(calc(var(--h) - 47.7 * var(--hs)) calc(9.9% * (1 + (var(--sk) - 1) * 0.5)) calc(74.3% + var(--dl) * 0.5));font-size:10px;}
.hero-stat-line{height:25px;display:flex;align-items:flex-end;gap:5px;margin-top:12px;opacity:.9;}
.hero-stat-line i{width:8%;height:32%;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,hsl(calc(var(--h) - 8.6 * var(--hs)) calc(70.7% * (1 + (var(--sk) - 1) * 0.2)) calc(83.9% + var(--dl) * 0.2)),hsl(calc(var(--h) - 71.7 * var(--hs)) calc(26.5% * (1 + (var(--sk) - 1) * 0.6)) calc(73.3% + var(--dl) * 0.6)));}
.hero-stat-line i:nth-child(3n){height:55%;}.hero-stat-line i:nth-child(4n){height:72%;}.hero-stat-line i:nth-child(5n){height:44%;}.hero-stat-line i:nth-child(7n){height:91%;}
.hero-orbit{position:absolute;z-index:1;right:90px;top:50%;width:255px;height:255px;transform:translateY(-50%);pointer-events:none;opacity:.78;}
.hero-orbit i{position:absolute;inset:11px;border:1px solid hsl(calc(var(--h) - 65.6 * var(--hs)) calc(13.7% * var(--sk)) calc(35.9% + var(--dl) * 1) / .16);border-radius:50%;}
.hero-orbit i:nth-child(2){inset:35px;border-color:hsl(calc(var(--h) - 65.6 * var(--hs)) calc(13.7% * var(--sk)) calc(35.9% + var(--dl) * 1) / .12);}
.hero-orbit i:nth-child(3){inset:58px;border-color:hsl(calc(var(--h) - 65.6 * var(--hs)) calc(13.7% * var(--sk)) calc(35.9% + var(--dl) * 1) / .10);}
.hero-orbit span{position:absolute;inset:0;display:grid;place-items:center;color:hsl(calc(var(--h) - 64 * var(--hs)) calc(15.6% * var(--sk)) calc(37.6% + var(--dl) * 1) / .22);font:italic 57px Georgia,serif;}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px;}
.dashboard-stat{min-width:0;display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--border);border-radius:15px;background:rgba(255,253,250,.88);color:var(--text);text-align:left;box-shadow:0 5px 18px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(19.1% * var(--sk)) calc(18.4% + var(--dl) * 1) / .035);cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s;}
.dashboard-stat:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 32%,var(--border));box-shadow:0 10px 24px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(19.1% * var(--sk)) calc(18.4% + var(--dl) * 1) / .075);}
.dashboard-stat>.stat-icon{flex:none;width:37px;height:37px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 11%,white);border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,white);color:var(--primary);}
.dashboard-stat>.stat-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px;}
.dashboard-stat small{color:var(--text-dim);font-size:9.5px;font-weight:650;}
.dashboard-stat strong{overflow:hidden;color:hsl(calc(var(--h) - 12.5 * var(--hs)) calc(8.2% * var(--sk)) calc(19.2% + var(--dl) * 1));font-size:20px;font-weight:700;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;}
.dashboard-stat strong.stat-date{font-size:14px;letter-spacing:-.01em;}
.dashboard-stat>svg:last-child{flex:none;color:hsl(calc(var(--h) - 3.3 * var(--hs)) calc(9.4% * (1 + (var(--sk) - 1) * 0.9)) calc(62.4% + var(--dl) * 0.9));}
.dashboard-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:26px 2px 10px;}
.dashboard-section-title>div>span{color:var(--primary);font-size:8.5px;font-weight:850;letter-spacing:.16em;}
.dashboard-section-title h2{margin:3px 0 0;color:hsl(calc(var(--h) - 5 * var(--hs)) calc(8.3% * var(--sk)) calc(18.8% + var(--dl) * 1));font-size:19px;font-weight:700;letter-spacing:-.04em;}
.dashboard-section-title>small{color:var(--text-dim);font-size:10px;}
.dashboard-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.quick-action{min-width:0;min-height:67px;display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,253,250,.82);color:var(--text);text-align:left;box-shadow:0 3px 12px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(19.1% * var(--sk)) calc(18.4% + var(--dl) * 1) / .025);cursor:pointer;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;}
.quick-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background:#fffdfa;box-shadow:0 8px 19px hsl(calc(var(--h) - 3.3 * var(--hs)) calc(19.1% * var(--sk)) calc(18.4% + var(--dl) * 1) / .06);}
.quick-action-icon{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--role-wash,hsl(calc(var(--h) + 4 * var(--hs)) 33.3% 91.2%));color:var(--role-ink,var(--primary));}
.quick-action>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;}
.quick-action strong{font-size:11.5px;font-weight:750;}
.quick-action small{color:var(--text-dim);font-size:9.5px;line-height:1.3;}
.quick-action>svg:last-child{flex:none;color:hsl(calc(var(--h) - 3.3 * var(--hs)) calc(9.4% * (1 + (var(--sk) - 1) * 0.9)) calc(62.4% + var(--dl) * 0.9));}
.dashboard-error{margin-top:14px;}
.dashboard-empty-note{margin-top:14px;padding:12px 14px;border:1px solid hsl(calc(var(--h) + 16 * var(--hs)) calc(35.7% * (1 + (var(--sk) - 1) * 0.2)) calc(83.5% + var(--dl) * 0.2));border-radius:12px;background:hsl(calc(var(--h) + 17.9 * var(--hs)) 65.5% 94.3%);color:hsl(calc(var(--h) + 17.4 * var(--hs)) calc(28.6% * var(--sk)) calc(36.3% + var(--dl) * 1));font-size:11.5px;}
.dashboard-trust{margin:15px 2px 0;color:hsl(calc(var(--h) + 4.7 * var(--hs)) calc(7.3% * var(--sk)) calc(54.3% + var(--dl) * 1));font-size:9.5px;}

/* Admin profile: distinctive mauve chrome; dashboard content stays airy. */
body[data-role="admin"] .dashboard-eyebrow{color:hsl(calc(var(--h) - 64 * var(--hs)) calc(14.6% * var(--sk)) calc(40.4% + var(--dl) * 1));}
body[data-role="admin"] .hero-kicker{color:hsl(calc(var(--h) - 67.6 * var(--hs)) calc(17.3% * var(--sk)) calc(38.4% + var(--dl) * 1));}
body[data-role="admin"] .hero-kicker b{color:hsl(calc(var(--h) - 6.2 * var(--hs)) calc(32% * (1 + (var(--sk) - 1) * 1)) calc(60.2% + var(--dl) * 1));}
body[data-role="admin"] .admin-hero h2 em{color:hsl(calc(var(--h) - 74.2 * var(--hs)) calc(14.7% * var(--sk)) calc(41.4% + var(--dl) * 1));}
body[data-role="admin"] .hero-stat-line i{background:linear-gradient(180deg,hsl(calc(var(--h) - 4.8 * var(--hs)) calc(67.7% * (1 + (var(--sk) - 1) * 0.3)) calc(81.8% + var(--dl) * 0.3)),hsl(calc(var(--h) - 92 * var(--hs)) calc(29.9% * (1 + (var(--sk) - 1) * 0.5)) calc(73.7% + var(--dl) * 0.5)));}
body[data-role="admin"] .quick-action-icon{background:hsl(calc(var(--h) - 63.6 * var(--hs)) 24.4% 91.2%);color:hsl(calc(var(--h) - 65.9 * var(--hs)) calc(17.7% * var(--sk)) calc(37.6% + var(--dl) * 1));}
body[data-role="admin"] .dashboard-trust{color:hsl(calc(var(--h) - 60 * var(--hs)) calc(7.8% * var(--sk)) calc(54.9% + var(--dl) * 1));}
body[data-role="admin"] .admin-footer{display:flex;justify-content:center;gap:8px;margin-top:30px;padding-top:18px;border-top:1px solid var(--border);color:hsl(calc(var(--h) - 67.1 * var(--hs)) calc(5.6% * var(--sk)) calc(51% + var(--dl) * 1));font-size:9px;font-weight:760;letter-spacing:.13em;}
body[data-role="admin"] .admin-footer span:first-child{color:hsl(calc(var(--h) - 61.2 * var(--hs)) calc(15.2% * var(--sk)) calc(41.2% + var(--dl) * 1));}

/* --- Founder : espace de direction, plus sobre, plus lisible --- */
body[data-role="fondateur"]{
  --bg:#11131a;--surface:#191c24;--surface-2:#20242e;--border:#343740;
  --text:hsl(calc(var(--h) + 16 * var(--hs)) 27.8% 92.9%);--text-dim:hsl(calc(var(--h) + 6.7 * var(--hs)) calc(5% * (1 + (var(--sk) - 1) * 0.8)) calc(64.5% + var(--dl) * 0.8));--primary:hsl(calc(var(--h) + 18.9 * var(--hs)) calc(48.1% * (1 + (var(--sk) - 1) * 0.7)) calc(69.8% + var(--dl) * 0.7));--primary-dim:hsl(calc(var(--h) + 18.5 * var(--hs)) calc(40.7% * (1 + (var(--sk) - 1) * 1)) calc(61% + var(--dl) * 1));--primary-contrast:hsl(calc(var(--h) + 17.5 * var(--hs)) calc(24.2% * var(--sk)) calc(12.9% + var(--dl) * 1));
  --accent:hsl(calc(var(--h) + 4.9 * var(--hs)) calc(42.1% * (1 + (var(--sk) - 1) * 0.9)) calc(64.1% + var(--dl) * 0.9));--accent-dim:hsl(calc(var(--h) + 2.1 * var(--hs)) calc(22.9% * var(--sk)) calc(16.3% + var(--dl) * 1));--radius:16px;--shadow:0 12px 34px rgba(0,0,0,.20);
}
body[data-role="fondateur"] .hz-hero,
body[data-role="fondateur"] .hz-tools-hero,
body[data-role="fondateur"] .hz-portfolio-hero{
  border-color:hsl(calc(var(--h) + 15.6 * var(--hs)) calc(55.2% * (1 + (var(--sk) - 1) * 0.4)) calc(77.3% + var(--dl) * 0.4) / .20);border-radius:23px;
  background:radial-gradient(340px 260px at 88% 16%,hsl(calc(var(--h) + 11.9 * var(--hs)) calc(41.1% * (1 + (var(--sk) - 1) * 1)) calc(61.4% + var(--dl) * 1) / .19),transparent 78%),linear-gradient(125deg,#282b34,#1b2029 78%);
  box-shadow:0 19px 42px rgba(0,0,0,.20);
}
body[data-role="fondateur"] .hz-priority{border-color:hsl(calc(var(--h) + 16.6 * var(--hs)) calc(47.1% * (1 + (var(--sk) - 1) * 0.2)) calc(82.9% + var(--dl) * 0.2));border-radius:18px;background:linear-gradient(120deg,hsl(calc(var(--h) + 13 * var(--hs)) 50% 92.2%),hsl(calc(var(--h) + 2.2 * var(--hs)) calc(37% * (1 + (var(--sk) - 1) * 0.1)) calc(85.7% + var(--dl) * 0.1)) 55%,hsl(calc(var(--h) - 65 * var(--hs)) calc(25.8% * (1 + (var(--sk) - 1) * 0.1)) calc(87.8% + var(--dl) * 0.1)));box-shadow:0 15px 30px rgba(0,0,0,.22);}
body[data-role="fondateur"] .hz-priority-kicker{color:hsl(calc(var(--h) + 4.8 * var(--hs)) calc(20.7% * var(--sk)) calc(43.5% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-launch{border-color:hsl(calc(var(--h) + 4.8 * var(--hs)) calc(20.7% * var(--sk)) calc(43.5% + var(--dl) * 1) / .32);background:hsl(calc(var(--h) + 4.9 * var(--hs)) calc(42.1% * (1 + (var(--sk) - 1) * 0.9)) calc(64.1% + var(--dl) * 0.9) / .16);color:hsl(calc(var(--h) - 54.5 * var(--hs)) calc(16.4% * var(--sk)) calc(39.4% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-launch:hover{background:hsl(calc(var(--h) + 4.9 * var(--hs)) calc(42.1% * (1 + (var(--sk) - 1) * 0.9)) calc(64.1% + var(--dl) * 0.9) / .28);color:hsl(calc(var(--h) - 60 * var(--hs)) calc(10.3% * var(--sk)) calc(22.7% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-launch[aria-expanded="true"]{background:hsl(calc(var(--h) - 60 * var(--hs)) calc(10.3% * var(--sk)) calc(22.7% + var(--dl) * 1));border-color:hsl(calc(var(--h) - 60 * var(--hs)) calc(10.3% * var(--sk)) calc(22.7% + var(--dl) * 1));color:hsl(calc(var(--h) + 15.6 * var(--hs)) calc(73% * (1 + (var(--sk) - 1) * 0.2)) calc(85.5% + var(--dl) * 0.2));}
body[data-role="fondateur"] .hz-priority-focus{background:linear-gradient(150deg,hsl(calc(var(--h) + 16.9 * var(--hs)) 100% 97.5%),hsl(calc(var(--h) + 16 * var(--hs)) calc(50.7% * (1 + (var(--sk) - 1) * 0.1)) calc(86.5% + var(--dl) * 0.1)));color:hsl(calc(var(--h) + 6.1 * var(--hs)) calc(18.7% * var(--sk)) calc(24.1% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-focus-icon{background:linear-gradient(145deg,hsl(calc(var(--h) + 17 * var(--hs)) calc(52.6% * (1 + (var(--sk) - 1) * 0.4)) calc(77.6% + var(--dl) * 0.4)),hsl(calc(var(--h) + 13.2 * var(--hs)) calc(35.6% * var(--sk)) calc(59.2% + var(--dl) * 1)));color:hsl(calc(var(--h) - 60 * var(--hs)) calc(10.3% * var(--sk)) calc(22.7% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-focus-text small{color:hsl(calc(var(--h) + 4.8 * var(--hs)) calc(20.7% * var(--sk)) calc(43.5% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-links button{background:hsl(calc(var(--h) + 16.9 * var(--hs)) 100% 97.5% / .55);color:hsl(calc(var(--h) - 54.5 * var(--hs)) calc(16.4% * var(--sk)) calc(39.4% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-priority-links button:hover{background:hsl(calc(var(--h) + 16.9 * var(--hs)) 100% 97.5%);color:hsl(calc(var(--h) - 60 * var(--hs)) calc(10.3% * var(--sk)) calc(22.7% + var(--dl) * 1));}
body[data-role="fondateur"] .hz-figures{border-color:hsl(calc(var(--h) + 15.6 * var(--hs)) calc(55.2% * (1 + (var(--sk) - 1) * 0.4)) calc(77.3% + var(--dl) * 0.4) / .18);border-radius:16px;background:linear-gradient(130deg,#1d2730,#1d222c);}
body[data-role="fondateur"] .hz-figures button{color:hsl(calc(var(--h) + 18.6 * var(--hs)) calc(53.8% * (1 + (var(--sk) - 1) * 0.5)) calc(74.5% + var(--dl) * 0.5));}
body[data-role="fondateur"] .hz-shortcuts button,
body[data-role="fondateur"] .hz-tool-row{border-color:hsl(calc(var(--h) + 15.6 * var(--hs)) calc(55.2% * (1 + (var(--sk) - 1) * 0.4)) calc(77.3% + var(--dl) * 0.4) / .18);border-radius:14px;background:hsl(calc(var(--h) + 17 * var(--hs)) calc(56.6% * (1 + (var(--sk) - 1) * 0.6)) calc(72% + var(--dl) * 0.6) / .045);}
body[data-role="fondateur"] .hz-recent{border-color:hsl(calc(var(--h) + 15.6 * var(--hs)) calc(55.2% * (1 + (var(--sk) - 1) * 0.4)) calc(77.3% + var(--dl) * 0.4) / .17);border-radius:13px;background:#18242c;}
body[data-role="fondateur"] .hz-client-banner{border-color:hsl(calc(var(--h) + 15.6 * var(--hs)) calc(55.2% * (1 + (var(--sk) - 1) * 0.4)) calc(77.3% + var(--dl) * 0.4) / .29);border-radius:18px;background:radial-gradient(260px 190px at 88% 15%,hsl(calc(var(--h) + 12.7 * var(--hs)) calc(45.7% * (1 + (var(--sk) - 1) * 0.8)) calc(66.1% + var(--dl) * 0.8) / .22),transparent 80%),linear-gradient(132deg,#33444a,#27313b 84%);}
body[data-role="fondateur"] .hz-client-tabs{border-radius:12px 12px 0 0;}
body[data-role="fondateur"] .hz-sheet-dialog{border-radius:23px 23px 0 0;}

/* --- Responsive & accessibilité --- */
@media(max-width:880px){
  body[data-role="admin"] main,
  body[data-role="utilisateur"] main,
  body[data-role="responsable"] main{padding-bottom:102px;}
  .dashboard-workspace{padding-bottom:20px;}
  .dashboard-hero{min-height:265px;}
}
@media(max-width:650px){
  body[data-role="admin"] main,
  body[data-role="utilisateur"] main,
  body[data-role="responsable"] main{padding:18px 16px 105px;}
  .dashboard-heading{margin-bottom:15px;}
  .dashboard-heading h1{font-size:29px;}
  .dashboard-heading p{font-size:11.5px;}
  .dashboard-hero{min-height:343px;align-items:flex-start;padding:22px 20px;border-radius:20px;}
  .dashboard-hero-copy{max-width:100%;}
  .dashboard-hero h2{margin-top:14px;font-size:29px;}
  .dashboard-hero p{max-width:36ch;font-size:11px;}
  .hero-actions{gap:7px;margin-top:14px;}
  body:not([data-role="fondateur"]) .hero-actions .btn{min-height:38px;padding:8px 10px;font-size:10.5px;}
  .hero-stat-card{position:absolute;right:18px;bottom:17px;width:min(210px,62%);min-height:105px;padding:13px 15px;border-radius:15px;transform:none;}
  .hero-stat-card strong{margin:6px 0 1px;font-size:29px;}
  .hero-stat-label{font-size:7px;}
  .hero-stat-caption{font-size:9px;}
  .hero-stat-line{height:17px;margin-top:7px;}
  .hero-orbit{right:-56px;top:auto;bottom:30px;width:190px;height:190px;transform:none;}
  .dashboard-stats{gap:7px;margin-top:10px;}
  .dashboard-stat{align-items:flex-start;gap:7px;padding:10px 8px;border-radius:12px;}
  .dashboard-stat>.stat-icon{width:29px;height:29px;border-radius:9px;}
  .dashboard-stat small{font-size:8px;line-height:1.25;}
  .dashboard-stat strong{font-size:17px;}
  .dashboard-stat strong.stat-date{font-size:11px;white-space:normal;}
  .dashboard-stat>svg:last-child{display:none;}
  .dashboard-section-title{margin-top:20px;}
  .dashboard-section-title h2{font-size:17px;}
  .dashboard-section-title>small{font-size:8.5px;}
  .dashboard-quick-actions{gap:7px;}
  .quick-action{min-height:61px;gap:8px;padding:9px;border-radius:12px;}
  .quick-action-icon{width:32px;height:32px;border-radius:10px;}
  .quick-action strong{font-size:10px;}
  .quick-action small{font-size:8px;}
  body[data-role="admin"] .admin-footer{margin-top:18px;font-size:8px;}
}
@media(max-width:390px){
  .dashboard-stats{grid-template-columns:1fr;}
  .dashboard-stat{align-items:center;padding:9px 11px;}
  .dashboard-stat>svg:last-child{display:block;margin-left:auto;}
  .dashboard-quick-actions{grid-template-columns:1fr;}
  .dashboard-hero{min-height:360px;}
}
@media(prefers-reduced-motion:reduce){
  body:not([data-role="fondateur"]) *,body:not([data-role="fondateur"]) *::before,body:not([data-role="fondateur"]) *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}
}
