/* ch.741 B3 — fils nommés dans le chat des assistants. Préfixe « fil741- ». Charte (R119) : actif #34D399 / texte #0F172A · ambre = avertissement · neutre #64748B.
   Zones tactiles ≥ 44 px (R5). Le menu ⋯ est monté au body (largeur min(240px, écran − 16px)). */
.fil741-barre { display: flex; flex-direction: column; gap: 6px; padding: 8px; border-bottom: 1px solid #E5E7EB; background: #F9FAFB; flex-shrink: 0; }
.fil741-onglets { display: flex; gap: 4px; }
.fil741-onglet { flex: 1 1 0; min-height: 36px; padding: 0 6px; border-radius: 8px; border: 1px solid #E2E8F0; background: #FFFFFF; color: #475569; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.fil741-onglet.actif { background: #34D399; border-color: #10B981; color: #0F172A; }
.fil741-q { width: 100%; box-sizing: border-box; min-height: 36px; border: 1px solid #CBD5E1; border-radius: 8px; padding: 6px 10px; font-size: 13px; color: #0F172A; background: #FFFFFF; }
.fil741-q:focus { outline: 2px solid #34D399; outline-offset: 1px; }
.fil741-ligne { display: flex; align-items: stretch; border-bottom: 1px solid #F1F5F9; text-align: left; }
.fil741-ligne:hover { background: #F9FAFB; }
.fil741-ligne.courante, .fil741-ligne:has(.bg-blue-50) { background: #ECFDF5; }
.fil741-ouvrir { flex: 1 1 auto; min-width: 0; min-height: 44px; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 6px 4px 6px 12px; background: transparent; border: 0; text-align: left; cursor: pointer; }
.fil741-titre { font-size: 12px; font-weight: 600; color: #374151; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.fil741-meta { font-size: 11px; color: #9CA3AF; }
.fil741-pastille { margin-right: 4px; font-size: 11px; }
.fil741-menu-btn { flex: 0 0 auto; width: 40px; min-height: 44px; border: 0; background: transparent; color: #64748B; font-size: 18px; cursor: pointer; border-radius: 8px; }
.fil741-menu-btn:hover { background: #F1F5F9; color: #0F172A; }
.fil741-menu { position: fixed; z-index: 1200; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 12px; box-shadow: 0 10px 30px rgba(15,23,42,.15), 0 2px 6px rgba(15,23,42,.08); padding: 4px; display: flex; flex-direction: column; }
.fil741-menu button { min-height: 44px; text-align: left; padding: 0 12px; border: 0; background: transparent; border-radius: 8px; font-size: 14px; color: #0F172A; cursor: pointer; }
.fil741-menu button:hover, .fil741-menu button:focus { background: #ECFDF5; outline: none; }
.fil741-vide { padding: 24px 12px; text-align: center; color: #64748B; font-size: 12px; }
.fil741-info { padding: 8px 12px; font-size: 11px; color: #92400E; background: #FFFBEB; border-bottom: 1px solid #FDE68A; }
.fil741-pied { padding: 8px 12px; border-top: 1px solid #E5E7EB; background: #F9FAFB; display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: #9CA3AF; text-align: center; }
.fil741-plus { min-height: 44px; border: 0; background: transparent; color: #2563EB; font-weight: 600; font-size: 12px; cursor: pointer; }
.fil741-tests { display: flex; align-items: center; gap: 8px; min-height: 44px; color: #64748B; cursor: pointer; text-align: left; }
.fil741-tests input { width: 16px; height: 16px; }
.fil741-bandeau { margin: 8px 0; padding: 10px 12px; border-radius: 12px; font-size: 13px; line-height: 1.45; display: flex; flex-direction: column; gap: 8px; }
.fil741-suite { background: #F1F5F9; border: 1px solid #E2E8F0; color: #334155; }
.fil741-suite summary { cursor: pointer; color: #475569; font-size: 12px; min-height: 32px; display: flex; align-items: center; }
.fil741-resume { margin-top: 6px; padding: 8px 10px; background: #FFFFFF; border-radius: 8px; border: 1px solid #E2E8F0; max-height: 40vh; overflow-y: auto; overflow-wrap: anywhere; }
.fil741-bandeau-tete { font-weight: 600; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fil741-lien { border: 0; background: transparent; color: #2563EB; font-weight: 600; cursor: pointer; padding: 0; min-height: 32px; }
.fil741-alerte { background: #FFFBEB; border: 1px solid #FDE68A; color: #92400E; }
.fil741-btn { align-self: flex-start; min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1px solid #10B981; background: #34D399; color: #0F172A; font-size: 14px; font-weight: 700; cursor: pointer; }
.fil741-btn:hover { background: #10B981; }
.fil741-btn:disabled { opacity: .6; cursor: wait; }
.fil741-toast { position: fixed; z-index: 1300; left: 50%; bottom: 24px; transform: translateX(-50%); max-width: min(480px, calc(100vw - 32px)); padding: 10px 16px; border-radius: 12px; background: #ECFDF5; border: 1px solid #A7F3D0; color: #065F46; font-size: 14px; box-shadow: 0 6px 20px rgba(15,23,42,.12); }
.fil741-toast.erreur { background: #FEF2F2; border-color: #FECACA; color: #991B1B; }
@media (max-width: 767px) { .fil741-btn { width: 100%; } }
