@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap";:root{--brand-name: "BTP Innovation Ivoire";--core-bg: #faf8f5;--core-surface: #ffffff;--core-surface-raised: #ffffff;--core-border: #e8e3da;--core-border-subtle: #f1ede5;--ink-900: #1b1812;--ink-700: #45403a;--ink-500: #766f63;--ink-300: #a89f92;--accent: #c1511f;--accent-hover: #a3431a;--accent-soft: #fbeee5;--accent-soft-border: #f0d2bd;--status-ok: #2f6b4f;--status-ok-soft: #e9f3ec;--status-warn: #a3720f;--status-warn-soft: #faf1de;--status-critical: #a3341f;--status-critical-soft: #fbe9e5;--status-neutral: #52606d;--status-neutral-soft: #eef1f3;--side-bg: #201d18;--side-bg-raised: #2a261f;--side-border: #38332a;--side-text: #a89f92;--side-text-active: #faf8f5;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Outfit", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--shadow-subtle: 0 1px 2px rgba(27, 24, 18, .04);--shadow-card: 0 1px 3px rgba(27, 24, 18, .05), 0 8px 24px -12px rgba(27, 24, 18, .12);--shadow-raised: 0 4px 12px rgba(27, 24, 18, .08), 0 16px 40px -16px rgba(27, 24, 18, .18);--ease-out: cubic-bezier(.16, 1, .3, 1)}:root{--text-main: var(--ink-900);--text-muted: var(--ink-700);--text-subtle: var(--ink-300);--accent-primary: var(--accent);--accent-primary-hover: var(--accent-hover);--accent-indigo: var(--accent);--accent-emerald: var(--status-ok);--accent-amber: var(--status-warn);--accent-rose: var(--status-critical)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--core-bg);color:var(--ink-900);font-family:var(--font-sans);line-height:1.5;min-height:100vh;background-image:linear-gradient(rgba(27,24,18,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(27,24,18,.035) 1px,transparent 1px);background-size:32px 32px}::selection{background:var(--accent-soft-border);color:var(--ink-900)}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.app-layout{display:flex;min-height:100vh}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--core-bg)}.content-body{padding:2rem 2.5rem 3rem;max-width:1360px;width:100%;margin:0 auto;animation:view-enter .35s var(--ease-out)}@keyframes view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sidebar{width:272px;background:var(--side-bg);color:var(--side-text-active);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem 1.15rem;transition:width .3s var(--ease-out);z-index:50;min-height:100vh;border-right:1px solid var(--side-border);position:relative}.sidebar:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;background:repeating-linear-gradient(to bottom,var(--accent) 0 4px,transparent 4px 12px);opacity:.35}.sidebar.collapsed{width:80px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;padding-bottom:1.1rem;border-bottom:1px solid var(--side-border)}.brand-wrapper{display:flex;align-items:center;gap:.8rem;min-width:0}.brand-icon-box{width:40px;height:40px;flex-shrink:0;background:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 10px #c1511f59}.brand-text{min-width:0}.brand-text h1{font-size:1.05rem;font-weight:700;color:var(--side-text-active);font-family:var(--font-heading);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text p{font-size:.7rem;color:var(--side-text);letter-spacing:.02em}.collapse-btn{background:transparent;border:1px solid var(--side-border);color:var(--side-text);width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease-out);flex-shrink:0}.collapse-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.nav-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--side-text);opacity:.65;margin:.25rem 0 .6rem .6rem}.nav-menu{list-style:none}.nav-item{position:relative;display:flex;align-items:center;gap:.85rem;padding:.7rem .85rem;color:var(--side-text);border-radius:var(--radius-md);cursor:pointer;transition:background .18s var(--ease-out),color .18s var(--ease-out),padding-left .18s var(--ease-out);font-size:.875rem;font-weight:500;-webkit-user-select:none;user-select:none;margin-bottom:.2rem}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent);border-radius:2px;transition:height .18s var(--ease-out)}.nav-item:hover{background:var(--side-bg-raised);color:var(--side-text-active)}.nav-item.active{background:var(--side-bg-raised);color:var(--side-text-active);font-weight:600;padding-left:1.05rem}.nav-item.active:before{height:60%}.nav-badge{margin-left:auto;background:#ffffff14;color:var(--side-text-active);font-size:.7rem;padding:.15rem .55rem;border-radius:12px;font-weight:700;font-family:var(--font-mono)}.nav-item.active .nav-badge{background:var(--accent)}.sidebar-footer{padding-top:1rem;border-top:1px solid var(--side-border)}.account-card{display:flex;align-items:center;gap:.8rem;padding:.65rem;border-radius:var(--radius-md);background:var(--side-bg-raised);cursor:pointer;transition:background .18s var(--ease-out)}.account-card:hover{background:#332e25}.account-avatar{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-details{min-width:0}.account-details .name{font-size:.82rem;font-weight:600;color:var(--side-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-details .role{font-size:.7rem;color:var(--side-text)}.topbar{height:68px;background:var(--core-surface);border-bottom:1px solid var(--core-border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:40}.topbar-left{display:flex;align-items:center;gap:1.5rem;min-width:0}.topbar-right{display:flex;align-items:center;gap:.75rem}.search-box{display:flex;align-items:center;gap:.6rem;background:var(--core-bg);border:1px solid var(--core-border);border-radius:var(--radius-md);padding:.5rem .9rem;width:320px;max-width:40vw;transition:border-color .18s var(--ease-out)}.search-box:focus-within{border-color:var(--accent)}.search-box input{border:none;background:transparent;outline:none;font-size:.85rem;color:var(--ink-900);width:100%;font-family:var(--font-sans)}.search-box input::placeholder{color:var(--ink-300)}.glass-panel{background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-card);margin-bottom:1.5rem;transition:box-shadow .2s var(--ease-out)}.plan-card{background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-lg);padding:1.25rem;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),border-color .18s var(--ease-out)}.plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised);border-color:var(--core-border)}.kpi-card{position:relative;background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-lg);padding:1.25rem 1.4rem;display:flex;align-items:center;gap:1rem;overflow:hidden;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised)}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kpi-accent, var(--accent))}.kpi-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--kpi-bg, var(--accent-soft));color:var(--kpi-fg, var(--accent))}.kpi-icon.blue{--kpi-bg: var(--status-neutral-soft);--kpi-fg: var(--status-neutral)}.kpi-icon.green{--kpi-bg: var(--status-ok-soft);--kpi-fg: var(--status-ok)}.kpi-icon.amber{--kpi-bg: var(--status-warn-soft);--kpi-fg: var(--status-warn)}.kpi-icon.orange{--kpi-bg: var(--accent-soft);--kpi-fg: var(--accent)}.kpi-value{font-size:1.5rem;font-weight:800;font-family:var(--font-heading);color:var(--ink-900);line-height:1.1}.kpi-label{font-size:.775rem;color:var(--ink-500);margin-top:.15rem}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge-info{background:var(--status-neutral-soft);color:var(--status-neutral);border:1px solid #dbe1e6}.badge-success{background:var(--status-ok-soft);color:var(--status-ok);border:1px solid #cfe6d8}.badge-warning{background:var(--status-warn-soft);color:var(--status-warn);border:1px solid #f0e2bd}.badge-locked{background:var(--status-critical-soft);color:var(--status-critical);border:1px solid #f2cec4}.badge-unlocked{background:var(--status-ok-soft);color:var(--status-ok);border:1px solid #cfe6d8}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-900);margin-bottom:.45rem}.form-control,.form-select{width:100%;padding:.7rem .95rem;background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-md);font-size:.9rem;color:var(--ink-900);font-family:var(--font-sans);transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.form-control:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .12s var(--ease-out),background .18s var(--ease-out),border-color .18s var(--ease-out);border:none;font-family:var(--font-sans)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled:active{transform:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 3px 8px #c1511f47}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--core-surface);color:var(--ink-900);border:1px solid var(--core-border)}.btn-secondary:hover:not(:disabled){background:var(--core-bg);border-color:var(--ink-300)}.btn-success{background:var(--status-ok);color:#fff}.btn-warning{background:var(--status-warn);color:#fff}.custom-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:1rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--core-border)}.custom-table th{background:var(--core-bg);padding:.85rem 1.1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);border-bottom:1px solid var(--core-border);text-align:left}.custom-table td{padding:.9rem 1.1rem;font-size:.875rem;border-bottom:1px solid var(--core-border-subtle);background:var(--core-surface);font-variant-numeric:tabular-nums}.custom-table tr:last-child td{border-bottom:none}.custom-table tr{transition:background .15s var(--ease-out)}.custom-table tbody tr:hover td{background:var(--core-bg)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .4s var(--ease-out) both}.stagger>*{animation:fade-in-up .4s var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.14s}.stagger>*:nth-child(5){animation-delay:.18s}.stagger>*:nth-child(6){animation-delay:.22s}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.content-body{padding:1.5rem}}@media (max-width: 768px){.sidebar{position:fixed;height:100vh}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.search-box{display:none}.content-body{padding:1.1rem}.topbar{padding:0 1.1rem}}.landing{background:var(--core-bg);min-height:100vh}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;max-width:1360px;margin:0 auto}.landing-brand-name{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--ink-900)}.landing-hero{max-width:1360px;margin:0 auto;padding:3rem 3rem 5rem;display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center}.landing-hero-text h1{font-family:var(--font-heading);font-size:2.85rem;font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--ink-900);margin-bottom:1.25rem}.accent-text{color:var(--accent)}.landing-hero-text p{font-size:1.02rem;color:var(--ink-700);line-height:1.65;max-width:46ch;margin-bottom:2rem}.landing-hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}.hero-visual{position:relative}.hero-visual-glow{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(circle at 60% 30%,var(--accent-soft) 0%,transparent 65%);z-index:0;pointer-events:none}@media (max-width: 900px){.hero-visual-glow{top:0;right:0;bottom:0;left:0}}.hero-mock-window{position:relative;z-index:1;background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);overflow:hidden;animation:fade-in-up .6s var(--ease-out) both}.hero-mock-titlebar{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;background:var(--core-bg);border-bottom:1px solid var(--core-border)}.hero-mock-titlebar span{width:8px;height:8px;border-radius:50%;background:var(--core-border)}.hero-mock-title{margin-left:.6rem;font-size:.72rem;color:var(--ink-500);font-weight:600}.hero-mock-body{padding:1.25rem}.hero-mock-kpis{display:flex;gap:.75rem;margin-bottom:1rem}.hero-mock-kpi{flex:1;display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid var(--core-border);border-radius:var(--radius-md);color:var(--ink-500)}.hero-mock-kpi.accent{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent)}.hero-mock-kpi-value{font-family:var(--font-heading);font-weight:800;font-size:1.05rem;color:var(--ink-900)}.hero-mock-kpi-label{font-size:.65rem;color:var(--ink-500)}.hero-mock-table{border:1px solid var(--core-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.hero-mock-row{display:grid;grid-template-columns:1.4fr 1fr .4fr;padding:.55rem .85rem;font-size:.75rem;border-bottom:1px solid var(--core-border-subtle);align-items:center;color:var(--ink-700)}.hero-mock-row:last-child{border-bottom:none}.hero-mock-row.header{background:var(--core-bg);font-weight:700;color:var(--ink-500);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.hero-mock-dot{width:8px;height:8px;border-radius:50%}.hero-mock-dot.ok{background:var(--status-ok)}.hero-mock-dot.warn{background:var(--status-warn)}.hero-mock-chart{display:flex;align-items:flex-end;gap:.4rem;height:60px}.hero-mock-bar{flex:1;background:linear-gradient(180deg,var(--accent),var(--accent-soft));border-radius:3px 3px 0 0;animation:bar-grow .6s var(--ease-out) both}@keyframes bar-grow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}.hero-cote{position:absolute;z-index:2;background:var(--ink-900);color:var(--core-bg);font-family:var(--font-mono);font-size:.7rem;padding:.3rem .65rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-raised)}.hero-cote-1{top:-14px;right:30px}.hero-cote-2{bottom:20px;left:-18px}.landing-section{max-width:1360px;margin:0 auto;padding:4rem 3rem}.landing-section h2{font-family:var(--font-heading);font-size:1.85rem;font-weight:700;color:var(--ink-900);letter-spacing:-.01em}.landing-section-sub{color:var(--ink-500);margin-top:.5rem;font-size:.95rem}.landing-section-alt{background:var(--core-surface);border-top:1px solid var(--core-border);border-bottom:1px solid var(--core-border)}.landing-check-list{list-style:none;margin-top:1.1rem;display:flex;flex-direction:column;gap:.8rem}.landing-check-list li{display:flex;align-items:flex-start;gap:.65rem;color:var(--ink-700);font-size:.92rem}.landing-check-list svg{color:var(--status-ok);flex-shrink:0;margin-top:.1rem}.landing-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.25rem}.landing-step{border-left:2px solid var(--accent-soft-border);padding-left:1.1rem}.landing-step-num{font-family:var(--font-mono);font-weight:700;color:var(--accent);font-size:.85rem}.landing-step h3{font-size:1rem;font-weight:700;margin:.4rem 0}.landing-step p{font-size:.85rem;color:var(--ink-500);line-height:1.55}.landing-footer{max-width:1360px;margin:0 auto;padding:2rem 3rem 3rem;display:flex;align-items:center;gap:1rem;border-top:1px solid var(--core-border)}@media (max-width: 1024px){.landing-hero{grid-template-columns:1fr;padding:2.5rem 1.5rem}.landing-steps{grid-template-columns:repeat(2,1fr)}.landing-section{padding:3rem 1.5rem}.landing-nav{padding:1.2rem 1.5rem}}@media (max-width: 640px){.landing-hero-text h1{font-size:2rem}.landing-steps{grid-template-columns:1fr}}.login-screen{display:flex;min-height:100vh}.login-visual{flex:1.1;background:var(--side-bg);color:var(--side-text-active);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.login-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(250,248,245,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(250,248,245,.04) 1px,transparent 1px);background-size:28px 28px}.login-visual-inner{position:relative;max-width:420px}.login-visual h2{font-family:var(--font-heading);font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.login-visual p{color:var(--side-text);font-size:.95rem;line-height:1.6}.login-form-side{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--core-bg)}.login-form{width:100%;max-width:380px}.login-back{background:none;border:none;color:var(--ink-500);font-size:.82rem;cursor:pointer;margin-bottom:1.5rem;padding:0}.login-form h1{font-family:var(--font-heading);font-size:1.7rem;font-weight:700}.login-sub{color:var(--ink-500);font-size:.88rem;margin:.35rem 0 1.75rem}.input-icon-wrap{position:relative;display:flex;align-items:center}.input-icon-wrap svg{position:absolute;left:.85rem;color:var(--ink-300);pointer-events:none}.login-notice{display:flex;gap:.6rem;align-items:flex-start;margin-top:1.25rem;padding:.85rem 1rem;background:var(--status-neutral-soft);border-radius:var(--radius-md);font-size:.78rem;color:var(--ink-700);line-height:1.5}.login-notice svg{flex-shrink:0;margin-top:.15rem;color:var(--status-neutral)}.login-link-inline{background:none;border:none;padding:0;color:var(--accent);font-size:inherit;font-weight:600;cursor:pointer;text-decoration:none}.login-link-inline:hover{text-decoration:underline}.login-switch{text-align:center;font-size:.85rem;color:var(--ink-500);margin-top:1.1rem}@media (max-width: 900px){.login-visual{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.nav-item{width:100%;background:transparent;border:none;font-family:var(--font-sans);text-align:left}.nav-menu{list-style:none;padding:0;margin:0 0 .6rem}.nav-item-inactif{opacity:.45}button.account-card{width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.nav-item-deconnexion{margin-top:.5rem}.texte-discret{color:var(--ink-500);font-size:.84rem}.texte-erreur{color:var(--status-critical);font-size:.84rem;display:inline-flex;gap:.35rem;align-items:center}.surtitre{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--accent);margin:0 0 .2rem}.sous-titre{font-size:.9rem;font-weight:600;margin:1rem 0 .5rem}.lien{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.lien-fort{font-weight:700;color:var(--ink-900);text-decoration:none;font-size:1rem}.lien-fort:hover{color:var(--accent)}.actions-ligne{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.btn-compact{padding:.4rem .7rem;font-size:.8rem}.btn-danger{background:var(--status-critical);color:#fff}.btn-ia{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-soft-border)}.rotation-180{transform:rotate(180deg)}.valeur-lecture{padding:.6rem 0;font-weight:600;color:var(--ink-700)}.aide-champ{display:block;margin-top:.3rem;font-size:.78rem;color:var(--ink-500);line-height:1.4}.bloc-murs{margin-top:1rem}.bouton-reference{margin-top:.4rem}.plan-murs{margin:1.5rem 0;padding:1.25rem;border:1px solid var(--core-border);border-radius:var(--radius-lg);background:var(--core-surface)}.plan-murs h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem}.plan-murs-entete{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem}.plan-murs-total{margin:0;text-align:right;white-space:nowrap}.plan-murs-total strong{font-family:var(--font-heading);font-size:1.5rem;color:var(--ink-900);display:block}.plan-murs-outils{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.plan-murs-svg{display:block;width:100%;max-height:60vh;background:linear-gradient(var(--core-border-subtle) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,var(--core-border-subtle) 1px,transparent 1px) 0 0 / 24px 24px,var(--core-bg);border-radius:var(--radius-md);border:1px solid var(--core-border);touch-action:manipulation}.troncon{cursor:pointer;outline:none}.troncon.inactif{cursor:not-allowed;opacity:.4}.troncon-zone{stroke:transparent;stroke-width:22px;vector-effect:non-scaling-stroke;stroke-linecap:round}.troncon-trait{stroke:var(--ink-300);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:6 4;transition:stroke .15s var(--ease-out),stroke-width .15s var(--ease-out)}.troncon:hover .troncon-trait{stroke:var(--ink-700)}.troncon.avec-mur .troncon-trait{stroke:var(--accent);stroke-width:8px;stroke-dasharray:none;stroke-linecap:square}.troncon:focus-visible .troncon-zone{stroke:var(--accent-soft-border)}.poteau-plan{fill:var(--ink-900);pointer-events:none}.plan-murs-legende{display:flex;gap:.35rem 1.25rem;flex-wrap:wrap;list-style:none;padding:0;margin:.6rem 0 0;font-size:.8rem;color:var(--ink-500)}.plan-murs-legende li{display:flex;align-items:center;gap:.4rem}.pastille-mur{width:18px;height:6px;background:var(--accent)}.pastille-poutre{width:18px;border-top:2px dashed var(--ink-300)}.pastille-poteau{width:8px;height:8px;background:var(--ink-900)}.plan-murs-actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}@media (max-width: 640px){.plan-murs{padding:1rem}.plan-murs-entete{grid-template-columns:1fr;gap:.5rem}.plan-murs-total{text-align:left}}.aide-champ.aide-alerte{color:var(--status-warn);font-weight:600}.alerte{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1.1rem;border-radius:var(--radius-md);border:1px solid;margin-bottom:1rem;font-size:.88rem;line-height:1.45}.alerte-icone{flex-shrink:0;margin-top:.1rem}.alerte-corps{flex:1;min-width:0}.alerte-titre{display:block;margin-bottom:.2rem}.alerte-liste{margin:.4rem 0 0;padding-left:1.2rem}.alerte-action{flex-shrink:0;padding:.4rem .8rem;font-size:.8rem}.alerte-erreur{background:var(--status-critical-soft);border-color:#f2c8bf;color:var(--status-critical)}.alerte-attention{background:var(--status-warn-soft);border-color:#eedbb1;color:#7d570b}.alerte-succes{background:var(--status-ok-soft);border-color:#c8e2d1;color:var(--status-ok)}.alerte-info{background:var(--status-neutral-soft);border-color:#d9dfe4;color:var(--status-neutral)}.pile-alertes{display:flex;flex-direction:column;gap:.6rem}.pile-alertes .alerte{margin-bottom:0}.etat-chargement{padding:2rem;text-align:center;color:var(--ink-500)}.etat-vide{text-align:center;padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.6rem}.etat-vide h2{font-family:var(--font-heading);font-size:1.3rem}.etat-vide p{color:var(--ink-500);max-width:460px}.etat-vide-actions{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center}.etat-vide-compact{padding:1.25rem;border:1px dashed var(--core-border);border-radius:var(--radius-md);text-align:center}.topbar-projet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}.type-donnee{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.12rem .45rem;border-radius:999px;background:var(--status-neutral-soft);color:var(--status-neutral);white-space:nowrap;vertical-align:middle}.type-calculé{background:#e5eefb;color:#1d5bb0}.type-saisi{background:var(--status-neutral-soft);color:var(--status-neutral)}.type-estimé,.type-hypothèse{background:var(--status-warn-soft);color:#7d570b}.statut-pastille{display:inline-block;font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;margin-left:.5rem;vertical-align:middle;white-space:nowrap}.statut-brouillon{background:var(--status-neutral-soft);color:var(--status-neutral)}.statut-en_etude{background:var(--status-warn-soft);color:#7d570b}.statut-valide{background:#e5eefb;color:#1d5bb0}.statut-dqe_genere{background:var(--status-ok-soft);color:var(--status-ok)}.statut-attention,.ton-attention.statut-pastille{background:var(--status-warn-soft);color:#7d570b}.ton-critique.statut-pastille{background:var(--status-critical-soft);color:var(--status-critical)}.ton-info.statut-pastille{background:#e5eefb;color:#1d5bb0}.ton-ok.statut-pastille{background:var(--status-ok-soft);color:var(--status-ok)}.ton-neutre.statut-pastille{background:var(--status-neutral-soft);color:var(--status-neutral)}.dashboard{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.dashboard>*,.dashboard-grille>*,.content-body>*{min-width:0}.content-body{min-width:0}.dashboard-entete,.etape-entete{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.dashboard-entete h2,.etape-entete h2{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;margin:0}.etape-entete{margin-bottom:1.5rem}.etape{display:flex;flex-direction:column;gap:1.5rem}.etape .etape-entete{margin-bottom:0}.dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.dashboard-grille{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem}.carte h3{font-family:var(--font-heading);font-size:1.1rem;margin:0 0 .6rem}.notes{margin:0;padding-left:1.2rem;color:var(--ink-500);font-size:.84rem}.kpi{background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;box-shadow:var(--shadow-subtle);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ink-300)}.kpi-ok:before{background:var(--status-ok)}.kpi-attention:before{background:var(--status-warn)}.kpi-critique:before{background:var(--status-critical)}.kpi-entete{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--ink-500);font-weight:600;flex-wrap:wrap}.kpi-valeur{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--ink-900);margin-top:.35rem;line-height:1.15;word-break:break-word}.kpi-unite{font-size:.9rem;color:var(--ink-500);font-weight:600}.kpi-detail{font-size:.78rem;color:var(--ink-500);margin-top:.35rem;line-height:1.4}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.pipeline-etape{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.9rem 1rem;border-radius:var(--radius-md);border:1px solid var(--core-border);background:var(--core-surface);cursor:pointer;font-family:var(--font-sans);text-align:left}.pipeline-etape:hover{border-color:var(--accent-soft-border)}.pipeline-nombre{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--ink-900)}.pipeline-libelle{font-size:.8rem;color:var(--ink-500);font-weight:600}.pipeline-fleche{position:absolute;right:-.6rem;top:50%;transform:translateY(-50%);color:var(--ink-300);background:var(--core-bg);border-radius:50%;z-index:1}.pipeline-brouillon{border-top:3px solid var(--ink-300)}.pipeline-en_etude{border-top:3px solid var(--status-warn)}.pipeline-valide{border-top:3px solid #2a78d6}.pipeline-dqe_genere{border-top:3px solid var(--status-ok)}.liste-a-traiter{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.liste-a-traiter>li{padding-bottom:.75rem;border-bottom:1px solid var(--core-border-subtle)}.raisons{margin:.3rem 0 0;padding-left:1.1rem;font-size:.84rem;color:var(--ink-700)}.pastille{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.pastille-hachure{background:repeating-linear-gradient(45deg,var(--ink-300) 0 2px,transparent 2px 5px)}.bar-chart{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.bar-ligne{display:grid;grid-template-columns:minmax(90px,.9fr) 2fr auto;gap:.75rem;align-items:center;font-size:.84rem}.bar-libelle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-700)}.bar-piste{height:10px;background:var(--core-border-subtle);border-radius:999px;overflow:hidden}.bar-remplissage{display:block;height:100%;border-radius:999px;transition:width .5s var(--ease-out)}.bar-valeur{text-align:right;white-space:nowrap;font-weight:600}.bar-part{color:var(--ink-500);font-weight:500}.donut{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.donut svg{width:150px;height:150px;flex-shrink:0}.donut-centre{font-family:var(--font-heading);font-size:20px;font-weight:700;fill:var(--ink-900)}.donut-sous-centre{font-size:10px;fill:var(--ink-500)}.donut-legende{list-style:none;padding:0;margin:0;flex:1;min-width:200px;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem}.donut-legende li{display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:center}.line-chart{overflow-x:auto}.line-chart svg{width:100%;min-width:560px;height:auto;max-height:260px;display:block}.line-chart .axe{font-size:11px;fill:var(--ink-500)}.line-legende{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;padding:0;margin:0 0 .5rem;font-size:.8rem;color:var(--ink-700)}.line-legende li{display:flex;align-items:center;gap:.4rem}.line-details summary{cursor:pointer;font-size:.82rem;color:var(--accent);margin-top:.5rem}.progress-entete{display:flex;justify-content:space-between;font-size:.84rem;font-weight:600;margin-bottom:.35rem}.progress-piste{height:10px;background:var(--core-border-subtle);border-radius:999px;overflow:hidden}.progress-barre{height:100%;border-radius:999px;transition:width .5s var(--ease-out)}.mini-progress{height:4px;background:var(--core-border-subtle);border-radius:999px;overflow:hidden;margin-top:.5rem;max-width:320px}.mini-progress span{display:block;height:100%;background:var(--status-ok)}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--core-border)}.timeline-item{display:flex;gap:.85rem;padding:.45rem 0;position:relative}.timeline-point{width:11px;height:11px;border-radius:50%;background:var(--core-surface);border:2px solid var(--ink-300);flex-shrink:0;margin-top:.3rem;z-index:1}.timeline-dqe_genere .timeline-point{border-color:var(--status-ok)}.timeline-element_valide .timeline-point{border-color:#2a78d6}.timeline-projet_cree .timeline-point{border-color:var(--accent)}.timeline-corps{font-size:.86rem;min-width:0}.timeline-nombre{color:var(--accent);font-weight:700}.timeline-meta{font-size:.76rem;color:var(--ink-500)}.alert-card{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--core-border);border-left-width:4px;background:var(--core-surface)}.alert-card-critique{border-left-color:var(--status-critical)}.alert-card-attention{border-left-color:var(--status-warn)}.alert-card-info{border-left-color:#2a78d6}.alert-card-corps{flex:1;min-width:0;font-size:.86rem}.alert-card-corps p{margin:.2rem 0 0}.alert-card-niveau{font-weight:700}.alert-card-elements{font-family:var(--font-mono);font-size:.76rem;color:var(--ink-500);word-break:break-word}.regle-ratio{padding:.75rem 0;border-bottom:1px solid var(--core-border-subtle)}.regle-ratio-entete{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.88rem}.regle-ratio-piste{position:relative;height:12px;background:var(--core-border-subtle);border-radius:999px;margin:.5rem 0 .3rem}.regle-ratio-zone{position:absolute;top:0;bottom:0;background:var(--status-ok-soft);border:1px solid #c8e2d1;border-radius:999px}.regle-ratio-curseur{position:absolute;top:-4px;width:4px;height:20px;margin-left:-2px;background:var(--ink-900);border-radius:2px}.regle-ratio-legende{font-size:.76rem}.funnel{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.funnel li{display:grid;grid-template-columns:minmax(120px,.8fr) 2fr auto;gap:.75rem;align-items:center;font-size:.85rem}.funnel-piste{height:14px;background:var(--core-border-subtle);border-radius:4px;overflow:hidden}.funnel-barre{display:block;height:100%;background:var(--accent)}.barre-filtres{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.champ-recherche{position:relative;flex:1;min-width:220px;display:flex;align-items:center}.champ-recherche svg{position:absolute;left:.8rem;color:var(--ink-300)}.champ-recherche input{padding-left:2.3rem;width:100%}.filtres-statut{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.barre-filtres .filtres-statut{margin-bottom:0}.chip{padding:.4rem .8rem;border-radius:999px;border:1px solid var(--core-border);background:var(--core-surface);font-size:.8rem;font-weight:600;color:var(--ink-700);cursor:pointer;font-family:var(--font-sans)}.chip-actif{background:var(--ink-900);color:var(--core-bg);border-color:var(--ink-900)}.liste-projets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.carte-projet{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;background:var(--core-surface);border:1px solid var(--core-border);border-radius:var(--radius-lg);flex-wrap:wrap}.carte-projet-ouvert{border-color:var(--accent-soft-border);box-shadow:inset 3px 0 0 var(--accent)}.carte-projet-corps{flex:1;min-width:0}.carte-projet-meta{margin-top:.25rem}.carte-projet-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.confirmation{display:inline-flex;gap:.4rem;align-items:center;font-size:.82rem;color:var(--status-critical);font-weight:600;flex-wrap:wrap}.navigation-etapes{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.navigation-fin{justify-content:flex-end}.formulaire-ligne{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.75rem;align-items:end}.formulaire-ligne .form-group{margin-bottom:0}.cellule-actions{white-space:nowrap;display:flex;gap:.3rem}.bandeau-etat{display:flex;gap:.9rem;align-items:center;padding:1rem 1.2rem;border-radius:var(--radius-md)}.bandeau-etat p{margin:0;font-size:.85rem}.bandeau-etat.ton-ok{background:var(--status-ok-soft);color:var(--status-ok)}.bandeau-etat.ton-attention{background:var(--status-warn-soft);color:#7d570b}.bloc-entete{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.bloc-entete h3,.bloc-titre h3,.bloc-tableau h3{font-family:var(--font-heading);font-size:1.1rem;margin:0}.bloc-titre{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.bloc-tableau h3{margin-bottom:.5rem}.bloc-coherence{padding:1.2rem;border-radius:var(--radius-lg);border:1px solid var(--accent-soft-border);background:var(--core-bg)}.resume-coherence{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;margin-bottom:1rem}.resume-case{display:flex;flex-direction:column;align-items:center;padding:.6rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;background:var(--core-surface);border:1px solid var(--core-border)}.resume-case .tabular{font-size:1.3rem;font-weight:800}.resume-vide{opacity:.5}.ton-critique.resume-case{color:var(--status-critical)}.ton-attention.resume-case{color:#7d570b}.ton-info.resume-case{color:#1d5bb0}.ton-ok.resume-case{color:var(--status-ok)}.ton-neutre.resume-case{color:var(--status-neutral)}.liste-coherence{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.carte-coherence{padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--core-surface);border:1px solid var(--core-border);border-left-width:4px}.bord-critique{border-left-color:var(--status-critical)}.bord-attention{border-left-color:var(--status-warn)}.bord-info{border-left-color:#2a78d6}.bord-ok{border-left-color:var(--status-ok)}.bord-neutre{border-left-color:var(--ink-300)}.carte-coherence-entete{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.carte-coherence-entete .statut-pastille{margin-left:auto}.signal{margin-top:.6rem;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--core-border-subtle);border-left-width:3px;font-size:.84rem}.signal p{margin:.2rem 0 0}.signal-entete{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;color:var(--ink-500)}.signal-valeurs{display:flex;gap:1rem;flex-wrap:wrap;font-weight:600;color:var(--ink-500);font-size:.78rem}.note-validation{display:flex;gap:.35rem;align-items:center;font-size:.78rem;color:var(--ink-500);font-style:italic;margin:.6rem 0 0}.explication-ia{margin-top:.6rem}.explication-ia-corps{margin-top:.5rem;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--accent-soft);border:1px dashed var(--accent-soft-border);font-size:.86rem}.explication-ia-entete{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.72rem;font-weight:700;color:var(--accent)}.explication-ia-entete span{display:inline-flex;align-items:center;gap:.3rem}.ligne-explication td{background:var(--accent-soft);font-size:.85rem}.ligne-explication p{margin:.35rem 0 0}.liste-elements{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.ligne-element{border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface)}.ligne-element.est-valide{border-left:3px solid var(--status-ok)}.ligne-element-resume{display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem;flex-wrap:wrap}.ligne-element-bascule{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;font:inherit;color:var(--ink-900);padding:.2rem}.ligne-element-section{flex:1;font-size:.86rem;min-width:140px}.ligne-element-detail{padding:.25rem 1rem 1rem;border-top:1px solid var(--core-border-subtle)}.grille-donnees{display:grid;grid-template-columns:minmax(150px,max-content) 1fr;gap:.3rem 1rem;margin:0;font-size:.84rem}.grille-donnees dt{color:var(--ink-500)}.grille-donnees dd{margin:0;font-weight:600;word-break:break-word}.saisie-manuelle{border:1px dashed var(--status-warn);border-radius:var(--radius-md);padding:.75rem 1rem;margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}.saisie-manuelle legend{font-size:.8rem;font-weight:700;color:#7d570b;padding:0 .3rem}.saisie-manuelle .form-group{margin-bottom:0}.encart-ia{padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-soft-border);margin:1rem 0}.encart-ia .actions-ligne input{flex:1;min-width:200px}.formulaire-poste{padding:1rem;border:1px solid var(--core-border);border-radius:var(--radius-md)}.apercu-plan h3{display:flex;align-items:center;gap:.5rem;font-size:1rem}.cadre-pdf{width:100%;height:600px;border:1px solid var(--core-border);border-radius:var(--radius-md);background:#fff}.total-dqe{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:1.4rem 1.6rem;border-radius:var(--radius-lg);background:var(--side-bg);color:var(--side-text-active)}.total-dqe .surtitre{color:#f0a477}.total-dqe .texte-discret,.total-dqe dt{color:var(--side-text)}.total-dqe-montant{font-family:var(--font-heading);font-size:2.1rem;font-weight:800;margin:.15rem 0}.lot-dqe-entete{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:2px solid var(--ink-900);padding-bottom:.4rem;margin-bottom:.5rem}.lot-dqe-entete h3{font-family:var(--font-heading);font-size:1.05rem;margin:0}.lot-dqe-entete .tabular{font-weight:700}.liste-problemes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.liste-problemes li{display:grid;grid-template-columns:auto 1fr;gap:.2rem .75rem;padding:.6rem .8rem;border:1px solid var(--core-border);border-radius:var(--radius-sm);font-size:.85rem;background:var(--core-surface)}.liste-problemes li .texte-discret{grid-column:2}.liste-problemes code{font-size:.72rem;color:var(--status-critical)}.table-scroll{overflow-x:auto;position:relative;-webkit-overflow-scrolling:touch}.table-scroll .custom-table{min-width:560px}@media (max-width: 900px){.dashboard-grille{grid-template-columns:1fr}.formulaire-ligne{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:repeat(2,1fr)}.pipeline-fleche{display:none}}@media (max-width: 768px){.masque-mobile{display:none}.topbar-projet{max-width:38vw}.main-wrapper{margin-left:80px;overflow-x:clip}.sidebar.collapsed{width:80px}.custom-table{display:block;overflow-x:auto;position:relative}.table-scroll .custom-table{display:table}.formulaire-ligne{grid-template-columns:1fr}.bar-ligne{grid-template-columns:1fr auto}.bar-piste{grid-column:1 / -1;grid-row:2}.funnel li{grid-template-columns:1fr auto}.funnel-piste{grid-column:1 / -1;grid-row:2}.grille-donnees{grid-template-columns:1fr}.grille-donnees dd{margin-bottom:.3rem}.total-dqe-montant{font-size:1.6rem}.cadre-pdf{height:420px}.carte-coherence-entete .statut-pastille{margin-left:0}}.hypotheses-charges{border:1px solid var(--core-border);border-radius:var(--radius-md);padding:1rem 1.2rem;margin:1rem 0}.hypotheses-charges legend{font-family:var(--font-heading);font-weight:700;padding:0 .4rem}.case-a-cocher{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;margin:.4rem 0 .8rem;cursor:pointer}.case-a-cocher input{margin-top:.2rem}.composition summary{cursor:pointer;font-weight:600;font-size:.88rem;margin-bottom:.5rem}.ligne-couche{display:grid;grid-template-columns:1.3fr 1fr repeat(3,minmax(80px,.6fr)) auto;gap:.4rem;margin-bottom:.4rem;align-items:center}@media (max-width: 768px){.ligne-couche{grid-template-columns:1fr 1fr}}.trace-calcul{margin:0 0 .6rem;padding-left:1.3rem;display:flex;flex-direction:column;gap:.35rem;font-size:.84rem}.trace-calcul li{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline}.trace-etape{font-weight:700;min-width:170px}.trace-formule{font-family:var(--font-mono);font-size:.78rem;color:var(--accent);background:var(--accent-soft);padding:.05rem .35rem;border-radius:4px}.trace-calcul-valeurs{color:var(--ink-500)}.hypotheses-element{border-top:1px dashed var(--core-border);padding-top:.5rem}.recap-finances{border:1px solid var(--core-border);border-radius:var(--radius-md);padding:.9rem 1.1rem;background:var(--core-surface)}.recap-finances dl{display:grid;grid-template-columns:1fr auto;gap:.35rem 1.5rem;margin:0 0 .4rem;max-width:460px}.recap-finances dt{color:var(--ink-700)}.recap-finances dd{margin:0;text-align:right;font-weight:700}.hypotheses-dqe h3{font-family:var(--font-heading);font-size:1rem;margin:0 0 .4rem}.hypotheses-dqe ol{margin:0;padding-left:1.6rem;font-size:.82rem;color:var(--ink-700)}.hypotheses-dqe li::marker{content:"H" counter(list-item) "  ";font-weight:700;color:var(--accent)}.sous-lot-dqe{margin:.6rem 0 1rem}.sous-lot-entete{display:flex;justify-content:space-between;align-items:baseline;padding:.2rem 0;border-bottom:1px dashed var(--core-border);margin-bottom:.3rem}.sous-lot-entete h4{margin:0;font-size:.9rem;font-weight:700;color:var(--ink-700)}.sous-lot-entete .tabular{font-size:.86rem;font-weight:600}.formule-ligne code{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-500)}.renvoi-hyp{color:var(--accent);font-weight:700;margin-left:.2rem;cursor:help}.prix-source{font-size:.7rem}.ligne-variante{display:grid;grid-template-columns:1fr 1.2fr .8fr auto;gap:.4rem;margin-bottom:.4rem}@media (max-width: 768px){.ligne-variante{grid-template-columns:1fr 1fr}}.recap-finances dd{white-space:nowrap}@media (max-width: 768px){.recap-finances dl{gap:.35rem .75rem}.recap-finances dt{font-size:.86rem}}.onglets{display:flex;gap:.25rem;border-bottom:1px solid var(--core-border);margin:.5rem 0 1.25rem;overflow-x:auto}.onglet{background:none;border:none;border-bottom:2px solid transparent;padding:.6rem .9rem;font:inherit;font-weight:600;color:var(--ink-500);cursor:pointer;white-space:nowrap}.onglet:hover:not(:disabled){color:var(--ink-900)}.onglet.actif{color:var(--accent);border-bottom-color:var(--accent)}.onglet:disabled{opacity:.5;cursor:not-allowed}.onglet:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fiche-appro-entete{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.4rem;border-radius:var(--radius-lg);background:var(--side-bg);color:var(--side-text-active);margin-bottom:1rem}.fiche-appro-entete .texte-discret,.fiche-appro-entete .surtitre{color:var(--side-text)}.cartes-materiaux{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.carte-materiau{border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface);padding:.9rem 1rem;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;gap:.35rem}.carte-materiau-titre{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.carte-materiau-titre .quantite-commande{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--ink-900)}.carte-materiau p{margin:0}.carte-materiau .conditionnement{display:flex;align-items:center;gap:.35rem;font-weight:600;color:var(--accent)}.carte-materiau-prix{display:flex;justify-content:space-between;gap:.5rem;margin-top:.3rem;padding-top:.45rem;border-top:1px dashed var(--core-border);font-size:.9rem}.barre-part{height:4px;border-radius:2px;background:var(--core-border-subtle);overflow:hidden}.barre-part span{display:block;height:100%;background:var(--accent);border-radius:2px}.carte-materiau details summary{cursor:pointer;font-size:.82rem;color:var(--ink-500)}.carte-materiau details code{display:block;font-size:.78rem;white-space:normal;margin-top:.3rem}.details-appro{margin:.75rem 0}.details-appro summary{cursor:pointer;font-weight:600}.titre-section-icone{display:flex;align-items:center;gap:.75rem;margin:2rem 0 .5rem}.titre-section-icone h2{font-size:1.4rem;font-weight:700}.pastille-icone{width:36px;height:36px;border-radius:10px;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff}@media (max-width: 640px){.cartes-materiaux{grid-template-columns:1fr}.fiche-appro-entete{padding:1rem}}@media (max-width: 640px){.alerte{flex-wrap:wrap}.alerte-corps{flex-basis:calc(100% - 2rem)}.alerte-action{margin-left:1.9rem}.onglets{flex-wrap:wrap;overflow-x:visible}.onglet{padding:.55rem .6rem;font-size:.9rem}}.etape-entete h2{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0}@media (max-width: 640px){.etape-entete h2{font-size:1.35rem}}.apercu-dxf{margin:0 0 1.5rem;padding:1.25rem;border:1px solid var(--accent-soft-border);border-radius:var(--radius-lg);background:var(--core-surface)}.apercu-dxf h3{margin:0 0 .5rem;font-size:1.05rem}.choix-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin:.75rem 0}.carte-plan{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.75rem;border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-bg);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.carte-plan:hover:not(:disabled){border-color:var(--ink-300)}.carte-plan.actif{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.carte-plan:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.carte-plan-titre{display:flex;align-items:center;gap:.3rem;font-weight:600;color:var(--ink-900)}.vignette-plan{width:100%;height:110px;background:var(--core-surface);border-radius:var(--radius-sm)}.vignette-plan rect{fill:var(--ink-900)}.apercu-dxf-retenu{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--core-border-subtle)}.apercu-dxf-retenu p{margin:0 0 .5rem}.compteur-bibliotheque{margin:0;color:var(--ink-500);white-space:nowrap}.compteur-bibliotheque strong{font-family:var(--font-heading);font-size:1.6rem;color:var(--ink-900);margin-right:.25rem}.formulaire-ouvrage{padding:1.25rem;border:1px solid var(--core-border);border-radius:var(--radius-lg);background:var(--core-bg);margin:1rem 0 1.5rem}.grille-ouvrage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem 1rem;align-items:end;margin-bottom:.75rem}.grille-ouvrage .champ-large{grid-column:span 2}.grille-ouvrage .form-group{margin-bottom:0}.filtres-bibliotheque{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.filtres-bibliotheque .form-select{max-width:280px}.champ-recherche{position:relative;flex:1;min-width:200px}.champ-recherche svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--ink-300)}.champ-recherche .form-control{padding-left:2.25rem}.ligne-edition td{background:var(--accent-soft)}.actions-cellule{white-space:nowrap;display:flex;gap:.35rem}.ouvrir-import{margin:-.5rem 0 1.25rem}.import-dqe{padding:1.25rem;border:1px solid var(--core-border);border-radius:var(--radius-lg);background:var(--core-bg);margin:0 0 1.5rem}.import-dqe-entete{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.import-dqe-entete h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .25rem}.depot-excel{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;margin:.75rem 0;border:1.5px dashed var(--core-border);border-radius:var(--radius-md, 10px);cursor:pointer;color:var(--ink-700, #334);background:var(--core-surface)}.depot-excel:hover,.depot-excel:focus-within{border-color:var(--accent);background:var(--accent-soft)}.bilan-import{display:flex;align-items:center;gap:.4rem;color:var(--status-ok);font-weight:600}.sections-a-classer{padding:.75rem 1rem;border-radius:var(--radius-md, 10px);background:var(--status-warn-soft);margin-bottom:.75rem}.sections-a-classer p{margin:0 0 .5rem}.section-a-classer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0;flex-wrap:wrap}.section-a-classer .form-select{max-width:280px}.table-import td{vertical-align:top}.table-import tr:not(.ligne-retenue) td{color:var(--ink-500)}.table-import tr.ligne-retenue td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.origine-import{display:block;font-size:.75rem;color:var(--ink-500);margin-top:.15rem}.select-compact{padding-top:.3rem;padding-bottom:.3rem;font-size:.85rem;min-width:150px}.badge-import{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-import.ok{background:var(--status-ok-soft);color:var(--status-ok)}.badge-import.attention{background:var(--status-warn-soft);color:#7d570b}.badge-import.neutre{background:var(--status-neutral-soft);color:var(--status-neutral)}.pied-import{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-top:1rem}.pied-import .form-group{margin-bottom:0;flex:1;min-width:180px}@media (max-width: 1100px){.grille-ouvrage{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.grille-ouvrage{grid-template-columns:1fr}.grille-ouvrage .champ-large{grid-column:auto}.filtres-bibliotheque .form-select{max-width:none}.pied-import .btn{width:100%;justify-content:center}.section-a-classer .form-select{max-width:none}}.plan-architecte{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.plan-architecte-depot{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.plan-architecte-depot .btn{display:inline-flex;align-items:center;gap:.45rem}.btn-icone{display:inline-flex;align-items:center;justify-content:center;padding:.4rem;min-width:2.1rem}.editeur-poteaux{display:flex;flex-direction:column;gap:.75rem}.editeur-barre{display:flex;align-items:center;gap:.75rem 1.25rem;flex-wrap:wrap;font-size:.88rem;color:var(--ink-700)}.editeur-option{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.editeur-zoom{display:inline-flex;align-items:center;gap:.4rem;font-variant-numeric:tabular-nums}.editeur-zone{position:relative}.editeur-curseur{position:absolute;left:.5rem;bottom:.5rem;z-index:1;pointer-events:none;padding:.15rem .45rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--core-surface) 88%,transparent);font-family:var(--font-mono);font-size:.78rem;color:var(--ink-700)}.editeur-cadre{border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface);overflow:auto;max-height:70vh}.editeur-svg{display:block;min-width:100%;height:auto;cursor:crosshair;touch-action:manipulation}.editeur-svg.desactive{cursor:not-allowed;opacity:.6}.editeur-fond{fill:none;stroke:var(--ink-300);stroke-width:1}.editeur-echelle line{stroke:var(--ink-700);stroke-width:2}.editeur-echelle text{fill:var(--ink-700);font-family:var(--font-sans)}.editeur-poteau{cursor:pointer}.editeur-poteau rect{fill:var(--accent);stroke:var(--core-surface);stroke-width:.02}.editeur-poteau text{fill:var(--ink-900);font-family:var(--font-sans);font-weight:700}.editeur-poteau.selection rect{fill:var(--ink-900);stroke:var(--accent);stroke-width:.06}.editeur-message{margin:0;color:var(--status-critical);font-size:.88rem}.editeur-panneaux{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1rem}.editeur-saisie,.editeur-selection{border:1px solid var(--core-border-subtle);border-radius:var(--radius-md);padding:.75rem .9rem;background:var(--core-bg)}.editeur-champs{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:.4rem}.editeur-champs label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--ink-500)}.editeur-champs .form-control{width:7.5rem}.editeur-champs .btn{display:inline-flex;align-items:center;gap:.35rem}.editeur-liste summary{cursor:pointer;font-weight:600;color:var(--ink-700)}.editeur-liste ol{columns:3 14rem;margin:.75rem 0;padding-left:1.5rem;font-size:.85rem;font-variant-numeric:tabular-nums}@media (max-width: 640px){.editeur-champs .form-control{width:6rem}}.aide-export{margin:0 0 1.75rem;border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface)}.aide-export summary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;font-weight:600;color:var(--ink-700)}.aide-export summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.aide-export[open] summary{border-bottom:1px solid var(--core-border-subtle)}.aide-export-colonnes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.25rem;padding:1rem}.aide-export h4{margin:0 0 .5rem;font-size:.95rem;color:var(--ink-900)}.aide-export ol{margin:0 0 .5rem;padding-left:1.25rem;font-size:.88rem;color:var(--ink-700);display:flex;flex-direction:column;gap:.35rem}.aide-export kbd{font-family:var(--font-mono);font-size:.8rem;padding:0 .3rem;border:1px solid var(--core-border);border-radius:4px;background:var(--core-bg)}.editeur-historique{display:inline-flex;gap:.3rem}.editeur-select{width:auto;padding:.3rem 1.8rem .3rem .5rem;font-size:.85rem}.editeur-grille{fill:none;stroke:var(--core-border-subtle);stroke-width:1}.editeur-poutres{fill:none;stroke:var(--ink-500);stroke-width:2;stroke-dasharray:6 4}.editeur-poteau{touch-action:none}.editeur-poteau.lu rect{fill:var(--ink-700)}.editeur-legende{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:0;font-size:.82rem;color:var(--ink-500)}.editeur-legende .pastille{display:inline-block;width:.75rem;height:.75rem;border-radius:2px;margin-left:.6rem}.editeur-legende .pastille:first-child{margin-left:0}.editeur-legende .pastille.saisi{background:var(--accent)}.editeur-legende .pastille.lu{background:var(--ink-700)}.modifier-structure{margin:1.5rem 0;border:1px solid var(--core-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;background:var(--core-surface)}.modifier-structure-entete{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.modifier-structure-entete h3{margin:0;font-size:1.05rem}.modifier-structure-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.modifier-structure-bilan{font-size:.88rem;color:var(--ink-700)}.bouton-note-calcul{display:inline-flex;flex-direction:column;align-items:flex-end;gap:.3rem}.bouton-note-calcul .btn{display:inline-flex;align-items:center;gap:.4rem}.bouton-note-calcul-erreur{max-width:22rem;font-size:.8rem;color:var(--status-critical);text-align:right}.parts-prix{display:block;font-size:.74rem;color:var(--ink-500);white-space:nowrap}.parts-prix.non-decompose{font-style:italic;opacity:.8}.parts-bareme{display:grid;grid-template-columns:1fr auto 1fr;gap:.4rem;align-items:center;margin-top:.35rem}.parts-bareme .form-control{font-size:.82rem;padding-block:.35rem}.parts-bareme .plus{color:var(--ink-500);font-size:.8rem}.repartition-prix{margin:1rem 0;display:grid;gap:.6rem}.repartition-barre{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--core-border-subtle)}.repartition-barre .seg{min-width:3px}.seg-materiaux{background:var(--accent)}.seg-main_oeuvre{background:var(--status-warn)}.seg-non_decompose{background:repeating-linear-gradient(45deg,var(--ink-300) 0 4px,var(--core-border) 4px 8px)}.repartition-legende{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0}.repartition-legende dt{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem}.repartition-legende dd{margin:0;font-weight:600}.repartition-legende .pastille{width:10px;height:10px;border-radius:3px;display:inline-block}.cellule-non-decompose{text-align:center;font-style:italic;color:var(--ink-500);font-size:.82rem}.part-bareme{position:relative;display:block;margin:0}.part-bareme>span{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);font-size:.72rem;font-weight:600;color:var(--ink-500);pointer-events:none}.parts-bareme .part-bareme .form-control{padding-left:2.6rem}.prix-source{white-space:nowrap}.groupe-prix{grid-column:span 3;border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:.25rem .5rem;align-items:end}.groupe-prix .form-group{margin-bottom:0}.groupe-prix .signe{padding-bottom:.7rem;color:var(--ink-500);font-weight:600}.groupe-prix .aide-prix{grid-column:1 / -1}.groupe-prix input[readonly]{background:var(--core-border-subtle)}@media (max-width: 640px){.groupe-prix{grid-column:1 / -1;grid-template-columns:1fr}.groupe-prix .signe{display:none}}@media (min-width: 1101px){.grille-ouvrage .groupe-prix{grid-column:span 4}}.badge-version{margin-left:.6rem;font-size:.8rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-soft-border);vertical-align:middle}.historique-dqe{display:grid;gap:1.5rem}.frise-versions{list-style:none;margin:0;padding:0 0 0 1.1rem;border-left:2px solid var(--core-border);display:grid;gap:.6rem}.frise-versions li{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:.65rem .9rem;background:var(--core-surface);border:1px solid var(--core-border-subtle);border-radius:var(--radius-md)}.frise-versions li:before{content:"";position:absolute;left:calc(-1.1rem - 6px);top:50%;width:10px;height:10px;border-radius:50%;background:var(--core-surface);border:2px solid var(--ink-300);transform:translateY(-50%)}.frise-versions li:first-child:before{background:var(--accent);border-color:var(--accent)}.numero-version{font-family:var(--font-mono);font-weight:700;color:var(--ink-700)}.corps-version{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline}.actions-version{display:flex;gap:.4rem}.delta,.hausse,.baisse{font-weight:600}.hausse{color:var(--status-warn)}.baisse{color:var(--status-ok)}.bloc-comparaison{display:grid;gap:1rem}.choix-comparaison{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.choix-comparaison h3{display:inline-flex;gap:.4rem;align-items:center;margin:0 .5rem 0 0;font-size:1.05rem}.choix-comparaison .form-select{width:auto;min-width:12rem}.ecart-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;border-radius:var(--radius-lg);background:var(--side-bg);color:var(--side-text-active)}.ecart-total .surtitre{color:var(--side-text)}.ecart-total-montants{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin:0}.ecart-total-valeur{font-family:var(--font-heading);font-size:1.7rem;font-weight:700;margin:0}.ecart-total.hausse .ecart-total-valeur{color:#f2c46d}.ecart-total.baisse .ecart-total-valeur{color:#8fd1aa}.comparaison-grille{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem}.origine-ecart,.ecart-lots{padding:1rem 1.1rem;border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface)}.origine-ecart h4,.ecart-lots h4,.entete-postes h4{margin:0 0 .6rem;font-size:.95rem}.origine-ecart dl{margin:0;display:grid;gap:.5rem}.ligne-ecart{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.75rem;align-items:center}.ligne-ecart dt{font-size:.86rem}.ligne-ecart dd{margin:0;display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.barre-ecart{height:8px;border-radius:999px;background:var(--core-border-subtle);overflow:hidden}.barre-ecart>span{display:block;height:100%;border-radius:999px;background:var(--ink-300)}.ligne-ecart.hausse .barre-ecart>span{background:var(--status-warn)}.ligne-ecart.baisse .barre-ecart>span{background:var(--status-ok)}.ligne-ecart.nul dd .tabular{color:var(--ink-300)}.ecart-lots ul{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.35rem}.ecart-lots li{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}.entete-postes{margin-top:.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.case-a-cocher{display:inline-flex;gap:.4rem;align-items:center;font-size:.86rem}.pastille-statut{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.pastille-statut.ajoute{color:var(--status-ok)}.pastille-statut.supprime{color:var(--status-critical)}.pastille-statut.modifie{color:var(--status-warn)}.pastille-statut.identique{color:var(--ink-300)}.table-comparaison tr.statut-supprime td:first-child strong{text-decoration:line-through;text-decoration-color:var(--ink-300)}.detail-effets{font-size:.74rem;white-space:nowrap}@media (max-width: 760px){.comparaison-grille{grid-template-columns:1fr}.frise-versions li{grid-template-columns:auto 1fr}.actions-version{grid-column:1 / -1}.ligne-ecart{grid-template-columns:1fr;gap:.25rem}}.historique-dqe,.bloc-comparaison,.comparaison-dqe{grid-template-columns:minmax(0,1fr);min-width:0}.comparaison-dqe{display:grid;gap:1rem}.historique-dqe>*,.bloc-comparaison>*,.comparaison-dqe>*{min-width:0}.corps-version>*{min-width:0;overflow-wrap:anywhere}@media (max-width: 760px){.choix-comparaison .form-select{min-width:0;flex:1 1 10rem}.ecart-total-valeur{font-size:1.35rem}.ecart-total-montants{flex-wrap:wrap;font-size:.95rem}}.option-murs{margin:1rem 0;padding:.85rem 1rem;border:1px dashed var(--core-border);border-radius:var(--radius-md);background:var(--core-surface)}.option-murs .case-a-cocher{align-items:flex-start;gap:.6rem}.option-murs .case-a-cocher input{margin-top:.25rem}.plan-propre{margin:.25rem 0 .75rem}.plan-murs-svg.herite .troncon{cursor:not-allowed;opacity:.6}.dalles-dxf{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--core-border-subtle)}.dalles-dxf h4{display:inline-flex;gap:.4rem;align-items:center;margin:0 0 .35rem;font-size:.98rem}.dalles-dxf-corps{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:1rem;align-items:start}.vignette-dalles{width:100%;aspect-ratio:4 / 3;background:var(--core-bg);border:1px solid var(--core-border);border-radius:var(--radius-md)}.vignette-dalles .dalle rect{fill:var(--core-border-subtle);stroke:var(--ink-300);stroke-width:.02;vector-effect:non-scaling-stroke}.vignette-dalles .dalle.gardee rect{fill:var(--accent-soft);stroke:var(--accent)}.vignette-dalles .dalle text{fill:var(--ink-700);font-weight:700}.vignette-dalles .poteau{fill:var(--ink-900)}.liste-dalles-dxf{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.3rem;max-height:220px;overflow-y:auto}@media (max-width: 640px){.dalles-dxf-corps{grid-template-columns:1fr}}.progression-envoi{width:min(420px,100%);margin:.75rem 0 0;display:grid;gap:.35rem}.progression-envoi-barre{height:8px;border-radius:999px;background:var(--core-border, #e2e8f0);overflow:hidden;position:relative}.progression-envoi-barre>span{display:block;height:100%;background:var(--accent-primary, #c2410c);transition:width .2s ease}.progression-envoi-barre>span.indeterminee{width:35%;position:absolute;animation:progression-va-et-vient 1.2s ease-in-out infinite}@keyframes progression-va-et-vient{0%{left:-35%}to{left:100%}}@media (prefers-reduced-motion: reduce){.progression-envoi-barre>span.indeterminee{animation:none;width:100%;opacity:.5}}.bloc-prix{display:grid;gap:.4rem;align-content:start}.prix-par-ouvrage{border:1px dashed var(--core-border);border-radius:var(--radius-md);padding:.5rem .75rem;background:var(--core-surface)}.prix-par-ouvrage summary{cursor:pointer;font-size:.86rem;font-weight:600;color:var(--ink-700)}.prix-par-ouvrage[open] summary{margin-bottom:.4rem}.grille-prix-ouvrage{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem .9rem}.grille-prix-ouvrage .form-group{margin-bottom:0}.consentement-gemini-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1b181285}.consentement-gemini-dialog{width:min(100%,30rem);max-width:30rem;padding:1.5rem;border:1px solid var(--core-border);border-radius:var(--radius-lg);background:var(--core-surface);box-shadow:var(--shadow-raised)}.consentement-gemini-dialog h2{margin-bottom:1rem;font-family:var(--font-heading);font-size:1.35rem}.consentement-gemini-dialog p{margin-bottom:.9rem;color:var(--ink-700)}.consentement-gemini-controle{font-size:.9rem}.consentement-gemini-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.consentement-gemini-en-savoir-plus{display:block;margin-top:1.1rem;color:var(--ink-500);font-size:.82rem;font-style:italic}.consentement-gemini-erreur{color:var(--status-critical);font-size:.85rem}.assistance-ia-desactivee{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--status-warning) 55%,var(--core-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--status-warning) 10%,var(--core-surface))}.assistance-ia-desactivee p{margin:0;color:var(--ink-700);font-weight:600}.assistance-ia-desactivee .btn{flex-shrink:0}.assistance-ia-desactivee-compact{margin:.35rem 0 0;padding:.35rem 0;border:0;border-radius:0;background:transparent}.assistance-ia-desactivee-compact p{color:var(--ink-500);font-size:.82rem;font-weight:500}.assistance-ia-image{margin:-1.25rem 0 1rem}.source-ia{padding:.25rem .6rem;border:1px solid var(--core-border);border-radius:12px;background:var(--status-neutral-soft);color:var(--ink-700);font-size:.75rem;font-weight:600}.source-ia-gemini{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent)}.source-ia-mock,.source-ia-locale{background:var(--status-warn-soft);color:var(--status-warn)}.parametres-ia-utilisateur{margin-top:2rem;padding:1.25rem;border:1px solid var(--core-border);border-radius:var(--radius-lg);background:var(--core-surface)}.parametres-ia-utilisateur h2{margin-bottom:.5rem;font-size:1.15rem}.parametres-ia-utilisateur p{margin-bottom:.65rem}@media (max-width: 640px){.consentement-gemini-dialog{padding:1.25rem}.consentement-gemini-actions{flex-direction:column}.consentement-gemini-actions .btn{width:100%;justify-content:center}.assistance-ia-desactivee{align-items:stretch;flex-direction:column}.assistance-ia-desactivee .btn{width:100%;justify-content:center}.assistance-ia-desactivee-compact{align-items:center;flex-direction:row}.assistance-ia-desactivee-compact .btn{width:auto}}.consentement-gemini-en-savoir-plus{text-decoration:underline;text-underline-offset:2px}.consentement-gemini-en-savoir-plus:hover{color:var(--accent)}.consentement-gemini-en-savoir-plus:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.donnees-ia{min-height:100vh;background:var(--core-bg);color:var(--ink-900)}.donnees-ia-entete{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--core-border);background:color-mix(in srgb,var(--core-bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.donnees-ia-marque{font-family:var(--font-heading);font-weight:600}.donnees-ia-entete .btn{display:inline-flex;align-items:center;gap:.4rem}.donnees-ia-contenu{max-width:58rem;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) 4rem}.donnees-ia-surtitre{margin-bottom:.6rem;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.donnees-ia h1{max-width:38rem;margin-bottom:.9rem;font-family:var(--font-heading);font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}.donnees-ia-intro{max-width:42rem;color:var(--ink-700);font-size:1.02rem;line-height:1.6}.donnees-ia-etat{display:flex;align-items:center;gap:.5rem;margin-top:2rem;color:var(--ink-500)}.donnees-ia-erreur{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--status-critical) 35%,var(--core-border));border-radius:var(--radius-md);background:var(--status-critical-soft);color:var(--status-critical)}.donnees-ia-erreur p{margin:0;font-weight:600}.donnees-ia-erreur .btn{display:inline-flex;align-items:center;gap:.4rem}.donnees-ia-trajet{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:.6rem;margin:2.2rem 0 1.25rem;padding:0;list-style:none}.donnees-ia-trajet>li:not(.donnees-ia-fleche){display:flex;flex-direction:column;gap:.3rem;padding:1rem;border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface);box-shadow:var(--shadow-subtle)}.donnees-ia-trajet>li:last-child{border-color:var(--accent-soft-border);background:var(--accent-soft)}.donnees-ia-trajet>li.donnees-ia-noeud-inactif{border-style:dashed;border-color:var(--core-border);background:var(--core-surface);opacity:.75}.donnees-ia-trajet strong{font-family:var(--font-heading);font-size:1rem}.donnees-ia-trajet span:not(.donnees-ia-noeud-icone){color:var(--ink-700);font-size:.85rem;line-height:1.45}.donnees-ia-trajet code,.donnees-ia-version code{font-family:var(--font-mono);font-size:.8em}.donnees-ia-noeud-icone{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-bottom:.2rem;border-radius:999px;background:var(--core-bg);color:var(--accent)}.donnees-ia-fleche{display:flex;align-items:center;color:var(--ink-300)}.donnees-ia-alerte{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--status-warn) 40%,var(--core-border));border-radius:var(--radius-md);background:var(--status-warn-soft);color:var(--ink-900)}.donnees-ia-alerte svg{flex-shrink:0;margin-top:.15rem;color:var(--status-warn)}.donnees-ia-alerte p{margin:0;line-height:1.5}.donnees-ia-alerte-neutre{border-color:var(--core-border);background:var(--status-neutral-soft)}.donnees-ia-alerte-neutre svg{color:var(--status-neutral)}.donnees-ia-section{margin-top:2.6rem}.donnees-ia-section h2{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;font-family:var(--font-heading);font-size:1.3rem}.donnees-ia-section h2 svg{color:var(--accent)}.donnees-ia-section>p,.donnees-ia-section-intro{max-width:44rem;color:var(--ink-700);line-height:1.55}.donnees-ia-section-intro{margin-bottom:1rem}.donnees-ia-sous-titre{margin:1rem 0 .4rem;font-weight:600}.donnees-ia-note{margin-top:.9rem;color:var(--ink-500)!important;font-size:.85rem}.donnees-ia-note a{color:var(--accent)}.donnees-ia-traitements{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.85rem}.donnees-ia-traitement{padding:1.05rem 1.1rem;border:1px solid var(--core-border);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--core-surface)}.donnees-ia-ecran{display:inline-block;margin-bottom:.45rem;color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.donnees-ia-traitement h3{margin-bottom:.6rem;font-size:.98rem;line-height:1.35}.donnees-ia-traitement ul,.donnees-ia-formule ul,.donnees-ia-liste{display:grid;gap:.4rem;margin:0;padding-left:1.1rem;color:var(--ink-700);font-size:.9rem;line-height:1.5}.donnees-ia-deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.donnees-ia-attention{padding:1.1rem 1.2rem;border-radius:var(--radius-md);background:var(--status-warn-soft)}.donnees-ia-attention h2 svg{color:var(--status-warn)}.donnees-ia-attention p{margin:0;color:var(--ink-700);line-height:1.55}.donnees-ia-formules{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.donnees-ia-formule{position:relative;padding:1.1rem 1.2rem;border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface)}.donnees-ia-formule h3{margin-bottom:.7rem;font-size:1rem}.donnees-ia-formule-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.donnees-ia-badge{display:inline-block;margin:-.3rem 0 .7rem;padding:.15rem .55rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700}.donnees-ia-liste-ok li::marker{color:var(--status-ok)}.donnees-ia-version{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--core-border);color:var(--ink-500);font-size:.8rem}@media (max-width: 760px){.donnees-ia-trajet{grid-template-columns:1fr}.donnees-ia-fleche{justify-content:center;transform:rotate(90deg)}.donnees-ia-deux-colonnes,.donnees-ia-formules{grid-template-columns:1fr}.donnees-ia-entete .btn{padding:.4rem .55rem}}@media (max-width: 420px){.donnees-ia-marque{display:none}}.bouton-retour{position:fixed;right:1.25rem;bottom:1.25rem;z-index:90;display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;border:1px solid var(--core-border);border-radius:999px;background:var(--core-surface);color:var(--ink-900);font-weight:600;font-size:.86rem;box-shadow:var(--shadow-raised);cursor:pointer}.bouton-retour:hover{border-color:var(--accent-soft-border);color:var(--accent)}.bouton-retour:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.retour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1b181285}.retour-dialog{width:min(100%,34rem);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.4rem;border:1px solid var(--core-border);border-radius:var(--radius-lg);background:var(--core-surface);box-shadow:var(--shadow-raised)}.retour-entete{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.retour-entete h2{margin:0;font-family:var(--font-heading);font-size:1.2rem}.retour-onglets{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--core-border)}.retour-onglets button{padding:.5rem .8rem;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-500);font-weight:600;cursor:pointer}.retour-onglets button.actif{border-bottom-color:var(--accent);color:var(--ink-900)}.retour-types{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .9rem;padding:0;border:0}.retour-types legend{margin-bottom:.35rem;font-size:.85rem;font-weight:600;color:var(--ink-700)}.retour-types label{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .8rem;border:1px solid var(--core-border);border-radius:999px;font-size:.86rem;cursor:pointer}.retour-types label.choisi{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.retour-types input{accent-color:var(--accent)}.retour-form textarea{width:100%;resize:vertical;font-family:inherit}.retour-form .form-group{margin-bottom:1rem}.retour-contexte{margin:0 0 .9rem;color:var(--ink-500);font-size:.8rem}.retour-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.retour-liste ul{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.retour-liste li{padding:.7rem .85rem;border:1px solid var(--core-border);border-radius:var(--radius-md)}.retour-liste li p{margin:.35rem 0 0;font-size:.86rem;color:var(--ink-700);white-space:pre-wrap;overflow-wrap:anywhere}.retour-ligne{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.85rem}.retour-date{margin-left:auto;color:var(--ink-500)}.retour-statut{padding:.1rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--status-neutral-soft);color:var(--ink-700)}.retour-statut-en_cours{background:var(--accent-soft);color:var(--accent)}.retour-statut-traite{background:var(--status-ok-soft);color:var(--status-ok)}.retour-reponse{padding:.45rem .6rem;border-left:3px solid var(--status-ok);background:var(--status-ok-soft)}.retour-vide{color:var(--ink-500)}@media (max-width: 640px){.bouton-retour{right:.75rem;bottom:.75rem;padding:.6rem}.bouton-retour span{display:none}.retour-actions .btn{flex:1;justify-content:center}}.page-juridique{min-height:100vh;background:var(--core-bg);color:var(--ink-900)}.page-juridique-entete{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--core-border);background:color-mix(in srgb,var(--core-bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-juridique-marque{font-family:var(--font-heading);font-weight:600}.page-juridique-actions{display:flex;gap:.5rem}.page-juridique-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.page-juridique-contenu{max-width:68rem;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem) 4rem}.page-juridique-surtitre{margin-bottom:.6rem;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.page-juridique h1{margin-bottom:1.4rem;font-family:var(--font-heading);font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}.page-juridique-etat{display:flex;align-items:center;gap:.5rem;margin-top:2rem;color:var(--ink-500)}.page-juridique-erreur{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--status-critical) 35%,var(--core-border));border-radius:var(--radius-md);background:var(--status-critical-soft);color:var(--status-critical)}.page-juridique-erreur p{margin:0;font-weight:600}.page-juridique-erreur .btn{display:inline-flex;align-items:center;gap:.4rem}.page-juridique-avertissement{display:flex;gap:.7rem;align-items:flex-start;max-width:46rem;margin-bottom:.8rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--status-warn) 40%,var(--core-border));border-radius:var(--radius-md);background:var(--status-warn-soft)}.page-juridique-avertissement svg{flex-shrink:0;margin-top:.15rem;color:var(--status-warn)}.page-juridique-avertissement p{margin:0;line-height:1.5}.page-juridique-avertissement ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.88rem;line-height:1.55}.page-juridique-corps{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);margin-top:2rem}.page-juridique-sommaire{position:sticky;top:5rem;align-self:start}.page-juridique-sommaire>p{margin:0 0 .6rem;color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.page-juridique-sommaire ol{margin:0 0 1.2rem;padding:0;list-style:none;counter-reset:sommaire;border-left:1px solid var(--core-border)}.page-juridique-sommaire li{counter-increment:sommaire}.page-juridique-sommaire li a{display:flex;gap:.55rem;padding:.32rem 0 .32rem .9rem;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-700);font-size:.85rem;line-height:1.35;text-decoration:none}.page-juridique-sommaire li a:before{content:counter(sommaire,decimal-leading-zero);color:var(--ink-300);font-family:var(--font-mono);font-size:.75rem;padding-top:.08rem}.page-juridique-sommaire li a:hover,.page-juridique-sommaire li a:focus-visible{border-left-color:var(--accent);color:var(--ink-900)}.page-juridique-lien-autre{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent);font-size:.88rem;font-weight:600;text-decoration:none}.page-juridique-lien-autre:hover{text-decoration:underline}.page-juridique-texte{max-width:46rem}.page-juridique-section{padding:1.4rem 0;border-top:1px solid var(--core-border);scroll-margin-top:5rem}.page-juridique-section:first-child{border-top:0;padding-top:0}.page-juridique-section h2{margin-bottom:.7rem;font-family:var(--font-heading);font-size:1.12rem}.page-juridique-section p,.page-juridique-section li{color:var(--ink-700);font-size:.97rem;line-height:1.7}.page-juridique-section p{margin:0 0 .7rem}.page-juridique-section ul{margin:0 0 .7rem;padding-left:1.2rem}.page-juridique-section li{margin-bottom:.3rem}.page-juridique-section li::marker{color:var(--accent)}@media (max-width: 860px){.page-juridique-corps{grid-template-columns:1fr}.page-juridique-sommaire{position:static;padding:1rem;border:1px solid var(--core-border);border-radius:var(--radius-md);background:var(--core-surface)}}@media (max-width: 480px){.page-juridique-actions .btn{padding:.45rem .6rem}.page-juridique-marque{display:none}}@media print{.page-juridique-entete,.page-juridique-sommaire{display:none}.page-juridique-corps{display:block;margin-top:1rem}.page-juridique-section{break-inside:avoid-page}.page-juridique-section p,.page-juridique-section li{color:#000}}.case-conditions{margin:.4rem 0 1.1rem}.case-conditions-ligne{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink-700);font-size:.84rem;line-height:1.5;cursor:pointer}.case-conditions-ligne input{flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--accent);cursor:pointer}.case-conditions-ligne input:disabled{cursor:not-allowed}.case-conditions-ligne a{color:var(--accent);font-weight:600}.case-conditions-message{margin:.4rem 0 0 1.65rem;color:var(--status-critical);font-size:.78rem}.case-conditions-erreur{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.7rem .85rem;border-radius:var(--radius-md);background:var(--status-critical-soft);color:var(--status-critical);font-size:.82rem}.case-conditions-erreur .login-link-inline{display:inline-flex;align-items:center;gap:.3rem}.acceptation-conditions h2{margin:.6rem 0;font-family:var(--font-heading);font-size:1.2rem}.acceptation-conditions p{color:var(--ink-700);line-height:1.55}.acceptation-conditions-icone{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.acceptation-conditions-liens{margin:.9rem 0 1.2rem;padding-left:1.1rem}.acceptation-conditions-liens a{color:var(--accent);font-weight:600}.liens-juridiques{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-left:auto}.liens-juridiques a{color:var(--ink-500);font-size:.8rem;text-decoration:none}.liens-juridiques a:hover,.liens-juridiques a:focus-visible{color:var(--ink-900);text-decoration:underline}.liens-juridiques-sidebar{margin:.7rem 0 0;padding:0 .75rem}.liens-juridiques-sidebar a{color:var(--side-text);font-size:.72rem}.liens-juridiques-sidebar a:hover,.liens-juridiques-sidebar a:focus-visible{color:var(--side-text-active)}@media (max-width: 640px){.liens-juridiques{margin-left:0}}.landing-footer{flex-wrap:wrap}
