:root{--ink:#13202b;--ink-2:#3d4b57;--ink-3:#55636e;--line:#e3e8e6;--paper:#f6f8f7;--green:#0b6e5b;--green-soft:#e3f3ee;--amber-soft:#fff4dc;--amber-ink:#6b4600;--red-soft:#fde8e8;--red-ink:#8a1c1c}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--green)}h1,h2,h3{font-family:Bricolage Grotesque,IBM Plex Sans,sans-serif;letter-spacing:-.01em;line-height:1.15;margin:0 0 8px}h1{font-size:30px}h2{font-size:20px}h3{font-size:16px}b,strong{font-weight:600}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.side{background:#fff;border-right:1px solid var(--line);padding:20px 14px 16px;position:-webkit-sticky;position:sticky;top:0;max-height:100vh;overflow-y:auto}.side,.side-body{display:flex;flex-direction:column}.side-body{flex:1 1;min-height:0}.side-body>nav{flex:1 1}.nav-section+.nav-section{margin-top:18px}.nav-title{padding:0 10px 6px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.nav-group+.nav-group{margin-top:2px}.side a.nav-item,.side a.nav-sub{position:relative;display:flex;align-items:flex-start;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:14px;line-height:1.35}.side .nav-icon{flex:none;margin-top:1px;color:var(--ink-3)}.nav-subs{position:relative;margin:2px 0 2px 19px;padding-left:10px}.nav-subs:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1.5px;background:var(--line);border-radius:1px}.side a.nav-sub{padding:6px 10px;font-size:13.5px}.side a.nav-item:hover,.side a.nav-sub:hover{background:var(--paper);color:var(--ink)}.side a.nav-item:hover .nav-icon{color:var(--ink-2)}.side a[aria-current=page],.side a[aria-current=page]:hover{background:var(--green-soft);color:var(--green);font-weight:500}.side a[aria-current=page] .nav-icon{color:var(--green)}.side a.nav-item[aria-current=page]:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--green)}.nav-group.parent-actif>a.nav-item{color:var(--ink);font-weight:500}.nav-group.parent-actif>a.nav-item .nav-icon{color:var(--green)}.nav-group.parent-actif>.nav-subs:before{background:var(--green)}.side a:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.side-brand{display:grid;grid-gap:2px;gap:2px;padding:4px 10px 16px}.side-brand a{display:flex;align-items:center;gap:10px;padding:0;color:inherit}.side-copro{font-size:13px;color:var(--ink-3)}.side-copro>summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;list-style:none;cursor:pointer;margin:0 -6px;padding:2px 6px;border-radius:6px;min-width:0}.side-copro>summary::-webkit-details-marker{display:none}.side-copro>summary:hover{background:var(--paper);color:var(--ink)}.side-copro-nom{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-copro-chevron{flex:none;transition:transform .15s}.side-copro[open] .side-copro-chevron{transform:rotate(180deg)}.side-copro-menu{display:grid;margin-top:4px}.side .side-copro-menu a{display:block;padding:5px 6px;margin:0 -6px;border-radius:6px;font-size:13px;color:var(--green);text-decoration:none}.side .side-copro-menu a:hover{background:var(--paper)}.side .side-toggle{display:none}.side-foot{margin-top:20px;padding:12px 4px 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);display:grid;grid-gap:6px;gap:6px}.side-user{display:flex;align-items:center;gap:8px;min-width:0;padding:0 6px}.side-avatar{flex:none;width:24px;height:24px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:600;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.side-email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.side-foot-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.side-foot-row form{display:contents}.side .side-link{display:inline-flex;align-items:center;gap:6px;padding:6px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer;text-decoration:none}.side .side-link:hover{background:var(--paper);color:var(--ink)}.side-foot .pill{font-size:11.5px;padding:1px 8px;font-weight:500}.main{padding:32px 36px;max-width:1100px;min-width:0}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;overflow-x:auto}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.kpi .v{font-size:28px;font-weight:700;font-family:Bricolage Grotesque,IBM Plex Sans,sans-serif}.kpi .l{color:var(--ink-3);font-size:14px}.kpi a,a.kpi{color:inherit}a.kpi{text-decoration:none;transition:border-color .15s}a.kpi:focus-visible,a.kpi:hover{border-color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:600;cursor:pointer;font-size:15px;font-family:inherit;text-decoration:none;text-align:center}.btn.ghost{background:#fff;color:var(--ink);border-color:#cbd4d0}.btn:disabled{opacity:.55;cursor:not-allowed}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--green-soft);color:var(--green);white-space:nowrap}.pill.warn{background:var(--amber-soft);color:var(--amber-ink)}.pill.bad{background:var(--red-soft);color:var(--red-ink)}.pill.neutral{background:#eef1f0;color:var(--ink-2)}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.tab{display:inline-block;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid #cbd4d0;background:#fff;color:var(--ink-2)}.tab[aria-current=page]{border-color:var(--green);background:var(--green-soft);color:var(--green)}.tabs.small{margin:0}.tabs.small .tab{padding:2px 10px;font-size:12.5px}.back{display:inline-block;margin:0 0 4px}.back,table{font-size:14px}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--ink-3);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px}td,th{border-bottom:1px solid var(--line)}td{padding:10px;vertical-align:top}td.amt,th.amt{text-align:right;white-space:nowrap}tfoot td{border-bottom:0}.neg{color:var(--ink)}.pos{color:var(--green)}.ellipsis{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.span2{grid-column:span 2}.lot-row{display:grid;grid-template-columns:90px 1fr 1fr 130px;grid-gap:12px;gap:12px;align-items:center;position:relative;padding-right:44px!important}.lot-row:after{content:"";position:absolute;right:22px;top:50%;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:translateY(-70%) rotate(45deg);transition:transform .15s}details[open]>.lot-row:after{transform:translateY(-30%) rotate(-135deg)}.lot-row:hover{background:var(--paper);border-radius:14px}details[open]>.lot-row:hover{border-radius:14px 14px 0 0}.lot-row::-webkit-details-marker{display:none}.drop{border:2px dashed #cbd4d0;border-radius:14px;padding:36px;text-align:center;background:#fff}.drop.over{border-color:var(--green);background:var(--green-soft)}.alert{padding:14px 16px;border-radius:12px;background:var(--amber-soft);color:var(--amber-ink)}.alert.bad{background:var(--red-soft);color:var(--red-ink)}.alert.ok{background:var(--green-soft);color:var(--green)}.muted{color:var(--ink-3)}.muted,.pager{font-size:14px}.pager{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px}select{background:#fff}input[type=file]{max-width:100%;min-width:0;font-family:inherit;color:var(--ink-3)}input[type=file]::-webkit-file-upload-button{font:inherit;font-weight:600;font-size:13px;color:var(--ink);background:#fff;border:1px solid #cbd4d0;border-radius:8px;padding:6px 12px;margin-right:10px;cursor:pointer}input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:13px;color:var(--ink);background:#fff;border:1px solid #cbd4d0;border-radius:8px;padding:6px 12px;margin-right:10px;cursor:pointer}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.side{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:10px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-column-gap:10px;column-gap:10px}.side-brand{padding:0}.side .side-toggle{margin-top:6px}.side-copro{min-width:0}.side .side-toggle{display:inline-flex}.side-body{display:none;grid-column:1/-1;padding-top:14px}.side-body.open{display:block}.side a.nav-item{padding:10px;font-size:15px}.side a.nav-sub{padding:9px 10px;font-size:14px}.side .nav-icon{margin-top:2px}.side-foot{margin-top:14px}.main{padding:20px 16px}.kpi .v,h1{font-size:24px}.card{padding:16px}input,select,textarea{font-size:16px!important}.lot-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.lot-row>:nth-child(4){grid-column:2;grid-row:1}.lot-row>:nth-child(2),.lot-row>:nth-child(3){grid-column:1/-1}}@media (max-width:600px){.grid{gap:10px}.grid:has(>.kpi){grid-template-columns:repeat(2,minmax(0,1fr))}.grid>.wide,.grid>form,.span2{grid-column:1/-1}table.livre thead{display:none}table.livre tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:4px;row-gap:4px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}table.livre td{display:block;border:0;padding:0;min-width:0!important}table.livre td:first-child{grid-column:1;grid-row:1}table.livre td:nth-child(2){grid-column:2;grid-row:1}table.livre td:nth-child(6){grid-column:3;grid-row:1;font-size:15px}table.livre td:nth-child(3),table.livre td:nth-child(4),table.livre td:nth-child(5){grid-column:1/-1}table.livre td:nth-child(4)>span{max-width:none!important}table.livre .ellipsis{max-width:100%}table.apercu thead{display:none}table.apercu tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:2px;row-gap:2px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}table.apercu td{display:block;border:0;padding:0;min-width:0}table.apercu td:first-child{grid-column:1;grid-row:1}table.apercu td:nth-child(2){grid-column:2;grid-row:1}table.apercu td:nth-child(4){grid-column:3;grid-row:1}table.apercu td:nth-child(3){grid-column:1/-1;overflow-wrap:anywhere}table.presences thead{display:none}table.presences tbody tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-column-gap:10px;column-gap:10px;grid-row-gap:6px;row-gap:6px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}table.presences td{display:block;border:0;padding:0}table.presences td:nth-child(4){grid-column:1/-1}table.presences td:nth-child(4) form>*{flex:1 1 45%;width:auto!important}table.presences td:nth-child(4) form>button{flex:1 1 100%}}.skel{border-radius:10px;background:linear-gradient(90deg,#EEF2F0 25%,#F7F9F8 50%,#EEF2F0 75%);background-size:200% 100%;animation:skel 1.2s ease-in-out infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}details.repliable>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:17px}details.repliable>summary::-webkit-details-marker{display:none}details.repliable>summary:after{content:"+";font-size:22px;font-weight:400;color:var(--green);line-height:1}details.repliable[open]>summary:after{content:"−"}details.repliable>summary .muted{font-weight:400;font-size:13px}details.repliable>.contenu,details.repliable>form{margin-top:14px}details.options>summary{cursor:pointer;font-size:13.5px;color:var(--green);font-weight:600;list-style:none;grid-column:1/-1}details.options>summary::-webkit-details-marker{display:none}details.options>summary:before{content:"+ "}details.options[open]>summary:before{content:"− "}details.options>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;align-items:end;margin-top:10px}details.options{grid-column:1/-1}.defile{overflow-x:auto;position:relative;background:linear-gradient(270deg,rgba(19,32,43,.08),transparent 18px) 100% /18px 100% no-repeat}.defile table{background:transparent}table.fige td:first-child,table.fige th:first-child{position:-webkit-sticky;position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 0 var(--line)}