*,*:before,*:after{box-sizing:border-box}html{height:-webkit-fill-available}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}a{color:inherit}h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em}input,button,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}:root{--bg: #f5f5f7;--surface: #ffffff;--surface2: #f0f0f0;--surface3: #e8e8e8;--border: #e4e4e7;--border2: #d4d4d8;--text: #18181b;--text-dim: #52525b;--text-muted: #a1a1aa;--accent: #7c6af7;--accent-dim: #ede9fe;--accent-hover: #6355e0;--accent-text: #5b21b6;--folder: #3b82f6;--pdf: #3b82f6;--xlsx: #16a34a;--pptx: #dc2626;--link: #7c3aed;--image: #db2777;--video: #d97706;--danger: #ef4444;--danger-text: #b91c1c;--success-text: #15803d;--shadow: rgba(0, 0, 0, .08);--shadow-lg: rgba(0, 0, 0, .14);--radius: 8px;--radius-sm: 5px;--radius-lg: 12px;--sidebar-bg: #1a1a2e;--sidebar-text: #e0e0e0;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-nav-hover: rgba(255, 255, 255, .07);--sidebar-nav-active: rgba(99, 102, 241, .25);--sidebar-nav-color: #b0b0c0;--sidebar-active-text: #a5b4fc;--shell-bg: #f8f9fa;--upload-bg: #f0f4ff;--upload-border: #c7d2fe}.theme-dark{--bg: #0a0a0a;--surface: #111111;--surface2: #1a1a1a;--surface3: #222222;--border: #2a2a2a;--border2: #333333;--text: #e8e8e8;--text-dim: #888888;--text-muted: #555555;--accent-dim: #3d3566;--accent-hover: #9585ff;--accent-text: #c4b5fd;--folder: #60a5fa;--xlsx: #22c55e;--pptx: #f97316;--link: #a78bfa;--image: #ec4899;--video: #f59e0b;--danger-text: #fca5a5;--success-text: #86efac;--shadow: rgba(0, 0, 0, .5);--shadow-lg: rgba(0, 0, 0, .65);--upload-bg: #1a1825;--upload-border: #4c3f8a;--sidebar-bg: #0d0d1a;--shell-bg: #070707}.page{padding:28px 32px}@media(max-width:600px){.page{padding:20px 16px}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.page-title{font-size:1.6rem;font-weight:700;color:#1a1a2e;margin:0}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.loading-text,.empty-text{color:#6b7280;text-align:center;padding:32px 0}.empty-icon{font-size:3rem;display:block;margin-bottom:12px}.feedback{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:10px 14px;color:#15803d;font-size:.88rem;margin-bottom:14px}.alert-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:10px 14px;color:#dc2626;font-size:.88rem}.alert-success{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:10px 14px;color:#15803d;font-size:.88rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;text-decoration:none;box-sizing:border-box}.btn-primary:hover:not(:disabled){background:#4f46e5}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.btn-danger{background:#ef4444}.btn-primary.btn-danger:hover:not(:disabled){background:#dc2626}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:background .15s}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;padding:8px 16px;background:#fff;color:#374151;border:1px solid #e5e7eb;border-radius:8px;font-size:.88rem;cursor:pointer;transition:background .15s}.btn-outline:hover:not(:disabled){background:#f9fafb}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-danger-outline{padding:8px 14px;background:#fff;border:1px solid #fca5a5;color:#dc2626;border-radius:8px;font-size:.86rem;cursor:pointer;flex-shrink:0}.btn-danger-outline:hover:not(:disabled){background:#fff5f5}.btn-danger-outline:disabled{opacity:.5;cursor:not-allowed}.btn-text{background:none;border:none;color:#6366f1;font-size:.86rem;cursor:pointer;padding:0;text-decoration:underline}.btn-text:hover{color:#4f46e5}.btn-icon{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:1rem;transition:background .1s;text-decoration:none;display:inline-flex;align-items:center}.btn-icon:hover{background:#f3f4f6}.btn-sm{font-size:.8rem;padding:5px 10px;border-radius:5px;border:none;cursor:pointer;font-weight:500}.btn-sm.btn-view{background:#ede9fe;color:#5b21b6;text-decoration:none;display:inline-block}.btn-sm.btn-edit{background:#e0f2fe;color:#0369a1}.btn-sm.btn-save{background:#d1fae5;color:#065f46}.btn-sm.btn-cancel{background:#f3f4f6;color:#374151}.btn-sm.btn-delete{background:#fee2e2;color:#dc2626}.btn-sm.btn-add-child{background:#d1fae5;color:#065f46;font-size:1rem;font-weight:700}.btn-mini-danger{padding:5px 12px;background:#fff;border:1px solid #fca5a5;color:#dc2626;border-radius:6px;font-size:.8rem;cursor:pointer;flex-shrink:0}.btn-mini-danger:hover{background:#fff5f5}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:.85rem;font-weight:600;color:#374151;display:block}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{padding:9px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus{border-color:#6366f1}.field input:not([type=checkbox]):not([type=radio]).input-error,.field select.input-error,.field textarea.input-error{border-color:#fca5a5}.field-error{color:#dc2626;font-size:.8rem}.error-msg{color:#dc2626;font-size:.85rem;margin-top:8px}.success-msg{color:#16a34a;font-size:.85rem;background:#f0fdf4;padding:8px 12px;border-radius:6px}.search-input{padding:9px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;outline:none;transition:border-color .15s}.search-input:focus{border-color:#6366f1}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}.pagination button{padding:8px 18px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:.9rem;color:#6b7280}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300}.modal{background:#fff;border-radius:12px;padding:28px;max-width:380px;width:90%}.modal h3{margin:0 0 10px;font-size:1.1rem}.modal p{color:#374151;font-size:.93rem;margin:0 0 20px}.modal-actions{display:flex;gap:10px}[contenteditable]{outline:none!important}.ProseMirror{outline:none!important;border:none;font-size:1rem;line-height:1.5;color:var(--text);min-height:220px;cursor:text;-webkit-user-select:text;user-select:text}.ProseMirror h1{font-size:1.8rem;font-weight:700;margin:1em 0 .4em}.ProseMirror h2{font-size:1.4rem;font-weight:600;margin:.9em 0 .35em}.ProseMirror h3{font-size:1.15rem;font-weight:600;margin:.8em 0 .3em}.ProseMirror p{margin:.2em 0}.ProseMirror p:first-child{margin-top:0}.ProseMirror p:last-child{margin-bottom:0}.ProseMirror strong{font-weight:700}.ProseMirror em{font-style:italic}.ProseMirror s{text-decoration:line-through}.ProseMirror ul,.ProseMirror ol{padding-left:1.5em;margin:.3em 0}.ProseMirror li{margin:.1em 0}.ProseMirror blockquote{border-left:3px solid var(--accent, #6366f1);padding-left:1em;color:var(--text-dim, #6b7280);margin:.5em 0}.ProseMirror code{font-family:Geist Mono,ui-monospace,monospace;background:var(--surface2, rgba(0, 0, 0, .06));padding:2px 5px;border-radius:3px;font-size:.9em}.ProseMirror pre{background:var(--surface3, rgba(0, 0, 0, .08));padding:14px 18px;border-radius:6px;overflow-x:auto;border:1px solid var(--border, #e5e7eb);margin:.5em 0}.ProseMirror pre code{background:none;padding:0}.ProseMirror img{max-width:100%;max-height:400px;object-fit:contain;border-radius:4px;display:block}.ProseMirror a{color:var(--accent, #6366f1);text-decoration:underline}.ProseMirror hr{border:none;border-top:1px solid var(--border, #e5e7eb);margin:1em 0}.ProseMirror ul[data-type=taskList]{list-style:none;padding-left:.25em}.ProseMirror ul[data-type=taskList]>li{display:flex;align-items:flex-start;gap:.45em;margin:.15em 0}.ProseMirror ul[data-type=taskList]>li>label{flex-shrink:0;display:flex;align-items:center;padding-top:.22em}.ProseMirror ul[data-type=taskList]>li>label input[type=checkbox]{margin:0;cursor:pointer}.ProseMirror ul[data-type=taskList]>li>div{flex:1;min-width:0}.ProseMirror ul[data-type=taskList]>li>div p{margin:0}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted, #9ca3af);pointer-events:none;float:left;height:0}.theme-dark .ProseMirror,.theme-dark .ProseMirror h1,.theme-dark .ProseMirror h2,.theme-dark .ProseMirror h3{color:var(--text)}.theme-dark .ProseMirror code{background:var(--surface2)}.theme-dark .ProseMirror pre{background:var(--surface3);border-color:var(--border)}
