/* Production customers: domain-specific layout only. Core colors, cards, buttons and forms come from the global v2 UI. */
.prod-customers-show {
  color: var(--color-text);
}

.prod-customer-feedback-columns {
  display: grid;
  gap: 1.5rem;
}

.prod-customer-feedback-section {
  min-width: 0;
}

.prod-customer-feedback-sidebar {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.prod-customer-feedback-list {
  display: grid;
  gap: 1rem;
}

.prod-customer-feedback-empty {
  background: var(--color-surface);
  border: 1px solid var(--color-border-subtle);
  border-radius: 1rem;
  color: var(--color-text-muted);
  padding: 1.5rem;
}

.prod-customer-feedback-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border-subtle);
  border-radius: 1rem;
  box-shadow: 0 12px 34px rgb(30 45 34 / 0.06);
  min-width: 0;
  padding: 1.35rem 1.5rem 1.15rem;
}

.prod-customer-feedback-header {
  display: grid;
  gap: 0.45rem;
}

.prod-customer-feedback-card-top {
  align-items: flex-start;
  display: flex;
  gap: 0.85rem;
  justify-content: space-between;
}

.prod-customer-feedback-title {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 750;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.prod-customer-feedback-identity-copy {
  min-width: 0;
}

.prod-customer-feedback-identity-copy strong,
.prod-customer-feedback-reply strong {
  color: var(--color-text);
  display: block;
  font-size: 0.875rem;
  line-height: 1.25;
}

.prod-customer-feedback-identity-copy time,
.prod-customer-feedback-reply time {
  color: var(--color-text-muted);
  display: block;
  font-size: 0.75rem;
  margin-top: 0.2rem;
}

.prod-customer-feedback-avatar {
  align-items: center;
  background: #dcd9ca;
  border-radius: 50%;
  color: #343a2a;
  display: inline-flex;
  flex: 0 0 2.75rem;
  font-size: 1rem;
  font-weight: 700;
  height: 2.75rem;
  justify-content: center;
  overflow: hidden;
  width: 2.75rem;
}

.prod-customer-feedback-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.prod-customer-feedback-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.55rem;
}

.prod-customer-feedback-tags span {
  background: #eeeee9;
  border-radius: 999px;
  color: var(--color-text-secondary);
  font-size: 0.72rem;
  line-height: 1.2;
  padding: 0.3rem 0.7rem;
}

.prod-customer-feedback-pill {
  align-items: center;
  background: #e8eee3;
  border-radius: 999px;
  color: #34422f;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.8rem;
  line-height: 1;
  min-height: 1.9rem;
  padding: 0.25rem 0.95rem;
}

.prod-customer-feedback-pill-red {
  background: #f7e8e4;
  color: #823e35;
}

.prod-customer-feedback-pill-amber {
  background: #f5ecd9;
  color: #735524;
}

.prod-customer-feedback-main {
  display: grid;
  gap: 0.65rem;
  padding: 1rem 0 0.9rem;
}

