/* Third-batch refresh: organization, members and quota operations. */

.org-page-frame {
  gap: 24px;
}

.org-page-heading {
  min-height: 112px;
}

.org-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.org-layout.is-platform-organization {
  grid-template-columns: 276px minmax(0, 1fr);
}

#organizationRail[hidden] {
  display: none !important;
}

.organization-rail,
.org-section {
  border-color: var(--fd-color-line);
  border-radius: var(--fd-radius-md);
  box-shadow: var(--fd-shadow-sm);
}

.organization-rail {
  top: 94px;
  max-height: calc(100dvh - 122px);
}

.rail-head,
.section-head {
  min-height: 74px;
  padding: 16px 20px;
  border-bottom-color: var(--fd-color-line);
}

.rail-head span,
.section-head span,
.org-content label > span {
  color: var(--fd-color-muted);
  font-size: var(--fd-font-size-meta);
  font-weight: var(--fd-font-weight-regular);
}

.rail-head button {
  border-color: var(--fd-brand-jade-line);
  border-radius: var(--fd-radius-sm);
  background: var(--fd-brand-jade-soft);
  color: var(--fd-brand-jade);
}

.organization-item {
  min-height: 66px;
  padding: 12px 16px;
  border-bottom-color: var(--fd-color-line);
}

.organization-item:hover {
  background: var(--fd-color-surface-soft);
}

.organization-item.is-active {
  border-left-color: var(--fd-brand-jade);
  background: var(--fd-brand-jade-soft);
}

.organization-item strong {
  color: var(--fd-color-ink);
  font-size: var(--fd-font-size-body);
  font-weight: var(--fd-font-weight-medium);
}

.organization-item span {
  color: var(--fd-color-muted);
  font-size: var(--fd-font-size-caption);
}

.org-content {
  gap: 24px;
}

.organization-access-denied {
  min-height: 224px;
  padding: 32px 28px;
  display: grid;
  justify-items: start;
  align-content: center;
  gap: 10px;
}

.organization-access-denied h2,
.organization-access-denied p {
  margin: 0;
}

.organization-access-denied h2 {
  color: var(--fd-color-ink);
  font-size: var(--fd-font-size-section-title);
  font-weight: var(--fd-font-weight-medium);
}

.organization-access-denied p {
  color: var(--fd-color-muted);
  font-size: var(--fd-font-size-body);
}

.section-head h2 {
  margin-top: 4px;
  color: var(--fd-color-ink);
  font-size: var(--fd-font-size-section-title);
  font-weight: var(--fd-font-weight-medium);
}

.organization-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.organization-name-edit {
  min-height: 30px;
  padding: 4px 9px;
  border-color: var(--fd-color-line-strong);
  border-radius: var(--fd-radius-sm);
  color: var(--fd-color-ink-soft);
  background: var(--fd-color-surface);
  font-size: var(--fd-font-size-meta);
  font-weight: var(--fd-font-weight-regular);
}

.organization-name-edit:hover {
  border-color: var(--fd-brand-jade-line);
  color: var(--fd-brand-jade);
  background: var(--fd-brand-jade-soft);
}

.organization-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.organization-actions strong {
  padding: 6px 8px;
  border: 1px solid var(--fd-color-line);
  border-radius: var(--fd-radius-sm);
  color: var(--fd-color-ink-soft);
  background: var(--fd-color-surface-soft);
  font-size: var(--fd-font-size-meta);
  font-weight: var(--fd-font-weight-regular);
}

.organization-token-quota {
  padding: 6px 8px;
  border: 1px solid var(--fd-brand-jade-line);
  border-radius: var(--fd-radius-sm);
  color: var(--fd-brand-jade);
  background: var(--fd-brand-jade-soft);
  font-size: var(--fd-font-size-meta);
}

.form-grid,
.member-form {
  padding: 24px 20px 20px;
  gap: 18px 20px;
}

.form-grid,
.member-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.member-form label:first-child {
  grid-column: 1 / -1;
}

