/* Functional account workspace. Colors remain semantic, surfaces stay neutral. */
.account-workspace,
.auth-workspace {
    --account-radius: .3rem;
    --account-border: color-mix(in oklab, var(--color-base-content) 10%, var(--color-base-100));
    --account-muted: color-mix(in oklab, var(--color-base-content) 68%, var(--color-base-100));
}
.account-workspace :is(.ui-surface, .access-island, .access-user-summary__item, .account-detail-header),
.auth-workspace .auth-panel > .card {
    border: 0;
    border-radius: var(--account-radius);
    background: var(--color-base-100);
    box-shadow: none;
}
.account-workspace .ui-surface--soft { background: color-mix(in oklab, var(--color-base-content) 2%, var(--color-base-100)); }
.account-workspace :is(.ui-stack, .access-user-shell) { gap: .875rem; }
.account-workspace :is(.ui-surface, .access-island__body) { padding: 1rem; }
.account-workspace .access-island__body--table { padding: 0; }
.account-workspace .access-island__header {
    padding: .75rem 1rem;
    gap: .75rem;
    background: var(--color-base-200);
    border-color: var(--account-border);
}
.account-workspace :is(.access-island__title, .ui-surface > h2) { font-size: .9375rem; font-weight: 650; }
.account-workspace .access-island__subtitle { font-size: .8125rem; }
.account-workspace .account-detail-header { padding: 1rem; margin-bottom: 1rem; }
.account-workspace .account-detail-heading { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: .75rem; }
.account-workspace .account-detail-heading h1 { font-size: 1.5rem; }
.account-workspace .account-detail-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.account-workspace .access-user-summary { gap: .625rem; }
.account-workspace .access-user-summary__item { padding: .625rem .75rem; }
.account-workspace .access-user-summary__label { font-size: .75rem; color: var(--account-muted); }
.account-workspace .access-user-summary__value { font-size: .875rem; font-weight: 600; }
.account-workspace .ui-auto-grid { gap: .875rem; }
.account-workspace :is(.ui-auto-grid--wide, .account-user-form .ui-auto-grid) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
}
.account-workspace :is(.ui-form-field, .account-filter-field) {
    display: grid; min-width: 0; align-content: start; gap: .35rem;
}
.account-workspace :is(.label-text, .fieldset-legend, .account-filter-field > span) {
    font-size: .8125rem; font-weight: 600; line-height: 1.4;
}
.account-workspace .fieldset { padding: 0; }
.account-workspace .fieldset-legend { padding-block: 0 .35rem; }
.account-workspace :is(.input, .select),
.auth-workspace :is(.input, .select) {
    min-height: 2.375rem; height: 2.375rem; border-radius: var(--account-radius);
    background: var(--color-base-100); border-color: var(--account-border); font-size: .875rem;
}
.account-workspace .textarea,
.auth-workspace .textarea { border-radius: var(--account-radius); border-color: var(--account-border); }
.account-workspace :is(.content-shell, .modal) .btn,
.auth-workspace .btn {
    min-height: 2.25rem; height: auto; border-radius: var(--account-radius);
    padding: .45rem .75rem; font-size: .8125rem; line-height: 1.3; box-shadow: none;
    white-space: normal; overflow-wrap: anywhere;
}
.account-workspace :is(.content-shell, .modal) .btn-sm,
.auth-workspace .btn-sm { min-height: 2rem; padding: .35rem .625rem; }
.account-workspace :is(.content-shell, .modal) .btn-ghost,
.account-workspace :is(.content-shell, .modal) .btn-outline,
.account-workspace :is(.content-shell, .modal) .btn-secondary {
    border: 1px solid var(--account-border); background: var(--color-base-200); color: var(--color-base-content);
}
.account-workspace :is(.content-shell, .modal) .btn-ghost { background: transparent; border-color: transparent; }
.account-workspace :is(.content-shell, .modal) :is(.btn-ghost, .btn-outline, .btn-secondary):hover { background: var(--color-base-200); }
.account-workspace :is(.btn, .input, .textarea):focus-visible,
.auth-workspace :is(.btn, .input, .textarea):focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.account-workspace .badge {
    height: auto; min-height: 1.35rem; padding: .15rem .4rem; border-radius: .2rem;
    font-size: .6875rem; line-height: 1.25; white-space: normal; font-weight: 500;
}
.account-workspace :is(.badge-ghost, .badge-info, .badge-neutral) {
    color: var(--color-base-content); background: var(--color-base-200); border-color: var(--account-border);
}
.account-workspace .badge-success {
    color: color-mix(in oklab, var(--color-success) 68%, var(--color-base-content));
    background: color-mix(in oklab, var(--color-success) 8%, var(--color-base-100));
    border-color: color-mix(in oklab, var(--color-success) 35%, var(--account-border));
}
.account-workspace .badge-warning {
    color: color-mix(in oklab, var(--color-warning) 60%, var(--color-base-content));
    background: color-mix(in oklab, var(--color-warning) 8%, var(--color-base-100));
    border-color: color-mix(in oklab, var(--color-warning) 35%, var(--account-border));
}
.account-workspace .badge-error {
    color: color-mix(in oklab, var(--color-error) 72%, var(--color-base-content));
    background: color-mix(in oklab, var(--color-error) 8%, var(--color-base-100));
    border-color: color-mix(in oklab, var(--color-error) 35%, var(--account-border));
}
.account-workspace .table { font-size: .8125rem; }
.account-workspace .table :is(th, td) { padding: .625rem .75rem; vertical-align: top; border-color: var(--account-border); }
.account-workspace .table thead th { font-size: .75rem; font-weight: 650; background: var(--color-base-200); }
.account-workspace :is(code, .stat-value, .access-user-summary__value) { font-variant-numeric: tabular-nums; }
.account-workspace code { overflow-wrap: anywhere; white-space: normal; }
.account-workspace .ui-table-scroll { scrollbar-gutter: stable; }
.account-workspace .ui-table-scroll > :where(.table:not(.users-registry__table)) { min-width: 44rem; }
.account-workspace .stats { border: 0; border-radius: var(--account-radius); box-shadow: none; background: transparent; }
.account-workspace .stat { padding: .875rem; }
.account-workspace .stat-title { color: var(--account-muted); font-size: .8125rem; white-space: normal; }
.account-workspace .stat-value { color: var(--color-base-content); font-size: 1.75rem; }
.account-workspace .stat-desc { white-space: normal; line-height: 1.4; }
.account-workspace :is(.ui-action-row, .ui-filter-actions) { flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: flex-start; }
.account-workspace :is(.ui-action-row, .ui-filter-actions) > :is(.btn, form),
.account-workspace :is(.ui-action-row, .ui-filter-actions) > :first-child {
    flex: 0 0 auto; width: auto; max-width: 100%;
}
.account-workspace .ui-filter-actions > :last-child:not(:first-child) { margin-inline-start: 0; }
.account-workspace .account-user-form { max-width: 76rem; width: 100%; }
.account-workspace .account-user-form__tools { gap: .375rem; }
.account-workspace .access-modal-box { border-radius: var(--account-radius); box-shadow: 0 8px 32px #0003; }
.account-workspace .access-modal-box :is(h3, h4, p) { overflow-wrap: anywhere; }
.account-workspace .breadcrumbs { min-width: 0; max-width: 100%; overflow-wrap: anywhere; font-size: .75rem; }
.account-workspace .breadcrumbs > ul { flex-wrap: wrap; white-space: normal; gap: .25rem; }
.account-workspace .ui-page-heading { gap: .75rem; }
.account-workspace .content-shell { padding-block: 1rem; }
.account-workspace .content-shell > .ui-page-header {
    padding: .25rem 0 .85rem;
    margin-bottom: .9rem;
    border: 0;
    border-bottom: 1px solid var(--account-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.account-workspace .content-shell > .ui-content-panel {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.account-workspace .ui-page-heading h1 { margin-top: .25rem; font-size: 1.5rem; line-height: 1.3; }
.account-workspace .ui-page-subtitle { margin-top: .375rem; font-size: .8125rem; }
.account-workspace .ui-page-heading__actions { max-width: 100%; width: auto; }
.auth-workspace .auth-panel { max-width: 30rem; margin-bottom: 0; }
.auth-workspace .auth-panel > .card > .card-body { padding: 1.5rem; gap: .875rem; }
.auth-workspace .auth-brand h1 { font-size: 1.5rem; font-weight: 650; }
.auth-workspace .auth-brand__eyebrow { letter-spacing: .025em; text-transform: none; }
.auth-workspace .fieldset > .label { min-height: auto; padding-block: .5rem .25rem; }
.auth-workspace .auth-toolbar { gap: .5rem; }
.auth-workspace .form-render .input { width: 100%; }
.auth-workspace .form-render input:is([type="text"],[type="password"],[type="email"]) {
    width: 100%; min-width: 0; min-height: 2.375rem; height: 2.375rem;
    border: 1px solid var(--account-border); border-radius: var(--account-radius);
    background: var(--color-base-100); color: var(--color-base-content); padding-inline: .75rem; font-size: .875rem;
}
.auth-workspace .auth-password-field { min-width: 0; }
.auth-workspace .auth-note ul { margin-block: .4rem; padding-inline-start: 1.25rem; list-style: disc; }
.password-field-control { display: flex; min-width: 0; align-items: stretch; gap: .375rem; }
.password-field-control > input { min-width: 0; width: 100%; flex: 1 1 auto; }
.password-field-control > .password-visibility { flex: 0 0 auto; min-width: 4.25rem; }
.password-generator { margin-block: .875rem; padding: .75rem; border: 1px solid var(--account-border); border-radius: .3rem; background: var(--color-base-100); }
.password-generator > summary { cursor: pointer; font-size: .8125rem; font-weight: 600; }
.password-generator__options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .625rem; margin-block: .75rem; }
.password-generator__options > label { display: grid; min-width: 0; align-content: start; gap: .3rem; font-size: .8125rem; }
.password-generator__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.password-generator__status { font-size: .75rem; line-height: 1.4; color: var(--account-muted); margin-top: .5rem; overflow-wrap: anywhere; }
.auth-workspace .auth-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .5rem; }
.auth-workspace .auth-actions > .btn { width: auto; flex: 0 0 auto; padding-inline: 1rem; }
.account-workspace .account-dashboard-summary { padding: .25rem; border-radius: .35rem; background: var(--color-base-100); }
.account-workspace .account-dashboard-actions { padding: .125rem 0; }
.account-workspace .account-table { table-layout: fixed; width: 100%; }
.account-workspace .account-table :is(th, td) { text-align: left; padding: .6rem .75rem; }
.account-workspace .account-table thead th { vertical-align: middle; white-space: normal; }
.account-workspace .account-table :is(.account-table__number, .account-table__actions) { text-align: right; }
.account-workspace .account-table__actions > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem; }
.account-workspace .account-table__number { font-variant-numeric: tabular-nums; }
.account-workspace .account-table__time { white-space: normal; }
.account-workspace .account-table code { font-size: .75rem; font-weight: 400; }
.account-workspace .ui-table-scroll > .account-table--recent { min-width: 54rem; }
.account-workspace .ui-table-scroll > .account-table--roles { min-width: 68rem; }
.account-workspace .ui-table-scroll > .account-table--permissions { min-width: 82rem; }
.account-workspace .ui-table-scroll > .account-table--audit { min-width: 92rem; }
.account-table--recent .account-table__col--time { width: 14rem; }
.account-table--recent .account-table__col--user { width: 32%; }
.account-table--recent .account-table__col--action { width: 12rem; }
.account-table--roles .account-table__col--code { width: 24%; }
.account-table--roles :is(.account-table__col--type, .account-table__col--status) { width: 7rem; }
.account-table--roles .account-table__col--permissions { width: 6rem; }
.account-table--roles .account-table__col--assignments { width: 6.5rem; }
.account-table--roles .account-table__col--actions { width: 14rem; }
.account-table--permissions .account-table__col--code { width: 23%; }
.account-table--permissions .account-table__col--name { width: 22%; }
.account-table--permissions .account-table__col--description { width: 14%; }
.account-table--permissions .account-table__col--scopes { width: 10%; }
.account-table--permissions .account-table__col--targets { width: 11%; }
.account-table--permissions .account-table__col--sensitivity { width: 8%; }
.account-table--permissions :is(.account-table__col--read-only, .account-table__col--status) { width: 6%; }
.account-table--audit .account-table__col--time { width: 12.5rem; }
.account-table--audit :is(.account-table__col--user, .account-table__col--object) { width: 14rem; }
.account-table--audit .account-table__col--action { width: 10rem; }
.account-table--audit .account-table__col--path { width: 18rem; }
.account-workspace .ui-table-scroll > .account-table--assignments { min-width: 62rem; }
.account-table--assignments .account-table__col--role { width: 28%; }
.account-table--assignments .account-table__col--scope { width: 25%; }
.account-table--assignments .account-table__col--dates { width: 17%; }
.account-table--assignments .account-table__col--status { width: 12%; }
.account-table--assignments .account-table__col--actions { width: 18%; }
.account-workspace .ui-table-scroll > .account-table--overrides { min-width: 68rem; }
.account-table--overrides .account-table__col--permission { width: 30%; }
.account-table--overrides .account-table__col--effect { width: 9rem; }
.account-table--overrides .account-table__col--status { width: 8rem; }
.account-table--overrides .account-table__col--actions { width: 11rem; }
.account-workspace .ui-table-scroll > .account-table--user-audit { min-width: 60rem; }
.account-table--user-audit .account-table__col--time { width: 13rem; }
.account-table--user-audit .account-table__col--action { width: 10rem; }
.account-table--user-audit .account-table__col--object { width: 16rem; }
.account-workspace .account-table__path code { display: block; overflow-wrap: anywhere; line-height: 1.5; }
.account-workspace .account-audit-details {
    margin: 0; max-height: 8rem; overflow: auto; white-space: pre-wrap;
    overflow-wrap: anywhere; font-size: .75rem; line-height: 1.5;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
.account-workspace .account-table tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 63.99rem) {
    .account-workspace .ui-page-heading { grid-template-columns: minmax(0,1fr); }
    .account-workspace .ui-page-heading__actions { justify-self: start; justify-content: flex-start; }
}
@media (max-width: 40rem) {
    .account-workspace .content-shell > .ui-page-header { padding: .25rem 0 .75rem; }
    .account-workspace .content-shell > .ui-content-panel { padding: 0; }
    .account-workspace :is(.ui-surface, .access-island__body, .account-detail-header) { padding: .75rem; }
    .account-workspace .access-island__body--table { padding: 0; }
    .account-workspace .access-island__header { padding: .625rem .75rem; }
    .account-workspace .access-user-summary { grid-template-columns: minmax(0,1fr); }
    .account-workspace .account-detail-actions { width: 100%; }
    .account-workspace .account-detail-actions > :is(a, form) { flex: 0 0 auto; max-width: 100%; }
    .account-workspace .account-detail-actions form > .btn { width: auto; }
    .account-workspace .access-modal-box > :is(form,div):not(.toast) { padding: .75rem; }
    .account-workspace .access-modal-box .access-modal-box__body--table { padding: 0; }
    .auth-workspace .auth-shell { padding: .75rem; }
    .auth-workspace .auth-panel > .card > .card-body { padding: 1rem; }
    .password-generator__options { grid-template-columns: minmax(0,1fr); }
}
