/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* ALFRED — COMPOSANTS REUTILISABLES (BEM) */

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* BOUTONS */
.alfred-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.875rem;font-weight:500;border:none;cursor:pointer;transition:background 0.2s,color 0.2s;text-decoration:none;line-height:1.5}
.alfred-btn--primary{background:var(--accent);color:#0f1117}
.alfred-btn--primary:hover{background:var(--accent-hover)}
.alfred-btn--danger{background:var(--red);color:#fff}
.alfred-btn--danger:hover{background:#dc2626}
.alfred-btn--ghost{background:transparent;color:var(--text-muted)}
.alfred-btn--ghost:hover{background:var(--bg-hover);color:var(--text)}
.alfred-btn--sm{padding:0.375rem 0.75rem;font-size:0.75rem}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* BADGES */
.alfred-badge{display:inline-flex;align-items:center;padding:0.125rem 0.625rem;border-radius:9999px;font-size:0.75rem;font-weight:600;line-height:1.5}
.alfred-badge--success{background:rgba(34,197,94,0.15);color:var(--green)}
.alfred-badge--warning{background:rgba(245,158,11,0.15);color:var(--orange)}
.alfred-badge--error{background:rgba(239,68,68,0.15);color:var(--red)}
.alfred-badge--info{background:rgba(99,102,241,0.15);color:var(--accent)}
.alfred-badge--progress{background:rgba(168,85,247,0.15);color:var(--purple)}
.alfred-badge--muted{background:rgba(139,141,151,0.15);color:var(--text-muted)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* TABLES */
.alfred-table__wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}
/* Quand le wrapper contient une table "cards", il disparaît visuellement :
   chaque ligne du tbody est déjà sa propre card, pas besoin d'un card parent. */
.alfred-table__wrapper:has(.alfred-table--cards){background:none;border:none;border-radius:0}
.alfred-table{width:100%;border-collapse:collapse;font-size:0.875rem}
.alfred-table__th{padding:0.75rem 1rem;text-align:left;font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);border-bottom:1px solid var(--border)}
.alfred-table__td{padding:0.75rem 1rem;border-bottom:1px solid var(--border)}
.alfred-table__row{transition:background 0.15s}
.alfred-table__row:hover{background:var(--bg-hover)}
.alfred-table__row:last-child .alfred-table__td{border-bottom:none}

/* Variante "cards" : chaque ligne du tbody ressemble à une card
   arrondie avec un léger gap entre elles. Utilisée partout où
   on veut une lecture aérée (Planning, Dossiers, Clients, Équipe). */
.alfred-table--cards{border-collapse:separate;border-spacing:0 10px}
.alfred-table--cards .alfred-table__th{border-bottom:none;padding-top:0;padding-bottom:0.25rem}
.alfred-table--cards .alfred-table__td{padding:0.625rem 0.75rem;background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);transition:background 0.15s,border-color 0.15s}
.alfred-table--cards .alfred-table__td:first-child{border-left:1px solid var(--border);border-radius:0.5rem 0 0 0.5rem}
.alfred-table--cards .alfred-table__td:last-child{border-right:1px solid var(--border);border-radius:0 0.5rem 0.5rem 0;padding-right:1rem}
.alfred-table--cards .alfred-table__row:hover .alfred-table__td{background:var(--bg-hover);border-color:rgba(48,236,232,0.15)}
.alfred-table--cards .alfred-table__row:last-child .alfred-table__td{border-bottom:1px solid var(--border)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* FORMULAIRES */
.alfred-form__group{margin-bottom:1.25rem}
.alfred-form__label{display:block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:0.5rem}
.alfred-form__input{width:100%;padding:0.625rem 0.875rem;background:var(--bg-input);border:1px solid var(--border);border-radius:0.5rem;color:var(--text);font-size:0.875rem;font-family:var(--font-sans);outline:none;transition:border-color 0.2s;box-sizing:border-box}
.listing__filters .alfred-form__input{padding:0.45rem 0.875rem}
.alfred-form__input:focus{border-color:var(--accent)}
.alfred-form__input::-webkit-calendar-picker-indicator{filter:invert(0.8)}
[data-theme="light"] .alfred-form__input::-webkit-calendar-picker-indicator{filter:none}
.alfred-form__input--error{border-color:var(--red)}
.alfred-form__help{font-size:0.75rem;color:var(--text-muted);margin-top:0.25rem}
.alfred-form__error{font-size:0.75rem;color:var(--red);margin-top:0.25rem}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* CHECKLIST — pastilles cliquables pour ChoiceType expanded+multiple */
.alfred-form__checklist{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0;margin:0}
.alfred-form__checklist input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.alfred-form__checklist label{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 0.875rem;border:1px solid var(--border);border-radius:9999px;background:var(--bg-card);color:var(--text-muted);font-size:0.8125rem;font-weight:500;cursor:pointer;transition:color 0.15s,background 0.15s,border-color 0.15s;user-select:none;margin:0}
.alfred-form__checklist label::before{content:"";display:inline-block;width:0.875rem;height:0.875rem;border:1.5px solid var(--border);border-radius:0.25rem;flex-shrink:0;transition:all 0.15s;background:transparent}
.alfred-form__checklist label:hover{background:var(--bg-hover);border-color:var(--text-muted);color:var(--text)}
.alfred-form__checklist input[type="checkbox"]:checked + label{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}
.alfred-form__checklist input[type="checkbox"]:checked + label::before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--bg-card)}
.alfred-form__checklist input[type="checkbox"]:focus-visible + label{outline:2px solid var(--accent);outline-offset:2px}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* ALFRED SWITCH — toggle ON/OFF réutilisable
   Usage Twig :
       <label class="alfred-switch">
           {{ form_widget(form.isActive) }}
           <span class="alfred-switch__track"></span>
       </label>
       <span>Mon label</span>
