/* INP Knowledge Core — публичные страницы (структура, сотрудники, проекты, результаты).
   Дополняет inp.css; токены цвета берутся из :root inp.css. Контраст текста ≥ 4,5:1. */
.kc-eyebrow{color:#9fd9e6}
.kc-h2{font-family:var(--display);color:var(--navy);font-size:1.5rem;font-weight:800;letter-spacing:-.01em;margin:2rem 0 .9rem}
.kc-h2:first-child{margin-top:0}
.kc-h3{font-family:var(--display);color:var(--navy);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:1.2rem 0 .5rem}
.kc-h3:first-child{margin-top:0}
.kc-muted{color:var(--muted);font-size:.9rem}
.kc-empty{color:var(--muted);padding:1rem 1.1rem;border:1px dashed var(--line);border-radius:12px;font-size:.95rem}
.kc-note{margin-top:1.5rem;font-size:.9rem}
.kc-note a,.kc-dl a,.kc-people a,.kc-row-meta a,.kc-person a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.kc-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.kc-toolbar .kc-h2{margin:0}
.kc-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.75rem}

/* --- дерево подразделений --- */
.kc-tree,.kc-children{list-style:none;margin:0;padding:0}
.kc-children{margin:.5rem 0 .25rem 1.25rem;border-left:2px solid var(--line);padding-left:1rem}
.kc-node{margin:.35rem 0}
.kc-details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0}
.kc-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:12px;font-weight:600;color:var(--navy)}
.kc-details>summary::-webkit-details-marker{display:none}
.kc-details>summary::before{content:"";width:.5rem;height:.5rem;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg);transition:transform .15s;flex:none}
.kc-details[open]>summary::before{transform:rotate(45deg)}
.kc-details>summary:hover{background:var(--bg-soft)}
.kc-node-body{padding:0 1rem .9rem 1rem}
.kc-node-link{display:inline-block;font-size:.9rem;font-weight:600;color:var(--blue);margin:.2rem 0 .3rem 1.1rem}
.kc-leaf{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-weight:600;transition:.15s}
.kc-leaf:hover{border-color:var(--sky);box-shadow:var(--shadow-sm)}
.kc-kind{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);background:var(--sky-soft);border-radius:999px;padding:.2rem .55rem;flex:none}
.kc-node-name{flex:1;min-width:0}
.kc-count{font-size:.8rem;color:var(--muted);font-weight:600}
.kc-details>summary:focus-visible,.kc-leaf:focus-visible,.kc-node-link:focus-visible,.kc-card-link:focus-visible,.kc-filter-form :focus-visible,.kc-row-title:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* --- списки --- */
.kc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.kc-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.3rem}
.kc-row-title{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--navy)}
a.kc-row-title:hover{color:var(--blue)}
.kc-row-meta{font-size:.85rem;color:var(--muted)}
.kc-row-text{font-size:.95rem;color:var(--ink);margin:.25rem 0 0}
.kc-status{display:inline-block;font-weight:700;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;background:var(--bg-soft);color:var(--navy)}
.kc-status-active{background:#DDF4E6;color:#0F5132}
.kc-status-completed{background:var(--sky-soft);color:var(--navy)}
.kc-status-archived{background:#EEF1F5;color:#3D4A5C}
.kc-status-planned{background:var(--gold-soft);color:#6B4A00}
.kc-grid{margin-bottom:.5rem}

/* --- карточки сотрудников --- */
.kc-cards{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.kc-card-link{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;height:100%;transition:.15s;color:var(--ink)}
.kc-card-link:hover{border-color:var(--sky);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.kc-avatar{width:3rem;height:3rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.2rem;flex:none}
.kc-card-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.kc-card-body b{font-family:var(--display);color:var(--navy);font-size:1rem}
.kc-id{font-size:.75rem;color:var(--muted);letter-spacing:.04em;margin-top:.2rem}
.kc-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.kc-photo{width:100%;height:auto;border-radius:12px;margin-bottom:1rem;display:block}

/* --- боковая колонка --- */
.kc-aside{position:sticky;top:5.5rem}
.kc-dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;font-size:.9rem;margin:0 0 .5rem}
.kc-dl dt{color:var(--muted)}
.kc-dl dd{margin:0;color:var(--ink);word-break:break-word}
.kc-people,.kc-people-wide{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;font-size:.93rem}
.kc-people-wide{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.kc-person{font-size:.95rem;margin:0}

/* --- фильтры --- */
.kc-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;align-items:end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:1.25rem}
.kc-field label{display:block;font-size:.8rem;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.kc-field input,.kc-field select{width:100%;padding:.7rem .85rem;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:.95rem;color:var(--ink);background:#fff}
.kc-field input:focus,.kc-field select:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px rgba(0,175,202,.25)}
.kc-field-btn{display:flex;gap:.5rem;flex-wrap:wrap}

@media (max-width:980px){
  .kc-cards{grid-template-columns:repeat(2,1fr)}
  .kc-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kc-detail{grid-template-columns:1fr}
  .kc-aside{position:static}
}
@media (max-width:640px){
  .kc-cards,.kc-filter-form,.kc-people-wide{grid-template-columns:1fr}
  .kc-children{margin-left:.5rem;padding-left:.6rem}
  .kc-details>summary,.kc-leaf{flex-wrap:wrap;row-gap:.3rem}
  .kc-node-name{flex:1 1 100%}
  .kc-dl{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .kc-leaf,.kc-card-link,.kc-details>summary::before{transition:none}
  .kc-card-link:hover{transform:none}
}
