:root{color-scheme:only light!important;--navy:#152f63;--navy2:#0f2652;--red:#aa1737;--ink:#1c2f50;--muted:#6b7890;--line:#e1e7f0;--bg:#f5f7fb;--white:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif}
*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-size:15px;line-height:1.45}input,textarea,button,select{font:inherit;color:inherit;color-scheme:only light}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}[hidden]{display:none!important}
.header{background:#fff;border-bottom:1px solid var(--line)}.header-wrap{max-width:1190px;min-height:82px;margin:auto;padding:10px 20px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px;color:var(--navy)}.brand .logo{height:59px;width:52px;object-fit:contain}.brand strong{font-size:20px;letter-spacing:-.5px}.brand-overline{font-size:10px;letter-spacing:1.6px;font-weight:900;color:#8a97ad}.header-pill{border-radius:90px;padding:8px 12px;background:#f4e7ec;color:#992849;font-size:11px;font-weight:800;letter-spacing:.6px}
.shell{max-width:1190px;margin:auto;padding:32px 20px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px}.intro h1{margin:5px 0;font-size:clamp(28px,4vw,40px);line-height:1.1;color:var(--navy2);letter-spacing:-1.5px}.intro h1 span{color:var(--red)}.intro p:not(.overline){color:var(--muted);max-width:760px;margin:8px 0 0;font-size:14px}.overline,.eyebrow{color:var(--red);font-weight:900;letter-spacing:1.5px;font-size:11px;margin:0}.demo-pill{background:#fff9e5;border:1px solid #f3e2a5;color:#8a6720;padding:9px 14px;border-radius:22px;font-size:12px;font-weight:700;white-space:nowrap}
.layout{display:grid;grid-template-columns:246px minmax(0,1fr);gap:24px;align-items:start}.steps-sidebar{padding-top:11px}.side-title{color:#8f9bad;font-weight:800;font-size:11px;letter-spacing:1.2px;margin:0 0 18px 12px}.side-step{display:flex;align-items:center;gap:11px;border-radius:12px;padding:12px 10px;margin-bottom:4px;color:#7c89a0}.side-step.active{background:#fff;box-shadow:0 2px 12px #152f6310;color:var(--navy)}.side-step.done{color:#217b61}.side-step strong{font-size:13px;display:block}.side-step small{display:block;color:#8290a3;font-size:11px;margin-top:2px}.step-num{height:34px;min-width:34px;border-radius:50%;background:#fff;border:1px solid #dbe1eb;display:grid;place-items:center;font-size:13px;font-weight:750}.side-step.active .step-num{background:var(--navy);color:#fff;border-color:var(--navy)}.side-step.done .step-num{background:#d9f2e8;color:#187458;border-color:#bce9db}.side-info{margin-top:24px;border-radius:12px;padding:15px;background:#e8eff9;font-size:12px;color:#506888}.side-info strong{display:block;margin-bottom:4px}.side-info p{margin:0}.side-info-icon{font-size:19px;color:var(--navy);display:block;margin-bottom:5px}
.form-card{min-width:0;background:#fff;border:1px solid #e6e9f0;border-radius:17px;box-shadow:0 8px 25px #102c4910;overflow:hidden}.progress-track{height:4px;background:#e8ecf3}.progress-bar{width:33.3333%;height:100%;transition:width .2s;background:linear-gradient(90deg,#152f63,#af1e41)}.form-step{padding:30px 36px 18px}.form-step h2{font-size:26px;letter-spacing:-.7px;color:var(--navy2);margin:5px 0}.subheading{color:var(--muted);font-size:13px;margin:0 0 26px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field>span{font-weight:700;font-size:13px;color:#283c5b}.field em,.certification em{font-style:normal;color:var(--red)}.field input,.field select,.field textarea,.number-input,.item-text{background:#fff;outline:0;border:1px solid #d7deea;border-radius:9px;padding:10px 12px;min-width:0;width:100%}.field input:focus,.field select:focus,.field textarea:focus,.number-input:focus,.item-text:focus{border-color:#7494cb;box-shadow:0 0 0 3px #e9f0ff}.field small{font-size:11px;color:#8893a3}.invalid{border-color:#c93c58!important;box-shadow:0 0 0 2px #ffe7ec!important}.info-box,.warning-box{padding:15px 17px;border-radius:12px;background:#eaf0f9;font-size:12px;color:#506581;margin-bottom:20px}.info-box strong,.warning-box strong{display:block;color:var(--navy)}.info-box p,.warning-box p{margin:5px 0 0}.info-box.understated{margin-top:18px;background:#f5f7fa}.warning-box{background:#fff6e5;border:1px solid #f0dfb0;color:#775f38}.warning-box strong{color:#79521e}
.form-footer{border-top:1px solid var(--line);min-height:77px;padding:17px 36px;display:flex;align-items:center;gap:13px;justify-content:flex-end}#stepLabel{margin-right:auto;color:#8692a5;font-size:12px}.btn-primary{background:var(--navy);color:white;border:1px solid var(--navy);border-radius:9px;font-weight:750;font-size:13px;min-height:43px;padding:10px 20px}.btn-primary:hover:not(:disabled){background:#1b3c78}.btn-back,.btn-outline{border:1px solid #cfd8e7;border-radius:9px;background:#fff;min-height:43px;font-size:13px;font-weight:700;padding:10px 18px;color:var(--navy)}.btn-back{border:0;background:transparent}.btn-outline:hover{background:#f6f8fc}.add-room{width:100%;border-style:dashed;border-width:2px;min-height:50px}.alert{background:#fff0f2;border:1px solid #ecc7cd;color:#9b223d;margin:0 36px 22px;border-radius:10px;padding:11px 13px;font-size:13px}.site-footer{text-align:center;font-size:11px;color:#8995a6;margin-top:28px}
.summary-strip{display:flex;gap:16px;margin-bottom:18px}.summary-strip>div{background:#f3f6fb;border:1px solid #e7ebf4;padding:13px 17px;border-radius:12px;flex:1}.summary-strip span,.total-summary span{display:block;font-size:10px;color:#7f8da3;font-weight:850;letter-spacing:.7px}.summary-strip strong{display:block;color:var(--navy);font-size:20px;margin-top:3px}.room-cards,.detail-cards{display:flex;flex-direction:column;gap:15px}.room-card,.detail-card{border:1px solid #dfe5ef;border-radius:13px;overflow:hidden;background:#fff}.room-top,.detail-top{background:#f8fafd;padding:13px 16px;display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid #e6eaf1}.room-top strong,.detail-top strong{color:var(--navy);font-size:14px}.muted-small{font-size:11px;color:var(--muted)}.room-body{padding:17px;display:grid;grid-template-columns:1.25fr .9fr;gap:15px}.room-actions button,.detail-actions button{border:0;color:#9b2c4c;background:none;font-weight:700;font-size:12px;padding:5px}.room-actions button:hover{text-decoration:underline}.detail-top>span{font-size:13px;font-weight:800;color:#9b1b3a}.detail-body{padding:15px 17px}.detail-instructions{font-size:12px;color:var(--muted);margin:0 0 12px}.candidate{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f5}.candidate:last-child{border-bottom:0}.candidate-name{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px}.candidate-name input{width:17px;height:17px;accent-color:var(--navy);flex:none}.candidate .number-input{height:36px;text-align:right;padding:7px 9px;font-size:13px}.candidate .number-input:disabled{background:#f0f2f7;opacity:.5}.candidate .item-text{padding:7px 8px;font-size:13px}.candidate small{color:var(--muted)}.price-line{margin-top:13px;padding-top:12px;border-top:1px solid #e5e9f0;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}.price-line strong{font-size:13px;color:var(--navy)}.price-line .bad{color:#b22545}.detail-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:12px}.detail-actions button{color:var(--navy);border:1px solid #dbe2ed;padding:8px 11px;border-radius:8px}.detail-actions button:hover{background:#f6f8fc}.detail-actions .clear-btn{color:#9b2c4c}.total-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;border-radius:13px;margin:20px 0;background:#eef3fb;padding:18px}.total-summary strong{font-size:23px;color:var(--navy)}.total-summary p{font-size:12px;margin:0;color:#6b7890;max-width:260px;text-align:right}.total-summary p.good{color:#267351}.total-summary p.bad{color:#b22545}.comment-field{margin:0 0 18px}.certification{display:flex;gap:12px;align-items:flex-start;padding:15px;border-radius:11px;border:1px solid #dce4ef;background:#fbfcfe;font-size:12px;color:#344a6b}.certification input{width:18px;height:18px;accent-color:var(--navy);margin:2px 0;flex:none}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px}.action-notice{font-size:11px;color:#78869a;text-align:center;margin:12px auto 4px}.btn-outline.dark{color:var(--navy)}
#printRoot{display:none}@media(max-width:800px){.layout{grid-template-columns:1fr}.steps-sidebar{display:flex;gap:8px;align-items:stretch;padding:0}.side-title,.side-info{display:none}.side-step{flex:1;justify-content:center;padding:10px 6px;margin:0;border:1px solid #e0e5ef;background:#fff}.side-step .step-num{height:28px;min-width:28px;font-size:11px}.side-step strong{font-size:11px}.side-step small{display:none}.intro{align-items:flex-start;flex-direction:column}.demo-pill{font-size:10px}.shell{padding:23px 14px}.form-step{padding:26px 18px 15px}.form-footer{padding:14px 18px}.alert{margin:0 18px 15px}}
@media(max-width:550px){.brand strong{font-size:17px}.brand .logo{height:49px;width:43px}.header-pill{font-size:9px;padding:7px 9px}.intro h1{font-size:30px}.fields,.room-body{grid-template-columns:1fr}.summary-strip strong{font-size:17px}.candidate{grid-template-columns:minmax(0,1fr) 97px}.candidate-name{font-size:12px}.candidate .number-input{font-size:12px}.total-summary{align-items:start;flex-direction:column}.total-summary p{text-align:left}.action-grid{grid-template-columns:1fr}}
@page{size:A4;margin:13mm 14mm}
@media print{
  :root{color-scheme:only light!important}html,body{background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#223650!important;font-size:10pt!important}
  .header,#screenRoot{display:none!important}#printRoot{display:block!important;font-family:Arial,sans-serif;color:#263954;max-width:none}
  .print-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:11px;border-bottom:3px solid #b01e41;gap:24px}.print-header img{width:63px;height:69px;object-fit:contain}.print-header>div{text-align:right}.print-header h1{color:#152f63;font-size:21pt;margin:0;letter-spacing:.3px}.print-header p{font-weight:700;margin:1px 0;font-size:10pt}.print-header small{font-size:8pt;color:#718197}
  .print-info{display:grid;grid-template-columns:2fr 1.4fr .8fr;border:1px solid #dde4ee;border-radius:7px;padding:13px 14px;margin:17px 0;gap:15px}.print-info small{display:block;font-size:8pt;font-weight:800;letter-spacing:.6px;color:#8190a3;margin-bottom:5px}.print-info strong{font-size:10pt;overflow-wrap:anywhere}.print-list h2,.print-observations h2{color:#152f63;font-size:10pt;letter-spacing:.8px;border-bottom:1px solid #dfe5ef;margin:0 0 8px;padding-bottom:6px}.print-room{border:1px solid #dfe5ef;border-radius:6px;margin-bottom:10px;break-inside:avoid;page-break-inside:avoid;overflow:hidden}.print-room-title{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;background:#f2f5fa;color:#152f63}.print-room-title h3{margin:0;font-size:10pt}.print-room-title strong{font-size:10pt}.print-room table{border-collapse:collapse;width:100%;font-size:9.2pt}.print-room td{padding:5px 11px;border-top:1px solid #e7ebf3;vertical-align:top}.print-room td:last-child{text-align:right;white-space:nowrap;font-weight:650}.print-room table tr{break-inside:avoid}
  .print-total{display:flex;justify-content:space-between;align-items:center;border-radius:6px;background:#152f63;color:#fff;padding:12px 14px;margin:14px 0 12px;break-inside:avoid}.print-total span{font-size:10pt;font-weight:bold}.print-total strong{font-size:16pt}.print-observations{margin:13px 0;break-inside:avoid}.print-observations p{font-size:9pt;white-space:pre-wrap;overflow-wrap:anywhere}.print-attestation{background:#f6f8fb;border:1px solid #e2e7ef;border-radius:7px;padding:12px 14px;font-size:8.5pt;break-inside:avoid}.print-attestation strong{color:#152f63}.print-attestation p{margin:5px 0}.print-attestation .print-name{font-weight:bold}.print-footer{font-size:7.6pt;color:#68788f;margin-top:9px;break-inside:avoid}
}
.money-wrap{position:relative}.money-wrap input{padding-right:26px;text-align:right}.money-wrap>span{position:absolute;right:10px;top:10px;color:#708097;font-weight:700;font-size:13px}

@media print{#printRoot.compact .print-header{padding-bottom:7px}#printRoot.compact .print-header img{width:51px;height:55px}#printRoot.compact .print-header h1{font-size:19pt}#printRoot.compact .print-info{margin:10px 0;padding:9px 11px}#printRoot.compact .print-room{margin-bottom:5px}#printRoot.compact .print-room-title{padding:6px 9px}#printRoot.compact .print-room td{padding:3px 9px}#printRoot.compact .print-total{padding:8px 11px;margin:8px 0}#printRoot.compact .print-attestation{padding:9px 11px;font-size:8pt}#printRoot.compact .print-footer{margin-top:5px}}

/* V1.1 - suggestions d’adresses et édition des meubles personnalisés */
.address-field{position:relative}.address-field>label{font-weight:700;font-size:13px;color:#283c5b}
.address-suggestions{position:relative;z-index:20;background:#fff;border:1px solid #d3deec;border-radius:9px;margin-top:3px;max-height:225px;overflow:auto;box-shadow:0 10px 20px #172e5520}
.address-suggestions button{width:100%;text-align:left;display:block;border:0;border-bottom:1px solid #edf0f5;background:#fff;color:#203b65;padding:10px 12px;font-size:12px}
.address-suggestions button:hover,.address-suggestions button:focus{background:#edf3fb}
.candidate-name input[type=checkbox]{width:17px;height:17px;accent-color:var(--navy);flex:none;margin:0}
.candidate-name input.item-text{width:100%;min-width:0;height:36px;flex:1;display:block;border:1px solid #cdd8e8;border-radius:7px;background:#fff;color:var(--ink);appearance:none;box-shadow:none;cursor:text}
.candidate-name input.item-text:focus{border-color:#7494cb;box-shadow:0 0 0 3px #e9f0ff}
.candidate-name .candidate-check{display:flex;align-items:center;flex:none;cursor:pointer}
@media print{.address-suggestions{display:none!important}}

/* Supprime les metadonnees automatiques ajoutees par le navigateur dans les marges PDF. */
@page { size:A4; margin:0; }
@media print {
  html, body { margin:0!important; padding:0!important; }
  #printRoot { padding:13mm 14mm!important; box-sizing:border-box!important; }
}

/* Document’ERA V1.0 : retour universel et mode clair, masqué à l’impression */
:root{color-scheme:light!important}html,body{color-scheme:light!important}.documentera-return{position:fixed;bottom:18px;left:18px;z-index:50;font-family:system-ui,sans-serif}.documentera-return a{display:inline-block;padding:9px 15px;background:#fff;border:1px solid #cdd7e6;color:#173963;box-shadow:0 4px 16px #172e5420;text-decoration:none;border-radius:100px;font-size:13px;font-weight:700}.documentera-return a:focus-visible{outline:3px solid #b2133d}@media print{.documentera-return{display:none!important}}

/* Document’ERA V1.0.5 — Safari iOS : empêcher le zoom AUTOMATIQUE des champs.
   Un champ éditable de moins de 16px déclenche un agrandissement au focus.
   Le zoom volontaire du client reste pleinement accessible. */
@media screen and (max-width: 900px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),
  textarea, select, [contenteditable="true"], .item-text, .number-input {
    font-size: 16px !important;
  }
}
