/* Product Knowledge UI (раздел «База товаров» + блок «Данные товара»).
   ВСЕ структурные стили — собственные (pk-*), НЕ полагаемся на глобальные
   kpi-card/card/opis-btn/form-input: их вид в index.html отличается от приёмочного
   smoke UI. Наследуем только CSS-переменные темы (--border/--muted/--card/...). */

/* ── KPI ── */
.pk-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:8px;}
.pk-kpi-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px rgba(15,23,42,.04);}
.pk-kpi-value{font-size:24px;font-weight:700;line-height:1.1;color:var(--text,#111);}
.pk-kpi-label{font-size:12px;color:var(--muted);margin-top:4px;}

/* ── карточка со списком ── */
.pk-list-card{background:var(--card,#fff);border:1px solid var(--border);border-radius:14px;padding:8px 16px 14px;margin-top:8px;box-shadow:0 1px 3px rgba(15,23,42,.05);}

/* ── управляющие элементы (свои, не глобальные) ── */
.pk-input{border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;background:var(--card,#fff);color:var(--text,#111);min-width:220px;}
.pk-btn{border:1px solid var(--border);background:var(--card,#fff);color:var(--text,#111);border-radius:8px;padding:7px 14px;cursor:pointer;font-size:13px;line-height:1.2;}
.pk-btn:hover{background:rgba(107,70,255,.06);}
.pk-btn:disabled{opacity:.5;cursor:not-allowed;}
.pk-btn-primary{background:var(--accent,#6b46ff);color:#fff;border-color:var(--accent,#6b46ff);}
.pk-btn-primary:hover{filter:brightness(1.05);background:var(--accent,#6b46ff);}

.pk-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 8px;}
.pk-toolbar .pk-input{max-width:320px;flex:1 1 240px;}
.pk-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.pk-seg button{background:transparent;border:0;padding:7px 12px;font-size:13px;cursor:pointer;color:var(--muted);}
.pk-seg button.active{background:var(--accent,#6b46ff);color:#fff;}

.pk-table-wrap{overflow-x:auto;}
table.pk-table{width:100%;border-collapse:collapse;font-size:13px;}
table.pk-table th,table.pk-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;}
table.pk-table th{font-weight:600;color:var(--muted);position:sticky;top:0;background:var(--card,#fff);}
table.pk-table tbody tr{cursor:pointer;}
table.pk-table tbody tr:hover{background:rgba(107,70,255,.06);}

.pk-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.6;}
.pk-badge.verified{background:rgba(22,163,74,.14);color:#16a34a;}
.pk-badge.provisional{background:rgba(148,163,184,.18);color:#64748b;}
.pk-badge.conflict{background:rgba(220,38,38,.14);color:#dc2626;}
.pk-badge.telegram{background:rgba(37,99,235,.14);color:#2563eb;}
.pk-badge.onec{background:rgba(234,179,8,.16);color:#b45309;}
.pk-badge.new{background:rgba(148,163,184,.18);color:#64748b;}
.pk-badge.needs_review{background:rgba(234,179,8,.16);color:#b45309;}
.pk-badge.rejected,.pk-badge.deprecated{background:rgba(148,163,184,.18);color:#64748b;}

.pk-pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px;}
.pk-pager .pk-page-info{font-size:12px;color:var(--muted);}

.pk-empty,.pk-error{padding:32px 16px;text-align:center;color:var(--muted);}
.pk-error{color:#dc2626;}
.pk-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,rgba(128,128,128,.10),rgba(128,128,128,.20),rgba(128,128,128,.10));background-size:200% 100%;animation:pkShimmer 1.2s infinite;margin:8px 0;}
@keyframes pkShimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

/* modal */
.pk-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;z-index:2000;padding:24px 12px;overflow:auto;}
.pk-modal{background:var(--card,#fff);color:var(--text,#111);border-radius:14px;width:calc(100vw - 48px);max-width:1180px;box-shadow:0 20px 60px rgba(0,0,0,.35);}
.pk-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);}
.pk-modal-heading{display:flex;align-items:center;gap:10px;min-width:0;}
.pk-modal-title{font-size:16px;font-weight:700;}
.pk-modal-close{background:transparent;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);}
.pk-modal-body{padding:16px 18px;}
.pk-section{margin-bottom:18px;}
.pk-section h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.pk-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px;}
.pk-kv .pk-kv-item{font-size:13px;}
.pk-kv .pk-kv-k{color:var(--muted);font-size:11px;}
.pk-kv .pk-kv-v{font-weight:600;}

.pk-identification{border:1px solid var(--border);border-radius:12px;padding:14px;background:rgba(148,163,184,.05);}
.pk-identification-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;}
.pk-identification-grid .pk-kv-item{min-width:0;font-size:13px;}
.pk-identification-grid .pk-kv-k{color:var(--muted);font-size:11px;margin-bottom:2px;}
.pk-identification-grid .pk-kv-v{font-weight:600;overflow-wrap:anywhere;}
.pk-attributes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.pk-attr{border:1px solid var(--border);border-radius:10px;padding:12px;margin:0;min-width:0;}
.pk-attr-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pk-attr-name{font-weight:600;}
.pk-attr-val{font-size:14px;}
.pk-attr-meta{font-size:11px;color:var(--muted);}
.pk-attr.conflict{border-color:#dc2626;background:rgba(220,38,38,.05);grid-column:1/-1;}
.pk-conflict-values{margin-top:8px;display:flex;flex-direction:column;gap:6px;}
.pk-conflict-values .pk-cv{display:flex;align-items:center;gap:8px;font-size:13px;}
.pk-conflict-values .pk-cv-src{font-size:11px;color:var(--muted);}
.pk-attr-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
/* Подтверждённая характеристика: спокойный вид, без «горящей» активной кнопки */
.pk-attr.is-verified{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.05);}
.pk-attr-done{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#15803d;
  background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.28);border-radius:999px;padding:5px 11px;line-height:1;}
.pk-btn-ghost{background:transparent;border-color:transparent;color:var(--muted);padding:5px 8px;}
.pk-btn-ghost:hover{background:rgba(107,70,255,.06);color:var(--text,#111);}
/* «Подтвердить все» в шапке секции */
.pk-verify-all{flex:0 0 auto;white-space:nowrap;align-self:center;box-shadow:0 1px 2px rgba(107,70,255,.25);}

.pk-observations-section{border-top:1px solid var(--border);padding-top:18px;margin-top:22px;}
.pk-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.pk-section-title h4{margin-bottom:3px;}
.pk-section-title p{margin:0;color:var(--muted);font-size:12px;}
.pk-history-count{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:rgba(107,70,255,.1);color:var(--accent,#6b46ff);font-weight:700;font-size:12px;}
.pk-observations-list{position:relative;display:grid;gap:14px;padding-left:38px;}
.pk-observations-list:before{content:"";position:absolute;left:14px;top:18px;bottom:18px;width:2px;background:linear-gradient(var(--accent,#6b46ff),rgba(148,163,184,.25));}
.pk-history-entry{position:relative;min-width:0;}
.pk-timeline-dot{position:absolute;left:-38px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent,#6b46ff);color:#fff;border:4px solid var(--card,#fff);font-size:10px;font-weight:700;z-index:1;}
.pk-obs{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:10px;padding:12px 14px;margin:0;font-size:13px;background:rgba(148,163,184,.035);}
.pk-obs.telegram{border-left-color:#2563eb;}
.pk-obs.onec{border-left-color:#b45309;}
.pk-obs-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px;}
.pk-version{font-weight:800;color:var(--text,#111);}
.pk-obs-date{margin-left:auto;color:var(--muted);font-size:11px;}
.pk-badge.added{background:rgba(107,70,255,.12);color:var(--accent,#6b46ff);}
.pk-obs-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;padding:8px 0 10px;}
.pk-obs-meta .pk-kv-k,.pk-issue-grid .pk-kv-k{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.035em;}
.pk-obs-meta .pk-kv-v,.pk-issue-grid .pk-kv-v{font-weight:600;overflow-wrap:anywhere;}
.pk-subtitle{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin:9px 0 7px;}
.pk-photo-strip{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 7px;scrollbar-width:thin;}
.pk-photo-tile{position:relative;flex:0 0 104px;height:92px;border:1px solid var(--border);border-radius:10px;padding:0;overflow:hidden;background:rgba(148,163,184,.08);cursor:pointer;color:var(--muted);}
.pk-photo-tile img{display:block;width:100%;height:100%;object-fit:cover;}
.pk-photo-tile:hover{border-color:var(--accent,#6b46ff);box-shadow:0 3px 12px rgba(15,23,42,.12);}
.pk-photo-number{position:absolute;left:5px;bottom:5px;padding:2px 6px;border-radius:999px;background:rgba(15,23,42,.76);color:#fff;font-size:9px;font-weight:700;}
.pk-photo-placeholder{display:grid;place-items:center;height:100%;padding:8px;text-align:center;font-size:10px;line-height:1.25;}
.pk-photo-tile.missing{border-style:dashed;background:rgba(148,163,184,.06);cursor:default;}
.pk-photo-empty{padding:9px 10px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:11px;}
.pk-audit-panel{border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-top:9px;background:var(--card,#fff);}
.pk-audit-panel.danger{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.03);}
.pk-audit-panel .pk-subtitle{margin-top:0;}
.pk-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 14px;}
.pk-snapshot-field{min-width:0;}
.pk-snapshot-field span{display:block;color:var(--muted);font-size:10px;margin-bottom:2px;}
.pk-snapshot-field b{display:block;font-size:12px;overflow-wrap:anywhere;}
.pk-issue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;}
.pk-expert-answer{margin:0 0 7px;white-space:pre-line;}
.pk-expert-values{display:grid;gap:5px;}
.pk-expert-values>div,.pk-version-diff>div:not(.pk-subtitle){display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:8px;font-size:12px;}
.pk-expert-values span,.pk-version-diff span{color:var(--muted);}
.pk-version-diff{border-radius:10px;padding:8px 10px;margin-top:9px;background:rgba(107,70,255,.055);}
.pk-version-diff .pk-subtitle{margin-top:0;color:var(--accent,#6b46ff);}
.pk-version-diff i{font-style:normal;color:var(--accent,#6b46ff);padding:0 4px;}
.pk-empty-compact{padding:10px;text-align:left;}
.pk-obs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;}
.pk-obs-row{font-size:12px;color:var(--muted);margin:2px 0;min-width:0;}
.pk-obs-row>span:first-child{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.035em;margin-bottom:2px;}
.pk-obs-row b{color:var(--text,#111);font-weight:600;}
.pk-obs-actions{margin-top:6px;}

/* блок в карточке Q&A-кейса */
.pk-caseblock{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-top:16px;}
.pk-caseblock-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.pk-caseblock-head h3{margin:0;font-size:14px;}
.pk-caseblock .pk-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0;}
.pk-caseblock .pk-diff .pk-diff-col{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px;}
.pk-caseblock .pk-diff .pk-diff-col .pk-diff-lbl{font-size:11px;color:var(--muted);}
.pk-caseblock-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.pk-case-recognition{margin:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3px 0 10px;}
.pk-lightbox{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,23,.9);}
.pk-lightbox img{max-width:min(1200px,94vw);max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #000;}
.pk-lightbox-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#fff;font-size:34px;cursor:pointer;}
@media(max-width:640px){.pk-caseblock .pk-diff{grid-template-columns:1fr;}}

@media(max-width:899px){
  .pk-modal{width:calc(100vw - 32px);}
  .pk-identification-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pk-attributes-grid{grid-template-columns:1fr;}
  .pk-attr.conflict{grid-column:auto;}
  .pk-obs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pk-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .pk-overlay{padding:0;align-items:stretch;}
  .pk-modal{width:100%;max-width:none;min-height:100%;border-radius:0;}
  .pk-modal-head{padding:14px 16px;position:sticky;top:0;background:var(--card,#fff);z-index:2;}
  .pk-modal-body{padding:14px 12px;}
  .pk-identification-grid,.pk-obs-grid{grid-template-columns:1fr;}
  .pk-obs-meta,.pk-issue-grid,.pk-snapshot-grid{grid-template-columns:1fr 1fr;}
  .pk-observations-list{padding-left:26px;}
  .pk-observations-list:before{left:8px;}
  .pk-timeline-dot{left:-27px;width:22px;height:22px;border-width:3px;top:16px;}
  .pk-obs{padding:11px 10px;}
  .pk-obs-date{width:100%;margin-left:0;}
  .pk-photo-tile{flex-basis:92px;height:82px;}
  .pk-toolbar .pk-input{max-width:none;flex-basis:100%;}
  .pk-seg{max-width:100%;overflow-x:auto;}
}

.pk-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#1f2937;color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;z-index:3000;box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;transition:opacity .2s;}
.pk-toast.show{opacity:1;}
.pk-toast.err{background:#b91c1c;}
.pk-toast.warn{background:#b45309;}