*/
.alfred-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0;width:2.5rem;height:1.375rem}
.alfred-switch input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.alfred-switch__track{position:absolute;inset:0;background:var(--border);border-radius:9999px;transition:background 0.2s}
.alfred-switch__track::after{content:"";position:absolute;top:0.1875rem;left:0.1875rem;width:1rem;height:1rem;background:var(--bg-card);border-radius:50%;transition:transform 0.2s,background 0.2s;box-shadow:0 1px 2px rgba(0,0,0,0.2)}
.alfred-switch input[type="checkbox"]:checked + .alfred-switch__track{background:var(--accent)}
.alfred-switch input[type="checkbox"]:checked + .alfred-switch__track::after{transform:translateX(1.125rem);background:#fff}
.alfred-switch input[type="checkbox"]:focus-visible + .alfred-switch__track{outline:2px solid var(--accent);outline-offset:2px}
.alfred-switch input[type="checkbox"]:disabled + .alfred-switch__track{opacity:0.5;cursor:not-allowed}
select.alfred-form__input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238b8d97' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;padding-right:2.5rem}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* CARDS */
.alfred-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}
.alfred-card__title{font-size:1rem;font-weight:600;margin:0 0 0.5rem}
.alfred-card__subtitle{font-size:0.875rem;color:var(--text-muted);margin:0}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* MODALE CONFIRMATION */
.alfred-modal[data-state="closed"]{display:none}
.alfred-modal[data-state="open"]{display:flex;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center}
.alfred-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px)}
.alfred-modal__container{position:relative;z-index:1;width:100%;max-width:400px;padding:0 1rem}
.alfred-modal__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 16px 48px rgba(0,0,0,0.4)}
.alfred-modal__title{font-size:1rem;font-weight:600;color:var(--text-heading);margin:0 0 0.5rem}
.alfred-modal__message{font-size:0.875rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}
.alfred-modal__actions{display:flex;justify-content:flex-end;gap:0.5rem}

