@charset "utf-8";

:root { --tbs-border-color: #dee2e6; --tbs-border-radius-sm: 3px; --tbs-border-radius: 6px; --tbs-panel-bg: #fafafa; --tbs-panel-padding: 1rem; --tbs-selection-bg: #eef6ff; --tbs-text-sm: 0.85rem; --tbs-text-xs: 0.82rem; --tbs-text-xxs: 0.72rem; --tbs-text-muted: #777; --tbs-text-subtle: #888; --tbs-text-placeholder: #999; --tbs-danger-text: #c00; --tbs-badge-bg: #e8f4fd; --tbs-badge-color: #1a6fa8; --tbs-badge-border: #aad4f0; --tbs-chip-off-bg: #e9ecef; --tbs-chip-off-color: #333; --tbs-chip-on-bg: #1a6fa8; --tbs-chip-on-color: #fff; --tbs-label-entity-bg: #e0f2fe; --tbs-label-entity-color: #0369a1; --tbs-label-entity-border: #bae6fd; --tbs-label-attribute-bg: #dcfce7; --tbs-label-attribute-color: #15803d; --tbs-label-attribute-border: #bbf7d0; --tbs-label-rel-bg: #f3e8ff; --tbs-label-rel-color: #6b21a8; --tbs-label-rel-border: #e9d5ff; --tbs-label-default-bg: #f1f5f9; --tbs-label-default-color: #475569; --tbs-label-default-border: #cbd5e1; --tbs-icon-sm: 1rem; --tbs-icon-md: 1.2rem; --tbs-icon-lg: 1.4rem; --tbs-gap-xs: 0.25rem; --tbs-gap-sm: 0.4rem; --tbs-gap: 0.5rem; --tbs-gap-md: 0.75rem; --tbs-gap-lg: 1rem; --tbs-gap-xl: 1.5rem; --tbs-gap-2xl: 2rem; }

.tbs-panel { border: 1px solid var(--tbs-border-color); border-radius: var(--tbs-border-radius); padding: var(--tbs-panel-padding); background: var(--tbs-panel-bg); }

.tbs-panel--sticky { position: sticky; top: 1rem; }

.tbs-panel--sidebar { width: 380px; flex-shrink: 0; }

.tbs-panel--flush { padding: 0px; overflow: hidden; display: flex; flex-direction: column; }

.tbs-two-col { display: flex; gap: var(--tbs-gap-xl); align-items: flex-start; }

.tbs-three-col { display: grid; grid-template-columns: 340px 1fr 1fr; gap: var(--tbs-gap-lg); flex: 1 1 0%; min-height: 0px; }

@media (max-width: 1400px) {
  .tbs-three-col { grid-template-columns: 320px 1fr; }
}

@media (max-width: 992px) {
  .tbs-three-col { grid-template-columns: 1fr; }
}

.tbs-col-main { flex: 1 1 0%; min-width: 0px; }

.tbs-col-sidebar { width: 380px; flex-shrink: 0; }

.tbs-panel-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 0.6rem 0.85rem; background: var(--tbs-panel-bg); border-bottom: 1px solid var(--tbs-border-color); }

.tbs-panel-title { font-weight: 600; font-size: var(--tbs-text-sm); color: rgb(30, 41, 59); display: flex; align-items: center; gap: 0.5rem; }

.tbs-panel-body { flex: 1 1 0%; padding: 0.85rem; overflow-y: auto; display: flex; flex-direction: column; gap: 0.75rem; }

.tbs-tabs { display: flex; border-bottom: 1px solid var(--tbs-border-color); padding: 0px 0.5rem; background: var(--tbs-panel-bg); }

.tbs-tab { padding: 0.6rem 1rem; font-size: var(--tbs-text-sm); font-weight: 500; color: var(--tbs-text-muted); background: none; border-width: medium medium 2px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; cursor: pointer; transition: 0.15s ease-in-out; }

.tbs-tab:hover { color: rgb(30, 41, 59); }

.tbs-tab.active { color: rgb(37, 99, 235); border-bottom-color: rgb(37, 99, 235); font-weight: 600; }

