/* Users, roles and permissions: nencerlis table and dialog layout. */

/* Fill the available content area while the menu keeps its natural height. */
.admin-access { flex: 1 1 auto; min-width: 0; min-height: 0; width: 100%; }
.admin-access > .main { width: 100%; }
.admin-access .layout-fullwidth-header .box-form { flex-wrap: nowrap !important; }
.admin-access .layout-fullwidth-header .button-theme { white-space: nowrap; flex-shrink: 0; }
.admin-access .theme-table { max-width: 100%; }
.admin-access .modal-dialog { width: calc(100% - 32px); margin-left: auto; margin-right: auto; }
@media (min-width: 1200px) {
    body.admin-portal:has(.admin-access) { display: flex; flex-direction: column; height: 100dvh; overflow: hidden; }
    .admin-portal #nencer-page-content:has(.admin-access) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
    .admin-portal:has(.admin-access) .admin-nav { flex-shrink: 0; }
    .admin-portal .admin-page-canvas:has(.admin-access),
    .admin-portal .admin-page-shell:has(.admin-access) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
    .admin-access > .main { display: flex; flex-direction: column; }
    .admin-access .layout-fullwidth { display: flex; flex: 1 1 auto; flex-direction: column; }
}
@media (max-width: 1199.98px) {
    .admin-access .theme-table { max-height: 65dvh; overflow: auto; }
}


