/* Auth, user menu, and organization pages */
body.auth-page {
  height:auto;
  min-height:100vh;
  overflow:auto;
  display:grid;
  place-items:center;
  padding:16px
}
.auth-card {
  width:100%;
  max-width:440px;
  display:grid;
  gap:20px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px
}
.auth-intro { color:var(--muted); font-size:14px; line-height:1.5; }
.auth-modes .pill-btn {
  flex:1
}
.auth-form {
  display:grid;
  gap:14px
}
.auth-form label {
  display:grid;
  gap:6px;
  font-size:12px;
  color:var(--muted)
}
.auth-form .checkbox-row {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  font-size:13px
}
.auth-form .btn {
  justify-content:center
}
.password-dialog {
  width:min(420px,calc(100vw - 32px))
}
.user-menu {
  position:relative
}
.user-menu-trigger {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  max-width:200px;
  padding:0 10px;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font-weight:500
}
.user-menu-trigger:hover {
  background:var(--surface-alt)
}
.user-menu-trigger > span:first-child {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.user-menu-panel {
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  z-index:40;
  min-width:220px;
  padding:6px;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 10px 26px var(--menu-shadow)
}
.user-menu.open .user-menu-panel {
  display:grid
}
.user-menu-who {
  padding:8px 10px 10px;
  border-bottom:1px solid var(--line);
  margin-bottom:4px;
  display:grid;
  gap:2px;
  font-size:12px;
  color:var(--muted);
  overflow-wrap:anywhere
}
.user-menu-who strong {
  color:var(--ink);
  font-size:13px
}
.user-menu-panel button {
  min-height:36px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:var(--ink);
  padding:7px 10px;
  text-align:left
}
.user-menu-panel button:hover,.user-menu-panel button:focus-visible {
  background:var(--surface-alt)
}
.org-notice {
  margin:0 0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap
}
.org-notice .alert-box-actions {
  display:flex;
  gap:8px
}
.table-wrap {
  overflow-x:auto
}
.badge-warn {
  background:var(--alert-bg);
  color:var(--alert-ink)
}
.org-form .form-grid {
  max-width:none
}
.org-form select.text-input {
  padding-right:8px
}
.role-card {
  margin:12px 0
}
.perm-group {
  display:grid;
  gap:6px;
  margin-top:4px
}
.perm-group h4 {
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  margin-top:8px
}
.perm-option {
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  color:var(--ink)!important
}
.perm-option input {
  margin-top:3px
}
.perm-option small {
  color:var(--muted)
}
.org-section-note {
  color:var(--muted);
  font-size:12px
}

.agent-row { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--border, rgba(127,127,127,.25)); }
.agent-row strong { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agent-meta { opacity: .6; font-size: .85em; }
