.cb-kl-root { display: grid; gap: 18px; }
.cb-kl-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: linear-gradient(135deg, rgba(20, 92, 180, .12), rgba(26, 188, 156, .10)); border: 1px solid rgba(66, 153, 225, .18); }
.cb-kl-hero h2 { margin: 0 0 6px; font-size: 1.5rem; }
.cb-kl-hero p { margin: 0; color: #536171; max-width: 760px; }
.cb-kl-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cb-kl-summary-card { padding: 16px; border-radius: 16px; background: #fff; box-shadow: 0 14px 36px rgba(15, 23, 42, .06); }
.cb-kl-summary-card strong { display: block; font-size: 1.55rem; color: #0f172a; }
.cb-kl-summary-card span { color: #64748b; font-size: .85rem; }
.cb-kl-panel { overflow: hidden; }
.cb-kl-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(145px, auto)) auto; gap: 10px; align-items: center; margin-bottom: 12px; }
.cb-kl-toolbar input, .cb-kl-toolbar select { width: 100%; min-height: 40px; border: 1px solid #dbe4ef; border-radius: 10px; padding: 8px 10px; background: #fff; }
.cb-kl-status-line { min-height: 20px; font-size: .85rem; color: #64748b; margin-bottom: 8px; }
.cb-kl-status-line.is-error { color: #b91c1c; }
.cb-kl-table-wrap { overflow-x: auto; border: 1px solid #e6edf5; border-radius: 14px; }
.cb-kl-table { width: 100%; border-collapse: collapse; background: #fff; }
.cb-kl-table th, .cb-kl-table td { padding: 12px; border-bottom: 1px solid #eef2f7; text-align: left; vertical-align: top; font-size: .9rem; }
.cb-kl-table th { background: #f8fafc; color: #475569; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.cb-kl-table tr:last-child td { border-bottom: 0; }
.cb-kl-source-link { display: block; border: 0; background: transparent; padding: 0; color: #0f5ca8; font-weight: 700; cursor: pointer; text-align: left; }
.cb-kl-source-link:hover { text-decoration: underline; }
.cb-kl-table small { display: block; color: #64748b; margin-top: 4px; max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cb-kl-badge-row, .cb-kl-chip-row { display: flex; gap: 6px; flex-wrap: wrap; }
.cb-kl-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 8px; font-size: .72rem; font-weight: 700; background: #eef2ff; color: #3730a3; margin: 1px; white-space: nowrap; }
.cb-kl-badge-status.cb-kl-badge-indexed, .cb-kl-badge-active { background: #dcfce7; color: #166534; }
.cb-kl-badge-status.cb-kl-badge-processing, .cb-kl-badge-status.cb-kl-badge-queued, .cb-kl-badge-status.cb-kl-badge-uploaded { background: #dbeafe; color: #1d4ed8; }
.cb-kl-badge-status.cb-kl-badge-failed, .cb-kl-badge-status.cb-kl-badge-limit_blocked, .cb-kl-badge-deleted { background: #fee2e2; color: #991b1b; }
.cb-kl-badge-visibility.cb-kl-badge-private { background: #f1f5f9; color: #475569; }
.cb-kl-badge-visibility.cb-kl-badge-team_shared { background: #e0f2fe; color: #0369a1; }
.cb-kl-badge-visibility.cb-kl-badge-organization_library { background: #ccfbf1; color: #0f766e; }
.cb-kl-badge-archived { background: #fef3c7; color: #92400e; }
.cb-kl-chip { display: inline-flex; gap: 4px; align-items: center; padding: 4px 8px; border-radius: 999px; background: #f8fafc; border: 1px solid #e2e8f0; color: #334155; font-size: .76rem; }
.cb-kl-chip span { color: #64748b; font-weight: 700; }
.cb-kl-muted { color: #64748b; }
.cb-kl-empty { padding: 36px; }
.cb-kl-drawer { position: fixed; inset: 0; z-index: 2147481000; display: none; }
.cb-kl-drawer.is-open { display: block; }
.cb-kl-drawer-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .48); backdrop-filter: blur(2px); }
.cb-kl-drawer-panel { position: absolute; right: 0; top: 0; bottom: 0; width: min(620px, 100vw); background: #fff; box-shadow: -24px 0 80px rgba(15, 23, 42, .28); padding: 28px; overflow-y: auto; }
.cb-kl-drawer-close { position: sticky; top: 0; float: right; width: 36px; height: 36px; border-radius: 999px; border: 1px solid #e2e8f0; background: #fff; font-size: 24px; line-height: 1; cursor: pointer; }
.cb-kl-drawer-head h2 { margin: 4px 0 10px; }
.cb-kl-detail-section { clear: both; border-top: 1px solid #eef2f7; padding-top: 18px; margin-top: 18px; }
.cb-kl-detail-section h3 { margin: 0 0 12px; font-size: 1rem; }
.cb-kl-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.cb-kl-detail-grid div { padding: 10px; border-radius: 10px; background: #f8fafc; }
.cb-kl-detail-grid dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; font-weight: 800; }
.cb-kl-detail-grid dd { margin: 4px 0 0; color: #0f172a; }
.cb-kl-assignment-list { display: grid; gap: 8px; }
.cb-kl-assignment { display: flex; justify-content: space-between; gap: 12px; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px; }
.cb-kl-edit-section form { display: grid; gap: 12px; }
.cb-kl-edit-section label { display: grid; gap: 6px; font-weight: 700; color: #334155; }
.cb-kl-edit-section input[type="text"], .cb-kl-edit-section select, .cb-kl-edit-section textarea { width: 100%; border: 1px solid #dbe4ef; border-radius: 10px; padding: 9px 10px; font-weight: 400; }
.cb-kl-checkbox { display: flex !important; align-items: center; gap: 8px !important; }
.cb-kl-form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
@media (max-width: 900px) {
  .cb-kl-hero { align-items: flex-start; flex-direction: column; }
  .cb-kl-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cb-kl-toolbar { grid-template-columns: 1fr; }
  .cb-kl-detail-grid { grid-template-columns: 1fr; }
}
.cb-knowledge-bridge { display: grid; gap: 18px; }
.cb-knowledge-tabs { display: inline-flex; align-items: center; gap: 6px; padding: 6px; border: 1px solid #e2e8f0; border-radius: 999px; background: #f8fafc; width: fit-content; }
.cb-knowledge-tab { border: 0; border-radius: 999px; padding: 9px 16px; background: transparent; color: #475569; font-weight: 800; cursor: pointer; }
.cb-knowledge-tab.is-active { background: #0f5ca8; color: #fff; box-shadow: 0 10px 28px rgba(15, 92, 168, .24); }
.cb-knowledge-tab-panel[hidden] { display: none !important; }
.cb-knowledge-bot-selector { margin-bottom: 14px; }
@media (max-width: 680px) {
  .cb-knowledge-tabs { width: 100%; display: grid; grid-template-columns: 1fr 1fr; border-radius: 16px; }
  .cb-knowledge-tab { border-radius: 12px; }
}

/* v5.6.7.2 header polish */
.cb-kl-hero {
  padding: 18px 20px;
  align-items: center;
}
.cb-kl-hero h2 {
  margin-top: 2px;
  margin-bottom: 6px;
}
.cb-kl-hero [data-kl-go-bot] {
  padding: 8px 12px;
  font-size: 13px;
}

/* v5.6.7.3 Console Knowledge assignment UI */
.cb-kl-console-root { display: grid; gap: 18px; }
.cb-kl-console-hero { background: linear-gradient(135deg, rgba(26, 188, 156, .11), rgba(15, 92, 168, .10)); }
.cb-kl-target-card { display: grid; gap: 10px; }
.cb-kl-target-toolbar { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.cb-kl-target-toolbar label { display: grid; gap: 6px; font-weight: 800; color: #334155; min-width: min(380px, 100%); }
.cb-kl-target-toolbar select { min-height: 42px; border: 1px solid #dbe4ef; border-radius: 10px; padding: 8px 10px; background: #fff; }
.cb-kl-target-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.cb-kl-target-header h2 { margin: 0 0 4px; }
.cb-kl-target-header p { margin: 0; color: #64748b; }
.cb-kl-runtime-note { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; color: #475569; font-size: .86rem; }
.cb-kl-action-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.cb-kl-add-modal { position: fixed; inset: 0; z-index: 2147481100; display: grid; place-items: center; padding: 22px; }
.cb-kl-add-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .48); backdrop-filter: blur(2px); }
.cb-kl-add-panel { position: relative; width: min(760px, 96vw); max-height: min(760px, 90vh); overflow: auto; background: #fff; border-radius: 20px; box-shadow: 0 30px 90px rgba(15, 23, 42, .28); padding: 22px; }
.cb-kl-add-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.cb-kl-add-header h3 { margin: 0 0 4px; }
.cb-kl-add-header p { margin: 0; color: #64748b; }
.cb-kl-add-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(150px, auto) auto; gap: 10px; margin-bottom: 12px; }
.cb-kl-add-toolbar input, .cb-kl-add-toolbar select { width: 100%; min-height: 40px; border: 1px solid #dbe4ef; border-radius: 10px; padding: 8px 10px; }
.cb-kl-add-list { display: grid; gap: 10px; }
.cb-kl-add-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 12px; border: 1px solid #e2e8f0; border-radius: 14px; background: #f8fafc; }
.cb-kl-add-row p { margin: 4px 0 0; color: #64748b; font-size: .86rem; }
@media (max-width: 680px) {
  .cb-knowledge-tabs { grid-template-columns: 1fr; }
  .cb-kl-target-header, .cb-kl-add-header, .cb-kl-add-row { flex-direction: column; align-items: stretch; }
  .cb-kl-add-toolbar { grid-template-columns: 1fr; }
}

/* v5.6.8.1 Retrieval QA panels */
.cb-kl-retrieval-qa { display: grid; gap: 12px; }
.cb-kl-retrieval-qa textarea { width: 100%; min-height: 96px; border: 1px solid #dbe4ef; border-radius: 12px; padding: 12px; resize: vertical; }
.cb-rag-result-card { margin-top: 10px; padding: 14px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.cb-rag-result-card h3 { margin: 0 0 8px; }
.cb-rag-result-card p { margin: 4px 0; color: #475569; }
.cb-rag-chunk { padding: 12px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; margin-top: 8px; }
.cb-rag-score { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 999px; background: #e0f2fe; color: #075985; font-size: 12px; font-weight: 800; }
.cb-rag-source { margin-top: 4px; color: #64748b; font-size: .84rem; }
.cb-rag-debug-details { margin-top: 10px; }
.cb-rag-debug { white-space: pre-wrap; max-height: 360px; overflow: auto; padding: 12px; border-radius: 12px; background: #0f172a; color: #e2e8f0; font-size: 12px; }
.cb-rag-error { border-color: #fecaca; background: #fef2f2; color: #991b1b; }


/* v5.6.9.8 Knowledge Library mobile responsiveness patch */
.cb-kl-root,
.cb-kl-root *,
.cb-knowledge-bridge,
.cb-knowledge-bridge * {
  box-sizing: border-box;
}
.cb-kl-root,
.cb-knowledge-bridge {
  max-width: 100%;
  overflow-x: hidden;
}
.cb-kl-root code,
.cb-kl-root .cb-kl-source-link,
.cb-kl-root .cb-kl-table td,
.cb-kl-root .cb-kl-detail-grid dd,
.cb-kl-root .cb-kl-message,
.cb-knowledge-bridge code,
.cb-knowledge-bridge .cb-kl-source-link,
.cb-knowledge-bridge .cb-kl-table td,
.cb-knowledge-bridge .cb-kl-detail-grid dd,
.cb-knowledge-bridge .cb-kl-message {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 680px) {
  .cb-kl-hero { align-items: stretch; }
  .cb-kl-hero .cb-btn,
  .cb-kl-hero button { width: 100%; }
  .cb-kl-toolbar,
  .cb-kl-toolbar-actions,
  .cb-kl-filter-row {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
  .cb-kl-toolbar input,
  .cb-kl-toolbar select,
  .cb-kl-toolbar button,
  .cb-kl-target-toolbar select,
  .cb-kl-target-toolbar button {
    width: 100%;
    max-width: 100%;
  }
  .cb-knowledge-tabs,
  .cb-kl-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    border-radius: 16px;
  }
  .cb-knowledge-tab,
  .cb-kl-tab,
  .cb-kl-tabs button {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
  }
  .cb-kl-table-wrap {
    overflow-x: visible;
    border: 0;
    border-radius: 0;
  }
  .cb-kl-table,
  .cb-kl-table thead,
  .cb-kl-table tbody,
  .cb-kl-table tr,
  .cb-kl-table th,
  .cb-kl-table td {
    display: block;
    width: 100%;
  }
  .cb-kl-table thead { display: none; }
  .cb-kl-table tr {
    margin: 0 0 12px;
    border: 1px solid #e6edf5;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(15,23,42,.045);
  }
  .cb-kl-table td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #eef2f7;
    padding: 10px 12px;
    text-align: right;
  }
  .cb-kl-table td::before {
    content: attr(data-label);
    flex: 0 0 38%;
    max-width: 38%;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
    color: #64748b;
  }
  .cb-kl-table td:last-child { border-bottom: 0; }
  .cb-kl-table td[data-label="Source"],
  .cb-kl-table td[data-label="Assignments"],
  .cb-kl-table td[data-label="Actions"],
  .cb-kl-table td.cb-kl-actions-cell {
    display: block;
    text-align: left;
  }
  .cb-kl-table td[data-label="Source"]::before,
  .cb-kl-table td[data-label="Assignments"]::before,
  .cb-kl-table td[data-label="Actions"]::before,
  .cb-kl-table td.cb-kl-actions-cell::before {
    display: block;
    max-width: 100%;
    margin-bottom: 8px;
  }
  .cb-kl-table small {
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .cb-kl-action-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .cb-kl-action-row button,
  .cb-kl-table td[data-label="Actions"] button,
  .cb-kl-table td.cb-kl-actions-cell button {
    width: 100%;
    margin: 0;
  }
  .cb-kl-drawer-panel {
    width: 100vw;
    max-width: 100%;
    padding: 18px;
    border-radius: 0;
    box-sizing: border-box;
  }
  .cb-kl-form-actions,
  .cb-kl-drawer-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: stretch;
  }
  .cb-kl-form-actions button,
  .cb-kl-drawer-actions button { width: 100%; }
  .cb-kl-assignment {
    flex-direction: column;
    align-items: stretch;
  }
}
@media (max-width: 520px) {
  .cb-kl-summary { grid-template-columns: 1fr; }
  .cb-kl-add-modal {
    padding: 0;
    place-items: stretch;
  }
  .cb-kl-add-panel {
    width: 100vw;
    max-width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    border-radius: 0;
    padding: 16px;
    box-sizing: border-box;
    overflow-y: auto;
  }
  .cb-kl-add-panel input,
  .cb-kl-add-panel select,
  .cb-kl-add-panel textarea,
  .cb-kl-add-panel button {
    width: 100%;
    max-width: 100%;
  }
  .cb-kl-add-actions,
  .cb-kl-add-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* v5.7.0 - Organization Knowledge + Console RAG Architecture UI additions */
.cb-kl-hero-actions,
.cb-kl-row-actions,
.cb-kl-detail-actions,
.cb-kl-target-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.cb-kl-upload-form {
  display: grid;
  gap: 14px;
}

.cb-kl-upload-form label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

.cb-kl-upload-form input,
.cb-kl-upload-form select,
.cb-kl-upload-form textarea {
  width: 100%;
  max-width: 100%;
}

.cb-kl-form-actions .is-error,
[data-kl-upload-status].is-error {
  color: #b42318;
  font-weight: 700;
}

@media (max-width: 680px) {
  .cb-kl-hero-actions,
  .cb-kl-row-actions,
  .cb-kl-detail-actions,
  .cb-kl-target-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cb-kl-hero-actions .cb-btn,
  .cb-kl-row-actions .cb-btn,
  .cb-kl-detail-actions .cb-btn,
  .cb-kl-target-actions .cb-btn {
    width: 100%;
  }
}
