:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background:#f5f5f5}#root{width:100%;min-height:100vh}.sidebar{width:240px;min-height:100vh;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;transition:width .2s ease;overflow:hidden;flex-shrink:0;position:sticky;top:0;align-self:flex-start}.sidebar--collapsed{width:56px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 12px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.sidebar-brand{font-size:15px;font-weight:700;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .sidebar-brand{font-size:14px;font-weight:800;letter-spacing:.02em}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:6px;color:#6b7280;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.sidebar-toggle:hover{background:#f3f4f6;color:#111}.sidebar--collapsed .sidebar-header{justify-content:center;padding:0 4px;gap:0;flex-direction:column}.sidebar--collapsed .sidebar-toggle{margin-top:2px}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;margin:0 8px;color:#6b7280;text-decoration:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.sidebar-nav-item:hover{background:#f3f4f6;color:#111}.sidebar-nav-item--active{background:#eff6ff;color:#2563eb}.sidebar-nav-item--active:hover{background:#dbeafe}.sidebar--collapsed .sidebar-nav-item{justify-content:center;padding:10px 0;margin:0 4px}.sidebar-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{border-top:1px solid #e5e7eb;padding:12px;flex-shrink:0}.sidebar-avatar{display:flex;align-items:center;gap:10px;cursor:default}.sidebar-avatar-circle{width:32px;height:32px;border-radius:50%;background:#3b82f6;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.03em}.sidebar-avatar-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-avatar-name{font-size:13px;font-weight:600;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-avatar-email{font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .sidebar-footer{padding:12px 0;display:flex;justify-content:center}.sidebar--collapsed .sidebar-avatar{justify-content:center}.sidebar--collapsed .sidebar-avatar-info{display:none}.explorer-tree{width:300px;min-width:300px;position:sticky;top:0;max-height:calc(100vh - 57px);overflow-y:auto;border-right:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;padding-top:0;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.explorer-tree::-webkit-scrollbar{width:6px}.explorer-tree::-webkit-scrollbar-track{background:transparent}.explorer-tree::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.explorer-tree::-webkit-scrollbar-thumb:hover{background:#9ca3af}.explorer-search{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.explorer-search-input-wrap{position:relative;flex:1;min-width:0}.explorer-search-input{width:100%;padding:6px 28px 6px 10px;border:1px solid #d0d0d0;border-radius:6px;font-size:12px;background:#f9fafb;transition:border-color .2s,background .2s,box-shadow .2s;box-sizing:border-box}.explorer-search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px #3b82f61a}.explorer-search-input::placeholder{color:#9ca3af}.explorer-search-spinner{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:12px;height:12px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.explorer-search-mode{display:flex;background:#f3f4f6;border-radius:5px;padding:2px;gap:1px;flex-shrink:0}.explorer-search-mode-btn{padding:3px 8px;border:none;border-radius:4px;background:transparent;font-size:11px;font-weight:600;color:#9ca3af;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;line-height:1.2}.explorer-search-mode-btn:hover{color:#6b7280}.explorer-search-mode-btn--active{background:#fff;color:#374151;box-shadow:0 1px 2px #00000014}.explorer-node{display:flex;align-items:center;padding:5px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s;min-height:30px}.explorer-node:hover{background:#f3f4f6}.explorer-node--level-0{padding-left:12px}.explorer-node--level-1{padding-left:28px}.explorer-node--level-2{padding-left:44px}.explorer-node--level-3{padding-left:60px}.explorer-node--leaf{cursor:default}.explorer-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;margin-right:4px;color:#9ca3af;transition:transform .15s ease}.explorer-chevron--expanded{transform:rotate(90deg)}.explorer-chevron-spacer{width:16px;height:16px;flex-shrink:0;margin-right:4px}.explorer-node-icon{display:inline-flex;align-items:center;flex-shrink:0;margin-right:5px}.explorer-node-label{flex:1;font-size:13px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.explorer-node--level-0 .explorer-node-label{font-weight:700;color:#111;font-size:13px}.explorer-node--level-3 .explorer-node-label,.explorer-node--leaf .explorer-node-label{font-weight:400;color:#4b5563}.explorer-node-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;margin-left:8px;flex-shrink:0}.explorer-error{text-align:center;padding:20px 12px;color:#dc2626;background:#fee2e2;border-radius:8px;margin:12px;font-size:13px}.explorer-skeleton{padding:12px}.explorer-skeleton-line{height:12px;background:#e5e7eb;border-radius:4px;margin-bottom:10px;animation:explorer-pulse 1.5s ease-in-out infinite}.explorer-skeleton-line:nth-child(1){width:40%}.explorer-skeleton-line:nth-child(2){width:60%;margin-left:16px}.explorer-skeleton-line:nth-child(3){width:70%;margin-left:32px}.explorer-skeleton-line:nth-child(4){width:50%;margin-left:32px}.explorer-skeleton-line:nth-child(5){width:55%;margin-left:32px}.explorer-skeleton-line:nth-child(6){width:45%;margin-left:16px}.explorer-skeleton-line:nth-child(7){width:65%;margin-left:32px}.explorer-skeleton-line:nth-child(8){width:35%;margin-left:32px}@keyframes explorer-pulse{0%,to{opacity:.4}50%{opacity:1}}.catalog-search-page{width:100%;padding:0}.catalog-layout{display:grid;grid-template-columns:auto 1fr;gap:0;align-items:start}.catalog-layout--no-concepts{grid-template-columns:1fr}.results-fallback-header{font-size:14px;color:#6b7280;margin-bottom:16px;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.results-fallback-label{font-weight:600;color:#374151}.concept-tabs{display:flex;flex-direction:column;position:sticky;top:57px;max-height:calc(100vh - 57px);overflow-y:auto;border-right:1px solid #e5e7eb;padding-right:0;min-width:220px;max-width:360px}.concept-tabs-title{font-size:13px;font-weight:800;color:#374151;text-transform:uppercase;letter-spacing:.06em;padding:10px 18px 8px}.concept-tab{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 18px;border:none;background:none;cursor:pointer;text-align:left;border-right:4px solid transparent;transition:background .12s,border-color .12s;word-wrap:break-word;overflow-wrap:break-word}.concept-tab:hover{background:#f3f4f6}.concept-tab--active{background:#dbeafe;border-right-color:#2563eb}.concept-tab-name{font-size:15px;font-weight:700;color:#111}.concept-tab--active .concept-tab-name{color:#1d4ed8}.concept-tab-definition{font-size:12px;color:#6b7280;line-height:1.4}.results-panel{display:flex;flex-direction:column;gap:12px;min-width:0;padding:0 24px}.results-panel .result-section{margin-top:12px}.results-placeholder{display:flex;align-items:center;justify-content:center;min-height:300px;color:#9ca3af;font-size:15px}.results-topic-header{padding-bottom:0}.results-topic-name{font-size:28px;font-weight:800;color:#111;margin:0 0 8px}.results-topic-insights-label{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.results-topic-insights{margin:0;padding-left:18px;font-size:13px;color:#4b5563;line-height:1.6}.results-topic-insights li{margin-bottom:2px}.section-loading-spinner{width:14px;height:14px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.result-section{background:transparent}.result-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border:none;background:none;cursor:pointer;margin-bottom:6px}.result-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#374151;letter-spacing:.02em}.result-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#e5e7eb;color:#374151;font-size:11px;font-weight:700}.load-more-btn{display:block;margin-top:6px;padding:6px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.load-more-btn:hover{background:#f3f4f6;border-color:#9ca3af}.result-section-chevron{font-size:10px;color:#9ca3af;transition:transform .2s}.result-section-chevron--collapsed{transform:rotate(-90deg)}.result-section-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:290px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.result-section-grid::-webkit-scrollbar{width:6px}.result-section-grid::-webkit-scrollbar-track{background:transparent}.result-section-grid::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.result-section-grid::-webkit-scrollbar-thumb:hover{background:#9ca3af}.result-section-grid--compact{display:flex;flex-wrap:wrap;gap:6px;max-height:none;overflow-y:visible;padding-right:0}.catalog-result-card{position:relative;background:#fff;border-radius:8px;padding:8px 12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;transition:box-shadow .2s,border-color .2s;min-width:0;overflow:hidden}.result-section-grid--compact .catalog-result-card{padding:5px 10px;border-radius:6px;white-space:nowrap;box-shadow:none}.result-section-grid--compact .catalog-result-description{display:none}.result-section-grid--compact .catalog-result-header{margin-bottom:0}.catalog-result-card:hover{box-shadow:0 4px 12px #0000001a}.catalog-result-card--clickable{cursor:pointer}.catalog-result-card--clickable:hover{border-color:#3b82f6}.catalog-result-icon{display:inline-flex;flex-shrink:0;margin-top:1px}.catalog-result-header{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px;min-width:0}.catalog-result-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;flex-shrink:0;margin-top:2px}.badge-table{background:#dbeafe;color:#1d4ed8}.badge-dashboard{background:#fce7f3;color:#be185d}.badge-sigma{background:#ede9fe;color:#6d28d9}.badge-metric{background:#d1fae5;color:#065f46}.catalog-result-title{font-size:13px;font-weight:600;color:#111;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.catalog-result-title--link{color:#3b82f6;text-decoration:none}.catalog-result-title--link:hover{text-decoration:underline}.catalog-result-folder{font-size:11px;color:#9ca3af;margin-bottom:2px}.catalog-result-meta{font-size:11px;color:#9ca3af;font-weight:500;white-space:nowrap}.catalog-result-view-btn{display:inline-flex;align-items:center;margin-left:auto;padding:2px 8px;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb;color:#3b82f6;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s}.catalog-result-view-btn:hover{background:#eff6ff;border-color:#93c5fd}.catalog-result-description{margin:0;font-size:12px;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-result-pages{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.catalog-result-page-link{font-size:11px;color:#6d28d9;text-decoration:none;padding:2px 7px;background:#f5f3ff;border-radius:4px}.catalog-result-page-link:hover{text-decoration:underline;background:#ede9fe}.slab-posts-row{display:flex;flex-wrap:wrap;gap:6px}.slab-post-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#f5f3ff;border:1px solid #e9e5ff;border-radius:6px;font-size:12px;font-weight:500;color:#6d28d9;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s}.slab-post-chip:hover{background:#ede9fe;border-color:#c4b5fd;text-decoration:underline}.card-action-row{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:2;background:#ffffffeb;border-radius:4px;padding:2px;box-shadow:0 1px 4px #00000014}.catalog-result-card:hover .card-action-row{opacity:1;transform:translateY(0);pointer-events:auto}.card-action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;border-radius:4px;color:#9ca3af;cursor:pointer;transition:background .12s,color .12s;padding:0}.card-action-btn:hover{background:#f3f4f6}.card-action-btn--up:hover,.card-action-btn--up.card-action-btn--active{color:#059669}.card-action-btn--down:hover,.card-action-btn--down.card-action-btn--active{color:#dc2626}.result-section-grid--compact .card-action-row{top:2px;right:2px;padding:1px}.result-section-grid--compact .card-action-btn{width:22px;height:22px}.catalog-result-card--hidden .catalog-result-header,.catalog-result-card--hidden .catalog-result-description,.catalog-result-card--hidden .catalog-result-pages,.catalog-result-card--hidden .catalog-result-folder{opacity:.12;pointer-events:none}.card-hidden-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#6b7280;font-weight:500;z-index:3}.card-hidden-separator{color:#d1d5db}.card-hidden-undo{border:none;background:none;color:#3b82f6;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.card-hidden-undo:hover{color:#1d4ed8}.catalog-result-card--boosted{border-color:#bbf7d0;background:#f0fdf4}.card-boosted-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;background:#d1fae5;color:#065f46;font-size:10px;font-weight:700;letter-spacing:.03em;flex-shrink:0}.feedback-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #00000026;z-index:1000;display:flex;align-items:center;gap:8px;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.feedback-toast-separator{color:#6b7280}.feedback-toast-undo{border:none;background:none;color:#93c5fd;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.feedback-toast-undo:hover{color:#bfdbfe}.feedback-audit-page{max-width:800px;margin:0 auto;padding:0 16px}.feedback-audit-title{font-size:24px;font-weight:800;color:#111;margin:0 0 16px}.feedback-audit-summary{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:13px;font-weight:600}.feedback-summary-total{color:#374151}.feedback-summary-dot{color:#d1d5db}.feedback-summary-relevant{color:#059669}.feedback-summary-not-relevant{color:#dc2626}.feedback-concept-group{margin-bottom:24px}.feedback-concept-name{font-size:18px;font-weight:700;color:#111;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.feedback-entries{display:flex;flex-direction:column;gap:6px}.feedback-entry{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px}.feedback-entry--relevant{border-left:3px solid #059669}.feedback-entry--not-relevant{border-left:3px solid #dc2626}.feedback-entry-header{display:flex;align-items:center;gap:8px}.feedback-entry-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;flex-shrink:0}.feedback-entry-name{font-size:13px;font-weight:600;color:#111;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-status-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;flex-shrink:0}.feedback-status-badge--relevant{background:#d1fae5;color:#065f46}.feedback-status-badge--not_relevant{background:#fee2e2;color:#991b1b}.feedback-entry-revert{border:1px solid #d1d5db;background:#fff;color:#374151;font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px;cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s}.feedback-entry-revert:hover{background:#f3f4f6;border-color:#9ca3af}.feedback-entry-reasoning{margin-top:6px}.feedback-reasoning-toggle{border:none;background:none;color:#9ca3af;font-size:12px;cursor:pointer;padding:0;transition:color .12s}.feedback-reasoning-toggle:hover{color:#3b82f6}.feedback-reasoning-toggle--has-text{color:#6b7280;font-style:italic}.feedback-reasoning-editor{display:flex;gap:6px;align-items:center}.feedback-reasoning-input{flex:1;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.feedback-reasoning-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.feedback-reasoning-save,.feedback-reasoning-cancel{border:none;background:none;font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .12s}.feedback-reasoning-save{color:#059669}.feedback-reasoning-save:hover{background:#f0fdf4}.feedback-reasoning-cancel{color:#6b7280}.feedback-reasoning-cancel:hover{background:#f3f4f6}.feedback-audit-empty{text-align:center;padding:60px 20px;color:#6b7280}.feedback-audit-empty svg{margin-bottom:16px}.feedback-audit-empty-text{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.feedback-audit-empty-hint{font-size:13px;color:#9ca3af;max-width:360px;margin:0 auto;line-height:1.5}.table-detail-page{max-width:1100px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:none;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;margin-bottom:20px;transition:all .15s}.back-btn:hover{border-color:#3b82f6;color:#3b82f6}.table-header{margin-bottom:16px}.table-title-row{display:flex;align-items:center;gap:10px}.table-title{margin:0;font-size:24px;color:#111;font-family:SF Mono,Menlo,monospace;font-weight:600;word-break:break-all}.table-fqn{font-size:13px;color:#9ca3af;font-family:SF Mono,Menlo,monospace;margin:4px 0 8px;word-break:break-all}.table-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.table-type-badge{display:inline-block;padding:2px 10px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.5px;background:#dbeafe;color:#1d4ed8}.table-meta-item{font-size:13px;color:#6b7280}.table-description{margin:0 0 24px;font-size:14px;color:#555;line-height:1.6}.table-section{margin-bottom:28px}.table-section-title{margin:0 0 12px;font-size:16px;color:#111;font-weight:600;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px}.stat-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.stat-value{font-size:18px;color:#111;font-weight:600}.looker-views-list{display:flex;flex-wrap:wrap;gap:6px}.looker-view-chip{display:inline-block;padding:3px 10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;font-family:SF Mono,Menlo,monospace;font-weight:500;color:#374151;white-space:nowrap;cursor:default;transition:background .12s}.looker-view-chip:hover{background:#e5e7eb}.detail-tabs{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:20px}.detail-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;background:none;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.detail-tab:hover:not(:disabled){color:#374151}.detail-tab--active{color:#1d4ed8;border-bottom-color:#1d4ed8}.detail-tab--disabled{color:#d1d5db;cursor:not-allowed}.detail-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:#e5e7eb;color:#374151;font-size:11px;font-weight:700}.detail-tab--active .detail-tab-count{background:#dbeafe;color:#1d4ed8}.detail-tab--disabled .detail-tab-count{background:#f3f4f6;color:#d1d5db}.tab-loading-spinner{width:12px;height:12px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.lineage-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 0}.skeleton-bar{height:14px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite;width:100%}.skeleton-bar--short{width:60%}.skeleton-bar--medium{width:80%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.lineage-flow{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:20px;padding:16px 0}.lineage-flow-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 20px;border-radius:8px;border:1px solid #e5e7eb;background:#f8fafc;min-width:110px;text-align:center;font-family:inherit;font-size:inherit;cursor:default}.lineage-flow-box--side{cursor:pointer;transition:border-color .15s,background .15s}.lineage-flow-box--side:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}.lineage-flow-box--side:disabled{cursor:default;opacity:.5}.lineage-flow-box--empty{opacity:.5}.lineage-flow-box--center{border:2px solid #3b82f6;background:#eff6ff;min-width:140px;padding:14px 24px}.lineage-flow-count{font-size:20px;font-weight:700;color:#1d4ed8}.lineage-flow-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-weight:600}.lineage-flow-name{font-size:13px;font-weight:600;color:#111;font-family:SF Mono,Menlo,monospace;word-break:break-all}.lineage-flow-type{font-size:10px;font-weight:700;color:#1d4ed8;letter-spacing:.3px;margin-top:2px}.lineage-flow-arrow{font-size:20px;color:#9ca3af;padding:0 12px;-webkit-user-select:none;user-select:none}.lineage-container{display:flex;flex-direction:column;gap:16px}.lineage-group{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.lineage-group-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.lineage-collapsible{margin-bottom:8px}.lineage-collapsible:last-child{margin-bottom:0}.lineage-collapsible-header{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;width:100%;text-align:left;transition:color .15s}.lineage-collapsible-header:hover{color:#374151}.lineage-chevron{font-size:11px;width:12px;display:inline-block}.lineage-list{list-style:none;padding:0 0 0 18px;margin:4px 0 0;display:flex;flex-direction:column;gap:4px}.lineage-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.lineage-link{font-family:SF Mono,Menlo,monospace;font-weight:500;color:#3b82f6;cursor:pointer;text-decoration:none}.lineage-link:hover{text-decoration:underline}.lineage-name{font-family:SF Mono,Menlo,monospace;font-weight:500;color:#374151}.lineage-type-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.3px;background:#f3f4f6;color:#6b7280}.badge--table{background:#dbeafe;color:#1d4ed8}.badge--view{background:#ede9fe;color:#6d28d9}.badge--dashboard{background:#ffedd5;color:#c2410c}.badge--look{background:#d1fae5;color:#047857}.badge--workbook{background:#cffafe;color:#0e7490}.lineage-desc{font-size:12px;color:#9ca3af}.no-columns{font-size:14px;color:#9ca3af}.column-search-form{position:relative;display:flex;align-items:center;margin-bottom:12px}.column-search-input{width:100%;max-width:360px;padding:8px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;transition:border-color .2s,box-shadow .2s}.column-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.column-search-input::placeholder{color:#9ca3af}.column-search-spinner{position:absolute;left:340px;width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.columns-table-wrapper{overflow-x:auto}.columns-table{width:100%;border-collapse:collapse;font-size:13px}.columns-th{text-align:left;padding:10px 12px;border-bottom:2px solid #e5e7eb;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.columns-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.columns-th--sortable:hover{color:#3b82f6}.columns-th--description{min-width:200px}.sort-indicator{font-size:10px}.columns-row{border-bottom:1px solid #f3f4f6}.columns-row:hover{background:#f9fafb}.columns-row--expandable{cursor:pointer}.columns-row--expanded{background:#f9fafb}.columns-td{padding:8px 12px;vertical-align:top;color:#374151}.columns-td--name{font-family:SF Mono,Menlo,monospace;font-weight:500;white-space:nowrap}.columns-td--type{color:#6b7280;font-family:SF Mono,Menlo,monospace;font-size:12px}.columns-td--number{text-align:right;font-family:SF Mono,Menlo,monospace;font-size:12px}.columns-td--nullable{text-align:center;color:#9ca3af}.columns-td--description{color:#6b7280;font-size:12px;line-height:1.4}.pk-badge{display:inline-block;padding:0 4px;margin-right:6px;background:#fef3c7;color:#92400e;border-radius:3px;font-size:10px;font-weight:700;vertical-align:middle}.looker-field-count{display:inline-block;margin-left:8px;padding:0 6px;background:#ede9fe;color:#6d28d9;border-radius:10px;font-size:10px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.columns-row--detail{background:#fafafa}.columns-td--looker-fields{padding:8px 12px 12px 36px}.looker-fields-section{display:flex;flex-direction:column;gap:4px}.looker-fields-label{font-size:11px;font-weight:600;color:#6d28d9;text-transform:uppercase;letter-spacing:.3px}.looker-field-item{display:flex;align-items:center;gap:8px;font-size:12px}.looker-field-name{font-family:SF Mono,Menlo,monospace;color:#374151;font-weight:500}.looker-field-type{padding:0 5px;background:#f3f4f6;border-radius:3px;font-size:11px;color:#6b7280}.looker-field-view{font-size:11px;color:#9ca3af}.columns-load-more{text-align:center;padding:16px 0}.load-more-btn{padding:8px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;transition:all .15s}.load-more-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.load-more-btn:disabled{color:#9ca3af;cursor:not-allowed}.columns-row--relevant{background:#fffbeb}.columns-row--relevant:hover{background:#fef3c7}.ai-relevance-icon{display:inline-flex;align-items:center;margin-right:6px;vertical-align:middle}.sync-page{background:#1a1a2e;color:#e0e0e0;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;height:calc(100vh - 56px);margin:-28px -12px -24px;padding:24px 32px;overflow-y:auto;box-sizing:border-box}.sync-page-connecting{color:#888;padding:48px 32px;text-align:center}.sync-page-error{color:#ff6b6b;padding:16px 0}.sync-error-panel{max-width:480px;margin:64px auto;text-align:center}.sync-config-layout{display:flex;gap:24px;height:100%}.sync-config-editor{flex:1;display:flex;flex-direction:column;min-width:0}.sync-config-header{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.sync-config-header h2{margin:0;font-size:16px;color:#e0e0e0}.sync-config-path{font-size:12px;color:#666}.sync-editor-wrap{flex:1;border:1px solid #333;border-radius:6px;overflow:hidden}.sync-config-sidebar{width:240px;flex-shrink:0}.sync-config-sidebar h3{margin:0 0 16px;font-size:14px;color:#ccc}.sync-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.sync-option{display:flex;align-items:center;gap:8px;color:#ccc;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sync-option select{background:#0f3460;color:#e0e0e0;border:1px solid #444;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px}.sync-option input[type=checkbox]{accent-color:#00d2ff}.sync-start-btn{display:block;width:100%;padding:10px 24px;background:#0f3460;color:#00d2ff;border:1px solid #00d2ff;border-radius:6px;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.sync-start-btn:hover{background:#1a4a7a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{min-height:100vh;background:#f5f5f5;display:flex}.app-content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 20px;position:sticky;top:0;z-index:100}.app-header-inner{display:flex;align-items:center;height:56px;position:relative}.mode-toggle{display:flex;background:#f3f4f6;border-radius:8px;padding:3px;gap:2px;flex-shrink:0}.mode-toggle-btn{padding:5px 14px;border:none;border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.mode-toggle-btn:hover{color:#374151}.mode-toggle-btn--active{background:#fff;color:#111;box-shadow:0 1px 3px #0000001a}.header-search{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;width:400px}.header-search-input{width:100%;padding:8px 14px;border:1px solid #d0d0d0;border-radius:8px;font-size:14px;background:#f9fafb;transition:border-color .2s,background .2s,box-shadow .2s}.header-search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.header-search-input::placeholder{color:#9ca3af}.header-search-spinner{position:absolute;right:12px;width:16px;height:16px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-body{display:flex;flex:1;min-height:0}.app-main{flex:1;min-width:0;padding:28px 12px 24px}.loading,.no-results,.error-message{text-align:center;padding:40px 20px;font-size:16px;color:#666}.error-message{color:#dc2626;background:#fee2e2;border-radius:8px;margin-bottom:20px}
