/* Knowledge Central — V-Key design system applied */
@import url("colors_and_type.css");

* { box-sizing: border-box; }

html, body, #root {
  margin: 0;
  padding: 0;
  background: var(--neutral-10);
  font-family: var(--font-body);
  color: var(--neutral-01);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }

::selection { background: var(--primary-10); color: var(--primary-04); }

/* ───── BUTTON ───── */
.vk-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family: var(--font-body); font-weight: 600;
  border-radius: 10px; border: 2px solid transparent; cursor: pointer;
  transition: background .12s ease-in, color .12s ease-in, border-color .12s ease-in, box-shadow .12s ease-in, opacity .12s ease-in;
  white-space: nowrap; text-align:center;
}
.vk-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(124,62,163,.35); }
.vk-btn[disabled] { opacity: .5; cursor: not-allowed; }

.vk-btn--xs { font-size: 13px; padding: 5px 10px; }
.vk-btn--sm { font-size: 14px; padding: 7px 14px; }
.vk-btn--md { font-size: 14px; padding: 10px 18px; }
.vk-btn--lg { font-size: 16px; padding: 14px 24px; }

.vk-btn--primary { background:var(--primary-06); color:var(--neutral-10); }
.vk-btn--primary:hover { background:var(--primary-04); }
.vk-btn--primary.glow { box-shadow: 0 0 24px rgba(255,126,0,.5); }
.vk-btn--orange { background:var(--orange-06); color:var(--neutral-10); }
.vk-btn--orange:hover { background:var(--orange-05); }
.vk-btn--gray    { background:var(--neutral-09); color:var(--primary-07); }
.vk-btn--gray:hover { background:var(--neutral-08); }
.vk-btn--danger  { background:var(--danger-06); color:var(--neutral-10); }
.vk-btn--danger:hover { background:var(--danger-05); }
.vk-btn--outline-primary { background:transparent; color:var(--primary-07); border-color:var(--primary-07); }
.vk-btn--outline-primary:hover { color:var(--primary-08); border-color:var(--primary-08); }
.vk-btn--outline-neutral { background:transparent; color:var(--neutral-02); border-color:var(--neutral-07); }
.vk-btn--outline-neutral:hover { color:var(--neutral-01); border-color:var(--neutral-04); background:var(--neutral-10); }
.vk-btn--ghost { background:transparent; color:var(--neutral-02); }
.vk-btn--ghost:hover { background:var(--neutral-09); color:var(--neutral-01); }

/* ───── BADGE ───── */
.vk-bdg {
  display:inline-flex; align-items:center; gap:5px;
  padding: 3px 9px; border-radius:100px;
  font-family: var(--font-body); font-size:12px; line-height:16px; font-weight:600;
  white-space:nowrap;
}
.vk-bdg__dot { width:6px; height:6px; border-radius:99px; background: currentColor; flex-shrink:0; }
.vk-bdg--success { background:var(--success-10); color:var(--success-05); }
.vk-bdg--warning { background:var(--warning-10); color:var(--warning-05); }
.vk-bdg--danger  { background:var(--danger-10); color:var(--danger-05); }
.vk-bdg--info    { background:var(--info-10); color:var(--info-05); }
.vk-bdg--gray    { background:var(--neutral-09); color:var(--neutral-02); }
.vk-bdg--purple  { background:var(--primary-10); color:var(--primary-06); }
.vk-bdg--teal    { background:var(--teal-10); color:var(--teal-04); }
.vk-bdg--orange  { background:var(--orange-10); color:var(--orange-04); }

/* live pulse on "in progress" badges */
.vk-bdg__dot.live {
  position:relative; animation: vk-pulse 1.4s ease-in-out infinite;
}
@keyframes vk-pulse {
  0%, 100% { box-shadow: 0 0 0 0 currentColor; opacity:.9; }
  50% { box-shadow: 0 0 0 5px transparent; opacity:.4; }
}

/* ───── CARD ───── */
.vk-card {
  background:var(--neutral-10); border-radius:16px; padding:24px;
  box-shadow: var(--shadow-card, 0 0 16px #D7D3E5);
}

/* ───── LAYOUT — dashboard ───── */
.kc-app {
  display:flex; min-height:100vh; background:var(--neutral-10);
  max-width:1440px; margin:0 auto;
}
.kc-sidebar-col { padding:24px 32px 24px 24px; flex-shrink:0; }

.kc-sidebar {
  position:sticky; top:24px; height:auto;
  width: 260px; padding:14px 10px;
  background:var(--neutral-10); border-radius:14px;
  box-shadow: var(--shadow-sidebar, 0 0 8px rgba(208,208,208,.4), 0 0 4px rgba(214,214,214,.8));
  display:flex; flex-direction:column; gap:2px;
}
.kc-sidebar__brand {
  display:flex; align-items:center; gap:10px; padding:6px 8px 14px;
  border-bottom:1px solid var(--neutral-09);
  margin-bottom:8px;
}
.kc-sidebar__brand img { width:28px; height:32px; }
.kc-sidebar__brand .name {
  font-family:var(--font-display); font-size:16px; font-weight:700;
  color:var(--neutral-01); letter-spacing:-0.01em; line-height:18px;
}
.kc-sidebar__brand .sub {
  font-family:var(--font-body); font-size:11px; font-weight:600;
  color:var(--primary-07); letter-spacing:.04em; text-transform:uppercase;
}

.kc-nav-section {
  font-family:var(--font-body); font-size:10px; font-weight:700;
  color:var(--neutral-05); letter-spacing:.08em; text-transform:uppercase;
  padding:14px 12px 6px;
}
.kc-nav-item {
  display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:8px;
  font-size:14px; font-weight:600; color:var(--neutral-01); cursor:pointer; user-select:none;
  transition: background .12s ease-in, color .12s ease-in;
}
.kc-nav-item__icon {
  width:18px; height:18px; color:var(--neutral-06); flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
}
.kc-nav-item:hover { background:var(--neutral-09); }
.kc-nav-item.active { background:var(--primary-10); color:var(--primary-06); }
.kc-nav-item.active .kc-nav-item__icon { color:var(--primary-07); }
.kc-nav-item__count {
  margin-left:auto; font-size:11px; font-weight:700;
  background:var(--neutral-09); color:var(--neutral-02);
  padding:1px 7px; border-radius:99px; line-height:16px;
}
.kc-nav-item.active .kc-nav-item__count { background:var(--primary-09); color:var(--primary-06); }
.kc-nav-item.warn .kc-nav-item__count { background:var(--danger-10); color:var(--danger-05); }

.kc-sidebar__footer {
  margin-top:auto; padding-top:14px;
  border-top:1px solid var(--neutral-09);
  display:flex; flex-direction:column; gap:2px;
}

/* mode switcher pill */
.kc-mode {
  margin: 10px 4px 4px;
  background:var(--neutral-09); border-radius:10px; padding:3px;
  display:flex; gap:2px;
}
.kc-mode button {
  flex:1; background:transparent; border:none; padding:7px 10px;
  border-radius:8px; font:600 12px var(--font-body);
  color:var(--neutral-02); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
}
.kc-mode button.active {
  background:var(--neutral-10); color:var(--primary-06);
  box-shadow:0 1px 3px rgba(124,62,163,.18);
}
.kc-mode button svg { width:13px; height:13px; }

/* ───── MAIN ───── */
.kc-main { flex:1; min-width:0; padding-right:32px; padding-bottom:64px; }
.kc-topbar {
  padding:24px 0 16px; display:flex; align-items:center; gap:16px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-crumbs {
  display:flex; align-items:center; gap:6px;
  font-size:13px; font-weight:500; color:var(--neutral-05); flex:1;
}
.kc-crumbs .sep { color:var(--neutral-07); }
.kc-crumbs .active { color:var(--neutral-01); font-weight:600; }

.kc-search {
  display:flex; align-items:center; gap:10px;
  width: 320px;
  padding: 8px 14px;
  background:var(--neutral-09); border:1px solid var(--neutral-09);
  border-radius:10px;
  font-size:14px; color:var(--neutral-02);
  transition: background .12s, border-color .12s;
}
.kc-search:focus-within { background:var(--neutral-10); border-color:var(--primary-07); }
.kc-search input {
  flex:1; background:transparent; border:none; outline:none;
  font:500 14px var(--font-body); color:var(--neutral-01);
}
.kc-search input::placeholder { color:var(--neutral-05); }
.kc-kbd {
  font:600 11px var(--font-mono); color:var(--neutral-04);
  background:var(--neutral-10); border:1px solid var(--neutral-08);
  border-radius:4px; padding:1px 6px; line-height:14px;
}

.kc-iconbtn {
  width:38px; height:38px; border-radius:10px;
  background:var(--neutral-10); border:2px solid var(--neutral-09);
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--neutral-02); cursor:pointer;
  position:relative;
}
.kc-iconbtn:hover { border-color:var(--primary-07); color:var(--primary-07); }
.kc-iconbtn .pip {
  position:absolute; top:-3px; right:-3px;
  width:8px; height:8px; border-radius:99px;
  background:var(--danger-06); box-shadow:0 0 0 2px var(--neutral-10);
}

.kc-avatar {
  width:38px; height:38px; border-radius:99px; overflow:hidden;
  background:var(--neutral-09);
  padding:0; border:none; cursor:pointer;
  display:block;
}

.kc-divider { width:1px; height:24px; background:var(--neutral-08); }

/* ───── PAGE HEADER ───── */
.kc-pagehead {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; padding:24px 0;
}
.kc-pagehead h1 {
  font-family:var(--font-display); font-weight:700; font-size:26px; line-height:32px;
  color:var(--neutral-01); margin:0 0 4px; letter-spacing:-0.01em;
}
.kc-pagehead .lede {
  color:var(--neutral-03); font-size:13px; font-weight:500;
  display:flex; align-items:center; gap:10px;
}
.kc-pagehead .lede .live-dot {
  width:7px; height:7px; border-radius:99px; background:var(--success-06);
  animation: vk-pulse 1.6s ease-in-out infinite;
}
.kc-pagehead__actions { display:flex; gap:10px; align-items:center; }

/* ───── PIPELINE STEPPER ───── */
.kc-pipeline {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:18px;
  padding:22px 24px;
  box-shadow: 0 0 16px rgba(215,211,229,.6);
  position:relative;
  overflow:hidden;
}
.kc-pipeline::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(40% 80% at 8% 50%, rgba(124,62,163,.05), transparent 60%),
    radial-gradient(40% 80% at 92% 50%, rgba(32,190,198,.05), transparent 60%);
  pointer-events:none;
}
.kc-pipeline__head {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:18px; position:relative;
}
.kc-pipeline__title {
  display:flex; align-items:center; gap:10px;
  font:700 13px var(--font-body); color:var(--neutral-02);
  letter-spacing:.06em; text-transform:uppercase;
}
.kc-pipeline__title .pulse {
  width:8px; height:8px; border-radius:99px; background:var(--success-06);
  box-shadow:0 0 0 0 var(--success-06);
  animation: vk-glow 2s ease-out infinite;
}
@keyframes vk-glow {
  0% { box-shadow: 0 0 0 0 rgba(20,184,108,.6); }
  70% { box-shadow: 0 0 0 8px rgba(20,184,108,0); }
  100% { box-shadow: 0 0 0 0 rgba(20,184,108,0); }
}
.kc-pipeline__meta {
  display:flex; align-items:center; gap:14px;
  font:500 12px var(--font-body); color:var(--neutral-04);
}
.kc-pipeline__meta strong { color:var(--neutral-02); font-weight:600; }

