/* Ajouts propres à la démo, avec les seuls tokens de app.css (charte Zano). */

.entete-droite{margin-left:auto;display:flex;align-items:center;gap:10px}
.bouton.petit{padding:9px 14px;font-size:13.5px}
.zano-pill{display:inline-flex;align-items:center;gap:8px;font:500 12.5px/1 Onest,sans-serif;color:var(--text2);border:1px solid var(--border);padding:9px 12px;border-radius:999px;white-space:nowrap}
.zano-pill i{width:7px;height:7px;border-radius:50%;background:var(--bone);opacity:.7}
.zano-pill.actif{color:var(--floral);border-color:rgba(138,59,34,.6);background:var(--brandy-doux)}
.zano-pill.actif i{background:var(--orange);opacity:1;animation:pouls 1.1s infinite}

.etapes.cinq{grid-template-columns:repeat(5,1fr)}
.titre-aide{font:400 13.5px/1.4 Onest,sans-serif;color:var(--text3);margin-left:10px}

/* chiffrage */
.coef-ligne{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.coef-ligne label{font-size:12.5px;color:var(--text3)}
.coef-ligne input{width:84px;padding:8px 10px;font-size:14px}
.coef-ligne select{width:auto;padding:8px 10px;font-size:14px}
.montant.flash-texte{animation:flash-texte 2.4s ease-out}
@keyframes flash-texte{from{color:var(--orange)}to{color:var(--floral)}}

/* devis */
table.devis{font-size:13.5px}
table.devis td{padding:8px 8px;vertical-align:middle}
table.devis th{padding:10px 8px}
table.devis tr.chap td{font:600 12px/1 Onest,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--bone);background:rgba(255,255,255,.03);padding:11px 8px}
table.devis td.code{color:var(--text3);white-space:nowrap;font-variant-numeric:tabular-nums}
table.devis td.desig small{display:block;margin-top:2px}
table.devis tr.estimation td.desig{color:var(--orange)}
table.devis tr.total td{font:700 16px/1.2 'Shippori Mincho',serif;color:var(--floral);border-bottom:none;padding-top:16px}
input.cellule{width:92px;padding:6px 8px;font-size:13.5px;text-align:right;border-radius:8px;background:rgba(0,0,0,.18)}
input.cellule.vide{border-color:rgba(138,59,34,.8);background:var(--brandy-doux)}
.src{display:inline-block;font:600 10.5px/1 Onest,sans-serif;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:5px 7px;white-space:nowrap}
.src.base{background:var(--surface2);color:var(--text2)}
.src.estimation{background:rgba(253,96,56,.13);color:var(--orange)}
.src.manquant{background:var(--brandy);color:var(--floral)}
.src.saisi{background:var(--mocha);color:var(--bone)}
.src.confirmer{background:transparent;border:1px solid rgba(224,217,204,.28);color:var(--bone)}
table.devis td:last-child{white-space:nowrap}
@keyframes flash{from{background:rgba(253,96,56,.20)}to{background:transparent}}
tr.flash td{animation:flash 2.6s ease-out}
.ligne-reponse.flash,.journal li.flash{animation:flash 2.6s ease-out}

/* statuts */
.statut.s-chiffrage{color:var(--floral);border-color:rgba(138,59,34,.6)}
.statut.s-chiffrage::before{background:var(--brandy)}
/* « Chiffrage en cours » est une étape, pas un travail en direct : pas de pulsation (seul le témoin « Zano travaille… » pulse, pendant une vraie action). */
.etapes li.courant::before{animation:none}
.statut.s-verifier{color:var(--bone);border-color:rgba(224,217,204,.3)}
.statut.s-verifier::before{background:var(--orange)}
.statut.s-prete,.statut.s-envoyee{color:var(--floral);background:var(--brandy-doux);border-color:rgba(138,59,34,.6)}
.statut.s-prete::before,.statut.s-envoyee::before{background:var(--bone)}

/* listes */
.ligne-reponse.trois{grid-template-columns:1fr auto auto}
.ligne-reponse .meta .estime{color:var(--orange)}
.journal.activite{max-height:none}
.journal.activite li{display:flex;gap:12px}
.journal.activite time{color:var(--text3);flex:none;min-width:92px;font-variant-numeric:tabular-nums}
.journal.activite b{color:var(--floral);font-weight:600}
.journal.activite .via{color:var(--text3);font-size:12px}
.journal.activite li.zano::before{background:var(--orange);height:6px;width:6px;border-radius:50%;top:12px}

/* prix */
.recherche select{width:230px}
.ajout-prix{display:grid;grid-template-columns:2.4fr .6fr 1.1fr .9fr auto;gap:10px;align-items:center}
.ajout-prix .bouton{padding:12px 18px}
.tag.ancien{background:transparent;border:1px solid rgba(224,217,204,.22);color:var(--text2)}

/* anciens */
.ligne-reponse select{width:auto;padding:8px 10px;font-size:13.5px;position:relative;z-index:1}

/* entreprise */
#form-entreprise > .bouton{grid-column:1 / -1}
.danger{margin-top:28px}

/* discussion */
.fil .msg.note{font-size:12px}
.fil .msg.zano .bulle a{color:var(--bone)}
.fil:empty::before{content:'Zano n’a encore rien écrit sur ce dossier.';color:var(--text3);font-size:13.5px;margin:auto}

/* démo guidée */
.demo{position:fixed;right:20px;bottom:20px;width:min(390px,calc(100% - 32px));height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;background:#141414;border:1px solid rgba(224,217,204,.18);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.6);z-index:25;overflow:hidden}
.demo-tete{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
.demo-fermer{margin-left:auto;background:none;border:none;color:var(--text3);font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}
.demo-fermer:hover{color:var(--floral);background:var(--surface2)}
.demo .fil{flex:1}
.demo .appels{margin-top:6px;font:500 11.5px/1.5 Consolas,monospace;color:var(--text3);white-space:pre-wrap}
.demo-pied{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}
.demo-pied .bouton{padding:11px 18px}
.demo-auto{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text2);cursor:pointer}
.demo-auto input{width:16px;height:16px;accent-color:var(--brandy)}
.demo-compteur{margin-left:auto;font-size:12px;color:var(--text3)}
body.avec-demo main{margin-left:max(0px, calc((100vw - 1610px) / 2));margin-right:410px;width:auto}

@media (max-width:900px){
  .entete-droite{margin-left:0}
  .zano-pill{display:none}
  .ajout-prix{grid-template-columns:1fr 1fr}
  body.avec-demo main{margin:0 auto}
  .demo{height:min(520px,calc(100vh - 90px))}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}
