.user-tree-dialog {
    width: min(1100px, 94vw);
    max-height: 90vh;
    overflow: auto;
    background: var(--surface, #fff);
    color: var(--text, #222);
    border: 1px solid var(--border, #888);
    padding: 1.25rem;
}
.user-tree-dialog::backdrop { background: #0008; }
.tree-close { float: right; font-size: 1.3rem; }
.user-tree-list, .user-tree-list ul { list-style: none; padding-left: 1.25rem; }
.user-tree-list ul { border-left: 1px solid var(--border, #888); }
.user-tree-node { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: .75rem 0 .25rem; }
.user-tree-node.is-focused { font-weight: bold; background: var(--surface-strong, #ddd); padding: .5rem; }
.tree-command-form { display: flex; gap: .5rem; flex-wrap: wrap; align-items: end; margin: .75rem 0; }
.tree-command-form label { display: flex; flex-direction: column; gap: .25rem; }
.tree-command-form input { max-width: 18rem; }
.user-tree-dialog summary { cursor: pointer; }
.user-tree-dialog nav button { margin: .25rem; }
.user-profile-info { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .4rem 1rem; }
.user-profile-info dt { font-weight: bold; }
.user-role-badge { display: inline-block; font: .75rem sans-serif; padding: .1rem .35rem; border: 1px solid var(--border, #888); border-radius: .2rem; }
.user-profile-info dd { margin: 0; overflow-wrap: anywhere; }
.user-profile-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.user-profile-controls section { border: 1px solid var(--border, #888); padding: .75rem; min-width: 0; }
.user-profile-controls h3 { margin-top: 0; }
.user-profile-roles { margin-top: 1rem; border: 1px solid var(--border, #888); padding: .75rem; }
.user-profile-roles h3 { margin-top: 0; }
.user-role-form > label { display: flex; flex-direction: column; gap: .3rem; max-width: 20rem; }
.user-role-form fieldset { margin: .75rem 0; }
.user-role-form fieldset label { display: inline-flex; gap: .25rem; margin: .3rem .75rem .3rem 0; }
.user-role-form button { margin-top: .75rem; }
.user-profile-actions button:disabled, .btn-user-delete-account:disabled,
.btn-user-ban:disabled, .btn-user-mute:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 760px) {
    .user-profile-controls { grid-template-columns: 1fr; }
    .user-profile-info { grid-template-columns: 1fr; }
    .user-tree-dialog { box-sizing: border-box; }
}
