:root{--bg: #f7f7f5;--bg-sidebar: #f0f0ed;--bg-card: #ffffff;--border: #e3e2de;--text: #37352f;--text-muted: #787774;--primary: #2383e2;--primary-hover: #1a6fc2;--danger: #e03e3e;--success: #0f7b6c;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--radius: 8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--primary);text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;transition:background .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-sidebar);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:13px}.btn-icon{padding:6px;background:transparent;border:none;border-radius:4px;color:var(--text-muted)}.btn-icon:hover{background:var(--border);color:var(--text)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #2383e226}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;box-shadow:var(--shadow)}.auth-card h1{font-size:24px;margin-bottom:8px}.auth-card p{color:var(--text-muted);margin-bottom:24px}.auth-card .error{color:var(--danger);font-size:14px;margin-bottom:16px}.auth-card .btn{width:100%;justify-content:center;margin-top:8px}.auth-footer{text-align:center;margin-top:20px;font-size:14px;color:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-card)}.page-header h1{font-size:20px}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:24px}.workspace-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;cursor:pointer;transition:box-shadow .15s,border-color .15s}.workspace-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}.workspace-card h3{font-size:16px;margin-bottom:6px}.workspace-card p{font-size:13px;color:var(--text-muted)}.workspace-layout{display:flex;height:100vh}.sidebar{width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-content{flex:1;overflow-y:auto;overflow-x:auto;padding:8px}.doc-tree-children{margin-left:12px;border-left:1px solid var(--border);padding-left:4px;min-width:min-content}.doc-tree-item{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px;min-width:max-content}.doc-tree-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tree-item.is-dragging{opacity:.45}.doc-tree-item:hover{background:#0000000d}.doc-tree-item.active{background:#2383e21f;color:var(--primary)}.main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.doc-editor{max-width:900px;margin:0 auto;padding:40px 48px;width:100%}.doc-title{font-size:32px;font-weight:700;border:none;outline:none;width:100%;background:transparent;margin-bottom:24px}.doc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 0 16px;margin-bottom:4px}.tiptap-editor{min-height:300px;outline:none}.tiptap-editor p{margin-bottom:8px}.tiptap-editor h1,.tiptap-editor h2,.tiptap-editor h3{margin:16px 0 8px}.tiptap-editor table{border-collapse:collapse;width:100%;margin:12px 0}.tiptap-editor th,.tiptap-editor td{border:1px solid var(--border);padding:8px 12px;min-width:80px}.tiptap-editor th{background:var(--bg-sidebar);font-weight:600}.tiptap-editor img{max-width:100%;border-radius:var(--radius)}.tiptap-editor a{color:var(--primary);text-decoration:underline}.block-diagram{border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;overflow:hidden}.block-diagram iframe{width:100%;height:500px;border:none}.block-file{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);margin:12px 0;background:var(--bg-sidebar)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border-radius:12px;padding:24px;width:90%;max-width:520px;max-height:80vh;overflow-y:auto}.modal h2{font-size:18px;margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-danger-zone{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.modal-danger-zone h3{font-size:14px;color:var(--danger);margin-bottom:8px}.modal-danger-zone p{font-size:13px;color:var(--text-muted);margin-bottom:12px}.modal-danger-confirm{color:var(--danger)!important;font-weight:500}.modal-delete-btn{color:var(--danger)}.workspace-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.workspace-card-header h3{margin-bottom:0;flex:1;min-width:0}.workspace-card-delete{flex-shrink:0;opacity:0;color:var(--text-muted)}.workspace-card:hover .workspace-card-delete{opacity:1}.workspace-card-delete:hover{color:var(--danger)}.admin-tabs{display:flex;gap:4px;padding:16px 24px 0;border-bottom:1px solid var(--border)}.admin-tab{padding:8px 16px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-content{padding:24px}.table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.table th{background:var(--bg-sidebar);font-weight:600}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-admin{background:#fef3c7;color:#92400e}.badge-owner{background:#dbeafe;color:#1e40af}.badge-editor{background:#d1fae5;color:#065f46}.badge-viewer{background:#f3f4f6;color:#374151}.empty-state{text-align:center;padding:60px 24px;color:var(--text-muted)}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text)}.share-link-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.share-link-item code{background:var(--bg-sidebar);padding:2px 6px;border-radius:4px;font-size:12px;word-break:break-all}.notion-editor{padding-top:24px}.doc-top-bar{display:flex;justify-content:flex-end;margin-bottom:8px;min-height:32px}.doc-actions{position:relative}.doc-action-btn{background:none;border:none;padding:6px;border-radius:4px;color:var(--text-muted);cursor:pointer}.doc-action-btn:hover{background:var(--bg-sidebar);color:var(--text)}.doc-actions-menu{position:absolute;right:0;top:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:4px;min-width:180px;z-index:50}.doc-actions-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;font-size:14px;cursor:pointer;border-radius:4px;color:var(--text)}.doc-actions-menu button:hover{background:var(--bg-sidebar)}.doc-actions-menu button.danger{color:var(--danger)}.doc-title-editable{font-size:40px;font-weight:700;line-height:1.2;outline:none;border:none;background:transparent;width:100%;margin-bottom:16px;min-height:1.2em;caret-color:var(--text)}.doc-title-editable:empty:before{content:attr(data-placeholder);color:#37352f59;pointer-events:none}.doc-title-editable.readonly{cursor:default}.block-list{position:relative}.block-row{display:flex;align-items:flex-start;gap:4px;padding:3px 88px 3px 28px;margin:1px 0;border-radius:4px;position:relative;transition:background .1s;min-height:32px}.block-row.hovered{background:#1e43910a}.block-row.drag-over{background:#1e439114;outline:2px solid rgba(30,67,145,.25);outline-offset:2px}.block-controls{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s;padding-top:6px;flex-shrink:0;width:24px;position:absolute;left:0;top:3px}.block-controls.visible{opacity:1}.block-control-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;border-radius:4px;color:var(--text-muted);cursor:grab;padding:0}.block-control-btn:hover{background:#37352f14;color:var(--text)}.block-control-btn:active{cursor:grabbing}.block-content{flex:1;min-width:0}.block-text{outline:none;min-height:1.5em;font-size:16px;line-height:1.6;padding:3px 2px;border-radius:2px;word-break:break-word}.block-text:empty:before{content:attr(data-placeholder);color:#37352f59;pointer-events:none}.block-text.heading-1{font-size:30px;font-weight:700;line-height:1.3;margin-top:8px}.block-text.heading-2{font-size:24px;font-weight:600;line-height:1.35;margin-top:6px}.block-text.heading-3{font-size:20px;font-weight:600;line-height:1.4}.block-todo-list{display:flex;flex-direction:column;gap:2px;padding:2px 0}.block-todo-row{display:flex;align-items:flex-start;gap:10px}.block-todo-checkbox{margin-top:5px;width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--primary)}.block-todo-text{flex:1;min-width:0;outline:none;min-height:1.5em;font-size:16px;line-height:1.6;word-break:break-word}.block-todo-text:empty:before{content:attr(data-placeholder);color:#37352f59;pointer-events:none}.block-todo-row.checked .block-todo-text{text-decoration:line-through;color:var(--text-muted)}.block-todo-text.readonly{cursor:default}.block-text ul,.block-text ol{margin:4px 0;padding-left:24px}.block-text li{margin:2px 0}.block-text.readonly{cursor:default}.block-table-wrap{outline:none;overflow-x:auto}.block-table-wrap table{border-collapse:collapse;width:100%}.block-table-wrap th,.block-table-wrap td{border:1px solid var(--border-subtle);padding:10px 12px;min-width:100px;outline:none;vertical-align:top}.block-table-wrap th{background:var(--bg-muted);font-weight:600}.block-image img{max-width:100%;border-radius:var(--radius);display:block}.block-placeholder{display:flex;align-items:center;justify-content:center;width:100%;padding:24px;border:1px dashed var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.block-placeholder:hover{border-color:var(--primary);background:#2383e20a;color:var(--primary)}.block-file{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sidebar);color:var(--text);text-decoration:none;font-size:14px;transition:background .15s;cursor:pointer;font-family:inherit}.block-diagram{border-radius:var(--radius);margin:4px 0;overflow:hidden;border:1px solid transparent}.block-diagram:hover{border-color:var(--border)}.block-diagram iframe{width:100%;height:400px;border:none;display:block}.block-actions{display:flex;gap:2px;padding-top:6px;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;right:0;top:3px}.block-actions.visible{opacity:1;pointer-events:auto}.block-actions-comments{right:72px}.block-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.block-action-btn:hover{background:#37352f14}.block-action-btn.danger:hover{color:var(--danger);background:#e03e3e14}.block-list-bottom-spacer{height:min(40vh,280px);pointer-events:none}.block-add-row{display:flex;justify-content:center;padding:16px 0 8px}.block-add-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:none;background:none;color:var(--text-muted);font-size:14px;border-radius:6px;cursor:pointer}.block-add-btn:hover{background:var(--bg-sidebar);color:var(--text)}.block-menu{position:absolute;z-index:100;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 20px #00000026;padding:6px;min-width:200px;max-height:280px;overflow-y:auto}.block-menu-fixed{position:fixed;z-index:1000}.block-menu-empty{font-size:13px;color:var(--text-muted);padding:8px 10px}.block-menu-item.active{background:var(--bg-sidebar)}.block-menu-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:6px 10px 4px}.block-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:none;font-size:14px;border-radius:4px;cursor:pointer;color:var(--text)}.block-menu-item:hover{background:var(--bg-sidebar)}.format-bubble-wrap{position:fixed;z-index:200}.format-bubble{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 2px 12px #00000026;padding:4px}.format-bubble button{width:28px;height:28px;border:none;background:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text)}.format-bubble button:hover,.format-bubble button.active{background:var(--bg-sidebar)}.format-bubble{position:relative;flex-wrap:wrap}.format-link-popover{display:flex;gap:4px;width:100%;padding-top:4px}.format-link-popover input{flex:1;min-width:120px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg);color:var(--text)}.format-link-popover button{width:auto;padding:0 8px;font-size:12px}.mobile-sidebar-toggle{display:none}.toc-block{margin:8px 0;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-sidebar)}.toc-block-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-bottom:8px;color:var(--text-muted)}.toc-block-empty{font-size:13px;color:var(--text-muted);margin:0}.toc-block-nav{display:flex;flex-direction:column;gap:2px}.comments-scope-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border)}.comments-scope-tabs button{padding:4px 10px;border:1px solid var(--border);border-radius:16px;background:var(--bg);font-size:12px;cursor:pointer;color:var(--text-muted)}.comments-scope-tabs button.active{background:#2383e21f;color:var(--primary);border-color:var(--primary)}.comments-block-links{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.comments-block-links button{padding:2px 8px;border:none;background:var(--bg-sidebar);border-radius:4px;font-size:11px;cursor:pointer;color:var(--text-muted)}.comment-block-tag{display:inline-block;margin-bottom:4px;padding:2px 8px;border:none;background:var(--bg-sidebar);border-radius:4px;font-size:11px;cursor:pointer;color:var(--primary)}.block-comment-count{font-size:10px;margin-left:2px}.block-action-btn.has-comments{color:var(--primary)}.workspace-tree-item{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;cursor:pointer;border:1px solid var(--border);margin-bottom:6px;background:var(--bg-card)}.workspace-tree-item:hover{border-color:var(--primary)}.workspace-tree-title{flex:1;font-weight:500}.workspace-tree-children{border-left:1px solid var(--border);padding-left:4px;margin-bottom:6px}.workspace-tree-add,.workspace-tree-delete{opacity:.5}.workspace-tree-item:hover .workspace-tree-add,.workspace-tree-item:hover .workspace-tree-delete{opacity:1}.block-code-wrap{position:relative;margin:4px 0}.block-code-copy{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-radius:4px;background:#ffffff1a;color:#ccc;font-size:12px;cursor:pointer;z-index:1;opacity:0;transition:opacity .15s}.block-code-wrap:hover .block-code-copy{opacity:1}.block-code-copy:hover{background:#fff3;color:#fff}.block-code{background:#1e1e1e;color:#d4d4d4;border-radius:var(--radius);padding:16px;margin:4px 0;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5}.block-code code{outline:none;display:block;white-space:pre-wrap;word-break:break-word}.block-table-container{margin:6px 0}.block-table-sheet{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-elevated);box-shadow:0 1px 2px #0000000a}.block-table-sheet-readonly{padding:0}.block-table-grid{display:grid;overflow-x:auto;min-width:100%}.block-table-grid-corner{position:sticky;left:0;z-index:2;background:var(--bg-muted);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);min-height:36px}.block-table-col-control{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;min-height:36px;background:var(--bg-muted);border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle)}.block-table-col-label,.block-table-row-label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;-webkit-user-select:none;user-select:none}.block-table-row-control{position:sticky;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 4px;background:var(--bg-muted);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.block-table-cell-wrap{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);min-height:44px;background:var(--bg-elevated)}.block-table-cell-wrap.is-header{background:#1e43910a}.block-table-cell{min-height:44px;padding:10px 12px;outline:none;line-height:1.5;word-break:break-word}.block-table-cell:empty:before{content:attr(data-placeholder);color:var(--text-muted);opacity:.55;pointer-events:none}.block-table-control-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.block-table-control-btn:hover{border-color:var(--border);color:var(--text);background:var(--bg)}.block-table-control-btn-danger:hover{border-color:#dc262659;color:#dc2626;background:#dc262614}.block-table-foot{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-top:1px solid var(--border-subtle);background:var(--bg)}.block-table-foot-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.block-table-foot-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.block-image-loading,.block-image-error{padding:24px;text-align:center;color:var(--text-muted);font-size:14px;border:1px dashed var(--border);border-radius:var(--radius)}.block-file{cursor:pointer;border:none;font-family:inherit}.block-file:hover{background:var(--border)}.tree-drag-handle{display:flex;align-items:center;flex-shrink:0;cursor:grab;color:var(--text-muted);opacity:.35;transition:opacity .15s;touch-action:none;-webkit-user-select:none;user-select:none}.tree-drag-handle svg{pointer-events:none}.doc-tree-item:hover .tree-drag-handle{opacity:.85}.tree-drag-handle:active,.doc-tree.is-dragging-tree .tree-drag-handle{cursor:grabbing}.doc-tree-item.drop-before{box-shadow:inset 0 2px 0 var(--primary)}.doc-tree-item.drop-after{box-shadow:inset 0 -2px 0 var(--primary)}.doc-tree-item.drop-inside{background:#2383e21f}.doc-tree-children.drop-inside-zone{background:#2383e214;border-radius:4px;min-height:8px}.doc-tree.is-dragging-tree{-webkit-user-select:none;user-select:none}.doc-tree.is-dragging-tree .doc-tree-item{cursor:grabbing}.share-modal{background:var(--bg-card);border-radius:16px;width:90%;max-width:520px;box-shadow:0 20px 60px #0003;overflow:hidden}.share-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.share-modal-title{display:flex;align-items:center;gap:10px;color:var(--primary)}.share-modal-title h2{font-size:18px;color:var(--text);margin:0}.share-modal-desc{padding:8px 24px 16px;color:var(--text-muted);font-size:14px}.share-create-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 24px 20px}.share-create-btn{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.share-create-btn:hover:not(:disabled){border-color:var(--primary);box-shadow:0 2px 8px #2383e226}.share-create-btn strong{display:block;font-size:14px;margin-bottom:2px}.share-create-btn span{font-size:12px;color:var(--text-muted)}.share-create-btn svg{color:var(--primary);flex-shrink:0;margin-top:2px}.share-links-list{padding:0 24px 24px;max-height:280px;overflow-y:auto}.share-empty{text-align:center;padding:32px;color:var(--text-muted)}.share-empty svg{opacity:.4;margin-bottom:8px}.share-link-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:var(--bg-sidebar)}.share-link-info{flex:1;min-width:0}.share-permission{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin-bottom:4px}.share-permission.view{background:#f3f4f6;color:#374151}.share-permission.edit{background:#d1fae5;color:#065f46}.share-link-url{display:block;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-link-actions{display:flex;gap:4px;flex-shrink:0}.share-copy-btn,.share-delete-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-card);cursor:pointer;color:var(--text-muted)}.share-copy-btn:hover{background:var(--primary);color:#fff}.share-delete-btn:hover{background:var(--danger);color:#fff}.share-link-label{font-size:14px;font-weight:600;color:var(--text)}.share-link-rename-input{width:100%;padding:4px 8px;border:1px solid var(--primary);border-radius:6px;font-size:14px;font-weight:600;background:var(--bg-card);color:var(--text);margin-bottom:4px}.share-slug-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;color:var(--text-muted)}.share-slug-input-row{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card)}.share-slug-prefix{padding:8px 10px;background:var(--bg-sidebar);color:var(--text-muted);font-size:13px;white-space:nowrap}.share-slug-input-row input{flex:1;border:none;outline:none;padding:8px 10px;background:transparent;color:var(--text);font-size:14px}.share-link-edit-fields{display:flex;flex-direction:column;gap:8px;width:100%}.share-copy-error{font-size:13px;color:var(--danger);margin-bottom:12px}.block-row.has-heading-toggle .block-content{display:flex;align-items:flex-start;gap:2px}.heading-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:2px;border:none;border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0}.heading-collapse-btn:hover{background:var(--bg-hover, rgba(55, 53, 47, .08));color:var(--text)}.main-content.split-view{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden}.main-content.split-view .doc-pane{min-width:0;min-height:0;overflow:auto;border-right:1px solid var(--border)}.main-content.split-view .doc-pane-secondary{border-right:none}.main-content.split-view .doc-pane.focused{box-shadow:inset 0 0 0 2px var(--primary-soft)}.doc-pane-label{font-size:12px;font-weight:600;color:var(--text-muted);padding:0 8px;white-space:nowrap}.split-empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}@media(max-width:900px){.main-content.split-view{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.admin-create-form{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px}.admin-create-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:8px;align-items:center}.admin-create-grid input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}@media(max-width:900px){.admin-create-grid{grid-template-columns:1fr 1fr}.share-create-buttons{grid-template-columns:1fr}}[data-theme=dark]{--bg: #191919;--bg-sidebar: #202020;--bg-card: #252525;--border: #373737;--text: #e6e6e6;--text-muted: #9b9b9b;--primary: #4d9eeb;--primary-hover: #3a8ad4;--danger: #ff6b6b;--success: #2dd4bf;--shadow: 0 1px 3px rgba(0, 0, 0, .3)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea,[data-theme=dark] .form-group select{background:var(--bg-card);color:var(--text)}[data-theme=dark] .doc-tree-item:hover{background:#ffffff0f}[data-theme=dark] .block-row.hovered{background:#ffffff08}[data-theme=dark] .doc-title-editable:empty:before,[data-theme=dark] .block-text:empty:before,[data-theme=dark] .block-todo-text:empty:before{color:#ffffff40}.search-modal-overlay{align-items:flex-start;padding-top:15vh}.search-modal{background:var(--bg-card);border-radius:12px;width:90%;max-width:560px;box-shadow:0 20px 60px #00000040;overflow:hidden}.search-modal-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.search-modal-input-wrap input{flex:1;border:none;outline:none;font-size:16px;background:transparent;color:var(--text)}.search-modal-results{max-height:360px;overflow-y:auto}.search-modal-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:14px}.search-result-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;color:var(--text)}.search-result-item:hover,.search-result-item.active{background:var(--bg-sidebar)}.search-result-content{flex:1;min-width:0}.search-result-content strong{display:block;font-size:14px;margin-bottom:2px}.search-result-content span{font-size:12px;color:var(--text-muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-modal-hint{padding:8px 16px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border)}.search-modal-hint kbd,.shortcuts-table kbd{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px;font-family:inherit}.version-list{display:flex;flex-direction:column;gap:8px}.version-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-sidebar)}.version-date{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.comments-panel{position:fixed;top:0;right:0;width:320px;height:100vh;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:100;box-shadow:-4px 0 20px #0000001a}.comments-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.comments-panel-header h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:0}.comments-panel-body{flex:1;overflow-y:auto;padding:12px}.comment-item{padding:10px;border-bottom:1px solid var(--border);margin-bottom:8px}.comment-meta{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.comment-meta span{color:var(--text-muted)}.comment-text{font-size:14px;margin:0}.comment-actions{display:flex;gap:4px;margin-top:4px}.comment-edit textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-sidebar);color:var(--text);resize:vertical}.comments-panel-form{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.comments-panel-form textarea{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-sidebar);color:var(--text);resize:none}.document-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;color:var(--text-muted)}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:12px;border:1px solid var(--border);background:var(--bg-sidebar)}.tag-chip-remove{border:none;background:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex}.tag-add-wrap{position:relative}.tag-add-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px dashed var(--border);border-radius:12px;background:var(--bg-card, #ffffff);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.tag-add-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.tag-add-btn svg{flex-shrink:0;stroke:currentColor;color:inherit}.tag-add-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:8px;min-width:180px;z-index:50;box-shadow:var(--shadow)}.tag-add-menu button{display:block;width:100%;border:none;background:none;padding:4px;cursor:pointer;text-align:left}.tag-create-row{display:flex;gap:4px;margin-top:8px}.tag-create-row input{flex:1;padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg-sidebar);color:var(--text)}.template-list{display:flex;flex-direction:column;gap:8px}.template-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-sidebar);cursor:pointer;text-align:left;color:var(--text);width:100%}.template-item:hover:not(:disabled){border-color:var(--primary)}.template-item strong{display:block;font-size:14px}.template-item span,.template-using{font-size:12px;color:var(--text-muted)}.doc-editor.with-toc .doc-editor-body{display:flex;gap:24px}.doc-editor.with-comments{padding-right:320px}.doc-editor-body{display:flex;gap:24px}.doc-editor-main{flex:1;min-width:0}.toc-sidebar{width:220px;flex-shrink:0;position:sticky;top:24px;align-self:flex-start;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-sidebar);max-height:calc(100vh - 120px);overflow-y:auto}.toc-sidebar h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.toc-item{display:block;width:100%;text-align:left;border:none;background:none;padding:4px 0;font-size:13px;color:var(--text-muted);cursor:pointer}.toc-item:hover{color:var(--primary)}.toc-level-2{padding-left:12px}.toc-level-3{padding-left:24px}a.wiki-link{color:var(--primary);text-decoration:underline;cursor:pointer}.shortcuts-table{width:100%}.shortcuts-table td{padding:8px 0;font-size:14px;border-bottom:1px solid var(--border)}.shortcuts-table td:first-child{width:140px}.oauth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:var(--text-muted);font-size:13px}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.oauth-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.oauth-btn{justify-content:center}.favorites-list{display:flex;flex-wrap:wrap;gap:8px}.favorite-item{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);cursor:pointer;font-size:13px;color:var(--text)}.favorite-item:hover{border-color:var(--primary)}.sidebar-section{padding:8px 12px;border-bottom:1px solid var(--border)}.sidebar-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;display:flex;align-items:center;gap:6px}.favorite-active{color:var(--primary)}.block-diagram{position:relative}.diagram-fullscreen-btn{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-card);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s;box-shadow:var(--shadow)}.block-diagram:hover .diagram-fullscreen-btn{opacity:1}.diagram-fullscreen-overlay{z-index:2000}.diagram-fullscreen-modal{width:95vw;height:90vh;background:var(--bg-card);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.diagram-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.diagram-fullscreen-modal iframe{flex:1;border:none;width:100%}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:200;transform:translate(-100%);transition:transform .25s ease}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:199}.mobile-menu-btn{display:none}.mobile-sidebar-toggle{display:inline-flex}.empty-sidebar-toggle{position:absolute;top:12px;left:12px}.doc-editor{padding:48px 20px 40px}.doc-editor.with-comments{padding-right:20px}.comments-panel{width:100%}.toc-sidebar{display:none}.workspace-layout .main-content{width:100%}}.app-top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:40}.app-top-bar-left{display:flex;align-items:center;gap:12px;min-width:0}.app-top-bar-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);text-decoration:none;font-size:13px;white-space:nowrap;padding:6px 10px;border-radius:8px;transition:background .15s,color .15s}.app-top-bar-back:hover{background:var(--bg-muted);color:var(--text)}.app-top-bar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-elevated);color:var(--text-muted);text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.app-top-bar-icon-btn:hover{background:var(--primary-soft);color:var(--primary);border-color:transparent}.app-top-bar-logout:hover{background:#dc262614;color:#dc2626;border-color:transparent}.app-top-bar-title{margin:0;font-size:16px;font-weight:600}.app-top-bar-subtitle{margin:0;font-size:13px;color:var(--text-muted)}.app-top-bar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-top-bar-user{font-size:13px;color:var(--text-muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-layout.with-app-top-bar{flex-direction:column;height:100vh}.workspace-body{display:flex;flex:1;min-height:0;overflow:hidden}.workspace-layout.with-app-top-bar .workspace-body .sidebar{height:100%}.workspace-layout.with-app-top-bar .workspace-body .main-content{flex:1;min-height:0;height:100%}.settings-page{min-height:100vh;background:var(--bg)}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px 32px;max-width:1280px;margin:0 auto}.settings-nav{display:flex;flex-direction:column;gap:6px}.settings-nav button{text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer}.settings-nav button.active{background:var(--surface-hover);border-color:var(--border)}.settings-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.settings-tabs{display:flex;gap:8px;margin-bottom:16px}.settings-tabs button{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:transparent;cursor:pointer}.settings-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.api-settings{display:flex;flex-direction:column;gap:32px}.api-settings-section h2{margin:0}.api-settings-hint{color:var(--text-muted);font-size:14px;line-height:1.5}.api-key-form{display:flex;flex-direction:column;gap:12px;margin:16px 0;max-width:480px}.api-key-expiry{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.api-key-expiry-option{display:inline-flex;align-items:center;gap:6px;font-size:14px}.api-key-days{margin:0;max-width:120px}.api-key-created-banner{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:14px 16px;margin-bottom:16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-sidebar)}.api-key-value{display:block;margin-top:8px;padding:8px 10px;border-radius:6px;background:var(--bg);word-break:break-all;font-size:13px}.api-keys-table code,.api-docs-table code{font-size:12px}.api-key-status.active{color:var(--success, #2d8a4e)}.api-key-status.expired{color:var(--warning, #b8860b)}.api-key-status.revoked{color:var(--danger)}.api-docs-search{width:100%;max-width:420px;margin:12px 0 20px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.api-docs-group{margin-bottom:24px}.api-docs-group h3{margin:0 0 8px;font-size:16px}.api-docs-table{font-size:13px}.api-method{display:inline-block;min-width:52px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-align:center}.api-method-get{background:#2e7d3226;color:#2e7d32}.api-method-post{background:#1565c026;color:#1565c0}.api-method-patch{background:#e67e2226;color:#e67e22}.api-method-delete{background:#c6282826;color:#c62828}.api-method-ws{background:#6a1b9a26;color:#6a1b9a}.api-auth-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.api-auth-public{background:#78787826}.api-auth-key{background:#1565c01f;color:#1565c0}.api-auth-jwt{background:#6a1b9a1f;color:#6a1b9a}.api-auth-admin{background:#c628281f;color:#c62828}.api-empty{text-align:center;color:var(--text-muted);padding:20px}.settings-msg-error{color:var(--danger)}.modal-wide{max-width:720px}.sidebar-tag-filter{padding:8px 12px 0}.sidebar-tag-filter-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:6px}.sidebar-tag-chips{display:flex;flex-wrap:wrap;gap:6px}.sidebar-tag-chips button{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.sidebar-tag-chips button.active{background:var(--primary-soft, rgba(99, 102, 241, .15));border-color:var(--primary)}.block-lock-badge{font-size:12px;color:var(--warning, #d97706);background:#d977061a;border-radius:6px;padding:4px 8px;margin-bottom:6px;display:inline-block}.block-row.block-locked .block-content{opacity:.85}.block-row.comment-highlight{outline:2px solid var(--primary);outline-offset:4px;border-radius:8px;background:#6366f10f}.comment-markdown code{background:var(--surface-hover);padding:1px 4px;border-radius:4px;font-size:.9em}.comment-markdown a{color:var(--primary)}.block-table-cell{min-height:1.5em;outline:none}[data-theme=dark] .block-table-cell-wrap.is-header{background:#1e43911f}.backlinks-panel{margin:12px 0 20px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-hover)}.backlinks-panel h4{margin:0 0 8px;font-size:13px}.backlink-item{display:block;width:100%;text-align:left;padding:6px 8px;border:none;background:transparent;cursor:pointer;border-radius:6px}.backlink-item:hover{background:var(--surface)}.admin-user-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.settings-msg{margin:8px 0 12px;color:var(--success, #16a34a)}.confirm-overlay{z-index:1100}.confirm-dialog{background:var(--bg-elevated, #fff);border-radius:14px;padding:24px;max-width:400px;width:calc(100% - 32px);box-shadow:var(--shadow-lg);border:1px solid var(--border);text-align:center}.confirm-dialog-icon{width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-dialog-icon.danger{background:#d02e2d1f;color:var(--danger)}.confirm-dialog h3{margin:0 0 8px;font-size:18px}.confirm-dialog p{margin:0 0 20px;color:var(--text-muted);font-size:14px;line-height:1.5}.confirm-dialog-actions{display:flex;gap:8px;justify-content:center}.sidebar-actions-block{padding:8px 12px;display:flex;flex-direction:column;gap:8px}.sidebar-search{position:relative}.sidebar-search-input-wrap{position:relative;display:flex;align-items:center}.sidebar-search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.sidebar-search-input{width:100%;padding:8px 10px 8px 32px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--bg-elevated)}.sidebar-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);max-height:240px;overflow-y:auto;z-index:50}.sidebar-search-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:13px}.sidebar-search-item:hover{background:var(--bg-hover)}.sidebar-search-empty{padding:12px;font-size:13px;color:var(--text-muted);text-align:center}.sidebar-create-actions{display:flex;flex-direction:column;gap:6px}.sidebar-create-actions .btn{width:100%}.public-site-layout{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.public-site-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-sidebar);padding:20px 16px;overflow:auto}.public-site-brand{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px}.public-site-brand strong{display:block;font-size:15px}.public-site-brand span{display:block;font-size:12px;color:var(--text-muted)}.public-site-tree{list-style:none;margin:0;padding:0}.public-site-tree-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;color:var(--text);text-decoration:none;font-size:14px;margin-bottom:2px}.public-site-tree-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.public-site-tree-item.active{background:#1e43911a;color:var(--primary)}.public-site-main{flex:1;overflow:auto;padding:32px 48px 80px}.public-site-empty{font-size:13px;color:var(--text-muted);margin:0;padding:16px}.public-site-settings-intro{display:flex;gap:12px;margin-bottom:18px;align-items:flex-start}.public-site-settings-intro-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);flex-shrink:0}.public-site-settings-intro p{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--text-muted)}.public-site-settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-bottom:16px}.public-site-slug-field{margin:0}.public-site-active-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-sidebar);cursor:pointer;-webkit-user-select:none;user-select:none}.public-site-active-card input{margin-top:2px}.public-site-active-card strong{display:block;font-size:13px}.public-site-active-card span{display:block;margin-top:2px;font-size:12px;color:var(--text-muted)}.public-site-active-card.is-on{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 8%,transparent)}.public-site-pages-panel{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg)}.public-site-pages-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-sidebar);font-size:13px;font-weight:600}.public-site-pages-header>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}.public-site-pages-count{font-weight:500;font-size:12px;color:var(--text-muted);padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.public-site-pages-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.btn-text{border:none;background:none;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.public-publish-scroll{max-height:min(420px,52vh);overflow:auto}.public-publish-tree,.public-publish-children,.public-publish-node{list-style:none;margin:0;padding:0}.public-publish-row{display:flex;align-items:center;gap:2px;min-height:34px;padding-right:10px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.public-publish-row:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.public-publish-row.is-checked{background:color-mix(in srgb,var(--primary) 7%,transparent)}.public-publish-chevron,.public-publish-chevron-spacer{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border:none;background:transparent;color:var(--text-muted);border-radius:6px;padding:0;cursor:pointer}.public-publish-chevron:hover{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text)}.public-publish-label{display:flex;align-items:center;gap:8px;min-width:0;flex:1;font-size:13px;cursor:pointer}.public-publish-label input{flex-shrink:0}.public-publish-icon{width:18px;height:18px;display:grid;place-items:center;flex-shrink:0;color:var(--text-muted);font-size:13px;line-height:1}.public-publish-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-publish-meta{margin-left:auto;flex-shrink:0;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.public-site-url-row{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--bg-sidebar);border:1px solid var(--border)}.public-site-url-row code{flex:1;font-size:12px;word-break:break-all}@media(max-width:720px){.public-site-settings-grid{grid-template-columns:1fr}.public-site-pages-header{flex-direction:column;align-items:flex-start}}@media(max-width:800px){.public-site-layout{flex-direction:column}.public-site-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.public-site-main{padding:20px 16px 60px}}:root{--bg: #f5f7fc;--bg-elevated: #ffffff;--bg-sidebar: #eef2fa;--bg-card: #ffffff;--bg-hover: rgba(30, 67, 145, .06);--border: #d8e0ef;--border-subtle: rgba(30, 67, 145, .08);--text: #292929;--text-muted: #5c6b82;--primary: #1E4391;--primary-hover: #163574;--primary-soft: rgba(30, 67, 145, .12);--accent: #D22D7C;--accent-warm: #E69838;--danger: #D02E2D;--danger-hover: #b82827;--success: #0f7b6c;--shadow-sm: 0 1px 2px rgba(30, 67, 145, .06);--shadow: 0 4px 24px rgba(30, 67, 145, .08);--shadow-lg: 0 20px 50px rgba(30, 67, 145, .12);--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--gradient-brand: radial-gradient(ellipse at 20% 0%, #FCEC4F 0%, #E69838 25%, #D22D7C 55%, #D02E2D 80%, #1E4391 100%);--transition: .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg: #0c1018;--bg-elevated: #121a28;--bg-sidebar: #0f1520;--bg-card: #161f30;--bg-hover: rgba(129, 160, 220, .1);--border: #243044;--border-subtle: rgba(255, 255, 255, .06);--text: #eef2f8;--text-muted: #94a3b8;--primary: #5b8fd4;--primary-hover: #7aa8e8;--primary-soft: rgba(91, 143, 212, .15);--accent: #e879b5;--accent-warm: #f0b060;--danger: #f07070;--danger-hover: #ef4444;--success: #34d399;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 8px 32px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .5)}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.btn{border-radius:var(--radius);font-weight:600;letter-spacing:-.01em;transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform .15s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#2a5cb8 100%);box-shadow:0 4px 14px #1e43914d;border:none;color:#fff}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary) 100%);box-shadow:0 6px 20px #1e439159}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{background:var(--danger-hover)}.app-top-bar{background:var(--bg-elevated);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.workspace-layout{background:var(--bg)}.sidebar{width:288px;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle)}.sidebar-header{padding:16px;border-bottom:1px solid var(--border-subtle);background:#fff9}[data-theme=dark] .sidebar-header{background:#121a28cc}.sidebar-header h2{font-size:15px;font-weight:600;letter-spacing:-.02em}.main-content{background:var(--bg)}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle)}.workspace-settings-modal{max-width:640px;padding:0;max-height:min(85vh,720px);display:flex;flex-direction:column;overflow:hidden}.workspace-settings-header{display:flex;align-items:center;gap:14px;padding:20px 24px;background:linear-gradient(135deg,#1e439114,#d22d7c0f);border-bottom:1px solid var(--border-subtle)}.workspace-settings-header-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;flex-shrink:0}.workspace-settings-header h2{margin:0;font-size:18px;font-weight:700}.workspace-settings-header p{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.workspace-settings-tabs{padding:12px 24px 0;margin-bottom:0;flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.workspace-settings-tabs button{border:none;background:transparent;color:var(--text-muted);font-weight:500;padding:10px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;border-radius:0}.workspace-settings-tabs button:hover{color:var(--text);background:transparent}.workspace-settings-tabs button.active{color:var(--primary);background:transparent;border-color:var(--primary)}.workspace-settings-body{padding:20px 24px 24px;overflow-y:auto;flex:1;min-height:0}.workspace-members-panel,.workspace-tags-panel{display:flex;flex-direction:column;gap:20px}.settings-panel-section{padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg)}.settings-section-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary)}.settings-empty-hint{margin:0;font-size:13px;color:var(--text-muted)}.settings-inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.settings-inline-form .form-group{flex:1;min-width:160px;margin-bottom:0}.settings-inline-form .form-group-compact{flex:0 0 auto;min-width:120px}.settings-form-submit{flex-shrink:0;margin-bottom:2px}.settings-select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-size:14px}.settings-color-input{width:48px;height:38px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);cursor:pointer}.member-info{min-width:0}.member-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.member-row:last-child{border-bottom:none;padding-bottom:0}.member-row:first-child{padding-top:0}.member-email{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.member-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.invite-link{margin:12px 0 0;font-size:12px;color:var(--text-muted)}.invite-link code{display:block;margin-top:6px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-muted);border:1px solid var(--border-subtle);word-break:break-all;font-size:11px;color:var(--text)}.tags-admin-list{display:flex;flex-direction:column;gap:8px}.tag-admin-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.tag-admin-chip{display:inline-flex;align-items:center;color:#fff;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:500}.tag-admin-actions{display:flex;gap:4px;flex-shrink:0}.tag-admin-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.tag-admin-edit input[type=text]{flex:1;min-width:120px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--bg-muted);color:var(--text)}.doc-tree-item.active,.workspace-tree-item:hover{background:var(--primary-soft);color:var(--primary)}.badge-owner-name{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.notion-editor .doc-title-editable{font-weight:700;letter-spacing:-.03em}.doc-toolbar{display:flex;align-items:center;gap:4px;padding:2px 0 16px;margin-bottom:4px;border-bottom:none;background:transparent}.doc-toolbar-spacer{flex:1}.doc-toolbar-actions{display:flex;align-items:center;gap:2px}.doc-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.doc-toolbar-btn:hover{background:var(--bg-muted);color:var(--text)}.doc-toolbar-btn.active{color:var(--primary);background:var(--primary-soft)}.doc-toolbar .doc-actions{position:relative}.share-guest-badge{padding:.35rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:var(--bg-muted);border:1px solid var(--border-subtle)}.comments-panel{border-left:1px solid var(--border-subtle);background:var(--bg-elevated)}.app-top-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-brand);opacity:.85}.app-top-bar{position:relative}.page-header h1{font-weight:700;letter-spacing:-.03em}.page-section-title{font-weight:700}input,textarea,select{font-family:var(--font)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.settings-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar-tag-chips button.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.sidebar-header-compact{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-subtle)}.sidebar-header-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.sidebar-settings-btn{border-radius:8px}.create-user-modal{max-width:520px;padding:0;overflow:hidden}.create-user-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,#1e439114,#d22d7c0d)}.create-user-modal-header h2{margin:0;font-size:18px}.create-user-modal-header p{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.create-user-form{padding:20px 24px 24px}.password-hints{margin:8px 0 0;padding:0;list-style:none;font-size:12px;color:var(--text-muted)}.password-hints li{padding:2px 0}.password-hints li.ok{color:#16a34a}.form-error{color:#dc2626;font-size:13px;margin:0 0 12px}.settings-content-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.settings-content-header h2{margin:0}.role-badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.role-superadmin{background:linear-gradient(135deg,#1e439126,#d22d7c1f);color:var(--primary)}.user-row-protected td{opacity:.95}.users-table-hint{margin:0 0 12px;font-size:13px;color:var(--text-muted)}.users-table-row{cursor:pointer}.users-table-row:hover td{background:var(--bg-sidebar)}.edit-user-active-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.edit-user-active-label{display:block;font-size:14px;font-weight:500}.edit-user-hint{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0;border:none;border-radius:999px;background:var(--border);cursor:pointer;transition:background .2s ease;padding:0}.toggle-switch.on{background:var(--primary)}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.toggle-switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.toggle-switch.on .toggle-switch-knob{transform:translate(20px)}.edit-user-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-user-actions-right{display:flex;gap:8px;margin-left:auto}.edit-user-delete{color:var(--danger)}.edit-user-delete:hover{background:#e03e3e14}.document-tags .tag-add-btn{background:var(--bg-card);color:var(--text-muted);border:1px dashed var(--border)}.document-tags .tag-add-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.document-tags .tag-add-btn svg{stroke:currentColor;color:inherit}
