:root{--paper:#f9fafb;--paper-soft:#f3f4f6;--sheet:#fff;--blueprint:#1d3b53;--blueprint-soft:#28506e;--ink:#17191c;--ink-soft:#3a3c40;--ash:#56554c;--on-blueprint:#edeae2;--on-blueprint-mute:#9db0bf;--redline:#c8102e;--redline-bright:#e11d2a;--line:#cfc9bb;--line-blue:#1d3b532e;--success:#2f8f5b;--error:#b00020}.devis-gridfade{-webkit-mask-image:radial-gradient(90% 80% at 50% 0,#000 40%,#0000 85%);mask-image:radial-gradient(90% 80% at 50% 0,#000 40%,#0000 85%)}.mono{font-family:var(--font-plex), ui-monospace, monospace}.eyebrow{font-family:var(--font-plex), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);font-size:11px;font-weight:500}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.btn{font-family:var(--font-inter), sans-serif;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:500;line-height:1;transition:transform .18s cubic-bezier(.34,1.4,.5,1),background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.985)}.btn:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.btn-redline{background:var(--redline);color:var(--paper)}.btn-redline:hover{background:var(--redline-bright)}.btn-ghost{border-color:var(--ink);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-quiet{color:var(--ash);background:0 0;border:none;padding:11px 8px}.btn-quiet:hover:not(:disabled){color:var(--ink)}.btn:disabled{opacity:.35;cursor:default}.btn:disabled:active{transform:none}.btn-redline:disabled:hover{background:var(--redline)}.btn-ghost:disabled:hover{color:var(--ink);background:0 0}@media (prefers-reduced-motion:reduce){.btn,.btn:active{transition:background-color .2s,border-color .2s,color .2s;transform:none}}.sheet{background:var(--sheet);border:1px solid var(--ink);border-radius:2px}.cartouche-band{border-bottom:1px solid var(--ink);font-family:var(--font-plex), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;padding:9px 16px;font-size:11px;font-weight:500;display:flex}.cote-sep{align-items:center;gap:10px;margin:28px 0 20px;display:flex}.cote-sep:before,.cote-sep:after{content:"";background:var(--line);flex:1;height:1px}.cote-sep .cote-label{font-family:var(--font-plex), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);white-space:nowrap;font-size:10px;font-weight:500}.cote-tick-l,.cote-tick-r{background:var(--ash);width:1px;height:9px}.cote-progress{align-items:flex-start;width:100%;display:flex}.cote-step{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;padding:0 0 4px;position:relative}.cote-step:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.cote-step .rail{align-items:center;height:13px;display:flex;position:relative}.cote-step .rail:before{content:"";background:var(--line);height:1px;position:absolute;top:6px;left:0;right:0}.cote-step[data-done=true] .rail:before,.cote-step[data-active=true] .rail:before{background:var(--blueprint);height:2px;top:5.5px}.cote-step[data-active=true] .rail:before{background:linear-gradient(to right, var(--blueprint) 50%, var(--line) 50%);height:2px}.cote-step .tick{background:var(--ash);width:1px;height:13px;position:absolute;top:0;left:0}.cote-step[data-done=true] .tick,.cote-step[data-active=true] .tick{background:var(--blueprint);width:2px}.cote-step:last-child .rail:after{content:"";background:var(--ash);width:1px;height:13px;position:absolute;top:0;right:0}.cote-step .lbl{font-family:var(--font-plex), monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ash);opacity:.65;margin-top:7px;padding-right:10px;font-size:10px;font-weight:500;transition:color .2s,opacity .2s;display:block}.cote-step[data-done=true] .lbl{opacity:1}.cote-step[data-active=true] .lbl{color:var(--ink);opacity:1;font-weight:600}.cote-step:hover .lbl{opacity:1}.opt-card{background:var(--sheet);border:1px solid var(--line);cursor:pointer;border-radius:2px;transition:border-color .15s,background-color .15s;position:relative}.opt-card:hover{border-color:var(--ink)}.opt-card[data-checked]{border-color:var(--blueprint);box-shadow:inset 0 0 0 1px var(--blueprint);background:#f4f7fa}.opt-card:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.crop{opacity:0;pointer-events:none;width:7px;height:7px;transition:opacity .15s;position:absolute}.opt-card[data-checked] .crop{opacity:1}.crop-tl{border-top:1.5px solid var(--blueprint);border-left:1.5px solid var(--blueprint);top:-4px;left:-4px}.crop-tr{border-top:1.5px solid var(--blueprint);border-right:1.5px solid var(--blueprint);top:-4px;right:-4px}.crop-bl{border-bottom:1.5px solid var(--blueprint);border-left:1.5px solid var(--blueprint);bottom:-4px;left:-4px}.crop-br{border-bottom:1.5px solid var(--blueprint);border-right:1.5px solid var(--blueprint);bottom:-4px;right:-4px}.sel-box{border:1px solid var(--ash);background:var(--sheet);border-radius:2px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-top:3px;transition:border-color .15s,background-color .15s;display:inline-flex}.sel-box:after{content:"";background:0 0;width:6px;height:6px;transition:background-color .15s}.opt-card[data-checked] .sel-box{border-color:var(--blueprint)}.opt-card[data-checked] .sel-box:after{background:var(--blueprint)}.cote-tag{font-family:var(--font-plex), monospace;letter-spacing:.04em;color:var(--ash);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.opt-card[data-checked] .cote-tag{color:var(--blueprint);font-weight:600}.preset{background:var(--sheet);border:1px solid var(--line);font-family:var(--font-plex), monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:2px;padding:7px 12px;font-size:11px;font-weight:500;transition:border-color .15s,color .15s,background-color .15s}.preset:hover{border-color:var(--ink);color:var(--ink)}.preset[data-active=true]{border-color:var(--blueprint);box-shadow:inset 0 0 0 1px var(--blueprint);color:var(--blueprint)}.preset:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.price-figure{font-family:var(--font-archivo), sans-serif;letter-spacing:-.8px;color:var(--ink);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:40px;font-weight:600;line-height:1.05}.delay-figure{font-family:var(--font-archivo), sans-serif;letter-spacing:-.3px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:21px;font-weight:600;line-height:1.1}@keyframes price-pop{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.price-pop{animation:.25s ease-out price-pop}@media (prefers-reduced-motion:reduce){.price-pop{animation:none}}.leader-row{font-family:var(--font-plex), monospace;letter-spacing:.03em;color:var(--ink-soft);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;padding:3.5px 0;font-size:11.5px;display:flex}.leader-row .fill{border-bottom:1px dotted var(--line);flex:1;transform:translateY(-3px)}.leader-row .val{color:var(--ink);font-weight:500}.leader-row.total-row{color:var(--ink);font-weight:600}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step-anim{animation:.24s ease-out step-in}@media (prefers-reduced-motion:reduce){.step-anim{animation:none}}.recap-row{border-bottom:1px solid var(--paper-soft);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.recap-row dt{font-family:var(--font-plex), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);flex:none;width:110px;font-size:10.5px;font-weight:500}.recap-row dd{color:var(--ink);flex:1;margin:0;font-size:14px}.edit-link{font-family:var(--font-plex), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ash);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;font-weight:500;text-decoration:underline}.edit-link:hover{color:var(--blueprint)}.edit-link:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.quiet-link{color:var(--ink-soft);text-underline-offset:3px;text-decoration:underline}.quiet-link:hover{color:var(--blueprint)}.quiet-link:focus-visible{outline:2px solid var(--redline);outline-offset:2px}.mantine-InputWrapper-label{display:block}.mantine-Slider-track{height:2px}.mantine-Slider-bar{background:var(--blueprint)}.mantine-Slider-thumb{border:1.5px solid var(--blueprint);background:var(--sheet);border-radius:2px;width:14px;height:14px}.mantine-Slider-mark{background:var(--line);border:none;border-radius:0;width:1px;height:7px;transform:translateY(1px)}.mantine-Slider-markLabel{font-family:var(--font-plex), monospace;letter-spacing:.05em;color:var(--ash);font-size:9.5px}.mantine-Slider-label{font-family:var(--font-plex), monospace;background:var(--blueprint);color:var(--on-blueprint);border-radius:2px;font-size:11px}.mantine-SegmentedControl-root{background:var(--paper-soft);border:1px solid var(--line);border-radius:2px}.mantine-SegmentedControl-indicator{background:var(--blueprint);box-shadow:none;border-radius:2px}.mantine-SegmentedControl-label{font-family:var(--font-plex), monospace;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:500}.mantine-SegmentedControl-control[data-active] .mantine-SegmentedControl-label,.mantine-SegmentedControl-label[data-active]{color:var(--on-blueprint)}.mantine-Combobox-dropdown,.mantine-Popover-dropdown{border-color:var(--line);border-radius:2px}.mantine-Combobox-option[data-combobox-selected]{background:var(--blueprint);color:var(--on-blueprint)}.shell{min-height:100dvh;position:relative}.bg-grid{z-index:0;pointer-events:none;position:fixed;inset:0}.main{z-index:1;position:relative}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.register-mark{color:var(--blueprint);font-family:var(--font-plex), monospace;font-size:15px;font-weight:500;line-height:1}.wordmark{font-family:var(--font-archivo), sans-serif;letter-spacing:-.2px;color:var(--ink);font-size:16px;font-weight:600}.main{max-width:1200px;margin:0 auto;padding:40px 24px 120px}.layout-grid{grid-template-columns:minmax(0,1fr) 372px;align-items:stretch;gap:28px;margin-top:36px;display:grid}.planche{flex-direction:column;display:flex}.planche-body{flex-direction:column;flex:1;display:flex}.step-nav{align-items:center;margin-top:auto;padding-top:28px;display:flex}.estimate-col{flex-direction:column;display:flex}.estimate-sticky{flex-direction:column;flex:1;max-height:calc(100dvh - 96px);display:flex;position:sticky;top:76px}.estimate-body{flex-direction:column;flex:1;min-height:0;display:flex}.map-box{flex:150px;min-height:150px}.field-row{grid-template-columns:1fr auto;align-items:start;gap:16px;display:grid}.field-row .field-label{margin-bottom:6px;line-height:1.55;display:block}.field-row .mantine-SegmentedControl-root{align-items:center;height:36px}.mobile-bar{display:none}@media (max-width:960px){.layout-grid{grid-template-columns:1fr}.topbar-mid{display:none}.topbar-cote{white-space:nowrap;font-size:10px}.field-row{grid-template-columns:1fr}.estimate-sticky{flex:none;max-height:none;position:static}.map-box{flex:none;height:150px}.cote-step .lbl{display:none}.cote-step[data-active=true] .lbl{display:block}.mobile-bar{z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--sheet);border-top:1px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}}
