*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#ffffff;--sidebar-bg:#f7f6f3;--text:#37352f;--text-light:#787774;--border:#e9e9e7;--hover:#efefed;--accent:#2383e2;--card-bg:#ffffff;--danger:#d44c47}[data-theme=dark]{--bg:#191919;--sidebar-bg:#202020;--text:#d4d4d4;--text-light:#9b9b9b;--border:#333333;--hover:#2c2c2c;--accent:#529cca;--card-bg:#252525;--danger:#eb5757}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);transition:background .15s ease,color .15s ease}input,select{color:var(--text);background:transparent}button{cursor:pointer}button,input,select{font:inherit}kbd{background:var(--hover);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--sidebar-bg)}.auth-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:36px;width:380px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 24px rgba(0,0,0,.06)}.auth-card h1{font-size:22px}.auth-sub{color:var(--text-light);font-size:14px;margin-bottom:6px}.auth-card input{border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:-1px}.auth-card button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:10px;font-size:14px;font-weight:600}.auth-card button[type=submit]:disabled{opacity:.6}.auth-error{color:var(--danger);font-size:13px}.auth-alt{font-size:13px;color:var(--text-light);text-align:center}.auth-alt a{color:var(--accent)}.app-shell{display:flex;height:100vh}.app-main{flex:1 1;overflow-y:auto}.sidebar{width:260px;min-width:260px;background:var(--sidebar-bg);border-right:1px solid var(--border);font-size:14px}.sidebar,.sidebar-top{display:flex;flex-direction:column}.sidebar-top{padding:12px;gap:4px}.workspace-name{font-weight:600;padding:6px 8px}.sidebar-btn{display:flex;align-items:center;gap:8px;background:none;border:none;border-radius:4px;padding:6px 8px;color:var(--text-light);text-align:left;text-decoration:none;font-size:14px}.sidebar-btn:hover{background:var(--hover)}.sidebar-btn kbd{margin-left:auto}.sidebar-section{flex:1 1;overflow-y:auto;padding:0 8px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;color:var(--text-light);font-size:12px;font-weight:600;text-transform:uppercase;padding:8px}.sidebar-heading button{background:none;border:none;color:var(--text-light);font-size:14px;padding:0 4px;border-radius:3px}.sidebar-heading button:hover{background:var(--hover)}.sidebar-bottom{padding:12px;border-top:1px solid var(--border)}.tree-item{display:flex;align-items:center;border-radius:4px;padding-right:4px}.tree-item.active,.tree-item:hover{background:var(--hover)}.tree-item.active{font-weight:500}.tree-caret{background:none;border:none;color:var(--text-light);width:18px;font-size:10px}.tree-link{flex:1 1;display:flex;align-items:center;gap:6px;padding:5px 4px;color:var(--text);text-decoration:none;overflow:hidden}.tree-icon{font-size:13px}.tree-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-actions{display:none;gap:2px}.tree-item:hover .tree-actions{display:flex}.tree-actions button{background:none;border:none;color:var(--text-light);border-radius:3px;padding:0 4px}.tree-actions button:hover{background:var(--border)}.page-view{max-width:900px;margin:0 auto;padding:60px 60px 120px}.empty-state,.page-loading{padding:80px 60px;color:var(--text-light)}.empty-state h1{color:var(--text);margin-bottom:12px}.empty-state .hint,.hint{margin-top:8px;font-size:13px;color:var(--text-light)}.page-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.page-title{flex:1 1;border:none;outline:none;font-size:38px;font-weight:700;color:var(--text);background:transparent}.page-title::placeholder{color:var(--text-light)}.save-status{font-size:12px;color:var(--text-light);white-space:nowrap}.editor-wrap{margin-left:-46px}.db-table-wrap{margin-top:8px}.db-toolbar{display:flex;gap:8px;margin-bottom:12px}.db-toolbar button{background:none;border:1px solid var(--border);border-radius:5px;padding:5px 10px;font-size:13px;color:var(--text-light)}.db-toolbar button:hover{background:var(--hover)}.db-filter{border:1px solid var(--border);border-radius:5px;padding:5px 10px;font-size:13px;width:220px}.db-table{width:100%;border-collapse:collapse;font-size:14px}.db-table th{border-bottom:2px solid var(--border);text-align:left;padding:6px 4px;color:var(--text-light);font-weight:500;white-space:nowrap}.db-col-sort{color:inherit;font-weight:500}.db-col-del,.db-col-sort{background:none;border:none}.db-col-del{color:var(--text-light);visibility:hidden}.db-table th:hover .db-col-del{visibility:visible}.db-table td{border-bottom:1px solid var(--border);padding:2px 4px}.db-table td input[type=date],.db-table td input[type=number],.db-table td input[type=text]{width:100%;border:none;outline:none;padding:6px 4px;background:transparent}.db-table td select{border:none;background:transparent;padding:6px 0}.db-row-del{background:none;border:none;color:var(--text-light);visibility:hidden}.db-table tr:hover .db-row-del{visibility:visible}.db-empty{color:var(--text-light);padding:24px 4px;font-size:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.3);display:flex;justify-content:center;padding-top:12vh;z-index:100}.search-modal{background:var(--card-bg);border-radius:10px;width:560px;max-height:60vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.2);overflow:hidden;height:-moz-fit-content;height:fit-content}.search-modal input{border:none;outline:none;padding:16px 18px;font-size:16px;border-bottom:1px solid var(--border)}.search-results{overflow-y:auto}.search-result{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;background:none;border:none;padding:10px 18px;text-align:left}.search-result:hover{background:var(--hover)}.search-result-title{font-size:14px;font-weight:500}.search-result-snippet{font-size:12px;color:var(--text-light)}.search-empty{padding:18px;color:var(--text-light);font-size:14px}.settings-page{max-width:700px;margin:0 auto;padding:60px}.settings-page h1{margin-bottom:24px}.settings-page h2{font-size:17px;margin-bottom:8px}.settings-page p{font-size:14px;color:var(--text-light);margin-bottom:12px}.primary-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:14px;margin-bottom:16px}.invite-table{width:100%;border-collapse:collapse;font-size:14px}.invite-table td,.invite-table th{border-bottom:1px solid var(--border);text-align:left;padding:8px 4px}.invite-table button{background:none;border:1px solid var(--border);border-radius:4px;padding:3px 10px;font-size:13px}.settings-page section{margin-bottom:36px}.trash-item{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:14px}.trash-item .trash-title{flex:1 1}.trash-item button{background:none;border:1px solid var(--border);border-radius:4px;padding:3px 10px;font-size:13px;color:var(--text)}.trash-item button.danger{color:var(--danger);border-color:var(--danger)}.theme-row{display:flex;align-items:center;gap:12px}.theme-row button{border:1px solid var(--border);border-radius:6px;padding:8px 14px;font-size:14px;background:var(--card-bg);color:var(--text)}.theme-row button.active{border-color:var(--accent);color:var(--accent)}.import-drop{border:2px dashed var(--border);border-radius:8px;padding:28px;text-align:center;color:var(--text-light);font-size:14px}.import-progress{margin-top:12px;font-size:14px}.import-warnings{margin-top:10px;max-height:160px;overflow-y:auto;font-size:12px;color:var(--text-light);background:var(--hover);border-radius:6px;padding:10px}