/* ==== Vues : popins, ordre du tableau, assignés multiples, étiquettes ===== */

/* ---- Popins (fiche ticket, création de ticket ou de projet) ---- */
.mud-dialog.isy-popin {
    height: calc(100dvh - 48px); max-height: calc(100dvh - 48px);
    overflow: hidden; border-radius: 14px;
    background: var(--mud-palette-background);
}
.mud-dialog.isy-popin--form { height: auto; }
.mud-dialog.isy-popin .isy-popin__titlebar {
    padding: 10px 12px 10px 20px; background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}
.mud-dialog.isy-popin .isy-popin__content { padding: 20px 24px 28px; overflow-y: auto; scrollbar-width: thin; }
.isy-popin__bar { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 32px; font-size: .875rem; }
.isy-popin__project { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mud-palette-text-secondary); }
.isy-popin__sep { font-size: 1rem !important; color: var(--mud-palette-text-secondary); opacity: .6; flex: none; }
.isy-popin__spacer { flex: 1 1 auto; }
.isy-popin__icon {
    display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; flex: none;
    color: var(--mud-palette-primary); background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}
.isy-popin__heading { font-size: 1rem; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.isy-popin__lead { margin: 0 0 16px; font-size: .875rem; }
.isy-popin .isy-section { margin-bottom: 16px; }
.isy-popin .isy-ticketheader { margin-bottom: 20px; }
.isy-popin .isy-ticketheader__title { font-size: 1.4rem; }
.isy-popin .isy-detail { grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; }

/* ---- Fiche : titre modifiable, libellés de champs ---- */
.isy-ticketheader__title--editable { cursor: text; border-radius: 8px; margin-left: -8px; padding: 2px 8px; transition: background-color .15s; }
.isy-ticketheader__title--editable:hover, .isy-ticketheader__title--editable:focus-visible {
    background: var(--mud-palette-action-default-hover); outline: none;
}
.isy-ticketheader__edit { font-size: 1.05rem !important; margin-left: 6px; vertical-align: middle; color: var(--mud-palette-text-secondary); opacity: 0; transition: opacity .15s; }
.isy-ticketheader__title--editable:hover .isy-ticketheader__edit, .isy-ticketheader__title--editable:focus-visible .isy-ticketheader__edit { opacity: 1; }
.isy-titleedit { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 12px; }
.isy-titleedit__field { flex: 1 1 auto; }
.isy-titleedit__field .mud-input-control { margin: 0 !important; }
.isy-titleedit__field input { font-size: 1.25rem; font-weight: 700; letter-spacing: -.01em; }
.isy-titleedit .mud-icon-button { margin-top: 10px; }
.isy-fieldlabel { margin-bottom: 6px; font-size: .8rem; font-weight: 500; color: var(--mud-palette-text-secondary); }
.isy-prop--top { align-items: start; }
.isy-prop--top > .isy-prop__label { padding-top: 8px; }
.isy-prop__value--stack { flex-direction: column; align-items: flex-start; gap: 6px; padding: 6px 0; }

/* ---- Assignés empilés ---- */
.isy-avatarstack { display: inline-flex; align-items: center; flex-direction: row; }
.isy-avatarstack > .isy-avatar-wrap + .isy-avatar-wrap,
.isy-avatarstack > .isy-avatar-wrap + .isy-avatarstack__more { margin-left: calc(var(--size) * -0.3); }
.isy-avatarstack__more { --avatar: var(--mud-palette-text-secondary); font-size: calc(var(--size) * 0.36); letter-spacing: 0; }
.isy-avatarstack__none { font-size: .8rem; margin-left: 8px; }

/* ---- Éditeur d'étiquettes ---- */
.isy-labeledit { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.isy-labeledit__chips { display: flex; flex-wrap: wrap; gap: 4px; padding-top: 6px; }
.isy-labeledit .mud-input-control { margin: 0 !important; }
.isy-labeledit__create { display: inline-flex; align-items: center; gap: 4px; font-size: .85rem; font-weight: 500; color: var(--mud-palette-primary); }
.isy-label--removable { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; margin: 0; padding-right: 2px; }
.isy-label__text { overflow: hidden; text-overflow: ellipsis; }
.isy-label__remove {
    display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; padding: 0; border: 0; border-radius: 3px;
    color: inherit; background: transparent; cursor: pointer; opacity: .7;
}
.isy-label__remove:hover, .isy-label__remove:focus-visible { opacity: 1; background: color-mix(in srgb, var(--label) 22%, transparent); outline: none; }

/* ---- Paramètres : vue par défaut, couleurs des étiquettes ---- */
.isy-defaultview {
    display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 10px 12px;
    border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; font-size: .78rem;
}
.isy-defaultview__text { flex: 1 1 200px; min-width: 0; }
.isy-defaultview__title { font-size: .875rem; font-weight: 600; color: var(--mud-palette-text-primary); }
.isy-defaultview__toggle .mud-toggle-item { gap: 6px; text-transform: none; }

.isy-labelrows { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 16px; }
.isy-labelrow { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 4px 6px; border-radius: 8px; }
.isy-labelrow:hover { background: var(--mud-palette-action-default-hover); }
.isy-labelrow .isy-label { margin: 0; max-width: 170px; }
.isy-labelrow__count { margin-left: auto; font-size: .75rem; white-space: nowrap; }
.isy-labelrow__dirty { font-size: .78rem; font-style: italic; }

.isy-swatch {
    display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; flex: none;
    border: 2px solid transparent; border-radius: 6px; cursor: pointer; color: #fff;
    background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
    transition: transform .1s ease, border-color .1s ease;
}
.isy-swatch:hover, .isy-swatch:focus-visible { transform: scale(1.12); outline: none; }
.isy-swatch.is-selected { border-color: var(--mud-palette-text-primary); }
.isy-swatch--current { width: 38px; justify-content: flex-end; border-radius: 6px; }
.isy-swatch--current.is-auto { background: repeating-linear-gradient(135deg, var(--swatch) 0 6px, color-mix(in srgb, var(--swatch) 55%, white) 6px 12px); }
.isy-swatch:disabled { cursor: default; opacity: .6; transform: none; }
.isy-swatches { padding: 12px; }
.isy-swatches__grid { display: grid; grid-template-columns: repeat(5, 26px); gap: 8px; }
.isy-swatches__auto {
    display: flex; align-items: center; gap: 6px; width: 100%; margin-top: 10px; padding: 6px 8px; border: 0; border-radius: 6px;
    font: inherit; font-size: .8rem; color: var(--mud-palette-text-primary); background: var(--mud-palette-background-gray); cursor: pointer;
}
.isy-swatches__auto:hover, .isy-swatches__auto.is-selected { background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent); color: var(--mud-palette-primary); }

/* ---- Tableau : colonnes déplaçables, rang des cartes ---- */
.isy-board-toolbar__hint { display: inline-flex; align-items: center; gap: 4px; font-size: .78rem; white-space: nowrap; }
.isy-board__head--movable { cursor: grab; border-radius: 12px 12px 0 0; }
.isy-board__head--movable:hover { background: color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent); }
.isy-board__head--movable:active { cursor: grabbing; }
.isy-board__grip { font-size: 1rem !important; margin: 0 -4px 0 -6px; color: var(--mud-palette-text-secondary); opacity: 0; transition: opacity .15s; }
.isy-board__head--movable:hover .isy-board__grip { opacity: .8; }
.isy-board__col.is-coldragging { opacity: .45; }
.isy-board__col.is-coltarget--before { box-shadow: inset 0 3px 0 var(--col, transparent), -3px 0 0 var(--mud-palette-primary); }
.isy-board__col.is-coltarget--after { box-shadow: inset 0 3px 0 var(--col, transparent), 3px 0 0 var(--mud-palette-primary); }
/* Pendant le glisser d'une colonne, les cartes n'interceptent pas le survol. */
.isy-board.is-coldrag .isy-board__zone { pointer-events: none; }

