/* organization: page styles on top of the design-system primitives in /styles.css.
   Tokens only (var(--...)); no hex, no rgba, no new hues.
   Used by: organization, admin-advisors, admin-firms, clients, client-accounts, data-access. */

.org-tabs { margin: 0 0 24px; }
/* A long segmented control scrolls sideways on a phone instead of clipping. */
.org-seg { max-width: 100%; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.org-tabs .seg-n:empty, .filter-row .seg-n:empty { display: none; }
.org-search { flex: 0 1 280px; min-width: 200px; }
.org-note { font-size: var(--fs-meta); color: var(--ink-3); margin: 0; }
.org-nowrap { white-space: nowrap; }
.org-sec { margin-top: 28px; }
.org-narrow { max-width: 820px; }
.org-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ── List rows (feed-row) ─────────────────────────────────────── */
.org-st { display: inline-grid; place-items: center; color: var(--ink-3); }
.org-st--good { color: var(--good); }
.org-st--caution { color: var(--caution); }
.org-chev { display: grid; place-items: center; color: var(--ink-3); }
.org-feed .row-meta .src-chip { height: 24px; }
.org-row-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }

/* Non-clickable rows (clients, access requests, invitations). */
.org-rows { display: flex; flex-direction: column; }
.org-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 16px;
  padding: 14px 0; border-bottom: 1px solid var(--line-2);
}
.org-row:last-child { border-bottom: 0; }
.org-row-main { min-width: 0; }
.org-row-tags { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.org-row-end { display: flex; justify-content: flex-end; gap: 8px; }

/* ── Similar-entries cluster row and its review view ──────────── */
.org-cluster {
  display: flex; align-items: center; gap: 14px; width: 100%;
  margin: 0 0 12px; padding: 16px 18px; text-align: left;
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--panel);
  transition: background 160ms var(--ease-out);
}
.org-cluster:hover { background: var(--soft); }
.org-cluster > svg { color: var(--caution); }
.org-cluster-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.org-cluster-title { font-weight: 600; }
.org-back { margin: 0 0 16px; }
.org-review h2 { margin: 0 0 4px; }
.org-review > .org-note { margin-bottom: 18px; }
.org-members { display: flex; flex-direction: column; gap: 8px; }
.org-member {
  display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: var(--r-md); cursor: pointer;
  font-size: var(--fs-body); font-weight: 400; color: var(--ink);
  transition: background 160ms var(--ease-out), border-color 160ms var(--ease-out);
}
.org-member:hover { background: var(--soft); }
.org-member:has(input:checked) { border-color: var(--ink-3); background: var(--soft); }
.org-member-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.org-member-name { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-weight: 600; }
.org-review-foot { margin-top: 20px; }

/* ── Drawers: entity detail ───────────────────────────────────── */
.org-dlg-sub { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 20px; font-size: var(--fs-meta); color: var(--ink-3); }
.org-h3 { font-size: var(--fs-body); font-weight: 600; margin: 0 0 10px; }
.org-h3.org-sec { margin-top: 28px; }
.org-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.org-sec-head .org-h3 { margin: 0; }
.org-addcode { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.org-addcode .field { flex: 2 1 180px; margin: 0; }
.org-addcode .check-label { height: 40px; }
.org-addbox { margin: 0 0 16px; padding: 18px 20px; }
.org-results { margin-top: 16px; min-height: 80px; }

/* Pending ("to confirm") review block. */
.org-pending {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  margin: 0 0 24px; padding: 16px 18px;
  border: 1px solid var(--line); border-radius: var(--r-lg);
}
.org-pending .status { font-weight: 600; }
.org-pending-hint { font-size: var(--fs-ui); color: var(--ink-2); margin: 0; }
.org-pick-wrap { width: 100%; padding-top: 14px; border-top: 1px solid var(--line-2); }
.org-pick { display: flex; align-items: center; gap: 8px; }
.org-pick select { flex: 1; min-width: 0; }

/* Merge disclosure for confirmed entries. */
.org-merge { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line-2); }
.org-merge > summary {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none;
  font-size: var(--fs-ui); color: var(--ink-2);
}
.org-merge > summary::-webkit-details-marker { display: none; }
.org-merge > summary:hover { color: var(--ink); }
.org-merge > summary svg { transition: transform 220ms var(--ease-out); }
.org-merge[open] > summary svg { transform: rotate(180deg); }
.org-merge-body { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.org-foot { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line-2); }

/* Link-existing-code dialog: one group per advisor. */
.org-link-group { margin: 0 0 10px; padding: 12px 16px 4px; border: 1px solid var(--line); border-radius: var(--r-md); }
.org-link-group table { table-layout: fixed; }
.org-link-group th:first-child { width: 34%; }
.org-link-group th:nth-child(2) { width: 24%; }
.org-link-group th:last-child { width: 96px; }
.org-link-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-weight: 600; }

/* ── Client accounts ──────────────────────────────────────────── */
.org-check { margin: 4px 0 16px; }
.org-features { margin: 0 0 16px; }
.org-features > .org-note { margin-bottom: 10px; }
.org-perm-grid { display: flex; flex-direction: column; gap: 14px; }
.org-narrow #ca-error:empty { display: none; }
.org-narrow #ca-error { margin: 0 0 12px; }
.org-result { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line-2); }
.org-result-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.org-link-out { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.org-link-out code { word-break: break-all; }

@media (max-width: 640px) {
  .org-search { flex: 1 1 100%; }
  .org-feed .feed-row { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .org-feed .feed-tags { grid-column: 2 / 3; grid-row: 2; justify-content: flex-start; }
  .org-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .org-row-end { justify-content: flex-start; }
  .org-cluster { flex-wrap: wrap; }
  .org-member { flex-wrap: wrap; }
}
