:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:#f5f7fb}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 15% 20%,rgba(22,119,255,.18),transparent 45%),radial-gradient(circle at 85% 80%,rgba(114,46,209,.16),transparent 45%),#f3f6ff;padding:24px}.login-card{width:100%;max-width:420px;border-radius:16px;box-shadow:0 18px 60px #0f235f24}.login-brand{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.app-logo{display:flex;align-items:center;gap:10px;padding:18px 16px 10px;color:#fff;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden}.brand-logo{width:32px;height:32px;flex:0 0 auto;object-fit:contain}.brand-logo-lg{width:44px;height:44px}.app-logo .brand-logo{box-sizing:border-box;padding:2px;border-radius:8px;background:#fff}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.users-toolbar{position:sticky;top:-24px;z-index:10;margin-top:-8px;margin-bottom:8px;padding:8px 0 12px;background:#fff;border-bottom:1px solid #f0f0f0}.roles-layout{height:calc(100vh - 112px)}.roles-panel{height:100%;display:flex;flex-direction:column}.roles-panel .ant-card-body{flex:1;min-height:0;overflow-y:auto}.roles-panel-left .ant-card-body{padding:0}@media (max-width: 991px){.roles-layout,.roles-panel{height:auto}.roles-panel .ant-card-body{overflow:visible}}.stat-card{height:100%}.stat-card .ant-statistic-title{font-size:13px}.project-card{height:100%;border-radius:12px;transition:box-shadow .2s ease,transform .2s ease}.project-card:hover{box-shadow:0 12px 28px #0f235f1a;transform:translateY(-2px)}.file-preview-modal .ant-modal-body{min-height:320px}.document-shell{background:#fff;border-radius:12px;border:1px solid #eef0f4;overflow:visible}.document-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid #eef0f4;background:#fafbff;position:sticky;top:0;z-index:20;border-radius:12px 12px 0 0;box-shadow:0 2px 6px #0f235f0f}.document-title-input{border:none!important;box-shadow:none!important;font-size:20px!important;font-weight:600!important;padding-left:0!important}.document-title-input:hover,.document-title-input:focus{border:none!important;box-shadow:none!important}.editor-area{padding:24px 40px 80px;min-height:460px}.tpl-editor{border:1px solid #d9d9d9;border-radius:8px;padding:10px 12px;background:#fff}.tpl-editor .tiptap{min-height:240px;font-size:14px}.tpl-editor .tiptap p{margin:0 0 8px}.tiptap{outline:none;min-height:420px;font-size:15px;line-height:1.75}.tiptap p{margin:0 0 12px}.tiptap h1,.tiptap h2,.tiptap h3{margin:8px 0;font-weight:650}.tiptap ul,.tiptap ol{padding-left:22px;margin:0 0 12px}.tiptap ul[data-type=taskList]{list-style:none;padding-left:4px;margin:0 0 12px}.tiptap ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}.tiptap ul[data-type=taskList] li>label{flex:0 0 auto;margin-top:3px;-webkit-user-select:none;user-select:none}.tiptap ul[data-type=taskList] li>div{flex:1 1 auto}.tiptap ul[data-type=taskList] li>div>p{margin:0 0 4px}.tiptap hr{border:none;border-top:1px solid #e5e7ef;margin:16px 0}.tiptap mark{border-radius:3px;padding:0 2px}.tiptap sub,.tiptap sup{font-size:.75em}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:12px 0;overflow:hidden}.tiptap table td,.tiptap table th{border:1px solid #e5e7ef;padding:8px 10px;vertical-align:top;position:relative;box-sizing:border-box;min-width:40px}.tiptap table th{background:#f5f7fb;font-weight:600;text-align:left}.tiptap table.tbl-border-outer{border:1px solid #e5e7ef}.tiptap table.tbl-border-outer td,.tiptap table.tbl-border-outer th,.tiptap table.tbl-border-none,.tiptap table.tbl-border-none td,.tiptap table.tbl-border-none th{border:none}.tiptap table.tbl-border-none th{background:transparent}.tiptap .tableWrapper{overflow-x:auto;margin:12px 0}.tiptap .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1677ff1a;pointer-events:none}.tiptap .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:#1677ff73;pointer-events:none}.tiptap.resize-cursor{cursor:col-resize}.tiptap img{max-width:100%;height:auto;margin:12px 0;border-radius:8px}.tiptap img.ProseMirror-selectednode{outline:2px solid #1677ff;outline-offset:2px}.tiptap pre{background:#f6f8fa;border-radius:8px;padding:12px;overflow-x:auto}.tiptap .is-empty:before{color:#b9bfd0;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.attachment-preview-text{max-height:60vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border-radius:8px;padding:16px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.notification-item{cursor:pointer;padding:12px 4px;border-bottom:1px solid #f1f2f6}.notification-item:hover{background:#fafbff}.notification-item.unread{background:#f0f7ff;border-radius:8px}.ant-layout-sider-children{display:flex;flex-direction:column}.sider-bottom{margin-top:auto;padding:16px;color:#ffffff73;font-size:12px;line-height:1.6}
