/* Distribución y variantes del directorio; la base compartida vive en tables.css. */
.users-page { width: 100%; max-width: 1500px; min-width: 0; margin: 10px auto 30px; color: var(--t-text); }
.users-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.users-eyebrow { margin: 0 0 7px; color: var(--t-muted); font-size: calc(10px * var(--ui-scale, 1)); font-weight: 700; letter-spacing: .12em; }
.users-heading h1 { margin: 0; font-size: calc(29px * var(--ui-scale, 1)); font-weight: 700; letter-spacing: -.035em; }
.users-heading h1 + p { margin: 8px 0 0; color: var(--t-muted); font-size: calc(13px * var(--ui-scale, 1)); }
.users-search { flex: 1 1 300px; }
.users-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.users-filters > .data-filter-actions { margin-top: 0; padding-top: 2px; }
.users-table { min-width: 1020px; }
.users-table tbody th { min-width: 250px; }
.users-table td:nth-child(2) { min-width: 130px; }
.users-table td:nth-child(4) { min-width: 215px; }
.users-role { display: inline-block; margin-left: 5px; padding: 2px 6px; border-radius: 4px; color: var(--t-muted); background: var(--t-subtle); font-size: calc(10px * var(--ui-scale, 1)); font-weight: 500; }
.users-detail { margin: 0 22px 18px; padding: 18px; border: 1px solid var(--t-line); border-radius: 9px; background: var(--t-subtle); }
.users-detail h3 { margin: 0 0 16px; font-size: calc(16px * var(--ui-scale, 1)); font-weight: 700; }
.users-detail h3:focus { outline: none; }
.users-detail > p { font-size: calc(13px * var(--ui-scale, 1)); line-height: 1.7; }
.users-detail-grid, .users-edit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 18px; }
.users-detail-grid dt { margin-bottom: 5px; color: var(--t-muted); font-size: calc(11px * var(--ui-scale, 1)); font-weight: 500; }
.users-detail-grid dd { margin: 0; overflow-wrap: anywhere; font-size: calc(13px * var(--ui-scale, 1)); }
.users-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.users-edit-errors .validation-errors { padding-left: 18px; margin: 0 0 12px; }
.users-edit-errors .validation-message { color: #a33740; font-size: calc(12px * var(--ui-scale, 1)); }

/* Detalles propios del directorio de usuarios. */
.users-directory .users-heading { padding-left: 16px; border-left: 3px solid var(--color-brand-red, #c53736); }
.users-directory .users-eyebrow { color: var(--color-brand-blue, #176b9f); }
.users-directory .users-heading h1 { color: var(--color-brand-navy, #171d46); font-size: calc(29px * var(--ui-scale, 1)); }
.users-identity-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.users-identity-tags:empty { display: none; }
.users-directory .users-role { display: inline-flex; align-items: center; margin: 0; padding: 3px 9px; border-radius: 20px; font-size: calc(10px * var(--ui-scale, 1)); font-weight: 600; line-height: 1.5; }
.users-directory .users-role { color: var(--t-accent); background: #e6f1ff; }
.users-directory .points-user-actions { justify-content: flex-end; flex-wrap: nowrap; gap: 8px; }
@media (max-width: 1200px) { .users-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .users-detail-grid, .users-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .users-heading { align-items: flex-start; }
    .users-heading > .data-table-badge { margin-top: 4px; }
    .users-detail { margin-inline: 16px; padding: 14px; }
    .users-detail-grid, .users-edit-grid { grid-template-columns: 1fr; }
    .users-filters { grid-template-columns: 1fr; }
}
