.fdoc{border:1px solid var(--border);border-radius:15px;padding:24px 26px;background:var(--surface)}
.fd-barre{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border)}
.fd-marque{font:800 19.8px Sora,Inter,sans-serif;color:var(--azur-fonce);letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.fd-marque img{height:42px;width:auto}
.fd-coord{color:var(--faint);font-size:12.1px;margin-top:4px;line-height:1.6}
.fd-num{text-align:right}
.fd-num .h{font:800 15.4px Sora,Inter,sans-serif;letter-spacing:-.01em}
.fd-num .n{color:var(--azur-fonce);font-weight:700;font-size:13.8px;margin-top:1px}
.fd-num .d{color:var(--faint);font-size:12.1px;margin-top:5px;line-height:1.6}
.fd-parties{display:flex;gap:13px;margin-bottom:20px}
.fd-p{flex:1;background:var(--email);border-radius:11px;padding:12px 14px}
.fd-p .t{font-size:9.9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.fd-p .n{font-weight:700;font-size:13.8px}
.fd-p .d{color:var(--muted);font-size:12.1px;margin-top:2px;line-height:1.55}
.fd-dents{color:var(--faint);font-size:12.1px;margin-top:3px;padding-left:3px}
.fd-mentions{margin-top:18px;padding-top:13px;border-top:1px solid var(--border);color:var(--faint);font-size:12.1px}

.fact{width:100%;border-collapse:collapse;margin-bottom:9px}
.fact th{font-size:14px;color:var(--text);font-weight:700;padding:0 9px 11px;text-align:left}
.fact td{padding:5px 7px;border-top:1px solid var(--email);vertical-align:middle}
.fact input,.fact select{font-family:inherit;font-size:14.9px;padding:9px 11px;border:1.5px solid var(--trait);border-radius:10px;width:100%;background:var(--surface);color:var(--text);
  transition:border-color .2s,box-shadow .2s}
.fact input:focus,.fact select:focus{outline:none;border-color:var(--azur);box-shadow:0 0 0 3px rgba(12,156,240,.3)}
.fact .num{text-align:right;font-variant-numeric:tabular-nums}
.fact input.num{text-align:right}
.fact .del{border:none;background:none;color:var(--faint);cursor:pointer;padding:7px;border-radius:9px;transition:background-color .2s,color .2s}
.fact .del:hover{background:#fef2f2;color:var(--danger)}
.fact .vide{color:var(--faint);font-size:14.3px}
.fact .unite{color:var(--faint);font-size:13.2px}

.totaux{margin-top:15px;padding-top:15px;border-top:2px solid var(--border-strong);display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.totaux .l{display:flex;justify-content:space-between;gap:44px;font-size:15.5px;min-width:286px}
.totaux .l .k{color:var(--muted)}
.totaux .l.ttc{font:800 18.7px Sora,Inter,sans-serif;color:var(--azur-fonce);padding-top:8px;border-top:1px solid var(--border)}
.totaux .l select{font-family:inherit;font-size:14.3px;padding:4px 9px;border:1.5px solid var(--trait);border-radius:9px;background:var(--surface);color:var(--text)}
.entete-f{display:flex;justify-content:space-between;gap:22px;padding:18px 20px;background:var(--email);border-radius:13px;margin-bottom:22px;font-size:14.9px;flex-wrap:wrap}
.entete-f .k{color:var(--muted);font-size:13.2px}
.entete-f .v{font-weight:700;margin-top:2px}

@media (max-width:820px){
  .fd-barre,.fd-parties{flex-direction:column}
  .fd-num{text-align:left}
  .modal-body:has(.fdoc){overflow-x:auto}
  .totaux .l{min-width:0;width:100%}
}
.fact td.sous-grille{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:10px 7px 2px;border-top:0}
