@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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}.fond-aller-a[data-v-c5703876]{z-index:50;background:#1c1b1961;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.fenetre-aller-a[data-v-c5703876]{background:var(--surface);border-radius:14px;flex-direction:column;width:min(620px,100%);max-height:75vh;display:flex;overflow:hidden;box-shadow:0 30px 70px -20px #1c1b198c}.champ-aller-a[data-v-c5703876]{border-bottom:1px solid var(--filet);align-items:center;gap:12px;min-height:58px;padding:0 18px;display:flex}.champ-aller-a svg[data-v-c5703876]{width:18px;height:18px;color:var(--text-muted);flex:none}.champ-aller-a input[data-v-c5703876],.champ-aller-a input[data-v-c5703876]:focus,.champ-aller-a input[data-v-c5703876]:hover{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0;font-size:17px}kbd[data-v-c5703876]{font-family:var(--mono);border:1px solid var(--border);color:var(--text-muted);background:var(--surface);border-radius:4px;padding:0 5px;font-size:11px}.resultats-aller-a[data-v-c5703876]{padding:6px 8px;overflow-y:auto}.titre-groupe-aller-a[data-v-c5703876]{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:10px 12px 4px;font-size:11px;font-weight:600}.ligne-aller-a[data-v-c5703876],.ligne-aller-a[data-v-c5703876]:hover{width:100%;box-shadow:none;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-weight:400;display:flex}.ligne-aller-a.actif[data-v-c5703876],.ligne-aller-a.actif[data-v-c5703876]:hover{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.ref-aller-a[data-v-c5703876]{width:40px;font-family:var(--mono);color:var(--text-muted);flex:none;font-size:12px}.textes-aller-a[data-v-c5703876]{flex-direction:column;flex:1;min-width:0;display:flex}.nom-aller-a[data-v-c5703876]{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.detail-aller-a[data-v-c5703876]{color:var(--text-muted);font-size:12px}.entree-aller-a[data-v-c5703876]{font-family:var(--mono);color:var(--accent-hover);flex:none;font-size:11px}.vide-aller-a[data-v-c5703876]{margin:14px}.pied-aller-a[data-v-c5703876]{border-top:1px solid var(--filet);background:var(--survol-ligne);color:var(--text-muted);align-items:center;gap:6px;margin:0;padding:8px 18px;font-size:12px;display:flex}.visuellement-masque[data-v-c5703876]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.barre-chantier[data-v-009b3fbb]{align-items:stretch;gap:var(--e4);background:var(--surface);border-bottom:1px solid var(--filet);min-height:46px;padding:0 20px;display:flex}.identite-chantier[data-v-009b3fbb]{min-width:0;max-width:420px;padding-right:var(--e4);border-right:1px solid var(--filet);color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.identite-chantier:hover .nom-chantier[data-v-009b3fbb]{color:var(--accent-hover)}.ref-chantier[data-v-009b3fbb]{font-family:var(--mono);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;flex:none;padding:1px 6px;font-size:12px}.nom-chantier[data-v-009b3fbb]{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;overflow:hidden}.onglets-chantier[data-v-009b3fbb]{align-items:stretch;gap:var(--e4);scrollbar-width:none;display:flex;overflow-x:auto}.onglet-chantier[data-v-009b3fbb]{white-space:nowrap;color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;font-size:14px;text-decoration:none;display:flex}.onglet-chantier[data-v-009b3fbb]:hover{color:var(--text);text-decoration:none}.onglet-chantier.actif[data-v-009b3fbb]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}@media (width<=720px){.barre-chantier[data-v-009b3fbb]{flex-direction:column;gap:0;padding:0 12px}.identite-chantier[data-v-009b3fbb]{border-right:none;max-width:none;padding:8px 0 4px}.onglet-chantier[data-v-009b3fbb]{min-height:40px}}.modale-fond[data-v-0b1e0b6b]{z-index:50;background:#1c1b1973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modale[data-v-0b1e0b6b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-bloc);width:min(480px,100%);box-shadow:var(--ombre-2);padding:20px 22px}.modale h3[data-v-0b1e0b6b]{margin:0;font-size:15px}.modale p[data-v-0b1e0b6b]{white-space:pre-line;margin:10px 0 0;font-size:13px;line-height:1.5}.modale-actions[data-v-0b1e0b6b]{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.nav-principale[data-v-f063c6e9]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.lien-nav[data-v-f063c6e9]{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:7px 11px;font-size:11.5px;font-weight:600;font-stretch:104%;transition:color .12s;display:flex}.lien-nav[data-v-f063c6e9]:before{content:"";background:0 0;border-radius:1px;width:3px;height:13px}.lien-nav[data-v-f063c6e9]:hover{color:var(--text);background:var(--bg);text-decoration:none}.lien-nav.actif[data-v-f063c6e9],.menu-nav.actif>.lien-nav[data-v-f063c6e9]{color:var(--text)}.lien-nav.actif[data-v-f063c6e9]:before,.menu-nav.actif>.lien-nav[data-v-f063c6e9]:before{background:var(--accent)}.lien-nav[data-v-f063c6e9]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.menu-nav[data-v-f063c6e9]{background:0 0;border:none;margin:0;padding:0;position:relative}.menu-nav summary[data-v-f063c6e9]{list-style:none}.menu-nav summary[data-v-f063c6e9]::-webkit-details-marker{display:none}.menu-nav summary[data-v-f063c6e9]:after{content:"▾";letter-spacing:0;font-size:10px;font-weight:400}.menu-nav[open]>summary[data-v-f063c6e9]{color:var(--text);background:var(--accent-soft)}.menu-nav-panel[data-v-f063c6e9]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:20;flex-direction:column;min-width:150px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #1c1b191f}.menu-nav-panel a[data-v-f063c6e9]{border-radius:var(--radius);color:var(--text);padding:6px 10px;font-size:13px}.menu-nav-panel a[data-v-f063c6e9]:hover{background:var(--accent-soft);text-decoration:none}.panneau-chantiers[data-v-f063c6e9]{min-width:340px}.menu-nav-panel a.entree-nav[data-v-f063c6e9]{align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.ref-nav[data-v-f063c6e9]{width:34px;font-family:var(--mono);color:var(--text-muted);flex:none;padding-top:1px;font-size:12px}.textes-nav[data-v-f063c6e9]{flex-direction:column;min-width:0;display:flex}.nom-nav[data-v-f063c6e9]{text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:600;overflow:hidden}.detail-nav[data-v-f063c6e9]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;overflow:hidden}.titre-panneau-nav[data-v-f063c6e9]{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px 2px;font-size:10.5px;font-weight:600}.separateur-nav[data-v-f063c6e9]{border:none;border-top:1px solid var(--filet);margin:4px 0}.menu-nav-panel a.entree-icone[data-v-f063c6e9]{align-items:center;gap:10px;font-weight:600}.entree-icone svg[data-v-f063c6e9]{width:16px;height:16px;color:var(--accent-hover);flex:none}.menu-nav-panel a.entree-simple[data-v-f063c6e9]{color:var(--accent-hover);font-weight:600}.bouton-aller-a[data-v-f063c6e9],.bouton-aller-a[data-v-f063c6e9]:hover{border:1px solid var(--filet);background:var(--bg);height:34px;box-shadow:none;color:var(--text-muted);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 12px;font-size:13px;font-weight:400;display:inline-flex}.bouton-aller-a[data-v-f063c6e9]:hover{border-color:var(--border);color:var(--text)}.bouton-aller-a svg[data-v-f063c6e9]{width:15px;height:15px}.libelle-aller-a[data-v-f063c6e9]{text-align:left;min-width:120px}.raccourci-aller-a[data-v-f063c6e9]{font-family:var(--mono);border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:0 5px;font-size:11px}@media (width<=720px){.libelle-aller-a[data-v-f063c6e9],.raccourci-aller-a[data-v-f063c6e9]{display:none}.bouton-aller-a[data-v-f063c6e9],.bouton-aller-a[data-v-f063c6e9]:hover{justify-content:center;width:40px;height:40px;padding:0}.panneau-chantiers[data-v-f063c6e9]{width:calc(100vw - 24px);min-width:0}}.topbar-right[data-v-f063c6e9]{align-items:center;gap:12px;margin-left:auto;display:flex}.compte-menu[data-v-f063c6e9]{background:0 0;border:none;margin:0;padding:0;position:relative}.compte-menu summary[data-v-f063c6e9]{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);align-items:center;padding:6px 10px;font-size:13px;font-weight:600;list-style:none;display:flex}.compte-menu summary[data-v-f063c6e9]::-webkit-details-marker{display:none}.compte-menu summary[data-v-f063c6e9]:after{content:"▾";margin-left:6px;font-weight:400}.compte-menu summary[data-v-f063c6e9]:hover,.compte-menu[open] summary[data-v-f063c6e9]{background:var(--accent-soft);color:var(--accent-hover)}.compte-menu-panel[data-v-f063c6e9]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--ombre-2);z-index:20;border-radius:10px;flex-direction:column;width:270px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.compte-menu-panel a[data-v-f063c6e9],.compte-menu-deconnexion[data-v-f063c6e9]{align-items:center;gap:10px;display:flex}.compte-menu-panel a svg[data-v-f063c6e9],.compte-menu-deconnexion svg[data-v-f063c6e9]{flex:none;width:16px;height:16px}.compte-menu-panel a svg[data-v-f063c6e9]{color:var(--accent-hover)}.compte-menu-panel a[data-v-f063c6e9]{border-radius:var(--radius);color:var(--text);padding:8px 10px;font-size:14px}.compte-menu-panel a[data-v-f063c6e9]:hover{background:var(--accent-soft);text-decoration:none}.compte-menu-email[data-v-f063c6e9]{color:var(--text-muted);border-bottom:1px solid var(--filet);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;padding:6px 10px 8px;font-size:12px;overflow:hidden}.compte-menu-groupe-label[data-v-f063c6e9]{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:8px 10px 2px;font-size:11px;font-weight:600}.compte-menu-separateur[data-v-f063c6e9]{border:none;border-top:1px solid var(--filet);margin:4px 0}.compte-menu-deconnexion[data-v-f063c6e9]{text-align:left;border-radius:var(--radius);width:100%;color:var(--danger);cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:14px;font-weight:600}.compte-menu-deconnexion[data-v-f063c6e9]:hover{background:var(--danger-soft);color:var(--danger)}.compte-menu-version[data-v-f063c6e9]{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-muted);border-top:1px solid var(--filet);-webkit-user-select:all;user-select:all;white-space:nowrap;margin-top:4px;padding:6px 10px 2px;font-size:11px}.badge.compte[data-v-f063c6e9]{background:var(--border);color:var(--text-muted)}.badge.admin[data-v-f063c6e9]{background:var(--danger-soft);color:var(--danger)}:root{--bg:#f6f5f2;--surface:#fff;--border:#c7c2b5;--text:#1c1b19;--text-muted:#57524a;--accent:#f7a431;--accent-hover:#c68327;--accent-soft:#fef1e0;--danger:#9b2c2c;--danger-soft:#fbe9e9;--warn:#8a5a12;--warn-soft:#fbf1de;--intemperies:#1d4f91;--intemperies-fond:#e3ecf7;--intemperies-raye:#cfdcee;--retard:#d91a1a;--retard-fond:#fde0e0;--retard-raye:#f8b8b8;--succes:#2f6b3e;--succes-soft:#e7f2e9;--ligne-cotation:#8f8a7c;--e1:4px;--e2:8px;--e3:12px;--e4:20px;--e5:32px;--e6:48px;--statut-attente:#57524a;--statut-attente-fond:#edeae3;--statut-encours:#8a5a12;--statut-encours-fond:#fbf1de;--statut-fait:#2f6b3e;--statut-fait-fond:#e7f2e9;--statut-urgent:#9b2c2c;--statut-urgent-fond:#fbe9e9;--radius:6px;--radius-bloc:12px;--filet:#e4dfd4;--survol-ligne:#faf9f6;--fond-appuye:#f1efe9;--danger-filet:#f0d4d4;--warn-filet:#eddfc0;--ombre-1:0 1px 2px #1c1b190d;--ombre-2:0 1px 2px #1c1b190d, 0 10px 24px -14px #1c1b1947;--encre-sur-accent:#1c1b19;--mono:"JetBrains Mono Variable", "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--sans:"Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}:root[data-theme=sombre]{--bg:#171614;--surface:#201f1c;--filet:#302e2a;--border:#46423c;--text:#f0ece4;--text-muted:#a49d92;--accent:#f7a431;--accent-hover:#ffb955;--accent-soft:#3a2a12;--encre-sur-accent:#1c1b19;--danger:#e98b8b;--danger-soft:#3a2020;--warn:#e0b263;--warn-soft:#372c17;--intemperies:#8fb4e6;--intemperies-fond:#1c2736;--intemperies-raye:#243244;--retard:#ff6b6b;--retard-fond:#3d1616;--retard-raye:#561d1d;--succes:#82c096;--succes-soft:#1e2f24;--ligne-cotation:#7d766a;--statut-attente:#b7b0a4;--statut-attente-fond:#2b2926;--statut-encours:#e0b263;--statut-encours-fond:#372c17;--statut-fait:#82c096;--statut-fait-fond:#1e2f24;--statut-urgent:#e98b8b;--statut-urgent-fond:#3a2020;--survol-ligne:#272521;--fond-appuye:#2b2926;--danger-filet:#4d2c2c;--warn-filet:#47381d;--ombre-1:0 1px 2px #00000059;--ombre-2:0 1px 2px #00000059, 0 10px 24px -14px #000c}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}#app{flex-direction:column;min-height:100vh;display:flex}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}header.topbar{background:var(--surface);border-bottom:1px solid var(--filet);box-shadow:var(--ombre-1);z-index:30;color:var(--text);align-items:center;gap:22px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}header.topbar .logo{border-right:1px solid var(--filet);align-self:stretch;align-items:center;padding-right:22px;display:flex}header.topbar .logo img{height:26px;display:block}main.content{padding:var(--e5) var(--e5) var(--e6);flex:1;width:100%;max-width:1200px;margin:0 auto}main.content.pleine-largeur{max-width:none}main.content.bord-a-bord{max-width:none;padding:0}h1{letter-spacing:-.012em;margin:0 0 6px;padding-left:14px;font-size:24px;font-weight:650;font-stretch:108%;position:relative}h1:before{content:"";background:var(--accent);border-radius:1px;width:4px;position:absolute;top:.18em;bottom:.18em;left:0}h2{align-items:center;gap:var(--e3);margin:var(--e5) 0 var(--e3);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;font-weight:600;font-stretch:104%;display:flex}h2:after{content:"";background:var(--filet);flex:1;height:1px}.sub{color:var(--text-muted);margin-bottom:var(--e4);font-size:13px}.jetons-details{margin-bottom:var(--e3)}.jetons-details summary{color:var(--text-muted);cursor:pointer;font-size:12px}.jetons-liste{margin:var(--e2) 0 0;flex-wrap:wrap;gap:6px;display:flex}.jetons-liste code{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2px 6px;font-size:11px}.scroll-sentinelle{text-align:center;min-height:1px;padding:14px 0}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--filet);border-radius:var(--radius-bloc);width:100%;box-shadow:var(--ombre-1)}.table-scroll{width:100%;margin-bottom:var(--e4);overflow-x:auto}th,td{border-bottom:1px solid var(--filet);text-align:left;font-variant-numeric:tabular-nums;vertical-align:top;padding:7px 11px}th{background:var(--surface);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);white-space:nowrap;font-size:10.5px;font-weight:600;font-stretch:104%}tbody tr{transition:background .12s}tbody tr:hover{background:var(--survol-ligne)}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-family:var(--mono);white-space:nowrap}tr.titre td{background:var(--fond-appuye);font-weight:700}tr.total-saisie td{background:var(--fond-appuye);border-top:2px solid var(--border);border-bottom:none;font-weight:700}tr.sous-total td{color:var(--text-muted);font-style:italic}table.ventilation-tva{width:auto;min-width:380px;margin-bottom:var(--e4)}table.ventilation-tva th:not(:first-child),table.ventilation-tva td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}table.ventilation-tva tr.total td{border-top:2px solid var(--border);font-weight:700}.table-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;align-items:center;gap:8px;padding:7px 12px;display:flex}.table-toolbar.detachee{border-bottom:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--e3)}.table-toolbar svg{color:var(--text-muted);flex-shrink:0}.table-toolbar .checkbox-inline{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12.5px}.table-toolbar input[type=search]{background:0 0;border:none;flex:1;max-width:24em;padding:4px 0;font-size:13px}.table-toolbar input[type=search]:focus{box-shadow:none;outline:none}.table-toolbar+.table-scroll table{border-radius:0 0 var(--radius) var(--radius);border-top:none}th.th-tri{cursor:pointer;-webkit-user-select:none;user-select:none}th.th-tri:hover{color:var(--accent-hover)}th.th-tri .fleche{opacity:.3;margin-left:4px;display:inline-block}th.th-tri.actif .fleche{opacity:1;color:var(--accent)}input,select,textarea,button{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:5px 9px;transition:border-color .12s,box-shadow .12s,background .12s}textarea{resize:vertical;max-width:100%}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--text-muted)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input.pct{text-align:right;width:5.5em;font-family:var(--mono)}input.pct.regresse{border-color:var(--warn);background:var(--warn-soft)}button{cursor:pointer;background:var(--accent);color:var(--encre-sur-accent);border-color:var(--accent);box-shadow:var(--ombre-1);padding:7px 14px;font-weight:600}button:hover{background:var(--accent-hover);color:#fff}button:active{transform:translateY(.5px)}button:disabled{background:var(--bg);border-color:var(--border);color:var(--text-muted);cursor:not-allowed;box-shadow:none}button.secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:var(--ombre-1)}button.secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover{color:#fff;background:#7d2323}button.danger:disabled{background:var(--border);border-color:var(--border)}form.inline{margin-bottom:var(--e4);background:var(--surface);border:1px solid var(--filet);border-radius:var(--radius-bloc);box-shadow:var(--ombre-1);box-sizing:border-box;flex-wrap:wrap;align-items:flex-end;gap:8px;width:100%;padding:13px;display:flex}form.inline label{color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}form.inline label.full{flex:100%}form.inline textarea{resize:vertical;min-width:12em;font-family:inherit}form.marche-form{background:var(--surface);border:1px solid var(--filet);border-radius:var(--radius-bloc);box-shadow:var(--ombre-1);flex-direction:column;gap:14px;margin-bottom:10px;padding:15px;display:flex}form.marche-form .groupe,form.inline .groupe{flex-wrap:wrap;flex-basis:100%;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}form.marche-form .groupe:last-child,form.inline .groupe:last-child{margin-bottom:0}form.marche-form .groupe h4,form.inline .groupe h4{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);flex-basis:100%;margin:0 0 2px;font-size:11px}form.marche-form label{color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}form.marche-form label.full{flex:100%}form.marche-form input,form.marche-form textarea{min-width:12em}form.marche-form textarea{resize:vertical;font-family:inherit}form.marche-form .actions-marche{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}form.marche-form .actions-marche label.depot-signe{color:var(--muted,#666);flex-direction:column;gap:2px;font-size:.8em;display:flex}form.marche-form .actions-marche label.depot-signe input[type=file]{min-width:0;font-size:.9em}form.marche-form .annexes-marche{align-items:baseline;gap:var(--e1) var(--e4);margin:var(--e3) 0 var(--e1);flex-wrap:wrap;font-size:12.5px;display:flex}form.marche-form .annexes-marche .annexe{align-items:baseline;gap:var(--e1) var(--e2);flex-wrap:wrap;min-width:0;display:inline-flex}form.marche-form .annexes-marche .nom-piece{color:var(--text-muted)}form.marche-form .actions-marche.reception-marche{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}form.marche-form details.marche-champs{background:0 0;border:none;flex-direction:column;gap:14px;margin-top:0;padding:0;display:flex}form.marche-form details.marche-champs>summary{margin-bottom:2px}form.marche-form details.groupe-secondaire,form.inline details.groupe-secondaire{border:1px solid var(--border);border-radius:var(--radius);margin-top:0;margin-bottom:14px;padding:10px 12px}form.marche-form details.groupe-secondaire:last-child,form.inline details.groupe-secondaire:last-child{margin-bottom:0}form.inline details.groupe-secondaire.full{flex:100%}.stats{gap:var(--e2);margin-bottom:var(--e4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--filet);border-top:2px solid var(--ligne-cotation);border-radius:0 0 var(--radius-bloc) var(--radius-bloc);box-shadow:var(--ombre-1);padding:var(--e2) var(--e3) var(--e3)}a.stat{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:block}a.stat:hover{border-color:var(--filet);border-top-color:var(--accent);box-shadow:var(--ombre-2);transform:translateY(-1px)}.stat .label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px;font-size:10.5px;font-weight:600;font-stretch:104%}.stat .value{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:600}.puce-statut{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:1px 9px;font-size:10px;font-weight:600;font-stretch:104%;line-height:1.7;display:inline-block}.puce-statut.en_attente{background:var(--statut-attente-fond);border-color:var(--statut-attente-fond);color:var(--statut-attente)}.puce-statut.en_cours{background:var(--statut-encours-fond);border-color:var(--statut-encours);color:var(--statut-encours)}.puce-statut.levee{background:var(--statut-fait-fond);border-color:var(--statut-fait);color:var(--statut-fait)}button.puce-statut{cursor:pointer}button.puce-statut:hover{filter:brightness(.96)}.badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:600;font-stretch:104%;display:inline-block}.badge.brouillon{background:var(--statut-attente-fond);color:var(--statut-attente)}.badge.validee{background:var(--statut-encours-fond);color:var(--statut-encours)}.badge.certifiee{background:var(--succes-soft);color:var(--succes)}.badge.archive{background:var(--border);color:var(--text-muted)}.badge.en_attente,.badge.en_cours{background:var(--warn-soft);color:var(--warn)}.badge.termine{background:var(--accent-soft);color:var(--accent)}.badge.erreur{background:var(--danger-soft);color:var(--danger)}.palette-couleurs{flex-wrap:wrap;gap:7px;padding-top:2px;display:flex}.swatch{cursor:pointer;border:none;border-radius:50%;width:22px;height:22px;padding:0}.swatch.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.swatch-auto{background:var(--surface);border:1px dashed var(--border);text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:center;font-size:7px;font-weight:700;display:flex}label.checkbox-inline{align-items:center;gap:6px;display:inline-flex}form.inline label.checkbox-inline{flex-direction:row}.checkbox-inline input[type=checkbox]{width:auto}.btn-pdf{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--ombre-1);vertical-align:middle;margin-left:12px;padding:5px 11px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.btn-pdf:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text);text-decoration:none}.erreur{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-filet);border-left:3px solid var(--danger);border-radius:var(--radius);margin-bottom:12px;padding:9px 13px;font-size:13px}.avertissement{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-filet);border-left:3px solid var(--warn);border-radius:var(--radius);margin-bottom:12px;padding:9px 13px;font-size:13px}.saved-flag{color:var(--accent);font-size:11px}.saving-flag{color:var(--text-muted);font-size:11px}.non-enregistre-flag{color:var(--danger);font-size:11px;font-weight:600}tr.non-enregistre td{background:var(--danger-soft)}.btn-icon{border-radius:var(--radius);width:28px;height:28px;box-shadow:none;color:var(--text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--accent-soft);border-color:var(--filet);color:var(--accent-hover)}.btn-icon.danger{color:var(--text-muted);background:0 0;border-color:#0000}.btn-icon:disabled,.btn-icon.danger:disabled{opacity:.35;color:var(--text-muted);cursor:not-allowed;background:0 0;border-color:#0000}.btn-icon.danger:hover{background:var(--danger-soft);border-color:var(--danger-filet);color:var(--danger)}.btn-icon.primaire{color:var(--accent)}.btn-icon.primaire:hover{background:var(--accent-soft);border-color:var(--border);color:var(--accent-hover)}.btn-icon svg{width:15px;height:15px}button.avec-icone,a.avec-icone{align-items:center;gap:6px;display:inline-flex}button.avec-icone svg,a.avec-icone svg{stroke-width:1.6px;flex:none;width:13px;height:13px}button.secondary.avec-icone svg{opacity:.85}.actions-icons{white-space:nowrap;text-align:right}.actions-icons>*{vertical-align:middle;margin-left:2px}.actions-icons>:first-child{margin-left:0}.actions-icons input{min-width:0}form.inline .field-group{flex-direction:column;gap:2px;display:flex}form.inline .field-group>span{color:var(--text-muted);font-size:12px}.type-toggle{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.type-toggle-option{background:var(--surface);color:var(--text-muted);border:none;border-radius:0;padding:5px 12px;font-size:13px}.type-toggle-option:not(:last-child){border-right:1px solid var(--border)}.type-toggle-option:hover:not(.active){background:var(--accent-soft);color:var(--accent-hover)}.type-toggle-option.active{background:var(--accent);color:var(--encre-sur-accent);font-weight:600}.type-toggle-option.active:hover{background:var(--accent-hover)}.form-divider{background:var(--filet);align-self:stretch;width:1px;margin:0 2px}.sous-section-select{width:100%;color:var(--text-muted);background:0 0;border-color:#0000;margin-top:3px;padding:2px 4px;font-size:11px;display:block}.sous-section-select:hover{border-color:var(--border);background:var(--surface)}.sous-section-select:focus{background:var(--surface)}.sous-section-figee{cursor:help;font-style:italic;display:block}.cell-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spinner{border:2px solid #1c1b1940;border:2px solid color-mix(in srgb, currentColor 30%, transparent);vertical-align:-2px;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}@media (width<=720px){header.topbar{flex-wrap:wrap;gap:12px;height:auto;padding:8px 12px}header.topbar .logo{padding-right:12px}header.topbar .nav-principale{flex-wrap:wrap;flex-basis:100%;order:3;row-gap:2px;padding-bottom:2px}header.topbar .menu-nav-panel{min-width:160px;left:0;right:auto}.topbar-right{margin-left:auto}main.content{padding:var(--e4) var(--e3) var(--e5)}h1{font-size:19px}form.inline label,form.marche-form label,form.inline .groupe label,form.marche-form .groupe label{flex-basis:100%}input,select,textarea{max-width:100%!important}.tabs{flex-wrap:wrap;row-gap:4px}}.actions{gap:var(--e2);margin-top:var(--e4);display:flex}.tabs{gap:var(--e1);border-bottom:1px solid var(--border);margin-bottom:var(--e4);display:flex}.tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 4px;font-size:13px;font-weight:600}.tabs button+button{margin-left:14px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-bloc);padding:var(--e3);margin-top:var(--e4)}details summary{cursor:pointer;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:600}.annuaire{gap:var(--e4);grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;display:grid}@media (width<=900px){.annuaire{grid-template-columns:minmax(0,1fr)}}.liste-annuaire,.fiche-annuaire{background:var(--surface);border:1px solid var(--filet);border-radius:var(--radius-bloc);box-shadow:var(--ombre-1);min-width:0}.liste-annuaire{overflow:hidden}.tete-liste{padding:var(--e2) var(--e3);border-bottom:1px solid var(--border)}.tri-liste{box-shadow:none;font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:600;font-stretch:104%}.tri-liste:hover{color:var(--text);background:0 0}.ligne-annuaire{align-items:center;gap:var(--e3);width:100%;min-height:56px;padding:var(--e2) var(--e3);border:none;border-top:1px solid var(--filet);background:var(--surface);color:var(--text);font:inherit;text-align:left;box-shadow:none;cursor:pointer;border-radius:0;display:flex}.ligne-annuaire:first-of-type{border-top:none}.ligne-annuaire:hover{background:var(--survol-ligne);color:var(--text)}.ligne-annuaire.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);color:var(--text)}.initiales{border-radius:var(--radius);background:var(--fond-appuye);width:34px;height:34px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;font-stretch:108%;display:inline-flex}.initiales.grandes{border-radius:var(--radius-bloc);background:var(--accent-soft);width:52px;height:52px;color:var(--text);font-size:18px}.texte-ligne{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.nom-ligne{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;overflow:hidden}.adresse-ligne{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.vide-liste{padding:var(--e3);margin:0}.fiche-annuaire{padding:var(--e4) var(--e4) var(--e5);box-shadow:var(--ombre-2);scroll-margin-top:64px}.tete-fiche{justify-content:space-between;align-items:flex-start;gap:var(--e3);margin-bottom:var(--e3);display:flex}.identite-fiche{gap:var(--e3);align-items:center;min-width:0;display:flex}.titre-fiche{letter-spacing:-.01em;text-transform:none;color:var(--text);align-items:center;gap:var(--e2);flex-wrap:wrap;margin:0;padding:0;font-size:20px;font-weight:700;font-stretch:106%;display:flex}.titre-fiche:after{display:none}.titre-fiche a{color:inherit}.sous-titre-fiche{color:var(--text-muted);margin-top:2px;font-size:13px}.mono{font-family:var(--mono)}.rubrique-fiche{align-items:center;gap:var(--e3);margin:var(--e5) 0 var(--e3);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:600;font-stretch:104%;display:flex}.rubrique-fiche:after{content:"";background:var(--filet);flex:1;height:1px}.chantiers-fiche{margin:0;padding:0;list-style:none}.chantiers-fiche li{justify-content:space-between;align-items:center;gap:var(--e3);padding:var(--e2) 0;border-top:1px solid var(--filet);display:flex}.chantiers-fiche li:first-child{border-top:none}.chantiers-fiche li.archive{opacity:.7}.lot-fiche{margin-left:var(--e2);color:var(--text-muted)}.champ-recherche-sirene{flex:20em}.champ-recherche-sirene input{width:100%}.fiche-annuaire .champ-nom{flex:16em}.fiche-annuaire .champ-adresse{flex:2 22em}.fiche-annuaire .champ-nom input,.fiche-annuaire .champ-adresse input{width:100%;min-width:0}.actions-fiche{align-items:center;gap:var(--e2);margin-top:var(--e3);flex-wrap:wrap;flex:100%;display:flex}body.panneau-lateral-ouvert{overflow:hidden}
