.doc-page{min-height:100vh;background:#fff}.doc-page.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#64748b}.doc-header{border-bottom:1px solid #e2e8f0;background:#f8fafc;padding:12px 24px}.doc-header-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:14px}.doc-header-sep{color:#64748b}.doc-header-title{font-weight:600;color:#0f172a}.doc-back-link{color:#2563eb;text-decoration:none}.doc-back-link:hover{text-decoration:underline}.doc-layout{max-width:960px;margin:0 auto;display:flex;gap:32px;padding:32px 24px}.doc-toc{width:220px;min-width:220px;position:sticky;top:24px;align-self:flex-start;max-height:calc(100vh - 120px);overflow-y:auto}.doc-toc-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:8px}.doc-toc-list{list-style:none;padding:0;margin:0}.doc-toc-item{margin:0}.doc-toc-link{display:block;font-size:13px;color:#64748b;text-decoration:none;border-left:2px solid transparent;padding:4px 0 4px 8px;transition:color .15s,border-color .15s}.doc-toc-link:hover{color:#2563eb;border-left-color:#2563eb}.doc-content{flex:1;min-width:0}.doc-title{font-size:28px;font-weight:700;color:#0f172a;margin-bottom:8px;line-height:1.3}.doc-meta{font-size:13px;color:#64748b;margin-bottom:24px;display:flex;align-items:center;gap:8px}.doc-meta-sep{color:#e2e8f0}.doc-body{font-size:15px;line-height:1.75;color:#0f172a}.doc-body h1,.doc-body h2,.doc-body h3,.doc-body h4,.doc-body h5,.doc-body h6{color:#0f172a;margin-top:1.5em;margin-bottom:.5em;line-height:1.3}.doc-body h1{font-size:24px}.doc-body h2{font-size:20px;border-bottom:1px solid #e2e8f0;padding-bottom:4px}.doc-body h3{font-size:18px}.doc-body h4{font-size:16px}.doc-body p{margin-bottom:1em}.doc-body a{color:#2563eb;text-decoration:none}.doc-body a:hover{text-decoration:underline}.doc-body code{background:#f8fafc;padding:2px 6px;border-radius:4px;font-size:.9em;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.doc-body pre{background:#1e1e2e;color:#cdd6f4;padding:16px;border-radius:8px;overflow-x:auto;margin-bottom:1em}.doc-body pre code{background:none;padding:0;color:inherit;font-size:13px}.doc-body blockquote{border-left:3px solid #2563eb;padding-left:16px;margin-left:0;color:#64748b;margin-bottom:1em}.doc-body ul,.doc-body ol{padding-left:24px;margin-bottom:1em}.doc-body li{margin-bottom:4px}.doc-body table{width:100%;border-collapse:collapse;margin-bottom:1em}.doc-body th,.doc-body td{border:1px solid #e2e8f0;padding:8px 12px;text-align:left}.doc-body th{background:#f8fafc;font-weight:600}.doc-body img{max-width:100%;border-radius:8px}.doc-body hr{border:none;border-top:1px solid #e2e8f0;margin:24px 0}.doc-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:12px;color:#64748b}.doc-not-found h1{font-size:24px;color:#0f172a}.doc-list-container{max-width:720px;margin:0 auto;padding:32px 24px}.doc-list-title{font-size:24px;font-weight:600;margin-bottom:24px}.doc-list-empty{text-align:center;padding:48px 24px;color:#64748b}.doc-list{list-style:none;padding:0;margin:0}.doc-list-item{border-bottom:1px solid #e2e8f0}.doc-list-item:first-child{border-top:1px solid #e2e8f0}.doc-list-link{display:flex;align-items:center;justify-content:space-between;padding:16px 0;text-decoration:none;color:inherit;transition:background .1s}.doc-list-link:hover{text-decoration:none}.doc-list-link:hover .doc-list-link-title{color:#2563eb}.doc-list-link-title{font-weight:500;font-size:15px;color:#0f172a;transition:color .15s}.doc-list-link-meta{font-size:12px;color:#64748b;display:flex;align-items:center;gap:6px}@media(max-width:768px){.doc-layout{flex-direction:column}.doc-toc{width:100%;min-width:auto;position:static;border-bottom:1px solid #e2e8f0;padding-bottom:16px;margin-bottom:16px;max-height:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#0f172a;background:#f8fafc;font-size:14px;line-height:1.5}a{color:#334155;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit;border:1px solid #e2e8f0;background:#f1f5f9;color:#0f172a;padding:6px 12px;border-radius:6px;font-size:13px;transition:background .15s}button:hover{background:#e2e8f0}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#334155;color:#fff;border-color:#334155}.btn-primary:hover{background:#1e293b;border-color:#1e293b;color:#fff}input,textarea{font:inherit;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:14px;width:100%;outline:none;background:#fff;color:#0f172a;transition:border-color .15s}input:focus,textarea:focus{border-color:#334155;box-shadow:0 0 0 3px #33415526}label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:13px;color:#0f172a}.app-loading,.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b}.app-shell{display:flex;height:100vh;min-height:100dvh;position:relative;overflow:hidden}.sidebar{width:260px;min-width:260px;background:#f1f5f9;color:#0f172a;display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid #e2e8f0}.sidebar-backdrop{display:none}.sidebar-header{padding:6px 8px;border-bottom:1px solid #e2e8f0;position:relative}.ws-header-row{display:flex;align-items:center;gap:2px}.ws-selector{flex:1;display:flex;align-items:center;gap:4px;background:transparent;border:none;color:#0f172a;font-size:14px;font-weight:600;padding:5px 6px;border-radius:6px;min-width:0;text-align:left}.ws-selector:hover{background:#e2e8f0;color:#0f172a}.ws-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-chevron{font-size:12px;opacity:.5;flex-shrink:0}.sidebar-icon-btn{flex-shrink:0;background:transparent;border:none;color:#64748b;font-size:15px;padding:5px 7px;border-radius:6px;line-height:1;display:flex;align-items:center;justify-content:center}.sidebar-icon-btn:hover{color:#0f172a;background:#f1f5f9}.ws-rename-input{flex:1;background:#fff;border:1px solid #334155;border-radius:4px;color:#0f172a;font-size:14px;font-weight:600;padding:4px 8px}.ws-dropdown-divider{height:1px;background:#e2e8f0;margin:4px 0}.ws-dropdown{position:absolute;top:100%;left:8px;right:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:4px;z-index:100;box-shadow:0 4px 12px #0f172a1f}.ws-dropdown-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:#0f172a;padding:8px 12px;border-radius:4px;font-size:13px}.ws-dropdown-item:hover{background:#f1f5f9}.ws-dropdown-item.active{background:#e2e8f0;color:#0f172a}.sidebar-collapsed .sidebar{display:none}.sidebar-expand-btn{position:absolute;top:8px;left:8px;background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;font-size:13px;font-weight:600;padding:6px 10px;border-radius:6px;z-index:10;display:inline-flex;align-items:center;gap:6px}.sidebar-expand-btn:hover{color:#0f172a;background:#f1f5f9}.main-content{position:relative}.sidebar-actions{padding:4px 8px}.sidebar-divider{height:1px;margin:10px 12px 0;background:#e2e8f0;border:none}.sidebar-section-header{margin:0;padding:10px 18px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.sidebar-content{flex:1;padding:4px 8px;overflow-y:auto}.sidebar-empty{padding:16px 8px;text-align:center;font-size:13px;opacity:.5}.sidebar-footer{padding:12px 16px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;font-size:12px}.sidebar-user{opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:transparent;border:none;color:#c0392b;font-size:12px;padding:2px 8px}.btn-logout:hover{background:transparent;text-decoration:underline}.page-node{margin:0}.page-node-row{display:flex;align-items:center;gap:0;border-radius:4px;position:relative}.page-node-row:hover{background:#f1f5f9}.page-node-row:hover .page-add-sub-btn{opacity:1}.page-expand-btn{flex-shrink:0;width:20px;background:transparent;border:none;color:#64748b;font-size:10px;padding:4px 2px;border-radius:3px;line-height:1;text-align:center}.page-expand-btn:hover{background:#e2e8f0;color:#0f172a}.page-node-link{flex:1;padding:4px;color:#0f172a;font-size:13px;border-radius:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;min-width:0}.page-node-link:hover{text-decoration:none;color:#0f172a}.page-node-link.active{color:#0f172a;font-weight:500}.page-node-row:has(.page-node-link.active){background:#e2e8f0}.page-add-sub-btn{flex-shrink:0;background:transparent;border:none;color:#64748b;font-size:13px;padding:2px 5px;border-radius:3px;line-height:1;opacity:0;transition:opacity .1s}.page-add-sub-btn:hover{background:#cbd5e1;color:#0f172a}.page-children{padding-left:12px}.page-rename-input{flex:1;background:#fff;border:1px solid #334155;border-radius:3px;color:#0f172a;font-size:13px;padding:2px 6px;min-width:0}.drag-handle{flex-shrink:0;width:14px;color:#cbd5e1;font-size:10px;cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;padding:4px 0;opacity:0;transition:opacity .1s}.drag-handle:active{cursor:grabbing}.page-node-row:hover .drag-handle{opacity:1}.folder-row .folder-icon{flex-shrink:0;width:18px;color:#64748b;font-size:12px;text-align:center}.folder-link{flex:1;padding:4px;color:#0f172a;font-size:13px;font-weight:500;border:none;background:transparent;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.folder-link:hover{color:#0f172a}.page-node-row.drop-before:before,.page-node-row.drop-after:after{content:"";position:absolute;left:16px;right:4px;height:2px;background:#2563eb;border-radius:2px;pointer-events:none}.page-node-row.drop-before:before{top:-1px}.page-node-row.drop-after:after{bottom:-1px}.page-node-row.drop-as-child{outline:2px solid #2563eb;outline-offset:-2px;background:#2563eb14}.sidebar-dnd-error{color:#dc2626;padding:4px 8px}.context-menu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:4px;box-shadow:0 4px 12px #0f172a26;min-width:140px}.context-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:#0f172a;padding:6px 12px;border-radius:4px;font-size:13px}.context-menu-item:hover{background:#f1f5f9}.context-menu-item-danger{color:#c0392b}.context-menu-item-danger:hover{background:#fef2f2}.sidebar-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.sidebar-dialog{width:min(460px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 20px 50px #0f172a38;overflow:hidden}.sidebar-dialog-header{padding:18px 20px 12px;border-bottom:1px solid #e2e8f0}.sidebar-dialog-header h3{margin:0;font-size:16px;font-weight:600;color:#0f172a}.sidebar-dialog-body{display:flex;flex-direction:column;gap:10px;padding:18px 20px}.sidebar-dialog-label{font-size:13px;font-weight:600;color:#334155}.sidebar-dialog-select{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;background:#fff;color:#0f172a}.sidebar-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 18px}.sidebar-dialog-btn{border:none;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:600}.sidebar-dialog-btn:disabled{opacity:.6;cursor:wait}.sidebar-dialog-btn-secondary{background:#e2e8f0;color:#0f172a}.sidebar-dialog-btn-secondary:hover:not(:disabled){background:#cbd5e1}.sidebar-dialog-btn-primary{background:#0f172a;color:#fff}.sidebar-dialog-btn-primary:hover:not(:disabled){background:#1e293b}.new-page-parent-hint{font-size:13px;color:#64748b;background:#f1f5f9;border-left:3px solid #334155;padding:6px 10px;border-radius:0 4px 4px 0}.main-content{flex:1;min-width:0;overflow-y:auto;background:#f8fafc}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f1f5f9}.auth-form{width:100%;max-width:400px;padding:32px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0f172a1a;display:flex;flex-direction:column;gap:16px}.auth-form h1{font-size:22px;font-weight:600;text-align:center;color:#0f172a}.auth-form button[type=submit]{padding:10px;font-size:14px;background:#334155;color:#fff;border:none;margin-top:8px}.auth-form button[type=submit]:hover{background:#1e293b}.form-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:8px 12px;border-radius:6px;font-size:13px}.auth-switch{text-align:center;font-size:13px;color:#64748b}.workspace-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:8px;color:#64748b}.page-list{max-width:960px;margin:0 auto;padding:32px 24px}.page-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-list-header h1{font-size:24px;font-weight:600;color:#0f172a}.page-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0f172a14}.page-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.page-table td{padding:12px 16px;border-bottom:1px solid #e2e8f0}.page-row{cursor:pointer;transition:background .1s}.page-row:hover{background:#f1f5f9}.page-title-link{font-weight:500;color:#0f172a}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-draft{background:#fef9c3;color:#854d0e}.badge-published{background:#bbf7d0;color:#14532d}.badge-archived{background:#f1f5f9;color:#64748b}.date-cell{color:#64748b;font-size:13px}.page-list-total{margin-top:12px;text-align:center;font-size:13px;color:#94a3b8}.empty-state{text-align:center;padding:48px 24px;color:#94a3b8;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0f172a0f}.new-page{max-width:520px;margin:48px auto;padding:0 24px}.new-page-form{background:#fff;padding:32px;border-radius:12px;box-shadow:0 1px 3px #0f172a1a;display:flex;flex-direction:column;gap:16px}.new-page-form h1{font-size:22px;font-weight:600;color:#0f172a}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.page-editor{display:flex;flex-direction:column;height:100%}.editor-main{flex:1;display:flex;flex-direction:column;min-height:0}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid #e2e8f0;background:#fff}.editor-title{font-size:18px;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-header-actions{display:flex;align-items:center;gap:12px}.mode-toggle{display:flex;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.mode-btn{padding:4px 12px;font-size:12px;font-weight:500;border:none;border-radius:0;background:#f8fafc;color:#64748b}.mode-btn:hover{background:#f1f5f9}.mode-btn.active{background:#334155;color:#fff}.mode-btn.active:hover{background:#1e293b}.btn-save{padding:6px 16px;font-size:13px;font-weight:500}.editor-area{flex:1;overflow:auto}.source-editor{width:100%;height:100%;border:none;border-radius:0;resize:none;padding:24px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px;line-height:1.7;background:#fff;color:#0f172a;outline:none}.source-editor:focus{box-shadow:none}.editor-status{display:flex;align-items:center;justify-content:space-between;padding:6px 24px;font-size:12px;color:#94a3b8;background:#fff;border-top:1px solid #e2e8f0}.unsaved-indicator{color:#d47c0e;font-weight:500}.freshness-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap;cursor:help;border:1px solid transparent;margin-left:8px}.freshness-badge-ai{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.freshness-badge-human{color:#0f6c3d;background:#e9f7ef;border-color:#b7e4c7}.freshness-badge-stale{color:#92400e;background:#fef3c7;border-color:#fde68a}.freshness-badge-none{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.btn-publish{padding:6px 16px;font-size:13px;font-weight:500;background:#1e293b;color:#fff;border-color:#1e293b}.btn-publish:hover{background:#0f172a;border-color:#0f172a;color:#fff}.btn-publish:disabled{opacity:.5}.publish-banner{display:flex;align-items:center;gap:12px;padding:8px 24px;background:#bbf7d0;color:#14532d;font-size:13px;border-bottom:1px solid #86efac}.publish-banner-link{color:#166534;font-weight:500;text-decoration:underline}.publish-banner .btn-close-panel{margin-left:auto;color:#14532d}.publish-banner-confirm{background:#fef9c3;color:#854d0e;border-bottom-color:#fde68a}.publish-banner-confirm .btn-close-panel{color:#854d0e}.publish-banner-error{background:#fef2f2;color:#dc2626;border-bottom-color:#fecaca}.publish-banner-error .btn-close-panel{color:#dc2626}.btn-sm{padding:3px 10px;font-size:12px}.btn-close-panel{background:transparent;border:none;font-size:18px;color:#64748b;padding:2px 6px;line-height:1}.btn-close-panel:hover{color:#0f172a;background:transparent}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,calc(100vw - 48px));min-width:0;height:100dvh;z-index:40;box-shadow:0 18px 48px #0f172a38}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:none;border-radius:0;padding:0;background:#1118272e;z-index:30}.sidebar-collapsed .sidebar-backdrop{display:none}.main-content{width:100%;min-height:100dvh}.main-content.sidebar-toggle-visible{padding-top:56px}.sidebar-expand-btn{position:fixed;top:10px;left:10px;padding:8px 10px;z-index:50}.page-list{padding:24px 16px}.page-list-header{flex-direction:column;align-items:flex-start;gap:12px}.new-page{margin:24px auto;padding:0 16px}.new-page-form{padding:24px 20px}.page-editor{min-height:100%}.editor-header{padding:12px 16px;flex-wrap:wrap;align-items:flex-start;gap:12px}.editor-title{width:100%;white-space:normal}.editor-header-actions{width:100%;flex-wrap:wrap;gap:8px}.editor-status{flex-wrap:wrap;gap:8px;padding:8px 16px 12px}.publish-banner{flex-wrap:wrap;padding:8px 16px}}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:10000}.confirm-dialog{background:#fff;border-radius:10px;padding:20px 22px 16px;box-shadow:0 24px 48px #0f172a40;width:min(440px,92vw);display:flex;flex-direction:column;gap:12px}.confirm-dialog-title{margin:0;font-size:16px;font-weight:600;color:#0f172a}.confirm-dialog-message{margin:0;font-size:13.5px;line-height:1.55;color:#334155;white-space:pre-wrap}.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px}.btn-confirm-danger{background:#c0392b;color:#fff;border-color:#c0392b}.btn-confirm-danger:hover{background:#a52d23;border-color:#a52d23;color:#fff}.trash-page{padding:24px 32px;max-width:960px;margin:0 auto}.trash-page h1{margin:0 0 4px;font-size:20px}.trash-page-description{margin:0 0 16px;color:#475569;font-size:13px}.trash-table{width:100%;border-collapse:collapse;font-size:14px}.trash-table th,.trash-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #e2e8f0}.trash-table th{font-weight:600;color:#475569;background:#f8fafc}.trash-table tr:hover td{background:#f8fafc}.trash-actions{display:flex;gap:8px;justify-content:flex-end}.trash-empty{padding:36px 12px;text-align:center;color:#64748b;background:#f8fafc;border-radius:8px}.tiptap-editor{display:flex;flex-direction:column;height:100%}.editor-loading{display:flex;align-items:center;justify-content:center;height:200px;color:#64748b}.editor-toolbar{display:flex;align-items:center;gap:2px;padding:8px 16px;background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.toolbar-group{display:flex;gap:2px}.toolbar-divider{width:1px;height:20px;background:#e2e8f0;margin:0 6px}.toolbar-btn{min-width:28px;height:28px;padding:0 6px;border:none;border-radius:4px;font-size:12px;font-weight:600;color:#64748b;background:transparent;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:#f8fafc;color:#0f172a}.toolbar-btn.active{background:#e2e8f0;color:#0f172a}.toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.toolbar-btn:disabled:hover{background:transparent;color:#64748b}.tiptap-content{flex:1;overflow-y:auto}.tiptap-content .tiptap{padding:24px;max-width:800px;margin:0 auto;outline:none;min-height:100%}.tiptap-content .tiptap>*:first-child{margin-top:0}.tiptap-content .tiptap h1{font-size:28px;font-weight:700;margin:32px 0 12px;line-height:1.3}.tiptap-content .tiptap h2{font-size:22px;font-weight:600;margin:28px 0 10px;line-height:1.3}.tiptap-content .tiptap h3{font-size:18px;font-weight:600;margin:24px 0 8px;line-height:1.4}.tiptap-content .tiptap h4{font-size:16px;font-weight:600;margin:20px 0 8px}.tiptap-content .tiptap p{margin:8px 0;line-height:1.7}.tiptap-content .tiptap strong{font-weight:600}.tiptap-content .tiptap code{background:#f8fafc;padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9em}.tiptap-content .tiptap ul,.tiptap-content .tiptap ol{padding-left:24px;margin:8px 0}.tiptap-content .tiptap li{margin:4px 0}.tiptap-content .tiptap li p{margin:0}.tiptap-content .tiptap ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-content .tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.tiptap-content .tiptap ul[data-type=taskList] li label{flex-shrink:0;margin-top:3px}.tiptap-content .tiptap ul[data-type=taskList] li>div{flex:1}.tiptap-content .tiptap blockquote{border-left:3px solid #e2e8f0;padding-left:16px;margin:12px 0;color:#64748b}.tiptap-content .tiptap pre{background:#1e1e2e;color:#cdd6f4;padding:16px 20px;border-radius:8px;margin:12px 0;overflow-x:auto;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6}.tiptap-content .tiptap pre code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit}.tiptap-content .tiptap hr{border:none;border-top:1px solid #e2e8f0;margin:24px 0}.tiptap-content .tiptap img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}.tiptap-content .tiptap table{border-collapse:collapse;width:100%;margin:12px 0}.tiptap-content .tiptap th,.tiptap-content .tiptap td{border:1px solid #e2e8f0;padding:8px 12px;text-align:left}.tiptap-content .tiptap th{background:#f8fafc;font-weight:600}.tiptap-content .tiptap a{color:#2563eb;cursor:pointer}.tiptap-content .tiptap a:hover{text-decoration:underline}.tiptap-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#64748b;pointer-events:none;height:0}.tiptap-content .tiptap pre .hljs-comment,.tiptap-content .tiptap pre .hljs-quote{color:#6c7086}.tiptap-content .tiptap pre .hljs-keyword,.tiptap-content .tiptap pre .hljs-selector-tag{color:#cba6f7}.tiptap-content .tiptap pre .hljs-string,.tiptap-content .tiptap pre .hljs-addition{color:#a6e3a1}.tiptap-content .tiptap pre .hljs-number,.tiptap-content .tiptap pre .hljs-literal{color:#fab387}.tiptap-content .tiptap pre .hljs-built_in,.tiptap-content .tiptap pre .hljs-type{color:#f9e2af}.tiptap-content .tiptap pre .hljs-attr,.tiptap-content .tiptap pre .hljs-variable,.tiptap-content .tiptap pre .hljs-title,.tiptap-content .tiptap pre .hljs-section{color:#89b4fa}.tiptap-content .tiptap pre .hljs-deletion{color:#f38ba8}@media(max-width:768px){.editor-toolbar{padding:8px 12px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.toolbar-group,.toolbar-divider{flex-shrink:0}.tiptap-content .tiptap{padding:20px 16px 32px}}.page-editor.with-history{flex-direction:row}.page-editor.with-history .editor-main{flex:1;display:flex;flex-direction:column;min-width:0}.revision-panel{width:380px;min-width:380px;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;height:100%}.revision-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0}.revision-panel-header h2{font-size:15px;font-weight:600}.revision-list{flex:1;overflow-y:auto;padding:8px}.revision-entry{padding:10px 12px;border-radius:6px;cursor:pointer;border:1px solid transparent;margin-bottom:4px}.revision-entry:hover{background:#f8fafc}.revision-entry.selected{background:#eff6ff;border-color:#bfdbfe}.revision-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.revision-time{font-size:12px;color:#64748b}.revision-badges{display:flex;gap:4px}.badge-actor,.badge-source{display:inline-block;padding:1px 6px;border-radius:99px;font-size:10px;font-weight:600;text-transform:uppercase}.badge-actor-user{background:#dbeafe;color:#1e40af}.badge-actor-ai{background:#f3e8ff;color:#6b21a8}.badge-actor-system{background:#e2e8f0;color:#334155}.badge-source-editor{background:#d1fae5;color:#065f46}.badge-source-rollback{background:#fef3c7;color:#92400e}.badge-source-ingest_api{background:#fce7f3;color:#9d174d}.badge-source-publish{background:#e0e7ff;color:#3730a3}.revision-note{font-size:12px;color:#334155;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revision-changed{font-size:11px;color:#64748b;margin-top:2px}.revision-actions{display:flex;gap:6px;margin-top:8px}.btn-view-diff,.btn-rollback,.btn-view-source{font-size:11px;padding:3px 8px}.btn-rollback{color:#d97706;border-color:#fbbf24}.btn-rollback:hover{background:#fffbeb}.btn-view-source{color:#4338ca;border-color:#c7d2fe}.btn-view-source:hover{background:#eef2ff}.badge-has-source{display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#4338ca;cursor:help;margin-left:2px}.source-panel-body{padding:4px 0}.source-panel-meta{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:6px;font-size:12px;margin:0 0 16px}.source-panel-meta dt{color:#64748b;font-weight:500}.source-panel-meta dd{margin:0;color:#0f172a}.source-panel-section{margin-top:12px}.source-panel-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:4px}.source-panel-reason{font-size:12px;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:8px 10px;white-space:pre-wrap}.revision-initial{font-size:11px;color:#64748b;font-style:italic;margin-top:4px}.diff-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center}.diff-viewer-modal{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.diff-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.diff-viewer-header h3{font-size:16px;font-weight:600}.diff-summary{font-size:12px;color:#64748b}.diff-content{flex:1;overflow:auto;padding:0}.diff-content pre{margin:0;padding:16px 20px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-all}.diff-line{display:block;padding:0 8px;margin:0 -8px}.diff-line-add{background:#dcfce7;color:#166534}.diff-line-remove{background:#fef2f2;color:#991b1b}.diff-line-hunk{background:#eff6ff;color:#1e40af;font-weight:600;margin-top:8px}.diff-line-header{color:#64748b}.diff-empty{padding:32px;text-align:center;color:#64748b}.revision-list-loading,.revision-list-empty{padding:24px;text-align:center;color:#64748b;font-size:13px}.page-editor.with-graph{flex-direction:row}.page-editor.with-graph .editor-main{flex:1;display:flex;flex-direction:column;min-width:0}.graph-panel{position:relative;width:760px;min-width:280px;flex-shrink:0;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;height:100%}.graph-panel.has-selection .graph-container{flex:1 1 60%}.graph-panel.is-resizing{-webkit-user-select:none;user-select:none}.graph-panel-resizer{position:absolute;top:0;bottom:0;left:-3px;width:6px;cursor:ew-resize;z-index:10;background:transparent;transition:background-color .12s ease;touch-action:none}.graph-panel-resizer:hover,.graph-panel.is-resizing .graph-panel-resizer{background:#3b82f640}.graph-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0}.graph-panel-header h2{font-size:15px;font-weight:600}.graph-toolbar{display:flex;flex-direction:column;gap:10px;padding:10px 16px 12px;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafcf5,#fffffff5)}.graph-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.graph-controls-label{font-size:12px;color:#64748b;margin-right:2px;font-weight:600}.graph-controls-sep{width:1px;align-self:stretch;background:#e2e8f0;margin:0 2px}.graph-range-control{display:inline-flex;align-items:center;gap:8px}.graph-range-control input{width:120px}.graph-range-value{min-width:28px;font-size:12px;font-variant-numeric:tabular-nums;color:#334155}.graph-filter-groups{display:flex;flex-direction:column;gap:10px}.graph-filter-group{display:flex;align-items:flex-start;gap:10px}.graph-chip-list{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.graph-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.graph-chip:hover{background:#f8fafc}.graph-chip.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;font-weight:600}.graph-chip-count{border-radius:999px;background:#94a3b829;padding:1px 6px;font-size:11px;color:inherit}.graph-meta-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:12px;color:#64748b;border-bottom:1px solid #e2e8f0;background:#f8fafc}.graph-meta-pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;background:#e2e8f0;color:#475569}.graph-meta-pill.active{background:#dbeafe;color:#1d4ed8}.depth-btn{font-size:12px;padding:2px 10px;border-radius:4px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;cursor:pointer;line-height:1.4}.depth-btn:hover{background:#f8fafc}.depth-btn.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.graph-container{flex:1;position:relative;overflow:hidden;min-height:200px}.graph-container canvas{display:block}.graph-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;color:#64748b;font-size:13px}.graph-truncated-notice{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#ffffffe6;border:1px solid #e2e8f0;border-radius:4px;padding:4px 10px;font-size:11px;color:#64748b;white-space:nowrap}.node-inspector{flex:0 0 40%;min-height:220px;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;flex-direction:column;min-width:0}.node-inspector-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:#fff}.node-inspector-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.node-inspector-title-row h3{font-size:15px;font-weight:700;color:#0f172a}.node-inspector-type-chip{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize}.node-inspector-subtitle{margin-top:4px;font-size:12px;color:#64748b}.node-inspector-body{flex:1;overflow-y:auto;padding:12px 16px 16px}.node-inspector-section{display:flex;flex-direction:column;gap:10px}.node-inspector-section+.node-inspector-section{margin-top:14px}.node-inspector-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-inspector-section-header h4{font-size:12px;font-weight:700;color:#334155;letter-spacing:.02em;text-transform:uppercase}.node-inspector-section-meta{font-size:11px;color:#64748b}.node-relations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.node-relation-group,.node-alias-list{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.node-relation-group-title{font-size:12px;font-weight:700;color:#0f172a}.node-relation-empty{font-size:12px;color:#64748b}.node-relation-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:10px;cursor:pointer;text-align:left}.node-relation-row:hover{background:#eff6ff;border-color:#bfdbfe}.node-relation-predicate{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8}.node-relation-target{min-width:0;font-size:13px;font-weight:600;color:#0f172a}.node-alias-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:9px 10px}.node-alias-row.rejected{opacity:.7}.node-alias-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.node-alias-text{min-width:0;font-size:13px;font-weight:600;color:#0f172a;overflow-wrap:anywhere}.node-alias-meta{font-size:11px;color:#64748b}.node-alias-reject-btn{border:1px solid #fecaca;background:#fff;color:#b91c1c;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.node-alias-reject-btn:hover:not(:disabled){background:#fef2f2}.node-alias-reject-btn:disabled{opacity:.65;cursor:default}.node-rejected-aliases{font-size:12px;color:#475569}.node-rejected-aliases summary{cursor:pointer}.node-source-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.node-source-copy{min-width:0;flex:1}.node-source-title{font-size:13px;font-weight:600;color:#1d4ed8}.node-source-reason{margin-top:4px;font-size:12px;color:#475569}.node-source-excerpt{margin-top:6px;font-size:12px;color:#64748b;font-style:italic;line-height:1.5}.node-source-open-btn{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.node-source-open-btn:hover:not(:disabled){background:#dbeafe}.node-source-open-btn:disabled{opacity:.65;cursor:default}.node-inspector-evidence{margin-top:14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.node-inspector-evidence summary{padding:12px;font-size:13px;font-weight:600;color:#0f172a;cursor:pointer}.node-inspector-evidence-list{display:flex;flex-direction:column;gap:12px;padding:0 12px 12px}.node-evidence-group{display:flex;flex-direction:column;gap:8px}.node-evidence-page{font-size:12px;font-weight:600;color:#334155}.node-evidence-row{display:flex;gap:8px;font-size:12px;color:#475569;line-height:1.5}.node-evidence-predicate{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8;flex-shrink:0}.node-evidence-empty{font-size:12px;color:#64748b}.node-inspector-footer{margin-top:12px;font-size:12px;color:#64748b}@media(max-width:960px){.graph-filter-group{flex-direction:column}.graph-meta-bar{flex-wrap:wrap}.node-relations-grid{grid-template-columns:1fr}.node-source-row{flex-direction:column}}.review-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:24px;gap:16px}.review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.review-header h1{font-size:20px;font-weight:600;margin:0}.review-subtitle{font-size:13px;color:#64748b;margin:4px 0 0}.review-shortcut-hint{font-size:11px;color:#64748b;padding:4px 8px;background:#f8fafc;border-radius:4px;white-space:nowrap}.review-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0}.review-tab{padding:8px 16px;font-size:13px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.review-tab:hover{color:#0f172a}.review-tab.active{color:#1e40af;border-bottom-color:#1e40af}.review-tab-count{display:inline-block;min-width:20px;padding:1px 6px;font-size:11px;font-weight:600;background:#dbeafe;color:#1e40af;border-radius:99px;text-align:center}.review-body{display:flex;flex:1;min-height:0;gap:0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.review-list{width:340px;min-width:340px;border-right:1px solid #e2e8f0;overflow-y:auto;padding:8px}.review-item{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:4px;background:#fff;border:1px solid transparent;border-radius:6px;cursor:pointer}.review-item:hover{background:#f8fafc}.review-item.selected{background:#eff6ff;border-color:#bfdbfe}.review-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.review-confidence{font-size:11px;font-weight:600;color:#64748b}.review-item-target{font-size:13px;font-weight:500;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.review-item-meta{display:flex;gap:8px;align-items:center;font-size:11px;color:#64748b;flex-wrap:wrap}.review-item-reason{font-size:11px;color:#64748b;margin-top:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.review-action-chip{padding:1px 6px;font-size:10px;font-weight:600;text-transform:uppercase;background:#f8fafc;color:#334155;border-radius:99px}.review-source{color:#6366f1;font-weight:500}.review-time{color:#64748b}.review-badge{display:inline-block;padding:1px 8px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:99px}.review-badge-suggested{background:#fef3c7;color:#92400e}.review-badge-needs_review{background:#fee2e2;color:#991b1b}.review-badge-failed{background:#fecaca;color:#7f1d1d}.review-badge-auto_applied,.review-badge-approved{background:#d1fae5;color:#065f46}.review-badge-rejected,.review-badge-noop{background:#e2e8f0;color:#334155}.review-detail{flex:1;overflow-y:auto;padding:20px;min-width:0}.review-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:13px}.review-detail-body{display:flex;flex-direction:column;gap:20px}.review-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.review-detail-title{font-size:16px;font-weight:600;margin-bottom:6px;color:#0f172a}.review-detail-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:#64748b}.review-detail-section{display:flex;flex-direction:column;gap:6px}.review-detail-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#64748b;letter-spacing:.05em}.review-detail-label-sub{text-transform:none;font-weight:500;color:#64748b}.review-detail-reason{font-size:13px;color:#0f172a;line-height:1.5;padding:10px 12px;background:#f8fafc;border-radius:6px;border-left:3px solid #6366f1}.review-diff{margin:0;padding:12px 16px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;background:#0f172a08;border-radius:6px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.review-content-preview{margin:0;padding:12px 16px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.5;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#0f172a}.review-detail-collapsible{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px}.review-detail-collapsible summary{cursor:pointer;font-size:12px;font-weight:600;color:#334155;-webkit-user-select:none;user-select:none}.review-detail-collapsible summary:hover{color:#0f172a}.review-detail-collapsible[open] summary{margin-bottom:8px}.review-detail-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:12px;border-top:1px solid #e2e8f0}.review-reject-form{width:100%;display:flex;flex-direction:column;gap:8px}.review-reject-form label{font-size:12px;font-weight:600;color:#334155}.review-reject-form textarea{width:100%;padding:8px 10px;font-size:13px;font-family:inherit;border:1px solid #e2e8f0;border-radius:6px;resize:vertical}.review-reject-buttons{display:flex;gap:8px;justify-content:flex-end}.review-detail-actions .btn,.review-reject-buttons .btn{padding:6px 14px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid #e2e8f0;cursor:pointer;background:#fff;color:#0f172a}.review-detail-actions .btn:hover,.review-reject-buttons .btn:hover{background:#f8fafc}.review-detail-actions .btn-primary,.review-reject-buttons .btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.review-detail-actions .btn-primary:hover,.review-reject-buttons .btn-primary:hover{background:#1d4ed8}.review-detail-actions .btn-danger,.review-reject-buttons .btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.review-detail-actions .btn-danger:hover,.review-reject-buttons .btn-danger:hover{background:#b91c1c}.review-detail-actions .btn:disabled,.review-reject-buttons .btn:disabled{opacity:.5;cursor:not-allowed}.review-conflict-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;font-size:10px;font-weight:600;color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.review-conflict-banner{border:1px solid #fca5a5;background:#fef2f2;border-left:4px solid #dc2626;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.review-conflict-title{font-size:13px;font-weight:600;color:#991b1b}.review-conflict-body{font-size:13px;color:#7f1d1d;line-height:1.45}.review-conflict-hint{font-size:12px;color:#b45309;margin-top:4px}.ingestion-detail-page{padding:24px;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.ingestion-detail-breadcrumb{font-size:13px}.ingestion-breadcrumb-link{background:none;border:none;color:#2563eb;cursor:pointer;padding:4px 0;font-size:13px}.ingestion-breadcrumb-link:hover{text-decoration:underline}.ingestion-detail-empty{padding:40px;text-align:center;color:#64748b;font-size:13px}.ingestion-detail-header h1{margin:0 0 8px;font-size:22px;font-weight:600;color:#0f172a}.ingestion-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#475569}.ingestion-meta-chip{padding:2px 8px;background:#f1f5f9;border-radius:4px;font-size:11px;color:#334155}.ingestion-meta-time{color:#64748b;margin-left:4px}.ingestion-detail-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.ingestion-detail-section h2{margin:0;font-size:14px;font-weight:600;color:#0f172a}.ingestion-detail-actions{display:flex;align-items:center;gap:12px}.ingestion-detail-actions .btn-secondary{padding:6px 14px;font-size:13px;font-weight:500;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer}.ingestion-detail-actions .btn-secondary:hover:not(:disabled){background:#f8fafc}.ingestion-detail-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.ingestion-decision-list{display:flex;flex-direction:column;gap:12px}.ingestion-decision-panel{border:1px solid #e2e8f0;border-radius:8px;padding:16px;background:#f8fafc;display:flex;flex-direction:column;gap:12px}.ingestion-decision-header{display:flex;flex-direction:column;gap:6px}.ingestion-decision-title{font-size:14px;font-weight:600;color:#0f172a}.ingestion-decision-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#475569}.ingestion-decision-time{color:#64748b;margin-left:auto}.ingestion-decision-loading,.ingestion-decision-error{font-size:12px;color:#64748b}.ingestion-decision-error{color:#dc2626}.ingestion-candidate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ingestion-candidate{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.ingestion-candidate.selected{border-color:#2563eb;background:#eff6ff}.ingestion-candidate-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ingestion-candidate-title{color:#0f172a;text-decoration:none;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingestion-candidate-title:hover{color:#2563eb;text-decoration:underline}.ingestion-candidate-selected-chip{padding:2px 6px;font-size:10px;font-weight:600;background:#2563eb;color:#fff;border-radius:4px}.ingestion-candidate-sources{display:flex;gap:4px;flex-wrap:wrap}.ingestion-candidate-slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#64748b}.ingestion-candidates-empty{padding:12px;font-size:12px;color:#64748b;font-style:italic}.ingestion-match-chip{padding:1px 6px;font-size:10px;font-weight:500;border-radius:4px;border:1px solid transparent}.ingestion-match-title{background:#fef3c7;color:#92400e}.ingestion-match-fts{background:#dbeafe;color:#1e40af}.ingestion-match-trigram{background:#ede9fe;color:#5b21b6}.ingestion-match-entity{background:#d1fae5;color:#065f46}.review-detail-link{font-size:12px;color:#2563eb;text-decoration:none;white-space:nowrap}.review-detail-link:hover{text-decoration:underline}.sidebar-nav-top{padding:4px 10px 0}.sidebar-nav-link{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:13px;color:#0f172a;text-decoration:none;border-radius:6px;cursor:pointer}.sidebar-nav-link:hover{background:#f8fafc}.sidebar-nav-link.active{background:#dbeafe;color:#1e40af;font-weight:500}.sidebar-nav-badge{display:inline-block;min-width:20px;padding:0 6px;font-size:11px;font-weight:600;background:#dc2626;color:#fff;border-radius:99px;text-align:center}.import-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:24px;gap:16px}.import-header h1{font-size:20px;font-weight:600;margin:0}.import-subtitle{font-size:13px;color:#64748b;margin:4px 0 0}.import-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0}.import-tab{padding:8px 16px;font-size:13px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.import-tab:hover{color:#0f172a}.import-tab.active{color:#0f172a;border-bottom-color:#0f172a}.import-body{flex:1;min-height:0;overflow:auto}.import-panel{display:flex;flex-direction:column;gap:16px;max-width:720px}.import-dropzone{border:2px dashed #cbd5e1;border-radius:8px;padding:32px 24px;text-align:center;cursor:pointer;background:#f8fafc;transition:border-color .1s ease,background .1s ease}.import-dropzone:hover,.import-dropzone.active{border-color:#334155;background:#f1f5f9}.import-drop-hint{margin:0 0 4px;font-size:14px;font-weight:500;color:#0f172a}.import-drop-types{margin:0 0 12px;font-size:12px;color:#64748b}.import-primary-btn{align-self:flex-start;padding:8px 16px;font-size:13px;font-weight:500;color:#fff;background:#0f172a;border:none;border-radius:6px;cursor:pointer}.import-primary-btn:hover:not(:disabled){background:#1e293b}.import-primary-btn:disabled{background:#94a3b8;cursor:not-allowed}.import-field{display:flex;flex-direction:column;gap:6px}.import-field-label{font-size:12px;font-weight:500;color:#475569}.import-input,.import-textarea{padding:8px 10px;font-size:13px;font-family:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;box-sizing:border-box}.import-input:focus,.import-textarea:focus{outline:none;border-color:#0f172a}.import-textarea{min-height:220px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.import-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569;cursor:pointer}.import-row-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.import-row{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.import-row-name{font-weight:500;color:#0f172a;word-break:break-all}.import-row-meta{display:flex;gap:12px;font-size:12px;color:#64748b}.import-row-status{font-weight:500}.import-row-pending .import-row-status{color:#64748b}.import-row-uploading .import-row-status{color:#d97706}.import-row-queued .import-row-status{color:#16a34a}.import-row-replayed .import-row-status{color:#0284c7}.import-row-error .import-row-status{color:#dc2626}.import-row-message{font-size:12px;color:#dc2626;word-break:break-word}.import-result{padding:10px 12px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:12px}.import-result-queued{background:#ecfdf5;color:#166534}.import-result-replayed{background:#eff6ff;color:#1d4ed8}.import-result-error{background:#fef2f2;color:#991b1b}.import-link-btn{background:none;border:none;padding:0;font-size:13px;color:inherit;text-decoration:underline;cursor:pointer}.api-guide-panel{display:flex;flex-direction:column;gap:16px;max-width:760px}.api-guide-desc{font-size:13px;color:#64748b;margin:0}.api-guide-workspace-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:12px}.api-guide-workspace-label{color:#64748b;white-space:nowrap}.api-guide-workspace-id-val{font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:12px;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis}.api-guide-section{display:flex;flex-direction:column;gap:4px}.api-guide-section-title{font-size:13px;font-weight:600;color:#0f172a;margin:0}.api-guide-section-desc{font-size:12px;color:#64748b;margin:0}.api-guide-code-container{border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.api-guide-langs{display:flex;align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:0 4px}.api-guide-lang{padding:7px 12px;font-size:12px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.api-guide-lang:hover{color:#0f172a}.api-guide-lang.active{color:#0f172a;border-bottom-color:#0f172a}.api-guide-copy-btn{padding:4px 10px;font-size:12px;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;white-space:nowrap}.api-guide-copy-btn:hover{color:#0f172a;border-color:#94a3b8}.api-guide-copy-float{margin-left:auto}.api-guide-code{margin:0;padding:14px 16px;background:#0f172a;overflow-x:auto;white-space:pre}.api-guide-code code{font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:12px;line-height:1.6;color:#e2e8f0}.api-guide-fields{width:100%;border-collapse:collapse;font-size:12px}.api-guide-fields td{padding:6px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top;color:#374151}.api-guide-fields tr:last-child td{border-bottom:none}.api-guide-fields td:first-child{white-space:nowrap;min-width:160px}.api-guide-fields code{font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:12px;color:#7c3aed;background:#f5f3ff;padding:1px 4px;border-radius:3px}.api-guide-info-box{padding:10px 14px;border-left:3px solid #e2e8f0;background:#f8fafc;border-radius:0 4px 4px 0}.api-guide-info-box p{margin:4px 0 0;font-size:12px;color:#64748b}.api-guide-info-box strong{font-size:12px;color:#0f172a}.api-guide-info-box-warn{border-left-color:#fbbf24}.import-destination{margin:16px 0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.import-destination-header{margin-bottom:8px}.import-destination-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#0f172a}.import-destination-help{margin:0;font-size:12px;color:#64748b}.import-destination-toggle{margin-top:10px}.import-destination-toggle-help{margin:4px 0 0 24px;font-size:11px;color:#64748b}.import-workspace-default{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #e2e8f0;font-size:12px;color:#475569}.destination-picker-tree{margin-top:8px;max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;background:#fff;padding:4px 0}.destination-picker-row{display:flex;align-items:center;gap:4px;padding:2px 6px;font-size:13px;cursor:default}.destination-picker-row.selected{background:#dbeafe}.destination-picker-toggle{width:16px;border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:12px;padding:0}.destination-picker-toggle.disabled,.destination-picker-toggle:disabled{cursor:default;color:#cbd5e1}.destination-picker-label{flex:1;display:flex;align-items:center;gap:6px;border:none;background:transparent;text-align:left;cursor:pointer;padding:2px 4px;color:#0f172a}.destination-picker-label:hover{background:#eef2ff;border-radius:4px}.destination-picker-icon{font-size:13px}.destination-picker-loading,.destination-picker-error{font-size:12px;color:#64748b;padding:8px}.destination-picker-error{color:#dc2626}.queue-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:24px;gap:16px;overflow-y:auto}.queue-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.queue-header h1{font-size:20px;font-weight:600;margin:0}.queue-subtitle{font-size:13px;color:#64748b;margin:4px 0 0}.queue-updated{font-size:12px;color:#94a3b8;margin:4px 0 0}.queue-header-actions{display:flex;align-items:center;gap:12px}.queue-auto-refresh{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.queue-header-actions .btn{padding:6px 14px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid #cbd5e1;cursor:pointer;background:#fff;color:#0f172a}.queue-header-actions .btn:hover:not(:disabled){background:#f8fafc}.queue-header-actions .btn:disabled{opacity:.5;cursor:not-allowed}.queue-error{padding:10px 12px;background:#fee2e2;color:#991b1b;border-radius:6px;font-size:13px}.queue-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.queue-card{display:flex;flex-direction:column;gap:10px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;text-align:left;cursor:pointer;transition:border-color .1s}.queue-card:hover{border-color:#94a3b8}.queue-card.selected{border-color:#1e40af;box-shadow:0 0 0 1px #1e40af}.queue-card.has-failed{border-color:#dc2626}.queue-card.has-failed.selected{box-shadow:0 0 0 1px #dc2626}.queue-card.has-stalled{border-top:3px solid #f59e0b}.queue-card-head{display:flex;justify-content:space-between;align-items:center}.queue-card-name{font-size:14px;font-weight:600;color:#0f172a;text-transform:capitalize}.queue-state{padding:1px 8px;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:99px}.queue-state.running{background:#d1fae5;color:#065f46}.queue-state.paused{background:#fee2e2;color:#991b1b}.queue-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.queue-metric{display:flex;flex-direction:column;align-items:flex-start;padding:6px 8px;background:#f8fafc;border-radius:4px}.queue-metric-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.queue-metric-value{font-size:16px;font-weight:600;color:#0f172a}.queue-metric.metric-failed.non-zero .queue-metric-value{color:#dc2626}.queue-metric.metric-stalled.non-zero .queue-metric-value{color:#b45309}.queue-metric.metric-active.non-zero .queue-metric-value{color:#1e40af}.queue-jobs{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;flex:1;min-height:0}.queue-jobs-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.queue-jobs-tabs{display:flex;gap:4px}.queue-jobs-tab{padding:6px 14px;font-size:13px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.queue-jobs-tab.active{color:#1e40af;border-bottom-color:#1e40af}.queue-jobs-selected{font-size:12px;font-weight:500;color:#64748b;text-transform:capitalize;padding:2px 8px;background:#f1f5f9;border-radius:4px}.queue-jobs-body{flex:1;overflow-y:auto}.queue-empty{display:flex;align-items:center;justify-content:center;padding:48px 12px;color:#94a3b8;font-size:13px}.queue-job-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.queue-job-item{padding:12px;background:#fefefe;border:1px solid #e2e8f0;border-left:3px solid #dc2626;border-radius:6px}.queue-job-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.queue-job-name{font-size:13px;font-weight:600;color:#0f172a}.queue-job-attempts,.queue-job-time{font-size:11px;color:#64748b}.queue-job-reason{font-size:12px;color:#991b1b;line-height:1.5;margin-bottom:6px;word-break:break-word}.queue-job-stack{margin:0 0 6px;padding:6px 10px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11px;color:#64748b;background:#f8fafc;border-radius:4px;overflow-x:auto;white-space:pre}.queue-job-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#64748b;margin-bottom:8px}.queue-job-meta code{padding:1px 5px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:10px;background:#f1f5f9;border-radius:3px;color:#334155}.queue-job-cross{color:#b45309;font-weight:500}.queue-job-actions{display:flex;gap:8px;justify-content:flex-end}.queue-job-actions .btn{padding:4px 12px;font-size:12px;font-weight:500;border-radius:6px;border:1px solid #cbd5e1;cursor:pointer;background:#fff;color:#0f172a}.queue-job-actions .btn:hover:not(:disabled){background:#f8fafc}.queue-job-actions .btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.queue-job-actions .btn-danger:hover:not(:disabled){background:#b91c1c}.queue-job-actions .btn:disabled{opacity:.5;cursor:not-allowed}.activity-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:24px;gap:16px;overflow-y:auto}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.activity-header h1{font-size:20px;font-weight:600;margin:0}.activity-subtitle{font-size:13px;color:#64748b;margin:4px 0 0}.activity-total{font-size:12px;color:#64748b;padding:4px 8px;background:#f1f5f9;border-radius:4px;white-space:nowrap}.activity-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.activity-filter{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.activity-filter>span{font-weight:500}.activity-filter select,.activity-filter input[type=date]{font-size:13px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;min-width:140px}.activity-reset-btn{font-size:12px;padding:6px 12px;background:#fff;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;height:28px}.activity-reset-btn:hover{background:#f1f5f9}.activity-list{display:flex;flex-direction:column;gap:6px}.activity-empty{padding:40px;text-align:center;font-size:13px;color:#94a3b8}.activity-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.activity-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:#334155;flex:1;min-width:0}.activity-row-meta{font-size:12px;color:#94a3b8;white-space:nowrap}.activity-actor-chip{font-size:11px;font-weight:500;padding:2px 6px;border-radius:4px;white-space:nowrap}.activity-actor-chip-ai{background:#ede9fe;color:#6d28d9}.activity-actor-chip-user{background:#dbeafe;color:#1d4ed8}.activity-actor-chip-system{background:#f1f5f9;color:#475569}.activity-action{color:#64748b}.activity-entity-link{font-weight:500;color:#0f172a;text-decoration:none;border-bottom:1px dotted #cbd5e1;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-entity-link:hover{border-bottom-color:#64748b}.activity-entity-label{font-weight:500;color:#334155}.activity-entity-label.deleted{color:#94a3b8;text-decoration:line-through}.activity-from-ingestion{font-size:12px;color:#64748b;font-style:italic}.activity-load-more{align-self:center;padding:8px 16px;font-size:13px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer}.activity-load-more:hover:not(:disabled){background:#f1f5f9}.activity-load-more:disabled{opacity:.5;cursor:not-allowed}