.prod-customer-feedback-content {
  align-items: flex-start;
  background: linear-gradient(115deg, #fbf7ed, #f0e4c9);
  border-radius: 0.75rem;
  display: flex;
  gap: 0.8rem;
  justify-self: start;
  max-width: min(75%, 40rem);
  min-width: 0;
  padding: 0.8rem 1rem;
}

.prod-customer-feedback-content .prod-customer-feedback-identity-copy,
.prod-customer-feedback-reply > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

.prod-customer-feedback-content .prod-customer-feedback-avatar {
  flex-basis: 2.25rem;
  font-size: 0.85rem;
  height: 2.25rem;
  width: 2.25rem;
}

.prod-customer-feedback-content p {
  color: var(--color-text-secondary);
  font-size: 0.8rem;
  line-height: 1.45;
  margin-top: 0.35rem;
  white-space: pre-line;
}

.prod-customer-feedback-replies {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.prod-customer-feedback-reply {
  align-items: flex-start;
  background: linear-gradient(115deg, #f0f4ed, #e7eee4);
  border-radius: 0.75rem;
  display: flex;
  gap: 0.8rem;
  max-width: min(75%, 40rem);
  padding: 0.8rem 1rem;
}

.prod-customer-feedback-legacy-reason {
  justify-self: end;
}

.prod-customer-feedback-reply-avatar {
  background: #8d9474;
  color: #fff;
  flex-basis: 2.25rem;
  font-size: 0.85rem;
  height: 2.25rem;
  width: 2.25rem;
}

.prod-customer-feedback-reply p {
  color: var(--color-text);
  font-size: 0.8rem;
  line-height: 1.45;
  margin-top: 0.35rem;
  white-space: pre-line;
}

.prod-customer-feedback-form {
  align-items: end;
  border-top: 1px solid var(--color-border-subtle);
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr) auto;
  padding-top: 1rem;
}

.prod-customer-feedback-field {
  min-width: 0;
}

.prod-customer-feedback-field label {
  color: var(--color-text-secondary);
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.35rem;
}

.prod-customer-feedback-field .form-control {
  background: var(--color-surface);
  display: block;
  height: 3rem;
  min-height: 3rem;
  width: 100%;
}

.prod-customer-feedback-message textarea {
  resize: vertical;
}

.prod-customer-feedback-submit {
  background: #353b2b;
  border-color: #353b2b;
  color: #fff;
  height: 3rem;
  min-height: 3rem;
  white-space: nowrap;
}

.prod-customer-feedback-submit:hover {
  background: #252b1f;
  border-color: #252b1f;
}

.prod-customer-feedback-history {
  min-width: 0;
}

.prod-customer-feedback-history-summary {
  cursor: pointer;
  list-style: none;
}

.prod-customer-feedback-history-summary .section-title,
.prod-customer-feedback-history-summary .section-description {
  display: block;
}

.prod-customer-feedback-history-summary::-webkit-details-marker {
  display: none;
}

.prod-customer-feedback-history:not([open]) .prod-customer-feedback-history-summary {
  border-bottom: 0;
}

.prod-customer-feedback-history-chevron {
  display: inline-flex;
  transition: transform 0.2s ease;
}

.prod-customer-feedback-history[open] .prod-customer-feedback-history-chevron {
  transform: rotate(180deg);
}

@media (min-width: 1100px) {
  .prod-customer-feedback-columns {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prod-customer-feedback-columns .prod-customer-feedback-content,
  .prod-customer-feedback-columns .prod-customer-feedback-reply {
    max-width: 90%;
  }

  .prod-customer-feedback-columns .prod-customer-feedback-form {
    grid-template-columns: minmax(7rem, 8rem) minmax(0, 1fr);
  }

  .prod-customer-feedback-columns .prod-customer-feedback-submit {
    grid-column: 2;
    justify-self: end;
  }
}

.prod-customer-feedback-admin-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.2rem;
}

.prod-customer-feedback-edit summary,
.prod-customer-feedback-delete {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--color-text-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 0.35rem;
  padding: 0.2rem 0;
}

.prod-customer-feedback-edit summary {
  list-style: none;
}

.prod-customer-feedback-edit summary::-webkit-details-marker {
  display: none;
}

.prod-customer-feedback-delete:hover {
  color: #9a3f35;
}

.prod-customer-feedback-edit[open] {
  flex-basis: 100%;
}

.prod-customer-feedback-edit-form {
  background: var(--color-surface-muted);
  border: 1px solid var(--color-border-subtle);
  border-radius: 0.75rem;
  display: grid;
  gap: 0.75rem;
  margin-top: 0.65rem;
  padding: 1rem;
}

.prod-customer-feedback-edit-form label {
  color: var(--color-text-secondary);
  display: grid;
  font-size: 0.75rem;
  font-weight: 700;
  gap: 0.35rem;
}

.prod-customer-feedback-edit-form button {
  justify-self: start;
}

.prod-customer-compose-summary {
  align-items: center;
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  font-weight: 700;
  gap: 0.5rem;
  list-style: none;
  padding: 0.875rem 1rem;
}

.prod-customer-compose-summary::-webkit-details-marker {
  display: none;
}

.prod-customer-compose[open] .prod-customer-compose-summary {
  border-bottom: 1px solid var(--color-border);
}

@media (max-width: 700px) {
  .prod-customer-feedback-content,
  .prod-customer-feedback-reply {
    max-width: 90%;
  }

  .prod-customer-feedback-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .prod-customer-feedback-message {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .prod-customer-feedback-submit {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 430px) {
  .prod-customer-feedback-card {
    padding: 1rem;
  }

  .prod-customer-feedback-form {
    grid-template-columns: 1fr;
  }

  .prod-customer-feedback-message,
  .prod-customer-feedback-submit {
    grid-column: 1;
    grid-row: auto;
  }

  .prod-customer-feedback-submit {
    justify-self: end;
  }
}

.prod-customers-page .page-content > .kpi-grid {
  gap: 0.875rem;
}

.prod-board,
.prod-customer-profile-grid {
  display: grid;
  gap: 0.875rem;
}

.prod-board > .section-card {
  min-width: 0;
}

.prod-board-side {
  background: linear-gradient(145deg, var(--color-surface) 0%, var(--color-amber-soft) 100%);
  border-color: color-mix(in srgb, var(--color-amber) 36%, var(--color-border));
}

.prod-subcard {
  background: var(--color-surface-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  min-height: 4.75rem;
  padding: 0.75rem;
}

.prod-stat-value {
  color: var(--color-text);
  font-size: 1.875rem;
  font-weight: 900;
  line-height: 1.1;
  margin-top: 0.25rem;
}

.prod-action-item {
  align-items: flex-start;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem;
  transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.prod-action-item:hover {
  border-color: color-mix(in srgb, var(--color-brand) 22%, var(--color-border));
  box-shadow: var(--shadow-card);
}

.prod-customer-contact-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  box-shadow: 0 5px 16px rgb(30 45 34 / 0.05);
  display: flex;
  flex-direction: column;
  min-height: 11rem;
  padding: 1rem;
}

.prod-customer-contact-card.is-muted {
  background: var(--color-surface-muted);
  opacity: 0.78;
}

.prod-customer-avatar {
  align-items: center;
  background: var(--color-brand-soft);
  border: 1px solid #d8ddc7;
  border-radius: var(--radius-control);
  color: var(--color-brand-dark);
  display: flex;
  flex: 0 0 auto;
  font-size: 0.875rem;
  font-weight: 800;
  height: 2.75rem;
  justify-content: center;
  width: 2.75rem;
}

.prod-health-dot {
  border-radius: 999px;
  flex: 0 0 auto;
  height: 0.65rem;
  margin-top: 0.25rem;
  width: 0.65rem;
}

.prod-health-green {
  background: var(--color-brand);
}

.prod-icon-button {
  align-items: center;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  color: var(--color-text-muted);
  display: inline-flex;
  height: 2.25rem;
  justify-content: center;
  transition: background-color 0.15s ease, border-color 0.15s ease;
  width: 2.25rem;
}

.prod-icon-button:hover {
  background: var(--color-surface-muted);
  border-color: color-mix(in srgb, var(--color-brand) 25%, var(--color-border));
}

.prod-customer-script-workspace {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  display: grid;
  min-height: 28rem;
  overflow: hidden;
}

.prod-customer-script-list {
  background: var(--color-surface-muted);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0.75rem;
}

.prod-customer-script-list button {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  flex: 0 0 min(18rem, 82vw);
  padding: 0.75rem;
  text-align: left;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.prod-customer-script-list button:hover,
.prod-customer-script-list button.is-active {
  border-color: color-mix(in srgb, var(--color-info) 45%, var(--color-border));
  box-shadow: var(--shadow-card);
}

.prod-customer-script-list button.is-active {
  background: var(--color-info-soft);
}

.prod-customer-script-preview {
  background: var(--color-surface);
  min-width: 0;
  padding: 1rem;
}

.prod-customer-script-preview [data-script-panel] {
  max-height: 42rem;
  overflow: auto;
  padding-right: 0.35rem;
}

.prod-customer-script-preview [hidden] {
  display: none !important;
}

.prod-script-public-switch {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  gap: 0.55rem;
}

.prod-script-public-switch input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.prod-script-public-switch span {
  background: var(--color-border);
  border-radius: 999px;
  display: inline-block;
  height: 1.45rem;
  position: relative;
  transition: background-color 0.15s ease;
  width: 2.65rem;
}

.prod-script-public-switch span::after {
  background: var(--color-surface);
  border-radius: 999px;
  box-shadow: 0 1px 4px rgb(15 23 42 / 0.25);
  content: "";
  height: 1.05rem;
  left: 0.2rem;
  position: absolute;
  top: 0.2rem;
  transition: transform 0.15s ease;
  width: 1.05rem;
}

.prod-script-public-switch input:checked + span {
  background: var(--color-brand);
}

.prod-script-public-switch input:checked + span::after {
  transform: translateX(1.2rem);
}

.prod-script-public-switch input:focus-visible + span {
  outline: 3px solid color-mix(in srgb, var(--color-info) 35%, transparent);
  outline-offset: 2px;
}

.prod-script-public-switch strong {
  color: var(--color-text-muted);
  font-size: 0.875rem;
  font-weight: 800;
}

.prod-resource-workspace-header {
  align-items: start;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding-bottom: 1rem;
}

.prod-resource-workspace-header h2 {
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 900;
}

.prod-resource-workspace-header p {
  color: var(--color-text-muted);
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 0.2rem;
}

.prod-resource-workspace-header > span {
  background: var(--color-brand-soft);
  border-radius: 999px;
  color: var(--color-brand-dark);
  font-size: 0.75rem;
  font-weight: 900;
  padding: 0.35rem 0.65rem;
  white-space: nowrap;
}

.prod-resource-create-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.prod-resource-create-grid details,
.prod-resource-columns > section {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  min-width: 0;
  padding: 0.85rem;
}

.prod-resource-create-grid summary {
  color: var(--color-brand-dark);
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 900;
}

.prod-resource-create-grid form {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.7rem;
}

.prod-resource-columns {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.prod-resource-columns h3 {
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  display: flex;
  font-size: 0.9rem;
  font-weight: 900;
  gap: 0.45rem;
  margin-bottom: 0.25rem;
  padding-bottom: 0.65rem;
}

.prod-resource-library-row {
  align-items: center;
  border-top: 1px solid var(--color-border);
  color: inherit;
  display: flex;
  gap: 0.6rem;
  justify-content: space-between;
  padding: 0.65rem 0.45rem;
}

.prod-resource-library-row:first-of-type {
  border-top: 0;
}

.prod-resource-library-row:hover {
  background: var(--color-surface-muted);
}

.prod-resource-library-row > a,
.prod-resource-library-row > span {
  min-width: 0;
}

.prod-resource-library-row strong,
.prod-resource-library-row small {
  display: block;
}

.prod-resource-library-row strong {
  color: var(--color-text);
  font-size: 0.84rem;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prod-resource-library-row small {
  color: var(--color-text-muted);
  font-size: 0.72rem;
  font-weight: 650;
  margin-top: 0.1rem;
}

.prod-resource-empty {
  color: var(--color-text-muted);
  font-size: 0.8rem;
  padding: 0.75rem 0;
}

@media (min-width: 900px) {
  .prod-customer-script-workspace {
    grid-template-columns: minmax(16rem, 0.34fr) minmax(0, 1fr);
  }

  .prod-customer-script-list {
    border-bottom: 0;
    border-right: 1px solid var(--color-border);
    display: block;
    max-height: 42rem;
    overflow: auto;
  }

  .prod-customer-script-list button {
    display: block;
    width: 100%;
  }

  .prod-customer-script-list button + button {
    margin-top: 0.5rem;
  }
}

@media (min-width: 1024px) {
  .prod-board {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .prod-board-main {
    grid-column: span 8 / span 8;
  }

  .prod-board-side {
    grid-column: span 4 / span 4;
  }
}

@media (max-width: 950px) {
  .prod-resource-create-grid,
  .prod-resource-columns {
    grid-template-columns: 1fr;
  }
}

.prod-customer-list-section .data-table-wrap { border: 0; }
.prod-customer-list-section > nav { padding: 1rem; border-top: 1px solid var(--color-border); }
.prod-customer-list-section .data-table td { font-size: .82rem; }
.prod-customer-overview-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; align-items: start; }
.prod-customer-overview-grid .section-card-header { padding: 1rem 1.1rem; }
.prod-customer-overview-grid .section-card-body { padding: 1rem 1.1rem; }
.prod-customer-overview-grid .section-description { font-size: .75rem; }
.prod-customer-status-line { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-bottom: 1rem; }
.prod-customer-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem 1.2rem; }
.prod-customer-facts dt { font-size: .7rem; color: var(--color-text-secondary); margin-bottom: .2rem; }
.prod-customer-facts dd { margin: 0; font-size: .83rem; overflow-wrap: anywhere; }
.prod-customer-primary-contact { border-top: 1px solid var(--color-border); margin-top: 1rem; padding-top: 1rem; display: grid; gap: .3rem; font-size: .8rem; }
.prod-customer-primary-contact .label { font-size: .65rem; }
.prod-customer-primary-contact span:last-child { color: var(--color-text-secondary); overflow-wrap: anywhere; }
.prod-customer-text-link { display: inline-block; margin-top: .85rem; font-size: .78rem; text-decoration: underline; }
.prod-customer-profile-content { display: grid; gap: 1rem; }
.prod-customer-profile-content h3 { font-size: .83rem; font-weight: 700; }
.prod-customer-profile-content .tiptap-body { font-size: .82rem; }
.prod-customer-profile-note { padding-top: .8rem; border-top: 1px solid var(--color-border); }
.prod-customer-profile-note p { font-size: .8rem; margin-top: .35rem; }
.prod-customer-order { padding: 1rem 1.1rem; }
.prod-customer-order + .prod-customer-order { border-top: 1px solid var(--color-border); }
.prod-customer-order-main { display: flex; justify-content: space-between; gap: 1rem; }
.prod-customer-order-title { font-size: .85rem; font-weight: 700; }
.prod-customer-order-title:hover { text-decoration: underline; }
.prod-customer-order-main small, .prod-customer-project-list small { display: block; font-size: .72rem; color: var(--color-text-secondary); margin-top: .3rem; }
.prod-customer-order-value { text-align: right; flex-shrink: 0; font-size: .83rem; }
.prod-customer-order-projects { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .8rem; }
.prod-customer-order-projects a { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .6rem; background: var(--color-surface-muted); border: 1px solid var(--color-border); border-radius: 7px; font-size: .75rem; }
.prod-customer-order-projects span, .prod-customer-empty { font-size: .78rem; color: var(--color-text-secondary); }
.prod-customer-empty { padding: 1rem 1.1rem; }
.prod-customer-project-list { display: grid; gap: .9rem; }
.prod-customer-project-list > div + div { padding-top: .8rem; border-top: 1px solid var(--color-border); }
.prod-customer-period-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; font-size: .72rem; }
@media(max-width:850px) { .prod-customer-overview-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:450px) { .prod-customer-facts { grid-template-columns: minmax(0,1fr); } .prod-customer-order-main { flex-wrap: wrap; } .prod-customer-order-value { text-align: left; } }

.prod-customer-reference-details { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--color-border); font-size: .78rem; }
.prod-customer-reference-details summary { cursor: pointer; color: var(--color-text-secondary); }
.prod-customer-reference-details dl, .prod-customer-reference-details form { margin-top: .85rem; }

.prod-customer-overview-column { display: grid; gap: 1rem; min-width: 0; }
.prod-customer-edit-dialog { position: fixed; inset: 0; margin: auto; width: min(760px,calc(100vw - 2rem)); max-height: 85dvh; overflow: auto; padding: 1.5rem; border: 1px solid var(--color-border,#cdd6c8); border-radius: var(--radius-card,16px); background: var(--color-surface,#fff); color: inherit; box-shadow: 0 24px 80px #1e2d2233; }
.prod-customer-edit-dialog::backdrop { background: rgb(15 30 35 / .45); }
.prod-customer-modal-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.prod-customer-modal-header h2 { font-size: 1.1rem; font-weight: 700; }
.prod-customer-modal-description { margin: .35rem 0 1.25rem; font-size: .8rem; color: var(--color-text-secondary); }
.prod-customer-modal-form { display: grid; gap: 1rem; }
.prod-customer-modal-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.prod-customer-edit-dialog .label { display: block; font-size: .75rem; text-transform: none; letter-spacing: 0; margin-bottom: .35rem; }
.prod-customer-edit-dialog .form-control { font-size: .82rem; border-radius: 8px; }
.prod-customer-modal-address { padding-top: .85rem; border-top: 1px solid var(--color-border); }
.prod-customer-modal-address legend { font-size: .85rem; font-weight: 700; padding-right: .6rem; }
.prod-customer-modal-actions { display: flex; gap: .6rem; justify-content: flex-end; padding-top: 1rem; border-top: 1px solid var(--color-border); }
.prod-customer-save-feedback { font-size: .8rem; color: var(--color-text-secondary); }
.prod-customer-save-feedback:empty { display: none; }
.prod-customer-save-feedback[role="alert"] { color: #a52828; }
@media(max-width:600px) { .prod-customer-modal-fields { grid-template-columns: minmax(0,1fr); } .prod-customer-edit-dialog { padding: 1rem; } }

.prod-customer-contacts { border-top: 1px solid var(--color-border); margin-top: 1rem; padding-top: 1rem; }
.prod-customer-primary-heading .label { font-size: .68rem; text-transform: none; letter-spacing: 0; color: var(--color-text-secondary); }
.prod-customer-contact-row { display: grid; grid-template-columns: 32px minmax(0,1fr) minmax(0,1.15fr) auto; align-items: center; gap: .65rem; padding: .85rem 0; }
.prod-customer-contact-row.is-primary-summary { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr) auto; }
.prod-customer-contact-initials { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--color-surface-muted); color: var(--color-text-secondary); font-size: .65rem; }
.prod-customer-contact-identity { min-width: 0; }
.prod-customer-contact-identity > div { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; }
.prod-customer-contact-identity strong { font-size: .82rem; overflow-wrap: anywhere; }
.prod-customer-contact-identity > span { display: block; color: var(--color-text-secondary); font-size: .75rem; margin-top: .25rem; }
.prod-customer-contact-identity .badge { font-size: .6rem; padding: .2rem .4rem; }
.prod-customer-contact-channels { min-width: 0; display: grid; gap: .3rem; }
.prod-customer-contact-channels > div { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; font-size: .75rem; }
.prod-customer-contact-channels svg { flex-shrink: 0; color: var(--color-info,#467080); }
.prod-customer-contact-channels a { overflow-wrap: anywhere; color: var(--color-info,#467080); }
.prod-customer-contact-channels a:hover { text-decoration: underline; }
.prod-customer-contact-channels span { color: var(--color-text-muted); }
.prod-customer-all-contacts { border-top: 1px solid var(--color-border); margin-top: .25rem; }
.prod-customer-all-contacts > summary { display: flex; align-items: center; gap: .6rem; padding: .85rem 0; font-size: .8rem; cursor: pointer; list-style: none; }
.prod-customer-all-contacts > summary::-webkit-details-marker { display: none; }
.prod-customer-all-contacts > summary > span { flex: 1; }
.prod-customer-all-contacts[open] > summary > svg:last-child { transform: rotate(180deg); }
.prod-customer-all-contact-list .prod-customer-contact-row + .prod-customer-contact-row { border-top: 1px solid var(--color-border); }
.prod-customer-add-contact { margin-top: .6rem; font-size: .78rem; }
.prod-customer-archived-contacts { border-top: 1px solid var(--color-border); margin-top: .75rem; padding-top: .75rem; font-size: .75rem; color: var(--color-text-secondary); }
.prod-customer-archived-contacts > summary { cursor: pointer; }
.prod-customer-contact-toggles { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; font-size: .8rem; }
@media(max-width:600px) {
 .prod-customer-contact-row { grid-template-columns: 32px minmax(0,1fr) auto; }
 .prod-customer-contact-row.is-primary-summary { grid-template-columns: minmax(0,1fr) auto; }
 .prod-customer-contact-row > .btn { grid-column: -2 / -1; grid-row: 1; }
 .prod-customer-contact-channels { grid-column: 2; }
 .prod-customer-contact-row.is-primary-summary .prod-customer-contact-channels { grid-column: 1; }
}

.prod-customer-responsibility { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(0,1.8fr); gap: 1rem; margin-bottom: 1.1rem; }
.prod-customer-responsibility > div + div { border-left: 1px solid var(--color-border); padding-left: 1rem; }
.prod-customer-responsibility .label { display: block; margin-bottom: .5rem; font-size: .7rem; color: var(--color-text-secondary); text-transform: none; letter-spacing: 0; font-weight: 400; }
.prod-customer-responsible-seller strong { display: block; font-size: .83rem; }
.prod-customer-responsible-seller small { display: block; margin-top: .25rem; color: var(--color-text-secondary); font-size: .73rem; }
.prod-customer-responsible-seller > div + div { margin-top: .65rem; }
.prod-customer-responsibility p { font-size: .8rem; color: var(--color-text-secondary); }
.prod-customer-responsible-contact .prod-customer-contact-row { padding: 0; gap: .5rem; }
.prod-customer-status-tiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-bottom: 1rem; }
.prod-customer-status-tile { padding: .85rem 1rem; border: 1px solid #cbd8db; border-radius: 12px; background: linear-gradient(115deg,#fafcfc,#eef4f5); }
.prod-customer-status-tile > span { display: block; margin-bottom: .6rem; font-size: .68rem; color: var(--color-text-secondary); }
.prod-customer-status-tile strong { display: flex; align-items: center; gap: .6rem; font-size: .9rem; color: #467080; }
.prod-customer-status-tile i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #d4e0e3; border-radius: 8px; background: #eaf1f3; flex-shrink: 0; }
.prod-customer-information-panels { border: 1px solid var(--color-border); border-radius: 9px; }
.prod-customer-information-panels .prod-customer-contacts { margin: 0; padding: 0; border: 0; }
.prod-customer-information-panels .prod-customer-all-contacts { margin: 0; border-top: 1px solid var(--color-border); }
.prod-customer-about > summary, .prod-customer-information-panels .prod-customer-all-contacts > summary { display: flex; align-items: center; gap: .6rem; padding: .8rem .9rem; list-style: none; font-size: .8rem; cursor: pointer; }
.prod-customer-about > summary::-webkit-details-marker { display: none; }
.prod-customer-about > summary > span { flex: 1; }
.prod-customer-about[open] > summary > svg:last-child,
.prod-customer-information-panels .prod-customer-all-contacts[open] > summary > svg:last-child { transform: rotate(90deg); }
.prod-customer-information-panels .prod-customer-all-contact-list, .prod-customer-information-panels .prod-customer-archived-contacts { padding-inline: .9rem; }
.prod-customer-information-panels .prod-customer-add-contact { margin: .6rem .9rem .9rem; }
.prod-customer-company-identity { display: grid; gap: .35rem; padding: .95rem; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: var(--color-surface-muted); }
.prod-customer-company-identity strong { font-size: .85rem; }
.prod-customer-company-identity span { font-size: .72rem; color: var(--color-text-secondary); }
.prod-customer-company-information { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.prod-customer-company-information > div { padding: .95rem; }
.prod-customer-company-information > div:nth-child(even) { border-left: 1px solid var(--color-border); }
.prod-customer-company-information > div:nth-child(n+3) { border-top: 1px solid var(--color-border); }
.prod-customer-company-information h3 { display: flex; align-items: center; gap: .5rem; text-transform: uppercase; letter-spacing: .04em; font-size: .65rem; color: var(--color-text-secondary); font-weight: 600; margin-bottom: .75rem; }
.prod-customer-company-information p, .prod-customer-company-information dd { font-size: .8rem; overflow-wrap: anywhere; }
.prod-customer-company-information dl { display: grid; gap: .75rem; }
.prod-customer-company-information dt { font-size: .68rem; color: var(--color-text-secondary); margin-bottom: .2rem; }
.prod-customer-company-information dd { margin: 0; }
@media(max-width:1100px) and (min-width:851px), (max-width:500px) {
 .prod-customer-responsibility { grid-template-columns: minmax(0,1fr); }
 .prod-customer-responsibility > div + div { border-left: 0; padding-left: 0; padding-top: .85rem; border-top: 1px solid var(--color-border); }
}
@media(max-width:400px) { .prod-customer-status-tiles, .prod-customer-company-information { grid-template-columns: minmax(0,1fr); } .prod-customer-company-information > div:nth-child(even) { border-left: 0; } .prod-customer-company-information > div + div { border-top: 1px solid var(--color-border); } }

.prod-customer-status-value { display: flex; align-items: center; gap: .6rem; width: 100%; padding: 0; text-align: left; cursor: pointer; color: #467080; }
.prod-customer-status-value > strong { flex: 1; }
.prod-customer-status-value > svg { width: 14px; height: 14px; }
.prod-customer-status-value:hover > strong { text-decoration: underline; }
.prod-customer-status-tile [hidden] { display: none !important; }
.prod-customer-status-tile select { min-height: 32px; font-size: .82rem; }
.prod-customer-status-tile [data-customer-status-feedback] { margin-top: .4rem; font-size: .7rem; color: var(--color-text-secondary); }
.prod-customer-status-tile [data-customer-status-feedback]:empty { display: none; }
.prod-customer-status-tile [role="alert"] { color: #a52828; }

.prod-customer-staff { border-top: 1px solid var(--color-border); }
.prod-customer-staff > summary { display:flex; align-items:center; gap:.6rem; padding:.8rem .9rem; list-style:none; font-size:.8rem; cursor:pointer; }
.prod-customer-staff > summary::-webkit-details-marker { display:none; }
.prod-customer-staff > summary span { flex:1; }
.prod-customer-staff[open] > summary svg:last-child { transform:rotate(90deg); }
.prod-customer-staff-body { padding:0 .9rem .9rem; display:grid; gap:.8rem; }
.prod-customer-staff-row { display:flex; align-items:flex-start; justify-content:space-between; gap:.7rem; padding:.8rem 0; border-bottom:1px solid var(--color-border); }
.prod-customer-staff-row strong { font-size:.875rem; }
.prod-customer-staff-context { font-size:.8rem; margin-top:.3rem; }

.prod-customer-list-section .prod-toolbar-heading:has(input[name="q"]) { flex:1 1 240px; }
.prod-customer-list-section .prod-toolbar-heading .prod-toolbar-search { width:100%; max-width:320px; }
.prod-customer-filter-results { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; padding:6px 18px; background:#f5f3ef; border-bottom:1px solid #e6e1d8; color:#746d62; font-size:.7rem; line-height:1.4; }
.prod-customer-filter-results strong { font-weight:650; color:#5d574e; }
.prod-customer-filter-results > span:not(.prod-customer-filter-results-label) { border-left:1px solid #ddd7cd; padding-left:10px; }
.prod-customer-filter-results-label { font-weight:500; }

.prod-customer-pagination { display:grid; justify-items:center; gap:10px; padding:16px 18px; border-top:1px solid var(--color-border,#dfe5dc); font-size:.75rem; color:var(--color-text-secondary,#627062); }
.prod-customer-pagination-pages { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px; }
.prod-customer-pagination .btn { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:30px; padding:5px 10px; border:1px solid var(--color-border,#d4ddcf); border-radius:7px; font-size:.75rem; font-weight:650; line-height:1.2; box-shadow:none; }
.prod-customer-pagination .btn-secondary { background:var(--color-surface,#fff); }
.prod-customer-pagination .btn:hover { filter:brightness(.97); }
.prod-customer-pagination .btn:focus-visible { outline:2px solid #667c43; outline-offset:2px; }

.prod-resource-dialog { position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--color-border,#dce3d6);border-radius:16px;padding:0;background:var(--color-surface,#fff);color:inherit;box-shadow:0 24px 80px #0003; }
.prod-resource-dialog::backdrop { background:#15251c80; }
.prod-resource-dialog > header { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--color-border,#dce3d6); }
.prod-resource-dialog h2 { font-size:1.15rem;font-weight:750;margin:4px 0 0; }
.prod-resource-unified-form { padding:20px;display:grid;gap:16px; }.prod-resource-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.prod-resource-unified-form label { display:grid;gap:6px; }.prod-resource-unified-form fieldset { display:grid;gap:14px;border:0;padding:0;min-width:0; }.prod-resource-unified-form [hidden] { display:none!important; }
.prod-resource-unified-form footer { display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--color-border,#dce3d6); }.prod-resource-create-article { font-size:.75rem;text-decoration:underline; }
.prod-resource-workspace .prod-resource-columns { display:block; }.prod-resource-workspace .prod-resource-columns > section { padding:14px 0;border:0;border-bottom:1px solid var(--color-border,#dce3d6);border-radius:0;background:none; }
.prod-resource-workspace .prod-resource-columns > section:not(:has(.prod-resource-library-row)) { display:none; }.prod-resource-workspace .prod-resource-columns h3 { font-size:.8rem;margin:0 0 8px; }.prod-resource-workspace .prod-resource-library-row { padding:10px 0; }.prod-resource-workspace .prod-resource-library-row strong { font-size:.85rem; }
@media(max-width:500px){.prod-resource-form-grid { grid-template-columns:1fr; }}

.prod-resource-table { width:100%;font-size:.8rem; }
.prod-resource-table th,.prod-resource-table td { padding:10px 12px;vertical-align:top; }
.prod-resource-table th { font-size:.65rem;white-space:nowrap; }
.prod-resource-table td:first-child,.prod-resource-table td:nth-child(2) { font-size:.72rem;color:var(--color-text-secondary,#69766b); }
.prod-resource-table td:nth-child(3) { min-width:170px; }.prod-resource-table td:nth-child(4) { font-size:.75rem;min-width:140px; }
.prod-resource-table td:last-child { width:60px; }.prod-resource-table details[open] { min-width:250px; }
.prod-resource-feedback { font-size:.8rem;color:var(--color-text-secondary,#69766b); }.prod-resource-feedback[role="alert"] { color:#b84636; }

.prod-resource-workspace > .prod-resource-body { padding:0; }
.prod-resource-table-wrap { margin:0;border:0;border-radius:0; }
.prod-resource-table { margin:0; }
.prod-resource-body > .prod-resource-empty { padding:16px 20px; }
.prod-resource-edit-body { padding:20px;display:grid;gap:16px; }
.prod-resource-edit-body form { display:grid;gap:12px; }
.prod-resource-edit-body > form + form { border-top:1px solid var(--color-border,#dce3d6);padding-top:16px; }
.prod-resource-table td .prod-resource-edit-body { white-space:normal; }

.prod-resource-table th,.prod-resource-table td { padding:10px 14px;vertical-align:middle;line-height:1.4; }
.prod-resource-table th:last-child,.prod-resource-table td:last-child { text-align:center;width:88px; }
.prod-resource-table td > a { display:inline-block;vertical-align:middle; }
.prod-resource-table td > .btn-icon { display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:6px;margin:0;vertical-align:middle; }
.prod-resource-table td > .btn-icon svg { width:16px;height:16px; }

#customer-profile .prod-customer-profile-content { display:block;padding:0 20px; }
.prod-customer-profile-main,.prod-customer-profile-notes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
.prod-customer-profile-main > div { min-width:0;padding:18px 0; }
#customer-profile .prod-customer-profile-content h3 { font-size:.7rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary,#69766b);margin:0 0 10px; }
#customer-profile .tiptap-body { padding:0;font-size:.85rem;line-height:1.6;min-height:0;overflow-wrap:anywhere; }
.prod-customer-profile-notes:has(> div) { border-top:1px solid var(--color-border,#dce3d6);padding:14px 0 18px; }
#customer-profile .prod-customer-profile-note { border:0;padding:0;min-width:0; }
#customer-profile .prod-customer-profile-note p { font-size:.8rem;line-height:1.6;margin:0;overflow-wrap:anywhere; }
@media(max-width:700px) { .prod-customer-profile-main,.prod-customer-profile-notes { grid-template-columns:minmax(0,1fr);gap:0; }.prod-customer-profile-notes { row-gap:16px; }.prod-customer-profile-main > div + div { border-top:1px solid var(--color-border,#dce3d6); } }

.prod-observations-unified { overflow:visible; }
.prod-observations-unified > .section-card-header { border-top-left-radius:inherit;border-top-right-radius:inherit; }
.prod-observation-inbox { padding:16px 20px 0; }
.prod-observation-list-heading { display:flex;justify-content:space-between;gap:12px;margin-bottom:10px; }
.prod-observation-list-heading h3 { font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary,#69766b);font-weight:700; }
.prod-observation-list-heading > span { font-size:.7rem;color:var(--color-text-secondary,#69766b); }
#customer-observations .prod-customer-feedback-list { display:block; }
#customer-observations .prod-customer-feedback-card { border:0;border-bottom:1px solid var(--color-border,#dce3d6);border-radius:0;background:transparent;box-shadow:none;margin:0;padding:14px 0; }
#customer-observations .prod-customer-feedback-header { padding:0;gap:8px; }
#customer-observations .prod-customer-feedback-title { font-size:.9rem;line-height:1.4; }
#customer-observations .prod-customer-feedback-main { padding:12px 0; }
#customer-observations .prod-customer-feedback-form { padding:12px 0;margin:0;border-radius:0;background:transparent; }
#customer-observations .prod-customer-feedback-tags { font-size:.65rem;gap:6px; }
#customer-observations .prod-customer-feedback-identity-copy p { font-size:.8rem;line-height:1.6; }
.prod-observation-history { border-top:1px solid var(--color-border,#dce3d6); }
.prod-observation-history > summary { display:flex;align-items:center;gap:8px;padding:16px 20px;cursor:pointer;font-size:.8rem;list-style:none; }
.prod-observation-history > summary > span { margin-left:auto;font-size:.7rem;color:var(--color-text-secondary,#69766b); }
.prod-observation-history > .prod-customer-feedback-list { padding:0 20px 12px; }
#customer-observations .prod-customer-feedback-empty { padding:14px 0;display:flex;align-items:center;gap:8px;font-size:.8rem;border:0;background:transparent; }

.prod-observation-confirmation { padding:10px 20px;margin:0;font-size:.8rem;color:#376b35;background:#eef6e9;border-bottom:1px solid #d6e5cd; }

.prod-observation-edit-actions { display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--color-border,#dce3d6); }
.prod-customer-feedback-admin-tools > button[data-observation-open] { display:inline-flex;align-items:center;gap:5px;font-size:.75rem;background:none;border:0;cursor:pointer; }
.prod-customer-feedback-edit-form label { display:grid;gap:6px;font-size:.8rem; }

.prod-resource-type-picker { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.prod-resource-type-button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:86px;padding:12px 8px;border:1px solid var(--color-border,#dce3d6);border-radius:12px;background:var(--color-surface,#fff);font-size:.8rem;font-weight:650;cursor:pointer; }
.prod-resource-type-button:hover { background:#f3f6ef;border-color:#a2ae85; }
.prod-resource-type-button.is-active { background:#eaf0df;border-color:#7a8852;color:#445328;box-shadow:inset 0 0 0 1px #7a8852; }
.prod-resource-type-button:focus-visible { outline:2px solid #7a8852;outline-offset:3px; }
.prod-resource-unified-form > [data-resource-details] { display:grid;gap:14px;min-width:0;border:0;padding:0;margin:0; }
.prod-resource-unified-form > [data-resource-details][hidden],.prod-resource-unified-form [data-resource-submit][hidden] { display:none; }
@media(max-width:440px) { .prod-resource-type-picker { gap:6px; }.prod-resource-type-button { font-size:.72rem;padding:10px 5px; } }

.prod-resource-unified-form .media-upload-dropzone [data-media-upload-target] { border:2px dashed #c5cfbb;border-radius:14px;background:#f5f7f1;padding:28px 18px;transition:background .15s,border-color .15s; }
.prod-resource-unified-form .media-upload-dropzone [data-media-upload-target]:hover,
.prod-resource-unified-form .media-upload-dropzone [data-media-upload-target].bg-progreen-50 { background:#edf3e4;border-color:#8b9b6c; }
.prod-resource-unified-form .media-upload-dropzone [data-media-upload-target]:focus-within { outline:2px solid #7a8852;outline-offset:3px; }
.prod-resource-unified-form .media-upload-dropzone [data-media-upload-name] { overflow-wrap:anywhere; }
.prod-resource-unified-form .media-upload-dropzone [data-media-upload-clear] { border-radius:8px;padding:5px 9px; }