@media (max-width: 1100px) {
    .isy-popin .isy-detail { grid-template-columns: minmax(0, 1fr); }
}
/* ---- Fiche : menu « ⋯ » (actions d'administration) et suppression définitive ---- */
.isy-ticketheader__more { margin-left: auto; }
.isy-ticketheader__more .mud-icon-button { color: var(--mud-palette-text-secondary); }
.isy-menuitem--danger, .isy-menuitem--danger .mud-icon-root { color: var(--mud-palette-error) !important; }
.isy-section__icon--danger { color: var(--mud-palette-error); background: color-mix(in srgb, var(--mud-palette-error) 12%, transparent); }
.mud-dialog.isy-deletedialog { border-radius: 14px; }
.isy-deletedialog__lead { margin: 0 0 10px; font-size: .9rem; line-height: 1.5; }
.isy-deletedialog__list { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; padding: 0; list-style: none; font-size: .875rem; }
.isy-deletedialog__list li { display: flex; align-items: center; gap: 8px; }
.isy-deletedialog__list .mud-icon-root { font-size: 1rem; color: var(--mud-palette-text-secondary); }
.isy-deletedialog__warn {
    display: flex; align-items: flex-start; gap: 8px; margin-bottom: 16px; padding: 8px 12px; border-radius: 8px; font-size: .8rem; line-height: 1.45;
    color: var(--mud-palette-text-primary); background: color-mix(in srgb, var(--mud-palette-warning) 12%, transparent);
}
.isy-deletedialog__warn .mud-icon-root { flex: none; margin-top: 1px; color: var(--mud-palette-warning); }

@media (max-width: 600px) {
    .mud-dialog.isy-popin { height: 100dvh; max-height: 100dvh; width: 100%; max-width: 100% !important; margin: 0; border-radius: 0; }
    .mud-dialog.isy-popin .isy-popin__content { padding: 16px; }
    .isy-popin__project, .isy-popin__sep { display: none; }
}

/* Choix d'une personne (assignés, rapporteur) : liste assez large pour les noms complets, e-mail en second */
.isy-memberpicker { min-width: 300px !important; max-width: min(380px, calc(100vw - 32px)); }
.isy-memberpicker .mud-list-item { padding-top: 6px; padding-bottom: 6px; }
.isy-memberopt { display: flex; align-items: center; gap: 10px; min-width: 0; width: 100%; }
.isy-memberopt__text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; line-height: 1.25; }
.isy-memberopt__name { font-size: .875rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.isy-memberopt__email { font-size: .72rem; color: var(--mud-palette-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.isy-memberopt__tag {
    flex: none; font-size: .65rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; padding: 1px 6px; border-radius: 999px;
    color: color-mix(in srgb, var(--mud-palette-info) 80%, var(--mud-palette-text-primary));
    background: color-mix(in srgb, var(--mud-palette-info) 12%, transparent);
}
/* Valeur empilée (« Créé par ») : le nom long (e-mail) est tronqué au lieu de déborder */
.isy-prop__value--stack { min-width: 0; max-width: 100%; }
.isy-prop__value--stack > .isy-avatar-wrap { max-width: 100%; }
