/* Miembros y fichas de perfil */

/* ================================================================ miembros */
.members-table { overflow: hidden; }
.mt-row {
  display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(215px, 1fr) minmax(140px, 1fr) minmax(110px, .7fr) 230px;
  align-items: center; gap: 16px; padding: 14px 20px;
  border-bottom: 1px solid var(--border);
}
.mt-row:last-child { border-bottom: 0; }
.mt-row.is-me { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.mt-head { padding-top: 12px; padding-bottom: 12px; background: var(--surface-2); font-size: 12px; font-weight: 650; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.mt-member { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mt-member > div { display: grid; min-width: 0; }
.mt-cell { display: flex; align-items: center; gap: 6px; min-width: 0; }
.mt-cell .role-select { max-width: 100%; min-width: 0; }
.mt-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.pwd { font-family: var(--mono); font-size: 13px; }
.pwd.masked { letter-spacing: .12em; color: var(--muted); }
code.pwd { padding: 2px 8px; border-radius: 6px; background: var(--surface-3); color: var(--text); word-break: break-all; }

/* Perfil */
.modal.profile { max-width: 520px; }
.pf-head { display: flex; align-items: center; gap: 18px; }
.pf-id { display: grid; gap: 2px; min-width: 0; }
.pf-id h3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 20px; }
.pf-online { color: var(--success); font-weight: 600; }
.pf-bio { margin: 14px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--surface-2); color: var(--text-2); font-style: italic; }
.pf-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 18px 0 0; }
.pf-info div { min-width: 0; }
.pf-info dt { display: flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 650; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.pf-info dt .icon { width: 12px; height: 12px; }
.pf-info dd { margin: 2px 0 0; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pf-info code { font-family: var(--mono); font-size: 13px; }
.pf-section { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border); display: grid; gap: 8px; }
.pf-section h4 { display: flex; align-items: center; gap: 6px; font-size: 13.5px; }
.pf-section h4 .icon { width: 15px; height: 15px; color: var(--accent-ink); }
.pf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.pf-list a { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; color: var(--text); text-decoration: none; font-size: 14px; }
.pf-list a:hover { background: var(--surface-2); }
.pf-list .dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
.pf-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Miembros: lista limpia, sin colores de más */
.members-list { padding: 4px; }
.mrow {
  position: relative; display: grid; grid-template-columns: auto minmax(160px, 1.4fr) minmax(120px, 1fr) minmax(110px, .8fr) minmax(0, 1.2fr) auto;
  align-items: center; gap: 14px; padding: 12px 14px; border-radius: 12px; transition: background .12s;
}
.mrow + .mrow { box-shadow: 0 -1px 0 var(--border); }
.mrow:hover { background: var(--surface-2); }
.mrow.is-me { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.mr-main { display: grid; min-width: 0; }
.mr-main strong { display: flex; align-items: center; gap: 6px; font-size: 14.5px; }
.mr-main .muted { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-role { font-size: 13.5px; color: var(--text-2); }
.mr-online { display: inline-flex; align-items: center; gap: 6px; color: var(--success); font-weight: 600; }
.mr-online::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #22c55e; }
.mr-meta { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mr-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-missing { color: var(--danger-text); font-weight: 600; }
.mr-2fa { display: inline-flex; color: var(--success); }
.mr-2fa .icon { width: 15px; height: 15px; }
.mr-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.mrow:not(:has(.mr-meta)) { grid-template-columns: auto minmax(160px, 1.4fr) minmax(120px, 1fr) minmax(110px, .8fr) auto; }
.member-menu { top: 52px; right: 12px; }
.role-pick { display: grid; gap: 4px; }
.role-option { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; cursor: pointer; font-size: 14px; }
.role-option:hover { background: var(--surface-2); }
.role-option input { accent-color: var(--accent); }
