/* Projets internes / partagés (2026-10-15) : badge de l'en-tête du tableau, tête des dialogues de
   partage et des membres, choix à la création, repère des colonnes vues de l'extérieur.
   Interne = gris neutre et cadenas ; partagé = jaune vif et globe : on ne doit pas pouvoir les confondre. */

/* ---- badge de l'en-tête (sur le fond coloré du tableau) ---- */
.vis-badge { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px 0 8px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1; white-space: nowrap; border: 0; box-shadow: 0 1px 2px #091e4240; }
.vis-badge .vis-ico { font-size: 14px; line-height: 1; }
.vis-badge.is-internal { background: var(--surface-2); color: var(--text); }
.vis-badge.is-public { background: #f5cd47; color: #533f04; }
button.vis-badge { cursor: pointer; }
button.vis-badge.is-internal:hover { background: var(--surface); }
button.vis-badge.is-public:hover { background: #f8d966; }
button.vis-badge:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.vis-count { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #533f04; color: #f5cd47; font-size: 11px; }
@media (max-width: 600px) { .vis-badge .lbl, .vis-badge .vis-count { display: none; } .vis-badge { padding: 0 8px; } }

/* ---- tête des dialogues « Partager » et « Membres et accès » ---- */
.vis-head { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; margin-bottom: 10px; line-height: 18px; }
.vis-head.is-internal { background: var(--surface-2); }
.vis-head.is-public { background: var(--tint-yellow); box-shadow: inset 0 0 0 1px #f5cd47; }
.vis-head .vis-ico { font-size: 20px; line-height: 1; }
.vis-head > div { flex: 1; min-width: 0; }
.vis-head .small { color: var(--subtle); }
.vis-note { margin: 8px 0 0; padding: 6px 8px; font-size: 12px; line-height: 16px; color: var(--subtle); background: var(--surface-sunken); border-left: 3px solid #dcdfe4; border-radius: 3px; }
.linkish { display: inline; padding: 0; border: 0; background: none; color: var(--primary); text-decoration: underline; cursor: pointer; }
.linkish:hover { color: var(--primary-h); }

/* ---- confirmation du changement ---- */
.vis-help { margin: 0 0 8px; font-size: 13px; line-height: 18px; }
.vis-people { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.vis-people li { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.vis-ok { width: 100%; justify-content: center; white-space: normal; text-align: center; }

/* ---- création d'un tableau ---- */
.vis-choice { display: grid; gap: 6px; }
.vis-opt { display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }
.vis-opt:hover { background: var(--surface-2); }
.vis-opt:has(input:checked) { border-color: var(--primary); background: var(--tint-blue); }
.vis-opt input[type=radio] { width: auto; flex: none; margin: 2px 0 0; }
.vis-opt b { display: block; font-size: 13px; line-height: 18px; }
.vis-opt .small { display: block; }

/* ---- kanban d'un projet partagé : colonnes vues de l'extérieur ---- */
.vis-col { font-size: 12px; line-height: 1; opacity: .7; cursor: help; padding: 2px; }
.vis-col:hover { opacity: 1; }
