/* Styles communs au générateur de facture et au générateur de devis. */

.logo-zone{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.logo-zone input[type=file]{font-size:.85rem;flex:1;min-width:200px}
#logo-apercu{display:flex;align-items:center;gap:10px}
#logo-apercu img{max-height:46px;max-width:130px;border:1px solid var(--bord);border-radius:7px;
  padding:4px;background:#fff}
#logo-apercu button{padding:7px 12px;font-size:.8rem}

.bascule{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:600;margin:0;
  padding:12px 14px;border:1px solid var(--bord);border-radius:10px;cursor:pointer;background:#fff;
  flex-wrap:wrap}
.bascule + .bascule{margin-top:9px}
.bascule input{width:auto;accent-color:var(--vert);margin-top:2px}
.bascule small{display:block;font-weight:400;color:var(--gris);font-size:.79rem;width:100%;
  padding-left:26px;margin-top:-2px}

/* ------------------------------------------------------------- lignes */

.lignes-entete,.ligne{display:grid;grid-template-columns:1fr 62px 108px 82px 96px 34px;gap:8px;
  align-items:center}
body.sans-tva .lignes-entete,body.sans-tva .ligne{grid-template-columns:1fr 62px 108px 96px 34px}
body.sans-tva .col-tva{display:none}
.lignes-entete{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);
  font-weight:700;margin-bottom:8px;padding:0 2px}
.lignes-entete span:not(:first-child){text-align:right}
.ligne{margin-bottom:8px}
.ligne input,.ligne select{padding:10px 11px;font-size:.9rem}
.ligne input[inputmode=decimal]{text-align:right;font-variant-numeric:tabular-nums}
.total-ligne{text-align:right;font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums;
  padding-right:2px}
.retirer{background:transparent;color:var(--gris);border:1px solid var(--bord);border-radius:9px;
  width:34px;height:38px;padding:0;font-size:1.25rem;line-height:1;font-weight:400}
.retirer:hover:not(:disabled){background:var(--rouge-pale);color:var(--rouge);border-color:#f3c6c7}

@media(max-width:700px){
  .lignes-entete{display:none}
  .ligne,body.sans-tva .ligne{grid-template-columns:1fr 1fr;gap:7px;border:1px solid var(--bord);
    border-radius:11px;padding:11px;background:#fff;margin-bottom:11px}
  .ligne input:first-child{grid-column:1 / -1}
  .total-ligne{grid-column:1;text-align:left;align-self:center}
  .retirer{grid-column:2;justify-self:end}
}

.totaux{margin-top:18px;padding-top:14px;border-top:1px solid var(--bord)}
.ligne-total{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:.95rem}
.ligne-total b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ligne-total.petit{font-size:.85rem;color:var(--gris)}
.ligne-total.gros{font-size:1.15rem;font-weight:700;margin-top:8px;padding-top:12px;
  border-top:1px solid var(--bord)}
.ligne-total.gros b{color:#08794f}
.mention-franchise{font-size:.82rem;color:var(--gris);margin-top:8px;font-style:italic}

/* ------------------------------------------------------------- aperçu */

.doc{background:#fff;border:1px solid var(--bord);border-radius:10px;padding:26px 24px;
  font-size:.84rem;line-height:1.55;color:#1f2933}
.doc .vide{color:#b6bcc4;font-style:italic}
.doc-haut{display:flex;justify-content:space-between;gap:24px;margin-bottom:22px;flex-wrap:wrap}
.doc-emetteur img{max-height:46px;max-width:150px;display:block;margin-bottom:10px}
.doc-titre{text-align:right;flex-shrink:0}
.doc-titre h3{font-size:1.5rem;letter-spacing:-.02em;margin-bottom:4px}
.doc-titre div{color:var(--gris);font-size:.8rem}
.doc-titre div:first-of-type{color:var(--texte);font-weight:700;font-size:.92rem;margin-bottom:3px}
.doc-client{background:var(--fond);border-radius:8px;padding:11px 14px;margin-bottom:12px;
  max-width:320px;margin-left:auto}
.doc-etiq{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gris);
  font-weight:700;margin-bottom:4px}
.doc-objet{margin:14px 0 4px}
.doc-table{width:100%;border-collapse:collapse;margin:16px 0 0;font-size:.82rem}
.doc-table th{background:#1f2933;color:#fff;text-align:right;padding:7px 9px;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.doc-table th:first-child,.doc-table td:first-child{text-align:left}
.doc-table td{padding:8px 9px;border-bottom:1px solid var(--bord);text-align:right;
  font-variant-numeric:tabular-nums;vertical-align:top}
.doc-totaux{margin:16px 0 0;margin-left:auto;max-width:270px}
.doc-totaux div{display:flex;justify-content:space-between;gap:14px;padding:4px 0}
.doc-totaux b{font-variant-numeric:tabular-nums}
.doc-totaux .gros{background:var(--vert);color:#fff;border-radius:6px;padding:8px 11px;margin-top:7px;
  font-weight:700}
.doc-bas{margin-top:22px;font-size:.8rem;color:#4b5563}
.doc-bas b{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gris);margin-bottom:4px}
.doc-note{margin-top:14px;font-size:.8rem;color:#4b5563}
.doc-signature{margin-top:20px;border:1px solid var(--bord);border-radius:8px;padding:12px 14px;
  max-width:300px;margin-left:auto}
.doc-signature b{display:block;margin-bottom:4px}
.doc-signature span{color:var(--gris);font-size:.76rem}
.doc-mentions{margin-top:22px;padding-top:11px;border-top:1px solid var(--bord);
  font-size:.7rem;color:var(--gris);line-height:1.6}

@media(max-width:600px){
  .doc{padding:16px 14px;font-size:.8rem}
  .doc-client{margin-left:0;max-width:none}
  .doc-table{font-size:.74rem}
  .doc-table th,.doc-table td{padding:6px 5px}
}
