/* ═══ ⚡ OFFRE AUTO (12.10.2026) — js/200 ═══════════════════════════════════════════════════════════
   « bouton offre » : la fenêtre qui confie une offre au programme local, puis suit son travail. */
.ofa-modale { max-width: 680px; max-height: calc(100vh - 40px); overflow-y: auto; }
.ofa-intro { font-size: var(--t-s); color: var(--text-muted); margin: 0 0 12px; }
.ofa-programme { font-size: var(--t-s); padding: 8px 12px; border: 1px solid var(--border); margin-bottom: 12px; line-height: 1.5; }
.ofa-programme.ofa-pret { border-color: color-mix(in srgb, #1f9d55 45%, var(--border)); background: color-mix(in srgb, #1f9d55 8%, var(--surface)); }
.ofa-programme.ofa-absent { border-color: color-mix(in srgb, #d97706 50%, var(--border)); background: color-mix(in srgb, #d97706 8%, var(--surface)); }
.ofa-programme code { font-size: 12px; padding: 1px 4px; background: var(--bg, rgba(0, 0, 0, .05)); }
/* 13.10.2026 — le sélecteur de compagnies : logo en couleur = conditions remplies, grisé sinon. */
.ofa-cies { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.ofa-cie { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 8px 8px; border: 1px solid var(--border); background: var(--surface); color: var(--text); cursor: pointer; font: inherit; text-align: center; }
.ofa-cie b { font-size: var(--t-s); }
.ofa-cie small { font-size: 11px; color: var(--text-muted); line-height: 1.3; }
.ofa-cie-logo { display: flex; align-items: center; justify-content: center; min-height: 36px; }
.ofa-cie-etat { position: absolute; top: 4px; right: 6px; font-size: 12px; }
.ofa-cie.actif { border-color: var(--accent, #2563eb); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent, #2563eb) 30%, transparent); }
.ofa-cie.ofa-grise .ofa-cie-logo, .ofa-cie.ofa-grise b { filter: grayscale(1); opacity: .45; }
.ofa-cie.ofa-grise { background: color-mix(in srgb, var(--text-muted) 6%, var(--surface)); }
.ofa-cie:focus-visible { outline: 2px solid var(--accent, #2563eb); outline-offset: 2px; }
.ofa-conditions { margin-top: 8px; font-size: var(--t-s); padding: 8px 12px; border: 1px solid var(--border); color: var(--text); }
.ofa-conditions:empty { display: none; }
.ofa-conditions ul { margin: 6px 0 0; padding: 0; list-style: none; }
.ofa-conditions li { padding: 2px 0; }
.ofa-conditions li small { color: var(--text-muted); margin-left: 4px; }
.ofa-conditions li.ok { color: #1f7a45; }
.ofa-conditions li.ko { color: #b42318; }
.ofa-cond-ok { border-color: color-mix(in srgb, #1f9d55 40%, var(--border)); }
.ofa-cond-ko { border-color: color-mix(in srgb, #b42318 35%, var(--border)); background: color-mix(in srgb, #b42318 4%, var(--surface)); }
.ofa-section { margin: 16px 0 6px; font-size: var(--t-s); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); }
.ofa-cases { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; grid-column: span 2; font-size: var(--t-s); color: var(--text); }
.ofa-cases label { display: inline-flex; align-items: center; gap: 6px; }
.ofa-erreurs { margin-top: 12px; padding: 8px 12px; font-size: var(--t-s); color: #b42318; border: 1px solid color-mix(in srgb, #b42318 40%, var(--border)); background: color-mix(in srgb, #b42318 6%, var(--surface)); }
.ofa-erreurs div + div { margin-top: 4px; }
.ofa-reprise { font-size: var(--t-s); color: var(--text-muted, var(--text)); padding: 6px 12px; margin-bottom: 8px; border-left: 3px solid var(--accent, #2563eb); background: color-mix(in srgb, var(--accent, #2563eb) 6%, var(--surface)); }
.ofa-reprendre { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.ofa-suivi { margin-top: 4px; }
.ofa-statut { font-weight: 600; font-size: 15px; color: var(--text); margin-bottom: 6px; }
.ofa-message { font-size: var(--t-s); padding: 8px 12px; margin-bottom: 8px; border-left: 3px solid #d97706; background: color-mix(in srgb, #d97706 8%, var(--surface)); color: var(--text); }
.ofa-etapes { margin: 0 0 10px; padding-left: 22px; font-size: var(--t-s); color: var(--text-muted); max-height: 260px; overflow-y: auto; }
.ofa-etapes li { padding: 2px 0; }
.ofa-etapes li.ofa-courante { color: var(--text); font-weight: 600; }
.ofa-etapes li.ofa-courante::after { content: ' …'; animation: ofa-clignote 1.2s steps(2) infinite; }
@keyframes ofa-clignote { 50% { opacity: .2; } }
.ofa-resultat { border-top: 1px solid var(--border); padding-top: 12px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.ofa-prime { font-size: 26px; font-weight: 700; color: var(--text); }
.ofa-prime small { font-size: var(--t-s); font-weight: 400; color: var(--text-muted); margin-left: 6px; }
.ofa-couvertures { margin: 0; padding-left: 18px; font-size: var(--t-s); color: var(--text); }
@media (prefers-reduced-motion: reduce) { .ofa-etapes li.ofa-courante::after { animation: none; } }
@media (max-width: 640px) { .ofa-cases { grid-column: auto; } }