.tbs-action-row { display: flex; gap: 0.3rem; flex-wrap: wrap; align-items: center; }

.tbs-action-row--end { justify-content: flex-end; }

.tbs-divider { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--tbs-border-color); margin: 0.75rem 0px; }

.tbs-page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }

.tbs-page-title { margin: 0px; }

.tbs-page-header-actions { display: flex; gap: var(--tbs-gap); }

.tbs-section-header { display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: var(--tbs-text-sm); margin-bottom: 0.5rem; }

.tbs-section-header-actions { display: flex; gap: var(--tbs-gap-sm); align-items: center; margin-right: 12px; }

.tbs-icon-btn { aspect-ratio: 1 / 1; height: 31px; display: inline-flex; align-items: center; justify-content: center; padding-left: 0.35rem !important; padding-right: 0.35rem !important; line-height: 1 !important; }

.tbs-icon-text-btn { display: inline-flex; align-items: center; gap: 0.4rem; }

.btn-primary { color: rgb(255, 255, 255) !important; background-color: rgb(13, 110, 253) !important; border-color: rgb(13, 110, 253) !important; }

.btn-primary:hover:not(:disabled) { color: rgb(255, 255, 255) !important; background-color: rgb(11, 94, 215) !important; border-color: rgb(10, 88, 202) !important; }

.btn-primary:focus, .btn-primary:active, .btn-primary:active:focus { color: rgb(255, 255, 255) !important; background-color: rgb(11, 94, 215) !important; border-color: rgb(10, 88, 202) !important; box-shadow: rgba(13, 110, 253, 0.25) 0px 0px 0px 0.2rem !important; }

.btn-primary:disabled, .btn-primary.disabled, .btn-primary[disabled] { color: rgb(255, 255, 255) !important; background-color: rgb(13, 110, 253) !important; border-color: rgb(13, 110, 253) !important; opacity: 0.55 !important; cursor: not-allowed !important; }

.tbs-icon-sm { font-size: var(--tbs-icon-sm); }

.tbs-icon-md { font-size: var(--tbs-icon-md); }

.tbs-icon-lg { font-size: var(--tbs-icon-lg); }

.tbs-table-sm { font-size: var(--tbs-text-xs); }

.tbs-cell-id { font-size: var(--tbs-text-xxs); color: var(--tbs-text-subtle); word-break: break-all; font-family: monospace; }

.tbs-cell-muted { color: var(--tbs-text-muted); }

tr.tbs-row--selected > td { background: var(--tbs-selection-bg) !important; }

.tbs-tree-row { display: flex; align-items: center; gap: 4px; border-radius: var(--tbs-border-radius-sm); cursor: pointer; padding: 1px 4px; line-height: 1.8; user-select: none; }

.tbs-tree-row:hover { background: rgb(240, 246, 255); }

.tbs-tree-row--selected { background: var(--tbs-selection-bg); }

.tbs-tree-toggle { user-select: none; width: 16px; font-size: 0.65rem; flex-shrink: 0; text-align: center; }

.tbs-acl-badge { display: inline-block; background: var(--tbs-badge-bg); color: var(--tbs-badge-color); border: 1px solid var(--tbs-badge-border); border-radius: var(--tbs-border-radius-sm); padding: 0px 3px; margin-right: 2px; font-size: 0.7rem; }

.tbs-label-badge { display: inline-flex; align-items: center; gap: 0.3rem; border: 1.5px solid var(--tbs-label-default-border); border-radius: 12px; padding: 2px 9px; font-size: 0.76rem; font-weight: 600; line-height: 1.4; background: var(--tbs-label-default-bg); color: var(--tbs-label-default-color); white-space: nowrap; }

.tbs-label-badge--entity { background: var(--tbs-label-entity-bg); color: var(--tbs-label-entity-color); border-color: var(--tbs-label-entity-border); }

.tbs-label-badge--attribute { background: var(--tbs-label-attribute-bg); color: var(--tbs-label-attribute-color); border-color: var(--tbs-label-attribute-border); }

.tbs-label-badge--relationship { background: var(--tbs-label-rel-bg); color: var(--tbs-label-rel-color); border-color: var(--tbs-label-rel-border); }