/* Variantes de taille Dialog */
.alfred-modal--dialog .alfred-modal__container{max-width:520px}
.alfred-modal--dialog.alfred-modal--sm .alfred-modal__container{max-width:420px}
.alfred-modal--dialog.alfred-modal--md .alfred-modal__container{max-width:560px}
.alfred-modal--dialog.alfred-modal--lg .alfred-modal__container{max-width:780px}
.alfred-modal--dialog .alfred-modal__message{margin-bottom:1rem}
.alfred-modal__fields{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.25rem}
.alfred-modal__field{display:flex;flex-direction:column;gap:0.25rem}
.alfred-modal__field-label{font-size:0.6875rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:0.03em}
.alfred-modal__field-input{width:100%;box-sizing:border-box;font-family:var(--font-sans);font-size:0.875rem}
textarea.alfred-modal__field-input{font-family:var(--font-mono);font-size:0.8125rem;resize:vertical;min-height:160px;line-height:1.5}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* MULTISELECT DROPDOWN */
.multiselect{position:relative;display:inline-block}
.multiselect__trigger{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 0.875rem;background:var(--bg-input);border:1px solid var(--border);border-radius:0.5rem;color:var(--text-muted);font-size:0.8125rem;font-family:var(--font-sans);cursor:pointer;transition:border-color 0.2s,color 0.2s;white-space:nowrap}
.multiselect__trigger:hover{border-color:var(--text-muted);color:var(--text)}
.multiselect__trigger[data-active="true"]{border-color:var(--accent);color:var(--accent)}
.multiselect__panel{position:absolute;top:100%;left:0;margin-top:0.375rem;min-width:200px;background:var(--bg-card);border:1px solid var(--border);border-radius:0.5rem;padding:0.5rem;box-shadow:0 8px 24px rgba(0,0,0,0.4);z-index:50}
.multiselect__panel[data-state="closed"]{display:none}
.multiselect__panel[data-state="open"]{display:grid;gap:0.125rem}
.multiselect__panel[data-columns="2"]{grid-template-columns:1fr 1fr;min-width:320px}
.multiselect__panel[data-columns="3"]{grid-template-columns:1fr 1fr 1fr;min-width:440px}
.multiselect__option{display:flex;align-items:center;gap:0.5rem;padding:0.375rem 0.625rem;border-radius:0.375rem;cursor:pointer;font-size:0.8125rem;color:var(--text);transition:background 0.1s}
.multiselect__option:hover{background:var(--bg-hover)}
.multiselect__checkbox{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}
.multiselect__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Combobox enrichi (client) — search + sections */
.multiselect__search{width:100%;box-sizing:border-box;padding:0.375rem 0.625rem;margin-bottom:0.375rem;background:var(--bg-input);border:1px solid var(--border);border-radius:0.375rem;color:var(--text);font-size:0.8125rem;font-family:var(--font-sans);outline:none;transition:border-color 0.15s}
.multiselect__search:focus{border-color:var(--accent)}
.multiselect__search::placeholder{color:var(--text-muted)}
.multiselect__section-label{font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-muted);padding:0.5rem 0.625rem 0.125rem;margin-top:0.25rem}
.multiselect__section{display:flex;flex-direction:column;gap:0.0625rem}
.multiselect__count{margin-left:auto;font-size:0.625rem;font-weight:600;color:var(--text-muted);background:var(--bg-hover);padding:0.0625rem 0.375rem;border-radius:9999px}

