:root{--encre:#0f1533;--encre2:#1d2450;--encre3:#2c3462;--maj:#4a3dd1;--majd:#2e2495;--majw:#edebfa;--majb:#c7c0f0;--or:#a87a16;--orv:#d9a93c;--orw:#faf3e1;--rouge:#a81e2d;--rougew:#fbedee;--vert:#14664f;--vertw:#e7f2ee;--n0:#fff;--n50:#f4f5f7;--n100:#eaecf0;--n200:#dbdfe6;--n300:#c4cad4;--n400:#98a0ae;--n600:#586172;--n800:#2a3141;--rad:5px;--row:38px;--fs:13.5px;--pad:10px;--padx:14px}body.compact{--row:29px;--fs:12.5px;--pad:5px;--padx:10px}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--fs);background:var(--n100);color:var(--encre);-webkit-font-smoothing:antialiased;margin:0}body[dir=rtl]{font-family:IBM Plex Sans Arabic,Inter,sans-serif}h1,h2,h3,.disp,.brand{letter-spacing:-.018em;margin:0;font-family:Archivo,Inter,sans-serif}h3{margin:18px 0 8px;font-size:15px;font-weight:700}.num,td,th,input[type=number],.card-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.num{white-space:nowrap;font-family:IBM Plex Mono,ui-monospace,monospace}td.num,th.num{text-align:end}.login-wrapper{background:var(--n100);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--n0);border:1px solid var(--n200);border-radius:8px;flex-direction:column;gap:10px;width:360px;padding:34px 30px;display:flex;box-shadow:0 1px 3px #0f153314,0 8px 24px #0f15330f}.login-card h1{letter-spacing:-.03em;color:var(--encre);text-align:center;font-size:23px;font-weight:700}.login-card .subtitle{text-align:center;color:var(--n600);margin:0 0 14px;font-size:12.5px}.app{min-height:100vh;display:flex}.side{background:var(--encre);color:#fff;flex-direction:column;flex-shrink:0;width:222px;height:100vh;display:flex;position:sticky;top:0}body[dir=rtl] .side{order:2}.side-head{border-bottom:1px solid var(--encre3);padding:15px 14px 12px}.side-head .brand{letter-spacing:-.03em;color:#fff;font-size:17px;font-weight:700}.side-head .brand span{color:var(--orv)}.side-head .tenant{color:#7b84a8;letter-spacing:.09em;text-transform:uppercase;margin-top:1px;font-size:9.5px}.side-nav{flex:1;padding-bottom:10px;overflow-y:auto}.side-grp{text-transform:uppercase;letter-spacing:.11em;color:#7b84a8;padding:14px var(--padx) 5px;font-size:10px}.side-nav button{width:100%;padding:7px var(--padx);cursor:pointer;color:#c3c9de;border:none;text-align:start;background:0 0;border-inline-start:2px solid #0000;align-items:center;gap:9px;font-family:inherit;font-size:13px;display:flex}.side-nav button:hover{background:var(--encre2);color:#fff}.side-nav button.active{background:var(--encre3);color:#fff;border-inline-start-color:var(--orv);font-weight:500}.side-foot{border-top:1px solid var(--encre3);color:#7b84a8;padding:10px 14px;font-size:11px}.main-col{background:var(--n50);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--n0);border-bottom:1px solid var(--n200);z-index:5;flex-shrink:0;align-items:center;gap:9px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}main{width:100%;max-width:1460px;padding:20px;overflow-x:auto}.cards{flex-wrap:wrap;gap:12px;display:flex}.card{background:var(--n0);border:1px solid var(--n200);border-radius:var(--rad);flex-direction:column;flex:1;gap:3px;min-width:190px;padding:14px 16px;display:flex}.card-label{color:var(--n600);letter-spacing:.08em;text-transform:uppercase;order:-1;font-size:10.5px;font-weight:600}.card-value{letter-spacing:-.02em;color:var(--encre);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:23px;font-weight:600}.inline-form{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;display:flex}input,select{border:1px solid var(--n300);border-radius:var(--rad);color:var(--encre);background:#fff;padding:6px 10px;font-family:inherit;font-size:13px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--orv);outline-offset:1px}button{background:var(--maj);color:#fff;border:1px solid var(--maj);border-radius:var(--rad);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}button:hover{background:var(--majd);border-color:var(--majd)}table button,.btn-ghost{color:var(--encre);border-color:var(--n300);background:#fff}table button:hover,.btn-ghost:hover{background:var(--n50);border-color:var(--n300)}button:disabled{opacity:.45;cursor:not-allowed}.logout{color:var(--encre);border-color:var(--n300);background:#fff}.logout:hover{background:var(--n50);border-color:var(--n300)}.upload-label{background:var(--maj);color:#fff;border-radius:var(--rad);cursor:pointer;align-items:center;padding:7px 13px;font-size:13px;font-weight:500;display:inline-flex}.upload-label:hover{background:var(--majd)}.error{background:var(--rougew);color:var(--rouge);border-radius:var(--rad);border:1px solid #f3d3d6;margin-bottom:10px;padding:8px 12px;font-size:12.5px}.message{background:var(--vertw);color:var(--vert);border-radius:var(--rad);border:1px solid #c9e2d9;margin-bottom:10px;padding:8px 12px;font-size:12.5px}.hint{color:var(--n600);font-size:11px}table{border-collapse:collapse;background:var(--n0);border:1px solid var(--n200);border-radius:var(--rad);width:100%;margin-bottom:14px}th,td{text-align:start;padding:var(--pad) var(--padx);border-bottom:1px solid var(--n100);font-size:var(--fs)}tbody td{min-height:var(--row)}th{background:var(--n50);color:var(--n600);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:10.5px;font-weight:600}tbody tr:hover td{background:var(--n50)}tr:last-child td{border-bottom:none}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-draft{background:var(--n100);color:var(--n600)}.badge-validated{background:var(--orw);color:var(--or)}.badge-paid{background:var(--vertw);color:var(--vert)}.badge-cancelled{background:var(--rougew);color:var(--rouge)}.lang-switcher{border-radius:var(--rad);border:1px solid var(--n300);color:var(--encre);cursor:pointer;background:#fff;padding:6px 8px;font-size:13px}.login-card .lang-switcher{align-self:center}.checkbox-label{color:var(--n600);align-items:center;gap:6px;font-size:12.5px;display:flex}.candidate-row td{background:var(--majw);font-size:12.5px}.ai-panel{background:var(--orw);border:1px dashed var(--or);border-radius:var(--rad);margin:10px 0;padding:12px 14px;font-size:12.5px;line-height:1.55}.ai-panel h3{color:var(--or);margin:0 0 6px;font-size:13px}.ai-panel p{margin:4px 0}.ai-panel ul{margin:6px 0 0;padding-inline-start:18px}.ai-question{color:var(--majd);margin-top:10px;font-weight:600}.side-nav button.locked{color:#666f92}.side-nav button.locked:hover{color:#9aa2bd}.side-nav .f1{flex:1}.side-nav .lk{opacity:.85;font-size:10px}.offer-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.offer-label{color:var(--n600);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.offer-name{color:var(--majd);font-size:16px}.offer-modules{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:8px;margin-bottom:6px;display:grid}.offer-mod{border:1px solid var(--n200);border-radius:var(--rad);background:var(--n0);padding:9px 11px;font-size:12.5px}.offer-mod.off{background:var(--n50);border-style:dashed}.offer-mod-head{align-items:baseline;gap:6px;margin-bottom:3px;display:flex}.offer-mod p{color:var(--n800);margin:6px 0 0;line-height:1.5}.offer-cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:10px;margin-bottom:6px;display:grid}.offer-card{border:1px solid var(--n200);border-radius:var(--rad);background:var(--n0);flex-direction:column;gap:6px;padding:11px 13px;font-size:12.5px;display:flex}.offer-card.current{border-color:var(--maj);background:var(--majw)}.offer-card-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.offer-card p{flex:1;margin:0;line-height:1.5}.offer-card .tag{background:var(--maj);color:var(--n0);border-radius:999px;padding:1px 8px;font-size:10px}.offer-delta{font-size:11.5px}.offer-delta.add{color:var(--vert)}.offer-delta.drop{color:var(--rouge)}.offer-pick{flex-wrap:wrap;gap:6px 16px;margin:6px 0 10px;font-size:12.5px;display:flex}.offer-pick label{align-items:center;gap:5px;display:flex}.field-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:8px 12px;margin-bottom:12px;display:grid}.field-grid label{color:var(--n600);flex-direction:column;gap:3px;font-size:11.5px;display:flex}.field-grid label.wide{grid-column:1/-1}.field-grid input,.field-grid select{width:100%}button.danger{background:var(--rougew);color:var(--rouge);border-color:#f3d3d6}button.danger:hover{background:var(--rouge);color:var(--n0)}button.ghost{background:var(--n0);color:var(--n600);border-color:var(--n200)}button.ghost:hover{background:var(--n50);color:var(--encre)}.tiroir-fond{z-index:40;background:#0f153361;justify-content:flex-end;display:flex;position:fixed;inset:0}.tiroir{background:var(--n0);flex-direction:column;width:min(560px,100%);display:flex;box-shadow:-8px 0 28px #0f15332e}body[dir=rtl] .tiroir-fond{justify-content:flex-start}.tiroir-tete{padding:var(--pad) var(--padx);border-bottom:1px solid var(--n200);justify-content:space-between;align-items:center;display:flex}.tiroir-filtres{padding:var(--pad) var(--padx);border-bottom:1px solid var(--n100)}.tiroir-filtres input{width:100%}.tiroir-familles{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.tiroir-familles button{padding:3px 9px;font-size:12px}.tiroir-liste{flex:1;padding:4px 0;overflow-y:auto}.tiroir-art{padding:4px var(--padx);border-bottom:1px solid var(--n50);align-items:center;gap:8px;display:flex}.tiroir-art.choisi{background:var(--majw)}.tiroir-art-corps{color:var(--encre);text-align:start;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:5px 0;font-weight:400;display:flex}.tiroir-art-corps:hover{color:var(--maj);background:0 0}.tiroir-art-nom{font-weight:500}.tiroir-art-prix{text-align:end;width:6rem;color:var(--n600)}.tiroir-art-qte{width:5rem}.tiroir-pied{padding:var(--pad) var(--padx);border-top:1px solid var(--n200);background:var(--n50);justify-content:space-between;align-items:center;gap:10px;display:flex}.grille-lignes{margin-bottom:12px;overflow-x:auto}.grille-lignes table{min-width:46rem}.grille-lignes input,.grille-lignes select{width:100%;padding:3px 6px}.grille-lignes td:nth-child(3) input,.grille-lignes td:nth-child(5) input,.grille-lignes td:nth-child(6) input{min-width:4.5rem}.hint.dispo{font-size:11px;display:block}.hint.ok,.ok{color:var(--vert)}.hint.rupture,.rupture{color:var(--rouge)}.totaux{border:1px solid var(--n200);border-radius:var(--rad);width:min(24rem,100%);padding:var(--pad) var(--padx);background:var(--n0);margin-inline-start:auto}.totaux-ligne{color:var(--n600);justify-content:space-between;align-items:center;gap:10px;padding:3px 0;display:flex}.totaux-ligne input{width:8rem;padding:3px 6px}.totaux-ligne.fort{color:var(--encre);border-top:1px solid var(--n100);padding-top:6px;font-weight:500}.totaux-ligne.total{color:var(--encre);border-top:1px solid var(--n300);margin-top:5px;padding-top:7px;font-size:15px;font-weight:600}.choix-tiers{position:relative}.choix-liste{top:100%;z-index:20;background:var(--n0);border:1px solid var(--n300);border-radius:var(--rad);width:100%;min-width:16rem;max-height:15rem;padding:3px;position:absolute;inset-inline-start:0;overflow-y:auto;box-shadow:0 6px 18px #0f15331f}.choix-liste button{width:100%;color:var(--encre);text-align:start;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:0;padding:5px 8px;font-weight:400;display:flex}.choix-liste button:hover{background:var(--majw);color:var(--encre)}.choix-liste p{margin:6px 8px}.field-grid textarea{border:1px solid var(--n300);border-radius:var(--rad);width:100%;min-height:3.6rem;color:var(--encre);resize:vertical;padding:6px 10px;font-family:inherit;font-size:13px}.tiroir-etroit{width:min(420px,100%)}.tiroir-corps{padding:var(--pad) var(--padx);overflow-y:auto}.dossier-ligne{border-bottom:1px solid var(--n50);margin:3px 0;padding-bottom:3px}.autocomplete{z-index:5;background:var(--surface,#fff);border:1px solid var(--border,#d0d4dc);border-radius:6px;min-width:20em;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;box-shadow:0 6px 18px #00000014}.autocomplete li button{text-align:start;width:100%}
