.knowledge-hero,
.contacts-hero {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(360px, 1.15fr);
  align-items: end;
  gap: 24px;
}

.workspace-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  border-radius: 8px;
  color: var(--accent);
  background: var(--surface-soft);
}

.workspace-icon svg { width: 22px; height: 22px; }
.knowledge-hero h2,
.contacts-hero h2 { margin: 2px 0 6px; font-size: 28px; }

.workspace-search label,
.knowledge-assistant form > label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 5px 5px 5px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.workspace-search input,
.knowledge-assistant input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

.knowledge-assistant { display: grid; gap: 12px; margin-top: 12px; }
.knowledge-assistant form { display: grid; grid-template-columns: minmax(210px, .5fr) minmax(360px, 1.5fr); align-items: end; gap: 18px; }
.knowledge-assistant h3 { margin: 2px 0 0; }
#knowledge-answer { padding: 14px; border-left: 3px solid var(--accent); background: var(--surface-soft); }
#knowledge-answer > p { margin: 0 0 10px; line-height: 1.55; }

.workspace-filter-row {
  display: flex;
  gap: 7px;
  margin: 12px 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 6px 10px;
  white-space: nowrap;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text);
  background: var(--surface);
}

.filter-chip:hover,
.filter-chip.active { border-color: var(--accent); background: var(--surface-soft); }
.filter-chip small { color: var(--muted); }

.knowledge-card-heading,
.tag-list,
.knowledge-card footer,
.specialist-contact-card footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.knowledge-card > small { color: var(--muted); }
.knowledge-detail { display: grid; gap: 16px; }
.knowledge-section-list { display: grid; gap: 8px; max-height: min(52vh, 520px); overflow: auto; }
.knowledge-section-list article { display: grid; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.knowledge-section-list article p,
.knowledge-section-list article ul { margin: 0; }

.citation-list { display: grid; gap: 6px; }
.citation-list button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: left;
  color: var(--text);
  background: var(--surface);
}
.citation-list button span { display: grid; }
.citation-list small { color: var(--muted); }

.specialist-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
}

.specialist-contact-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 250px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.specialist-contact-card > header {
  display: flex;
  align-items: center;
  gap: 11px;
}
.specialist-contact-card > header > span:last-child { display: grid; min-width: 0; }
.specialist-contact-card > header small { color: var(--muted); }
.contact-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: white;
  background: var(--accent);
  font-weight: 800;
}

.specialist-contact-card dl { display: grid; gap: 6px; margin: 0; }
.specialist-contact-card dl div { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 8px; }
.specialist-contact-card dt { color: var(--muted); }
.specialist-contact-card dd { margin: 0; overflow-wrap: anywhere; }
.specialist-contact-card > p { margin: 0; color: var(--muted); line-height: 1.45; }
.specialist-contact-card footer { align-self: end; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--line); }

.specialist-admin-list { display: grid; gap: 7px; margin-top: 12px; }
.specialist-admin-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, .8fr) auto auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: left;
  color: var(--text);
  background: var(--surface);
}
.specialist-admin-row:hover { border-color: var(--accent); background: var(--surface-soft); }
.specialist-admin-row > span:first-child { display: grid; min-width: 0; }
.specialist-admin-row small { color: var(--muted); }
.specialist-admin-row[hidden] { display: none; }

@media (max-width: 860px) {
  .knowledge-hero,
  .contacts-hero,
  .knowledge-assistant form { grid-template-columns: 1fr; }
  .specialist-admin-row { grid-template-columns: minmax(0, 1fr) auto; }
  .specialist-admin-row .tag-list { display: none; }
}

@media (max-width: 560px) {
  .contacts-hero h2 { font-size: 22px; }
  .workspace-search label,
  .knowledge-assistant form > label { grid-template-columns: auto minmax(0, 1fr); }
  .workspace-search button,
  .knowledge-assistant form > label button { grid-column: 1 / -1; width: 100%; }
  .specialist-contact-grid { grid-template-columns: 1fr; }
}

.knowledge-hero.panel, .contacts-hero.panel, .knowledge-assistant.panel {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.knowledge-hero h2, .contacts-hero h2 { font-size: 20px; }
.workspace-filter-row { flex-wrap: wrap; overflow: visible; }
#view .filter-chip { height: auto; min-height: 42px; max-width: 100%; white-space: normal; text-align: start; }
.knowledge-card { min-width: 0; border-radius: 8px; }
.knowledge-card > strong, .knowledge-card p { overflow-wrap: anywhere; }
.knowledge-contents { display: grid; gap: 4px; max-height: 180px; overflow: auto; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.knowledge-contents > strong { margin-bottom: 6px; }
#app-dialog .knowledge-contents button { height: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 42px; padding: 8px 10px; border: 0; text-align: start; background: var(--surface-soft); }
.knowledge-contents button span { overflow-wrap: anywhere; }
.knowledge-contents button small { flex-shrink: 0; }
.knowledge-contents button[aria-current] { background: var(--success-soft); color: var(--success); }
.knowledge-section-list { min-height: 180px; max-height: 40dvh; overscroll-behavior: contain; }
.knowledge-section-list article { overflow-wrap: anywhere; }
.contact-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding-block: 14px; }
.contact-filters .field { flex: 1 1 180px; min-width: 0; max-width: 340px; }
.specialist-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.specialist-contact-card.compact-contact { min-height: 0; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
#view .contact-summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) 22px; align-items: center; gap: 12px; width: 100%; padding: 6px; border: 0; text-align: start; background: transparent; }
.contact-summary-copy { display: grid; gap: 3px; min-width: 0; }
.contact-summary-copy strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.contact-summary-copy small { overflow-wrap: anywhere; }
.contact-quick-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.contact-avatar { color: var(--primary-text); background: var(--primary); }
.specialist-contact-detail { display: grid; gap: 16px; min-width: 0; }
.specialist-contact-detail header { display: flex; align-items: start; gap: 12px; }
.specialist-contact-detail header > span:last-child { display: grid; gap: 6px; min-width: 0; }
.specialist-contact-detail :is(strong, small, dd, p) { overflow-wrap: anywhere; white-space: pre-line; }
.specialist-contact-detail dl { margin: 0; display: grid; gap: 12px; }
.specialist-contact-detail dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; }
.specialist-contact-detail dt { color: var(--muted); }
.specialist-contact-detail dd { margin: 0; }
.specialist-contact-detail a { color: var(--primary); }
.specialist-contact-detail footer { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 720px) {
  .specialist-contact-card.compact-contact { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .contact-quick-actions { padding-inline-start: 60px; }
  .specialist-contact-detail dl > div { grid-template-columns: 90px minmax(0, 1fr); }
}
