@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-vietnamese-700-normal-Dm7RZTvf.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-700-normal-BvUTSFNY.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-700-normal-C0vCoZIV.woff)format("woff");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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff");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}:root{--paper:#dce0dc;--paper-deep:#cfd4d0;--surface:#fff;--surface-tint:#f1f3f1;--ink:#151c22;--ink-soft:#2a343c;--muted:#4a555d;--line:#b4bcb7;--line-strong:#8c958f;--line-soft:#e3e7e4;--action:#1c5c9e;--action-hover:#154a82;--danger:#b0241b;--danger-hover:#8f1c15;--safety:#f5c400;--pending:#855500;--earth:#2e7d3a;--done:#2d6a3a;--header-height:56px;--radius:2px;--font-ui:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--font-plate:"Barlow Semi Condensed", "Arial Narrow", sans-serif;--focus-ring:0 0 0 2px var(--surface), 0 0 0 4px var(--ink), 0 0 0 7px var(--safety);font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);margin:0}#root{flex-direction:column;display:flex}h1,h2,h3{font-family:var(--font-plate);letter-spacing:-.005em;text-wrap:balance;margin:0;font-weight:700;line-height:1.15}h1{font-size:2.25rem}h2{font-size:1.375rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}p{margin:0}a{color:var(--action);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{color:var(--ink);background:var(--safety)}.header{min-height:var(--header-height);background:var(--surface);border-bottom:2px solid var(--ink);flex:none;align-items:center;gap:28px;padding:0 20px;display:flex;position:relative}.brand{font-family:var(--font-plate);letter-spacing:.04em;color:var(--ink);padding-bottom:5px;font-size:1.5rem;font-weight:700;line-height:1;text-decoration:none;display:inline-block;position:relative}.brand:after{content:"";background:repeating-linear-gradient(90deg, var(--earth) 0 10px, var(--safety) 10px 20px);border-radius:2px;height:4px;position:absolute;bottom:0;left:0;right:0}.brand:focus-visible{border-radius:var(--radius)}.nav{align-items:center;gap:2px;display:flex}.nav a{min-height:34px;color:var(--muted);border-radius:var(--radius);align-items:center;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{color:var(--ink);background:var(--surface-tint)}.nav a.active,.nav a.active:hover{font-family:var(--font-plate);letter-spacing:.02em;color:var(--surface);background:var(--ink);font-weight:600}.session{color:var(--muted);align-items:center;gap:14px;margin-left:auto;font-size:.9375rem;display:flex}.session select{min-height:34px;padding-block:4px}.main{width:100%;max-width:960px;margin:0 auto;padding:40px 20px 72px}.main-full{flex:1 1 0;max-width:none;min-height:0;padding:0}label{gap:5px;font-size:.9375rem;font-weight:600;display:grid}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);font-weight:400;transition:border-color .12s ease-out,box-shadow .12s ease-out}input,select{min-height:42px;padding:8px 11px}input:hover,select:hover,textarea:hover{border-color:var(--ink-soft)}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink), 0 0 0 4px var(--safety);outline:none}input::placeholder,textarea::placeholder{color:#6b767d}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{box-shadow:var(--focus-ring)}button{font:inherit;font-family:var(--font-plate);letter-spacing:.015em;min-height:42px;color:var(--surface);background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;padding:8px 16px;font-size:1rem;font-weight:600;transition:background-color .12s ease-out,color .12s ease-out,border-color .12s ease-out}button:hover:not(:disabled){background:var(--ink-soft);border-color:var(--ink-soft)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--ink);background:var(--surface);border-color:var(--ink)}button.secondary:hover:not(:disabled){color:var(--ink);background:var(--surface-tint);border-color:var(--ink)}button.secondary.active,button.secondary.active:hover:not(:disabled){color:var(--ink);background:var(--safety);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}button.quiet{font-family:var(--font-ui);letter-spacing:0;color:var(--ink);background:0 0;border-color:#0000;font-weight:500}button.quiet:hover:not(:disabled){background:var(--line-soft);border-color:#0000}button.danger{background:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}button.link{min-height:0;font-family:var(--font-ui);letter-spacing:0;color:var(--action);background:0 0;border:0;padding:0;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.confirm{flex-wrap:wrap;gap:6px;display:inline-flex}.quiet-link{min-height:42px;color:var(--ink);align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.error{color:var(--danger);font-weight:500}.hint{color:var(--muted);font-size:.875rem}.loading,.empty{color:var(--muted)}.empty{max-width:60ch;margin:16px 0}.stack{gap:16px;max-width:560px;margin:0 auto;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:var(--radius);gap:16px;width:100%;max-width:560px;margin:0 auto;padding:28px;display:grid}form.card{max-width:440px;margin-top:6vh}form.card>button[type=submit]{min-height:46px;margin-top:4px}.stack .card{margin:0}.card h1{font-size:1.875rem}.card h3{color:var(--muted);font-size:1rem}.footer{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.list small{color:var(--muted)}.badge{font-family:var(--font-plate);color:var(--ink);background:var(--surface-tint);border:1px solid var(--line);border-radius:var(--radius);padding:1px 8px;font-size:.875rem;font-weight:600}.page{gap:8px;display:grid}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:.875rem;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.page>.title-row,.page>h1{margin-bottom:20px}.building{margin-top:36px}.building>.title-row{border-bottom:2px solid var(--ink);align-items:baseline;margin-bottom:10px;padding-bottom:8px}.rows{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.rows>li{border-bottom:1px solid var(--line-soft)}.rows>li:last-child{border-bottom:0}.row-link{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:14px 16px;text-decoration:none;transition:background-color .12s ease-out;display:flex}.row-link:hover{background:var(--surface-tint);box-shadow:inset 3px 0 0 var(--ink)}.row-link:focus-visible{z-index:1;position:relative}.row-title{font-weight:600}.row-meta{color:var(--muted)}.status{color:var(--muted);margin-left:auto;font-size:.875rem}.status-missing{color:var(--pending)}.inline-form{border-top:2px solid var(--ink);gap:14px;margin-top:48px;padding-top:24px;display:grid}.inline-form.compact{border-top:0;margin-top:12px;padding-top:0}.fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.fields label{flex:220px}.fields label.narrow{flex:0 0 96px}.page-message{padding:24px 16px}.floor{grid-template:"toolbar toolbar""plan panel"minmax(0,1fr)/minmax(0,1fr) 340px;height:100%;display:grid}.floor:not(:has(.panel)){grid-template-areas:"toolbar toolbar""plan plan"}.toolbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;grid-area:toolbar;align-items:center;gap:4px 16px;padding:8px 20px;display:flex}.toolbar h1{font-size:1.5rem}.tools{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.plan-area{background-color:var(--paper);background-image:linear-gradient(#151c2212 1px,#0000 1px),linear-gradient(90deg,#151c2212 1px,#0000 1px);background-size:24px 24px;grid-area:plan;position:relative;overflow:hidden}.plan-canvas{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.plan-canvas.placing{cursor:crosshair}.plan-message{color:var(--muted);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.placing-hint{max-width:calc(100% - 32px);color:var(--ink);background:var(--safety);border:2px solid var(--ink);border-radius:var(--radius);pointer-events:none;padding:6px 12px;font-weight:600;position:absolute;top:12px;left:50%;transform:translate(-50%)}.title-block{background:var(--surface);border:2px solid var(--ink);pointer-events:none;grid-template-columns:minmax(0,1fr) auto;min-width:240px;max-width:min(360px,100% - 32px);margin:0;display:grid;position:absolute;bottom:16px;right:16px}.title-block>div{border-top:1px solid var(--ink);padding:4px 10px 5px}.title-block>div:first-child{border-top:0}.tb-site,.tb-building{grid-column:1/-1}.tb-level{border-left:1px solid var(--ink);text-align:right}.title-block dt{color:var(--muted);font-size:.6875rem}.title-block dd{font-family:var(--font-plate);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;line-height:1.2;overflow:hidden}.tb-floor dd,.tb-level dd{font-size:1.25rem;font-weight:700}.plan-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-items:start;gap:16px;max-width:560px;margin:48px auto;padding:24px;display:grid;position:relative}.plan-upload{gap:12px;width:100%;display:grid}.file-drop{min-height:120px;color:var(--action);border:1.5px dashed var(--line);border-radius:var(--radius);cursor:pointer;place-items:center;padding:24px;font-weight:600;display:grid;position:relative}.file-drop:hover{border-color:var(--action)}.file-drop:focus-within{outline:2px solid var(--action);outline-offset:2px}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.page-picker{gap:12px;display:grid}.page-picker ul{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.page-thumb{width:100%;color:var(--ink);background:var(--surface);border-color:var(--line);gap:6px;padding:6px;display:grid}.page-thumb:hover:not(:disabled){background:var(--surface);border-color:var(--action)}.page-thumb img,.page-thumb-blank{aspect-ratio:1/1.414;object-fit:contain;background:var(--paper);width:100%;display:block}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions .status{margin-left:0}.panel{background:var(--surface);border-left:1px solid var(--line);grid-area:panel;align-content:start;gap:12px;padding:16px;display:grid;overflow-y:auto}.panel .back{min-height:32px;color:var(--action);background:0 0;border:0;justify-self:start;padding:0}.panel .back:hover:not(:disabled){background:0 0;text-decoration:underline}.panel-form{gap:12px;display:grid}.panel-form .hint{margin-top:-6px}.plate{font-family:var(--font-plate);letter-spacing:.02em;color:#fff;background:var(--ink);border-radius:2px;padding:1px 7px 2px;font-size:.9375rem;font-weight:700;display:inline-block}.panel h2 .plate{font-size:1.2rem}.equipment-list{border-top:1px solid var(--line);margin:0 -16px;padding:0;list-style:none}.equipment-list li{border-bottom:1px solid var(--line)}.equipment-list button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 16px;font-weight:400;display:flex}.equipment-list button:hover:not(:disabled){background:var(--paper)}.details{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}textarea{resize:vertical;padding:8px 11px}fieldset{border:0;min-width:0;margin:0;padding:0}.reports{margin-top:40px}.section-title{border-bottom:2px solid var(--ink);margin-bottom:8px;padding-bottom:6px}.reports .rows{border-top:0}.file-drop-inline{min-height:64px;padding:16px}.status-en_analyse{color:var(--action)}.status-a_valider{color:var(--pending)}.status-erreur{color:var(--danger)}.review{grid-template-rows:auto auto minmax(0,1fr);height:100%;display:grid}.review>.toolbar{grid-area:auto}.review>.review-body,.review>.review-message{grid-row:3}.review>.toolbar .status{margin-left:0}.review-message{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);justify-items:start;gap:12px;max-width:640px;margin:48px auto;padding:24px;display:grid}.review-body{grid-template-columns:minmax(320px,420px) minmax(0,1fr);min-height:0;display:grid}.review-list{background:var(--surface);border-right:1px solid var(--line);padding:16px;overflow-y:auto}.review-side{grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-height:0;display:grid}.review-pdf{padding:16px;overflow-y:auto}.review-note{background:var(--paper);border-left:3px solid var(--ink);padding:8px 12px}.review-document+.review-document{margin-top:24px}.review-document>h2{font-size:1.05rem}.review-document>.row-meta{margin-bottom:8px;font-size:.875rem}.q18{border-left:3px solid var(--line);margin:8px 0;padding:8px 12px;font-size:.875rem}.q18-risk{border-left-color:var(--danger)}.q18-risk>p:first-child{color:var(--danger);font-weight:600}.draft-list{border-top:1px solid var(--line);margin:0 -16px;padding:0;list-style:none}.draft-list li{border-bottom:1px solid var(--line)}.draft{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:0;grid-template-columns:3.5em minmax(0,1fr);gap:2px 10px;padding:10px 16px;font-weight:400;display:grid}.draft:hover:not(:disabled){background:var(--paper);border-color:#0000;border-left-color:var(--line)}.draft.selected,.draft.selected:hover:not(:disabled){background:var(--paper);border-left-color:var(--ink)}.draft-ref{font-family:var(--font-plate);grid-row:span 2;font-weight:700}.draft-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.draft-tags{flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem;display:flex}.decision{font-size:.8125rem;font-weight:600}.decision-a_valider{color:var(--pending)}.decision-retenue{color:var(--action)}.decision-ecartee{color:var(--muted);text-decoration:line-through}.tag{color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:0 6px}.tag-warning{color:var(--ink);border-color:var(--safety);background:#f5c40059}.plate-small{padding:0 5px 1px;font-size:.8125rem}.draft-editor{background:var(--surface);border-right:1px solid var(--line);align-content:start;gap:12px;padding:16px;display:grid;overflow-y:auto}.draft-editor-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.draft-editor-head h2{font-size:1.1rem}.draft-fields{gap:12px;display:grid}.draft-fields select{width:100%}.pdf-page{gap:6px;display:grid}.pdf-page-label{color:var(--muted);font-size:.875rem}.pdf-page-sheet{background:#fff;justify-self:start;position:relative;box-shadow:0 1px 3px #151c2233}.pdf-page-sheet canvas{display:block}.pdf-highlight{border-bottom:2px solid var(--safety);mix-blend-mode:multiply;pointer-events:none;background:#f5c40066;position:absolute}@media (width<=1100px){.review-side{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);overflow-y:auto}.draft-editor{border-right:0;border-bottom:1px solid var(--line);overflow:visible}.review-pdf{overflow:visible}}@media (width<=720px){.review{height:auto}.review-body{grid-template-columns:minmax(0,1fr)}.review-list{border-right:0}.header{flex-wrap:wrap;gap:0 12px;padding:12px 16px 0}.main{padding:24px 16px 56px}h1{font-size:1.875rem}.nav{border-top:1px solid var(--line-soft);flex-basis:calc(100% + 32px);order:3;min-height:44px;margin:10px -16px 0;padding:0 10px;overflow-x:auto}.nav a{flex:none}.session>span{display:none}:is(.floor,.floor:not(:has(.panel))){grid-template:"toolbar""plan"minmax(0,1fr)"panel"/minmax(0,1fr)}.tools{margin-left:0}.panel{border-left:0;border-top:1px solid var(--line);max-height:42dvh;box-shadow:0 -2px 8px #151c2214}.title-block{min-width:0;bottom:8px;right:8px}.tb-site,.tb-building,.tb-scale{display:none}.tb-floor,.tb-level{border-top:0}.plan-empty{margin:16px}}.page-wide{max-width:1080px}.main:has(.page-wide){max-width:1080px}.fields label.date{flex:0 0 180px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}label.check{align-items:center;gap:8px;font-weight:400;display:flex}label.check input{width:18px;height:18px;min-height:0;margin:0}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;display:flex}.filters label{flex:0 220px}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;display:flex}.segmented button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:0}.segmented button+button{border-left:1px solid var(--line)}.segmented button:hover:not(:disabled){color:var(--ink);background:var(--line-soft)}.segmented button[aria-pressed=true],.segmented button[aria-pressed=true]:hover:not(:disabled){color:#fff;background:var(--ink)}.select-all{color:var(--muted);margin:4px 0 8px}.reserve-rows li{align-items:center;gap:4px;display:flex}.reserve-rows li>input[type=checkbox]{flex:none;width:18px;height:18px;min-height:0;margin:0 4px 0 8px}.reserve-rows li.selected{box-shadow:inset 4px 0 0 var(--safety);background:#f5c40029}.reserve-row{min-width:0;color:var(--ink);flex-wrap:wrap;flex:1;gap:6px 24px;padding:12px 8px;text-decoration:none;display:flex}.reserve-row:hover{background:var(--surface)}.reserve-main{flex:380px;gap:2px;min-width:0;display:grid}.reserve-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.reserve-main .row-meta{font-size:.875rem}.reserve-side{flex:0 0 200px;align-content:start;gap:2px;font-size:.875rem;display:grid}.reserve-status{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.status-plate{min-height:22px;font-family:var(--font-plate);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;color:var(--surface);background:var(--muted);border-radius:var(--radius);border:1px solid #0000;align-items:center;padding:1px 7px;font-size:.8125rem;font-weight:700;line-height:1.2;display:inline-flex}.reserve-status-ouverte .status-plate{background:var(--danger)}.reserve-status-assignee .status-plate{background:var(--action)}.reserve-status-corrigee .status-plate{background:var(--pending)}.reserve-status-levee .status-plate{background:var(--done)}.reserve-status .status-plate-late{color:var(--danger);background:var(--surface);border-color:var(--danger)}.late{color:var(--danger);font-weight:600}.selection-bar{background:var(--surface);border:1px solid var(--ink);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px;padding:12px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 10px #151c221f}.selection-bar>p{font-weight:600}.assign-panel,.contractor-form{flex:1;gap:12px;display:grid}.contractor-form{padding:12px 0}.link-box{flex-wrap:wrap;gap:8px;display:flex}.link-box input{font-family:var(--font-plate);flex:320px}.panel-actions{flex-wrap:wrap;gap:8px;display:flex}.contractor-row{flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:10px 8px;display:flex}.contractor-row>.quiet{margin-left:auto}.contractor-row .contractor-form{flex-basis:100%}.reserve-page{gap:0}.reserve-head{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:var(--radius);gap:16px;margin:14px 0 8px;padding:24px;display:grid}.reserve-head h1{max-width:52ch;font-size:1.875rem}.reserve-head>.quiet{justify-self:start;margin-left:-10px}.facts{border:1px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;display:grid}.facts>div{min-width:0;box-shadow:-1px 0 0 var(--ink), 0 -1px 0 var(--ink);align-content:start;gap:2px;padding:8px 12px 10px;display:grid}.facts dt{color:var(--muted);font-size:.75rem;font-weight:500}.facts dd{font-family:var(--font-plate);margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.facts a{color:var(--ink)}.preconisation{max-width:70ch}.edit-reserve,.comment-form{gap:12px;display:grid}.comment-form{margin-top:16px}.comment-form>button{justify-self:start}.reserve-section{border-bottom:1px solid var(--line-strong);gap:14px;padding:32px 0;display:grid}.reserve-section:last-child{border-bottom:0}.reserve-section h3{margin-top:8px;font-size:1rem}.review-box{border-left:4px solid var(--pending);background:#85550014;gap:12px;margin-top:20px;padding:16px;display:grid}.sources,.proofs,.journal{gap:16px;margin:0;padding:0;list-style:none;display:grid}.sources li,.proofs li{gap:4px;max-width:75ch;display:grid}.sources li{border-left:3px solid var(--ink);padding:2px 0 2px 16px}.journal li{grid-template-columns:150px 1fr;gap:2px 16px;display:grid}.journal time{font-family:var(--font-plate);color:var(--muted);font-size:.9375rem;font-weight:600}.journal blockquote{border-left:2px solid var(--line);white-space:pre-wrap;grid-column:2;margin:0;padding-left:12px}.assignment-row{flex-wrap:wrap;align-items:center;gap:4px 16px;padding:8px;display:flex}.assignment-row .status{margin-left:auto}.add-proof summary{width:fit-content;color:var(--ink);cursor:pointer;font-weight:600}.add-proof[open] summary{margin-bottom:12px}.proof-form{gap:12px;max-width:560px;display:grid}.proof-form>button{min-height:48px}.photo-strip{flex-wrap:wrap;gap:8px;display:flex}.photo-strip img{object-fit:cover;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--radius);width:96px;height:96px;display:block}.photo-strip figure{gap:2px;margin:0;display:grid}.photo-strip figure button{min-height:28px;padding:2px 6px;font-size:.8125rem}.photo-add{width:96px;height:96px;font-family:var(--font-plate);text-align:center;color:var(--ink);background:var(--surface);border:2px dashed var(--ink);border-radius:var(--radius);cursor:pointer;place-items:center;padding:8px;font-size:.9375rem;font-weight:600;line-height:1.2;display:grid}.photo-add:hover{background:var(--surface-tint)}.photo-strip input:focus-visible+.photo-add{box-shadow:var(--focus-ring)}.queued{border-left:3px solid var(--safety);background:#f5c40033;padding:8px 12px;font-size:.875rem}.queued-error{border-left-color:var(--danger);background:#b0241b14}.equipment-reserves{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.equipment-reserves h3{font-size:1rem}.equipment-reserves ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.equipment-reserves a{color:var(--ink);border-bottom:1px solid var(--line-soft);gap:2px;padding:8px 4px;text-decoration:none;display:grid}.equipment-reserves a:hover{background:var(--paper)}.intervention{background:var(--paper);min-height:100%}.intervention-head{min-height:var(--header-height);color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.offline-banner{background:var(--safety);padding:10px 16px;font-size:.9375rem}.intervention-body{gap:12px;max-width:640px;margin:0 auto;padding:20px 16px 48px;display:grid}.intervention-message{background:var(--surface);border-left:3px solid var(--ink);white-space:pre-wrap;margin:0;padding:10px 12px}.intervention-list{border-top:2px solid var(--ink);margin:8px 0 0;padding:0;list-style:none;display:grid}.intervention-list>li{border-bottom:1px solid var(--line)}.intervention-list>li.open{background:var(--surface)}.intervention-item,.intervention-item:hover:not(:disabled){text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:0;gap:12px;padding:14px 10px;display:flex}.item-number{width:30px;height:30px;font-family:var(--font-plate);color:var(--surface);background:var(--ink);border-radius:var(--radius);flex:none;place-items:center;font-size:1.0625rem;font-weight:700;display:grid}li.open .item-number{color:var(--ink);background:var(--safety);box-shadow:inset 0 0 0 2px var(--ink)}.item-main{gap:4px;display:grid}.item-text{font-weight:500}.item-detail{gap:12px;padding:0 12px 20px 52px;display:grid}.sent-proofs{gap:8px;display:grid}.sent-proofs h3{font-size:1rem}@media (width<=720px){.reserve-side{flex-basis:100%}.journal li{grid-template-columns:1fr}.journal blockquote{grid-column:1}.item-detail{padding-left:12px}.segmented{width:100%}.reserve-head,.card{padding:20px 18px}.segmented button{flex:auto}}.assign-panel>button{justify-self:start}.dashboard{gap:16px;margin:8px 0 16px;display:grid}.counters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}.counters li+li{border-left:1px solid var(--line-soft)}.counter{height:100%;color:var(--ink);gap:6px;padding:16px 18px 14px;text-decoration:none;transition:background-color .12s ease-out;display:grid}.counter:hover{background:var(--surface-tint)}.counter-value{font-family:var(--font-plate);letter-spacing:-.02em;font-size:2.75rem;font-weight:700;line-height:.9}.counter-label{color:var(--muted);font-size:.875rem;font-weight:500}.counter-danger{box-shadow:inset 0 4px 0 var(--danger)}.counter-danger .counter-value{color:var(--danger)}.counter-pending{box-shadow:inset 0 4px 0 var(--pending)}.counter-pending .counter-value{color:var(--pending)}.alerts{gap:8px;display:grid}.alert{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);border-left:6px solid;gap:4px;padding:14px 18px;display:grid}.alert ul{margin:6px 0 0;padding-left:20px}.alert li+li{margin-top:2px}.alert-title{font-family:var(--font-plate);font-size:1.125rem;font-weight:700}.alert-danger{border-left-color:var(--danger)}.alert-danger .alert-title{color:var(--danger)}.alert-pending{border-left-color:var(--pending)}.floor-load .status.late{color:var(--danger)}@media (width<=720px){.counters li+li{border-left:0}.counters li{border-bottom:1px solid var(--line)}}.inspections{margin-top:32px}.inspections h2{margin-bottom:8px}.inspection-row{padding:12px 8px}.inspection-summary{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.inspection-summary .row-meta{flex-basis:100%;font-size:.875rem}.inspection-summary button{margin-left:auto}.inspection-row.disabled .row-title,.inspection-row.disabled .inspection-next{color:var(--muted)}.inspection-form{max-width:640px;margin-top:12px}.inspection-status-a_jour{color:var(--ink);background:var(--surface);border-color:var(--ink)}.inspection-status-programmee{background:var(--action)}.inspection-status-a_programmer,.inspection-status-rapport_attendu{background:var(--pending)}.inspection-status-en_retard{background:var(--danger)}.inspection-status-inconnue,.inspection-status-desactivee{color:var(--muted);background:var(--surface);border-color:var(--line-strong)}.inspection-group{margin-top:28px}.inspection-group h2{margin-bottom:8px}.inspection-group .count{color:var(--muted);font-weight:400}.inspection-group .row-link .row-meta{flex-basis:100%;font-size:.875rem}.building-3d .spread{align-items:center;gap:8px;font-size:.875rem;display:flex}.floor-list .floor-line{flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:10px 0;display:flex}.floor-list .row-meta{flex-basis:100%;font-size:.875rem}.floor-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.building-3d .panel ul:not(.rows){margin:0;padding-left:18px}.building-3d .panel li+li{margin-top:6px}.legend{gap:6px;margin:8px 0 0;font-size:.875rem;display:grid}.legend>div{align-items:center;gap:8px;display:flex}.legend dd{margin:0}.legend .swatch{border-radius:50%;width:12px;height:12px;display:block}.legend .overdue-ring{border:3px solid var(--danger);background:0 0}.scale-bar{font-family:var(--font-plate);color:var(--ink);pointer-events:none;background:#ffffffd9;gap:2px;padding:4px 8px 3px;font-size:.8125rem;font-weight:700;display:grid;position:absolute;bottom:16px;left:16px}.scale-bar-line{border:2px solid var(--ink);border-top:0;height:6px;display:block}.calibration-form{background:var(--surface);border:2px solid var(--ink);gap:10px;width:min(360px,100% - 32px);padding:12px 14px;display:grid;position:absolute;top:12px;left:50%;transform:translate(-50%)}.with-unit{align-items:center;gap:8px;display:flex}.with-unit input{flex:1}.tb-scale{grid-column:1/-1}@media (pointer:coarse){.keyboard-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}button:active:not(:disabled){transform:none}}
