@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:0.5rem}*{border-color:#e5e5e5;border-color:hsl(var(--border))}body{background-color:#fff;background-color:hsl(var(--background));color:#0a0a0a;color:hsl(var(--foreground))}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[9999\]{z-index:9999}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[125px\]{height:125px}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[125px\]{width:125px}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[200px\]{min-width:200px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-5xl{max-width:64rem}.max-w-lg{max-width:32rem}.max-w-max{max-width:-webkit-max-content;max-width:max-content}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.rounded-md{border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(.5rem - 4px);border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-destructive{border-color:#ef4444;border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:#ef444480;border-color:hsl(var(--destructive)/.5)}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-input{border-color:#e5e5e5;border-color:hsl(var(--input))}.border-primary{border-color:#171717;border-color:hsl(var(--primary))}.border-primary\/50{border-color:#17171780;border-color:hsl(var(--primary)/.5)}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:#dc2626;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.\!bg-orange-500{--tw-bg-opacity:1!important;background-color:#f97316!important;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))!important}.bg-accent{background-color:#f5f5f5;background-color:hsl(var(--accent))}.bg-background{background-color:#fff;background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-border{background-color:#e5e5e5;background-color:hsl(var(--border))}.bg-card{background-color:#fff;background-color:hsl(var(--card))}.bg-destructive{background-color:#ef4444;background-color:hsl(var(--destructive))}.bg-foreground{background-color:#0a0a0a;background-color:hsl(var(--foreground))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-muted{background-color:#f5f5f5;background-color:hsl(var(--muted))}.bg-muted\/50{background-color:#f5f5f580;background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:#fff;background-color:hsl(var(--popover))}.bg-primary{background-color:#171717;background-color:hsl(var(--primary))}.bg-primary\/10{background-color:#1717171a;background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:#17171733;background-color:hsl(var(--primary)/.2)}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.fill-current{fill:currentColor}.fill-primary{fill:#171717;fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:#171717;color:hsl(var(--accent-foreground))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-card-foreground{color:#0a0a0a;color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:#ef4444;color:hsl(var(--destructive))}.text-destructive-foreground{color:#fafafa;color:hsl(var(--destructive-foreground))}.text-foreground{color:#0a0a0a;color:hsl(var(--foreground))}.text-foreground\/50{color:#0a0a0a80;color:hsl(var(--foreground)/.5)}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:#14532d;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-muted{color:#f5f5f5;color:hsl(var(--muted))}.text-muted-foreground{color:#737373;color:hsl(var(--muted-foreground))}.text-popover-foreground{color:#0a0a0a;color:hsl(var(--popover-foreground))}.text-primary{color:#171717;color:hsl(var(--primary))}.text-primary-foreground{color:#fafafa;color:hsl(var(--primary-foreground))}.text-purple-900{--tw-text-opacity:1;color:#581c87;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:#7f1d1d;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-secondary-foreground{color:#171717;color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in{--tw-enter-scale:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::-webkit-file-upload-button{background-color:initial}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::-webkit-file-upload-button{color:#0a0a0a;color:hsl(var(--foreground))}.file\:text-foreground::file-selector-button{color:#0a0a0a;color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:#737373;color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{bottom:0;content:var(--tw-content);top:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{--tw-translate-x:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:\!bg-orange-600:hover{--tw-bg-opacity:1!important;background-color:#ea580c!important;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))!important}.hover\:bg-accent:hover{background-color:#f5f5f5;background-color:hsl(var(--accent))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-destructive\/80:hover{background-color:#ef4444cc;background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:#ef4444e6;background-color:hsl(var(--destructive)/.9)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{background-color:#f5f5f5;background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:#f5f5f580;background-color:hsl(var(--muted)/.5)}.hover\:bg-primary:hover{background-color:#171717;background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:#171717cc;background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:#171717e6;background-color:hsl(var(--primary)/.9)}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:#f5f5f5cc;background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:#171717;color:hsl(var(--accent-foreground))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{color:#0a0a0a;color:hsl(var(--foreground))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-muted-foreground:hover{color:#737373;color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:#fafafa;color:hsl(var(--primary-foreground))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:#f5f5f5;background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:#171717;background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:#171717;color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:#fafafa;color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:#f5f5f566;border-color:hsl(var(--muted)/.4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:#e5e5e5;border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:#f5f5f5;background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:#171717;background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:#fff;background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:#737373;color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:#fafafa;color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:#0a0a0a;color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:#ef44444d;border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:#ef4444;background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:#fafafa;color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:#fef2f2;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:#171717;color:hsl(var(--accent-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:#fff;background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#171717;background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:#f5f5f580;background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:#f5f5f5;background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#e5e5e5;background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:#737373;color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:#171717;color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:#0a0a0a;color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:#fafafa;color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:#171717;color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#737373;color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{--tw-translate-y:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{--tw-translate-x:0px;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:#ef4444;border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:#f5f5f5;background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{height:1rem;width:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:#ef4444;color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:#0a0a0a;color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div,.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#737373;color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}#emergent-badge,a[href*="emergent.sh"],div[style*="position: fixed"][style*="bottom: 20px"][style*="right: 20px"]{display:none!important}*{margin:0;padding:0}body{background-color:#f8fafc;color:#1e293b;font-family:Inter,sans-serif;line-height:1.6}.App{min-height:100vh}.loading,.loading-app{color:#64748b;font-size:1.2rem}.loading,.loading-app,.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.login-container{background:linear-gradient(135deg,#dc2626,#b91c1c);padding:2rem}.login-box{max-width:480px;width:100%}.login-header{margin-bottom:2rem;text-align:center}.logo{color:#fff;margin-bottom:2rem}.logo-flame{margin-bottom:1rem}.flame-container,.logo-flame{display:flex;justify-content:center}.flame-container{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 20px #0000001a;height:80px;width:80px}.flame-icon{color:#dc2626;font-size:2.5rem}.sidebar-logo .logo-flame .flame-container{height:40px;width:40px}.sidebar-logo .logo-flame .flame-icon{font-size:1.25rem}.logo h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #0000001a}.version{font-size:1rem;font-weight:400;opacity:.9}.login-card{background:#fff;border:none;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a}.demo-accounts{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.demo-accounts h3{color:#64748b;font-size:.875rem;font-weight:600;margin-bottom:1rem;text-align:center}.demo-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.demo-buttons button{font-size:.875rem;height:auto;line-height:1.2;padding:.75rem 1rem;text-align:center;white-space:normal}@media (min-width:480px){.demo-buttons{grid-template-columns:1fr 1fr}}.app-layout{display:flex;min-height:100vh}.mobile-menu-toggle{background:#dc2626;border:none;border-radius:8px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:none;flex-direction:column;gap:4px;left:1rem;padding:.75rem;position:fixed;top:1rem;z-index:1002}.hamburger-line{background:#fff;border-radius:1px;height:2px;transition:all .3s ease;width:20px}.mobile-overlay{background:#0000004d;bottom:0;display:none;left:280px;pointer-events:auto;position:fixed;right:0;top:0;z-index:998}@media (max-width:768px){.mobile-menu-toggle{display:flex}.mobile-overlay{display:block;left:280px}.sidebar{background:#dc2626;height:100vh;left:0;pointer-events:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:1000}.sidebar.mobile-open{box-shadow:0 4px 20px #0000004d;transform:translateX(0)}.sidebar.mobile-open .nav-item{background:none;border:none;color:#fffc;pointer-events:auto!important;position:relative;z-index:1001}.sidebar.mobile-open .nav-item:hover{background-color:#ffffff1a!important;color:#fff!important}.sidebar.mobile-open .nav-item.active{background-color:#fff3!important;color:#fff!important}.main-content{margin-left:0;width:100%}.stats-grid{grid-template-columns:1fr}.planning-controls{flex-direction:column;gap:1rem}.kpi-grid{grid-template-columns:1fr}}.sidebar{background-color:#dc2626;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;max-height:100vh;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;width:280px;z-index:100}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:1.5rem}.sidebar-logo{align-items:center;display:flex;gap:1rem}.sidebar-logo .logo-icon{font-size:2rem}.sidebar-logo h2{font-size:1.5rem;font-weight:700}.sidebar-logo .version{font-size:.75rem;opacity:.8}.sidebar-nav{flex:1 1;padding:1rem 0}.nav-item{align-items:center;background:none;border:none;color:#fffc;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:1rem;padding:.875rem 1.5rem;text-align:left;transition:all .2s ease;width:100%}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background-color:#fff3;border-right:4px solid #fff;color:#fff}.nav-icon{font-size:1.2rem;text-align:center;width:24px}.sidebar-user{border-top:1px solid #ffffff1a;flex-shrink:0;margin-top:auto;padding:1rem 1.5rem 1.5rem}.user-info{align-items:center;gap:1rem;margin-bottom:1rem}.user-avatar{background-color:#fff3;height:48px;width:48px}.user-icon{font-size:1.5rem}.user-details{flex:1 1}.user-name{color:#fff!important;font-size:.9rem}.user-role{color:#fff!important;font-size:.75rem;opacity:.9}.logout-btn{background-color:#ffffff1a;border:1px solid #fff3;color:#fff;font-size:.875rem;height:auto;padding:.5rem 1rem;width:100%}.logout-btn:hover{background-color:#fff3;color:#fff}.main-content{background-color:#f8fafc;box-sizing:border-box;flex:1 1;margin-left:280px;max-width:100%;min-height:100vh;overflow-x:hidden;padding:2rem}.dashboard{animation:fadeIn .3s ease-out;min-height:calc(100vh - 4rem);padding-bottom:2rem}.dashboard-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.dashboard-header p{color:#64748b;font-size:1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.stat-icon{background-color:#f1f5f9;height:60px;width:60px}.stat-card.personnel .stat-icon{background-color:#dbeafe}.stat-card.gardes .stat-icon{background-color:#dcfce7}.stat-card.formations .stat-icon{background-color:#fef3c7}.stat-card.couverture .stat-icon{background-color:#ede9fe}.activity-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.activity-section h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.activity-list{space-y:.75rem}.activity-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;padding:.75rem 0}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;background-color:#f1f5f9;border-radius:50%;display:flex;font-size:1.25rem;height:32px;justify-content:center;width:32px}.activity-text{color:#374151;flex:1 1;font-weight:500}.activity-time{color:#9ca3af;font-size:.875rem}.monthly-stats{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.monthly-stats h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.monthly-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.monthly-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.monthly-label{color:#64748b;font-weight:500}.monthly-value{color:#dc2626;font-size:1.5rem;font-weight:700}.admin-dashboard-section,.employee-dashboard-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.admin-dashboard-section h2,.employee-dashboard-section h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.admin-quick-stats,.personal-stats{display:flex;flex-direction:column;gap:1rem}.personal-stat-item,.quick-stat-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.personal-stat-label,.quick-stat-label{color:#64748b;font-size:.875rem;font-weight:500}.personal-stat-value,.quick-stat-value{color:#1e293b;font-size:1rem;font-weight:600}.demo-data-section-always{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fcd34d;border-radius:12px;margin:2rem 0;padding:2rem;text-align:center}.demo-data-section-always h2{color:#92400e;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.demo-data-section-always p{color:#78350f;font-size:1rem;margin-bottom:1.5rem}.demo-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.demo-data-section{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;margin-top:2rem;padding:1.5rem}.demo-data-section h4{color:#92400e;font-weight:600;margin-bottom:.5rem}.demo-data-section p{color:#78350f;font-size:.875rem;margin-bottom:1rem}.activity-list{display:flex;flex-direction:column;gap:.75rem}.no-activity{color:#6b7280;padding:2rem;text-align:center}.no-activity small{color:#9ca3af;font-size:.75rem}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.monthly-grid{grid-template-columns:1fr}.admin-quick-stats,.personal-stats{gap:.75rem}}.personnel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.personnel-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.personnel-header p{color:#64748b}.add-btn{background-color:#dc2626;border:none;color:#fff;font-weight:600;padding:.75rem 1.5rem}.add-btn:hover{background-color:#b91c1c}.personnel-table{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{grid-gap:1rem;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;gap:1rem;grid-template-columns:2fr 1.3fr 2fr .8fr 1.2fr 1.8fr;padding:1rem 1.5rem}.header-cell{color:#64748b;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.table-row{grid-gap:1rem;align-items:center;border-bottom:1px solid #f1f5f9;gap:1rem;grid-template-columns:2fr 1.3fr 2fr .8fr 1.2fr 1.8fr;padding:1rem 1.5rem;transition:background-color .2s ease}.table-row:hover{background-color:#f8fafc}.table-row:last-child{border-bottom:none}.user-cell{gap:1rem;min-width:0}.user-avatar,.user-cell{align-items:center;display:flex}.user-avatar{background-color:#f1f5f9;border-radius:50%;height:40px;justify-content:center;width:40px}.avatar-icon{font-size:1.25rem}.user-name{font-weight:600;margin-bottom:.25rem}.user-hire-date{color:#64748b;font-size:.75rem}.grade-cell{display:flex;flex-direction:column;gap:.25rem;min-width:0}.grade{align-items:center;border-radius:20px;color:#fff;display:inline-flex;font-weight:600;padding:.25rem .75rem;width:-webkit-fit-content;width:fit-content}.employee-id,.grade{font-size:.75rem}.contact-cell{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.contact-cell .user-email,.contact-cell .user-emergency,.contact-cell .user-phone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#1e293b;font-size:.875rem}.user-phone{color:#64748b;font-size:.75rem}.status-badge{align-items:center;border-radius:20px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.employment-type{font-size:.875rem;font-weight:500}.employment-type.temps_plein{color:#059669}.employment-type.temps_partiel{color:#d97706}.formations-cell{display:flex;flex-direction:column;gap:.25rem}.formation-badge{background-color:#e0e7ff;border-radius:12px;color:#3730a3;display:inline-flex;font-size:.625rem;font-weight:500;padding:.125rem .5rem;width:-webkit-fit-content;width:fit-content}.formations-count{color:#64748b;font-size:.75rem}.actions-cell{align-items:flex-start;display:flex;flex-direction:column;gap:0;justify-content:flex-start;min-width:0}.action-btn{align-items:center;background-color:initial;border:1px solid #e2e8f0;border-radius:6px;display:flex;height:32px;justify-content:center;padding:.25rem;transition:all .2s ease;width:32px}.action-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1}.action-btn.danger:hover{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.page-placeholder{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#64748b;display:flex;font-size:1.25rem;font-weight:500;justify-content:center;min-height:400px}.personnel-table-desktop{display:block}.personnel-cards-mobile{display:none}@media (max-width:768px){.personnel-table-desktop{display:none}.personnel-cards-mobile{display:flex;flex-direction:column;gap:1rem}}.personnel-card-mobile{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1rem}.card-header-mobile{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.user-info-mobile{align-items:center;display:flex;gap:.75rem}.user-details-mobile h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.25rem}.user-grade-mobile{color:#64748b;font-size:.875rem;margin:0}.fonction-sup-mobile{color:#dc2626;font-size:.75rem;font-weight:600}.status-mobile{text-align:right}.status-badge-mobile{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.card-details-mobile{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-row-mobile{align-items:center;display:flex;font-size:.875rem;gap:.75rem}.detail-label{font-size:1rem;text-align:center;width:20px}.detail-value{color:#374151;flex:1 1}.card-actions-mobile{display:flex;gap:.5rem;justify-content:space-between}@media (max-width:1024px){.sidebar{width:240px}.main-content{margin-left:240px;padding:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.kpi-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.kpi-card{padding:1.5rem}.large-modal{max-width:90%;width:90%}.detail-item-optimized{gap:2rem!important}.detail-item-optimized .detail-label{min-width:120px!important}.batiments-header-controls{flex-wrap:wrap;justify-content:flex-end}}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.main-content{margin-left:0;max-width:100vw;overflow-x:hidden;padding:1rem}.stats-grid,.table-header,.table-row{grid-template-columns:1fr}.table-header,.table-row{gap:.5rem}.personnel-header{align-items:stretch;flex-direction:column;gap:1rem}.action-controls,.personnel-controls,.planning-controls{flex-direction:column;gap:.5rem;width:100%}.action-controls button,.personnel-controls button,.planning-controls button{font-size:.875rem;line-height:1.3;padding:.75rem;white-space:normal;width:100%}.kpi-grid{gap:1rem;grid-template-columns:1fr;padding:0}.kpi-card{min-height:120px;padding:1.5rem 1rem}.kpi-card h3{font-size:2rem}.kpi-card p{font-size:.875rem}.large-modal{margin:1rem auto;max-height:90vh;max-width:95%;overflow-y:auto;width:95%}.profile-details-grid-optimized{gap:1rem;grid-template-columns:1fr}.detail-item-optimized{align-items:flex-start!important;flex-direction:column;gap:.5rem!important;padding:.75rem!important}.detail-item-optimized .detail-label{min-width:0!important;min-width:auto!important;white-space:normal}.detail-item-optimized .detail-value{margin-left:0!important;text-align:left!important;word-break:break-word}.profile-summary-compact{flex-direction:column;text-align:center}.profile-info-summary h4{font-size:1.1rem}.profile-badges{flex-wrap:wrap;gap:.5rem;justify-content:center}.disponibilites-visual-container>div:first-of-type{flex-direction:column!important;gap:1rem!important;padding:.75rem!important}.disponibilites-visual-container>div:first-of-type button{justify-content:center;width:100%}.disponibilites-visual-container>div:first-of-type h2{font-size:1.1rem!important;text-align:center}.batiments-header-controls{flex-direction:column!important;gap:.75rem!important;width:100%}.batiments-header-controls .view-mode-toggle,.batiments-header-controls button{width:100%}.view-mode-toggle{justify-content:center}.prevention-batiments .page-header{align-items:flex-start;flex-direction:column;gap:1rem}.prevention-batiments .page-header h2{margin-bottom:0}.stats-mois-grid{grid-template-columns:1fr;padding:.75rem}.stat-value{font-size:1.25rem}.export-buttons,.view-toggle{flex-direction:column;width:100%}.export-buttons button,.view-toggle button{width:100%}}.settings-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.section-header,.settings-section{margin-bottom:2rem}.section-header h2{font-size:1.5rem;margin-bottom:.25rem}.section-header p{color:#64748b;font-size:.875rem}.types-garde-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.type-garde-card{border-radius:8px}.type-garde-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.duration,.personnel-required,.schedule-time{color:#64748b;font-size:.875rem}.type-actions .action-btn{height:32px;padding:.25rem;width:32px}.type-color{align-items:center;display:flex;gap:.5rem}.type-color,.type-days,.type-officer{color:#64748b;font-size:.875rem}.attribution-settings{grid-gap:2rem;display:grid}.setting-item h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.priority-list{gap:.75rem}.priority-item{background:#f1f5f9;border-left:4px solid #3b82f6;display:flex}.priority-number{background:#3b82f6}.priority-text{color:#374151}.advanced-settings{display:flex;flex-direction:column;gap:1rem}.setting-checkbox input[type=checkbox]{accent-color:#3b82f6}.replacement-settings{grid-gap:1.5rem;display:grid;gap:1.5rem}.setting-group{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.notification-bell-container{position:fixed;right:5rem;top:1rem;z-index:999}.notification-bell{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#dc2626;cursor:pointer;display:flex;font-size:1.2rem;height:45px;justify-content:center;position:relative;transition:all .3s;width:45px}.notification-bell:hover{background:#fef2f2;border-color:#dc2626;transform:scale(1.05)}.notification-badge{align-items:center;animation:pulse 2s infinite;background:#dc2626;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:22px;justify-content:center;position:absolute;right:-5px;top:-5px;width:22px}.notifications-dropdown{animation:slideDown .3s ease-out;background:#fff;border-radius:.75rem;box-shadow:0 10px 40px #00000026;max-height:500px;overflow:hidden;position:absolute;right:0;top:60px;width:400px;z-index:1000}.notifications-header{align-items:center;background:#fef2f2;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.25rem}.notifications-header h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.mark-all-read{background:#0000;border:none;color:#dc2626;cursor:pointer;font-size:.85rem;font-weight:500}.mark-all-read:hover{text-decoration:underline}.notifications-list{max-height:400px;overflow-y:auto}.no-notifications{color:#9ca3af;padding:3rem 2rem;text-align:center}.no-notifications i{display:block;font-size:3rem;margin-bottom:1rem}.no-notifications p{font-size:.95rem;margin:0}.notification-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:1rem 1.25rem;position:relative;transition:background .2s}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#fef2f2}.notification-item.unread:hover{background:#fee2e2}.notification-icon{align-items:center;background:#f3f4f6;border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;width:40px}.notification-item.unread .notification-icon{background:#fecaca}.notification-content{flex:1 1}.notification-content h4{color:#1f2937;font-size:.95rem;font-weight:600;margin:0 0 .25rem}.notification-content p{color:#6b7280;font-size:.85rem;line-height:1.4;margin:0 0 .5rem}.notification-time{color:#9ca3af;font-size:.75rem}.notification-dot{background:#dc2626;border-radius:50%;height:8px;position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:8px}@media (max-width:768px){.notification-bell-container{right:3.5rem;top:.75rem}.notification-bell{font-size:1rem;height:40px;width:40px}.notification-badge{font-size:.65rem;height:18px;width:18px}.notifications-dropdown{max-width:350px;right:-50px;width:90vw}.notification-item{padding:.85rem 1rem}.notification-icon{font-size:1.2rem;height:35px;width:35px}}.setting-group label{color:#374151;display:flex;flex-direction:column;font-weight:500;gap:.5rem}.setting-input{max-width:200px}.form-grid{gap:1.5rem}@media (max-width:1024px){.types-garde-list{grid-template-columns:1fr}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.setting-group{grid-template-columns:1fr}}@media (max-width:768px){.form-row{grid-template-columns:1fr}.days-selection{grid-template-columns:repeat(2,1fr)}.type-garde-header{flex-direction:column;gap:1rem}.type-actions{align-self:flex-end}}.remplacements{animation:fadeIn .3s ease-out}.remplacements-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.remplacements-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.remplacements-header p{color:#64748b;font-size:1rem}.remplacements-controls{display:flex;gap:1rem}.replacement-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{border:1px solid #e2e8f0;transition:transform .2s ease,box-shadow .2s ease}.stat-card .stat-icon{align-items:center;background-color:#f1f5f9;border-radius:12px;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.stat-card.pending .stat-icon{background-color:#fef3c7}.stat-card.approved .stat-icon{background-color:#dcfce7}.stat-card.refused .stat-icon{background-color:#fee2e2}.stat-card.coverage .stat-icon{background-color:#ede9fe}.stat-content h3{color:#94a3b8!important;font-size:.65rem!important;font-weight:500!important;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.stat-number{font-size:1.875rem;margin-bottom:.25rem}.stat-label{color:#94a3b8}.replacements-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.list-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.list-header h2{color:#1e293b;font-size:1.25rem;font-weight:600}.filter-controls{display:flex;gap:.5rem}.replacements-table{background:#fff}.replacements-table .table-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.replacements-table .table-header,.replacements-table .table-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1.5fr 1fr 2fr 1fr 1.5fr 1fr;padding:1rem 1.5rem}.replacements-table .table-row{align-items:center;border-bottom:1px solid #f1f5f9;transition:background-color .2s ease}.replacements-table .table-row:hover{background-color:#f8fafc}.demandeur-cell{align-items:center;display:flex;gap:.75rem}.demandeur-cell .user-avatar{align-items:center;background-color:#f1f5f9;border-radius:50%;display:flex;height:36px;justify-content:center;width:36px}.demandeur-cell .avatar-icon{font-size:1rem}.demandeur-cell .user-name{color:#1e293b;font-weight:600;margin-bottom:.125rem}.demandeur-cell .request-date{color:#64748b;font-size:.75rem}.type-garde-cell .type-garde-name{color:#374151;font-size:.875rem;font-weight:500}.date-cell .garde-date{color:#1e293b;font-weight:500}.raison-cell .raison-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#374151;display:-webkit-box;font-size:.875rem;line-height:1.4;max-width:200px;overflow:hidden;text-overflow:ellipsis}.statut-cell .statut-badge{align-items:center;border-radius:20px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.remplacant-cell .remplacant-name{color:#10b981;font-size:.875rem;font-weight:500}.remplacant-cell .no-remplacant{color:#f59e0b;font-size:.875rem;font-style:italic}.form-field{margin-bottom:1rem}.form-textarea{min-height:100px}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}@media (max-width:1024px){.remplacements-header{align-items:stretch;flex-direction:column;gap:1rem}.remplacements-controls{justify-content:center}.replacement-stats{grid-template-columns:repeat(2,1fr)}.replacements-table .table-header,.replacements-table .table-row{grid-template-columns:1.5fr 1fr 1fr 1.5fr 1fr 1fr .75fr}}@media (max-width:768px){.replacement-stats{grid-template-columns:1fr}.replacements-table .table-header,.replacements-table .table-row{gap:.5rem;grid-template-columns:1fr}.list-header{align-items:stretch;flex-direction:column;gap:1rem}.filter-controls{justify-content:center}}.planning{animation:fadeIn .3s ease-out}.planning-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.planning-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.planning-header p{color:#64748b;font-size:1rem}.week-navigation{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.week-title{color:#1e293b;font-size:1.25rem;font-weight:600}.planning-legend{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1rem}.planning-legend h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.legend-color.partial{background-color:#f59e0b}.legend-color.vacant{background-color:#ef4444}.planning-grid{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;overflow-y:visible;width:100%}.grid-header{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:200px repeat(7,minmax(120px,1fr));overflow-x:auto}@media (max-width:1400px){.grid-header{grid-template-columns:180px repeat(7,minmax(110px,1fr))}}@media (max-width:1200px){.grid-header{grid-template-columns:150px repeat(7,minmax(100px,1fr))}.header-cell{font-size:.875rem;padding:.75rem .5rem}}@media (max-width:900px){.grid-header{grid-template-columns:120px repeat(7,minmax(90px,1fr))}.header-cell{font-size:.8rem;padding:.5rem .25rem}}.header-cell{border-right:1px solid #e2e8f0;color:#374151;font-weight:600;min-width:120px;padding:1rem;text-align:center}.header-cell:first-child{color:#64748b;font-size:.875rem;letter-spacing:.05em;text-align:left;text-transform:uppercase}.day-name{font-size:.875rem;margin-bottom:.25rem}.day-date{color:#1e293b;font-size:1.125rem}.grid-row{border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:200px repeat(7,minmax(120px,1fr));overflow-x:auto}@media (max-width:1400px){.grid-row{grid-template-columns:180px repeat(7,minmax(110px,1fr))}}@media (max-width:1200px){.grid-row{grid-template-columns:150px repeat(7,minmax(100px,1fr))}}@media (max-width:900px){.grid-row{grid-template-columns:120px repeat(7,minmax(90px,1fr))}}.grid-row:hover{background-color:#fafafa}.time-cell{background-color:#f8fafc;border-right:1px solid #e2e8f0;padding:1.5rem 1rem}@media (max-width:1200px){.time-cell{padding:1rem .5rem}}@media (max-width:900px){.time-cell{padding:.75rem .25rem}}.time-label{color:#1e293b;font-size:.875rem;font-weight:600;margin-bottom:.5rem}@media (max-width:900px){.time-label{font-size:.75rem}}.time-range{color:#3b82f6;font-weight:500;margin-bottom:.25rem}@media (max-width:900px){.time-range{font-size:.75rem}}.time-details{color:#64748b;font-size:.75rem}@media (max-width:900px){.time-details{font-size:.65rem}}.planning-cell{align-items:center;border-left:4px solid #e2e8f0;border-right:1px solid #e2e8f0;cursor:pointer;display:flex;justify-content:center;min-height:100px;padding:1rem;transition:all .2s ease}.planning-cell:hover{background-color:#f1f5f9}.planning-cell.assigned{background-color:#ecfdf5;border-left-color:#10b981}.planning-cell.vacant{background-color:#fef2f2;border-left-color:#ef4444}.assignment-content{text-align:center;width:100%}.assigned-user{color:#1e293b;font-size:.875rem;font-weight:600;margin-bottom:.25rem}@media (max-width:900px){.assigned-user{font-size:.75rem}}.user-grade{display:inline-block;margin-bottom:.5rem}@media (max-width:900px){.user-grade{font-size:.55rem;padding:.1rem .4rem}}.assignment-type{background-color:#f59e0b;border-radius:12px;color:#fff;display:inline-block;font-size:.625rem;font-weight:600;margin-bottom:.25rem;padding:.125rem .5rem}@media (max-width:900px){.assignment-type{font-size:.55rem;padding:.1rem .4rem}}.personnel-count{color:#64748b;font-size:.75rem}@media (max-width:900px){.personnel-count{font-size:.65rem}}.vacant-content{text-align:center;width:100%}.vacant-label{color:#64748b;font-size:.75rem;margin-bottom:.25rem}.auto-assign{background-color:#f59e0b;border-radius:12px;color:#fff;display:inline-block;font-size:.625rem;font-weight:600;margin-bottom:.25rem;padding:.125rem .5rem}.personnel-needed{color:#ef4444;font-size:.75rem;font-weight:600}.modal-overlay{background-color:#00000080}.modal-content{box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:500px;overflow-x:visible}.modal-header{border-bottom:1px solid #e2e8f0}.modal-header h3{color:#1e293b;font-size:1.125rem;font-weight:600}.modal-body .user-selection{overflow:visible!important;position:relative}.modal-body p{color:#374151;margin-bottom:.5rem}.form-textarea-modern{.calendar-view-grid{width:100%}.calendar-weekdays{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.calendar-weekday-header{color:#64748b;font-size:.875rem;font-weight:600;padding:.5rem;text-align:center}.calendar-days-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr)}.calendar-day-cell{background:#fff;border:1px solid #e2e8f0;border-radius:6px;min-height:80px;padding:.5rem;transition:all .2s}.calendar-day-cell.empty{background:#f8fafc;border-color:#0000}.calendar-day-cell.today{background:#fef2f2;border:2px solid #ef4444}.calendar-day-cell .day-number{color:#1e293b;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.day-dispos-view{display:flex;flex-direction:column;gap:.25rem}.dispo-indicator{border-radius:4px;font-size:.7rem;font-weight:500;padding:.15rem .3rem;text-align:center}.dispo-indicator.disponible{background:#d1fae5;color:#065f46}.dispo-indicator.indisponible{background:#fee2e2;color:#991b1b;text-align:center}.more-dispos{color:#64748b;font-size:.7rem;font-weight:500;text-align:center}}.formation-modal-modern .modal-header-modern{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px 12px 0 0;color:#fff;padding:1.75rem 2rem}.formation-modal-modern .modal-header-modern h2{font-size:1.25rem;font-weight:600}.modal-body-modern{padding:2rem}.form-grid-modern{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.form-row-full{grid-gap:1rem;display:grid;gap:1rem;grid-column:1/-1;grid-template-columns:2fr 1fr 1fr}.form-field-modern{display:flex;flex-direction:column;gap:.5rem}.form-field-modern label{color:#374151;font-size:.95rem;font-weight:500}.form-select-modern{border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;padding:.625rem;transition:all .2s}.form-select-modern:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;outline:none}.form-textarea-modern{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;resize:vertical;transition:all .2s}.form-textarea-modern:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;outline:none}.modal-actions-modern{background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.user-selection{margin-top:1.5rem}.user-selection h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.user-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.user-option{align-items:center;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s ease}.user-option:hover{background-color:#f8fafc;border-color:#3b82f6}.user-name{color:#fff;font-weight:500}.user-grade{background-color:#00000080;border-radius:12px;color:#fff!important;font-size:.625rem;font-weight:700;padding:.125rem .5rem}.user-status{color:#10b981;font-size:.75rem;font-weight:500}.rapports-optimized{animation:fadeIn .3s ease-out}.rapports-header{border-bottom:2px solid #e2e8f0;padding-bottom:1rem}.export-actions-header,.rapports-sections{display:flex;gap:1rem}.rapports-sections{border-bottom:2px solid #e2e8f0;margin-bottom:2rem;overflow-x:auto}.section-button{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:1rem 1.5rem;transition:all .2s ease;white-space:nowrap}.section-button:hover{background-color:#f8fafc;color:#1e293b}.section-button.active{background-color:#fef2f2;border-bottom-color:#dc2626;color:#dc2626}.vue-ensemble{display:flex;flex-direction:column;gap:2rem}.vue-ensemble h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.kpi-grid{grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1rem}.kpi-card{align-items:center;border-radius:6px;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;gap:.25rem;justify-content:center;min-height:85px;padding:.6rem;text-align:center;transition:transform .2s ease}.kpi-card h3{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0}.kpi-card p{color:#64748b;font-size:.55rem;font-weight:500;margin:0}.kpi-icon{align-items:center;background-color:#f1f5f9;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.kpi-card.personnel .kpi-icon{background-color:#dbeafe}.kpi-card.assignations .kpi-icon{background-color:#dcfce7}.kpi-card.couverture .kpi-icon{background-color:#fef3c7}.kpi-card.formations .kpi-icon{background-color:#ede9fe}.kpi-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.kpi-value{font-size:3rem;line-height:1}.kpi-label{color:#374151;font-size:1.125rem;font-weight:600}.kpi-detail{color:#64748b;font-size:.875rem}.export-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.export-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.export-option{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;text-align:center}.export-option h4{color:#1e293b;font-weight:600;margin-bottom:.5rem}.export-option p{color:#64748b;font-size:.875rem;margin-bottom:1rem}.par-role{display:flex;flex-direction:column;gap:2rem}.par-role h2{color:#1e293b;font-size:1.5rem;font-weight:600}.roles-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.role-card{background:#fff;box-shadow:0 1px 3px #0000001a;padding:2rem}.role-card.admin{border-left:4px solid #dc2626}.role-card.superviseur{border-left:4px solid #3b82f6}.role-card.employe{border-left:4px solid #10b981}.role-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.role-header h3{color:#1e293b;font-size:1.125rem;font-weight:600}.role-count{background-color:#dc2626;border-radius:50%;color:#fff;font-size:1.25rem;font-weight:700;padding:.5rem 1rem}.role-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.role-stat{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:.25rem;padding:1rem}.stat-label{font-weight:600;text-transform:uppercase}.role-actions{text-align:center}.par-employe{display:flex;flex-direction:column;gap:2rem}.par-employe h2{color:#1e293b;font-size:1.5rem;font-weight:600}.employee-selector{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.individual-export{display:flex;justify-content:center;margin-top:1rem}.employees-table{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.employees-table .table-header{grid-gap:1rem;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:1rem 1.5rem}.employees-table .header-cell{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.employee-row{grid-gap:1rem;align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:1rem 1.5rem}.employee-row:hover{background-color:#f8fafc}.employee-cell{flex-direction:column;gap:.25rem}.employee-name{font-size:.875rem;font-weight:600}.employee-grade{color:#64748b;font-size:.75rem}.role-cell .role-badge{background-color:#dc2626;border-radius:12px;color:#fff;font-size:.75rem;padding:.25rem .5rem}.stat-cell{text-align:center}.stat-number{color:#1e293b;font-size:1.125rem;font-weight:600}.analytics{display:flex;flex-direction:column;gap:2rem}.analytics h2{color:#1e293b;font-size:1.5rem;font-weight:600}.analytics-exports{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.advanced-assign-form{display:flex;flex-direction:column;gap:2rem}.assign-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.assign-section h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.recurrence-options{display:flex;flex-direction:column;gap:1rem}.recurrence-option{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.recurrence-option:hover{border-color:#3b82f6}.recurrence-option:has(input:checked){background-color:#fef2f2;border-color:#dc2626}.recurrence-option input[type=radio]{accent-color:#dc2626;height:18px;margin-top:.125rem;width:18px}.recurrence-content{display:flex;flex-direction:column;gap:.25rem}.recurrence-title{color:#1e293b;font-size:.875rem;font-weight:600}.recurrence-description{color:#64748b;font-size:.75rem}.jours-selection{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.jour-checkbox{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s ease}.jour-checkbox:hover{border-color:#3b82f6}.jour-checkbox:has(input:checked){background-color:#fef2f2;border-color:#dc2626}.jour-checkbox input[type=checkbox]{accent-color:#dc2626}.assignment-summary{background:#eff6ff;border:1px solid #dbeafe}.summary-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.summary-row:last-child{margin-bottom:0}.summary-value{color:#1e293b;font-size:.875rem;font-weight:600}@media (max-width:1024px){.jours-selection{grid-template-columns:repeat(2,1fr)}.recurrence-options{gap:.75rem}.kpi-grid{grid-template-columns:repeat(2,1fr)}.export-grid,.roles-grid{grid-template-columns:1fr}.employee-row,.employees-table .table-header{grid-template-columns:2fr 1fr 1fr 1fr}}.loading-component{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#dc2626;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes progress{0%{width:0}50%{width:70%}to{width:100%}}@media (max-width:1024px){.grid-header,.grid-row{grid-template-columns:200px repeat(7,1fr)}.planning-controls{flex-direction:column;gap:.5rem}}@media (max-width:768px){.planning-header{align-items:stretch;flex-direction:column;gap:1rem}.week-navigation{flex-direction:column;gap:1rem;text-align:center}.legend-items{flex-direction:column;gap:.5rem}.grid-header,.grid-row{grid-template-columns:150px repeat(7,minmax(80px,1fr))}.planning-cell{min-height:80px;padding:.5rem}}.availability-calendar{margin-top:1rem}.availability-placeholder{background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;padding:3rem;text-align:center}.replacements-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.replacement-stat{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:1rem;text-align:center}.replacement-stat .stat-number{color:#92400e;display:block;font-size:1.5rem;font-weight:700}.replacement-stat .stat-label{color:#78350f;font-size:.875rem}.user-emergency{color:#dc2626;font-size:.75rem;font-weight:500}.formations-selection{border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;max-height:200px;overflow-y:auto;padding:1rem}.formation-checkbox{align-items:flex-start;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background-color .2s ease}.formation-checkbox:hover{background-color:#f8fafc}.formation-checkbox input[type=checkbox]{accent-color:#3b82f6;margin-top:.125rem}.formation-label{flex:1 1;line-height:1.4}.formation-label strong{color:#1e293b}.formation-label small{color:#64748b;font-size:.75rem}.obligatoire{color:#dc2626;font-weight:700;margin-left:.25rem}.no-formations{font-size:.75rem;font-style:italic}.disponibilites-view{display:flex;flex-direction:column;gap:1.5rem}.disponibilites-header p{color:#64748b;margin-bottom:1rem}.disponibilites-list{display:flex;flex-direction:column;gap:.75rem}.disponibilite-item{grid-gap:1rem;align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;padding:1rem}.dispo-day strong{color:#1e293b;text-transform:capitalize}.dispo-time{color:#374151;font-weight:500}.dispo-status .status{font-size:.875rem;font-weight:500}.dispo-status .status.disponible{color:#059669}.dispo-status .status.indisponible{color:#dc2626}.dispo-status .status.preference{color:#d97706}.no-disponibilites{color:#6b7280;padding:2rem;text-align:center}.no-disponibilites .text-muted{font-size:.875rem;margin-top:.5rem}.employment-cell .mt-1{font-size:.75rem;height:auto;margin-top:.25rem;padding:.25rem .5rem}.user-details-view{display:flex;flex-direction:column;gap:1rem}.detail-item{flex-direction:column;gap:.25rem}.detail-item strong{color:#374151;font-size:.875rem}.formations-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.formations-list .formation-badge{background-color:#e0e7ff;border-radius:12px;color:#3730a3;font-size:.75rem;font-weight:500;padding:.25rem .75rem}@media (max-width:1024px){.form-row,.profile-content,.replacements-summary{grid-template-columns:1fr}}@media (max-width:768px){.formations-grid{grid-template-columns:1fr}.security-options{flex-direction:column}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard,.personnel{animation:fadeIn .3s ease-out}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:#ffffff1a}.sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.formations{animation:fadeIn .3s ease-out}.formations-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.formation-card{border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.formation-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.formation-header{margin-bottom:1rem}.formation-header h3{color:#1e293b;font-size:1.125rem;font-weight:600}.obligatoire-badge{padding:.25rem .5rem}.formation-description{line-height:1.5;margin-bottom:1rem}.formation-meta{flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.meta-item{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:.5rem}.meta-icon{font-size:1rem}.empty-state{padding:4rem}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem}.disponibilites-list-profile{display:flex;flex-direction:column;gap:.75rem}.disponibilite-profile-item{grid-gap:1rem;align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;padding:1rem}.availability-section{margin-top:1rem}.section-description{font-style:italic}.extra-large-modal{max-height:93vh!important;max-width:1400px!important;overflow-y:auto!important;width:93vw!important}.availability-config{display:flex;flex-direction:column;gap:2rem}.config-instructions{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:1rem}.config-instructions h4{color:#1e40af;font-weight:600;margin-bottom:.5rem}.config-instructions ol{color:#1e40af;margin-left:1.5rem}.config-instructions li{margin-bottom:.25rem}.time-config{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.time-config h4{color:#1e293b;font-weight:600;margin-bottom:1rem}.time-inputs-modal{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}.status-field{display:flex;flex-direction:column;gap:.25rem}.calendar-selection h4{color:#1e293b;font-weight:600;margin-bottom:1rem}.interactive-calendar{background-color:#fff;background-color:#fff!important;border:2px solid #e2e8f0;border:2px solid #e2e8f0!important;border-radius:12px;border-radius:16px!important;box-shadow:0 4px 12px #00000014;box-shadow:0 4px 20px #0000001a!important;display:flex!important;justify-content:center!important;margin:1.5rem 0;margin:1.5rem auto!important;max-width:100%!important;padding:2rem;padding:3rem!important;width:-webkit-fit-content!important;width:fit-content!important}.interactive-calendar .rdp{--rdp-cell-size:150px!important;--rdp-accent-color:#16a34a!important;font-size:1.5rem!important;margin:0 auto!important;width:100%!important}.interactive-calendar .rdp-month{max-width:100%!important;width:100%!important}.interactive-calendar .rdp-table{max-width:none!important;width:100%!important}.interactive-calendar .rdp-day{align-items:center!important;background:#fff!important;border:2px solid #e2e8f0!important;border-radius:12px!important;display:flex!important;font-size:1.5rem!important;font-weight:600!important;height:150px!important;justify-content:center!important;min-height:150px!important;min-width:150px!important;transition:all .2s ease!important;width:150px!important}.interactive-calendar .rdp-day:hover:not(.rdp-day_disabled){background-color:#f0fdf4!important;border-color:#16a34a!important;box-shadow:0 6px 16px #16a34a33!important;transform:scale(1.05)!important;z-index:10!important}.interactive-calendar .rdp-caption{color:#0f172a!important;font-size:2.1rem!important;font-weight:700!important;margin-bottom:2rem!important;padding:1rem 0!important}.interactive-calendar .rdp-head_cell{color:#64748b!important;font-size:1.3rem!important;font-weight:700!important;letter-spacing:1px!important;padding-bottom:1.5rem!important;text-transform:uppercase!important}.interactive-calendar .rdp-day_selected{background-color:#16a34a!important;border-color:#16a34a!important;box-shadow:0 6px 16px #16a34a66!important;color:#fff!important;font-weight:700!important}.interactive-calendar .rdp-day_today{background:#fef2f2!important;border:3px solid #dc2626!important;color:#dc2626!important;font-weight:700!important}.interactive-calendar .rdp-day_disabled{cursor:not-allowed!important;opacity:.3!important}.selection-summary{margin-top:1rem}.availability-dates{display:flex;flex-direction:column;gap:1rem}.date-range{color:#374151}.dates-list{display:flex;flex-direction:column;gap:.5rem}.date-value{color:#166534;font-weight:500}.time-value{color:#15803d;font-size:.875rem}.status-indicator{font-size:1rem}.more-dates{background-color:#f9fafb;border-radius:6px}.legend-color.unavailable{background-color:#f1f5f9}.summary-stats{grid-template-columns:1fr 1fr}.availability-list{display:flex;flex-direction:column;gap:.5rem;list-style:none}.availability-item{grid-gap:.5rem;align-items:center;background-color:#f8fafc;border-radius:6px;display:grid;gap:.5rem;grid-template-columns:1fr 1fr auto;padding:.5rem}.day-name{color:#374151;font-weight:500}.time-range{color:#64748b;font-size:.875rem}.availability-status{font-size:1rem}.no-availability{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.rapports{animation:fadeIn .3s ease-out}.rapports-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.rapports-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.epi-types-modern-grid{grid-gap:2rem;animation:fadeInUp .5s ease-out;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.epi-modern-card{background:linear-gradient(135deg,#fff,#f8fafc);background-clip:padding-box;border:2px solid #0000;border-radius:20px;box-shadow:0 10px 30px #00000014,0 1px 4px #0000000a;cursor:default;overflow:hidden;padding:2rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.epi-modern-card:before{background:linear-gradient(90deg,#dc2626,#ef4444 50%,#f87171);border-radius:20px 20px 0 0;content:"";height:5px;left:0;position:absolute;right:0;top:0}.epi-modern-card:after{background:radial-gradient(circle,#dc26260d 0,#0000 70%);content:"";height:200%;left:-50%;opacity:0;position:absolute;top:-50%;transition:opacity .4s ease;width:200%}.epi-modern-card:hover{border-color:#dc262633;box-shadow:0 20px 50px #dc262626,0 5px 15px #00000014;transform:translateY(-8px) scale(1.02)}.epi-modern-card:hover:after{opacity:1}.epi-card-header{margin-bottom:2rem;position:relative;text-align:center;z-index:1}.epi-icon-large{display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:4rem;margin-bottom:1rem;transition:transform .3s ease}.epi-modern-card:hover .epi-icon-large{transform:scale(1.15) rotate(-5deg)}.epi-name{color:#0f172a;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0;text-transform:capitalize}.epi-specs{display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1}.spec-item{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000008;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.spec-item:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateX(4px)}.spec-icon{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:12px;box-shadow:0 4px 8px #dc26261a;display:flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;transition:transform .3s ease;width:44px}.spec-item:hover .spec-icon{transform:scale(1.1) rotate(5deg)}.spec-content{display:flex;flex-direction:column;flex-grow:1;gap:.25rem}.spec-value{color:#0f172a;font-size:1rem;font-weight:700;letter-spacing:-.01em}.spec-label{color:#64748b;font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.epi-info-section{animation:fadeInUp .6s ease-out;margin:3rem 0 2rem}.info-card{background:linear-gradient(135deg,#eff6ff,#dbeafe 50%,#bfdbfe);border:2px solid #60a5fa;border-radius:16px;box-shadow:0 8px 20px #3b82f626;overflow:hidden;padding:2rem;position:relative;text-align:center}.info-card:before{animation:shimmer 3s infinite;background:radial-gradient(circle,#ffffff4d 0,#0000 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}@keyframes shimmer{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-30%,-30%)}}.info-card h4{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.info-card h4,.info-card p{color:#1e40af;position:relative;z-index:1}.info-card p{font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.info-card p:last-child{margin-bottom:0}.info-card strong{color:#1e3a8a;font-weight:700}.epi-types-section{margin:2rem 0}.epi-types-section h4{align-items:center;color:#0f172a;display:flex;font-size:1.5rem;font-weight:700;gap:.75rem;letter-spacing:-.02em;margin-bottom:1.5rem}.epi-types-section h4:after{background:linear-gradient(90deg,#dc26264d,#0000);border-radius:2px;content:"";flex-grow:1;height:3px}.epi-quick-actions{display:flex;flex-direction:column;gap:.75rem}.epi-quick-actions button{gap:.75rem;justify-content:flex-start;transition:all .3s ease}.epi-quick-actions button:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}@media (max-width:768px){.epi-types-modern-grid{grid-template-columns:1fr}.spec-item{padding:.5rem}.epi-icon-large{font-size:2.5rem}.spec-icon{font-size:1rem;height:32px;width:32px}}.epi-management{display:flex;flex-direction:column;gap:1.5rem}.epi-header-actions{border-bottom:2px solid #e2e8f0;display:flex;justify-content:flex-end;padding-bottom:1rem}.epi-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.epi-item-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 8px #0000000d;padding:1.5rem;transition:all .3s ease}.epi-item-card:hover{border-color:#dc2626;box-shadow:0 8px 20px #dc26261a;transform:translateY(-4px)}.epi-item-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem}.epi-item-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2.5rem}.epi-item-title{flex-grow:1}.epi-item-title h4{color:#0f172a;font-size:1.125rem;font-weight:700;margin:0 0 .5rem}.epi-etat-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.epi-item-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.epi-detail-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:.5rem}.epi-label{color:#64748b;font-size:.875rem;font-weight:600}.epi-value{color:#0f172a;font-weight:500}.epi-item-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;padding-top:1rem}.no-epi{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;padding:3rem;text-align:center}.no-epi p{color:#64748b;font-size:1rem;margin:0}.form-textarea{border:1px solid #e2e8f0;border-radius:8px;transition:border-color .2s ease}.form-textarea:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.medium-modal{max-height:85vh;max-width:600px;overflow-y:auto;width:90%}@media (max-width:768px){.epi-list{grid-template-columns:1fr}.epi-item-actions{flex-direction:column}.epi-item-actions button{width:100%}}.epi-readonly-list{grid-gap:.5rem;background:#fafbfc;border-radius:8px;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);margin-top:.75rem;max-height:200px;overflow-y:auto;padding:.5rem}.epi-readonly-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.5rem;padding:.5rem;transition:all .2s ease}.epi-readonly-item:hover{background:#f8fafc;border-color:#cbd5e1}.epi-readonly-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));flex-shrink:0;font-size:1.5rem}.epi-readonly-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.epi-readonly-info strong{font-size:.85rem;.detail-sections-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1rem}.detail-section-compact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.detail-section-compact h5{color:#0f172a;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.competences-compact{display:flex;flex-wrap:wrap;gap:.375rem}.competence-chip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.epi-compact-list{display:flex;flex-direction:column;gap:.375rem}.epi-compact-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;font-size:.75rem;gap:.375rem;padding:.25rem .5rem}.epi-compact-text{color:#0f172a;font-weight:500}.no-data-compact{color:#94a3b8;font-size:.8rem;.modal-body-optimized{max-height:70vh;overflow-y:auto;padding:1rem!important}.user-profile-view-mini{display:flex;flex-direction:column;gap:.75rem}.mini-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;gap:.75rem;padding:.75rem}.mini-avatar,.mini-header{align-items:center;display:flex}.mini-avatar{background:#fff;border-radius:50%;font-size:2rem;height:50px;justify-content:center;width:50px}.mini-badges{display:flex;gap:.25rem;margin-top:.25rem}.mini-badge{background:#fff;border:1px solid #e2e8f0;border-radius:4px;font-size:.7rem;font-weight:500;padding:.125rem .375rem}.mini-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.mini-col{display:flex;flex-direction:column;gap:.75rem}.mini-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.mini-title{border-bottom:1px solid #e2e8f0;color:#0f172a;display:block;font-size:.8rem;font-weight:700;margin-bottom:.5rem;padding-bottom:.375rem}.mini-text{color:#475569;font-size:.75rem;line-height:1.3;margin-bottom:.25rem}.mini-text:last-child{margin-bottom:0}.mini-chips{display:flex;flex-wrap:wrap;gap:.25rem}.micro-chip{background:#fff;border:1px solid #cbd5e1;border-radius:4px;color:#475569;font-size:.7rem;font-weight:500;padding:.125rem .375rem}.mini-epi-list{display:flex;flex-direction:column;gap:.25rem}@media (max-width:768px){.mini-grid{grid-template-columns:1fr}.profile-summary-compact{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem}.profile-avatar-medium{align-items:center;background:linear-gradient(135deg,#dc2626,#ef4444);border-radius:50%;box-shadow:0 4px 12px #dc26264d;display:flex;height:60px;justify-content:center;width:60px}.avatar-icon-medium{filter:brightness(0) invert(1);font-size:2rem}.profile-details-grid-optimized{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.detail-column{display:flex;flex-direction:column;gap:3.5rem!important;margin-bottom:1.5rem!important}.detail-section-optimized{background:#fff;border:1px solid #e2e8f0!important;border-radius:10px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem!important;padding:1.5rem!important;transition:all .2s ease}.detail-section-optimized:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.detail-section-optimized h5{align-items:center;border-bottom:2px solid #e2e8f0;color:#0f172a;display:flex;font-size:.9rem;font-weight:700;gap:.5rem;margin-bottom:1.25rem!important;padding-bottom:.85rem!important}.detail-item-optimized{align-items:center;background:#f8fafc;border-radius:6px;display:flex;gap:5rem!important;justify-content:space-between;margin-bottom:.5rem!important;padding:.65rem .85rem!important}.detail-item-optimized:last-child{margin-bottom:0!important}.detail-item-optimized .detail-label{color:#64748b;font-size:.8rem;font-weight:500;min-width:160px!important;white-space:nowrap}.detail-item-optimized .detail-value{color:#0f172a;flex:1 1;font-size:.85rem;font-weight:600;margin-left:3rem!important;text-align:right}.competences-view-optimized{display:flex;flex-direction:column;gap:.5rem}.competence-badge-optimized{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:8px;display:flex;justify-content:space-between;padding:.5rem .75rem;transition:all .2s ease}.competence-badge-optimized:hover{box-shadow:0 2px 8px #22c55e33;transform:translateX(4px)}.competence-badge-optimized .competence-name{color:#166534;font-size:.8rem;font-weight:600}.competence-badge-optimized .competence-status{font-size:.9rem}.epi-view-optimized{display:flex;flex-direction:column;gap:.5rem}.epi-item-optimized{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.75rem;padding:.5rem;transition:all .2s ease}.epi-item-optimized:hover{background:#f1f5f9;border-color:#cbd5e1}.epi-icon-opt{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:1.5rem}.epi-info-opt{display:flex;flex-direction:column;gap:.125rem}.epi-info-opt strong{color:#0f172a;font-size:.85rem}.epi-details-opt{color:#64748b;font-size:.75rem}@media (max-width:768px){.profile-details-grid-optimized{grid-template-columns:1fr}}}font-style:italic;margin:0}@media (max-width:768px){.detail-sections-grid{grid-template-columns:1fr}}color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epi-readonly-details{color:#64748b;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-data-text{color:#94a3b8;font-size:.875rem;font-style:italic;margin-top:.5rem}@media (max-width:768px){.epi-readonly-list{grid-template-columns:1fr}}.module-epi{background:#f8fafc;margin:0 auto;max-width:1600px;min-height:100vh;padding:2.5rem}.module-epi-header{background:linear-gradient(135deg,#fff,#f8fafc);border-left:5px solid #dc2626;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:2.5rem;padding:2rem}.module-epi-header h1{color:#0f172a;font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.module-epi-header p{color:#64748b;font-size:1.05rem}.epi-quick-actions-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:2.5rem}.epi-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 8px 24px #0000001a;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.epi-stat-card:hover{border-color:#dc2626;box-shadow:0 12px 36px #dc262633;transform:translateY(-8px) scale(1.02)}.epi-stat-header{background:linear-gradient(135deg,#dc2626,#b91c1c);overflow:hidden;padding:2rem;position:relative}.epi-stat-header:before{animation:shimmer 3s infinite;background:radial-gradient(circle,#ffffff26 0,#0000 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}.epi-stat-header h3{color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;margin:0;position:relative;z-index:1}.epi-stat-body{background:linear-gradient(180deg,#fff,#f8fafc);padding:2rem}.alert-stats{display:flex;gap:2rem;justify-content:space-around}.alert-stat-item{align-items:center;display:flex;flex-direction:column}.alert-stat-number{color:#dc2626;font-size:2.5rem;font-weight:700}.alert-stat-number.urgent{animation:pulse 2s infinite;color:#dc2626}.alert-stat-label{color:#64748b;font-size:.875rem;text-align:center}.epi-stat-header-priorite{background:linear-gradient(135deg,#991b1b,#dc2626)}.epi-alerts-section{margin:2rem 0}.epi-alerts-section h3{color:#0f172a;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.epi-alerts-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.epi-alert-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.epi-alert-card[data-priority=haute]{background:#fef2f2;border-color:#dc2626}.epi-alert-card[data-priority=moyenne]{.epi-table-section{margin:2.5rem 0}.epi-table-section h3{align-items:center;color:#0f172a;display:flex;font-size:1.65rem;font-weight:700;gap:.75rem;letter-spacing:-.02em;margin-bottom:1.5rem}.epi-table-section h3:after{background:linear-gradient(90deg,#dc26264d,#0000);border-radius:2px;content:"";flex-grow:1;height:3px}.epi-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 8px 24px #0000001a;overflow:hidden}.epi-table{border-collapse:collapse;width:100%}.epi-table thead{background:linear-gradient(135deg,#0f172a,#1e293b);position:relative}.epi-table thead:after{background:linear-gradient(90deg,#dc2626,#ef4444,#f87171);bottom:0;content:"";height:4px;left:0;position:absolute;right:0}.epi-table thead th{color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.08em;padding:1.5rem 1.25rem;position:relative;text-align:left;text-transform:uppercase}.epi-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .3s ease}.epi-table tbody tr:hover{background:linear-gradient(90deg,#fef2f2,#fff);box-shadow:0 4px 12px #00000014;transform:scale(1.005)}.epi-table tbody tr.priority-row-haute{background:linear-gradient(90deg,#dc262608,#0000);border-left:5px solid #dc2626}.epi-table tbody tr.priority-row-moyenne{background:linear-gradient(90deg,#f59e0b08,#0000);border-left:5px solid #f59e0b}.epi-table tbody td{color:#0f172a;font-size:.95rem;padding:1.25rem}.days-badge,.epi-table tbody td strong{font-weight:700}.days-badge{border-radius:12px;display:inline-block;font-size:.8rem;padding:.375rem .75rem}.days-badge.urgent{background:#fee2e2;color:#dc2626}.days-badge.warning{background:#fef3c7;color:#f59e0b}.no-alerts-epi{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px dashed #86efac;border-radius:16px;margin:2rem 0;padding:4rem 2rem;text-align:center}.no-alerts-epi p{color:#15803d;margin:.5rem 0}.no-alerts-epi p:first-child{color:#16a34a;font-size:1.5rem;font-weight:700}@media (max-width:1024px){.epi-table-wrapper{overflow-x:auto}.epi-table{min-width:800px}}background:#fffbeb;border-color:#f59e0b}.epi-alert-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.epi-alert-icon{font-size:2rem}.epi-alert-content{flex-grow:1}.epi-alert-content strong{color:#0f172a;display:block;font-size:1rem;margin-bottom:.25rem}.epi-alert-content p{color:#64748b;font-size:.875rem;margin:0}.epi-alert-days{background:#dc2626;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.25rem .75rem}.my-epi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.my-epi-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden;transition:all .3s ease}.my-epi-card:hover{border-color:#dc2626;box-shadow:0 8px 20px #dc26261a;transform:translateY(-4px)}.my-epi-card-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;display:flex;gap:1rem;padding:1.5rem;.formation-card-compact{overflow:hidden;padding:0!important}.formations-content-compact{padding:.75rem 1.5rem}.formations-badges-wrapper{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.empty-formations{margin:0;padding:0;text-align:center}.empty-formations p{.profil-grid-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1400px}.profil-main-column,.profil-side-column{display:flex;flex-direction:column;gap:1.5rem}.locked-info-compact{padding:1rem 1.5rem}.locked-info-compact .info-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0}.locked-info-compact .info-row:last-child{border-bottom:none}.locked-info-compact .info-label{color:#6b7280;flex-shrink:0;font-size:.813rem;font-weight:500}.locked-info-compact .info-value{color:#1f2937;flex-grow:1;font-size:.875rem;font-weight:600;text-align:right}.fonction-sup-compact{color:#ef4444;font-size:.75rem;font-weight:500}.formations-list-compact{max-height:300px;overflow-y:auto;padding:.5rem 1.5rem 1rem}.formation-item-compact{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:.75rem;padding:.5rem 0}.formation-item-compact:last-child{border-bottom:none}.formation-check{flex-shrink:0;font-size:1rem}.formation-name-compact{color:#1f2937;font-size:.875rem;line-height:1.4}@media (max-width:1024px){.profil-grid-layout{grid-template-columns:1fr}}color:#6b7280;font-size:14px;margin:0}}.my-epi-card-header h3{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0}.my-epi-card-body{padding:1.5rem}.my-epi-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2.5rem}.my-epi-details{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.my-epi-detail-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:.5rem}.my-epi-detail-row span{color:#64748b;font-size:.875rem}.my-epi-detail-row strong{color:#0f172a;font-weight:600}.my-epi-actions{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.no-epi-message{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;padding:4rem 2rem;text-align:center}.no-epi-message p{color:#64748b;font-size:1rem;margin-bottom:.5rem}.epi-info-note{background:linear-gradient(135deg,#eff6ff,#dbeafe 50%,#bfdbfe);border:2px solid #60a5fa;border-radius:16px;box-shadow:0 4px 12px #3b82f626;margin-top:2.5rem;overflow:hidden;padding:2rem;position:relative;text-align:center}.epi-info-note:before{content:"💡";font-size:2.5rem;left:50%;opacity:.2;position:absolute;top:-10px;transform:translateX(-50%)}.epi-info-note p{color:#1e40af;font-size:1.05rem;font-weight:500;margin:0;position:relative;z-index:1}.epi-info-note strong{color:#1e3a8a;font-weight:700}.inspection-form{display:flex;flex-direction:column;gap:1.5rem}.inspection-criteria{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.epi-tailles-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1rem}.epi-taille-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.epi-taille-item:hover{background:#f1f5f9;border-color:#cbd5e1}.epi-taille-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2rem}.epi-taille-info{display:flex;flex-direction:column;flex-grow:1;gap:.5rem}.epi-taille-info label{color:#0f172a;font-size:.875rem;font-weight:600}.epi-taille-input{font-size:1rem;font-weight:600}.epi-content-wrapper{padding:0 20px 20px}.epi-tailles-grid-profile{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.epi-taille-item-profile{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.epi-taille-item-profile:hover{background:#fee2e2;border-color:#fca5a5;box-shadow:0 2px 8px #ef44441a;transform:translateY(-1px)}.epi-taille-icon-profile{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:1.5rem}.epi-taille-info-profile{display:flex;flex-direction:column;flex-grow:1;gap:.4rem}.epi-taille-info-profile label{color:#991b1b;font-size:.8rem;font-weight:600}.epi-taille-input-compact{font-size:.9rem;font-weight:500;height:auto;padding:.4rem .6rem}.profile-content{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr;margin:0 auto;max-width:1200px}.formations-compact{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.formation-badge-compact{align-items:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;display:inline-flex;font-size:.875rem;font-weight:500;gap:.4rem;line-height:1.4;margin:0;padding:.4rem .8rem;transition:all .2s ease}.formation-badge-compact:hover{background:#fee2e2;box-shadow:0 2px 4px #ef444426;transform:translateY(-1px)}.formation-badge{align-items:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease}.formation-badge:hover{background:#fee2e2;transform:translateX(4px)}.formation-badge .formation-name{color:#991b1b;font-weight:500}.formation-badge .formation-status{font-size:1.2rem}.locked-info{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:20px}.locked-info .info-item{background:#fef2f2;border-left:3px solid #ef4444;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.locked-info .info-label{color:#991b1b;font-size:.875rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.locked-info .info-value{color:#0f172a;font-size:1rem;font-weight:600}.section-accordion-header{align-items:center;background:#f8fafc;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.section-accordion-header:hover{background:#f1f5f9}.accordion-icon{color:#64748b;font-size:.875rem;transition:transform .3s ease}.epi-accordion-content{animation:slideDown .3s ease-out;background:#fafbfc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}.epi-inline-actions{margin-bottom:1rem}.epi-inline-list{display:flex;flex-direction:column;gap:1rem}.epi-inline-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .2s ease}.epi-inline-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.epi-inline-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.epi-inline-icon{font-size:1.5rem}.epi-inline-header strong{color:#0f172a;font-size:1rem}.epi-inline-fields{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem}.form-field-inline{display:flex;flex-direction:column;gap:.5rem}.form-field-inline label{color:#64748b;font-size:.875rem;font-weight:600}.epi-inline-input,.form-select-inline{border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;padding:.5rem}.epi-inline-actions-row{border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.75rem}.no-epi-inline{background:#fff;border-radius:8px;color:#64748b;font-style:italic;padding:2rem;text-align:center}.epi-tailles-grid-modal{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.epi-taille-row{grid-gap:1rem;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:1rem;grid-template-columns:40px 1fr 200px;padding:1rem;transition:all .2s ease}.disponibilites-visual-container{margin:0 auto;max-width:1400px;padding:2rem}.disponibilites-visual-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.disponibilites-visual-header h1{color:#0f172a;font-size:2rem;margin:0}.disponibilites-visual-header p{color:#64748b;margin:.5rem 0 0}.disponibilites-actions{display:flex;gap:.75rem}.calendar-navigation-bar{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.calendar-month-title{color:#0f172a;font-size:1.75rem;font-weight:700;min-width:200px;text-align:center}.calendar-nav-button{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;font-size:1.25rem;font-weight:700;padding:.75rem 1.5rem;transition:all .3s ease}.calendar-nav-button:hover{background:#dc2626;border-color:#dc2626;color:#fff;transform:scale(1.05)}.visual-calendar{background:#fff;border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:2rem;overflow:visible;width:100%}.disponibilites-visual-container .visual-calendar .calendar-weekdays{background:linear-gradient(135deg,#0f172a,#1e293b);display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(7,1fr)!important;padding:1rem 0;width:100%}.disponibilites-visual-container .visual-calendar .calendar-weekday{color:#fff;font-size:1rem;font-weight:700;letter-spacing:.5px;padding:0 4px;text-align:center;text-transform:uppercase}.disponibilites-visual-container .visual-calendar .calendar-days-grid{grid-gap:0;display:grid!important;gap:0;grid-auto-flow:row!important;grid-template-columns:repeat(7,1fr)!important;padding:0;width:100%}.calendar-day-cell{aspect-ratio:1;background:#fff;border:1px solid #e2e8f0;cursor:pointer;display:flex;flex-direction:column;padding:.5rem;position:relative;transition:all .2s ease}.calendar-day-cell:hover{background:#f8fafc;border-color:#94a3b8;box-shadow:0 2px 8px #0000001a;transform:scale(1.02);z-index:10}.calendar-day-cell.empty{background:#f8fafc;cursor:default;pointer-events:none}.calendar-day-cell.today{background:#fffbeb;border:2px solid #f59e0b}.calendar-day-number{color:#0f172a;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.calendar-day-content{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.25rem;justify-content:center;overflow:visible;width:100%}.calendar-indispo-marker{animation:pulse 2s ease-in-out infinite;color:#dc2626;flex-shrink:0;font-size:2rem;line-height:1}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.calendar-dispo-pills{align-items:center;display:flex;flex-direction:column;flex-shrink:1;gap:.25rem;min-height:0;width:100%}.calendar-dispo-pill{border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;flex-shrink:0;font-size:.7rem;font-weight:600;line-height:1.2;max-width:85%;overflow:hidden;padding:.3rem .4rem;text-align:center;text-overflow:ellipsis;white-space:normal;width:100%;word-break:break-word}.calendar-dispo-more{color:#64748b;font-size:.7rem;font-weight:600;margin-top:.25rem}.calendar-legend{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000014;flex-wrap:wrap;gap:1.5rem}.calendar-legend-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:.75rem;padding:.5rem 1rem}.calendar-legend-icon{font-size:1.5rem}.calendar-legend-pill{border-radius:6px;box-shadow:0 2px 4px #0000001a;height:20px;width:40px}.calendar-legend-label{color:#0f172a;font-size:.875rem;font-weight:600}.day-detail-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.day-detail-content{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;width:100%}.day-detail-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.day-detail-header h3{color:#0f172a;font-size:1.5rem;font-weight:700;margin:0}.day-detail-body{padding:1.5rem}.day-detail-section{margin-bottom:1.5rem}.day-detail-section h4{align-items:center;color:#0f172a;display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;margin-bottom:1rem}.day-detail-empty{background:#f8fafc;border-radius:8px;color:#64748b;font-style:italic;padding:1rem;text-align:center}.day-detail-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:.75rem;padding:1rem;transition:all .3s ease}.day-detail-item:hover{border-color:#94a3b8;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.day-detail-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.day-detail-item-type{font-size:1rem;font-weight:700}.day-detail-item-actions{display:flex;gap:.5rem}.day-detail-item-info{color:#64748b;font-size:.875rem}.day-detail-footer{background:#f8fafc;border-top:2px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}@media (max-width:768px){.disponibilites-visual-container{padding:.75rem}.disponibilites-visual-header{align-items:flex-start;flex-direction:column;gap:1rem}.disponibilites-visual-header h1{font-size:1.5rem}.disponibilites-actions{flex-direction:column;width:100%}.disponibilites-actions button{width:100%}.visual-calendar{-webkit-overflow-scrolling:touch;margin-bottom:1.5rem;overflow:visible}.calendar-weekdays{padding:.75rem 0!important}.calendar-weekday{font-size:.75rem!important;padding:0 2px!important}.calendar-days-grid{gap:1px;width:100%!important}.calendar-day-cell{aspect-ratio:auto;font-size:.75rem;min-height:45px;min-width:40px;padding:.25rem}.calendar-day-number{flex-shrink:0;font-size:.7rem;line-height:1;margin-bottom:.15rem}.calendar-day-content{gap:.15rem}.calendar-dispo-pill{border-radius:4px;font-size:.5rem;line-height:1.1;max-width:95%;overflow:hidden;padding:.2rem .25rem;text-overflow:ellipsis;white-space:nowrap}.calendar-indispo-marker{font-size:1.2rem;line-height:1}.calendar-dispo-more{font-size:.5rem}.calendar-month-title{font-size:1.1rem}.calendar-nav-button{font-size:.9rem;padding:.5rem .75rem}.calendar-navigation-bar{padding:1rem}.calendar-legend{gap:.75rem;padding:1rem}.calendar-legend-item{font-size:.85rem}.interactive-calendar{padding:1.5rem!important}.interactive-calendar .rdp{--rdp-cell-size:50px!important;font-size:1rem!important}.interactive-calendar .rdp-day{font-size:.95rem!important;height:50px!important;min-height:50px!important;min-width:50px!important;width:50px!important}.interactive-calendar .rdp-caption{font-size:1.25rem!important}.interactive-calendar .rdp-head_cell{font-size:.85rem!important}}@media (max-width:380px){.disponibilites-visual-container{padding:.5rem}.visual-calendar{border-radius:8px}.calendar-weekday{font-size:.65rem!important;letter-spacing:0!important;padding:0 1px!important}.calendar-day-cell{min-height:40px;min-width:35px;padding:.2rem}.calendar-day-number{font-size:.65rem}.calendar-dispo-pill{font-size:.45rem;padding:.15rem .2rem}.calendar-indispo-marker{font-size:1rem}.disponibilites-visual-header h1{font-size:1.25rem}.calendar-nav-button{font-size:.8rem;padding:.4rem .6rem}}@media (min-width:769px) and (max-width:1024px){.disponibilites-visual-container{padding:1.5rem}.calendar-day-cell{padding:.4rem}.calendar-day-number{font-size:.95rem}.calendar-dispo-pill{font-size:.7rem}.interactive-calendar .rdp{--rdp-cell-size:90px!important;font-size:1.2rem!important}.interactive-calendar .rdp-day{font-size:1.15rem!important;height:90px!important;min-height:90px!important;min-width:90px!important;width:90px!important}.interactive-calendar .rdp-caption{font-size:1.6rem!important}.interactive-calendar .rdp-head_cell{font-size:1.05rem!important}.availability-calendar-large .rdp{--rdp-cell-size:90px!important;font-size:1.2rem!important}.availability-calendar-large .rdp-day{font-size:1.15rem!important;height:90px!important;min-height:90px!important;min-width:90px!important;width:90px!important}.availability-calendar-large .rdp-caption{font-size:1.6rem!important}.availability-calendar-large .rdp-head_cell{font-size:1.05rem!important}}.epi-taille-row:hover{background:#f1f5f9;border-color:#cbd5e1}.epi-taille-icon-modal{font-size:1.75rem;text-align:center}.epi-taille-label-modal{color:#0f172a;font-size:.95rem;font-weight:600}.epi-taille-input-modal{font-size:.9rem}.epi-taille-input-modal:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.epi-note-modal{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;color:#1e40af;font-size:.9rem;margin-top:1rem;padding:1rem;text-align:center}.epi-note-modal strong{font-weight:700}@media (max-width:768px){.epi-taille-row{gap:.75rem;grid-template-columns:40px 1fr}.epi-taille-input-modal{grid-column:1/-1;margin-top:.5rem}}.rapport-epi{animation:fadeInUp .4s ease-out}.rapport-table-section{margin-top:2rem}.rapport-table-section h3{color:#0f172a;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.rapport-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow-x:auto}.rapport-table{border-collapse:collapse;width:100%}.rapport-table thead{background:linear-gradient(135deg,#dc2626,#ef4444)}.rapport-table thead th{color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.rapport-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s ease}.rapport-table tbody tr:hover{background:#f8fafc}.rapport-table tbody td{color:#0f172a;font-size:.95rem;padding:1rem}.priority-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.priority-badge.haute{background:#fee2e2;color:#dc2626}.priority-badge.moyenne{background:#fef3c7;color:#f59e0b}.days-remaining{color:#3b82f6;font-weight:600}.days-remaining.urgent{color:#dc2626;font-weight:700}.no-alerts-message{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:12px;margin-top:2rem;padding:4rem 2rem;text-align:center}.no-alerts-message p{font-size:1.125rem;margin:.5rem 0}.no-alerts-message p:first-child{color:#16a34a;font-size:1.5rem;font-weight:700}.no-alerts-message p:last-child{color:#15803d}.kpi-card.epi-expiration{border-left:4px solid #f59e0b}.kpi-card.epi-inspection{border-left:4px solid #3b82f6}.kpi-card.epi-haute-priorite{border-left:4px solid #dc2626}.no-epi-text{color:#64748b;font-style:italic;margin-top:1rem}.inspection-criteria h4{color:#0f172a;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.inspection-checkbox{align-items:center;background:#fff;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease}.inspection-checkbox:hover{background:#f1f5f9}.inspection-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.inspection-checkbox span{color:#0f172a;font-size:.95rem;font-weight:500}.section-description{color:#64748b;font-size:.875rem;margin-bottom:1rem;margin-top:.5rem}.epi-form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.info-note{color:#1e40af;font-size:.95rem;margin:0}@media (max-width:768px){.module-epi{padding:1rem}.epi-alerts-list,.my-epi-grid{grid-template-columns:1fr}.alert-stats{gap:1rem}.alert-stats,.epi-item-actions{flex-direction:column}.epi-item-actions button{width:100%}}.rapports-header p{color:#64748b;font-size:1rem}.period-selector{display:flex;flex-direction:column;gap:.5rem}.period-selector Label{color:#374151;font-size:.875rem}.kpi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.kpi-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.kpi-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.kpi-header h3{color:#64748b;font-size:.875rem;font-weight:600}.kpi-icon{font-size:1.5rem}.kpi-value{color:#1e293b;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.kpi-change{font-size:.875rem;font-weight:500;margin-bottom:.5rem}.kpi-change.positive{color:#059669}.kpi-change.negative{color:#dc2626}.kpi-description{color:#94a3b8;font-size:.75rem;line-height:1.4}.rapport-section{box-shadow:0 1px 3px #0000001a}.formations-rapport-table{background:#fff;border-radius:8px;overflow:hidden}.formations-rapport-table .table-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.formations-rapport-table .table-header,.formations-rapport-table .table-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;padding:1rem 1.5rem}.formations-rapport-table .table-row{align-items:center;border-bottom:1px solid #f1f5f9}.employee-cell{align-items:center;display:flex;gap:.75rem}.employee-name{color:#1e293b;font-weight:500}.grade-badge{background-color:#3b82f6}.formations-obligatoires-cell,.formations-total-cell{align-items:center;display:flex;flex-direction:column}.formations-count,.obligatoires-count{color:#1e293b;font-size:1.25rem;font-weight:700}.formations-label,.obligatoires-label{color:#64748b;font-size:.75rem}.formation-status{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.formation-status.conforme{background-color:#10b981}.formation-status.attention{background-color:#f59e0b}.charts-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.chart-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.chart-container h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.chart-placeholder{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px}.chart-mock{align-items:end;display:flex;gap:1rem;height:150px;margin-bottom:1rem}.chart-bar{align-items:end;background:linear-gradient(0deg,#dc2626,#f87171);border-radius:4px 4px 0 0;color:#fff;font-size:.75rem;font-weight:600;padding-bottom:.5rem;width:40px}.chart-label{color:#64748b;font-size:.875rem;text-align:center}.pie-chart-mock{display:flex;flex-direction:column;gap:.5rem;width:100%}.pie-segment{border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;padding:.75rem}.pie-segment.directeur{background-color:#8b5cf6}.pie-segment.capitaine{background-color:#3b82f6}.pie-segment.lieutenant{background-color:#f59e0b}.pie-segment.pompier{background-color:#10b981}.export-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.export-section h2{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.export-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.availability-calendar-section,.charts-section{grid-template-columns:1fr}.formations-rapport-table .table-header,.formations-rapport-table .table-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr}}@media (max-width:768px){.export-buttons,.kpi-grid,.summary-stats{grid-template-columns:1fr}}.availability-manager{display:flex;flex-direction:column;gap:1.5rem}.manager-description{color:#64748b;font-style:italic;margin-bottom:1rem}.days-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.day-availability-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.day-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.day-header h4{color:#1e293b;font-size:1rem;font-weight:600}.day-status{font-size:.75rem;font-weight:500}.day-config{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:2fr 1fr}.time-inputs{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.time-field{display:flex;flex-direction:column;gap:.25rem}.time-field Label{color:#374151;font-size:.875rem}.status-selection select{height:40px}.availability-summary{grid-gap:1rem;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1rem}.summary-item{align-items:center;display:flex;justify-content:space-between}.summary-label{color:#1e40af;font-size:.875rem;font-weight:500}.summary-value{color:#1e40af;font-size:1.125rem;font-weight:700}.officier-required{color:#dc2626;font-size:.75rem;font-weight:500}.planning-cell.clickable:hover{background-color:#f1f5f9;cursor:pointer}.click-hint{color:#6b7280;font-size:.625rem;font-style:italic;margin-top:.25rem}.vacant-icon{font-size:1.5rem;margin-bottom:.25rem}.assignment-type.auto{background-color:#3b82f6}.assignment-type.manuel{background-color:#8b5cf6}.user-option-main{display:flex;flex-direction:column;gap:.125rem}.user-employment{color:#6b7280;font-size:.625rem;font-weight:500}.officier-note{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-weight:500;padding:.5rem}.assignment-details{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.assignment-details p{color:#374151;margin-bottom:.5rem}.assignment-details strong{color:#1e293b}.page-content{animation:fadeIn .3s ease-out}.page-header{margin-bottom:2rem}.page-header h1{color:#1e293b;font-size:2rem;font-weight:700}.feature-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:.75rem;padding:2rem}.feature-item{color:#059669;font-weight:500}.profile-info{display:flex;flex-direction:column;gap:.75rem}.profile-info p{color:#374151}.profile-info strong{color:#1e293b}.large-modal{max-width:600px}.interactive-calendar{border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0}.selection-summary{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;margin:1rem 0;padding:1rem}.settings-preview{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.preview-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem;text-align:center;transition:transform .2s ease}.preview-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.preview-card h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.preview-card p{color:#64748b;margin-bottom:1rem}.availability-calendar-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr;margin-top:1rem}.calendar-view{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.calendar-view h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem;text-align:center}.availability-calendar{border:1px solid #e2e8f0;border-radius:8px}.calendar-legend{border-top:1px solid #e2e8f0;display:flex;gap:2rem;justify-content:center;margin-top:1rem;padding-top:1rem}.legend-item{color:#64748b}.legend-color.available{background-color:#dcfce7}.availability-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;height:-webkit-fit-content;height:fit-content;padding:1.5rem}.availability-summary-card h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:1.5rem}.summary-stat{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:1rem;text-align:center}.summary-stat .stat-number{color:#1e40af;display:block;font-size:1.5rem;font-weight:700}.summary-stat .stat-label{color:#64748b;font-size:.75rem}.current-availability h5{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.75rem}.date-item{grid-gap:.5rem;align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;display:grid;gap:.5rem;grid-template-columns:1fr 1fr auto;margin-bottom:.5rem;padding:.5rem}.more-dates{color:#6b7280;font-style:italic;padding:.5rem;text-align:center}.password-requirements{margin-top:.5rem}.requirement-title{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.requirements-list{display:flex;flex-direction:column;gap:.25rem}.requirement{font-size:.75rem;padding:.25rem}.requirement.valid{color:#059669}.requirement.invalid{color:#dc2626}.current-user-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.user-summary{align-items:center;display:flex;gap:1rem}.user-summary .user-avatar{align-items:center;background-color:#f1f5f9;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.user-summary .user-details h4{color:#1e293b;font-weight:600;margin-bottom:.25rem}.user-summary .user-details p{color:#64748b;font-size:.875rem;margin-bottom:.125rem}.access-form{display:flex;flex-direction:column;gap:1rem}.field-description{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.25rem}.permissions-preview{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin-top:1.5rem;padding:1rem}.permissions-preview h4{color:#1e40af;font-weight:600;margin-bottom:1rem}.permission-group{display:flex;flex-direction:column;gap:.5rem}.permission-title{color:#1e293b;font-size:.875rem;font-weight:600}.permission-group ul{list-style:none;margin:0;padding:0}.permission-group li{color:#374151;font-size:.75rem;padding:.125rem 0 .125rem 1rem;position:relative}.permission-group li:before{color:#10b981;content:"•";font-weight:700;left:0;position:absolute}.competences-grid,.grades-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.grade-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.grade-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.grade-header{align-items:flex-start;display:flex;justify-content:space-between}.grade-info h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.grade-details{flex-direction:column}.grade-actions,.grade-details{display:flex;gap:.5rem}.competence-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.competence-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.competence-header{display:flex;flex-direction:column;gap:1rem}.competence-info h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.competence-description{color:#64748b;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.competence-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{color:#64748b;font-size:.875rem;padding:.25rem 0}.obligatoire-indicator{color:#dc2626!important;font-weight:600}.competence-actions{border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.tab-content{margin-top:0;overflow:hidden}.tab-header{align-items:flex-start}.tab-header div{flex:1 1}.tab-header h2{line-height:1.3;margin-bottom:.5rem}.tab-header p{line-height:1.4;margin:0}.parametres{animation:fadeIn .3s ease-out}.parametres-header{margin-bottom:2rem}.parametres-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.parametres-header p{color:#64748b;font-size:1rem}.settings-tabs{border-bottom:2px solid #e2e8f0;display:flex;flex-wrap:nowrap;gap:.5rem;margin-bottom:2rem;overflow-x:auto;scrollbar-width:thin}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;white-space:nowrap}.tab-button:hover{background-color:#f8fafc;color:#1e293b}.tab-button.active{background-color:#fef2f2;border-bottom-color:#dc2626;color:#dc2626}.tab-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.tab-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.tab-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.tab-header p{color:#64748b;font-size:.875rem}.types-garde-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.type-garde-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.type-garde-card:hover{border-color:#dc2626;box-shadow:0 4px 12px #dc26261a}.type-garde-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.type-info h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.type-schedule{display:flex;flex-direction:column;gap:.25rem}.duration,.officer-req,.personnel-required,.schedule-time{color:#64748b;font-size:.875rem}.officer-req{color:#dc2626;font-weight:500}.type-actions,.type-details{display:flex;gap:.5rem}.type-details{border-top:1px solid #e2e8f0;flex-direction:column;padding-top:1rem}.type-color,.type-days{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem}.color-preview{border:1px solid #e2e8f0;border-radius:4px;height:20px;width:20px}.formations-admin-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.formation-admin-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.formation-admin-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.formation-admin-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.formation-admin-header h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.formation-admin-details .formation-description{color:#64748b;line-height:1.5;margin-bottom:1rem}.formation-meta{color:#64748b;flex-wrap:wrap;font-size:.875rem}.attribution-settings{display:flex;flex-direction:column;gap:2rem}.general-settings,.priority-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.general-settings h3,.priority-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.priority-list{display:flex;flex-direction:column;gap:1rem}.priority-item{grid-gap:1rem;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:1rem;grid-template-columns:auto 1fr auto;padding:1rem}.priority-number{align-items:center;background:#dc2626;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.priority-content{display:flex;flex-direction:column;gap:.25rem}.priority-text{color:#1e293b;font-weight:500}.priority-description{font-size:.875rem}.priority-status{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.priority-status.active{background-color:#10b981}.priority-status.dev{background-color:#f59e0b}.settings-grid{display:flex;flex-direction:column;gap:1rem}.setting-toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.setting-toggle:hover{background-color:#f8fafc;border-color:#3b82f6}.toggle-title{color:#1e293b;font-weight:500}.toggle-desc{color:#64748b;font-size:.875rem}.toggle-wrapper{position:relative}.toggle-wrapper input[type=checkbox]{height:0;opacity:0;width:0}.toggle-slider{background-color:#cbd5e1;border-radius:12px;cursor:pointer;display:inline-block;height:24px;position:relative;transition:.3s;width:44px}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.setting-toggle input:checked+.toggle-wrapper .toggle-slider{background-color:#dc2626}.setting-toggle input:checked+.toggle-wrapper .toggle-slider:before{transform:translateX(20px)}.accounts-overview{display:flex;flex-direction:column;gap:2rem}.accounts-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.account-stat{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;text-align:center}.account-stat .stat-number{color:#1e293b;display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.account-stat .stat-label{color:#64748b;font-size:.875rem}.role-descriptions{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.role-card{border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.role-card.admin{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.role-card.superviseur{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.role-card.employe{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.role-card h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.role-card ul{display:flex;flex-direction:column;gap:.5rem;list-style:none}.role-card li{color:#374151;font-size:.875rem;padding-left:1rem;position:relative}.role-card li:before{color:#059669;content:"✓";font-weight:700;left:0;position:absolute}.replacement-config{display:flex;flex-direction:column;gap:2rem}.config-section{border-radius:12px}.config-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.config-inputs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.config-input{display:flex;flex-direction:column;gap:.5rem}.input-label{color:#1e293b;font-weight:500}.input-description{color:#64748b;font-size:.75rem}.workflow-steps{grid-gap:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.workflow-step{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:1rem;padding:1rem}.step-number{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.step-content{display:flex;flex-direction:column;gap:.25rem}.step-title{color:#1e293b;font-weight:500}.step-description{color:#64748b;font-size:.75rem}.form-grid{display:flex;flex-direction:column}.form-select{background-color:#fff;color:#374151;padding:.5rem .75rem}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-textarea{padding:.5rem .75rem}.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.days-selection{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:.5rem}.day-checkbox{align-items:center;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:all .2s ease}.day-checkbox:hover{background-color:#f8fafc;border-color:#3b82f6}.day-checkbox input[type=checkbox]:checked+span{color:#3b82f6;font-weight:500}.setting-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.setting-checkbox input[type=checkbox]{accent-color:#dc2626;height:16px;width:16px}.access-denied{color:#6b7280;padding:4rem;text-align:center}.access-denied h1{color:#dc2626;font-size:1.5rem;margin-bottom:1rem}.planning-instructions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.instruction-card{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;display:flex;gap:1rem;padding:1rem}.instruction-icon{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.instruction-text{color:#1e40af;font-size:.875rem;line-height:1.4}.instruction-text strong{color:#1e293b}.existing-users-section{margin:2rem 0}.existing-users-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.users-list{display:flex;flex-direction:column;gap:1rem}.user-access-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.user-access-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.user-access-info{align-items:center;display:flex;gap:1rem}.user-access-info .user-avatar{align-items:center;background-color:#f1f5f9;border-radius:50%;display:flex;height:40px;justify-content:center;width:40px}.user-details h4{color:#1e293b;font-weight:600;margin-bottom:.25rem}.user-details .user-email{color:#64748b;font-size:.875rem;margin-bottom:.5rem}.user-badges{flex-wrap:wrap}.role-badge{border-radius:12px;color:#fff;padding:.125rem .5rem}.role-badge.admin{background-color:#dc2626}.role-badge.superviseur{background-color:#3b82f6}.role-badge.employe{background-color:#10b981}.grade-badge{background-color:#f59e0b}.employment-badge,.grade-badge{border-radius:12px;color:#fff;padding:.125rem .5rem}.employment-badge{background-color:#6b7280;font-size:.75rem;font-weight:600}.user-access-actions{display:flex;gap:.5rem}@media (max-width:768px){.user-access-card{align-items:flex-start;flex-direction:column;gap:1rem}.user-access-info{width:100%}.user-access-actions{flex-direction:column;width:100%}.user-access-actions button{justify-content:center;width:100%}}.input-with-actions{align-items:center;display:flex;gap:.5rem}.input-with-actions input{flex:1 1}.setting-inputs label{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.setting-inputs label small{color:#64748b;font-style:italic}.rules-settings{display:flex;flex-direction:column;gap:1rem}.validation-actions{display:flex;gap:.5rem;margin-top:1rem}.advanced-actions{display:flex;flex-wrap:wrap;gap:1rem}.toggle-info{display:flex;flex-direction:column;gap:.25rem}.toggle-info small{color:#64748b;font-size:.75rem}@media (max-width:1024px){.formations-admin-grid,.role-descriptions,.types-garde-grid{grid-template-columns:1fr}.accounts-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.settings-tabs,.tab-header{flex-direction:column}.tab-header{align-items:stretch;gap:1rem}.accounts-stats,.config-inputs,.form-row,.workflow-steps{grid-template-columns:1fr}}@media (max-width:1024px){.availability-calendar-section{grid-template-columns:1fr}.settings-preview{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.settings-preview{grid-template-columns:1fr}}.mon-profil{animation:fadeIn .3s ease-out}.profile-header{margin-bottom:2rem}.profile-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.profile-header p{color:#64748b;font-size:1rem}.profile-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 320px}.profile-main{display:flex;flex-direction:column;gap:1.5rem}.profile-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.section-header h2{color:#1e293b;font-size:1.25rem;font-weight:600}.profile-form{display:flex;flex-direction:column;gap:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e2e8f0;margin-top:1rem}.locked-info{display:flex;flex-direction:column;gap:.75rem}.info-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.info-label{color:#374151}.info-value.locked{color:#6b7280;font-style:italic}.formations-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.formation-item{align-items:center;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.formation-name{color:#1e40af;font-weight:500}.formation-status{color:#059669;font-size:.875rem}.no-formations{color:#6b7280;padding:2rem;text-align:center}.text-muted{color:#9ca3af;font-size:.875rem;margin-top:.5rem}.personal-replacements{margin-top:1rem}.replacements-personal-list{display:flex;flex-direction:column;gap:1rem}.replacement-personal-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.replacement-info h4{color:#1e293b}.replacement-info p{color:#64748b;font-size:.875rem;margin-bottom:.25rem}.replacement-info small{color:#9ca3af;font-size:.75rem}.replacement-status .status-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.no-replacements{color:#6b7280;padding:2rem;text-align:center}.security-options{display:flex;flex-wrap:wrap;gap:1rem}.profile-sidebar{display:flex;flex-direction:column;gap:1.5rem}.profile-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;text-align:center}.avatar-large,.profile-avatar{margin-bottom:1rem}.avatar-large{align-items:center;background-color:#f1f5f9;border-radius:50%;display:inline-flex;font-size:2rem;height:80px;justify-content:center;width:80px}.profile-card h3{color:#1e293b;font-size:1.25rem}.profile-card h3,.profile-role{font-weight:600;margin-bottom:.25rem}.profile-role{color:#dc2626;font-size:.875rem}.profile-grade{color:#64748b;font-size:.875rem}.profile-stats{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.profile-stats h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.stats-list{display:flex;flex-direction:column;gap:.75rem}.stat-item{background-color:#f8fafc;border-radius:8px;gap:.75rem;padding:.75rem}.stat-icon{font-size:1.5rem}.stat-content{flex:1 1}.stat-value{color:#1e293b;display:block;font-size:1.125rem;font-weight:600}.stat-label{color:#64748b;font-size:.75rem}.admin-actions{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.admin-actions h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.admin-actions button+button{margin-top:.5rem}.calendar-instructions{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;color:#1e40af;margin-bottom:1rem;padding:1rem}.algorithm-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:2rem;padding:1.5rem}.algorithm-details h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-card{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;text-align:center}.detail-card h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:.5rem}.detail-card p{color:#374151;font-weight:500;margin-bottom:.25rem}.detail-card small{color:#6b7280;font-size:.75rem;line-height:1.4}.toggle-list{display:flex;flex-direction:column;gap:1rem}.toggle-list .setting-toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.toggle-list .toggle-info{display:flex;flex-direction:column;gap:.25rem}.toggle-list .toggle-info span{color:#1e293b;font-weight:500}.toggle-list .toggle-info small{color:#64748b;font-size:.75rem}@media (max-width:1024px){.form-row,.profile-content{grid-template-columns:1fr}}.replacement-settings-compact{display:flex;flex-direction:column;gap:2rem}.settings-row{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.settings-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem}.compact-title{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.setting-inputs-compact{display:flex;flex-direction:column;gap:1rem}.input-group-compact{display:flex;flex-direction:column;gap:.5rem}.validation-rules-compact{display:flex;flex-direction:column;gap:.75rem}.validation-rule-compact{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.validation-rule-compact:hover{background-color:#fafafa;border-color:#3b82f6}.validation-rule-compact input[type=checkbox]{accent-color:#dc2626;height:16px;margin-top:.125rem;width:16px}.rule-content-compact{display:flex;flex:1 1;flex-direction:column;gap:.125rem}.rule-content-compact .rule-title{color:#1e293b;font-size:.875rem;font-weight:500}.rule-content-compact .rule-description{color:#64748b;font-size:.75rem;line-height:1.3}.validation-summary-compact{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:1rem}.validation-summary-compact h4{color:#166534;font-size:1rem;font-weight:600;margin-bottom:.75rem}.validation-steps{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0}.validation-steps .step{border:1px solid;border-radius:20px;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.validation-steps .step.active{background:#dcfce7;border-color:#bbf7d0;color:#166534}.validation-steps .step.inactive{background:#f3f4f6;border-color:#d1d5db;color:#6b7280}.summary-result{background:#fff;border:1px solid #d1fae5;border-radius:4px;color:#15803d;font-size:.875rem;margin-top:.75rem;padding:.5rem}@media (max-width:1024px){.settings-row{grid-template-columns:1fr}}.setting-inputs-optimized{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-with-reset{align-items:center;display:flex;gap:.5rem}.input-with-reset input{flex:1 1}.validation-rules{display:flex;flex-direction:column;gap:1rem}.validation-rule{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.validation-rule:hover{background-color:#f8fafc;border-color:#3b82f6}.validation-rule input[type=checkbox]{accent-color:#dc2626;height:18px;margin-top:.125rem;width:18px}.rule-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.rule-title{color:#1e293b;font-size:.875rem;font-weight:600}.rule-description{color:#64748b;font-size:.75rem;line-height:1.4}.validation-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-top:2rem;padding:1.5rem}.validation-summary h3{color:#166534;font-weight:600;margin-bottom:1rem}.summary-content{color:#15803d}.summary-content p{font-size:.875rem;line-height:1.5;margin-bottom:1rem}.validation-order{counter-reset:validation-step;list-style:none;margin:1rem 0;padding:0}.validation-order li{align-items:center;background:#fff;border:1px solid #d1fae5;border-radius:6px;counter-increment:validation-step;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem;padding:.5rem}.validation-order li.active{border-color:#bbf7d0;color:#166534}.validation-order li.inactive{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af}.validation-order li:before{align-items:center;background:#10b981;border-radius:50%;color:#fff;content:counter(validation-step);display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:20px;justify-content:center;width:20px}.validation-order li.inactive:before{background:#9ca3af}.summary-note{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:.875rem;margin-top:1rem;padding:.75rem}.summary-note strong{color:#78350f}.personnel-form-grid{display:flex;flex-direction:column;gap:2rem}.form-section{background:#f8fafc;border:1px solid #e2e8f0}.section-title{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.formations-compact-grid{grid-gap:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:250px;overflow-y:auto;padding:1rem}.formation-compact-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.formation-compact-item:hover{background-color:#f1f5f9;border-color:#3b82f6}.formation-compact-item:has(input:checked){background-color:#fef2f2;border-color:#dc2626}.formation-compact-item input[type=checkbox]{accent-color:#dc2626;flex-shrink:0;height:16px;width:16px}.formation-compact-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.formation-compact-header{align-items:center;display:flex;justify-content:space-between}.formation-compact-name{color:#1e293b;font-size:.875rem;font-weight:500}.compact-obligatoire{background-color:#dc2626;border-radius:10px;color:#fff;font-size:.5rem;font-weight:600;padding:.125rem .375rem;text-transform:uppercase}.formation-compact-meta{color:#9ca3af;display:flex;font-size:.625rem;gap:.75rem}.formations-summary{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:6px;margin-top:.75rem;padding:.5rem;text-align:center}.summary-text{color:#1e40af;font-size:.875rem;font-weight:500}.formation-compact-item:has(input:checked) .formation-compact-name{color:#dc2626;font-weight:600}.fonction-superieur-option{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:.5rem;padding:1rem}.fonction-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem}.fonction-checkbox input[type=checkbox]{margin-top:.25rem;transform:scale(1.2)}.fonction-content{display:flex;flex-direction:column;gap:.25rem}.fonction-title{color:#1e293b;font-size:.95rem;font-weight:600}.fonction-description{color:#64748b;font-size:.85rem;line-height:1.4}.garde-externe-option{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:.5rem;padding:1rem}.garde-externe-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem}.garde-externe-checkbox input[type=checkbox]{margin-top:.25rem;transform:scale(1.2)}.garde-externe-content{display:flex;flex-direction:column;gap:.25rem}.garde-externe-title{color:#0c4a6e;font-size:.95rem;font-weight:600}.garde-externe-description{color:#0369a1;font-size:.85rem;line-height:1.4}.prevention-container{margin:0 auto;max-width:1400px;padding:1.5rem}.prevention-header{background:linear-gradient(135deg,#dc2626,#f59e0b);border-radius:12px;color:#fff;margin-bottom:2rem;padding:2rem}.header-content h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.header-content p{font-size:1.1rem;margin:0;opacity:.9}.prevention-nav{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.prevention-nav button{background:#ffffff1a;border:1px solid #ffffff4d;color:#fff}.prevention-nav button[data-variant=default]{background:#fff3;border:1px solid #ffffff80}.prevention-nav button:hover{background:#fff3}.prevention-dashboard{display:flex;flex-direction:column;gap:2rem}.dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{align-items:center;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-icon{align-items:center;background:#fef3c7;border-radius:12px;display:flex;font-size:2.5rem;height:4rem;justify-content:center;width:4rem}.stat-number{color:#1f2937;font-size:2rem;line-height:1}.stat-label{margin-top:.25rem}.quick-actions h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem}.action-button{border-radius:8px;font-size:1rem;min-width:200px;padding:1rem 1.5rem}.prevention-batiments{display:flex;flex-direction:column;gap:1.5rem}.page-header{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:1.5rem}.page-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.batiments-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.view-mode-toggle{background:#f3f4f6;border-radius:6px;display:flex;padding:2px}.empty-state{background:#fff}.empty-state p{margin-bottom:1.5rem}.batiments-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.batiment-card{border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.batiment-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.batiment-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.batiment-header h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.batiment-info{margin-bottom:1.5rem}.batiment-info p{margin:.25rem 0}.batiment-actions{display:flex;gap:.75rem}.loading{color:#6b7280;padding:2rem;text-align:center}@media (max-width:768px){.prevention-container{padding:1rem}.prevention-header{padding:1.5rem}.dashboard-stats{grid-template-columns:1fr}.action-buttons{flex-direction:column}.action-button{min-width:auto}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.batiments-grid{grid-template-columns:1fr}}.import-csv-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}.import-progress{background:#f9fafb;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.progress-steps{justify-content:space-between;margin:0 auto;max-width:600px}.progress-step,.progress-steps{align-items:center;display:flex}.progress-step{flex-direction:column;gap:.5rem;position:relative}.progress-step:not(:last-child):after{background:#d1d5db;content:"";height:2px;left:50%;position:absolute;top:20px;width:calc(100% + 40px);z-index:0}.progress-step.active:not(:last-child):after{background:#f59e0b}.step-circle{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;font-weight:700;height:40px;justify-content:center;width:40px;z-index:1}.progress-step.active .step-circle{background:#f59e0b;color:#fff}.progress-step.current .step-circle{background:#dc2626;box-shadow:0 0 0 3px #dc262633;color:#fff}.step-label{color:#6b7280;font-size:.85rem;font-weight:600}.progress-step.active .step-label{color:#1f2937}.import-step{display:flex;flex-direction:column;gap:2rem}.step-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.step-header p{color:#6b7280;font-size:1rem;margin:0}.file-upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:3rem;text-align:center;transition:all .2s}.file-upload-area:hover{background:#fffbeb;border-color:#f59e0b}.file-upload-label{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:1rem}.upload-icon{font-size:3rem}.upload-text{color:#374151;font-size:1.1rem}.upload-text strong{color:#f59e0b}.upload-text small{color:#6b7280}.import-tips{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1.5rem}.import-tips h4{color:#0c4a6e;margin:0 0 1rem}.import-tips ul{color:#0369a1;margin:0;padding-left:1.5rem}.import-tips li{margin:.5rem 0}.mapping-container{display:flex;flex-direction:column;gap:1.5rem}.file-info{background:#f3f4f6;border-radius:8px;color:#374151;font-size:.95rem;padding:1rem}.mapping-table{border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.mapping-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:2fr 60px 2fr 3fr 1.5fr;padding:1rem}.mapping-row.header{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600}.mapping-row:not(.header):not(:last-child){border-bottom:1px solid #f3f4f6}.mapping-row:hover:not(.header){background:#f9fafb}.required-field{color:#dc2626;font-weight:600}.optional-field{color:#374151}.required-star{color:#dc2626}.arrow-column{font-size:1.1rem;text-align:center}.mapping-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:.5rem;width:100%}.mapping-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.mapping-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.default-value-input{background:#eff6ff;border:2px solid #3b82f6;border-radius:6px;color:#1e40af;font-size:.9rem;font-weight:500;padding:.5rem;width:100%}.default-value-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f633;outline:none}.default-value-input::placeholder{color:#93c5fd;font-weight:400}.default-value-column{align-items:center;display:flex}.preview-data{background:#f0fdf4;border-radius:4px;color:#166534;font-family:monospace;font-size:.85rem;padding:.25rem .5rem}.preview-data.default-preview{background:#dbeafe;color:#1e40af;font-weight:600}.no-preview{color:#9ca3af;font-style:italic}.mapping-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.preview-container{display:flex;flex-direction:column;gap:1.5rem}.preview-info{background:#fef3c7;border-radius:8px;color:#92400e;font-size:.95rem;padding:1rem}.preview-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:600px;overflow-x:auto;overflow-y:auto}.preview-table-enhanced{border-collapse:collapse;font-size:.875rem;width:100%}.preview-table-enhanced thead{background:#f9fafb;box-shadow:0 2px 4px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:10}.preview-table-enhanced th{border-bottom:2px solid #e5e7eb;border-right:1px solid #e5e7eb;color:#374151;font-weight:600;padding:.875rem .75rem;text-align:left;white-space:nowrap}.preview-table-enhanced th:last-child{border-right:none}.preview-table-enhanced th.required-header{background:#fef2f2;color:#dc2626}.row-number-header{background:#f3f4f6;text-align:center;width:50px}.preview-table-enhanced tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.preview-table-enhanced tbody tr:hover{background:#f9fafb}.preview-table-enhanced td{border-right:1px solid #f3f4f6;max-width:200px;overflow:hidden;padding:.75rem;text-overflow:ellipsis;white-space:nowrap}.preview-table-enhanced td:last-child{border-right:none}.row-number{background:#f9fafb;color:#6b7280;font-weight:600;text-align:center}.preview-data-cell{color:#374151}.csv-value-indicator{background:#d1fae5;color:#065f46}.csv-value-indicator,.default-value-indicator{border-radius:4px;display:inline-block;font-size:.85rem;padding:.25rem .5rem}.default-value-indicator{background:#dbeafe;color:#1e40af;font-weight:600}.preview-legend{background:#f9fafb;border-radius:8px;display:flex;gap:2rem;justify-content:center;padding:1rem}.legend-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.legend-badge.default-badge{background:#dbeafe;color:#1e40af}.legend-badge.csv-badge{background:#d1fae5;color:#065f46}.preview-table{display:none}.empty-cell{color:#9ca3af;font-style:italic}.preview-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:space-between;padding-top:1rem}.import-confirm-btn{background:#dc2626;color:#fff}.import-confirm-btn:hover{background:#b91c1c}.import-results{display:flex;flex-direction:column;gap:2rem}.results-summary{display:flex;gap:2rem;justify-content:center}.result-stat{border-radius:12px;min-width:150px;padding:1.5rem;text-align:center}.result-stat.success{background:#f0fdf4;border:1px solid #bbf7d0}.result-stat.error{background:#fef2f2;border:1px solid #fecaca}.result-stat .stat-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.result-stat.success .stat-number{color:#166534}.result-stat.error .stat-number{color:#dc2626}.result-stat .stat-label{color:#6b7280;font-weight:600}.import-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1.5rem}.import-errors h4{color:#dc2626;margin:0 0 1rem}.import-errors ul{color:#991b1b;margin:0;padding-left:1.5rem}.final-actions{display:flex;gap:1rem;justify-content:center}.finish-btn{background:#dc2626;color:#fff;padding:.75rem 2rem}.finish-btn:hover{background:#b91c1c}@media (max-width:768px){.import-csv-container{padding:1rem}.progress-steps{flex-wrap:wrap;gap:1rem}.progress-step:not(:last-child):after{display:none}.mapping-row{gap:.5rem;grid-template-columns:1fr;padding:1rem .5rem}.arrow-column{display:none}.preview-headers,.preview-row{grid-template-columns:1fr}.results-summary{align-items:center;flex-direction:column}}.field-editor-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.field-editor-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.field-editor-modal .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.field-editor-modal .modal-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.field-editor-modal .close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:color .2s}.field-editor-modal .close-btn:hover{color:#dc2626}.field-editor-modal .modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.add-field-section h4,.existing-fields h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.helper-text{background:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:.875rem;margin:0 0 1rem;padding:.75rem}.fields-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.field-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.field-item.required-field-item{background:#fef2f2;border-color:#fecaca}.field-item:hover{background:#f3f4f6;border-color:#d1d5db}.field-item.required-field-item:hover{background:#fee2e2;border-color:#fca5a5}.field-number{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:24px;justify-content:center;width:24px}.field-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.field-label-input{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:.9rem;font-weight:500;padding:.5rem}.field-label-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.field-key{background:#e5e7eb;border-radius:4px;color:#6b7280;display:inline-block;font-size:.75rem;padding:.125rem .375rem;width:-webkit-fit-content;width:fit-content}.field-required{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:.375rem;white-space:nowrap}.field-required input[type=checkbox]{cursor:pointer}.field-required-toggle{align-items:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;min-width:140px;padding:.5rem .75rem;transition:all .2s;white-space:nowrap}.field-required-toggle:hover{background:#e5e7eb}.field-required-toggle.required-active{background:#dcfce7;border-color:#86efac}.field-required-toggle.required-active:hover{background:#bbf7d0}.field-required-toggle input[type=checkbox]{cursor:pointer;height:18px;width:18px}.field-required-toggle .toggle-text{color:#374151;font-size:.875rem;font-weight:600}.field-required-toggle.required-active .toggle-text{color:#166534}.remove-field-btn{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:1.25rem;line-height:1;padding:.25rem;transition:transform .2s}.remove-field-btn:hover{transform:scale(1.2)}.add-field-section{border-top:2px dashed #e5e7eb;padding-top:1.5rem}.add-field-form{display:flex;flex-direction:column;gap:1rem}.add-field-inputs{display:flex;gap:.75rem}.field-key-input,.field-label-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:.9rem;padding:.5rem}.field-key-input:focus,.field-label-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.field-editor-modal .modal-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.footer-actions{display:flex;gap:.75rem}.mapping-header{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.mapping-info-box{background:#eff6ff;border:2px solid #3b82f6;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.mapping-info-box p{color:#1e40af;font-size:.9rem;line-height:1.5;margin:0}.mapping-info-box p:not(:last-child){margin-bottom:.5rem}.mapping-info-box small{color:#3b82f6;font-size:.85rem}.gestion-preventionnistes{display:flex;flex-direction:column;gap:2rem}.overview-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.overview-card{background:#fff;border:1px solid #e5e7eb;transition:all .2s}.overview-card:hover{box-shadow:0 4px 12px #0000001a}.overview-card .card-icon{align-items:center;background:#fef3c7;border-radius:12px;display:flex;font-size:2.5rem;height:4rem;justify-content:center;width:4rem}.overview-card .card-number{color:#1f2937;font-size:2rem;font-weight:700;line-height:1}.overview-card .card-label{color:#6b7280;font-size:.9rem;margin-top:.25rem}.batiments-section,.preventionnistes-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}.batiments-section h3,.preventionnistes-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.preventionnistes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.preventionniste-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .2s}.preventionniste-card:hover{box-shadow:0 4px 8px #0000001a}.preventionniste-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.preventionniste-info h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.preventionniste-info p{color:#6b7280;font-size:.9rem;margin:0 0 .5rem}.grade-badge{background:#dbeafe;color:#1e40af}.grade-badge,.role-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.role-badge{background:#ecfdf5;color:#059669;margin-right:.5rem}.preventionniste-stats{text-align:center}.stat-item{align-items:center}.stat-number{color:#dc2626;font-size:1.5rem;font-weight:700}.stat-label{font-size:.8rem}.batiments-assignes h5{color:#374151;font-size:.95rem;font-weight:600;margin:0 0 .75rem}.batiments-list{display:flex;flex-direction:column;gap:.5rem}.batiment-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem .75rem}.batiment-name{color:#374151;font-size:.85rem}.remove-btn{background:none;border:none;cursor:pointer;opacity:.6;padding:.25rem;transition:opacity .2s}.remove-btn:hover{opacity:1}.more-batiments{color:#6b7280;font-size:.8rem;font-style:italic;margin:.5rem 0 0}.no-batiments{color:#9ca3af;font-size:.85rem;font-style:italic;margin:0}.batiments-sans-preventionniste{display:flex;flex-direction:column;gap:1rem}.batiment-sans-preventionniste{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.batiment-details h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .25rem}.batiment-details p{color:#6b7280;font-size:.9rem;margin:0 0 .5rem}.assign-actions small{color:#dc2626;font-weight:600}.success-state{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:2rem;text-align:center}.success-state p{color:#166534;font-weight:600;margin:0}.assigner-preventionniste{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}.assignment-steps{display:flex;flex-direction:column;gap:2rem}.step-section{border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.step-section.confirmation{background:#f0fdf4;border-color:#bbf7d0}.step-section h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem}.users-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.user-option{cursor:pointer;display:block}.user-option input[type=radio]{display:none}.user-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s}.user-option input[type=radio]:checked+.user-card{background:#fffbeb;border-color:#f59e0b}.user-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.user-info{display:flex;flex-direction:column;gap:.5rem}.user-info h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.user-info p{color:#6b7280;font-size:.9rem;margin:0}.user-badges{align-items:center;display:flex;gap:.5rem}.user-info .grade-badge,.user-info .role-badge{display:inline-block;margin:0}.user-stats{margin-top:.5rem}.current-assignments{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-size:.8rem;padding:.25rem .5rem}.batiments-selection{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.batiment-option{cursor:pointer;display:block}.batiment-option input[type=checkbox]{display:none}.batiment-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s}.batiment-option input[type=checkbox]:checked+.batiment-card{background:#fef2f2;border-color:#dc2626}.batiment-info h4{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 .25rem}.batiment-info p{color:#6b7280;font-size:.9rem;margin:0 0 .5rem}.batiment-meta{align-items:center;display:flex;gap:.5rem}.assigned-badge{background:#fef3c7;border-radius:4px;color:#92400e;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.assignment-summary{background:#fff;border:1px solid #d1fae5;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.summary-item{color:#374151;font-size:.95rem;margin-bottom:.5rem}.confirmation-actions{display:flex;gap:1rem;justify-content:flex-end}.confirm-btn{background:#dc2626;color:#fff}.confirm-btn:hover{background:#b91c1c}@media (max-width:768px){.batiments-selection,.overview-cards,.preventionnistes-grid,.users-grid{grid-template-columns:1fr}.preventionniste-header{flex-direction:column;gap:1rem}.confirmation-actions{flex-direction:column}}.grilles-inspection-container{display:flex;flex-direction:column;gap:3rem;padding:1rem}.custom-grilles-section,.default-grilles-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}.custom-grilles-section h3,.default-grilles-section h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.default-grilles-section p{color:#6b7280;font-size:1rem;margin:0 0 1.5rem}.custom-grilles-grid,.default-grilles-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grille-card,.template-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;transition:all .2s}.grille-card:hover,.template-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.grille-header,.template-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.grille-header h4,.template-header h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.groupe-badge{background:#fef3c7;border-radius:6px;color:#92400e;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.template-info p{color:#374151;font-size:.9rem;margin:.25rem 0}.template-info p:first-child{color:#1f2937;font-weight:600}.template-stats{display:flex;gap:1rem;margin:1rem 0}.template-stats .stat{background:#e5e7eb;border-radius:4px;color:#374151;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.grille-actions,.template-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem}.grille-info p{color:#6b7280;font-size:.85rem;margin:.25rem 0}.templates-preview{margin-top:2rem}.template-preview{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:2rem}.preview-header h3{color:#1f2937;font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.preview-header p{color:#6b7280;font-style:italic;margin:0 0 1.5rem}.sections-preview{display:flex;flex-direction:column;gap:1.5rem}.section-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.section-preview h4{color:#dc2626;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.section-preview p{color:#6b7280;font-size:.9rem;margin:0 0 1rem}.questions-preview{display:flex;flex-direction:column;gap:.5rem}.question-preview{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.question-text{font-size:.9rem}.question-type{background:#f3f4f6;border-radius:4px;padding:.25rem .5rem}.more-questions,.question-type{color:#6b7280;font-size:.8rem;font-style:italic}.more-questions{margin:.5rem 0 0;text-align:center}.create-grille-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}.form-section{border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.form-section h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem}.form-fields{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.form-field label{font-size:.9rem}.form-field input,.form-field select{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:.75rem}.form-field input:focus,.form-field select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.recommendation-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1.5rem}.recommendation-note p{color:#0c4a6e;margin:0 0 .75rem}.recommendation-note p:last-child{margin:0}.form-actions{border-top:1px solid #e5e7eb;padding-top:1rem}@media (max-width:768px){.grilles-inspection-container{padding:.5rem}.custom-grilles-grid,.default-grilles-grid{grid-template-columns:1fr}.grille-actions,.template-actions{flex-direction:column}.form-fields{grid-template-columns:1fr}.form-actions{flex-direction:column}}.fonction-sup{color:#fbbf24;font-size:.75rem;font-weight:700;margin-left:.25rem}.fonction-superieur-indicator{color:#92400e;font-size:.625rem;font-weight:500;margin-top:.125rem}.temps-partiel-info{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.heures-max-info{align-items:center;display:flex;font-size:.75rem;gap:.25rem}.heures-max-label{color:#64748b;font-weight:500}.heures-max-value{background-color:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-weight:600;padding:.125rem .375rem}.heures-max-input{align-items:center;display:flex;gap:.5rem}.heures-max-input input{max-width:100px}.heures-max-unit{color:#64748b;font-size:.875rem;font-weight:500}.heures-max-help{color:#6b7280;font-size:.75rem;font-style:italic;line-height:1.4;margin-top:.5rem}@media (max-width:1024px){.formations-compact-grid{grid-template-columns:1fr}}.formations-selection-enhanced{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));max-height:300px;overflow-y:auto;padding:.5rem}.formation-card-selection,.formations-selection-enhanced{background:#fff;border:1px solid #e2e8f0;border-radius:8px}.formation-card-selection{transition:all .2s ease}.formation-card-selection:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.formation-checkbox-enhanced{align-items:flex-start;display:flex;gap:.75rem;padding:1rem}.formation-checkbox-enhanced input[type=checkbox]{accent-color:#dc2626;flex-shrink:0;height:18px;margin-top:.125rem;width:18px}.formation-label-enhanced{cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.5rem}.formation-name{color:#1e293b;font-size:.875rem;font-weight:600}.obligatoire-badge{background-color:#dc2626;border-radius:12px;color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.formation-details{display:flex;flex-direction:column;gap:.25rem}.formation-description{color:#64748b;font-size:.75rem;line-height:1.4}.formation-meta{color:#9ca3af;display:flex;font-size:.65rem;gap:1rem}.formation-card-selection:has(input:checked){background-color:#fef2f2;border-color:#dc2626}.formation-card-selection:has(input:checked) .formation-name{color:#dc2626}.password-hint{color:#6b7280;font-size:.75rem;line-height:1.4;margin-top:.25rem}.user-profile-view{display:flex;flex-direction:column;gap:1.5rem}.profile-summary{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1.5rem;padding:1.5rem}.profile-avatar-large{align-items:center;background:#dc2626;border-radius:50%;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.avatar-icon-large{color:#fff;font-size:2.5rem}.profile-info-summary h4{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.profile-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.profile-badges .employment-badge,.profile-badges .grade-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.profile-badges .employment-badge{background-color:#6b7280}.profile-badges .status-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.profile-badges .status-badge.actif{background-color:#10b981}.profile-badges .status-badge.inactif{background-color:#ef4444}.employee-id{color:#64748b;font-family:monospace;font-size:.875rem}.profile-details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.detail-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.detail-section h5{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:.95rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.375rem}.detail-list{display:flex;flex-direction:column;gap:.5rem!important}.detail-item-modern{align-items:center;background-color:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem}.detail-label{color:#64748b}.detail-label,.detail-value{font-size:.875rem;font-weight:500}.detail-value.emergency{color:#dc2626;font-weight:600}.competences-view{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.competence-badge-view{align-items:center;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.competence-name{color:#1e40af;font-size:.875rem;font-weight:500}.competence-status{color:#059669;font-size:.75rem}.no-competences{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.profile-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem}@media (max-width:1024px){.profile-details-grid{grid-template-columns:1fr}.profile-summary{flex-direction:column;text-align:center}.competences-view,.formations-selection-enhanced{grid-template-columns:1fr}.extra-large-modal{max-width:95vw}}.availability-config-advanced{display:flex;flex-direction:column;gap:2rem}.config-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.config-section h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.type-garde-selection{display:flex;flex-direction:column;gap:.5rem}.type-garde-selection small{color:#6b7280;font-size:.75rem;font-style:italic}.time-config-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr}.status-field,.time-field{display:flex;flex-direction:column;gap:.25rem}.selection-summary-advanced{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin-top:1rem;padding:1rem}.selection-summary-advanced .summary-item{color:#1e40af;font-size:.875rem;margin-bottom:.5rem}.password-form{display:flex;flex-direction:column;gap:1rem}.password-requirements{color:#6b7280;font-size:.75rem;line-height:1.4;margin-top:.25rem}.replacement-form{display:flex;flex-direction:column;gap:1rem}.replacement-reason{color:#64748b;font-size:.875rem;font-style:italic;margin-bottom:.25rem}.replacement-info h4{color:#dc2626;font-weight:600;margin-bottom:.25rem}.availability-overview-enhanced{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.overview-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.overview-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.overview-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.overview-card:first-child{border-left:4px solid #dc2626}.overview-card:nth-child(2){border-left:4px solid #10b981}.overview-card:nth-child(3){border-left:4px solid #3b82f6}.card-icon{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.card-content{display:flex;flex-direction:column;gap:.25rem}.card-number{color:#1e293b;font-size:2rem;font-weight:700;line-height:1}.card-label{color:#64748b;font-size:.875rem;font-weight:500}.availability-main-enhanced{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:3fr 2fr}.calendar-section-large{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.calendar-section-large h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.availability-calendar-large{background:#fff!important;border:2px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 4px 20px #0000001a!important;display:flex!important;justify-content:center!important;margin:1.5rem auto!important;max-width:100%!important;padding:3rem!important;width:-webkit-fit-content!important;width:fit-content!important}.availability-calendar-large .rdp{--rdp-cell-size:150px!important;--rdp-accent-color:#dc2626!important;font-size:1.5rem!important;margin:0 auto!important;width:100%!important}.availability-calendar-large .rdp-month{max-width:100%!important;width:100%!important}.availability-calendar-large .rdp-table{max-width:none!important;width:100%!important}.availability-calendar-large .rdp-day{align-items:center!important;background:#fff!important;border:2px solid #e2e8f0!important;border-radius:12px!important;display:flex!important;font-size:1.5rem!important;font-weight:600!important;height:150px!important;justify-content:center!important;min-height:150px!important;min-width:150px!important;transition:all .2s ease!important;width:150px!important}.availability-calendar-large .rdp-day:hover:not(.rdp-day_disabled){background-color:#fef2f2!important;border-color:#dc2626!important;box-shadow:0 6px 16px #dc262633!important;transform:scale(1.05)!important;z-index:10!important}.availability-calendar-large .rdp-day_selected{background-color:#dc2626!important;border-color:#dc2626!important;box-shadow:0 6px 16px #dc262666!important;color:#fff!important;font-weight:700!important}.availability-calendar-large .rdp-day_today{background:#f0fdf4!important;border:3px solid #16a34a!important;color:#16a34a!important;font-weight:700!important}.availability-calendar-large .rdp-caption{color:#0f172a!important;font-size:2.1rem!important;font-weight:700!important;margin-bottom:2rem!important;padding:1rem 0!important}.availability-calendar-large .rdp-head_cell{color:#64748b!important;font-size:1.3rem!important;font-weight:700!important;letter-spacing:1px!important;padding-bottom:1.5rem!important;text-transform:uppercase!important}.availability-calendar-large .rdp-day_disabled{cursor:not-allowed!important;opacity:.3!important}@media (max-width:768px){.availability-calendar-large{padding:1rem}.availability-calendar-large .rdp{--rdp-cell-size:45px;font-size:.95rem}.availability-calendar-large .rdp-day{font-size:.9rem;min-height:45px}.availability-calendar-large .rdp-caption{font-size:1.15rem;margin-bottom:1rem}.availability-calendar-large .rdp-head_cell{font-size:.8rem;padding-bottom:.5rem}}@media (min-width:769px) and (max-width:1024px){.availability-calendar-large .rdp{--rdp-cell-size:60px}.availability-calendar-large .rdp-day{min-height:60px}}.calendar-legend-modern{background:#f8fafc;border-radius:8px;display:flex;gap:2rem;justify-content:center;padding:1rem}.legend-item-modern{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.75rem}.legend-dot{border:2px solid;border-radius:50%;height:12px;width:12px}.legend-dot.available{background-color:#dcfce7;border-color:#bbf7d0}.legend-dot.unavailable{background-color:#f3f4f6;border-color:#d1d5db}.calendar-legend-enhanced{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.legend-section h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.legend-items-enhanced{display:flex;gap:2rem;justify-content:center}.legend-item-enhanced{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#374151;display:flex;font-weight:500;gap:.75rem;padding:.75rem 1rem}.legend-indicator{align-items:center;border:2px solid;border-radius:50%;display:flex;height:16px;justify-content:center;width:16px}.legend-indicator.available{background-color:#dcfce7;border-color:#10b981}.legend-indicator.unavailable{background-color:#f3f4f6;border-color:#9ca3af}.type-garde-legend-enhanced{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.type-garde-legend-enhanced h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.type-legend-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.type-legend-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.type-legend-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.type-color-indicator{align-items:center;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;font-size:1.125rem;font-weight:700;height:40px;justify-content:center;width:40px}.type-color-indicator.general{background:linear-gradient(135deg,#10b981,#059669)}.type-initial{text-shadow:0 1px 2px #0003}.type-info{display:flex;flex-direction:column;gap:.25rem}.type-name{color:#1e293b;font-size:.875rem;font-weight:600}.type-hours{color:#64748b;font-size:.75rem;font-weight:500}.availability-details-enhanced{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;height:-webkit-fit-content;height:fit-content;padding:2rem}.availability-details-enhanced h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.availability-list-enhanced{display:flex;flex-direction:column;gap:1rem}.availability-item-enhanced{grid-gap:1rem;align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr;padding:1.5rem;transition:all .2s ease}.availability-item-enhanced:hover{border-color:#10b981;box-shadow:0 4px 12px #10b9811a}.availability-date-info{align-items:center;display:flex;gap:1rem}.date-badge{align-items:center;background:#dc2626;border-radius:50%;color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:50px;justify-content:center;width:50px}.date-day-short{font-size:1.125rem;font-weight:700}.date-month-short{font-size:.5rem;font-weight:600;text-transform:uppercase}.date-details{display:flex;flex-direction:column;gap:.25rem}.date-full-text{color:#166534;font-size:.875rem;font-weight:600}.date-weekday{color:#15803d;font-size:.75rem;text-transform:lowercase}.availability-garde-info{flex-direction:column}.availability-garde-info,.garde-type{align-items:center;display:flex;gap:.5rem}.garde-name{color:#374151;font-size:.875rem;font-weight:600}.garde-icon{font-size:1rem}.garde-hours{color:#6b7280;font-size:.875rem;font-weight:500}.availability-status-final{display:flex;justify-content:center}.status-badge-final{border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;min-width:80px;padding:.5rem 1rem;text-align:center}.status-badge-final.disponible{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98133}.status-badge-final.preference{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b33}.status-badge-final.indisponible{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef444433}.no-availability-enhanced{align-items:center;display:flex;justify-content:center;min-height:300px}.empty-state-enhanced{padding:2rem;text-align:center}.empty-icon-large{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-state-enhanced h4{color:#374151;font-size:1.25rem;margin-bottom:.5rem}.empty-state-enhanced p{color:#6b7280;line-height:1.5;margin-bottom:1.5rem}.automatic-hours{display:flex;flex-direction:column;gap:1rem}.hours-display{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.hours-label{color:#1e40af;font-weight:500}.hours-value{color:#1e40af;font-size:1.125rem;font-weight:700}.status-selection-simple{display:flex;flex-direction:column;gap:.5rem}.section-note{color:#6b7280;font-size:.875rem;font-style:italic;margin-bottom:1rem}@media (max-width:1024px){.availability-main-enhanced{grid-template-columns:1fr}.availability-calendar-large{transform:scale(1)}.calendar-section-large{padding:1rem}}.fonction-sup-profile{color:#dc2626;font-size:.75rem;font-weight:600}.details-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.click-instruction{color:#6b7280;font-size:.875rem;font-style:italic}.selected-date-details{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selected-date-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.selected-date-header h4{color:#1e40af;font-size:1.125rem;font-weight:600}.multiple-indicator{color:#dc2626;font-size:.875rem;font-weight:500;margin-left:.5rem}.dispo-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;padding:1rem}.dispo-detail-card:last-child{margin-bottom:0}.close-details{color:#64748b;padding:.25rem}.selected-date-content{display:flex;flex-direction:column;gap:.75rem}.detail-item-large{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;padding:1rem}.detail-icon{font-size:1.5rem;width:40px}.detail-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.detail-title{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-value{color:#1e293b}.detail-status,.detail-value{font-size:1rem;font-weight:600}.detail-status.disponible{color:#059669}.detail-status.preference{color:#d97706}.detail-status.indisponible{color:#dc2626}.formations-planning{animation:fadeIn .3s ease-out}.formations-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.formations-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.formations-header p{color:#64748b;font-size:1rem}.formations-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.stat-card-formation{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s ease}.stat-card-formation:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card-formation .stat-icon{align-items:center;background-color:#f1f5f9;border-radius:12px;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.sessions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.session-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.session-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.session-header{margin-bottom:1rem}.session-title-area{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.session-title-area h3{color:#1e293b;font-size:1.125rem;font-weight:600}.session-statut{border-radius:20px;color:#fff;font-weight:600}.competence-badge,.session-statut{font-size:.75rem;padding:.25rem .75rem}.competence-badge{background-color:#eff6ff;border-radius:12px;color:#1e40af;font-weight:500}.session-details{margin-bottom:1rem}.detail-row{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:.5rem}.detail-icon{font-size:1rem;text-align:center;width:20px}.session-description{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;padding:1rem}.session-description p{color:#64748b;font-size:.875rem;line-height:1.5;margin:0}.session-participants{margin-bottom:1rem}.participants-count{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.count-badge{background-color:#dc2626;border-radius:12px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.participants-label{color:#64748b;font-size:.875rem}.participants-progress{background-color:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar{border-radius:4px;height:100%;transition:width .3s ease}.session-actions{display:flex;gap:.75rem;justify-content:flex-end}.session-form-grid{display:flex;flex-direction:column;gap:2rem}.no-sessions{color:#6b7280;padding:4rem;text-align:center}.no-sessions h3{color:#374151;font-size:1.25rem;margin-bottom:.5rem}.planning-controls{gap:2rem}.action-controls{gap:1rem}.planning-cell.disabled{background-color:#f9fafb;border-left-color:#d1d5db!important}.disabled-content{color:#9ca3af;font-style:italic;text-align:center}.disabled-text{font-size:.75rem;font-weight:500}.disabled-reason,.jours-application{font-size:.625rem;margin-top:.25rem}.jours-application{color:#6b7280}.more-personnel{color:#9ca3af;font-size:.625rem;margin-top:.25rem}.garde-info-header{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem}.garde-type-info h4{color:#1e293b;font-weight:600;margin-bottom:.5rem}.garde-details-meta{color:#64748b;display:flex;flex-direction:column;font-size:.875rem;gap:.25rem}.badge-externe{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #667eea33}.badge-externe,.badge-officier{border-radius:1rem;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.badge-officier{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 4px #f59e0b33;margin-left:.5rem}.coverage-ratio{color:#dc2626;display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.coverage-label{color:#64748b;font-size:.75rem}.personnel-assigned h4{color:#1e293b;font-weight:600;margin-bottom:1rem}.personnel-list{display:flex;flex-direction:column;gap:1rem}.personnel-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.personnel-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.personnel-info{align-items:center;display:flex;gap:1rem}.personnel-avatar{align-items:center;background-color:#f1f5f9;border-radius:50%;display:flex;height:40px;justify-content:center;width:40px}.personnel-details{display:flex;flex-direction:column;gap:.125rem}.personnel-name{color:#1e293b;font-weight:600}.personnel-grade{color:#3b82f6;font-size:.75rem;font-weight:500}.personnel-type{color:#6b7280;font-size:.625rem}.personnel-actions{align-items:center;display:flex;gap:1rem}.assignment-method{background-color:#f1f5f9;border-radius:12px;color:#64748b;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.no-personnel{color:#6b7280;padding:2rem;text-align:center}.planning-cell.empty-cell{background:#0000;border:none;cursor:default}.click-hint-view{color:#3b82f6;font-size:.625rem;font-weight:500;margin-top:.25rem}.planning-controls{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem}.view-controls{background:#f8fafc;border-radius:8px;display:flex;gap:.5rem;padding:.25rem}.action-controls{display:flex;gap:.75rem}@media (max-width:768px){.planning-controls{align-items:stretch;flex-direction:column;gap:1rem}.view-controls{justify-content:center;order:1}.action-controls{flex-direction:column;gap:.5rem;order:2}.action-controls button{font-size:.875rem;line-height:1.2;padding:.75rem;white-space:normal}}.time-navigation{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1rem}.period-title{color:#1e293b;flex:1 1;font-size:1.25rem;font-weight:600;text-align:center}@media (max-width:768px){.time-navigation{flex-direction:column;gap:1rem;text-align:center}.period-title{font-size:1rem;order:-1}.time-navigation .btn{font-size:.875rem}}.coverage-legend{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1rem}.coverage-legend h3{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.legend-items{justify-content:center}.legend-item{color:#374151;font-size:.875rem}.legend-color{height:16px;width:16px}.legend-color.complete{background-color:#10b981}.legend-color.partielle{background-color:#f59e0b}.legend-color.vacante{background-color:#ef4444}.planning-moderne{display:flex;flex-direction:column;gap:1.5rem}.garde-row-moderne{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.garde-info-moderne{margin-bottom:1rem}.garde-info-moderne h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.garde-meta{color:#64748b;display:flex;font-size:.875rem;gap:1rem}.jours-garde-moderne{display:flex;flex-wrap:wrap;gap:1rem}.jour-garde-card{background:#fff;border:2px solid;border-radius:12px;cursor:pointer;min-width:120px;padding:1rem;transition:all .2s ease}.jour-garde-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.jour-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.jour-name{font-size:.875rem}.jour-date,.jour-name{color:#1e293b;font-weight:600}.jour-date{background-color:#0000001a;border-radius:50%;font-size:.75rem;padding:.25rem .5rem}.garde-content{margin-bottom:.75rem}.assigned-info{display:flex;flex-direction:column;gap:4px;text-align:center}.assigned-name-item{flex-direction:column}.assigned-name-item,.assigned-name-item-compact{align-items:center;display:flex;margin-bottom:2px}.assigned-name-item-compact{justify-content:center}.assigned-name-compact{color:#1e293b;font-size:.7rem;font-weight:600;line-height:1.3;text-align:center}.assigned-name{color:#1e293b;display:block;font-size:.8rem;font-weight:600;line-height:1.2}.assigned-grade{color:#64748b;display:block;font-size:.7rem;line-height:1}.more-count{color:#9ca3af;font-size:.75rem;font-weight:600;margin-top:4px}.personnel-ratio{background:#ffffff80;border-radius:4px;padding:4px 8px}.personnel-ratio,.vacant-info{text-align:center}.vacant-text{color:#6b7280;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.personnel-need{color:#9ca3af;font-size:.75rem}.coverage-indicator{text-align:center}.coverage-badge{font-size:1.25rem}.planning-mois{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;max-width:100%;padding:1rem;width:100%}.mois-header h3{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-align:center}.calendrier-mois{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);width:100%}.jour-mois{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;min-height:80px;overflow:hidden;padding:.5rem}.jour-mois-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.375rem}.jour-mois-name{color:#64748b;font-size:.65rem;font-weight:500}.jour-mois-date{color:#1e293b;font-size:.9rem;font-weight:600}.gardes-jour-list{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-height:0;overflow-y:auto}.garde-mois-item{align-items:center;background:#fff;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;font-size:.65rem;gap:.3rem;justify-content:space-between;min-height:24px;padding:.25rem .35rem;transition:all .2s ease}.garde-mois-item:hover{box-shadow:0 2px 8px #0003;transform:scale(1.05)}.garde-nom-complet{flex:1 1;font-size:.75rem;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coverage-icon{flex-shrink:0;font-size:.875rem}@media (max-width:1024px){.jours-garde-moderne{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.planning-mois{padding:.75rem}.calendrier-mois{gap:.4rem}.jour-mois{min-height:70px;padding:.4rem}.planning-controls{flex-direction:column;gap:1rem}}@media (max-width:768px){.garde-mois-item{gap:.3rem;min-height:24px;padding:.25rem .4rem}.garde-nom-complet{font-size:.65rem}.coverage-icon{font-size:.75rem}.planning-mois{padding:.5rem}.calendrier-mois{gap:.3rem}.jour-mois{min-height:60px;padding:.3rem}.jour-mois-name{font-size:.55rem}.jour-mois-date{font-size:.8rem}.garde-mois-item{font-size:.6rem;min-height:20px;padding:.2rem .3rem}}@media (max-width:480px){.garde-nom-complet{font-size:.6rem}.garde-mois-item{border-radius:4px;min-height:22px;padding:.2rem .3rem}.coverage-icon{font-size:.7rem}}@media (max-width:1024px){.personnel-item,.planning-controls{flex-direction:column;gap:1rem}.personnel-item{text-align:center}.availability-main,.formations-stats,.overview-stats,.sessions-grid{grid-template-columns:1fr}.availability-item-detailed{gap:.5rem;grid-template-columns:1fr}}.priority-section{margin-bottom:2rem}.priority-section h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.priority-options{display:flex;flex-direction:column;gap:.75rem}.priority-option{align-items:flex-start;cursor:pointer;display:flex;gap:1rem}.priority-option input[type=radio]{accent-color:#dc2626;flex-shrink:0;height:18px;margin-top:.125rem;width:18px}.priority-content{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1 1;padding:1rem;transition:all .2s ease}.priority-option:has(input:checked) .priority-content{background:#fef2f2;border-width:2px}.priority-content:hover{background:#f8fafc}.priority-label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.priority-description{color:#64748b;font-size:.75rem;line-height:1.4}.conge-type-options{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.conge-type-option{align-items:flex-start;cursor:pointer;display:flex;gap:.75rem}.conge-type-option input[type=radio]{accent-color:#dc2626;flex-shrink:0;height:18px;margin-top:.125rem;width:18px}.conge-type-content{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1 1;padding:1rem;transition:all .2s ease}.conge-type-option:has(input:checked) .conge-type-content{background:#f0fdf4;border-color:#10b981}.conge-type-content:hover{background:#f8fafc}.conge-type-label{color:#1e293b;display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.conge-type-description{color:#64748b;font-size:.75rem;line-height:1.4}.workflow-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:1.5rem;padding:1rem}.workflow-info h4{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.workflow-steps{display:flex;gap:1rem}.workflow-step{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.5rem}.replacement-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:1rem;margin-bottom:2rem}.replacement-tabs .tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:1rem 1.5rem;transition:all .2s ease;white-space:nowrap}.replacement-tabs .tab-button:hover{background-color:#f8fafc;color:#1e293b}.replacement-tabs .tab-button.active{background-color:#fef2f2;border-bottom-color:#dc2626;color:#dc2626}.conges-content,.remplacements-content{animation:fadeIn .3s ease-out}.conge-stats,.replacement-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card-conge{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card-conge:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card-conge .stat-icon{align-items:center;background-color:#f1f5f9;border-radius:12px;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.stat-card-conge.pending .stat-icon{background-color:#fef3c7}.stat-card-conge.approved .stat-icon{background-color:#dcfce7}.stat-card-conge.total .stat-icon{background-color:#ede9fe}.conges-list,.demandes-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.conge-card,.demande-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1rem;padding:1.5rem;transition:all .2s ease}.conge-card:hover,.demande-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.conge-header,.demande-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.conge-type{align-items:center;display:flex;gap:.75rem}.type-badge{background-color:#eff6ff;color:#1e40af}.priorite-badge,.type-badge{border-radius:12px;font-size:.75rem;padding:.25rem .75rem}.priorite-badge{color:#fff;font-weight:600}.conge-details{margin-bottom:1rem}.conge-dates{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.date-range{color:#1e293b;font-size:.875rem;font-weight:600}.jours-count{color:#64748b;font-size:.75rem}.conge-raison{color:#374151;font-size:.875rem;line-height:1.4;margin-bottom:.5rem}.conge-meta{color:#9ca3af;display:flex;font-size:.75rem;gap:2rem}.conge-actions{display:flex;gap:.75rem;justify-content:flex-end}.management-header{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.management-info h3{color:#92400e;font-weight:600;margin-bottom:.25rem}.management-info p{color:#78350f;font-size:.875rem}.pending-indicator{align-items:center;display:flex;flex-direction:column;gap:.25rem}.pending-count{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#dc2626;display:flex;font-size:2rem;font-weight:700;height:60px;justify-content:center;width:60px}.pending-label{color:#92400e;font-size:.75rem;font-weight:500;text-align:center}.approval-info{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:1rem;padding:1rem}.approval-details{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.approval-by{color:#166534;font-size:.875rem;font-weight:600}.approval-date{color:#15803d;font-size:.75rem}.approval-comment{color:#166534;font-size:.875rem;line-height:1.4}.management-actions{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.management-tips{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin-top:2rem;padding:1.5rem;text-align:left}.management-tips h4{color:#1e40af;font-weight:600;margin-bottom:1rem}.management-tips ul{list-style:none;margin:0;padding:0}.management-tips li{color:#1e40af;font-size:.875rem;margin-bottom:.5rem;padding-left:1rem;position:relative}.management-tips li:before{color:#3b82f6;content:"•";font-weight:700;left:0;position:absolute}.module-epi-nfpa{padding:2rem}.epi-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.epi-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s;white-space:nowrap}@media (max-width:768px){.epi-tabs button{font-size:.8rem;padding:.6rem .75rem}}.epi-tabs button.active{border-bottom-color:#ef4444;color:#1f2937}.epi-tabs button:hover{color:#1f2937}.inventaire-actions{margin-bottom:1.5rem}.epi-card{border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s}.epi-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.epi-card-header{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;display:flex;gap:1rem;padding:1.5rem}.epi-icon{font-size:2.5rem}.epi-card-header h3{font-size:1.25rem;margin:0}.epi-numero{font-size:.875rem;margin:0;opacity:.9}.epi-statut-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;margin-left:auto;padding:.25rem .75rem}.epi-card-body{padding:1.5rem}.epi-card-body p{font-size:.9rem;margin:.5rem 0}.epi-card-actions{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem}.isp-actions{margin-bottom:1.5rem}.isp-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.isp-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.isp-header h3{color:#1f2937;margin:0 0 1rem}.isp-body p{font-size:.9rem;margin:.5rem 0}.isp-actions{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.rapport-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:1.5rem 0}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;text-align:center}.stat-card h3{color:#1f2937;font-size:2.5rem;margin:0}.stat-card p{color:#6b7280;margin:.5rem 0 0}.echeances-list{display:flex;flex-direction:column;gap:1rem}.echeance-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:1.5rem}.echeance-card strong{font-size:1.1rem}.jours-badge{background:#fef3c7;border-radius:20px;color:#92400e;font-weight:600;padding:.5rem 1rem}.jours-badge.urgent{background:#fee2e2;color:#991b1b}.epi-detail-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.detail-section{background:#f9fafb;border-radius:12px;padding:1.5rem}.detail-section h3{color:#1f2937;font-size:1.1rem;margin:0 0 1rem}.detail-section p{font-size:.9rem;margin:.5rem 0}.inspections-section{background:#f9fafb;border-radius:12px;padding:1.5rem}.inspections-list{display:flex;flex-direction:column;gap:1rem}.inspection-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.inspection-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.inspection-type-badge{background:#dbeafe;color:#1e40af;font-size:.875rem;font-weight:600}.inspection-type-badge,.statut-badge{border-radius:20px;padding:.5rem 1rem}.statut-badge.non_conforme{background:#fee2e2;color:#991b1b}.statut-badge.necessite_reparation{background:#fef3c7;color:#92400e}.statut-badge.hors_service{background:#e5e7eb;color:#374151}.inspection-card p{font-size:.9rem;margin:.5rem 0}.form-select,.form-textarea{font-size:.875rem}.form-textarea{padding:.5rem}.empty-state{padding:4rem 2rem}.empty-state p{color:#6b7280;font-size:1.1rem;margin:0 0 1.5rem}@media (max-width:768px){.epi-grid,.isp-list{grid-template-columns:1fr}.rapport-stats{grid-template-columns:repeat(2,1fr)}.epi-detail-grid,.form-grid{grid-template-columns:1fr}}.epi-nettoyage{padding:2rem}.nettoyage-header h2{color:#1f2937;margin:0 0 .5rem}.nettoyage-header p{color:#6b7280;margin:0}.nettoyage-info-card{background:#eff6ff;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.nettoyage-info-card h3{color:#1e40af;margin:0 0 1rem}.nettoyage-info-card ul{color:#1e40af;margin:0;padding-left:1.5rem}.nettoyage-info-card li{margin:.5rem 0}.nettoyage-list{display:flex;flex-direction:column;gap:1rem}.nettoyage-epi-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.nettoyage-epi-header{align-items:center;display:flex;justify-content:space-between}.nettoyages-section{background:#f0fdf4;border-radius:12px;padding:1.5rem}.nettoyages-list{display:flex;flex-direction:column;gap:1rem}.nettoyage-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.nettoyage-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.type-badge{border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.type-badge.routine{background:#dbeafe;color:#1e40af}.type-badge.avance{background:#d1fae5;color:#065f46}.epi-reparations{padding:2rem}.reparations-header h2{color:#1f2937;margin:0 0 .5rem}.reparations-header p{color:#6b7280;margin:0}.reparations-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:1.5rem 0}.reparations-list{display:flex;flex-direction:column;gap:1rem}.reparation-epi-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.reparation-epi-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.reparations-section{background:#fef3c7;border-radius:12px;padding:1.5rem}.reparation-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.reparation-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.statut-badge.demandee{background:#dbeafe;color:#1e40af}.statut-badge.en_cours{background:#fef3c7;color:#92400e}.statut-badge.terminee{background:#d1fae5;color:#065f46}.statut-badge.impossible{background:#fee2e2;color:#991b1b}.retrait-section{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;margin-top:2rem;padding:1.5rem}.retrait-section h3{color:#92400e;margin:0 0 .5rem}.retraits-list{display:flex;flex-direction:column;gap:1rem}.retrait-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:1.5rem}.age-badge{background:#e0e7ff;border-radius:20px;color:#3730a3;font-size:.875rem;font-weight:600;margin-right:.5rem;padding:.5rem 1rem}.tco-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.tco-list{display:flex;flex-direction:column;gap:1rem}.tco-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:1.5rem}.tco-details{text-align:right}.tco-details p{font-size:.9rem;margin:.25rem 0}@media (max-width:768px){.nettoyage-epi-header,.reparation-epi-header,.retrait-card{align-items:flex-start;flex-direction:column}.retrait-card{gap:1rem}.tco-card{flex-direction:column;gap:1rem}.epi-tabs{overflow-x:auto;white-space:nowrap}.epi-tabs button{font-size:.875rem;padding:.75rem 1rem}}.rapports-controls{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.exports-section h3,.filtres-section h3{color:#1f2937;font-size:1.1rem;margin:0 0 1rem}.filtres-grid{margin-bottom:1.5rem}.exports-section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.exports-buttons{display:flex;flex-wrap:wrap;gap:1rem}.nettoyage-card p,.reparation-card p{font-size:.9rem;margin:.5rem 0}.module-formations-nfpa{padding:2rem}.header-controls{align-items:center;display:flex;gap:1rem}.formations-dashboard{margin:2rem 0}.formations-dashboard .kpi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.formations-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:nowrap;gap:1rem;margin-bottom:2rem;overflow-x:auto}.formations-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex-shrink:0;font-weight:600;padding:1rem 1.5rem;white-space:nowrap}.formations-tabs button.active{border-bottom-color:#ef4444;color:#1f2937}.formations-actions{margin-bottom:1.5rem}.formations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.formation-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.formation-header{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.formation-header h3{margin:0}.formation-body{padding:1.25rem 1.5rem}.formation-body p{font-size:.9rem;line-height:1.5;margin:.6rem 0}.formation-actions{background:#fafafa;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem}.statut-badge.planifiee{background:#fee2e2;color:#991b1b}.statut-badge.planifiee,.statut-badge.terminee{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.statut-badge.terminee{background:#fef2f2;color:#7f1d1d}.formations-rapports{padding:2rem}.conformite-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:1.5rem 0}.pompiers-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.pompier-card{grid-gap:1.5rem;align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:grid;gap:1.5rem;grid-template-columns:2fr 3fr 1fr;padding:1.5rem}.pompier-card.conforme{border-left:4px solid #10b981}.pompier-card.non-conforme{border-left:4px solid #ef4444}.pompier-info h4{margin:0}.pompier-info p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.pompier-heures{flex:1 1}.heures-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.heures-progress{height:100%;transition:width .3s}.pompier-heures p{font-size:.9rem;margin:0}.badge-conforme{background:#d1fae5;color:#065f46}.badge-conforme,.badge-non-conforme{border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.badge-non-conforme{background:#fee2e2;color:#991b1b}.inscriptions-stats{background:#f9fafb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.inscriptions-stats p{margin:.5rem 0}.inscriptions-list{display:flex;flex-direction:column;gap:.75rem}.inscription-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.badge-inscrit{color:#065f46}.badge-en_attente,.badge-inscrit{border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.badge-en_attente{background:#fef3c7;color:#92400e}.badge-present{background:#d1fae5;color:#065f46}.badge-absent,.badge-present{border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.badge-absent{background:#fee2e2;color:#991b1b}.validation-list{display:flex;flex-direction:column;gap:1rem}.validation-item{align-items:center;background:#f9fafb;border-radius:12px;display:flex;justify-content:space-between;padding:1.5rem}.validation-buttons{display:flex;gap:.5rem}.heures-creditees{background:#d1fae5;border-radius:20px;color:#065f46;font-size:.875rem;font-weight:600;padding:.5rem 1rem}@media (max-width:768px){.formations-grid,.pompier-card{grid-template-columns:1fr}.pompier-card{gap:1rem}.conformite-stats{grid-template-columns:repeat(2,1fr)}}.mon-kpi-presence{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:2rem 0;padding:2rem}.mon-kpi-presence h2{color:#1f2937;margin:0 0 1.5rem}.kpi-personnel-grid{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.kpi-card-large{align-items:center;display:flex;gap:2rem}.kpi-circle{height:200px;position:relative;width:200px}.kpi-circle,.kpi-circle-inner{align-items:center;border-radius:50%;display:flex;justify-content:center}.kpi-circle-inner{background:#fff;flex-direction:column;height:160px;width:160px}.kpi-circle-inner h2{color:#1f2937;font-size:3rem;margin:0}.kpi-circle-inner p{color:#6b7280;font-size:.875rem;margin:0}.kpi-details{flex:1 1}.kpi-details p{font-size:1rem;margin:.75rem 0}.statut-conformite{border-radius:12px;padding:2rem;text-align:center}.statut-conformite.conforme{background:#d1fae5;border:2px solid #10b981}.statut-conformite.non-conforme{background:#fee2e2;border:2px solid #ef4444}.statut-conformite h3{font-size:1.5rem;margin:0 0 .5rem}.statut-conformite.conforme h3{color:#065f46}.statut-conformite.non-conforme h3{color:#991b1b}.statut-conformite p{font-size:.95rem;margin:0}.statut-conformite.conforme p{color:#047857}.statut-conformite.non-conforme p{color:#dc2626}@media (max-width:768px){.kpi-personnel-grid{grid-template-columns:1fr}.kpi-card-large{flex-direction:column}.kpi-circle{height:150px;width:150px}.kpi-circle-inner{height:120px;width:120px}.kpi-circle-inner h2{font-size:2rem}}.module-rapports-nfpa{margin:0 auto;max-width:1400px;padding:2rem}.rapports-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:1rem;margin-bottom:2rem}.rapports-tabs button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:1.1rem;font-weight:500;padding:1rem 2rem;transition:all .3s ease}.rapports-tabs button.active{border-bottom-color:#fca5a5}.rapports-tabs button.active,.rapports-tabs button:hover{background:#fef2f2;color:#dc2626}.rapports-sub-nav{background:#f9fafb;border-radius:12px;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.rapports-sub-nav button{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:.95rem;padding:.75rem 1.5rem;transition:all .2s ease}.rapports-sub-nav button.active{background:#fca5a5;border-color:#fca5a5;color:#fff;font-weight:600}.rapports-sub-nav button:hover{border-color:#fca5a5;color:#dc2626}.dashboard-interne,.rapport-budgetaire,.rapport-immobilisations,.rapport-salaires{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.budgets-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem}.budget-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.budget-card h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin-bottom:1rem;text-transform:capitalize}.budget-montants{display:flex;justify-content:space-between;margin-bottom:1rem}.budget-label{color:#6b7280;font-size:.85rem;margin-bottom:.25rem}.budget-value{color:#1f2937;font-size:1.25rem;font-weight:700}.budget-bar{background:#e5e7eb;border-radius:5px;height:10px;margin-top:1rem;overflow:hidden;width:100%}.budget-progress{height:100%;transition:width .3s ease,background .3s ease}.filtres-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.empty-state{border:2px dashed #e5e7eb}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{font-size:1.25rem;margin:0}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-select{border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;padding:.5rem;width:100%}.immobilisations-table,.salaires-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.table-header{background:#fca5a5;color:#fff;display:grid;font-weight:700;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;padding:1rem}.header-cell{padding:.5rem}.table-row{border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;padding:1rem;transition:background .2s ease}.table-row:hover{background:#f9fafb}.table-cell{align-items:center;display:flex;padding:.5rem}.badge{border-radius:12px;font-size:.85rem;font-weight:500}.badge.temps_plein{background:#d1fae5;color:#059669}.badge.temps_partiel{background:#fef3c7;color:#d97706}.immobilisations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.immobilisation-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.immobilisation-card:hover{box-shadow:0 4px 6px #00000026;transform:translateY(-2px)}.immobilisation-card h4{border-bottom:2px solid #fca5a5;color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.immobilisation-details p{color:#6b7280;font-size:.9rem;margin-bottom:.5rem}.immobilisation-details strong{color:#1f2937;margin-right:.25rem}.badge.bon{background:#d1fae5;color:#059669}.badge.moyen{background:#fef3c7;color:#d97706}.badge.mauvais{background:#fee2e2;color:#dc2626}.dashboard-refonte{margin:0 auto;max-width:1400px;padding:2rem}.messages-importants-section{margin-bottom:2rem}.message-banner{align-items:center;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem 1.5rem}.message-banner.priorite-info{background:#eff6ff;border-left:4px solid #3b82f6}.message-banner.priorite-important{background:#fef3c7;border-left:4px solid #f59e0b}.message-banner.priorite-urgent{background:#fee2e2;border-left:4px solid #ef4444}.message-icon{font-size:1.5rem}.message-content h4{color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.message-content p{color:#4b5563;font-size:.95rem;margin-bottom:.25rem}.message-content small{color:#9ca3af;font-size:.85rem}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.dashboard-section h2{border-bottom:2px solid #fca5a5;color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.75rem}.formations-a-venir{margin-top:2rem}.formations-a-venir h3{color:#1f2937;font-size:1.2rem;font-weight:700;margin-bottom:1rem}.formations-list-compact{grid-gap:1rem;display:grid;gap:1rem}.formation-item-compact{align-items:center;background:#f9fafb;border-left:3px solid #fca5a5;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:transform .2s ease,box-shadow .2s ease}.formation-item-compact:hover{box-shadow:0 2px 4px #0000001a;transform:translateX(4px)}.formation-item-compact h4{color:#1f2937;font-size:1rem;font-weight:600;margin-bottom:.25rem}.formation-item-compact p{color:#6b7280;font-size:.85rem}.badge-inscrit{background:#d1fae5;color:#059669}.badge-inscrit,.badge-non-inscrit{border-radius:12px;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.badge-non-inscrit{background:#fee2e2;color:#dc2626}.stats-mois-grid{grid-gap:1rem;background:#f9fafb;border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem;padding:1rem}.stat-item{display:flex;flex-direction:column;gap:.5rem}.stat-label{color:#6b7280;font-size:.9rem}.stat-value{color:#1f2937;font-size:1.5rem;font-weight:700}.activites-liste{grid-gap:.75rem;display:grid;gap:.75rem}.activite-item{align-items:start;background:#f9fafb;border-left:3px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:border-color .2s ease}.activite-item:hover{border-left-color:#fca5a5}.activite-icon{flex-shrink:0;font-size:1.5rem}.activite-content p{color:#1f2937;font-size:.95rem;margin-bottom:.25rem}.activite-content small{color:#9ca3af;font-size:.8rem}.form-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;resize:vertical;width:100%}.form-textarea:focus{border-color:#fca5a5;box-shadow:0 0 0 3px #fca5a51a;outline:none}.personnel-refonte{margin:0 auto;max-width:1600px;padding:2rem}.personnel-controls{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.view-toggle{padding:.25rem}.view-toggle button{font-size:1.2rem}.view-toggle button.active{background:#fca5a5;color:#fff;font-weight:700}.personnel-table-modern{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header-modern{background:#fca5a5;color:#fff;font-size:.9rem;font-weight:700;text-transform:uppercase}.table-header-modern,.table-row-modern{display:grid;grid-template-columns:2fr 1.5fr minmax(200px,2fr) 1fr 1.2fr 1.8fr;padding:1rem}.table-row-modern{align-items:center;border-bottom:1px solid #e5e7eb;transition:background .2s ease}.table-row-modern:hover{background:#fef2f2}.user-cell-modern{align-items:center;display:flex;gap:.75rem}.user-avatar-modern{align-items:center;background:linear-gradient(135deg,#fca5a5,#ef4444);border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.user-name-modern{color:#1f2937;font-size:.95rem;font-weight:600;margin-bottom:.25rem}.user-detail-modern{color:#9ca3af;font-size:.8rem}.cell-modern{color:#4b5563;font-size:.9rem;overflow:visible;position:relative}.email-truncated{cursor:help;display:block;max-width:220px;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:1}.badge-status{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.badge-status.actif{background:#d1fae5;color:#059669}.badge-status.inactif{background:#fee2e2;color:#dc2626}.badge-emploi{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.badge-emploi.tp{background:#dbeafe;color:#1d4ed8}.badge-emploi.tpa{background:#fef3c7;color:#d97706}.actions-cell-modern{display:flex;flex-wrap:wrap;gap:.5rem}.actions-cell-modern button{background:none;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:1rem;padding:.4rem .6rem;transition:all .2s ease}.actions-cell-modern button:hover{background:#fef2f2;border-color:#fca5a5;transform:scale(1.1)}.personnel-cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.personnel-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.personnel-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.card-header{border-bottom:2px solid #fca5a5;gap:1rem;margin-bottom:1rem;padding-bottom:1rem}.card-header,.user-avatar-card{align-items:center;display:flex}.user-avatar-card{background:linear-gradient(135deg,#fca5a5,#ef4444);border-radius:50%;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;width:50px}.card-header h3{color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.card-grade{color:#6b7280;font-size:.9rem}.card-body{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.card-info-item{align-items:center;display:flex;font-size:.9rem;justify-content:space-between}.info-label{color:#6b7280;font-weight:500}.info-value{color:#1f2937}.card-footer{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width:768px){.table-header-modern,.table-row-modern{gap:.5rem;grid-template-columns:1fr}.personnel-cards-grid{grid-template-columns:1fr}.actions-cell-modern{justify-content:center}}.planning-refonte{margin:0 auto;max-width:1600px;padding:2rem}.jour-garde-card.my-shift{box-shadow:0 4px 15px #3b82f64d;transform:scale(1.02)}.garde-mois-item.my-shift{box-shadow:0 2px 8px #3b82f680}.planning-liste{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.planning-liste .formations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:1.5rem}.planning-liste .formation-card{cursor:pointer;transition:all .2s ease}.planning-liste .formation-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.view-toggle{background:#f3f4f6;border-radius:8px;display:flex;padding:4px}.view-toggle button{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.view-toggle button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#fca5a5}.view-toggle button:hover:not(.active){background:#e5e7eb}@media (max-width:1024px){.planning-liste .formations-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.planning-refonte{padding:1rem}.kpi-grid,.planning-liste .formations-grid{grid-template-columns:1fr}.personnel-controls{flex-direction:column}.disponibilites-refonte{margin:0 auto;max-width:1600px;padding:2rem}.disponibilites-visual-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.calendar-weekdays{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-weekday{background:#fca5a5;border-radius:8px;color:#fff;font-size:.9rem;font-weight:700;padding:1rem;text-align:center}.calendar-days-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.calendar-day-cell{background:#fff;border:2px solid #e5e7eb;border-radius:12px;min-height:120px;padding:.75rem;position:relative;transition:all .2s ease}.calendar-day-cell:not(.empty):hover{border-color:#fca5a5;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.calendar-day-cell.empty{background:#f9fafb;border:1px dashed #e5e7eb}.calendar-day-number{color:#1f2937;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.calendar-day-cell.today{background:#eff6ff;border-color:#3b82f6;border-width:3px}.calendar-day-cell.today .calendar-day-number{color:#3b82f6}.calendar-day-disponibilites{display:flex;flex-direction:column;gap:4px}.calendar-dispo-badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:4px 8px;text-align:center}.calendar-dispo-badge.disponible{background:#d1fae5;color:#065f46}.calendar-dispo-badge.indisponible{background:#fee2e2;color:#991b1b}.calendar-dispo-badge.conge{background:#fef3c7;color:#92400e}@media (max-width:1024px){.disponibilites-refonte{padding:1rem}.remplacements-refonte{margin:0 auto;max-width:1600px;padding:2rem}.remplacements-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}@media (max-width:1024px){.remplacements-refonte{padding:1rem}}@media (max-width:640px){.remplacements-refonte{padding:.5rem}.kpi-grid{grid-template-columns:repeat(2,1fr)}}.calendar-day-cell{min-height:100px}.calendar-weekday{font-size:.8rem;padding:.75rem}}@media (max-width:768px){.calendar-days-grid{gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day-cell{min-height:80px;padding:.5rem}.calendar-day-number{font-size:.9rem}.calendar-dispo-badge{font-size:.65rem;padding:2px 4px}}.personnel-controls>div{width:100%}}.parametres-harmonized{animation:fadeIn .3s ease-out;max-width:100%;overflow-x:hidden;padding:2rem}.parametres-harmonized .module-header{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;max-width:100%;padding-bottom:1rem}.parametres-harmonized .module-header h1{align-items:center;color:#1e293b;display:flex;flex-wrap:wrap;font-size:2rem;font-weight:700;gap:.5rem;margin-bottom:.5rem}.parametres-harmonized .module-header p{word-wrap:break-word;color:#64748b;font-size:1rem;margin-top:.5rem}.parametres-tabs-harmonized{border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:nowrap;gap:.5rem;margin-bottom:2rem;max-width:100%;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}.parametres-tab-btn{background:#0000;border:none;border-radius:8px 8px 0 0;color:#6b7280;cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap}.parametres-tab-btn:hover{background-color:#f8fafc;color:#1e293b}.parametres-tab-btn.active{background-color:#fef2f2;border-bottom:3px solid #dc2626;color:#dc2626;font-weight:700}.parametres-harmonized .tab-content{animation:fadeIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:100%;overflow-x:hidden;padding:2rem}.parametres-harmonized .tab-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.parametres-harmonized .tab-header h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.parametres-harmonized .tab-header p{color:#64748b;font-size:.875rem;margin-top:.25rem}.parametres-harmonized .competence-card,.parametres-harmonized .formation-card,.parametres-harmonized .grade-card,.parametres-harmonized .type-garde-card{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;max-width:100%;overflow:hidden;padding:1.5rem;transition:all .3s ease}.parametres-harmonized .competence-card:hover,.parametres-harmonized .formation-card:hover,.parametres-harmonized .grade-card:hover,.parametres-harmonized .type-garde-card:hover{border-color:#fca5a5;box-shadow:0 4px 12px #fca5a533;transform:translateY(-2px)}.parametres-harmonized button[data-testid*=btn],.parametres-harmonized button[data-testid*=create]{transition:all .2s ease}.parametres-harmonized button[data-testid*=btn]:hover,.parametres-harmonized button[data-testid*=create]:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.parametres-harmonized .competences-grid,.parametres-harmonized .grades-grid,.parametres-harmonized .types-garde-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));max-width:100%}.parametres-harmonized .form-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;max-width:100%;overflow:hidden;padding:1.5rem}@media (max-width:768px){.planning-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.grid-header,.grid-row{min-width:900px}.planning-cell{min-height:70px;padding:.5rem}.assigned-user,.planning-cell{font-size:.75rem}.assignment-type,.user-grade{font-size:.5rem;padding:.125rem .375rem}.assignment-actions button,.planning-actions button{font-size:.75rem;padding:.375rem .5rem;white-space:nowrap}.modal-content{max-width:95vw;padding:1rem;width:95vw}.modal-header h2{font-size:1.25rem}.list-view .assignment-card{padding:1rem}.calendar-view{overflow-x:auto}.calendar-day{min-width:100px}}@media (max-width:1024px) and (min-width:769px){.main-content{padding:1.5rem}.personnel-controls,.planning-controls{flex-wrap:wrap}.planning-cell{padding:.75rem}}@media (max-width:480px){.main-content{padding:.5rem}.module-header h1{font-size:1.25rem}.module-header p{font-size:.875rem}.kpi-card{padding:1rem}.kpi-card h3{font-size:1.25rem}.kpi-card p{font-size:.75rem}button{font-size:.8rem;padding:.6rem}.parametres-tabs-harmonized,.replacement-tabs,.settings-tabs{font-size:.7rem}.parametres-tab-btn,.tab-button{font-size:.7rem;padding:.5rem .6rem}}@media (max-width:768px) and (orientation:landscape){.sidebar{width:200px}.sidebar.mobile-open{width:240px;.kpi-card-triple{align-items:center;display:flex;justify-content:center;padding:1rem}.kpi-triple-container{align-items:center;display:flex;gap:.75rem;justify-content:space-around;width:100%}.kpi-triple-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.25rem;text-align:center}.kpi-triple-item h3{color:#1e293b;font-size:1.5rem;font-weight:700;line-height:1;margin:0}.kpi-triple-item p{color:#374151;font-size:.7rem;font-weight:600;line-height:1.2;margin:0;white-space:nowrap}.kpi-triple-item:not(:last-child):after{background-color:#00000026;content:"";height:50%;position:absolute;right:-.375rem;top:50%;transform:translateY(-50%);width:1px}.kpi-triple-item{position:relative}@media (max-width:768px){.kpi-triple-container{flex-direction:column;gap:.5rem}.kpi-triple-item:not(:last-child):after{display:none}.kpi-triple-item h3{font-size:1.25rem}.kpi-triple-item p{font-size:.65rem}}}}*{box-sizing:border-box}.app-layout,body{overflow-x:hidden}.app-layout{max-width:100vw;width:100%}.parametres-harmonized .form-section h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.parametres-harmonized table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:block;max-width:100%;overflow:hidden;overflow-x:auto;width:100%}.parametres-harmonized table thead{background:#fef2f2}.parametres-harmonized table th{border-bottom:2px solid #fca5a5;color:#1e293b;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.parametres-harmonized table td{border-bottom:1px solid #e5e7eb;padding:1rem}.parametres-harmonized table tr:hover{background-color:#fef2f2}@media (max-width:768px){.parametres-harmonized{padding:1rem}.parametres-tabs-harmonized{gap:.25rem}.parametres-tab-btn{font-size:.75rem;padding:.5rem .75rem}.parametres-harmonized .competences-grid,.parametres-harmonized .grades-grid,.parametres-harmonized .types-garde-grid{grid-template-columns:1fr}.parametres-harmonized .tab-content{padding:1rem}.parametres-harmonized .module-header h1{font-size:1.5rem}}.mes-epi-container{margin:0 auto;max-width:1400px;padding:2rem}.mes-epi-header{margin-bottom:2rem}.mes-epi-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.mes-epi-header p{color:#64748b;font-size:1rem}.epi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:1.5rem}.epi-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;transition:all .3s ease}.epi-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.epi-details{margin-bottom:1.5rem}.epi-detail-item{border-bottom:1px solid #f1f5f9;font-size:.9rem;padding:.5rem 0}.epi-detail-item:last-child{border-bottom:none}.epi-detail-item strong{color:#475569;display:inline-block;min-width:140px}.epi-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.epi-actions button{border-radius:.375rem;font-size:.9rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease;width:100%}.epi-actions .btn-primary{background:#dc2626;border:none;color:#fff}.epi-actions .btn-primary:hover:not(:disabled){background:#b91c1c}.epi-actions .btn-secondary{background:#64748b;border:none;color:#fff}.epi-actions .btn-secondary:hover:not(:disabled){background:#475569}.epi-actions .btn-warning{background:#f59e0b;border:none;color:#fff}.epi-actions .btn-warning:hover:not(:disabled){background:#d97706}.epi-actions button:disabled{cursor:not-allowed;opacity:.5}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .75rem}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-danger{background:#fee2e2;color:#991b1b}.badge-default{background:#f1f5f9;color:#475569}.inspection-modal{max-width:600px;width:90vw}.epi-info-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:.5rem;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.25rem}.epi-info-icon{font-size:3rem;line-height:1}.epi-info-details h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.epi-info-details p{color:#64748b;font-size:.9rem;margin-bottom:.5rem}.epi-serial{background:#fff;border:1px solid #e2e8f0;border-radius:.25rem;color:#475569;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.form-label-bold{color:#1e293b;display:block;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.status-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:.75rem}.status-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.status-card:hover{background:#f8fafc;border-color:#cbd5e1}.status-card.active{background:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.status-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;width:48px}.status-icon.ok{background:#dcfce7;color:#166534}.status-icon.defaut{background:#fef3c7;color:#92400e}.status-text{display:flex;flex-direction:column;gap:.25rem}.status-text strong{color:#1e293b;font-size:.95rem}.status-text span{color:#64748b;font-size:.8rem}.defaut-section{background:#fef3c7;border:1px solid #fbbf24;border-radius:.5rem;padding:1rem}.defaut-section .form-label-bold{color:#92400e}.photo-upload-zone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:.5rem;cursor:pointer;padding:2rem;text-align:center;transition:all .2s ease}.photo-upload-zone:hover{background:#fef2f2;border-color:#dc2626}.photo-input-hidden{display:none}.photo-upload-label{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:1rem}.photo-upload-icon{color:#64748b;font-size:3rem}.photo-upload-text{display:flex;flex-direction:column;gap:.25rem}.photo-upload-text strong{color:#1e293b;font-size:1rem}.photo-upload-text span{color:#64748b;font-size:.85rem}.photo-preview-container{border:2px solid #e2e8f0;border-radius:.5rem;overflow:hidden;position:relative}.photo-preview{background:#f8fafc;display:block;height:auto;max-height:300px;object-fit:contain;width:100%}.photo-remove{background:#dc2626e6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;position:absolute;right:.5rem;top:.5rem;transition:all .2s ease}.photo-remove:hover{background:#b91c1c}.radio-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.radio-label{border:1px solid #e2e8f0;border-radius:.375rem;gap:.75rem;padding:.75rem;transition:all .2s ease}.radio-label:hover{background:#f8fafc;border-color:#cbd5e1}.radio-label input[type=radio]{height:18px;width:18px}.radio-label span{color:#334155;font-size:.95rem}.historique-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.historique-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;padding:1rem}.historique-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.historique-date{color:#64748b;font-size:.9rem;font-weight:500}.historique-defauts,.historique-notes{font-size:.9rem;line-height:1.5;margin-top:.5rem}.historique-defauts strong,.historique-notes strong{color:#475569;display:block;margin-bottom:.25rem}.historique-photo{margin-top:.75rem}.historique-photo a{color:#dc2626;font-size:.9rem;font-weight:500;text-decoration:none}.historique-photo a:hover{text-decoration:underline}.alert{border-radius:.375rem;font-size:.9rem;line-height:1.5;margin-top:1rem;padding:1rem}.alert-info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.modal-content.large{max-width:700px;width:90vw}@media (max-width:768px){.mes-epi-container{padding:1rem}.epi-grid{grid-template-columns:1fr}.mes-epi-header h1{font-size:1.5rem}.inspection-modal{max-width:95vw}.status-cards{grid-template-columns:1fr}.epi-info-card{flex-direction:column;text-align:center}.epi-info-icon{font-size:2.5rem}}.competences-grid-modern{grid-gap:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:.75rem;max-height:350px;overflow-y:auto;padding:.5rem}.competence-card-modern{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .15s ease;-webkit-user-select:none;user-select:none}.competence-card-modern:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.competence-card-modern.selected{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#dc2626;box-shadow:0 2px 12px #dc262640;color:#fff}.competence-card-modern.selected:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px)}.competence-icon{align-items:center;background:#0000000d;border:2px solid #0000001a;border-radius:50%;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:32px;justify-content:center;width:32px}.competence-card-modern.selected .competence-icon{background:#fff3;border-color:#ffffff4d;color:#fff}.competence-info{display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.competence-nom{color:#1e293b;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.competence-card-modern.selected .competence-nom{color:#fff}.competence-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.75rem;line-height:1.3;overflow:hidden}.competence-card-modern.selected .competence-desc{color:#ffffffe6}.empty-state-card{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:.75rem;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:2rem 1.5rem;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.empty-state-card p{color:#475569;font-size:.95rem;font-weight:600;margin:0 0 .375rem}.empty-state-card small{color:#64748b;font-size:.8rem}.competences-selected-summary{background:linear-gradient(135deg,#dcfce7,#d1fae5);border:1px solid #86efac;border-radius:.375rem;color:#166534;font-size:.85rem;margin-top:.75rem;padding:.625rem .875rem;text-align:center}.competences-selected-summary strong{color:#15803d;font-weight:700}.setting-checkbox-modern{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1.25rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.setting-checkbox-modern:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.setting-checkbox-modern input[type=checkbox]:checked~.checkbox-custom{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#dc2626}.setting-checkbox-modern input[type=checkbox]:checked~.checkbox-custom:after{opacity:1;transform:scale(1)}.checkbox-wrapper{align-items:center;display:flex;position:relative}.checkbox-wrapper input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkbox-custom{align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:.375rem;display:flex;height:24px;justify-content:center;position:relative;transition:all .2s ease;width:24px}.checkbox-custom:after{color:#fff;content:"✓";font-size:14px;font-weight:700;opacity:0;transform:scale(.5);transition:all .2s ease}.checkbox-content{display:flex;flex:1 1;flex-direction:column;gap:.375rem}.checkbox-title{color:#1e293b;font-size:1rem;font-weight:600}.checkbox-description{color:#64748b;font-size:.875rem;line-height:1.4}.inspections-container,.non-conformites-container,.nouvelle-inspection-container,.realiser-inspection-container{padding:2rem}.inspections-filters,.nc-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.inspections-list,.nc-list{grid-gap:1.5rem;display:grid;gap:1.5rem}.inspection-card,.nc-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s}.inspection-card:hover,.nc-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.inspection-header,.nc-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.inspection-header h4,.nc-header h4{color:#1f2937;font-size:1.125rem;margin:0 0 .25rem}.inspection-date{color:#6b7280;font-size:.875rem}.statut-badge{border-radius:6px;font-size:.875rem;font-weight:600;padding:.375rem .875rem}.statut-badge.conforme{background:#d1fae5;color:#065f46}.statut-badge.non_conforme,.statut-badge.partiellement_conforme{background:#fee2e2;color:#991b1b}.statut-badge.en_cours,.statut-badge.ouverte{background:#fef3c7;color:#92400e}.statut-badge.corrigee,.statut-badge.fermee{background:#d1fae5;color:#065f46}.inspection-details,.nc-details{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1.5rem}.detail-item{display:flex;gap:.5rem}.detail-item .label{color:#374151;font-weight:600}.detail-item .score{color:#059669;font-weight:700}.inspection-actions,.nc-actions{display:flex;gap:.75rem;justify-content:flex-end}.inspection-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;max-width:600px;padding:2rem}.form-section{margin-bottom:1.5rem}.form-section label{color:#374151;display:block;font-weight:600;margin-bottom:.5rem}.form-input,.form-select{border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.grille-inspection-content{display:flex;flex-direction:column;gap:2rem}.grille-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.grille-section h3{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.125rem;margin:0 0 1.5rem;padding-bottom:.75rem}.questions-list{display:flex;flex-direction:column;gap:1.5rem}.question-item{background:#f9fafb;border-radius:8px;padding:1rem}.question-text{color:#374151;display:block;font-weight:500;margin-bottom:.75rem}.question-reponses{display:flex;flex-wrap:wrap;gap:1.5rem}.radio-label{align-items:center;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.radio-label:hover{background:#fff;border-color:#3b82f6}.radio-label input[type=radio]{cursor:pointer}.radio-label input[type=radio]:checked+span{font-weight:600}.add-nc-btn{margin-top:.75rem}.non-conformites-preview{background:#fef2f2;border:2px solid #fecaca;border-radius:12px;margin-top:2rem;padding:1.5rem}.non-conformites-preview h3{color:#991b1b;margin:0 0 1rem}.nc-list-preview{display:flex;flex-direction:column;gap:.75rem}.nc-preview-item{background:#fff;border-radius:8px;gap:.75rem;padding:.75rem}.nc-number,.nc-preview-item{align-items:center;display:flex}.nc-number{background:#dc2626;border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:700;height:28px;justify-content:center;width:28px}.gravite-badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.gravite-badge.faible{background:#dbeafe;color:#1e40af}.gravite-badge.moyen{background:#fef3c7;color:#92400e}.gravite-badge.eleve{background:#fed7aa;color:#9a3412}.gravite-badge.critique{background:#fee2e2;color:#991b1b}.statut-select{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem}.inspection-subtitle{color:#6b7280;font-size:.875rem;margin-top:.25rem}.header-actions{display:flex;gap:.75rem}.loading-spinner{align-items:center;color:#6b7280;display:flex;font-size:1.125rem;justify-content:center;padding:3rem}.photo-uploader{display:flex;flex-direction:column;gap:1rem}.upload-header{align-items:center;display:flex;justify-content:space-between}.upload-header label{color:#374151;font-weight:600}.photos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photo-item{aspect-ratio:1;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;position:relative}.photo-thumbnail{height:100%;object-fit:cover;width:100%}.remove-photo-btn{align-items:center;background:#dc2626e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:all .2s;width:28px}.remove-photo-btn:hover{background:#dc2626;transform:scale(1.1)}.inspection-documentation{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.doc-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.doc-section h3{color:#1f2937;font-size:1.125rem;margin:0 0 1rem}.notes-textarea{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;resize:vertical;width:100%}.notes-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.detail-inspection-container{padding:2rem}.detail-content{display:flex;flex-direction:column;gap:1.5rem}.detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.detail-card h3{border-bottom:2px solid #e5e7eb;color:#1f2937;margin:0 0 1rem;padding-bottom:.75rem}.info-grid,.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.info-item,.summary-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label,.summary-item .label{color:#6b7280;font-size:.875rem;font-weight:600}.score-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:inline-block;font-size:1.25rem;font-weight:700;padding:.5rem 1rem}.nc-detail-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.nc-detail-item{background:#f9fafb;border-left:4px solid #dc2626;border-radius:8px;padding:1rem}.nc-detail-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.nc-detail-header h4{color:#1f2937;flex:1 1;font-size:1rem;margin:0}.nc-description{color:#374151;margin:.5rem 0;padding-left:2.5rem}.nc-delai{color:#6b7280;font-size:.875rem;margin:.5rem 0 0;padding-left:2.5rem}.photo-item-view{aspect-ratio:1;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}.photo-item-view:hover{border-color:#3b82f6;transform:scale(1.05)}.photo-detail{height:100%;object-fit:cover;width:100%}.note-text{color:#374151;line-height:1.6;margin:1rem 0 0;white-space:pre-wrap}.editer-grille-container{padding:2rem}.grille-form{display:flex;flex-direction:column;gap:2rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{color:#374151;font-size:.875rem;font-weight:600}.checkbox-field label{align-items:center;cursor:pointer;flex-direction:row;gap:.5rem}.checkbox-field input[type=checkbox]{cursor:pointer;height:18px;width:18px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.sections-list{display:flex;flex-direction:column;gap:1.5rem}.section-editor{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s}.section-editor:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.section-editor-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.section-editor-header h4{color:#1f2937;margin:0}.section-editor-content{display:flex;flex-direction:column;gap:1rem}.questions-editor{margin-top:1rem}.questions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.questions-header label{color:#374151;font-weight:600}.questions-list-editor{display:flex;flex-direction:column;gap:.75rem}.question-editor-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.question-number{color:#6b7280;font-weight:600;min-width:30px}.question-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:.95rem;padding:.5rem}.question-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.remove-question-btn{flex-shrink:0}.empty-state{background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;padding:3rem;text-align:center}.calendrier-container{padding:2rem}.calendar-nav{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin:2rem 0;padding:1rem}.calendar-nav h3{color:#1f2937;font-size:1.5rem;margin:0}.calendar-grid{grid-gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:2rem;overflow:hidden}.calendar-day-header{background:#f3f4f6;color:#374151;font-size:.875rem;font-weight:700;padding:1rem;text-align:center;text-transform:uppercase}.calendar-day{background:#fff;min-height:120px;padding:.75rem;position:relative;transition:all .2s}.calendar-day:hover:not(.empty){background:#f9fafb;cursor:pointer}.calendar-day.empty{background:#f9fafb}.calendar-day.today{background:#eff6ff;border:2px solid #3b82f6}.calendar-day.has-inspections{background:#fef3c7}.day-number{color:#1f2937;font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.calendar-day.today .day-number{color:#3b82f6}.day-inspections{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.inspection-badge{border-radius:4px;font-size:.75rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;white-space:nowrap}.inspection-badge.conforme{background:#d1fae5;color:#065f46}.inspection-badge.non_conforme,.inspection-badge.partiellement_conforme{background:#fee2e2;color:#991b1b}.more-inspections{color:#6b7280;font-size:.75rem;font-weight:600;margin-top:.25rem}.suggested-inspections{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.suggested-inspections h3{color:#1f2937;margin:0 0 .5rem}.suggested-inspections .subtitle{color:#6b7280;font-size:.875rem;margin:0 0 1.5rem}.suggested-list{grid-gap:1rem;display:grid;gap:1rem}.suggested-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s}.suggested-item:hover{background:#fff;box-shadow:0 2px 8px #00000014}.suggested-info h4{color:#1f2937;font-size:1rem;margin:0 0 .25rem}.suggested-info p{color:#6b7280;font-size:.875rem;margin:0 0 .5rem}.calendar-legend{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.calendar-legend h4{color:#1f2937;margin:0 0 1rem}.legend-items{display:flex;flex-wrap:wrap;gap:2rem}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-color{border-radius:4px;height:24px;width:24px}.legend-color.today-marker{background:#eff6ff;border:2px solid #3b82f6}.legend-color.conforme{background:#d1fae5}.legend-color.non_conforme{background:#fee2e2}.rapports-container{padding:2rem}.rapport-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:2rem}.rapport-section h3{color:#1f2937;margin:0 0 .5rem}.section-description{color:#6b7280;font-size:.95rem;margin:0 0 1.5rem}.export-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.export-card{border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s}.export-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.export-icon{font-size:3rem;margin-bottom:1rem}.export-card h4{color:#1f2937;margin:0 0 .5rem}.export-card p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.tendances-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.tendance-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.tendance-card h4{color:#1f2937;margin:0 0 1rem;text-align:center}.chart-bars{align-items:flex-end;display:flex;gap:.5rem;height:250px;justify-content:space-around;padding:1rem}.chart-bar-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem}.chart-bar-label{color:#6b7280;font-size:.75rem;font-weight:600}.chart-bar-container{align-items:flex-end;flex:1 1}.chart-bar,.chart-bar-container{display:flex;justify-content:center;width:100%}.chart-bar{align-items:flex-start;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:8px 8px 0 0;min-height:30px;padding-top:.5rem;position:relative;transition:all .3s}.chart-bar:hover{opacity:.8;transform:scaleY(1.05)}.chart-bar.conformite-bar{background:linear-gradient(180deg,#10b981,#059669)}.chart-bar.nc-bar{background:linear-gradient(180deg,#ef4444,#dc2626)}.bar-value{color:#fff;font-size:.875rem;font-weight:700}.recap-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.recap-table{border-collapse:collapse;width:100%}.recap-table thead{background:#f3f4f6}.recap-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-weight:700;padding:1rem;text-align:left}.recap-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:1rem}.recap-table tbody tr:hover{background:#f9fafb}.taux-badge{border-radius:6px;font-size:.875rem;font-weight:700;padding:.375rem .75rem}.taux-badge.good{background:#d1fae5;color:#065f46}.taux-badge.medium{background:#fef3c7;color:#92400e}.taux-badge.bad{background:#fee2e2;color:#991b1b}.notifications-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.notifications-section h3{color:#1f2937;margin:0 0 1rem}.notifications-list{display:flex;flex-direction:column;gap:.75rem}.notification-item{align-items:flex-start;background:#f9fafb;border-left:4px solid #d1d5db;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .2s}.notification-item:hover{background:#fff;box-shadow:0 2px 8px #00000014}.notification-item.priority-urgent{background:#fef2f2;border-left-color:#dc2626}.notification-item.priority-high{background:#fef3c7;border-left-color:#f59e0b}.notification-item.priority-medium{background:#eff6ff;border-left-color:#3b82f6}.notif-icon{flex-shrink:0;font-size:1.5rem}.notif-content{flex:1 1}.notif-content h4{color:#1f2937;font-size:.95rem;margin:0 0 .25rem}.notif-content p{color:#6b7280;font-size:.875rem;margin:0 0 .5rem}.notif-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:700;padding:.25rem .75rem}.notif-badge.retard{background:#dc2626;color:#fff}.notif-badge.warning{background:#f59e0b;color:#fff}.more-notifications{background:#f3f4f6;border-radius:6px;color:#6b7280;font-size:.875rem;font-weight:600;padding:.75rem;text-align:center}@media (max-width:768px){.competences-grid-modern{grid-template-columns:1fr}.competence-card-modern{padding:.875rem 1rem}.setting-checkbox-modern{padding:1rem}}.rdp-day.indisponible{background-color:#fee2e2!important;color:#991b1b!important;font-weight:700!important;position:relative;text-decoration:line-through!important}.rdp-day.indisponible:hover{background-color:#fecaca!important}.rdp-day.indisponible:after{bottom:2px;content:"❌";font-size:.7em;position:absolute;right:2px}.toast,[class*=toast],[data-radix-toast-viewport],[role=alert]{z-index:100000!important}.leaflet-container{z-index:1!important}.leaflet-control-container{z-index:1000!important}.leaflet-draw-toolbar{z-index:2000!important}.leaflet-popup-pane{z-index:3000!important}.leaflet-draw-guide-dash,.leaflet-draw-tooltip,.leaflet-draw-tooltip-single,.leaflet-draw-tooltip-subtext{display:none!important}
/*# sourceMappingURL=main.53eef6eb.css.map*/