/* v201 — scoped clarity pass for Customers, client profiles and document editors. */
.wgm-customers-page,
.wgm-documents-page {
  color: #171714;
}

.wgm-customers-page .page-title,
.wgm-documents-page .page-title {
  color: #11110f;
}

.wgm-customers-page .page-sub,
.wgm-documents-page .page-sub,
.wgm-customers-page .field-help {
  color: #59544c !important;
}

.wgm-customers-page .customer-filter-tab,
.wgm-documents-page .document-filter-tab,
.wgm-documents-page .document-workspace-tab {
  color: #59544c !important;
}

.wgm-customers-page .customer-filter-tab.active,
.wgm-documents-page .document-filter-tab.active,
.wgm-documents-page .document-workspace-tab.active {
  color: #6f5315 !important;
}

.wgm-customers-page .field-optional {
  color: #777168;
  font-size: 10px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.customer-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}

.customer-kpi {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #d9d2c5;
  border-radius: 12px;
  background: #fffdfa;
  box-shadow: 0 1px 2px rgba(36, 31, 24, .05);
}

.customer-kpi span,
.customer-kpi small {
  display: block;
}

.customer-kpi span {
  color: #625c53;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.customer-kpi strong {
  display: block;
  overflow: hidden;
  margin: 5px 0 2px;
  color: #181713;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 20px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.customer-kpi small {
  overflow: hidden;
  color: #716b62;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wgm-customers-page .table-card,
.wgm-documents-page .table-card,
.wgm-documents-page .doc-preview {
  border-color: #d8d1c5;
  box-shadow: 0 2px 8px rgba(38, 33, 26, .06);
}

.wgm-customers-page table thead th,
.wgm-documents-page table thead th {
  color: #4f4a43;
  background: #f4f0e9;
  border-bottom-color: #cec6b9;
}

.wgm-customers-page table tbody td,
.wgm-documents-page table tbody td {
  color: #292722 !important;
  border-bottom-color: #e4ded4;
}

.wgm-customers-page table .td-main {
  color: #165a86 !important;
  font-weight: 650;
}

.wgm-customers-page table td[style*="color:var(--ink3)"],
.wgm-customers-page table td[style*="color: var(--ink3)"] {
  color: #514c45 !important;
}

.wgm-customers-page table tbody tr:hover,
.wgm-documents-page table tbody tr:hover {
  background: #faf7f1;
}

.wgm-customers-page .inline-select,
.wgm-customers-page .search-input,
.wgm-documents-page .search-input {
  color: #211f1b;
  background: #fff;
  border-color: #bdb5a8;
}

.wgm-customers-page .client-tab,
.wgm-documents-page .doc-actions .btn {
  color: #37332e;
}

/* Client profile: keep the identity/actions in a compact rail and place the
   operational tabs in the full-width work area beside it. */
.wgm-customers-page .client-detail {
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.wgm-customers-page .client-sidebar {
  min-width: 0;
  padding: 18px;
  border: 1px solid #d8d1c5;
  border-radius: 14px;
  background: #fffdfa;
  box-shadow: 0 2px 8px rgba(38, 33, 26, .06);
}

.wgm-customers-page .client-detail > div:last-child {
  min-width: 0;
}

.wgm-customers-page .client-tabs {
  display: flex;
  overflow-x: auto;
  border-color: #d8d1c5;
  background: #fffdfa;
  scrollbar-width: thin;
}

.wgm-customers-page .client-tab {
  appearance: none;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  font: inherit;
  white-space: nowrap;
  cursor: pointer;
}

.wgm-customers-page .client-tab:focus-visible,
.client-project-choice:focus-visible,
.client-inline-link:focus-visible {
  outline: 3px solid rgba(45, 105, 180, .28);
  outline-offset: 2px;
}

.client-project-choice-list {
  display: grid;
  gap: 8px;
}

.client-project-choice {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 11px 12px;
  text-align: left;
  border: 1px solid #d8d1c5;
  border-radius: 10px;
  background: #fffdfa;
  color: #211f1b;
  cursor: pointer;
}

.client-project-choice:hover {
  border-color: #b49658;
  background: #fff8e8;
}

.client-project-choice span { font-size: 12px; }
.client-project-choice small { color: #625d54; }

.client-doc-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 12px;
  margin-bottom: 10px;
  border: 1px solid #d8d1c5;
  border-radius: 10px;
  background: #fffdfa;
}

.client-doc-toolbar .search-input {
  flex: 1 1 260px;
  width: auto !important;
}

.client-doc-toolbar select {
  min-width: 160px;
}

.client-doc-count {
  margin-left: auto;
  color: #625d54;
  font-size: 11px;
}

.client-doc-pages {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 12px 0 4px;
  color: #625d54;
  font-size: 11px;
}

.client-inline-link {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: #255f9c;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.client-empty-state {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 34px 20px;
  color: #625d54;
  text-align: center;
}

.client-empty-state > div { font-size: 25px; }
.client-empty-state > strong { color: #292621; }
.client-empty-state > span { font-size: 11px; }

.wgm-customers-page .client-meta-val {
  overflow-wrap: anywhere;
}

/* Quote / invoice editor: clearer document identity and enough desktop room
   for the line-item grid without swallowing labels or controls. */
.modal:has(.document-editor) {
  width: min(980px, calc(100vw - 32px));
  max-width: 980px;
}

.modal:has(.document-editor) .modal-title {
  color: #11110f;
}

.modal:has(.document-editor) .modal-body {
  scrollbar-color: #aaa195 #f4f0e9;
  scrollbar-width: thin;
}

.document-editor label,
.document-editor [style*="color:var(--ink4)"] {
  color: #59544c !important;
}

.document-editor input,
.document-editor select,
.document-editor textarea,
.document-type-locked {
  color: #1d1b18 !important;
  border-color: #bfb6a8 !important;
  background: #fff !important;
}

.document-type-locked {
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
}

.document-editor .field-help,
#nd-deadline-help {
  color: #666057 !important;
}

.wgm-documents-page .doc-preview,
.wgm-documents-page .doc-meta-val,
.wgm-documents-page .doc-table,
.wgm-documents-page .doc-footer {
  color: #24221e;
}

.wgm-documents-page .doc-brand,
.wgm-documents-page .doc-type-name,
.wgm-documents-page .doc-trow.grand {
  color: #11110f;
}

.wgm-documents-page .doc-terms,
.wgm-documents-page .doc-footer,
.wgm-documents-page .doc-brand-contact,
.wgm-documents-page .doc-type-meta {
  color: #5e5951;
}

@media (max-width: 900px) {
  .customer-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wgm-customers-page .page-header,
  .wgm-documents-page .page-header {
    align-items: flex-start;
    gap: 12px;
  }

  .wgm-customers-page .page-actions,
  .wgm-documents-page .page-actions {
    width: 100%;
    flex-wrap: wrap;
  }

  .wgm-customers-page .search-input,
  .wgm-documents-page .search-input {
    width: min(100%, 360px) !important;
  }

  .wgm-customers-page .client-detail {
    grid-template-columns: 1fr;
  }

  .wgm-customers-page .client-sidebar {
    width: 100%;
  }

  /* Put operational work first on phones/tablets. The long identity,
     referral and portal rail remains available immediately below it. */
  .wgm-customers-page .client-workspace {
    order: -1;
    width: 100%;
  }

  .client-doc-toolbar {
    align-items: stretch;
  }

  .client-doc-toolbar .search-input,
  .client-doc-toolbar select,
  .client-doc-toolbar .btn {
    width: 100% !important;
  }

  .client-doc-count {
    margin-left: 0;
  }

  .document-editor .doc-editor-grid {
    grid-template-columns: 1fr !important;
  }

  .document-editor .doc-line-table {
    overflow-x: auto !important;
  }

  .document-editor .doc-line-header,
  .document-editor #nd-line-items {
    min-width: 720px;
  }
}

@media (max-width: 560px) {
  .customer-kpis {
    grid-template-columns: 1fr;
  }

  .customer-kpi {
    padding: 12px 14px;
  }

  .wgm-documents-page .doc-actions {
    align-items: stretch;
  }

  .wgm-documents-page .doc-actions .btn {
    justify-content: center;
  }
}
