:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a2c4c;background:#f7f9fb;font-synthesis:none;--teal:#0084a2;--navy:#1a2c4c;--muted:#64728a;--line:#e0e7ee;--soft:#f2f7f9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,label,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,.dropzone:focus-visible{outline:3px solid #38aebe;outline-offset:3px}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.testbar{min-height:39px;display:flex;align-items:center;justify-content:space-between;padding:8px max(24px,calc((100% - 1216px)/2));gap:12px;background:#e9f2f4;font-size:11px;color:#31566b;letter-spacing:.02em}.testbar>span{display:flex;align-items:center;gap:9px}.testbar i{width:6px;height:6px;border-radius:50%;background:#0084a2}.testbar b{border:1px solid #c7dcdf;padding:1px 5px;border-radius:4px;font-weight:500}.testbar a{margin-left:15px;font-weight:650;text-underline-offset:4px}.header{max-width:1216px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:94px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none}.brand svg{width:32px;height:38px;stroke:var(--teal);fill:none;stroke-width:2.2;stroke-linejoin:round}.brand strong{font-size:28px;letter-spacing:-1.3px;font-weight:750}.brand strong span{font-weight:450}.header-right{text-align:right;font-size:13px;font-weight:600}.header-right>span{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:5px}.shell{max-width:1216px;margin:auto}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:45px 0 34px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:750;color:var(--teal);margin:0 0 13px}h1{font-size:43px;letter-spacing:-1.7px;line-height:1.12;margin:0 0 17px;font-weight:650}h1>span{color:var(--teal)}.intro{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.journey{display:flex;gap:25px;padding-bottom:7px;color:#8994a6;font-size:12px}.journey span{display:flex;gap:8px;align-items:center}.journey b{font-weight:600;font-size:10px;width:25px;height:25px;display:grid;place-items:center;background:#eaf0f3;border-radius:50%}.journey .active{color:var(--teal);font-weight:650}.journey .active b{background:#dceef1}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:24px;align-items:start}.left-stack,.right-stack{display:grid;gap:21px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.section-head h2{font-size:16px;font-weight:650;margin:0;display:flex;align-items:center;gap:10px;letter-spacing:-.25px}.section-head h2>span{font-size:10px;color:var(--teal);background:#ecf5f6;padding:6px;border-radius:5px}.section-head small{color:var(--muted);font-size:10px}.small-chip{font-size:10px;line-height:1.4;color:#60728a;background:#f2f5f8;border-radius:6px;padding:5px 8px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone{border:1.5px dashed #a9c8d2;border-radius:10px;min-height:207px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:#f7fbfc;cursor:pointer;padding:20px;text-align:center}.dropzone:hover,.dropzone.dragging{border-color:var(--teal);background:#edf7f8}.dropzone input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.dropzone svg{stroke:var(--teal);stroke-width:1.7;fill:none;width:40px;height:40px;margin-bottom:7px}.dropzone strong{font-size:15px;font-weight:600}.dropzone>span{font-size:12px;color:var(--muted)}.dropzone u{color:var(--teal);text-underline-offset:3px}.dropzone small{font-size:10px;color:var(--muted);margin-top:9px}.samples{display:flex;flex-wrap:wrap;align-items:center;gap:7px 13px;margin:16px 0 0;font-size:10px}.samples>span{color:var(--muted)}.text-btn{padding:4px 0;border:0;background:none;color:var(--teal);font-size:11px;font-weight:600;text-align:left}.local-note{margin:17px 0 0;color:#82909f;font-size:10px}.file-list{display:grid;gap:8px;margin-top:17px}.file-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:11px}.file-row.selected{background:#f4fafb;border-color:#91c9d3}.file-icon{background:#e8f1f4;border-radius:6px;padding:9px;font-size:10px;font-weight:700;color:var(--teal)}.file-name{background:none;border:0;padding:0;text-align:left;min-width:0;flex:1;color:var(--navy)}.file-name strong{display:block;font-size:12px;overflow-wrap:anywhere}.file-name small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.qty-label{font-size:9px;color:var(--muted);display:grid;gap:4px;text-align:center}.qty-label input{width:57px;height:30px;border:1px solid var(--line);border-radius:5px;padding:4px 5px;color:var(--navy);font-size:12px}.remove{border:0;background:none;color:#77869b;padding:3px;font-size:20px}.shared{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:-5px;margin-bottom:20px}.shared input{accent-color:var(--teal)}fieldset{padding:0;margin:0;border:0}.tech-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.tech-switch label{cursor:pointer;display:flex;border:1px solid var(--line);border-radius:8px;padding:14px 12px;gap:10px;align-items:flex-start}.tech-switch label:has(input:checked){border-color:var(--teal);background:#f1f9fa}.tech-switch input{margin:3px 0 0;accent-color:var(--teal)}.tech-switch strong{font-size:13px;display:block;margin-bottom:5px}.tech-switch small{font-size:10px;color:var(--muted);line-height:1.4;display:block}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field-grid label{font-size:11px;color:#465873;font-weight:500;display:grid;gap:8px}select{width:100%;height:41px;border:1px solid #dce4eb;border-radius:7px;padding:0 30px 0 11px;background:#fff;color:var(--navy);font-size:12px}select:disabled{background:#f4f6f8;color:var(--muted)}.advanced{margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.advanced summary{cursor:pointer;font-size:11px;font-weight:600}.advanced summary span{font-weight:400;color:var(--muted);float:right;font-size:10px}.advanced .field-grid{margin-top:18px}.advanced p{font-size:10px;color:var(--muted);line-height:1.6;margin:13px 0 0}.helper{margin-top:22px;background:#f5f8fa;padding:15px;border-radius:8px}.helper summary{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:12px;font-weight:600;list-style:none}.helper summary::-webkit-details-marker{display:none}.helper summary small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:5px;line-height:1.4}.helper-icon{font-weight:700;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #c0d1dc;color:var(--teal);flex:none}.plus{margin-left:auto;color:var(--teal);font-size:19px;font-weight:400}.helper[open] .plus{transform:rotate(45deg)}#questions{display:grid;gap:14px;margin:20px 0 16px}#questions label{display:grid;gap:7px;font-size:11px}.info-note{font-size:11px;line-height:1.7;padding:11px 13px;background:#edf6f7;border-radius:6px;color:#416779;margin-bottom:0}.delivery{display:grid;gap:9px}.delivery label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:13px;border:1px solid var(--line);border-radius:8px}.delivery input{accent-color:var(--teal)}.delivery strong{font-size:12px;font-weight:550;display:block}.delivery small{font-size:10px;color:var(--muted);margin-top:5px;display:block}.delivery b{margin-left:auto;font-size:12px;white-space:nowrap;font-weight:550}.preview-card{border-radius:14px;overflow:hidden;background:#142a40;color:#d8e8f1;position:relative}.preview-head,.preview-foot{display:flex;justify-content:space-between;gap:8px;padding:17px 20px;font-size:9px;letter-spacing:.08em;color:#96b2c4}.preview-foot{font-size:10px;letter-spacing:0;border-top:1px solid #294056}.viewer{height:255px;position:relative}.viewer>canvas{width:100%;height:100%;display:block}.viewer-empty{position:absolute}#viewer-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}#viewer-empty svg{width:74px;height:84px;fill:none;stroke:#5c859d;stroke-width:1.2}#viewer-empty p{color:#839eb2;font-size:11px;margin-top:20px}.price-card .section-head{margin-bottom:20px}.price{display:flex;flex-direction:column;gap:7px;margin-bottom:22px}.price strong{font-size:41px;font-weight:600;letter-spacing:-1.5px;line-height:1}.price>span{font-size:11px;color:var(--muted)}#breakdown{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:17px}.cost-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);padding:6px 0}.cost-line strong{font-weight:550;color:var(--navy)}.quote-note{font-size:11px;line-height:1.75;color:var(--muted);margin-bottom:18px}.primary,.secondary{border-radius:7px;font-size:12px;font-weight:600;padding:13px 16px}.primary{background:var(--teal);border:1px solid var(--teal);color:#fff;width:100%;display:flex;justify-content:space-between;align-items:center}.primary:hover:not(:disabled){background:#006f89}.primary>span{font-size:18px;line-height:1}.secondary{background:#fff;color:var(--navy);border:1px solid #d5e0e8}.secondary:hover:not(:disabled){background:var(--soft)}.full{width:100%;text-align:center;margin-top:9px}.payment-note{display:flex;align-items:center;justify-content:center;gap:6px;color:#8b96a5;font-size:9px;margin-top:19px}.payment-note svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.3}.reassurance{padding:0 10px}.reassurance b{font-size:11px;font-weight:550}.reassurance p{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 0}footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#7b899b;border-top:1px solid var(--line);padding:24px 0 30px;margin-top:42px}.toast{background:#eaf4f6;border:1px solid #c4dde3;padding:13px 18px;border-radius:8px;margin-bottom:18px;font-size:12px;line-height:1.5}.toast.error{background:#fff2ed;border-color:#f2cabb;color:#82432c}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:1px solid var(--line);border-radius:16px;padding:34px;max-width:540px;width:calc(100% - 30px);color:var(--navy);box-shadow:0 20px 80px #142a4022}dialog::backdrop{background:#10223488;backdrop-filter:blur(3px)}dialog h2{font-size:25px;letter-spacing:-.6px}dialog .dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:26px;color:var(--muted)}#summary-content{margin:23px 0}#summary-content p{font-size:12px;line-height:1.6}.summary-total{border-top:1px solid var(--line);padding-top:18px;font-size:24px!important;font-weight:600}.board{max-width:950px;margin:45px auto}.board h1{font-size:38px}.board-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:30px 0}.board-card h2{font-size:17px;margin:14px 0}.board-card p{font-size:13px;line-height:1.7;color:var(--muted)}.board-card .tag{font-size:10px;color:var(--teal);background:#eaf5f5;padding:5px 8px;border-radius:5px}.board-card .pending{color:#8d6a2d;background:#fbf4e6}.board .intro{max-width:680px}.board ul{font-size:13px;color:var(--muted);line-height:1.8;padding-left:20px}
@media(min-width:1450px){.shell,.header{max-width:1280px}.testbar{padding-left:max(24px,calc((100% - 1280px)/2));padding-right:max(24px,calc((100% - 1280px)/2));}.heading{margin-top:48px}.viewer{height:275px}}
@media(max-width:1280px){.shell,.header{margin-left:28px;margin-right:28px}.board{margin-left:28px;margin-right:28px}}@media(max-width:900px){.journey{gap:12px}.journey span{font-size:10px}.workspace{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:16px}.card{padding:19px}.tech-switch label{padding:12px 9px}.tech-switch small{font-size:9px}.section-head{gap:8px}.section-head h2{font-size:14px}.samples{display:grid;gap:4px}.testbar{font-size:9px}.testbar a{margin-left:4px}.preview-head{font-size:8px}.heading h1{font-size:37px}.small-chip{max-width:120px}}
@media(max-width:700px){.header,.shell{margin-left:17px;margin-right:17px}.testbar{padding:8px 16px;align-items:flex-start;line-height:1.5}.testbar>span:last-child{font-size:0;gap:0}.testbar a{font-size:10px}.header{height:76px}.brand strong{font-size:24px}.brand svg{width:27px}.header-right{font-size:10px}.header-right>span{font-size:9px}.heading{margin-top:29px;display:block;margin-bottom:23px}h1,.heading h1{font-size:36px}.intro{font-size:12px}.journey{margin-top:24px;gap:25px}.journey span{font-size:11px}.workspace{grid-template-columns:1fr}.right-stack{grid-row:auto}.card{padding:20px}.dropzone{min-height:190px}.samples{display:flex;flex-wrap:wrap;gap:6px 14px}.samples>span{width:100%}.section-head h2{font-size:15px}.tech-switch small{font-size:10px}.field-grid{gap:15px 11px}.viewer{height:260px}.price-card{padding:23px}.price strong{font-size:39px}.advanced summary span{display:none}.small-chip{max-width:145px}.shared{font-size:10px}footer{display:block;line-height:1.8}footer>span{display:block}.board-grid{grid-template-columns:1fr}.board{margin:30px 18px}.board h1{font-size:31px}.dropzone small{font-size:9px}.file-row{gap:8px}.file-icon{padding:8px}.file-name strong{font-size:11px}}

/* Rôles : outils atelier masqués pour les clients (affichés seulement avec la connexion atelier). */
html:not([data-role="atelier"]) [data-atelier]{display:none!important}
/* Vérification anti-robot (Turnstile) */
.human-check{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(17,32,55,.45);padding:16px}
.human-check-box{background:#fff;border-radius:12px;padding:24px;max-width:380px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.2);text-align:center}
.human-check-box h2{margin:0 0 8px;font-size:20px}.human-check-box p{font-size:13px;line-height:1.6;color:var(--muted,#5c6979);margin:0 0 16px}
.human-check-box>div{min-height:70px;display:flex;justify-content:center}.human-check-box .text-btn{margin-top:10px}
/* Intégration dans la page Odoo */
html.embedded body{background:transparent}html.embedded .testbar{display:none}
