.admin-users-page { display: grid; gap: 18px; }
.admin-users-panel { margin: 0; padding: 22px; }
.admin-users-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.admin-users-heading h2 { margin: 0; color: var(--text-dark); font-size: 17px; font-weight: 750; }
.admin-users-heading p { margin: 5px 0 0; color: #788999; font-size: 12px; }
.admin-users-heading > label { display: grid; gap: 5px; color: #40566b; font-size: 12px; font-weight: 700; }
.admin-users-heading select, .admin-users-form input, .admin-users-form select { min-height: 38px; padding: 7px 10px; border: 1px solid #d5e0e8; border-radius: 6px; background: var(--card-bg); color: var(--text-dark); font-size: 13px; }
.admin-users-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.admin-users-form label { display: grid; flex: 1 1 170px; gap: 5px; color: #40566b; font-size: 12px; font-weight: 700; }
.admin-users-form > input, .admin-users-form > select { min-width: 150px; }
.admin-users-filter-form label { flex: 0 1 200px; }
.admin-users-message { min-height: 18px; margin: 8px 0 0; color: #637587; font-size: 12px; }
.admin-users-message.is-error { color: #b42318; }
.admin-users-invitation { margin-top: 12px; padding: 12px; overflow-wrap: anywhere; border: 1px solid #b6d6c3; border-radius: 6px; background: #f0faf3; color: #245c39; font-size: 13px; }
.admin-users-invitation-modal { position: fixed; z-index: 1080; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.admin-users-invitation-modal__backdrop { position: absolute; inset: 0; background: rgb(15 23 42 / 62%); }
.admin-users-invitation-modal__panel { position: relative; width: min(100%, 620px); max-height: 90vh; overflow-y: auto; padding: 24px; border: 1px solid #d5e0e8; border-radius: 10px; background: var(--card-bg); color: var(--text-dark); box-shadow: 0 18px 55px rgb(15 23 42 / 28%); }
.admin-users-invitation-modal__panel h2 { margin: 0; color: var(--text-dark); font-size: 19px; font-weight: 750; }
.admin-users-invitation-modal__panel > label { display: block; margin-top: 16px; color: #40566b; font-size: 12px; font-weight: 700; }
.admin-users-invitation-modal__email { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 14px; }
.admin-users-invitation-modal__link { display: flex; align-items: stretch; gap: 8px; margin-top: 6px; }
.admin-users-invitation-modal__link input { flex: 1 1 auto; min-width: 0; padding: 9px 10px; border: 1px solid #d5e0e8; border-radius: 6px; background: var(--card-bg); color: var(--text-dark); font-size: 12px; }
.admin-users-invitation-modal__actions { display: flex; justify-content: flex-end; margin-top: 20px; }
[data-bs-theme="dark"] .admin-users-invitation-modal__panel > label { color: #e5edf5; }
.admin-users-table { margin: 14px 0 0; color: var(--text-dark); vertical-align: middle; }
.admin-users-table th { color: #627588; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.admin-users-table td { min-width: 115px; font-size: 13px; }
.admin-users-table code { display: inline-block; max-width: 420px; overflow-wrap: anywhere; color: #356b8b; }
.admin-users-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-users-empty { padding: 26px !important; color: #788999 !important; text-align: center; }
.admin-users-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; color: #718294; font-size: 12px; }
.admin-users-pagination > div { display: flex; gap: 7px; }
[data-bs-theme="dark"] .admin-users-heading p, [data-bs-theme="dark"] .admin-users-message, [data-bs-theme="dark"] .admin-users-pagination { color: #a7b5c3; }
[data-bs-theme="dark"] .admin-users-heading h2, [data-bs-theme="dark"] .admin-users-heading > label, [data-bs-theme="dark"] .admin-users-form label { color: #e5edf5; }
[data-bs-theme="dark"] .admin-users-invitation { border-color: #37684a; background: #173c26; color: #d7f0df; }
@media (max-width: 680px) {
    .admin-users-panel { padding: 16px; }
    .admin-users-heading { align-items: stretch; flex-direction: column; }
    .admin-users-table { min-width: 760px; }
    .admin-users-pagination { align-items: flex-start; flex-direction: column; }
    .admin-users-invitation-modal { padding: 12px; }
    .admin-users-invitation-modal__panel { padding: 18px; }
    .admin-users-invitation-modal__link { align-items: stretch; flex-direction: column; }
    .admin-users-platform-access__header { align-items: stretch; flex-direction: column; }
    .admin-users-platform-access__header .btn { align-self: flex-start; }
}

.admin-users-page {
    --admin-users-blue: #0696c8;
    --admin-users-blue-dark: #087ba5;
    --admin-users-ink: #242a30;
    --admin-users-muted: #68737d;
    --admin-users-border: #e2e6e9;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: calc(100vh - 130px);
    padding: 20px 26px 34px;
    background: #fff;
    color: var(--admin-users-ink);
}
.admin-users-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 20px;
    color: #78838b;
    font-size: 12px;
}
.admin-users-breadcrumb a { color: #52616b; text-decoration: none; }
.admin-users-breadcrumb a:hover { color: var(--admin-users-blue-dark); text-decoration: underline; }
.admin-users-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 23px;
}
.admin-users-page-header h1 { margin: 0; color: #252b30; font-size: 28px; font-weight: 500; letter-spacing: -.025em; }
.admin-users-page-header p { margin: 6px 0 0; color: var(--admin-users-muted); font-size: 14px; }
.admin-users-primary-action {
    min-height: 38px;
    padding: 8px 14px;
    border-color: var(--admin-users-blue);
    border-radius: 3px;
    background: var(--admin-users-blue);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.admin-users-primary-action:hover, .admin-users-primary-action:focus-visible {
    border-color: var(--admin-users-blue-dark);
    background: var(--admin-users-blue-dark);
}
.admin-users-tabs {
    display: flex;
    gap: 26px;
    min-height: 44px;
    border-bottom: 1px solid var(--admin-users-border);
}
.admin-users-tab {
    position: relative;
    padding: 0 2px 12px;
    border: 0;
    background: transparent;
    color: #66717a;
    font-size: 13px;
    font-weight: 500;
}
.admin-users-tab[aria-selected="true"] { color: #20272c; font-weight: 650; }
.admin-users-tab[aria-selected="true"]::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: var(--admin-users-blue);
    content: "";
}
.admin-users-workspace { min-width: 0; padding-top: 21px; }
.admin-users-platform-access {
    margin: 0 0 22px;
    padding: 17px 18px;
    border: 1px solid var(--admin-users-border);
    border-left: 3px solid var(--admin-users-blue);
    border-radius: 4px;
    background: #f8fbfc;
}
.admin-users-platform-access__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.admin-users-platform-access__header h3 { margin: 0; color: #252b30; font-size: 15px; font-weight: 650; }
.admin-users-platform-access__header p { margin: 5px 0 0; color: var(--admin-users-muted); font-size: 13px; }
.admin-users-platform-access .admin-users-table { margin-top: 8px; }
.admin-users-platform-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid #a6d6c1;
    border-radius: 999px;
    background: #eaf7f0;
    color: #17613c;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}
.admin-users-no-global-access { color: #78838b; font-size: 12px; }
[data-bs-theme="dark"] .admin-users-platform-access { border-color: #3b4852; background: #202a31; }
[data-bs-theme="dark"] .admin-users-platform-access__header h3 { color: #e5edf5; }
[data-bs-theme="dark"] .admin-users-platform-access__header p { color: #a7b5c3; }
[data-bs-theme="dark"] .admin-users-platform-badge { border-color: #37684a; background: #173c26; color: #d7f0df; }
[data-bs-theme="dark"] .admin-users-no-global-access { color: #a7b5c3; }
.admin-users-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    margin-bottom: 18px;
}
.admin-users-toolbar h2 { margin: 0; color: #252b30; font-size: 16px; font-weight: 600; }
.admin-users-toolbar .admin-users-message { margin-top: 4px; }
.admin-users-project-toolbar { align-items: flex-end; }
.admin-users-invite-project-context { margin: -8px 0 16px; padding: 10px 12px; border-left: 3px solid #168a83; background: #f0f6f5; color: #33464b; font-size: 13px; }
.admin-users-project-select {
    display: grid;
    flex: 0 1 310px;
    gap: 5px;
    margin-left: auto;
    color: #53606a;
    font-size: 11px;
    font-weight: 650;
}
.admin-users-project-select select,
.admin-users-table-toolbar select,
.admin-users-dialog-form input,
.admin-users-dialog-form select {
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid #cbd2d7;
    border-radius: 3px;
    background-color: #fff;
    color: #252b30;
    font-size: 13px;
}
.admin-users-project-select select:focus,
.admin-users-table-toolbar input:focus,
.admin-users-table-toolbar select:focus,
.admin-users-dialog-form input:focus,
.admin-users-dialog-form select:focus {
    border-color: var(--admin-users-blue);
    outline: 2px solid rgb(6 150 200 / 17%);
}
.admin-users-table-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 11px;
}
.admin-users-search {
    display: flex;
    flex: 1 1 320px;
    align-items: center;
    gap: 8px;
    max-width: 470px;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid #cbd2d7;
    border-radius: 3px;
    color: #77828b;
}
.admin-users-search:focus-within { border-color: var(--admin-users-blue); outline: 2px solid rgb(6 150 200 / 17%); }
.admin-users-search input {
    width: 100%;
    min-width: 0;
    height: 34px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #252b30;
    font-size: 13px;
}
.admin-users-search input:focus { outline: 0; }
.admin-users-search input::placeholder { color: #818a91; }
.admin-users-filter-control select { min-width: 155px; }
.admin-users-filter-submit { min-height: 38px; border-radius: 3px; font-size: 13px; }
.admin-users-table-frame { width: 100%; overflow-x: auto; border-top: 1px solid var(--admin-users-border); }
.admin-users-table {
    min-width: 790px;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: #30383e;
    vertical-align: middle;
}
.admin-users-table thead th {
    height: 42px;
    padding: 10px 13px;
    border-bottom: 1px solid #dfe4e7;
    background: #fff;
    color: #5f6b74;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .01em;
    text-transform: none;
    white-space: nowrap;
}
.admin-users-table tbody td {
    height: 58px;
    padding: 10px 13px;
    border-bottom: 1px solid #e8ebed;
    background: #fff;
    color: #30383e;
    font-size: 13px;
}
.admin-users-table tbody tr:hover td { background: #f7fafb; }
.admin-users-table th:first-child, .admin-users-table td:first-child { padding-left: 14px; }
.admin-users-person { display: block; color: #30383e; font-weight: 550; overflow-wrap: anywhere; }
.admin-users-secondary { display: block; margin-top: 3px; color: #707c84; font-size: 12px; overflow-wrap: anywhere; }
.admin-users-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #48535b;
    white-space: nowrap;
}
.admin-users-status-pill > span { width: 7px; height: 7px; border-radius: 50%; background: #a4acb2; }
.admin-users-status-pill.is-active > span { background: #65a93d; }
.admin-users-status-pill.is-inactive > span { background: #a4acb2; }
.admin-users-status-pill.is-pending > span { background: #c58a22; }
.admin-users-invitation-status { color: #737e86; }
.admin-users-invitation-status.is-pending { color: #936000; }
.admin-users-action-cell { width: 58px; text-align: center; }
.admin-users-row-actions { position: relative; display: inline-block; }
.admin-users-row-actions > summary {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 3px;
    color: #5e6971;
    cursor: pointer;
    list-style: none;
}
.admin-users-row-actions > summary::-webkit-details-marker { display: none; }
.admin-users-row-actions[open] > summary, .admin-users-row-actions > summary:hover { border-color: #d7dce0; background: #fff; }
.admin-users-row-menu {
    position: absolute;
    z-index: 20;
    top: 34px;
    right: 0;
    display: grid;
    min-width: 190px;
    max-height: calc(100vh - 16px);
    overflow-y: auto;
    padding: 5px;
    border: 1px solid #d9dfe3;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 5px 16px rgb(22 35 44 / 14%);
    text-align: left;
}
.admin-users-row-actions[open] .admin-users-row-menu { z-index: 1090; }
.admin-users-row-menu > button {
    padding: 9px 10px;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: #343c42;
    font-size: 12px;
    text-align: left;
    white-space: nowrap;
}
.admin-users-row-menu > button:hover { background: #eef7fa; color: #075f83; }
.admin-users-row-actions:not([open]) > .admin-users-row-menu { display: none; }
.admin-users-row-menu > label { padding: 7px 8px 3px; color: #68737b; font-size: 11px; }
.admin-users-row-menu > select { margin: 3px 7px 5px; }
.admin-users-role-select { min-height: 34px; padding: 5px 7px; border: 1px solid #cbd2d7; border-radius: 3px; background: #fff; color: #30383e; font-size: 12px; }
.admin-users-empty { height: 94px; padding: 26px !important; color: #75818a !important; text-align: center; }
.admin-users-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; color: #66727b; font-size: 12px; }
.admin-users-pagination > div { display: flex; gap: 7px; }
.admin-users-pagination .btn { border-radius: 3px; }
.admin-users-audit { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--admin-users-border); }
.admin-users-audit summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #39434a; cursor: pointer; font-size: 13px; font-weight: 600; list-style-position: outside; }
.admin-users-audit summary .admin-users-message { margin: 0 auto 0 12px; font-weight: 400; }
.admin-users-audit > .btn { margin: 14px 0 10px; }
.admin-users-audit .admin-users-table { min-width: 720px; }
.admin-users-message { min-height: 16px; margin: 5px 0 0; color: #68737d; font-size: 12px; }
.admin-users-message.is-error { color: #b42318; }
.admin-users-dialog {
    position: fixed;
    z-index: 1080;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
}
.admin-users-dialog__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgb(24 31 37 / 42%);
}
.admin-users-dialog__panel {
    position: relative;
    width: min(100%, 500px);
    max-height: min(88vh, 760px);
    overflow: auto;
    padding: 26px;
    border: 1px solid #d8dee2;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 18px 48px rgb(20 30 38 / 24%);
}
.admin-users-dialog__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: #657079;
    font-size: 25px;
    line-height: 1;
}
.admin-users-dialog__eyebrow { color: #66727a; font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.admin-users-dialog__panel h2 { margin: 8px 34px 0 0; color: #252b30; font-size: 21px; font-weight: 550; }
.admin-users-dialog__panel > p { margin: 7px 0 20px; color: #67737b; font-size: 13px; }
.admin-users-dialog-form { display: grid; gap: 9px; }
.admin-users-dialog-form > label { margin-top: 5px; color: #424d54; font-size: 12px; font-weight: 600; }
.admin-users-dialog-form .admin-users-message { min-height: 17px; margin: 2px 0 0; }
.admin-users-dialog__actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 8px; }
.admin-users-dialog__actions .btn,
.admin-users-dialog-search .btn { min-height: 37px; border-radius: 3px; font-size: 13px; }
.admin-users-dialog-search { display: flex; gap: 8px; }
.admin-users-dialog-search input { flex: 1; min-width: 0; }
.admin-users-invitation-modal__panel { border-radius: 4px; }
[data-bs-theme="dark"] .admin-users-page { background: #15191d; color: #e5edf5; }
[data-bs-theme="dark"] .admin-users-breadcrumb a,
[data-bs-theme="dark"] .admin-users-breadcrumb,
[data-bs-theme="dark"] .admin-users-page-header p,
[data-bs-theme="dark"] .admin-users-tab { color: #aab5bd; }
[data-bs-theme="dark"] .admin-users-page-header h1,
[data-bs-theme="dark"] .admin-users-toolbar h2,
[data-bs-theme="dark"] .admin-users-tab[aria-selected="true"] { color: #f1f4f6; }
[data-bs-theme="dark"] .admin-users-tabs,
[data-bs-theme="dark"] .admin-users-table-frame,
[data-bs-theme="dark"] .admin-users-table thead th,
[data-bs-theme="dark"] .admin-users-table tbody td,
[data-bs-theme="dark"] .admin-users-audit { border-color: #343c42; }
[data-bs-theme="dark"] .admin-users-table thead th,
[data-bs-theme="dark"] .admin-users-table tbody td { background: #1b2024; color: #dfe5e9; }
[data-bs-theme="dark"] .admin-users-person,
[data-bs-theme="dark"] .admin-users-audit summary { color: #e5edf5; }
[data-bs-theme="dark"] .admin-users-secondary,
[data-bs-theme="dark"] .admin-users-status-pill,
[data-bs-theme="dark"] .admin-users-invitation-status { color: #aab5bd; }
[data-bs-theme="dark"] .admin-users-row-menu,
[data-bs-theme="dark"] .admin-users-dialog__panel { border-color: #39434a; background: #20262b; color: #e5edf5; }
[data-bs-theme="dark"] .admin-users-row-menu > button,
[data-bs-theme="dark"] .admin-users-dialog__panel h2,
[data-bs-theme="dark"] .admin-users-dialog-form > label { color: #e5edf5; }
[data-bs-theme="dark"] .admin-users-project-select select,
[data-bs-theme="dark"] .admin-users-table-toolbar select,
[data-bs-theme="dark"] .admin-users-dialog-form input,
[data-bs-theme="dark"] .admin-users-dialog-form select,
[data-bs-theme="dark"] .admin-users-role-select { border-color: #4a555d; background-color: #171c20; color: #e5edf5; }
@media (max-width: 720px) {
    .admin-users-page { min-height: 0; padding: 16px 14px 28px; }
    .admin-users-breadcrumb { margin-bottom: 15px; }
    .admin-users-page-header { align-items: stretch; flex-direction: column; gap: 13px; padding-bottom: 18px; }
    .admin-users-page-header h1 { font-size: 24px; }
    .admin-users-primary-action { align-self: flex-start; }
    .admin-users-tabs { gap: 18px; }
    .admin-users-toolbar, .admin-users-project-toolbar { align-items: stretch; flex-direction: column; }
    .admin-users-project-select { flex: 1 1 auto; width: 100%; margin-left: 0; }
    .admin-users-search { flex-basis: 100%; max-width: none; }
    .admin-users-filter-control, .admin-users-filter-control select,
    .admin-users-filter-submit { flex: 1 1 0; }
    .admin-users-audit summary { align-items: flex-start; flex-direction: column; }
    .admin-users-audit summary .admin-users-message { margin: 0; }
    .admin-users-dialog { align-items: flex-end; padding: 0; }
    .admin-users-dialog__panel { width: 100%; max-height: 90vh; padding: 24px 18px max(22px, env(safe-area-inset-bottom)); border-radius: 8px 8px 0 0; }
    .admin-users-dialog-search { align-items: stretch; flex-direction: column; }
}
