@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2)format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2)format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2)format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2)format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2)format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-700:oklch(51.1% .096 186.391);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-800:oklch(43.2% .232 292.759);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-rose-600:oklch(58.6% .253 17.585);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:#5b6779;--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.-right-1{right:calc(var(--spacing) * -1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[520px\]{max-height:520px}.min-h-\[72px\]{min-height:72px}.min-h-full{min-height:100%}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-36{width:calc(var(--spacing) * 36)}.w-\[5\.5rem\]{width:5.5rem}.w-\[min\(56rem\,calc\(100vw-8rem\)\)\]{width:min(56rem,100vw - 8rem)}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[220px\]{max-width:220px}.max-w-\[560px\]{max-width:560px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[14rem\]{min-width:14rem}.min-w-\[140px\]{min-width:140px}.min-w-\[960px\]{min-width:960px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[140px_1fr_44px_56px\]{grid-template-columns:140px 1fr 44px 56px}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[2px\]{gap:2px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{-moz-column-gap:calc(var(--spacing) * 2);column-gap:calc(var(--spacing) * 2)}.gap-x-3{-moz-column-gap:calc(var(--spacing) * 3);column-gap:calc(var(--spacing) * 3)}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#0077A8\]{border-color:#0077a8}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400\/20{border-color:#fcbb0033}@supports (color:color-mix(in lab, red, red)){.border-amber-400\/20{border-color:color-mix(in oklab, var(--color-amber-400) 20%, transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-400\/20{border-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/20{border-color:color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-700{border-color:var(--color-emerald-700)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-400\/20{border-color:#7d87ff33}@supports (color:color-mix(in lab, red, red)){.border-indigo-400\/20{border-color:color-mix(in oklab, var(--color-indigo-400) 20%, transparent)}}.border-orange-300{border-color:var(--color-orange-300)}.border-orange-400\/20{border-color:#ff8b1a33}@supports (color:color-mix(in lab, red, red)){.border-orange-400\/20{border-color:color-mix(in oklab, var(--color-orange-400) 20%, transparent)}}.border-orange-400\/30{border-color:#ff8b1a4d}@supports (color:color-mix(in lab, red, red)){.border-orange-400\/30{border-color:color-mix(in oklab, var(--color-orange-400) 30%, transparent)}}.border-purple-400\/20{border-color:#c07eff33}@supports (color:color-mix(in lab, red, red)){.border-purple-400\/20{border-color:color-mix(in oklab, var(--color-purple-400) 20%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400\/30{border-color:#ff65684d}@supports (color:color-mix(in lab, red, red)){.border-red-400\/30{border-color:color-mix(in oklab, var(--color-red-400) 30%, transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-sky-200{border-color:var(--color-sky-200)}.border-sky-300\/60{border-color:#77d4ff99}@supports (color:color-mix(in lab, red, red)){.border-sky-300\/60{border-color:color-mix(in oklab, var(--color-sky-300) 60%, transparent)}}.border-sky-400\/30{border-color:#00bcfe4d}@supports (color:color-mix(in lab, red, red)){.border-sky-400\/30{border-color:color-mix(in oklab, var(--color-sky-400) 30%, transparent)}}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-400{border-color:var(--color-slate-400)}.border-teal-400\/20{border-color:#00d3bd33}@supports (color:color-mix(in lab, red, red)){.border-teal-400\/20{border-color:color-mix(in oklab, var(--color-teal-400) 20%, transparent)}}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-400\/20{border-color:#a685ff33}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/20{border-color:color-mix(in oklab, var(--color-violet-400) 20%, transparent)}}.bg-\[\#0077A8\]{background-color:#0077a8}.bg-\[\#DCEBF2\]{background-color:#dcebf2}.bg-\[\#EEF6F9\]{background-color:#eef6f9}.bg-\[\#F3F8FA\]{background-color:#f3f8fa}.bg-\[\#F7FBFC\]{background-color:#f7fbfc}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\/40{background-color:#fffbeb66}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\/40{background-color:color-mix(in oklab, var(--color-amber-50) 40%, transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-400\/10{background-color:#fcbb001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-400\/10{background-color:color-mix(in oklab, var(--color-amber-400) 10%, transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-amber-900\/20{background-color:#7b330633}@supports (color:color-mix(in lab, red, red)){.bg-amber-900\/20{background-color:color-mix(in oklab, var(--color-amber-900) 20%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/10{background-color:color-mix(in oklab, var(--color-blue-400) 10%, transparent)}}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/5{background-color:color-mix(in oklab, var(--color-blue-500) 5%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/30{background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.bg-cyan-400\/10{background-color:#00d2ef1a}@supports (color:color-mix(in lab, red, red)){.bg-cyan-400\/10{background-color:color-mix(in oklab, var(--color-cyan-400) 10%, transparent)}}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-700{background-color:var(--color-emerald-700)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400\/10{background-color:#99a1af1a}@supports (color:color-mix(in lab, red, red)){.bg-gray-400\/10{background-color:color-mix(in oklab, var(--color-gray-400) 10%, transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400\/10{background-color:#05df721a}@supports (color:color-mix(in lab, red, red)){.bg-green-400\/10{background-color:color-mix(in oklab, var(--color-green-400) 10%, transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-400\/10{background-color:#7d87ff1a}@supports (color:color-mix(in lab, red, red)){.bg-indigo-400\/10{background-color:color-mix(in oklab, var(--color-indigo-400) 10%, transparent)}}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-400\/10{background-color:#ff8b1a1a}@supports (color:color-mix(in lab, red, red)){.bg-orange-400\/10{background-color:color-mix(in oklab, var(--color-orange-400) 10%, transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/15{background-color:color-mix(in oklab, var(--color-orange-500) 15%, transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400\/10{background-color:#c07eff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-400\/10{background-color:color-mix(in oklab, var(--color-purple-400) 10%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-400\/20{background-color:#00bcfe33}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/20{background-color:color-mix(in oklab, var(--color-sky-400) 20%, transparent)}}.bg-sky-500\/15{background-color:#00a5ef26}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/15{background-color:color-mix(in oklab, var(--color-sky-500) 15%, transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/60{background-color:color-mix(in oklab, var(--color-slate-50) 60%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400\/10{background-color:#90a1b91a}@supports (color:color-mix(in lab, red, red)){.bg-slate-400\/10{background-color:color-mix(in oklab, var(--color-slate-400) 10%, transparent)}}.bg-slate-500{background-color:var(--color-slate-500)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/30{background-color:#0f172b4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/30{background-color:color-mix(in oklab, var(--color-slate-900) 30%, transparent)}}.bg-teal-400\/10{background-color:#00d3bd1a}@supports (color:color-mix(in lab, red, red)){.bg-teal-400\/10{background-color:color-mix(in oklab, var(--color-teal-400) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-400\/10{background-color:#a685ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/10{background-color:color-mix(in oklab, var(--color-violet-400) 10%, transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.fill-slate-500{fill:var(--color-slate-500)}.fill-slate-600{fill:var(--color-slate-600)}.fill-slate-700{fill:var(--color-slate-700)}.fill-slate-900{fill:var(--color-slate-900)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-12{padding-left:calc(var(--spacing) * 12)}.pl-16{padding-left:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[26px\]{font-size:26px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[\#0077A8\]{color:#0077a8}.text-\[\#00658f\]{color:#00658f}.text-\[\#01384E\]{color:#01384e}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-700{color:var(--color-cyan-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-green-700{color:var(--color-green-700)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-sky-700{color:var(--color-sky-700)}.text-sky-800{color:var(--color-sky-800)}.text-sky-900{color:var(--color-sky-900)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-700{color:var(--color-teal-700)}.text-violet-600{color:var(--color-violet-600)}.text-violet-800{color:var(--color-violet-800)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-blue-500{accent-color:var(--color-blue-500)}.accent-sky-400{accent-color:var(--color-sky-400)}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[\#0077A8\]\/20{--tw-ring-color:oklab(53.8399% -.0647285 -.0961974/.2)}.ring-slate-200{--tw-ring-color:var(--color-slate-200)}.filter{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-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:text-\[\#0077A8\]:is(:where(.group):hover *){color:#0077a8}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}}.placeholder\:text-slate-500::placeholder{color:var(--color-slate-500)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:border-\[\#0077A8\]:hover{border-color:#0077a8}.hover\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-\[\#00658f\]:hover{background-color:#00658f}.hover\:bg-emerald-800:hover{background-color:var(--color-emerald-800)}.hover\:bg-orange-50:hover{background-color:var(--color-orange-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-\[\#0077A8\]:hover{color:#0077a8}.hover\:text-amber-800:hover{color:var(--color-amber-800)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:text-sky-800:hover{color:var(--color-sky-800)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-\[\#0077A8\]:focus{border-color:#0077a8}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\[\#0077A8\]\/30:focus{--tw-ring-color:oklab(53.8399% -.0647285 -.0961974/.3)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-slate-900:focus-visible{--tw-ring-color:var(--color-slate-900)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-\[\#0077A8\]:focus-visible{outline-color:#0077a8}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-50:disabled{background-color:var(--color-slate-50)}.disabled\:text-slate-600:disabled{color:var(--color-slate-600)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[auto_1fr_auto_1fr\]{grid-template-columns:auto 1fr auto 1fr}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.lg\:grid-cols-\[minmax\(280px\,1fr\)_2fr\]{grid-template-columns:minmax(280px,1fr) 2fr}}@media (width>=80rem){.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}}:root{--text-1:#0f172a;--text-2:#334155;--text-3:#475569;--text-4:#526075;--text-5:#5f6b7d;--text-muted:var(--text-5);--text-primary:var(--text-1);--page-bg:#f4f6fa;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--line:#e2e8f0;--line-strong:#cbd5e1;--hover:#0f172a09;--brand:#1e6dd4;--brand-strong:#1550b8;--brand-soft:#eaf2fd;--brand-border:#bcd4f5;--focus:#1e6dd4;--gabon-green:#009639;--gabon-yellow:#fcd116;--gabon-blue:#3a75c4;--ok:#15803d;--ok-bg:#edf7f0;--ok-line:#b7dfc4;--warn:#8a5a00;--warn-bg:#fdf6e3;--warn-line:#ecd9a6;--danger:#b91c1c;--danger-bg:#fdf0f0;--danger-line:#f1c4c4;--info:#0e7490;--info-bg:#ecf7fa;--info-line:#b3dde8;--radius:12px;--radius-sm:8px;--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 3px #0f172a12, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a14, 0 1px 3px #0f172a0d;--shadow-lg:0 12px 32px #0f172a1f, 0 2px 6px #0f172a0f;--shadow:var(--shadow-lg);--c1:#1a3a70;--c2:var(--brand);--c3:var(--brand-strong);--accent:var(--warn);--accent2:var(--info);--green-accent:var(--ok);--glass:var(--surface);--glass-bg:var(--surface);--glass-border:var(--line);--font:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "Fira Code", monospace}html,body{font-family:var(--font);background:var(--page-bg);height:100%;color:var(--text-1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}table td,table th{font-variant-numeric:tabular-nums}.dark-bg{background:var(--page-bg);min-height:100vh;color:var(--text-1);position:relative}.glass-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.glass-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.pill{font-family:var(--mono);letter-spacing:.6px;text-transform:uppercase;border:1px solid;border-radius:100px;align-items:center;gap:6px;padding:4px 14px;font-size:10.5px;font-weight:600;display:inline-flex}.pill-blue{color:var(--brand-strong);border-color:var(--brand-border);background:var(--brand-soft)}.pill-amber{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}.pill-green{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.pill-cyan{color:var(--info);border-color:var(--info-line);background:var(--info-bg)}.pill-red{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}.pill-purple{color:#6d28d9;background:#f5f1fd;border-color:#d9ccf5}.pill-indigo{color:#4338ca;background:#f1f1fc;border-color:#cfd0f3}.pill-teal{color:#0f766e;background:#edf7f6;border-color:#b5ddd8}.pill-orange{color:#b45309;background:#fdf4ec;border-color:#f0d2b4}.pill-slate,.pill-gray{color:var(--text-3);border-color:var(--line);background:var(--surface-3)}.pill-lime{color:#4d7c0f;background:#f3f8ec;border-color:#cfe1b3}.pill-rose{color:#be123c;background:#fdf0f3;border-color:#f2c3cf}.status-badge{font-family:var(--mono);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:10.5px;font-weight:600;display:inline-flex}.gradient-text{color:var(--text-1)}.gradient-text-amber{color:var(--warn)}.dark-input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;color:var(--text-1);font-family:var(--font);outline:none;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.dark-input::placeholder{color:var(--text-5)}.dark-input:hover{border-color:#94a3b8}.dark-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px #1e6dd42e}.btn-primary-dark{background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius-sm);color:#fff;width:100%;font-family:var(--font);cursor:pointer;padding:12px 14px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s;position:relative}.btn-primary-dark:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.btn-primary-dark:active:not(:disabled){background:#12449d}.btn-primary-dark:disabled{opacity:.55;cursor:not-allowed}.btn-primary-dark.btn-sm{width:auto;padding:8px 16px;font-size:13px}.section-divider{align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-divider-line{background:linear-gradient(90deg,#0f172a0b,#0000);flex:1;height:1px}.mono{font-family:var(--mono)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{50%{opacity:.5}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes spin{to{transform:rotate(360deg)}}.anim-up{animation:.7s both fadeUp}.anim-down{animation:.7s both fadeDown}.institution-header{align-items:center;gap:10px;padding:14px 24px 0;display:flex}.institution-flag{flex-shrink:0;font-size:16px;line-height:1}.institution-name{color:var(--text-3);letter-spacing:.2px;align-items:center;gap:10px;font-size:12px;font-weight:600;display:inline-flex}.institution-name:before{content:"";background:linear-gradient(var(--gabon-green) 0 33.4%, var(--gabon-yellow) 33.4% 66.7%, var(--gabon-blue) 66.7% 100%);border-radius:2px;flex-shrink:0;width:4px;height:16px}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:50;width:260px;height:100vh;box-shadow:var(--shadow-lg);flex-direction:column;transition:width .2s,box-shadow .2s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:60px;box-shadow:none}.sidebar-main-content{z-index:10;height:100%;margin-left:60px;position:relative;overflow:auto}.sidebar-brand{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 16px 9px;display:flex;overflow:hidden}.sidebar-brand-flag{background:linear-gradient(var(--gabon-green) 0 33.4%, var(--gabon-yellow) 33.4% 66.7%, var(--gabon-blue) 66.7% 100%);border-radius:2px;flex-shrink:0;width:18px;height:12px;font-size:0;line-height:0;box-shadow:0 0 0 1px #0f172a14}.sidebar-brand-text{font-family:var(--mono);letter-spacing:.4px;text-transform:uppercase;color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;line-height:1.3;overflow:hidden}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:14px 0 13px}.sidebar.collapsed .sidebar-brand-text{display:none}.sidebar-logo{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding:14px;display:flex;position:relative}.sidebar-logo-text{flex:1;min-width:0;overflow:hidden}.sidebar-toggle-btn{background:var(--surface);border:1px solid var(--line);width:26px;height:26px;color:var(--text-4);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,border-color .15s;display:flex}.sidebar.collapsed .sidebar-logo{justify-content:center;gap:0;padding:12px 0}.sidebar.collapsed .sidebar-logo-text{display:none}.sidebar.collapsed .sidebar-toggle-btn{z-index:2;border-left:none;border-radius:0 6px 6px 0;position:absolute;bottom:-14px;right:-1px}.sidebar-logo-badge{background:var(--brand-soft);border:1px solid var(--brand-border);width:40px;height:40px;color:var(--brand-strong);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.sidebar.collapsed .sidebar-logo-badge,.sidebar.collapsed .sidebar-logo-img{width:36px;height:36px}.sidebar-logo-name{letter-spacing:-.3px;font-size:15px;font-weight:800}.sidebar-logo-projet-nom{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.sidebar-logo-subtitle{color:var(--text-4);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.sidebar-logo-img{-o-object-fit:contain;object-fit:contain;background:0 0;border-radius:10px;flex-shrink:0;width:40px;height:40px}.sidebar-logo-badge-code{letter-spacing:-.3px;font-size:12px;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px;display:flex;overflow-y:auto}.sidebar-nav-link{border-radius:var(--radius-sm);min-height:40px;color:var(--text-2);align-items:center;gap:12px;padding:8px 12px;text-decoration:none;transition:background-color .15s,color .15s;display:flex;position:relative}.sidebar-nav-link.active{background:var(--brand-soft);color:var(--brand-strong)}.sidebar-nav-link.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.sidebar-nav-label{font-size:13px;font-weight:500}.sidebar-nav-link.active .sidebar-nav-label{font-weight:600}.sidebar-nav-mono,.sidebar-nav-dot{display:none}.sidebar-nav-icon{color:var(--text-4);flex-shrink:0;transition:color .15s}.sidebar-nav-text{white-space:nowrap;flex:1;overflow:hidden}.sidebar-user-info{flex:1;min-width:0;overflow:hidden}.sidebar.collapsed .sidebar-nav{padding:10px 8px}.sidebar.collapsed .sidebar-nav-link{justify-content:center;gap:0;padding:10px}.sidebar.collapsed .sidebar-nav-link.active:before{left:-8px}.sidebar.collapsed .sidebar-nav-text{display:none}.sidebar-footer{border-top:1px solid var(--line);flex-shrink:0;padding:10px}.sidebar-user-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex}.sidebar-logo-sub{font-family:var(--mono);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-size:10px}.user-picker{width:100%;position:relative}.user-picker-btn{border:1px solid var(--line);cursor:pointer;text-align:left;background:#0f172a06;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:38px;padding:5px 10px;transition:all .15s;display:flex}.user-picker-btn:hover:not(:disabled){border-color:var(--line-strong);background:#0f172a08}.user-picker-btn.open{border-color:#6366f180;box-shadow:0 0 0 2px #6366f11f}.user-picker-btn:disabled{opacity:.5;cursor:not-allowed}.user-picker-selected{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.user-picker-selected-info{flex-direction:column;min-width:0;display:flex}.user-picker-selected-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.user-picker-selected-role{color:var(--text-4);margin-top:1px;font-size:10px}.user-picker-placeholder{color:var(--text-5);flex:1;font-size:12px}.user-picker-chevron{color:var(--text-5);flex-shrink:0;transition:transform .2s}.user-picker-chevron.rotated{transform:rotate(180deg)}.user-picker-dropdown{z-index:200;border:1px solid var(--line);background:#fff;border-radius:10px;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 12px 40px #0f172a1f}.user-picker-option{cursor:pointer;align-items:center;gap:8px;padding:7px 12px;transition:background .1s;display:flex}.user-picker-option:hover{background:#0f172a06}.user-picker-option.active{background:#6366f11f}.user-picker-none{border-bottom:1px solid #edf0f4;padding:7px 12px}.user-picker-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.user-picker-avatar-sm{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:flex;overflow:hidden}.user-picker-option-info{flex-direction:column;flex:1;min-width:0;display:flex}.user-picker-option-name{color:var(--text-1);font-size:12px;font-weight:600}.user-picker-option-role{color:var(--text-4);margin-top:1px;font-size:10px}.user-picker-check{color:#4338ca;flex-shrink:0}.ua-img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.sidebar-user-avatar{background:var(--brand-soft);border:1px solid var(--brand-border);width:34px;height:34px;color:var(--brand-strong);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;overflow:hidden}.sidebar-user-name{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--text-4);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.sidebar-logout{border-radius:var(--radius-sm);width:100%;min-height:34px;color:var(--text-3);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:7px 10px;transition:background-color .15s,color .15s,border-color .15s;display:flex}.sidebar.collapsed .sidebar-user-card{background:0 0;border-color:#0000;justify-content:center;gap:0;padding:6px 0}.sidebar.collapsed .sidebar-user-info,.sidebar.collapsed .sidebar-logout-label{display:none}.sidebar.collapsed .sidebar-logout{padding:7px}.sidebar.collapsed:has(:focus-visible){width:260px;box-shadow:var(--shadow-lg)}.sidebar.collapsed:has(:focus-visible) .sidebar-brand{justify-content:flex-start;padding:10px 16px 9px}:is(.sidebar.collapsed:has(:focus-visible) .sidebar-brand-text,.sidebar.collapsed:has(:focus-visible) .sidebar-logo-text,.sidebar.collapsed:has(:focus-visible) .sidebar-nav-text,.sidebar.collapsed:has(:focus-visible) .sidebar-user-info){display:block}.sidebar.collapsed:has(:focus-visible) .sidebar-logout-label{display:inline}.sidebar{--sb-fond:#01384e;--sb-texte:#e3eef3;--sb-attenue:#a9c4d1;--sb-filet:#ffffff1f;--sb-survol:#ffffff14;background:var(--sb-fond);border-right-color:var(--sb-fond);color:var(--sb-texte)}.sidebar-brand,.sidebar-logo,.sidebar-footer{border-color:var(--sb-filet)}.sidebar-brand-text,.sidebar-logo-subtitle,.sidebar-user-role{color:var(--sb-attenue)}.sidebar-logo-projet-nom,.sidebar-user-name{color:#fff}.sidebar-logo-badge,.sidebar-user-avatar{color:#fff;background:#ffffff1a;border-color:#ffffff40}.sidebar-toggle-btn{border-color:var(--sb-filet);color:var(--sb-attenue);background:0 0}.sidebar-toggle-btn:hover{background:var(--sb-survol);color:#fff;border-color:#ffffff4d}.sidebar-nav-link{color:var(--sb-texte)}.sidebar-nav-icon{color:var(--sb-attenue)}.sidebar-nav-link:hover{background:var(--sb-survol);color:#fff}.sidebar-nav-link:hover .sidebar-nav-icon{color:#fff}.sidebar-nav-link.active{color:var(--sb-fond);background:#fff;box-shadow:0 1px 3px #0000002e}.sidebar-nav-link.active .sidebar-nav-icon{color:var(--sb-fond)}.sidebar-nav-link.active:before{display:none}.sidebar-nav-link:focus-visible,.sidebar-logout:focus-visible,.sidebar-toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.sidebar-user-card{border-color:var(--sb-filet);background:#ffffff0f}.sidebar-logout{color:var(--sb-texte)}.sidebar-logout:hover{color:#fff;background:#c23a3059;border-color:#fff3}.sidebar.collapsed .sidebar-user-card{background:0 0;border-color:#0000}.sidebar.collapsed:has(:focus-visible) .sidebar-logo{justify-content:flex-start;gap:12px;padding:14px}.sidebar.collapsed:has(:focus-visible) .sidebar-nav{padding:10px}.sidebar.collapsed:has(:focus-visible) .sidebar-nav-link{justify-content:flex-start;gap:12px;padding:8px 12px}.sidebar.collapsed:has(:focus-visible) .sidebar-user-card{background:var(--surface-2);border-color:var(--line);justify-content:flex-start;gap:10px;padding:8px 10px}.sidebar.collapsed:has(:focus-visible) .sidebar-logout{padding:7px 10px}.ref-hero-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ref-ind-block{background:#fff;border:1px solid #ffc10738;border-top:3px solid #ffc1078c;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 12px 40px #0f172a1f,inset 0 1px #0f172a08}.ref-ind-block-header{background:linear-gradient(90deg,#ffc1071a 0%,#0f172a02 100%);border-bottom:1px solid #ffc10726;align-items:center;gap:10px;padding:8px 14px;display:flex}.ref-ind-block-title{color:#8a5a00;letter-spacing:-.2px;flex:1;font-size:12px;font-weight:900}.ref-ind-block-meta{color:var(--text-4);font-size:10px;font-family:var(--mono);letter-spacing:.05em}.ref-ind-grid{background:#0f172a06;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0;display:grid}.ref-ind-card{background:#fff;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;flex-direction:column;gap:3px;padding:10px 13px 9px;transition:background .15s;display:flex;position:relative}.ref-ind-card:before{content:"";background:#0f172a09;width:3px;height:100%;position:absolute;top:0;left:0}.ref-ind-card:hover{background:#fff}.ref-ind-card-split{gap:0;padding:0}.ref-ind-split-half{flex-direction:column;flex:1;gap:3px;padding:8px 13px;display:flex}.ref-ind-split-div{background:#0f172a09;flex-shrink:0;height:1px;margin:0 10px}.ref-ind-card-count:before{background:linear-gradient(#42a5f5,#1565c0)}.ref-ind-card-budget:before{background:linear-gradient(#ffc107,#ff8f00)}.ref-ind-card-wide:before{background:linear-gradient(#4dd0e1,#006064)}.ref-ind-card-resp:before{background:linear-gradient(#ce93d8,#7b1fa2)}.ref-ind-card-wide{grid-column:span 2}.ref-ind-val{color:var(--text-1);font-size:22px;font-weight:900;font-family:var(--mono);letter-spacing:-.5px;line-height:1}.ref-ind-val-blue{color:#0165b6}.ref-ind-val-amber{color:#8a5a00}.ref-ind-val-lg{font-size:17px}.ref-ind-val-name{font-size:13px;font-weight:700;font-family:var(--font);color:#7d2d8a}.ref-ind-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);margin-top:2px;font-size:10px;font-weight:800}.ref-ind-lbl-top{align-items:center;gap:8px;margin-bottom:10px;display:flex}.ref-ind-est-tag{color:#0e7490;text-transform:none;background:#4dd0e11f;border:1px solid #4dd0e14d;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.ref-ind-sub{color:var(--text-5);margin-top:0;font-size:10px}.ref-ind-sub-green{color:#15803d;font-weight:600}.ref-ind-pct-row{align-items:center;gap:5px;margin-top:4px;display:flex}.ref-ind-pct-val{font-family:var(--mono);color:#8a5a00;white-space:nowrap;font-size:10px;font-weight:700}.ref-statsbar{background:#f0f0f2;border:1px solid #edf0f4;border-radius:10px;align-items:stretch;margin-top:16px;display:flex;overflow:hidden}.ref-statsbar-item{border-right:1px solid #edf0f4;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:14px 8px;display:flex}.ref-statsbar-item:last-child{border-right:none}.ref-statsbar-val{font-size:19px;font-weight:800;font-family:var(--mono);color:var(--text-1);white-space:nowrap;letter-spacing:-.5px}.ref-statsbar-lbl{letter-spacing:.07em;text-transform:uppercase;color:var(--text-4);text-align:center;white-space:nowrap;font-size:10px;font-weight:700}.ref-statsbar-sub{color:var(--text-5);text-align:center;white-space:nowrap;font-size:10px}.ref-ind-resp-row{align-items:center;gap:10px;display:flex}.ref-ind-resp-avatar{color:#7d2d8a;background:linear-gradient(135deg,#7b1fa2,#4a148c);border:1px solid #6d28d933;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:flex}.ref-ind-trims{flex-wrap:nowrap;gap:10px;display:flex}.ref-ind-trim{background:#4dd0e112;border:1px solid #4dd0e126;border-radius:8px;flex-direction:column;flex:1;gap:3px;padding:10px 12px;display:flex}.ref-ind-trim-code{font-family:var(--mono);color:#0e7490;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.ref-ind-trim-val{color:var(--text-1);font-size:14px;font-weight:800;font-family:var(--mono)}.ref-ind-trim-devise{color:var(--text-5);font-size:10px}.comp-form-code-wrap{flex-shrink:0;width:160px}.comp-form-nom-wrap{max-width:480px}.comp-form-desc-wrap{max-width:520px}.comp-form-budget-wrap{flex-shrink:0;width:220px}.comp-form-date-wrap{flex-shrink:0;width:180px}.comp-form-projet-badge{border:1px solid var(--line);background:#0f172a05;border-radius:8px;align-items:center;gap:8px;max-width:fit-content;padding:6px 12px;display:inline-flex}.comp-form-projet-logo{-o-object-fit:contain;object-fit:contain;border-radius:3px;flex-shrink:0;width:18px;height:18px}.comp-form-projet-code{font-family:var(--mono);color:#1550b8;letter-spacing:.04em;white-space:nowrap;font-size:11px;font-weight:800}.comp-form-projet-sep{color:var(--text-5);font-size:12px}.comp-form-projet-nom{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:13px;font-weight:600;overflow:hidden}.comp-form-projet-lock{color:var(--text-5);flex-shrink:0}.comp-form-auto-badge{letter-spacing:.04em;color:#8a5a00;vertical-align:middle;background:#ffc1071a;border:1px solid #ffc10759;border-radius:8px;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.comp-form-color-row{align-items:center;gap:10px;margin-top:6px;display:flex}.comp-form-color-preview{border:2px solid var(--line);background:var(--comp-preview-bg,#f1f3f6);border-radius:6px;flex-shrink:0;width:32px;height:32px}.comp-form-presets{flex-wrap:wrap;flex:1;gap:6px;display:flex}.comp-form-preset-dot{cursor:pointer;background:#f1f3f6;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:22px;height:22px;transition:transform .15s,border-color .15s}.comp-form-preset-dot:hover{transform:scale(1.15)}.comp-form-preset-dot.active{border-color:#0f172a60;transform:scale(1.1)}.cf-dot-navy{background:#f1f3f6}.cf-dot-teal{background:#1a5f7a}.cf-dot-green{background:#2d6a4f}.cf-dot-slate{background:#4a5568}.cf-dot-purple{background:#f7f2f8}.cf-dot-red{background:#9c2d2d}.cf-dot-amber{background:#c07a16}.cf-dot-forest{background:#f1f4f3}.comp-form-color-input{cursor:pointer;border:2px solid var(--line);background:0 0;border-radius:6px;flex-shrink:0;width:36px;height:32px;padding:0}.comp-form-hint{color:var(--text-4);font-size:10px;font-family:var(--mono);letter-spacing:.03em;margin-top:4px}.comp-form-poids-val{color:#0e7490;font-size:11px;font-weight:700;font-family:var(--mono);margin-left:8px}.comp-form-slider-row{align-items:center;gap:12px;margin-top:6px;display:flex}.comp-form-slider{accent-color:#4dd0e1;cursor:pointer;flex:1;height:4px}.comp-form-poids-input{flex-shrink:0;width:72px}.country-select-wrap{position:relative}.country-select-trigger{background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;width:100%;min-height:38px;color:var(--text-1);text-align:left;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:13px;transition:border-color .15s;display:flex}.country-select-trigger:hover{border-color:var(--line-strong)}.country-trigger-img{-o-object-fit:cover;object-fit:cover;border-radius:2px;flex-shrink:0;width:20px;height:15px}.country-trigger-name{flex:1}.country-trigger-placeholder{opacity:.38;flex:1}.country-chevron{opacity:.5;flex-shrink:0;transition:transform .18s}.country-chevron.open{transform:rotate(180deg)}.country-dropdown{z-index:200;border:1px solid var(--line);background:#f0f1f3;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 40px #0f172a1f}.country-search-row{border-bottom:1px solid #edf0f4;align-items:center;gap:8px;padding:8px 10px;display:flex}.country-search-icon{color:var(--text-4);flex-shrink:0}.country-search-input{color:var(--text-1);background:0 0;border:none;outline:none;flex:1;font-size:12px}.country-search-input::placeholder{color:var(--text-5)}.country-list{max-height:260px;overflow-y:auto}.country-list::-webkit-scrollbar{width:4px}.country-list::-webkit-scrollbar-track{background:0 0}.country-list::-webkit-scrollbar-thumb{background:#0f172a0e;border-radius:2px}.country-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-5);padding:6px 12px 3px;font-size:10px;font-weight:800}.country-option{cursor:pointer;text-align:left;width:100%;color:var(--text-2);background:0 0;border:none;align-items:center;gap:9px;padding:6px 12px;font-size:13px;transition:background .1s;display:flex}.country-option:hover{background:#0f172a08}.country-option.active{color:var(--text-1);background:#4dd0e11a}.country-opt-img{-o-object-fit:cover;object-fit:cover;border-radius:2px;flex-shrink:0;width:20px;height:15px}.country-opt-name{flex:1}.country-opt-check{color:#0e7490;flex-shrink:0}.country-empty{color:var(--text-5);text-align:center;padding:16px 12px;font-size:12px}.code-auto-field{background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;align-items:center;min-height:38px;padding:0 12px;display:flex}.code-auto-value{font-family:var(--mono);color:#8a5a00;letter-spacing:.04em;font-size:13px;font-weight:700}.code-auto-pending{color:var(--text-5);font-size:11px;font-style:italic}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.dot-cyan{background:#0891b2}.dot-amber{background:#ca8a04}.dot-purple{background:#9333ea}.dot-red{background:#dc2626}.dot-indigo{background:#4f46e5}.dot-teal{background:#0d9488}.dot-slate{background:#64748b}.dot-gray{background:#6b7280}.dot-lime{background:#65a30d}.dot-rose{background:#e11d48}.text-muted-sm{color:var(--text-muted);font-size:12px}.progress-track{background:#e5e9f0;border-radius:100px;flex:1;overflow:hidden}.progress-track.sm{height:4px}.progress-track.md{height:6px}.progress-fill{border-radius:100px;height:100%;transition:width .6s}.progress-fill.red{background:#dc2626}.progress-fill.orange{background:#ea580c}.progress-fill.amber{background:#d97706}.progress-fill.green{background:#16a34a}.progress-label{font-family:var(--mono);color:var(--text-muted);text-align:right;flex-shrink:0;width:36px;font-size:11px}.login-page{background:var(--page-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-wrapper{z-index:10;width:100%;max-width:420px;position:relative}.login-hero{text-align:center;margin-bottom:32px}.login-portal-tag{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:100px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 16px;display:inline-flex}.login-portal-tag-text{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.login-flag{font-size:44px}.login-title{letter-spacing:-1px;margin-top:12px;margin-bottom:6px;font-size:28px;font-weight:800}.login-subtitle{font-family:var(--mono);color:var(--text-muted);letter-spacing:1px;font-size:11px}.login-logo{-o-object-fit:contain;object-fit:contain;border-radius:8px;width:auto;max-width:180px;height:auto;max-height:90px;margin:0 auto 16px;display:block}.login-card{padding:36px 32px}.login-card-header{text-align:center;margin-bottom:28px}.login-lock-icon{background:var(--brand-soft);border:1px solid var(--brand-border);width:52px;height:52px;color:var(--brand-strong);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 14px;font-size:24px;display:flex}.login-card-title{letter-spacing:-.3px;font-size:18px;font-weight:700}.login-card-desc{color:var(--text-muted);margin-top:4px;font-size:12px}.login-field{margin-bottom:14px}.login-field-last{margin-bottom:20px}.login-label{font-family:var(--mono);letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.login-error{background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:var(--radius-sm);color:var(--danger);text-align:center;margin-bottom:14px;padding:10px 14px;font-size:13px}.login-footer{text-align:center;font-family:var(--mono);color:var(--text-5);margin-top:20px;font-size:10px;line-height:1.8}.page-container{padding:32px}.page-header{margin-bottom:24px}.page-title{letter-spacing:-.4px;color:var(--text-1);font-size:22px;font-weight:700;line-height:1.25}.page-subtitle{color:var(--text-4);margin-top:4px;font-size:13px;line-height:1.5}.stat-card{padding:22px 24px}.stat-card-inner{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.stat-card-value{color:var(--text-1);letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:28px;font-weight:700}.stat-card-label{color:var(--text-4);letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:600}.stat-card-sub{color:var(--text-5);margin-top:2px;font-size:12px}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-icon-blue{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-strong)}.stat-icon-green{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok)}.stat-icon-amber{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn)}.stat-icon-red{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger)}.section-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:18px 22px;display:flex}.section-header-title{color:var(--text-1);font-size:14px;font-weight:700}.section-count{font-family:var(--mono);background:var(--surface-3);color:var(--text-3);border-radius:100px;padding:2px 8px;font-size:10px}.dark-table{border-collapse:collapse;width:100%}.dark-table th{text-align:left;font-family:var(--font);letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--line);background:var(--surface-2);padding:10px 16px;font-size:11px;font-weight:600}.dark-table td{color:var(--text-2);vertical-align:middle;border-bottom:1px solid #edf0f4;padding:12px 16px;font-size:13px}.dark-table tbody tr:hover td{background:#f6f8fb}.dark-table tr:last-child td{border-bottom:none}.td-title{color:var(--text-1);font-size:13px;font-weight:600}.td-code{font-family:var(--mono);color:var(--text-muted);letter-spacing:1px;margin-top:2px;font-size:10px}.composante-card{cursor:pointer;padding:24px;text-decoration:none;display:block}.composante-card-code{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;border-radius:6px;margin-bottom:8px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.composante-card-code.blue{color:var(--brand-strong);background:var(--brand-soft)}.composante-card-code.amber{color:var(--warn);background:var(--warn-bg)}.composante-card-code.green{color:var(--ok);background:var(--ok-bg)}.composante-card-title{color:var(--text-1);margin-bottom:6px;font-size:15px;font-weight:700;line-height:1.3}.composante-card-desc{color:var(--text-muted);margin-bottom:18px;font-size:12px;line-height:1.6}.composante-card-footer{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;padding-top:14px;display:flex}.composante-card-arrow{border:1px solid var(--line);width:28px;height:28px;color:var(--text-muted);background:#0f172a08;border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:all .3s;display:flex}.composante-card:hover .composante-card-arrow{color:#0165b6;background:#1565c01a;border-color:#1e6dd438}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.search-wrap{flex:1;min-width:200px;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{background:var(--surface);border:1px solid var(--line-strong);width:100%;color:var(--text-1);font-family:var(--font);border-radius:10px;outline:none;padding:10px 14px 10px 36px;font-size:13px;transition:all .2s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px #1e6dd42e}.dark-select{background:var(--surface);border:1px solid var(--line-strong);color:var(--text-1);font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;outline:none;min-width:180px;padding:10px 36px 10px 14px;font-size:13px;transition:all .2s}.dark-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.dark-select option{background:#fff}.pagination{justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}.page-btn{border:1px solid var(--line);color:var(--text-2);font-family:var(--font);cursor:pointer;background:#0f172a07;border-radius:8px;padding:8px 16px;font-size:12px;transition:all .2s}.page-btn:hover:not(:disabled){color:#0165b6;background:#1565c01a;border-color:#1e6dd438}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-info{font-family:var(--mono);color:var(--text-muted);font-size:11px}.empty-state{text-align:center;padding:48px 24px}.empty-state-title{color:var(--text-4);margin-bottom:6px;font-size:15px;font-weight:600}.empty-state-sub{color:var(--text-muted);font-size:12px}.spinner{border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.loading-center{justify-content:center;align-items:center;padding:60px;display:flex}.back-link{color:var(--text-muted);font-size:12px;font-family:var(--mono);letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:20px;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--brand-strong)}.detail-header{margin-bottom:24px;padding:28px}.detail-code{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--brand-strong);background:var(--brand-soft);border-radius:6px;margin-bottom:10px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.detail-title{letter-spacing:-.5px;color:var(--text-1);margin-bottom:6px;font-size:20px;font-weight:800}.detail-desc{color:var(--text-muted);max-width:600px;font-size:13px;line-height:1.6}.detail-meta-grid{border-top:1px solid #edf0f4;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;padding-top:20px;display:grid}@media (width>=768px){.detail-meta-grid{grid-template-columns:repeat(4,1fr)}}.meta-item-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:4px;font-size:10px}.meta-item-value{color:var(--text-2);font-size:13px;font-weight:600}.kpi-card{background:#0f172a05;border:1px solid #edf0f4;border-radius:10px;padding:14px 16px}.kpi-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.kpi-code{font-family:var(--mono);color:#0266b6;letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:700}.kpi-label{color:var(--text-2);font-size:12px;font-weight:600}.kpi-value{color:var(--text-1);letter-spacing:-.5px;font-size:22px;font-weight:800}.kpi-unit{color:var(--text-muted);margin-left:4px;font-size:12px}.kpi-target{color:var(--text-muted);margin-left:6px;font-size:10px}.kpi-actions{gap:4px;display:flex}.kpi-btn{cursor:pointer;color:var(--text-muted);background:#0f172a08;border:none;border-radius:6px;padding:4px 6px;transition:all .2s}.kpi-btn:hover.edit{color:#0165b6;background:#1565c01a}.kpi-btn:hover.del{color:#a51212;background:#b71c1c1a}.kpi-form{background:#1565c014;border:1px solid #1e6dd438;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:14px 16px;display:flex}.kpi-form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kpi-input{background:var(--surface);border:1px solid var(--line-strong);color:var(--text-1);font-size:12px;font-family:var(--font);border-radius:8px;outline:none;padding:8px 10px;transition:border-color .2s}.kpi-input::placeholder{color:var(--text-muted)}.kpi-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.kpi-form-actions{gap:8px;display:flex}.kpi-save-btn{background:var(--brand);color:#fff;cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);border:none;border-radius:8px;padding:7px 14px;transition:opacity .2s}.kpi-save-btn:disabled{opacity:.4;cursor:not-allowed}.kpi-cancel-btn{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font);background:#0f172a07;border-radius:8px;padding:7px 14px}.add-btn{color:#0266b6;cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border:none;align-items:center;gap:6px;font-weight:600;transition:color .2s;display:inline-flex}.add-btn:hover{color:#0165b6}.doc-ext-badge{font-family:var(--mono);letter-spacing:1px;white-space:nowrap;border:1px solid;border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.doc-ext-pdf{color:#b91c1c;background:#f871711f;border-color:#f871714d}.doc-ext-xlsx{color:#047857;background:#34d3991f;border-color:#34d3994d}.doc-ext-docx{color:#1550b8;background:#60a5fa1f;border-color:#60a5fa4d}.doc-ext-pptx{color:#c2410c;background:#fb923c1f;border-color:#fb923c4d}.doc-ext-csv{color:#4d7c0f;background:#a3e6351f;border-color:#a3e6354d}.doc-ext-img{color:#6d28d9;background:#c084fc1f;border-color:#c084fc4d}.doc-ext-txt{color:var(--text-5);background:#94a3b81f;border-color:#94a3b84d}.doc-uploading-dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}.doc-item{border-bottom:1px solid #edf0f4;align-items:center;gap:12px;padding:12px 20px;display:flex}.doc-item:last-child{border-bottom:none}.doc-icon{color:#0266b6;background:#1565c01a;border:1px solid #1e6dd438;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.doc-name{color:var(--text-2);font-size:13px;font-weight:600}.doc-meta{font-family:var(--mono);color:var(--text-muted);margin-top:2px;font-size:10px}.doc-open{color:#0266b6;font-size:11px;font-weight:600;font-family:var(--mono);flex-shrink:0;text-decoration:none}.doc-open:hover{color:#0165b6}.text-light-70,.text-light-85{color:var(--text-2)}.text-light-40{color:var(--text-4)}.feuille-row{border-bottom:1px solid #edf0f4;padding:12px 22px}.feuille-row:last-child{border-bottom:none}.dashboard-composante-row{margin-bottom:16px}.dashboard-composante-row:last-child{margin-bottom:0}.detail-pct{font-family:var(--mono);color:var(--text-1);font-size:13px;font-weight:700}.text-relaxed{line-height:1.7}.act-table{border-collapse:collapse;width:100%;min-width:1100px}.act-th-ordre{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);text-align:center;background:#0f172a03;border-bottom:1px solid #edf0f4;width:60px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-nom{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;min-width:220px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-meta{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;min-width:110px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-num{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);text-align:right;background:#0f172a03;border-bottom:1px solid #edf0f4;width:120px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-avancement{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);text-align:center;background:#0f172a03;border-bottom:1px solid #edf0f4;width:160px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-date{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;width:90px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-livrables{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;min-width:160px;padding:10px 12px;font-size:10px;font-weight:600}.act-th-actions{background:#0f172a03;border-bottom:1px solid #edf0f4;width:80px;padding:10px 12px}.act-row-main{background:#1565c014}.act-row-main:hover td{background:#1565c01f}.act-td-ordre{border-bottom:1px solid #edf0f4;padding:10px 12px}.act-td-nom{color:var(--text-2);vertical-align:top;border-bottom:1px solid #edf0f4;padding:10px 12px;font-size:13px}.act-td-meta{color:var(--text-3);vertical-align:top;border-bottom:1px solid #edf0f4;padding:8px 12px;font-size:12px}.act-td-num{font-family:var(--mono);color:var(--text-3);text-align:right;white-space:nowrap;vertical-align:top;border-bottom:1px solid #edf0f4;padding:8px 12px;font-size:11px}.act-td-date{font-family:var(--mono);color:var(--text-4);vertical-align:top;border-bottom:1px solid #edf0f4;padding:8px 12px;font-size:10px}.act-td-livrables{color:var(--text-3);vertical-align:top;border-bottom:1px solid #edf0f4;padding:8px 12px;font-size:11px;line-height:1.5}.act-td-main-nom{color:var(--text-1)!important;font-size:13px!important;font-weight:700!important}.act-td-sa-nom{line-height:1.5;color:var(--text-2)!important;font-size:12px!important}.act-ordre-wrap{align-items:center;gap:6px;display:flex}.act-ordre-badge{font-family:var(--mono);color:#0165b6;background:#1565c01a;border:1px solid #1e6dd438;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:700}.act-row-sa{background:0 0}.act-row-sa:hover td{background:#0f172a02}.act-row-tache td{background:#f59e0b0a;border-bottom:1px solid #f59e0b12;padding:5px 10px;font-size:11px}.act-row-tache:hover td{background:#f59e0b17}.act-row-tache.act-row-tache-edit td{background:#f59e0b1a!important;padding:5px 8px!important}.act-row-tache.act-row-tache-new td{background:#f59e0b0f!important;padding:5px 8px!important}.act-td-tache-nom{align-items:baseline;gap:4px;display:flex}.act-td-tache-pct{min-width:58px}.tache-indent{color:#b45309;flex-shrink:0;font-size:11px}.tache-pct-wrap{flex-direction:column;gap:2px;min-width:52px;display:flex}.tache-pct-label{font-size:10px;font-family:var(--mono);text-align:right;font-weight:700}.tache-pct-label-green{color:#15803d}.tache-pct-label-orange{color:#c2410c}.tache-pct-label-red{color:#b91c1c}.tache-pct-bar{appearance:none;background:#0f172a09;border:none;border-radius:99px;width:100%;height:4px;display:block;overflow:hidden}.tache-pct-bar::-webkit-progress-bar{background:#0f172a09;border-radius:99px}.tache-pct-bar::-webkit-progress-value{border-radius:99px}.tache-pct-bar::-moz-progress-bar{border-radius:99px}.tache-pct-bar-green::-webkit-progress-value{background:#4ade80}.tache-pct-bar-green::-moz-progress-bar{background:#4ade80}.tache-pct-bar-orange::-webkit-progress-value{background:#fb923c}.tache-pct-bar-orange::-moz-progress-bar{background:#fb923c}.tache-pct-bar-red::-webkit-progress-value{background:#f87171}.tache-pct-bar-red::-moz-progress-bar{background:#f87171}.act-btn-taches-active{color:#b45309!important;background:#f59e0b1a!important}.act-row-editing td{background:#1565c014!important;padding:6px 8px!important}.act-row-new td{background:#2e7d320f!important;padding:6px 8px!important}.act-input{background:var(--surface);width:100%;color:var(--text-1);font-family:var(--font);border:1px solid #1e6dd438;border-radius:6px;outline:none;padding:5px 8px;font-size:12px;transition:border-color .2s}.act-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px #64b5f61a}.act-input::placeholder{color:var(--text-5)}.act-input option{color:#3c577c;background:#fff}.act-input-pct-wrap{align-items:center;gap:4px;display:flex}.act-input-pct-wrap .act-input{text-align:center;flex:1;min-width:0;padding:6px 10px;font-size:13px;font-weight:600}.act-input-pct-label{color:#1550b8;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:13px;font-weight:700}select.act-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-color:var(--surface);cursor:pointer;padding-right:24px}select.act-input option{color:#3c577c;background:#fff}.act-textarea{resize:vertical;min-height:42px}.act-actions{align-items:center;gap:4px;padding:2px;display:flex}.act-btn-add-sa{background:var(--ok-bg);color:#15803d;cursor:pointer;border:1px solid #15803d38;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex}.act-btn-add-sa:hover{background:var(--ok-bg)}.act-empty{text-align:center;color:var(--text-muted);padding:36px;font-size:13px}.starfield-canvas{pointer-events:none;z-index:0;position:fixed;inset:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0f172a17;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0f172a28}.obs-composante-block{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:20px 22px 0}.obs-comp-header{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.obs-comp-badge{font-family:var(--mono);color:#0020b8;white-space:nowrap;background:#6366f11a;border:1px solid #6366f140;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700}.obs-comp-nom{color:var(--text-1);margin-bottom:3px;font-size:15px;font-weight:700}.obs-comp-desc{color:var(--text-4);font-size:12px}.obs-comp-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.obs-comp-avancement{font-family:var(--mono);color:var(--text-1);font-size:13px;font-weight:700}.obs-sc-list{margin-top:16px}.obs-sc-block{border-top:1px solid #edf0f4;padding:14px 0 0}.obs-sc-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.obs-sc-arrow{color:var(--text-5);flex-shrink:0}.obs-sc-code{font-family:var(--mono);color:var(--text-3);letter-spacing:1px;font-size:10px;font-weight:600}.obs-sc-nom{color:var(--text-3);flex:1;font-size:12px}.obs-sc-avancement{font-family:var(--mono);color:var(--text-2);font-size:11px;font-weight:600}.obs-feuilles-list{flex-direction:column;gap:10px;padding:0 0 16px 20px;display:flex}.obs-feuille-card{background:#0f172a05;border:1px solid #edf0f4;border-radius:12px;flex-direction:column;gap:10px;padding:16px;transition:background .2s;display:flex}.obs-feuille-card:hover{background:#0f172a08}.obs-feuille-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.obs-feuille-titre{color:var(--text-1);margin-bottom:3px;font-size:13px;font-weight:700}.obs-feuille-code{font-family:var(--mono);color:var(--text-4);font-size:10px}.obs-feuille-progress{padding:0}.obs-feuille-meta-label{font-family:var(--mono);color:var(--text-4);letter-spacing:.5px;font-size:10px}.obs-feuille-meta-value{font-family:var(--mono);color:var(--text-2);font-size:11px;font-weight:600}.obs-feuille-meta-row{border-top:1px solid #edf0f4;flex-wrap:wrap;gap:20px;padding-top:8px;display:flex}.obs-feuille-meta-item{flex-direction:column;gap:2px;display:flex}.obs-feuille-obs{color:var(--text-3);background:#0f172a03;border-left:2px solid #6366f14d;border-radius:6px;padding:8px 10px;font-size:11.5px;font-style:italic;line-height:1.6}.obs-feuille-footer{justify-content:flex-end;display:flex}.obs-detail-btn{color:#4338ca;background:#6366f114;border:1px solid #6366f133;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.obs-detail-btn:hover{color:#0020b8;background:#6366f11a;border-color:#6366f166}.textarea-resizable{resize:vertical}.update-toggle-btn{border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:#0f172a08;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.update-toggle-btn:hover{color:var(--text-1);background:#0f172a0e}.update-toggle-btn.active{color:#0020b8;background:#6366f11a;border-color:#6366f166}.update-panel{border:1px solid #6366f140!important}.update-panel-hint{color:var(--text-4);font-size:11px;font-family:var(--mono);margin-left:6px}.update-avancement-wrap{align-items:center;gap:12px;padding-top:8px;display:flex}.update-slider{accent-color:#6366f1;cursor:pointer;flex:1;height:4px}.update-slider-value{font-family:var(--mono);color:var(--text-1);text-align:right;min-width:36px;font-size:13px;font-weight:700}.comp-det-td-taux{min-width:120px}.act-taux-wrap{align-items:center;gap:6px;width:100%;display:flex}.act-taux-slider{accent-color:#60a5fa;cursor:pointer;flex:1;min-width:70px;height:4px}.act-taux-val{font-family:var(--mono);color:#0057b8;text-align:right;flex-shrink:0;min-width:30px;font-size:10px;font-weight:700}.update-success{color:#15803d;font-size:12px;font-family:var(--mono);background:#86efac14;border:1px solid #86efac33;border-radius:8px;padding:8px 12px}.fdr-form-card{max-width:780px}.fdr-prio-chip{font-weight:700}.fdr-trim-year-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.fdr-trim-year-label{color:var(--text-4);white-space:nowrap;font-size:11px}.fdr-trim-year-input{width:90px!important}.fdr-trim-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.fdr-trim-cell{flex-direction:column;gap:4px;display:flex}.fdr-trim-lbl{color:#b45309;letter-spacing:.06em;text-align:center;font-size:10px;font-weight:700}.fdr-trim-input{text-align:center}.sa-trim-grid{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.sa-form-new{box-shadow:inset 3px 0 #10b98173;background:#10b9810a!important}.sa-form-edit{box-shadow:inset 3px 0 #3b82f680;background:#3b82f60d!important}.sa-form-required{border-color:#10b98180!important}.sa-form-required:focus{border-color:var(--brand)!important;box-shadow:0 0 0 2px #10b98126!important}.sa-form-badge{color:#047857;background:#10b9811a;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.sa-form-reel{color:#8a5a00;letter-spacing:.02em;font-size:11px;font-weight:700}.sa-upload-btn{cursor:pointer;border:1px dashed var(--line);color:var(--text-4);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;max-width:100%;padding:2px 6px;font-size:10px;transition:border-color .15s,color .15s;display:flex;overflow:hidden}.sa-upload-btn:hover{color:#0057b8;border-color:#63b3ed8c}.sa-upload-btn span{text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.sa-liv-cell{flex-direction:column;gap:3px;min-width:90px;display:flex}.sa-liv-text{color:#415977;margin-bottom:2px;font-size:10px;line-height:1.3}.sa-liv-chip{background:#60a5fa1a;border:1px solid #60a5fa33;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;display:flex}.sa-liv-chip:hover{background:#60a5fa1a}.sa-liv-name{color:#0057b8;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:90px;font-size:10px;overflow:hidden}.sa-liv-btn{color:var(--text-5);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;transition:color .15s;display:flex}.sa-liv-btn:hover{color:var(--text-1)}.sa-liv-btn.del:hover{color:#b91c1c}.sa-liv-upload{border:1px dashed var(--line);cursor:pointer;width:22px;height:16px;color:var(--text-5);border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.sa-liv-upload:hover{color:#0057b8;border-color:#60a5fa80}.sa-trim-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.sa-trim-lbl{color:#b45309;letter-spacing:.06em;font-size:10px;font-weight:700}.sa-trim-input{text-align:center;width:44px!important;padding:2px 3px!important;font-size:11px!important}.sa-trim-total{color:var(--text-4);text-align:right;margin-top:3px;font-size:10px;display:block}.fdr-prio-haute{color:#b91c1c!important;background:#ef44441a!important;border-color:#ef444440!important}.fdr-prio-moyenne{color:#8a5a00!important;background:#f59e0b1a!important;border-color:#f59e0b40!important}.fdr-prio-basse{color:#15803d!important;background:#22c55e1f!important;border-color:#22c55e33!important}.form-card{max-width:640px}.section-header-sep{border-top:1px solid #edf0f4}.avatar-sm{width:24px!important;height:24px!important;font-size:11px!important}.fdr-submit-btn{flex:1}.fdr-cancel-link{align-items:center;text-decoration:none;display:flex}.fdr-label-hint{font-family:var(--mono);color:var(--text-4);letter-spacing:.3px;font-size:10px;font-weight:400}.fdr-equipe-membres-preview{background:#0f172a03;border:1px solid #edf0f4;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.fdr-equipe-preview-label{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-4);font-size:10px}.fdr-form-team-hint{color:var(--text-4);background:#0f172a03;border:1px solid #edf0f4;border-radius:8px;padding:10px 14px;font-size:11.5px;line-height:1.6}.fdr-form-assignation-preview{flex-wrap:wrap;gap:10px;display:flex}.fdr-assign-chip{border:1px solid var(--line);color:var(--text-1);background:#0f172a06;border-radius:10px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.fdr-assign-role{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-4);font-size:10px}.equipes-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.equipe-card{overflow:visible}.equipe-card-header{cursor:pointer;border-bottom:1px solid #edf0f4;align-items:center;gap:14px;padding:20px 20px 16px;display:flex}.equipe-icon{color:#6d28d9;background:#a78bfa1a;border:1px solid #a78bfa40;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.equipe-nom{color:var(--text-1);margin-bottom:2px;font-size:14px;font-weight:700}.equipe-desc{color:var(--text-4);font-size:11px}.equipe-meta{color:var(--text-4);white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:flex}.equipe-count{font-family:var(--mono)}.equipe-chef{background:#0f172a02;border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:12px 20px;display:flex}.equipe-chef-label{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-4);flex-shrink:0;width:36px;font-size:10px}.equipe-membres{padding:14px 20px 4px}.equipe-membres-title{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-4);align-items:center;margin-bottom:12px;font-size:10px;display:flex}.equipe-membre-row{border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:8px 0;display:flex}.equipe-membre-row:last-child{border-bottom:none}.equipe-membre-name{color:var(--text-1);font-size:13px;font-weight:600}.equipe-membre-role{color:var(--text-4);font-size:10px;font-family:var(--mono)}.equipe-card-footer{border-top:1px solid #edf0f4;justify-content:flex-end;padding:10px 20px 14px;display:flex}.search-wrap-wide{flex:1;max-width:440px}.portal-section-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.user-modal-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:100%;max-width:480px;max-height:calc(100dvh - 32px);padding:32px;animation:.3s both slideUp;position:relative;overflow-y:auto;box-shadow:0 40px 100px #0f172a1f}.user-modal-title{font-size:17px}.user-role-chip{border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:#0f172a05;border-radius:8px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.user-role-chip:hover{color:var(--text-1);background:#0f172a09}.user-role-chip-active{color:#0165b6!important;background:#1565c01a!important;border-color:#1e6dd438!important}.user-role-chip .status-dot{width:8px;height:8px}.user-toggle{letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-size:11px;font-weight:700;font-family:var(--mono);border:1px solid;border-radius:100px;padding:5px 14px;transition:all .2s}.user-toggle-on{color:#15803d;background:#a5d6a71a;border-color:#15803d38}.user-toggle-off{color:#a51212;background:#ef9a9a1a;border-color:#b91c1c38}.budget-table{border-collapse:collapse;width:100%}.budget-th-code{text-align:left;font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;width:120px;padding:12px 16px;font-size:10px;font-weight:600}.budget-th-nom{text-align:left;font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;padding:12px 16px;font-size:10px;font-weight:600}.budget-th-num{text-align:right;font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:#0f172a03;border-bottom:1px solid #edf0f4;width:140px;padding:12px 16px;font-size:10px;font-weight:600}.budget-th-actions{background:#0f172a03;border-bottom:1px solid #edf0f4;width:60px;padding:12px 16px}.budget-cell-code{border-bottom:1px solid #edf0f4;padding:0}.budget-cell-nom{color:var(--text-2);border-bottom:1px solid #edf0f4;min-width:200px;padding:10px 16px;font-size:13px}.budget-cell-num{text-align:right;font-family:var(--mono);color:var(--text-2);white-space:nowrap;border-bottom:1px solid #edf0f4;padding:10px 16px;font-size:12px}.budget-cell-actions{text-align:center;border-bottom:1px solid #edf0f4;padding:6px 12px}.budget-nom-comp{color:var(--text-1)!important;font-size:13px!important;font-weight:700!important}.budget-num-comp{color:var(--text-1)!important;font-weight:700!important}.budget-indent-comp{align-items:center;gap:8px;padding:10px 16px;display:flex}.budget-code-comp{font-family:var(--mono);color:#0165b6;background:#1565c01a;border:1px solid #1e6dd438;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.budget-indent-sc{align-items:center;gap:6px;padding:9px 16px 9px 32px;display:flex}.budget-code-sc{font-family:var(--mono);color:#8a5a00;background:#f9a8251f;border:1px solid #a1620740;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600}.budget-row-feuille{background:0 0}.budget-row-feuille:hover td{background:#0f172a02}.budget-indent-feuille{padding:8px 16px 8px 56px;display:block}.budget-code-feuille{font-family:var(--mono);color:var(--text-4);letter-spacing:.5px;font-size:10px}.budget-nom-feuille{color:var(--text-3)!important;font-size:12px!important}.budget-row-total{background:#1565c01f;border-top:2px solid #1e6dd438}.budget-row-total td{padding-top:14px;padding-bottom:14px}.budget-total-label{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:#0165b6;padding:0 16px;font-size:10px;font-weight:700}.budget-toggle{color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;transition:color .2s;display:flex}.budget-toggle:hover{color:var(--text-1)}.budget-toggle-comp{color:var(--text-3)}.budget-auto{font-style:italic;color:var(--text-5)!important}.budget-input{background:var(--surface);width:120px;color:var(--text-1);font-family:var(--mono);text-align:right;border:1px solid #1e6dd438;border-radius:7px;outline:none;padding:5px 8px;font-size:12px}.budget-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px #64b5f61a}.budget-edit-actions{justify-content:center;gap:4px;display:flex}.budget-btn-edit{border:1px solid var(--line);width:28px;height:28px;color:var(--text-4);cursor:pointer;background:#0f172a06;border-radius:7px;justify-content:center;align-items:center;transition:all .2s;display:flex}.budget-btn-edit:hover{color:#0165b6;background:#1565c01a;border-color:#1e6dd438}.budget-btn-save{background:var(--ok-bg);color:#15803d;cursor:pointer;border:1px solid #15803d38;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex}.budget-btn-save:hover{background:#2e7d3280}.budget-btn-cancel{color:#a51212;cursor:pointer;background:#b71c1c1a;border:1px solid #b91c1c38;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex}.budget-btn-cancel:hover{background:#b71c1c1a}.budget-pct-green{color:#15803d;font-family:var(--mono);font-size:11px;font-weight:700}.budget-pct-amber{color:#8a5a00;font-family:var(--mono);font-size:11px;font-weight:700}.budget-pct-orange{color:#b45309;font-family:var(--mono);font-size:11px;font-weight:700}.budget-pct-red{color:#a51212;font-family:var(--mono);font-size:11px;font-weight:700}.budget-pct-na{color:var(--text-5);font-family:var(--mono);font-size:11px}.budget-solde-pos{font-family:var(--mono);color:var(--text-3);font-size:12px}.budget-solde-neg{font-family:var(--mono);color:#a51212;font-size:12px;font-weight:700}.composante-edit-form{background:#1565c00f;border:1px solid #1e6dd438;border-radius:12px;padding:20px}.user-modal-success-icon{margin-bottom:12px;font-size:42px}.user-modal-success-title{color:#15803d;font-size:16px}.user-actions{align-items:center;gap:6px;display:flex}.user-action-btn{border:1px solid var(--line);width:30px;height:30px;color:var(--text-4);cursor:pointer;background:#0f172a06;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.user-action-edit:hover{color:#0165b6;background:#1565c01a;border-color:#1e6dd438}.user-action-key:hover{color:#8a5a00;background:#f57f171a;border-color:#a1620740}.user-action-del:hover{color:#a51212;background:#b71c1c1a;border-color:#b91c1c38}.del-confirm-wrap{align-items:center;gap:6px;display:flex}.del-confirm-label{color:#a51212;white-space:nowrap;font-size:11px}.del-confirm-yes{cursor:pointer;background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .15s}.del-confirm-yes:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.del-confirm-yes:disabled{opacity:.5;cursor:default}.del-confirm-no{cursor:pointer;border:1px solid var(--line);color:var(--text-3);background:#0f172a07;border-radius:6px;padding:3px 10px;font-size:11px;transition:all .15s}.del-confirm-no:hover:not(:disabled){color:var(--text-2);background:#0f172a0b}@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-panel-in{0%{opacity:0;transform:scale(.93)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-overlay{z-index:9999;background:#0f172a73;justify-content:center;align-items:center;animation:.15s confirm-overlay-in;display:flex;position:fixed;inset:0}.confirm-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:420px;max-width:92vw;box-shadow:var(--shadow-lg);text-align:center;padding:32px 28px 24px;animation:.2s confirm-panel-in}.confirm-icon-wrap{background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;display:flex}.confirm-title{color:var(--text-1);margin-bottom:8px;font-size:17px;font-weight:700;line-height:1.3}.confirm-desc{color:var(--text-4);margin-bottom:28px;font-size:13px;line-height:1.5}.confirm-actions{gap:10px;display:flex}.confirm-btn-cancel{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--text-2);cursor:pointer;flex:1;padding:10px 0;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s}.confirm-btn-cancel:hover:not(:disabled){background:var(--surface-3);color:var(--text-1);border-color:#94a3b8}.confirm-btn-delete{border-radius:var(--radius-sm);border:1px solid var(--danger);background:var(--danger);color:#fff;cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:10px 0;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:flex}.confirm-btn-delete:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.confirm-btn-cancel:disabled,.confirm-btn-delete:disabled{opacity:.5;cursor:not-allowed}.portal-section-header-sm{margin-bottom:8px}.portal-section-title-sm{max-width:200px;font-size:12px}.fdr-portal-grid-indented{padding-left:18px}.portal-hero-stats{background:var(--glass);border:1px solid var(--glass-border);border-radius:100px;flex-wrap:wrap;align-items:center;gap:32px;margin-bottom:28px;padding:10px 28px;display:inline-flex}.portal-hero-stat{align-items:center;gap:8px;font-size:13px;display:flex}.portal-hero-stat .status-dot{width:8px;height:8px}.portal-hero-stat span{font-weight:600}.portal-hero-stat em{color:var(--text-muted);font-size:11px;font-style:normal}.portal-pill{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:100px;padding:5px 14px;font-size:10px;font-weight:600}.portal-pill-c1{color:#0165b6;background:#90caf914;border-color:#1e6dd438}.portal-pill-c2{color:#8a5a00;background:#ffd54f14;border-color:#a1620740}.portal-pill-c3{color:#15803d;background:#a5d6a714;border-color:#15803d38}.portal-section-title{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:400;overflow:hidden}.portal-section-line{background:linear-gradient(90deg,#0f172a0b,#0000);flex:1;height:1px}.ref-cards-section{will-change:opacity, transform;flex-direction:column;gap:32px;padding:0 240px 120px 30px;animation:.32s cubic-bezier(.22,1,.36,1) refViewIn;display:flex}@keyframes refViewIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes refBtnPop{0%{transform:scale(.8)}55%{transform:scale(1.15)}80%{transform:scale(.95)}to{transform:scale(1)}}.ref-global-wrap{will-change:opacity, transform;background:#fff;border:1px solid #ffc10733;border-top:3px solid #ffc10780;border-radius:12px;animation:.35s cubic-bezier(.22,1,.36,1) refViewIn;overflow:hidden;box-shadow:0 12px 40px #0f172a1f,inset 0 1px #0f172a06}.ref-global-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-4);background:linear-gradient(90deg,#ffc10714 0%,#0000 100%);border-bottom:1px solid #ffc1071f;padding:11px 18px 10px;font-size:11px;font-weight:700}.ref-global-table{border-collapse:collapse;width:100%;font-size:12px}.ref-global-table thead tr{background:#0f172a03;border-bottom:1px solid #edf0f4}.ref-global-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-5);padding:8px 14px;font-size:10px;font-weight:700}.ref-gt-proj{cursor:pointer;border-bottom:1px solid #edf0f4;transition:background .12s}.ref-gt-proj:hover{background:#0f172a03}.ref-gt-proj.expanded{background:#f1f2f6}.ref-gt-proj td{color:var(--text-2);vertical-align:middle;padding:12px 14px}.ref-gt-proj-c1 td:first-child{border-left:3px solid #1565c0;padding-left:11px}.ref-gt-proj-c2 td:first-child{border-left:3px solid #e65100;padding-left:11px}.ref-gt-proj-c3 td:first-child{border-left:3px solid #1b5e20;padding-left:11px}.ref-gt-chevron{color:var(--text-4);vertical-align:middle;margin-right:8px;display:inline-flex}.ref-gt-logo{-o-object-fit:contain;object-fit:contain;vertical-align:middle;background:#0f172a08;border-radius:5px;width:22px;height:22px;margin-right:8px}.ref-gt-proj-name{color:var(--text-1);margin-right:10px;font-weight:600}.ref-gt-proj-code{font-family:var(--mono);color:var(--text-5);font-size:10px}.ref-gt-val-amber{font-family:var(--mono);color:#8a5a00;font-weight:700}.ref-gt-val-green{font-family:var(--mono);color:#15803d;font-weight:700}.ref-gt-val-orange{font-family:var(--mono);color:#b45309;font-weight:700}.ref-gt-val-red{font-family:var(--mono);color:#a51212;font-weight:700}.ref-gt-val-muted{opacity:.8}.ref-gt-val-muted-sm{opacity:.85}.ref-gt-devise{opacity:.45;font-size:.9em;font-weight:400}.ref-gt-comp{cursor:pointer;background:#0f172a0b;border-bottom:1px solid #edf0f4;transition:background .12s}.ref-gt-comp:hover{background:#0f172a12}.ref-gt-comp.expanded{background:#f0f2f459}.ref-gt-comp td{color:var(--text-4);vertical-align:middle;padding:8px 14px;font-size:11px}.ref-gt-comp td:first-child{border-left:3px solid #64b5f640;padding-left:11px}.ref-gt-comp-indent{border-bottom:1px dashed var(--line);vertical-align:middle;width:24px;margin-right:6px;display:inline-block}.ref-gt-comp-code{font-family:var(--mono);color:#0266b6;opacity:.7;margin-right:8px;font-size:10px}.ref-gt-comp-nom{color:var(--text-3)}.ref-gt-sc{cursor:pointer;background:#0f172a12;border-bottom:1px solid #edf0f4;transition:background .12s}.ref-gt-sc:hover{background:#0f172a17}.ref-gt-sc.expanded{background:#f0f1f373}.ref-gt-sc td{color:var(--text-4);vertical-align:middle;padding:6px 14px;font-size:11px}.ref-gt-sc td:first-child{border-left:3px solid #81c78438;padding-left:11px}.ref-gt-sc-indent{vertical-align:middle;border-bottom:1px dashed #edf0f4;width:48px;margin-right:6px;display:inline-block}.ref-gt-fdr{cursor:pointer;background:#0f172a17;border-bottom:1px solid #edf0f4;transition:background .12s}.ref-gt-fdr:hover{background:#0f172a73}.ref-gt-fdr.expanded{background:#f0f1f28c}.ref-gt-fdr td{color:var(--text-5);vertical-align:middle;padding:5px 14px;font-size:10.5px}.ref-gt-fdr td:first-child{border-left:3px solid #c2410c38;padding-left:11px}.ref-gt-fdr-indent{vertical-align:middle;border-bottom:1px dashed #edf0f4;width:72px;margin-right:6px;display:inline-block}.ref-gt-sa{background:#0f172a73;border-bottom:1px solid #edf0f4}.ref-gt-sa td{color:var(--text-5);vertical-align:middle;padding:4px 14px;font-size:10px}.ref-gt-sa td:first-child{border-left:3px solid #6d28d933;padding-left:11px}.ref-gt-sa-indent{vertical-align:middle;border-bottom:1px dashed #edf0f4;width:96px;margin-right:6px;display:inline-block}.ref-global-title{justify-content:space-between;align-items:center;display:flex}.ref-view-toggle{background:#0f172a13;border-radius:6px;gap:2px;padding:3px;display:flex}.ref-view-btn{width:26px;height:26px;color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.ref-view-btn:hover{color:var(--text-2);background:#0f172a08}.ref-view-btn:active{transition:transform 80ms;transform:scale(.78)}.ref-view-btn-active{color:#8a5a00;background:#ffc1071a;animation:.28s cubic-bezier(.22,1,.36,1) refBtnPop}.ref-view-btn-active:hover{color:#8a5a00;background:#ffc1071a}.ref-global-cards{flex-direction:column;gap:0;display:flex}.ref-gc-block{border-top:1px solid #edf0f4;transition:background .12s}.ref-gc-block:last-child{border-bottom:none}.ref-gc-block-c1 .ref-gc-header{border-left:3px solid #1565c0;padding-left:11px}.ref-gc-block-c2 .ref-gc-header{border-left:3px solid #e65100;padding-left:11px}.ref-gc-block-c3 .ref-gc-header{border-left:3px solid #1b5e20;padding-left:11px}.ref-gc-header{cursor:pointer;align-items:center;gap:10px;padding:12px 16px;transition:background .12s;display:flex}.ref-gc-header:hover{background:#0f172a03}.ref-gc-chevron{color:var(--text-5);flex-shrink:0;display:inline-flex}.ref-gc-title{color:var(--text-1);flex:1;font-size:13px;font-weight:600}.ref-gc-meta{font-family:var(--mono);color:var(--text-5);font-size:10px}.ref-gc-grid{border-top:1px solid #edf0f4;grid-template-columns:repeat(4,1fr);display:grid}.ref-gc-card{border-right:1px solid #edf0f4;flex-direction:column;gap:4px;padding:14px 16px;display:flex;position:relative}.ref-gc-card:last-child{border-right:none}.ref-gc-card:before{content:"";width:3px;height:100%;position:absolute;top:0;left:0}.ref-gc-card-count:before{background:linear-gradient(#42a5f5,#1565c0)}.ref-gc-card-budget:before{background:linear-gradient(#ffc107,#ff8f00)}.ref-gc-val{font-size:24px;font-weight:900;font-family:var(--mono);color:var(--text-1);line-height:1}.ref-gc-val-amber{color:#8a5a00}.ref-gc-val-green{color:#15803d}.ref-gc-val-orange{color:#b45309}.ref-gc-val-red{color:#a51212}.ref-gc-lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--text-5);margin-top:2px;font-size:10px;font-weight:700}.ref-gc-sub{color:#15803d;margin-top:1px;font-size:10px;font-weight:600}.ref-gc-comp-row{background:#0f172a09;border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:8px 16px 8px 36px;display:flex}.ref-gc-comp-name{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.ref-gc-comp-code{font-family:var(--mono);color:#0266b6;opacity:.75;font-size:10px}.ref-gc-comp-nom{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ref-gc-comp-stats{color:var(--text-4);flex-shrink:0;align-items:center;gap:18px;font-size:11px;display:flex}.ref-gc-comp-stats b{color:var(--text-2);font-weight:600}.fdr-portal-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;display:grid}.fdr-ref{font-family:var(--mono);letter-spacing:1px;color:var(--text-5);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:10px;overflow:hidden}.fdr-card-body{color:var(--text-4);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;padding-left:56px;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.fdr-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);cursor:pointer;flex-direction:column;gap:16px;padding:22px 22px 18px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.fdr-card-c1{--card-accent:var(--brand);--card-num-bg:var(--brand-soft);--card-num-color:var(--brand-strong);--card-num-border:var(--brand-border)}.fdr-card-c2{--card-accent:#ca8a04;--card-num-bg:var(--warn-bg);--card-num-color:var(--warn);--card-num-border:var(--warn-line)}.fdr-card-c3{--card-accent:#16a34a;--card-num-bg:var(--ok-bg);--card-num-color:var(--ok);--card-num-border:var(--ok-line)}.fdr-card:before{content:"";background:var(--card-accent,var(--brand));opacity:0;height:3px;transition:opacity .15s;position:absolute;top:0;left:0;right:0}.fdr-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.fdr-card:hover:before{opacity:1}.fdr-card-active{background:var(--brand-soft);border-color:var(--brand-border);box-shadow:0 0 0 1px var(--brand-border)}.fdr-card-active:before{opacity:1}.fdr-card-top{align-items:flex-start;gap:14px;display:flex}.fdr-card-logo{-o-object-fit:contain;object-fit:contain;background:#0f172a07;border-radius:10px;flex-shrink:0;width:42px;height:42px}.fdr-code{width:42px;height:42px;font-family:var(--mono);letter-spacing:.5px;background:var(--card-num-bg,var(--brand-soft));color:var(--card-num-color,#0165b6);border:1px solid var(--card-num-border,#1e6dd438);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.fdr-title{color:var(--text-1);letter-spacing:-.3px;font-size:14px;font-weight:700;line-height:1.3}.fdr-desc{color:var(--text-4);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.fdr-prog-label{font-family:var(--mono);color:var(--text-4);letter-spacing:1px;font-size:10px}.fdr-prog-value{font-family:var(--mono);color:var(--text-1);font-size:11px;font-weight:600}.fdr-card-footer{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex}.fdr-deadline{font-family:var(--mono);color:var(--text-5);font-size:10px}.fdr-budget-row{background:#0f172a05;border:1px solid #edf0f4;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.fdr-budget-cell{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fdr-budget-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);font-size:10px;font-weight:600}.fdr-budget-value{font-family:var(--mono);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.fdr-budget-dec{color:#15803d}.fdr-budget-sep{background:#0f172a09;flex-shrink:0;width:1px;height:28px}.fdr-budget-pct{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;min-width:44px;display:flex}.fdr-budget-pct-num{font-family:var(--mono);font-size:13px;font-weight:800;line-height:1}.fdr-budget-pct-amt{font-family:var(--mono);color:var(--text-4);font-size:10px;font-weight:600;line-height:1}.fdr-budget-pct--good .fdr-budget-pct-num{color:#15803d}.fdr-budget-pct--mid .fdr-budget-pct-num{color:#c2410c}.fdr-budget-pct--low .fdr-budget-pct-num{color:var(--text-5)}.fdr-lock{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .3s;display:flex}.fdr-lock-closed{border:1px solid var(--line);color:var(--text-4);background:#0f172a08}.fdr-lock-open{color:#15803d;background:#a5d6a71f;border:1px solid #15803d38}.fdr-card:hover .fdr-lock-closed{background:var(--card-accent,#1565c0);color:#fff;border-color:#0000;transform:scale(1.1)}.view-toggle{border:1px solid var(--line);background:#0f172a06;border-radius:8px;flex-wrap:nowrap;flex-shrink:0;gap:2px;padding:3px;display:flex}.view-toggle-btn{cursor:pointer;color:var(--text-4);font-size:12px;font-family:var(--font);white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;transition:all .2s;display:flex}.view-toggle-btn.active{color:var(--text-1);background:#0f172a0e}.view-toggle-btn:hover:not(.active){color:var(--text-2)}.comp-table-wrap{border:1px solid #edf0f4;border-radius:12px;overflow:hidden}.comp-table{border-collapse:collapse;width:100%;font-size:12px}.comp-th{text-align:left;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-5);white-space:nowrap;background:#0f172a03;border-bottom:1px solid #edf0f4;padding:9px 14px;font-size:10px;font-weight:700}.comp-th-num{text-align:right}.comp-tr-comp{cursor:pointer;background:#f2f3f673;border-bottom:1px solid #edf0f4}.comp-tr-comp:hover{background:#f2f3f6}.comp-tr-sc{cursor:pointer;background:#f1f2f440;border-bottom:1px solid #edf0f4}.comp-tr-sc:hover{background:#f1f2f473}.comp-tr-fdr{cursor:pointer;background:#0f172a02;border-bottom:1px solid #edf0f4}.comp-tr-fdr:hover{background:#60a5fa0f}.comp-tr-act{background:0 0;border-bottom:1px solid #edf0f4}.comp-tr-act:hover{background:#0f172a03}.comp-td{vertical-align:middle;color:#415977;padding:9px 14px}.comp-td-num{text-align:right;font-family:var(--mono);color:var(--text-3);font-size:11px}.comp-td-muted{color:var(--text-5);font-size:11px}.comp-indent-0{padding-left:14px}.comp-indent-1{padding-left:30px}.comp-indent-2{padding-left:50px}.comp-indent-3{padding-left:70px}.comp-chevron{color:var(--text-5);flex-shrink:0;align-items:center;display:flex}.comp-badge-comp{font-family:var(--mono);color:#0165b6;white-space:nowrap;font-size:11px;font-weight:700}.comp-badge-sc{font-family:var(--mono);color:#8a5a00;white-space:nowrap;font-size:10px;font-weight:600}.comp-badge-fdr{font-family:var(--mono);color:var(--text-4);white-space:nowrap;font-size:10px}.comp-badge-act{color:var(--text-5);font-size:10px}.comp-td-desc{color:var(--text-5);white-space:normal;text-overflow:ellipsis;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;max-width:300px;margin-top:2px;font-size:10px;font-weight:400;display:-webkit-box;overflow:hidden}.comp-nom-comp{color:var(--text-1);font-size:13px;font-weight:700}.comp-nom-sc{color:var(--text-2);font-size:12px;font-weight:500}.comp-nom-fdr{color:var(--text-3);font-size:12px}.comp-nom-act{color:var(--text-4);font-size:11px;font-style:italic}.comp-statut{color:var(--text-3);border:1px solid var(--line);white-space:nowrap;background:#0f172a08;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.comp-statut-sm{padding:1px 6px;font-size:10px}.comp-mini-bar{align-items:center;gap:6px;display:flex}.comp-mini-track{background:#0f172a09;border-radius:100px;flex-shrink:0;width:60px;height:5px;overflow:hidden}.comp-mini-fill{height:100%;width:var(--bar-w,0%);border-radius:100px;transition:width .4s}.comp-mini-fill-green{background:#4ade80}.comp-mini-fill-orange{background:#fb923c}.comp-mini-fill-red{background:#f87171}.comp-mini-pct{font-family:var(--mono);font-size:11px;font-weight:700}.exp-bar-fill{height:100%;width:var(--bar-w,0%);border-radius:100px;transition:width .5s}.exp-bar-fill-green{background:#4ade80}.exp-bar-fill-orange{background:#fb923c}.exp-bar-fill-red{background:#f87171}.exp-bar-pct-green{color:#15803d}.exp-bar-pct-orange{color:#c2410c}.exp-bar-pct-red{color:#b91c1c}progress.exp-bar-fill-green::-webkit-progress-value{background:#4ade80}progress.exp-bar-fill-green::-moz-progress-bar{background:#4ade80}progress.exp-bar-fill-orange::-webkit-progress-value{background:#fb923c}progress.exp-bar-fill-orange::-moz-progress-bar{background:#fb923c}progress.exp-bar-fill-red::-webkit-progress-value{background:#f87171}progress.exp-bar-fill-red::-moz-progress-bar{background:#f87171}.exp-fdr-tbar-prog-green::-webkit-progress-value{background:#4ade80}.exp-fdr-tbar-prog-green::-moz-progress-bar{background:#4ade80}.exp-fdr-tbar-prog-orange::-webkit-progress-value{background:#fb923c}.exp-fdr-tbar-prog-orange::-moz-progress-bar{background:#fb923c}.exp-fdr-tbar-prog-red::-webkit-progress-value{background:#f87171}.exp-fdr-tbar-prog-red::-moz-progress-bar{background:#f87171}.exp-bar-link{color:var(--text-5);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;transition:color .2s;display:flex}.comp-det-page{flex-direction:column;height:100%;display:flex;overflow-y:auto}.comp-det-header{background:#f0f1f3;border-bottom:2px solid #ffc10740;flex-wrap:wrap;align-items:flex-start;gap:28px;padding:22px 30px;display:flex}.comp-det-header-left{flex:none;max-width:480px}.comp-det-header-left-inner{align-items:flex-start;gap:14px;display:flex}.comp-det-header-logo{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);background:#0f172a06;border-radius:8px;flex-shrink:0;width:50px;height:50px;padding:5px}.comp-det-header-text{flex-direction:column;gap:6px;display:flex}.proj-logo{-o-object-fit:contain;object-fit:contain;opacity:.92;border-radius:4px;max-width:140px;max-height:44px;margin-bottom:8px;display:block}.proj-logo-upload{align-items:center;gap:12px;display:flex}.proj-logo-preview-wrap{display:inline-flex;position:relative}.proj-logo-preview{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);background:#0f172a05;border-radius:6px;max-width:180px;max-height:64px;padding:6px}.proj-logo-remove{background:var(--danger);cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex;position:absolute;top:-6px;right:-6px}.proj-logo-remove:hover{background:#ef4444}.proj-logo-placeholder{border:1px dashed var(--line);width:120px;height:72px;color:var(--text-4);cursor:pointer;background:#0f172a03;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px;transition:border-color .15s,background .15s;display:flex}.proj-logo-placeholder:hover{border-color:var(--line-strong);color:var(--text-2);background:#0f172a07}.pf-page{flex-direction:column;height:100%;display:flex;overflow-y:auto}.pf-hero{background:#fff;border-bottom:2px solid #ffc10738;flex-shrink:0;padding:20px 32px 18px}.pf-back{color:var(--text-4);margin-bottom:14px;font-size:11px;text-decoration:none;transition:color .15s;display:inline-block}.pf-back:hover{color:var(--text-2)}.pf-hero-inner{align-items:center;gap:16px;display:flex}.pf-hero-icon{color:#8a5a00;background:#ffc1071a;border:1px solid #ffc10733;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.pf-hero-logo{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);background:#0f172a06;border-radius:10px;flex-shrink:0;width:52px;height:52px;padding:4px}.pf-hero-label{color:#8a5a00;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px;font-weight:700}.pf-hero-title{color:var(--text-1);margin-bottom:8px;font-size:20px;font-weight:900;line-height:1.2}.pf-hero-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pf-hero-chip{font-size:10px;font-family:var(--mono);color:var(--text-3);border:1px solid var(--line);background:#0f172a08;border-radius:4px;padding:2px 7px}.pf-hero-statut{border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.pf-body{flex:1;padding:28px 32px 40px}.pf-cols{grid-template-columns:1fr 280px;align-items:start;gap:20px;display:grid}.pf-col-main{flex-direction:column;gap:16px;display:flex}.pf-col-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:16px}.pf-section{background:#fff;border:1px solid #edf0f4;border-radius:12px;overflow:visible}.pf-section-head{background:#0f172a03;border-bottom:1px solid #edf0f4;border-radius:12px 12px 0 0;align-items:center;gap:8px;padding:10px 16px;display:flex;overflow:hidden}.pf-section-icon{color:#8a5a00;display:flex}.pf-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-size:11px;font-weight:800}.pf-section-body{flex-direction:column;gap:14px;padding:16px;display:flex}.pf-field{flex-direction:column;gap:5px;display:flex}.pf-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);font-size:10px;font-weight:700}.pf-req{color:#b91c1c;margin-left:3px}.pf-hint{color:#8a5a00;font-size:10px;font-family:var(--mono);margin-top:2px}.pf-row-2{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.pf-row-2--stretch{align-items:stretch}.pf-row-2--stretch .pf-field{flex-direction:column;display:flex}.sc-input-stretch{flex:1}.pf-taux-row{align-items:center;gap:6px;display:flex}.pf-taux-row .dark-input{flex:1;min-width:0}.pf-taux-sync{color:#8a5a00;height:36px;font-size:10px;font-family:var(--mono);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:#fbbf2414;border:1px solid #fbbf244d;border-radius:8px;flex-shrink:0;padding:0 10px;font-weight:700;transition:background .15s,border-color .15s}.pf-taux-sync:hover{background:#fbbf241a;border-color:#fbbf248c}.pf-docs-zone{flex-direction:column;gap:6px;display:flex}.pf-docs-empty{color:var(--text-5);text-align:center;padding:8px 0;font-size:11px}.pf-doc-item{background:#0f172a05;border:1px solid #edf0f4;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.pf-doc-item--pending{background:#fbbf240a;border-color:#fbbf2433}.pf-doc-icon{color:var(--text-4);flex-shrink:0}.pf-doc-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.pf-doc-size{color:var(--text-4);flex-shrink:0;font-size:10px}.pf-doc-dl{color:#1550b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 3px;font-size:12px}.pf-doc-dl:hover{color:#006fb8}.pf-doc-rm{color:#b91c1c;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.pf-doc-rm:hover{color:#b91c1c;background:#ef44441f}.pf-doc-rm:disabled{opacity:.4;cursor:not-allowed}.pf-docs-add-btn{color:#8a5a00;cursor:pointer;background:#ffc10714;border:1px dashed #ffc10759;border-radius:6px;align-items:center;gap:5px;width:fit-content;margin-top:4px;padding:6px 12px;font-size:11px;transition:background .15s,border-color .15s;display:flex}.pf-docs-add-btn:hover{color:#8a5a00;background:#ffc1071a;border-color:#ffc10799}.pf-docs-add-btn:disabled{opacity:.5;cursor:not-allowed}.pf-logo-zone{border:1px dashed var(--line);cursor:pointer;background:#0f172a02;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:110px;padding:12px;transition:border-color .15s,background .15s;display:flex}.pf-logo-zone:hover{background:#ffc10708;border-color:#ffc10759}.pf-logo-img{-o-object-fit:contain;object-fit:contain;border-radius:6px;max-width:200px;max-height:72px}.pf-logo-rm{color:#b91c1c;cursor:pointer;background:#ef444414;border:1px solid #ef444433;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;transition:background .15s;display:inline-flex}.pf-logo-rm:hover{color:#b91c1c;background:#ef44441a}.pf-logo-empty{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex}.pf-logo-empty-icon{color:var(--text-5)}.pf-logo-empty-title{color:var(--text-4);font-size:12px;font-weight:600}.pf-logo-empty-sub{color:var(--text-5);text-align:center;font-size:10px}.pf-summary{flex-direction:column;gap:8px;display:flex}.pf-summary-row{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.pf-summary-key{color:var(--text-4);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:10px}.pf-summary-val{color:var(--text-2);font-family:var(--mono);text-align:right;font-size:11px}.pf-summary-fcfa{color:#8a5a00}.pf-progress-wrap{flex-direction:column;gap:8px;display:flex}.pf-progress-header{justify-content:space-between;align-items:center;display:flex}.pf-progress-label{color:var(--text-4);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.pf-progress-pct{color:var(--text-2);font-size:13px;font-weight:700;font-family:var(--mono)}progress.pf-progress-track{appearance:none;background:#0f172a08;border:none;border-radius:100px;width:100%;height:7px}progress.pf-progress-track::-webkit-progress-bar{background:#0f172a08;border-radius:100px}progress.pf-progress-track.pf-progress-low::-webkit-progress-value{background:#ef5350;border-radius:100px}progress.pf-progress-track.pf-progress-mid::-webkit-progress-value{background:#ffb300;border-radius:100px}progress.pf-progress-track.pf-progress-high::-webkit-progress-value{background:#29b6f6;border-radius:100px}progress.pf-progress-track.pf-progress-full::-webkit-progress-value{background:#4ade80;border-radius:100px}progress.pf-progress-track.pf-progress-low::-moz-progress-bar{background:#ef5350;border-radius:100px}progress.pf-progress-track.pf-progress-mid::-moz-progress-bar{background:#ffb300;border-radius:100px}progress.pf-progress-track.pf-progress-high::-moz-progress-bar{background:#29b6f6;border-radius:100px}progress.pf-progress-track.pf-progress-full::-moz-progress-bar{background:#4ade80;border-radius:100px}.pf-progress-list{flex-direction:column;gap:4px;margin-top:2px;display:flex}.pf-progress-item.done{color:var(--text-2)}.pf-progress-item.done .pf-progress-dot{background:#4ade80}.pf-progress-item-label{flex:1}.wizard-steps{justify-content:center;align-items:flex-start;gap:0;margin:20px 0 8px;display:flex}.wizard-step-group{align-items:center;display:flex}.wizard-step-circle{border:2px solid var(--line);width:36px;height:36px;color:var(--text-4);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .2s;display:flex}.wizard-step-circle.active{color:#fff;background:#1e6dd4;border-color:#1e6dd4}.wizard-step-circle.done{color:#15803d;background:#4ade801a;border-color:#4ade80}.wizard-step-label{color:var(--text-5);text-align:center;white-space:pre-line;margin-top:6px;font-size:10px;font-weight:600;line-height:1.3}.wizard-step-label.active{color:#0165b6}.wizard-step-group{flex-direction:column;align-items:center;gap:0;min-width:80px;display:flex}.wizard-step-line{background:#0f172a0b;flex:1;min-width:40px;height:2px;margin-bottom:22px}.wizard-step-line.done{background:#4ade80}.pf-edit-tabs{background:#0f172a05;border:1px solid #edf0f4;border-radius:10px;gap:4px;width:fit-content;margin-bottom:6px;padding:4px;display:flex}.pf-edit-tab{color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:7px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.pf-edit-tab:hover{color:var(--text-2);background:#0f172a06}.pf-edit-tab.active{color:#0165b6;background:#1e6dd41a;border:1px solid #1e6dd459}.pf-edit-tab-badge{color:#0165b6;background:#1e6dd41a;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.pf-step-hidden{display:none!important}.pf-team-section{margin:0 0 24px}.pf-team-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.pf-team-title{color:var(--text-1);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.pf-team-subtitle{color:var(--text-4);margin-top:4px;font-size:12px}.pf-team-count{color:#0165b6;background:#1e6dd41a;border:1px solid #1e6dd459;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.pf-team-add-btn{color:#0165b6;cursor:pointer;white-space:nowrap;background:#1e6dd41a;border:1px solid #1e6dd466;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex}.pf-team-add-btn:hover{background:#1e6dd41a;box-shadow:0 0 0 1px #1e6dd480}.pf-team-add-panel{border:1px solid var(--line);background:#0f172a03;border-radius:12px;margin-bottom:20px;padding:20px}.pf-team-add-cols{grid-template-columns:1fr auto 1.3fr;gap:0;min-height:320px;display:grid}.pf-team-add-divider{background:#0f172a09;width:1px;margin:0 20px}.pf-team-add-col{flex-direction:column;gap:10px;display:flex}.pf-team-add-col-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-4);align-items:center;gap:6px;padding-bottom:2px;font-size:10px;font-weight:700;display:flex}.pf-user-search-wrap{position:relative}.pf-user-search-icon{color:var(--text-5);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.pf-user-search-input{background:var(--surface);border:1px solid var(--line-strong);width:100%;color:var(--text-1);border-radius:8px;outline:none;padding:8px 12px 8px 32px;font-size:12px;transition:border-color .15s}.pf-user-search-input::placeholder{color:var(--text-5)}.pf-user-search-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px #1e6dd42e}.pf-user-list{flex-direction:column;flex:1;gap:4px;max-height:230px;padding-right:4px;display:flex;overflow-y:auto}.pf-user-list::-webkit-scrollbar{width:4px}.pf-user-list::-webkit-scrollbar-track{background:0 0}.pf-user-list::-webkit-scrollbar-thumb{background:#0f172a0e;border-radius:4px}.pf-user-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;transition:background .12s,border-color .12s;display:flex}.pf-user-item:hover{background:#0f172a06}.pf-user-item.selected{background:#1e6dd41a;border-color:#1e6dd459}.pf-user-item-avatar{color:#fff;background:linear-gradient(135deg,#1e3a8a,#1e6dd4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.pf-user-item-avatar .ua-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.pf-user-item-info{flex:1;min-width:0}.pf-user-item-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.pf-user-item-email{color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.pf-user-item-check{color:#0165b6;background:#1e6dd41a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.pf-role-grid{flex-wrap:wrap;gap:6px;display:flex}.pf-role-btn{cursor:pointer;opacity:.45;border:1px solid;border-radius:20px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:600;transition:opacity .15s,transform .1s,box-shadow .1s;display:inline-flex}.pf-role-btn:hover{opacity:.8}.pf-role-btn.selected{opacity:1;transform:scale(1.04);box-shadow:0 0 0 2px}.pf-team-add-preview{border:1px solid var(--line);background:#0f172a05;border-radius:8px;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.pf-team-add-actions{border-top:1px solid #edf0f4;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}.pf-team-confirm-btn{color:#15803d;cursor:pointer;background:#4ade801a;border:1px solid #4ade8059;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:12px;font-weight:700;transition:background .15s,box-shadow .15s;display:inline-flex}.pf-team-confirm-btn:hover:not(:disabled){background:#4ade801a;box-shadow:0 0 0 1px #4ade8066}.pf-team-confirm-btn:disabled{opacity:.3;cursor:not-allowed}.pf-team-cancel-btn{border:1px solid var(--line);color:var(--text-4);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;transition:background .15s;display:inline-flex}.pf-team-cancel-btn:hover{color:var(--text-3);background:#0f172a06}.pf-team-empty-state{text-align:center;border:2px dashed #edf0f4;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:52px 24px;display:flex}.pf-team-empty-icon{color:var(--text-5)}.pf-team-empty-title{color:var(--text-4);font-size:14px;font-weight:700}.pf-team-empty-sub{color:var(--text-5);max-width:300px;font-size:12px;line-height:1.5}.pf-team-cards{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:4px;display:grid}.pf-team-card{text-align:center;background:#0f172a03;border:1px solid #edf0f4;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:18px 14px 14px;transition:border-color .15s,background .15s;display:flex;position:relative}.pf-team-card:hover{border-color:var(--line);background:#0f172a06}.pf-team-card-rm{color:#b91c1c;cursor:pointer;opacity:0;background:0 0;border:1px solid #b91c1c38;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.pf-team-card:hover .pf-team-card-rm{opacity:1}.pf-team-card-rm:hover{color:#a51212;background:#ef9a9a1f;border-color:#b91c1c38}.pf-team-card-avatar{color:#fff;background:linear-gradient(135deg,#1e3a8a,#1e6dd4);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:2px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.pf-team-card-avatar .ua-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.pf-team-card-name{color:var(--text-1);font-size:13px;font-weight:700;line-height:1.3}.pf-team-card-email{color:var(--text-5);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.pf-team-card-role{margin-top:2px}.pf-team-avatar{color:#fff;background:linear-gradient(135deg,#1e3a8a,#1e6dd4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.pf-team-avatar .ua-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.pf-team-member-name{color:var(--text-1);font-size:13px;font-weight:600}.pf-team-member-email{color:var(--text-4);margin-top:1px;font-size:11px}.pf-team-actif{color:#15803d;margin-top:2px;font-size:11px;font-weight:600}.pf-team-inactif{color:#a51212;margin-top:2px;font-size:11px}.pf-error{margin:0 0 16px}.pf-actions{align-items:center;gap:12px;padding-top:8px;display:flex}.pf-submit{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:13px;font-weight:700;transition:opacity .15s;display:inline-flex}.pf-submit:disabled{opacity:.45;cursor:not-allowed}.pf-submit:not(:disabled):hover{opacity:.88}.pf-cancel{color:var(--text-4);font-size:12px;text-decoration:none;transition:color .15s}.pf-cancel:hover{color:var(--text-2)}.sc-code-couleur-row{align-items:center;gap:10px;display:flex}.sc-code-couleur-main{width:180px}.sc-code-couleur-badge{margin-bottom:4px}.sc-rattach-row{align-items:flex-end;gap:12px;display:flex}.sc-rattach-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.sc-couleur-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.sc-couleur-label{color:var(--text-4);letter-spacing:.04em;font-size:11px;font-weight:600}.sc-couleur-input{cursor:pointer;background:0 0;border:none;border-radius:6px;width:36px;height:36px;padding:2px}.sc-input-md{max-width:380px}.sc-input-sm{max-width:220px}.sc-textarea-fixed{resize:none}.pf-statut-non-demarre{background:var(--surface-3);color:var(--text-3);border-color:#64748b4d!important}.pf-statut-planifie{color:#1550b8;background:#3b82f61a;border-color:#3b82f64d!important}.pf-statut-initie{color:#0e7490;background:#06b6d41a;border-color:#06b6d44d!important}.pf-statut-en-cours{color:#047857;background:#10b9811a;border-color:#10b9814d!important}.pf-statut-suspendu{color:#8a5a00;background:#f59e0b1a;border-color:#f59e0b4d!important}.pf-statut-termine{color:#15803d;background:#22c55e1a;border-color:#22c55e4d!important}.pf-statut-txt-non-demarre{color:var(--text-5)}.pf-statut-txt-planifie{color:#1550b8}.pf-statut-txt-initie{color:#0e7490}.pf-statut-txt-en-cours{color:#047857}.pf-statut-txt-suspendu{color:#8a5a00}.pf-statut-txt-termine{color:#15803d}.comp-det-header-code{font-family:var(--mono);color:#8a5a00;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.comp-det-header-nom{color:var(--text-1);font-size:18px;font-weight:800;line-height:1.35}.comp-det-header-desc{color:var(--text-4);font-size:11px;line-height:1.5}.comp-det-header-kpis{flex-wrap:wrap;flex:1;align-items:center;display:flex}.comp-det-kpi{flex-direction:column;gap:2px;padding:6px 18px;display:flex}.comp-det-kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-5);font-size:10px;font-weight:700}.comp-det-kpi-value{color:var(--text-1);font-size:13px;font-weight:700;font-family:var(--mono)}.comp-det-kpi-sub{color:var(--text-5);font-size:10px;font-family:var(--mono)}.comp-det-kpi-sep{background:#0f172a09;flex-shrink:0;width:1px;height:32px}.comp-det-header-actions{align-items:center;display:flex}.budget-meter{appearance:none;background:#0f172a09;border:none;border-radius:2px;width:100%;height:3px;margin-top:5px;display:block;overflow:hidden}.budget-meter::-webkit-meter-bar{background:#0f172a09;border:none;border-radius:2px}.budget-meter-ok::-webkit-meter-optimum-value{background:#38bdf8;border-radius:2px}.budget-meter-ok::-webkit-meter-suboptimum-value{background:#38bdf8;border-radius:2px}.budget-meter-ok::-webkit-meter-even-less-good-value{background:#38bdf8;border-radius:2px}.budget-meter-warn::-webkit-meter-optimum-value{background:#fb923c;border-radius:2px}.budget-meter-warn::-webkit-meter-suboptimum-value{background:#fb923c;border-radius:2px}.budget-meter-warn::-webkit-meter-even-less-good-value{background:#fb923c;border-radius:2px}.budget-meter-over::-webkit-meter-optimum-value{background:#ef4444;border-radius:2px}.budget-meter-over::-webkit-meter-suboptimum-value{background:#ef4444;border-radius:2px}.budget-meter-over::-webkit-meter-even-less-good-value{background:#ef4444;border-radius:2px}.budget-meter-ok::-moz-meter-bar{background:#38bdf8}.budget-meter-warn::-moz-meter-bar{background:#fb923c}.budget-meter-over::-moz-meter-bar{background:#ef4444}.budget-compare-pct{font-size:10px;font-family:var(--mono);margin-top:3px;display:block}.budget-over-alert{color:#b91c1c;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:11px}.comp-det-table-wrap{flex-direction:column;flex:1;gap:10px;padding:14px 24px 32px;display:flex}.comp-det-table-bar{justify-content:space-between;align-items:center;display:flex}.comp-det-table{border-collapse:collapse;width:100%;font-size:11px}.comp-det-th{text-align:center;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;vertical-align:bottom;padding:5px 7px;font-size:10px;font-weight:700}.comp-det-th-code{width:70px}.comp-det-th-act{text-align:left;min-width:200px;padding-left:10px}.comp-det-th-num{width:88px}.comp-det-th-q{width:50px;font-size:10px}.comp-det-th-qtot{color:#8a5a00;background:#ffc1071a}.comp-det-th-year-lbl{color:#0165b6;letter-spacing:.1em;background:#1550b81a;font-size:10px}.comp-det-td{vertical-align:middle;color:var(--text-2);border:1px solid #edf0f4;padding:4px 7px}.comp-det-td-code{font-family:var(--mono);color:#0165b6;white-space:nowrap;font-size:10px}.comp-det-td-act{white-space:nowrap;text-overflow:ellipsis;max-width:260px;overflow:hidden}.comp-det-td-resp{white-space:nowrap;text-overflow:ellipsis;max-width:130px;color:var(--text-4);font-size:10px;overflow:hidden}.comp-det-th-nature{min-width:170px}.comp-det-td-nature{min-width:170px;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.comp-det-td-num{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:10px}.comp-det-td-date{white-space:nowrap;color:var(--text-4);text-align:center;font-size:10px}.comp-det-td-qtot{background:#ffc1070d}.comp-det-row-sc{background:#1550b81a}.comp-det-row-sc .comp-det-td{border-color:#60a5fa1f}.comp-det-row-fdr{cursor:pointer;transition:background .12s}.comp-det-row-fdr:hover{background:#60a5fa14}.comp-det-row-fdr:hover .comp-det-td{border-color:#60a5fa1a}.comp-det-row-total{background:#f0f0f2}.comp-det-row-total .comp-det-td{border-color:var(--line)}.comp-det-row-tache{background:#f59e0b0a}.comp-det-row-tache .comp-det-td{border-color:#f59e0b14;font-size:11px}.comp-det-row-tache:hover{background:#f59e0b14}.comp-det-row-tache.tache-editing{background:#f59e0b1a}.tache-add-btn{color:#b45309;cursor:pointer;background:0 0;border:1px dashed #f59e0b4d;border-radius:5px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;transition:all .15s;display:inline-flex}.tache-add-btn:hover{color:#b45309;background:#f59e0b0f;border-color:#f59e0b99}.kpi-btn.active{color:#1550b8;background:#60a5fa1a}.comp-det-header-left-fdr{flex:none;max-width:480px}.comp-det-th-n{width:32px}.comp-det-th-actions{width:52px}.gantt-td-input{width:70px;padding:2px 4px!important;font-size:10px!important}.gantt-year-input{width:62px;padding:3px 6px!important;font-size:11px!important}.gantt-year-chip{color:#0057b8;background:#60a5fa1a;border:1px solid #60a5fa40;border-radius:20px;align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:11px;font-weight:600;display:flex}.gantt-year-chip-del{color:#b80000;cursor:pointer;background:#ef44441f;border:1px solid #ef444440;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:all .15s;display:flex}.gantt-year-chip-del:hover{color:var(--text-1);background:#ef44441a;border-color:#ef444480}.fdr-sa-bar-wrap{align-items:center;gap:6px;display:flex}.fdr-sa-bar-track{background:#0f172a0b;border-radius:2px;flex:1;min-width:40px;height:4px;overflow:hidden}.fdr-sa-bar-fill{background:linear-gradient(90deg,#3b82f6,#22d3ee);border-radius:2px;height:100%;transition:width .3s}.fdr-sa-bar-fill.green{background:linear-gradient(90deg,#22c55e,#4ade80)}.fdr-sa-bar-fill.orange{background:linear-gradient(90deg,#f97316,#fb923c)}.fdr-sa-bar-fill.red{background:linear-gradient(90deg,#ef4444,#f87171)}.portal-hero{flex-direction:column;gap:14px;padding:36px 32px 24px;display:flex}.portal-hero-tag{letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600;font-family:var(--mono);background:#ffc1071f;border:1px solid #ffc1074d;border-radius:100px;align-items:center;gap:8px;width:fit-content;padding:5px 16px;display:inline-flex}.portal-hero-title{letter-spacing:-1px;color:var(--text-1);font-size:clamp(22px,3vw,34px);font-weight:800;line-height:1.1}.portal-hero-desc{color:var(--text-4);max-width:500px;font-size:13px;font-weight:300;line-height:1.7}.portal-hero-stats{border:1px solid var(--line);background:#0f172a06;border-radius:100px;align-items:center;gap:24px;width:fit-content;padding:7px 20px;display:inline-flex}.portal-stat{align-items:center;gap:8px;font-size:13px;display:flex}.portal-stat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.portal-stat-dot-blue{box-shadow:none;background:#64b5f6}.portal-stat-dot-amber{box-shadow:none;background:#ffc107}.portal-stat-dot-green{box-shadow:none;background:#66bb6a}.portal-stat span{color:var(--text-1);font-weight:600}.portal-stat em{color:var(--text-4);margin-left:2px;font-size:11px;font-style:normal}.portal-instructions{color:var(--text-3);background:#ffc10712;border:1px solid #ffc1072e;border-radius:12px;align-items:flex-start;gap:12px;margin:0 32px 24px;padding:11px 20px;font-size:12px;line-height:1.6;display:flex}.portal-instructions-icon{flex-shrink:0;margin-top:1px;font-size:18px}.portal-instructions strong{color:var(--accent)}.portal-instructions-warn{background:#eab3080f;border-color:#eab3084d}.xls-th-indicateur{width:40%}.portal-card-arrow{border:1px solid var(--line);width:28px;height:28px;color:var(--text-5);cursor:pointer;background:#0f172a07;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.fdr-card:hover .portal-card-arrow{background:var(--card-accent,#1565c0);color:#fff;border-color:#0000;transform:scale(1.1)}.mosaic-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.mosaic-tile{background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;padding:14px;transition:all .2s;display:flex;position:relative;overflow:hidden}.mosaic-tile:before{content:"";background:var(--card-accent,#1565c0);opacity:0;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.mosaic-tile:hover{border-color:var(--line);background:#0f172a09}.mosaic-tile:hover:before{opacity:1}.mosaic-tile-c1{--card-accent:#1565c0}.mosaic-tile-c2{--card-accent:#f9a825}.mosaic-tile-c3{--card-accent:#2e7d32}.mosaic-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.mosaic-code{font-family:var(--mono);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.mosaic-code-c1{color:#0165b6;background:#1565c01a}.mosaic-code-c2{color:#8a5a00;background:#f9a8251a}.mosaic-code-c3{background:var(--ok-bg);color:#15803d}.mosaic-pct{font-family:var(--mono);flex-shrink:0;font-size:11px;font-weight:700}.mosaic-pct-green{color:#15803d}.mosaic-pct-orange{color:#c2410c}.mosaic-pct-red{color:#b91c1c}.mosaic-nom{color:var(--text-2);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.mosaic-bar-track{background:#0f172a09;border-radius:100px;height:4px;overflow:hidden}.mosaic-bar-fill{height:100%;width:var(--mosaic-w,0%);border-radius:100px;transition:width .4s}.mosaic-bar-green{background:#4ade80}.mosaic-bar-orange{background:#fb923c}.mosaic-bar-red{background:#f87171}.mosaic-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.mosaic-meta{font-family:var(--mono);color:var(--text-5);font-size:10px}.sc-expand-btn{border:1px solid var(--line);color:var(--text-3);font-size:11px;font-family:var(--mono);cursor:pointer;background:#0f172a07;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;transition:all .2s;display:flex}.sc-expand-btn:hover{background:var(--card-accent,#1565c0);color:#fff;border-color:#0000}.sc-mini-card{background:#0f172a05;border:1px solid #edf0f4;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.sc-mini-card-c1{border-left:2px solid #1565c080}.sc-mini-card-c2{border-left:2px solid #f9a82580}.sc-mini-card-c3{border-left:2px solid #2e7d3280}.sc-mini-code{font-family:var(--mono);color:var(--text-3);background:#0f172a09;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.sc-mini-code-c1{color:#0165b6;background:#1565c01a}.sc-mini-code-c2{color:#8a5a00;background:#f9a8251a}.sc-mini-code-c3{background:var(--ok-bg);color:#15803d}.sc-mini-nom{color:var(--text-2);font-size:12px;font-weight:600;line-height:1.4}.sc-mini-desc{color:var(--text-4);margin-top:2px;font-size:11px;line-height:1.4}.sc-mini-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.sc-mini-pct{flex-shrink:0}.unlock-overlay{background:var(--page-bg);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.unlock-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:center;width:360px;max-width:90vw;box-shadow:var(--shadow-md);padding:40px 36px 36px;position:relative}.unlock-icon-wrap{background:var(--brand-soft);border:1px solid var(--brand-border);width:56px;height:56px;color:var(--brand-strong);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.unlock-title{color:var(--text-1);margin-bottom:6px;font-size:18px;font-weight:700}.unlock-sub{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-bottom:24px;font-size:13px;overflow:hidden}.unlock-hint{color:var(--text-4);font-size:11px;font-family:var(--mono);letter-spacing:.3px;margin-top:-12px;margin-bottom:16px}.unlock-form{flex-direction:column;gap:10px;display:flex}.unlock-error{color:#b91c1c;text-align:left;margin:0;font-size:12px}.unlock-close{border:1px solid var(--line);width:28px;height:28px;color:var(--text-4);cursor:pointer;background:#0f172a07;border-radius:7px;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.unlock-close:hover{color:var(--text-1);background:#0f172a0e}.excel-table{border-collapse:collapse;width:100%;font-size:12px}.excel-th{text-align:left;font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);border:1px solid var(--line);white-space:nowrap;z-index:2;background:#1565c01a;padding:7px 10px;font-size:10px;font-weight:700;position:sticky;top:0}.excel-th-num{text-align:center;width:36px}.excel-th-r{text-align:right}.excel-th-titre{min-width:220px}.excel-th-avanc{min-width:130px}.excel-td{vertical-align:middle;color:var(--text-2);border:1px solid #edf0f4;padding:5px 10px}.excel-td-num{text-align:center;font-family:var(--mono);color:var(--text-5);width:36px;font-size:10px}.excel-td-r{text-align:right}.excel-td-titre{max-width:260px}.excel-td-avanc{min-width:130px}.excel-row:hover td{background:#0f172a06!important}.excel-row-alt td{background:#0f172a03}.excel-row-retard td{background:#b71c1c14}.excel-row-ok td{background:#2e7d320f}.excel-foot td{background:#1565c01a;border:1px solid #1e6dd438;border-top-width:2px;padding:8px 10px}.excel-badge{font-family:var(--mono);letter-spacing:1px;border:1px solid;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.excel-badge-blue{color:#0165b6;background:#1565c01a;border-color:#1e6dd438}.excel-badge-amber{color:#8a5a00;background:#f9a8251a;border-color:#a1620740}.excel-empty{color:var(--text-5);font-size:12px}.excel-filter-input{background:var(--surface);border:1px solid var(--line-strong);color:var(--text-1);font-family:var(--font);border-radius:8px;outline:none;width:160px;padding:5px 10px;font-size:12px;transition:border-color .2s}.excel-filter-input::placeholder{color:var(--text-5)}.excel-filter-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.excel-filter-select{background:var(--surface);border:1px solid var(--line-strong);color:var(--text-1);font-family:var(--font);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:8px;outline:none;max-width:180px;padding:5px 28px 5px 10px;font-size:12px;transition:border-color .2s}.excel-filter-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.excel-filter-select option{background:#fff}.stat-icon-orange{color:#b45309;background:#fdf4ec;border:1px solid #f0d2b4}.dot-green{background:#70ad47}.dot-blue{background:#2e75b6}.dot-orange{background:#ed7d31}.dot-grey{background:#475569}.kpi-accent-green{background:#4ade80}.kpi-accent-orange{background:#fb923c}.kpi-accent-red{background:#f87171}.kpi-accent-blue{background:#60a5fa}.kpi-accent-purple{background:#a78bfa}.dash-btn{color:#0057b8;cursor:pointer;background:#60a5fa1f;border:1px solid #60a5fa40;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.dash-btn:hover:not(:disabled){color:var(--text-1);background:#60a5fa1a}.dash-btn:disabled{opacity:.5;cursor:not-allowed}.ref-tab{color:var(--text-5);cursor:pointer;background:0 0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:12px;font-weight:600;transition:all .2s}.ref-tab:hover{color:var(--text-5)}.ref-tab-active{color:#1550b8;border-bottom-color:#60a5fa}.ref-excel-wrap{background:#0f172a02;border:1px solid #edf0f4;border-radius:14px;overflow-x:auto}.ref-excel-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.ref-th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-1);white-space:nowrap;background:#f2f3f6;border-bottom:2px solid #60a5fa4d;padding:12px 14px;font-size:10px;font-weight:700}.ref-th-unit{color:#1550b8;text-transform:none;font-size:10px;font-weight:400;display:block}.ref-th-num{text-align:right}.ref-th-bar{min-width:160px}.ref-th-niv{text-align:center}.ref-th-fixed{z-index:2;background:#f1f2f4;min-width:220px;position:sticky;left:0}.ref-tr-even{background:#0f172a02}.ref-tr-odd{background:0 0}.ref-tr:hover td{background:#60a5fa0d!important}.ref-tr-total{border-top:2px solid #60a5fa4d;background:#f2f3f680!important}.ref-td{vertical-align:middle;border-bottom:1px solid #edf0f4;padding:11px 14px}.ref-td-num{text-align:right}.ref-td-bar{padding:8px 14px}.ref-td-niv{text-align:center}.ref-td-fixed{z-index:1;background:inherit;position:sticky;left:0}.ref-tr-even .ref-td-fixed{background:#f1f2f4}.ref-tr-odd .ref-td-fixed{background:#f1f1f3}.ref-tr-total .ref-td-fixed{background:#f1f2f6}.ref-code{color:#1550b8;flex-shrink:0;font-family:monospace;font-size:11px;font-weight:700}.ref-nom{color:#415977;font-weight:500}.ref-amount{color:#3c577c;font-variant-numeric:tabular-nums;font-weight:600}.ref-amount-total{color:var(--text-1);font-size:13px;font-weight:800}.ref-pct-big{font-size:16px;font-weight:800}.ref-progress-cell{align-items:center;gap:10px;display:flex}.ref-progress-track{background:#0f172a09;border-radius:9999px;flex:1;height:8px;overflow:hidden}.ref-progress-fill{height:100%;width:var(--w,0%);border-radius:9999px;transition:width .5s}.ref-progress-label{text-align:right;flex-shrink:0;width:34px;font-size:11px;font-weight:700}.ref-bar-bon{color:#15803d;background:#4ade80}.ref-bar-moyen{color:#c2410c;background:#fb923c}.ref-bar-critique{color:#b91c1c;background:#f87171}.ref-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:9999px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.ref-badge-bon{color:#15803d;background:#4ade801a;border:1px solid #4ade804d}.ref-badge-moyen{color:#c2410c;background:#fb923c1a;border:1px solid #fb923c4d}.ref-badge-critique{color:#b91c1c;background:#f871711a;border:1px solid #f871714d}.xls-page{box-sizing:border-box;flex-direction:column;gap:16px;height:100%;padding:20px 24px;display:flex}.xls-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.xls-title{color:var(--text-1);font-size:20px;font-weight:800}.xls-subtitle{color:var(--text-5);margin-top:2px;font-size:12px}.xls-export-btn{color:#15803d;cursor:pointer;background:#4ade801f;border:1px solid #4ade8040;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.xls-export-btn:hover:not(:disabled){background:#4ade801a}.xls-export-btn:disabled{opacity:.5;cursor:not-allowed}.xls-formula-bar{border:1px solid var(--line);background:#0f172a05;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:0;padding:5px 10px;display:flex}.xls-cell-ref{color:#1550b8;text-align:center;background:#60a5fa1a;border:1px solid #60a5fa33;border-radius:4px;min-width:70px;padding:2px 8px;font-family:monospace;font-size:11px;font-weight:700}.xls-formula-sep{background:#0f172a11;flex-shrink:0;width:1px;height:16px;margin:0 10px}.xls-formula-text{color:var(--text-5);font-size:11px;font-style:italic}.xls-sheet-wrap{border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.xls-scroll{flex:1;overflow:auto}.xls-empty{text-align:center;color:#475569;background:#0f172a02;padding:60px 20px;font-size:13px}.xls-table{border-collapse:collapse;width:100%;min-width:1060px;font-size:12px}.xls-letter-cell{text-align:center;color:#475569;letter-spacing:.05em;z-index:3;background:#f1f1f3;border:1px solid #edf0f4;padding:3px 6px;font-size:10px;font-weight:600;position:sticky;top:0}.xls-th{text-align:left;border:1px solid var(--line);z-index:2;white-space:nowrap;background:#f2f3f6;padding:9px 12px;position:sticky;top:24px}.xls-sans-lettres .xls-th{top:0}.xls-th-label{color:#3c577c;font-size:11px;font-weight:700}.xls-th-sub{color:#1550b8;margin-top:1px;font-size:10px;font-weight:400}.xls-row-even td{background:#0f172a03}.xls-row-odd td{background:#0f172a00}.xls-row:hover td{background:#60a5fa0f!important}.xls-td{vertical-align:middle;color:#415977;border:1px solid #edf0f4;padding:9px 12px}.xls-td.clr-green{color:#15803d!important}.xls-td.clr-orange{color:#c2410c!important}.xls-td.clr-red{color:#b91c1c!important}.xls-td.clr-blue{color:#1550b8!important}.xls-td-right{text-align:right;font-variant-numeric:tabular-nums}.xls-td-center{text-align:center}.xls-td-bold{font-size:14px;font-weight:800}.xls-td-rownum{color:#475569;text-align:center;font-size:10px;font-weight:600;border-right:2px solid var(--line)!important;background:#f1f1f3!important}.xls-td-prev{color:#0057b8}.xls-td-usd{color:#0020b8}.xls-row-total td{background:#f2f3f7!important;border-top:2px solid #60a5fa66!important}.xls-td-total-label{color:var(--text-1);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.xls-td-total{color:var(--text-1);font-size:13px;font-weight:800}.xls-row-meta td{border-top:1px dashed var(--line)!important;background:#f1f1f366!important}.xls-td-meta{color:var(--text-5);font-size:11px;font-style:italic}.budget-kpi-strip{background:#f0f1f3;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;flex-wrap:wrap;align-items:center;gap:0;padding:0 32px;display:flex}.budget-kpi-item{flex-direction:column;gap:2px;padding:12px 20px;display:flex}.budget-kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-5);font-size:10px;font-weight:700}.budget-kpi-value{color:var(--text-1);font-size:15px;font-weight:800;font-family:var(--mono)}.budget-kpi-sep{background:#0f172a09;width:1px;height:36px}.budget-row-comp{background:#1550b81a!important}.budget-row-comp td{border-bottom:1px solid #1e6dd438!important}.budget-row-comp:hover td{background:#1550b81a!important}.budget-row-sc{background:#ffa00012!important}.budget-row-sc td{border-bottom:1px solid #a1620740!important}.budget-row-sc:hover td{background:#ffa0001f!important}.budget-row-total{background:#f0f1f3!important}.budget-row-total td{border-top:2px solid #1e6dd438!important;padding-top:14px!important;padding-bottom:14px!important}.bth-code{min-width:80px}.bth-num{min-width:36px}.bth-titre{min-width:300px}.bth-act{min-width:130px}.bth-fcfa{min-width:160px}.bth-usd{min-width:120px}.bth-dec{min-width:140px}.bth-tx{min-width:80px}.bth-prog{min-width:130px}.bth-niv{min-width:110px}.prog-bar-fill{width:var(--prog-w,0%)}.niveau-badge{white-space:nowrap;font-size:11px;font-weight:600}.niveau-ok{color:#15803d}.niveau-encours{color:#1550b8}.niveau-init{color:#c2410c}.niveau-retard{color:#b91c1c}.niveau-nd{color:#475569}.xls-code{color:#1550b8;flex-shrink:0;font-family:monospace;font-size:11px;font-weight:700}.xls-nom{color:#3c577c;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.xls-sub-pct{margin-top:2px;font-size:10px;font-weight:600}.xls-sub-bon{color:#15803d}.xls-sub-moyen{color:#c2410c}.xls-sub-crit{color:#b91c1c}.xls-cell-bon{color:#15803d!important;background:#4ade801a!important}.xls-cell-moyen{color:#c2410c!important;background:#fb923c1a!important}.xls-cell-critique{color:#b91c1c!important;background:#f871711a!important}.xls-bar-wrap{align-items:center;gap:8px;display:flex}.xls-bar-track{background:#0f172a09;border:1px solid #edf0f4;border-radius:3px;flex:1;height:10px;overflow:hidden}.xls-bar-fill{height:100%;width:var(--w,0%);border-radius:3px;transition:width .5s}.xls-bar-label{text-align:right;width:32px;color:var(--text-5);flex-shrink:0;font-size:10px;font-weight:700}.xls-bar-bon{background:linear-gradient(90deg,#16a34a,#4ade80)}.xls-bar-moyen{background:linear-gradient(90deg,#c2410c,#fb923c)}.xls-bar-crit{background:linear-gradient(90deg,#991b1b,#f87171)}.xls-badge{letter-spacing:.04em;border-radius:4px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-block}.xls-badge-bon{color:#15803d;background:#4ade801a;border:1px solid #4ade8059}.xls-badge-moyen{color:#c2410c;background:#fb923c1a;border:1px solid #fb923c59}.xls-badge-crit{color:#b91c1c;background:#f871711a;border:1px solid #f8717159}.xls-col-num{width:44px}.xls-col-comp{min-width:220px}.xls-col-amt{width:140px}.xls-col-pct{width:100px}.xls-col-bar{min-width:160px}.xls-col-niv{width:90px}.kpi-page{flex-direction:column;height:100%;display:flex;overflow-y:auto}.kpi-header{z-index:20;background:#fff;border-bottom:2px solid #ffc1074d;flex-direction:column;gap:6px;padding:16px 28px 14px;display:flex;position:sticky;top:0}.kpi-header-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-1);font-size:12px;font-weight:800;font-family:var(--mono)}.kpi-header-sub{color:var(--text-4);font-size:10px;font-style:italic}.kpi-header-mode{color:#8a5a00;background:#ffc10712;border:1px solid #ffc10726;border-radius:4px;align-items:center;padding:4px 10px;font-size:10px;display:flex}.kpi-header-legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.kpi-header-stats{color:var(--text-4);font-size:10px;font-family:var(--mono);align-items:center;gap:12px;display:flex}.kpi-legend-item{color:var(--text-3);align-items:center;gap:5px;font-size:10px;display:flex}.kpi-legend-sep{background:#0f172a0b;width:1px;height:16px}.kpi-dot-cell{border-radius:50%;width:8px;height:8px;display:inline-block}.kpi-dot-cell.yellow{background:#ffc107}.kpi-dot-cell.blue{background:#42a5f5}.kpi-legend-sq{border-radius:2px;width:12px;height:8px;display:inline-block}.kpi-legend-sq.comp{background:#f1f2f6;border:1px solid #1e6dd438}.kpi-legend-sq.sc{background:#006064b3;border:1px solid #4dd0e166}.kpi-legend-sq.fdr{background:#f2f2f4;border:1px solid #ffc1074d}.kpi-table-wrap{flex:1;padding:0 0 40px;overflow-x:auto}.kpi-table{border-collapse:collapse;width:100%;font-size:11px}.kpi-th{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);white-space:nowrap;z-index:10;vertical-align:bottom;border:1px solid #edf0f4;padding:6px 8px;font-size:10px;font-weight:700;line-height:1.3;position:sticky;top:0}.kpi-th-code{text-align:left;width:100px;padding-left:14px}.kpi-th-label{text-align:left;min-width:260px}.kpi-th-type{width:110px}.kpi-th-def{text-align:left;min-width:200px}.kpi-th-val{width:110px}.kpi-th-status{width:120px}.kpi-th-source{text-align:left;width:130px}.kpi-td{vertical-align:middle;color:var(--text-2);border:1px solid #edf0f4;padding:4px 8px}.kpi-td-code{font-family:var(--mono);white-space:nowrap;font-size:10px}.kpi-td-label{max-width:300px}.kpi-td-type{text-align:center}.kpi-td-def{color:var(--text-4);max-width:240px;font-size:10px}.kpi-td-val{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:11px}.kpi-td-status{text-align:left}.kpi-td-source{color:var(--text-4);font-size:10px;font-style:italic}.kpi-cell-manuel{cursor:pointer;background:#ffc1071f}.kpi-cell-manuel:hover{background:#ffc1071a}.kpi-cell-calcule{background:#42a5f51a}.kpi-badge-manuel{color:#8a5a00;white-space:nowrap;background:#ffc1071a;border:1px solid #ffc1074d;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.kpi-badge-calcule{color:#1550b8;white-space:nowrap;background:#42a5f51a;border:1px solid #42a5f54d;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.kpi-badge-consolide{color:var(--text-1);border:1px solid var(--line-strong);white-space:nowrap;letter-spacing:.06em;background:#0f172a0b;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.kpi-badge-agreges{color:#0f766e;white-space:nowrap;background:#0096881a;border:1px solid #0096884d;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.kpi-row-comp{cursor:pointer;background:#f0f1f4;border-bottom:2px solid #1e6dd438}.kpi-row-comp .kpi-td{color:var(--text-1);border-color:#1e6dd438}.kpi-row-comp:hover{background:#f1f2f6}.kpi-row-sc{cursor:pointer;background:#f0f4f5;border-bottom:1px solid #4dd0e126}.kpi-row-sc .kpi-td{color:var(--text-1);border-color:#4dd0e11a}.kpi-row-sc:hover{background:#00646ea6}.kpi-td-clickable{cursor:pointer}.kpi-row-fdr{background:#f1f2f4;border-bottom:1px solid #ffc1071a}.kpi-row-fdr .kpi-td{color:var(--text-2);border-color:#ffc10712}.kpi-row-fdr:hover{background:#f2f2f5}.kpi-row-item{background:0 0;transition:background .1s}.kpi-row-item:hover{background:#0f172a03}.kpi-row-item .kpi-td{border-color:#edf0f4}.kpi-row-addform{background:#ffc10712}.kpi-row-addform .kpi-td{border-color:#ffc10726}.kpi-code{font-family:var(--mono);color:#0165b6;font-size:10px}.kpi-code-pdo{font-family:var(--mono);color:#8a5a00;font-size:10px;font-weight:700}.kpi-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.kpi-dot-ok{box-shadow:none;background:#4caf50}.kpi-dot-warn{box-shadow:none;background:#ff9800}.kpi-dot-crit{box-shadow:none;background:#f44336}.kpi-dot-none{background:#455a64}.kpi-val-text{text-align:right;display:block}.kpi-val-editable{cursor:pointer;border-bottom:1px dashed #ffc10780}.kpi-val-editable:hover{color:#8a5a00}.kpi-edit-input{color:#8a5a00;font-family:var(--mono);text-align:right;background:#ffc1071a;border:1px solid #ffc10780;border-radius:4px;outline:none;width:80px;padding:2px 6px;font-size:11px}.kpi-edit-save{color:#367d39;cursor:pointer;background:#4caf501a;border:1px solid #4caf5080;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.kpi-edit-save:hover{background:#4caf5080}.kpi-edit-cancel{color:#b91c1c;cursor:pointer;background:#f443361a;border:1px solid #f4433666;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.kpi-edit-cancel:hover{background:#f443361a}.kpi-form-input{background:var(--surface);border:1px solid var(--line-strong);color:var(--text-1);border-radius:4px;outline:none;min-width:0;padding:3px 6px;font-size:10px}.kpi-form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.kpi-add-btn{color:#8a5a00;cursor:pointer;white-space:nowrap;background:#ffc1071a;border:1px solid #ffc1074d;border-radius:4px;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:700;transition:background .1s;display:inline-flex}.kpi-add-btn:hover{background:#ffc1071a}.guide-page{flex-direction:column;height:100%;display:flex;overflow-y:auto}.guide-hero{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 var(--brand);padding:24px 36px 22px}.guide-hero-inner{align-items:center;gap:18px;margin-top:14px;display:flex}.guide-hero-icon{color:#8a5a00;background:#ffc10714;border:1px solid #ffc10733;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.guide-hero-body{flex-direction:column;gap:6px;display:flex}.guide-hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#8a5a00;font-size:10px;font-weight:700}.guide-hero-title{color:var(--text-1);font-size:20px;font-weight:900;line-height:1.2}.guide-hero-meta{color:var(--text-4);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.guide-hero-sub{color:var(--text-4);font-style:italic}.guide-hero-logo{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);background:#0f172a07;border-radius:8px;width:42px;height:42px}.guide-meta-pill{color:#8a5a00;font-family:var(--mono);background:#ffc1071a;border:1px solid #ffc1074d;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700}.guide-meta-sep{color:var(--text-5)}.guide-content{flex-direction:column;gap:32px;padding:24px 32px 48px;display:flex}.guide-section{flex-direction:column;gap:14px;display:flex}.guide-section-header{letter-spacing:.1em;text-transform:uppercase;color:var(--text-1);border-bottom:2px solid #ffc10740;align-items:center;gap:10px;padding-bottom:8px;font-size:12px;font-weight:800;display:flex}.guide-section-count{color:var(--text-5);background:#0f172a09;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.guide-section-add-btn{color:#8a5a00;cursor:pointer;font-size:11px;font-weight:700;font-family:var(--font);letter-spacing:.02em;text-transform:none;background:#ffc1071f;border:1px solid #ffc10759;border-radius:6px;align-items:center;gap:5px;margin-left:auto;padding:5px 12px;transition:all .15s;display:inline-flex}.guide-section-add-btn:hover{background:#ffc1071a;border-color:#ffc10799}.guide-section-num{color:#8a5a00;background:#ffc1071a;border:1px solid #ffc10766;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:flex}.guide-section-sub{color:var(--text-4);letter-spacing:.03em;text-transform:none;font-size:11px;font-weight:400}.guide-table-wrap{border:1px solid #edf0f4;border-radius:8px;overflow-x:auto}.guide-table{border-collapse:collapse;width:100%;font-size:11.5px}.guide-th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);border-bottom:1px solid var(--line);white-space:nowrap;background:#f0f0f2;padding:9px 12px;font-size:10px;font-weight:800}.guide-th-val{text-align:center;width:80px}.guide-th-status{width:110px}.guide-th-def{min-width:260px}.guide-th-ex{min-width:220px}.guide-th-color{text-align:center;width:130px}.guide-td{vertical-align:top;color:var(--text-2);border-bottom:1px solid #edf0f4;padding:10px 13px;font-size:11.5px;line-height:1.55}.guide-td-val{text-align:center;vertical-align:middle}.guide-td-status-lbl{vertical-align:middle}.guide-td-def{font-size:11px}.guide-td-ex{color:var(--text-3);font-size:11px;font-style:italic}.guide-td-color{text-align:center;vertical-align:middle}.guide-lvl-0{border-left:4px solid #ef9a9a}.guide-lvl-10{border-left:4px solid #fff176}.guide-lvl-25{border-left:4px solid #ffe082}.guide-lvl-50{border-left:4px solid #81c784}.guide-lvl-75{border-left:4px solid #4dd0e1}.guide-lvl-100{border-left:4px solid #4caf50}.guide-lvl-0:hover,.guide-lvl-10:hover,.guide-lvl-25:hover,.guide-lvl-50:hover,.guide-lvl-75:hover,.guide-lvl-100:hover{background:#0f172a03}.guide-st-nd{border-left:4px solid #90a4ae}.guide-st-pl{border-left:4px solid #7986cb}.guide-st-ec{border-left:4px solid #42a5f5}.guide-st-su{border-left:4px solid #ffa726}.guide-st-er{border-left:4px solid #ef5350}.guide-st-te{border-left:4px solid #66bb6a}.guide-pct-badge{font-family:var(--mono);color:var(--text-1);border:1px solid var(--line);letter-spacing:-.01em;background:#0f172a09;border-radius:20px;padding:5px 14px;font-size:16px;font-weight:900;display:inline-block}.guide-status-chip{color:#111;white-space:nowrap;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.guide-status-chip--xs{padding:2px 7px;font-size:10px}.guide-color-swatch{flex-direction:column;align-items:center;gap:4px;display:flex}.guide-swatch-block{border:1px solid var(--line);border-radius:5px;flex-shrink:0;width:48px;height:24px}.guide-swatch-hex{font-family:var(--mono);color:var(--text-4);letter-spacing:.05em;font-size:10px}.guide-gantt-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.guide-gantt-item{background:#0f172a05;border:1px solid #edf0f4;border-radius:8px;align-items:flex-start;gap:14px;padding:12px 16px;display:flex}.guide-gantt-symbol{text-align:center;flex-shrink:0;width:28px;padding-top:2px;font-size:22px;line-height:1}.guide-gantt-text{flex-direction:column;gap:3px;display:flex}.guide-gantt-label{color:var(--text-1);font-size:12px;font-weight:700}.guide-gantt-detail{color:var(--text-3);font-size:11px}.guide-trimestres{background:#0f172a05;border:1px solid #edf0f4;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;font-size:12px;display:flex}.guide-trim-title{color:var(--text-3);margin-right:4px;font-weight:700}.guide-trim-item{align-items:center;gap:6px;display:flex}.guide-trim-code{font-family:var(--mono);color:#8a5a00;font-size:13px;font-weight:800}.guide-trim-label{color:var(--text-2)}.guide-trim-sep{color:var(--text-5);margin:0 4px}.guide-chip-nd{color:#111;background:#f1f5f9}.guide-chip-pl{color:#111;background:#e8eaf6}.guide-chip-ec{color:#111;background:#bbdefb}.guide-chip-su{color:#111;background:#ffe0b2}.guide-chip-er{color:#111;background:#ffcdd2}.guide-chip-te{color:#111;background:#c8e6c9}.guide-chip-sm{font-size:10px!important}.guide-swatch-0{background:#ffcdd2}.guide-swatch-10,.guide-swatch-25{background:#fff9c4}.guide-swatch-50{background:#c8e6c9}.guide-swatch-75{background:#b2ebf2}.guide-swatch-100{background:#c8e6c9}.guide-swatch-st-nd{background:#f1f5f9}.guide-swatch-st-pl{background:#e8eaf6}.guide-swatch-st-ec{background:#bbdefb}.guide-swatch-st-su{background:#ffe0b2}.guide-swatch-st-er{background:#ffcdd2}.guide-swatch-st-te{background:#c8e6c9}.guide-color-lvl-0{color:#a51212}.guide-color-lvl-25{color:#7b6e00}.guide-color-lvl-50{color:#15803d}.guide-color-lvl-75{color:#0e7490}.guide-color-lvl-100,.guide-sym-green{color:#15803d}.guide-sym-blue{color:#1550b8}.guide-sym-gray,.guide-sym-dim{color:var(--text-5)}.guide-th-code{width:90px}.guide-th-statut{width:120px}.guide-th-prog{width:130px}.guide-th-date{width:88px}.guide-th-budget{width:110px}.guide-th-act{width:32px}.guide-td-act{text-align:center}.guide-add-activite-btn{border:1px solid var(--line);width:22px;height:22px;color:var(--text-3);cursor:pointer;opacity:0;background:#0f172a06;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.guide-fdr-row:hover .guide-add-activite-btn{opacity:1}.guide-add-activite-btn:hover{color:var(--text-1);background:#6366f11a;border-color:#6366f180}.guide-inline-act-row{background:#6366f10f}.guide-inline-act-form{align-items:center;gap:8px;padding:6px 8px;display:flex}.guide-inline-act-input{flex:1;height:30px;padding:0 10px;font-size:13px}.guide-inline-act-save{border:1px solid var(--ok-line);background:var(--ok-bg);width:28px;height:28px;color:var(--ok);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.guide-inline-act-save:hover:not(:disabled){background:#dcf0e3}.guide-inline-act-save:disabled{opacity:.4;cursor:not-allowed}.guide-inline-act-cancel{color:#b91c1c;cursor:pointer;background:#ff646414;border:1px solid #ff64644d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.guide-inline-act-cancel:hover{background:#ff64641a}.guide-inline-act-td{padding:0}.guide-inline-act-table{min-width:100%}.guide-fdr-code-cell{align-items:center;gap:4px;display:flex}.guide-fdr-toggle{width:16px;height:16px;color:var(--text-4);cursor:pointer;background:#0f172a07;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.guide-fdr-toggle:hover{color:#0020b8;background:#6366f11a}.guide-sa-row{background:#f0f1f3}.guide-sa-row:hover{background:#f1f1f4}.guide-sa-code-td{padding-left:32px!important}.guide-sa-code{font-family:var(--mono);color:#1e40af;font-size:10px}.guide-sa-titre{color:var(--text-2);font-size:12px}.guide-sa-msg-td{color:var(--text-5);font-size:11px;font-style:italic;padding:6px 32px!important}.guide-sa-empty-row,.guide-sa-loading-row{background:#f0f1f366}.ia-panel{background:#f1f1f5;border-top:1px solid #6366f140;padding:14px 16px 12px}.ia-panel-title{letter-spacing:.07em;color:#1e40af;text-transform:uppercase;margin-bottom:12px;font-size:11px;font-weight:700}.ia-row{gap:10px;margin-bottom:10px;display:grid}.ia-row-3{grid-template-columns:2fr 1fr 1fr}.ia-row-desc{grid-template-columns:2fr 1fr;align-items:start}.ia-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.ia-row-5{grid-template-columns:2fr 1fr 1fr 1fr 1fr}.ia-col-2{grid-column:span 2}.ia-field{flex-direction:column;gap:4px;display:flex}.ia-label{letter-spacing:.06em;color:#1e40af;text-transform:uppercase;font-size:10px;font-weight:700}.ia-required{color:#b91c1c}.ia-textarea{resize:none;min-height:64px}.ia-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:10px;display:flex}.ia-btn-cancel{cursor:pointer;color:#b91c1c;background:#ff646414;border:1px solid #ff64644d;border-radius:7px;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.ia-btn-cancel:hover{background:#ff64641a}.ia-btn-save{cursor:pointer;color:#0020b8;background:#6366f11a;border:1px solid #6366f180;border-radius:7px;align-items:center;gap:5px;padding:6px 18px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.ia-btn-save:hover:not(:disabled){color:var(--text-1);background:#6366f11a}.ia-btn-save:disabled{opacity:.4;cursor:not-allowed}.guide-stats-band{background:#f0f1f4;border:1px solid #edf0f4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:0;padding:14px 24px;display:flex}.guide-stat-card{flex-direction:column;align-items:center;gap:4px;padding:4px 18px;display:flex}.guide-stat-val{font-family:var(--mono);color:var(--text-1);font-size:22px;font-weight:900}.guide-stat-lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--text-4);font-size:10px}.guide-stat-sep{background:#0f172a09;flex-shrink:0;width:1px;height:40px}.guide-comp-block{flex-direction:column;gap:8px;display:flex}.guide-comp-header{color:var(--text-1);letter-spacing:.04em;text-transform:uppercase;background:#f1f2f6;border-left:4px solid #42a5f5;border-radius:0 6px 6px 0;padding:7px 14px;font-size:12px;font-weight:800}.guide-sc-block{flex-direction:column;gap:4px;padding-left:16px;display:flex}.guide-sc-header{color:#0e7490;background:#f0f4f580;border-left:3px solid #4dd0e1;border-radius:0 4px 4px 0;padding:5px 10px;font-size:11px;font-weight:600}.guide-fdr-row{transition:background .1s}.guide-fdr-row:hover{background:#0f172a03}.guide-fdr-code{font-family:var(--mono);color:#8a5a00;font-size:10px;font-weight:700;text-decoration:none}.guide-fdr-code:hover{color:#8a5a00;text-decoration:underline}.guide-fdr-titre{white-space:nowrap;text-overflow:ellipsis;max-width:320px;overflow:hidden}.guide-td-date{color:var(--text-4);white-space:nowrap;text-align:center;font-size:10px}.guide-td-budget{font-family:var(--mono);text-align:right;color:var(--text-3);font-size:11px}.guide-prog-wrap{align-items:center;gap:6px;display:flex}.guide-prog-label{font-family:var(--mono);color:var(--text-2);white-space:nowrap;font-size:10px}.guide-hero-add-btn{color:#8a5a00;cursor:pointer;font-size:11px;font-weight:700;font-family:var(--font);background:#ffc1071a;border:1px solid #ffc10766;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;transition:all .15s;display:inline-flex}.guide-hero-add-btn:hover{background:#ffc1071a}.guide-stat-val-sm{font-size:14px!important}.guide-comp-header-row{align-items:center;gap:12px;display:flex}.guide-comp-header-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.guide-comp-header-toggle:hover{filter:brightness(1.15)}.guide-comp-chevron{color:var(--text-3);flex-shrink:0;align-items:center;display:flex}.guide-comp-link-code{font-family:var(--mono);color:#8a5a00;white-space:nowrap;background:#ffc1071a;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:900;text-decoration:none}.guide-comp-link-code:hover{color:#8a5a00;text-decoration:underline}.guide-comp-header-nom{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:700;overflow:hidden}.guide-comp-header-budget{font-family:var(--mono);color:var(--text-4);white-space:nowrap;font-size:10px}.guide-comp-header-taux{font-family:var(--mono);white-space:nowrap;font-size:12px;font-weight:800}.guide-comp-sc-count{font-family:var(--mono);color:var(--text-5);white-space:nowrap;background:#0f172a08;border-radius:4px;padding:2px 6px;font-size:10px}.comp-add-btn{color:#1550b8;cursor:pointer;background:#1e6dd41a;border:1px solid #1e6dd459;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .18s,border-color .18s,transform .15s;display:inline-flex}.comp-add-btn:hover{background:#1e6dd41a;border-color:#3b82f6;transform:scale(1.12)}.comp-add-btn--sm{border-radius:5px;width:18px;height:18px}.comp-add-btn--danger{color:#b91c1c!important;border-color:#ef444459!important}.comp-add-btn--danger:hover{color:#b80000!important;background:#ef44441a!important;border-color:#ef444499!important}.comp-add-menu{z-index:50;background:#f1f2f4;border:1px solid #1e6dd44d;border-radius:10px;min-width:210px;padding:5px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 32px #0f172a1f}.comp-add-menu-item{width:100%;font-family:var(--font);color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.comp-add-menu-item:hover:not(:disabled){color:#0057b8;background:#1e6dd41a}.comp-add-menu-item:disabled{opacity:.35;cursor:not-allowed}.comp-add-menu-item--danger{color:#b91c1c!important}.comp-add-menu-item--danger:hover:not(:disabled){color:#b80000!important;background:#ef44441a!important}.guide-sc-header-row{align-items:center;gap:10px;display:flex}.guide-sc-header-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.guide-sc-header-toggle:hover{filter:brightness(1.2)}.guide-sc-chevron{color:#0e7490;flex-shrink:0;align-items:center;display:flex}.guide-sc-code{font-family:var(--mono);color:#0e7490;white-space:nowrap;font-size:10px;font-weight:800}.guide-sc-header-nom{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.guide-sc-header-count{font-family:var(--mono);color:var(--text-4);white-space:nowrap;font-size:10px}.guide-legend-toggle{cursor:pointer;width:100%;color:inherit;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #ffc10740;align-items:center;gap:10px;padding-bottom:8px;font-size:12px;font-weight:800;display:flex}.guide-legend-toggle:hover{opacity:.85}.guide-sub-title{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;border-left:3px solid #ffc10766;margin-top:8px;padding-left:10px;font-size:11px;font-weight:700}.params-page{background:0 0;flex-direction:column;min-height:100%;display:flex}.params-hero{background:linear-gradient(135deg,#2563eb07 0%,#8b5cf604 100%);border-bottom:1px solid #edf0f4;flex-shrink:0;align-items:center;gap:16px;padding:24px 32px 20px;display:flex}.params-hero-icon{background:#3b82f61f;border:1px solid #3b82f633;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.params-hero-title{color:var(--text-1);letter-spacing:-.3px;font-size:20px;font-weight:800;line-height:1.2}.params-hero-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.params-body{flex:1;min-height:0;display:flex}.params-nav{background:#0f172a05;border-right:1px solid #edf0f4;flex-direction:column;flex-shrink:0;gap:3px;width:224px;padding:16px 12px;display:flex}.params-nav-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .15s,transform .1s;display:flex;position:relative}.params-nav-item:hover{background:#0f172a05}.params-nav-item:active{transform:scale(.98)}.params-nav-item-active{background:#3b82f61a!important}.params-nav-item-active .params-nav-label{color:#0057b8}.params-nav-icon-wrap{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:transform .15s;display:flex}.params-nav-item-active .params-nav-icon-wrap{transform:scale(1.05)}.params-nav-text{flex:1;min-width:0}.params-nav-label{color:var(--text-2);font-size:13px;font-weight:600;line-height:1.3}.params-nav-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.params-nav-dot{width:6px;height:6px;box-shadow:none;background:#3b82f6;border-radius:50%;flex-shrink:0}.params-content{flex:1;min-width:0;padding:28px 32px;overflow-y:auto}.params-section-head{border-bottom:1px solid #edf0f4;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:18px;display:flex}.params-section-icon{border:1px solid;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.params-section-title{color:var(--text-1);letter-spacing:-.2px;font-size:17px;font-weight:700}.params-section-sub{color:var(--text-muted);margin-top:3px;font-size:12px}.perm-wrap{flex-direction:column;gap:20px;display:flex}.perm-intro{color:var(--text-5);font-size:13px;line-height:1.6}.perm-intro strong{color:var(--text-1);font-weight:700}.perm-matrix{background:#0f172a02;border:1px solid #edf0f4;border-radius:14px;overflow:hidden}.perm-matrix-head{background:#0f172a05;border-bottom:1px solid #edf0f4;align-items:center;gap:0;padding:10px 16px;display:flex}.perm-feat-col{flex:1;min-width:0;padding-right:16px}.perm-role-col{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:96px;display:flex}.perm-role-label{color:var(--text-3);text-align:center;letter-spacing:.02em;font-size:11px;font-weight:700}.perm-role-badge{color:var(--text-5);font-size:10px;font-style:italic}.perm-role-locked .perm-role-label{color:var(--text-5)}.perm-row{border-bottom:1px solid #edf0f4;align-items:center;gap:0;padding:12px 16px;transition:background .12s;display:flex}.perm-row:last-child{border-bottom:none}.perm-row:hover{background:#0f172a02}.perm-feat-label{color:var(--text-1);font-size:13px;font-weight:600;line-height:1.3}.perm-feat-desc{color:var(--text-5);margin-top:2px;font-size:11px}.perm-toggle{border:1.5px solid var(--line);cursor:pointer;color:#0000;background:#0f172a03;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.perm-toggle:hover:not(:disabled){background:#3b82f614;border-color:#3b82f666}.perm-toggle-on{color:#1550b8!important;background:#3b82f61a!important;border-color:#3b82f680!important}.perm-toggle-locked{cursor:default;opacity:.7;color:#1550b8!important;background:#3b82f614!important;border-color:#3b82f633!important}.perm-footer{border-top:1px solid #edf0f4;align-items:center;gap:14px;padding-top:4px;display:flex}.perm-saved{color:#15803d;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.params-profil-row{background:#0f172a03;border:1px solid #edf0f4;border-radius:14px;align-items:flex-start;gap:16px;padding:16px;display:flex}.params-profil-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;width:64px;height:64px;padding:0;position:relative;overflow:hidden}.params-profil-avatar-btn:disabled{cursor:wait}.params-profil-avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.params-profil-avatar-letter{color:#0020b8;background:linear-gradient(135deg,#6366f11b 0%,#6366f10b 100%);border:2px solid #6366f159;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:22px;font-weight:800;display:flex}.params-profil-avatar-overlay{color:var(--text-1);opacity:0;background:#0f172a73;border-radius:50%;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:absolute;inset:0}.params-profil-avatar-btn:hover .params-profil-avatar-overlay,.params-profil-avatar-btn:disabled .params-profil-avatar-overlay{opacity:1}.params-sub-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #edf0f4;padding-bottom:8px;font-size:13px;font-weight:700}.params-role-chip{letter-spacing:.02em;border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.params-org-meta{background:#0f172a02;border:1px solid #edf0f4;border-radius:12px;flex-wrap:wrap;gap:24px;padding:14px 16px;display:flex}.params-plan-chip{letter-spacing:.04em;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.params-plan-starter{background:var(--surface-3);color:var(--text-3)}.params-plan-professional{color:#1550b8;background:#3b82f61a}.params-plan-organization{color:#047857;background:#10b9811a}.params-plan-enterprise{color:#8a5a00;background:#f59e0b1a}.params-pw-panel{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:12px;padding:14px 16px}.params-users-list{border:1px solid #edf0f4;border-radius:14px;overflow:hidden}.params-user-row{border-bottom:1px solid #edf0f4;align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex}.params-user-row:last-child{border-bottom:none}.params-user-row:hover{background:#0f172a02}.params-user-inactive{opacity:.5}.params-user-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.params-user-avatar-sm{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:flex;overflow:hidden}.params-user-role{flex-shrink:0;width:140px}.params-user-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.params-you-badge{color:#0020b8;letter-spacing:.03em;white-space:nowrap;background:#6366f11a;border-radius:20px;padding:1px 6px;font-size:10px;font-weight:700}.params-inactive-badge{color:#b80000;letter-spacing:.03em;background:#ef44441f;border-radius:20px;padding:1px 6px;font-size:10px;font-weight:700}.params-toggle-active{color:#047857;cursor:pointer;white-space:nowrap;background:#34d3991f;border:1px solid #34d39933;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;transition:all .15s}.params-toggle-active:hover{background:#34d3991a}.params-toggle-active.off{color:var(--text-5);background:#64748b1f;border-color:#64748b33}.params-toggle-active.off:hover{background:#64748b33}.cf-page{flex-direction:column;min-height:100%;display:flex}.cf-hero{background:linear-gradient(135deg,#0f172a03 0%,#0000 100%);border-bottom:1px solid #edf0f4;padding:22px 32px 18px;position:relative;overflow:hidden}.cf-hero-accent{background:var(--cf-accent,#f1f3f6);border-radius:0 2px 2px 0;width:4px;position:absolute;top:0;bottom:0;left:0}.cf-hero-body{padding-left:16px}.cf-hero-eyebrow{color:var(--text-4);align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.cf-hero-logo{-o-object-fit:contain;object-fit:contain;border-radius:3px;width:16px;height:16px}.cf-hero-code{font-family:var(--mono);color:var(--text-4);font-weight:800}.cf-hero-sep{color:var(--text-5)}.cf-hero-step{color:var(--text-4)}.cf-hero-title{color:var(--text-1);letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;max-width:600px;font-size:20px;font-weight:800;overflow:hidden}.cf-body{flex:1;gap:0;min-height:0;display:flex}.cf-form-col{border-right:1px solid #edf0f4;flex-direction:column;flex:1;gap:20px;min-width:0;padding:28px 32px 40px;display:flex}.cf-section{flex-direction:column;gap:14px;display:flex}.cf-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-5);border-bottom:1px solid #edf0f4;align-items:center;gap:6px;padding-bottom:8px;font-size:10px;font-weight:800;display:flex}.cf-field{flex-direction:column;gap:6px;display:flex}.cf-row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.cf-divider{background:#0f172a06;height:1px;margin:4px 0}.cf-actions{align-items:center;gap:10px;padding-top:8px;display:flex}.cf-cancel-btn{color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:13px;text-decoration:none;transition:color .15s,background .15s}.cf-cancel-btn:hover{color:var(--text-2);background:#0f172a06}.cf-preview-col{flex-direction:column;flex-shrink:0;gap:12px;width:240px;padding:28px 24px;display:flex}.cf-preview-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-5);font-size:10px;font-weight:800}.cf-preview-card{background:#0f172a03;border:1px solid #edf0f4;border-radius:12px;position:relative;overflow:hidden}.cf-preview-stripe{background:var(--cf-accent,#f1f3f6);width:100%;height:3px}.cf-preview-body{flex-direction:column;gap:6px;padding:14px;display:flex}.cf-preview-code{font-family:var(--mono);color:var(--cf-accent,#1550b8);letter-spacing:.06em;font-size:10px;font-weight:800}.cf-preview-nom{color:var(--text-1);font-size:13px;font-weight:700;line-height:1.4}.cf-preview-placeholder{color:var(--text-5);font-style:italic;font-weight:400}.cf-preview-desc{color:var(--text-4);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.cf-preview-meta{color:var(--text-4);font-size:10px;font-family:var(--mono);border-top:1px solid #edf0f4;flex-direction:column;gap:3px;margin-top:4px;padding-top:8px;display:flex}.pf-body-loading{padding:32px}.cf-hero-icon-color{background:var(--cf-accent,#f1f3f6)}.pf-progress-details{flex-direction:column;gap:6px;margin-top:12px;display:flex}.pf-progress-item{color:var(--text-5);align-items:center;gap:8px;font-size:12px;transition:color .2s;display:flex}.pf-progress-item.filled{color:var(--text-2)}.pf-progress-dot{background:#0f172a11;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .2s}.pf-progress-item.filled .pf-progress-dot{background:#4ade80}.cf-readonly-val{color:var(--text-3);font-size:12px;font-weight:700;font-family:var(--mono);cursor:default;background:#0f172a03;border:1px solid #edf0f4;border-radius:7px;align-items:center;gap:8px;padding:7px 12px;display:flex}.cf-readonly-hint{color:#8a5a00;font-size:10px;font-weight:400}.cf-taux-badge{background:#ffc10714;border:1px solid #ffc1072e;border-radius:6px;align-items:center;gap:8px;padding:5px 10px;display:inline-flex}.cf-taux-label{text-transform:uppercase;letter-spacing:.08em;color:#8a5a00;font-size:10px;font-weight:700}.cf-taux-val{color:#8a5a00;font-size:11px;font-weight:700;font-family:var(--mono)}.cf-budget-bar-wrap{align-items:center;gap:10px;margin-top:2px;display:flex}.cf-budget-bar-track{background:#0f172a08;border-radius:100px;flex:1;height:5px;overflow:hidden}.cf-budget-bar-fill{height:100%;width:var(--cf-bar-pct,0%);border-radius:100px;transition:width .3s}.cf-budget-bar-fill.low{background:#ef5350}.cf-budget-bar-fill.mid{background:#ffb300}.cf-budget-bar-fill.high{background:#29b6f6}.cf-budget-bar-fill.over{background:#f87171}.cf-budget-bar-pct{color:var(--text-4);font-size:10px;font-weight:700;font-family:var(--mono);flex-shrink:0}.cf-color-chip{align-items:center;gap:5px;display:inline-flex}.cf-color-dot{background:var(--cf-accent,#f1f3f6);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 1px #0f172a13}.cf-summary-color{align-items:center;gap:6px;display:flex}.cf-summary-dot{background:var(--cf-accent,#f1f3f6);border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 1px #0f172a13}.cf-sum-green{color:#15803d!important}.cf-sum-amber{color:#8a5a00!important}.cf-sum-red,.cf-sum-over{color:#b91c1c!important}.ref-ind-progress-row{border-top:1px solid #edf0f4;flex-direction:column;gap:6px;padding:14px 18px 16px;display:flex}.ref-ind-progress-header{justify-content:space-between;align-items:center;display:flex}.ref-ind-progress-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-4);font-size:11px;font-weight:700}.ref-ind-progress-pct{font-family:var(--mono);color:var(--text-1);font-size:13px;font-weight:800}.ref-ind-progress-sub{color:var(--text-5);margin-top:2px;font-size:11px}.ref-gt-progress{align-items:center;gap:8px;min-width:120px;display:flex}.ref-gt-progress>:first-child{flex:1}.ref-ind-card-progress-full{flex-direction:column;grid-column:1/-1;gap:8px;display:flex}.ref-ind-progress-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ref-ind-pct-row-bottom{margin-top:auto}.rapport-new-btn{cursor:pointer;background:var(--brand);color:#fff;font-size:13px;font-weight:700;font-family:var(--font);letter-spacing:.2px;border:none;border-radius:10px;align-items:center;gap:7px;padding:9px 18px;transition:all .2s;display:inline-flex}.rapport-new-btn:hover{background:var(--brand-strong);box-shadow:none}.rapport-new-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.rapport-stats-band{flex-wrap:wrap;align-items:center;gap:0;margin-bottom:14px;padding:14px 24px;display:flex}.rapport-stat-item{flex-direction:column;align-items:center;gap:2px;padding:0 20px;display:flex}.rapport-stat-val{color:var(--text-1);letter-spacing:-1px;font-size:22px;font-weight:800;line-height:1}.rapport-stat-lbl{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:10px}.rapport-stat-sep{background:#0f172a09;width:1px;height:36px}.rapport-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 16px;display:flex}.rapport-search-wrap{flex:1;align-items:center;min-width:180px;display:flex;position:relative}.rapport-search-ico{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.rapport-search-input{background:var(--surface);border:1px solid var(--line-strong);width:100%;color:var(--text-1);font-size:12px;font-family:var(--font);border-radius:8px;outline:none;padding:7px 30px;transition:border-color .2s}.rapport-search-input::placeholder{color:var(--text-muted)}.rapport-search-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.rapport-search-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;right:8px}.rapport-search-clear:hover{color:var(--text-1)}.rapport-clear-btn{border:1px solid var(--line);color:var(--text-muted);font-size:11px;font-family:var(--font);cursor:pointer;background:#0f172a05;border-radius:8px;align-items:center;gap:5px;padding:5px 12px;transition:all .15s;display:inline-flex}.rapport-clear-btn:hover{color:#b91c1c;background:#ef444412;border-color:#ef44444d}.rapport-card{align-items:center;gap:16px;padding:14px 18px;transition:background .15s;display:flex}.rapport-card:hover{background:#0f172a07}.rapport-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.rapport-icon-purple{background:#a78bfa1a}.rapport-icon-blue{background:#60a5fa1a}.rapport-icon-cyan{background:#22d3ee1a}.rapport-icon-orange{background:#fb923c1a}.rapport-card-body{flex:1;min-width:0}.rapport-card-title{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.rapport-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.rapport-meta-sep{color:var(--text-5)}.rapport-card-generateur{color:var(--text-muted);align-items:center;gap:5px;margin-top:5px;font-size:11px;display:flex}.rapport-gen-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex;overflow:hidden}.rapport-card-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.rapport-card-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.rapport-action-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.rapport-action-preview{color:var(--text-4)}.rapport-action-preview:hover{color:#4338ca;background:#6366f11f;border-color:#6366f14d}.rapport-action-dl{color:#15803d}.rapport-action-dl:hover{background:#4ade801f;border-color:#4ade8040}.rapport-action-del{color:var(--text-5)}.rapport-action-del:hover{color:#b91c1c;background:#ef44441f;border-color:#ef444433}.rapport-action-confirm{color:#b91c1c;background:#ef44441a;border-color:#ef444459}.rapport-action-confirm:hover{background:#ef44441a;border-color:#ef444480}.rapport-action-cancel{color:var(--text-4)}.rapport-action-cancel:hover{color:var(--text-2);background:#0f172a08}.rapport-dl-count{color:var(--text-muted);border:1px solid var(--line);text-align:center;background:#0f172a07;border-radius:10px;min-width:20px;padding:1px 6px;font-size:10px;font-weight:700}.rapport-preview-overlay{z-index:60;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rapport-preview-modal{border-radius:16px;flex-direction:column;width:100%;max-width:900px;height:85vh;display:flex;overflow:hidden}.rapport-preview-header{border-bottom:1px solid #edf0f4;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.rapport-preview-title{color:var(--text-1);font-size:14px;font-weight:700}.rapport-preview-body{flex:1;position:relative;overflow:hidden}.rapport-preview-iframe{background:#fff;border:none;width:100%;height:100%}.rapport-preview-loading{justify-content:center;align-items:center;height:100%;display:flex}.rapport-preview-unavail{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:40px;display:flex}.rapport-preview-unavail-title{color:var(--text-1);margin:0;font-size:16px;font-weight:700}.rapport-preview-unavail-sub{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.rapport-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 24px;display:flex}.rapport-empty-icon{background:#0f172a05;border:1px solid #edf0f4;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:20px;display:flex}.rapport-empty-title{color:var(--text-3);margin-bottom:6px;font-size:16px;font-weight:700}.rapport-empty-sub{color:var(--text-muted);font-size:12px}.rapport-modal-overlay{z-index:100;background:#f0f0f2;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rapport-modal-card{border-radius:18px;flex-direction:column;width:100%;max-width:520px;display:flex;overflow:hidden}.rapport-modal-header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;padding:22px 24px 16px;display:flex}.rapport-modal-tag{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:#0266b6;margin-bottom:4px;font-size:10px;font-weight:700}.rapport-modal-title{color:var(--text-1);font-size:17px;font-weight:800}.rapport-modal-close{border:1px solid var(--line);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#0f172a06;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.rapport-modal-close:hover{color:var(--text-1);background:#0f172a0b}.rapport-modal-body{padding:20px 24px;overflow-y:auto}.rapport-modal-footer{border-top:1px solid #edf0f4;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.rapport-field-label{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;font-size:10px;font-weight:700;display:block}.rapport-type-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rapport-type-btn{border:1px solid var(--line);color:var(--text-2);font-size:12px;font-family:var(--font);cursor:pointer;text-align:left;background:#0f172a05;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;transition:all .15s;display:flex}.rapport-type-btn:hover{border-color:var(--line-strong);color:var(--text-1);background:#0f172a09}.rapport-type-btn.active{color:var(--text-1);font-weight:600}.rapport-type-btn.active.rapport-icon-purple-btn{background:#a78bfa1a;border-color:#a78bfa66}.rapport-type-btn.active.rapport-icon-blue-btn{background:#60a5fa1a;border-color:#60a5fa66}.rapport-type-btn.active.rapport-icon-cyan-btn{background:#22d3ee1a;border-color:#22d3ee66}.rapport-type-btn.active.rapport-icon-orange-btn{background:#fb923c1a;border-color:#fb923c66}.rapport-format-btn{border:1px solid var(--line);color:var(--text-3);font-size:12px;font-family:var(--font);cursor:pointer;background:#0f172a05;border-radius:8px;padding:7px 16px;font-weight:600;transition:all .15s}.rapport-format-btn:hover{color:var(--text-1);background:#0f172a09}.rapport-format-btn.active{color:#0165b6;background:#1565c01a;border-color:#1e6dd438}.rapport-cancel-btn{border:1px solid var(--line);color:var(--text-3);font-size:13px;font-family:var(--font);cursor:pointer;background:#0f172a06;border-radius:9px;padding:9px 18px;transition:all .15s}.rapport-cancel-btn:hover{color:var(--text-1);background:#0f172a0a}.rapport-submit-btn{cursor:pointer;background:var(--brand);color:#fff;font-size:13px;font-weight:700;font-family:var(--font);border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 20px;transition:all .2s;display:inline-flex}.rapport-submit-btn:hover:not(:disabled){background:var(--brand-strong)}.rapport-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.rapport-kpis{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=700px){.rapport-kpis{grid-template-columns:1fr}}.rapport-kpi-card{flex-direction:column;gap:6px;padding:16px 20px;display:flex}.rapport-kpi-header{align-items:center;gap:6px;display:flex}.rapport-kpi-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.rapport-kpi-value{color:var(--text-1);letter-spacing:-1px;font-size:28px;font-weight:800;line-height:1}.rapport-kpi-value-sm{letter-spacing:0;font-size:15px;font-weight:700;line-height:1.3}.rapport-kpi-sub{color:var(--text-muted);font-size:11px}.rapport-kpi-track{background:#0f172a09;border-radius:2px;height:4px;margin:2px 0;overflow:hidden}.rapport-kpi-bar{height:100%;width:var(--bar-w,0%);background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:2px;transition:width .4s}.rapport-kpi-bar.warn{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.rapport-kpi-bar.bad{background:linear-gradient(90deg,#ef4444,#f87171)}.notif-filter-bar{flex-wrap:wrap;gap:6px;display:flex}.notif-chip{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:#0f172a05;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.notif-chip:hover{color:var(--text-1);background:#0f172a09}.notif-chip.active{color:#0057b8;background:#60a5fa1a;border-color:#60a5fa66}.notif-chip-dot{background:#94a3b866;border-radius:50%;width:6px;height:6px}.notif-chip.active .notif-chip-dot{background:currentColor}.notif-group-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);padding:4px 0 8px;font-size:10px;font-weight:700}.notif-card{background:#0f172a03;border:1px solid #edf0f4;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.notif-card:hover{background:#0f172a06}.notif-card.unread{background:#3b82f612;border-color:#60a5fa33}.notif-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notif-icon-yellow{color:#8a6a00;background:#eab3081a}.notif-icon-red{color:#b80000;background:#ef44441a}.notif-icon-orange{color:#b45309;background:#f973161a}.notif-icon-blue{color:#0057b8;background:#3b82f61a}.notif-icon-green{color:#15803d;background:#22c55e1a}.notif-icon-purple{color:#5900b8;background:#a855f71a}.notif-icon-cyan{color:#007a8a;background:#06b6d41a}.notif-body{flex:1;min-width:0}.notif-type-label{letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:600}.notif-title{color:var(--text-1);margin-top:2px;font-size:13px;font-weight:600}.notif-message{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.5}.notif-footer{align-items:center;gap:10px;margin-top:8px;display:flex}.notif-time{color:var(--text-5);font-size:11px}.notif-link-btn{color:#1550b8;background:#60a5fa14;border:1px solid #60a5fa40;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.notif-link-btn:hover{color:#0057b8;background:#60a5fa1a;border-color:#60a5fa73}.notif-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.notif-unread-dot{background:#60a5fa;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.comp-edit-modal{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;width:100%;max-width:560px;display:flex;overflow:hidden;box-shadow:0 30px 80px #0f172a1f}.comp-edit-modal-header{background:#0f172a02;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;padding:22px 26px 18px;display:flex}.comp-edit-modal-body{flex-direction:column;gap:18px;padding:22px 26px;display:flex}.comp-edit-modal-footer{background:#0f172a02;border-top:1px solid #edf0f4;justify-content:flex-end;align-items:center;gap:10px;padding:16px 26px;display:flex}.comp-edit-field{flex-direction:column;gap:6px;display:flex}.comp-edit-label{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:#1550b8;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.comp-edit-input{background:var(--surface);border:1px solid var(--line-strong);color:#3c577c;width:100%;font-size:14px;font-family:var(--font);border-radius:10px;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.comp-edit-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #64b5f61a}.comp-edit-input::placeholder{color:var(--text-5)}input[type=date].comp-edit-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.comp-edit-textarea{resize:vertical;min-height:80px;line-height:1.6}.comp-edit-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.agenda-page{flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}[data-type=projet]{--c:#f59e0b}[data-type=composante]{--c:#3b82f6}[data-type=sc]{--c:#06b6d4}[data-type=fdr]{--c:#10b981}[data-type=activite]{--c:#f97316}[data-type=tache]{--c:#8b5cf6}[data-type=decaissement]{--c:#facc15}.agenda-header{border-bottom:1px solid #edf0f4;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px 14px;display:flex}.agenda-header-nav{align-items:center;gap:10px;display:flex}.agenda-nav-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--text-3);cursor:pointer;background:#0f172a06;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.agenda-nav-btn:hover{color:var(--text-1);border-color:var(--line-strong);background:#0f172a0f}.agenda-month-display{align-items:baseline;gap:10px;display:flex}.agenda-month-name{color:var(--text-1);letter-spacing:-.5px;font-size:30px;font-weight:900;line-height:1}.agenda-month-year{color:var(--text-4);font-size:22px;font-weight:300;line-height:1}.agenda-header-center{color:var(--text-4);flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.agenda-project-name{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600;overflow:hidden}.agenda-header-right{align-items:center;gap:10px;display:flex}.agenda-today-btn{color:#0165b6;cursor:pointer;letter-spacing:.3px;white-space:nowrap;background:#64b5f61a;border:1px solid #64b5f659;border-radius:10px;height:34px;padding:0 16px;font-size:11px;font-weight:700;transition:all .18s}.agenda-today-btn:hover{color:var(--text-1);background:#64b5f61a;border-color:#64b5f699}.agenda-view-switch{border:1px solid var(--line);background:#0f172a06;border-radius:8px;align-items:center;gap:2px;margin-right:6px;padding:2px;display:flex}.agenda-view-btn{color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:background .15s,color .15s;display:flex}.agenda-view-btn:hover{color:var(--text-2);background:#0f172a09}.agenda-view-btn.active{color:#0057b8;background:#64b5f61a;font-weight:600}.agenda-day-view{scrollbar-width:thin;scrollbar-color:#0f172a0d transparent;flex:1;padding:12px 16px;overflow-y:auto}.agenda-day-empty{height:100%;color:var(--text-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.agenda-day-empty-sub{color:var(--text-5);margin-top:4px;font-size:11px}.agenda-day-groups{flex-direction:column;gap:8px;display:flex}.agenda-day-group{margin-bottom:4px}.agenda-day-event{padding:10px 12px!important}.agenda-body-quarter{flex:1;gap:0;display:flex;overflow:hidden}.agenda-quarter-view{scrollbar-width:thin;scrollbar-color:#0f172a0d transparent;flex:1;grid-template-columns:repeat(3,1fr);gap:8px;min-width:0;padding:8px 12px;display:grid;overflow-y:auto}.agenda-body-year{flex:1;overflow:hidden}.agenda-year-view{scrollbar-width:thin;scrollbar-color:#0f172a0d transparent;grid-template-columns:repeat(4,1fr);gap:8px;height:100%;padding:8px 12px;display:grid;overflow-y:auto}.agenda-mini-month{background:#0f172a03;border:1px solid #edf0f4;border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.agenda-mini-month-title{color:#0057b8;text-align:center;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;width:100%;padding:2px 0;font-size:12px;font-weight:700;transition:color .15s}.agenda-mini-month-title:hover{color:var(--text-1)}.agenda-mini-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.agenda-mini-dow{text-align:center;color:var(--text-5);padding:2px 0;font-size:10px;font-weight:600}.agenda-mini-dow.we{color:var(--text-5)}.agenda-mini-cell{aspect-ratio:1;cursor:pointer;color:var(--text-3);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:10px;transition:background .1s;display:flex;position:relative}.agenda-mini-cell:hover{color:var(--text-1);background:#0f172a09}.agenda-mini-cell.other{opacity:.3}.agenda-mini-cell.we{color:var(--text-5)}.agenda-mini-cell.today{color:#0057b8;background:#3b82f61a;border-radius:4px;font-weight:700}.agenda-mini-cell.selected{color:var(--text-1);background:#3b82f61a;font-weight:700}.agenda-mini-cell.overdue{box-shadow:inset 0 -1px #ef444480}.agenda-mini-day-num{line-height:1}.agenda-mini-dot{background:#60a5fa99;border-radius:50%;flex-shrink:0;width:4px;height:4px}.agenda-mini-dot.dn2{background:#f59e0bb3;width:5px;height:5px}.agenda-mini-dot.dn3{background:#ef4444b3;width:5px;height:5px}.agenda-mini-dot.overdue{background:#ef4444}.agenda-mini-month.compact{gap:3px;padding:6px 8px}.agenda-mini-month.compact .agenda-mini-month-title{font-size:11px}.agenda-mini-month.compact .agenda-mini-cell{font-size:10px}.agenda-stats{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 16px 4px;display:grid}.agenda-stat-card{background:#0f172a05;border:1px solid #edf0f4;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px 8px;display:flex}.agenda-stat-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.agenda-stat-icon{flex-shrink:0}.agenda-stat-icon.bad{color:#b91c1c}.agenda-stat-icon.warn{color:#b45309}.agenda-stat-icon.good{color:#15803d}.agenda-stat-icon.neutral{color:#1550b8}.agenda-stat-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-4);flex:1;font-size:10px;font-weight:600}.agenda-stat-pct{border-radius:5px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.6}.agenda-stat-pct.good{color:#15803d;background:#22c55e1a}.agenda-stat-pct.warn{color:#b45309;background:#f59e0b1a}.agenda-stat-pct.bad{color:#b91c1c;background:#ef44441a}.agenda-stat-pct.neutral{color:#1550b8;background:#60a5fa1f}.agenda-stat-row{align-items:baseline;gap:5px;display:flex}.agenda-stat-num{font-size:18px;font-weight:700;line-height:1}.agenda-stat-num.good{color:#15803d}.agenda-stat-num.warn{color:#b45309}.agenda-stat-num.bad{color:#b91c1c}.agenda-stat-num.neutral{color:#0057b8}.agenda-stat-lbl{color:var(--text-4);font-size:10px}.agenda-stat-next{color:var(--text-4);border-top:1px solid #edf0f4;margin-top:2px;padding-top:4px;font-size:10px}.agenda-stat-next strong{color:#0057b8}.agenda-stat-bar-wrap{background:#0f172a09;border-radius:2px;height:3px;margin-top:4px;overflow:hidden}.agenda-stat-bar{height:100%;width:var(--bar-w,0%);background:#60a5fa;border-radius:2px;transition:width .4s}.agenda-stat-bar.good{background:#22c55e}.agenda-stat-bar.warn{background:#f59e0b}.agenda-stat-bar.bad{background:#ef4444}.agenda-chip.overdue{background:#ef44441a!important;border-left-color:#ef4444!important}.agenda-chip.overdue .agenda-chip-arrow{color:#b91c1c;font-size:10px}.agenda-cell-badge.overdue{color:#b80000;background:#ef44441a;border:1px solid #ef444466}.agenda-cell.has-overdue{box-shadow:inset 2px 0 #ef444466}.agenda-panel-tag.overdue{color:#b80000;background:#ef44441a;border-color:#ef444459}.agenda-toolbar{background:#0f172a09;border-bottom:1px solid #edf0f4;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 28px;display:flex}.agenda-filters{flex-wrap:wrap;gap:6px;display:flex}.agenda-filter-btn{letter-spacing:.3px;border:1px solid var(--line);height:25px;color:var(--text-4);cursor:pointer;white-space:nowrap;background:#0f172a05;border-radius:20px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:700;transition:all .15s;display:flex}.agenda-filter-btn.active{border-color:var(--c);background:var(--c)}@supports (color:color-mix(in lab, red, red)){.agenda-filter-btn.active{background:color-mix(in srgb, var(--c) 16%, #0f172a0d)}}.agenda-filter-btn.active{color:var(--text-1)}.agenda-filter-dot{background:#0f172a15;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .15s}.agenda-filter-btn.active .agenda-filter-dot{background:var(--c)}.agenda-filter-badge{min-width:15px;height:15px;color:var(--text-4);background:#0f172a0b;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:800;display:flex}.agenda-filter-btn.active .agenda-filter-badge{background:var(--c);color:#000}.agenda-month-total{color:var(--text-5);white-space:nowrap;font-size:11px;font-style:italic}.agenda-body{flex:1;display:flex;overflow:hidden}.agenda-calendar{flex-direction:column;flex:1;display:flex;overflow:hidden}.agenda-weekdays{background:#0f172a02;border-bottom:1px solid #edf0f4;flex-shrink:0;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.agenda-weekday{text-align:center;font-family:var(--mono);letter-spacing:1.8px;text-transform:uppercase;color:var(--text-5);padding:12px 0;font-size:10px;font-weight:700}.agenda-weekday.weekend{color:var(--text-5)}.agenda-cells{border-left:1px solid #edf0f4;flex:1;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow-y:auto}.agenda-cell{cursor:pointer;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;flex-direction:column;gap:5px;min-height:128px;padding:8px;transition:background .13s;display:flex}.agenda-cell:hover{background:#0f172a03}.agenda-cell.weekend{background:#0f172a0b}.agenda-cell.today{background:#3b82f61a}.agenda-cell.selected{background:#3b82f61a;box-shadow:inset 0 0 0 1.5px #3b82f673}.agenda-cell.other-month{opacity:.22}.agenda-cell-header{flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:2px;display:flex}.agenda-cell-num{color:var(--text-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.agenda-cell:hover .agenda-cell-num{color:var(--text-1)}.agenda-cell.today .agenda-cell-num{background:var(--brand);color:#fff;box-shadow:none;font-weight:800}.agenda-cell-badge{color:var(--text-5);font-size:10px;font-weight:700;font-family:var(--mono)}.agenda-cell.selected .agenda-cell-badge{color:#1550b8}.agenda-cell-events{flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden}.agenda-chip{background:var(--c,#0f172a0b);border-radius:6px;align-items:center;gap:5px;padding:3px 7px;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.agenda-chip{background:color-mix(in srgb, var(--c,#0f172a0b) 18%, #0f172a03)}}.agenda-chip{border-left:3px solid var(--c,var(--line-strong));transition:background .12s}.agenda-chip.is-end{background:var(--c,#0f172a0b)}@supports (color:color-mix(in lab, red, red)){.agenda-chip.is-end{background:color-mix(in srgb, var(--c,#0f172a0b) 10%, #0f172a0d)}}.agenda-chip.is-end{border-left-style:dashed}.agenda-chip-arrow{color:var(--c,var(--text-3));flex-shrink:0;font-size:10px;font-weight:900;line-height:1}.agenda-chip-text{min-width:0;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;line-height:1.35;overflow:hidden}.agenda-chip-overflow{color:var(--text-5);letter-spacing:.2px;padding:2px 7px;font-size:10px;font-style:italic}.agenda-panel{background:#f0f0f1;border-left:1px solid #edf0f4;flex-direction:column;flex-shrink:0;width:310px;display:flex;overflow:hidden}.agenda-panel-header{border-bottom:1px solid #edf0f4;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:18px 16px 14px;display:flex}.agenda-panel-date{color:var(--text-1);text-transform:capitalize;font-size:14px;font-weight:800;line-height:1.3}.agenda-panel-count{color:var(--text-4);margin-top:3px;font-size:11px}.agenda-panel-body{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.agenda-panel-empty{color:var(--text-5);text-align:center;padding:30px 0;font-size:12px;font-style:italic}.agenda-panel-group{flex-direction:column;gap:5px;display:flex}.agenda-panel-group-header{font-size:10px;font-weight:800;font-family:var(--mono);letter-spacing:.9px;text-transform:uppercase;color:var(--c,var(--text-4));border-bottom:1px solid #edf0f4;align-items:center;gap:7px;padding:5px 5px 3px;display:flex}.agenda-panel-group-dot{background:var(--c,#0f172a1d);width:7px;height:7px;box-shadow:0 0 6px var(--c,transparent);border-radius:50%;flex-shrink:0}.agenda-panel-group-count{background:var(--c,#0f172a11);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:auto;padding:0 5px;font-size:10px;display:flex}@supports (color:color-mix(in lab, red, red)){.agenda-panel-group-count{background:color-mix(in srgb, var(--c,#0f172a11) 22%, transparent)}}.agenda-panel-group-count{color:var(--c,var(--text-3))}.agenda-panel-event{border-left:3px solid var(--c,var(--line));background:#0f172a05;border-radius:8px;padding:9px 11px;transition:background .13s}.agenda-panel-event.clickable{cursor:pointer}.agenda-panel-event.clickable:hover{background:var(--c,#0f172a09)}@supports (color:color-mix(in lab, red, red)){.agenda-panel-event.clickable:hover{background:color-mix(in srgb, var(--c,#0f172a09) 10%, #0f172a07)}}.agenda-panel-event-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.agenda-panel-event-info{flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.agenda-panel-tag{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:4px;flex-shrink:0;margin-top:1px;padding:1px 6px;font-size:10px;font-weight:700}.agenda-panel-tag.start{color:#108053;background:#10b9811a}.agenda-panel-tag.end{color:#b80000;background:#ef44441a}.agenda-panel-event-label{color:var(--text-2);text-overflow:ellipsis;min-width:0;font-size:11px;line-height:1.45;overflow:hidden}.agenda-panel-nav-icon{color:var(--text-5);flex-shrink:0}.agenda-panel-event.clickable:hover .agenda-panel-nav-icon{color:var(--text-3)}.audit-kpi-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.audit-kpi-card{background:#0f172a03;border:1px solid #edf0f4;border-left:3px solid #0000;border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px 14px;display:flex;position:relative;overflow:hidden}.audit-kpi-blue{border-left-color:#60a5fa}.audit-kpi-green{border-left-color:#4ade80}.audit-kpi-orange{border-left-color:#fb923c}.audit-kpi-red{border-left-color:#f87171}.audit-kpi-bg-icon{opacity:.06;pointer-events:none;color:var(--text-1);position:absolute;top:8px;right:10px}.audit-kpi-header{justify-content:space-between;align-items:center;display:flex}.audit-kpi-label{color:var(--text-5);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:600}.audit-kpi-icon-badge{width:22px;height:22px;color:var(--text-4);background:#0f172a07;border-radius:6px;justify-content:center;align-items:center;display:flex}.audit-kpi-blue .audit-kpi-icon-badge{color:#1550b8;background:#60a5fa1a}.audit-kpi-green .audit-kpi-icon-badge{color:#15803d;background:#4ade801a}.audit-kpi-orange .audit-kpi-icon-badge{color:#c2410c;background:#fb923c1a}.audit-kpi-red .audit-kpi-icon-badge{color:#b91c1c;background:#f871711a}.audit-kpi-value{color:var(--text-1);letter-spacing:-.5px;font-size:28px;font-weight:800;line-height:1}.audit-kpi-sub{color:var(--text-5);margin-top:-2px;font-size:10px}.audit-kpi-prog-wrap{align-items:center;gap:6px;margin-top:4px;display:flex}.audit-kpi-prog{appearance:none;background:#0f172a08;border:none;border-radius:99px;flex:1;height:4px}.audit-kpi-prog::-webkit-progress-bar{background:#0f172a08;border-radius:99px}.audit-kpi-prog::-webkit-progress-value{border-radius:99px}.audit-kpi-prog::-moz-progress-bar{border-radius:99px}.audit-kpi-green .audit-kpi-prog::-webkit-progress-value{background:#4ade80}.audit-kpi-green .audit-kpi-prog::-moz-progress-bar{background:#4ade80}.audit-kpi-orange .audit-kpi-prog::-webkit-progress-value{background:#fb923c}.audit-kpi-orange .audit-kpi-prog::-moz-progress-bar{background:#fb923c}.audit-kpi-red .audit-kpi-prog::-webkit-progress-value{background:#f87171}.audit-kpi-red .audit-kpi-prog::-moz-progress-bar{background:#f87171}.audit-kpi-prog-pct{color:var(--text-5);text-align:right;min-width:28px;font-size:10px;font-weight:700}.audit-table{border-collapse:collapse;width:100%}.audit-thead-sticky{z-index:10;position:sticky;top:0}.audit-thead-row{background:#f1f1f2}.audit-th{text-align:left;color:var(--text-5);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:10px 14px;font-size:10px;font-weight:600}.audit-th-date{width:130px}.audit-td{vertical-align:middle;border-bottom:1px solid #edf0f4;padding:10px 14px}.audit-row{transition:background .1s}.audit-row-alt{background:#0f172a01}.audit-row-expandable{cursor:pointer}.audit-row-expandable:hover{background:#60a5fa0d}.audit-row-expandable:hover .audit-expand-btn{color:#1550b8;border-color:#60a5fa66}.audit-row-active{background:#60a5fa12!important}.audit-row:last-child .audit-td{border-bottom:none}.audit-td-date{min-width:110px}.audit-date-cell{flex-direction:column;gap:1px;display:flex}.audit-date-day{color:#3c577c;white-space:nowrap;font-size:11px;font-weight:500}.audit-date-time{color:var(--text-5);font-family:monospace;font-size:10px}.audit-date-ago{color:var(--text-5);margin-top:1px;font-size:10px}.audit-avatar{width:26px;height:26px;color:var(--text-1);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex;overflow:hidden}.audit-username{color:#415977;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:12px;font-weight:500;overflow:hidden}.audit-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.audit-badge-create{color:#15803d;background:#4ade801a;border:1px solid #4ade8033}.audit-badge-update{color:#c2410c;background:#fb923c1a;border:1px solid #fb923c33}.audit-badge-delete{color:#b91c1c;background:#f871711a;border:1px solid #f8717133}.audit-badge-restore{color:#6d28d9;background:#c084fc1a;border:1px solid #c084fc33}.audit-entity-badge{color:#0057b8;white-space:nowrap;background:#60a5fa14;border:1px solid #60a5fa2e;border-radius:4px;padding:2px 7px;font-size:10px}.audit-chips-row{flex-wrap:nowrap;align-items:center;gap:3px;display:flex}.audit-td-champ{max-width:200px}.audit-chip{border:1px solid var(--line);color:var(--text-5);white-space:nowrap;background:#0f172a08;border-radius:3px;padding:1px 5px;font-size:10px}.audit-chip-more{color:#1550b8;background:#60a5fa1a;border-color:#60a5fa33}.audit-td-val{max-width:180px}.audit-val-new{color:#15803d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.audit-empty{color:var(--text-5);font-style:italic}.audit-td-expand{text-align:center;width:32px}.audit-expand-btn{width:22px;height:22px;color:var(--text-5);border:1px solid #edf0f4;border-radius:5px;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.audit-expand-btn.open{color:#1550b8;background:#60a5fa14;border-color:#60a5fa59}@keyframes audit-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.audit-skel{background:#0f172a07;border-radius:4px;height:10px;position:relative;overflow:hidden}.audit-skel:after{content:"";background:linear-gradient(90deg,#0000 0%,#0f172a0b 50%,#0000 100%);animation:1.4s ease-in-out infinite audit-shimmer;position:absolute;inset:0}.audit-skel-circle{border-radius:50%;flex-shrink:0;width:26px;height:26px}.audit-skel-date{width:80px}.audit-skel-user{width:110px}.audit-skel-pill{border-radius:20px;width:72px;height:22px}.audit-skel-pill-lg{width:100px}.audit-skel-champ{width:140px}.audit-skel-val{width:90px}.audit-row-detail td{padding:0}.audit-detail-panel{background:#f2f2f3;border-bottom:1px solid #edf0f4;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.audit-diff-grid{grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;display:grid}.audit-diff-arrow{color:var(--text-5);padding-top:22px;font-size:14px}.audit-diff-label{text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px;font-weight:700}.audit-diff-before .audit-diff-label{color:#b91c1c}.audit-diff-after .audit-diff-label{color:#15803d}.audit-diff-val{word-break:break-all;border-radius:6px;padding:8px 10px;font-family:monospace;font-size:11px;line-height:1.5}.audit-diff-val-old{color:#b91c1c;background:#f8717112;border:1px solid #f8717126}.audit-diff-val-new{color:#15803d;background:#4ade8012;border:1px solid #4ade8026}.audit-detail-field{align-items:flex-start;gap:10px;display:flex}.audit-detail-key{color:var(--text-5);text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;min-width:60px;padding-top:2px;font-size:10px;font-weight:700}.audit-detail-val{color:#415977;font-size:11px}.audit-detail-meta{border-top:1px solid #edf0f4;flex-wrap:wrap;gap:20px;padding-top:4px;display:flex}.audit-meta-item{align-items:center;gap:8px;display:flex}.audit-copy-btn{width:18px;height:18px;color:var(--text-5);border:1px solid #edf0f4;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.audit-copy-btn:hover{color:#1550b8;border-color:#60a5fa59}.uf-page{max-width:1000px;margin:0 auto;padding:2rem}.input-error{border-color:#b91c1c38!important}.uf-field-error{color:#a51212;margin-top:4px;font-size:11px}.uf-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.uf-optional{color:var(--text-muted);font-size:10px;font-weight:400}.uf-match{color:#15803d;align-items:center;gap:4px;margin-top:4px;font-size:11px;display:flex}.uf-pw-wrap{position:relative}.uf-pw-input{padding-right:40px!important}.uf-pw-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.uf-pw-toggle:hover{color:#0165b6}.uf-strength-bar{align-items:center;gap:8px;display:flex}.uf-strength-track{flex:1;gap:3px;display:flex}.uf-strength-seg{border-radius:2px;flex:1;height:3px;transition:background .2s}.uf-strength-label{text-align:right;min-width:36px;font-size:10px;font-weight:600}.uf-roles-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.uf-role-card{text-align:left;cursor:pointer;background:#0f172a03;border:1px solid #edf0f4;border-radius:10px;padding:10px 12px;transition:all .15s}.uf-role-card:hover{background:#0f172a07;border-color:#1e6dd438}.uf-role-card-active{background:#1565c01a!important;border-color:#1e6dd438!important}.uf-role-card-top{align-items:center;gap:6px;margin-bottom:5px;display:flex}.uf-role-check{color:#0266b6;flex-shrink:0;margin-left:auto}.uf-role-desc{color:var(--text-muted);font-size:10px;line-height:1.4}.uf-role-summary{background:#1565c014;border:1px solid #1e6dd438;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.uf-role-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px}.uf-role-summary-name{color:var(--text-primary);font-size:13px;font-weight:600}.uf-role-summary-desc{color:var(--text-muted);margin-top:2px;font-size:11px}@keyframes ring3d-enter{0%{opacity:0;transform:perspective(700px)rotateX(55deg)scale(.65)}70%{opacity:1;transform:perspective(700px)rotateX(19deg)scale(1.03)}to{opacity:1;transform:perspective(700px)rotateX(22deg)scale(1)}}@keyframes ring3d-glow{0%,to{filter:drop-shadow(0 6px 18px #1e6dd433)drop-shadow(0 0 6px #00bcd41a)}50%{filter:drop-shadow(0 8px 28px #1e6dd466)drop-shadow(0 0 14px #00bcd438)}}@keyframes ring3d-center-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.82;transform:scale(.96)}}@keyframes ring3d-halo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ring3d-bar-in{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes ring3d-stat-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ring3d-wrap{transform-origin:50% 58%;cursor:default;transition:transform .35s cubic-bezier(.34,1.2,.64,1);animation:.9s cubic-bezier(.34,1.36,.64,1) both ring3d-enter,3.6s ease-in-out .9s infinite ring3d-glow;position:relative;transform:perspective(700px)rotateX(22deg)}.ring3d-wrap:hover{transform:perspective(700px)rotateX(13deg)scale(1.03)}.ring3d-halo{pointer-events:none;background:conic-gradient(#0000 0%,#1e6dd41f 20%,#00bcd440 40%,#ffc10726 60%,#0000 80%);border-radius:50%;animation:8s linear infinite ring3d-halo-spin;position:absolute;inset:-10px;-webkit-mask:radial-gradient(farthest-side,#0000 82%,#000 85%);mask:radial-gradient(farthest-side,#0000 82%,#000 85%)}.ring3d-shadow{filter:blur(8px);pointer-events:none;background:#0f172a18;border-radius:50%;width:72%;height:18px;position:absolute;bottom:-14px;left:50%;translate:-50%}.ring3d-center{animation:2.8s ease-in-out infinite ring3d-center-pulse}.ring3d-bar-track{background:#0f172a07;border-radius:4px;height:3px;margin-top:4px;overflow:hidden}.uf-cancel-link{text-decoration:none}.cd-body{padding:24px 32px}.cd-actions{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.cd-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.cd-btn-edit{color:var(--text-2);border:1px solid var(--line);background:#0f172a09}.cd-btn-edit:hover{background:#0f172a10}.cd-btn-secondary{color:var(--text-2);border:1px solid var(--line);background:#0f172a07}.cd-btn-secondary:hover{background:#0f172a0b}.cd-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.cd-card{border:1px solid var(--line);background:#0f172a06;border-radius:10px;padding:14px 16px}.cd-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-4);margin-bottom:4px;font-size:.72rem}.cd-card-value{color:var(--text-1);font-size:.95rem;font-weight:600}.cd-card-prog{align-items:center;gap:8px;font-size:.85rem;display:flex}.cd-description{color:var(--text-3);background:#0f172a05;border-left:3px solid #3b82f6;border-radius:0 6px 6px 0;margin-bottom:20px;padding:10px 14px;font-size:.85rem}.cd-observations{border-left-color:#fb923c}.cd-section-header{border-bottom:2px solid #edf0f4;justify-content:space-between;align-items:center;margin:24px 0 10px;padding-bottom:6px;display:flex}.cd-section-title{color:var(--text-2);border:none;align-items:center;gap:7px;margin:0;padding:0;font-size:.92rem;font-weight:600;display:flex}.cd-add-sa-btn{color:#8a5a00;cursor:pointer;background:#ffc1071f;border:1px solid #ffc10759;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.cd-add-sa-btn:hover{background:#ffc1071a}.cd-empty{color:var(--text-4);padding:16px 0;font-size:.85rem;font-style:italic}.cd-inline-form-row{background:#f0f4f8}.cd-inline-form-row td{padding:6px 8px}.cd-inline-input{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:4px;outline:none;padding:4px 8px;font-size:.78rem}.cd-inline-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.cd-inline-input--code{width:64px}.cd-inline-input--titre{flex:1;min-width:200px}.cd-inline-btn{cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.cd-inline-btn--ok{background:var(--ok);color:#fff}.cd-inline-btn--ok:disabled{cursor:not-allowed;background:#86efac}.cd-inline-btn--cancel{background:var(--surface-3);color:var(--text-2)}.cd-inline-btn--cancel:hover{background:#d1d5db}.cd-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;margin-bottom:24px;font-size:.8rem;overflow:hidden;box-shadow:0 1px 3px #0f172a05}.cd-table th{background:var(--surface-2);color:var(--text-3);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:9px 12px;font-size:.73rem;font-weight:600}.cd-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:9px 12px}.cd-table tr:last-child td{border-bottom:none}.cd-table tr:hover td{background:#f8fafc}.cd-table-sa .cd-sa-row{background:#fafafa}.cd-table-sa .cd-tache-row td{color:#4b5563;background:#f0f4ff;font-size:.75rem}.cd-tache-titre{padding-left:8px}.cd-link{color:#1e6dd4;font-weight:500;text-decoration:none}.cd-link:hover{text-decoration:underline}.cd-code{color:#1e3a5f;background:#e8f0fe;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.72rem}.cd-statut{color:#374151;background:#f1f5f9;border-radius:10px;padding:2px 8px;font-size:.74rem}.cd-nature{color:var(--text-5);font-size:.74rem}.cd-prog{align-items:center;gap:6px;min-width:90px;font-size:.76rem;display:flex}.cd-expand-btn{cursor:pointer;color:var(--text-5);background:0 0;border:none;align-items:center;padding:2px;display:flex}.cd-expand-btn:hover{color:#1e3a5f}.cd-sa-titre{font-weight:500}.cd-row-actions{align-items:center;gap:4px;display:flex}.cd-row-btn{cursor:pointer;color:var(--text-5);background:0 0;border:1px solid #e5e7eb;border-radius:4px;align-items:center;padding:3px 6px;display:flex}.cd-row-btn:hover{color:#1e3a5f;border-color:#f2f3f5}.guide-detail-link{color:inherit;text-decoration:none}.guide-detail-link:hover{color:#0165b6;text-decoration:underline}.fp-summary-code{background:#0f172a11;border-radius:4px;margin-right:4px;padding:2px 8px;font-family:monospace;font-size:.9rem}.fp-summary-chip-link{color:#0165b6;text-decoration:none}.fp-summary-chip-link:hover{text-decoration:underline}.fp-summary{border:1px solid var(--line);background:#f1f2f4;border-radius:12px;margin-top:8px;padding:16px 22px}.fp-summary-title{color:var(--text-1);margin-bottom:6px;font-size:1.1rem;font-weight:700}.fp-summary-meta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.fp-summary-chip{color:var(--text-2);font-size:.82rem}.fp-summary-chip b{color:var(--text-1);font-weight:600}.fp-tabs-bar{background:#f0f0f2;border-bottom:1px solid #edf0f4;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:12px 24px;display:flex}.fp-tab{color:var(--text-3);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#0f172a07;border-radius:6px;padding:8px 18px;font-size:.8rem;font-weight:600;transition:all .15s}.fp-tab:hover{color:var(--text-2);border-color:var(--line-strong);background:#0f172a0b}.fp-tab.active{color:#8a5a00;background:#ffc1071a;border-color:#ffc10766}.fp-tab-badge{color:#8a5a00;background:#ffc1071a;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.fp-tab:not(.active) .fp-tab-badge{color:var(--text-3);background:#0f172a11}.marches-table{border-collapse:collapse;width:100%;font-size:.78rem}.marches-table th{color:#fff;text-align:left;white-space:nowrap;background:#b5591c;padding:6px 10px}.marches-table td{vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:6px 10px}.marches-table tr:hover td{background:#fef9f5}.marches-trim-cell{cursor:pointer;text-align:right;min-width:80px}.marches-trim-cell:hover{background:#fff3e8}.marches-trim-prevu{color:#15803d;font-size:.76rem;font-weight:600}.marches-trim-reel{color:#b91c1c;font-size:.72rem}.marches-trim-empty{color:var(--text-5);font-size:.72rem}.marches-date-cell{white-space:nowrap;font-size:.72rem}.marches-empty-cell{color:var(--text-5)}.marches-popup-wrap{width:100%;display:inline-block;position:relative}.marches-popup{z-index:50;background:#f2f3f5;border:none;border-radius:10px;min-width:320px;padding:16px;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #0f172a1b}.marches-popup-title{color:var(--text-1);border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:8px;font-size:.82rem;font-weight:600}.marches-popup-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.marches-popup-label{color:var(--text-2);min-width:130px;font-size:.75rem}.marches-popup-input{border:1px solid var(--line-strong);background:var(--surface);color:var(--text-1);border-radius:4px;flex:1;padding:4px 8px;font-size:.8rem}.marches-popup-input::placeholder{color:var(--text-4)}.marches-livrables-head{color:var(--text-1);justify-content:space-between;align-items:center;margin:12px 0 6px;font-size:.75rem;font-weight:600;display:flex}.marches-livrable-input{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text-1);border-radius:3px;padding:3px 6px;font-size:.73rem}.marches-livrable-input::placeholder{color:var(--text-4)}.marches-livrable-date{border:1px solid var(--line-strong);width:100%;color:var(--text-1);background:#0f172a09;border-radius:3px;padding:3px 6px;font-size:.73rem}.marches-livrable-rm{color:#b91c1c;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.marches-livrable-rm:hover{color:#b91c1c}.marches-popup-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:14px;padding-top:10px;display:flex}.marches-popup-save{color:var(--text-1);border:1px solid var(--line-strong);cursor:pointer;background:#0f172a11;border-radius:5px;padding:5px 14px;font-size:.78rem}.marches-popup-save:hover{background:#0f172a1d}.marches-popup-cancel{border:1px solid var(--line-strong);cursor:pointer;color:var(--text-3);background:0 0;border-radius:5px;padding:5px 14px;font-size:.78rem}.marches-add-btn{color:#fff;cursor:pointer;background:#d81b60;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.marches-add-btn:disabled{opacity:.4;cursor:not-allowed}.marches-liv-table{border-collapse:collapse;width:100%;margin-top:4px}.marches-liv-th-action{width:24px}.marches-liv-table th{color:#fff;text-align:left;background:#d81b60;padding:5px 8px;font-size:.72rem;font-weight:600}.marches-liv-table td{color:var(--text-1);background:#0f172a05;border-bottom:1px solid #edf0f4;padding:4px 8px;font-size:.74rem}.marches-liv-table tr:last-child td{border-bottom:none}.marches-note{color:#c2410c;padding:14px 0 4px;font-size:.8rem;font-weight:500}.marches-placeholder{text-align:center;color:var(--text-5);padding:60px;font-size:.9rem}.marches-wrap{padding:16px 0}.marches-empty{text-align:center;color:var(--text-5);padding:40px}.marches-composantes-tab{text-align:center;padding:24px}.marches-composantes-tab p{color:var(--text-5);margin-bottom:16px}.marches-nav-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:.85rem}.scd-page{background:#f0f1f2;min-height:100vh}.scd-hero{background:#f0f1f2;padding:20px 32px 0}.scd-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.scd-back{color:#0165b6;cursor:pointer;text-align:left;background:0 0;border:none;max-width:60%;padding:0;font-size:12px;line-height:1.4;text-decoration:none}.scd-back:hover{text-decoration:underline}.scd-hero-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.scd-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 12px;font-size:11px;font-weight:700;display:flex}.scd-badge-status{color:#c2410c;border:1.5px solid #e07b39}.scd-badge-status:before{content:"●";font-size:7px}.scd-badge-priority{color:#0165b6;border:1.5px solid #90caf9}.scd-btn-maj{border:1px solid var(--line);color:var(--text-1);cursor:pointer;white-space:nowrap;background:#0f172a08;border-radius:6px;align-items:center;gap:5px;padding:5px 14px;font-size:12px;display:flex}.scd-btn-maj:hover{background:#0f172a0f}.scd-btn-del{color:#b91c1c;cursor:pointer;background:#dc26261f;border:1px solid #dc262640;border-radius:6px;align-items:center;padding:5px 8px;display:flex}.scd-btn-del:hover{background:#dc26261a}.scd-main{align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.scd-logo{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.scd-logo img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;padding:4px}.scd-logo-placeholder{color:#fff;text-align:center;background:linear-gradient(135deg,#009e60 0%,#003f8a 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:6px;font-size:10px;font-weight:800;line-height:1.3;display:flex}.scd-info{flex:1;min-width:0}.scd-code{color:#c2410c;letter-spacing:.06em;margin-bottom:3px;font-family:monospace;font-size:12px;font-weight:700}.scd-nom{color:var(--text-1);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:20px;font-weight:800;line-height:1.2}.scd-parent{color:#475569;font-size:12px}.scd-parent a{color:#0165b6;text-decoration:none}.scd-parent a:hover{text-decoration:underline}.scd-stats{border-top:1px solid #edf0f4;display:flex;overflow-x:auto}.scd-stat{border-right:1px solid #edf0f4;flex:1;min-width:90px;padding:12px 18px}.scd-stat:last-child{border-right:none}.scd-stat-label{color:#475569;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;margin-bottom:3px;font-size:10px;font-weight:700}.scd-stat-value{color:var(--text-1);white-space:nowrap;font-size:13px;font-weight:600}.scd-stat-sub{color:var(--text-5);white-space:nowrap;margin-top:2px;font-size:10px}.scd-content{background:#f0f1f2}.scd-content-bar{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.scd-count{color:var(--text-5);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.scd-count-add{width:18px;height:18px;color:var(--text-5);cursor:pointer;background:0 0;border:1px solid #475569;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.scd-count-add:hover{color:#c2410c;border-color:#e07b39}.scd-add-btn{color:#c2410c;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:flex}.scd-add-btn:hover{text-decoration:underline}.scd-table{width:100%}.scd-empty{color:var(--text-5);padding:32px 20px;font-size:13px;font-style:italic}.scd-footer{color:#475569;border-top:1px solid #edf0f4;align-items:center;gap:12px;padding:10px 20px;font-size:12px;display:flex}.cmpd-page{background:#f0f1f2;min-height:100vh}.cmpd-breadcrumb{background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-3);align-items:center;gap:6px;padding:9px 24px;font-size:12px;display:flex}.cmpd-breadcrumb a{color:#0165b6;text-decoration:none}.cmpd-breadcrumb a:hover{text-decoration:underline}.cmpd-breadcrumb-sep{color:#334155;font-size:14px}.cmpd-breadcrumb-current{color:var(--text-5)}.cmpd-hero{background:#f0f1f2;border-bottom:1px solid #edf0f4;align-items:center;gap:16px;padding:14px 24px;display:flex}.cmpd-logo{border:1px solid var(--line);background:#0f172a07;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.cmpd-logo-img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.cmpd-logo-placeholder{color:var(--text-5);text-align:center;letter-spacing:.02em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.3}.cmpd-avatar{background:#f1f3f4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:52px;min-width:52px;padding:6px 4px;display:flex}.cmpd-avatar-letter{color:var(--text-1);font-size:20px;font-weight:800;line-height:1}.cmpd-avatar-code{color:#c2410c;letter-spacing:.05em;font-family:monospace;font-size:10px;font-weight:700}.cmpd-title-block{flex:220px;min-width:200px}.cmpd-nom{color:var(--text-1);margin-bottom:2px;font-size:15px;font-weight:700;line-height:1.3}.cmpd-desc{color:var(--text-5);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.4;overflow:hidden}.cmpd-parent-link{color:#c2410c;text-decoration:none}.cmpd-parent-link:hover{text-decoration:underline}.cmpd-stats-row{flex-wrap:wrap;justify-content:flex-end;row-gap:10px;min-width:0;display:flex}.cmpd-stat{border-right:1px solid #edf0f4;padding:0 18px}.cmpd-stat-last{border-right:none}.cmpd-stat-label{color:#475569;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;margin-bottom:2px;font-size:10px;font-weight:700}.cmpd-stat-value{color:var(--text-1);white-space:nowrap;font-size:12px;font-weight:600}.cmpd-hero-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.cmpd-action-btn{border:1px solid var(--line);color:var(--text-5);cursor:pointer;background:#0f172a08;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.cmpd-action-btn:hover{color:var(--text-1);background:#0f172a0f}.cmpd-action-btn-del{color:#b91c1c;border-color:#dc26264d}.cmpd-action-btn-del:hover{background:#dc26261a}.cmpd-content{padding:20px 24px}.cmpd-section-bar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cmpd-section-bar--mt{margin-top:24px}.cmpd-section-title{color:var(--text-5);font-size:12px;font-weight:600}.fdr-sa-wrap{border-radius:0 0 8px 8px;margin-top:0;overflow-x:auto;box-shadow:0 4px 12px #0f172a1f}.fdr-sa-table{border-collapse:collapse;white-space:nowrap;background:#f0f0f2;width:100%;font-size:.72rem}.fdr-sa-th{color:#3c577c;text-transform:uppercase;letter-spacing:.06em;text-align:center;vertical-align:middle;background:#f2f3f5;border:1px solid #edf0f4;padding:6px 8px;font-size:.67rem;font-weight:700}.fdr-sa-th-group{background:#f1f2f4;border-bottom:2px solid #fbbf24}.fdr-sa-thead-sub .fdr-sa-th{background:#f1f3f4;padding:4px 6px;font-size:.65rem}.fdr-sa-th-n{width:32px}.fdr-sa-th-wide{min-width:160px}.fdr-sa-th-t{width:70px}.fdr-sa-th-taux{width:90px}.fdr-sa-td{vertical-align:middle;color:var(--text-2);border:1px solid #edf0f4;padding:6px 8px}.fdr-sa-td-center{text-align:center}.fdr-sa-td-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-3);font-size:.7rem}.fdr-sa-td-date{text-align:center;color:var(--text-3);font-size:.7rem}.fdr-sa-td-desc{text-overflow:ellipsis;max-width:160px;color:var(--text-3);overflow:hidden}.fdr-sa-code-ref{color:#6d28d9;font-family:monospace;font-size:.65rem;font-weight:700}.fdr-sa-code{color:#8a5a00;margin-bottom:2px;font-family:monospace;font-size:.65rem;display:block}.fdr-sa-titre{color:var(--text-2);font-size:.72rem}.fdr-sa-nature{color:var(--text-3);font-size:.68rem}.fdr-sa-taux{color:#15803d;font-size:.72rem;font-weight:700}.fdr-sa-taux-zero{color:var(--text-5);font-size:.72rem}.fdr-sa-gauge{align-items:center;gap:5px;min-width:70px;display:flex}.fdr-sa-gauge-progress{appearance:none;background:#0f172a0b;border:none;border-radius:3px;flex:1;height:6px}.fdr-sa-gauge-progress::-webkit-progress-bar{background:#0f172a0b;border-radius:3px}.fdr-sa-gauge-progress::-webkit-progress-value{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:3px;transition:width .3s}.fdr-sa-gauge-progress::-moz-progress-bar{background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:3px}.fdr-sa-gauge-label{color:#15803d;text-align:right;flex-shrink:0;min-width:26px;font-size:.65rem;font-weight:700}.fdr-sa-range-wrap{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.fdr-sa-range{cursor:pointer;accent-color:#22c55e;width:100%}.fdr-sa-range-val{color:var(--text-3);font-size:.65rem}.fdr-sa-form-actions{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.fdr-sa-livrable-hint{color:var(--text-5);white-space:nowrap;font-size:.6rem}.fdr-sa-livrable{color:var(--text-3);font-size:.7rem}.fdr-sa-row:nth-child(2n){background:#0f172a03}.fdr-sa-row:hover{background:#3b82f614}.fdr-sa-form-row{background:#f2f3f58c}.fdr-sa-form-row .fdr-sa-td{border-color:var(--line);padding:4px 6px}.fdr-sa-form-inline{flex-direction:column;gap:3px;display:flex}.fdr-sa-input{border:1px solid var(--line-strong);color:#3c577c;background:var(--surface);box-sizing:border-box;border-radius:4px;outline:none;width:100%;padding:3px 6px;font-size:.7rem}.fdr-sa-input::placeholder{color:var(--text-5)}.fdr-sa-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px #1e6dd42e}.fdr-sa-input option{color:#3c577c;background:#fff}.fdr-sa-input-sm{width:56px}.fdr-sa-input-num{text-align:right;width:90px}.fdr-sa-input-date{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:110px}.fdr-sa-btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.fdr-sa-btn-ok{background:var(--ok);color:#fff}.fdr-sa-btn-ok:disabled{cursor:not-allowed;background:#16a34a1a}.fdr-sa-btn-cancel{color:var(--text-3);background:#0f172a0b}.fdr-sa-btn-cancel:hover{background:#0f172a15}.fdr-sa-btn-edit{color:#1550b8;background:#3b82f61a}.fdr-sa-btn-edit:hover{background:#3b82f61a}.fdr-sa-btn-del{color:#b91c1c;background:#ef44441f}.fdr-sa-btn-del:hover{background:#ef44441a}.fdr-sa-btn-del:disabled{opacity:.5;cursor:not-allowed}.fdr-sa-row-actions{justify-content:center;align-items:center;gap:4px;display:flex}.fdr-sa-btn-taches{color:#6d28d9;background:#8b5cf61a}.fdr-sa-btn-taches:hover{background:#8b5cf61a}.fdr-sa-btn-taches.active{color:#2600b8;background:#8b5cf61a}.fdr-tache-expanded>td{background:#f0f1f2;border-top:1px solid #8b5cf640;border-bottom:2px solid #8b5cf640;padding:0}.fdr-tache-panel{padding:0 0 6px}.fdr-tache-panel-header{color:#6d28d9;background:#8b5cf614;border-bottom:1px solid #8b5cf626;align-items:center;gap:6px;padding:6px 14px;font-size:.72rem;font-weight:600;display:flex}.guide-fdr-expanded>td{background:#f0f0f2;border-top:2px solid #f2f3f5;padding:0}.lv-cell{align-items:center;gap:4px;display:flex}.lv-doc{align-items:center;gap:2px;display:flex}.lv-doc-link{color:#0057b8;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f640;border-radius:4px;align-items:center;gap:3px;max-width:120px;padding:2px 5px;font-size:.65rem;display:inline-flex}.lv-doc-link:hover{background:#3b82f61a}.lv-doc-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lv-doc-del{color:#b91c1c;cursor:pointer;background:#ef44441a;border:none;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.lv-doc-del:hover{background:#ef44441a}.lv-empty{color:var(--text-5);font-size:.75rem}.lv-upload-btn{border:1px solid var(--line);width:18px;height:18px;color:var(--text-3);cursor:pointer;background:#0f172a07;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.lv-upload-btn:hover{color:var(--text-2);background:#0f172a0e}.lv-upload-btn:disabled{opacity:.4;cursor:not-allowed}.fdr-sa-bar{background:#f0f2f3;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.fdr-sa-bar-title{color:var(--text-5);font-size:.72rem;font-weight:600}.fdr-sa-bar-add{color:#8a5a00;cursor:pointer;background:#ffc1071f;border:1px solid #ffc10759;border-radius:5px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.fdr-sa-bar-add:hover{background:#ffc1071a}.fdr-sa-empty{text-align:center;color:var(--text-5);background:#f0f0f2;padding:16px;font-size:.75rem;font-style:italic}.fp-page{background:#f0f1f2;flex-direction:column;height:100%;display:flex;overflow-y:auto}.fp-back{color:var(--text-4);cursor:pointer;background:0 0;border:none;padding:0 0 10px;font-size:.75rem;display:block}.fp-hero-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.fp-hero-top .fp-back{padding:0}.fp-back:hover{color:var(--text-2)}.fp-hero{background:#fff;border-bottom:2px solid #ffc10738;flex-shrink:0;padding:20px 32px 22px}.fp-hero-inner{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.fp-hero-logo{-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);background:#0f172a07;border-radius:10px;flex-shrink:0;width:60px;height:60px;padding:5px}.fp-hero-logo-ph{color:#8a5a00;background:#ffc1071a;border:1px solid #ffc10738;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.fp-hero-body{flex:1;min-width:0}.fp-hero-ref{color:#8a5a00;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px;font-weight:700}.fp-hero-title{color:var(--text-1);margin-bottom:8px;font-size:1.25rem;font-weight:900;line-height:1.25}.fp-hero-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fp-hero-chip{color:var(--text-3);border:1px solid var(--line);background:#0f172a08;border-radius:4px;padding:2px 8px;font-size:10px}.fp-hero-kpis{flex-shrink:0;gap:24px;display:flex}.fp-hero-kpi{text-align:right}.fp-hero-kpi-label{color:var(--text-4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:10px;font-weight:700}.fp-hero-kpi-val{color:#3c577c;font-size:.9rem;font-weight:700}.fp-hero-kpi-prog{color:#3c577c;align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.fp-tabs{background:#f0f0f2;border-bottom:1px solid #edf0f4;flex-shrink:0;padding:0 24px;display:flex;overflow-x:auto}.fiche-tab{color:var(--text-4);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 18px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.fiche-tab:hover{color:var(--text-2)}.fiche-tab--active{color:#8a5a00;border-bottom-color:#fbbf24}.fp-tab-content{background:#f0f1f2;flex:1;padding:28px 32px;overflow-y:auto}.fp-empty{color:var(--text-4);padding:24px 0;font-size:.85rem;font-style:italic}.fp-cta-section{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 0;display:flex}.fp-cta-text{color:var(--text-3);font-size:.85rem}.fp-cta-placeholder{font-style:italic}.fp-cta-btn{color:#8a5a00;cursor:pointer;background:#ffc1071f;border:1px solid #ffc10759;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.fp-cta-btn:hover{background:#ffc1071a}.fp-general{flex-direction:column;gap:20px;display:flex}.fp-general-actions{gap:8px;margin-bottom:4px;display:flex}.fp-action-btn{border:1px solid var(--line);color:var(--text-2);cursor:pointer;background:#0f172a08;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.fp-action-btn:hover{background:#0f172a0e}.fp-general-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.fp-field{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:12px 14px}.fp-field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);margin-bottom:5px;font-size:10px;font-weight:700}.fp-field-value{color:var(--text-2);font-size:.88rem;font-weight:600}.fp-field-prog{color:var(--text-2);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.fp-general-desc{background:#0f172a05;border:1px solid #edf0f4;border-left:3px solid #3b82f6;border-radius:0 8px 8px 0;padding:14px 16px}.fp-field-desc-text{color:var(--text-3);margin:6px 0 0;font-size:.85rem;line-height:1.6}.fp-equipe-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.fp-equipe-card{background:#0f172a05;border:1px solid #edf0f4;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.fp-equipe-avatar{background:#ffc1071a;border:1px solid #ffc10738;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.fp-equipe-avatar-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.fp-equipe-avatar-init{color:#8a5a00;font-size:1rem;font-weight:700}.fp-equipe-name{color:var(--text-1);font-size:.88rem;font-weight:700}.fp-equipe-email{color:var(--text-4);margin-top:1px;font-size:.75rem}.fp-equipe-role{text-transform:uppercase;letter-spacing:.06em;color:#0057b8;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:4px;margin-top:4px;padding:1px 6px;font-size:.68rem;font-weight:600;display:inline-block}.fp-marches-wrap{flex-direction:column;gap:10px;display:flex}.fp-marches-legend{color:var(--text-3);align-items:center;gap:6px;font-size:.78rem;display:flex}.fp-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.fp-legend-dot--orange{background:#f97316}.fp-marches-scroll{border-radius:10px;overflow-x:auto;box-shadow:0 2px 12px #0f172a1f}.fp-marche-table{border-collapse:collapse;white-space:nowrap;background:#f0f0f2;width:100%;font-size:.72rem}.fp-mth{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;text-align:center;vertical-align:middle;background:#f1f3f5;border:1px solid #edf0f4;padding:8px 10px;font-size:.67rem;font-weight:700}.fp-mth-comp{color:#b45309;text-align:left;background:#f7f3f1;min-width:140px}.fp-mth-act{color:#b45309;text-align:left;background:#f7f3f1;min-width:200px}.fp-mth-t{background:#f1f2f4;border-bottom:2px solid #fbbf24;width:90px}.fp-marche-row{border-bottom:1px solid #edf0f4}.fp-marche-row:hover{background:#f973160f}.fp-mtd{vertical-align:middle;color:var(--text-2);border:1px solid #edf0f4;padding:8px 10px}.fp-mtd-comp{background:#f7f3f126;border-left:3px solid #f97316}.fp-mtd-act{background:#f7f3f11a}.fp-mtd-center{text-align:center}.fp-mtd-date{text-align:center;color:var(--text-3);font-size:.68rem}.fp-mtd-t{text-align:center;cursor:pointer;transition:background .12s}.fp-mtd-t:hover{background:#ffc1071a}.fp-comp-name{color:#b45309;font-size:.72rem;font-weight:700}.fp-sc-name{color:#b45309;margin-top:2px;font-size:.65rem}.fp-marche-code{color:#8a5a00;margin-bottom:2px;font-family:monospace;font-size:.63rem;display:block}.fp-marche-titre{color:var(--text-2);font-size:.72rem}.fp-t-prev{color:#15803d;font-size:.68rem;font-weight:600}.fp-t-reel{color:#c2410c;margin-top:2px;font-size:.68rem;font-weight:600}.fp-t-empty{color:var(--text-5);font-size:.7rem}.fp-popup-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fp-popup{border:1px solid var(--line);background:#f0f2f3;border-radius:12px;width:480px;max-width:100%;overflow:hidden;box-shadow:0 20px 60px #0f172a1f}.fp-popup-header{background:#f1f3f5;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.fp-popup-tri{color:#0a1628;background:#fbbf24;border-radius:4px;margin-right:8px;padding:2px 8px;font-size:.7rem;font-weight:800;display:inline-block}.fp-popup-titre{color:var(--text-2);font-size:.82rem;font-weight:600}.fp-popup-close{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:#0f172a09;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.fp-popup-close:hover{color:var(--text-1);background:#0f172a11}.fp-popup-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.fp-popup-dec-row{align-items:center;gap:10px;display:flex}.fp-popup-dec-label{color:var(--text-3);min-width:160px;font-size:.78rem}.fp-popup-dec-prev{color:#15803d;font-size:.85rem;font-weight:700}.fp-popup-dec-reel{color:#c2410c;font-size:.85rem;font-weight:700}.fp-popup-dec-input{background:var(--surface);border:1px solid var(--line-strong);color:#c2410c;border-radius:6px;outline:none;width:140px;padding:5px 10px;font-size:.82rem;font-weight:700}.fp-popup-dec-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.fp-popup-save-btn{background:var(--ok);color:#fff;cursor:pointer;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.fp-popup-save-btn:disabled{opacity:.5;cursor:not-allowed}.fp-popup-save-btn:hover:not(:disabled){background:#15803d}.fp-popup-liv-section{border-top:1px solid #edf0f4;margin-top:2px;padding-top:12px}.fp-popup-liv-bar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.fp-popup-liv-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.fp-popup-liv-add-btn{color:#8a5a00;cursor:pointer;background:#ffc1071a;border:1px solid #ffc10759;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.fp-popup-liv-add-btn:hover{background:#ffc1071a}.fp-popup-liv-table{border-collapse:collapse;width:100%;font-size:.75rem}.fp-popup-liv-th{color:var(--text-4);text-transform:uppercase;letter-spacing:.06em;background:#0f172a06;border-bottom:1px solid #edf0f4;padding:5px 8px;font-size:.65rem;font-weight:700}.fp-popup-liv-th-act{width:40px}.fp-popup-liv-row{border-bottom:1px solid #edf0f4}.fp-popup-liv-row:last-child{border-bottom:none}.fp-popup-liv-td{color:var(--text-2);padding:6px 8px}.fp-popup-liv-td-date{color:var(--text-4);font-size:.7rem}.fp-popup-liv-td-act{text-align:center}.fp-popup-liv-del{color:#b91c1c;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.fp-popup-liv-del:hover{background:#ef44441a}.fp-popup-liv-form-row td{background:#ffc1070a}.fp-popup-liv-input{background:var(--surface);border:1px solid var(--line-strong);color:#3c577c;border-radius:4px;outline:none;width:100%;padding:4px 7px;font-size:.73rem}.fp-popup-liv-input-date{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.fp-popup-liv-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1e6dd42e}.fp-popup-liv-ok{background:var(--ok);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.fp-popup-liv-cancel{width:22px;height:22px;color:var(--text-3);cursor:pointer;background:#0f172a09;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.fp-popup-liv-ok:disabled{opacity:.4;cursor:not-allowed}.fp-popup-liv-empty{color:var(--text-5);text-align:center;padding:10px 8px;font-style:italic}.qd-page{padding:32px}.qd-block{margin-bottom:24px}.qd-alert{margin-bottom:16px}.qd-btn{padding:8px 12px}.qd-btn-lg{margin-top:20px;padding:8px 16px}.qd-kpi{padding:16px}.qd-kpi>*+*{margin-top:4px}.qd-chip{padding:4px 12px}.qd-push{margin-left:auto}.qd-sections>*+*{margin-top:32px}.qd-section-title{margin-bottom:12px}.qd-card{padding:20px}.qd-card>*+*{margin-top:10px}.qd-card h3{margin-top:8px}.qd-badge{padding:2px 8px}.qd-apercu>li+li{margin-top:4px}.qd-search{margin-bottom:12px;padding:6px 12px}.qd-table th,.qd-table td{padding:8px 12px}.qd-empty-icon{margin:0 auto 16px;display:block}:focus-visible{outline-offset:2px;outline:2px solid var(--focus)!important}input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline-offset:0}::selection{color:var(--text-1);background:#cfe0f8}button:not(:disabled),[role=button],summary,label[for],select{cursor:pointer}*{scrollbar-width:thin;scrollbar-color:#c3cad6 transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
