:root{--red:#D2232A;--red-d:#A91A20;--ink:#1F2124;--asph:#3A3D42;--yel:#F2B705;--ok:#2F7D52;--warn:#B5651D;--na:#8A8F96;--bg:#F1F2F3;--surf:#fff;--line:#D5D8DB;--muted:#5D6269;--fd:"Barlow Condensed",Arial Narrow,sans-serif;--fb:"IBM Plex Sans",system-ui,sans-serif;--fm:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}html,body{margin:0}body{font:14px/1.45 var(--fb);color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums}h1,h2,h3{font-family:var(--fd);margin:0 0 8px;letter-spacing:.02em}h1{font-size:28px}h2{font-size:18px;text-transform:uppercase;letter-spacing:.04em}h3{font-size:16px;text-transform:uppercase}.mono{font-family:var(--fm);font-size:12.5px}.banner{position:sticky;top:0;z-index:30;background:var(--yel);color:#1f2124;display:flex;gap:16px;align-items:center;padding:6px 14px;font-weight:600;font-size:12.5px;flex-wrap:wrap;border-bottom:2px solid var(--ink)}.stamp{border:2px solid var(--red);color:var(--red);padding:0 8px;transform:rotate(-2deg);font-family:var(--fd);font-size:15px;letter-spacing:.08em;background:#fff8}.shell{display:flex;min-height:calc(100vh - 34px)}.side{width:224px;background:var(--asph);color:#e9eaeb;flex-shrink:0;padding:12px 0}.side .brand{padding:6px 16px 14px;font-family:var(--fd);font-size:20px;border-bottom:1px solid #555}.side .brand b{color:#fff;background:var(--red);padding:0 6px;margin-right:6px}.side button{display:block;width:100%;text-align:left;background:none;border:0;border-left:4px solid transparent;color:inherit;padding:8px 14px;font:inherit;cursor:pointer}.side button:hover{background:#ffffff14}.side button.on{border-left-color:var(--red);background:#ffffff1f;color:#fff;font-weight:600}.main{flex:1;min-width:0;padding:18px 22px 40px}.top{display:none}.card{background:var(--surf);border:1px solid var(--line);padding:14px;margin-bottom:14px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 14px}.btn{font:600 13px var(--fb);padding:8px 14px;border:1px solid var(--asph);background:#fff;color:var(--ink);cursor:pointer;min-height:36px}.btn:hover{background:#eceeef}.btn.pri{background:var(--red);border-color:var(--red);color:#fff}.btn.pri:hover{background:var(--red-d)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:4px 9px;min-height:28px;font-size:12px}table{width:100%;border-collapse:collapse;background:#fff}th{background:var(--asph);color:#fff;text-align:left;font-weight:600;padding:7px 8px;font-size:12.5px}td{border-bottom:1px solid var(--line);padding:7px 8px;vertical-align:top}tr.click{cursor:pointer}tr.click:hover td{background:#fbeced}.tw{overflow-x:auto}label.f{display:flex;flex-direction:column;gap:3px;font-weight:500;font-size:12.5px}input,select,textarea{font:14px var(--fb);padding:7px 8px;border:1px solid #aeb3b8;background:#fff;color:var(--ink);min-height:36px}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:2px solid var(--red);outline-offset:1px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:1px 7px;border:1px solid currentColor;white-space:nowrap}.badge:before{content:"";width:8px;height:8px;background:currentColor}.lv-Bloquant{color:var(--red)}.lv-Bloquant:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.lv-À.vérifier,.lv-warn{color:var(--warn)}.lv-warn:before{transform:rotate(45deg)}.lv-Info{color:var(--asph)}.lv-Info:before{border-radius:50%}.lv-ok{color:var(--ok)}.chk{border-left:4px solid var(--line);padding:8px 10px;margin-bottom:8px;background:#fafafa;font-size:13px}.chk.Bloquant{border-color:var(--red)}.chk.warn{border-color:var(--warn)}.chk.Info{border-color:var(--asph)}.wiz{display:grid;grid-template-columns:200px 1fr 320px;gap:14px;align-items:start}.rail button{display:flex;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);margin-bottom:-1px;padding:8px;font:inherit;cursor:pointer}.rail button.on{border-left:4px solid var(--red);font-weight:600}.rail .n{font-family:var(--fm);width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid var(--asph);font-size:12px;flex-shrink:0}.rail button.done .n{background:var(--asph);color:#fff}.warnbox{background:#fff7da;border:1px solid var(--yel);padding:8px 10px;font-size:13px;margin-bottom:12px}.tl{display:flex;position:relative;margin:24px 0 8px;overflow-x:auto;padding-bottom:6px}.tl .it{flex:1;min-width:110px;position:relative;padding-top:22px;font-size:12px;border-top:3px solid var(--asph)}.tl .it:before{content:"";position:absolute;top:-9px;left:0;width:14px;height:14px;background:#fff;border:3px solid var(--asph)}.tl .it.late{border-top-color:var(--red)}.tl .it.late:before{border-color:var(--red);background:var(--red)}.tl .it.ok:before{background:var(--asph)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #aeb3b8;background:#fff;padding:4px 8px;font-size:12px;cursor:pointer}.chip.on{background:var(--asph);color:#fff;border-color:var(--asph)}.doc{background:#fff;border:1px solid #888;padding:26px;position:relative;max-width:820px;margin:auto;font-size:13px}.doc .wm{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font:700 64px var(--fd);color:#d2232a22;border:5px solid #d2232a22;padding:4px 20px;pointer-events:none;white-space:nowrap}.doc table td,.doc table th{border:1px solid #888}.doc th{background:#eee;color:#111}.dochead{display:flex;justify-content:space-between;border-bottom:2px solid #111;margin-bottom:12px;padding-bottom:6px}.muted{color:var(--muted)}.mtoggle{display:none}@media (max-width:1100px){.wiz{grid-template-columns:1fr}.rail{display:flex;overflow-x:auto;gap:4px}.rail button{min-width:150px;margin:0}}@media (max-width:760px){.side{position:fixed;top:34px;bottom:0;left:0;z-index:40;transform:translate(-100%);transition:transform .2s}.side.open{transform:none}.mtoggle{display:inline-block}.main{padding:12px}.tl{flex-direction:column;overflow:visible}.tl .it{border-top:0;border-left:3px solid var(--asph);padding:0 0 14px 18px}.tl .it:before{top:0;left:-9px}.tl .it.late{border-left-color:var(--red)}}@media print{.banner,.side,.noprint,.mtoggle{display:none!important}body{background:#fff}.main{padding:0}.doc{border:0}}