.admin-access--users { --user-border: #d9e0e7; --user-blue: var(--primary-color, #015e70); --user-text: #18395c; }
    .admin-access--users .user-management-page { min-height: 0; }
    .admin-access--users .user-management-page .layout-fullwidth { padding-right: 10px; }
    .admin-access--users .user-filter-select { flex: 0 0 165px; width: 165px; }
    .admin-access--users .user-filter-status { flex: 0 0 155px; width: 155px; }
    .admin-access--users .user-load-status { align-items: center; color: #61748a; display: flex; font-size: 13px; min-height: 34px; }
    .admin-access--users .user-section-table { background: #fff; display: flex; flex-direction: column; min-height: 0; }
    .admin-access--users .user-table-wrapper { flex: 1 1 auto; min-height: 0; overflow: auto; }
    .admin-access--users .user-management-page .layout-fullwidth-table .user-table-wrapper { height: 100% !important; overflow: auto !important; }
    .admin-access--users .user-table { margin-bottom: 0; min-width: 1560px; }
    .admin-access--users .user-table th, .admin-access--users .user-table td { vertical-align: middle; word-break: break-word; }
    .admin-access--users .user-table tbody tr { cursor: pointer; }
    .admin-access--users .user-table tbody tr:hover { background: #f3f8fc; }
    .admin-access--users .user-table th:nth-child(2) { min-width: 210px; }
    .admin-access--users .user-table th:nth-child(3) { min-width: 210px; }
    .admin-access--users .user-table th:nth-child(6) { min-width: 210px; }
    .admin-access--users .user-table th:nth-child(7) { min-width: 180px; }
    .admin-access--users .user-table th:nth-child(9) { min-width: 120px; }
    .admin-access--users .user-action-column { min-width: 235px; width: 235px; }
    .admin-access--users .user-name-cell { align-items: center; display: flex; gap: 10px; min-width: 0; }
    .admin-access--users .user-avatar { align-items: center; background: var(--user-blue); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 36px; font-size: 12px; font-weight: 700; height: 36px; justify-content: center; width: 36px; }
    .admin-access--users .user-avatar--large { flex-basis: 44px; font-size: 14px; height: 44px; width: 44px; }
    .admin-access--users .user-chip-list { display: flex; flex-wrap: wrap; gap: 5px; }
    .admin-access--users .user-chip { background: #eaf2fa; color: var(--user-blue); display: inline-flex; font-size: 11px; font-weight: 600; padding: 3px 7px; word-break: break-word; }
    .admin-access--users .user-chip--light { background: #f0f3f6; color: #4e657e; }
    .admin-access--users .user-status { display: inline-flex; font-size: 12px; font-weight: 700; padding: 3px 8px; }
    .admin-access--users .user-status--active { background: #e8f6ef; color: #0e8a59; }
    .admin-access--users .user-status--inactive { background: #fbecee; color: #bd394b; }
    .admin-access--users .user-view-dialog { max-width: 900px; }
    .admin-access--users .user-view-heading { align-items: flex-start; border-bottom: 1px solid var(--user-border); display: flex; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding-bottom: 14px; }
    .admin-access--users .user-view-title { color: #123c66; font-size: 18px; font-weight: 700; word-break: break-word; }
    .admin-access--users .user-view-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-access--users .user-view-item { background: #f8fafc; border: 1px solid var(--user-border); display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 11px 12px; }
    .admin-access--users .user-view-item > span { color: #6f8197; font-size: 12px; }
    .admin-access--users .user-view-item > strong { color: var(--user-text); font-size: 13px; word-break: break-word; }
    .admin-access--users .user-view-item--wide { grid-column: 1 / -1; }
    .admin-access--users .user-permission-list { max-height: 190px; overflow: auto; }
    .admin-access--users .user-management-page .box-item_legend { border-radius: 0; }
    .admin-access--users .user-role-grid { display: grid; gap: 8px; max-height: 360px; overflow: auto; }
    .admin-access--users .user-role-option { align-items: flex-start; background: #fff; border: 1px solid var(--user-border); cursor: pointer; display: flex; gap: 10px; padding: 9px 10px; }
    .admin-access--users .user-role-option--active { background: #eef5fb; border-color: #9ebbd7; }
    .admin-access--users .user-toggle { align-items: center; color: #18395c; display: flex; gap: 10px; font-size: 13px; font-weight: 600; }
    .admin-access--users .user-inline-note { background: #f4f7fa; border: 1px solid var(--user-border); color: #55708a; font-size: 13px; padding: 10px 12px; }
    .admin-access--users .user-inline-note--success { background: #e8f6ef; border-color: #b8dfcc; color: #0e8a59; }
    .admin-access--users .search-container { position: relative; }
    .admin-access--users .department-search-wrapper { align-items: center; background: #fff; border: 1px solid #ced4da; display: flex; flex-wrap: wrap; gap: 6px; min-height: 42px; padding: 6px 10px; }
    .admin-access--users .department-search-wrapper .search-input { background: transparent; border: 0 !important; box-shadow: none !important; flex: 1; min-width: 140px; outline: 0 !important; padding: 4px 0; }
    .admin-access--users .selected-tags { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
    .admin-access--users .selected-tag { align-items: center; background: #eaf2fa; color: var(--user-blue); display: inline-flex; font-size: 12px; font-weight: 600; gap: 6px; padding: 4px 8px; }
    .admin-access--users .remove-tag-btn { align-items: center; background: none; border: 0; color: inherit; cursor: pointer; display: inline-flex; padding: 0; }
    .admin-access--users .dropdown-list { background: #fff; border: 1px solid var(--user-border); display: none; left: 0; max-height: 220px; overflow-y: auto; position: absolute; right: 0; top: calc(100% + 4px); z-index: 1050; }
    .admin-access--users .dropdown-list.show { display: block; }
    .admin-access--users .list-item { background: #fff; border: 0; cursor: pointer; display: block; padding: 10px 12px; text-align: left; width: 100%; }
    .admin-access--users .list-item:hover, .admin-access--users .list-item.selected { background: #eef5fb; }
    @media (min-width: 1200px) {
    .admin-access--users .user-management-page { height: 100%; overflow: hidden; }
    .admin-access--users .user-management-page .layout-fullwidth { min-height: 0; overflow: hidden; }
    .admin-access--users .user-management-page .layout-fullwidth > .container-fluid,
    .admin-access--users .user-management-page .layout-fullwidth > .container-fluid > .pt-1,
    .admin-access--users .user-management-page .layout-fullwidth-table { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
    .admin-access--users .user-management-page .user-section-table { flex: 1 1 auto; overflow: hidden; }
    }
    @media (max-width: 767.98px) {
    .admin-access--users .user-filter-search, .admin-access--users .user-filter-select, .admin-access--users .user-filter-status { flex: 0 0 100%; width: 100%; }
    .admin-access--users .user-view-grid { grid-template-columns: 1fr; }
    .admin-access--users .user-view-item--wide { grid-column: auto; }
    }

.admin-access--roles { --role-border: #d9e0e7; --role-blue: var(--primary-color, #015e70); --role-text: #18395c; }
    .admin-access--roles .role-management-page { min-height: 0; }
    .admin-access--roles .role-management-page .layout-fullwidth { padding-right: 10px; }
    .admin-access--roles .role-filter-select { flex: 0 0 180px; width: 180px; }
    .admin-access--roles .role-load-status { align-items: center; color: #61748a; display: flex; font-size: 13px; min-height: 34px; }
    .admin-access--roles .role-section-table { background: #fff; display: flex; flex-direction: column; min-height: 0; }
    .admin-access--roles .role-table-wrapper { flex: 1 1 auto; min-height: 0; overflow: auto; }
    .admin-access--roles .role-management-page .layout-fullwidth-table .role-table-wrapper { height: 100% !important; overflow: auto !important; }
    .admin-access--roles .role-table { margin-bottom: 0; min-width: 1240px; }
    .admin-access--roles .role-table th, .admin-access--roles .role-table td { vertical-align: middle; word-break: break-word; }
    .admin-access--roles .role-table tbody tr { cursor: pointer; }
    .admin-access--roles .role-table tbody tr:hover { background: #f3f8fc; }
    .admin-access--roles .role-table th:nth-child(2) { min-width: 190px; }
    .admin-access--roles .role-table th:nth-child(4) { min-width: 280px; }
    .admin-access--roles .role-table th:nth-child(8) { min-width: 120px; }
    .admin-access--roles .role-action-column { min-width: 235px; width: 235px; }
    .admin-access--roles .access-badge { display: inline-flex; font-size: 12px; font-weight: 700; padding: 3px 8px; white-space: nowrap; }
    .admin-access--roles .access-badge--active { background: #e8f6ef; color: #0e8a59; }
    .admin-access--roles .access-badge--inactive { background: #fbecee; color: #bd394b; }
    .admin-access--roles .role-type-label { background: #edf1f5; color: #596b7e; display: inline-flex; font-size: 11px; font-weight: 700; padding: 2px 6px; white-space: nowrap; }
    .admin-access--roles .role-view-dialog { max-width: 900px; }
    .admin-access--roles .role-edit-dialog { max-width: 1100px; width: calc(100% - 32px); }
    .admin-access--roles .access-view-heading { align-items: flex-start; border-bottom: 1px solid var(--role-border); display: flex; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding-bottom: 14px; }
    .admin-access--roles .access-view-title { color: #123c66; font-size: 18px; font-weight: 700; word-break: break-word; }
    .admin-access--roles .access-view-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-access--roles .access-view-item { background: #f8fafc; border: 1px solid var(--role-border); display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 11px 12px; }
    .admin-access--roles .access-view-item > span { color: #6f8197; font-size: 12px; }
    .admin-access--roles .access-view-item > strong { color: var(--role-text); font-size: 13px; word-break: break-word; }
    .admin-access--roles .access-view-item--wide { grid-column: 1 / -1; }
    .admin-access--roles .access-chip-list { display: flex; flex-wrap: wrap; gap: 5px; }
    .admin-access--roles .access-chip { background: #eaf2fa; color: var(--role-blue); display: inline-flex; font-size: 11px; font-weight: 600; padding: 3px 7px; }
    .admin-access--roles .access-chip--light { background: #edf1f5; color: #596b7e; }
    .admin-access--roles .access-chip-scroll { max-height: 210px; overflow: auto; }
    .admin-access--roles .role-modal-content { max-height: 92vh; }
    .admin-access--roles .role-modal-body { overflow: auto; }
    .admin-access--roles .role-box { background: #f9fbfd; border: 1px solid var(--role-border); padding: 12px; }
    .admin-access--roles .role-box__title { color: #123c66; font-size: 14px; font-weight: 700; margin-bottom: 10px; }
    .admin-access--roles .role-permission-table-wrapper, .admin-access--roles .role-menu-table-wrapper { max-height: 56vh; overflow: auto; }
    .admin-access--roles .permission-collapse-list { display: flex; flex-direction: column; gap: 8px; }
    .admin-access--roles .permission-collapse-item { background: #fff; border: 1px solid var(--role-border); overflow: hidden; }
    .admin-access--roles .permission-collapse-item__header { align-items: center; background: #eef4f8; cursor: pointer; display: flex; gap: 10px; padding: 8px 10px; }
    .admin-access--roles .permission-toggle-btn { background: transparent; border: 0; color: var(--role-blue); font-size: 14px; font-weight: 700; line-height: 1; padding: 0; width: 16px; }
    .admin-access--roles .permission-collapse-item__title { color: var(--role-text); flex: 1; font-size: 13px; font-weight: 700; }
    .admin-access--roles .permission-collapse-item__body { display: flex; flex-direction: column; gap: 10px; max-height: 340px; overflow: auto; padding: 10px; }
    .admin-access--roles .permission-feature-group { border: 1px solid #dfe7ee; }
    .admin-access--roles .permission-feature-group__header { align-items: center; background: #f7f9fb; border-bottom: 1px solid #dfe7ee; color: #123c66; display: flex; font-size: 12px; font-weight: 700; justify-content: space-between; padding: 6px 8px; }
    .admin-access--roles .permission-feature-group__header small { color: #6f8197; font-size: 11px; font-weight: 500; }
    .admin-access--roles .permission-feature-group__permissions { display: grid; gap: 0 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; }
    .admin-access--roles .permission-row { align-items: flex-start; border-bottom: 1px dashed var(--role-border); cursor: pointer; display: flex; gap: 8px; min-width: 0; padding: 7px 0; }
    .admin-access--roles .permission-row:nth-last-child(-n + 2) { border-bottom: 0; }
    .admin-access--roles .permission-row__content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
    .admin-access--roles .permission-row__name { color: #123c66; font-size: 13px; font-weight: 600; word-break: break-word; }
    .admin-access--roles .permission-row__description { color: #344f69; font-size: 12px; word-break: break-word; }
    .admin-access--roles .permission-row__meta { color: #6f8197; font-size: 11px; margin-top: 1px; word-break: break-word; }
    .admin-access--roles .permission-module-checkbox { align-items: center; display: flex; height: 20px; justify-content: center; position: relative; width: 20px; }
    .admin-access--roles .permission-module-checkbox input { height: 16px; margin: 0; width: 16px; }
    .admin-access--roles .permission-module-checkbox.is-indeterminate::after { background: var(--role-blue); content: ""; height: 2px; left: 5px; position: absolute; top: 9px; width: 10px; }
    @media (min-width: 1200px) {
    .admin-access--roles .role-management-page { height: 100%; overflow: hidden; }
    .admin-access--roles .role-management-page .layout-fullwidth { min-height: 0; overflow: hidden; }
    .admin-access--roles .role-management-page .layout-fullwidth > .container-fluid,
    .admin-access--roles .role-management-page .layout-fullwidth > .container-fluid > .pt-1,
    .admin-access--roles .role-management-page .layout-fullwidth-table { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
    .admin-access--roles .role-management-page .role-section-table { flex: 1 1 auto; overflow: hidden; }
    }
    @media (max-width: 767.98px) {
    .admin-access--roles .role-filter-search, .admin-access--roles .role-filter-select { flex: 0 0 100%; width: 100%; }
    .admin-access--roles .access-view-grid { grid-template-columns: 1fr; }
    .admin-access--roles .access-view-item--wide { grid-column: auto; }
    .admin-access--roles .role-edit-dialog { width: calc(100% - 16px); }
    .admin-access--roles .permission-feature-group__permissions { grid-template-columns: 1fr; }
    .admin-access--roles .permission-row:nth-last-child(2) { border-bottom: 1px dashed var(--role-border); }
    }

.admin-access--permissions { --permission-border: #d9e0e7; --permission-blue: var(--primary-color, #015e70); --permission-text: #18395c; }
    .admin-access--permissions .permission-management-page { min-height: 0; }
    .admin-access--permissions .permission-filter-select { flex: 0 0 170px; width: 170px; }
    .admin-access--permissions .permission-load-status { align-items: center; color: #61748a; display: flex; font-size: 13px; min-height: 34px; }
    .admin-access--permissions .permission-scan-button { align-items: center; display: inline-flex; gap: 7px; }
    .admin-access--permissions .permission-section-table { background: #fff; display: flex; flex-direction: column; min-height: 0; }
    .admin-access--permissions .permission-table-wrapper { flex: 1 1 auto; min-height: 0; overflow: auto; }
    .admin-access--permissions .permission-management-page .layout-fullwidth-table .permission-table-wrapper { height: 100% !important; overflow: auto !important; }
    .admin-access--permissions .permission-table { margin-bottom: 0; min-width: 1120px; }
    .admin-access--permissions .permission-table th, .admin-access--permissions .permission-table td { vertical-align: middle; word-break: break-word; }
    .admin-access--permissions .permission-table tbody tr { cursor: pointer; }
    .admin-access--permissions .permission-table tbody tr:hover { background: #f3f8fc; }
    .admin-access--permissions .permission-table th:nth-child(2) { min-width: 220px; }
    .admin-access--permissions .permission-table th:nth-child(4) { min-width: 280px; }
    .admin-access--permissions .permission-table th:nth-child(6) { min-width: 120px; }
    .admin-access--permissions .permission-action-column { min-width: 235px; width: 235px; }
    .admin-access--permissions .permission-table .permission-parent-menu-row { cursor: default; }
    .admin-access--permissions .permission-table .permission-parent-menu-row > td { background: #e8f1f7 !important; color: #123c66; padding: 7px 10px; }
    .admin-access--permissions .permission-table .permission-parent-menu-row:hover > td { background: #e8f1f7 !important; }
    .admin-access--permissions .permission-parent-menu-row span { color: #6f8197; font-size: 12px; margin-left: 5px; }
    .admin-access--permissions .access-badge { display: inline-flex; font-size: 12px; font-weight: 700; padding: 3px 8px; white-space: nowrap; }
    .admin-access--permissions .access-badge--active { background: #e8f6ef; color: #0e8a59; }
    .admin-access--permissions .access-badge--inactive { background: #fbecee; color: #bd394b; }
    .admin-access--permissions .permission-view-dialog { max-width: 820px; }
    .admin-access--permissions .permission-modal-dialog { max-width: 820px; }
    .admin-access--permissions .access-view-heading { align-items: flex-start; border-bottom: 1px solid var(--permission-border); display: flex; gap: 16px; justify-content: space-between; margin-bottom: 16px; padding-bottom: 14px; }
    .admin-access--permissions .access-view-title { color: #123c66; font-size: 18px; font-weight: 700; word-break: break-word; }
    .admin-access--permissions .access-view-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-access--permissions .access-view-item { background: #f8fafc; border: 1px solid var(--permission-border); display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 11px 12px; }
    .admin-access--permissions .access-view-item > span { color: #6f8197; font-size: 12px; }
    .admin-access--permissions .access-view-item > strong { color: var(--permission-text); font-size: 13px; word-break: break-word; }
    .admin-access--permissions .access-view-item--wide { grid-column: 1 / -1; }
    .admin-access--permissions .access-chip-list { display: flex; flex-wrap: wrap; gap: 5px; }
    .admin-access--permissions .access-chip { background: #eaf2fa; color: var(--permission-blue); display: inline-flex; font-size: 11px; font-weight: 600; padding: 3px 7px; }
    .admin-access--permissions .permission-form-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-access--permissions .permission-form-field--wide { grid-column: 1 / -1; }
    @media (min-width: 1200px) {
    .admin-access--permissions .permission-management-page { height: 100%; overflow: hidden; }
    .admin-access--permissions .permission-management-page .layout-fullwidth { min-height: 0; overflow: hidden; }
    .admin-access--permissions .permission-management-page .layout-fullwidth > .container-fluid,
    .admin-access--permissions .permission-management-page .layout-fullwidth > .container-fluid > .pt-1,
    .admin-access--permissions .permission-management-page .layout-fullwidth-table { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
    .admin-access--permissions .permission-management-page .permission-section-table { flex: 1 1 auto; overflow: hidden; }
    }
    @media (max-width: 767.98px) {
    .admin-access--permissions .permission-filter-search, .admin-access--permissions .permission-filter-select { flex: 0 0 100%; width: 100%; }
    .admin-access--permissions .access-view-grid, .admin-access--permissions .permission-form-grid { grid-template-columns: 1fr; }
    .admin-access--permissions .access-view-item--wide, .admin-access--permissions .permission-form-field--wide { grid-column: auto; }
    }
