/* REC-004: calm, complete Account, Lead, and Opportunity directory navigation. */
.ps-record-directory-table {
  border-collapse: separate !important;
  border-spacing: 0 0.25rem !important;
}

.ps-record-directory-table th {
  padding-bottom: 0.375rem !important;
  padding-top: 0.375rem !important;
}

.ps-record-open-column {
  display: none !important;
}

.ps-record-primary-column {
  width: auto !important;
}

.ps-record-terminal-column {
  width: 7rem !important;
}

.ps-record-row {
  cursor: pointer;
  outline: none;
}

.ps-record-row > td {
  padding-bottom: 0.5rem !important;
  padding-top: 0.5rem !important;
  transition: background-color 150ms ease, border-color 150ms ease;
  vertical-align: middle;
}

.ps-record-row > .ps-record-primary-cell {
  border-bottom-left-radius: 0.375rem !important;
  border-top-left-radius: 0.375rem !important;
}

.ps-record-row > .ps-record-terminal-cell {
  border-bottom-right-radius: 0.375rem !important;
  border-top-right-radius: 0.375rem !important;
}

.ps-record-row:hover > td,
.ps-record-row:focus-visible > td {
  background-color: rgba(240, 253, 250, 0.72) !important;
}

.ps-record-row:focus-visible {
  outline: 2px solid rgba(13, 148, 136, 0.55);
  outline-offset: 2px;
}

.ps-record-primary-action {
  pointer-events: none;
}

.ps-record-primary-line {
  overflow: visible !important;
  overflow-wrap: anywhere;
  text-overflow: clip !important;
  white-space: normal !important;
}

.ps-record-summary-grid {
  gap: 0.25rem !important;
  margin-top: 0.25rem !important;
}

.ps-record-summary {
  line-height: 1rem !important;
  padding-bottom: 0.125rem !important;
  padding-top: 0.125rem !important;
}

.ps-record-terminal-cell span {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal !important;
}

/* Accounts use the full directory width; creation remains available in its existing modal. */
.ps-account-directory-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

.ps-account-create-rail {
  display: none !important;
}

.ps-account-directory-section {
  container-name: ps-account-directory;
  container-type: inline-size;
  box-shadow: none !important;
  padding: 1.125rem !important;
}

.ps-account-directory-section .ps-record-directory-header {
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 0.875rem !important;
  padding-bottom: 0.875rem;
}

.ps-account-directory-section .ps-record-directory-header > :first-child > :first-child {
  background: #f0fdfa !important;
  color: #0f766e !important;
}

.ps-account-directory-section .ps-record-directory-header h3 {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  margin-top: 0 !important;
}

