[hidden] { display: none !important; }
.auth-pending > .sidebar, .auth-pending > .app { visibility: hidden; }
.session-notice { padding: 32px; font-size: 15px; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%, 430px); background: #fff; border: 1px solid #aeb9c7; border-radius: 16px; padding: 36px; box-shadow: 0 12px 40px #17203312; }
.login-card .brand { margin-bottom: 38px; justify-content: flex-start; }
.login-card .brand > span:last-child { display: block; }
.login-card .eyebrow { font-size: 10px; }
.login-card h1 { margin-top: 10px; font-size: 29px; }
.login-card > p { margin-top: 12px; line-height: 1.7; font-size: 13px; color: #46556a; }
.login-card form { margin-top: 26px; }
.login-card label, .user-form label { font-size: 13px; }
.login-card label + label { margin-top: 18px; }
.login-card input, .user-form input, .user-form select { height: 43px; font-size: 14px; }
.login-card .button { width: 100%; margin-top: 22px; font-size: 14px; }
.login-card .notice { margin: 18px 0 0; }
.account-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.account-identity { display: flex; align-items: center; gap: 7px; }
.account-role { font-size: 10px; color: #075e48; background: #e5f3ec; border: 1px solid #8eb6a0; padding: 4px 7px; border-radius: 5px; }
.topbar .account-identity, .topbar .account-role { margin: 0; }
.topbar .account-role { color: #075e48; }
.account-controls .button { min-height: 30px; font-size: 11px; padding: 6px 10px; }
.topbar { gap: 14px; height: auto; min-height: 76px; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
.users-main { max-width: 1100px; margin: auto; }
.users-grid { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 22px; align-items: start; }
.user-form { padding: 22px; }
.user-form > label, .user-form > p { margin-bottom: 18px; }
.user-form .button { width: 100%; }
.users-panel table { min-width: 400px; }
.users-panel td, .users-panel th { font-size: 12px; }
@media (max-width: 950px) {
  .users-grid { grid-template-columns: 1fr; }
}
@media (max-width: 740px) {
  .account-controls { gap: 8px; }
  .login-card { padding: 26px; }
}
