/* Family Food V33 — Factures premium, format A4 et impression lisible. */
.ff33-invoice-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start;max-width:1180px;margin:24px auto}
.ff33-invoice-sheet{min-width:0;background:#fff;border:1px solid #efdcc6;border-radius:26px;padding:30px;box-shadow:0 22px 56px rgba(145,83,22,.09);color:#362219}
.ff33-invoice-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:20px;border-bottom:2px solid #f7e7d7}
.ff33-invoice-head>div:first-child{display:flex;align-items:center;gap:13px;min-width:0}
.ff33-invoice-logo{width:76px;height:70px;object-fit:contain;flex-shrink:0}
.ff33-invoice-business{display:grid;gap:3px;min-width:0;line-height:1.45;font-size:.79rem;color:#84624e}
.ff33-invoice-business strong{font-size:1.12rem;color:#bc5318}
.ff33-invoice-number{display:grid;text-align:right;justify-items:end;gap:5px;overflow-wrap:anywhere}
.ff33-invoice-number>small{letter-spacing:.16em;font-weight:900;color:#d6631e}
.ff33-invoice-number h1{font-size:clamp(1.13rem,2vw,1.6rem);margin:0;color:#332012;line-height:1.2}
.ff33-invoice-number>span{font-size:.82rem;color:#745847}
.ff33-invoice-paid{border-radius:999px;padding:6px 12px;font-weight:900}
.ff33-invoice-paid.paid{background:#e7f8ed;color:#166e3a!important}.ff33-invoice-paid.pending{background:#fff1db;color:#995b16!important}
.ff33-invoice-people{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
.ff33-invoice-people>div{display:grid;gap:7px;padding:16px;border:1px solid #f1dfd0;border-radius:18px;background:#fffaf6;min-width:0;overflow-wrap:anywhere}
.ff33-invoice-people small,.ff33-invoice-payment small{color:#8a6d59;font-weight:900;font-size:.71rem;letter-spacing:.07em}
.ff33-invoice-people strong{font-size:1.03rem}
.ff33-invoice-people span{font-size:.83rem;color:#856a58}
.ff33-invoice-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #f0e1d5;border-radius:17px}
.ff33-invoice-table{width:100%;border-collapse:collapse;min-width:440px;line-height:1.4}
.ff33-invoice-table th{background:#fff4e8;color:#a64e1d;text-align:left;padding:13px 10px;font-size:.76rem;white-space:nowrap}
.ff33-invoice-table td{padding:14px 10px;border-bottom:1px solid #f5e8db;font-size:.82rem;vertical-align:top}
.ff33-invoice-table td:first-child{width:49%}.ff33-invoice-table td:last-child{text-align:right;white-space:nowrap}
.ff33-invoice-table td small{display:block;color:#896854;font-size:.73rem;margin-top:5px}
.ff33-invoice-totals{width:min(100%,380px);margin:16px 0 22px auto;display:grid;gap:8px}
.ff33-invoice-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:.91rem}
.ff33-invoice-totals .grand{padding:13px 15px;background:#fff2e4;border-radius:14px;border:1px solid #f0d8be;font-weight:900;color:#cb5c1e}
.ff33-invoice-totals .grand strong{font-size:1.12rem}
.ff33-invoice-delivery{background:#fffaf5;border:1px solid #f0dfcf;border-radius:18px;padding:17px;margin:16px 0}
.ff33-invoice-delivery h2{font-size:1.07rem;margin:0 0 12px;color:#b8561c}
.ff33-invoice-delivery dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}
.ff33-invoice-delivery dl>div{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}
.ff33-invoice-delivery dt{color:#92705e;font-size:.71rem;font-weight:900;text-transform:uppercase}
.ff33-invoice-delivery dd{margin:0;font-size:.83rem;font-weight:650}
.ff33-invoice-payment{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}
.ff33-invoice-payment>div{display:grid;gap:4px;overflow-wrap:anywhere}
.ff33-invoice-payment strong{font-size:.85rem}
.ff33-invoice-footer{display:grid;grid-template-columns:205px minmax(0,1fr);column-gap:18px;row-gap:18px;align-items:center;border-top:2px dashed #f1d9c3;padding-top:19px}
.ff33-invoice-qr{width:205px;max-width:100%;min-height:185px;padding:8px;background:white;border:1px solid #e5d4c5;border-radius:15px;display:grid;place-items:center}
.ff33-invoice-qr .ff-qr-code{width:100%;height:auto}.ff33-invoice-qr svg{max-width:100%;height:auto}
.ff33-invoice-qr-text p{color:#7b6555;font-size:.85rem;line-height:1.5;margin:7px 0}
.ff33-points-hint{color:#b9591e!important;font-weight:900}
.ff33-invoice-powered{grid-column:1/-1;text-align:center;border-top:1px solid #f2e2d3;padding-top:15px;display:grid;gap:5px;color:#82624c;font-size:.82rem}
.ff33-invoice-powered strong{color:#c75b19;font-size:1.02rem}
.ff33-invoice-actions{display:grid;gap:11px;padding:20px;background:#fff;border:1px solid #f0dcc9;border-radius:22px;position:sticky;top:90px;box-shadow:0 12px 30px rgba(136,80,21,.06)}
.ff33-invoice-actions h2{font-size:1.12rem;margin:0}.ff33-invoice-actions p{margin:0 0 8px;font-size:.86rem}
.ff33-verify{max-width:700px;margin:24px auto!important;padding:28px!important;text-align:center;display:grid;justify-items:center;gap:14px}
.ff33-verify h1{font-size:clamp(1.55rem,4vw,2.4rem);margin:0}
.ff33-verify-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:#fff0e0;color:#d95f1e;font-size:2rem}
.ff33-verify-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;text-align:left}
.ff33-verify-details>div{border:1px solid #f1ded0;background:#fffaf6;border-radius:14px;padding:12px;display:grid;gap:5px;overflow-wrap:anywhere}
.ff33-verify-details small{color:#83604b}.ff33-verify-details strong{font-size:.94rem}
.ff33-loyalty-offer{display:flex;align-items:center;text-align:left;gap:14px;padding:17px;background:#fff2df;border-radius:18px;border:1px solid #f1d3b0;width:100%}
.ff33-loyalty-offer>i{font-size:1.8rem;color:#f18a1d}.ff33-loyalty-offer strong{color:#ba5117}.ff33-loyalty-offer p{margin:6px 0 0;color:#815e46;font-size:.87rem}
.ff33-verify-footer{display:flex;gap:12px;align-items:center;justify-content:center;border-top:1px solid #ead9c9;padding-top:15px;color:#745946;font-size:.79rem}
.ff33-verify-footer img{width:65px;max-width:22%;object-fit:contain}
@media(max-width:950px){.ff33-invoice-layout{grid-template-columns:1fr}.ff33-invoice-actions{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.ff33-invoice-actions h2,.ff33-invoice-actions p{grid-column:1/-1}}
@media(max-width:580px){.ff33-invoice-sheet{padding:15px;border-radius:18px}.ff33-invoice-head{flex-direction:column}.ff33-invoice-number{text-align:left;justify-items:start}.ff33-invoice-people,.ff33-invoice-delivery dl{grid-template-columns:1fr}.ff33-invoice-footer{grid-template-columns:1fr}.ff33-invoice-qr{margin:0 auto}.ff33-invoice-qr-text{text-align:center}.ff33-invoice-actions{grid-template-columns:1fr}.ff33-verify{padding:18px!important}.ff33-verify-details{grid-template-columns:1fr}}
@media print{
 @page{size:A4;margin:12mm}
 html,body{background:#fff!important;color:#222!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .topbar,.mobile-bottom-nav,.site-footer,.desktop-footer,#toast,#ff-splash,.ff33-invoice-actions,.ff30-admin-top,.ff30-manager-top,.ff-workspace-nav{display:none!important}
 .app-main{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}
 .ff33-invoice-layout{display:block!important;margin:0!important;width:100%!important;max-width:none!important}
 .ff33-invoice-sheet{width:100%!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;background:white!important;overflow:visible!important}
 .ff33-invoice-table-wrap{overflow:visible!important}
 .ff33-invoice-table{min-width:0!important}
 .ff33-invoice-head,.ff33-invoice-people,.ff33-invoice-totals,.ff33-invoice-payment,.ff33-invoice-footer,.ff33-invoice-delivery{break-inside:avoid;page-break-inside:avoid}
 .ff33-invoice-qr{break-inside:avoid}
 .ff33-invoice-qr svg{width:100%!important;height:auto!important}
}
