@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:#f2f4f3;--surface:#fff;--ink:#18222c;--muted:#56626c;--line:#c8d0cd;--line-soft:#dde3e0;--action:#1d5aa6;--action-hover:#174a8a;--danger:#b8321a;--safety:#f0c419;--pending:#8a5a00;--header-height:52px;--font-ui:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--font-plate:"Barlow Semi Condensed", "Arial Narrow", sans-serif;font-family:var(--font-ui);color:var(--ink);background:var(--paper);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{margin:0;font-weight:600;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.2rem}p{margin:0}a{color:var(--action)}:focus-visible{outline:2px solid var(--action);outline-offset:2px}.header{min-height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:0 16px;display:flex}.brand{font-family:var(--font-plate);letter-spacing:.02em;color:var(--ink);font-size:1.25rem;font-weight:700;text-decoration:none}.nav{align-self:stretch;gap:4px;display:flex}.nav a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 10px;text-decoration:none;display:flex}.nav a:hover{color:var(--ink)}.nav a.active{color:var(--ink);border-bottom-color:var(--ink)}.session{color:var(--muted);align-items:center;gap:12px;margin-left:auto;display:flex}.main{width:100%;max-width:880px;margin:0 auto;padding:32px 16px 64px}.main-full{flex:1 1 0;max-width:none;min-height:0;padding:0}label{gap:4px;font-weight:500;display:grid}input,select{font:inherit;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:7px 10px;font-weight:400}input:focus,select:focus{outline:2px solid var(--action);outline-offset:-1px}button{font:inherit;color:#fff;background:var(--action);border:1px solid var(--action);cursor:pointer;border-radius:3px;min-height:40px;padding:8px 14px;font-weight:500}button:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}button:disabled{opacity:.55;cursor:default}button.secondary{color:var(--action);background:var(--surface)}button.secondary:hover:not(:disabled){color:#fff}button.secondary.active,button.secondary.active:hover:not(:disabled){color:var(--ink);background:var(--safety);border-color:var(--ink)}button.quiet{color:var(--ink);background:0 0;border-color:#0000}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:#9a2914;border-color:#9a2914}button.link{min-height:0;color:var(--action);background:0 0;border:0;padding:0}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.confirm{flex-wrap:wrap;gap:6px;display:inline-flex}.quiet-link{min-height:40px;color:var(--ink);align-items:center;padding:0 10px;display:inline-flex}.error{color:var(--danger)}.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-radius:3px;gap:14px;width:100%;max-width:560px;margin:0 auto;padding:24px;display:grid}.stack .card{margin:0}.card h1{font-size:1.4rem}.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{color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:1px 8px;font-size:.85rem}.page{gap:8px;display:grid}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:.875rem;display:flex}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}.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:16px}.building{margin-top:24px}.building>.title-row{border-bottom:2px solid var(--ink);margin-bottom:8px;padding-bottom:6px}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.building .rows{border-top:0}.rows li{border-bottom:1px solid var(--line)}.row-link{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:12px 8px;text-decoration:none;display:flex}.row-link:hover{background:var(--surface)}.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:1px solid var(--line);gap:12px;margin-top:40px;padding-top:20px;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 16px;display:flex}.toolbar h1{font-size:1.25rem}.tools{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.plan-area{background-color:var(--paper);background-image:linear-gradient(#c8d0cd73 1px,#0000 1px),linear-gradient(90deg,#c8d0cd73 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:1px solid var(--ink);pointer-events:none;border-radius:3px;padding:6px 12px;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:3px;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);cursor:pointer;border-radius:3px;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{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);resize:vertical;border-radius:3px;padding:7px 10px;font-weight:400}textarea:focus{outline:2px solid var(--action);outline-offset:-1px}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 .status{margin-left:0}.review-message{background:var(--surface);border:1px solid var(--line);border-radius:3px;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:#f0c41959}.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 #18222c33}.pdf-page-sheet canvas{display:block}.pdf-highlight{border-bottom:2px solid var(--safety);mix-blend-mode:multiply;pointer-events:none;background:#f0c41966;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}.nav{border-top:1px solid var(--line-soft);flex-basis:calc(100% + 32px);order:3;min-height:44px;margin:0 -16px;padding:0 6px;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 #18222c14}.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);background:var(--surface);border-radius:3px;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{background:#f0c4192e}.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{align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.reserve-status .swatch{background:var(--muted);border-radius:50%;width:10px;height:10px}.reserve-status-ouverte .swatch{background:var(--danger)}.reserve-status-assignee .swatch{background:var(--action)}.reserve-status-corrigee .swatch{background:var(--pending)}.reserve-status-levee{color:var(--muted)}.reserve-status-levee .swatch{border:2px solid var(--muted);background:0 0}.reserve-status.overdue .swatch{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--danger)}.late{color:var(--danger);font-weight:600}.selection-bar{background:var(--surface);border:1px solid var(--ink);border-radius:3px;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 #18222c1f}.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{border-bottom:2px solid var(--ink);gap:12px;margin:12px 0 8px;padding-bottom:20px;display:grid}.reserve-head h1{max-width:70ch;font-size:1.4rem}.reserve-head>.quiet{justify-self:start;padding-left:0}.facts{flex-wrap:wrap;gap:12px 32px;margin:0;display:flex}.facts dt{color:var(--muted);font-size:.8125rem}.facts dd{margin:0;font-weight:500}.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);gap:12px;padding:24px 0;display:grid}.reserve-section h3{margin-top:8px;font-size:1rem}.review-box{border-left:4px solid var(--pending);background:#8a5a0014;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}.journal li{grid-template-columns:150px 1fr;gap:2px 16px;display:grid}.journal time{color:var(--muted);font-size:.875rem}.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(--action);cursor:pointer;font-weight:500}.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:3px;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{text-align:center;width:96px;height:96px;color:var(--action);background:var(--surface);border:1px dashed var(--action);cursor:pointer;border-radius:3px;place-items:center;padding:8px;font-size:.875rem;display:grid}.photo-add:hover{background:#1d5aa60f}.photo-strip input:focus-visible+.photo-add{outline:2px solid var(--action);outline-offset:2px}.queued{border-left:3px solid var(--safety);background:#f0c41933;padding:8px 12px;font-size:.875rem}.queued-error{border-left-color:var(--danger);background:#b8321a14}.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 4px;display:flex}.item-number{width:28px;font-family:var(--font-plate);color:var(--muted);flex:none;font-size:1.25rem;font-weight:700}.item-main{gap:4px;display:grid}.item-text{font-weight:500}.item-detail{gap:12px;padding:0 12px 20px 44px;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%}.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:3px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:0;padding:0;list-style:none;display:grid}.counters li+li{border-left:1px solid var(--line)}.counter{color:var(--ink);gap:2px;padding:14px 16px;text-decoration:none;display:grid}.counter:hover{background:var(--paper)}.counter-value{font-family:var(--font-plate);font-size:2rem;font-weight:700;line-height:1}.counter-label{color:var(--muted);font-size:.875rem}.counter-danger .counter-value{color:var(--danger)}.counter-pending .counter-value{color:var(--pending)}.alerts{gap:8px;display:grid}.alert{border-left:4px solid;gap:4px;padding:12px 16px;display:grid}.alert ul{margin:4px 0 0;padding-left:20px}.alert-title{font-weight:600}.alert-danger{border-color:var(--danger);background:#b8321a14}.alert-pending{border-color:var(--pending);background:#8a5a0014}.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{align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.inspection-status .swatch{border:2px solid var(--muted);background:0 0;border-radius:50%;width:10px;height:10px}.inspection-status-a_jour .swatch{background:var(--muted);border-color:var(--muted)}.inspection-status-programmee .swatch{background:var(--action);border-color:var(--action)}.inspection-status-a_programmer,.inspection-status-rapport_attendu{color:var(--pending)}.inspection-status-a_programmer .swatch,.inspection-status-rapport_attendu .swatch{background:var(--pending);border-color:var(--pending)}.inspection-status-en_retard{color:var(--danger)}.inspection-status-en_retard .swatch{background:var(--danger);border-color:var(--danger)}.inspection-status-inconnue,.inspection-status-desactivee{color:var(--muted);font-weight:400}.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}}
