/* ── ew-equipe — accès de l'équipe et droits ────────────────────────────────── */
.ewq { font-size: .92rem; color: var(--t1, #1a1a18); }
.ewq-intro { font-size: .88rem; color: var(--t2, #54627A); background: rgba(38,105,204,.06); border-left: 3px solid var(--accent, #2669CC); padding: 10px 12px; border-radius: 8px; }
.ewq-titre { display:flex; align-items:center; gap:8px; font-weight:800; font-size:.95rem; margin: 20px 0 8px; }
.ewq-n { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 6px; border-radius:10px; background: rgba(38,105,204,.12); color: var(--accent-deep, #1855BD); font-size:.74rem; font-weight:800; }
.ewq-empty { color: var(--t3, #606C80); font-size:.86rem; padding: 8px 0; }

.ewq-row { border:1px solid var(--border, #e3e3de); border-radius: 12px; padding: 12px 14px; margin: 8px 0; background: var(--bs-body-bg, #fff); display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start; }
.ewq-row.est-inactif { opacity:.65; }
.ewq-main { flex: 1 1 260px; min-width: 0; }
.ewq-off { margin-left:8px; font-size:.72rem; font-weight:700; color: var(--t3, #606C80); border:1px solid currentColor; border-radius:20px; padding:1px 8px; }
.ewq-meta { font-size:.8rem; color: var(--t3, #606C80); margin-top: 2px; }
.ewq-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top: 7px; }
.ewq-tag { font-size:.73rem; font-weight:600; background: rgba(38,105,204,.09); color: var(--accent-deep, #1855BD); border-radius: 20px; padding: 2px 9px; }
.ewq-tag.est-vide { background: transparent; color: var(--t3, #606C80); border:1px dashed var(--border, #e3e3de); }
.ewq-act { display:flex; gap:6px; flex-shrink:0; }
.ewq-slot { flex: 1 1 100%; }

.ewq-form { border: 1px dashed var(--accent-line, rgba(38,105,204,.4)); background: rgba(38,105,204,.04); border-radius: 12px; padding: 14px 16px; margin-top: 10px; }
.ewq-form label { display:block; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color: var(--t2, #54627A); margin: 10px 0 4px; }
.ewq-form label:first-child { margin-top: 0; }
.ewq-form input[type=text], .ewq-form input[type=email], .ewq-form input[type=password], .ewq-form input:not([type]) { width:100%; border:1px solid var(--border, #e3e3de); border-radius: 9px; padding: 8px 10px; font: inherit; font-size:.9rem; background:#fff; color: inherit; }
.ewq-profils { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:.8rem; color: var(--t3, #606C80); margin-bottom: 8px; }
.ewq-chip { border:1px solid var(--border, #e3e3de); background:#fff; color: var(--t2, #54627A); border-radius: 20px; padding: 3px 11px; font-size:.78rem; font-weight:700; cursor:pointer; }
.ewq-chip:hover { border-color: var(--accent, #2669CC); color: var(--accent-deep, #1855BD); }
.ewq-chip.est-actif { background: var(--accent-deep, #1855BD); border-color: var(--accent-deep, #1855BD); color:#fff; }
.ewq-droits { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 4px 14px; }
/* Spécificité : ces libellés doivent battre la règle générale `.ewq-form label`
   (majuscules), sinon un droit s'affiche en capitales et devient illisible. */
.ewq-form label.ewq-droit { display:flex; align-items:flex-start; gap:8px; font-size:.87rem; font-weight:500; text-transform:none; letter-spacing:0; color: var(--t1, #1a1a18); margin: 0; padding: 5px 0; cursor:pointer; line-height:1.35; }
.ewq-form label.ewq-droit.est-bloque { color: var(--t3, #606C80); cursor: not-allowed; }
.ewq-form label.ewq-droit input { margin-top: 3px; flex-shrink: 0; }
.ewq-form label.ewq-actif { display:flex; align-items:center; gap:8px; font-size:.87rem; font-weight:600; text-transform:none; letter-spacing:0; margin-top: 14px; }
.ewq-actions { display:flex; gap:8px; margin-top: 14px; }
.ewq-btn { border:0; border-radius: 9px; padding: 7px 13px; font-size:.84rem; font-weight:700; cursor:pointer; background: rgba(38,105,204,.1); color: var(--accent-deep, #1855BD); transition: transform .12s, background .12s; }
.ewq-btn:hover { transform: translateY(-1px); background: rgba(38,105,204,.16); }
.ewq-btn.pri { background: var(--accent-deep, #1855BD); color:#fff; }
.ewq-btn.pri:hover { background: var(--accent, #2669CC); }
.ewq-btn.ghost { background: transparent; color: var(--t3, #606C80); font-weight:600; }
.ewq-btn:disabled { opacity:.55; cursor:default; transform:none; }
.ewq-err { color: var(--danger, #C8291D); font-size:.85rem; margin-top: 8px; }
.ewq-err[hidden] { display:none; }

.ewq-modal-back { position: fixed; inset: 0; background: rgba(7,16,34,.55); z-index: 99980; display:flex; align-items:flex-start; justify-content:center; padding: 40px 12px; overflow:auto; }
.ewq-modal { width: min(820px, 100%); background:#fff; border-radius: 16px; box-shadow: 0 30px 80px -20px rgba(7,16,34,.5); padding: 18px 20px 16px; }
.ewq-modal-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom: 10px; }
.ewq-modal-head h3 { margin:0; font-size:1.1rem; font-weight:800; letter-spacing:-.01em; display:flex; align-items:center; gap:8px; }
.ewq-modal-head h3 i { color: var(--accent-deep, #1855BD); }
@media (max-width: 640px) { .ewq-modal-back { padding: 10px; } .ewq-droits { grid-template-columns: 1fr; } }