/* Panel client — layout 2 colonnes, scrollbar masquée */
.multiselect__panel--client{min-width:560px;max-height:75vh;overflow:hidden;padding:0}
.multiselect__panel--client[data-state="open"]{display:flex;flex-direction:row;gap:0}
.multiselect__panel--client .multiselect__search{margin:0.5rem 0.5rem 0;width:auto}
.multiselect__panel--client .multiselect__col{overflow-y:auto;padding:0 0.5rem 0.5rem;scrollbar-width:none;-ms-overflow-style:none}
.multiselect__panel--client .multiselect__col::-webkit-scrollbar{display:none}
.multiselect__panel--client .multiselect__col--left{flex-basis:280px;border-right:1px solid var(--border)}
.multiselect__panel--client .multiselect__col--right .multiselect__section{display:block;column-count:2;column-gap:0.5rem;max-height:65vh}
.multiselect__panel--client .multiselect__col--right .multiselect__section .multiselect__option{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;display:flex}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* MESSAGES — cartouches info / warning / error persona */
.alfred-message{display:flex;align-items:center;justify-content:center;gap:0.75rem;padding:1rem 1.25rem;border-radius:0.625rem;font-size:0.8125rem;line-height:1.45}
.alfred-message--error{background:rgba(239,68,68,0.06);border:1px dashed var(--red)}
.alfred-message--warning{background:rgba(245,158,11,0.06);border:1px dashed var(--orange)}
.alfred-message--info{background:rgba(99,102,241,0.06);border:1px dashed var(--accent)}
.alfred-message__icon{flex-shrink:0;width:2.0rem;}
.alfred-message--error .alfred-message__icon{color:var(--red)}
.alfred-message--warning .alfred-message__icon{color:var(--orange)}
.alfred-message--info .alfred-message__icon{color:var(--accent)}
.alfred-message__body{display:flex;flex-direction:column;gap:0.25rem}
.alfred-message__title{font-weight:600;color:var(--text);font-size:0.9rem}
.alfred-message__text{color:var(--text-muted)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* AUTOCOMPLETE — dropdown custom positionné sous l'input */
.alfred-autocomplete{position:relative}
.alfred-autocomplete__panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:0.25rem;max-height:280px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:0.5rem;box-shadow:0 8px 24px rgba(0,0,0,0.4);scrollbar-width:thin}
.alfred-autocomplete__panel[data-state="open"]{display:block}
.alfred-autocomplete__option{display:block;width:100%;padding:0.5rem 0.75rem;background:none;border:none;text-align:left;font-size:0.8125rem;color:var(--text);cursor:pointer;transition:background 0.1s;font-family:var(--font-sans)}
.alfred-autocomplete__option:hover,.alfred-autocomplete__option[data-focused]{background:var(--bg-hover)}
.alfred-autocomplete__empty{padding:0.75rem;font-size:0.8125rem;color:var(--text-muted);font-style:italic;text-align:center}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* CHIPS (filtres actifs) */
.alfred-chip{display:inline-flex;align-items:center;gap:0.25rem;padding:0.25rem 0.625rem;background:var(--accent-subtle);color:var(--accent);border-radius:9999px;font-size:0.6875rem;font-weight:500;white-space:nowrap}
.listing__active-filters .alfred-chip{background:var(--bg-card);color:var(--color-alfred-muted);border-radius:9999px;font-size:0.6875rem;font-weight:500;white-space:nowrap}
.alfred-chip__remove{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:0.875rem;line-height:1;opacity:0.7;transition:opacity 0.15s}
.listing__active-filters .alfred-chip__remove{color:var(--accent)}
.alfred-chip__remove:hover{opacity:1}
.alfred-chip--clear{background:var(--bg-hover);color:var(--text-muted);cursor:pointer;border:none;font-family:var(--font-sans)}
.alfred-chip--clear:hover{color:var(--text)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* TABLE TRI COLONNES */
.alfred-table__th[data-sortable]{cursor:pointer;user-select:none}
.alfred-table__th[data-sortable]:hover{color:var(--text)}
.alfred-table__th[data-sort="asc"] .alfred-table__sort-icon{transform:rotate(180deg)}
.alfred-table__sort-icon{display:inline-block;margin-left:0.25rem;font-size:0.625rem;opacity:0.4;transition:opacity 0.15s,transform 0.15s}
.alfred-table__th[data-sort] .alfred-table__sort-icon{opacity:1;color:var(--accent)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* DATE RANGE */
.alfred-date-range{display:inline-flex;align-items:center;gap:0.375rem}
.alfred-date-range__input{padding:0.5rem 0.625rem;background:var(--bg-input);border:1px solid var(--border);border-radius:0.5rem;color:var(--text);font-size:0.8125rem;font-family:var(--font-sans);outline:none;transition:border-color 0.2s;width:130px}
.alfred-date-range__input:focus{border-color:var(--accent)}
.alfred-date-range__sep{color:var(--text-muted);font-size:0.75rem}
.alfred-date-range__preset{padding:0.5rem 0.625rem;background:var(--bg-input);border:1px solid var(--border);border-radius:0.5rem;color:var(--text-muted);font-size:0.75rem;cursor:pointer;transition:border-color 0.2s,color 0.2s;white-space:nowrap;font-family:var(--font-sans)}
.alfred-date-range__preset:hover{border-color:var(--text-muted);color:var(--text)}
.alfred-date-range__preset[data-active="true"]{border-color:var(--accent);color:var(--accent)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* PAGE HEADER */
.alfred-page-header{margin-bottom:2rem}
.alfred-page-header__title{font-size:1.5rem;font-weight:700;margin:0 0 0.25rem;color:var(--text-heading)}
.alfred-page-header__subtitle{font-size:0.875rem;color:var(--text-muted);margin:0}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* ALFRED TOOLTIP — composant générique (data-alfred-tooltip="...")
   Anime via data-state (closed → measuring → visible → closing).
   Positionné en JS (top/left), placement bas ou haut via data-placement. */
.alfred-tooltip{position:absolute;z-index:10000;pointer-events:none;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:0.375rem;padding:0.375rem 0.625rem;font-size:0.75rem;line-height:1.35;max-width:280px;box-shadow:0 4px 16px rgba(0,0,0,0.35);opacity:0;transform:translateY(4px);transition:opacity 0.15s ease-out,transform 0.15s ease-out;white-space:pre-line;text-align:center}
.alfred-tooltip[data-state="measuring"]{opacity:0;visibility:hidden}
.alfred-tooltip[data-state="visible"]{opacity:1;transform:translateY(0)}
.alfred-tooltip[data-state="closing"]{opacity:0;transform:translateY(2px);transition-duration:0.1s}
.alfred-tooltip[data-state="closed"]{display:none}
/* Petit decalage selon placement (haut = sort vers le bas, bas = sort vers le haut) */
.alfred-tooltip[data-placement="bottom"]{transform:translateY(-4px)}
.alfred-tooltip[data-placement="bottom"][data-state="visible"]{transform:translateY(0)}
.alfred-tooltip[data-placement="bottom"][data-state="closing"]{transform:translateY(-2px)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* SYNC FLASH — petit tooltip transient ancré sur le bouton sync sidebar */
.alfred-sync-flash{background:var(--bg-card);border:1px solid var(--border);border-radius:0.375rem;padding:0.5rem 0.75rem;font-size:0.75rem;color:var(--text);box-shadow:0 4px 12px rgba(0,0,0,0.4);max-width:240px;z-index:9999;animation:alfred-sync-flash-in 0.2s ease-out;pointer-events:none;line-height:1.35}
.alfred-sync-flash--error{border-color:var(--red);color:var(--red);background:rgba(239,68,68,0.08)}
.alfred-sync-flash--info{border-color:var(--accent);color:var(--accent);background:rgba(48,236,232,0.08)}
@keyframes alfred-sync-flash-in{
	from{opacity:0;transform:translateY(8px)}
	to{opacity:1;transform:translateY(0)}
}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* DEMO BANNER — alerte globale en haut du main content */
.alfred-demo-banner{display:flex;align-items:flex-start;gap:0.75rem;padding:0.875rem 1.125rem;margin-bottom:1.25rem;background:linear-gradient(135deg,rgba(245,158,11,0.08),rgba(245,158,11,0.03));border:1px dashed var(--orange);border-left:3px solid var(--orange);border-radius:0.625rem;color:var(--text);font-size:0.8125rem;line-height:1.55}
.alfred-demo-banner__icon{flex-shrink:0;color:var(--orange);margin-top:0.125rem}
.alfred-demo-banner__text{flex:1;min-width:0}
.alfred-demo-banner__text strong{color:var(--text);font-weight:600}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* SCROLLBAR ALFRED — utilitaire applique sur tout conteneur qui scroll.
   Fine (6px), track transparent, thumb qui se reveille au hover du conteneur.
   Firefox via scrollbar-width + couleur, Chromium via ::-webkit-scrollbar. */
.alfred-scroll{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.alfred-scroll::-webkit-scrollbar{width:6px;height:6px}
.alfred-scroll::-webkit-scrollbar-track{background:transparent}
.alfred-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;transition:background 0.15s}
.alfred-scroll:hover::-webkit-scrollbar-thumb{background:var(--text-muted)}
.alfred-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent)}

/* Application directe aux zones qui scrollent beaucoup */
.jira-drawer__body,.dossier-detail__body,.pull-conflict__body{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.jira-drawer__body::-webkit-scrollbar,.dossier-detail__body::-webkit-scrollbar,.pull-conflict__body::-webkit-scrollbar{width:6px;height:6px}
.jira-drawer__body::-webkit-scrollbar-track,.dossier-detail__body::-webkit-scrollbar-track,.pull-conflict__body::-webkit-scrollbar-track{background:transparent}
.jira-drawer__body::-webkit-scrollbar-thumb,.dossier-detail__body::-webkit-scrollbar-thumb,.pull-conflict__body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;transition:background 0.15s}
.jira-drawer__body:hover::-webkit-scrollbar-thumb,.dossier-detail__body:hover::-webkit-scrollbar-thumb,.pull-conflict__body:hover::-webkit-scrollbar-thumb{background:var(--text-muted)}
.jira-drawer__body::-webkit-scrollbar-thumb:hover,.dossier-detail__body::-webkit-scrollbar-thumb:hover,.pull-conflict__body::-webkit-scrollbar-thumb:hover{background:var(--accent)}

/* /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ */
/* BADGES SÉMANTIQUES — référentiel Alfred (3 cycles)
   Pose le contexte de chaque vue : Côté Achat (LEB paye) / Côté Vente
   (LEB facture clients) / Contrôle (garde-fous) / Référentiel.
   À appliquer dans le header des pages principales. */
.alfred-cycle-badge{display:inline-flex;align-items:center;gap:0.375rem;padding:0.25rem 0.625rem;border-radius:9999px;font-size:0.7rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;line-height:1.4;border:1px solid transparent}
.alfred-cycle-badge--purchase{background:rgba(245,158,11,0.08);color:#92400e;border-color:rgba(245,158,11,0.25)}
.alfred-cycle-badge--sale{background:rgba(34,197,94,0.08);color:#166534;border-color:rgba(34,197,94,0.25)}
.alfred-cycle-badge--control{background:rgba(239,68,68,0.08);color:#991b1b;border-color:rgba(239,68,68,0.25)}
.alfred-cycle-badge--reference{background:var(--bg-hover);color:var(--text-muted);border-color:var(--border)}

@media (prefers-color-scheme: dark){
	.alfred-cycle-badge--purchase{color:#fbbf24;background:rgba(245,158,11,0.15)}
	.alfred-cycle-badge--sale{color:#4ade80;background:rgba(34,197,94,0.15)}
	.alfred-cycle-badge--control{color:#fca5a5;background:rgba(239,68,68,0.15)}
}
