/* Budget natif Le Fil (js/budget/, spec docs/specs/2026-10-07-budget-accueil-design.md). Style de Le Fil : encre, filets, couleur rare (ambre = ce qui peut
   coûter, sapin = fait), pleine largeur, cibles de 44 px et plus, sept tailles de texte (12, 14, 16, 18, 24, 30, 64), aucun effet décoratif.
   Remplace css/budget.css (classique, supprimé). Les feuilles (.fb-voile) sont posées dans <body> : elles héritent des jetons de <html>. */
[data-app] .fb { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 12px 16px 56px; color: var(--f-encre); font: 400 16px/1.5 Inter, system-ui, sans-serif; }
[data-app] .fb *, [data-app] .fb *::before, [data-app] .fb *::after, .fb-voile *, .fb-voile *::before, .fb-voile *::after { box-sizing: border-box; }
.fb [hidden], .fb-voile [hidden] { display: none !important; }
.fb :focus-visible, .fb-voile :focus-visible { outline: 2px solid var(--f-encre); outline-offset: 3px; }

/* Tête */
.fb-tete { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 16px; padding: 4px 0 14px; margin-bottom: 14px; border-bottom: 1px solid var(--f-filet); }
.fb-tete-texte { flex: 1 1 240px; min-width: 0; }
.fb-titre { margin: 0; font: 600 24px/1.25 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-sous { margin: 2px 0 0; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-tete-puces { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fb-titre-saisie { font: 600 24px/1.25 Inter, system-ui, sans-serif; }
.fb-retour { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 6px; padding: 0 12px; border: 1px solid var(--f-filet); border-radius: 14px; color: var(--f-encre); text-decoration: none; font: 500 14px/1 Inter, system-ui, sans-serif; }

/* Segments */
.fb-barre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 16px; }
.fb-segments { display: flex; flex: 1 1 280px; gap: 4px; padding: 4px; margin: 0; background: var(--f-surface-2); border: 1px solid var(--f-filet); border-radius: 14px; }
.fb-segment { flex: 1 1 0; min-height: 44px; min-width: 0; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--f-encre-2); font: 500 14px/1 Inter, system-ui, sans-serif; cursor: pointer; }
.fb-segment[aria-current="page"] { background: var(--f-encre); color: var(--f-fond); }
@media (min-width: 640px) { .fb-segments { flex: 0 0 auto; } .fb-segment { flex: 0 0 auto; padding: 0 24px; } }

/* Boutons et champs */
.fb-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border: 1px solid var(--f-filet); border-radius: 14px; background: var(--f-surface); color: var(--f-encre); font: 500 14px/1.2 Inter, system-ui, sans-serif; text-decoration: none; cursor: pointer; text-align: center; }
.fb-bouton:hover { background: var(--f-surface-2); }
.fb-bouton:disabled { opacity: .5; cursor: default; }
.fb-bouton--plein { background: var(--f-encre); color: var(--f-fond); border-color: var(--f-encre); }
.fb-bouton--plein:hover { background: var(--f-encre); opacity: .9; }
.fb-bouton--discret { border-color: transparent; background: transparent; color: var(--f-encre-2); }
.fb-bouton--danger { color: var(--f-urgent); }
.fb-bouton--carre { width: 48px; padding: 0; font-size: 24px; font-weight: 400; color: var(--f-encre-2); }
.fb-lien { color: var(--f-encre); text-decoration: underline; text-underline-offset: 3px; }
.fb-champ { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fb-champ-lib { font: 500 14px/1.3 Inter, system-ui, sans-serif; color: var(--f-encre-2); }
.fb-aide { font: 400 12px/1.4 Inter, system-ui, sans-serif; color: var(--f-encre-3); overflow-wrap: anywhere; }
.fb-saisie { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--f-filet); border-radius: 14px; background: var(--f-surface); color: var(--f-encre); font: 400 16px/1.4 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
select.fb-saisie { appearance: auto; }
.fb-zone { min-height: 88px; resize: vertical; }
.fb-case { display: grid; grid-template-columns: 24px 1fr; align-items: center; column-gap: 12px; min-height: 48px; padding: 6px 0; font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.fb-case input { width: 24px; height: 24px; margin: 0; accent-color: var(--f-encre); }
.fb-case .fb-aide { grid-column: 2; }
.fb-curseur { width: 100%; min-height: 48px; accent-color: var(--f-encre); }
.fb-formulaire { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 16px; }
.fb-formulaire > .fb-champ--large, .fb-formulaire > .fb-case, .fb-formulaire > .fb-note, .fb-formulaire > datalist { grid-column: 1 / -1; }
.fb-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.fb-actions--bas { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--f-filet); }

/* Textes */
.fb-note, .fb-vide { margin: 8px 0 0; color: var(--f-encre-2); font: 400 14px/1.45 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-vide { padding: 12px 0; margin: 0; }
.fb-note--attention { color: var(--f-attention); }
.fb-message { margin: 12px 0; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.fb-message[data-etat="erreur"] { color: var(--f-urgent); }
.fb-sous-titre { margin: 16px 0 6px; font: 600 16px/1.3 Inter, system-ui, sans-serif; }
.fb-puce { display: inline-block; padding: 7px 10px; border: 1px solid var(--f-filet); border-radius: 99px; color: var(--f-encre-2); font: 500 12px/1 Inter, system-ui, sans-serif; white-space: nowrap; }
.fb-puce[data-etat="ok"] { color: var(--f-fait); border-color: var(--f-fait); }
.fb-puce[data-etat="attention"] { color: var(--f-attention); border-color: var(--f-attention); }
.fb-etiquette { display: inline-block; padding: 2px 8px; border: 1px solid var(--f-filet); border-radius: 10px; color: var(--f-encre-2); font: 500 12px/1.4 Inter, system-ui, sans-serif; }
.fb [data-etat="ok"] { --fb-etat: var(--f-fait); } .fb [data-etat="attention"], .fb [data-etat="alerte"] { --fb-etat: var(--f-attention); }

/* Cartes */
.fb-pile { display: block; }
.fb-pile > * { margin: 0 0 12px; }
.fb-carte { padding: 16px; background: var(--f-surface); border: 1px solid var(--f-filet); border-radius: 24px; }
.fb-carte-ligne { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fb-carte-titre { margin: 0; font: 600 18px/1.3 Inter, system-ui, sans-serif; }
.fb-carte-total { font: 600 18px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (min-width: 1000px) {
  .fb-pile { column-width: 440px; column-gap: 20px; }
  .fb-pile > * { break-inside: avoid; }
  .fb-pile > .fb-chiffres, .fb-pile > .fb-actions { column-span: all; }
}

/* Chiffres */
.fb-chiffres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.fb-chiffres--trois { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.fb-chiffres > .fb-note { grid-column: 1 / -1; margin: 0; }
@media (min-width: 720px) { .fb-chiffres { grid-template-columns: repeat(4, minmax(0, 1fr)); } .fb-chiffres--simple { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fb-chiffre { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 14px; background: var(--f-surface); border: 1px solid var(--f-filet); border-radius: 18px; }
.fb-chiffre-lib { color: var(--f-encre-2); font: 500 14px/1.3 Inter, system-ui, sans-serif; }
.fb-chiffre-val { font: 600 24px/1.2 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fb-chiffre-sous { color: var(--f-encre-3); font: 400 12px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-chiffre[data-etat] .fb-chiffre-val { color: var(--fb-etat); }
.fb-chiffres--trois .fb-chiffre { padding: 12px; }
.fb-chiffres--trois .fb-chiffre-val { font-size: 18px; }
@media (min-width: 720px) { .fb-chiffres--trois .fb-chiffre-val { font-size: 24px; } }

/* Jours d'ouverture (accueil) */
.fb-ouverture-tete { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fb-ouverture-nb { margin: 0; color: var(--f-encre-2); font: 400 16px/1.1 Inter, system-ui, sans-serif; white-space: nowrap; }
.fb-ouverture-nb strong { color: var(--f-encre); font: 600 64px/1 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.fb-ouverture-phrase { margin: 8px 0 0; font: 500 18px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }

/* Effectifs */
.fb-params { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px 16px; margin-top: 12px; }
.fb-param { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.fb-param .fb-champ { width: 100%; }
.fb-param-etat { color: var(--f-encre-3); font: 500 12px/1.4 Inter, system-ui, sans-serif; }

/* Postes et lignes */
.fb-lignes .fb-carte-ligne { margin-bottom: 4px; }
.fb-poste { display: grid; grid-template-columns: minmax(0, 1fr) 48px; column-gap: 8px; align-items: start; border-bottom: 1px solid var(--f-filet); }
.fb-poste-d { min-width: 0; }
.fb-poste-tete { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 0; list-style: none; cursor: pointer; min-width: 0; }
.fb-poste--vide .fb-poste-tete { cursor: default; color: var(--f-encre-3); }
.fb-poste > .fb-bouton--carre { margin-top: 4px; }
.fb-poste-tete::-webkit-details-marker { display: none; }
.fb-poste-d > .fb-poste-tete::before { content: ''; width: 8px; height: 8px; flex: none; border-right: 2px solid var(--f-encre-3); border-bottom: 2px solid var(--f-encre-3); transform: rotate(-45deg); transition: transform 160ms ease; }
.fb-poste-d[open] > .fb-poste-tete::before { transform: rotate(45deg); }
.fb-poste-lib { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.fb-poste-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-poste-n { min-width: 24px; text-align: center; color: var(--f-encre-3); font: 500 12px/1 Inter, system-ui, sans-serif; }
.fb-poste-total { font: 500 16px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fb-poste-corps { padding: 0 0 8px 18px; }
.fb-ligne { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; width: 100%; min-height: 56px; padding: 10px 0; border: 0; border-top: 1px solid var(--f-filet); background: transparent; color: var(--f-encre); text-align: left; font: inherit; cursor: pointer; }
.fb-ligne:first-child { border-top: 0; }
.fb-ligne:hover { background: var(--f-surface-2); }
.fb-ligne--lecture { cursor: default; }
.fb-ligne--lecture:hover { background: transparent; }
.fb-ligne--vide { color: var(--f-encre-3); }
.fb-ligne-lib { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.fb-ligne-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-ligne-formule, .fb-ligne-rep, .fb-ligne-fin, .fb-ligne-note { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fb-ligne-rep { color: var(--f-encre-3); font-size: 12px; }
.fb-ligne-total { font: 500 16px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fb-apercu { margin: 12px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--f-surface-2); font: 500 14px/1.45 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fb-apercu-bloc { margin-top: 12px; }
.fb-apercu-bloc .fb-apercu { margin-top: 0; }

/* Équipe */
.fb-membres { margin-top: 6px; }
.fb-membre { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; width: 100%; min-height: 60px; padding: 10px 0; border: 0; border-top: 1px solid var(--f-filet); background: transparent; color: var(--f-encre); text-align: left; font: inherit; cursor: pointer; }
.fb-membre:first-child { border-top: 0; }
.fb-membre:hover { background: var(--f-surface-2); }
.fb-membre-lib { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; flex: 1; }
.fb-membre-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; }
.fb-membre-n { color: var(--f-encre-2); font-weight: 400; }
.fb-membre-sous { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-membre-cout { font: 600 16px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fb-alerte-puce { display: inline-block; padding: 2px 8px; border: 1px solid var(--f-attention); border-radius: 10px; color: var(--f-attention); font: 500 12px/1.4 Inter, system-ui, sans-serif; }
.fb-equipe-pied { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--f-filet); }
.fb-equipe-total { margin: 0; font: 400 14px/1.45 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; color: var(--f-encre-2); }
.fb-equipe-total strong { color: var(--f-encre); font-weight: 600; }
.fb-detail { display: flex; flex-direction: column; gap: 10px; }
.fb-resume { margin: 0; font: 400 14px/1.5 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fb-alertes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fb-alerte { display: flex; gap: 10px; align-items: baseline; font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.fb-alerte-niv { flex: none; color: var(--f-encre-2); font: 600 12px/1.4 Inter, system-ui, sans-serif; }
.fb-alerte[data-etat="erreur"] .fb-alerte-niv, .fb-alerte[data-etat="alerte"] .fb-alerte-niv { color: var(--f-attention); }
.fb-tableau-defile { overflow-x: auto; border: 1px solid var(--f-filet); border-radius: 14px; }
.fb-tableau { width: 100%; min-width: 460px; border-collapse: collapse; font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.fb-tableau caption { padding: 10px 12px 4px; text-align: left; font: 600 14px/1.4 Inter, system-ui, sans-serif; }
.fb-tableau th, .fb-tableau td { padding: 8px 12px; text-align: left; border-top: 1px solid var(--f-filet); }
.fb-tableau th { color: var(--f-encre-2); font-weight: 500; }
.fb-tableau .fb-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fb-tableau tfoot td { font-weight: 600; }
.fb-ligne-reduction td { color: var(--f-fait); } .fb-ligne-info td { color: var(--f-encre-2); }

/* Sections repliées (réglages de la paie, simulateur) */
.fb-carte--repli { padding: 4px 16px; }
.fb-carte--repli > .fb-carte-ligne, .fb-carte--repli > .fb-carte-titre { padding-top: 12px; }
.fb-carte--repli > .fb-note { padding-bottom: 6px; }
.fb-repli { border-top: 1px solid var(--f-filet); }
.fb-carte--repli > .fb-repli:first-child { border-top: 0; }
.fb-repli-tete { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 0; list-style: none; cursor: pointer; }
.fb-repli-tete::-webkit-details-marker { display: none; }
.fb-repli-tete::before { content: ''; width: 8px; height: 8px; flex: none; border-right: 2px solid var(--f-encre-3); border-bottom: 2px solid var(--f-encre-3); transform: rotate(-45deg); transition: transform 160ms ease; }
.fb-repli[open] > .fb-repli-tete::before { transform: rotate(45deg); }
.fb-repli-lib { display: flex; flex-direction: column; min-width: 0; }
.fb-repli-titre { font: 600 16px/1.3 Inter, system-ui, sans-serif; }
.fb-repli-resume { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-repli-corps { padding: 0 0 16px; }
.fb-repli--postes { border-top: 0; margin-top: 4px; }
.fb-repli--postes > .fb-repli-corps { padding-bottom: 0; }
.fb-grille { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.fb-grille-ligne { padding: 12px; border: 1px solid var(--f-filet); border-radius: 18px; background: var(--f-surface-2); }
.fb-grille-tete { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fb-grille-lib { font: 500 16px/1.3 Inter, system-ui, sans-serif; }
.fb-grille-qualif { color: var(--f-encre-2); font-weight: 400; }
.fb-grille-champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 8px 0 4px; align-items: end; }
.fb-grille-ajout { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fb-grille-ajout .fb-saisie { width: auto; flex: 1 1 160px; }
.fb-sim { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 12px 16px; align-items: end; }
.fb-sim-sortie { margin-top: 12px; }
@media (max-width: 520px) { .fb-sim { grid-template-columns: minmax(0, 1fr); } }

/* Demandes */
.fb-demande { padding: 12px 0; border-top: 1px solid var(--f-filet); }
.fb-carte > .fb-carte-ligne + .fb-demande { border-top: 0; }
.fb-demande-haut { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.fb-demande-objet { font: 500 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-demande-prix { font: 500 16px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fb-demande-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-top: 4px; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.fb-demande-texte { margin: 6px 0 0; font: 400 14px/1.45 Inter, system-ui, sans-serif; color: var(--f-encre-2); overflow-wrap: anywhere; }
.fb-demande .fb-champ { margin-top: 10px; }
.fb-impact { margin: 8px 0 0; font: 500 14px/1.4 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.fb-impact[data-etat="ok"] { color: var(--f-fait); } .fb-impact[data-etat="attention"] { color: var(--f-attention); }

/* Bilan */
.fb-bilan-poste { padding: 12px 0; border-top: 1px solid var(--f-filet); }
.fb-bilan-poste:first-child { border-top: 0; }
.fb-bilan-poste--ecart { border-left: 3px solid var(--f-attention); padding-left: 12px; }
.fb-bilan-titre { margin: 0 0 6px; font: 500 16px/1.3 Inter, system-ui, sans-serif; }
.fb-bilan-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 12px; margin: 0 0 8px; }
.fb-bilan-chiffres div { min-width: 0; }
.fb-bilan-chiffres dt { color: var(--f-encre-3); font: 400 12px/1.4 Inter, system-ui, sans-serif; }
.fb-bilan-chiffres dd { margin: 0; font: 500 14px/1.4 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fb-bilan-chiffres dd[data-etat] { color: var(--fb-etat); }
.fb-bilan-total { margin: 8px 0 0; padding-top: 10px; border-top: 1px solid var(--f-filet); font: 600 14px/1.45 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.fb-bilan input[data-enregistre] { border-color: var(--f-fait); }
@media (min-width: 720px) { .fb-bilan-chiffres { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Mes budgets */
.fb-creer { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.fb-creer .fb-saisie { flex: 1 1 220px; width: auto; }
.fb-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.fb-budget-libre { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 72px; padding: 14px; border: 1px solid var(--f-filet); border-radius: 18px; background: var(--f-surface); color: var(--f-encre); text-align: left; font: inherit; cursor: pointer; }
.fb-budget-libre:hover { background: var(--f-surface-2); }
.fb-budget-libre-lib { display: flex; flex-direction: column; gap: 2px; }
.fb-budget-libre-chiffres { display: flex; flex-wrap: wrap; gap: 4px 14px; font: 400 14px/1.4 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; color: var(--f-encre-2); }
.fb-budget-libre-chiffres [data-etat] { color: var(--fb-etat); }

/* Feuille (bas d'écran au téléphone, centrée au bureau) */
.fb-voile { position: fixed; inset: 0; z-index: 200; display: flex; align-items: flex-end; justify-content: center; padding: 14px; background: color-mix(in srgb, var(--f-encre) 32%, transparent); color: var(--f-encre); font: 400 16px/1.5 Inter, system-ui, sans-serif; }
.fb-feuille { display: flex; flex-direction: column; gap: 10px; width: min(100%, 640px); max-height: calc(100dvh - 28px); overflow: auto; padding: 20px 20px 16px; background: var(--f-surface); border: 1px solid var(--f-filet); border-radius: 30px; animation: f-feuille 380ms var(--f-spring); }
.fb-feuille-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fb-feuille-titre { margin: 0; font: 600 24px/1.25 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.fb-feuille-corps { min-width: 0; }
.fb-feuille-actions { position: sticky; bottom: -16px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 0 -20px -16px; padding: 12px 20px 16px; background: var(--f-surface); border-top: 1px solid var(--f-filet); }
.fb-feuille-actions:empty { display: none; }
@media (min-width: 900px) { .fb-voile { align-items: center; } }

/* Impression : seul le budget, en noir sur blanc ; postes remplis dépliés par imprimer() */
@media print {
  [data-interface="fil"] .f-top, [data-interface="fil"] .f-bottom, [data-interface="fil"] .f-sidebar, [data-interface="fil"] [data-header], [data-interface="fil"] [data-nav-bas] { display: none !important; }
  [data-interface="fil"] [data-app] { margin: 0 !important; padding: 0 !important; }
  .fb { color: CanvasText; padding: 0; }
  .fb-segments, .fb-actions, .fb-bouton, .fb-repli, .fb-carte--repli, .fb-voile, .fb-retour, .fb-creer { display: none !important; }
  .fb-carte, .fb-chiffre { background: Canvas; border-color: GrayText; break-inside: avoid; }
  .fb-poste { grid-template-columns: minmax(0, 1fr); }
  .fb-poste-corps { display: block; }
  .fb-poste--vide { display: none; }
  .fb-pile { column-width: auto; }
}