.kc-stages {
  display:grid; grid-template-columns: repeat(5, 1fr);
  gap:0; position:relative; align-items:stretch;
}
.kc-stage {
  display:flex; flex-direction:column; align-items:flex-start;
  padding: 8px 16px 8px 0; position:relative;
}
.kc-stage + .kc-stage { padding-left:18px; }
.kc-stage__icon {
  width:40px; height:40px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:10px;
}
.kc-stage__icon svg { width:20px; height:20px; }
.kc-stage--upload .kc-stage__icon { background:var(--primary-10); color:var(--primary-06); }
.kc-stage--scan .kc-stage__icon { background:var(--info-10); color:var(--info-05); }
.kc-stage--chunk .kc-stage__icon { background:var(--orange-10); color:var(--orange-04); }
.kc-stage--embed .kc-stage__icon { background:#FCE9F4; color:#A03085; }
.kc-stage--store .kc-stage__icon { background:var(--teal-10); color:var(--teal-04); }

.kc-stage__label {
  font:700 11px var(--font-body);
  color:var(--neutral-04); letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:6px;
}
.kc-stage__count {
  font-family:var(--font-display); font-weight:700;
  font-size:32px; line-height:36px; color:var(--neutral-01);
  letter-spacing:-0.02em;
  display:flex; align-items:baseline; gap:6px;
  white-space:nowrap;
}
.kc-stage__count .unit {
  font:600 12px var(--font-body); color:var(--neutral-04);
  letter-spacing:0; text-transform:none;
  white-space:nowrap;
}
.kc-stage__sub {
  font:500 12px var(--font-body); color:var(--neutral-03);
  margin-top:6px; display:flex; align-items:center; gap:6px;
}
.kc-stage__sub .pip {
  width:6px; height:6px; border-radius:99px;
}
.kc-stage--active .kc-stage__sub .pip { background:var(--success-06); animation: vk-pulse 1.4s infinite; }

/* arrow between stages */
.kc-stage__arrow {
  position:absolute; right:-7px; top:18px;
  color:var(--neutral-07);
}
.kc-stage:last-child .kc-stage__arrow { display:none; }

/* progress bar under the stage row */
.kc-flow {
  margin-top:18px;
  display:grid; grid-template-columns: repeat(5, 1fr);
  gap:6px; align-items:center; position:relative;
}
.kc-flow__bar {
  height:6px; border-radius:99px;
  background:var(--neutral-09);
  overflow:hidden; position:relative;
}
.kc-flow__fill {
  position:absolute; top:0; left:0; bottom:0;
  background: linear-gradient(90deg, var(--primary-08), var(--primary-06));
  border-radius:99px;
  transition: width .6s ease-out;
}
.kc-stage--scan ~ * .kc-flow__bar { /* placeholder */ }

/* tiny in-flight chip carousel */
.kc-pipeline__live {
  display:flex; gap:8px; margin-top:16px; flex-wrap:wrap;
}
.kc-livechip {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--neutral-09); border-radius:99px;
  padding:5px 10px 5px 8px;
  font:500 12px var(--font-body); color:var(--neutral-02);
  border:1px solid transparent;
}
.kc-livechip .dot { width:6px; height:6px; border-radius:99px; }
.kc-livechip strong { color:var(--neutral-01); font-weight:600; }

/* ───── STATS GRID ───── */
.kc-statgrid {
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:16px; margin-top:18px;
}
.kc-statcard {
  background:var(--neutral-10); border:1px solid var(--neutral-09);
  border-radius:14px; padding:18px 20px;
  display:flex; flex-direction:column; gap:6px;
  position:relative; overflow:hidden;
}
.kc-statcard .lbl {
  font:700 11px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase;
  display:flex; align-items:center; gap:8px;
}
.kc-statcard .lbl svg { width:14px; height:14px; }
.kc-statcard .val {
  font:700 28px/32px var(--font-display); color:var(--neutral-01);
  letter-spacing:-0.02em;
  display:flex; align-items:baseline; gap:8px;
}
.kc-statcard .val .delta {
  font:600 12px var(--font-body); letter-spacing:0;
  padding:2px 6px; border-radius:6px;
}
.kc-statcard .val .delta.up { background:var(--success-10); color:var(--success-05); }
.kc-statcard .val .delta.warn { background:var(--warning-10); color:var(--warning-05); }
.kc-statcard .sub {
  font:500 12px var(--font-body); color:var(--neutral-03);
}

/* Vector DB card — wide, with the brand teal accent. Spans full row of statgrid. */
.kc-vdbcard {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #0E2E31 0%, #103D40 60%, #14444A 100%);
  border-radius:14px; padding:20px 24px;
  color: var(--neutral-10);
  display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
  gap:24px; align-items:center;
  position:relative; overflow:hidden;
}
.kc-vdbcard::after {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(50% 90% at 100% 0%, rgba(32,190,198,.35), transparent 65%),
    radial-gradient(40% 80% at 0% 100%, rgba(255,126,0,.10), transparent 70%);
  pointer-events:none;
}
.kc-vdbcard__head { position:relative; }
.kc-vdbcard__title {
  display:flex; align-items:center; gap:8px;
  font:700 11px var(--font-body); letter-spacing:.08em;
  color:var(--teal-08); text-transform:uppercase;
  margin-bottom:8px;
}
.kc-vdbcard__title .live-dot {
  width:7px; height:7px; border-radius:99px; background:var(--teal-06);
  box-shadow:0 0 8px var(--teal-06);
  animation: vk-pulse 1.6s ease-in-out infinite;
}
.kc-vdbcard__name {
  font:700 22px/26px var(--font-display);
  letter-spacing:-0.01em;
}
.kc-vdbcard__host {
  font:500 12px var(--font-mono); color:var(--teal-09);
  margin-top:4px; opacity:.8;
}
.kc-vdbcard__stat { position:relative; }
.kc-vdbcard__stat .lbl {
  font:700 10px var(--font-body); color:var(--teal-09); opacity:.7;
  letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px;
}
.kc-vdbcard__stat .val {
  font:700 20px/24px var(--font-display); letter-spacing:-0.01em;
}
.kc-vdbcard__stat .val .unit {
  font:600 11px var(--font-body); color:var(--teal-08); margin-left:3px;
}

/* ───── SECTION HEAD ───── */
.kc-section-head {
  display:flex; align-items:center; justify-content:space-between;
  margin: 24px 0 12px;
}
.kc-section-head h2 {
  font:700 16px/22px var(--font-display); color:var(--neutral-01);
  margin:0; display:flex; align-items:center; gap:10px;
}
.kc-section-head .count {
  font:600 11px var(--font-body); background:var(--neutral-09); color:var(--neutral-03);
  padding:2px 8px; border-radius:99px; letter-spacing:0;
}
.kc-section-head .right { display:flex; gap:8px; align-items:center; }

