:root{--bg: #FAFAF8;--surface: #FFFFFF;--ink: #101413;--ink-2: #3A423F;--muted: #6B7370;--muted-2: #8B918C;--line: #E6E7E2;--line-soft: #F0F1EC;--line-firm: #D5D8D2;--neutral: #EDEEE9;--teal-900: #062A2E;--teal-800: #0B4A50;--teal-700: #0E6068;--teal-600: #12787F;--teal-300: #8FBFC2;--teal-100: #DCEEF0;--teal-50: #F0F8F9;--terra: #C25A2B;--terra-dark: #8A3E17;--terra-mid: #D9762F;--terra-100: #F7EBDA;--terra-50: #FDF6EF;--terra-line: #F3DFC6;--green: #1E7A4D;--green-dark: #155C3B;--green-50: #E8F4ED;--green-dot: #4FB07C;--amber: #C98A0A;--amber-dark: #8A6205;--amber-50: #FBF3DE;--red: #B23B33;--red-dark: #8E2F28;--red-50: #FBEEED;--red-line: #E8C9C6;--blue: #2C5FA8;--blue-50: #EAF0FA;--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--r-sm: 9px;--r: 12px;--r-md: 16px;--r-lg: 18px;--r-xl: 22px;--shadow-sm: 0 1px 2px rgba(16, 20, 19, .04);--shadow: 0 6px 18px rgba(16, 20, 19, .09);--shadow-lg: 0 20px 50px rgba(16, 20, 19, .28);--page: 1200px;--sidebar: 258px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--teal-700);text-decoration:none}a:hover{color:var(--terra)}::selection{background:var(--teal-100)}*:focus-visible{outline:3px solid var(--teal-600);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{margin:0;letter-spacing:-.02em;text-wrap:balance}p{margin:0;text-wrap:pretty}ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12.5px}.strong{font-weight:700}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{max-width:var(--page);margin:0 auto;padding:0 32px}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:20px}.grid{display:grid;gap:20px}.grid>*{min-width:0}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.grid-paire{grid-template-columns:1fr 1fr}.grid-filtre{grid-template-columns:230px 1fr}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.rise{animation:rise .3s ease-out both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.scroll-x{overflow-x:auto}.scroll-x::-webkit-scrollbar{height:8px}.scroll-x::-webkit-scrollbar-thumb{background:var(--line-firm);border-radius:999px}@media (max-width: 900px){.page{padding:0 22px}.grid-filtre{grid-template-columns:1fr}}@media (max-width: 720px){.page{padding:0 16px}body{font-size:14.5px}.stack,.grid{gap:16px}.scroll-x{overflow-x:visible}.scroll-x>*{min-width:0!important}.tbl-head{display:none}.tbl-row{grid-template-columns:1fr!important;column-gap:0;row-gap:5px;padding:15px 16px;align-items:start}.tbl-row>.right{text-align:left}.tbl-row,.tbl-row>*{overflow-wrap:anywhere;min-width:0}.tbl-foot{padding:14px 16px}}@media (max-width: 420px){.grid-paire{grid-template-columns:1fr}}@media (max-width: 360px){.page{padding:0 13px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:24px}.card-pad-sm{padding:18px}.card-hover{transition:box-shadow .18s ease,transform .18s ease}.card-hover:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card-warn{background:var(--terra-50);border-color:var(--terra-line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;padding:12px 18px;border-radius:var(--r-sm);font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;background:none;transition:background .15s ease,border-color .15s ease;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal-700);color:#fff}.btn-primary:hover:not(:disabled){background:var(--teal-800);color:#fff}.btn-accent{background:var(--terra);color:#fff}.btn-accent:hover:not(:disabled){background:var(--terra-dark);color:#fff}.btn-ghost{border-color:var(--line-firm);background:var(--surface);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--line-soft);color:var(--ink)}.btn-soft{background:var(--teal-50);color:var(--teal-800)}.btn-soft:hover:not(:disabled){background:var(--teal-100);color:var(--teal-800)}.btn-danger{border-color:var(--red-line);background:var(--surface);color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-50);color:var(--red-dark)}.btn-sm{padding:9px 14px;font-size:13px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--neutral);color:var(--ink-2)}.badge .dot{width:6px;height:6px;border-radius:999px;background:currentColor;flex:none}.badge-teal{background:var(--teal-100);color:var(--teal-800)}.badge-green{background:var(--green-50);color:var(--green-dark)}.badge-amber{background:var(--amber-50);color:var(--amber-dark)}.badge-red{background:var(--red-50);color:var(--red-dark)}.badge-terra{background:var(--terra-100);color:var(--terra-dark)}.badge-blue{background:var(--blue-50);color:var(--blue)}.bar{height:9px;border-radius:999px;background:var(--line-soft);overflow:hidden}.bar>i{display:block;height:100%;border-radius:999px;background:var(--terra);transition:width .5s ease}.bar-sm{height:7px}.bar-teal>i{background:var(--teal-700)}.bar-green>i{background:var(--green)}.bar-amber>i{background:var(--amber)}.tbl{width:100%}.tbl-head,.tbl-row{display:grid;column-gap:18px;align-items:center}.tbl-head{background:var(--line-soft);padding:13px 20px;font-size:12px;font-weight:700;color:var(--ink-2)}.tbl-row{padding:14px 20px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--ink);text-decoration:none}.tbl-row:hover{background:var(--bg);color:var(--ink)}.tbl-row.is-active{background:var(--teal-50)}.tbl-row.is-flag{background:#fefcf7}.tbl-foot{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;align-items:center;padding:15px 20px;border-top:1px solid var(--line);background:var(--bg)}.right{text-align:right}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13.5px;font-weight:600;color:var(--ink-2)}.input,.select,.textarea{width:100%;padding:11px 14px;font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r-sm);transition:border-color .15s ease}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted-2)}.input::placeholder,.textarea::placeholder{color:var(--muted-2)}.textarea{min-height:96px;resize:vertical}.input.is-error,.select.is-error,.textarea.is-error{border-color:var(--red);background:var(--red-50)}.field-error{font-size:12.5px;color:var(--red-dark);font-weight:600}.hint{font-size:12.5px;color:var(--muted)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:999px;background:var(--teal-100);color:var(--teal-800);font-size:12px;font-weight:700}.avatar-lg{width:48px;height:48px;font-size:15px}.spinner{width:20px;height:20px;border-radius:999px;flex:none;border:2.5px solid var(--line);border-top-color:var(--teal-700);animation:spin .7s linear infinite}.skeleton{background:var(--line-soft);border-radius:var(--r-sm);animation:pulse 1.4s ease-in-out infinite}.empty{border:1px dashed var(--line-firm);border-radius:var(--r-lg);background:var(--surface);padding:48px 24px;text-align:center}.figure{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.figure-xl{font-size:clamp(26px,7vw,36px);line-height:1.1}.figure-lg{font-size:clamp(23px,6vw,30px)}.figure-md{font-size:clamp(19px,5vw,24px)}.figure-sm{font-size:clamp(15.5px,4vw,17px)}.figure,.figure-xl,.figure-lg,.figure-md,.figure-sm{overflow-wrap:anywhere}.unit{font-size:.42em;color:var(--muted);margin-left:8px;font-weight:500}.tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line)}.tab{flex:none}.tab{padding:10px 14px;border-radius:var(--r-sm) var(--r-sm) 0 0;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;background:none;cursor:pointer}.tab:hover{color:var(--ink-2)}.tab.is-active{color:var(--teal-800);border-bottom-color:var(--teal-700);background:var(--teal-50)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;padding:24px;background:#062a2e80;display:flex;align-items:center;justify-content:center;overflow-y:auto}.modal{width:100%;background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .22s ease-out both;margin:auto;max-height:90vh;display:flex;flex-direction:column}.modal-head,.modal-foot{flex:none}.modal-head{padding:22px 24px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.modal-body{padding:24px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.modal-foot{padding:18px 24px;background:var(--bg);border-top:1px solid var(--line-soft);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.modal-close{width:32px;height:32px;flex:none;border:0;border-radius:var(--r-sm);background:var(--line-soft);color:var(--ink-2);font-size:15px;cursor:pointer}.modal-close:hover{background:var(--line)}.toasts{position:fixed;bottom:24px;right:24px;z-index:80;display:flex;flex-direction:column;gap:10px;max-width:380px}.toast{background:var(--ink);color:var(--neutral);border-radius:14px;padding:16px 18px;box-shadow:0 16px 40px #10141347;display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;animation:pop .2s ease-out both}.toast .mark{width:26px;height:26px;flex:none;border-radius:8px;background:#ffffff1f;display:inline-flex;align-items:center;justify-content:center}.toast .mark i{width:8px;height:8px;border-radius:999px;background:var(--green-dot);display:block}.toast-error .mark i{background:#e8827a}@media (max-width: 900px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}}@media (max-width: 720px){.toasts{left:12px;right:12px;bottom:12px;max-width:none}.card-pad{padding:16px}.card-pad-sm{padding:14px}.overlay{padding:0;align-items:flex-end;overflow:hidden}.modal{max-width:none!important;border-radius:18px 18px 0 0;max-height:92vh;max-height:92dvh;margin:0}.modal-head{padding:18px 16px}.modal-body{padding:18px 16px;overflow-y:auto}.modal-foot{padding:14px 16px}.modal-foot .btn{flex:1 1 100%}.btn{padding:12px 16px}.empty{padding:32px 18px}.avatar-lg{width:40px;height:40px;font-size:13.5px}}@media (max-width: 400px){.btn{width:100%}.btn-sm{width:auto}.tab{padding:10px 11px;font-size:13.5px}}.labico-cadre{display:flex;min-height:100vh;align-items:stretch}.labico-sidebar{width:var(--sidebar);flex:none;background:var(--teal-900);color:#c7dedf;padding:18px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;max-height:100vh;overflow-y:auto;box-sizing:border-box}.labico-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;font-size:13px;font-weight:600;text-decoration:none}.labico-nav:hover{background:#ffffff14;color:#fff}.labico-badge{flex:none;font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:999px;white-space:nowrap;background:#ffffff1a;color:var(--teal-100)}.labico-burger,.labico-voile{display:none}.labico-main{flex:1;min-width:0;display:flex;flex-direction:column}.labico-topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 32px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start;justify-content:space-between;position:sticky;top:0;z-index:10}.labico-titre{margin:0;font-size:21px;font-weight:700;line-height:1.25}.labico-contenu{padding:28px 32px 72px;flex:1}@media (max-width: 900px){.labico-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:min(var(--sidebar),86vw);transform:translate(-100%);transition:transform .22s ease;box-shadow:0 0 40px #062a2e59}.labico-sidebar[data-ouvert]{transform:none}.labico-voile{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#062a2e73;border:0;padding:0;cursor:pointer;animation:rise .18s ease-out both}.labico-burger{display:inline-flex}.labico-topbar{padding:14px 22px}.labico-contenu{padding:22px 22px 56px}}@media (max-width: 720px){.labico-topbar{padding:12px 16px;gap:10px 14px}.labico-titre{font-size:18px}.labico-contenu{padding:18px 16px 48px}}@media (max-width: 400px){.labico-topbar{padding:11px 13px}.labico-contenu{padding:16px 13px 44px}.labico-titre{font-size:17px}}body[data-menu-ouvert]{overflow:hidden}.labico-entete-public{padding-top:14px;padding-bottom:14px}.labico-nav-public{display:flex;gap:6px;font-size:14.5px;font-weight:600;flex-wrap:wrap;min-width:0}.labico-nav-public>a{padding:8px 13px;border-radius:9px;white-space:nowrap;flex:none}@media (max-width: 720px){.labico-nav-public{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:2px}.labico-nav-public::-webkit-scrollbar{display:none}.labico-entete-public{padding-top:11px;padding-bottom:11px}}.accueil-section{padding-top:clamp(30px,6vw,64px);padding-bottom:0}.accueil-manchette{padding-top:clamp(28px,5vw,56px)}.accueil-derniere{padding-bottom:clamp(40px,8vw,72px)}.accueil-duo{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:clamp(26px,5vw,52px)}.accueil-titre{margin:20px 0 0;font-size:clamp(30px,3.4vw + 1.08rem,58px);line-height:1.05;letter-spacing:-.035em;font-weight:800;max-width:17ch}.accueil-sous-titre{font-size:clamp(22px,5vw,30px);font-weight:700}.accueil-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.accueil-actions .btn{padding:14px 22px;font-size:15px}.accueil-compteur{padding:clamp(18px,4vw,26px)}.accueil-trio{grid-template-columns:repeat(auto-fit,minmax(min(88px,100%),1fr));gap:clamp(10px,2.5vw,16px)}.accueil-appel{border-radius:clamp(16px,3vw,22px);background:var(--teal-800);color:#eaf4f4;padding:clamp(20px,5vw,38px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(22px,4vw,36px);align-items:center}.accueil-appel-titre{margin:14px 0 0;font-size:clamp(22px,5.5vw,32px);font-weight:700;line-height:1.15;max-width:22ch}.accueil-appel-action{margin-top:22px;padding:14px 22px;font-size:15px}.accueil-jauge{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:clamp(16px,4vw,24px);min-width:0}@media (max-width: 420px){.accueil-actions{flex-direction:column;align-items:stretch}.accueil-actions .btn{width:100%}}.connexion{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}.connexion-panneau{background:var(--teal-900);color:#c7dedf;padding:clamp(22px,5vw,48px) clamp(16px,4vw,40px);display:flex;flex-direction:column;justify-content:space-between}.connexion-argument{margin:clamp(20px,5vw,48px) 0}.connexion-texte{margin-top:16px;font-size:clamp(14.5px,2vw,16px);line-height:1.7;max-width:46ch}.connexion-note{font-size:12.5px;color:var(--teal-300)}.connexion-formulaire{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,48px) clamp(16px,4vw,32px)}@media (max-width: 720px){.connexion-argument{margin:18px 0}.connexion-note{display:none}}
