:root{--ink:#10101d;--panel:#1a1928;--panel-2:#222135;--blue:#3974f6;--jerodd:#1c78b8;--white:#f8f9ff;--muted:#aaaabd;--line:rgba(255,255,255,.09);--lime:#d9ef32;--green:#2fbea0;--danger:#ff6f7e;--radius:22px;--shadow:0 20px 60px rgba(0,0,0,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body,input,button{font-family:'Roboto',Arial,sans-serif}
body{margin:0}
a{color:inherit}
.eyebrow{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow.blue{color:#6ea1ff}
.brand{display:inline-flex;align-items:center;gap:10px;color:#151528;text-decoration:none}.brand span{display:grid;width:35px;height:35px;place-items:center;border-radius:10px;background:var(--blue);color:#fff;font-size:19px;font-weight:900}.brand strong{font-size:15px;letter-spacing:.08em}.brand.light{color:#fff}

/* Connexion */
.login-page{min-height:100vh;background:#f2f5fa;color:#161625}.login-shell{display:grid;min-height:100vh;grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr)}.login-story{display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;padding:clamp(32px,6vw,82px);overflow:hidden;background:radial-gradient(circle at 80% 15%,rgba(57,116,246,.38),transparent 31%),radial-gradient(circle at 18% 83%,rgba(28,120,184,.3),transparent 28%),var(--ink);color:#fff}.login-story .brand{color:#fff}.login-story>div{max-width:720px}.login-story h1{max-width:680px;margin:20px 0;font-size:clamp(43px,6vw,82px);line-height:.98;letter-spacing:-.055em}.login-story p{max-width:580px;margin:0;color:#b9b9ca;font-size:clamp(15px,1.4vw,19px);line-height:1.7}.login-story small{color:#85859c;font-weight:700}.login-panel{display:grid;place-items:center;padding:35px}.login-box{width:min(440px,100%)}.login-box h2{margin:12px 0 8px;font-size:clamp(38px,5vw,56px);letter-spacing:-.05em}.login-box>p{margin:0 0 30px;color:#707083;line-height:1.6}.login-box form{display:grid;gap:17px}.login-box label{display:grid;gap:8px}.login-box label span{font-size:12px;font-weight:800}.login-box input{width:100%;height:52px;padding:0 15px;border:1px solid #d9dce5;border-radius:12px;outline:0;background:#fff;font-size:14px}.login-box input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(57,116,246,.12)}.login-box button{display:flex;height:52px;align-items:center;justify-content:space-between;padding:0 18px;border:0;border-radius:12px;background:var(--blue);color:#fff;cursor:pointer;font-weight:900}.login-error{margin-bottom:18px;padding:13px 15px;border-radius:11px;background:#fff0f2;color:#a43345;font-size:13px;font-weight:700}.back-site{display:inline-block;margin-top:25px;color:#707083;font-size:12px;font-weight:800;text-decoration:none}

/* Structure du dashboard sombre */
.dashboard-page{min-height:100vh;background:var(--ink);color:var(--white)}.side-nav{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:245px;flex-direction:column;padding:28px 22px;border-right:1px solid var(--line);background:#13121f}.side-nav nav{display:grid;gap:6px;margin-top:55px}.side-nav nav a{padding:12px 14px;border-radius:11px;color:#9393a7;font-size:12px;font-weight:700;text-decoration:none;transition:.2s}.side-nav nav a:hover,.side-nav nav a.active{background:var(--blue);color:#fff}.side-user{display:grid;gap:5px;margin-top:auto;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.side-user span{color:#88889c;font-size:10px}.side-user strong{overflow:hidden;font-size:12px;text-overflow:ellipsis}.side-user a{margin-top:8px;color:#78a6ff;font-size:10px;font-weight:800;text-decoration:none}.dash-main{width:calc(100% - 245px);margin-left:245px;padding:clamp(24px,3.5vw,54px)}.mobile-header{display:none}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:28px}.welcome h1{margin:12px 0 14px;font-size:clamp(38px,4.6vw,72px);line-height:.95;letter-spacing:-.055em}.welcome p{max-width:720px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.welcome-user{min-width:210px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.welcome-user small{display:block;margin-bottom:6px;color:#85859b;font-size:10px}.welcome-user strong{font-size:12px}

/* Première composition inspirée du dashboard de référence */
.overview-grid{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(520px,1.4fr);gap:15px}.gender-card{display:grid;min-height:310px;grid-template-columns:minmax(150px,.8fr) minmax(210px,1.2fr);align-items:center;padding:clamp(22px,3vw,36px);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.card-kicker{color:#828297;font-size:10px;font-weight:800;text-transform:uppercase}.gender-card h2{margin:12px 0 8px;font-size:clamp(25px,2.6vw,39px);line-height:1.03;letter-spacing:-.04em}.gender-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.arc svg{display:block;width:100%;overflow:visible}.arc path{fill:none;stroke-width:16;stroke-linecap:round}.arc-track{stroke:#343348}.arc-value{stroke:var(--lime);stroke-dasharray:var(--progress) 100}.arc text{fill:#fff;font-size:31px;font-weight:900}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stat-grid article{display:flex;min-height:147px;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.stat-grid article:nth-child(1){background:var(--blue)}.stat-grid span,.impact-grid span{color:#aaaabc;font-size:10px;font-weight:800;text-transform:uppercase}.stat-grid article:nth-child(1) span,.stat-grid article:nth-child(1) small{color:rgba(255,255,255,.72)}.stat-grid strong{margin:10px 0 5px;font-size:clamp(33px,3.8vw,56px);line-height:.85;letter-spacing:-.05em}.stat-grid small{color:#77778c;font-size:10px}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:15px}.impact-grid article{min-height:190px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.impact-grid article:nth-child(3){background:var(--blue)}.impact-grid article:nth-child(3) span,.impact-grid article:nth-child(3) p{color:rgba(255,255,255,.72)}.impact-grid article.priority{background:#f4f4f7;color:#161622}.impact-grid article.priority span,.impact-grid article.priority p{color:#70707f}.impact-grid strong{display:block;margin:22px 0 12px;font-size:clamp(37px,4vw,62px);line-height:.8;letter-spacing:-.055em}.impact-grid p{margin:0;color:#838399;font-size:11px;line-height:1.5}

.commission-section,.consultation-section{margin-top:52px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:18px}.section-heading h2{margin:8px 0 0;font-size:clamp(29px,3.5vw,48px);letter-spacing:-.045em}.section-heading>p{max-width:480px;margin:0;color:#88889c;font-size:12px;line-height:1.55}.commission-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.commission-list article{padding:21px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.commission-list article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.commission-list span{color:#a5a5b6;font-size:10px;font-weight:800;text-transform:uppercase}.commission-list strong{font-size:21px}.bar{height:7px;margin-top:20px;overflow:hidden;border-radius:99px;background:#343347}.bar i{display:block;height:100%;min-width:3px;border-radius:99px;background:var(--blue)}

.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:50px}.quick-links a{display:grid;min-height:180px;grid-template-columns:1fr auto;align-content:space-between;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-decoration:none;transition:.25s}.quick-links a:hover{transform:translateY(-4px);border-color:rgba(90,139,255,.6)}.quick-links span{grid-column:1/-1;color:#7ca8ff;font-size:10px;font-weight:900;text-transform:uppercase}.quick-links strong{max-width:260px;align-self:end;font-size:18px;line-height:1.25}.quick-links i{align-self:end;color:#6f9fff;font-size:24px;font-style:normal}

.consultation-list{display:grid;gap:12px}.consultation-list details{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--panel)}.consultation-list summary{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding:23px;cursor:pointer;list-style:none}.consultation-list summary::-webkit-details-marker{display:none}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-row span{padding:6px 8px;border-radius:99px;background:#2b2a40;color:#9bbcff;font-size:9px;font-weight:900;text-transform:uppercase}.tag-row .priority-tag{background:#3a2730;color:#ff9eaa}.consultation-main h3{margin:12px 0 7px;font-size:20px}.consultation-main p{max-width:850px;margin:0;color:#89899d;font-size:12px;line-height:1.55}.solution-count{text-align:center}.solution-count strong{display:block;color:#6c9cff;font-size:27px}.solution-count span{display:block;color:#77778c;font-size:9px}.solution-count i{display:inline-block;margin-top:8px;color:#8f8fa2;font-style:normal;transition:.2s}.consultation-list details[open] .solution-count i{transform:rotate(180deg)}.consultation-detail{padding:0 23px 23px;border-top:1px solid var(--line)}.problem-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 0}.problem-analysis article{padding:16px;border-radius:13px;background:#222135}.problem-analysis span,.linked-solutions h4{color:#76a2ff;font-size:10px;font-weight:900;text-transform:uppercase}.problem-analysis p{margin:9px 0 0;color:#aaaabc;font-size:11px;line-height:1.55}.linked-solutions{padding-top:17px;border-top:1px solid var(--line)}.linked-solutions h4{margin:0 0 12px}.linked-solutions>article{margin-top:8px;padding:18px;border-radius:14px;background:#242338}.linked-solutions>article>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.linked-solutions>article span{color:#70a0ff;font-size:9px;font-weight:900;text-transform:uppercase}.linked-solutions>article small{color:#7e7e92;font-size:9px}.linked-solutions h5{margin:12px 0 7px;font-size:16px}.linked-solutions p,.no-solution{margin:0;color:#9b9bad;font-size:11px;line-height:1.55}.linked-solutions>article>strong{display:block;margin-top:12px;color:var(--lime);font-size:12px}.full-link{display:inline-flex;margin-top:18px;padding:11px 14px;border-radius:10px;background:var(--blue);font-size:10px;font-weight:900;text-decoration:none}.empty-state{padding:50px;border:1px dashed #3c3b50;border-radius:19px;color:#89899d;text-align:center}.empty-state h3{margin:0;color:#fff}.empty-state p{margin:8px 0 0}

.simple-page{display:grid;min-height:100vh;place-items:center;background:var(--ink);color:#fff}.simple-page main{width:min(700px,calc(100% - 32px));padding:45px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.simple-page main>a{display:block;margin-bottom:50px;color:#80aaff;font-size:12px;text-decoration:none}.simple-page h1{margin:12px 0;font-size:clamp(37px,6vw,70px);letter-spacing:-.05em}.simple-page p{color:#9999ab;line-height:1.65}

@media(max-width:1180px){.overview-grid{grid-template-columns:1fr}.impact-grid{grid-template-columns:repeat(2,1fr)}.commission-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.side-nav{display:none}.dash-main{width:100%;margin-left:0;padding:18px 16px 45px}.mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.mobile-header a:last-child{color:#8e8ea2;font-size:11px;text-decoration:none}.welcome{align-items:flex-start;flex-direction:column}.welcome-user{width:100%}.gender-card{grid-template-columns:1fr 1fr}.quick-links{grid-template-columns:1fr}.commission-list{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-story{min-height:48vh}.login-panel{min-height:52vh;padding:45px 24px}}
@media(max-width:560px){.welcome h1{font-size:42px}.overview-grid,.stat-grid,.impact-grid{grid-template-columns:1fr}.gender-card{grid-template-columns:1fr;min-height:0}.arc{max-width:270px;margin:10px auto -8px}.commission-list{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.consultation-list summary{grid-template-columns:1fr}.solution-count{text-align:left}.problem-analysis{grid-template-columns:1fr}.login-story{padding:30px 24px}.login-story h1{font-size:44px}.login-panel{padding:40px 24px}.login-box h2{font-size:42px}}

/* Thème bleu clair JERODD */
:root{--ink:#eaf5fb;--panel:#fff;--panel-2:#e5f3fa;--blue:#1c78b8;--jerodd:#1c78b8;--white:#17384e;--muted:#607f92;--line:#d3e7f2;--lime:#29b899;--green:#29b899;--danger:#d75567;--shadow:0 18px 45px rgba(28,120,184,.10)}
.dashboard-page{background:linear-gradient(145deg,#eff8fc,#e5f2f9);color:#17384e}.side-nav{border-color:rgba(255,255,255,.14);background:linear-gradient(180deg,#1c78b8,#155f93)}.side-nav nav a{color:rgba(255,255,255,.76)}.side-nav nav a:hover,.side-nav nav a.active{background:#fff;color:#1c78b8}.side-user{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.12)}.side-user span,.side-user a{color:rgba(255,255,255,.72)}.side-user strong{color:#fff}.eyebrow.blue{color:#1c78b8}.welcome p,.section-heading>p{color:#607f92}.welcome-user,.gender-card,.stat-grid article,.impact-grid article,.commission-list article,.quick-links a,.consultation-list details{border-color:#d3e7f2;background:#fff}.welcome-user small,.card-kicker,.stat-grid span,.impact-grid span,.stat-grid small,.impact-grid p,.commission-list span{color:#6d8999}.gender-card p,.consultation-main p,.problem-analysis p,.linked-solutions p,.no-solution{color:#607f92}.arc-track{stroke:#d7e9f2}.arc-value{stroke:#29b899}.arc text{fill:#1c78b8}.stat-grid article:nth-child(1),.impact-grid article:nth-child(3){background:linear-gradient(135deg,#1c78b8,#3296d4);color:#fff}.impact-grid article.priority{background:#dff1f9;color:#174863}.impact-grid article.priority span,.impact-grid article.priority p{color:#52798f}.bar{background:#dcecf4}.bar i{background:#1c78b8}.quick-links a{background:linear-gradient(145deg,#fff,#f5fbfe)}.quick-links a:hover{border-color:#1c78b8}.quick-links span,.quick-links i{color:#1c78b8}.tag-row span{background:#e4f2f9;color:#1c78b8}.tag-row .priority-tag{background:#fff0f2;color:#c34a5a}.solution-count strong,.problem-analysis span,.linked-solutions h4,.linked-solutions>article span{color:#1c78b8}.solution-count span,.solution-count i,.linked-solutions>article small{color:#718b9b}.problem-analysis article,.linked-solutions>article{background:#f1f8fc}.linked-solutions>article>strong{color:#159779}.empty-state{border-color:#b8d8e8;color:#688496;background:#fff}.empty-state h3{color:#17405a}.mobile-header .brand{color:#17384e}.mobile-header a:last-child{color:#1c78b8}.login-story{background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.18),transparent 31%),linear-gradient(145deg,#1c78b8,#155f93)}.login-story p{color:rgba(255,255,255,.78)}.login-story small{color:rgba(255,255,255,.65)}.simple-page{background:#eaf5fb;color:#17384e}.simple-page main{border-color:#d3e7f2;background:#fff}.simple-page p{color:#607f92}

/* Page fiche complète */
.fiche-page{min-height:100vh;background:#edf7fb;color:#17384e}.fiche-nav{display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100% - 1240px)/2));border-bottom:1px solid #d3e7f2;background:#fff}.fiche-nav nav{display:flex;gap:18px}.fiche-nav nav a{color:#52798f;font-size:11px;font-weight:800;text-decoration:none}.fiche-shell{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:30px 0 70px}.fiche-back{display:inline-block;margin-bottom:24px;color:#1c78b8;font-size:11px;font-weight:900;text-decoration:none}.fiche-hero{display:grid;grid-template-columns:1fr 260px;gap:35px;padding:clamp(28px,4vw,52px);border-radius:26px;background:linear-gradient(135deg,#1c78b8,#3296d4);box-shadow:0 25px 55px rgba(28,120,184,.2);color:#fff}.fiche-tags,.fiche-odds{display:flex;flex-wrap:wrap;gap:7px}.fiche-tags span,.fiche-odds span{padding:7px 9px;border:1px solid rgba(255,255,255,.25);border-radius:99px;background:rgba(255,255,255,.12);font-size:9px;font-weight:900;text-transform:uppercase}.fiche-location{margin:20px 0 8px;color:#cceafa;font-size:10px;font-weight:900;text-transform:uppercase}.fiche-hero h1{max-width:850px;margin:0;font-size:clamp(34px,5vw,68px);line-height:.98;letter-spacing:-.05em}.fiche-lead{max-width:850px;margin:22px 0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.7}.fiche-hero aside{display:flex;align-self:stretch;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:19px;background:rgba(255,255,255,.12)}.fiche-hero aside strong{font-size:55px;letter-spacing:-.06em}.fiche-hero aside span{font-size:12px;line-height:1.45}.fiche-hero aside small{margin-top:22px;color:rgba(255,255,255,.65);font-size:9px}.fiche-document{display:flex;align-items:center;gap:14px;width:fit-content;margin:18px 0;padding:15px 18px;border:1px solid #c9e2ef;border-radius:14px;background:#fff;color:#17384e;text-decoration:none}.fiche-document>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#e5f3fa;color:#1c78b8;font-weight:900}.fiche-document strong,.fiche-document small{display:block}.fiche-document small{margin-top:4px;color:#698696;font-size:10px}.fiche-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px}.fiche-analysis article{padding:27px;border:1px solid #d3e7f2;border-radius:20px;background:#fff}.fiche-analysis article>span{color:#1c78b8;font-size:11px;font-weight:900}.fiche-analysis h2{margin:15px 0 10px;font-size:19px}.fiche-analysis p{margin:0;color:#607f92;font-size:12px;line-height:1.65}.fiche-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:55px 0 18px}.fiche-heading h2{margin:8px 0 0;font-size:clamp(31px,4vw,50px);letter-spacing:-.045em}.fiche-heading p{margin:0;color:#607f92;font-size:12px}.fiche-solutions{display:grid;gap:15px}.fiche-solutions>article{padding:clamp(24px,3vw,34px);border:1px solid #d3e7f2;border-radius:22px;background:#fff;box-shadow:0 15px 35px rgba(28,120,184,.07)}.fiche-solutions header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #e0edf4}.fiche-solutions header span{color:#1c78b8;font-size:9px;font-weight:900;text-transform:uppercase}.fiche-solutions header h3{margin:7px 0 0;font-size:24px}.fiche-solutions header>strong{padding:7px 9px;border-radius:99px;background:#e4f4ee;color:#148769;font-size:9px;text-transform:uppercase}.solution-lead{color:#52778c;font-size:13px;line-height:1.7}.solution-facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.solution-facts>span{padding:9px 11px;border-radius:9px;background:#eaf5fa;color:#607f92;font-size:10px}.solution-facts strong{color:#174863}.solution-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.solution-details>div{padding:16px;border-radius:12px;background:#f4f9fc}.solution-details span{color:#1c78b8;font-size:9px;font-weight:900;text-transform:uppercase}.solution-details p{margin:8px 0 0;color:#607f92;font-size:11px;line-height:1.55}.solution-file{display:inline-flex;margin-top:17px;color:#1c78b8;font-size:11px;font-weight:900;text-decoration:none}.fiche-empty{padding:45px;border:1px dashed #b8d8e8;border-radius:18px;background:#fff;color:#607f92;text-align:center}
@media(max-width:760px){.fiche-hero{grid-template-columns:1fr}.fiche-analysis,.solution-details{grid-template-columns:1fr}.fiche-heading{align-items:flex-start;flex-direction:column}.fiche-nav nav a:first-child{display:none}.fiche-solutions header{flex-direction:column}}

/* Icône d'affichage du mot de passe : transparente et sans rectangle. */
.password-field{position:relative}
.password-field input{padding-right:52px}
.login-box .password-toggle{position:absolute;top:50%;right:10px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;color:#707083;font-size:inherit;font-weight:400;cursor:pointer;transform:translateY(-50%);transition:color .2s ease}
.login-box .password-toggle:hover,.login-box .password-toggle:focus-visible{background:transparent;box-shadow:none;color:var(--blue);transform:translateY(-50%)}
.password-toggle svg{display:block;width:20px;height:20px;pointer-events:none}
.password-toggle .icon-eye-off{display:none}
.password-toggle[aria-pressed="true"] .icon-eye{display:none}
.password-toggle[aria-pressed="true"] .icon-eye-off{display:block}
