.quote-placement-stage{aspect-ratio:794 / 619}
.quote-exact-brand-reference{position:absolute;z-index:6;left:521px;top:350px;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:10px;width:245px;height:92px;padding:8px 10px;background:#000;color:#fff;overflow:hidden}
.quote-exact-brand-reference span{font-size:12px;font-weight:600;line-height:1.2}
.quote-exact-brand-reference img{display:block;width:100%;max-width:145px;height:68px;object-fit:contain;object-position:left center}
.quote-exact-brand-reference.is-full-block{display:block;padding:7px 4px}
.quote-exact-brand-reference.is-full-block img{width:220px;max-width:none;height:68px;object-fit:contain}
.quote-exact-cover:after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:116px;background:#000}
.quote-exact-cover-lockup{position:absolute;z-index:4;left:270px;bottom:54px;width:430px;height:72px;object-fit:contain;object-position:left center}
.quote-exact-cover.is-brand-template{background-color:#000}
.quote-exact-cover.is-brand-template .quote-exact-cover-client{left:48px;top:696px;width:345px;overflow:hidden}
.quote-exact-cover.is-brand-template .quote-exact-cover-contacts{left:67px;top:838px;min-height:130px;overflow:hidden}
.quote-exact-cover.is-brand-template .quote-exact-cover-date{bottom:54px}
.quote-exact-adviser-mask{width:518px!important;height:285px!important}
.quote-exact-placement:before{content:"";position:absolute;z-index:3;left:0;top:0;width:794px;height:88px;background:#000}
.quote-exact-placement-title{position:absolute;z-index:4;left:25px;top:24px;max-width:735px;margin:0;color:#fff;font-family:Raleway,Arial,sans-serif;font-size:25px;font-weight:800;line-height:1.05;text-transform:uppercase}
.quote-brand-intro{display:grid!important;grid-template-columns:1fr 1fr;background:#000}
.quote-brand-intro>article{width:794px;height:1123px;background-position:center;background-repeat:no-repeat;background-size:100% 100%}
.quote-brand-range{background-position:center!important;background-size:100% 100%!important}
.quote-table-options{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;margin-bottom:16px;border:1px solid #b8b8b8;border-radius:0;background:#fff}
.quote-mode-switch{display:flex;gap:0;padding:0;border:0;margin:0}.quote-mode-switch legend{width:100%;margin-bottom:6px;color:#333;font-size:11px;font-weight:800;text-transform:uppercase}.quote-mode-switch label{padding:9px 16px;border:1px solid #999;background:#fff;color:#111;font-weight:700;cursor:pointer}.quote-mode-switch label.is-active{border-color:#000;background:#000;color:#fff}.quote-mode-switch input{position:absolute;opacity:0;pointer-events:none}
.quote-option-field,.quote-option-check{display:grid;gap:6px;color:#333;font-size:12px;font-weight:700}.quote-option-field>span:last-child{display:flex;align-items:center;gap:6px}.quote-option-field input{width:76px}.quote-option-check{display:flex;align-items:center;min-height:42px;padding:0 6px}.quote-option-check input{width:18px;height:18px;accent-color:#000}
.quote-price-source{display:flex;align-items:center;gap:10px;margin:-5px 0 10px;padding:8px 11px;border-left:3px solid #000;background:#f5f5f5;color:#333;font-size:11px}.quote-price-source strong{color:#000}.quote-price-source.is-warning{border-color:#555;background:#f5f5f5}.quote-price-error{margin:-4px 0 10px;padding:8px 11px;border:1px solid #999;background:#fff;color:#111;font-size:12px;font-weight:700}
.quote-html-table-wrap{width:100%;overflow:auto;border:1px solid #aaa;border-radius:0;background:#fff}.quote-html-table{width:100%;border-collapse:collapse;color:#111;font-size:13px}.quote-html-table th{padding:11px 10px;border:1px solid #aaa;background:#000;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase}.quote-html-table td{min-width:74px;padding:10px;border:1px solid #bbb;vertical-align:top}.quote-html-table input,.quote-html-table select{width:100%;min-width:64px;min-height:38px;padding:7px 8px;border:1px solid #aaa;border-radius:0;background:#fff;color:#111;font:inherit}.quote-html-table input:focus,.quote-html-table select:focus{border-color:#000;outline:1px solid #000}.quote-html-table td small{display:block;margin-top:5px;color:#555;font-size:10px}.quote-cell-article{min-width:230px!important}.quote-cell-actions{display:flex;align-items:center;gap:4px}.quote-cell-actions details{position:relative}.quote-cell-actions summary{display:grid;width:34px;height:34px;place-items:center;cursor:pointer;list-style:none}.quote-cell-actions details>div{position:absolute;z-index:5;right:0;display:grid;gap:7px;width:220px;padding:10px;border:1px solid #999;background:#fff;box-shadow:0 8px 20px #0002}.quote-discount-control{display:grid;grid-template-columns:52px minmax(70px,1fr);gap:4px}.quote-table-footer{margin-top:14px}.quote-global-discount{display:flex;align-items:center;gap:6px}.quote-global-discount label{display:flex;align-items:center;gap:6px}.quote-global-discount select{width:58px}.quote-global-discount input[type=number]{width:86px}.quote-mobile-label{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}
.quote-services-table td:first-child{min-width:150px}.quote-services-table td:nth-child(2){min-width:320px}.quote-services-table td:nth-child(3){min-width:140px}.quote-services-table td:nth-child(4){width:110px}.quote-services-table td:last-child{min-width:126px}.quote-row-actions{display:flex;align-items:center;justify-content:center;gap:4px}.quote-row-actions .quote-icon-button{min-width:32px;padding:7px}.quote-row-actions .quote-icon-button:disabled{opacity:.28;cursor:not-allowed}
.configurator-validation-error{display:grid;gap:3px;margin:12px 0;padding:10px 12px;border:1px solid #c62828;border-left:4px solid #c62828;background:#fff5f5;color:#b71c1c}.configurator-validation-error strong{font-size:13px}.configurator-validation-error span{font-size:12px}.configurator-validation-error small{font-size:11px;color:#c62828}
.form-bottom-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(15,23,42,.12)}
[data-quote-action="sync-customer"]{display:none!important}
.quote-original-page{position:relative;background:#fff!important;background-image:none!important;color:#111;font-family:Arial,Helvetica,sans-serif}.quote-original-page-header{position:absolute;top:8px;left:20px;right:20px;display:grid;grid-template-columns:minmax(0,1fr) 125px 1px 145px;column-gap:16px;row-gap:1px;align-items:center}.quote-table-logo-band{grid-column:1/-1;display:flex!important;align-items:center;gap:15px;height:48px}.quote-table-brand-logo{display:block;width:180px;height:46px;object-fit:contain;object-position:left center;background:transparent!important}.quote-table-logo-divider{display:block;width:1px;height:34px;background:#777}.quote-table-visioscreen-logo{display:block;width:185px;height:46px;object-fit:contain;object-position:left center;background:transparent!important}.quote-table-visioscreen-wordmark{color:#111;font-family:Raleway,Arial,sans-serif;font-size:25px!important;font-weight:800!important}.quote-original-page-header h2{margin:0;font-family:Raleway,Arial,sans-serif;font-size:25px;font-weight:800;letter-spacing:-.8px}.quote-original-page-header div:not(.quote-table-logo-band){display:grid;gap:1px}.quote-original-page-header small{font-size:9px}.quote-original-page-header strong{font-size:14px;font-weight:500}.quote-original-page-header i{width:1px;height:28px;background:#999}
.quote-original-material-table{position:absolute;top:108px;left:20px;width:754px;table-layout:fixed;border-collapse:collapse;background:#fff;font-size:10px}.quote-original-material-table .col-preview{width:11%}.quote-original-material-table .col-equipment{width:40%}.quote-original-material-table .col-location{width:18%}.quote-original-material-table .col-quantity{width:7%}.quote-original-material-table .col-unit{width:12%}.quote-original-material-table .col-total{width:15%}.quote-original-material-table th{height:38px;padding:4px;border:1px solid #aaa;background:#000;color:#fff;font-size:10px;font-weight:800;text-align:center}.quote-original-material-table td{height:76px;padding:4px 5px;border:1px solid #bbb;text-align:center;vertical-align:middle}.quote-original-material-table .original-equipment-cell{text-align:left}.quote-original-material-table td img{width:58px;height:58px;object-fit:contain}.quote-original-material-table td span,.quote-original-material-table td small{display:block}.quote-original-material-table td small{margin-top:2px;color:#555;font-size:8px}.quote-original-material-table td em{font-size:10px}.quote-original-material-table tr.is-empty td{color:transparent}
.quote-original-material-table th.quote-location-heading{color:#ed1164}
[data-quote-section="quote-placements"]>.user-section-head h3{color:#ed1164!important}
.quote-original-totals{position:absolute;left:20px;right:20px;bottom:72px;border:1px solid #aaa;border-bottom:0}.quote-original-totals div{display:grid;grid-template-columns:1fr 130px;min-height:36px;border-bottom:1px solid #aaa}.quote-original-totals strong,.quote-original-totals span{display:flex;align-items:center;padding:7px;font-size:10px}.quote-original-totals span{justify-content:center;border-left:1px solid #aaa;font-weight:800}.quote-original-page footer{position:absolute;left:0;right:0;bottom:36px;text-align:center;font-size:7px}
.quote-original-service-table{position:absolute;left:80px;width:634px;border-collapse:collapse;background:#fff;font-size:10px}.quote-original-service-table th{height:38px;padding:4px;border:1px solid #aaa;background:#000;color:#fff;font-size:11px;text-align:center}.quote-original-service-table th:last-child{width:142px}.quote-original-service-table td{padding:5px 10px;border:1px solid #aaa;vertical-align:middle}.quote-original-service-table td:last-child{padding:5px;text-align:center}.quote-original-service-table td>strong{display:block}.quote-original-service-table td ul{display:grid;gap:1px;margin:2px 0 0;padding:0;list-style:none}.quote-original-service-table td li{font-size:9px;line-height:1.12}.quote-original-service-table td li::before{content:"•\00a0 ";font-weight:700}.quote-installation-table{top:110px}.quote-installation-table tbody tr{height:52px}.quote-services-block{top:320px}.quote-services-block tbody tr{height:auto!important}.quote-visiopost-title{color:#111}.quote-tier-essential{color:#17183d}.quote-tier-premium{color:#20aee6}.quote-tier-exclusive{color:#111}
@media(max-width:800px){.quote-table-options{align-items:stretch}.quote-mode-switch,.quote-option-field,.quote-option-check{width:100%}.quote-mode-switch label{flex:1;text-align:center}.quote-html-table-wrap{overflow:visible;border:0;background:transparent}.quote-html-table thead{display:none}.quote-html-table,.quote-html-table tbody,.quote-html-table tr,.quote-html-table td{display:block;width:100%}.quote-html-table tr{margin-bottom:12px;padding:12px;border:1px solid #d9e2ea;border-radius:12px;background:#fff}.quote-html-table td{min-width:0!important;padding:6px;border:0}.quote-mobile-label{display:block;margin-bottom:6px;font-weight:800}.quote-cell-actions{justify-content:flex-end}.quote-services-table td:nth-child(2){min-width:0}.quote-global-discount{flex-wrap:wrap}.quote-table-footer{align-items:flex-start}}
.quote-exact-placement-media>.quote-pdf-video-frame{position:absolute;inset:0 auto auto 0;z-index:2;width:100%;height:100%;transform-origin:0 0}
.quote-pdf-render-host .quote-video-poster{display:none!important}
.quote-exact-adviser-photo-frame{position:absolute;z-index:3;left:305px;top:154px;display:flex;align-items:center;justify-content:center;width:205px;height:270px;overflow:hidden}
.quote-exact-adviser-photo-frame>.quote-exact-adviser-photo{position:static!important;width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:unset!important;object-position:initial!important}
.quote-exact-adviser-copy{left:60px!important;width:230px!important;text-align:right}
.quote-exact-adviser-copy>em,.quote-exact-adviser-copy>p{text-align:right!important}
.quote-exact-adviser-copy>i{margin-right:0!important;margin-left:auto!important}
.quote-field-wide{grid-column:1/-1}
.quote-placement-stage,.quote-photo-card-stage{position:relative;overflow:hidden;background:#e9eef3}
.quote-annotation-layer{position:absolute;z-index:12;inset:0;pointer-events:none}
.quote-annotation-layer.is-hidden{display:none}
.quote-annotation{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);pointer-events:auto;cursor:grab;touch-action:none;color:#e11d48;text-shadow:0 1px 2px #fff;font-size:52px;font-weight:900;line-height:1}
.quote-annotation:active{cursor:grabbing}
.quote-annotation>button{position:absolute;right:-12px;top:-12px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:2px solid #fff;border-radius:999px;background:#111827;color:#fff;font-size:14px;text-shadow:none;box-shadow:0 4px 10px #0004}
.quote-annotation-text{max-width:220px;padding:7px 10px;border:3px solid #fff;border-radius:8px;background:#e11d48;color:#fff;font-size:15px;line-height:1.2;text-align:center;text-shadow:none;box-shadow:0 5px 16px #0005}
.quote-annotation-text [data-annotation-edit-text]{min-width:42px;outline:0;cursor:grab;touch-action:none;user-select:none}
.quote-annotation-text [data-annotation-edit-text]:active{cursor:grabbing}
.quote-annotation-text [contenteditable=true]{padding:2px 4px;border-radius:4px;background:#fff;color:#111827;box-shadow:0 0 0 3px #38bdf8;cursor:text;user-select:text}
.quote-annotation-vector{position:absolute;inset:0;pointer-events:none}
.quote-annotation-arrow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.quote-annotation-arrow-line{stroke:#e11d48;stroke-width:3.33;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #fff);pointer-events:none}
.quote-annotation-arrow-hitbox{stroke:transparent;stroke-width:18;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:grab;touch-action:none}
.quote-annotation-arrow-hitbox:active{cursor:grabbing}
.quote-annotation-arrow marker path{fill:#e11d48}
.quote-annotation-ring{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%);border:3.33px solid #e11d48;border-radius:50%;box-shadow:0 0 0 1px #fff8,0 3px 10px #0003;pointer-events:auto;cursor:grab;touch-action:none}
.quote-annotation-ring:active{cursor:grabbing}
.quote-annotation-handle,.quote-annotation-delete{position:absolute;z-index:3;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none}
.quote-annotation-handle{width:18px;height:18px;padding:0;border:2px solid #fff;border-radius:999px;background:#38bdf8;box-shadow:0 3px 10px #0006;cursor:grab}
.quote-annotation-handle:active{cursor:grabbing}
.quote-annotation-center-handle{width:20px;height:20px;background:#e11d48}
.quote-annotation-delete{display:grid;width:23px;height:23px;place-items:center;padding:0;border:2px solid #fff;border-radius:999px;background:#111827;color:#fff;font-size:14px;box-shadow:0 3px 10px #0006}
.quote-annotation-toolbar{position:absolute;z-index:15;left:8px;right:8px;bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px;border-radius:10px;background:#111827dc;color:#fff;box-shadow:0 8px 20px #0004}
.quote-annotation-toolbar>span{margin-right:auto;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.quote-annotation-toolbar button{min-height:30px;padding:5px 8px;border-radius:7px;background:#fff;color:#111827;font-size:11px;font-weight:800}
.quote-annotation-text-field{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:700}
.quote-annotation-text-field input{min-height:36px;padding:7px 9px}
.quote-photo-card-section{display:grid;gap:14px;margin-top:26px;padding-top:20px;border-top:2px solid #dbe4eb}
.quote-photo-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.quote-photo-card-heading>div{display:grid;gap:4px}
.quote-photo-card-heading strong{font-size:17px}
.quote-photo-card-heading span{color:#64748b;font-size:12px}
.quote-photo-card-list{display:grid;gap:16px}
.quote-photo-card{padding:16px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;box-shadow:0 10px 24px #0f172a0d}
.quote-photo-card-grid{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(240px,.8fr);gap:18px}
.quote-photo-card-stage{aspect-ratio:16/9;border:1px solid #cbd5e1;border-radius:12px}
.quote-photo-card-stage>img{display:block;width:100%;height:100%;object-fit:cover}
.quote-photo-card-title{position:absolute;z-index:10;left:18px;right:18px;top:18px;padding:9px 12px;border-radius:8px;background:#111827d9;color:#fff;font-size:18px;text-align:center;box-shadow:0 6px 18px #0004}
.quote-viewer-pages-single{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:28px}
.quote-viewer-actions button:disabled{opacity:.35;cursor:not-allowed}
.quote-single-panel-page{position:relative;overflow:hidden;background:#fff}
.quote-single-panel-page>.quote-exact-panel{position:relative;width:794px;height:1123px;min-width:794px;min-height:1123px}
.quote-single-static-page{background-position:center;background-repeat:no-repeat;background-size:100% 100%}
.quote-single-static-page.is-left,.quote-single-static-page.is-right{background-size:200% 100%}
.quote-single-static-page.is-left{background-position:left center}
.quote-single-static-page.is-right{background-position:right center}
@media(max-width:800px){.quote-photo-card-grid{grid-template-columns:1fr}.quote-photo-card-heading{align-items:stretch;flex-direction:column}.quote-annotation-toolbar>span{width:100%}}

.quote-action-menus{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.quote-action-menu{position:relative}
.quote-action-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;user-select:none}
.quote-action-menu>summary::-webkit-details-marker{display:none}
.quote-action-menu[open]>summary{box-shadow:0 0 0 3px rgba(14,165,233,.22)}
.quote-action-menu-popover{position:absolute;z-index:80;top:calc(100% + 7px);right:0;display:grid;min-width:220px;padding:7px;border:1px solid rgba(15,23,42,.14);border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.2)}
.quote-action-menu-popover button{display:block;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#0f172a;font:inherit;font-weight:750;text-align:left;cursor:pointer}
.quote-action-menu-popover button:hover,.quote-action-menu-popover button:focus-visible{background:#e0f2fe;outline:none}
.quote-action-menu-popover button:disabled{opacity:.5;cursor:wait}
.form-bottom-actions .quote-action-menus{margin-right:auto}

.quote-exact-cover-contact-reflow-mask{position:absolute;z-index:2;left:60px;top:828px;width:520px;height:175px;background:#000}
.quote-exact-cover.has-tall-customer-copy .quote-exact-cover-contacts{background:transparent}
.quote-exact-cover.has-tall-customer-copy .quote-exact-cover-contacts>div:first-child{transform:translateY(30px)}
.quote-exact-cover.is-implantation-cover .quote-exact-cover-date{z-index:6;left:72px;width:165px}
.quote-exact-cover-logo{display:block;width:230px;height:72px;object-fit:contain;object-position:left center}
.quote-validation-cover-title{position:absolute;z-index:5;left:58px;top:140px;padding-left:16px;border-left:3px solid #fff;color:#fff}
.quote-validation-cover-title strong{display:block;font-size:46px;line-height:.96;letter-spacing:-.025em}

.quote-validation-exact:after{content:"";position:absolute;z-index:4;left:34px;top:154px;width:625px;height:46px;background:#fff}
.quote-validation-section-label{position:absolute;z-index:5;left:43px;top:159px;margin:0;color:#000;font-size:25px;font-weight:800;line-height:36px}
.quote-validation-exact .quote-exact-placement-title{z-index:5}
.quote-validation-values{z-index:4}
.quote-validation-values>div{min-height:67px}
.quote-validation-values .quote-validation-comment{min-height:105px;align-items:start}
.quote-validation-values .quote-validation-comment span{padding-top:18px}
.quote-validation-values .quote-validation-comment strong{height:100%;padding-top:18px;white-space:pre-wrap;line-height:1.35}
.quote-validation-empty-values{position:absolute;z-index:3;left:32px;top:198px;width:735px;height:306px;background:#000}
.quote-validation-photo-title{position:absolute;z-index:5;left:28px;right:28px;bottom:28px;padding:14px 18px;border-left:5px solid #ec0a64;background:rgba(15,23,42,.84);color:#fff;font-size:28px;line-height:1.15}
.quote-static-annotations{position:absolute;z-index:8;inset:0;pointer-events:none}
.quote-static-annotation{position:absolute;color:#e11d48}
.quote-static-arrow{inset:0}
.quote-static-arrow svg{width:100%;height:100%;overflow:visible}
.quote-static-arrow line{stroke:#e11d48;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #fff)}
.quote-static-arrow marker path{fill:#e11d48}
.quote-static-circle{aspect-ratio:1;transform:translate(-50%,-50%);border:4px solid #e11d48;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.65)}
.quote-static-text{max-width:260px;transform:translate(-50%,-50%);padding:8px 12px;border:3px solid #fff;border-radius:8px;background:#e11d48;color:#fff;font-size:17px;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 5px 16px rgba(0,0,0,.35)}

@media(max-width:800px){
  .quote-actions{align-items:stretch}
  .quote-action-menus{display:grid;width:100%;grid-template-columns:1fr}
  .quote-action-menu,.quote-action-menu>summary{width:100%}
  .quote-action-menu>summary{justify-content:space-between}
  .quote-action-menu-popover{position:static;min-width:0;margin-top:6px;box-shadow:0 8px 22px rgba(15,23,42,.14)}
  .form-bottom-actions .quote-action-menus{margin-right:0}
}

/* Synthèse conférence 2026-08-14 */
.quote-viewer,.quote-viewer-canvas,.quote-viewer-pages{background:#636466!important}
.user-form-shell,.user-section{--offer-compact-gap:12px}
.user-sections{gap:12px!important}.user-section{padding:16px!important}.user-section-head{margin-bottom:12px!important}
.quote-form-toolbar{padding:12px 16px!important}.quote-line{padding:12px!important}.quote-line-head{margin-bottom:10px!important}
.quote-grid{gap:10px!important}.quote-material-mode-top{margin-bottom:12px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}
.quote-material-mode-top .quote-field{max-width:360px}.quote-readonly-price{background:#eef2f6!important;color:#334155!important;cursor:not-allowed}
.quote-presentation-note{display:grid;gap:7px;margin:12px 0}.quote-presentation-note .quote-field{max-width:none}.quote-presentation-note textarea{box-sizing:border-box;width:100%;min-height:76px!important;resize:vertical}.quote-comment-presets{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.quote-comment-presets>span{color:#64748b;font-size:10px;font-weight:800}.quote-comment-presets button{padding:6px 9px;border:1px solid #ed1164;border-radius:5px;background:#fff;color:#c51651;font-size:10px;font-weight:800;cursor:pointer}.quote-comment-presets button:hover,.quote-comment-presets button:focus-visible{background:#fff0f6;outline:2px solid rgba(237,17,100,.2);outline-offset:1px}.quote-comment-presets button:disabled{opacity:.5;cursor:not-allowed}
.workspace-user .quote-presentation-note .quote-field textarea[data-quote-path="notes"]{min-height:76px!important}
.quote-material-footer{align-items:flex-end!important;justify-content:space-between!important}.quote-material-footer>div{display:grid;gap:10px}
.quote-material-period-total{margin-left:auto;text-align:right}.quote-global-discount{margin:0!important}
.quote-service-groups{display:grid;gap:14px}.quote-service-groups>section{display:grid;gap:8px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}
.quote-service-groups h4{margin:0;color:#0f172a;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.quote-service-line{grid-template-columns:38px minmax(150px,1fr) minmax(210px,1.4fr) minmax(110px,.7fr) minmax(90px,.55fr) minmax(110px,.7fr) 36px!important;gap:8px!important;align-items:center}
.quote-drag-handle{display:grid;width:34px;height:34px;place-items:center;padding:0;border:1px solid #94a3b8;border-radius:8px;background:#fff;color:#334155;cursor:grab;font-size:18px}.quote-drag-handle:active{cursor:grabbing}
.quote-service-line.is-dragging{opacity:.45}.quote-service-line.is-drag-over{outline:3px solid #00aeef;outline-offset:2px}.quote-service-no-price{color:#64748b;font-size:12px;font-weight:700}
.quote-photo-card-actions{display:flex;flex-wrap:wrap;gap:8px}.quote-photo-card-stage>video{display:block;width:100%;height:100%;object-fit:contain;background:#111827}
.quote-validation-photo-exact .quote-exact-placement-media>video{display:block;width:100%;height:100%;object-fit:contain;background:#111}
.quote-placement-template-mask{position:absolute;z-index:2;left:0;top:88px;width:794px;background:#000}
.quote-placement-simplified-values{top:96px!important;height:auto!important;z-index:4!important}
.quote-placement-simplified-values>div{min-height:48px!important}
.quote-placement-simplified-values span{font-size:13px!important}.quote-placement-simplified-values strong{padding:7px 14px!important;font-size:13px!important}
.quote-exact-placement-empty-mask{position:absolute;z-index:2;left:0;width:794px;background:#000}
.quote-original-material-table td{height:76px!important;padding:4px 5px!important}.quote-original-service-table td{padding:5px 10px!important}
.quote-presentation-comment span{white-space:pre-wrap;text-align:left!important}
@media(max-width:1000px){.quote-service-line{grid-template-columns:34px 1fr!important}.quote-service-line>*{min-width:0}.quote-material-footer{align-items:stretch!important}.quote-material-period-total{text-align:left}}

/* Interface dense — référence Business Central (2026-08-16) */
.site-header{padding:7px 14px!important;gap:10px!important}
.brand{gap:8px!important}.brand-logo{width:30px!important;height:30px!important}.brand-name{font-size:18px!important}.brand-subtitle{font-size:9px!important}
.main-nav{gap:12px!important}.nav-link{padding-bottom:3px!important;font-size:12px!important}
.header-actions{gap:7px!important}.connectivity-pill{min-height:26px!important;padding:4px 8px!important;font-size:9px!important}.account-select{min-height:30px!important;padding:5px 28px 5px 8px!important;border-radius:3px!important;font-size:11px!important}
.workspace-root{padding:8px 10px 14px!important}
.workspace-user{gap:0!important}.workspace-user>.user-hero{display:none!important}
.workspace-user .user-form-shell{padding:8px 10px!important;border-radius:5px!important;box-shadow:0 1px 4px rgba(15,23,42,.08)!important}
.workspace-user .form-topbar{align-items:center!important;gap:7px!important;padding-bottom:7px!important;border-bottom:1px solid rgba(15,23,42,.12)}
.workspace-user .form-topbar h2{margin:0!important;font-size:19px!important;line-height:1.1!important}.workspace-user .form-topbar p{margin:2px 0 0!important;font-size:11px!important;line-height:1.25!important}
.workspace-user .canvas-badges,.workspace-user .quote-actions{gap:5px!important}
.workspace-user .account-pill{min-height:22px!important;padding:3px 6px!important;border-radius:3px!important;font-size:10px!important}
.workspace-user :is(.primary-button,.secondary-button,.tool-button,.quote-icon-button){min-height:28px!important;padding:4px 8px!important;border-radius:3px!important;font-size:11px!important;line-height:1.15!important}
.workspace-user .user-sections{gap:5px!important;margin-top:7px!important}
.workspace-user .user-section{padding:7px 8px!important;border-radius:4px!important;box-shadow:none!important}
.workspace-user .user-section-head{align-items:center!important;gap:6px!important;margin-bottom:5px!important}
.workspace-user .user-section-head :is(h2,h3){margin:0!important;font-size:15px!important;line-height:1.1!important}.workspace-user .user-section-head p{margin:2px 0 0!important;font-size:10px!important;line-height:1.2!important}
.workspace-user .field-layout{gap:4px!important;margin-top:5px!important}
.workspace-user .user-field{padding:5px 6px!important;border-radius:2px!important;box-shadow:none!important;background:#fff!important}.workspace-user .user-field:hover{transform:none!important;box-shadow:none!important}
.workspace-user .user-field-label{margin-bottom:3px!important;font-size:12px!important;line-height:1.2!important}
.workspace-user :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:29px!important;padding:4px 6px!important;border-radius:2px!important;font-size:12px!important;line-height:1.2!important}
.workspace-user textarea{min-height:48px!important}.workspace-user input[type=checkbox],.workspace-user input[type=radio]{width:15px!important;height:15px!important}
.workspace-user .user-field-help{margin-top:2px!important;font-size:10px!important;line-height:1.2!important}.workspace-user .checkbox-field{gap:6px!important;min-height:28px!important;font-size:12px!important}.workspace-user .combo-field{gap:4px!important}
.workspace-user .special-result-card{min-height:0!important;gap:6px!important;padding:5px 7px!important;border-radius:2px!important;background:#f8fafc!important}
.workspace-user .special-result-card.is-empty{font-size:12px!important;line-height:1.2!important}.workspace-user .special-result-item{gap:1px!important}.workspace-user .special-result-item span{font-size:9px!important;line-height:1.1!important}.workspace-user .special-result-item :is(strong,a){font-size:12px!important;line-height:1.15!important}

.visio-offer-card{cursor:pointer}.visio-offer-card:focus-visible{outline:3px solid #00aeef;outline-offset:3px}.visio-offer-card .builder-section-actions{cursor:default}
.special-result-editable input{width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#111827;font:700 12px/1.2 inherit;padding:6px 8px}.special-result-editable input:focus{border-color:#00aeef;box-shadow:0 0 0 3px rgba(0,174,239,.14);outline:0}.special-result-editable input:disabled{border-color:transparent;background:transparent;padding-left:0}
.quote-material-add-row{display:flex;justify-content:flex-start;margin:8px 0 6px}.quote-material-add-row>button,.quote-material-add-row .quote-add-article-menu>summary{border-color:#ec0a64!important;background:#ec0a64!important;color:#fff!important;box-shadow:0 5px 14px rgba(236,10,100,.18)}.quote-material-add-row>button:hover,.quote-material-add-row .quote-add-article-menu>summary:hover{border-color:#c90857!important;background:#c90857!important}.quote-add-article-menu{position:relative}.quote-add-article-menu>summary{list-style:none;cursor:pointer}.quote-add-article-menu>summary::-webkit-details-marker{display:none}.quote-add-article-menu>div{position:absolute;left:0;top:calc(100% + 6px);z-index:20;display:grid;min-width:180px;padding:6px;border:1px solid #dbe4ee;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.18)}.quote-add-article-menu>div button{border:0;border-radius:7px;background:transparent;padding:9px 10px;text-align:left;cursor:pointer}.quote-add-article-menu>div button:hover{background:#eef8fc;color:#007da8}
.bc-field-shell{position:relative}.bc-field-loading{position:absolute;z-index:8;right:8px;bottom:9px;display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:2px 6px;border:1px solid rgba(0,174,239,.28);border-radius:999px;background:rgba(240,249,255,.96);color:#007da8;pointer-events:none;box-shadow:0 2px 8px rgba(15,23,42,.1)}.autocomplete-shell.bc-field-shell>.bc-field-loading{top:50%;bottom:auto;transform:translateY(-50%)}.bc-field-loading[hidden]{display:none!important}.bc-field-loading-spinner{width:11px;height:11px;border:2px solid rgba(0,174,239,.25);border-top-color:#ec0a64;border-radius:50%;animation:visio-bc-spin .65s linear infinite}.bc-field-loading small{font-size:8px;font-weight:900;letter-spacing:.04em}.bc-field-shell>input,.bc-field-shell>select,.bc-field-shell>.autocomplete-shell input{padding-right:54px!important}@keyframes visio-bc-spin{to{transform:rotate(360deg)}}
.quote-license-card{border-left:4px solid #8b5cf6}.quote-license-card .quote-line-head>span:nth-child(2){color:#6d28d9;font-weight:700}.quote-license-price-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-plan-editor{display:grid;gap:9px;padding:12px;border:1px solid #dce5ee;border-radius:12px;background:#f8fafc}.quote-plan-editor>p{margin:0;color:#526071;font-size:12px;line-height:1.4}.quote-plan-global-scale-control{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce5ee;border-radius:9px;background:#fff;color:#172033;font-size:11px;font-weight:800}.quote-plan-global-scale-control input{min-width:120px;accent-color:#ed1164}.quote-plan-global-scale-control output{min-width:46px;text-align:right;color:#ed1164}.quote-plan-legend{display:flex;flex-wrap:wrap;gap:7px}.quote-plan-legend button{display:grid;place-items:center;width:84px;height:58px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:5px;color:#172033;cursor:grab}.quote-plan-legend button:hover,.quote-plan-legend button:focus-visible{border-color:#ed1164;background:#fff7fa;box-shadow:0 0 0 2px rgba(237,17,100,.12)}.quote-plan-symbol{position:relative;display:grid;place-items:center;width:var(--plan-icon-width);height:var(--plan-icon-height);max-width:74px;max-height:47px;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important}.quote-plan-symbol-art{position:relative;display:block;transform-origin:center}.quote-plan-symbol-art>i{position:absolute;display:block;background-repeat:no-repeat}.quote-plan-symbol-art>svg{display:block;width:100%;height:100%;overflow:visible}.quote-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.quote-plan-item-list{display:grid;gap:6px}.quote-plan-item-list>div{display:grid;grid-template-columns:78px auto minmax(0,1fr) auto;align-items:center;gap:7px}.quote-plan-item-list>div>.quote-plan-symbol{justify-self:center}.quote-plan-item-list>div>span:not(.quote-plan-symbol){font-weight:800;color:#ed1164}.quote-plan-item-fields{display:grid;gap:7px;min-width:0}.quote-plan-item-list select{min-width:0}.quote-plan-item-list button.quote-plan-remove-button{border:1px solid rgba(237,17,100,.28);border-radius:8px;background:#fff7fa;padding:8px 11px;color:#c51651;font-size:11px;font-weight:800;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.quote-plan-item-list button.quote-plan-remove-button:hover,.quote-plan-item-list button.quote-plan-remove-button:focus-visible{border-color:#ed1164;background:#ed1164;color:#fff;box-shadow:0 3px 10px rgba(237,17,100,.22)}.quote-plan-no-placement{color:#7b8794}
.quote-plan-stage.is-drag-over{outline:4px dashed #ed1164;outline-offset:-5px}.quote-plan-marker{position:absolute;z-index:15;display:grid;place-items:center;transform:translate(-50%,-50%);color:#172033;text-decoration:none;cursor:move;user-select:none;filter:drop-shadow(0 2px 2px rgba(15,23,42,.35))}.quote-plan-marker>.quote-plan-symbol{transform:scale(var(--plan-marker-scale,1)) rotate(var(--plan-marker-rotation,0deg));transform-origin:center}.quote-plan-marker>.quote-plan-marker-number{position:absolute;right:-10px;top:-10px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#ed1164;color:#fff;font-size:10px;font-weight:900}.quote-plan-rotate-handle{position:absolute;left:50%;top:-44px;z-index:35;display:grid;place-items:center;width:25px;height:25px;padding:0;transform:translateX(-50%);border:2px solid #fff;border-radius:50%;background:#ed1164;color:#fff;box-shadow:0 2px 7px rgba(15,23,42,.32);font-size:15px;font-weight:900;line-height:1;cursor:grab;touch-action:none}.quote-plan-rotate-handle::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:20px;transform:translateX(-50%);background:#ed1164;box-shadow:0 0 0 1px rgba(255,255,255,.75)}.quote-plan-rotate-handle:hover,.quote-plan-rotate-handle:focus-visible{background:#c51651;outline:2px solid rgba(237,17,100,.22);outline-offset:2px}.quote-plan-rotate-handle.is-rotating{cursor:grabbing}.quote-plan-marker>strong{position:absolute;left:50%;top:calc(100% + 6px);z-index:4;max-width:220px;padding:5px 8px;transform:translateX(-50%) translateY(-2px);border-radius:6px;background:rgba(255,255,255,.97);box-shadow:0 2px 8px rgba(15,23,42,.25);font-size:10px;line-height:1.2;text-align:center;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.quote-plan-marker.is-linked:hover>strong,.quote-plan-marker.is-linked:focus-visible>strong{opacity:1;transform:translateX(-50%) translateY(0)}.quote-plan-link-picker{position:absolute;left:50%;top:calc(100% + 10px);z-index:30;display:grid;gap:5px;width:250px;padding:9px;transform:translateX(-50%);border:1px solid #ed1164;border-radius:9px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.28);font-size:10px;font-weight:800;filter:none}.quote-plan-link-picker select{width:100%;min-width:0}.quote-plan-marker-export{cursor:pointer}.quote-plan-export-stage .quote-plan-marker{z-index:9}.quote-pdf-render-host .quote-plan-marker{filter:drop-shadow(0 1px 2px rgba(15,23,42,.24))}.quote-pdf-render-host .quote-plan-marker>strong{display:none}.quote-plan-rotation-value{color:#ed1164;font-size:10px;font-weight:800}.quote-plan-item-icon{display:grid;place-items:center}.quote-plan-item-icon>.quote-plan-symbol{transform:rotate(var(--plan-item-rotation,0deg));transform-origin:center}
@media(max-width:760px){.quote-license-price-strip{grid-template-columns:1fr}.quote-plan-legend button{width:68px;height:52px}.quote-plan-item-list>div{grid-template-columns:54px auto minmax(0,1fr)}.quote-plan-item-list button{grid-column:3}.quote-plan-marker>strong{max-width:160px;white-space:normal}}
.workspace-user .quote-form-toolbar{gap:6px!important;margin-bottom:6px!important;padding:5px 7px!important;border-radius:3px!important}
.workspace-user .quote-form-toolbar strong{font-size:12px!important}.workspace-user .quote-form-toolbar p{margin:1px 0 0!important;font-size:10px!important;line-height:1.2!important}
.workspace-user .quote-lines{gap:5px!important}.workspace-user .quote-line{padding:5px 6px!important;border-radius:3px!important;box-shadow:none!important}.workspace-user .quote-line-head{gap:5px!important;margin-bottom:4px!important}
.workspace-user .quote-line-head strong{font-size:12px!important}.workspace-user .quote-grid{gap:4px!important}.workspace-user .quote-field{gap:2px!important;font-size:10px!important}.workspace-user .quote-field>span:first-child{font-size:10px!important}
.workspace-user .quote-material-mode-top{margin-bottom:5px!important;padding:5px 6px!important;border-radius:3px!important}.workspace-user .quote-material-mode-top .quote-field{max-width:280px}
.workspace-user .quote-material-footer{gap:5px!important;margin-top:5px!important;padding-top:5px!important}.workspace-user .quote-material-footer>div{gap:4px!important}
.workspace-user .quote-service-groups{gap:5px!important}.workspace-user .quote-service-groups>section{gap:4px!important;padding:5px 6px!important;border-radius:3px!important}.workspace-user .quote-service-groups h4{font-size:10px!important}
.workspace-user .quote-service-line{grid-template-columns:28px minmax(120px,1fr) minmax(170px,1.4fr) minmax(90px,.7fr) minmax(74px,.55fr) minmax(90px,.7fr) 28px!important;gap:4px!important}
.workspace-user .quote-drag-handle{width:26px!important;height:26px!important;border-radius:3px!important;font-size:14px!important}.workspace-user .quote-service-no-price{font-size:10px!important}
.workspace-user .quote-table-options{gap:5px!important;margin-bottom:5px!important;padding:5px 6px!important}.workspace-user .quote-mode-switch legend{margin-bottom:3px!important;font-size:9px!important}.workspace-user .quote-mode-switch label{padding:5px 9px!important;font-size:10px!important}
.workspace-user .quote-option-field,.workspace-user .quote-option-check{gap:3px!important;font-size:9px!important}.workspace-user .quote-option-check{min-height:28px!important}.workspace-user .quote-option-check input{width:15px!important;height:15px!important}
.workspace-user .quote-price-source{gap:5px!important;margin:0 0 4px!important;padding:4px 6px!important;font-size:9px!important}
.workspace-user .quote-html-table{font-size:11px!important}.workspace-user .quote-html-table th{padding:5px 6px!important;font-size:9px!important}.workspace-user .quote-html-table td{padding:4px 5px!important}.workspace-user .quote-html-table input,.workspace-user .quote-html-table select{min-height:27px!important;padding:3px 5px!important;border-radius:0!important}.workspace-user .quote-html-table td small{margin-top:2px!important;font-size:9px!important}
.workspace-user .quote-table-footer{margin-top:5px!important}.workspace-user .quote-global-discount{gap:4px!important}.workspace-user .quote-discount-control{grid-template-columns:46px minmax(62px,1fr)!important;gap:3px!important}
.workspace-user .quote-photo-card-section{gap:5px!important;margin-top:8px!important;padding-top:7px!important}.workspace-user .quote-photo-card-heading{gap:6px!important}.workspace-user .quote-photo-card-heading>div{gap:1px!important}.workspace-user .quote-photo-card-heading strong{font-size:12px!important}.workspace-user .quote-photo-card-heading span{font-size:9px!important}
.workspace-user .quote-photo-card-list{gap:6px!important}.workspace-user .quote-photo-card{padding:6px!important;border-radius:4px!important;box-shadow:none!important}.workspace-user .quote-photo-card-grid{gap:7px!important}.workspace-user .quote-photo-card-stage{border-radius:3px!important}.workspace-user .quote-photo-card-title{left:8px!important;right:8px!important;top:8px!important;padding:5px 7px!important;border-radius:3px!important;font-size:12px!important}
.workspace-user .quote-annotation-text-field{grid-template-columns:105px minmax(0,1fr)!important;gap:4px!important;margin-top:4px!important;font-size:9px!important}.workspace-user .quote-annotation-toolbar{gap:3px!important;padding:4px!important;border-radius:3px!important}.workspace-user .quote-annotation-toolbar button{min-height:25px!important;padding:3px 6px!important;border-radius:2px!important;font-size:9px!important}
.workspace-user .form-bottom-actions{gap:5px!important;margin-top:7px!important;padding-top:7px!important}.workspace-user .quote-action-menus{gap:5px!important}.workspace-user .quote-action-menu>summary{gap:4px!important}.workspace-user .quote-action-menu-popover{top:calc(100% + 3px)!important;min-width:185px!important;padding:4px!important;border-radius:4px!important}.workspace-user .quote-action-menu-popover button{padding:6px 7px!important;border-radius:2px!important;font-size:10px!important}
.workspace-user .configurator-validation-error{gap:2px!important;margin:5px 0!important;padding:5px 7px!important}.workspace-user .configurator-validation-error strong{font-size:10px!important}.workspace-user .configurator-validation-error span,.workspace-user .configurator-validation-error small{font-size:9px!important}
.workspace-user{--offer-zebra:#e6ecef}
.workspace-user .table-rows>.table-row:nth-child(even),
.workspace-user .quote-lines>.quote-line:nth-child(even),
.workspace-user .quote-service-groups>section>.quote-service-line:nth-child(even),
.workspace-user .quote-photo-card-list>.quote-photo-card:nth-child(even){background:var(--offer-zebra)!important}
.workspace-user :is(.quote-html-table,.official-results-table) tbody tr:nth-child(even)>td{background:var(--offer-zebra)!important}
@media(max-width:800px){.site-header{padding:6px 8px!important}.main-nav{gap:7px!important;overflow:visible!important;flex-wrap:wrap!important}.workspace-root{padding:5px!important}.workspace-user .user-form-shell{padding:6px!important}.workspace-user .form-topbar{align-items:stretch!important}.workspace-user .form-topbar .canvas-badges{display:grid!important;grid-template-columns:1fr 1fr!important}.workspace-user .user-section-head{align-items:center!important;flex-direction:row!important;justify-content:space-between!important}.workspace-user .special-result-card{grid-template-columns:repeat(3,minmax(0,1fr))!important}.workspace-user .special-result-card.is-empty{display:block!important}.workspace-user .quote-action-menus{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important}.workspace-user .quote-action-menu,.workspace-user .quote-action-menu>summary{min-width:0!important;width:100%!important}.workspace-user .quote-action-menu>summary{align-items:center!important;justify-content:space-between!important;padding-inline:5px!important;font-size:9px!important}.workspace-user .quote-service-line{grid-template-columns:26px 1fr!important}.workspace-user .quote-html-table tr{margin-bottom:5px!important;padding:5px!important;border-radius:3px!important}.workspace-user .quote-html-table td{padding:3px!important}.workspace-user .quote-mobile-label{margin-bottom:2px!important;font-size:10px!important}.workspace-user .quote-photo-card-grid{grid-template-columns:1fr!important}}

/* Plan configurateur — retours Steve du 18 août 2026 */
.quote-material-card{display:grid;gap:10px!important;border-color:#cbd5e1!important;background:#f8fafc!important}
.quote-material-card-row{display:grid;gap:8px;align-items:start;padding:9px;border:1px solid #d7e0e8;border-radius:7px;background:#fff}
.quote-material-card-row-main{grid-template-columns:minmax(280px,2fr) minmax(92px,.55fr) minmax(92px,.55fr) minmax(170px,1fr)}
.quote-material-card-row-main>.quote-field:first-child{min-width:0}
.quote-material-card-row-license,.quote-material-card-row-visual{grid-template-columns:minmax(260px,1.65fr) minmax(100px,.55fr) minmax(180px,1fr)}
.quote-material-card-total{margin-left:auto;color:#0f172a;font-size:12px;font-weight:800}
.quote-material-price-strip{display:grid;grid-template-columns:1fr minmax(230px,1.2fr) 1fr;border:1px solid #94a3b8;border-radius:7px;background:#eef5f8;overflow:hidden}
.quote-material-price-strip>div{display:grid;gap:4px;align-content:center;min-height:62px;padding:9px 12px;border-right:1px solid #b8c7d1}
.quote-material-price-strip>div:last-child{border-right:0}.quote-material-price-strip span{color:#475569;font-size:10px;font-weight:800;text-transform:uppercase}.quote-material-price-strip strong{font-size:15px}.quote-material-price-strip .quote-inline-control{display:grid;grid-template-columns:76px minmax(80px,1fr);gap:6px}
.quote-material-footer{display:grid!important;grid-template-columns:minmax(520px,1fr) auto;align-items:center!important}
.quote-total-summary{display:grid;grid-template-columns:1fr minmax(230px,1.15fr) 1.3fr;border:1px solid #94a3b8;border-radius:7px;background:#fff;overflow:hidden}
.quote-total-summary>div{display:grid;gap:4px;align-content:center;min-height:62px;padding:9px 12px;border-right:1px solid #cbd5e1}.quote-total-summary>div:last-child{border-right:0}.quote-total-summary span{font-size:10px;font-weight:800;text-transform:uppercase}.quote-total-summary strong{font-size:14px}.quote-total-summary small{color:#64748b;font-size:9px}.quote-total-summary .quote-global-discount{display:grid;grid-template-columns:minmax(120px,1fr) 60px 88px!important}.quote-total-summary .quote-global-discount label{grid-column:1/-1}.quote-price-detail-toggle{display:flex;align-items:center;gap:6px;max-width:190px;font-size:10px;font-weight:750}.quote-price-detail-toggle input{flex:0 0 auto}

.quote-service-list{display:grid;gap:5px}.quote-service-line.quote-service-fixed{display:grid!important;grid-template-columns:74px minmax(160px,1.05fr) minmax(220px,1.35fr) minmax(112px,.7fr) minmax(90px,.55fr) 110px minmax(95px,.6fr)!important;gap:7px!important;padding:7px;border:1px solid #d7e0e8;border-radius:6px;background:#fff}.quote-service-fixed.is-disabled{opacity:.58}.quote-service-visibility,.quote-service-price-visibility{display:flex;align-items:center;gap:5px;color:#475569;font-size:9px;font-weight:800}.quote-service-fixed-title{align-self:center;font-size:11px}.quote-service-fixed-details{display:grid;gap:2px;padding:5px 7px;border:1px solid #d7e0e8;border-radius:4px;background:#f8fafc;color:#334155;font-size:10px;font-weight:700;line-height:1.25}.quote-service-fixed-details>span{display:block}.quote-service-fixed-details>span+span{padding-top:3px;border-top:1px solid #e2e8f0}.quote-service-remark{display:grid;gap:4px;margin-top:7px;padding-top:8px;border-top:1px solid #cbd5e1}.quote-service-remark>span{font-size:10px;font-weight:800;text-transform:uppercase}.quote-service-remark textarea{min-height:56px!important}

.quote-placement-stage{width:min(100%,600px)!important;max-width:600px!important;max-height:600px!important;aspect-ratio:4/3!important;margin-inline:auto;isolation:isolate}.quote-placement-background{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center;will-change:transform}.quote-placement-inserted-media{position:absolute;z-index:7;inset:0;width:100%;height:100%;overflow:hidden;transform-origin:0 0;will-change:transform;pointer-events:none}.quote-placement-inserted-media>img,.quote-placement-inserted-media>video{display:block;width:100%;height:100%;object-fit:fill;background:#111}.quote-screen-border{position:absolute;inset:0;border:var(--quote-screen-border-width,6px) solid #050505;box-sizing:border-box;pointer-events:none}.quote-placement-inserted-media.is-3d{pointer-events:auto;background:linear-gradient(145deg,#17283a,#07111d)}.quote-screen-3d-viewer{position:absolute;inset:0;overflow:hidden;cursor:default;touch-action:none;background:radial-gradient(circle at 50% 32%,rgba(97,139,177,.38),rgba(6,15,25,.94) 70%)}.quote-screen-3d-viewer.is-model-hovered{cursor:grab}.quote-screen-3d-viewer.is-moving-model{cursor:grabbing}.quote-screen-3d-canvas{display:block;width:100%;height:100%;outline:0}.quote-screen-3d-status{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;color:#e2edf7;font-size:11px;font-weight:800;text-align:center}.quote-screen-3d-spinner{width:17px;height:17px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;animation:quote-screen-spin .8s linear infinite}.quote-screen-3d-viewer.has-error .quote-screen-3d-status{color:#fecaca;background:#450a0a99}.quote-media-corner-handle{z-index:20!important;background:#ec0a64!important}.quote-media-corner-handle.is-hidden{display:none!important}.quote-annotation-layer.are-handles-hidden .quote-annotation-handle,.quote-annotation-layer.are-handles-hidden .quote-annotation-delete,.quote-annotation-layer.are-handles-hidden .quote-annotation-text>button{display:none!important}.quote-drop-zone{border:2px dashed #94a3b8!important;transition:border-color .15s,background .15s}.quote-drop-zone.is-drag-over{border-color:#00aeef!important;background:#e0f7ff!important;box-shadow:0 0 0 3px rgba(0,174,239,.16)}.quote-crop-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:7px;padding:7px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.quote-crop-controls label{display:grid;gap:3px;color:#475569;font-size:9px;font-weight:750}.quote-crop-controls input{width:100%}.quote-placement-media-list{display:grid;gap:4px;padding:7px;border:1px solid #d7e0e8;border-radius:5px;background:#fff}.quote-placement-media-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.quote-placement-media-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.quote-placement-media-list button{min-height:26px!important;padding:3px 7px!important}
.quote-annotation-rectangle-outline::after{content:"";position:absolute;inset:-6px -9px}
@keyframes quote-screen-spin{to{transform:rotate(360deg)}}
.quote-photo-card-stage[data-placement-photo-drop].is-drag-over{outline:4px dashed #00aeef;outline-offset:-5px;box-shadow:inset 0 0 0 999px rgba(0,174,239,.12)}

.quote-table-logo-band{justify-content:space-between!important;height:58px!important}.quote-table-visioscreen-logo{width:230px!important;height:54px!important}.quote-table-brand-logo{width:170px!important;height:48px!important;object-position:right center!important}.quote-table-logo-divider{margin-left:auto}.quote-original-page-header{top:18px!important;grid-template-columns:minmax(0,1fr) 125px 1px 145px!important}.quote-original-material-table{top:132px!important}.quote-original-material-table.no-price-details .col-equipment{width:48%}.quote-original-material-table.no-price-details .col-location{width:30%}.quote-original-material-table.no-price-details .col-preview{width:13%}.quote-original-material-table.no-price-details .col-quantity{width:9%}.quote-original-material-table.has-price-details .col-equipment{width:35%}.quote-original-material-table.has-price-details .col-location{width:17%}.quote-original-material-table.has-price-details .col-preview{width:11%}.quote-original-material-table.has-price-details .col-quantity{width:7%}.quote-original-material-table.has-price-details .col-unit,.quote-original-material-table.has-price-details .col-total{width:15%}
.quote-original-services-page .quote-original-page-header{top:22px!important}.quote-installation-table{top:158px!important}.quote-service-group-title{position:absolute;left:80px;margin:0;font-size:11px;letter-spacing:.06em}.quote-installation-title{top:136px}.quote-original-service-table th:first-child{text-align:left;padding-left:12px}.quote-service-remark-export{position:absolute;left:80px;width:634px;display:grid;grid-template-columns:112px 1fr;min-height:52px;border:1px solid #aaa;background:#fff}.quote-service-remark-export strong,.quote-service-remark-export span{padding:9px;font-size:9px;white-space:pre-wrap}.quote-service-remark-export strong{border-right:1px solid #aaa}.quote-installation-remark{top:350px}.quote-annual-title{position:absolute}.quote-service-remark-export.quote-annual-remark{position:absolute}

.quote-exact-cover-contacts.has-technical-contact{left:48px!important;right:48px!important;width:auto!important;grid-template-columns:.75fr 1fr 1.2fr!important;gap:18px!important}.quote-exact-cover-contacts.has-technical-contact>div{min-width:0}.quote-exact-cover-contacts.has-technical-contact strong,.quote-exact-cover-contacts.has-technical-contact em{overflow-wrap:anywhere}.quote-validation-cover-title strong{font-size:40px!important;line-height:1!important}.quote-validation-section-label{font-size:22px!important}
.quote-placement-branding{position:absolute;z-index:6;left:24px;right:24px;top:9px;display:flex;align-items:center;justify-content:space-between;gap:18px;height:68px;color:#fff}.quote-placement-branding img{width:210px;height:58px;object-fit:contain;object-position:left center}.quote-placement-branding span{font-size:10px;font-weight:700;line-height:1.25;text-align:right}.quote-placement-branding span strong{color:#ec0a64}.quote-placement-commercial .quote-exact-placement-title{top:84px;color:#111}.quote-placement-commercial:before{height:82px}.quote-placement-export-media{pointer-events:none}.quote-exact-placement-media>.quote-placement-background{position:absolute;inset:0;width:100%;height:100%}

@media(max-width:1100px){.quote-material-card-row-main,.quote-material-card-row-license,.quote-material-card-row-visual{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-material-footer{grid-template-columns:1fr}.quote-total-summary{min-width:0}.quote-service-line.quote-service-fixed{grid-template-columns:90px 1fr!important}.quote-service-line.quote-service-fixed>*{min-width:0}}
@media(max-width:700px){.quote-material-card-row-main,.quote-material-card-row-license,.quote-material-card-row-visual,.quote-total-summary,.quote-material-price-strip{grid-template-columns:1fr}.quote-total-summary>div,.quote-material-price-strip>div{border-right:0;border-bottom:1px solid #cbd5e1}.quote-total-summary>div:last-child,.quote-material-price-strip>div:last-child{border-bottom:0}.quote-crop-controls{grid-template-columns:1fr}}

.quote-excel-import{display:grid;gap:8px;margin-bottom:10px;padding:10px;border:1px solid #b7c5d0;border-radius:7px;background:#f8fafc}.quote-excel-import-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.quote-excel-import-heading h4{margin:0 0 2px;font-size:13px}.quote-excel-import-heading p{margin:0;color:#64748b;font-size:10px}.quote-excel-import-badge{padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px;font-weight:800}.quote-excel-dropzone{display:flex;align-items:center;justify-content:center;gap:8px;min-height:62px;padding:8px;border:2px dashed #94a3b8;border-radius:6px;background:#fff;cursor:pointer}.quote-excel-dropzone.is-dragover{border-color:#00aeef;background:#e0f7ff;box-shadow:0 0 0 3px rgba(0,174,239,.14)}.quote-excel-dropzone strong{font-size:11px}.quote-excel-dropzone span,.quote-excel-dropzone small{color:#64748b;font-size:9px}.quote-excel-import-preview:empty{display:none}.quote-excel-import-help,.quote-excel-import-loading{margin:0;color:#64748b;font-size:10px}.quote-excel-import-error,.quote-excel-import-warning{padding:8px;border-left:4px solid #b91c1c;background:#fef2f2;color:#7f1d1d;font-size:10px}.quote-excel-import-warning{border-left-color:#d97706;background:#fffbeb;color:#78350f}.quote-excel-import-error p,.quote-excel-import-error ul,.quote-excel-import-warning ul{margin:4px 0 0;padding-left:18px}.quote-excel-import-summary,.quote-excel-import-totals{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px;border-radius:5px;background:#eaf1f5;font-size:10px}.quote-excel-import-summary>span,.quote-excel-import-totals>span{padding-left:8px;border-left:1px solid #94a3b8}.quote-excel-import-table-wrap{max-height:230px;overflow:auto;border:1px solid #cbd5e1;background:#fff}.quote-excel-import-table-wrap table{width:100%;border-collapse:collapse;font-size:9px}.quote-excel-import-table-wrap th,.quote-excel-import-table-wrap td{padding:5px 6px;border:1px solid #dbe3e9;text-align:left}.quote-excel-import-table-wrap th{position:sticky;top:0;background:#0f172a;color:#fff}.quote-excel-import-table-wrap select{min-height:27px!important}.quote-excel-import-preview h5{margin:8px 0 4px;font-size:10px}.quote-excel-import-confirm{display:flex;align-items:flex-start;gap:6px;font-size:10px;font-weight:750}.quote-excel-import-actions{display:flex;gap:7px;justify-content:flex-end}
@media(max-width:700px){.quote-excel-import-heading,.quote-excel-dropzone{align-items:stretch;flex-direction:column}.quote-excel-import-summary,.quote-excel-import-totals{display:grid}.quote-excel-import-summary>span,.quote-excel-import-totals>span{padding-left:0;border-left:0}}
.imported-excel-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.imported-excel-totals article{min-height:96px}.imported-excel-total{display:flex!important;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:16px 18px!important;border:1px solid #b7dff0!important;border-radius:14px;background:#f3fbff}.imported-excel-total span{font-size:20px;font-weight:800;color:#006f9f}@media(max-width:900px){.imported-excel-totals{grid-template-columns:1fr}.imported-excel-total{align-items:flex-start;flex-direction:column}}

/* Retours de recadrage et de mise en page — 18 août 2026 */
.quote-material-card-row-visual{grid-template-columns:minmax(210px,1fr) minmax(180px,.9fr) minmax(260px,1.35fr) 96px}
.quote-material-illustration-preview{display:grid;align-self:stretch;min-height:76px;place-items:center;padding:5px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;overflow:hidden}
.quote-material-illustration-preview img{display:block;width:100%;height:74px;object-fit:contain}
.quote-material-illustration-preview span{color:#64748b;font-size:9px;font-weight:750;text-align:center}
.quote-deterministic-value{display:grid;align-content:center;min-height:38px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#0f172a}
.quote-deterministic-value strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.quote-deterministic-value small{margin-top:3px;color:#64748b;font-size:9px;font-weight:700}

.quote-cropper-shell{position:relative;width:min(100%,600px);max-width:600px;aspect-ratio:4/3;margin-inline:auto;overflow:hidden;border:1px solid #64748b;border-radius:8px;background:#0f172a;isolation:isolate}
.quote-crop-context{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:brightness(.28) saturate(.7);opacity:.92;pointer-events:none;user-select:none}
.quote-cropper-shell>.quote-crop-output{position:absolute!important;z-index:2;left:50%;top:50%;width:auto!important;max-width:94%!important;height:94%!important;max-height:94%!important;aspect-ratio:var(--quote-crop-aspect)!important;margin:0!important;transform:translate(-50%,-50%);border:2px solid #fff;background:#111;box-shadow:0 0 0 1px #111,0 10px 30px #0008;overflow:hidden}
.quote-cropper-shell>.quote-crop-output:after{content:"";position:absolute;z-index:25;inset:0;border:1px solid #fff8;pointer-events:none}
.quote-plan-locked-shell{aspect-ratio:794/619!important;background:#fff}.quote-plan-locked-shell>.quote-crop-output{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border:0!important;box-shadow:none!important}.quote-plan-locked-shell>.quote-crop-output:after{display:none}
.quote-crop-preview{cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none}
.quote-crop-preview:active{cursor:grabbing}
.quote-crop-pan-hitbox{position:absolute;z-index:6;inset:0;cursor:grab;touch-action:none}
.quote-crop-pan-hitbox:active{cursor:grabbing}
.quote-crop-controls{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) auto!important;align-items:end;gap:9px!important;margin-top:8px!important;padding:9px!important}
.quote-crop-controls p{align-self:center;margin:0;color:#475569;font-size:10px;line-height:1.35}
.quote-crop-controls label{font-size:10px!important}
.quote-crop-controls button{min-height:36px;padding:7px 11px;border:1px solid #94a3b8;border-radius:6px;background:#fff;color:#0f172a;font-size:10px;font-weight:800}
.quote-placement-background-control,.quote-photo-card-media-control,.quote-placement-media-control{display:grid;gap:8px;margin-top:8px;padding:9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}
.quote-placement-media-control{margin-top:0;background:#f8fafc}
.quote-selected-media{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid #d7e0e8;border-radius:5px;background:#fff}
.quote-selected-media span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:10px;font-weight:750}
.quote-selected-media button,.quote-placement-media-list button{min-height:29px!important;padding:4px 9px!important;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#991b1b;font-size:10px;font-weight:800}
.quote-selected-media-actions,.quote-placement-media-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto}
.quote-media-change-button{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:4px 9px;border:1px solid #94a3b8;border-radius:5px;background:#f8fafc;color:#0f4c81;font-size:10px;font-weight:800;cursor:pointer}
.quote-media-change-button:hover{border-color:#00aeef;background:#e0f7ff}
.quote-media-change-button:focus-within{outline:2px solid #00aeef;outline-offset:2px}
.quote-media-change-button input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.quote-selected-media.is-empty{justify-content:flex-start;background:#f8fafc}
.quote-placement-media-list{gap:8px!important;padding:0!important;border:0!important;background:transparent!important}
.quote-placement-media-card{display:grid;gap:7px;padding:9px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc}
.quote-placement-media-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid #d7e0e8}
.quote-placement-media-card-head strong{font-size:11px;color:#0f172a}
.quote-placement-media-card-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:9px;font-weight:700}
.quote-screen-type-controls{display:grid;gap:7px;padding:7px;border:1px solid #d7e0e8;border-radius:7px;background:#fff}.quote-screen-flat-controls{display:grid;gap:5px}.quote-screen-flat-controls>small{color:#64748b;font-size:9px;font-weight:700}.quote-screen-border-control{display:grid;gap:5px;color:#334155;font-size:10px;font-weight:750}.quote-screen-border-control>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.quote-screen-border-control output{padding:2px 6px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-variant-numeric:tabular-nums}.quote-screen-border-control input{width:100%;accent-color:#ec0a64}.quote-screen-3d-help{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:#475569;font-size:9px;font-weight:700}.quote-screen-3d-help>span{padding:4px 6px;border-radius:5px;background:#eef2f6}.quote-screen-3d-help button{margin-left:auto;min-height:27px!important;padding:3px 8px!important;border:1px solid #94a3b8!important;border-radius:5px!important;background:#f8fafc!important;color:#0f4c81!important;font-size:9px!important;font-weight:800!important}
.quote-media-move-hitbox{position:absolute!important;z-index:3;inset:0;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;cursor:grab;pointer-events:auto;touch-action:none}.quote-media-move-hitbox.is-dragging{cursor:grabbing}
.quote-placement-media-actions{padding-top:2px}
.quote-photo-card-stage{border-radius:7px!important}
.quote-photo-card-stage>video{display:block;width:100%;height:100%;object-fit:contain;background:#111}
.quote-photo-card-stage>.quote-crop-preview{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}

.quote-service-document-flow{position:absolute;left:80px;top:136px;width:634px;max-height:915px;display:flex;flex-direction:column;gap:7px;overflow:hidden}
.quote-service-document-flow .quote-service-group-title{position:static!important;left:auto!important;top:auto!important;flex:0 0 auto;margin:0!important;line-height:15px}
.quote-service-document-flow .quote-original-service-table{position:static!important;left:auto!important;top:auto!important;width:100%!important;flex:0 0 auto}
.quote-service-document-flow .quote-original-service-table th{height:34px!important}
.quote-service-document-flow .quote-original-service-table td{height:auto!important;padding:5px 9px!important}
.quote-service-document-flow .quote-original-service-table td li{font-size:8.5px!important;line-height:1.08!important}
.quote-service-document-flow .quote-service-remark-export{position:static!important;left:auto!important;top:auto!important;width:100%!important;min-height:42px!important;flex:0 0 auto}
.quote-service-document-flow .quote-service-remark-export strong,.quote-service-document-flow .quote-service-remark-export span{padding:7px 9px!important;overflow-wrap:anywhere}
.quote-service-document-flow .quote-annual-title{margin-top:5px!important}
.quote-placement-commercial{background:#000!important;background-image:none!important}
.quote-placement-commercial .quote-exact-placement-media{background:#000!important}
.quote-placement-background-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#000}

@media(max-width:1100px){.quote-material-card-row-visual{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-material-illustration-preview{min-height:90px}}
@media(max-width:700px){.quote-crop-controls{grid-template-columns:1fr!important}.quote-cropper-shell{width:100%}.quote-material-card-row-visual{grid-template-columns:1fr}}

/* Disposition Emplacement alignée sur le frame Lunacy fourni. */
.quote-placement-card-lunacy{width:100%;max-width:none;margin-inline:0;padding:12px!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}
.quote-placement-card-lunacy>.quote-line-head{min-height:30px;margin-bottom:10px!important;padding:0 0 8px;border-bottom:2px solid #d1d5db}
.quote-placement-card-lunacy>.quote-line-head strong{font-size:14px!important;font-weight:600!important}
.quote-placement-card-lunacy .quote-placement-grid{display:grid!important;grid-template-columns:minmax(500px,1.55fr) minmax(360px,1fr)!important;align-items:start;justify-content:stretch;gap:14px!important}
.quote-placement-preview-column{display:grid;justify-items:stretch;gap:8px;min-width:0}
.quote-placement-card-lunacy .quote-cropper-shell{width:100%;max-width:none;margin:0;border-radius:2px}
.quote-placement-card-lunacy .quote-placement-stage{max-width:none!important;max-height:none!important}
.quote-placement-card-lunacy .quote-annotation-toolbar-inline{position:static!important;display:flex!important;width:100%;min-height:34px;margin:0!important;padding:5px 6px!important;border-radius:6px!important;background:#666!important;box-shadow:none!important}
.quote-placement-card-lunacy .quote-annotation-toolbar-inline>span{display:none!important}
.quote-placement-card-lunacy .quote-annotation-toolbar-inline button{order:1;min-height:25px!important;padding:3px 8px!important;border:1px solid #d1d5db!important;border-radius:7px!important;background:#f8fafc!important;color:#111827!important;font-size:10px!important}
.quote-placement-card-lunacy .quote-annotation-toolbar-inline [data-quote-action="toggle-annotations"]{order:2;margin-left:auto}
.quote-placement-card-lunacy .quote-crop-controls{width:100%;margin:0;padding:6px;grid-template-columns:minmax(0,1.5fr) minmax(140px,1fr) auto}
.quote-placement-card-lunacy .quote-placement-background-control{width:100%;margin:0;padding:8px}
.quote-placement-sidebar{display:grid;align-content:start;gap:8px;min-width:0}
.quote-placement-sidebar>.quote-field{gap:3px!important}
.quote-placement-sidebar .quote-field>span:first-child{font-size:12px!important;font-weight:600!important}
.quote-placement-sidebar input,.quote-placement-sidebar select,.quote-placement-sidebar textarea{min-height:34px!important;padding:6px 8px!important;border-radius:7px!important;font-size:12px!important}
.quote-placement-sidebar textarea{min-height:62px!important}
.quote-placement-media-heading{display:flex;align-items:center;justify-content:space-between;margin-top:2px;padding:2px 2px 0}
.quote-placement-media-heading strong{font-size:13px;font-weight:600}
.quote-placement-media-heading span{color:#64748b;font-size:9px;font-weight:700}
.quote-placement-card-lunacy .quote-placement-media-control{gap:8px;margin:0;padding:8px;border:1px solid #9ca3af;border-radius:14px;background:#fff}
.quote-placement-card-lunacy .quote-placement-media-list{gap:7px!important}
.quote-placement-card-lunacy .quote-placement-media-card{gap:6px;padding:7px;border-color:#cbd5e1;border-radius:8px;background:#f8fafc}
.quote-placement-card-lunacy .quote-placement-media-card-head{padding-bottom:5px}
.quote-placement-card-lunacy .quote-placement-media-card-head strong{font-size:11px}
.quote-placement-card-lunacy .quote-placement-media-card .quote-field{gap:2px!important}
.quote-placement-card-lunacy .quote-placement-media-card .quote-field>span:first-child{font-size:10px!important}
.quote-placement-add-media{display:grid;border:0}
.quote-placement-add-media>summary{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:13px;background:#808080;color:#111;font-size:11px;font-weight:800;cursor:pointer;list-style:none}
.quote-placement-add-media>summary::-webkit-details-marker{display:none}
.quote-placement-add-media[open]>summary{margin-bottom:8px}
.quote-placement-add-media-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:13px;background:#808080;color:#111;font-size:11px;font-weight:800;cursor:pointer}
.quote-placement-add-media-button:hover,.quote-placement-add-media-button:focus-visible{background:#6f6f6f;outline:2px solid #00aeef;outline-offset:2px}
.quote-placement-add-media-body{display:grid;gap:7px}
.quote-placement-card-lunacy .quote-upload-button{min-height:54px!important;padding:7px 10px!important;border-radius:7px!important}
.quote-placement-card-lunacy .quote-upload-button strong{font-size:11px!important}
.quote-placement-card-lunacy .quote-upload-button small{font-size:8px!important}
.quote-placement-card-lunacy .quote-placement-media-actions{padding-top:0}
.quote-placement-card-lunacy .quote-media-change-button,.quote-placement-card-lunacy .quote-placement-media-actions button{min-height:28px!important;padding:4px 8px!important;font-size:9px!important}
.quote-implantation-card .quote-photo-card-grid{display:grid!important;grid-template-columns:minmax(500px,1.55fr) minmax(360px,1fr)!important;align-items:start;justify-content:stretch;gap:14px!important}
.quote-implantation-card .quote-implantation-video-stage,.quote-implantation-card .quote-implantation-empty-stage{width:100%;max-width:none;margin:0;border-radius:2px;background:#111}
.quote-implantation-card .quote-implantation-video-stage>video{object-fit:contain;background:#111}
.quote-implantation-card .quote-photo-card-media-control{gap:7px;margin:0;padding:8px;border:1px solid #9ca3af;border-radius:14px;background:#fff}
.quote-implantation-card .quote-photo-card-media-control .quote-selected-media{padding:6px 7px}
.quote-implantation-card .quote-photo-card-title{left:12px;right:12px;top:12px;padding:7px 9px;font-size:14px}
@media(max-width:920px){.quote-implantation-card .quote-photo-card-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:920px){.quote-placement-card-lunacy .quote-placement-grid{grid-template-columns:minmax(0,1fr)!important}.quote-placement-sidebar{width:100%;justify-self:stretch}}
@media(max-width:700px){.quote-placement-card-lunacy{padding:8px!important}.quote-placement-card-lunacy .quote-crop-controls{grid-template-columns:1fr}.quote-placement-card-lunacy .quote-annotation-toolbar-inline{align-items:stretch}.quote-placement-card-lunacy .quote-annotation-toolbar-inline [data-quote-action="toggle-annotations"]{width:100%;margin-left:0}}

/* Manipulation des écrans 3D comme des calques 2D dans la photo. */
.quote-placement-inserted-media.is-3d{background:transparent!important;transform:none!important}
.quote-screen-3d-viewer{background:transparent!important}
.quote-screen-3d-viewer[data-screen-readonly="true"]{cursor:default!important;pointer-events:none!important}
.quote-screen-3d-viewer[data-screen-readonly="true"] .quote-screen-3d-selection{display:none!important}
.quote-screen-3d-canvas{position:absolute;inset:0;z-index:1}
.quote-screen-3d-status{z-index:5}
.quote-screen-3d-selection{position:absolute;z-index:4;display:block;border:1.5px dashed #ec0a64;box-shadow:0 0 0 1px #fff8;opacity:0;pointer-events:none;transition:opacity .12s}
.quote-screen-3d-viewer.is-ready .quote-screen-3d-selection{opacity:1}
.quote-screen-3d-viewer.is-moving-model .quote-screen-3d-selection,.quote-screen-3d-viewer.is-resizing-model .quote-screen-3d-selection{border-style:solid}
.quote-screen-3d-resize-handle{position:absolute!important;width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;margin:0!important;padding:0!important;border:2px solid #fff!important;border-radius:2px!important;background:#ec0a64!important;box-shadow:0 1px 4px #0f172a80!important;pointer-events:auto;touch-action:none}
.quote-screen-3d-resize-handle.is-nw{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}
.quote-screen-3d-resize-handle.is-ne{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}
.quote-screen-3d-resize-handle.is-se{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}
.quote-screen-3d-resize-handle.is-sw{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}

/* Corrections Steve — catalogue, devis et exports client. */
.visio-offer-catalog-only{grid-template-columns:minmax(0,1fr)!important}
.visio-offer-catalog{width:100%;background:#fff!important}
.visio-offer-catalog-header{align-items:flex-start;flex-direction:column}
.visio-offer-catalog-controls{display:grid;width:100%;grid-template-columns:auto minmax(240px,1fr) minmax(190px,240px) auto;align-items:end;gap:10px}
.visio-offer-catalog-controls .catalog-search,.visio-offer-catalog-controls .catalog-search .inspector-control{width:100%;max-width:none}
.visio-offer-card .section-hitbox{pointer-events:auto;cursor:pointer}
.visio-offer-card-actions{align-items:center}
.workspace-user .user-form-shell{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.quote-license-card{margin:8px 0 18px;border:2px solid #8ba6b8!important;background:#eef5f8!important}
.quote-license-card.is-empty{border-style:dashed!important;background:#f8fafc!important}
.quote-license-card-row{grid-template-columns:minmax(260px,1.6fr) minmax(110px,.5fr) minmax(180px,.8fr)}
.quote-action-menus{align-items:flex-start}
.quote-action-menu>summary.primary-button{background:#fff!important;color:#111827!important;border:1px solid #cbd5e1!important;box-shadow:none!important}
.quote-action-menu>summary.primary-button:hover{border-color:#64748b!important;background:#f8fafc!important}
.quote-table-logo-divider{display:none!important}
.quote-original-page-header>div:last-child{justify-content:end!important}
.quote-table-contact{position:absolute;z-index:5;left:20px;right:20px;bottom:49px;display:flex;align-items:center;justify-content:center;gap:24px;height:18px;color:#111;font-size:8px;font-weight:700}
.quote-table-contact span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.quote-table-contact svg{display:block;width:12px;height:12px;fill:currentColor}
.quote-material-license-row{background:#eef5f8}
.quote-material-license-row td{height:62px!important}
.quote-material-page-links a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.quote-add-card-menu{position:relative}
.quote-add-card-menu>summary{list-style:none;cursor:pointer}
.quote-add-card-menu>summary::-webkit-details-marker{display:none}
.quote-add-card-menu>div{position:absolute;z-index:90;right:0;top:calc(100% + 6px);display:grid;min-width:190px;padding:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 14px 32px #0f172a2e}
.quote-add-card-menu>div button{min-height:34px;padding:7px 9px;border:0;border-radius:5px;background:#fff;color:#0f172a;font-size:11px;font-weight:750;text-align:left}
.quote-add-card-menu>div button:hover{background:#e0f2fe}
.autocomplete-shell>input[placeholder="Commencez à saisir une enseigne"]~.autocomplete-suggestion-list{display:none!important}
.quote-action-menu:first-child>.quote-action-menu-popover{right:auto;left:0;max-width:calc(100vw - 24px)}
.form-bottom-actions:has(.quote-action-menu[open]){position:relative;z-index:150}
.quote-action-menu[open]{z-index:160}
.quote-action-menu[open]>.quote-action-menu-popover{z-index:170}
.workspace-user .user-section:has(.quote-photo-card-section){overflow:visible!important}
.workspace-user .user-section:has(.quote-add-card-menu[open]){z-index:120!important}
.quote-add-card-menu[open]{z-index:130}
.quote-add-card-menu>div{z-index:140;max-width:calc(100vw - 24px)}
.quote-crop-mode{margin-top:8px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}
.quote-crop-mode>summary{padding:8px 10px;color:#0f172a;font-size:10px;font-weight:800;cursor:pointer}
.quote-crop-mode .quote-crop-controls{margin-top:0!important;border:0!important;border-top:1px solid #e2e8f0!important;border-radius:0!important;grid-template-columns:minmax(200px,1fr) minmax(170px,.75fr) minmax(160px,.7fr) auto!important}
.quote-excel-commercial-summary{overflow:auto;margin-top:14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.quote-excel-commercial-summary table{width:100%;border-collapse:collapse;font-size:12px}
.quote-excel-commercial-summary th,.quote-excel-commercial-summary td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:right}
.quote-excel-commercial-summary thead th{background:#0f172a;color:#fff;font-size:10px;text-transform:uppercase}
.quote-excel-commercial-summary th:first-child{text-align:left}
.quote-excel-commercial-summary tbody tr:last-child>*{border-bottom:0}
@media(max-width:850px){.visio-offer-catalog-controls{grid-template-columns:1fr 1fr}.quote-license-card-row{grid-template-columns:1fr}.quote-crop-mode .quote-crop-controls{grid-template-columns:1fr!important}}
@media(max-width:560px){.visio-offer-catalog-controls{grid-template-columns:1fr}.visio-offer-catalog-controls>*{width:100%}.quote-table-contact{gap:8px;font-size:6.5px}}
.quote-profile-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px 18px;border:1px solid #7c3aed;border-radius:12px;background:linear-gradient(135deg,#f5f3ff,#eef8ff);color:#312e81}
.quote-profile-banner strong{font-size:15px;letter-spacing:.02em}
.quote-profile-banner span{font-size:13px;color:#4c1d95;text-align:right}

/* Points du plan de travail — finitions fonctionnelles et visuelles. */
.quote-global-discount-equivalent{grid-column:1/-1;color:#475569;font-size:10px;font-weight:750}
.quote-photo-card-section{margin-top:24px!important;padding:16px!important;border:1px solid #cbd5e1!important;border-radius:10px;background:#f8fafc;box-shadow:0 8px 22px #0f172a0d}
.quote-photo-card-section>.quote-photo-card-heading{padding-bottom:10px;border-bottom:1px solid #dbe4eb}
.quote-annotation-background-layer,.quote-static-backgrounds{position:absolute;z-index:5;inset:0;overflow:hidden;pointer-events:none}
.quote-annotation-rectangle-fill,.quote-static-rectangle{position:absolute;pointer-events:none}
.quote-annotation-rectangle-outline{position:absolute;border:2px dashed #38bdf8;box-shadow:0 0 0 1px #fff9;pointer-events:auto;cursor:grab;touch-action:none}
.quote-annotation-rectangle-handle{border-radius:2px;background:#ec0a64}
.quote-annotation-rectangle-editor{pointer-events:none}
.quote-annotation-layer.are-handles-hidden .quote-annotation-rectangle-outline{border-color:transparent;box-shadow:none;pointer-events:auto}
.quote-static-backgrounds{z-index:5}
.quote-static-rectangle{background:#000}
.quote-material-license-row{background:#fff!important}
.quote-material-license-row td small{display:none!important}
.quote-original-services-page :is(.quote-visiopost-title,.quote-tier-essential,.quote-tier-premium,.quote-tier-exclusive){color:#111!important}
.quote-action-menu>summary.primary-button{border:0!important;background:linear-gradient(135deg,#ed1164,#c70c53)!important;color:#fff!important;box-shadow:0 10px 22px #ed116438!important}
.quote-action-menu>summary.primary-button:hover,.quote-action-menu>summary.primary-button:focus-visible{border:0!important;background:linear-gradient(135deg,#f12671,#ad0947)!important;color:#fff!important;outline:2px solid #ed11643d;outline-offset:2px}
.quote-action-menu-popover button{margin:2px 0;background:linear-gradient(135deg,#ed1164,#c70c53)!important;color:#fff!important;box-shadow:0 5px 12px #ed116426}
.quote-action-menu-popover button:hover,.quote-action-menu-popover button:focus-visible{background:linear-gradient(135deg,#f12671,#ad0947)!important;color:#fff!important}
.quote-validation-success-toast{position:fixed;z-index:1200;left:50%;top:26px;display:flex;align-items:center;gap:10px;padding:13px 20px;border-radius:999px;background:#0f766e;color:#fff;box-shadow:0 18px 50px #0f172a42;opacity:0;transform:translate(-50%,-18px) scale(.94);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.quote-validation-success-toast.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.quote-validation-success-toast span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#fff;color:#0f766e;font-size:18px;font-weight:900}
.quote-validation-success-toast strong{font-size:14px}
.quote-validation-confirm-modal{position:fixed;z-index:1190;inset:0;display:grid;place-items:center;padding:22px;background:rgba(15,23,42,.56);backdrop-filter:blur(5px);opacity:0;transition:opacity .18s ease}.quote-validation-confirm-modal.is-visible{opacity:1}.quote-validation-confirm-card{width:min(440px,100%);padding:27px;border:1px solid #dce5ee;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.32);text-align:center;transform:translateY(16px) scale(.97);transition:transform .2s ease}.quote-validation-confirm-modal.is-visible .quote-validation-confirm-card{transform:translateY(0) scale(1)}.quote-validation-confirm-icon{display:grid;width:52px;height:52px;margin:0 auto 14px;place-items:center;border-radius:50%;background:#e6fffa;color:#0f766e;font-size:28px;font-weight:900}.quote-validation-confirm-card h2{margin:0;color:#172033;font-size:22px}.quote-validation-confirm-card p{margin:10px 0 22px;color:#526071;line-height:1.5}.quote-validation-confirm-card>div{display:flex;justify-content:center;gap:10px}.quote-validation-confirm-card button{min-width:130px}
.quote-validation-error-card{width:min(560px,100%);max-height:min(720px,calc(100vh - 44px));overflow:auto;text-align:left}.quote-validation-error-card .quote-validation-error-icon{background:#fff0f3;color:#c51651}.quote-validation-error-card h2,.quote-validation-error-card>p{text-align:center}.quote-validation-problem-list,.quote-validation-warning-list{display:block!important;margin:0 0 14px;padding:15px 17px;border:1px solid #fecdd7;border-radius:12px;background:#fff7f9}.quote-validation-warning-list{border-color:#fde68a;background:#fffbeb}.quote-validation-problem-list>strong,.quote-validation-warning-list>strong{display:block;margin-bottom:8px;color:#9f1239;font-size:13px}.quote-validation-warning-list>strong{color:#92400e}.quote-validation-problem-list ul,.quote-validation-warning-list ul{display:grid;gap:7px;margin:0;padding-left:20px;color:#3f4754;line-height:1.4}.quote-validation-problem-list li::marker{color:#ed1164;font-weight:900}.quote-validation-warning-list li::marker{color:#d97706}.quote-validation-error-actions{display:flex!important;justify-content:center!important;margin-top:20px}.quote-validation-error-actions button{min-width:190px}
[data-visio-excel-import][aria-busy="true"] .quote-excel-dropzone{pointer-events:none;opacity:.65;cursor:wait}
@media(max-width:700px){.quote-photo-card-section{padding:9px!important}.quote-validation-success-toast{top:12px;width:max-content;max-width:calc(100vw - 24px)}.quote-validation-confirm-card>div{display:grid}.quote-validation-confirm-card button{width:100%}}
.workspace-user .field-layout-horizontal{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important}
@media(max-width:900px){.workspace-user .field-layout-horizontal{grid-template-columns:1fr!important}}
.quote-add-placement-button{border-color:#ed1164!important;background:linear-gradient(135deg,#ed1164,#c51651)!important;color:#fff!important;box-shadow:0 4px 12px rgba(237,17,100,.2)!important}.quote-add-placement-button:hover,.quote-add-placement-button:focus-visible{border-color:#b81049!important;background:#b81049!important;box-shadow:0 5px 15px rgba(237,17,100,.3)!important}.quote-add-placement-button:disabled{opacity:.55!important;box-shadow:none!important}
.quote-support-preview{display:grid;gap:5px;margin:7px 0 0;padding:7px;border:1px solid #dce5ee;border-radius:9px;background:#fff}.quote-support-preview img{display:block;width:100%;height:120px;object-fit:contain;background:#fff}.quote-support-preview figcaption{color:#526071;font-size:10px;font-weight:700;text-align:center}
.quote-material-preview-row{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-material-preview-row .quote-support-preview{align-self:stretch;margin:0;min-height:132px}.quote-material-preview-row .quote-material-illustration-preview{align-self:stretch;min-height:132px}.quote-material-preview-row .quote-material-illustration-preview img{height:120px}.quote-material-preview-row .quote-support-preview.is-empty{place-items:center;color:#64748b;font-size:9px;font-weight:750;text-align:center}
.quote-plan-stage[data-plan-file-drop],.quote-implantation-empty-stage[data-plan-file-drop]{cursor:pointer}.quote-plan-stage[data-plan-file-drop]:hover,.quote-implantation-empty-stage[data-plan-file-drop]:hover{border-color:#ed1164!important;background:#fff7fa!important}.quote-implantation-empty-stage[data-plan-file-drop] .quote-placement-placeholder::after{content:"Cliquez ici ou déposez le fichier";display:block;margin-top:8px;color:#ed1164;font-size:11px;font-weight:900}
.quote-plan-legend button{grid-template-rows:minmax(45px,1fr) auto;width:112px;height:86px;gap:4px;cursor:grab}.quote-plan-legend-label{display:block;max-width:100%;color:#ed1164;font-size:8px;font-weight:800;line-height:1.12;text-align:center}.quote-plan-marker>strong{display:none!important}
.quote-plan-export-legend{position:absolute;left:0;right:0;bottom:0;z-index:20;box-sizing:border-box;overflow:hidden;display:grid;grid-template-rows:auto 1fr;gap:6px;padding:10px 18px 12px;border-top:3px solid #ed1164;background:#fff;color:#172033}.quote-plan-export-legend>strong{color:#ed1164;font-size:10px;font-weight:900;letter-spacing:.1em}.quote-plan-export-legend>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:6px}.quote-plan-export-legend article{min-width:0;display:grid;grid-template-columns:22px 42px minmax(0,1fr);align-items:center;gap:4px;padding:4px 5px;border:1px solid #dce5ee;border-radius:7px;background:#f8fafc}.quote-plan-export-legend article>span{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ed1164;color:#fff;font-size:9px;font-weight:900}.quote-plan-export-legend article>.quote-plan-symbol{width:42px;height:28px;overflow:visible}.quote-plan-export-legend article>.quote-plan-symbol .quote-plan-symbol-art{transform:scale(.52);transform-origin:center}.quote-plan-export-legend article>em{overflow:hidden;color:#172033;font-size:7px;font-style:normal;font-weight:800;line-height:1.12;overflow-wrap:anywhere}
@media(max-width:760px){.quote-plan-legend button{width:96px;height:82px}.quote-support-preview img{height:100px}.quote-material-preview-row{grid-template-columns:1fr}.quote-material-preview-row .quote-support-preview,.quote-material-preview-row .quote-material-illustration-preview{min-height:110px}.quote-material-preview-row .quote-material-illustration-preview img{height:100px}}