.ps-account-directory-section .ps-record-directory-header button {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.ps-account-directory-section .ps-record-directory-header button[data-ps-compact-label] {
  font-size: 0 !important;
}

.ps-account-directory-section .ps-record-directory-header button[data-ps-compact-label]::after {
  content: attr(data-ps-compact-label);
  font-size: 0.8125rem;
  line-height: 1.25rem;
}

.ps-account-directory-section .ps-record-directory-filters {
  gap: 0.5rem !important;
  margin-bottom: 0.75rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] {
  border-spacing: 0 !important;
  font-size: 0.8125rem !important;
  table-layout: fixed;
}

.ps-record-directory-table[data-ps-record-kind="account"] thead {
  color: #64748b !important;
  font-size: 0.75rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] th {
  border-bottom: 1px solid #cbd5e1;
  color: #64748b !important;
  font-weight: 600 !important;
  padding: 0.5rem 0.75rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-primary-column {
  width: 38% !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-business-column {
  width: 17% !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-column {
  width: 4.5rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-stage-column {
  width: 9rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-column {
  width: 10rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-column {
  width: 7.25rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-contact-column,
.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-open-column {
  display: none !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row {
  background: #fff !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row > td {
  background: #fff !important;
  border-bottom: 1px solid #e2e8f0;
  border-radius: 0 !important;
  height: 4.25rem;
  padding: 0.625rem 0.75rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row:hover > td,
.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row:focus-visible > td {
  background: #f8fafc !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-primary-cell {
  min-width: 0;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-primary-action {
  align-items: center;
  column-gap: 0.75rem;
  display: grid !important;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  min-height: 2.5rem;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-avatar {
  align-items: center;
  align-self: center;
  background: #f1f5f9;
  border: 1px solid #dbe4ea;
  border-radius: 0.5rem;
  color: #475569;
  display: inline-flex;
  grid-column: 1;
  grid-row: 1 / span 2;
  height: 2.25rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 2.25rem;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-avatar-fallback {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-avatar-image {
  background: #fff;
  height: 100%;
  inset: 0;
  object-fit: contain;
  opacity: 0;
  padding: 0.25rem;
  position: absolute;
  transition: opacity 150ms ease;
  width: 100%;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-avatar-loaded .ps-company-avatar-image {
  opacity: 1;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-name,
.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-meta {
  grid-column: 2;
  min-width: 0;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-name {
  color: #0f172a !important;
  display: -webkit-box !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.125rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-company-meta {
  color: #64748b !important;
  display: block !important;
  font-size: 0.75rem;
  line-height: 1rem;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-summary-grid {
  display: none !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-business-cell p:first-child {
  color: #334155;
  font-size: 0.8125rem;
  font-weight: 500;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-business-cell p:not(:first-child) {
  display: none !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-cell > span,
.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-stage-cell > span,
.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-cell > span {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex;
  font-size: 0.75rem !important;
  line-height: 1rem;
  padding: 0 !important;
  white-space: normal !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-cell > span {
  align-items: center;
  background: #f1f5f9 !important;
  border-radius: 999px !important;
  font-variant-numeric: tabular-nums;
  height: 1.75rem;
  justify-content: center;
  min-width: 1.75rem;
  padding: 0 0.5rem !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-cell > span {
  background: transparent !important;
  border: 0 !important;
  display: block;
  padding: 0 !important;
}

.ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-cell span {
  line-height: 1rem !important;
}

@container ps-account-directory (min-width: 1100px) {
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-business-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-business-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-stage-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-stage-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-cell {
    display: table-cell !important;
  }
}

@container ps-account-directory (min-width: 760px) and (max-width: 1099px) {
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-primary-column {
    width: auto !important;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-active-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-stage-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-stage-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-activity-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-column,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-cell {
    display: table-cell !important;
  }
}

@container ps-account-directory (max-width: 759px) {
  .ps-record-directory-table[data-ps-record-kind="account"] {
    display: block;
    min-width: 0;
    width: 100%;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] thead {
    display: none !important;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] tbody {
    display: grid;
    gap: 0;
    min-width: 0;
    width: 100%;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row {
    align-items: center;
    border-bottom: 1px solid #e2e8f0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    width: 100%;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row > td {
    border-bottom: 0;
    display: none !important;
    height: auto;
    min-height: 4.5rem;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row > .ps-record-primary-cell,
  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-row > .ps-record-terminal-cell {
    display: block !important;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] .ps-record-terminal-cell {
    min-height: 0;
    padding-left: 0.25rem !important;
    white-space: nowrap;
  }

  .ps-record-directory-table[data-ps-record-kind="account"] .ps-company-name {
    -webkit-line-clamp: 2;
  }

  .ps-account-directory-section .ps-record-directory-header {
    align-items: flex-start !important;
  }

  .ps-account-directory-section .ps-record-directory-header > :last-child {
    width: 100%;
  }

  .ps-account-directory-section .ps-record-directory-header button {
    flex: 1 1 auto;
    justify-content: center;
    min-width: 2.75rem;
  }
}

@media (max-width: 639px) {
  .ps-account-directory-section {
    border-left: 0 !important;
    border-radius: 0 !important;
    border-right: 0 !important;
    margin-left: 0;
    margin-right: 0;
    padding: 1rem !important;
  }

  .ps-record-directory-table .ps-record-terminal-column {
    width: 6.25rem !important;
  }

  .ps-record-row > td {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-record-row > td,
  .ps-company-avatar-image {
    transition: none;
  }
}

@media (forced-colors: active) {
  .ps-record-row:focus-visible {
    outline: 2px solid CanvasText;
  }

  .ps-company-avatar {
    border: 1px solid CanvasText !important;
  }
}