/* ───── UPLOAD ZONE ───── */
.kc-upload-prefs {
  display:flex; align-items:center; gap:12px;
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-bottom:none;
  border-radius:14px 14px 0 0;
  padding:10px 16px;
  flex-wrap:wrap;
}
.kc-upload-prefs__label {
  display:flex; align-items:center; gap:6px;
  font:600 12px var(--font-body); color:var(--neutral-02);
}
.kc-upload-prefs__label svg { color:var(--neutral-04); }
.kc-upload-prefs__hint {
  font:500 11px var(--font-body); color:var(--neutral-04);
  text-align:right;
}

/* Collection picker */
.kc-collpicker { position:relative; flex-shrink:0; }
.kc-collpicker__btn {
  display:inline-flex; align-items:center; gap:7px;
  background:var(--primary-10); border:1px solid var(--primary-09);
  color:var(--primary-06);
  border-radius:99px; padding:4px 10px 4px 8px;
  font:600 12px var(--font-body); cursor:pointer;
  transition: background .12s, border-color .12s;
}
.kc-collpicker__btn:hover { background:#EAD4F4; border-color:var(--primary-08); }
.kc-collpicker__btn.compact { padding:3px 8px 3px 6px; font-size:11px; }
.kc-collpicker__btn .dot {
  width:8px; height:8px; border-radius:99px; flex-shrink:0;
}
.kc-collpicker__btn .name {
  max-width:160px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kc-collpicker__btn svg { color:var(--primary-07); opacity:.6; }

.kc-collpicker__menu {
  position:absolute; z-index:30;
  top:calc(100% + 6px); left:0;
  min-width:240px;
  background:var(--neutral-10);
  border-radius:12px;
  box-shadow: 0 1px 8px rgba(99,96,108,.16), 0 12px 32px rgba(29,14,37,.14);
  overflow:hidden;
  animation: kc-fade .12s ease-out;
}
.kc-collpicker__menu-head {
  padding:10px 14px 6px;
  font:700 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase;
}
.kc-collpicker__menu-list {
  max-height:280px; overflow-y:auto;
  padding:0 4px 4px;
}
.kc-collpicker__menu-row {
  width:100%;
  display:flex; align-items:center; gap:10px;
  padding:7px 10px; border-radius:7px;
  background:transparent; border:none; cursor:pointer;
  font:500 13px var(--font-body); color:var(--neutral-01);
  text-align:left;
}
.kc-collpicker__menu-row:hover { background:var(--neutral-09); }
.kc-collpicker__menu-row.active { background:var(--primary-10); }
.kc-collpicker__menu-row .dot {
  width:9px; height:9px; border-radius:99px; flex-shrink:0;
}
.kc-collpicker__menu-row .name { flex:1; font-weight:500; }
.kc-collpicker__menu-row .cnt {
  font:600 11px var(--font-mono); color:var(--neutral-04);
}
.kc-collpicker__menu-foot {
  border-top:1px solid var(--neutral-09);
  padding:6px 4px;
}
.kc-collpicker__new {
  width:100%;
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:6px;
  background:transparent; border:none; cursor:pointer;
  font:600 12px var(--font-body); color:var(--primary-07);
}
.kc-collpicker__new:hover { background:var(--primary-10); color:var(--primary-06); }

.kc-uploadzone {
  border:2px dashed var(--neutral-07);
  border-top:none;
  border-radius:0 0 14px 14px;
  padding:24px;
  background:var(--neutral-10);
  display:flex; align-items:center; gap:20px;
  transition: border-color .15s, background .15s;
  cursor: pointer;
}
.kc-uploadzone:hover { border-color:var(--primary-07); background:var(--primary-10); background:#FBF7FE; }
.kc-uploadzone.dragover {
  border-color:var(--primary-06); border-style:solid;
  background: linear-gradient(180deg, #FBF7FE, #F4ECFA);
  box-shadow: inset 0 0 0 1px var(--primary-06), 0 0 24px rgba(124,62,163,.15);
}
.kc-uploadzone__icon {
  width:56px; height:56px; border-radius:14px;
  background: var(--primary-10); color: var(--primary-06);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-uploadzone__icon svg { width:26px; height:26px; }
.kc-uploadzone__text { flex:1; min-width:0; }
.kc-uploadzone__h {
  font:700 16px/22px var(--font-body); color:var(--neutral-01); margin-bottom:2px;
}
.kc-uploadzone__p {
  font:500 13px/18px var(--font-body); color:var(--neutral-03);
}
.kc-uploadzone__p kbd {
  background:var(--neutral-09); border:1px solid var(--neutral-08);
  border-radius:4px; padding:1px 5px; font:600 11px var(--font-mono); color:var(--neutral-02);
}
.kc-uploadzone__formats {
  display:flex; gap:6px; flex-wrap:wrap; margin-top:8px;
}
.kc-uploadzone__formats .fmt {
  font:700 10px var(--font-mono); color:var(--neutral-03);
  background:var(--neutral-09); padding:2px 6px; border-radius:4px;
  letter-spacing:.04em;
}
.kc-uploadzone__cta { flex-shrink:0; display:flex; flex-direction:column; gap:6px; align-items:flex-end;}

/* in-flight upload tray below */
.kc-uploadtray {
  margin-top:10px;
  background:var(--neutral-10); border:1px solid var(--neutral-09);
  border-radius:12px; overflow:hidden;
}
.kc-uploadtray__row {
  display:grid; grid-template-columns: auto 1fr auto auto auto; gap:14px;
  align-items:center; padding:12px 16px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-uploadtray__row:last-child { border-bottom:none; }
.kc-uploadtray__icon {
  width:32px; height:32px; border-radius:8px;
  background:var(--neutral-09); display:flex; align-items:center; justify-content:center;
  color: var(--primary-07);
}
.kc-uploadtray__name {
  font:600 13px var(--font-body); color:var(--neutral-01);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kc-uploadtray__meta {
  font:500 12px var(--font-body); color:var(--neutral-04);
  margin-top:1px;
}
.kc-uploadtray__pbar {
  width:140px; height:6px; border-radius:99px;
  background:var(--neutral-09); overflow:hidden;
}
.kc-uploadtray__pbar > div {
  height:100%;
  background: linear-gradient(90deg, var(--primary-08), var(--primary-06));
  border-radius:99px; transition: width .3s ease-out;
}
.kc-uploadtray__pct {
  font:600 12px var(--font-mono); color:var(--neutral-02); min-width:36px; text-align:right;
}

/* ───── MAIN BODY GRID ───── */
.kc-body {
  display:grid; grid-template-columns: 1fr;
  gap:24px; margin-top:24px;
  align-items:start;
}
.kc-pipeline-grid {
  display:grid; grid-template-columns: 1fr 320px;
  gap:24px; margin-top:8px;
  align-items:start;
}
@media (max-width: 1280px) {
  .kc-pipeline-grid { grid-template-columns: 1fr; }
  .kc-rail {
    display:grid; grid-template-columns: repeat(2, 1fr); gap:16px;
  }
}
@media (max-width: 900px) {
  .kc-rail { grid-template-columns: 1fr; }
}

/* ───── DOC TABLE ───── */
.kc-table-card {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px;
  overflow:hidden;
}
.kc-toolbar {
  display:flex; gap:10px; align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--neutral-09);
  background:var(--neutral-10);
  flex-wrap:wrap;
}
.kc-toolbar__search {
  flex:1; min-width:200px;
  display:flex; align-items:center; gap:8px;
  background:var(--neutral-09); border:1px solid var(--neutral-09);
  border-radius:8px; padding:6px 10px;
}
.kc-toolbar__search input {
  flex:1; background:transparent; border:none; outline:none;
  font:500 13px var(--font-body); color:var(--neutral-01);
}
.kc-toolbar__search input::placeholder { color:var(--neutral-05); }
.kc-toolbar__search svg { color:var(--neutral-04); }

.kc-filterchip {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:8px;
  font:600 12px var(--font-body); color:var(--neutral-02);
  background:var(--neutral-10); border:1px solid var(--neutral-08);
  cursor:pointer; transition: all .12s;
}
.kc-filterchip:hover { border-color:var(--primary-07); color:var(--primary-07); }
.kc-filterchip.active {
  background:var(--primary-10); border-color:var(--primary-09); color:var(--primary-06);
}
.kc-filterchip .count {
  font:700 10px var(--font-body); background:var(--neutral-09);
  padding:1px 6px; border-radius:99px; color:var(--neutral-03);
}
.kc-filterchip.active .count { background:var(--primary-09); color:var(--primary-06); }

.kc-doctable { width:100%; min-width:720px; border-collapse:collapse; table-layout: fixed; }
.kc-doctable th {
  text-align:left; padding:10px 16px;
  font:700 11px var(--font-body); color:var(--neutral-04);
  letter-spacing:.04em; text-transform:uppercase;
  background:#FAFAFB;
  border-bottom:1px solid var(--neutral-09);
  white-space:nowrap;
}
.kc-doctable th .sort {
  display:inline-flex; align-items:center; gap:4px; cursor:pointer;
}
.kc-doctable th .sort:hover { color:var(--neutral-01); }
.kc-doctable td {
  padding:12px 16px;
  border-bottom:1px solid var(--neutral-09);
  font:500 13px var(--font-body); color:var(--neutral-01);
  vertical-align: middle;
}
.kc-doctable tr.row { cursor:pointer; transition: background .1s; }
.kc-doctable tr.row:hover { background:#FBF7FE; }
.kc-doctable tr.row.selected { background:#F4ECFA; }
.kc-doctable tr.row.selected td:first-child { box-shadow: inset 3px 0 0 var(--primary-06); }
.kc-doctable tr:last-child td { border-bottom:none; }

.kc-doctable .doc-name {
  display:flex; align-items:center; gap:12px; min-width:0;
}
.kc-doctable .doc-name__icon {
  width:34px; height:34px; border-radius:8px;
  background:var(--neutral-09); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font:700 10px var(--font-mono); color:var(--neutral-03);
  letter-spacing:.04em;
}
.kc-doctable .doc-name__icon.pdf { background:#FDEAEA; color:#B82D28; }
.kc-doctable .doc-name__icon.doc { background:#E6F0FF; color:#1043D1; }
.kc-doctable .doc-name__icon.md { background:#EDE1F4; color:#5C2D78; }
.kc-doctable .doc-name__icon.ppt { background:#FFE9D9; color:#A55403; }
.kc-doctable .doc-name__icon.url { background:#E0F9FA; color:#105C60; }
.kc-doctable .doc-name__icon.code { background:#F1F2F5; color:#484647; }
.kc-doctable .doc-name__icon.confluence { background:#D9E3FF; color:#1043D1; }
.kc-doctable .doc-name__text { min-width:0; flex:1; }
.kc-doctable .doc-name__title {
  font:600 13px var(--font-body); color:var(--neutral-01);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kc-doctable .doc-name__meta {
  font:500 11px var(--font-body); color:var(--neutral-04); margin-top:2px;
  display:flex; align-items:center; gap:6px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  min-width:0;
}
.kc-doctable .doc-name__meta > * { flex-shrink:0; }
.kc-doctable .doc-name__meta .author {
  flex-shrink:1; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kc-doctable .mono { font:500 12px var(--font-mono); color:var(--neutral-02); }
.kc-doctable .embed-prog {
  display:flex; align-items:center; gap:8px;
}
.kc-doctable .embed-prog__bar {
  width:60px; height:5px; border-radius:99px; background:var(--neutral-09); overflow:hidden;
}
.kc-doctable .embed-prog__bar > div {
  height:100%; background:linear-gradient(90deg, var(--primary-08), var(--primary-06));
}
.kc-doctable .embed-prog__pct { font:600 11px var(--font-mono); color:var(--neutral-03); }

.kc-doctable .actions { text-align:right; }
.kc-doctable .actions button {
  width:30px; height:30px; border-radius:7px;
  background:transparent; border:none; color:var(--neutral-04); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.kc-doctable .actions button:hover { background:var(--neutral-09); color:var(--neutral-01); }
.kc-doctable .actions button.retry { color:var(--primary-07); }
.kc-doctable .actions button.retry:hover { background:var(--primary-10); color:var(--primary-06); }

/* table footer */
.kc-table-foot {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 16px;
  border-top:1px solid var(--neutral-09);
  font:500 12px var(--font-body); color:var(--neutral-04);
}
.kc-pager { display:flex; gap:4px; align-items:center; }
.kc-pager button {
  min-width:28px; height:28px; padding:0 8px; border-radius:6px;
  background:transparent; border:1px solid transparent; color:var(--neutral-02);
  font:600 12px var(--font-body); cursor:pointer;
}
.kc-pager button:hover { background:var(--neutral-09); }
.kc-pager button.active { background:var(--primary-10); color:var(--primary-06); border-color:var(--primary-09); }

/* ───── RIGHT RAIL ───── */
.kc-rail { display:flex; flex-direction:column; gap:18px; }
.kc-railcard {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px;
  padding:16px 18px;
}
.kc-railcard__head {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
}
.kc-railcard__title {
  font:700 12px var(--font-body); color:var(--neutral-02);
  letter-spacing:.06em; text-transform:uppercase;
  display:flex; align-items:center; gap:8px;
}
.kc-railcard__more {
  font:600 12px var(--font-body); color:var(--primary-07);
  background:none; border:none; cursor:pointer; padding:0;
}
.kc-railcard__more:hover { color:var(--primary-06); }

/* DAG runs feed */
.kc-dag {
  display:flex; gap:12px; padding:10px 0;
  border-bottom:1px solid var(--neutral-09);
}
.kc-dag:last-child { border-bottom:none; padding-bottom:0; }
.kc-dag__stamp {
  width:28px; flex-shrink:0;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding-top:4px;
}
.kc-dag__stamp .ring {
  width:18px; height:18px; border-radius:99px;
  border:2px solid var(--neutral-08);
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--neutral-10);
}
.kc-dag__stamp .ring svg { width:10px; height:10px; }
.kc-dag.success .ring { border-color:var(--success-06); color:var(--success-05); }
.kc-dag.success .ring svg { color:var(--success-05); }
.kc-dag.fail .ring { border-color:var(--danger-06); color:var(--danger-05); }
.kc-dag.running .ring {
  border-color:var(--primary-07); border-top-color:transparent;
  animation: vk-spin 1s linear infinite;
}
@keyframes vk-spin { to { transform: rotate(360deg); } }
.kc-dag__stamp .stem {
  flex:1; width:2px; background:var(--neutral-09);
}
.kc-dag:last-child .kc-dag__stamp .stem { display:none; }

.kc-dag__body { flex:1; min-width:0; padding-bottom:6px; }
.kc-dag__name {
  font:700 12px var(--font-mono); color:var(--neutral-01);
}
.kc-dag__sub {
  font:500 11px var(--font-body); color:var(--neutral-04);
  margin-top:2px; display:flex; gap:8px; flex-wrap:wrap;
}
.kc-dag__sub strong { color:var(--neutral-02); font-weight:600; }

/* schedule */
.kc-schedule {
  display:flex; align-items:center; gap:10px;
  padding:12px 14px; border-radius:10px;
  background: linear-gradient(135deg, var(--primary-10), #F8EFFC);
  border:1px solid var(--primary-09);
  margin:0 0 18px;
}
.kc-schedule__icon {
  width:36px; height:36px; border-radius:10px;
  background:var(--primary-06); color:#FFF;
  display:inline-flex; align-items:center; justify-content:center;
}
.kc-schedule__text { flex:1; min-width:0; }
.kc-schedule__t1 { font:700 12px var(--font-body); color:var(--primary-04); }
.kc-schedule__t2 {
  font:600 11px var(--font-mono); color:var(--primary-06); margin-top:2px;
}
.kc-schedule__btn {
  font:600 11px var(--font-body); color:var(--primary-06);
  background:var(--neutral-10); border:1px solid var(--primary-09);
  padding:4px 8px; border-radius:6px; cursor:pointer;
}
.kc-schedule__btn:hover { background:var(--primary-10); }

/* embedding queue mini-chart */
.kc-spark {
  display:flex; align-items:flex-end; gap:3px;
  height:50px; margin: 6px 0 12px;
}
.kc-spark__bar {
  flex:1; background:var(--primary-09); border-radius:2px 2px 0 0;
  position:relative;
  transition: height .3s;
}
.kc-spark__bar.now { background: var(--primary-06); }
.kc-spark__bar.scheduled { background:var(--neutral-08); }

/* ───── SIDE PANEL ───── */
.kc-overlay {
  position:fixed; inset:0; background:rgba(29,14,37,.35);
  z-index:50; display:flex; justify-content:flex-end;
  backdrop-filter:none;
  animation: kc-fade .14s ease-out;
}
@keyframes kc-fade { from { opacity:0; } to { opacity:1; } }
.kc-panel {
  width:520px; max-width:100%;
  background:var(--neutral-10);
  display:flex; flex-direction:column;
  box-shadow:-12px 0 40px rgba(29,14,37,.18);
  animation: kc-slide .2s ease-out;
}
@keyframes kc-slide { from { transform:translateX(20px); opacity:.6; } to { transform:translateX(0); opacity:1; } }
.kc-panel__head {
  display:flex; align-items:flex-start; gap:14px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-panel__head .doc-name__icon { width:44px; height:44px; border-radius:10px; font-size:11px; }
.kc-panel__head h3 {
  font:700 18px/22px var(--font-display); color:var(--neutral-01);
  margin:0 0 4px;
}
.kc-panel__close {
  width:34px; height:34px; border-radius:8px;
  border:none; background:transparent; color:var(--neutral-04);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  margin-left:auto;
}
.kc-panel__close:hover { background:var(--neutral-09); color:var(--neutral-01); }
.kc-panel__body { flex:1; overflow-y:auto; padding:20px 24px; }
.kc-panel__section { margin-bottom:24px; }
.kc-panel__section h4 {
  font:700 11px var(--font-body); color:var(--neutral-04);
  letter-spacing:.08em; text-transform:uppercase;
  margin:0 0 10px;
}

.kc-kv { display:grid; grid-template-columns: 130px 1fr; gap:8px 16px; font-size:13px; }
.kc-kv .k { color:var(--neutral-04); font-weight:500; }
.kc-kv .v { color:var(--neutral-01); font-weight:600; }
.kc-kv .v.mono { font-family:var(--font-mono); font-weight:500; font-size:12px; }

/* chunk list */
.kc-chunk {
  background:var(--neutral-10); border:1px solid var(--neutral-09);
  border-radius:10px; padding:12px 14px; margin-bottom:8px;
  font:500 12px/18px var(--font-body); color:var(--neutral-02);
  position:relative;
}
.kc-chunk__id {
  font:700 10px var(--font-mono); color:var(--primary-06);
  letter-spacing:.04em;
  background:var(--primary-10); padding:1px 6px; border-radius:4px;
  display:inline-block; margin-bottom:6px;
}
.kc-chunk__vec {
  display:flex; gap:3px; margin-top:8px;
}
.kc-chunk__vec span {
  height:18px; width:5px; border-radius:1px;
  background:linear-gradient(180deg, var(--primary-08), var(--primary-06));
}

/* panel footer */
.kc-panel__foot {
  padding:16px 24px; border-top:1px solid var(--neutral-09);
  display:flex; gap:10px; justify-content:flex-end;
  background:#FBFAFC;
}

/* ───── tweaks panel host-applied positioning (default is fine) ───── */

/* ───── density toggle ───── */
.kc-app.dense .kc-doctable td { padding:8px 16px; }
.kc-app.dense .kc-statgrid { gap:12px; }
.kc-app.dense .kc-statcard { padding:14px 16px; }

/* ───── tiny utility ───── */
.row-flex { display:flex; align-items:center; gap:8px; }

/* ───── COLLECTIONS PAGE ───── */
.kc-coll-overview {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px;
  padding:18px 20px;
  margin-top:8px;
}
.kc-coll-overview__bar {
  display:flex; height:10px; border-radius:99px; overflow:hidden; margin-bottom:10px;
}
.kc-coll-overview__bar > div { transition:flex .3s; }
.kc-coll-overview__meta {
  font:500 13px var(--font-body); color:var(--neutral-03);
}
.kc-coll-overview__meta strong { color:var(--neutral-01); font-weight:700; }

.kc-coll-toolbar {
  display:flex; gap:10px; align-items:center;
  margin:16px 0 12px;
}
.kc-coll-toolbar .kc-toolbar__search { flex:0 0 280px; min-width:200px; }

.kc-coll-grid {
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
@media (max-width:1280px) { .kc-coll-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width:900px)  { .kc-coll-grid { grid-template-columns: 1fr; } }

.kc-collcard {
  position:relative;
  background:var(--neutral-10);
  border:1px solid var(--neutral-09); border-bottom-width:4px;
  border-radius:14px;
  padding:18px 18px 14px;
  cursor:pointer;
  transition: border-color .15s, transform .15s, box-shadow .15s;
  overflow:hidden;
}
.kc-collcard:hover {
  border-color:var(--primary-07);
  box-shadow: 0 8px 24px rgba(124,62,163,.08);
}
.kc-collcard__stripe {
  position:absolute; top:0; left:0; right:0; height:3px;
}
.kc-collcard__head {
  display:flex; align-items:flex-start; gap:12px; margin-bottom:14px;
}
.kc-collcard__icon {
  width:36px; height:36px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-collcard__name {
  font:700 15px/20px var(--font-display); color:var(--neutral-01);
  letter-spacing:-0.005em;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kc-collcard__path {
  font:500 11px var(--font-mono); color:var(--neutral-04);
  margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kc-collcard__menu {
  width:28px; height:28px; border-radius:6px;
  background:transparent; border:none; color:var(--neutral-04);
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-collcard__menu:hover { background:var(--neutral-09); color:var(--neutral-01); }

.kc-collcard__metrics {
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap:12px; padding:12px 0; margin-bottom:12px;
  border-top:1px solid var(--neutral-09); border-bottom:1px solid var(--neutral-09);
}
.kc-collcard__metric .lbl {
  font:700 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:4px;
}
.kc-collcard__metric .val {
  font:700 18px/22px var(--font-display); color:var(--neutral-01);
  letter-spacing:-0.01em;
}
.kc-collcard__metric .val.sm { font-size:13px; font-family:var(--font-body); color:var(--neutral-02); font-weight:600; }

.kc-collcard__statusbar {
  display:flex; height:6px; border-radius:99px;
  background:var(--neutral-09); overflow:hidden; margin-bottom:10px;
}
.kc-collcard__statusbar > span { display:block; transition: width .3s; }

.kc-collcard__legend {
  display:flex; gap:10px; flex-wrap:wrap;
  font:500 11px var(--font-body); color:var(--neutral-03);
  margin-bottom:14px;
}
.kc-collcard__legend span { display:inline-flex; align-items:center; gap:4px; }
.kc-collcard__legend i {
  width:6px; height:6px; border-radius:99px;
  display:inline-block;
}

.kc-collcard__foot {
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid var(--neutral-09);
  padding-top:12px; margin:0 -2px;
}
.kc-collcard__btn {
  display:inline-flex; align-items:center; gap:4px;
  font:600 12px var(--font-body); color:var(--primary-07);
  background:transparent; border:none; cursor:pointer;
  padding:4px 6px; border-radius:6px;
}
.kc-collcard__btn:hover { background:var(--primary-10); color:var(--primary-06); }
.kc-collcard__chunks {
  font:600 11px var(--font-mono); color:var(--neutral-04);
}

/* ───── SEARCH PAGE ───── */
.kc-search-hero {
  background: linear-gradient(135deg, var(--neutral-10) 0%, #FBF7FE 100%);
  border:1px solid var(--neutral-09);
  border-radius:18px;
  padding:24px;
  margin-top:8px;
  box-shadow: 0 0 24px rgba(124,62,163,.05);
}
.kc-search-hero__inputrow {
  display:flex; align-items:center; gap:12px;
  background:var(--neutral-10);
  border:2px solid var(--neutral-09);
  border-radius:12px;
  padding:8px 8px 8px 16px;
  transition: border-color .15s, box-shadow .15s;
}
.kc-search-hero__inputrow:focus-within {
  border-color:var(--primary-07);
  box-shadow: 0 0 0 4px rgba(124,62,163,.1);
}
.kc-search-hero__input {
  flex:1; min-width:0;
  background:transparent; border:none; outline:none;
  font:500 16px var(--font-body); color:var(--neutral-01);
  padding: 8px 0;
}
.kc-search-hero__input::placeholder { color:var(--neutral-05); }
.kc-search-hero__clear {
  width:30px; height:30px; border-radius:8px;
  background:transparent; border:none; color:var(--neutral-04);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.kc-search-hero__clear:hover { background:var(--neutral-09); color:var(--neutral-01); }

.kc-search-hero__row {
  display:flex; align-items:flex-start; gap:16px; margin-top:14px;
  flex-wrap:wrap;
}
.kc-search-modes {
  display:flex; gap:4px;
  background:var(--neutral-09); padding:4px; border-radius:10px;
}
.kc-search-mode {
  background:transparent; border:none; cursor:pointer;
  padding:8px 14px; border-radius:8px;
  display:flex; flex-direction:column; align-items:flex-start; gap:0;
  font-family: var(--font-body);
}
.kc-search-mode .lbl { font:700 13px var(--font-body); color:var(--neutral-02); }
.kc-search-mode .sub { font:500 11px var(--font-body); color:var(--neutral-04); margin-top:1px; }
.kc-search-mode:hover { background:var(--neutral-10); }
.kc-search-mode.active {
  background:var(--neutral-10);
  box-shadow: 0 1px 4px rgba(124,62,163,.18), 0 0 0 1px var(--primary-09);
}
.kc-search-mode.active .lbl { color:var(--primary-06); }
.kc-search-mode.active .sub { color:var(--primary-07); }

.kc-search-filters {
  display:flex; gap:10px; margin-left:auto;
}
.kc-search-filter {
  display:flex; flex-direction:column; gap:2px;
  font:600 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase;
}
.kc-search-filter select {
  font:600 13px var(--font-body); color:var(--neutral-01);
  background:var(--neutral-10); border:1px solid var(--neutral-08);
  border-radius:8px; padding:7px 28px 7px 12px; cursor:pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23A4A0A7' d='M0 0h10L5 6z'/></svg>");
  background-repeat: no-repeat; background-position: right 10px center;
  letter-spacing: 0; text-transform: none;
  min-width: 130px;
}
.kc-search-filter select:hover { border-color:var(--primary-09); }
.kc-search-filter select:focus { outline:none; border-color:var(--primary-07); }

.kc-search-hero__suggestions {
  display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;
  align-items:center;
}
.kc-search-hero__suggestions .lbl {
  font:700 11px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase; margin-right:4px;
}
.kc-search-suggest {
  font:500 13px var(--font-body); color:var(--neutral-02);
  background:var(--neutral-10); border:1px solid var(--neutral-08);
  border-radius:99px; padding:6px 14px; cursor:pointer;
  transition: all .12s;
}
.kc-search-suggest:hover {
  background:var(--primary-10); border-color:var(--primary-09); color:var(--primary-06);
}

/* Empty state */
.kc-search-empty {
  display:flex; flex-direction:column; align-items:center;
  padding:80px 24px 48px;
  text-align:center; gap:12px;
}
.kc-search-empty__icon {
  width:72px; height:72px; border-radius:18px;
  background: linear-gradient(135deg, var(--primary-10), #F8EFFC);
  color: var(--primary-06);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:8px;
}
.kc-search-empty h3 {
  font:700 20px/26px var(--font-display); color:var(--neutral-01); margin:0;
}
.kc-search-empty p {
  font:500 14px/22px var(--font-body); color:var(--neutral-03); margin:0;
  max-width: 480px;
}

/* Results */
.kc-search-results { margin-top:24px; }
.kc-search-results__head {
  display:flex; justify-content:space-between; align-items:center;
  font:500 13px var(--font-body); color:var(--neutral-02);
  margin-bottom:14px;
  flex-wrap:wrap; gap:12px;
}
.kc-search-results__head .mono { font:600 13px var(--font-mono); color:var(--neutral-01); }
.kc-search-results__head strong { color:var(--neutral-01); }
.kc-search-results__legend {
  display:flex; gap:14px; font:500 11px var(--font-body); color:var(--neutral-04);
}
.kc-search-results__legend i {
  display:inline-block; width:7px; height:7px; border-radius:99px; margin-right:5px;
  vertical-align: 1px;
}

/* RAG answer card */
.kc-search-rag {
  background: linear-gradient(135deg, #1D0E25 0%, #2B1537 60%, #391C4A 100%);
  color: var(--neutral-10);
  border-radius:14px;
  padding:18px 22px;
  margin-bottom:18px;
  position:relative; overflow:hidden;
}
.kc-search-rag::after {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(40% 100% at 100% 0%, rgba(255,126,0,.18), transparent 65%),
    radial-gradient(40% 100% at 0% 100%, rgba(124,62,163,.30), transparent 70%);
  pointer-events:none;
}
.kc-search-rag__head {
  display:flex; align-items:center; gap:8px;
  font:700 11px var(--font-body); color:var(--orange-08);
  letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:10px;
  position:relative;
}
.kc-search-rag__body {
  font:500 14px/22px var(--font-body); color:var(--neutral-10);
  position:relative;
}
.kc-search-rag__dots {
  display:inline-flex; gap:3px; margin-right:8px; vertical-align: middle;
}
.kc-search-rag__dots span {
  width:5px; height:5px; border-radius:99px; background: var(--orange-08);
  animation: kc-rag-bounce 1.2s ease-in-out infinite;
}
.kc-search-rag__dots span:nth-child(2) { animation-delay: .15s; }
.kc-search-rag__dots span:nth-child(3) { animation-delay: .30s; }
@keyframes kc-rag-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: .4; }
  40% { transform: translateY(-4px); opacity: 1; }
}

/* Result rows */
.kc-search-results__list {
  display:flex; flex-direction:column; gap:10px;
}
.kc-result-row {
  display:grid; grid-template-columns: 50px 80px 1fr 40px;
  gap:14px; align-items:center;
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:12px;
  padding:14px 16px;
  cursor:pointer;
  transition: border-color .12s, background .12s;
}
.kc-result-row:hover {
  border-color:var(--primary-07);
  background:#FBF7FE;
}
.kc-result-row__rank {
  font:700 14px var(--font-mono); color:var(--neutral-05);
  text-align:center;
}
.kc-result-row__score {
  display:flex; flex-direction:column; align-items:center; gap:0;
  padding:8px 10px; border-radius:8px;
  background:var(--neutral-09);
}
.kc-result-row__score .num {
  font:700 15px/18px var(--font-mono); color:var(--neutral-01);
  letter-spacing:-0.01em;
}
.kc-result-row__score .lbl {
  font:700 8px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase; margin-top:2px;
}
.kc-result-row__score.strong  { background:var(--success-10); }
.kc-result-row__score.strong .num { color:var(--success-05); }
.kc-result-row__score.partial { background:var(--warning-10); }
.kc-result-row__score.partial .num { color:var(--warning-05); }
.kc-result-row__score.weak    { background:var(--neutral-09); }
.kc-result-row__score.weak .num { color:var(--neutral-04); }

.kc-result-row__main { min-width:0; }
.kc-result-row__topline {
  display:flex; align-items:center; gap:8px;
  margin-bottom:6px;
}
.kc-result-row__doc {
  font:700 13px var(--font-body); color:var(--neutral-01);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  flex:1; min-width:0;
}
.kc-result-row__snippet {
  font:500 13px/20px var(--font-body); color:var(--neutral-02);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.kc-search-mark {
  background: var(--warning-10); color: var(--neutral-01);
  padding: 0 2px; border-radius: 3px; font-weight: 600;
}

.kc-result-row__actions button {
  width:32px; height:32px; border-radius:8px;
  background:transparent; border:none; cursor:pointer;
  color:var(--neutral-04);
  display:flex; align-items:center; justify-content:center;
}
.kc-result-row__actions button:hover { background:var(--primary-10); color:var(--primary-06); }

@media (max-width: 900px) {
  .kc-result-row { grid-template-columns: 40px 70px 1fr; }
  .kc-result-row__actions { display:none; }
  .kc-search-filters { width:100%; margin-left:0; }
}

/* ═══════════════════════════════════════════════════
   AIRFLOW VIEW — DAG cards
   ═══════════════════════════════════════════════════ */
.kc-dag-list {
  display:flex; flex-direction:column; gap:12px; margin-top:8px;
}
.kc-dagcard {
  display:grid; grid-template-columns: 2fr 1fr 1.1fr;
  gap:24px; align-items:center;
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px; padding:18px 20px;
  transition: border-color .15s, box-shadow .15s;
}
.kc-dagcard:hover {
  border-color:var(--primary-07);
  box-shadow: 0 4px 16px rgba(124,62,163,.06);
}
.kc-dagcard__id { display:flex; gap:14px; min-width:0; }
.kc-dagcard__icon {
  width:40px; height:40px; border-radius:10px;
  background:var(--primary-10); color:var(--primary-06);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-dagcard__name {
  font:700 14px var(--font-mono); color:var(--neutral-01);
  letter-spacing:-0.01em;
}
.kc-dagcard__desc {
  font:500 12px/18px var(--font-body); color:var(--neutral-03);
  margin-top:3px; max-width:380px;
}
.kc-dagcard__cron {
  font:500 11px var(--font-body); color:var(--neutral-02);
  margin-top:6px;
  display:inline-flex; align-items:center; gap:5px;
}
.kc-dagcard__cron svg { color:var(--neutral-04); }
.kc-dagcard__cron .mono { font:600 11px var(--font-mono); color:var(--neutral-02); background:var(--neutral-09); padding:1px 5px; border-radius:4px; }

.kc-dagcard__history { min-width:0; }
.kc-dagcard__history-lbl {
  font:700 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px;
}
.kc-dagcard__bars {
  display:flex; gap:2px; height:28px; align-items:stretch; margin-bottom:6px;
}
.kc-dagcard__bars span {
  flex:1; border-radius:2px;
  background: var(--success-06);
}
.kc-dagcard__bars span.ko { background: var(--danger-06); }
.kc-dagcard__history-meta {
  font:500 11px var(--font-body); color:var(--neutral-03);
}
.kc-dagcard__history-meta .mono { font-family:var(--font-mono); color:var(--neutral-02); }

.kc-dagcard__status {
  display:flex; flex-direction:column; gap:10px;
  align-items:flex-start;
}
.kc-dagcard__kv {
  display:grid; grid-template-columns: auto 1fr; gap:4px 12px;
  font:500 12px var(--font-body); color:var(--neutral-01); width:100%;
}
.kc-dagcard__kv > span { color:var(--neutral-04); font-weight:500; }
.kc-dagcard__kv strong { color:var(--neutral-01); font-weight:600; }
.kc-dagcard__actions { display:flex; gap:6px; width:100%; }
.kc-dagcard__btn {
  display:inline-flex; align-items:center; gap:5px;
  padding:6px 10px; border-radius:7px;
  background:var(--neutral-10); border:1px solid var(--neutral-08);
  font:600 12px var(--font-body); color:var(--neutral-02);
  cursor:pointer;
}
.kc-dagcard__btn:hover { border-color:var(--primary-07); color:var(--primary-07); background:var(--primary-10); }
.kc-dagcard__btn svg { color:currentColor; }

@media (max-width:1100px) {
  .kc-dagcard { grid-template-columns: 1fr; gap:14px; }
}

/* ═══════════════════════════════════════════════════
   EMBEDDING VIEW
   ═══════════════════════════════════════════════════ */
.kc-embed-top {
  display:grid; grid-template-columns: 1.7fr 1fr;
  gap:16px; margin-top:8px;
}
.kc-embed-spec {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px; padding:20px 22px;
}
.kc-embed-spec__head {
  display:flex; align-items:center; gap:12px; margin-bottom:18px;
}
.kc-embed-spec__icon {
  width:44px; height:44px; border-radius:11px;
  background: linear-gradient(135deg, #FCE9F4, #F8E1F0);
  color: #A03085;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-embed-spec__name {
  font:700 16px var(--font-mono); color:var(--neutral-01);
  letter-spacing:-0.005em;
}
.kc-embed-spec__provider {
  font:500 12px var(--font-body); color:var(--neutral-04); margin-top:2px;
}
.kc-embed-spec__grid {
  display:grid; grid-template-columns: repeat(4, 1fr);
  gap:14px 18px; padding-top:16px; border-top:1px solid var(--neutral-09);
}
.kc-embed-spec__cell .lbl {
  font:700 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase; margin-bottom:4px;
}
.kc-embed-spec__cell .val {
  font:700 14px var(--font-body); color:var(--neutral-01);
}
.kc-embed-spec__cell .val.mono { font-family:var(--font-mono); }

.kc-embed-side { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.kc-kpi {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:12px; padding:14px 16px;
  display:flex; flex-direction:column; gap:4px;
  position:relative; overflow:hidden;
}
.kc-kpi::after {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
}
.kc-kpi--primary::after { background:var(--primary-06); }
.kc-kpi--orange::after  { background:var(--orange-06); }
.kc-kpi--teal::after    { background:var(--teal-06); }
.kc-kpi--neutral::after { background:var(--neutral-06); }
.kc-kpi .lbl {
  font:700 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase;
}
.kc-kpi .val {
  font:700 22px/26px var(--font-display); color:var(--neutral-01); letter-spacing:-0.01em;
}
.kc-kpi .sub {
  font:500 11px var(--font-body); color:var(--neutral-04);
}

.kc-embed-chart { margin-top:18px; padding:20px 22px; }
.kc-embed-chart__head {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:14px; flex-wrap:wrap; gap:10px;
}
.kc-embed-spark {
  display:flex; align-items:flex-end; gap:4px;
  height:120px; padding-bottom:6px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-embed-spark .bar {
  flex:1; background: linear-gradient(180deg, var(--primary-08), var(--primary-06));
  border-radius:4px 4px 0 0; min-height:6px;
}
.kc-embed-spark .bar.now { background: linear-gradient(180deg, var(--orange-07), var(--orange-06)); }
.kc-embed-axis {
  display:flex; justify-content:space-between; margin-top:6px;
  font:500 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.04em; text-transform:uppercase;
}

@media (max-width:1100px) {
  .kc-embed-top { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   VECTOR STORE VIEW
   ═══════════════════════════════════════════════════ */
.kc-vdb-overview {
  background: linear-gradient(135deg, #0E2E31 0%, #103D40 60%, #14444A 100%);
  border-radius:14px; padding:22px 26px;
  color: var(--neutral-10);
  margin-top:8px;
  position:relative; overflow:hidden;
}
.kc-vdb-overview::after {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(40% 100% at 100% 0%, rgba(32,190,198,.30), transparent 60%),
    radial-gradient(40% 100% at 0% 100%, rgba(255,126,0,.10), transparent 70%);
  pointer-events:none;
}
.kc-vdb-overview__head {
  display:flex; align-items:center; gap:16px; margin-bottom:18px;
  position:relative;
}
.kc-vdb-overview__title {
  display:flex; align-items:center; gap:8px;
  font:700 11px var(--font-body); letter-spacing:.08em;
  color:var(--teal-08); text-transform:uppercase;
}
.kc-vdb-overview__title .live {
  width:8px; height:8px; border-radius:99px; background:var(--teal-06);
  box-shadow:0 0 8px var(--teal-06);
  animation: vk-pulse 1.6s ease-in-out infinite;
}
.kc-vdb-overview__name {
  margin-left:auto;
  font:700 18px var(--font-display); letter-spacing:-0.005em;
}
.kc-vdb-overview__stats {
  display:grid; grid-template-columns: repeat(4, 1fr);
  gap:18px 24px; position:relative;
}
.kc-vdb-stat .lbl {
  font:700 10px var(--font-body); color:var(--teal-09); opacity:.7;
  letter-spacing:.06em; text-transform:uppercase; margin-bottom:4px;
}
.kc-vdb-stat .val {
  font:700 22px/26px var(--font-display); letter-spacing:-0.01em;
}
.kc-vdb-stat .val .unit {
  font:600 11px var(--font-body); color:var(--teal-08); margin-left:4px;
}

.kc-vdb-split {
  display:grid; grid-template-columns: 1.3fr 1fr;
  gap:16px; margin-top:18px;
}
.kc-card-head {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:14px;
}
.kc-card-head h3 {
  font:700 14px var(--font-display); color:var(--neutral-01);
  margin:0;
}

.kc-vdb-nodes {
  display:flex; flex-direction:column; gap:8px;
}
.kc-vdb-node {
  display:flex; align-items:center; gap:12px;
  padding:10px 12px; border-radius:9px;
  background:var(--neutral-10); border:1px solid var(--neutral-09);
}
.kc-vdb-node .status {
  width:8px; height:8px; border-radius:99px;
  box-shadow:0 0 0 3px rgba(20,184,108,.15);
  flex-shrink:0;
}
.kc-vdb-node__name {
  font:600 13px var(--font-mono); color:var(--neutral-01);
}
.kc-vdb-node__meta {
  font:500 11px var(--font-body); color:var(--neutral-04); margin-top:1px;
}
.kc-vdb-node__usage {
  display:flex; gap:14px;
  font:500 11px var(--font-body); color:var(--neutral-04);
}
.kc-vdb-node__usage strong { color:var(--neutral-01); font:600 12px var(--font-mono); margin-left:3px; }

.kc-vdb-colls { width:100%; border-collapse:collapse; }
.kc-vdb-colls th, .kc-vdb-colls td {
  text-align:left; padding:8px 6px;
  font:500 12px var(--font-body); color:var(--neutral-01);
}
.kc-vdb-colls th {
  font:700 10px var(--font-body); color:var(--neutral-04);
  letter-spacing:.06em; text-transform:uppercase;
  border-bottom:1px solid var(--neutral-09);
}
.kc-vdb-colls td { border-bottom:1px solid var(--neutral-09); }
.kc-vdb-colls tr:last-child td { border-bottom:none; }
.kc-vdb-colls .mono { font:500 12px var(--font-mono); color:var(--neutral-02); }

@media (max-width:1100px) {
  .kc-vdb-overview__stats { grid-template-columns: repeat(2, 1fr); }
  .kc-vdb-split { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   FAILURES VIEW
   ═══════════════════════════════════════════════════ */
.kc-fail-breakdown {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px; padding:18px 20px;
  margin-top:8px;
}
.kc-fail-breakdown__head {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
}
.kc-fail-cats {
  display:flex; gap:12px; flex-wrap:wrap;
}
.kc-fail-cat {
  display:flex; align-items:center; gap:8px;
  background:var(--neutral-09); border-radius:9px;
  padding:8px 12px;
  flex:1; min-width:180px;
}
.kc-fail-cat .dot {
  width:8px; height:8px; border-radius:99px; flex-shrink:0;
}
.kc-fail-cat .lbl {
  flex:1; font:500 12px var(--font-body); color:var(--neutral-02);
}
.kc-fail-cat .cnt {
  font:700 14px var(--font-display); color:var(--neutral-01);
}

/* ───── auto-trigger banner ───── */
.kc-autotrigger {
  display:flex; align-items:center; gap:14px;
  background: linear-gradient(135deg, var(--neutral-10), #FBF7FE);
  border:1px solid var(--primary-09);
  border-radius:12px;
  padding:12px 16px;
  margin-top:8px;
}
.kc-autotrigger__icon {
  width:36px; height:36px; border-radius:9px;
  background:var(--primary-10); color:var(--primary-06);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-autotrigger__text { flex:1; min-width:0; }
.kc-autotrigger__title {
  font:700 13px var(--font-body); color:var(--neutral-01);
}
.kc-autotrigger__sub {
  font:500 12px/18px var(--font-body); color:var(--neutral-03);
  margin-top:2px;
}
.kc-autotrigger__sub strong { color:var(--primary-06); font-weight:600; }

/* ───── toggle ───── */
.kc-toggle {
  width:42px; height:24px; border-radius:99px;
  background:var(--neutral-08); border:none;
  position:relative; cursor:pointer;
  transition: background .15s;
  flex-shrink:0;
}
.kc-toggle.on { background:var(--primary-06); }
.kc-toggle__thumb {
  position:absolute; top:3px; left:3px;
  width:18px; height:18px; border-radius:99px;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition: transform .18s ease;
}
.kc-toggle.on .kc-toggle__thumb { transform: translateX(18px); }
.kc-toggle:focus-visible { outline:none; box-shadow: 0 0 0 3px rgba(124,62,163,.30); }

/* ───── handoff card ───── */
.kc-handoff {
  display:flex; align-items:center; gap:14px;
  background: linear-gradient(135deg, var(--neutral-10), #FBF7FE);
  border:1px solid var(--primary-09);
  border-radius:12px;
  padding:14px 18px;
  margin-top:18px;
}
.kc-handoff__icon {
  width:38px; height:38px; border-radius:10px;
  background:var(--primary-10); color:var(--primary-06);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-handoff__text { flex:1; min-width:0; }
.kc-handoff__title { font:700 13px var(--font-body); color:var(--neutral-01); }
.kc-handoff__sub  { font:500 12px/18px var(--font-body); color:var(--neutral-03); margin-top:2px; max-width:600px; }

.kc-pagehead__extlink {
  font:600 13px var(--font-body); color:var(--primary-07);
  display:inline-flex; align-items:center; gap:4px;
  text-decoration:none;
}
.kc-pagehead__extlink:hover { color:var(--primary-06); }

/* ═══════════════════════════════════════════════════
   SETTINGS PAGE
   ═══════════════════════════════════════════════════ */
.kc-set-section {
  background:var(--neutral-10);
  border:1px solid var(--neutral-09);
  border-radius:14px;
  margin-top:18px;
  overflow:hidden;
}
.kc-set-section__head {
  padding:18px 24px 12px;
  border-bottom:1px solid var(--neutral-09);
  background:#FAFAFB;
}
.kc-set-section__head h2 {
  font:700 14px var(--font-display); color:var(--neutral-01);
  margin:0; letter-spacing:-0.005em;
}
.kc-set-section__head p {
  font:500 12px/18px var(--font-body); color:var(--neutral-04);
  margin:2px 0 0;
}
.kc-set-section__body { padding:4px 0; }

.kc-set-row {
  display:flex; align-items:center; gap:24px;
  padding:18px 24px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-set-row:last-child { border-bottom:none; }
.kc-set-row__text { flex:1; min-width:0; }
.kc-set-row__title {
  font:700 13px var(--font-body); color:var(--neutral-01);
}
.kc-set-row__desc {
  font:500 12px/18px var(--font-body); color:var(--neutral-03);
  margin-top:4px;
  max-width:560px;
}
.kc-set-row__desc strong { color:var(--neutral-01); font-weight:600; }
.kc-set-row__control { flex-shrink:0; }

.kc-set__code {
  font:600 11px var(--font-mono); color:var(--primary-06);
  background:var(--primary-10); padding:1px 6px; border-radius:4px;
}
.kc-set__pill {
  font:600 12px var(--font-body); color:var(--neutral-02);
  background:var(--neutral-09); padding:5px 10px; border-radius:99px;
  display:inline-flex; align-items:center;
}

/* segmented selector */
.kc-seg {
  display:inline-flex; padding:3px;
  background:var(--neutral-09); border-radius:8px;
}
.kc-seg__btn {
  font:600 12px var(--font-body); color:var(--neutral-02);
  background:transparent; border:none; cursor:pointer;
  padding:6px 12px; border-radius:6px;
}
.kc-seg__btn:hover { color:var(--neutral-01); }
.kc-seg__btn.active {
  background:var(--neutral-10); color:var(--primary-06);
  box-shadow: 0 1px 3px rgba(124,62,163,.18);
}

/* ───── Vector store config block ───── */
.kc-vdbconf {
  padding:18px 24px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-set-section__body > .kc-vdbconf:last-child { border-bottom:none; }

.kc-vdbconf__summary {
  display:flex; align-items:center; gap:14px;
  min-width:0;
}
.kc-vdbconf__summary > *:nth-child(2) { min-width: 0; flex: 1; }
.kc-vdbconf__summary > .vk-btn { flex-shrink: 0; }
.kc-vdbconf__icon {
  width:40px; height:40px; border-radius:10px;
  background:#0E2E31; color:#9FE9EF;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.kc-vdbconf__title {
  display:flex; align-items:center; gap:8px;
  font:700 14px var(--font-body); color:var(--neutral-01);
}
.kc-vdbconf__conn {
  font:500 12px var(--font-body); color:var(--neutral-02);
  margin-top:2px;
  display:flex; align-items:center; gap:6px;
  min-width:0;
}
.kc-vdbconf__conn .mono {
  font:600 12px var(--font-mono); color:var(--primary-06);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  min-width:0; flex-shrink:1;
}
.kc-vdbconf__conn .region {
  color:var(--neutral-04); white-space:nowrap; flex-shrink:0;
}

.kc-vdbconf__test {
  display:inline-flex; align-items:center; gap:6px;
  font:600 12px var(--font-body);
  padding:8px 12px; border-radius:8px;
  margin-top:12px;
}
.kc-vdbconf__test.ok { background:var(--success-10); color:var(--success-05); }
.kc-vdbconf__test.ko { background:var(--danger-10); color:var(--danger-05); }

.kc-vdbconf__form {
  margin-top:16px; padding-top:16px;
  border-top:1px dashed var(--neutral-09);
  display:flex; flex-direction:column; gap:14px;
}
.kc-vdbconf__row {
  display:flex; gap:14px; align-items:flex-start;
}
.kc-vdbconf__row--toggles {
  background:var(--neutral-09); border-radius:10px;
  padding:14px 16px;
}
.kc-vdbconf__toggle {
  flex:1;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.kc-vdbconf__toggle + .kc-vdbconf__toggle { border-left:1px solid var(--neutral-08); padding-left:14px; }

.kc-vdbconf__foot {
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
  padding-top:10px; border-top:1px solid var(--neutral-09);
  margin-top:4px;
}

/* Input + label */
.kc-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.kc-field__lbl {
  font:700 11px var(--font-body); color:var(--neutral-03);
  letter-spacing:.04em; text-transform:uppercase;
}
.kc-field__help {
  font:500 11px var(--font-body); color:var(--neutral-04);
}
.kc-input {
  font:500 13px var(--font-body); color:var(--neutral-01);
  background:var(--neutral-10);
  border:1px solid var(--neutral-08);
  border-radius:8px; padding:8px 12px;
  outline:none; transition: border-color .12s, box-shadow .12s;
  width:100%;
}
.kc-input:hover { border-color:var(--neutral-06); }
.kc-input:focus {
  border-color:var(--primary-07);
  box-shadow: 0 0 0 3px rgba(124,62,163,.12);
}

@media (max-width:900px) {
  .kc-vdbconf__row { flex-direction:column; }
  .kc-vdbconf__row--toggles { flex-direction:column; gap:14px; }
  .kc-vdbconf__toggle + .kc-vdbconf__toggle { border-left:none; padding-left:0; border-top:1px solid var(--neutral-08); padding-top:14px; }
}

/* ═══════════════════════════════════════════════════
   ADMINISTRATION
   ═══════════════════════════════════════════════════ */
.kc-admin-tabs {
  display:flex; gap:4px;
  margin-top:18px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-admin-tab {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px;
  border:none; background:transparent; cursor:pointer;
  font:600 13px var(--font-body); color:var(--neutral-04);
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
}
.kc-admin-tab:hover { color:var(--neutral-01); }
.kc-admin-tab.active {
  color:var(--primary-06); border-bottom-color:var(--primary-06);
}
.kc-admin-tab .cnt {
  font:600 11px var(--font-mono); color:var(--neutral-04);
  background:var(--neutral-09); padding:1px 6px; border-radius:99px;
}
.kc-admin-tab.active .cnt { color:var(--primary-06); background:var(--primary-10); }

.kc-admin-avatar {
  width:34px; height:34px; border-radius:99px;
  display:flex; align-items:center; justify-content:center;
  font:700 11px var(--font-body); color:#fff;
  flex-shrink:0; letter-spacing:.04em;
}

.kc-admin-select {
  font:600 12px var(--font-body); color:var(--neutral-01);
  background:var(--neutral-10); border:1px solid var(--neutral-08);
  border-radius:8px; padding:7px 28px 7px 12px; cursor:pointer;
  appearance:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23A4A0A7' d='M0 0h10L5 6z'/></svg>");
  background-repeat:no-repeat; background-position:right 10px center;
}
.kc-admin-select:hover { border-color:var(--primary-09); }
.kc-admin-select:focus { outline:none; border-color:var(--primary-07); }

/* Audit log rows */
.kc-audit-list { padding:4px 0; }
.kc-audit-row {
  display:grid; grid-template-columns: 110px 1fr auto;
  gap:16px; align-items:start;
  padding:14px 18px;
  border-bottom:1px solid var(--neutral-09);
}
.kc-audit-row:last-child { border-bottom:none; }
.kc-audit-row__when {
  font:500 12px var(--font-body); color:var(--neutral-04);
  padding-top:1px;
}
.kc-audit-row__msg {
  font:500 13px/20px var(--font-body); color:var(--neutral-02);
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  min-width:0;
}
.kc-audit-row__msg strong { color:var(--neutral-01); font-weight:700; }
.kc-audit-row__msg .action { font-weight:600; }
.kc-audit-row__msg .target {
  color:var(--neutral-01); font-weight:500;
}
.kc-audit-row__meta {
  font:500 11px var(--font-body); color:var(--neutral-04);
  white-space:nowrap;
}
.kc-audit-row__meta .mono { font-family:var(--font-mono); }

@media (max-width:900px) {
  .kc-audit-row { grid-template-columns: 1fr; }
  .kc-audit-row__when { font-size:11px; }
}
