:root{--fond:#050505;--carte:#0e0b07;--carte-relief:#17120a;--bordure:#3a2d12;--texte:#f4efe4;--discret:#b5aa92;--or:#f5b800;--jaune:#ffd400;--sur-jaune:#0a0800;--succes:#5fd38d;--alerte:#f59e0b;--danger:#f2685a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fond);color:var(--texte);line-height:1.5}a{color:var(--jaune);text-decoration:none}a:hover{text-decoration:underline}h1,h2{color:var(--or);font-weight:700;letter-spacing:-.01em}h1{font-size:30px;margin:0 0 16px}h2{font-size:20px;margin:0 0 12px}h3{font-size:15px;color:var(--texte);margin:16px 0 8px}main{max-width:1100px;margin:0 auto;padding:24px 16px 48px}.entete{justify-content:space-between;padding:12px 16px;background:var(--fond);border-bottom:2px solid var(--bordure);position:-webkit-sticky;position:sticky;top:0;z-index:10}.entete,.entete nav{gap:12px}.entete,.entete nav,.logo{display:flex;align-items:center}.logo{gap:10px;font-weight:700;color:var(--or);font-size:18px}.logo img{width:36px;height:36px;border-radius:50%}.bouton,button{display:inline-flex;align-items:center;gap:6px;background:var(--jaune);color:var(--sur-jaune);border:1px solid var(--jaune);border-radius:12px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.bouton:hover,button:hover{filter:brightness(1.08);text-decoration:none}.bouton.secondaire,button.secondaire{background:transparent;color:var(--texte);border-color:var(--bordure)}button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.45;cursor:default;filter:none}.carte{background:var(--carte);border:1px solid var(--bordure);border-radius:18px;padding:20px;margin-bottom:16px}.surtitre{text-transform:uppercase;letter-spacing:.12em;color:var(--or);font-size:13px;margin:0 0 4px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--bordure)}th{color:var(--discret);font-weight:500;font-size:14px}td.montant,th.montant{text-align:right;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.badge{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid var(--bordure);color:var(--texte);background:var(--carte-relief);vertical-align:middle}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--discret)}.badge.ACCEPTE:before,.badge.DEVIS_ACCEPTE:before,.badge.ENVOYEE:before,.badge.PRET:before{background:var(--succes)}.badge.DEVIS_ENVOYE:before,.badge.ENVOYE:before,.badge.EN_ATTENTE_PIECE:before,.badge.SIMULEE:before{background:var(--alerte)}.badge.ANNULE:before,.badge.ECHEC:before,.badge.REFUSE:before{background:var(--danger)}.badge.DIAGNOSTIC:before,.badge.EN_REPARATION:before{background:var(--jaune)}.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--discret)}label.case{flex-direction:row;align-items:center;gap:8px;color:var(--texte)}input,select,textarea{font:inherit;padding:9px 12px;border-radius:10px;border:1px solid var(--bordure);background:var(--fond);color:var(--texte)}input:focus,select:focus,textarea:focus{outline:2px solid var(--or);outline-offset:1px}input[type=checkbox]{accent-color:var(--jaune);width:18px;height:18px}.erreur{color:var(--danger)}.succes{color:var(--succes)}.discret{color:var(--discret);font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.etapes{list-style:none;padding:0;margin:0}.etapes li{padding:6px 0 6px 14px;border-left:2px solid var(--or);margin-left:4px}.totaux{margin-left:auto;max-width:320px}.totaux div{display:flex;justify-content:space-between;padding:4px 0}.totaux .ttc{font-size:20px;font-weight:700;color:var(--or);border-top:1px solid var(--bordure);margin-top:4px;padding-top:8px}.ligne-devis{display:grid;grid-template-columns:1fr 80px 120px 100px auto;grid-gap:8px;gap:8px;align-items:end;margin-bottom:8px}@media (max-width:640px){.masquer-mobile{display:none}.ligne-devis{grid-template-columns:1fr 1fr}h1{font-size:24px}}.bloc-nature{border:1px solid var(--bordure);border-radius:14px;padding:12px 16px 16px;margin:0 0 12px}.bloc-nature legend{color:var(--or);font-weight:600;padding:0 6px}tr.groupe td{color:var(--or);font-weight:600;padding-top:16px;border-bottom-color:var(--bordure)}tr.sous-total td{color:var(--discret);font-size:14px}.badge.RESERVEE:before,.badge.UTILISEE:before{background:var(--succes)}.badge.ALERTE:before,.badge.A_COMMANDER:before{background:var(--alerte)}.badge.LIBEREE:before{background:var(--discret)}.formulaire-piece{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;align-items:end}.saisie-rapide{display:flex;gap:6px;align-items:center}.saisie-rapide input{width:80px}.tableau-defilant{overflow-x:auto}@media (max-width:640px){.tableau-stock thead{display:none}.tableau-stock tr{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px 8px;gap:4px 8px;padding:12px 0;border-bottom:1px solid var(--bordure)}.tableau-stock tbody tr:last-child{border-bottom:0}.tableau-stock td{border:0;padding:0}.tableau-stock td.cellule-actions,.tableau-stock td.pleine-largeur,.tableau-stock td:first-child{grid-column:1/-1}.tableau-stock td.montant{text-align:left}.tableau-stock td[data-libelle]:before{content:attr(data-libelle);display:block;color:var(--discret);font-size:12px}.tableau-stock td.cellule-actions .actions{justify-content:flex-start!important;margin-top:6px}.tableau-stock .ligne-a-encaisser td:first-child{box-shadow:none}}.badge.EN_STOCK:before{background:var(--succes)}.badge.VENDU:before{background:var(--jaune)}.badge.RECYCLE:before{background:var(--discret)}.alerte-encadre{border:1px solid var(--alerte);border-radius:12px;padding:10px 14px;margin:8px 0}.attestation{line-height:1.6}.attestation dl{display:grid;grid-template-columns:200px 1fr;grid-gap:4px 12px;gap:4px 12px;margin:0 0 12px}.attestation dt{color:var(--discret)}.attestation dd{margin:0}.signatures{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:24px}.signatures div{border-top:1px solid var(--bordure);padding-top:6px;min-height:90px}.imprimer-seulement{display:none}@media print{body{background:#fff;color:#000}.entete,.ne-pas-imprimer{display:none!important}.imprimer-seulement{display:block}main{padding:0;max-width:none}.carte{border:none;background:none;padding:0}.attestation dt,h1,h2{color:#000}.signatures div{border-top-color:#000}}@media (max-width:640px){.attestation dl{grid-template-columns:1fr}.attestation dt{margin-top:6px}}.onglets{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--bordure)}.onglets a{padding:8px 14px;color:var(--discret);border-bottom:2px solid transparent;margin-bottom:-1px}.onglets a.actif{color:var(--or);border-bottom-color:var(--or)}.onglets a:hover{text-decoration:none;color:var(--texte)}.badge.A_RECONDITIONNER:before{background:var(--alerte)}.badge.EN_VENTE:before{background:var(--succes)}.badge.RETIRE:before{background:var(--discret)}.marge-positive{color:var(--succes)}.marge-negative{color:var(--danger)}.badge.BROUILLON:before{background:var(--discret)}.badge.RECUE:before{background:var(--succes)}.badge.RECUE_PARTIELLEMENT:before{background:var(--alerte)}.badge.ANNULEE:before{background:var(--danger)}.badge.ENCAISSE:before{background:var(--succes)}.badge.A_ENCAISSER:before{background:var(--alerte)}.ligne-a-encaisser td:first-child{box-shadow:inset 3px 0 0 var(--alerte)}.filtres-periode{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filtres-periode label{min-width:150px}.chiffres-caisse{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.chiffres-caisse div{border:1px solid var(--bordure);border-radius:10px;padding:10px 12px;background:var(--carte-relief)}.chiffres-caisse strong{display:block;font-size:20px;color:var(--jaune)}