.tbs-label-badge--chip { cursor: pointer; opacity: 0.65; transition: opacity 0.1s, box-shadow 0.1s; background: rgba(255, 255, 255, 0.38); }

.tbs-label-badge--chip:hover { opacity: 0.85; }

.tbs-label-badge--chip.tbs-label-badge--active { opacity: 1; box-shadow: currentcolor 0px 0px 0px 2px; font-weight: 700; }

.tbs-perm-chip { display: inline-block; font-size: 0.78rem; cursor: pointer; user-select: none; background: var(--tbs-chip-off-bg); color: var(--tbs-chip-off-color); border-radius: var(--tbs-border-radius-sm); padding: 2px 7px; margin: 0px; transition: background 0.12s, color 0.12s; }

.tbs-perm-chip--active { background: var(--tbs-chip-on-bg); color: var(--tbs-chip-on-color); }

.tbs-perm-chip:hover:not(.tbs-perm-chip--active) { background: rgb(211, 216, 222); }

.tbs-confirm-label { font-size: var(--tbs-text-xs); color: var(--tbs-danger-text); }

.tbs-feedback { font-size: 0.8rem; padding: 0.25rem 0.5rem; margin: 0px; }

.tbs-empty-cell { text-align: center; vertical-align: middle; color: var(--tbs-text-placeholder); font-style: italic; padding: 2.5rem 1rem !important; }

.tbs-empty-block { text-align: center; padding: 2.5rem 1rem; color: var(--tbs-text-placeholder); font-style: italic; }

.tbs-loading { color: var(--tbs-text-muted); font-style: italic; font-size: var(--tbs-text-sm); margin: 0px; }

.tbs-text-sm { font-size: var(--tbs-text-sm); }

.tbs-text-xs { font-size: var(--tbs-text-xs); }

.tbs-text-xxs { font-size: var(--tbs-text-xxs); }

.tbs-text-muted { color: var(--tbs-text-muted); }

.tbs-text-subtle { color: var(--tbs-text-subtle); }

.tbs-font-mono { font-family: monospace; }

.tbs-bold { font-weight: 600; }

.tbs-form-label { font-size: 0.8rem; margin-bottom: 0.25rem; display: block; }

.tbs-chat-sources { display: inline-block; position: relative; cursor: pointer; margin: 0px 0.1rem; vertical-align: baseline; }

.tbs-chat-source-summary { display: inline-flex; align-items: center; padding: 0.15rem 0.45rem; background: var(--source-background); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 6px; font-size: var(--tbs-text-xxs); font-weight: 500; color: var(--tbs-text-subtle); box-shadow: var(--source-shadow); transition: background 0.2s, color 0.2s; overflow: hidden; }

.tbs-chat-source-inner { display: inline-flex; align-items: center; gap: 0.25rem; }

@keyframes tbs-slide-from-right { 
  0% { transform: translateX(80%); opacity: 0; }
  100% { transform: translateX(0px); opacity: 1; }
}

@keyframes tbs-slide-from-left { 
  0% { transform: translateX(-80%); opacity: 0; }
  100% { transform: translateX(0px); opacity: 1; }
}

.tbs-slide-from-right { animation: 0.18s ease 0s 1 normal forwards running tbs-slide-from-right; }

.tbs-slide-from-left { animation: 0.18s ease 0s 1 normal forwards running tbs-slide-from-left; }

.tbs-chat-source-summary:hover { background: var(--source-background); color: var(--tbs-badge-color); box-shadow: var(--source-shadow); }

.tbs-icon-doc { color: rgb(37, 99, 235); }

.tbs-icon-kg { color: rgb(234, 88, 12); }

.tbs-icon-link { color: rgb(22, 163, 74); }

.tbs-icon-law { color: rgb(107, 33, 168); }

