.auth-gate { min-height: 90vh; display: grid; place-items: center; padding: 24px; }
.auth-form { width: min(100%, 360px); display: grid; gap: 20px; }
.auth-form h1 { font-size: 24px; }
.auth-form label { display: grid; gap: 8px; }
.auth-form input { width: 100%; padding: 10px; }
.auth-form [role=alert] { color: #b42318; }
.account-tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #ddd; padding-bottom: 12px; }
.permission-tree { list-style: none; padding-left: 18px; margin: 12px 0; }
.permission-tree li { margin: 10px 0; }
.permission-tree label, .account-choice { display: flex; align-items: center; gap: 10px; }
.permission-tree input, .account-choice input { width: 16px; height: 16px; flex: none; }
.account-choice { margin: 12px 0; }
#accountWorkspace td, #accountWorkspace th { padding: 14px; text-align: left; }
#accountWorkspace table { min-width: 680px; width: 100%; }
#accountWorkspace .table-wrap { overflow-x: auto; }
#accountWorkspace td .button { white-space: nowrap; }
.auth-gate ~ * { visibility: hidden; }
body:not(.authenticated) > :not(.auth-gate):not(script):not(link) { display: none !important; }