.org-content :is(input, select) {
  height: var(--fd-control-height-lg);
  border-color: var(--fd-color-line-strong);
  border-radius: var(--fd-radius-md);
  color: var(--fd-color-ink);
  font-size: var(--fd-font-size-body);
}

.password-visibility {
  min-height: var(--fd-control-height-lg);
  padding: 0 10px;
  border: 1px solid var(--fd-color-line);
  border-radius: var(--fd-radius-md);
  background: var(--fd-color-surface-soft);
}

.password-visibility span {
  color: var(--fd-color-ink-soft);
  font-size: var(--fd-font-size-meta);
}

.form-command {
  justify-content: flex-start;
}

.form-command .primary {
  min-width: 132px;
}

.org-status {
  min-height: 40px;
  margin: 0;
  padding: 0 20px 20px;
  color: var(--fd-color-muted);
  font-size: var(--fd-font-size-body);
}

.member-table-wrap {
  padding: 0 20px 8px;
}

.member-table-wrap table {
  border-top: 1px solid var(--fd-color-line);
}

/* The member directory is scanned as one data surface: headings and state
 * labels stay auxiliary, while every actual member/account value uses body
 * type. Do not let local legacy selectors introduce a third text size. */
.member-section .section-head h2 {
  font-size: var(--fd-font-size-section-title);
  line-height: var(--fd-line-height-title);
}

.member-section .section-head > div > span,
.member-table-wrap th,
.member-table-wrap .role-label,
.member-table-wrap .status-label,
.member-table-wrap .member-action-button {
  font-size: var(--fd-font-size-meta);
  line-height: var(--fd-line-height-meta);
}

.member-table-wrap th,
.member-table-wrap td {
  padding: 14px 12px;
  border-bottom-color: var(--fd-color-line);
}

.member-table-wrap th {
  color: var(--fd-color-muted);
  background: var(--fd-color-surface-soft);
  font-size: var(--fd-font-size-meta);
  font-weight: var(--fd-font-weight-regular);
}

.member-table-wrap td {
  color: var(--fd-color-ink-soft);
  font-size: var(--fd-font-size-body);
  line-height: var(--fd-line-height-body);
}

.member-action-button {
  min-height: var(--fd-control-height-sm);
  border-color: var(--fd-color-line-strong);
  border-radius: var(--fd-radius-sm);
  font-size: var(--fd-font-size-meta);
}

.role-label,
.status-label {
  padding: 3px 7px;
  font-size: var(--fd-font-size-meta);
}

.member-edit-dialog {
  border-color: var(--fd-color-line);
  border-radius: var(--fd-radius-lg);
}

.dialog-head {
  padding: 20px;
  border-bottom-color: var(--fd-color-line);
}

.dialog-head h2 {
  color: var(--fd-color-ink);
  font-size: var(--fd-font-size-section-title);
  font-weight: var(--fd-font-weight-medium);
}

.dialog-head span,
.edit-member-summary,
.dialog-status {
  color: var(--fd-color-muted);
  font-size: var(--fd-font-size-meta);
}

.edit-member-form {
  padding: 22px 20px;
  gap: 18px;
}

@media (max-width: 920px) {
  .org-layout.is-platform-organization {
    grid-template-columns: 232px minmax(0, 1fr);
    gap: 18px;
  }
}

@media (max-width: 760px) {
  .org-page-frame,
  .org-layout {
    display: block;
  }

  .organization-rail {
    position: static;
    max-height: min(42dvh, 340px);
    margin: 18px 0;
  }

  .org-content { gap: 18px; }
}

@media (max-width: 560px) {
  .form-grid,
  .member-form { grid-template-columns: 1fr; }

  .member-form label:first-child { grid-column: auto; }

  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .organization-actions { justify-content: flex-start; }

  .form-grid,
  .member-form { padding-inline: 16px; }
  .member-table-wrap { padding-inline: 16px; }
}