.tbs-chat-source-title { max-width: 140px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.tbs-chat-source-count { color: var(--tbs-badge-color); background: var(--tbs-badge-bg); padding: 0.1rem 0.35rem; border-radius: 10px; font-size: var(--tbs-text-xxs); font-weight: 700; }

.tbs-skill-value { color: var(--tbs-badge-color); font-weight: 600; cursor: pointer; border-bottom: 1px dotted var(--tbs-badge-color); margin: 0px 0.2em; }

.tbs-skill-value:hover { text-decoration: underline; }

.tbs-chat-sources-dropdown { display: none; position: fixed; top: 0px; left: 0px; transform: none; width: 280px; background: rgb(255, 255, 255); border: 1px solid var(--tbs-border-color); border-radius: 8px; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 16px; z-index: 10000; padding: 0.5rem; cursor: default; }

.tbs-chat-sources-dropdown.is-floating { display: flex; flex-direction: column; gap: 0px; }

.tbs-chat-sources:focus .tbs-chat-sources-dropdown, .tbs-chat-sources:focus-within .tbs-chat-sources-dropdown { display: flex; flex-direction: column; gap: 0px; }

.tbs-chat-sources:focus, .tbs-chat-sources:focus-within { z-index: 10001; }

.tbs-chat-sources-header { font-size: var(--tbs-text-xs); font-weight: 600; color: var(--tbs-text-muted); padding: 0.25rem 0.5rem 0.5rem; border-bottom: 1px solid var(--tbs-border-color); margin-bottom: 0.25rem; text-align: center; }

.tbs-paginated-header { display: flex; justify-content: space-between; align-items: center; padding: 0.25rem 0.5rem 0.5rem; border-bottom: 1px solid var(--tbs-border-color); margin-bottom: 0.25rem; }

.tbs-paginated-header-title { display: flex; align-items: center; gap: 0.25rem; font-size: var(--tbs-text-sm); font-weight: 600; color: rgb(51, 51, 51); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-grow: 1; margin-right: 0.5rem; }

.tbs-paginated-controls { display: flex; gap: 0.25rem; align-items: center; }

.tbs-paginated-btn { background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; font-size: 1.1rem; line-height: 1; color: var(--tbs-text-muted); padding: 0.1rem 0.3rem; border-radius: var(--tbs-border-radius-sm); }

.tbs-paginated-btn:hover:not(:disabled) { background: var(--tbs-panel-bg); color: rgb(51, 51, 51); }

.tbs-paginated-btn:disabled { opacity: 1; pointer-events: none; color: rgb(184, 192, 199) !important; }

.tbs-paginated-counter { font-size: var(--tbs-text-xs); font-weight: 600; color: var(--tbs-text-muted); }

.tbs-chat-source-item { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.5rem; border-radius: var(--tbs-border-radius-sm); font-size: var(--tbs-text-xs); color: rgb(51, 51, 51); }

.tbs-chat-source-item:hover { background: var(--tbs-panel-bg); }

.tbs-chat-source-item:has(.tbs-source-fragment):hover { background: transparent; cursor: default; }

.tbs-source-fragment > span > span:hover { background: var(--tbs-panel-bg); cursor: pointer; }

.tbs-chat-source-item span[class^="ph-"] { color: var(--tbs-badge-color); font-size: var(--tbs-icon-md); flex-shrink: 0; }

.tbs-chat-source-item-title { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.kg-popup-entity .kg-raw-attribute-row, .kg-popup-entity .kg-relationship-row, .kg-popup-entity .kg-entity-sources-column { display: none; }

.kg-popup-entity .kg-entity-attributes-table, .kg-popup-entity table { border-collapse: collapse; border: 0px; box-shadow: none; margin-top: 0.5rem; background-color: transparent; }

.kg-popup-entity .kg-entity-attributes-table th, .kg-popup-entity .kg-entity-attributes-table td, .kg-popup-entity table th, .kg-popup-entity table td { border: 0px; box-shadow: none; padding: 0.25rem 0.5rem; text-align: left; vertical-align: top; }

.kg-popup-entity .kg-entity-attribute-column { width: 40%; }

.kg-popup-entity .kg-entity-value-column { width: 60%; }

.tbs-status-pill { font-size: var(--tbs-text-xxs); font-weight: 600; padding: 2px 7px; border-radius: var(--tbs-border-radius-sm); display: inline-flex; align-items: center; gap: 4px; line-height: 1.3; }

.tbs-status-pill--pending { background: rgb(241, 245, 249); color: rgb(71, 85, 105); border: 1px solid rgb(203, 213, 225); }

.tbs-status-pill--processing { background: rgb(219, 234, 254); color: rgb(29, 78, 216); border: 1px solid rgb(191, 219, 254); }

.tbs-status-pill--completed { background: rgb(220, 252, 231); color: rgb(21, 128, 61); border: 1px solid rgb(187, 247, 208); }

.tbs-status-pill--error { background: rgb(254, 226, 226); color: rgb(185, 28, 28); border: 1px solid rgb(254, 202, 202); }

.tbs-file-icon { display: inline-flex; align-items: center; justify-content: center; border-radius: var(--tbs-border-radius); background: rgb(241, 245, 249); color: rgb(100, 116, 139); flex-shrink: 0; font-weight: 600; }

.tbs-file-icon--sm { width: 24px; height: 24px; font-size: var(--tbs-icon-sm); }

.tbs-file-icon--md { width: 32px; height: 32px; font-size: var(--tbs-icon-md); }

.tbs-file-icon--lg { width: 40px; height: 40px; font-size: var(--tbs-icon-lg); }

.tbs-file-icon--pdf { background: rgb(254, 226, 226); color: rgb(239, 68, 68); }

.tbs-file-icon--html { background: rgb(255, 237, 213); color: rgb(249, 115, 22); }

.tbs-file-icon--md { background: rgb(224, 231, 255); color: rgb(99, 102, 241); }

.tbs-file-icon--txt { background: rgb(241, 245, 249); color: rgb(71, 85, 105); }

.tbs-file-icon--json { background: rgb(254, 243, 199); color: rgb(217, 119, 6); }

.tbs-file-icon--csv { background: rgb(220, 252, 231); color: rgb(22, 163, 74); }

.tbs-file-icon--zip { background: rgb(243, 232, 255); color: rgb(147, 51, 234); }

.tbs-file-icon--audio { background: rgb(207, 250, 254); color: rgb(8, 145, 178); }

.tbs-steps-container { display: flex; align-items: center; gap: 0.75rem; margin-top: 1rem; }

.tbs-steps-container--single { justify-content: center; }

.tbs-steps-container--single .tbs-step-card { max-width: 580px; }

@media (max-width: 768px) {
  .tbs-steps-container { flex-direction: column; align-items: stretch; }
}

.tbs-step-card { flex: 1 1 0%; background: rgb(255, 255, 255); border: 1px solid var(--tbs-border-color); border-radius: var(--tbs-border-radius); padding: 0.875rem; display: flex; flex-direction: column; gap: 0.5rem; transition: 0.2s ease-in-out; }

.tbs-step-card--active { background: rgb(239, 246, 255); border-color: rgb(59, 130, 246); box-shadow: rgb(59, 130, 246) 0px 0px 0px 1px; }

.tbs-step-card--queued { opacity: 0.75; }

.tbs-step-header { display: flex; align-items: center; gap: 0.5rem; }

.tbs-step-number { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: rgb(59, 130, 246); color: rgb(255, 255, 255); font-size: var(--tbs-text-xxs); font-weight: 700; flex-shrink: 0; }

.tbs-step-title { font-size: var(--tbs-text-sm); font-weight: 600; color: rgb(30, 41, 59); }

.tbs-step-tool-badge { margin-left: auto; font-size: var(--tbs-text-xxs); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; padding: 2px 6px; border-radius: var(--tbs-border-radius-sm); background: rgb(226, 232, 240); color: rgb(71, 85, 105); }

.tbs-step-card--active .tbs-step-tool-badge { background: rgb(219, 234, 254); color: rgb(29, 78, 216); }

.tbs-step-desc { font-size: var(--tbs-text-xs); color: var(--tbs-text-muted); line-height: 1.4; }

.tbs-step-meta { font-size: var(--tbs-text-xxs); color: rgb(2, 132, 199); font-weight: 500; display: flex; align-items: center; }

.tbs-step-connector { display: flex; align-items: center; justify-content: center; color: rgb(148, 163, 184); font-size: 1.25rem; flex-shrink: 0; }

.tbs-step-connector--active { color: rgb(59, 130, 246); }

.tbs-json-viewer-wrapper { display: flex; flex-direction: column; background: rgb(15, 23, 42); border-radius: var(--tbs-border-radius); overflow: hidden; border: 1px solid rgb(30, 41, 59); }

.tbs-json-viewer-header { display: flex; justify-content: space-between; align-items: center; padding: 0.4rem 0.75rem; background: rgb(30, 41, 59); border-bottom: 1px solid rgb(51, 65, 85); }

.tbs-json-viewer-label { font-size: var(--tbs-text-xxs); color: rgb(148, 163, 184); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }

.tbs-json-copy-btn { border-color: rgb(71, 85, 105) !important; color: rgb(148, 163, 184) !important; background: transparent !important; padding: 2px 6px !important; }

.tbs-json-copy-btn:hover { background: rgb(51, 65, 85) !important; color: rgb(255, 255, 255) !important; }

.tbs-json-viewer { background: transparent; color: rgb(226, 232, 240); padding: 0.85rem 1rem; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.8rem; line-height: 1.5; overflow: auto; flex: 1 1 0%; white-space: pre-wrap; }

.tbs-spin { animation: 1s linear 0s infinite normal none running tbs-spin; display: inline-block; }

@keyframes tbs-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.tbs-tag-pill { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.75rem; border-radius: 9999px; font-size: var(--tbs-text-sm); font-weight: 600; color: rgb(255, 255, 255); background-color: rgb(26, 111, 168); box-shadow: rgba(0, 0, 0, 0.08) 0px 1px 2px; line-height: 1.3; }

.tbs-tag-pill--unclassified { background-color: rgb(100, 116, 139) !important; }

.tbs-tag-pill__icon { font-size: 1rem; flex-shrink: 0; }

.tbs-tag-pill__label { white-space: nowrap; }

.tbs-tag-pill__remove { display: inline-flex; align-items: center; justify-content: center; background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgba(255, 255, 255, 0.75); padding: 0px; margin-left: 0.2rem; cursor: pointer; font-size: 0.85rem; border-radius: 50%; transition: color 0.15s; }

.tbs-tag-pill__remove:hover { color: rgb(255, 255, 255); }

.tbs-or-divider { display: flex; align-items: center; gap: 0.5rem; color: var(--tbs-text-muted); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; width: 100%; }

.tbs-or-divider::before, .tbs-or-divider::after { content: ""; flex: 1 1 0%; height: 1px; background: var(--tbs-border-color); }

.tbs-action-card-btn { display: flex; align-items: center; gap: 0.75rem; width: 100%; padding: 0.625rem 0.875rem; border: 1px solid var(--tbs-border-color); border-radius: var(--tbs-border-radius); background: rgb(255, 255, 255); cursor: pointer; text-align: left; transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; }

.tbs-action-card-btn:hover:not(:disabled) { border-color: rgb(59, 130, 246); background: rgb(240, 247, 255); box-shadow: rgba(59, 130, 246, 0.08) 0px 0px 0px 3px; }

.tbs-action-card-btn:focus-visible { outline: none; border-color: rgb(59, 130, 246); box-shadow: rgba(59, 130, 246, 0.2) 0px 0px 0px 3px; }

.tbs-action-card-btn:disabled { opacity: 0.5; cursor: not-allowed; background: var(--tbs-panel-bg); }

.tbs-action-card-btn__icon { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: var(--tbs-border-radius-sm); background: rgb(239, 246, 255); color: rgb(59, 130, 246); font-size: 1rem; flex-shrink: 0; transition: background 0.15s; }

.tbs-action-card-btn:hover:not(:disabled) .tbs-action-card-btn__icon { background: rgb(219, 234, 254); }

.tbs-action-card-btn__body { display: flex; flex-direction: column; flex: 1 1 0%; min-width: 0px; gap: 0.1rem; }

.tbs-action-card-btn__label { font-size: var(--tbs-text-xs); font-weight: 600; color: rgb(30, 41, 59); line-height: 1.3; }

.tbs-action-card-btn__sub { font-size: var(--tbs-text-xxs); color: var(--tbs-text-muted); line-height: 1.3; }

.tbs-action-card-btn__arrow { color: var(--tbs-text-muted); font-size: 0.75rem; flex-shrink: 0; transition: transform 0.15s, color 0.15s; }

.tbs-action-card-btn:hover:not(:disabled) .tbs-action-card-btn__arrow { color: rgb(59, 130, 246); transform: translateX(2px); }

.tbs-doc-list { display: flex; flex-direction: column; gap: 0.5rem; overflow-y: auto; flex: 1 1 0%; }

.tbs-doc-item { display: flex; align-items: center; justify-content: space-between; padding: 0.625rem 0.75rem; border-radius: var(--tbs-border-radius); border: 1px solid var(--tbs-border-color); background: rgb(255, 255, 255); cursor: pointer; transition: border-color 0.15s, background 0.15s; }

.tbs-doc-item:hover { border-color: rgb(203, 213, 225); background: rgb(248, 250, 252); }

.tbs-doc-item.selected, .tbs-doc-item--selected { border-color: rgb(59, 130, 246); background: rgb(239, 246, 255); }

.tbs-doc-info { display: flex; align-items: center; gap: 0.75rem; min-width: 0px; flex: 1 1 0%; }

.tbs-doc-details { min-width: 0px; flex: 1 1 0%; }

.tbs-doc-name { font-weight: 600; font-size: var(--tbs-text-xs); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: rgb(30, 41, 59); }

.tbs-doc-meta { font-size: var(--tbs-text-xxs); color: var(--tbs-text-muted); display: flex; align-items: center; gap: 0.35rem; margin-top: 2px; }

.tbs-markdown { font-size: var(--tbs-text-sm); line-height: 1.55; color: rgb(28, 28, 28); }

.tbs-markdown h1 { font-size: 1.35rem; margin: 0px 0px 0.6rem; }

.tbs-markdown h2 { font-size: 1.1rem; margin: 1.1rem 0px 0.4rem; padding-bottom: 0.2rem; border-bottom: 1px solid var(--tbs-border-color); }

.tbs-markdown h3 { font-size: 0.98rem; margin: 0.9rem 0px 0.25rem; }

.tbs-markdown p { margin: 0px 0px 0.5rem; }

.tbs-markdown ul, .tbs-markdown ol { padding-left: 1.25rem; margin: 0px 0px 0.5rem; }

.tbs-markdown table { width: 100%; border-collapse: collapse; margin: 0.4rem 0px 0.75rem; font-size: var(--tbs-text-xs); }

.tbs-markdown th, .tbs-markdown td { border: 1px solid var(--tbs-border-color); padding: 0.35rem 0.55rem; text-align: left; }

.tbs-markdown th { background: var(--tbs-panel-bg); font-weight: 600; }

.tbs-callout { background: rgb(248, 250, 252); border-width: 1px 1px 1px 4px; border-style: solid; border-color: rgb(226, 232, 240) rgb(226, 232, 240) rgb(226, 232, 240) rgb(59, 130, 246); border-image: none; border-radius: var(--tbs-border-radius); padding: 0.85rem 1rem; font-size: var(--tbs-text-sm); color: rgb(51, 65, 85); line-height: 1.5; }

.tbs-callout-header { display: flex; align-items: center; gap: 0.35rem; margin-bottom: 0.35rem; font-size: var(--tbs-text-xs); font-weight: 600; color: inherit; }

.tbs-callout--default { border-left-color: rgb(59, 130, 246); background: rgb(248, 250, 252); }

.tbs-callout--info { border-left-color: rgb(2, 132, 199); background: rgb(240, 249, 255); }

.tbs-callout--success { border-left-color: rgb(16, 185, 129); background: rgb(240, 253, 244); }

.tbs-callout--warning { border-left-color: rgb(245, 158, 11); background: rgb(255, 251, 235); }

.tbs-callout--danger { border-left-color: rgb(239, 68, 68); background: rgb(254, 242, 242); }

.tbs-card-header { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.75rem; }

.tbs-card-header-main { display: flex; align-items: center; gap: 0.5rem; flex: 1 1 0%; min-width: 16rem; }

.tbs-card-title-input { max-width: 28rem; font-weight: 600; }