/* Team (Zespol) screen, WP6b. Sizes from Stock Pulse Zespol.dc.html; tokens only (styles/tokens.css). */

/* ---------- Members ---------- */
.team-members { margin-top: 20px; }
.team-members .tbl td { padding-top: 12px; padding-bottom: 12px; }
.team-members .tbl-scroll { overflow-y: hidden; }
.team-person { display: flex; align-items: center; gap: 12px; }
.team-person__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.team-person__name { font-size: var(--fs-body); font-weight: 500; }
.team-person__sub { color: var(--text-tertiary); font-size: var(--fs-small); }
.team-avatar {
  display: grid; place-items: center; flex: none; border-radius: var(--r-full); background: var(--bg-raised);
  color: var(--text-secondary); font-family: var(--font-mono); font-weight: 500;
}
.team-avatar--32 { width: 32px; height: 32px; font-size: var(--fs-micro); }
.team-avatar--40 { width: 40px; height: 40px; font-size: var(--fs-small); }
.team-role { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: var(--fs-body); }
.team-tag {
  padding: 2px 7px; border-radius: var(--r-full); background: var(--accent-tint-10); color: var(--accent-hover);
  font-size: var(--fs-tiny); font-weight: 500; white-space: nowrap;
}
.team-status { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-meta); font-weight: 500; }
.team-status--active { color: var(--st-safe); }
.team-status--invited { color: var(--st-transit); }
.team-status--blocked { color: var(--st-order); }
.team-status--revoked { color: var(--text-tertiary); }
.team-members .tbl td.team-mono { color: var(--text-secondary); font-family: var(--font-mono); font-size: var(--fs-small); }
.team-fin { display: inline-flex; align-items: center; gap: 6px; color: var(--text-primary); font-size: var(--fs-meta); }
.team-fin--partial { color: var(--text-secondary); }
.team-fin--hidden { color: var(--text-tertiary); }
.team-note { margin-top: 12px; color: var(--text-tertiary); font-size: var(--fs-small); }
.team-retry { display: flex; justify-content: center; margin-top: 12px; }

/* ---------- Member panel (520) ---------- */
.team-panel .panel__body { gap: 22px; padding: 20px 24px; }
.team-panel .panel__foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 14px 24px; }
.team-panel__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.team-panel__name { font-size: var(--fs-h2); font-weight: 600; }
.team-panel__meta { color: var(--text-tertiary); font-size: var(--fs-small); }
.team-panel__revoke { margin-left: auto; }
.team-h3 { margin: 0 0 10px; font-size: var(--fs-body); font-weight: 600; }
.team-h3--flat { margin: 0; }
.team-panel__note { margin-top: 10px; color: var(--text-tertiary); font-size: var(--fs-small); line-height: 1.5; }
.chip.team-chip--dim { opacity: 0.5; }
.team-panel__permhead { display: flex; align-items: center; gap: 12px; }
.team-reset {
  margin-left: auto; height: 28px; padding: 0 8px; border: 0; border-radius: var(--r-sm); background: transparent;
  color: var(--accent-text); font-size: var(--fs-small); cursor: pointer;
}
.team-reset:hover { background: var(--bg-row-hover); }
.team-perms { display: flex; flex-direction: column; margin-top: 6px; }
.team-perms__group {
  padding: 14px 0 6px; color: var(--text-tertiary); font-size: var(--fs-micro); font-weight: 500;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.toggle.team-perm { display: flex; gap: 12px; width: 100%; padding: 10px 0; border-bottom: 1px solid var(--border-subtle); }
.toggle.team-perm.is-locked { cursor: not-allowed; opacity: 0.6; }
.team-perm__label { flex: 1; text-align: left; color: var(--text-primary); font-size: var(--fs-body); }
.team-perm__changed { color: var(--accent-hover); font-size: var(--fs-micro); }

/* Inline rule errors (owner_protected, last_owner, cannot_grant ...) under the control that failed */
.team-error { margin-top: 8px; color: var(--danger); font-size: var(--fs-small); line-height: 1.5; }
.team-error--row { margin: 6px 0 2px; }
.team-error--full { flex-basis: 100%; margin: 0 0 4px; }

/* ---------- Invite + link modals ---------- */
.team-form { display: flex; flex-direction: column; }
.team-form__desc { color: var(--text-tertiary); font-size: var(--fs-small); line-height: 1.5; }
.team-hint {
  padding: 9px 12px; border-radius: var(--r-md); background: var(--st-order-tint); color: var(--st-order);
  font-size: var(--fs-meta); line-height: 1.45;
}
.team-link { display: flex; gap: 8px; }
.team-link .input { flex: 1; min-width: 0; font-size: var(--fs-small); }

/* ---------- Roles ---------- */
.team-roles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 20px; }
.team-rolecard {
  display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border: 1px solid var(--border-subtle);
  border-radius: var(--r-md); background: var(--bg-card);
}
.team-rolecard__head { display: flex; align-items: center; gap: 8px; }
.team-rolecard__name { font-size: var(--fs-nav); font-weight: 600; }
.team-rolecard__count { margin-left: auto; color: var(--text-tertiary); font-family: var(--font-mono); font-size: var(--fs-micro); }
.team-rolecard__desc { color: var(--text-secondary); font-size: var(--fs-small); line-height: 1.5; text-wrap: pretty; }
.team-matrix { margin-top: 16px; }
.team-matrix .tbl-scroll, .team-audit .tbl-scroll { overflow-y: hidden; }
.team-matrix .team-tbl { min-width: 820px; }
.team-matrix .tbl td { padding-top: 10px; padding-bottom: 10px; }
.team-matrix .tbl th.team-matrix__col { width: 110px; text-align: center; white-space: normal; }
.team-matrix .tbl td.team-matrix__cell { text-align: center; }
.team-matrix .tbl th:last-child, .team-matrix .tbl td:last-child { padding-right: 8px; }
.team-matrix .tbl tr.team-matrix__group td {
  padding: 14px 8px 6px 20px; color: var(--text-tertiary); font-size: var(--fs-micro); font-weight: 500;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.team-yes { color: var(--accent); }
.team-no { color: var(--chart-bar); }
.team-matrix tbody tr:hover, .team-audit tbody tr:hover { background: transparent; }

/* ---------- Activity history ---------- */
.team-history > .chips { gap: 8px; margin-top: 20px; }
.team-audit { margin-top: 12px; }
.team-audit .team-tbl { min-width: 760px; }
.team-audit .tbl td.team-audit__when {
  color: var(--text-secondary); font-family: var(--font-mono); font-size: var(--fs-small); white-space: nowrap;
}
.team-audit__who { white-space: nowrap; }
.team-audit .tbl td.team-audit__change { text-align: right; font-family: var(--font-mono); font-size: var(--fs-small); white-space: nowrap; }
