@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_c02c3fba-module__pA7jQq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_c02c3fba-module__pA7jQq__variable{--font-body:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_f15560e8-module__SoD1Ya__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_f15560e8-module__SoD1Ya__variable{--font-headline:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/4a439e1ba971da1a-s.1vgctuhklh__x.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.33q4idznd8rl5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.2tbuiduw72dt5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.28n7p9dmf_8k7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/99ac5753282bcf05-s.3w6kcxkrsxlac.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.22iyan98j1_2e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono Fallback;src:local(Arial);ascent-override:77.84%;descent-override:20.13%;line-gap-override:0.0%;size-adjust:134.61%}.roboto_mono_d1697495-module__EIw_XG__className{font-family:Roboto Mono,Roboto Mono Fallback;font-style:normal}.roboto_mono_d1697495-module__EIw_XG__variable{--font-mono:"Roboto Mono", "Roboto Mono Fallback"}
:root{--primary:#008f5a;--primary-hover:#007a4c;--primary-active:#005f3d;--figma-purple:#008f5a;--figma-purple-soft:#e8f7ef;--figma-purple-strong:#006c45;--figma-orange:#d4a900;--figma-orange-soft:#fff8d7;--secondary:#ffe100;--tertiary:#7bc143;--accent-blue:#24b7df;--background:#f8fbf4;--surface:#fff;--surface-soft:#f0f7ee;--surface-selected:#e8f7ef;--success:#22c55e;--success-text:#008f5a;--warning:#ffe100;--warning-text:#806a00;--error:#ef4444;--error-text:#dc2626;--info:#008f5a;--text-primary:#13251d;--text-secondary:#40564b;--text-muted:#74857c;--placeholder:#9aa69f;--border:#e0eadc;--border-strong:#c9ddc1;--shadow-subtle:0 1px 2px 0 #0f172a0d;--shadow-medium:0 20px 25px -5px #008f5a0d, 0 8px 10px -6px #008f5a0d;--shadow-large:0 20px 25px -5px #008f5a0d, 0 8px 10px -6px #008f5a0d;--shadow-glow:0 0 0 3px #008f5a14;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px}html[data-theme=dark]{--primary:#19b879;--primary-hover:#37d495;--primary-active:#0f9a61;--figma-purple:#19b879;--figma-purple-soft:#19b87924;--figma-purple-strong:#37d495;--figma-orange:#ffe100;--figma-orange-soft:#ffe10024;--secondary:#ffe100;--tertiary:#8bd45a;--accent-blue:#43c8e8;--background:#08130e;--surface:#0f1f17e6;--surface-soft:#183024d1;--surface-selected:#19b87924;--success:#37d495;--success-text:#60e6a8;--warning:#ffe100;--warning-text:#ffe86a;--error:#ff6b6b;--error-text:#ff9b9b;--info:#60e6a8;--text-primary:#f3fbf5;--text-secondary:#c5d5ca;--text-muted:#92a79b;--placeholder:#72857a;--border:#b1d9bf29;--border-strong:#b1d9bf47;--shadow-subtle:0 1px 2px 0 #00000057;--shadow-medium:0 20px 36px -18px #0000008a, 0 0 0 1px #19b8790a;--shadow-large:0 28px 48px -20px #0000009e, 0 0 0 1px #19b8790d;--shadow-glow:0 0 0 3px #19b87929}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}html[data-theme=dark] body{background:radial-gradient(circle at 92% 0,#19b87929,#0000 34%),radial-gradient(circle at 100% 18%,#ffe10014,#0000 24%),linear-gradient(#08130e 0%,#0c1711 100%)}body{color:var(--text-primary);font-family:var(--font-body), "DM Sans", Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 92% 0,#008f5a1a,#0000 30%),radial-gradient(circle at 100% 18%,#ffe1001f,#0000 24%),linear-gradient(#fbfff9 0%,#f5faf1 100%);font-size:16px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}button:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #008f5a38}button:disabled{cursor:not-allowed;opacity:.4}.appShell{grid-template-columns:256px minmax(0,1fr);width:100%;max-width:none;min-height:100vh;margin:0;padding-top:0;display:grid}.sidebar{z-index:50;width:256px;color:var(--text-primary);min-height:100vh;box-shadow:none;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fff9;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:0;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.brandBlock{border-right:0;flex:none;align-items:center;gap:10px;min-height:36px;margin-bottom:32px;padding:0 8px;display:flex}.brandBlock strong,.brandBlock em{display:block}.brandBlock strong{color:var(--text-primary);font-family:var(--font-headline), "Plus Jakarta Sans", Arial, sans-serif;letter-spacing:.015em;font-size:18px;font-weight:800;line-height:1.2}.brandBlock strong span{color:var(--figma-purple);display:inline}.brandBlock em{color:var(--text-muted);font-size:13px;font-style:normal;font-weight:500;line-height:1.4}.brandMark{color:#fff;width:36px;height:36px;font-family:var(--font-headline), "Plus Jakarta Sans", Arial, sans-serif;background:linear-gradient(135deg,#007a4c 0%,#00b56f 72%,#ffe100 100%);border-radius:12px;place-items:center;font-weight:800;display:grid}.navList{flex-direction:column;flex:none;align-items:stretch;gap:4px;min-width:0;margin-left:0;display:flex}.navList:before{content:"ESPACE DE TRAVAIL";color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0 12px 8px;font-size:11px;font-weight:500;line-height:1.4;display:block}.navButton,.iconButton,.primaryButton,.smallButton{border-radius:var(--radius-md);border:0;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:15px;font-weight:600;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s;display:inline-flex}.navButton{color:#13251db3;background:0 0;border-radius:12px;justify-content:flex-start;gap:12px;min-height:40px;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.25;position:relative}.navButton svg{color:currentColor;flex:none;width:16px;height:16px;display:block}.navButton:hover{color:var(--text-primary);background:#ffffffb3;transform:translate(2px)}.navButton.active{color:var(--primary-hover);box-shadow:none;background:linear-gradient(90deg,#008f5a1a,#7bc14314);border-left-color:#0000}.navButton.active:before{content:"";background:linear-gradient(180deg, var(--primary), var(--tertiary));border-radius:0 9999px 9999px 0;width:4px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.appHeader{z-index:220;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border-bottom:0;grid-template-columns:minmax(210px,.7fr) minmax(340px,660px) auto;align-items:center;gap:24px;min-height:76px;margin:0 -64px 46px;padding:16px 44px;display:grid;position:relative;overflow:visible}.headerIntro{gap:1px;min-width:0;display:grid}.headerIntro span{color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.35}.headerIntro strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;line-height:1.35;overflow:hidden}.globalSearch{width:100%;max-width:576px;min-height:42px;color:var(--text-muted);box-shadow:var(--shadow-subtle);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffb3;border:1px solid #fff9;border-radius:12px;justify-self:center;align-items:center;gap:8px;padding:8px 14px;display:flex}.globalSearch span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.globalSearch kbd{color:#7b897f;min-width:34px;min-height:22px;font-family:var(--font-mono), "Roboto Mono", monospace;background:0 0;border:1px solid #e0eadcb8;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.headerActions{z-index:2;min-width:0;color:var(--text-muted);flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex;position:relative}.pageHero{justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 34px;display:flex}.pageHero:has(.heroSubnav){margin-bottom:40px}.navSearch{display:none}.navSearch span{white-space:nowrap}.navIconButton,.userButton{min-height:44px;color:var(--text-muted);background:#ffffffeb;border:0;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 14px 30px -28px #005f3d61}.navIconButton{width:44px;position:relative}.navIconButton:hover,.userButton:hover{background:var(--surface-soft);color:var(--text-primary)}.userButton{box-shadow:none;background:0 0;border-radius:18px;gap:10px;padding:0;font-size:14px;font-weight:500}.profileAvatar{background:linear-gradient(135deg, var(--primary), var(--tertiary));color:#fff;width:44px;height:44px;font-family:var(--font-mono), "Roboto Mono", monospace;border-radius:9999px;place-items:center;font-size:12px;font-weight:700;display:grid}.userButton strong{color:var(--text-primary);text-align:left;white-space:nowrap;gap:1px;font-size:14px;font-weight:800;line-height:1.25;display:grid}.userButton strong span,.userButton strong em{display:block}.userButton strong em{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:650}.userMenuWrap{display:inline-flex;position:relative}.userButton.open{color:var(--text-primary)}.profileAvatar.large{width:50px;height:50px;font-size:13px}.userDropdown{z-index:400;border:1px solid var(--border);width:min(340px,100vw - 32px);box-shadow:var(--shadow-large);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fffffff0;border-radius:18px;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden}.userDropdownHeader{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid}.userDropdownHeader strong,.userDropdownHeader span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.userDropdownHeader strong{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.3}.userDropdownHeader span{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:600;line-height:1.35}.userDropdownMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px 10px;display:grid}.userDropdownMeta div{border:1px solid var(--border);background:#f8fcf5;border-radius:12px;min-width:0;padding:10px}.userDropdownMeta span,.userDropdownMeta strong{display:block}.userDropdownMeta span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.2}.userDropdownMeta strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:800;line-height:1.35;overflow:hidden}.userPermissionList{flex-wrap:wrap;gap:6px;padding:0 16px 14px;display:flex}.userPermissionList span{min-height:24px;color:var(--primary-hover);background:#e8f7ef;border:1px solid #b9dfaa;border-radius:9999px;align-items:center;padding:0 8px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.userDropdownActions{border-top:1px solid var(--border);gap:4px;padding:8px;display:grid}.userDropdownActions button{width:100%;min-height:40px;color:var(--text-secondary);text-align:left;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.userDropdownActions button:hover{color:var(--text-primary);background:#f8fcf5}.userDropdownActions button.danger{color:var(--error-text)}.userDropdownActions button.danger:hover{background:#fef2f2}.notificationButton span{color:#fff;min-width:20px;height:20px;font-family:var(--font-mono), "Roboto Mono", monospace;background:#f05168;border:2px solid #fff;border-radius:9999px;place-items:center;font-size:10px;font-weight:800;display:grid;position:absolute;top:-4px;right:-2px}.notificationMenuWrap{display:inline-flex;position:relative}.notificationButton.open{background:var(--surface-selected);color:var(--primary-hover)}.notificationDropdown{z-index:400;border:1px solid var(--border);width:min(360px,100vw - 32px);box-shadow:var(--shadow-large);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fffffff0;border-radius:18px;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden}.notificationDropdownHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 16px 12px;display:flex}.notificationDropdownHeader strong,.notificationDropdownHeader span{display:block}.notificationDropdownHeader strong{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.25}.notificationDropdownHeader span{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:600;line-height:1.35}.notificationDropdownHeader button{border-radius:var(--radius-md);background:var(--surface-selected);min-height:28px;color:var(--primary-hover);white-space:nowrap;border:1px solid #008f5a38;padding:0 10px;font-size:12px;font-weight:800}.notificationDropdownHeader button:hover{background:#dff3e8;border-color:#008f5a57}.notificationList{max-height:360px;padding:8px;display:grid;overflow-y:auto}.notificationItem{width:100%;min-height:72px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.notificationItem:hover{background:#f8fcf5}.notificationSeverity{background:var(--primary);border-radius:9999px;width:8px;height:8px;box-shadow:0 0 0 4px #008f5a1a}.notificationSeverity.haute,.notificationSeverity.manquant{background:var(--error-text);box-shadow:0 0 0 4px #ef44441a}.notificationItemBody{min-width:0}.notificationItemBody strong,.notificationItemBody span{display:block}.notificationItemBody strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.35;overflow:hidden}.notificationItemBody span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:600;line-height:1.35;overflow:hidden}.notificationItem .statusPill{min-height:26px;font-size:11px}.notificationEmpty{color:var(--text-muted);text-align:center;justify-items:center;gap:6px;padding:26px 18px;display:grid}.notificationEmpty svg{color:var(--primary)}.notificationEmpty strong{color:var(--text-primary);font-size:14px;font-weight:800}.notificationEmpty span{max-width:260px;font-size:12px;font-weight:600;line-height:1.45}.workspace{grid-column:2;width:100%;min-width:0;padding:0 64px 48px}h1,h2{font-family:var(--font-headline), "Plus Jakarta Sans", Arial, sans-serif}h1{letter-spacing:.015em;font-size:30px;font-weight:800;line-height:1.2}.pageHero h1{font-size:24px}.sectionSubline{color:var(--text-muted);font-family:var(--font-headline), "Plus Jakarta Sans", Arial, sans-serif;letter-spacing:.01em;margin-top:4px;font-size:15px;font-weight:600;line-height:1.3}.pageHero .sectionSubline{font-size:12px}.breadcrumbLine{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.breadcrumbLine span:last-child{color:var(--figma-purple)}h2{letter-spacing:.01em;font-size:28px;font-weight:600;line-height:1.3}.iconButton,.smallButton{color:var(--figma-purple);background:0 0;border:1px solid #008f5a6b;padding:0 20px}.iconButton:hover,.smallButton:hover{background:var(--surface-selected)}.primaryButton{background:linear-gradient(135deg, var(--primary), var(--tertiary));color:#fff;padding:0 20px}.primaryButton:hover{background:linear-gradient(135deg, var(--primary-hover), #66aa36)}.primaryButton:active{transform:scale(.98)}.errorBanner,.loadingPanel,.panel,.kpiCard{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-subtle);border-radius:22px}.errorBanner{color:var(--error-text);background:#fef2f2;border-color:#fecaca;align-items:center;gap:8px;margin-bottom:24px;padding:16px;display:flex}.errorBanner.compact{margin-bottom:0;padding:10px 12px;font-size:13px}.loadingPanel{color:var(--text-muted);padding:40px}.dashboardGrid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;display:grid}.workspaceContent{min-width:0}.kpiGrid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.kpiCard{align-content:start;gap:10px;min-height:198px;padding:22px;display:grid;position:relative;overflow:hidden}.kpiCard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-large);transform:translateY(-1px)}.kpiLabel{color:var(--text-secondary);font-size:13px;font-weight:650;line-height:1.5}.kpiCard strong{color:var(--text-primary);font-family:var(--font-mono), "Roboto Mono", monospace;font-size:27px;font-weight:600;line-height:1.2}.kpiTopline{justify-content:space-between;align-items:center;gap:14px;display:flex}.kpiIconBubble{background:var(--surface-soft);width:40px;height:40px;color:var(--primary);border-radius:16px;place-items:center;font-weight:900;display:grid}.kpiCard.purple .kpiIconBubble{background:var(--figma-purple-soft);color:var(--figma-purple)}.kpiCard.green .kpiIconBubble{color:var(--primary);background:#e9f8f1}.kpiCard.orange .kpiIconBubble{background:var(--figma-orange-soft);color:var(--figma-orange)}.kpiMeta{color:var(--text-muted);justify-content:flex-start;align-items:center;gap:10px;margin-top:2px;font-size:12px;display:flex}.metricChip{min-height:24px;color:var(--success-text);white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.metricChip.warning{background:var(--figma-orange-soft);color:var(--figma-orange);border-color:#ffe1006b}.metricChip.neutral{color:var(--text-secondary);background:#94a3b81f;border-color:#94a3b852}.kpiSparkline{width:100%;height:64px;margin-top:8px;overflow:visible}.sparkLine,.sparkArea{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-width:3px}.sparkArea{fill:#008f5a14;stroke:none}.kpiCard.purple .sparkLine{stroke:var(--figma-purple)}.kpiCard.purple .sparkArea{fill:#008f5a21}.kpiCard.orange .sparkLine{stroke:var(--figma-orange)}.kpiCard.orange .sparkArea{fill:#ffe1002e}.panel{border-radius:22px;min-width:0;padding:24px}.panel:hover,.documentCard:hover,.adminUsersTable:hover,.tableWrap:hover{box-shadow:var(--shadow-medium)}.panel.wide,.dashboardGrid .panel.wide{grid-column:span 1}.panel.full{width:100%}.panelHeader{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panelHeader>span{color:var(--text-muted);letter-spacing:.01em;font-size:12px;font-weight:500;line-height:1.4}.panelHeader h2{letter-spacing:0;font-size:17px;font-weight:800}.splitGrid{grid-template-columns:372px minmax(0,1fr);gap:18px;display:grid}.rows{gap:8px;display:grid}.dataRow{border-radius:var(--radius-md);border-bottom:1px solid #eef2ed;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 12px;display:flex}.dataRow:hover{background:#f8fcf5}.dataRow.large{min-height:64px}.dataRow strong,td strong{margin-bottom:2px;font-size:15px;font-weight:600;line-height:1.45;display:block}.dataRow span,td span{color:var(--text-muted);font-size:14px;line-height:1.5;display:block}.statusPill{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:fit-content;min-height:28px;color:var(--text-muted);white-space:nowrap;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.statusPill.validé,.statusPill.reçu,.statusPill.actif,.statusPill.résolue,.statusPill.clôturée{color:var(--success-text);background:#f0fdf4;border-color:#bbf7d0}.statusPill.brouillon,.statusPill.normale,.statusPill.planifié,.statusPill.déclarée,.statusPill.en{color:var(--info);background:#f3f8ec;border-color:#d7edc9}.statusPill.manquant,.statusPill.haute{color:var(--error-text);background:#fef2f2;border-color:#fecaca}.workloadBars{gap:16px;display:grid}.barRow{gap:8px;display:grid}.barRow>div:first-child{color:var(--text-muted);justify-content:space-between;font-size:14px;line-height:1.5;display:flex}.barRow strong{color:var(--text-primary);font-family:var(--font-mono), "Roboto Mono", monospace}.barTrack{background:#eef5ea;border-radius:9999px;height:8px;overflow:hidden}.barTrack span{background:linear-gradient(90deg, var(--primary), var(--tertiary));height:100%;display:block}.tableWrap{border:1px solid var(--border);box-shadow:var(--shadow-subtle);background:#fff;border-radius:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #eef2ed;padding:11px 14px}th{min-height:44px;color:var(--placeholder);letter-spacing:.08em;text-transform:uppercase;background:#fff;font-size:11px;font-weight:700;line-height:1.4}td{font-size:13px;line-height:1.5}tbody tr:hover{background:#f8fcf5}tr:last-child td{border-bottom:0}.actionCell{text-align:right}.lockedText{color:var(--text-muted);font-size:13px;font-weight:500}.formStack{gap:16px;display:grid}.formStack label{gap:6px;display:grid}.formStack label span{color:var(--text-secondary);font-size:14px;font-weight:500;line-height:1.4}.formStack input,.formStack select,.searchBox input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text-primary);background:#fff;padding:10px 14px;font-size:15px}.formStack input::placeholder,.searchBox input::placeholder{color:var(--placeholder)}.formStack input:focus,.formStack select:focus,.searchBox input:focus{border-color:var(--figma-purple);outline:none;box-shadow:0 0 0 3px #008f5a1f}.headerTools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.uploadBox{align-items:center;gap:8px;display:flex}.uploadBox input[type=file]{max-width:224px;color:var(--text-muted);font-size:13px}.searchBox{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;align-items:center;gap:8px;min-width:280px;min-height:40px;padding:0 14px;display:flex}.searchBox:focus-within{border-color:var(--figma-purple);box-shadow:0 0 0 3px #008f5a1f}.searchBox input{border:0;outline:none;min-height:36px;padding:0}.documentGrid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;display:grid}.documentCard{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-height:132px;padding:20px;display:grid}.documentCard:hover{border-color:var(--border-strong);box-shadow:var(--shadow-medium)}.documentCard>.statusPill{grid-column:1/3}.documentCard strong,.documentCard span,.documentCard small{display:block}.documentCard strong{font-size:15px;font-weight:600;line-height:1.45}.documentCard span,.documentCard small{color:var(--text-muted);margin-top:3px;font-size:13px;line-height:1.4}.materialWorkspace{gap:18px;display:grid}.materialTabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.heroSubnav{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;margin-bottom:8px;display:flex}.materialTab{border:1px solid var(--border);border-radius:var(--radius-md);min-height:36px;color:var(--text-muted);cursor:pointer;background:#fff;padding:0 12px;font-size:13px;font-weight:600;transition:border-color .18s,color .18s,background .18s}.materialTab:hover,.materialTab.active{color:var(--text-primary);background:#008f5a14;border-color:#008f5a52}.materialSection,.materialSheetsGrid{gap:16px;display:grid}.inlineFilter{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.inlineFilter select{border:1px solid var(--border);border-radius:var(--radius-md);min-height:36px;color:var(--text-primary);background:#fff;padding:0 10px}.inlineFilter input{border:1px solid var(--border);border-radius:var(--radius-md);width:min(360px,58vw);min-height:36px;color:var(--text-primary);font:inherit;background:#fff;padding:0 10px}.rhSubnav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cistTableWrap{border:1px solid var(--border);box-shadow:var(--shadow-subtle);background:#fff;border-radius:18px;overflow-x:auto}.cistTable{table-layout:fixed;min-width:1320px}.cistRecordsTable{min-width:1520px}.mutuelleTable{min-width:1350px}.personnelRegisterTable{min-width:1140px}.cistColNumber{width:56px}.cistColIdentity{width:220px}.cistColContact{width:250px}.cistColContract{width:190px}.cistColContractDates{width:150px}.cistColLastVisit{width:220px}.cistColNextVisit{width:150px}.cistColComment{width:190px}.cistColActions{width:92px}.mutuelleColName{width:210px}.mutuelleColPosition{width:230px}.mutuelleColStatus{width:96px}.mutuelleColComments{width:280px}.mutuelleColCertificate{width:140px}.mutuelleColValidity{width:160px}.mutuelleColProof{width:150px}.mutuelleColActions{width:84px}.personnelColIdentity{width:230px}.personnelColContact{width:260px}.personnelColContract{width:220px}.personnelColEntryDate,.personnelColExitDate{width:128px}.personnelColRenewalDate{width:160px}.personnelColActions{width:92px}.personnelRegisterTable tbody tr.personnelRowPermanent td{background:#3b82f61a}.personnelRegisterTable tbody tr.personnelRowCdd td{background:#2563eb29}.personnelRegisterTable tbody tr.personnelRowCddi td{background:#f59e0b1f}.personnelRegisterTable tbody tr.personnelRowService td{background:#f472b624}.personnelRegisterTable tbody tr.personnelRowPermanent:hover td{background:#3b82f629}.personnelRegisterTable tbody tr.personnelRowCdd:hover td{background:#2563eb38}.personnelRegisterTable tbody tr.personnelRowCddi:hover td{background:#f59e0b2e}.personnelRegisterTable tbody tr.personnelRowService:hover td{background:#f472b633}.cistTable strong,.cistTable span,.cistTable small{overflow-wrap:break-word;word-break:normal;display:block}.cistTable strong{color:var(--text-primary);font-size:13px}.cistTable span{color:var(--text-secondary);font-size:12px}.cistTable small{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.35}.cistCrudModal{border:1px solid var(--border);width:min(100%,980px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-large);background:#fff;border-radius:24px;gap:16px;padding:18px;display:grid;overflow-y:auto}.stockLocationGrid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;display:grid}.stockLocation,.materialSheetCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-subtle);gap:12px;padding:18px;display:grid}.stockLocation strong,.stockLocation span,.materialSheetCard strong,.materialSheetCard span,.materialSheetCard small{display:block}.stockLocation span,.materialSheetCard span,.materialSheetCard small{color:var(--text-muted);font-size:13px;line-height:1.4}.stockRows{gap:8px;display:grid}.stockRows em{color:var(--text-muted);font-size:13px;font-style:normal}.stockRow{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;font-size:13px;display:flex}.stockRow span{color:var(--text-primary)}.materialSheetsGrid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start}.materialSheetForm{gap:14px;display:grid}.sheetFormHeader strong,.sheetFormHeader span{display:block}.sheetFormHeader strong{font-size:16px}.sheetFormHeader span{color:var(--text-muted);margin-top:3px;font-size:13px}.sheetSelectors{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:12px;display:grid}.sheetSelectors label,.sheetNotes{gap:6px;display:grid}.sheetSelectors span,.sheetNotes span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:700}.sheetSelectors select,.sheetNotes input,.materialEntryRow input{border:1px solid var(--border);border-radius:var(--radius-md);min-height:38px;color:var(--text-primary);font:inherit;background:#fff;padding:0 10px}.materialEntryGrid{gap:6px;display:grid;overflow-x:auto}.materialEntryHeader,.materialEntryRow{grid-template-columns:minmax(150px,1.4fr) 64px repeat(5,76px);align-items:center;gap:8px;min-width:650px;display:grid}.materialEntryHeader{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.materialEntryRow{border-top:1px solid var(--border);padding-top:6px}.materialEntryRow>span{font-size:13px;font-weight:600}.materialEntryRow>strong{color:var(--text-muted);font-size:13px;font-weight:600}.materialEntryRow input{width:100%;min-height:34px;padding:0 8px}.materialSheetsList{gap:12px;display:grid}.referentielTabs{flex-wrap:wrap;gap:8px;display:flex}.referentielTab{border:1px solid var(--border);border-radius:var(--radius-md);min-height:36px;color:var(--text-muted);cursor:pointer;background:#fff;padding:0 12px;font-size:13px;font-weight:700}.referentielTab:hover,.referentielTab.active{color:var(--text-primary);background:#008f5a14;border-color:#008f5a52}.referenceGrid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;margin-top:10px;display:grid}.referenceCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-subtle);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.referenceCard strong,.referenceCard span{display:block}.referenceCard strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35}.referenceCard span{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:13px;line-height:1.35}.referenceTableWrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%;margin-top:14px;overflow-x:auto}.referenceTable{border-collapse:collapse;table-layout:fixed;width:100%}.referenceTable th,.referenceTable td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 14px}.referenceTable th{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:900}.referenceTable th:first-child{width:31%}.referenceTable th:nth-child(2){width:35%}.referenceTable th:nth-child(3){width:20%}.referenceTable th:nth-child(4){width:104px}.referenceTable tbody tr{transition:background .18s}.referenceTable tbody tr:hover{background:#008f5a0f}.referenceTable tbody tr:last-child td{border-bottom:0}.referenceTableTitle,.referenceTableDetail,.referenceTableState{overflow-wrap:anywhere;display:block}.referenceTableTitle{font-size:14px;line-height:1.35}.referenceTable .inlineReferenceField{display:block}.referenceTable .inlineReferenceField span{display:none}.referenceTable .inlineReferenceField input{width:100%;color:var(--text-primary);font:inherit;pointer-events:none;background:0 0;border:0;padding:0;font-weight:800}.referenceTable .inlineReferenceField input:focus{outline:0}.referenceTableDetail,.referenceTableState{color:var(--text-muted);font-size:13px;line-height:1.35}.referenceTableActions{justify-content:flex-end;min-width:96px}.referenceCrudModal{border:1px solid var(--border);width:min(100%,900px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-large);background:#fff;border-radius:24px;gap:16px;padding:18px;display:grid;overflow-y:auto}.referenceFormGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.referenceFormGrid label:not(.permissionChip){gap:6px;display:grid}.referenceFormGrid label:not(.permissionChip) span{color:var(--text-secondary);font-size:12px;font-weight:800}.referenceFormGrid input:not([type=checkbox]),.referenceFormGrid select,.referenceFormGrid textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text-primary);font:inherit;background:#fff;padding:0 12px}.referenceFormGrid textarea{resize:vertical;min-height:92px;padding:10px 12px}.scoreBubble{border-radius:var(--radius-md);min-width:74px;min-height:40px;color:var(--success-text);font-family:var(--font-mono), "Roboto Mono", monospace;background:#f0fdf4;border:1px solid #bbf7d0;place-items:center;font-weight:600;display:grid}.authLoading,.authShell{place-items:center;min-height:100vh;padding:24px;display:grid}.authLoading{color:var(--text-muted);font-weight:600}.authPanel{background:var(--surface);border:1px solid var(--border);width:min(100%,480px);box-shadow:var(--shadow-large);border-radius:24px;gap:28px;padding:32px;display:grid}.authBrand{width:fit-content}.authSwitchButton{width:100%}.timeClockShell{place-items:center;min-height:100vh;padding:24px;display:grid}.timeClockKiosk{border:1px solid var(--border);background:var(--surface);width:min(100%,720px);box-shadow:var(--shadow-large);border-radius:24px;gap:28px;padding:32px;display:grid}.timeClockTopbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.timeClockFace{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-soft), #ffffffb8);color:var(--primary-hover);border-radius:20px;justify-items:center;gap:8px;padding:34px 20px;display:grid}.timeClockFace strong{color:var(--text-primary);font-family:var(--font-mono), "Roboto Mono", monospace;letter-spacing:0;font-variant-numeric:tabular-nums;font-size:clamp(42px,9vw,74px);font-weight:800;line-height:1}.timeClockFace span{color:var(--text-secondary);text-transform:capitalize;font-size:15px;font-weight:700}.timeClockForm{justify-self:center;gap:18px;width:min(100%,420px);display:grid}.timeClockPinArea{justify-items:center;gap:12px;display:grid}.timeClockPinArea label{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:800;line-height:1.3}.timeClockPinInput{border:1px solid var(--border);width:min(100%,220px);height:54px;color:var(--text-primary);font-family:var(--font-mono), "Roboto Mono", monospace;letter-spacing:0;text-align:center;caret-color:#0000;background:#ffffffc2;border-radius:9999px;font-size:34px;font-weight:800}.timeClockPinDots{justify-content:center;align-items:center;gap:12px;min-height:18px;display:flex}.timeClockPinDots span{background:0 0;border:2px solid #008f5a57;border-radius:9999px;width:13px;height:13px}.timeClockPinDots span.filled{border-color:var(--primary);background:var(--primary)}.timeClockKeypad{touch-action:manipulation;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(3,92px);justify-content:center;gap:16px;display:grid}.timeClockKey{width:92px;height:92px;color:var(--text-primary);font-family:var(--font-mono), "Roboto Mono", monospace;letter-spacing:0;background:#008f5a1f;border:1px solid #008f5a29;border-radius:9999px;place-items:center;font-size:38px;font-weight:800;line-height:1;transition:background .14s,border-color .14s,color .14s,transform .1s;display:grid;box-shadow:0 18px 36px -28px #005f3d80}.timeClockKey:hover:not(:disabled){background:#008f5a33;border-color:#008f5a57}.timeClockKey:active:not(:disabled){transform:scale(.96)}.timeClockKey.secondary{color:var(--text-secondary);background:#40564b1a}.timeClockKey.validate{background:linear-gradient(135deg, var(--primary), var(--tertiary));color:#fff;border-color:#008f5a57}.timeClockKey.validate:disabled{color:var(--text-muted);background:#40564b1f}.timeClockResult{border:1px solid var(--border);text-align:center;border-radius:18px;align-content:center;gap:8px;min-height:132px;padding:22px;display:grid}.timeClockResult.start{color:var(--success-text);background:#f0fdf4;border-color:#bbf7d0}.timeClockResult.end{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.timeClockResult strong{color:var(--text-primary);font-size:21px;font-weight:800;line-height:1.35}.timeClockResult span{font-size:14px;font-weight:800}.timeClockPanel{gap:16px;display:grid}.timeClockFilters select{min-width:190px}.timeClockTotals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.timeClockTotals div{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;min-width:0;padding:14px}.timeClockTotals span,.timeClockTotals strong{display:block}.timeClockTotals span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.25}.timeClockTotals strong{color:var(--text-primary);font-family:var(--font-mono), "Roboto Mono", monospace;letter-spacing:0;margin-top:4px;font-size:22px;font-weight:800}.timeClockTable{min-width:760px}.timeClockTable td:last-child{min-width:160px}.modalBackdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1b162d57;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.userCrudModal,.confirmModal{border:1px solid var(--border);width:min(100%,780px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-large);background:#fff;border-radius:24px;gap:16px;padding:18px;display:grid;overflow-y:auto}.confirmModal{width:min(100%,440px)}.userCrudHeader,.userCrudFooter{justify-content:space-between;align-items:center;gap:16px;display:flex}.userCrudHeader strong,.userCrudHeader span{display:block}.userCrudHeader strong{color:var(--text-primary);font-size:16px;font-weight:800}.userCrudHeader span{color:var(--text-muted);font-size:13px}.userCrudGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.userCrudGrid label{gap:6px;display:grid}.userCrudGrid label span{color:var(--text-secondary);font-size:12px;font-weight:800}.userCrudGrid input,.userCrudGrid select{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text-primary);background:#fff;padding:0 12px}.userCrudGrid input:focus,.userCrudGrid select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #008f5a1f}.chantierCrudModal{border:1px solid var(--border);width:min(100%,1040px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-large);background:#fff;border-radius:24px;gap:16px;padding:18px;display:grid;overflow-y:auto}.chantierFormGrid,.cistFormGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.chantierFormGrid label,.cistFormGrid label,.chantierNotes,.chantierMiniPanel label{gap:6px;display:grid}.chantierFormGrid label span,.cistFormGrid label span,.chantierNotes span,.chantierMiniPanel label span,.linkedInfo>span{color:var(--text-secondary);font-size:12px;font-weight:800}.chantierFormGrid input,.chantierFormGrid select,.cistFormGrid input,.cistFormGrid select,.cistFormGrid textarea,.chantierMiniPanel input,.chantierNotes textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:40px;color:var(--text-primary);font:inherit;background:#fff;padding:0 12px}.cistFormGrid label.wide{grid-column:span 2}.cistFormGrid textarea{resize:vertical;min-height:72px;padding:10px 12px}.chantierNotes textarea{resize:vertical;min-height:104px;padding:10px 12px}.linkedInfo{border:1px solid var(--border);border-radius:var(--radius-md);background:#008f5a0d;grid-column:span 2;gap:4px;min-height:64px;padding:10px 12px;display:grid}.linkedInfo strong,.linkedInfo small{overflow-wrap:anywhere}.linkedInfo strong{font-size:14px}.linkedInfo small{color:var(--text-muted);font-size:12px}.chantierSubGrid{grid-template-columns:minmax(0,.9fr) minmax(180px,.5fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.fieldReportGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.chantierMiniPanel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);gap:10px;padding:14px;display:grid}.chantierMiniPanel>strong{font-size:14px}.wideMiniPanel{grid-column:1/-1}.miniPanelHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.fieldReportInlineRow,.fieldReportWasteRow{gap:8px;display:grid}.fieldReportInlineRow{grid-template-columns:minmax(0,1fr) 120px}.fieldReportWasteRow{grid-template-columns:minmax(0,1.2fr) 110px 90px minmax(0,1fr)}.rowActions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.userCrudSectionLabel{color:var(--text-secondary);font-size:12px;font-weight:800}.userCrudPermissions{flex-wrap:wrap;gap:8px;margin-top:-8px;display:flex}.deleteSummary{border:1px solid var(--border);border-radius:var(--radius-md);background:#f8fcf5;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.deleteSummary strong,.deleteSummary span{display:block}.deleteSummary strong{color:var(--text-primary);font-size:15px}.deleteSummary span{color:var(--text-muted);font-size:13px}.dangerButton{border-radius:var(--radius-md);min-height:40px;color:var(--error-text);background:#fef2f2;border:1px solid #fecaca;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.dangerButton:hover:not(:disabled){background:#fee2e2}.adminUsersTable{border:1px solid var(--border);box-shadow:var(--shadow-subtle);background:#fff;border-radius:18px;overflow-x:auto}.adminUsersTable table{table-layout:fixed;min-width:100%}.adminUsersTable th:first-child,.adminUsersTable td:first-child{width:22%}.adminUsersTable th:nth-child(2),.adminUsersTable td:nth-child(2){width:13%}.adminUsersTable th:nth-child(3),.adminUsersTable td:nth-child(3){width:22%}.adminUsersTable th:nth-child(4),.adminUsersTable td:nth-child(4){width:10%}.adminUsersTable th:nth-child(5),.adminUsersTable td:nth-child(5){width:14%}.adminUsersTable th:nth-child(6),.adminUsersTable td:nth-child(6){width:9%}.adminUsersTable th:nth-child(7),.adminUsersTable td:nth-child(7){width:10%}.adminUsersTable th{color:#a8afa9;letter-spacing:.16em;background:#fff;font-size:11px}.adminUsersTable td{color:#778274;height:66px;font-size:12px}.adminUsersTable th,.adminUsersTable td{border-bottom-color:#edf2ec;padding:10px 14px}.adminUsersTable tbody tr:hover{background:#f8fcf5}.accountCell{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.userAvatar{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--figma-purple);font-family:var(--font-mono), "Roboto Mono", monospace;background:linear-gradient(135deg,#e8f7ef,#fff8d7);place-items:center;font-size:11px;font-weight:700;display:grid}.accountCell strong{color:var(--primary-hover);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.25;overflow:hidden}.accountCell span span,.refCell small{color:#728178;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.roleSelect{border-radius:var(--radius-md);width:100%;min-height:36px;color:var(--text-secondary);background:0 0;border:1px solid #0000;padding:0 4px;font-size:13px;font-weight:600}.roleSelect:hover,.roleSelect:focus{border-color:var(--border);background:#f8fcf5;outline:none}.roleSelect:disabled{color:#9aa39d}.permissionGrid{flex-wrap:wrap;align-items:center;gap:5px;max-width:none;display:flex}.permissionChip{border-radius:var(--radius-sm);color:#8b9b91;white-space:nowrap;background:#fff;border:1px solid #e6efe2;align-items:center;gap:5px;min-height:28px;padding:0 5px;font-size:9px;font-weight:700;display:inline-flex}.permissionChip.active{color:var(--figma-purple);background:#e8f7ef;border-color:#b9dfaa}.permissionChip input{width:12px;height:12px;accent-color:var(--figma-purple)}.permissionChip:has(input:disabled){opacity:.78}.refCell{color:#7f897f;gap:2px;min-width:0;font-weight:600;display:grid}.accountState{border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.accountState.active{background:var(--primary)}.accountState.inactive{background:#c8cec8}.adminActions{align-items:center;gap:4px;min-width:86px;display:flex}.rowIconButton{border-radius:var(--radius-sm);color:#b7bfc0;background:0 0;border:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.rowIconButton:hover:not(:disabled){color:var(--figma-purple);background:#e8f7ef}.rowIconButton.danger:hover:not(:disabled){color:var(--error-text);background:#fef2f2}.rowIconButton.success:hover:not(:disabled){color:var(--figma-purple);background:#008f5a1f}.rowIconButton:disabled{color:#d0d6d2}.savingIcon{color:var(--figma-purple);animation:.8s linear infinite spin}html[data-theme=dark] .sidebar{background:#08140ed6;box-shadow:inset -1px 0 #b1d9bf14}html[data-theme=dark] .appHeader{background:#08140ec2}html[data-theme=dark] .brandMark{box-shadow:0 16px 32px -24px #19b879b8}html[data-theme=dark] .navButton{color:#f3fbf5b3}html[data-theme=dark] .navButton:hover{background:#ffffff0f}html[data-theme=dark] .navButton.active{color:var(--primary-hover);background:linear-gradient(90deg,#19b8792e,#7bc14314)}html[data-theme=dark] .globalSearch,html[data-theme=dark] .navIconButton{background:#12241bc7;border-color:#b1d9bf1f}html[data-theme=dark] .globalSearch kbd{color:var(--text-muted);background:#ffffff0a;border-color:#b1d9bf2e}html[data-theme=dark] .navIconButton:hover,html[data-theme=dark] .navIconButton.activeThemeToggle,html[data-theme=dark] .notificationButton.open,html[data-theme=dark] .userButton:hover{color:var(--primary-hover);background:#19b87924}html[data-theme=dark] .notificationDropdown,html[data-theme=dark] .userDropdown{background:#0a1811f5;border-color:#b1d9bf29}html[data-theme=dark] .notificationDropdownHeader{border-bottom-color:#b1d9bf1f}html[data-theme=dark] .userDropdownHeader,html[data-theme=dark] .userDropdownActions{border-color:#b1d9bf1f}html[data-theme=dark] .userDropdownMeta div{background:#19b87912;border-color:#b1d9bf1f}html[data-theme=dark] .userPermissionList span{color:var(--primary-hover);background:#19b87924;border-color:#19b87947}html[data-theme=dark] .userDropdownActions button:hover{background:#19b8791a}html[data-theme=dark] .userDropdownActions button.danger:hover{background:#ff6b6b1f}html[data-theme=dark] .notificationDropdownHeader button{color:var(--primary-hover);background:#19b8791f;border-color:#19b87942}html[data-theme=dark] .notificationDropdownHeader button:hover,html[data-theme=dark] .notificationItem:hover{background:#19b8791a}html[data-theme=dark] .notificationSeverity{box-shadow:0 0 0 4px #19b87924}html[data-theme=dark] .notificationSeverity.haute,html[data-theme=dark] .notificationSeverity.manquant{box-shadow:0 0 0 4px #ff6b6b24}html[data-theme=dark] .profileAvatar{color:#06140d}html[data-theme=dark] .errorBanner,html[data-theme=dark] .dangerButton,html[data-theme=dark] .rowIconButton.danger:hover:not(:disabled){background:#ff6b6b1f;border-color:#ff6b6b47}html[data-theme=dark] .dangerButton:hover:not(:disabled){background:#ff6b6b2e}html[data-theme=dark] .kpiCard.green .kpiIconBubble,html[data-theme=dark] .metricChip,html[data-theme=dark] .statusPill.validé,html[data-theme=dark] .statusPill.reçu,html[data-theme=dark] .statusPill.actif,html[data-theme=dark] .scoreBubble{background:#37d4951f;border-color:#37d49547}html[data-theme=dark] .statusPill.brouillon,html[data-theme=dark] .statusPill.normale,html[data-theme=dark] .statusPill.planifié,html[data-theme=dark] .statusPill.déclarée,html[data-theme=dark] .statusPill.en{background:#19b8791a;border-color:#60e6a838}html[data-theme=dark] .statusPill.manquant,html[data-theme=dark] .statusPill.haute{background:#ff6b6b1f;border-color:#ff6b6b47}html[data-theme=dark] .dataRow{border-bottom-color:#b1d9bf1f}html[data-theme=dark] .dataRow:hover,html[data-theme=dark] tbody tr:hover,html[data-theme=dark] .adminUsersTable tbody tr:hover,html[data-theme=dark] .roleSelect:hover,html[data-theme=dark] .roleSelect:focus,html[data-theme=dark] .deleteSummary{background:#19b87912}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowPermanent td{background:#60a5fa29}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowCdd td{background:#3b82f63d}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowCddi td{background:#fb923c29}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowService td{background:#f472b629}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowPermanent:hover td{background:#60a5fa38}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowCdd:hover td{background:#3b82f64d}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowCddi:hover td{background:#fb923c38}html[data-theme=dark] .personnelRegisterTable tbody tr.personnelRowService:hover td{background:#f472b63b}html[data-theme=dark] .barTrack{background:#b1d9bf1f}html[data-theme=dark] .tableWrap,html[data-theme=dark] .cistTableWrap,html[data-theme=dark] th,html[data-theme=dark] .formStack input,html[data-theme=dark] .formStack select,html[data-theme=dark] .searchBox,html[data-theme=dark] .searchBox input,html[data-theme=dark] .timeClockFace,html[data-theme=dark] .timeClockForm input,html[data-theme=dark] .materialTab,html[data-theme=dark] .inlineFilter select,html[data-theme=dark] .inlineFilter input,html[data-theme=dark] .sheetSelectors select,html[data-theme=dark] .sheetNotes input,html[data-theme=dark] .materialEntryRow input,html[data-theme=dark] .userCrudModal,html[data-theme=dark] .chantierCrudModal,html[data-theme=dark] .cistCrudModal,html[data-theme=dark] .referenceCrudModal,html[data-theme=dark] .referenceTableWrap,html[data-theme=dark] .referentielTab,html[data-theme=dark] .referenceFormGrid input,html[data-theme=dark] .referenceFormGrid select,html[data-theme=dark] .referenceFormGrid textarea,html[data-theme=dark] .chantierFormGrid input,html[data-theme=dark] .chantierFormGrid select,html[data-theme=dark] .cistFormGrid input,html[data-theme=dark] .cistFormGrid select,html[data-theme=dark] .cistFormGrid textarea,html[data-theme=dark] .chantierMiniPanel input,html[data-theme=dark] .chantierNotes textarea,html[data-theme=dark] .confirmModal,html[data-theme=dark] .userCrudGrid input,html[data-theme=dark] .userCrudGrid select,html[data-theme=dark] .adminUsersTable,html[data-theme=dark] .adminUsersTable th,html[data-theme=dark] .permissionChip{background:#0f1f17e6}html[data-theme=dark] .timeClockResult.start{background:#19b87924;border-color:#37d49557}html[data-theme=dark] .timeClockResult.end{color:var(--accent-blue);background:#43c8e81f;border-color:#43c8e84d}html[data-theme=dark] .timeClockPinDots span{border-color:#60e6a85c}html[data-theme=dark] .timeClockPinDots span.filled{border-color:var(--primary-hover);background:var(--primary-hover)}html[data-theme=dark] .timeClockKey{color:var(--text-primary);background:#ffffff14;border-color:#b1d9bf29}html[data-theme=dark] .timeClockKey:hover:not(:disabled){background:#19b87929;border-color:#60e6a852}html[data-theme=dark] .timeClockKey.secondary{color:var(--text-secondary);background:#ffffff0f}html[data-theme=dark] .timeClockKey.validate{color:#06140d}html[data-theme=dark] .formStack input,html[data-theme=dark] .formStack select,html[data-theme=dark] .searchBox input,html[data-theme=dark] .timeClockForm input,html[data-theme=dark] .inlineFilter select,html[data-theme=dark] .inlineFilter input,html[data-theme=dark] .sheetSelectors select,html[data-theme=dark] .sheetNotes input,html[data-theme=dark] .materialEntryRow input,html[data-theme=dark] .referenceFormGrid input,html[data-theme=dark] .referenceFormGrid select,html[data-theme=dark] .referenceFormGrid textarea,html[data-theme=dark] .chantierFormGrid input,html[data-theme=dark] .chantierFormGrid select,html[data-theme=dark] .cistFormGrid input,html[data-theme=dark] .cistFormGrid textarea,html[data-theme=dark] .chantierMiniPanel input,html[data-theme=dark] .chantierNotes textarea,html[data-theme=dark] .userCrudGrid input,html[data-theme=dark] .userCrudGrid select,html[data-theme=dark] .roleSelect{color:var(--text-primary)}html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .adminUsersTable th,html[data-theme=dark] .adminUsersTable td,html[data-theme=dark] .cistTable th,html[data-theme=dark] .cistTable td,html[data-theme=dark] .stockRow,html[data-theme=dark] .materialEntryRow{border-top-color:#b1d9bf1f;border-bottom-color:#b1d9bf1f}html[data-theme=dark] .modalBackdrop{background:#00000094}html[data-theme=dark] .linkedInfo{background:#19b87914}html[data-theme=dark] .userAvatar{background:linear-gradient(135deg,#19b8792e,#ffe1001f)}html[data-theme=dark] .permissionChip.active,html[data-theme=dark] .rowIconButton:hover:not(:disabled){background:#19b87924;border-color:#19b87947}html[data-theme=dark] .accountState.inactive{background:#b1d9bf42}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:960px){.appShell{grid-template-columns:256px minmax(0,1fr);max-width:none;margin:0;padding-top:0}.sidebar{gap:0;width:256px;padding:24px 16px}.brandBlock{gap:10px;margin-bottom:32px;padding:0 8px}.brandBlock strong{font-size:16px}.brandBlock em{font-size:11px}.brandMark{border-radius:12px;width:36px;height:36px}.navList{gap:4px;margin-left:0;overflow:visible}.navButton{min-height:40px;padding:10px 12px;font-size:14px}.appHeader{grid-template-columns:minmax(0,1fr) auto;gap:14px;margin:0 -28px 38px;padding:14px 28px}.headerIntro{grid-area:1/1}.globalSearch{grid-area:2/1/auto/-1}.headerActions{grid-area:1/2;justify-self:end;gap:4px}.navIconButton{width:42px;min-height:42px}.userButton{padding:0 4px}.userButton strong{display:none}.workspace{padding:0 28px 40px}.dashboardGrid{grid-template-columns:1fr}.kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.splitGrid{grid-template-columns:1fr}.userCrudGrid,.chantierFormGrid,.cistFormGrid,.referenceFormGrid,.referenceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.chantierSubGrid{grid-template-columns:1fr}.panel.wide{grid-column:auto}}@media (max-width:720px){.appShell{max-width:none;margin:0;padding-top:0;display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;gap:10px;width:100%;min-height:auto;padding:12px 14px;position:sticky;top:0;bottom:auto;right:0}.brandBlock{border-bottom:0;border-right:0;flex:220px;min-height:44px;margin-bottom:0;padding:0}.brandMark{border-radius:12px;width:34px;height:34px}.brandMark svg{width:21px;height:21px}.navList{scrollbar-width:none;flex-direction:row;order:3;gap:6px;width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}.navList::-webkit-scrollbar{display:none}.navList:before{display:none}.navButton{border-radius:var(--radius-md);flex:none;min-height:36px;padding:0 10px}.navButton.active{background:var(--surface-selected)}.navButton.active:before{display:none}.appHeader{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:auto;margin:0 -14px 28px;padding:14px}.headerIntro{grid-area:1/1}.headerIntro span,.headerIntro strong{font-size:13px}.globalSearch{grid-area:2/1/auto/-1;min-height:42px}.globalSearch span{font-size:13px}.globalSearch kbd{display:none}.headerActions{grid-area:1/2;justify-self:end;gap:4px;padding:0}.notificationDropdown{width:min(340px,100vw - 28px);right:-92px}.userDropdown{width:min(320px,100vw - 28px);right:-48px}.headerActions .navIconButton:first-child{display:none}.userButton{padding:0 4px}.userButton svg{display:none}.workspace{padding:0 14px}.dashboardGrid,.kpiGrid{grid-template-columns:1fr}.dashboardGrid .panel.wide,.panel.wide{grid-column:span 1}.pageHero{flex-direction:column;align-items:flex-start;gap:14px;margin:0 4px 24px}.panelHeader,.userCrudHeader,.userCrudFooter{flex-direction:column;align-items:flex-start}.userCrudGrid,.chantierFormGrid{grid-template-columns:1fr}.cistFormGrid,.cistFormGrid label.wide{grid-column:auto;grid-template-columns:1fr}.referenceFormGrid{grid-template-columns:1fr}.linkedInfo{grid-column:span 1}.pageHero h1{font-size:24px;line-height:1.2}h2{font-size:22px}.pageHero .sectionSubline{font-size:12px}.dashboardGrid,.splitGrid{grid-template-columns:1fr}.panel.wide{grid-column:auto}.kpiGrid,.documentGrid,.stockLocationGrid,.materialSheetsGrid,.referenceGrid{grid-template-columns:1fr}.materialTabs{width:100%}.materialTab{flex:140px}.sheetSelectors{grid-template-columns:1fr}.searchBox,.headerTools,.uploadBox{width:100%}.headerTools,.uploadBox,.timeClockTopbar,.timeClockFilters{flex-direction:column;align-items:stretch}.timeClockKiosk{padding:20px}.timeClockFace strong{font-size:40px}.timeClockKeypad{grid-template-columns:repeat(3,76px);gap:12px}.timeClockKey{width:76px;height:76px;font-size:31px}.timeClockTotals{grid-template-columns:1fr}.uploadBox input[type=file]{max-width:100%}}
