body{-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--bg-primary:#fff;--bg-secondary:#fafafa;--border-color:#e5e7eb;--border-light:#f3f4f6;--sidebar-width:220px;--sidebar-collapsed-width:60px;--border-radius:8px;--border-radius-sm:6px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#fff;background:var(--bg-primary);color:#1f2937;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app-container{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--bg-primary);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;position:fixed;width:220px;width:var(--sidebar-width);z-index:100}.sidebar.collapsed{width:60px;width:var(--sidebar-collapsed-width)}.sidebar-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:16px}.logo,.sidebar-header{align-items:center;display:flex}.logo{gap:10px}.logo-icon{align-items:center;display:flex;font-size:24px;height:32px;justify-content:center;width:32px}.logo-text{color:#1f2937;color:var(--text-primary);font-size:16px;font-weight:600}.pf-logo-icon{border-radius:8px;cursor:pointer}img.pf-logo-icon{background:none;color:inherit;font-size:inherit;font-weight:inherit;height:32px;width:32px}img.pf-logo-icon:hover{opacity:.8}.pf-logo-text{color:#6b21a8;color:var(--pf-purple);cursor:pointer;font-weight:700}.pf-logo-text:hover{color:#7c3aed;color:var(--pf-purple-light)}.collapse-btn{background:none;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:12px;height:28px;width:28px}.collapse-btn:hover{background:#fafafa;background:var(--bg-secondary)}.sidebar.collapsed .collapse-btn{margin:0 auto}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 8px}.nav-item{align-items:center;background:#0000;border:none;border-radius:6px;border-radius:var(--border-radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;text-align:left;width:100%}.sidebar.collapsed .nav-item{justify-content:center;padding:10px}.nav-item:hover{background:#fafafa;background:var(--bg-secondary);color:#1f2937;color:var(--text-primary)}.nav-item.active{background:#ede9fe;background:var(--pf-purple-lighter);color:#6b21a8;color:var(--pf-purple);font-weight:500}.nav-icon{flex-shrink:0;font-size:18px}.nav-label{white-space:nowrap}.sidebar.collapsed .nav-label{display:none}.sidebar-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color);padding:12px}.mode-toggle-container{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color)}.mode-toggle-btn{align-items:center;background:#fafafa;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px;justify-content:center;padding:8px 12px;width:100%}.mode-toggle-btn:hover{background:#f3f4f6;background:var(--border-light);color:#1f2937;color:var(--text-primary)}.mode-icon{flex-shrink:0;font-size:16px}.mode-label{font-weight:500;white-space:nowrap}.main-content{background:#fff;background:var(--bg-primary);flex:1 1;margin-left:220px;margin-left:var(--sidebar-width);min-height:100vh}.sidebar.collapsed~.main-content{margin-left:60px;margin-left:var(--sidebar-collapsed-width)}.section{margin:0 auto;max-width:1200px;padding:32px 40px;width:100%}.section.files-section{max-width:none;padding:16px 24px}.entities-section{height:calc(100vh - 32px);max-width:none;padding:16px}.graph-controls{align-items:center;background:#fafafa;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);display:flex;gap:12px;margin-bottom:12px;padding:10px 12px}.graph-controls label{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.graph-controls input[type=number]{padding:5px 8px;width:70px}.graph-controls button,.graph-controls input[type=number]{border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);font-size:13px}.graph-controls button{background:#fff;background:var(--bg-primary);color:#1f2937;color:var(--text-primary);cursor:pointer;padding:6px 12px}.graph-controls button:hover{background:#fafafa;background:var(--bg-secondary)}.graph-controls button:disabled{cursor:not-allowed;opacity:.5}.graph-stats{color:#9ca3af;color:var(--text-muted);font-size:12px}.loading-state{color:#6b7280;color:var(--text-secondary);padding:40px;text-align:center}.view-toggle{display:flex;gap:6px;margin-bottom:16px}.view-toggle button{background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:8px 16px}.view-toggle button.active,.view-toggle button:hover{background:#fafafa;background:var(--bg-secondary)}.view-toggle button.active{color:#1f2937;color:var(--text-primary);font-weight:500}.coming-soon,.empty-graph{background:#fafafa;background:var(--bg-secondary);border:1px dashed #e5e7eb;border:1px dashed var(--border-color);border-radius:8px;border-radius:var(--border-radius);color:#6b7280;color:var(--text-secondary);padding:60px 32px;text-align:center}.empty-graph p:first-child{font-size:16px;margin-bottom:6px}.graph-error{background:#fff5f5;border:1px solid #ddd;border-radius:6px;border-radius:var(--border-radius-sm);color:#c00;margin-bottom:12px;padding:20px;text-align:center}.graph-error p{margin-bottom:10px}.graph-error button{background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);color:#1f2937;color:var(--text-primary);cursor:pointer;font-size:13px;padding:6px 12px}.section-header{margin-bottom:20px}.section-header h1{color:#1f2937;color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:4px}.section-header p{color:#6b7280;color:var(--text-secondary);font-size:14px}.chat-section{display:flex;flex-direction:column;height:calc(100vh - 48px);max-width:none;padding:24px 32px;width:100%}.chat-section .section-header{flex-shrink:0;margin-bottom:16px;text-align:center}.welcome-title{color:#1f2937;color:var(--text-primary);font-size:28px;font-weight:400;margin-bottom:8px}.welcome-title .highlight{color:#6b21a8;color:var(--pf-purple);font-weight:600}.welcome-subtitle{color:#6b7280;color:var(--text-secondary);font-size:14px;margin-bottom:24px}.suggestion-cards{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.suggestion-card{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 18px;width:240px}.suggestion-card:hover{background:#fafafa;background:var(--bg-secondary)}.suggestion-card p{color:#6b7280;color:var(--text-secondary);font-size:13px;line-height:1.4}.suggestion-card .card-icon{color:#9ca3af;color:var(--text-muted);flex-shrink:0;font-size:16px}.ontologies-section,.upload-section{background:#fff;background:var(--bg-primary)}.ontologies-section{height:100%;overflow:hidden;padding:0}.ontologies-section>*{height:100%}.coming-soon-icon{display:block;font-size:48px;margin-bottom:16px}.coming-soon h2{color:#1f2937;color:var(--text-primary);font-size:20px;margin-bottom:8px}.coming-soon p{color:#6b7280;color:var(--text-secondary)}.stats-section .section-header{margin-bottom:20px;text-align:left}.message-box{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);display:flex;gap:10px;margin-top:16px;padding:12px 16px}.message-box.success{background:#f8fff8;border-color:#ccc}.message-box.error{background:#fff8f8;border-color:#ccc}.message-icon{font-size:18px}.message-text{flex:1 1;font-size:13px}.dismiss-btn{background:none;border:none;cursor:pointer;font-size:18px;opacity:.5}.dismiss-btn:hover{opacity:1}.upload-results{background:#fafafa;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);margin-top:20px;padding:16px}.upload-results h3{color:#1f2937;color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:12px}.results-list{display:flex;flex-direction:column;gap:6px}.result-item{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--border-radius-sm);display:flex;font-size:13px;gap:10px;padding:10px 12px}.result-item.success{border-left:3px solid #666}.result-item.error{border-left:3px solid #999}.result-icon{font-size:14px}.result-filename{color:#1f2937;color:var(--text-primary);font-weight:500}.result-stats{color:#6b7280;color:var(--text-secondary);font-size:12px;margin-left:auto}@media (max-width:1024px){.sidebar{width:60px;width:var(--sidebar-collapsed-width)}.sidebar .logo-text,.sidebar .nav-label{display:none}.sidebar .nav-item{justify-content:center;padding:10px}.main-content{margin-left:60px;margin-left:var(--sidebar-collapsed-width)}.section{padding:20px}.suggestion-cards{align-items:center;flex-direction:column}.suggestion-card{max-width:360px;width:100%}}@media (max-width:640px){.sidebar{display:none}.main-content{margin-left:0}.welcome-title{font-size:24px}.section{padding:12px}}.connection-status{align-items:center;background:#fafafa;border:1px solid #ddd;border-radius:4px;display:flex;font-size:12px;gap:6px;padding:6px 10px}.connection-status.connected{border-color:#333}.connection-status.disconnected{border-color:#c00}.connection-status.connecting{border-color:#c90}.status-indicator{background:#333;border-radius:50%;height:8px;width:8px}.connection-status.disconnected .status-indicator{background:#c00}.connection-status.connecting .status-indicator{animation:pulse 1s infinite;background:#c90}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-weight:500}.chat-container{border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:12px;display:flex;flex:1 1;flex-direction:column;height:100%;overflow:hidden}.chat-container,.chat-header{background:#fff;background:var(--pf-white,#fff)}.chat-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border,#e5e7eb);padding:20px 24px}.chat-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.chat-header h2{color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:18px;font-weight:600;margin:0}.chat-header>p{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:13px;margin:0}.new-chat-btn{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:8px;color:#6b21a8;color:var(--pf-purple,#6b21a8);cursor:pointer;font-size:12px;font-weight:500;margin-left:auto;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.new-chat-btn:hover{background:#6b21a8;background:var(--pf-purple,#6b21a8);border-color:#6b21a8;border-color:var(--pf-purple,#6b21a8);color:#fff}.workspace-context-badge{align-items:center;background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:8px;display:inline-flex;font-size:12px;gap:8px;margin-top:12px;padding:8px 12px}.context-icon{font-size:14px}.context-text{color:#1f2937;color:var(--pf-text,#1f2937)}.context-text strong{color:#6b21a8;color:var(--pf-purple,#6b21a8)}.context-industry{color:#6b7280;color:var(--pf-text-secondary,#6b7280)}.search-mode-selector{margin-top:16px}.search-mode-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search-mode-label{color:#1f2937;color:var(--pf-text,#1f2937);font-size:13px;font-weight:500;white-space:nowrap}.search-mode-buttons{display:flex;flex-wrap:wrap;gap:8px}.search-mode-btn{align-items:center;background:#fff;background:var(--pf-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;color:#1f2937;color:var(--pf-text,#1f2937);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 14px;transition:all .2s ease}.search-mode-btn:hover{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-color:#a78bfa;border-color:var(--pf-purple-border,#a78bfa)}.search-mode-btn.active{background:#6b21a8;background:var(--pf-purple,#6b21a8);border-color:#6b21a8;border-color:var(--pf-purple,#6b21a8);color:#fff}.search-mode-btn:disabled{cursor:not-allowed;opacity:.5}.mode-icon{font-size:14px}.mode-name{font-weight:500}.search-mode-description{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:12px;margin:8px 0 0}.graph-selector-inline{align-items:center;border-left:1px solid #e5e7eb;border-left:1px solid var(--pf-border,#e5e7eb);display:flex;gap:8px;margin-left:4px;padding-left:12px}.graph-selector-inline select{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:6px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:12px;min-width:180px;padding:6px 10px}.loading-schema{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:11px}.schema-badge{background:#fff;background:var(--pf-white,#fff);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:10px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:11px;padding:3px 8px;white-space:nowrap}.chat-settings{margin-top:12px}.settings-toggle{background:#fff;background:var(--pf-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:6px;color:#1f2937;color:var(--pf-text,#1f2937);cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.settings-toggle.active,.settings-toggle:hover{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-color:#a78bfa;border-color:var(--pf-purple-border,#a78bfa)}.settings-panel{background:#fafafa;background:var(--pf-bg,#fafafa);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;margin-top:12px;padding:16px}.setting-item{margin-bottom:16px}.setting-item:last-child{margin-bottom:0}.setting-item label{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.setting-label{color:#1f2937;color:var(--pf-text,#1f2937);font-size:13px;font-weight:500}.setting-value{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:4px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:13px;font-weight:600;padding:2px 8px}.setting-item input[type=range]{accent-color:#6b21a8;accent-color:var(--pf-purple,#6b21a8);margin:4px 0;width:100%}.setting-hint{color:#6b7280;color:var(--pf-text-secondary,#6b7280);margin-top:4px}.chat-messages{background:#fafafa;background:var(--pf-bg,#fafafa);flex:1 1;overflow-y:auto;padding:20px 24px}.empty-chat{color:#6b7280;color:var(--pf-text-secondary,#6b7280);padding:60px 20px;text-align:center}.empty-icon{font-size:40px;margin-bottom:16px;opacity:.6}.empty-chat h3{color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:16px;font-weight:600;margin:0 0 8px}.empty-chat>p{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:13px;line-height:1.5;margin:0 auto;max-width:480px}.message{display:flex;gap:12px;margin-bottom:20px}.message-avatar{align-items:center;background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;width:36px}.message.user .message-avatar{background:#6b21a8;background:var(--pf-purple,#6b21a8);border-color:#6b21a8;border-color:var(--pf-purple,#6b21a8)}.message.error .message-avatar{background:#fef2f2;border-color:#fecaca}.message-content{flex:1 1;min-width:0}.message-text{background:#fff;background:var(--pf-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:12px;color:#1f2937;color:var(--pf-text,#1f2937);font-size:14px;line-height:1.6;padding:14px 18px;white-space:pre-wrap}.message-text p{margin:0 0 8px}.message-text p:last-child{margin-bottom:0}.message-text ol,.message-text ul{margin:4px 0 8px;padding-left:20px}.message-text li{margin-bottom:4px}.message-text code{background:#6b21a814;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:13px;padding:2px 6px}.message-text pre{background:#1f2937;border-radius:8px;color:#e5e7eb;margin:8px 0;overflow-x:auto;padding:12px 16px}.message-text pre code{background:none;color:inherit;padding:0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{color:#1f2937;color:var(--pf-text,#1f2937);font-weight:600;margin:12px 0 6px}.message-text h1{font-size:18px}.message-text h2{font-size:16px}.message-text h3{font-size:15px}.message-text h4{font-size:14px}.message-text blockquote{border-left:3px solid #a78bfa;border-left:3px solid var(--pf-purple-border,#a78bfa);color:#6b7280;color:var(--pf-text-secondary,#6b7280);margin:8px 0;padding:4px 12px}.message-text strong{font-weight:600}.message-text table{border-collapse:collapse;font-size:13px;margin:8px 0;width:100%}.message-text td,.message-text th{border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);padding:6px 10px;text-align:left}.message-text th{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);font-weight:600}.message.user .message-text{background:#6b21a8;background:var(--pf-purple,#6b21a8);border-color:#6b21a8;border-color:var(--pf-purple,#6b21a8);color:#fff}.message.user .message-text code{background:#ffffff26;color:#fff}.message.user .message-text strong{color:#fff}.message.error .message-text{background:#fef2f2;border-color:#fecaca;color:#dc2626}.message.loading .message-content{background:#fff;background:var(--pf-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:12px;padding:14px 18px}.typing-indicator{align-items:center;display:flex;gap:4px}.typing-indicator span{animation:typing 1.4s infinite;background:#a78bfa;background:var(--pf-purple-border,#a78bfa);border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.message-sources{margin-top:12px}.sources-toggle{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border:1px solid #a78bfa;border:1px solid var(--pf-purple-border,#a78bfa);border-radius:8px;color:#6b21a8;color:var(--pf-purple,#6b21a8);cursor:pointer;font-size:12px;font-weight:500;padding:8px 14px;transition:all .2s ease}.sources-toggle:hover{background:#6b21a8;background:var(--pf-purple,#6b21a8);border-color:#6b21a8;border-color:var(--pf-purple,#6b21a8);color:#fff}.sources-details{background:#fff;background:var(--pf-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;margin-top:12px;padding:16px}.sources-section{margin-bottom:16px}.sources-section:last-child{margin-bottom:0}.sources-section h4{color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:13px;font-weight:600;margin:0 0 10px}.source-item{background:#fafafa;background:var(--pf-bg,#fafafa);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;margin-bottom:8px;padding:12px}.source-item:last-child{margin-bottom:0}.source-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.source-name{color:#1f2937;color:var(--pf-text,#1f2937);font-size:13px;font-weight:600}.source-concepts,.source-page,.source-similarity{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-radius:4px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:11px;padding:3px 8px}.source-text{color:#1f2937;color:var(--pf-text,#1f2937);font-size:13px;line-height:1.5;margin:0}.entities-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.entity-item{padding:12px}.entity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.entity-label{color:var(--pf-text,#1f2937);font-weight:600}.entity-type{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-radius:4px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:10px;font-weight:500;padding:3px 8px;text-transform:uppercase}.entity-description{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:12px;line-height:1.4;margin:0 0 6px}.entity-rels{color:#7c3aed;color:var(--pf-purple-light,#7c3aed);font-size:11px}.relations-list{display:flex;flex-direction:column;gap:6px}.relation-item{align-items:center;background:#fafafa;background:var(--pf-bg,#fafafa);border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;padding:10px 12px}.rel-source,.rel-target{color:#1f2937;color:var(--pf-text,#1f2937);font-weight:500}.rel-predicate{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);color:#6b21a8;color:var(--pf-purple,#6b21a8);padding:3px 8px}.documents-list{display:flex;flex-direction:column;gap:6px}.document-item{padding:10px 12px}.document-item .source-header{align-items:center;display:flex;gap:8px}.doc-type-badge{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-radius:4px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.doc-entity-count{color:#6b7280;color:var(--pf-text-secondary,#6b7280);display:block;font-size:11px;margin-top:4px}.query-details{border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;margin-top:8px;overflow:hidden}.query-details summary{background:#fafafa;background:var(--pf-bg,#fafafa);color:#6b21a8;color:var(--pf-purple,#6b21a8);cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;-webkit-user-select:none;user-select:none}.query-details summary:hover{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe)}.query-details pre{background:#1e1e2e;color:#cdd6f4;font-size:11px;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.sources-metadata{border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border,#e5e7eb);color:#6b7280;color:var(--pf-text-secondary,#6b7280);display:flex;flex-wrap:wrap;font-size:11px;gap:10px;margin-top:12px;padding-top:12px}.search-mode-badge{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-radius:4px;color:#6b21a8;color:var(--pf-purple,#6b21a8);font-weight:600;padding:4px 10px}.chat-input-form{border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border,#e5e7eb);display:flex;gap:10px;padding:16px 24px}.chat-input-form,.chat-input-form input{background:#fff;background:var(--pf-white,#fff)}.chat-input-form input{border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;color:#1f2937;color:var(--pf-text,#1f2937);flex:1 1;font-size:13px;padding:12px 16px;transition:all .2s ease}.chat-input-form input:focus{border-color:#a78bfa;border-color:var(--pf-purple-border,#a78bfa);box-shadow:0 0 0 3px #6b21a81a;outline:none}.chat-input-form input:disabled{background:#fafafa;background:var(--pf-bg,#fafafa);opacity:.7}.chat-input-form button{background:#6b21a8;background:var(--pf-purple,#6b21a8);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:12px 24px;transition:all .2s ease}.chat-input-form button:hover:not(:disabled){background:#7c3aed;background:var(--pf-purple-light,#7c3aed)}.chat-input-form button:disabled{cursor:not-allowed;opacity:.5}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#fafafa;background:var(--pf-bg,#fafafa);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#a78bfa;background:var(--pf-purple-border,#a78bfa);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#6b21a8;background:var(--pf-purple,#6b21a8)}@media (max-width:768px){.chat-header{padding:16px}.chat-header h2{font-size:18px}.search-mode-buttons{flex-direction:column}.search-mode-btn{justify-content:center;width:100%}.message{gap:10px}.message-avatar{font-size:14px;height:32px;width:32px}.message-text{font-size:13px;padding:12px 14px}.chat-input-form{flex-direction:column}.chat-input-form button{width:100%}.compare-container,.entities-grid{grid-template-columns:1fr}.compare-divider{height:1px;margin:0 8px;width:100%}}.compare-container{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr auto 1fr;width:100%}.compare-panel{min-width:0;overflow:hidden;padding:14px 16px}.compare-panel .message-text{background:#0000;border:none;padding:8px 0}.compare-panel-header{background:#f3f4f6;background:var(--pf-bg,#f3f4f6);border-radius:6px;font-size:.85rem;font-weight:600;margin-bottom:8px;padding:6px 10px;text-align:center}.compare-divider{background:#e5e7eb;background:var(--pf-border,#e5e7eb);margin:8px 0;width:1px}.compare-sources,.compare-sparql summary{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:.8rem;margin-top:8px}.compare-sparql summary{cursor:pointer}.compare-sparql pre{background:#f3f4f6;background:var(--pf-bg,#f3f4f6);border-radius:4px;font-size:.75rem;max-height:200px;overflow-x:auto;padding:8px}.library-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.library-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:80vh;max-width:800px;overflow:hidden;width:90%}.library-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.library-header h2{color:#333;margin:0}.close-btn{color:#666;height:30px;width:30px}.close-btn:hover{background:#e9ecef}.library-content{max-height:60vh;overflow-y:auto;padding:20px}.library-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.library-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .2s}.library-card:hover{box-shadow:0 2px 8px #0000001a}.library-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.library-card-header h3{color:#333;font-size:16px;margin:0}.version-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;padding:2px 8px}.library-description{color:#666;font-size:14px;line-height:1.4;margin:8px 0 16px}.library-card-footer{align-items:center;display:flex;justify-content:space-between}.scope-badge.global{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.copy-btn{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.copy-btn:hover{background:#1565c0}.empty-library,.loading{align-items:center;color:#666;display:flex;justify-content:center}.empty-library{font-style:italic;padding:40px}.copy-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.copy-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.copy-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px 16px}.copy-modal-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.copy-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.copy-modal-close:hover{background:#f3f4f6;color:#374151}.copy-modal-content{padding:24px}.copy-source-info{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.copy-source-icon{flex-shrink:0;font-size:24px}.copy-source-name{color:#1e293b;font-weight:600;margin-bottom:4px}.copy-source-description{color:#64748b;font-size:14px;line-height:1.4}.copy-form-group{margin-bottom:20px}.copy-form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.copy-form-input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.copy-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.copy-form-help{color:#6b7280;font-size:12px;line-height:1.4;margin-top:6px}.copy-suggestion-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:12px;margin-left:8px;padding:0;text-decoration:underline}.copy-suggestion-btn:hover{color:#2563eb}.copy-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:20px;padding:12px}.copy-modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.copy-btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.copy-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.copy-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.copy-btn-primary:hover:not(:disabled){background:#2563eb}.copy-btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.versioning-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.versioning-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}.versioning-modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.versioning-modal-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.close-btn:hover{background:#f3f4f6;color:#374151}.versioning-tabs{background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex}.versioning-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.versioning-tabs button:hover{background:#f3f4f6;color:#374151}.versioning-tabs button.active{background:#fff;border-bottom-color:#3b82f6;color:#3b82f6}.versioning-content{flex:1 1;overflow-y:auto;padding:24px}.loading{color:#6b7280;padding:40px;text-align:center}.version-history{display:flex;flex-direction:column;gap:20px}.create-version-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:12px;padding:16px}.create-version-form input,.create-version-form select{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:8px 12px}.create-version-form input:first-child{flex:2 1}.create-version-form button{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;white-space:nowrap}.create-version-form button:hover{background:#2563eb}.versions-list{display:flex;flex-direction:column;gap:12px}.version-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px;transition:border-color .2s}.version-item:hover{border-color:#d1d5db}.version-item.current{background:#eff6ff;border-color:#3b82f6}.version-header{gap:12px}.version-id{background:#f3f4f6;border-radius:3px;color:#374151;font-family:Monaco,Menlo,monospace;font-size:13px;padding:2px 6px}.current-badge{background:#10b981;font-size:11px;font-weight:600}.current-badge,.version-branch{border-radius:3px;color:#fff;padding:2px 6px}.version-branch{background:#8b5cf6;font-size:12px}.version-description{color:#111827;font-weight:500;margin-bottom:4px}.version-stats{color:#6b7280;font-size:13px;margin-bottom:4px}.version-info{color:#9ca3af;font-size:12px}.version-actions{gap:8px;margin-top:12px}.version-actions button{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.version-actions button:hover{background:#f9fafb;border-color:#9ca3af}.rollback-btn{background:#fef2f2!important;border-color:#fecaca!important;color:#dc2626!important}.rollback-btn:hover{background:#fee2e2!important;border-color:#fca5a5!important}.branches-section{display:flex;flex-direction:column;gap:20px}.create-branch-form{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;display:flex;gap:12px;padding:16px}.create-branch-form input,.create-branch-form select{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:8px 12px}.create-branch-form button{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;white-space:nowrap}.create-branch-form button:hover{background:#059669}.branches-list{display:flex;flex-direction:column;gap:12px}.branch-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.branch-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.branch-name{color:#10b981;font-weight:600}.branch-version{background:#f3f4f6;border-radius:3px;color:#374151;font-family:Monaco,Menlo,monospace;font-size:13px;padding:2px 6px}.branch-meta{color:#6b7280;font-size:13px;margin-bottom:12px}.branch-actions button{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px}.branch-actions button:hover{background:#059669}.tags-section{display:flex;flex-direction:column;gap:20px}.create-tag-form{background:#fefce8;border:1px solid #fde047;border-radius:6px;display:flex;gap:12px;padding:16px}.create-tag-form input,.create-tag-form select{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:8px 12px}.create-tag-form button{background:#eab308;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;white-space:nowrap}.create-tag-form button:hover{background:#d97706}.tags-list{display:flex;flex-direction:column;gap:12px}.tag-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.tag-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.tag-name{color:#d97706;font-weight:600}.tag-version{background:#f3f4f6;border-radius:3px;color:#374151;font-family:Monaco,Menlo,monospace;font-size:13px;padding:2px 6px}.tag-description{color:#374151;font-size:14px;margin-bottom:4px}.tag-info{color:#9ca3af;font-size:12px}.compare-section{display:flex;flex-direction:column;gap:20px}.compare-form{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:12px;padding:16px}.compare-form select{border:1px solid #d1d5db;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.compare-form button{background:#8b5cf6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.compare-form button:hover:not(:disabled){background:#7c3aed}.compare-form button:disabled{background:#9ca3af;cursor:not-allowed}.enhanced-ontology-viewer{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.eov-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;justify-content:space-between;padding:24px}.eov-header,.eov-title-section{align-items:flex-start;display:flex}.eov-title-section{gap:16px}.eov-icon{align-items:center;background:#fff3;border-radius:8px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.eov-title-content h2{font-size:24px;font-weight:600;margin:0 0 8px}.eov-title-content p{font-size:14px;margin:0;max-width:400px;opacity:.9}.eov-actions{display:flex;gap:12px}.eov-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.eov-btn-primary{background:#fff;color:#667eea}.eov-btn-primary:hover{background:#f8f9ff;transform:translateY(-1px)}.eov-btn-secondary{background:#fff3;border:1px solid #ffffff4d;color:#fff}.eov-btn-secondary:hover{background:#ffffff4d;transform:translateY(-1px)}.eov-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:0 24px}.eov-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:16px 20px;transition:all .2s}.eov-tab:hover{background:#00000005;color:#495057}.eov-tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.eov-content{flex:1 1;overflow-y:auto;padding:24px}.eov-overview{display:flex;flex-direction:column;gap:24px}.eov-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.eov-stat-card{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:16px;padding:20px;transition:all .2s}.eov-stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.eov-stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.eov-stat-number{color:#212529;font-size:28px;font-weight:700;margin-bottom:4px}.eov-stat-label{color:#6c757d;font-size:14px;font-weight:500}.eov-description-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:24px}.eov-description-card h4{color:#212529;font-size:18px;font-weight:600;margin:0 0 16px}.eov-description-card p{color:#495057;line-height:1.6;margin:0 0 20px}.eov-metadata{display:flex;flex-direction:column;gap:12px}.eov-meta-item{align-items:center;display:flex;gap:12px}.eov-meta-label{color:#495057;font-weight:600;min-width:80px}.eov-meta-value{background:#f8f9fa;border-radius:4px;color:#6c757d;font-family:Monaco,Menlo,monospace;font-size:13px;padding:4px 8px}.eov-search-bar{margin-bottom:20px}.eov-search-input{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.eov-search-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.eov-classes{display:flex;flex-direction:column;gap:20px}.eov-classes-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.eov-class-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .2s}.eov-class-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.eov-class-card.expanded{background:#f8f9ff;border-color:#667eea;grid-row:span 2;min-height:auto}.eov-class-header{align-items:center;cursor:pointer;display:flex;gap:12px;margin-bottom:12px}.eov-expand-icon{color:#6c757d;font-size:12px;margin-left:auto;transition:transform .2s}.eov-class-card.expanded .eov-expand-icon{transform:rotate(0deg)}.eov-property-summary{margin:8px 0}.eov-property-counts{display:flex;flex-wrap:wrap;gap:8px}.eov-count-badge{align-items:center;background:#e9ecef;border-radius:12px;color:#495057;display:flex;font-size:11px;font-weight:500;gap:4px;padding:4px 8px}.eov-count-badge:first-child{background:#e3f2fd;color:#1976d2}.eov-count-badge:nth-child(2){background:#f3e5f5;color:#7b1fa2}.eov-class-properties{border-top:1px solid #e9ecef;margin-top:16px;padding-top:16px}.eov-class-properties h5{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.eov-class-properties .eov-property-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.eov-class-properties .eov-property-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:12px}.eov-class-properties .eov-property-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.eov-class-properties .eov-property-name{color:#495057;flex:1 1;font-weight:500}.eov-class-properties .eov-property-description{color:#6c757d;font-size:12px;margin-bottom:8px}.eov-class-properties .eov-property-relationship{align-items:center;display:flex;font-size:11px;gap:8px}.eov-class-properties .eov-domain,.eov-class-properties .eov-range{background:#f8f9fa;border-radius:3px;font-weight:500;padding:2px 6px}.eov-property-subtabs{background:#f8f9fa;border-radius:8px;display:flex;gap:4px;margin-bottom:20px;padding:4px}.eov-subtab{background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;text-align:center;transition:all .2s}.eov-subtab:hover{background:#0000000d;color:#495057}.eov-subtab.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:#667eea}.eov-cardinality{align-items:center;background:#e3f2fd;border-radius:6px;display:flex;font-size:12px;gap:8px;margin-top:8px;padding:6px 12px}.eov-cardinality-label{color:#1976d2;font-weight:600}.eov-cardinality-value{background:#fff;border-radius:3px;color:#1565c0;font-family:monospace;padding:2px 6px}.eov-property-details-inline{background:#fff;border-radius:6px;border-top:1px solid #e9ecef;margin-top:16px;padding:16px}.eov-class-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.eov-class-name{color:#212529;font-size:16px;font-weight:600}.eov-class-description{color:#6c757d;font-size:14px;line-height:1.5;margin-bottom:12px}.eov-class-meta{display:flex;flex-direction:column;gap:8px}.eov-class-parent{color:#667eea;font-size:12px;font-weight:500}.eov-class-uri{color:#adb5bd;font-size:11px}.eov-class-uri code{background:#f8f9fa;border-radius:3px;padding:2px 6px}.eov-properties{display:flex;flex-direction:column;gap:20px}.eov-properties-list{display:flex;flex-direction:column;gap:12px}.eov-property-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;padding:20px;transition:all .2s}.eov-property-card:hover{border-color:#667eea;box-shadow:0 2px 8px #0000001a}.eov-property-card.selected{background:#f8f9ff;border-color:#667eea}.eov-property-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.eov-property-icon{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border-radius:6px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.eov-property-name{color:#212529;flex:1 1;font-size:16px;font-weight:600}.eov-property-type-badge{background:#e9ecef;border-radius:4px;color:#495057;font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.eov-property-description{color:#6c757d;font-size:14px;line-height:1.5;margin-bottom:12px}.eov-property-relationship{align-items:center;display:flex;font-size:14px;gap:12px}.eov-domain,.eov-range{background:#f8f9fa;border-radius:6px;color:#495057;font-weight:500;padding:6px 12px}.eov-arrow{color:#6c757d;font-weight:700}.eov-class-details,.eov-property-details{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:24px}.eov-class-details h4,.eov-property-details h4{color:#212529;font-size:18px;font-weight:600;margin:0 0 16px}.eov-details-content{display:flex;flex-direction:column;gap:20px}.eov-details-section h5{color:#495057;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.eov-property-list{display:flex;flex-wrap:wrap;gap:8px}.eov-property-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.eov-property-name{color:#495057;font-weight:500}.eov-property-type{background:#667eea;border-radius:3px;color:#fff;font-size:10px;padding:2px 6px;text-transform:uppercase}.eov-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.eov-detail-item{display:flex;flex-direction:column;gap:4px}.eov-detail-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.eov-detail-value{color:#495057;font-size:14px}.eov-detail-value code{background:#f8f9fa;border-radius:4px;font-size:12px;padding:4px 8px}.eov-empty{color:#adb5bd;font-size:14px;font-style:italic}.eov-graph{align-items:center;display:flex;height:400px;justify-content:center}.eov-graph-placeholder{color:#6c757d;text-align:center}.eov-graph-icon{font-size:64px;margin-bottom:16px}.eov-graph-placeholder h4{color:#495057;font-size:20px;margin:0 0 8px}.eov-graph-placeholder p{font-size:14px;margin:0 0 20px}.eov-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;height:300px;justify-content:center}.eov-spinner{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-radius:50%;border-top-color:#667eea;height:32px;margin-bottom:16px;width:32px}.eov-ttl{height:100%;min-height:400px}.eov-ttl-content{background:#1e1e1e;border-radius:8px;color:#d4d4d4;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;margin:0;max-height:600px;overflow:auto;padding:16px;white-space:pre}@media (max-width:768px){.eov-header{align-items:flex-start;flex-direction:column;gap:16px}.eov-classes-grid,.eov-stats-grid{grid-template-columns:1fr}.eov-tabs{overflow-x:auto;padding:0 16px}.eov-content{padding:16px}}.enhanced-ontology-editor{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.eoe-header{align-items:flex-start;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;display:flex;justify-content:space-between;padding:24px}.eoe-title-section h2{font-size:24px;font-weight:600;margin:0 0 8px}.eoe-title-section p{font-size:14px;margin:0;opacity:.9}.eoe-actions{display:flex;gap:12px}.eoe-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.eoe-btn:disabled{cursor:not-allowed;opacity:.6}.eoe-btn-primary{background:#fff;color:#ff6b6b}.eoe-btn-primary:hover:not(:disabled){background:#f8f9ff;transform:translateY(-1px)}.eoe-btn-secondary{background:#fff3;border:1px solid #ffffff4d;color:#fff}.eoe-btn-secondary:hover{background:#ffffff4d;transform:translateY(-1px)}.eoe-changes-indicator{align-items:center;background:#fff3cd;border-bottom:1px solid #ffeaa7;color:#856404;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px}.eoe-changes-icon{color:#f39c12;font-size:12px}.eoe-checkbox-list{background:#fff;border:1px solid #ddd;border-radius:4px;max-height:150px;overflow-y:auto;padding:8px}.eoe-checkbox-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:6px 4px}.eoe-checkbox-item:hover{background:#f5f5f5}.eoe-checkbox-item input[type=checkbox]{cursor:pointer;height:16px;width:16px}.eoe-no-items{color:#888;font-size:13px;font-style:italic}.eoe-metadata-section{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:16px 24px}.eoe-metadata-section .eoe-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr}.eoe-metadata-section .eoe-form-group label{color:#495057;display:block;font-size:13px;font-weight:600;margin-bottom:4px}.eoe-metadata-section input{border:1px solid #dee2e6;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.eoe-metadata-section input:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.eoe-metadata-section input.error{border-color:#dc3545}.eoe-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:0 24px}.eoe-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:16px 20px;transition:all .2s}.eoe-tab:hover{background:#00000005;color:#495057}.eoe-tab.active{background:#fff;border-bottom-color:#ff6b6b;color:#ff6b6b}.eoe-content{overflow:hidden}.eoe-content,.eoe-editor-section{display:flex;flex:1 1;flex-direction:column}.eoe-editor-section{padding:24px}.eoe-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.eoe-section-header h3{color:#212529;font-size:20px;font-weight:600;margin:0}.eoe-search-bar{margin-bottom:20px}.eoe-search-input{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.eoe-search-input:focus{background:#fff;border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.eoe-editor-layout{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:1fr 400px;overflow:hidden}.eoe-items-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.eoe-item-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.eoe-item-card:hover{border-color:#ff6b6b;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.eoe-item-card.selected{background:#fff5f5;border-color:#ff6b6b}.eoe-item-card.new{background:#f8fff9;border-color:#28a745}.eoe-item-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.eoe-item-icon{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:6px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.eoe-item-name{color:#212529;flex:1 1;font-size:16px;font-weight:600}.eoe-new-badge{background:#28a745}.eoe-new-badge,.eoe-property-type-badge{border-radius:4px;color:#fff;font-size:10px;font-weight:500;padding:2px 8px;text-transform:uppercase}.eoe-property-type-badge{background:#6c757d}.eoe-delete-btn{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;font-size:14px;opacity:0;padding:4px;transition:all .2s}.eoe-item-card:hover .eoe-delete-btn{opacity:1}.eoe-delete-btn:hover{background:#f8d7da}.eoe-item-description{color:#6c757d;font-size:14px;line-height:1.5;margin-bottom:8px}.eoe-property-relationship{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:8px}.eoe-arrow{color:#adb5bd;font-weight:700}.eoe-details-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;overflow-y:auto;padding:24px}.eoe-details-panel h4{color:#212529;font-size:18px;font-weight:600;margin:0 0 20px}.eoe-form-group{margin-bottom:20px}.eoe-form-group label{color:#495057;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.eoe-form-group input,.eoe-form-group select,.eoe-form-group textarea{border:1px solid #ced4da;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.eoe-form-group input:focus,.eoe-form-group select:focus,.eoe-form-group textarea:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a;outline:none}.eoe-form-group input.error,.eoe-form-group select.error,.eoe-form-group textarea.error{border-color:#dc3545}.eoe-form-group select[multiple]{min-height:100px}.eoe-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.eoe-error{color:#dc3545;display:block;font-size:12px;margin-top:4px}.eoe-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;height:300px;justify-content:center}.eoe-spinner{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-radius:50%;border-top-color:#ff6b6b;height:32px;margin-bottom:16px;width:32px}@media (max-width:1024px){.eoe-editor-layout{grid-template-columns:1fr;grid-template-rows:1fr auto}.eoe-details-panel{max-height:400px}}@media (max-width:768px){.eoe-header{align-items:flex-start;flex-direction:column;gap:16px}.eoe-content,.eoe-editor-section{padding:16px}.eoe-form-row{grid-template-columns:1fr}}.sdr-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sdr-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1100px;width:95%}.sdr-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;padding:16px 24px}.sdr-header h2{flex-shrink:0;font-size:18px;margin:0}.sdr-steps{display:flex;flex:1 1;gap:8px;justify-content:center}.sdr-steps span{background:#f5f5f5;border-radius:20px;color:#888;font-size:13px;padding:6px 16px}.sdr-steps span.active{background:#1976d2;color:#fff}.sdr-close{background:none;border:none;color:#666;cursor:pointer;font-size:28px;line-height:1}.sdr-content{flex:1 1;overflow:auto;padding:24px}.sdr-step h3{color:#333;font-size:16px;margin:0 0 16px}.sdr-stats{color:#666;display:flex;gap:24px;margin-bottom:16px}.sdr-table-wrap{border:1px solid #e0e0e0;border-radius:8px;max-height:350px;overflow:auto}.sdr-table{border-collapse:collapse;font-size:13px;width:100%}.sdr-table td,.sdr-table th{border-bottom:1px solid #eee;padding:10px 12px;text-align:left;white-space:nowrap}.sdr-table th{background:#f8f9fa;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.sdr-table td{max-width:200px;overflow:hidden;text-overflow:ellipsis}.sdr-analysis-section{background:#f0f7ff;border:1px solid #1976d2;border-radius:8px;margin-bottom:20px;padding:20px}.sdr-analysis-section h4{color:#1976d2;margin:0 0 12px}.sdr-analyze-prompt{text-align:center}.sdr-btn-analyze{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:12px 24px}.sdr-suggested-schema{margin-top:12px}.sdr-schema-results{grid-gap:20px;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:16px}.sdr-schema-col h5{color:#333;font-size:13px;margin:0 0 8px}.sdr-schema-col ul{font-size:12px;margin:0;max-height:120px;overflow-y:auto;padding-left:16px}.sdr-no-results{color:#888;font-size:12px;font-style:italic;margin:0}.sdr-dataset-type{background:#e3f2fd;border-radius:4px;font-size:13px;margin-bottom:12px;padding:8px 12px}.sdr-column-details{font-size:12px;margin-bottom:12px}.sdr-column-details summary{color:#1976d2;cursor:pointer;font-weight:500}.sdr-column-details ul{margin:8px 0 0;max-height:150px;overflow-y:auto;padding-left:20px}.sdr-col-reason{color:#666;font-size:11px}.sdr-btn-secondary{background:#f5f5f5!important;border:1px solid #ccc!important;color:#333!important}.sdr-create-ontology{align-items:center;border-top:1px solid #ccc;display:flex;gap:12px;padding-top:12px}.sdr-create-ontology input{border:1px solid #ccc;border-radius:4px;flex:1 1;padding:8px 12px}.sdr-create-ontology button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;white-space:nowrap}.sdr-divider{color:#888;font-size:13px;margin:20px 0;text-align:center}.sdr-preview-triples{background:#f8f9fa;border-radius:8px;margin:16px 0;overflow-x:auto;padding:16px}.sdr-triples-table{border-collapse:collapse;font-family:monospace;font-size:13px;width:100%}.sdr-triples-table td,.sdr-triples-table th{border:1px solid #ddd;padding:8px 12px;text-align:left}.sdr-triples-table th{background:#e9ecef}.sdr-preview-stats{background:#fff3cd;border-radius:8px;padding:16px}.sdr-preview-stats ul{margin:8px 0 0 20px}.sdr-ontology-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.sdr-ontology-card{border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:20px;transition:all .2s}.sdr-ontology-card:hover{background:#f8f9ff;border-color:#1976d2}.sdr-ontology-card.selected{background:#e3f2fd;border-color:#1976d2}.sdr-ont-icon{font-size:32px;margin-bottom:8px}.sdr-ont-name{font-weight:600;margin-bottom:4px}.sdr-ont-desc{color:#666;font-size:12px}.sdr-primary-class{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.sdr-primary-class label{font-weight:600}.sdr-primary-class select{border:1px solid #ccc;border-radius:6px;min-width:200px;padding:8px 12px}.sdr-hint{color:#666;font-size:12px}.sdr-mapping-table{border-collapse:collapse;font-size:13px;width:100%}.sdr-mapping-table td,.sdr-mapping-table th{border:1px solid #e0e0e0;padding:12px;text-align:left}.sdr-mapping-table th{background:#f8f9fa;font-weight:600}.sdr-mapping-table tr.ignored{background:#fafafa;opacity:.5}.sdr-mapping-table select{border:1px solid #ccc;border-radius:4px;padding:6px 8px;width:100%}.sdr-sample{color:#666;font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.sdr-no-ontology{background:#f8f9fa;border-radius:8px;padding:40px;text-align:center}.sdr-no-ontology code{background:#e0e0e0;border-radius:4px;padding:2px 6px}.sdr-summary{background:#f8f9fa;border-radius:8px;padding:20px}.sdr-summary-item{border-bottom:1px solid #e0e0e0;display:flex;padding:10px 0}.sdr-summary-item:last-child{border-bottom:none}.sdr-summary-item .label{color:#666;font-weight:600;width:150px}.sdr-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-top:20px;padding:16px}.sdr-footer{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.sdr-nav{display:flex;gap:12px}.sdr-btn-cancel{background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;padding:10px 20px}.sdr-btn-back,.sdr-btn-next{border:none;border-radius:6px;cursor:pointer;padding:10px 24px}.sdr-btn-back{background:#f5f5f5;color:#333}.sdr-btn-next{background:#1976d2;color:#fff}.sdr-btn-commit{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 28px}.sdr-btn-commit:disabled{background:#ccc}.sdr-error,.sdr-loading{font-size:16px;padding:60px;text-align:center}.sdr-text-preview{background:#f9f9f9;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.sdr-text-preview h4{color:#666;font-size:14px;margin:0 0 12px}.sdr-chunk-preview{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:12px;padding:12px}.sdr-chunk-preview strong{color:#666;display:block;font-size:12px;margin-bottom:8px}.sdr-chunk-preview p{color:#333;font-size:13px;line-height:1.5;margin:0;white-space:pre-wrap}.sdr-step-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.sdr-step-header h3{margin:0}.sdr-help-btn{background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;color:#1565c0;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px}.sdr-help-btn:hover{background:#bbdefb}.sdr-mapping-hint{background:#fff3e0;border:1px solid #ffcc80;border-radius:6px;color:#e65100;font-size:13px;margin-bottom:16px;padding:10px 14px}.th-hint{color:#888;display:block;font-size:10px;font-weight:400}.sdr-help-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.sdr-help-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:90%}.sdr-help-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.sdr-help-header h3{font-size:18px;margin:0}.sdr-help-header button{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0}.sdr-help-content{overflow-y:auto;padding:24px}.sdr-help-content section{margin-bottom:28px}.sdr-help-content section:last-child{margin-bottom:0}.sdr-help-content h4{border-bottom:2px solid #e3f2fd;color:#1976d2;font-size:16px;margin:0 0 12px;padding-bottom:8px}.sdr-help-content p{color:#555;font-size:14px;margin:0 0 12px}.sdr-help-table{border-collapse:collapse;font-size:13px;width:100%}.sdr-help-table td,.sdr-help-table th{border:1px solid #e0e0e0;padding:10px 12px;text-align:left}.sdr-help-table th{background:#f5f5f5;font-weight:600}.sdr-help-table code{background:#f5f5f5;border-radius:4px;font-size:12px;padding:2px 6px}.sdr-help-ref td.literal{background:#e8f5e9;color:#2e7d32;font-weight:500}.sdr-help-ref td.linked{background:#e3f2fd;color:#1565c0;font-weight:500}.sdr-help-examples{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.sdr-help-example{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:12px}.sdr-help-example h5{color:#333;font-size:13px;margin:0 0 10px}.sdr-help-example pre{background:#263238;border-radius:6px;color:#aed581;font-size:11px;line-height:1.5;margin:0;overflow-x:auto;padding:10px;white-space:pre-wrap}.sdr-add-btn,.sdr-add-btn-sm{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700}.sdr-add-btn{margin-left:8px;padding:6px 12px}.sdr-add-btn-sm{font-size:12px;margin-left:4px;padding:2px 8px}.sdr-add-btn-sm:hover,.sdr-add-btn:hover{background:#45a049}.sdr-select-with-add{align-items:center;display:flex}.sdr-select-with-add select{flex:1 1}.sdr-inline-add{background:#f0f8ff;border-radius:4px;display:flex;gap:4px;margin-top:4px;padding:4px}.sdr-inline-add input{flex:1 1;font-size:12px;padding:4px}.sdr-inline-add button{font-size:12px;padding:4px 8px}.sdr-inline-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;left:50%;min-width:300px;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}.sdr-inline-modal h4{margin:0 0 12px}.sdr-inline-modal input{margin-bottom:12px;padding:8px;width:100%}.sdr-inline-modal-btns{display:flex;gap:8px;justify-content:flex-end}.sdr-custom-additions{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;display:flex;gap:12px;margin-bottom:12px;padding:8px 12px}.sdr-custom-additions button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:4px 12px}.sdr-custom-warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:16px 0;padding:16px}.sdr-custom-warning-box ul{margin:8px 0;padding-left:20px}.sdr-custom-warning-box button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:8px;padding:8px 16px}.sdr-save-ontology-modal{max-width:450px}.sdr-save-options{margin:16px 0}.sdr-save-options label{border:2px solid #ddd;border-radius:8px;cursor:pointer;display:block;margin:8px 0;padding:12px}.sdr-save-options label.selected{background:#f0f7ff;border-color:#007bff}.sdr-save-options label strong{display:block}.sdr-save-options label span{color:#666;font-size:12px}.sdr-save-options input[type=radio]{margin-right:8px}.sdr-new-ontology-name{margin:16px 0}.sdr-new-ontology-name label{display:block;font-weight:500;margin-bottom:4px}.sdr-new-ontology-name input{border:1px solid #ddd;border-radius:4px;padding:8px;width:100%}.sdr-modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.sdr-modal-footer button{border-radius:4px;cursor:pointer;padding:8px 16px}.sdr-btn-primary{background:#007bff;border:none;color:#fff}.sdr-concept-tooltip{cursor:help;position:relative}.sdr-tooltip-icon{color:#007bff;font-size:12px;margin-left:4px}.sdr-tooltip-popup{background:#1a1a2e;border-radius:8px;bottom:100%;box-shadow:0 4px 20px #0000004d;color:#fff;font-size:13px;left:50%;padding:12px 16px;position:absolute;transform:translateX(-50%);width:280px;z-index:1002}.sdr-tooltip-popup strong{color:#4fc3f7;display:block;margin-bottom:6px}.sdr-tooltip-popup p{line-height:1.4;margin:4px 0}.sdr-tooltip-detail{color:#aaa;font-size:12px}.sdr-tooltip-popup code{background:#263238;border-radius:4px;color:#aed581;display:block;font-size:11px;margin-top:8px;padding:6px 8px}.sdr-concept-banner{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:8px;display:flex;gap:24px;margin-bottom:16px;padding:12px 16px}.sdr-concept-item{display:flex;flex-direction:column;gap:2px}.sdr-concept-item strong{font-size:13px}.sdr-concept-item span{color:#666;font-size:11px}.sdr-ai-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 6px}.sdr-ai-cell{text-align:center;width:50px}.sdr-ai-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:4px 8px;transition:all .2s}.sdr-ai-btn:hover{background:#e3f2fd;border-color:#2196f3}.sdr-ai-btn.has-suggestion{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50}.sdr-loading-sm{animation:spin 1s linear infinite;display:inline-block}.sdr-suggestions-panel{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-top:16px;padding:12px}.sdr-suggestions-panel h4{font-size:14px;margin:0 0 12px}.sdr-suggestion-item{border-bottom:1px solid #e0e0e0;font-size:13px;padding:8px 0}.sdr-suggestion-item:last-child{border-bottom:none}.sdr-query-example{background:#263238;border-radius:4px;color:#aed581;display:block;font-size:11px;margin-top:4px;padding:6px 8px}.sdr-step-mapping{display:flex;flex-direction:column}.sdr-mapping-layout{display:flex;gap:20px}.sdr-mapping-main{flex:1 1;min-width:0}.sdr-preview-panel{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;flex-shrink:0;max-height:500px;overflow-y:auto;padding:16px;width:320px}.sdr-preview-panel h4{font-size:15px;margin:0 0 4px}.sdr-preview-subtitle{color:#666;font-size:12px;margin:0 0 16px}.sdr-preview-section{border-bottom:1px solid #e0e0e0;margin-bottom:16px;padding-bottom:16px}.sdr-preview-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sdr-preview-section h5{color:#333;font-size:13px}.sdr-preview-explain{color:#666;font-size:11px;margin:0 0 8px}.sdr-preview-triples-mini{background:#263238;border-radius:6px;font-family:monospace;font-size:10px;padding:8px}.sdr-triple-row{color:#e0e0e0;display:flex;gap:8px;padding:3px 0}.sdr-triple-s{color:#4fc3f7}.sdr-triple-p{color:#aed581}.sdr-triple-o{color:#ffcc80}.sdr-triple-more{color:#888;font-style:italic;padding-top:4px}.sdr-query-examples{font-size:12px}.sdr-query-example-item{margin-bottom:10px}.sdr-query-example-item strong{color:#666;display:block;font-size:11px;margin-bottom:2px}.sdr-query-example-item code{background:#263238;border-radius:4px;color:#aed581;display:block;font-size:10px;overflow-x:auto;padding:6px 8px}.sdr-query-note{color:#888;display:block;font-size:10px;margin-top:2px}.sdr-preview-stats{font-size:12px;list-style:none;margin:0;padding:0}.sdr-preview-stats li{padding:4px 0}.sdr-preview-stats strong{color:#1976d2}.sdr-step-actions{display:flex;gap:8px}.sdr-preview-toggle{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px}.sdr-preview-toggle:hover{background:#e0e0e0}.sdr-hint-literal{background:#e8f5e9;border-radius:3px;color:#2e7d32;padding:2px 6px}.sdr-hint-linked{background:#e3f2fd;border-radius:3px;color:#1565c0;padding:2px 6px}.sdr-primary-explanation{background:#f3e5f5;border-radius:6px;color:#6a1b9a;font-size:12px;margin-top:8px;padding:8px 12px}@media (max-width:900px){.sdr-mapping-layout{flex-direction:column}.sdr-preview-panel{max-height:300px;width:100%}}.sdr-hint-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:12px;padding:12px 16px}.sdr-hint-list{margin:8px 0;padding-left:20px}.sdr-hint-list li{font-size:13px;margin:4px 0}.sdr-hint-note{background:#fff3e0;border-left:3px solid #ff9800;border-radius:0 4px 4px 0;font-size:12px;margin-top:8px;padding:8px 12px}.sdr-ai-actions{align-items:center;display:flex;gap:12px;margin-top:8px}.sdr-btn-apply-all{background:linear-gradient(135deg,#7c4dff,#536dfe);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.sdr-btn-apply-all:hover{box-shadow:0 4px 12px #7c4dff4d;transform:translateY(-1px)}.sdr-ai-hint{color:#666;font-size:12px}.sdr-badge-node{background:#e3f2fd;color:#1565c0}.sdr-badge-node,.sdr-badge-rel{border-radius:3px;font-size:11px;margin-left:4px;padding:2px 6px}.sdr-badge-rel{background:#f3e5f5;color:#7b1fa2}.sdr-badge-prop{background:#e8f5e9;border-radius:3px;color:#2e7d32;font-size:11px;margin-left:4px;padding:2px 6px}.sdr-schema-results{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media (max-width:800px){.sdr-schema-results{grid-template-columns:1fr}}.sdr-mapping-ai-section{align-items:center;background:linear-gradient(135deg,#e8f5e9,#f3e5f5);border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.sdr-btn-analyze-mapping{background:linear-gradient(135deg,#4caf50,#8bc34a);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.sdr-btn-analyze-mapping:hover:not(:disabled){box-shadow:0 4px 12px #4caf504d;transform:translateY(-1px)}.sdr-btn-analyze-mapping:disabled{cursor:not-allowed;opacity:.6}.sdr-mapping-ai-hint{color:#666;font-size:12px;font-style:italic}.sdr-extraction-info{background:#dcfce7;border:1px solid #86efac;border-radius:6px;margin-bottom:16px;padding:12px}.sdr-extraction-warning{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;margin-bottom:16px;padding:12px}.sdr-extraction-preview{margin-bottom:16px}.sdr-chunk-samples{background:#fafafa;border:1px solid #e5e5e5;border-radius:6px;max-height:200px;overflow-y:auto;padding:12px}.sdr-chunk-sample{border-bottom:1px solid #e5e5e5;margin-bottom:12px;padding-bottom:12px}.sdr-chunk-sample:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sdr-chunk-sample p{color:#666;font-size:13px;margin:4px 0 0}.sdr-extraction-action{padding:20px;text-align:center}.sdr-btn-extract{background:#8b5cf6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px}.sdr-btn-extract:hover{background:#7c3aed}.sdr-btn-extract:disabled{background:#c4b5fd;cursor:not-allowed}.sdr-extracted-summary{display:flex;font-size:14px;gap:16px;margin-bottom:16px}.sdr-extracted-summary span{background:#f3f4f6;border-radius:20px;padding:8px 16px}.sdr-extracted-entities,.sdr-extracted-relationships{margin-bottom:16px}.sdr-entity-type{background:#dbeafe;border-radius:4px;color:#1e40af;font-size:12px;padding:2px 8px}.sdr-evidence{color:#666;font-size:12px;font-style:italic}.sdr-no-extraction{color:#666;padding:40px;text-align:center}.sdr-ont-version{color:#666;font-size:10px;margin-top:4px}.sdr-selected-ontology{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:12px}.sdr-selected-header{align-items:center;display:flex;justify-content:space-between}.sdr-btn-preview{background:#0000;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 12px}.sdr-btn-preview:hover{background:#f1f5f9}.sdr-ontology-preview{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:12px}.sdr-preview-section h5{color:#64748b;font-size:12px;margin:0 0 8px}.sdr-preview-list{display:flex;flex-wrap:wrap;gap:4px}.sdr-preview-tag{border-radius:4px;font-size:11px;padding:2px 8px}.sdr-preview-tag.class{background:#dbeafe;color:#1e40af}.sdr-preview-tag.prop{background:#dcfce7;color:#166534}.sdr-preview-tag.rel{background:#fef3c7;color:#92400e}.sdr-more{color:#64748b;font-size:11px;padding:2px 8px}.sdr-ontology-section{margin-bottom:20px}.sdr-ontology-section h4{color:#374151;font-size:14px;margin:0 0 12px}.sdr-ontology-section h4 .sdr-hint{color:#9ca3af;font-size:12px;font-weight:400}.sdr-ontology-card.global{border-style:dashed;opacity:.9}.sdr-btn-copy{background:#2563eb;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;margin-top:8px;padding:4px 10px}.sdr-btn-copy:hover{background:#1d4ed8}.sdr-empty-hint{color:#9ca3af;font-size:13px;padding:20px;text-align:center}.sdr-sheet-selector{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}.sdr-sheet-chips{display:flex;flex-wrap:wrap;gap:6px}.sdr-sheet-chip{align-items:center;background:#fff;background:var(--pf-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:16px;cursor:pointer;display:inline-flex;font-size:.82rem;gap:4px;padding:4px 10px;transition:all .15s}.sdr-sheet-chip.selected{background:#ede9fe;background:var(--pf-purple-lighter,#ede9fe);border-color:#6b21a8;border-color:var(--pf-purple,#6b21a8)}.sdr-sheet-chip input[type=checkbox]{accent-color:#6b21a8;accent-color:var(--pf-purple,#6b21a8);margin:0}.sdr-sheet-chip small{color:#6b7280;color:var(--pf-text-secondary,#6b7280)}.sdr-sheet-class-map{background:#f0f7ff;border:1px solid #c8ddf5;border-radius:8px;margin:10px 0;padding:12px 16px}.sdr-sheet-class-map h4{color:#1a5276;font-size:13px;margin:0 0 8px}.sdr-sheet-class-grid{display:flex;flex-wrap:wrap;gap:6px}.sdr-sheet-class-row{align-items:center;background:#fff;border:1px solid #dce8f5;border-radius:6px;display:flex;font-size:12px;gap:6px;padding:5px 10px}.sdr-sheet-name{color:#2c3e50;font-weight:600}.sdr-sheet-arrow{color:#7f8c8d}.sdr-sheet-class{color:#2980b9;font-weight:600}.sdr-sheet-meta{color:#95a5a6;font-size:11px;margin-left:4px}.er-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.er-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:1000px;width:95%}.er-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;padding:16px 24px}.er-header h2{font-size:18px;margin:0}.er-stats{color:#666;display:flex;flex:1 1;font-size:14px;gap:16px}.er-close{background:none;border:none;color:#666;cursor:pointer;font-size:28px}.er-error{background:#ffebee;color:#c62828;font-size:14px;padding:12px 24px}.er-tabs{border-bottom:1px solid #e0e0e0;display:flex;gap:4px;padding:12px 24px}.er-tabs button{background:#f5f5f5;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:14px;padding:8px 20px}.er-tabs button.active{background:#1976d2;color:#fff}.er-content{flex:1 1;overflow:auto;padding:16px 24px}.er-table-wrap{border:1px solid #e0e0e0;border-radius:8px;max-height:400px;overflow:auto}.er-table{border-collapse:collapse;font-size:13px;width:100%}.er-table td,.er-table th{border-bottom:1px solid #eee;padding:10px 12px;text-align:left}.er-table th{background:#f9f9f9;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.er-table td span{cursor:pointer}.er-table td span:hover{background:#e3f2fd;border-radius:3px;padding:2px 4px}.er-table input{border:1px solid #1976d2;border-radius:4px;font-size:13px;padding:4px 8px;width:100%}.er-table select{border:1px solid #ddd;border-radius:4px;font-size:13px;min-width:120px;padding:4px 8px}.er-predicate{background:#e8f5e9;border-radius:4px;font-family:monospace;font-size:12px;padding:2px 8px}.er-confidence{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px}.er-confidence.high{background:#c8e6c9;color:#2e7d32}.er-confidence.medium{background:#fff3e0;color:#ef6c00}.er-confidence.low{background:#ffcdd2;color:#c62828}.er-btn-delete{background:none;border:none;cursor:pointer;font-size:16px;opacity:.6}.er-btn-delete:hover{opacity:1}.er-empty{color:#999;padding:40px;text-align:center}.er-loading{color:#666;padding:60px;text-align:center}.er-footer{background:#fafafa;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.er-footer-right{display:flex;gap:12px}.er-btn-discard{border:1px solid #f44336;border-radius:6px;color:#f44336}.er-btn-cancel,.er-btn-discard{background:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.er-btn-cancel{border:1px solid #ddd;border-radius:6px}.er-btn-commit{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.er-btn-commit:disabled{background:#ccc;cursor:not-allowed}.ob-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ob-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:95%}.ob-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:20px;padding:16px 24px}.ob-header h2{flex-shrink:0;font-size:18px;margin:0}.ob-steps{display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:center}.ob-steps span{background:#f5f5f5;border-radius:16px;color:#888;font-size:12px;padding:4px 12px;white-space:nowrap}.ob-steps span.active{background:#1976d2;color:#fff}.ob-steps span.done{background:#c8e6c9;color:#2e7d32}.ob-close{background:none;border:none;color:#666;cursor:pointer;font-size:28px}.ob-error{background:#ffebee;color:#c62828;font-size:14px;padding:12px 24px}.ob-content{flex:1 1;overflow:auto;padding:24px}.ob-step h3{font-size:16px;margin:0 0 8px}.ob-hint{color:#666;font-size:13px;margin:0 0 20px}.ob-field{margin-bottom:16px}.ob-field label{color:#333;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.ob-field input,.ob-field select,.ob-field textarea{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.ob-field textarea{resize:vertical}.ob-add-row{display:flex;gap:8px;margin-bottom:16px}.ob-add-row input,.ob-add-row select{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:13px;padding:8px 12px}.ob-add-row button{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.ob-list{border:1px solid #e0e0e0;border-radius:8px;max-height:250px;overflow:auto}.ob-item{align-items:center;border-bottom:1px solid #eee;display:flex;gap:12px;padding:10px 12px}.ob-item:last-child{border-bottom:none}.ob-item-name{font-weight:500}.ob-item-desc{color:#666;flex:1 1;font-size:12px}.ob-item-type{background:#e3f2fd;border-radius:4px;color:#1565c0;font-size:11px;padding:2px 8px}.ob-item-domain{color:#666;font-size:12px}.ob-item button{background:none;border:none;color:#999;cursor:pointer;font-size:18px;padding:0 4px}.ob-item button:hover{color:#f44336}.ob-rel-item{justify-content:flex-start}.ob-rel-name{background:#e8f5e9;border-radius:4px;font-family:monospace;font-size:12px;margin:0 8px;padding:2px 10px}.ob-empty{color:#999;font-size:13px;padding:30px;text-align:center}.ob-review{background:#f9f9f9;border-radius:8px;padding:16px}.ob-review-section{margin-bottom:16px}.ob-review-section:last-child{margin-bottom:0}.ob-review-section h4{color:#333;font-size:14px;margin:0 0 8px}.ob-review-section p{color:#666;font-size:13px;margin:0 0 8px}.ob-review-list{display:flex;flex-wrap:wrap;gap:6px}.ob-tag{background:#e3f2fd;border-radius:4px;color:#1565c0;font-size:12px;padding:4px 10px}.ob-footer{background:#fafafa;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 24px}.ob-footer-right{display:flex;gap:12px}.ob-btn-back,.ob-btn-cancel{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px}.ob-btn-back:disabled{cursor:not-allowed;opacity:.5}.ob-btn-next,.ob-btn-save{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.ob-btn-save{background:#4caf50}.ob-btn-next:disabled,.ob-btn-save:disabled{background:#ccc;cursor:not-allowed}:root{--pf-purple-bg:#f5f3ff;--pf-border-light:#f3f4f6;--pf-text-muted:#9ca3af;--pf-bg:#fff;--pf-bg-subtle:#f9fafb;--pf-success:#059669;--pf-success-bg:#ecfdf5;--pf-warning:#d97706;--pf-warning-bg:#fffbeb;--pf-danger:#dc2626;--pf-danger-bg:#fef2f2}.file-manager{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:10px;box-shadow:0 1px 3px #0000000f;flex-direction:column;height:calc(100vh - 120px);overflow:hidden}.file-manager,.fm-header{background:#fff;background:var(--pf-bg);display:flex}.fm-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);justify-content:space-between;padding:16px 20px}.fm-header h2{color:#1f2937;color:var(--pf-text);font-size:17px;font-weight:600;margin:0}.fm-actions{align-items:center;display:flex;gap:8px}.btn-icon{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:13px;padding:7px 12px;transition:all .15s}.btn-icon:hover{background:#f9fafb;background:var(--pf-bg-subtle);border-color:#d1d5db}.btn-primary{align-items:center;background:#6b21a8;background:var(--pf-purple);border-radius:6px;display:flex;font-size:12px;gap:6px;padding:7px 14px;transition:background .15s}.btn-primary:hover{background:#7c3aed;background:var(--pf-purple-light)}.btn-primary.disabled{cursor:not-allowed;opacity:.5}.fm-search{align-items:center;background:#fff;background:var(--pf-bg);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);display:flex;gap:10px;padding:10px 20px}.fm-search input{background:#0000;border:none;color:#1f2937;color:var(--pf-text);flex:1 1;font-size:13px;outline:none}.fm-search input::placeholder{color:#9ca3af;color:var(--pf-text-muted)}.fm-selection-info{align-items:flex-start;background:#ede9fe;background:var(--pf-purple-lighter);border-bottom:1px solid #ddd6fe;display:flex;font-size:12px;gap:16px;justify-content:space-between;padding:10px 16px}.selection-count{color:#6b21a8;color:var(--pf-purple);font-weight:600;white-space:nowrap}.selection-ontology-details{flex:1 1}.ontology-info{display:flex;flex-direction:column;gap:2px}.ontology-name{color:#1f2937;color:var(--pf-text)}.ontology-name strong{color:#6b21a8;color:var(--pf-purple)}.ontology-predicates,.ontology-types{color:#6b7280;color:var(--pf-text-secondary);font-size:11px}.no-ontology{font-size:12px}.no-ontology,.ontology-warning{color:#d97706;color:var(--pf-warning)}.ontology-warning{font-size:11px}.fm-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.fm-processing-panel{background:#f9fafb;background:var(--pf-bg-subtle);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);flex-shrink:0}.processing-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:8px 16px;-webkit-user-select:none;user-select:none}.processing-header:hover{background:#f3f4f6;background:var(--pf-border-light)}.processing-title{color:#6b7280;color:var(--pf-text-secondary);font-size:12px;font-weight:600}.processing-toggle{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.processing-list{max-height:160px;overflow-y:auto;padding:0 8px 8px}.processing-item{align-items:center;background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;display:flex;font-size:12px;gap:8px;margin-bottom:3px;padding:6px 10px}.processing-item .item-icon{flex-shrink:0;font-size:13px}.processing-item .item-name{color:#1f2937;color:var(--pf-text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.processing-item .item-status{border-radius:10px;flex-shrink:0;font-size:10px;font-weight:500;padding:2px 8px}.processing-item .item-status.ready{background:#ecfdf5;background:var(--pf-success-bg);color:#059669;color:var(--pf-success)}.processing-item .item-status.processing{background:#eff6ff;color:#1d4ed8}.processing-item .item-status.pending{background:#fffbeb;background:var(--pf-warning-bg);color:#d97706;color:var(--pf-warning)}.processing-item .item-status.failed{background:#fef2f2;background:var(--pf-danger-bg);color:#dc2626;color:var(--pf-danger)}.processing-item .item-status.committed{background:#f3f4f6;background:var(--pf-border-light);color:#9ca3af;color:var(--pf-text-muted)}.processing-item.committed{opacity:.6}.processing-item .btn-sm{border:none;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:11px;padding:3px 10px}.processing-item .btn-sm.btn-primary{background:#6b21a8;background:var(--pf-purple);color:#fff}.processing-item .btn-sm.btn-primary:hover{background:#7c3aed;background:var(--pf-purple-light)}.processing-item .btn-delete,.processing-item .btn-sm.btn-delete{background:#0000;border:none;color:#9ca3af;color:var(--pf-text-muted);cursor:pointer;padding:3px 6px}.processing-item .btn-delete:hover,.processing-item .btn-sm.btn-delete:hover{background:#fef2f2;background:var(--pf-danger-bg);border-radius:4px;color:#dc2626;color:var(--pf-danger)}.processing-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);margin-top:2px;padding:6px 12px;text-align:right}.btn-clear-all{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;color:#9ca3af;color:var(--pf-text-muted);cursor:pointer;font-size:11px;padding:3px 10px}.btn-clear-all:hover{background:#f9fafb;background:var(--pf-bg-subtle);color:#6b7280;color:var(--pf-text-secondary)}.fm-split{display:grid;flex:1 1;grid-template-columns:260px 1fr;min-height:0;overflow:hidden}.fm-tree{background:#f9fafb;background:var(--pf-bg-subtle);border-right:1px solid #e5e7eb;border-right:1px solid var(--pf-border);overflow-y:auto}.tree-container{padding:8px}.tree-folder{margin-bottom:2px}.folder-header{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 10px;transition:background .12s}.folder-header:hover{background:#f3f4f6}.folder-header.selected{background:#ede9fe;background:var(--pf-purple-lighter)}.folder-icon{font-size:14px}.folder-name{color:#1f2937;color:var(--pf-text);flex:1 1;font-size:13px;font-weight:500}.folder-count{background:#f3f4f6;background:var(--pf-border-light);border-radius:10px;color:#6b7280;color:var(--pf-text-secondary);font-size:10px;font-weight:500;padding:2px 7px}.folder-ontology{color:#6b21a8;color:var(--pf-purple);font-size:11px}.btn-tiny{background:#0000;border:none;color:#9ca3af;color:var(--pf-text-muted);cursor:pointer;font-size:12px;opacity:0;padding:2px 5px;transition:opacity .12s}.folder-header:hover .btn-tiny{opacity:1}.folder-contents{padding-left:16px}.tree-file{align-items:center;border-radius:5px;cursor:pointer;display:flex;gap:6px;padding:5px 8px;transition:background .12s}.tree-file:hover{background:#f3f4f6}.tree-file.selected{background:#ede9fe;background:var(--pf-purple-lighter)}.tree-file.checked{background:#ede9fe}.file-checkbox{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;flex-shrink:0;height:14px;width:14px}.file-icon{flex-shrink:0;font-size:12px}.file-name{color:#1f2937;color:var(--pf-text);flex:1 1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{background:#f3f4f6;background:var(--pf-border-light);border-radius:8px;font-size:10px;padding:1px 6px}.empty-folder,.file-meta{color:#9ca3af;color:var(--pf-text-muted)}.empty-folder{font-size:11px;font-style:italic;padding:8px 10px}.fm-details{background:#fff;background:var(--pf-bg);overflow-y:auto}.fm-empty,.fm-loading{align-items:center;color:#9ca3af;color:var(--pf-text-muted);display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center}.fm-empty span{font-size:36px;opacity:.4}.doc-details{padding:20px}.doc-header{margin-bottom:16px}.doc-title-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.doc-title-row h3{color:#1f2937;color:var(--pf-text);font-size:15px;font-weight:600;line-height:1.3;margin:0;word-break:break-word}.doc-actions{display:flex;flex-shrink:0;gap:6px}.btn-generate{background:#ede9fe;background:var(--pf-purple-lighter);border:1px solid #ddd6fe;border-radius:6px;color:#6b21a8;color:var(--pf-purple);cursor:pointer;font-size:11px;font-weight:500;padding:6px 12px;transition:all .15s}.btn-generate:hover{background:#ddd6fe}.btn-delete{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;cursor:pointer;padding:6px 10px;transition:all .15s}.btn-delete:hover{background:#fef2f2;background:var(--pf-danger-bg);border-color:#fecaca}.doc-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{background:#f3f4f6;background:var(--pf-border-light);color:#6b7280;color:var(--pf-text-secondary);font-size:10px;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.badge.secondary{background:#0000;color:#9ca3af;color:var(--pf-text-muted)}.doc-stats{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:8px;display:flex;gap:0;margin-bottom:16px;overflow:hidden}.stat{border-right:1px solid #e5e7eb;border-right:1px solid var(--pf-border);color:#6b7280;color:var(--pf-text-secondary);flex:1 1;font-size:12px;padding:10px 8px;text-align:center}.stat:last-child{border-right:none}.stat strong{color:#1f2937;color:var(--pf-text);display:block;font-size:18px;font-weight:600;margin-bottom:2px}.doc-note{background:#fffbeb;background:var(--pf-warning-bg);border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:12px;margin-bottom:16px;padding:10px 14px}.doc-tabs{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--pf-border);display:flex;gap:0;margin-bottom:16px}.tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:12px;font-weight:500;margin-bottom:-2px;padding:8px 16px;transition:all .15s}.tab.active,.tab:hover{color:#6b21a8;color:var(--pf-purple)}.tab.active{border-bottom-color:#6b21a8;border-bottom-color:var(--pf-purple)}.tab-content{min-height:180px}.chunks-list{display:flex;flex-direction:column;gap:4px}.chunk-item{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;overflow:hidden}.chunk-header{align-items:center;background:#f9fafb;background:var(--pf-bg-subtle);cursor:pointer;display:flex;gap:8px;padding:8px 10px;transition:background .12s}.chunk-header:hover{background:#f3f4f6;background:var(--pf-border-light)}.chunk-num{background:#ede9fe;background:var(--pf-purple-lighter);border-radius:4px;color:#6b21a8;color:var(--pf-purple);font-size:11px;font-weight:600;padding:2px 7px}.chunk-page{background:#f3f4f6;background:var(--pf-border-light);border-radius:3px;color:#6b7280;color:var(--pf-text-secondary);font-size:10px;padding:2px 6px}.chunk-chars{margin-left:auto}.chunk-chars,.expand{font-size:10px}.btn-tiny-delete,.chunk-chars,.expand{color:#9ca3af;color:var(--pf-text-muted)}.btn-tiny-delete{background:#0000;border:none;cursor:pointer;font-size:11px;opacity:0;padding:2px 5px;transition:opacity .12s}.chunk-header:hover .btn-tiny-delete{opacity:1}.btn-tiny-delete:hover{color:#dc2626;color:var(--pf-danger)}.chunk-text{background:#fff;background:var(--pf-bg);border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);color:#1f2937;color:var(--pf-text);font-size:12px;line-height:1.6;max-height:200px;overflow-y:auto;padding:12px;white-space:pre-wrap}.entities-list,.relations-list{display:flex;flex-direction:column;gap:4px}.entities-actions,.relations-actions{margin-bottom:10px}.entities-actions .btn-sm.btn-primary,.relations-actions .btn-sm.btn-primary{background:#6b21a8;background:var(--pf-purple);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:11px;font-weight:500;padding:5px 12px}.entities-actions .btn-sm.btn-primary:hover,.relations-actions .btn-sm.btn-primary:hover{background:#7c3aed;background:var(--pf-purple-light)}.entity-item{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border-left:3px solid #7c3aed;border:1px solid var(--pf-border);border-left:3px solid var(--pf-purple-light);border-radius:6px;padding:8px 12px;transition:border-color .12s}.entity-item:hover{border-color:#ddd6fe #ddd6fe #ddd6fe #6b21a8;border-left-color:var(--pf-purple)}.entity-row{align-items:center;display:flex;gap:10px}.entity-type-badge{border-radius:10px;color:#fff;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 9px;white-space:nowrap}.entity-label{color:#1f2937;color:var(--pf-text);flex:1 1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-confidence{background:#f3f4f6;background:var(--pf-border-light);border-radius:8px;color:#9ca3af;color:var(--pf-text-muted);flex-shrink:0;font-size:10px;padding:2px 7px}.entity-actions,.relation-actions{display:flex;flex-shrink:0;gap:2px}.entity-actions button,.relation-actions button{background:#0000;border:none;border-radius:4px;color:#9ca3af;color:var(--pf-text-muted);cursor:pointer;font-size:12px;opacity:0;padding:3px 6px;transition:all .12s}.entity-item:hover .entity-actions button,.relation-item:hover .relation-actions button{opacity:1}.entity-actions button:hover,.relation-actions button:hover{background:#f3f4f6;background:var(--pf-border-light);color:#1f2937;color:var(--pf-text)}.relation-item{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;padding:8px 12px;transition:border-color .12s}.relation-item:hover{border-color:#ddd6fe}.relation-row{align-items:center;display:flex;gap:8px;width:100%}.relation-row .rel-source,.relation-row .rel-target{color:#1f2937;color:var(--pf-text);font-size:13px;font-weight:500}.relation-row .rel-predicate{background:#ede9fe;background:var(--pf-purple-lighter);border-radius:10px;color:#6b21a8;color:var(--pf-purple);font-size:10px;font-weight:600;padding:3px 10px;white-space:nowrap}.empty-list,.empty-tab{color:#9ca3af;color:var(--pf-text-muted);font-size:13px;padding:40px 20px;text-align:center}.entity-editor{display:flex;flex-direction:column;gap:6px}.entity-editor input,.entity-editor select,.entity-editor textarea{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;font-size:12px;padding:8px 10px}.entity-editor input:focus,.entity-editor select:focus,.entity-editor textarea:focus{border-color:#7c3aed;border-color:var(--pf-purple-light);box-shadow:0 0 0 3px #7c3aed14;outline:none}.relation-editor{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.relation-editor input{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;font-size:12px;padding:6px 10px}.editor-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}.editor-actions button{border-radius:5px;cursor:pointer;font-size:11px;padding:5px 12px}.editor-actions button:first-child{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);color:#6b7280;color:var(--pf-text-secondary)}.editor-actions button.primary{background:#6b21a8;background:var(--pf-purple);border:none;color:#fff}.editor-actions button.primary:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:scaleIn .2s ease;background:#fff;background:var(--pf-bg);border-radius:12px;box-shadow:0 20px 60px #00000026;max-width:500px;min-width:380px;padding:24px}.modal-content h3{color:#1f2937;color:var(--pf-text);font-size:16px;font-weight:600;margin:0 0 16px}.modal-content input,.modal-content select,.modal-content textarea{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;box-sizing:border-box;font-size:13px;margin-bottom:10px;padding:10px 12px;transition:all .15s;width:100%}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{border-color:#7c3aed;border-color:var(--pf-purple-light);box-shadow:0 0 0 3px #7c3aed14;outline:none}.form-group{margin-bottom:14px}.form-group label{color:#1f2937;color:var(--pf-text);font-weight:600;margin-bottom:5px}.form-hint{color:#9ca3af;color:var(--pf-text-muted);display:block;font-size:11px;margin-top:4px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.modal-actions button{border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s}.modal-actions button:first-child{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);color:#6b7280;color:var(--pf-text-secondary)}.modal-actions button:first-child:hover{background:#f9fafb;background:var(--pf-bg-subtle)}.modal-actions button.primary{background:#6b21a8;background:var(--pf-purple);border:none;color:#fff}.modal-actions button.primary:hover{background:#7c3aed;background:var(--pf-purple-light)}.modal-actions button.primary:disabled{cursor:not-allowed;opacity:.5}.upload-info{background:#f9fafb;background:var(--pf-bg-subtle);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;margin-bottom:14px;padding:10px 12px}.upload-ontology,.upload-target{align-items:center;display:flex;font-size:12px;gap:8px}.upload-ontology .label,.upload-target .label{color:#6b7280;color:var(--pf-text-secondary);min-width:90px}.upload-ontology .value,.upload-target .value{color:#1f2937;color:var(--pf-text);font-weight:500}.upload-ontology{margin-top:4px}.upload-files{margin-bottom:14px}.upload-files h4{color:#6b7280;color:var(--pf-text-secondary);font-size:12px;margin:0 0 8px}.upload-file-item{align-items:center;background:#f9fafb;background:var(--pf-bg-subtle);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;display:flex;gap:8px;margin-bottom:4px;padding:8px 10px}.upload-file-item .file-name{flex:1 1;font-size:12px;font-weight:500}.upload-file-item .file-size{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.upload-file-item .file-status{font-size:11px}.upload-file-item.complete{background:#ecfdf5;background:var(--pf-success-bg);border-color:#a7f3d0}.upload-file-item.error{background:#fef2f2;background:var(--pf-danger-bg);border-color:#fecaca}.upload-options{background:#f9fafb;background:var(--pf-bg-subtle);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;margin-bottom:14px;padding:12px}.upload-options .option-group{margin-bottom:10px}.upload-options .option-group:last-child{margin-bottom:0}.upload-options .option-group label{color:#6b7280;color:var(--pf-text-secondary);display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.upload-options .option-buttons{display:flex;flex-wrap:wrap;gap:6px}.upload-options .option-btn{align-items:center;background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:7px 12px;transition:all .15s}.upload-options .option-btn:hover{border-color:#ddd6fe}.upload-options .option-btn.selected{background:#6b21a8;background:var(--pf-purple);border-color:#6b21a8;border-color:var(--pf-purple);color:#fff}.upload-options .option-hint{color:#9ca3af;color:var(--pf-text-muted);display:block;font-size:10px;margin-top:5px}.upload-options .checkbox-option{align-items:center;cursor:pointer;display:flex;font-size:12px;font-weight:400;gap:8px;text-transform:none}.upload-options .checkbox-option input[type=checkbox]{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;height:16px;width:16px}.upload-info-box{background:#ede9fe;background:var(--pf-purple-lighter);border:1px solid #ddd6fe;border-radius:6px;display:flex;gap:10px;margin-bottom:14px;padding:10px 12px}.upload-info-box.success{background:#ecfdf5;background:var(--pf-success-bg);border-color:#a7f3d0}.upload-info-box .info-icon{flex-shrink:0;font-size:16px}.upload-info-box .info-content{color:#1f2937;color:var(--pf-text);font-size:12px}.upload-info-box .info-content strong{display:block;margin-bottom:2px}.upload-info-box .info-content p{color:#6b7280;color:var(--pf-text-secondary);margin:0}.btn-bulk{align-items:center;background:#6b21a8;background:var(--pf-purple);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:4px;padding:6px 12px}.btn-bulk:hover{background:#7c3aed;background:var(--pf-purple-light)}.btn-bulk:disabled{cursor:not-allowed;opacity:.5}.btn-preview{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:11px;padding:6px 12px}.btn-preview:hover{background:#f9fafb;background:var(--pf-bg-subtle)}.btn-preview:disabled{cursor:not-allowed;opacity:.5}.csv-data-view{display:flex;flex-direction:column;gap:10px}.csv-info{color:#6b7280;color:var(--pf-text-secondary);font-size:12px}.csv-table-wrap{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;max-height:400px;overflow-x:auto}.csv-table{border-collapse:collapse;font-size:12px;width:100%}.csv-table th{background:#f9fafb;background:var(--pf-bg-subtle);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--pf-border);font-weight:600;padding:8px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.csv-table td,.csv-table th{color:#1f2937;color:var(--pf-text)}.csv-table td{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--pf-border-light);max-width:200px;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.csv-table tr:hover td{background:#f9fafb;background:var(--pf-bg-subtle)}.csv-pagination{align-items:center;color:#6b7280;color:var(--pf-text-secondary);display:flex;font-size:12px;gap:16px;justify-content:center;padding:8px}.csv-pagination button{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;cursor:pointer;font-size:12px;padding:5px 12px}.csv-pagination button:disabled{cursor:not-allowed;opacity:.4}.csv-loading{color:#9ca3af;color:var(--pf-text-muted);padding:20px;text-align:center}.file-manager.drag-over{position:relative}.drop-overlay{background:#7c3aed0f;border:3px dashed #7c3aed;border:3px dashed var(--pf-purple-light);border-radius:10px;inset:0;justify-content:center;position:absolute;z-index:100}.drop-message,.drop-overlay{align-items:center;display:flex}.drop-message{background:#fff;background:var(--pf-bg);border-radius:12px;box-shadow:0 4px 20px #00000014;flex-direction:column;gap:8px;padding:32px}.drop-icon{font-size:40px}.drop-message span:last-child{color:#6b21a8;color:var(--pf-purple);font-size:15px;font-weight:600}.review-modal{display:flex;flex-direction:column;max-height:85vh;max-width:800px;width:90%}.review-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);padding-bottom:10px}.review-header h3{font-size:16px;margin:0 0 4px}.review-doc{color:#6b7280;color:var(--pf-text-secondary);font-size:12px;margin:0}.review-content{flex:1 1;max-height:360px;min-height:180px;overflow-y:auto;padding:8px 0}.review-list{display:flex;flex-direction:column;gap:4px}.review-item{align-items:center;background:#f9fafb;background:var(--pf-bg-subtle);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;display:flex;gap:8px;padding:8px 10px}.review-item.approved{background:#ecfdf5;background:var(--pf-success-bg)}.review-item.rejected{background:#fef2f2;background:var(--pf-danger-bg);opacity:.7}.review-item input[type=checkbox]{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;height:16px;width:16px}.item-main{align-items:center;display:flex;flex:1 1;gap:8px}.item-label{color:#1f2937;color:var(--pf-text);font-weight:500;min-width:140px}.item-main input,.item-main select{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;font-size:11px;min-width:110px;padding:4px 8px}.item-confidence{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;min-width:30px;text-align:right}.fm-details::-webkit-scrollbar,.fm-tree::-webkit-scrollbar,.review-content::-webkit-scrollbar{width:6px}.fm-details::-webkit-scrollbar-track,.fm-tree::-webkit-scrollbar-track,.review-content::-webkit-scrollbar-track{background:#0000}.fm-details::-webkit-scrollbar-thumb,.fm-tree::-webkit-scrollbar-thumb,.review-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.fm-details::-webkit-scrollbar-thumb:hover,.fm-tree::-webkit-scrollbar-thumb:hover,.review-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.file-manager input:focus,.file-manager select:focus{outline:none}.file-manager button:focus-visible{outline:2px solid #7c3aed;outline:2px solid var(--pf-purple-light);outline-offset:2px}@media (max-width:768px){.fm-split{grid-template-columns:1fr}.fm-tree{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);border-right:none;max-height:200px}}.file-manager .section-header{display:flex;justify-content:flex-end;margin-bottom:10px}.fm-staged-banner{align-items:center;background:#fffbeb;background:var(--pf-warning-bg);border:1px solid #fde68a;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px;padding:10px 14px}.fm-staged-banner>span{color:#92400e;font-weight:500}.staged-list{display:flex;flex-wrap:wrap;gap:6px}.staged-item{background:#fff;background:var(--pf-bg);border:1px solid #fde68a;border-radius:4px;cursor:pointer;font-size:12px;padding:5px 10px;transition:all .15s}.staged-item:hover{background:#fde68a}.review-modal-enhanced{display:flex;flex-direction:column;max-height:90vh;max-width:960px;padding:0;width:95%}.review-modal-enhanced .review-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);display:flex;justify-content:space-between;padding:16px 20px}.review-header-main h3{color:#1f2937;color:var(--pf-text);font-size:16px;margin:0 0 2px}.review-close{background:none;border:none;border-radius:4px;color:#9ca3af;color:var(--pf-text-muted);cursor:pointer;font-size:20px;padding:4px 8px}.review-close:hover{background:#f3f4f6;background:var(--pf-border-light);color:#1f2937;color:var(--pf-text)}.review-metrics-dashboard{background:#f9fafb;background:var(--pf-bg-subtle);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);padding:12px 20px}.metrics-row{display:flex;gap:10px}.metric-card{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:8px;flex:1 1;padding:10px 12px;text-align:center}.metric-value{color:#1f2937;color:var(--pf-text);font-size:20px;font-weight:700}.metric-total{color:#9ca3af;color:var(--pf-text-muted);font-size:13px;font-weight:400}.metric-label{color:#6b7280;color:var(--pf-text-secondary);font-size:10px;letter-spacing:.3px;margin-top:2px;text-transform:uppercase}.metric-bar{background:#f3f4f6;background:var(--pf-border-light);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.metric-bar-fill{background:#6b21a8;background:var(--pf-purple);border-radius:2px;height:100%;transition:width .3s}.metric-sub{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;margin-top:4px}.metric-card.highlight-new{border-left:3px solid #f59e0b}.metric-card.highlight-quality{border-left:3px solid #6b21a8;border-left:3px solid var(--pf-purple)}.metric-card.highlight-coverage{border-left:3px solid #059669;border-left:3px solid var(--pf-success)}.review-quick-actions{background:#fff;background:var(--pf-bg);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);display:flex;flex-wrap:wrap;gap:16px;padding:8px 20px}.quick-action-group{align-items:center;display:flex;gap:6px}.action-group-label{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.btn-action{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s}.btn-action:hover{background:#f9fafb;background:var(--pf-bg-subtle)}.btn-action.btn-approve:hover{background:#ecfdf5;background:var(--pf-success-bg);border-color:#a7f3d0;color:#059669;color:var(--pf-success)}.btn-action.btn-reject:hover{background:#fef2f2;background:var(--pf-danger-bg);border-color:#fecaca;color:#dc2626;color:var(--pf-danger)}.btn-action.btn-smart:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.btn-action.btn-ontology:hover{background:#ede9fe;background:var(--pf-purple-lighter);border-color:#ddd6fe;color:#6b21a8;color:var(--pf-purple)}.review-tabs-enhanced{background:#fff;background:var(--pf-bg);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--pf-border);display:flex;gap:0;padding:0 20px}.review-tabs-enhanced button{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:12px;font-weight:500;margin-bottom:-2px;padding:10px 16px;position:relative;transition:all .15s}.review-tabs-enhanced button.active,.review-tabs-enhanced button:hover{color:#6b21a8;color:var(--pf-purple)}.review-tabs-enhanced button.active{border-bottom-color:#6b21a8;border-bottom-color:var(--pf-purple)}.review-tabs-enhanced button.has-badge{padding-right:28px}.tab-badge{background:#6b21a8;background:var(--pf-purple);border-radius:8px;color:#fff;font-size:9px;font-weight:600;padding:1px 5px;position:absolute;right:6px;top:6px}.review-filter-bar{align-items:center;background:#f9fafb;background:var(--pf-bg-subtle);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);display:flex;flex-wrap:wrap;gap:8px;padding:8px 20px}.review-filter-bar .search-input{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;flex:1 1;font-size:12px;min-width:140px;padding:6px 10px}.review-filter-bar .search-input:focus{border-color:#7c3aed;border-color:var(--pf-purple-light);outline:none}.review-filter-bar .filter-select{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;padding:6px 8px}.confidence-slider,.review-filter-bar .filter-select{color:#6b7280;color:var(--pf-text-secondary);font-size:11px}.confidence-slider{align-items:center;display:flex;gap:6px}.confidence-slider label{white-space:nowrap}.confidence-slider input[type=range]{accent-color:#6b21a8;accent-color:var(--pf-purple);width:80px}.review-modal-enhanced .review-content{flex:1 1;max-height:none;min-height:200px;overflow-y:auto;padding:16px 20px}.review-dashboard{display:flex;flex-direction:column;gap:20px}.dashboard-section h4{color:#1f2937;color:var(--pf-text);font-size:13px;font-weight:600;margin:0 0 10px}.type-distribution-chart{display:flex;flex-direction:column;gap:6px}.type-bar-item{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;cursor:pointer;padding:8px 10px;transition:border-color .15s}.type-bar-item:hover{border-color:#ddd6fe}.type-bar-item.new-type{border-left:3px solid #f59e0b}.type-bar-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.type-bar-header .type-name{color:#1f2937;color:var(--pf-text);font-size:12px;font-weight:500}.type-bar-header .type-count{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;margin-left:auto}.new-badge{background:#fef3c7;border-radius:3px;color:#92400e;font-size:9px;font-weight:600;padding:1px 6px}.type-bar-track{background:#f3f4f6;background:var(--pf-border-light);border-radius:3px;height:6px;overflow:hidden}.type-bar-fill{background:#ede9fe;background:var(--pf-purple-lighter);position:relative}.type-bar-approved{background:#6b21a8;background:var(--pf-purple);border-radius:3px;height:100%}.type-bar-confidence{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;margin-top:3px}.predicate-chips{display:flex;flex-wrap:wrap;gap:6px}.predicate-chip{align-items:center;background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:16px;display:flex;font-size:11px;gap:6px;padding:5px 10px}.predicate-chip.new-predicate{background:#fffbeb;border-color:#fde68a}.pred-name{color:#1f2937;color:var(--pf-text);font-weight:500}.pred-count{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.new-dot{color:#f59e0b;font-size:8px}.confidence-breakdown{align-items:flex-end;display:flex;gap:12px;height:100px;padding:10px 0}.conf-segment{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end}.conf-segment .conf-bar{border-radius:4px 4px 0 0;min-height:4px;transition:height .3s;width:100%}.conf-segment.high .conf-bar{background:#059669;background:var(--pf-success)}.conf-segment.medium .conf-bar{background:#f59e0b}.conf-segment.low .conf-bar{background:#dc2626;background:var(--pf-danger)}.conf-label{line-height:1.3;margin-top:4px;text-align:center}.conf-label,.enhanced-list .list-header{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.enhanced-list .list-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);display:flex;font-weight:600;gap:8px;letter-spacing:.3px;margin-bottom:4px;padding:6px 10px;text-transform:uppercase}.col-check{width:20px}.col-label{flex:2 1}.col-type{flex:1 1}.col-conf{width:100px}.col-actions{width:80px}.review-item-enhanced{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;display:flex;gap:8px;margin-bottom:3px;padding:8px 10px;transition:all .12s}.review-item-enhanced.approved{background:#fff;background:var(--pf-bg)}.review-item-enhanced.rejected{background:#f9fafb;background:var(--pf-bg-subtle);opacity:.6}.review-item-enhanced.new-type{border-left:3px solid #f59e0b}.review-item-enhanced .item-checkbox{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;flex-shrink:0;height:16px;width:16px}.item-label-col{flex:2 1;min-width:0}.item-label-col .item-label{color:#1f2937;color:var(--pf-text);font-size:13px;font-weight:500}.item-label-col .item-desc,.item-label-col .item-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-label-col .item-desc{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.item-type-col{flex:1 1}.type-select{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;font-size:11px;padding:4px 6px;width:100%}.type-select.new-value{background:#fffbeb;border-color:#fde68a}.item-confidence-col{align-items:center;display:flex;gap:6px;width:100px}.conf-indicator{background:#f3f4f6;background:var(--pf-border-light);border-radius:2px;flex:1 1;height:4px;overflow:hidden}.conf-fill{border-radius:2px;height:100%;transition:width .3s}.conf-high .conf-fill{background:#059669;background:var(--pf-success)}.conf-medium .conf-fill{background:#f59e0b}.conf-low .conf-fill{background:#dc2626;background:var(--pf-danger)}.conf-value{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;white-space:nowrap}.item-actions-col{width:80px}.add-to-ontology-label{align-items:center;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;display:flex;font-size:10px;gap:4px;white-space:nowrap}.add-to-ontology-label input{accent-color:#6b21a8;accent-color:var(--pf-purple);height:12px;width:12px}.review-item.relation .relation-main{align-items:center;display:flex;flex:1 1;gap:6px}.review-item.relation .rel-predicate{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;font-size:11px;min-width:100px;padding:3px 8px;text-align:center}.review-item.relation .rel-predicate.new-value{background:#fffbeb;border-color:#fde68a}.add-to-ontology{align-items:center;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;display:flex;font-size:10px;gap:4px;white-space:nowrap}.add-to-ontology input{accent-color:#6b21a8;accent-color:var(--pf-purple);height:12px;width:12px}.schema-discovery{padding:0}.schema-comparison{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.schema-column h4{color:#1f2937;color:var(--pf-text);font-size:13px;font-weight:600;margin:0 0 8px}.schema-type-list{display:flex;flex-direction:column;gap:3px}.schema-type{align-items:center;border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;display:flex;font-size:12px;justify-content:space-between;padding:6px 10px}.schema-type.used{background:#ecfdf5;background:var(--pf-success-bg)}.schema-type.unused{background:#f9fafb;background:var(--pf-bg-subtle);opacity:.6}.schema-type.matched{background:#ecfdf5;background:var(--pf-success-bg)}.schema-type.new{background:#fffbeb;border-color:#fde68a}.schema-type .type-name{color:#1f2937;color:var(--pf-text);font-weight:500}.schema-type .type-count,.schema-type .type-usage{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.schema-type .type-actions{align-items:center;display:flex;gap:4px;margin-left:8px}.btn-mini{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:3px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:10px;padding:2px 8px}.btn-mini.btn-add:hover{background:#ede9fe;background:var(--pf-purple-lighter);border-color:#ddd6fe;color:#6b21a8;color:var(--pf-purple)}.map-select{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:3px;font-size:10px;padding:2px 6px}.review-suggestions{padding:0}.suggestions-intro{background:#ede9fe;background:var(--pf-purple-lighter);border-radius:6px;color:#6b7280;color:var(--pf-text-secondary);font-size:12px;margin-bottom:16px;padding:10px 12px}.suggestion-section{margin-bottom:20px}.suggestion-section h4{color:#1f2937;color:var(--pf-text);font-size:13px;font-weight:600;margin:0 0 8px}.suggestion-list{display:flex;flex-direction:column;gap:4px}.suggestion-item{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;padding:8px 12px;transition:all .15s}.suggestion-item.selected{background:#ede9fe;background:var(--pf-purple-lighter);border-color:#ddd6fe}.suggestion-checkbox{align-items:center;cursor:pointer;display:flex;gap:8px;margin-bottom:4px}.suggestion-checkbox input{accent-color:#6b21a8;accent-color:var(--pf-purple);height:14px;width:14px}.suggestion-type{color:#1f2937;color:var(--pf-text);font-size:13px;font-weight:500}.suggestion-count{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;margin-left:8px}.suggestion-assigned{color:#6b7280;color:var(--pf-text-secondary);display:block;font-size:11px;margin-left:22px}.suggestion-assigned em{color:#6b21a8;color:var(--pf-purple)}.suggestion-examples{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;margin-left:22px;margin-top:2px}.review-ontology-update{background:#f9fafb;background:var(--pf-bg-subtle);border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);padding:10px 20px}.review-ontology-update label{align-items:center;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;display:flex;font-size:12px;gap:8px}.review-ontology-update input{accent-color:#6b21a8;accent-color:var(--pf-purple);height:14px;width:14px}.review-modal-enhanced .modal-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);padding:12px 20px}.schema-analysis-modal-v2{display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;padding:0;width:95%}.schema-analysis-modal-v2 .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);display:flex;justify-content:space-between;padding:16px 20px}.header-title{align-items:center;display:flex;gap:10px}.header-title h3{color:#1f2937;color:var(--pf-text);font-size:16px;margin:0}.domain-badge{background:#ede9fe;background:var(--pf-purple-lighter);border-radius:10px;color:#6b21a8;color:var(--pf-purple);font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.schema-analysis-modal-v2 .close-btn{background:none;border:none;border-radius:4px;color:#9ca3af;color:var(--pf-text-muted);cursor:pointer;font-size:20px;padding:4px 8px}.schema-analysis-modal-v2 .close-btn:hover{background:#f3f4f6;background:var(--pf-border-light);color:#1f2937;color:var(--pf-text)}.schema-analysis-modal-v2 .modal-body{flex:1 1;overflow-y:auto;padding:16px 20px}.analysis-summary{margin-bottom:16px}.summary-stats{display:flex;gap:10px;margin-bottom:10px}.stat-card{background:#f9fafb;background:var(--pf-bg-subtle);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:8px;flex:1 1;padding:10px;text-align:center}.stat-card .stat-value{color:#6b21a8;color:var(--pf-purple);display:block;font-size:22px;font-weight:700}.stat-card .stat-label{font-size:10px;letter-spacing:.3px;text-transform:uppercase}.document-summary,.stat-card .stat-label{color:#6b7280;color:var(--pf-text-secondary)}.document-summary{font-size:12px;line-height:1.5;margin:0}.sub-domains{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sub-domains .label{color:#9ca3af;color:var(--pf-text-muted);font-size:11px;font-weight:500}.sub-domain-tag{background:#ede9fe;background:var(--pf-purple-lighter);border-radius:10px;color:#6b21a8;color:var(--pf-purple);font-size:10px;font-weight:500;padding:2px 8px}.schema-form-compact{margin-bottom:16px}.schema-form-compact .form-row{display:flex;gap:12px}.schema-form-compact .form-group{flex:1 1;margin-bottom:0}.schema-form-compact .form-group.flex-2{flex:2 1}.schema-form-compact .form-group label{color:#6b7280;color:var(--pf-text-secondary);display:block;font-size:11px;font-weight:600;margin-bottom:4px}.schema-form-compact .form-group input{border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:5px;box-sizing:border-box;font-size:13px;padding:8px 10px;width:100%}.schema-form-compact .form-group input:focus{border-color:#7c3aed;border-color:var(--pf-purple-light);box-shadow:0 0 0 3px #7c3aed14;outline:none}.schema-tabs{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--pf-border);display:flex;gap:0;margin-bottom:12px}.schema-tabs .tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:12px;font-weight:500;margin-bottom:-2px;padding:8px 16px}.schema-tabs .tab.active,.schema-tabs .tab:hover{color:#6b21a8;color:var(--pf-purple)}.schema-tabs .tab.active{border-bottom-color:#6b21a8;border-bottom-color:var(--pf-purple)}.schema-section-v2{min-height:0}.section-actions{display:flex;gap:6px;margin-bottom:10px}.section-actions .btn-sm{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:11px;padding:4px 10px}.section-actions .btn-sm:hover{background:#f9fafb;background:var(--pf-bg-subtle)}.entity-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.entity-card{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:8px;padding:12px;transition:all .15s}.entity-card.included{border-left:3px solid #6b21a8;border-left:3px solid var(--pf-purple)}.entity-card.excluded{background:#f9fafb;background:var(--pf-bg-subtle);opacity:.5}.entity-card .entity-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.entity-card .entity-header input[type=checkbox]{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;flex-shrink:0;height:14px;width:14px}.entity-label-input{background:#0000;border:1px solid #0000;border-radius:4px;color:#1f2937;color:var(--pf-text);flex:1 1;font-size:13px;font-weight:600;padding:3px 6px}.entity-label-input:focus{background:#fff;background:var(--pf-bg);border-color:#7c3aed;border-color:var(--pf-purple-light);outline:none}.confidence-badge{background:#f3f4f6;background:var(--pf-border-light);border-radius:8px;color:#9ca3af;color:var(--pf-text-muted);flex-shrink:0;font-size:10px;padding:2px 6px}.entity-card .entity-description{color:#6b7280;color:var(--pf-text-secondary);font-size:11px;line-height:1.4;margin:0 0 6px}.entity-examples,.entity-properties{margin-bottom:4px}.examples-label,.props-label{color:#9ca3af;color:var(--pf-text-muted);font-size:10px;font-weight:500}.examples-list,.props-list{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.example-tag{background:#ede9fe;background:var(--pf-purple-lighter);color:#6b21a8;color:var(--pf-purple)}.example-tag,.prop-tag{border-radius:3px;font-size:10px;padding:1px 6px}.prop-tag{background:#f3f4f6;background:var(--pf-border-light);color:#6b7280;color:var(--pf-text-secondary)}.entity-count,.prop-more{color:#9ca3af;color:var(--pf-text-muted);font-size:10px}.entity-count{margin-top:4px}.relationship-list{display:flex;flex-direction:column;gap:6px}.relationship-card{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;padding:10px 12px;transition:all .15s}.relationship-card.included{border-left:3px solid #7c3aed;border-left:3px solid var(--pf-purple-light)}.relationship-card.excluded{background:#f9fafb;background:var(--pf-bg-subtle);opacity:.5}.rel-header{align-items:center;display:flex;gap:8px}.rel-header input[type=checkbox]{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;flex-shrink:0;height:14px;width:14px}.rel-flow{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.rel-entity{background:#f9fafb;background:var(--pf-bg-subtle);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;color:#1f2937;color:var(--pf-text);font-size:12px;font-weight:500;padding:2px 8px}.rel-arrow{color:#9ca3af;color:var(--pf-text-muted);font-size:12px}.rel-predicate-input{background:#ede9fe;background:var(--pf-purple-lighter);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:4px;color:#6b21a8;color:var(--pf-purple);font-size:12px;font-weight:600;min-width:100px;padding:3px 8px;text-align:center}.rel-predicate-input:focus{border-color:#7c3aed;border-color:var(--pf-purple-light);outline:none}.relationship-card .rel-description{color:#6b7280;color:var(--pf-text-secondary);font-size:11px;margin:6px 0 0 22px}.rel-meta{display:flex;gap:6px;margin:4px 0 0 22px}.meta-tag{background:#f3f4f6;background:var(--pf-border-light);border-radius:3px;font-size:9px;letter-spacing:.3px;padding:1px 6px;text-transform:uppercase}.empty-state,.meta-tag{color:#9ca3af;color:var(--pf-text-muted)}.empty-state{font-size:13px;padding:40px 20px;text-align:center}.schema-analysis-modal-v2 .modal-footer{align-items:center;background:#f9fafb;background:var(--pf-bg-subtle);border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);display:flex;justify-content:space-between;padding:12px 20px}.footer-info .selection-summary{color:#6b7280;color:var(--pf-text-secondary);font-size:12px}.footer-actions{display:flex;gap:8px}.footer-actions .btn-cancel{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:13px;padding:8px 16px}.footer-actions .btn-cancel:hover{background:#f9fafb;background:var(--pf-bg-subtle)}.footer-actions .btn-primary{background:#6b21a8;background:var(--pf-purple);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px}.footer-actions .btn-primary:hover{background:#7c3aed;background:var(--pf-purple-light)}.footer-actions .btn-primary:disabled{cursor:not-allowed;opacity:.5}.pagination-controls{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);display:flex;justify-content:space-between;margin-top:8px;padding:10px 0}.pagination-info{color:#9ca3af;color:var(--pf-text-muted);font-size:11px}.btn-load-more{background:#ede9fe;background:var(--pf-purple-lighter);border:1px solid #ddd6fe;border-radius:6px;color:#6b21a8;color:var(--pf-purple);cursor:pointer;font-size:11px;font-weight:500;padding:6px 14px;transition:all .15s}.btn-load-more:hover{background:#ddd6fe}.btn-load-more:disabled{cursor:not-allowed;opacity:.5}.tab-toolbar{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.toolbar-row,.toolbar-search{align-items:center;display:flex;gap:6px}.toolbar-search{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;flex:1 1;padding:5px 10px;transition:border-color .15s}.toolbar-search:focus-within{border-color:#7c3aed;border-color:var(--pf-purple-light);box-shadow:0 0 0 3px #7c3aed0f}.toolbar-search-icon{flex-shrink:0;font-size:12px}.toolbar-search input{background:#0000;border:none;color:#1f2937;color:var(--pf-text);flex:1 1;font-size:12px;min-width:0;outline:none}.toolbar-clear,.toolbar-search input::placeholder{color:#9ca3af;color:var(--pf-text-muted)}.toolbar-clear{background:none;border:none;border-radius:3px;cursor:pointer;flex-shrink:0;font-size:11px;padding:2px 4px}.toolbar-clear:hover{background:#f3f4f6;background:var(--pf-border-light);color:#1f2937;color:var(--pf-text)}.toolbar-filter{background:#fff;background:var(--pf-bg);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:6px;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;font-size:11px;max-width:180px;padding:5px 8px}.toolbar-filter:focus{border-color:#7c3aed;border-color:var(--pf-purple-light);outline:none}.toolbar-actions-row{padding:4px 0}.toolbar-select-all{align-items:center;color:#6b7280;color:var(--pf-text-secondary);cursor:pointer;display:flex;font-size:11px;gap:6px}.toolbar-select-all input[type=checkbox]{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;height:13px;width:13px}.toolbar-bulk{align-items:center;display:flex;gap:8px;margin-left:auto}.toolbar-bulk-count{color:#6b21a8;color:var(--pf-purple);font-size:11px;font-weight:500}.btn-sm.btn-danger{background:#fef2f2;background:var(--pf-danger-bg);border:1px solid #fecaca;border-radius:5px;color:#dc2626;color:var(--pf-danger);cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px}.btn-sm.btn-danger:hover{background:#fee2e2;border-color:#fca5a5}.entity-checkbox,.relation-checkbox{accent-color:#6b21a8;accent-color:var(--pf-purple);cursor:pointer;flex-shrink:0;height:13px;width:13px}.entity-item.selected,.relation-item.selected{background:#ede9fe;background:var(--pf-purple-lighter);border-color:#ddd6fe}.ontologies-page{background:#fff;color:#000;display:flex;flex-direction:column;height:100%}.op-header{align-items:center;background:#fafafa;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:20px 24px}.op-header-content h1{font-size:20px;font-weight:600;margin:0 0 4px}.op-header-content p{color:#555;font-size:13px;margin:0}.op-header-stats{display:flex;gap:12px}.op-stat{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;flex-direction:column;padding:10px 18px}.stat-label{font-size:10px;text-transform:uppercase}.op-content{display:flex;flex:1 1;overflow:hidden}.op-sidebar{background:#fafafa;border-right:1px solid #ddd;display:flex;flex-direction:column;width:300px}.op-filter-tabs{border-bottom:1px solid #ddd;display:flex;gap:6px;padding:12px}.filter-tab{background:#fff;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;flex:1 1;font-size:11px;font-weight:500;padding:8px 10px}.filter-tab:hover{background:#f5f5f5}.filter-tab.active{background:#000;border-color:#000;color:#fff}.op-list{flex:1 1;overflow-y:auto;padding:10px}.op-empty,.op-loading{color:#555;padding:36px 20px;text-align:center}.loading-spinner{border:2px solid #ddd;display:inline-block;height:20px;margin-right:10px;width:20px}.op-list-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;gap:12px;margin-bottom:6px;padding:12px 14px}.op-list-item:hover{background:#f5f5f5}.op-list-item.selected{border-color:#000}.op-item-icon{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;width:36px}.op-item-info{flex:1 1;min-width:0}.op-item-actions{align-items:center;display:flex;gap:4px;opacity:0;transition:opacity .2s}.op-list-item:hover .op-item-actions{opacity:1}.op-delete-btn{background:none;border:none;border-radius:3px;color:#666;cursor:pointer;font-size:14px;padding:4px;transition:all .2s}.op-delete-btn:hover{background:#fee;color:#d00}.op-item-name{display:block;font-size:13px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-item-meta{align-items:center;color:#555;display:flex;font-size:11px;gap:6px}.op-item-badge{background:#f0f0f0;border-radius:3px;font-size:9px;font-weight:500;padding:2px 6px;text-transform:uppercase}.op-action-buttons{border-top:1px solid #ddd;display:flex;flex-direction:column;gap:8px;padding:12px}.op-generate-btn{align-items:center;background:#fff;border:1px solid #000;border-radius:4px;color:#000;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s}.op-generate-btn:hover{background:#000;color:#fff}.op-create-btn{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s}.op-create-btn:hover{background:#eee;border-color:#000}.op-item-badge.generated{background:#e3f2fd;color:#1565c0}.op-details{background:#fff;flex:1 1;overflow-y:auto;padding:24px}.op-placeholder{color:#555;flex-direction:column;height:100%;text-align:center}.op-placeholder,.op-placeholder-icon{align-items:center;display:flex;justify-content:center}.op-placeholder-icon{background:#f5f5f5;border-radius:8px;font-size:28px;height:60px;margin-bottom:16px;width:60px}.op-placeholder h3{font-size:16px;font-weight:500;margin:0 0 6px}.op-placeholder p{font-size:13px;max-width:260px}.op-view-panel{background:#fff;border:1px solid #ddd;border-radius:6px;padding:24px}.op-view-header{border-bottom:1px solid #ddd;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.op-view-header,.op-view-title{align-items:flex-start;display:flex}.op-view-title{gap:16px}.op-view-icon{align-items:center;background:#f0f0f0;border-radius:6px;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;width:44px}.op-view-title h2{font-size:20px;font-weight:600;margin:0 0 6px}.op-view-desc{color:#555;font-size:13px;margin:0;max-width:460px}.op-view-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{background:#f0f0f0;border-radius:4px;font-size:11px;font-weight:500;padding:6px 12px}.op-view-actions-row{display:flex;gap:10px;margin-bottom:20px}.op-action-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:10px 16px}.op-action-btn:hover{background:#f5f5f5}.op-action-btn.primary{background:#000;border-color:#000;color:#fff}.op-action-btn.primary:hover{background:#333}.op-action-btn.danger{border-color:#c00;color:#c00}.op-schema-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.op-section{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:18px}.op-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.op-section h3{align-items:center;display:flex;font-size:13px;font-weight:600;gap:8px;margin:0}.op-section h3 .count{background:#e5e5e5;border-radius:4px;font-size:11px;padding:2px 8px}.op-tags{display:flex;flex-wrap:wrap;gap:8px}.op-tag{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:12px;font-weight:500;gap:6px;padding:8px 14px}.op-tag,.op-tag-icon{align-items:center;display:flex}.op-tag-icon{background:#e5e5e5;border-radius:4px;font-size:10px;height:20px;justify-content:center;width:20px}.op-tag-props{color:#666;font-size:10px;margin-left:4px}.op-empty-text{color:#666;font-size:13px;font-style:italic;padding:16px;text-align:center}.op-rel-item,.op-relationships{display:flex;flex-direction:column;gap:8px}.op-rel-item{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:12px;padding:12px}.rel-main{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.rel-from,.rel-to{background:#f0f0f0;font-size:12px;font-weight:500}.rel-from,.rel-predicate,.rel-to{border-radius:4px;padding:6px 12px}.rel-predicate{background:#e5e5e5;font-family:monospace;font-size:11px;font-weight:600}.rel-arrow{color:#666;font-size:14px}.rel-properties{align-items:center;border-top:1px solid #eee;display:flex;gap:8px;padding-top:10px}.rel-properties-label{color:#555;font-size:10px;font-weight:500;text-transform:uppercase}.rel-properties-tags{display:flex;flex-wrap:wrap;gap:4px}.rel-property-tag{background:#f0f0f0;border-radius:3px;font-family:monospace;font-size:10px;padding:3px 8px}.op-edit-panel{background:#fff;border:1px solid #ddd;border-radius:6px;padding:24px}.op-edit-header{border-bottom:1px solid #ddd;margin-bottom:20px;padding-bottom:16px}.op-edit-header h2{font-size:18px;font-weight:600;margin:0 0 6px}.op-edit-notice{background:#fff8e6;border:1px solid #ddd;border-radius:4px;font-size:12px;padding:10px 14px}.op-edit-form{display:flex;flex-direction:column;gap:20px}.op-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr}.op-form-group{display:flex;flex-direction:column;gap:6px}.op-form-group label{color:#333;font-size:12px;font-weight:500}.op-form-group input,.op-form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:10px 14px}.op-form-group input:focus,.op-form-group textarea:focus{border-color:#999;outline:none}.op-edit-section{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:18px}.op-edit-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.op-edit-section-header h3{font-size:14px;font-weight:600;margin:0}.op-add-btn{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:8px 14px}.op-add-btn:hover{background:#e5e5e5}.op-items-grid{display:flex;flex-direction:column;gap:10px}.op-edit-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;gap:10px;padding:12px}.op-edit-item input,.op-edit-item select{border:1px solid #ddd;border-radius:4px;font-size:12px;padding:8px 12px}.op-edit-item input:focus,.op-edit-item select:focus{border-color:#999;outline:none}.op-input-main{flex:1 1;min-width:120px}.op-input-desc{flex:2 1}.op-select{min-width:120px}.op-input-predicate{flex:1 1;font-family:monospace;min-width:140px;text-transform:uppercase}.op-arrow{color:#666}.op-arrow,.op-remove-btn{flex-shrink:0;font-size:14px}.op-remove-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#c00;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.op-remove-btn:hover{background:#fff5f5}.op-edit-actions{border-top:1px solid #ddd;display:flex;gap:10px;margin-top:24px;padding-top:16px}.btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 20px}.btn:hover{background:#f5f5f5}.btn-save{background:#000;border-color:#000;color:#fff;margin-left:auto}.btn-save:hover:not(:disabled){background:#333}.btn-delete{border-color:#c00;color:#c00}.btn:disabled{cursor:not-allowed;opacity:.5}.op-properties-section{border-top:1px solid #eee;margin-top:12px;padding-top:12px}.op-properties-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.op-properties-label{color:#555;font-size:10px;font-weight:600;text-transform:uppercase}.op-add-property-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:10px;font-weight:500;padding:4px 10px}.op-add-property-btn:hover{background:#e5e5e5}.op-properties-list{display:flex;flex-wrap:wrap;gap:6px}.op-property-tag{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;font-size:11px;gap:6px;padding:6px 10px}.op-property-input{background:#0000;border:none;font-family:monospace;font-size:11px;min-width:80px;outline:none}.op-property-remove{background:none;border:none;color:#c00;cursor:pointer;font-size:12px;height:16px;padding:0;width:16px}.op-no-properties{color:#666;font-size:11px;font-style:italic}.op-modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.op-modal{background:#fff;border-radius:6px;display:flex;flex-direction:column;max-height:85vh;max-width:560px;overflow:hidden;width:100%}.op-modal-large{max-width:720px}.op-modal-header{align-items:center;background:#fafafa;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:18px 20px}.op-modal-header h3{font-size:16px;font-weight:600;margin:0}.op-modal-close{background:none;border:none;border-radius:4px;color:#555;cursor:pointer;font-size:18px;height:32px;width:32px}.op-modal-close:hover{background:#e5e5e5}.op-modal-body{flex:1 1;overflow-y:auto;padding:20px}.version-actions{display:flex;gap:10px;margin-bottom:18px}.btn-primary{background:#000;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px}.btn-primary:hover{background:#333}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px}.btn-secondary:hover{background:#e5e5e5}.version-empty,.version-loading{color:#555;padding:36px 20px;text-align:center}.version-list{display:flex;flex-direction:column;gap:10px}.version-item{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:14px}.version-item:hover{border-color:#999}.version-item.active{border-color:#000}.version-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.version-number{font-size:16px;font-weight:600}.version-badge{background:#000;border-radius:3px;color:#fff;font-size:10px;font-weight:500;padding:3px 10px;text-transform:uppercase}.version-date{color:#555;font-size:11px;margin-left:auto}.version-desc{color:#333;font-size:13px;margin:0 0 8px}.version-meta{color:#555;display:flex;font-size:11px;gap:16px}.version-item-actions{display:flex;gap:8px;margin-top:10px}.btn-small{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;padding:6px 12px}.btn-small:hover{background:#f5f5f5}.btn-delete-small{border-color:#c00;color:#c00}.op-inline-edit-name{align-items:center;display:flex;gap:8px;margin-bottom:6px}.op-name-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:18px;font-weight:600;padding:8px 12px}.op-name-input:focus{border-color:#999;outline:none}.op-cancel-name-btn,.op-save-name-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;height:36px;min-width:36px;padding:8px 12px}.op-cancel-name-btn:hover,.op-save-name-btn:hover{background:#f5f5f5}.op-auto-notice{align-items:flex-start;background:#fff8e6;border:1px solid #ddd;border-radius:4px;display:flex;gap:14px;padding:18px}.op-auto-notice-icon{align-items:center;background:#f0f0f0;border-radius:4px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.op-auto-notice h4{font-size:14px;font-weight:600;margin:0 0 6px}.op-auto-notice p{color:#555;font-size:13px;margin:0}@media (max-width:1024px){.op-header{align-items:flex-start;gap:16px}.op-content,.op-header{flex-direction:column}.op-sidebar{border-bottom:1px solid #ddd;border-right:none;max-height:280px;width:100%}.op-form-row,.op-schema-details{grid-template-columns:1fr}}@media (max-width:768px){.op-details,.op-edit-panel,.op-header,.op-view-panel{padding:16px}}.ontology-generator-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ontology-generator-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:700px;width:90%}.og-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.og-header h2{color:#000;font-size:18px;font-weight:600;margin:0}.og-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px}.og-close-btn:hover{color:#000}.og-mode-tabs{border-bottom:1px solid #eee;display:flex}.og-mode-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;padding:12px 16px;transition:all .2s}.og-mode-tab:hover{background:#fafafa}.og-mode-tab.active{border-bottom-color:#000;color:#000;font-weight:500}.og-content{flex:1 1;overflow-y:auto;padding:20px}.og-field{margin-bottom:16px}.og-field label{color:#333;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.og-field input[type=text]{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;color:#000;font-size:14px;padding:10px 12px;width:100%}.og-field input[type=text]:focus{border-color:#000;outline:none}.og-field textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;color:#000;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.og-field textarea:focus{border-color:#000;outline:none}.og-hint{color:#666;font-size:12px;margin-top:6px}.og-file-upload{align-items:center;display:flex;gap:12px;margin-bottom:12px}.og-file-upload input[type=file]{display:none}.og-file-label{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:inline-block;font-size:13px;padding:8px 16px;transition:all .2s}.og-file-label:hover{background:#eee;border-color:#000}.og-file-hint{color:#666;font-size:13px}.og-error{background:#fff5f5;border:1px solid #fcc;border-radius:4px;color:#c00;font-size:13px;margin-top:12px;padding:12px}.og-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.og-back-btn,.og-cancel-btn{background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.og-back-btn:hover,.og-cancel-btn:hover{background:#f5f5f5;border-color:#000;color:#000}.og-generate-btn,.og-use-btn{background:#000;border:1px solid #000;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 24px;transition:all .2s}.og-generate-btn:hover:not(:disabled),.og-use-btn:hover{background:#333}.og-generate-btn:disabled{cursor:not-allowed;opacity:.5}.og-preview{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:20px}.og-preview-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.og-preview-header h3{color:#000;font-size:18px;font-weight:600;margin:0}.og-preview-badge{background:#e8f5e9;border-radius:4px;color:#2e7d32;font-size:11px;font-weight:500;padding:4px 10px}.og-preview-desc{color:#666;font-size:14px;line-height:1.5;margin:0 0 16px}.og-preview-stats{border-bottom:1px solid #eee;display:flex;gap:24px;margin-bottom:20px;padding-bottom:16px}.og-stat{display:flex;flex-direction:column}.og-stat-value{color:#000;font-size:24px;font-weight:600}.og-stat-label{color:#666;font-size:12px}.og-preview-section{margin-bottom:16px}.og-preview-section:last-child{margin-bottom:0}.og-preview-section h4{color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.og-preview-list{display:flex;flex-direction:column;gap:8px}.og-preview-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:4px;display:flex;gap:12px;padding:10px 12px}.og-preview-item-name{color:#000;font-weight:500}.og-preview-item-desc{color:#666;flex:1 1;font-size:12px}.og-preview-item-props{background:#f5f5f5;border-radius:4px;color:#999;font-size:11px;padding:2px 8px}.og-preview-rel{align-items:center;display:flex;gap:8px}.og-preview-rel-from,.og-preview-rel-to{color:#333;font-size:13px}.og-preview-rel-type{background:#f5f5f5;border-radius:4px;color:#000;font-family:monospace;font-size:12px;font-weight:500;padding:4px 10px}.og-preview-more{color:#666;font-size:12px;font-style:italic;padding:8px 12px}.og-edit-btn{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.og-edit-btn:hover{background:#e9ecef;border-color:#999}.og-edit-btn:disabled{cursor:not-allowed;opacity:.6}.ontology-jobs{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 2px 8px #0000000a;color:#000;display:flex;flex-direction:column;height:100%;overflow:hidden}.ontology-jobs.loading{align-items:center;color:#555;display:flex;justify-content:center;min-height:300px}.oj-header{align-items:center;background:#fafafa;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:18px 20px}.oj-header h3{font-size:16px;font-weight:600;letter-spacing:-.3px;margin:0}.oj-controls{align-items:center;display:flex;gap:10px}.oj-controls select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:12px;padding:6px 10px}.oj-auto-refresh{align-items:center;cursor:pointer;display:flex;font-size:12px;gap:6px}.btn-refresh{background:#0000;border:none;cursor:pointer;font-size:14px;padding:6px 10px}.oj-empty{align-items:center;color:#555;display:flex;flex:1 1;flex-direction:column;justify-content:center}.oj-empty .hint{color:#666;font-size:12px}.oj-list{flex:1 1;overflow-y:auto;padding:8px}.oj-item{background:#fafafa;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:6px;margin-bottom:6px;padding:10px 12px}.oj-item:hover{background:#f5f5f5}.oj-item.selected{border-color:#000}.oj-item-main{align-items:center;display:flex;gap:10px}.oj-item-icon{font-size:18px}.oj-item-info{flex:1 1;min-width:0}.oj-item-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oj-item-meta{color:#555;display:flex;font-size:11px;gap:10px;margin-top:2px}.oj-item-meta .status{font-weight:500}.oj-progress{align-items:center;display:flex;gap:8px}.progress-bar{background:#e5e5e5;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.progress-fill{background:#000;border-radius:2px;height:100%}.progress-text{color:#555;font-size:11px;min-width:36px;text-align:right}.oj-processing-steps{display:flex;flex-wrap:wrap;font-size:11px;gap:4px 10px;padding:6px 0}.processing-step{align-items:center;background:#f0f0f0;border-radius:3px;display:flex;gap:4px;padding:2px 6px}.processing-step.pending{opacity:.4}.processing-step.active{background:#e5e5e5}.processing-step.active .step-indicator{animation:spin 1s linear infinite}.processing-step.completed{color:#333}.processing-step.failed{background:#fff5f5;color:#c00}.step-indicator{font-size:10px;text-align:center;width:12px}.step-label{font-weight:500}.step-detail{color:#666;font-size:10px;margin-left:2px}.oj-item-message{color:#555;font-size:12px}.oj-item-actions{display:flex;gap:6px;justify-content:flex-end}.oj-item-actions button{background:#0000;border:none;border-radius:3px;cursor:pointer;padding:4px 8px}.oj-item-actions button:hover{background:#e5e5e5}.job-type-badge{background:#f0f0f0;border-radius:3px;font-size:9px;margin-left:6px;padding:2px 6px}.oj-details{background:#fff;border-left:1px solid #e5e5e5;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;height:100vh;max-width:95vw;position:fixed;right:0;top:0;width:600px;z-index:100}.oj-details-header{align-items:center;background:#fafafa;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:20px 24px}.oj-details-header h4{font-size:16px;font-weight:600;letter-spacing:-.3px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oj-details-header button{align-items:center;background:none;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.oj-details-header button:hover{background:#f5f5f5;border-color:#999}.oj-details-content{flex:1 1;overflow-y:auto;padding:24px 24px 100px}.detail-section{margin-bottom:24px}.detail-section h5{color:#555;font-size:12px;font-weight:600;letter-spacing:.8px;margin:0 0 12px;text-transform:uppercase}.detail-section .message{color:#555;font-size:14px;line-height:1.5}.detail-section.error{background:#fff5f5;border:1px solid #e5e5e5;border-radius:8px;padding:16px}.detail-section.error h5{color:#c00}.stats{display:flex;flex-wrap:wrap;gap:16px}.stat{align-items:center;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;display:flex;flex-direction:column;min-width:80px;padding:16px 24px;transition:all .2s ease}.stat:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.stat .value{color:#000;font-size:24px;font-weight:700}.stat .label{color:#555;font-size:11px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.type-list{gap:10px}.type-item,.type-list{display:flex;flex-direction:column}.type-item{background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;font-size:13px;gap:6px;padding:14px 16px;transition:all .2s ease}.type-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.type-item .type-name{color:#000;font-size:14px;font-weight:600}.type-item .type-desc{color:#555;font-size:12px;line-height:1.4}.type-count{align-self:flex-start;background:#e5e5e5;border-radius:12px;font-size:11px;font-weight:500;padding:4px 10px}.preview-text{background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;color:#333;font-family:SF Mono,Monaco,monospace;font-size:13px;line-height:1.6;max-height:200px;overflow-y:auto;padding:16px;white-space:pre-wrap}.oj-details-actions{background:#fafafa;border-top:1px solid #e5e5e5;display:flex;gap:12px;padding:20px 24px}.oj-details-actions .btn{background:#fff;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:14px 20px;transition:all .2s ease}.oj-details-actions .btn:hover{background:#f5f5f5;border-color:#ccc}.oj-details-actions .btn.primary{background:#000;border-color:#000;color:#fff}.oj-details-actions .btn.primary:hover{background:#222;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.oj-bulk-actions{align-items:center;background:#fafafa;border-bottom:1px solid #ddd;display:flex;gap:10px;padding:10px 14px}.btn-clear,.btn-generate,.btn-select-all{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px}.btn-clear:hover,.btn-select-all:hover{background:#f5f5f5}.btn-generate{background:#000;border-color:#000;color:#fff}.btn-generate:disabled{cursor:not-allowed;opacity:.5}.bulk-hint{color:#555;font-size:11px;margin-left:auto}.oj-checkbox{cursor:pointer;flex-shrink:0;height:14px;width:14px}.oj-item.checked{background:#f5f5f5;border-color:#000}.entity-preview-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.entity-preview-item{align-items:center;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s ease}.entity-preview-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.entity-preview-item .entity-name{color:#000;font-size:14px;font-weight:600}.entity-preview-item .entity-type{background:#e5e5e5;border-radius:4px;font-size:11px;font-weight:500;letter-spacing:.3px;padding:5px 12px;text-transform:uppercase}.entity-more{background:#fafafa;border:1px dashed #ddd;border-radius:8px;color:#555;font-size:13px;margin-top:8px;padding:12px;text-align:center}.rel-preview-list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto}.rel-preview-item{align-items:center;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;display:flex;flex-wrap:nowrap;gap:10px;padding:14px 16px;transition:all .2s ease}.rel-preview-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.rel-preview-item .rel-source{background:#f0f0f0;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;font-weight:600;max-width:140px;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.rel-preview-item .rel-predicate{background:#e5e5e5;flex-shrink:0;font-family:SF Mono,Monaco,monospace;font-size:11px;letter-spacing:.3px;text-transform:uppercase}.rel-preview-item .rel-predicate,.rel-preview-item .rel-target{border-radius:6px;font-weight:600;padding:6px 12px;white-space:nowrap}.rel-preview-item .rel-target{background:#f0f0f0;border:1px solid #e5e5e5;font-size:13px;max-width:140px;overflow:hidden;text-overflow:ellipsis}.edit-section{background:#fafafa;border:1px solid #e5e5e5;border-radius:8px;padding:18px 20px}.edit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.edit-header h5{color:#000;font-size:14px;font-weight:600;margin:0}.edit-header .btn-select-all{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:all .2s ease}.edit-header .btn-select-all:hover{background:#f5f5f5;border-color:#999}.edit-entity-list,.edit-rel-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;padding-right:6px}.edit-entity-item,.edit-rel-item{background:#fff;border:1px solid #e5e5e5;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:14px 16px;position:relative;transition:all .2s ease}.edit-entity-item:hover,.edit-rel-item:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.edit-entity-main{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.entity-name-input{flex:1 1;min-width:120px}.entity-name-input,.entity-type-select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:13px;padding:10px 14px;transition:all .2s ease}.entity-type-select{max-width:140px;min-width:100px}.entity-name-input:focus,.entity-type-select:focus{border-color:#000;box-shadow:0 0 0 3px #0000000d;outline:none}.entity-confidence,.rel-confidence{background:#f0f0f0;border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px}.edit-entity-props,.edit-rel-props{background:#f5f5f5;border:1px solid #eee;border-radius:6px;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-left:28px;margin-top:6px;padding:10px 12px}.entity-prop,.rel-prop{align-items:center;display:flex;font-size:12px;gap:6px}.prop-key{color:#333;font-weight:600}.prop-value{color:#555;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-more{color:#666;font-size:11px;font-style:italic}.entity-source,.rel-source-span{background:#f5f5f5;border-left:3px solid #999;border-radius:6px;font-size:12px;margin-top:4px;padding:8px 10px}.source-label{color:#333;font-weight:600;margin-right:6px}.source-text{color:#555;font-style:italic}.review-summary{background:#fafafa;border:2px solid #e5e5e5;border-radius:8px;padding:20px}.review-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:14px}@media (min-width:500px){.review-stats{grid-template-columns:repeat(4,1fr)}}.review-stat{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:16px;text-align:center;transition:all .2s ease}.review-stat:hover{border-color:#ccc;box-shadow:0 2px 8px #0000000a}.review-stat.selected{background:#f5f5f5;border-color:#000}.review-stat-value{color:#000;display:block;font-size:28px;font-weight:700}.review-stat-label{color:#555;display:block;font-size:11px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.review-warning{background:#fff8e6;border:1px solid #e5e5e5;border-radius:8px;font-size:13px;line-height:1.5;margin-top:14px;padding:12px 16px}.edit-empty{background:#fafafa;border-radius:4px;color:#555;padding:20px;text-align:center}.edit-empty p{margin:0}.edit-empty-hint{color:#666;font-size:11px;margin-top:6px}.processing-timeline{display:flex;flex-direction:column;gap:6px}.timeline-step{align-items:flex-start;background:#fafafa;border-left:3px solid #0000;border-radius:4px;display:flex;gap:8px;padding:8px 10px}.timeline-step.pending{border-left-color:#ddd;opacity:.4}.timeline-step.active{background:#f5f5f5;border-left-color:#000}.timeline-step.completed{border-left-color:#333}.timeline-step.failed{background:#fff5f5;border-left-color:#c00}.timeline-indicator{align-items:center;display:flex;flex-shrink:0;font-size:12px;height:18px;justify-content:center;width:18px}.timeline-step.active .timeline-indicator{animation:spin 1s linear infinite}.timeline-content{flex:1 1;min-width:0}.timeline-label{font-size:13px;font-weight:500}.timeline-details{color:#555;display:flex;flex-wrap:wrap;font-size:11px;gap:6px;margin-top:4px}.timeline-details span{background:#f0f0f0;border-radius:3px;padding:2px 6px}.timeline-details span.error{background:#fff5f5;color:#c00}.results-tabs{border-bottom:1px solid #ddd;display:flex;gap:4px;margin-bottom:10px;padding-bottom:6px}.results-tab{background:#0000;border:none;border-radius:4px 4px 0 0;color:#555;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px}.results-tab:hover{background:#f5f5f5}.results-tab.active{background:#f0f0f0;border-bottom:2px solid #000;color:#000}.results-content{max-height:360px;overflow-y:auto}.results-empty{color:#555;padding:24px 16px;text-align:center}.results-empty p{margin:0}.results-empty-hint{color:#666;font-size:12px;margin-top:6px}.edit-entity-list::-webkit-scrollbar,.edit-rel-list::-webkit-scrollbar,.entity-preview-list::-webkit-scrollbar,.rel-preview-list::-webkit-scrollbar{width:4px}.edit-entity-list::-webkit-scrollbar-track,.edit-rel-list::-webkit-scrollbar-track,.entity-preview-list::-webkit-scrollbar-track,.rel-preview-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:2px}.edit-entity-list::-webkit-scrollbar-thumb,.edit-rel-list::-webkit-scrollbar-thumb,.entity-preview-list::-webkit-scrollbar-thumb,.rel-preview-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.btn-add{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:4px 10px}.btn-add:hover{background:#e5e5e5}.btn-remove-entity,.btn-remove-rel{background:#fff;border:1px solid #ddd;border-radius:3px;color:#c00;cursor:pointer;flex-shrink:0;font-size:14px;height:22px;padding:0;width:22px}.btn-remove-entity:hover,.btn-remove-rel:hover{background:#fff5f5}.edit-entity-item input[type=checkbox],.edit-rel-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;width:16px}.edit-entity-item.included,.edit-rel-item.included{border-color:#333}.edit-entity-item.excluded,.edit-rel-item.excluded{opacity:.5}.entity-name-input:disabled,.entity-type-select:disabled{cursor:not-allowed;opacity:.5}.oj-details-content::-webkit-scrollbar,.oj-list::-webkit-scrollbar{width:8px}.oj-details-content::-webkit-scrollbar-track,.oj-list::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.oj-details-content::-webkit-scrollbar-thumb,.oj-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.oj-details-content::-webkit-scrollbar-thumb:hover,.oj-list::-webkit-scrollbar-thumb:hover{background:#999}.oj-item{animation:fadeInUp .2s ease}.oj-details{animation:slideInRight .25s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.oj-details button:focus,.oj-details input:focus,.oj-details select:focus{outline:2px solid #000;outline-offset:2px}@media (max-width:768px){.oj-details{max-width:100%;width:100%}.oj-details-content{padding:16px}.stats{flex-direction:column}.stat{flex-direction:row;justify-content:space-between;padding:12px 16px}}.admin-panel{margin:0 auto;max-width:1200px;padding:20px}.ap-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.ap-title h2{color:#000;font-size:20px;font-weight:600;margin:0 0 4px}.ap-title p{color:#555;font-size:13px;margin:0}.ap-actions{display:flex;gap:10px}.ap-btn{background:#fff;border:1px solid #ddd;border-radius:4px;color:#000;cursor:pointer;font-size:13px;padding:8px 14px}.ap-btn:hover{background:#f5f5f5}.ap-btn.primary{background:#000;border-color:#000;color:#fff}.ap-btn.primary:hover{background:#333}.ap-btn.secondary{background:#f5f5f5}.ap-btn.danger{border-color:#c00;color:#c00}.ap-btn:disabled{cursor:not-allowed;opacity:.5}.ap-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.ap-stat-card{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;gap:12px;padding:16px}.stat-icon{font-size:24px}.stat-value{color:#000;font-size:20px;font-weight:600}.stat-label{color:#555;font-size:11px}.ap-tabs{border-bottom:1px solid #ddd;display:flex;gap:0;margin-bottom:16px}.ap-tab{background:none;border:none;border-bottom:2px solid #0000;color:#555;cursor:pointer;font-size:13px;margin-bottom:-1px;padding:10px 16px}.ap-tab:hover{color:#000}.ap-tab.active{border-bottom-color:#000;color:#000;font-weight:500}.ap-content{background:#fff;border:1px solid #ddd;border-radius:4px;min-height:300px;padding:20px}.overview-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.overview-card{background:#fafafa;border:1px solid #eee;border-radius:4px;padding:16px}.overview-card h4{color:#000;font-size:13px;font-weight:600;margin:0 0 12px}.overview-stat{display:flex;justify-content:space-between;padding:6px 0}.overview-stat .label{color:#555;font-size:12px}.overview-stat .value{color:#000;font-size:13px;font-weight:500}.entity-distribution h4{font-size:13px;font-weight:600;margin:0 0 12px}.distribution-item{align-items:center;display:flex;gap:10px;margin-bottom:8px}.type-name{color:#333;font-size:12px;width:120px}.type-bar{background:#eee;border-radius:3px;flex:1 1;height:6px}.type-bar-fill{background:#000;border-radius:3px;height:100%}.type-count{color:#555;font-size:12px;text-align:right;width:50px}.roles-header{display:flex;justify-content:space-between;margin-bottom:16px}.roles-header h4{font-size:14px;font-weight:600;margin:0}.roles-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.role-card{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:14px}.role-header{display:flex;justify-content:space-between;margin-bottom:6px}.role-name{font-size:14px;font-weight:500}.role-delete{background:none;border:none;cursor:pointer;opacity:.5}.role-desc{color:#555;font-size:12px;margin:0 0 10px}.role-permissions{display:flex;flex-wrap:wrap;gap:4px}.perm-tag{background:#eee;border-radius:3px;font-size:10px;padding:3px 8px}.audit-table{border-collapse:collapse;width:100%}.audit-table td,.audit-table th{border-bottom:1px solid #eee;font-size:12px;padding:10px 12px;text-align:left}.audit-table th{background:#fafafa;color:#555;font-weight:600}.action-badge,.status-badge{background:#f5f5f5;border-radius:3px;font-size:11px;padding:3px 8px}.ap-empty{color:#555;padding:40px;text-align:center}.ap-empty .empty-icon{display:block;font-size:36px;margin-bottom:12px}.ap-loading{align-items:center;color:#555;display:flex;flex-direction:column;padding:60px}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #eee;border-radius:50%;border-top-color:#000;height:32px;margin-bottom:12px;width:32px}.ap-modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ap-modal{background:#fff;border-radius:6px;max-height:90vh;max-width:480px;overflow:hidden;width:100%}.ap-modal-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:16px 20px}.ap-modal-header h3{font-size:16px;font-weight:600;margin:0}.ap-modal-close{background:none;border:none;color:#555;cursor:pointer;font-size:20px}.ap-modal-body{overflow-y:auto;padding:20px}.ap-modal-footer{background:#fafafa;border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:8px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#999;outline:none}.llm-settings{padding:16px}.llm-settings h4{font-size:16px;margin:0 0 6px}.llm-settings .settings-description{color:#555;font-size:13px;margin-bottom:20px}.settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:20px}.setting-card{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:16px}.setting-header{display:flex;gap:10px;margin-bottom:12px}.setting-header .setting-icon{font-size:20px}.setting-header h5{font-size:13px;font-weight:600;margin:0 0 2px}.setting-header p{color:#555;font-size:11px;margin:0}.setting-control{align-items:center;display:flex;gap:10px}.setting-control input[type=range]{-webkit-appearance:none;background:#ddd;border-radius:2px;flex:1 1;height:4px}.setting-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#000;border-radius:50%;cursor:pointer;height:14px;width:14px}.setting-control select{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:13px;padding:8px 10px}.setting-control .setting-value{font-size:13px;font-weight:500;min-width:80px;text-align:right}.setting-presets{display:flex;gap:6px;margin-top:10px}.setting-presets button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:4px 10px}.setting-presets button:hover{background:#f5f5f5}.setting-hint{color:#666;display:block;font-size:11px;margin-top:6px}.settings-actions{border-top:1px solid #ddd;display:flex;justify-content:flex-end;padding-top:14px}.settings-actions .btn-save{background:#000;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:10px 20px}.settings-actions .btn-save:disabled{cursor:not-allowed;opacity:.5}.tenant-management{padding:12px 0}.tm-header{display:flex;justify-content:space-between;margin-bottom:16px}.tm-header h4{font-size:14px;font-weight:600;margin:0}.tm-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.tm-tenants,.tm-workspaces{background:#fafafa;border:1px solid #ddd;border-radius:4px;padding:14px}.tm-tenants h5,.tm-workspaces h5{font-size:13px;font-weight:600;margin:0 0 10px}.tm-list{display:flex;flex-direction:column;gap:6px}.tm-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px}.tm-item:hover{background:#f5f5f5}.tm-item.selected{border-color:#000}.tm-item-name{font-size:13px;font-weight:500}.tm-item-meta{color:#555;font-size:11px}.tm-empty{color:#555;font-size:13px;padding:20px;text-align:center}.ap-btn.small{font-size:11px;padding:5px 10px}.cleanup-warning{background:#fff8e6;font-size:12px;margin-bottom:16px}.cleanup-option,.cleanup-warning{border:1px solid #ddd;border-radius:4px;padding:12px}.cleanup-option{align-items:flex-start;background:#fafafa;cursor:pointer;display:flex;gap:10px;margin-bottom:8px}.cleanup-option input[type=checkbox]{margin-top:2px}.cleanup-option .option-label{font-size:13px;font-weight:500}.cleanup-option .option-desc{color:#555;font-size:11px}@media (max-width:1024px){.ap-stats-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}}@media (max-width:768px){.ap-header{flex-direction:column}.ap-stats-grid,.tm-layout{grid-template-columns:1fr}}.llm-monitor{padding:4px 0}.llm-monitor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.llm-monitor-header h4{margin:0}.auto-refresh-toggle{align-items:center;color:#6b7280;color:var(--pf-text-secondary,#6b7280);cursor:pointer;display:flex;font-size:13px;gap:6px}.auto-refresh-toggle input{cursor:pointer}.llm-stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.llm-stat-card{background:#f9fafb;background:var(--pf-bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--pf-border,#e5e7eb);border-radius:8px;padding:12px;text-align:center}.llm-stat-card.stat-warn{background:#fffbeb;border-color:#f59e0b}.llm-stat-label{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:11px;margin-bottom:4px;text-transform:uppercase}.llm-stat-value{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-actions{margin-bottom:16px}.btn-cancel{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px}.btn-cancel:hover{background:#dc2626}.llm-requests-section h5{font-size:14px;margin:0 0 8px}.llm-requests-table{border-collapse:collapse;font-size:13px;width:100%}.llm-requests-table th{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--pf-border,#e5e7eb);color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:11px;font-weight:600;padding:6px 10px;text-align:left;text-transform:uppercase}.llm-requests-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border,#e5e7eb);padding:6px 10px}.req-preview{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:12px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-badge{border-radius:10px;font-size:12px;font-weight:500;padding:2px 8px}.req-badge.active{background:#d1fae5;color:#065f46}.req-badge.done{background:#e5e7eb;color:#374151}.req-badge.failed{background:#fee2e2;color:#991b1b}.req-badge[class*=retry]{background:#fef3c7;color:#92400e}tr.req-active{background:#f0fdf4}.no-requests{color:#6b7280;color:var(--pf-text-secondary,#6b7280);font-size:13px;font-style:italic}.dbm-container{margin:0 auto;max-width:1200px;padding:20px}.dbm-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.dbm-header h2{margin:0}.dbm-db-tabs,.dbm-tab{display:flex;gap:8px}.dbm-tab{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.dbm-tab.active,.dbm-tab:hover{border-color:#1976d2}.dbm-tab.active{background:#e3f2fd;color:#1976d2}.dbm-tab-icon{font-size:18px}.dbm-error{background:#ffebee;border-radius:8px;color:#c62828;margin-bottom:16px;padding:12px 16px}.dbm-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:20px}.dbm-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.dbm-section-header h3{font-size:16px;margin:0}.dbm-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.dbm-stat{background:#f5f5f5;border-radius:8px;padding:16px;text-align:center}.dbm-stat-value{color:#1976d2;display:block;font-size:28px;font-weight:700}.dbm-stat-label{color:#666;font-size:12px;text-transform:uppercase}.dbm-query-input{border:1px solid #ddd;border-radius:8px;font-family:Monaco,Menlo,monospace;font-size:13px;padding:12px;resize:vertical;width:100%}.dbm-query-actions{display:flex;gap:8px;margin-top:12px}.dbm-query-result{background:#263238;border-radius:8px;color:#aed581;margin-top:16px;max-height:300px;overflow:auto;padding:16px}.dbm-query-result pre{font-size:12px;margin:0}.dbm-browse-actions{display:flex;gap:8px}.dbm-browse-actions button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:6px 12px}.dbm-browse-actions button:hover{background:#f5f5f5}.dbm-data-list{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.dbm-list-header{background:#f5f5f5;color:#666;font-size:12px;font-weight:600;text-transform:uppercase}.dbm-list-header,.dbm-list-item{grid-gap:12px;display:grid;gap:12px;grid-template-columns:30px 2fr 1fr 1fr;padding:10px 12px}.dbm-list-item{border-top:1px solid #eee;font-size:13px}.dbm-list-item:hover{background:#fafafa}.dbm-item-uri{color:#666;font-family:monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis}.dbm-item-type{color:#1976d2}.dbm-truncated{color:#666;font-size:12px;padding:12px;text-align:center}.dbm-no-data{color:#999;padding:20px;text-align:center}.dbm-selection-actions{align-items:center;background:#fff3e0;border-radius:8px;display:flex;gap:16px;margin-top:12px;padding:12px}.dbm-danger-zone{border:2px solid #ffcdd2}.dbm-cleanup-actions{display:flex;flex-wrap:wrap;gap:12px}.dbm-sync-section{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.dbm-sync-section h4{margin:0 0 8px}.dbm-sync-section p{color:#666;font-size:13px;margin:0 0 12px}.dbm-btn-primary{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.dbm-btn-primary:hover:not(:disabled){background:#1565c0}.dbm-btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;padding:10px 20px}.dbm-btn-warning{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 16px}.dbm-btn-warning:hover{background:#f57c00}.dbm-btn-danger{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 16px}.dbm-btn-danger:hover{background:#d32f2f}.dbm-btn-refresh{background:none;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:6px 12px}button:disabled{cursor:not-allowed;opacity:.5}.dbm-subtabs{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:20px;padding-bottom:8px}.dbm-subtabs button{background:#0000;border:none;border-radius:4px 4px 0 0;color:#666;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.dbm-subtabs button:hover{background:#f5f5f5;color:#333}.dbm-subtabs button.active{background:#1976d2;color:#fff}.dbm-query-builder{flex-direction:column}.dbm-qb-row,.dbm-query-builder{display:flex;gap:16px}.dbm-qb-field{flex:1 1}.dbm-qb-field label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.dbm-qb-field input,.dbm-qb-field select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.dbm-qb-field input:focus,.dbm-qb-field select:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.dbm-qb-props{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;max-height:120px;overflow-y:auto;padding:8px}.dbm-qb-prop-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;display:flex;font-size:13px;gap:4px;padding:4px 8px}.dbm-qb-prop-item:hover{border-color:#1976d2}.dbm-qb-filter{display:flex;gap:8px;margin-top:8px}.dbm-qb-filter input,.dbm-qb-filter select{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:8px}.dbm-qb-filter select:first-child{flex:2 1}.dbm-qb-filter select:nth-child(2){width:100px}.dbm-qb-filter input{flex:2 1}.dbm-qb-preview{background:#1e1e1e;border-radius:8px;padding:12px}.dbm-qb-preview label{color:#888;display:block;font-size:12px;margin-bottom:8px}.dbm-qb-preview pre{color:#9cdcfe;font-family:Monaco,Menlo,monospace;font-size:13px;line-height:1.5;margin:0;white-space:pre-wrap}.dbm-qb-actions{display:flex;gap:12px}.dbm-btn-small{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.dbm-btn-small:hover{background:#f5f5f5}.dbm-btn-small.dbm-btn-danger{border-color:#d32f2f;color:#d32f2f}.dbm-results-table-wrap{margin-top:16px;overflow-x:auto}.dbm-results-count{color:#666;font-size:13px;margin-bottom:8px}.dbm-results-table{border-collapse:collapse;font-size:13px;width:100%}.dbm-results-table td,.dbm-results-table th{border:1px solid #e0e0e0;max-width:300px;overflow:hidden;padding:10px 12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.dbm-results-table th{background:#f5f5f5;font-weight:600}.dbm-results-table tr:hover td{background:#f9f9f9}.dbm-history{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:16px}.dbm-history h4{color:#666;font-size:14px;margin:0 0 12px}.dbm-history-item{background:#f9f9f9;border-radius:6px;cursor:pointer;margin-bottom:8px;padding:10px 12px;transition:background .2s}.dbm-history-item:hover{background:#e3f2fd}.dbm-history-item code{color:#333;display:block;font-size:12px;margin-bottom:4px}.dbm-history-meta{color:#888;font-size:11px}.dbm-graph-list{margin-top:12px}.dbm-graph-list h4{font-size:13px;margin:0 0 8px}.dbm-graph-item{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border,#e5e7eb);display:flex;font-size:12px;justify-content:space-between;padding:4px 8px}.dbm-graph-name{color:#6b7280;color:var(--pf-text-secondary,#6b7280);max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dbm-graph-count{font-weight:500;white-space:nowrap}:root{--pf-purple:#6b21a8;--pf-purple-light:#7c3aed;--pf-purple-lighter:#ede9fe;--pf-purple-border:#a78bfa;--pf-bg:#fafafa;--pf-white:#fff;--pf-text:#1f2937;--pf-text-secondary:#6b7280;--pf-border:#e5e7eb;--pf-shadow:0 1px 3px #00000014;--pf-shadow-hover:0 4px 12px #6b21a826;--pf-shadow-active:0 2px 8px #6b21a840}.landing-page{background:#fafafa;background:var(--pf-bg);display:flex;flex-direction:column;min-height:100vh}.landing-header{background:#fff;background:var(--pf-white);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--pf-border);justify-content:space-between;padding:16px 40px}.landing-header,.landing-logo{align-items:center;display:flex}.landing-logo-img{max-height:44px}.landing-header-spacer{width:160px}.landing-tagline{color:#6b7280;color:var(--pf-text-secondary);font-size:12px}.landing-content{flex:1 1;margin:0 auto;max-width:1200px;padding:48px 40px;width:100%}.workspace-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.workspace-card{background:#fff;background:var(--pf-white);border:1px solid #e5e7eb;border:1px solid var(--pf-border);border-radius:12px;box-shadow:0 1px 3px #00000014;box-shadow:var(--pf-shadow);cursor:pointer;display:flex;flex-direction:column;gap:12px;min-height:160px;padding:24px;transition:all .2s ease}.workspace-card:hover{border-color:#a78bfa;border-color:var(--pf-purple-border);box-shadow:0 4px 12px #6b21a826;box-shadow:var(--pf-shadow-hover);transform:translateY(-2px)}.workspace-card.active{border:2px solid #a78bfa;border:2px solid var(--pf-purple-border);box-shadow:0 2px 8px #6b21a840;box-shadow:var(--pf-shadow-active)}.workspace-card-icon{align-items:center;display:flex;font-size:28px;height:44px;justify-content:center;width:44px}.workspace-card-title{color:#1f2937;color:var(--pf-text);font-size:17px;font-weight:600;line-height:1.3}.workspace-card-desc{flex:1 1;font-size:13px;line-height:1.5}.landing-loading,.workspace-card-desc{color:#6b7280;color:var(--pf-text-secondary)}.landing-loading{font-size:14px;padding:80px 20px;text-align:center}.landing-loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#6b21a8;border:3px solid var(--pf-border);border-radius:50%;border-top-color:var(--pf-purple);height:32px;margin:0 auto 16px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.landing-empty{padding:80px 20px;text-align:center}.landing-empty-icon{font-size:48px;margin-bottom:16px}.landing-empty h2{color:#1f2937;color:var(--pf-text);font-size:20px;font-weight:600;margin-bottom:8px}.landing-empty p{color:#6b7280;color:var(--pf-text-secondary);font-size:14px;margin-bottom:24px}.landing-empty-btn{align-items:center;background:#6b21a8;background:var(--pf-purple);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:background .2s}.landing-empty-btn:hover{background:#7c3aed;background:var(--pf-purple-light)}.landing-footer{background:#fff;background:var(--pf-white);border-top:1px solid #e5e7eb;border-top:1px solid var(--pf-border);color:#6b7280;color:var(--pf-text-secondary);font-size:13px;padding:16px 40px;text-align:center}@media (max-width:768px){.landing-header{flex-wrap:wrap;gap:12px;padding:12px 16px}.landing-content{padding:24px 16px}.workspace-cards{grid-template-columns:1fr}.landing-footer{padding:12px 16px}}
/*# sourceMappingURL=main.8a8d12fc.css.map*/