.skeleton[data-v-340d3dfd]{width:100%}.sk-block[data-v-340d3dfd],.sk-line[data-v-340d3dfd]{background:linear-gradient(90deg,#eef1f5 25%,#f6f8fb 37%,#eef1f5 63%);background-size:400% 100%;animation:sk-shimmer-340d3dfd 1.3s ease-in-out infinite;border-radius:6px}.sk-line[data-v-340d3dfd]{height:13px;margin:9px 0}.sk-w30[data-v-340d3dfd]{width:30%}.sk-w40[data-v-340d3dfd]{width:40%}.sk-w45[data-v-340d3dfd]{width:45%}.sk-w50[data-v-340d3dfd]{width:50%}.sk-w55[data-v-340d3dfd]{width:55%}.sk-w60[data-v-340d3dfd]{width:60%}.sk-w70[data-v-340d3dfd]{width:70%}.sk-w80[data-v-340d3dfd]{width:80%}.sk-w90[data-v-340d3dfd]{width:90%}.sk-block[data-v-340d3dfd]{border-radius:10px}.sk-circle[data-v-340d3dfd]{width:44px;height:44px;border-radius:50%;flex:0 0 auto}.sk-circle.sm[data-v-340d3dfd]{width:30px;height:30px}.sk-rect[data-v-340d3dfd]{width:100%;height:84px;margin-top:6px}.sk-rect.short[data-v-340d3dfd]{height:54px}.sk-lines[data-v-340d3dfd]{flex:1 1 auto;min-width:0}.sk-stat[data-v-340d3dfd]{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d}.sk-row[data-v-340d3dfd]{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;margin-bottom:10px}.sk-card[data-v-340d3dfd]{padding:18px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d;margin-bottom:12px}.sk-grid[data-v-340d3dfd]{display:grid;gap:14px}.sk-grid-item[data-v-340d3dfd]{padding:16px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000d}.sk-stat[data-v-340d3dfd],.sk-row[data-v-340d3dfd],.sk-card[data-v-340d3dfd],.sk-grid-item[data-v-340d3dfd]{pointer-events:none}@keyframes sk-shimmer-340d3dfd{0%{background-position:100% 0}to{background-position:0 0}}.custom-select[data-v-2093be22]{position:relative;display:inline-block}.custom-select.toolbar[data-v-2093be22]{min-width:110px}.custom-select.form[data-v-2093be22]{min-width:130px}.select-trigger[data-v-2093be22]{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:8px 10px;cursor:pointer;font-size:15px;color:#333;transition:border-color .2s,box-shadow .2s}.select-trigger[data-v-2093be22]:hover{border-color:#1677ff}.select-text[data-v-2093be22]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-arrow[data-v-2093be22]{font-size:11px;color:#999;transition:transform .2s}.select-arrow.open[data-v-2093be22]{transform:rotate(180deg)}.select-options[data-v-2093be22]{position:absolute;top:100%;left:0;margin-top:4px;min-width:100%;background:#fff;border-radius:8px;box-shadow:0 6px 20px #00000029,0 2px 8px #00000014;z-index:100;overflow:hidden}.option[data-v-2093be22]{padding:8px 12px;font-size:14px;color:#333;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.option[data-v-2093be22]:hover{background:#f0f5ff}.option.active[data-v-2093be22]{background:#1677ff;color:#fff}.fade-enter-active[data-v-2093be22],.fade-leave-active[data-v-2093be22]{transition:opacity .15s,transform .15s}.fade-enter-from[data-v-2093be22],.fade-leave-to[data-v-2093be22]{opacity:0;transform:translateY(-4px)}.btn-accent[data-v-dd398bad]{background:#1677ff;color:#fff}.btn-accent[data-v-dd398bad]:hover{background:#0958d9}.btn-default[data-v-dd398bad]{background:#f5f5f5;color:#666;border:1px solid #d9d9d9}.btn-default[data-v-dd398bad]:hover{background:#e8e8e8}.modal-head[data-v-dd398bad]{justify-content:center;position:relative}.modal-head h3[data-v-dd398bad]{text-align:center;width:100%;padding:0 28px;box-sizing:border-box}.modal-close[data-v-dd398bad]{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.confirm-body[data-v-dd398bad]{text-align:center}.confirm-message[data-v-dd398bad]{font-size:14px;color:#444;line-height:1.6}.confirm-foot[data-v-dd398bad]{justify-content:center}.docs[data-v-5a3496fd]{display:flex;flex-direction:column;height:100%;font-family:Microsoft YaHei,PingFang SC,Heiti SC,Times New Roman,sans-serif}.docs-toolbar[data-v-5a3496fd]{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 1px 3px #0000000f;margin-bottom:14px;flex-wrap:wrap;position:sticky;top:56px;z-index:10}.toolbar-side[data-v-5a3496fd]{display:flex;align-items:center;gap:10px;flex:1;flex-wrap:wrap}.toolbar-title[data-v-5a3496fd]{font-size:18px;font-weight:600;color:#1f2329;white-space:nowrap}.btn-primary[data-v-5a3496fd]{display:inline-flex;align-items:center;gap:4px}.btn-icon[data-v-5a3496fd]{font-size:17px;line-height:1}.arrow-down[data-v-5a3496fd]{font-size:12px;margin-left:2px}.btn-outline[data-v-5a3496fd]{background:#fff;color:#666;border:1px solid #d9d9d9}.btn-outline[data-v-5a3496fd]:hover{border-color:#1677ff;color:#1677ff}.btn-outline.star-filter.active[data-v-5a3496fd]{border-color:#faad14;color:#faad14;background:#fffbe6}.docs-toolbar .btn[data-v-5a3496fd],.docs-toolbar .custom-select .select-trigger[data-v-5a3496fd]{font-size:16px}.docs-toolbar .btn-icon[data-v-5a3496fd]{font-size:18px}.docs-toolbar .arrow-down[data-v-5a3496fd]{font-size:13px}.new-dropdown[data-v-5a3496fd]{position:relative}.new-dropdown .new-menu[data-v-5a3496fd]{position:absolute;top:110%;left:0;display:block;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #00000014;z-index:30;min-width:170px;padding:4px 0}.new-menu-item[data-v-5a3496fd]{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;font-size:15px;color:#333;text-decoration:none}.new-menu-item[data-v-5a3496fd]:hover{background:#f0f5ff;color:#1677ff}.new-menu-item .menu-ico[data-v-5a3496fd]{width:18px;height:18px;color:#555;flex:none;display:flex;align-items:center;justify-content:center}.new-menu-item .menu-ico svg[data-v-5a3496fd]{width:18px;height:18px}.new-menu-item:hover .menu-ico[data-v-5a3496fd]{color:#1677ff}.docs-toolbar .search-wrap[data-v-5a3496fd]{position:relative;display:inline-flex;align-items:center;width:25%;min-width:160px;max-width:260px}.docs-toolbar .search-input[data-v-5a3496fd]{width:100%;max-width:none;height:36px;border:1px solid #d9d9d9;border-radius:8px;padding:0 64px 0 14px;font-size:14px;outline:none;transition:all .2s}.docs-toolbar .search-input[data-v-5a3496fd]:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff14}.docs-toolbar .search-clear[data-v-5a3496fd]{position:absolute;right:46px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;border-radius:50%;background:#e8e8e8;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2}.docs-toolbar .search-clear[data-v-5a3496fd]:hover{background:silver}.docs-toolbar .search-icon[data-v-5a3496fd]{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#bbb}.docs-toolbar .search-icon[data-v-5a3496fd]:hover{color:#666}.docs-toolbar .search-icon svg[data-v-5a3496fd]{display:block;width:16px;height:16px}.docs-breadcrumb[data-v-5a3496fd]{padding:2px 4px 12px;font-size:13px;color:#888;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.crumb[data-v-5a3496fd]{cursor:pointer;color:var(--primary);padding:2px 6px;border-radius:4px;transition:background .15s}.crumb.drag-over-root[data-v-5a3496fd]{outline:2px dashed var(--primary);background:#e6f0ff}.crumb[data-v-5a3496fd]:hover{background:#e6f4ff}.crumb-sep[data-v-5a3496fd]{margin:0 2px;color:#ccc}.crumb-search[data-v-5a3496fd]{color:#1f2329;font-weight:600}.docs-card[data-v-5a3496fd]{flex:1;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:12px 16px 16px;position:relative;min-height:0}.doc-drop-tip[data-v-5a3496fd]{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:2px dashed var(--primary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:16px;background:#1677ff0a;pointer-events:none;z-index:5}.doc-empty[data-v-5a3496fd]{padding:40px 20px;text-align:center;color:#aaa;font-size:14px}.doc-upload-overlay[data-v-5a3496fd]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:flex;align-items:flex-start;justify-content:center;z-index:8;pointer-events:none;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.doc-upload-card[data-v-5a3496fd]{margin-top:60px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 28px #0000001f;padding:16px 22px;min-width:240px}.doc-spinner[data-v-5a3496fd]{width:22px;height:22px;border:3px solid #e6eefc;border-top-color:var(--primary);border-radius:50%;animation:doc-spin-5a3496fd .8s linear infinite;flex:none}@keyframes doc-spin-5a3496fd{to{transform:rotate(360deg)}}.doc-upload-text[data-v-5a3496fd]{display:flex;flex-direction:column;gap:2px}.doc-upload-title[data-v-5a3496fd]{font-size:15px;font-weight:600;color:#333}.doc-upload-sub[data-v-5a3496fd]{font-size:13px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.doc-toast[data-v-5a3496fd]{position:absolute;bottom:16px;right:16px;background:#52c41a;color:#fff;font-size:14px;padding:10px 18px;border-radius:10px;box-shadow:0 6px 20px #52c41a4d;z-index:9;animation:doc-toast-in-5a3496fd .25s ease}@keyframes doc-toast-in-5a3496fd{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.doc-row[data-v-5a3496fd]{display:grid;grid-template-columns:32px minmax(0,1fr) 80px 90px 120px 360px;gap:14px;align-items:center;padding:14px 16px;border-radius:8px;cursor:pointer;border-left:3px solid transparent;background:#fff;transition:all .15s;margin-bottom:6px}.doc-row[draggable=true][data-v-5a3496fd]{cursor:grab}.doc-row[draggable=true][data-v-5a3496fd]:active{cursor:grabbing}.doc-row.drag-over[data-v-5a3496fd]{outline:2px solid var(--primary);outline-offset:-2px;background:#e6f0ff}.doc-row.dragging[data-v-5a3496fd]{opacity:.4}.doc-row[data-v-5a3496fd]>*{min-width:0}.doc-row[data-v-5a3496fd]:last-child{margin-bottom:0}.doc-row[data-v-5a3496fd]:hover{background:#f5f7fa;box-shadow:0 2px 8px #0000000f}.doc-row-head[data-v-5a3496fd]{color:#333;font-size:16px;cursor:default;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);border-left-color:transparent!important;z-index:2;margin-bottom:4px;font-weight:700;font-family:Microsoft YaHei,PingFang SC,sans-serif}.doc-row-head .doc-type[data-v-5a3496fd],.doc-row-head .doc-owner[data-v-5a3496fd],.doc-row-head .doc-time[data-v-5a3496fd],.doc-row-head .doc-acts[data-v-5a3496fd]{color:inherit;font-size:inherit;font-weight:inherit}.doc-row-head[data-v-5a3496fd]:hover{background:#fff;box-shadow:none}.doc-folder .doc-name-text[data-v-5a3496fd]{font-weight:600;color:#1f2329}.doc-ico[data-v-5a3496fd]{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.doc-ico svg[data-v-5a3496fd]{width:100%;height:100%}.t-word[data-v-5a3496fd]{color:#1677ff}.t-excel[data-v-5a3496fd]{color:#52c41a}.t-ppt[data-v-5a3496fd]{color:#ff6b18}.t-pdf[data-v-5a3496fd]{color:#f5222d}.t-image[data-v-5a3496fd]{color:#722ed1}.t-txt[data-v-5a3496fd]{color:#3c3c3c}.t-other[data-v-5a3496fd]{color:#999}.doc-name[data-v-5a3496fd]{display:flex;align-items:center;gap:8px;overflow:hidden}.doc-name-text[data-v-5a3496fd]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:500;color:#1f2329}.doc-star[data-v-5a3496fd]{color:#d9d9d9;font-size:16px;line-height:1;cursor:pointer;transition:color .15s,transform .1s}.doc-star[data-v-5a3496fd]:hover,.doc-star.on[data-v-5a3496fd]{color:#faad14}.doc-star[data-v-5a3496fd]:active{transform:scale(1.2)}.doc-type[data-v-5a3496fd]{color:#888;font-size:14px;text-align:left}.doc-owner[data-v-5a3496fd]{color:#888;font-size:14px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-time[data-v-5a3496fd]{color:#888;font-size:14px;text-align:left}.doc-acts[data-v-5a3496fd]{display:flex;gap:6px}.doc-acts .btn-sm[data-v-5a3496fd]{padding:5px 12px;font-size:13px;border-radius:6px}.doc-acts .btn-light[data-v-5a3496fd]{background:#fff;color:#555;border:1px solid #d9d9d9}.doc-acts .btn-light[data-v-5a3496fd]:hover{color:#1677ff;border-color:#1677ff;background:#e6f4ff}.doc-acts .btn-danger[data-v-5a3496fd]{background:#fff;color:#ff4d4f;border:1px solid #ffccc7}.doc-acts .btn-danger[data-v-5a3496fd]:hover{background:#fff1f0;border-color:#ff4d4f}.doc-group[data-v-5a3496fd]{margin-bottom:18px}.doc-group-label[data-v-5a3496fd]{display:inline-block;background:#f5f5f5;color:#666;font-size:13px;font-weight:600;padding:4px 12px;border-radius:20px;margin:16px 0 10px 4px}.doc-group:first-child .doc-group-label[data-v-5a3496fd]{margin-top:8px}.modal-lg[data-v-5a3496fd]{width:min(900px,92vw);max-height:88vh;display:flex;flex-direction:column}.doc-prev-title[data-v-5a3496fd]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-prev-tools[data-v-5a3496fd]{margin-right:12px}.md-toggle[data-v-5a3496fd]{font-size:13px;color:#666;display:flex;align-items:center;gap:4px}.doc-prev-body[data-v-5a3496fd]{flex:1;overflow:hidden;display:flex}.doc-edit-wrap[data-v-5a3496fd]{flex:1;display:flex;gap:0}.doc-edit-area[data-v-5a3496fd]{flex:1;width:50%;border:none;outline:none;resize:none;padding:16px;font-family:Consolas,Menlo,monospace;font-size:13px;line-height:1.6}.doc-md-preview[data-v-5a3496fd]{flex:1;width:50%;border-left:1px solid var(--border);padding:16px;overflow:auto;line-height:1.7}.doc-md-preview h1[data-v-5a3496fd],.doc-md-preview h2[data-v-5a3496fd],.doc-md-preview h3[data-v-5a3496fd]{margin:.6em 0 .3em}.doc-ctx[data-v-5a3496fd]{position:fixed;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000001f;z-index:100;min-width:120px}.doc-ctx-item[data-v-5a3496fd]{padding:8px 14px;cursor:pointer;font-size:14px}.doc-ctx-item[data-v-5a3496fd]:hover{background:#f0f5ff}.move-list[data-v-5a3496fd]{max-height:50vh;overflow:auto}.move-item[data-v-5a3496fd]{padding:8px 12px;border-radius:6px;cursor:pointer}.move-item[data-v-5a3496fd]:hover{background:#f5f7fa}.move-item.sel[data-v-5a3496fd]{background:#e6f0ff;color:var(--primary);font-weight:600}@media (max-width: 960px){.docs-toolbar[data-v-5a3496fd]{flex-wrap:wrap}.toolbar-title[data-v-5a3496fd]{order:-1;width:100%;text-align:center;margin-bottom:6px}.toolbar-side[data-v-5a3496fd]{width:100%;justify-content:center}.docs-toolbar .search-wrap[data-v-5a3496fd]{width:100%}.doc-acts[data-v-5a3496fd]{opacity:1}}@media (max-width: 767px){.doc-row-head[data-v-5a3496fd]{display:none}.doc-row[data-v-5a3496fd]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px}.doc-ico[data-v-5a3496fd]{order:1;width:28px;height:28px}.doc-name[data-v-5a3496fd]{order:2;flex:1 1 auto;min-width:0}.doc-acts[data-v-5a3496fd]{order:3;width:auto;justify-content:flex-end;flex-wrap:wrap}.doc-type[data-v-5a3496fd]{order:4}.doc-owner[data-v-5a3496fd]{order:5}.doc-time[data-v-5a3496fd]{order:6}}.pw-field[data-v-eb88857e]{position:relative}.pw-field[data-v-eb88857e] .form-input{padding-right:44px}.pw-toggle[data-v-eb88857e]{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;background:transparent;color:#999;cursor:pointer;border-radius:6px}.pw-toggle[data-v-eb88857e]:hover{color:#1677ff}.pw-toggle[data-v-eb88857e]:focus-visible{outline:2px solid #1677ff;outline-offset:2px}.pw-toggle svg[data-v-eb88857e]{width:20px;height:20px}.login-beian[data-v-eb88857e]{position:absolute;bottom:0;left:0;right:0}:root{--bg: #f5f5f7;--panel: #ffffff;--primary: #1677ff;--primary-d: #0958d9;--text: #1a1a1a;--muted: #8c8c8c;--border: #e8e8e8;--danger: #e5484d;--ok: #2ba471;--success: #52c41a;--warn: #fa8c16;--radius: 20px;--radius-sm: 14px;--shadow: 0 4px 20px rgba(0, 0, 0, .04);--shadow-hover: 0 8px 30px rgba(0, 0, 0, .08)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;background:var(--bg);color:var(--text)}input,textarea,select,button,table,th,td{font-family:inherit}code,pre{font-family:Consolas,Menlo,Monaco,Courier New,monospace}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 14px;border-radius:12px}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover{background:var(--primary-d)}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:12px;width:100%;background:#fafafa}a{color:var(--primary)}.app{display:flex;min-height:100vh}.nav{width:190px;background:var(--panel);border-right:1px solid var(--border);padding:16px 10px;display:flex;flex-direction:column;gap:4px}.nav .brand{font-weight:700;font-size:16px;padding:6px 10px 14px}.nav button{text-align:left;border:none;background:transparent;padding:9px 10px;border-radius:6px}.nav button.active{background:#eaf1ff;color:var(--primary);font-weight:600}.nav .spacer{flex:1}.main{flex:1;padding:22px 28px;overflow:auto}.card{background:var(--panel);border:none;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.done{text-decoration:line-through;color:var(--muted)}.toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%) translateY(20px);background:#333;color:#fff;padding:10px 20px;border-radius:10px;font-size:14px;z-index:2000;opacity:0;pointer-events:none;transition:all .25s;max-width:80vw;box-shadow:0 6px 24px #00000040}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.success{background:#52c41a}.toast.error{background:#cf1322}.toast.warn{background:#fa8c16}.toast.info{background:#1677ff}.app-container{min-height:100vh;display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;justify-content:flex-start;padding:0 24px;height:56px;background:#fff;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:100}.nav-links{display:flex;gap:2px;margin-left:8px}.top-nav .nav-link{padding:0 16px;height:56px;line-height:56px;font-size:15px;cursor:pointer;transition:all .2s;color:#5a6270;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;background:transparent;border:none}.top-nav .nav-link:hover{color:#1677ff}.top-nav .nav-link.active{color:#1677ff;border-bottom-color:#1677ff;font-weight:700;font-size:15px}.brand{display:flex;align-items:center;gap:10px;padding-right:18px;margin-right:4px;border-right:1px solid var(--border);flex-shrink:0}.brand-logo{width:32px;height:32px;border-radius:8px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px}.brand-name{font-size:18px;font-weight:700;color:#1677ff;white-space:nowrap;font-family:Microsoft YaHei,PingFang SC,Heiti SC,Times New Roman,sans-serif}.top-right{display:flex;align-items:center;gap:10px;margin-left:auto}.refresh-btn{gap:4px}.refresh-icon{display:inline-block;font-size:15px;line-height:1}.refresh-btn.spinning .refresh-icon{animation:spin .7s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.user-name{font-size:13px;color:var(--text);font-weight:600}.year-select{padding:5px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;outline:none;cursor:pointer;background:#fff;min-width:80px}.btn-text{padding:6px 16px;border-radius:8px;border:none;font-size:13px;font-weight:400;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:all .2s}.btn-default-logout{background:#fff;color:#666;border:1px solid #d9d9d9}.btn-default-logout:hover{color:#ff4d4f;border-color:#ff4d4f}.btn-green{background:#52c41a;color:#fff;border:none}.btn-primary{background:#1677ff;color:#fff;border:none}.sidebar{width:180px;flex-shrink:0;background:#fff;border-right:1px solid #f0f0f0;padding:14px 0;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}.side-title{font-size:12px;color:#8a909c;font-weight:600;letter-spacing:.5px;padding:6px 20px 10px}.side-menu{display:flex;flex-direction:column;gap:3px}.side-menu .nav-link{display:flex;align-items:center;gap:8px;padding:12px 14px;margin:0 8px;border-radius:6px;font-size:15px;background:transparent;border:none;text-align:left;cursor:pointer;color:#5a6270;font-weight:600;border-left:3px solid transparent}.side-menu .nav-link:hover{background:#f5f7fa;color:#1677ff}.side-menu .nav-link.active{background:#e6f4ff;color:#1677ff;font-weight:700;border-left:3px solid #1677ff;padding-left:11px}.content{flex:1;min-width:0;min-height:0;padding:24px 28px 40px;background:#f0f2f5}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head-title{font-size:26px;font-weight:700;color:#1f2533}.page-head-sub{font-family:Microsoft YaHei,PingFang SC,Heiti SC,Times New Roman,sans-serif;font-size:16px;font-weight:600;color:var(--muted);margin-top:4px}.page-head-date{font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--border);padding:8px 14px;border-radius:8px;box-shadow:var(--shadow);white-space:nowrap}.btn{padding:8px 22px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:400;transition:all .2s;font-family:inherit}.btn-default{background:#f5f5f5;color:#666;border:1px solid #d9d9d9}.btn-default:hover{background:#e8e8e8}.btn-accent{background:#1677ff;color:#fff}.btn-accent:hover{background:#0958d9}.btn-danger{background:#fff;color:#ff4d4f;border:1px solid #ff4d4f}.btn-danger:hover{background:#fff1f0}.btn-danger:disabled{background:#fafafa;color:#ffaaa5;border-color:#ffd6d4;cursor:not-allowed}.modal-foot-secondary{padding-top:0;justify-content:flex-start;border-top:none}.btn-sm{padding:5px 12px;font-size:13px;border-radius:6px}.btn-primary{background:#1677ff;color:#fff}.btn-primary:hover{background:#0958d9}.btn-green{background:#52c41a;color:#fff}.btn-green:hover{background:#389e0d}.btn-light{background:#e6f4ff;color:#1677ff}.btn-light:hover{background:#bae7ff}button.danger,.btn.danger{color:#ff4d4f}button.danger:hover,.btn.danger:hover{background:#fff2f0;border-color:#ff4d4f}.search-input{width:100%;max-width:420px;height:38px;border:1px solid #e0e0e0;border-radius:8px;padding:0 64px 0 14px;font-size:13px;color:#333;background:#fff;outline:none;transition:all .2s}.search-input::placeholder{color:#bbb}.search-input:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff14}.search-wrap{display:inline-flex;align-items:center;position:relative;flex:1}.search-wrap .search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#bbb}.search-wrap .search-icon:hover{color:#666}.search-wrap .search-icon svg{display:block;width:16px;height:16px}.search-wrap .search-clear{position:absolute;right:46px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;border-radius:50%;background:#e8e8e8;color:#fff;font-size:12px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2}.search-wrap .search-clear:hover{background:silver}.search-wrap.has-text .search-clear{display:flex}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #0000000f;display:flex;align-items:center;gap:16px;border:1px solid var(--border);cursor:pointer;transition:all .2s}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.stat-num{font-size:32px;font-weight:700;line-height:1;color:var(--primary)}.stat-label{font-size:13px;color:#888;margin-top:4px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-icon.blue{background:#e6f4ff;color:#1677ff}.stat-icon.green{background:#f6ffed;color:#52c41a}.stat-icon.orange{background:#fff7e6;color:#fa8c16}.stat-icon.red{background:#fff2f0;color:#ff4d4f}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch;flex:1;min-height:0}.home-page{display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.section-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden;border:1px solid var(--border);transition:box-shadow .2s;height:600px;min-width:0;display:flex;flex-direction:column}.section-card .section-body{flex:1;min-height:0;overflow:hidden}.section-card:hover{box-shadow:var(--shadow-hover)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #f0f0f0;font-weight:600;font-size:18px;position:relative}.section-header:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;border-radius:2px;background:var(--primary)}.section-header .spacer{flex:1}.section-header .btn-new-todo{display:inline-flex;align-items:center;gap:4px;padding:6px 18px;border-radius:8px;border:none;background:#52c41a;color:#fff;font-size:13px;font-family:Microsoft YaHei,PingFang SC,Heiti SC,Times New Roman,sans-serif;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;margin-left:12px}.section-header .btn-new-todo:hover{background:#389e0d}.section-header .btn-link{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:8px;border:none;background:#e6f4ff;color:#1677ff;font-size:13px;font-family:Microsoft YaHei,PingFang SC,Heiti SC,Times New Roman,sans-serif;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;margin-left:12px}.section-header .btn-link:hover{background:#bae7ff}.section-body{padding:12px 20px 16px}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:10px;font-size:13px;white-space:nowrap}.tag-safe{background:#e6f4ff;color:#1677ff}.tag-env{background:#f6ffed;color:#52c41a}.tag-health{background:#fff7e6;color:#fa8c16}.tag-other{background:#f0f0f0;color:#666}.tag-meeting{background:#f9f0ff;color:#722ed1}.tag-train{background:#fff1f0;color:#cf1322}.tag-c1{background:#e6f4ff;color:#1677ff}.tag-c2{background:#fff7e6;color:#fa8c16}.tag-c3{background:#f6ffed;color:#52c41a}.tag-c4{background:#f9f0ff;color:#722ed1}.tag-c5{background:#fff1f0;color:#cf1322}.tag-c6{background:#e6fffb;color:#13c2c2}.tag-c7{background:#fcffe6;color:#a0d911}.tag-c8{background:#fff0f6;color:#eb2f96}.home-page .todo-list{display:flex;flex-direction:column;gap:12px}.home-page .todo-item{background:#fff;border-radius:10px;padding:12px 16px;height:74px;overflow:hidden;display:flex;align-items:center;gap:14px;position:relative;box-shadow:0 1px 2px #0000000a;transition:all .2s;cursor:default;border-left:3px solid transparent}.home-page .todo-item:hover{box-shadow:0 2px 8px #00000014}.home-page .todo-item.overdue{border-left-color:#ff4d4f}.home-page .todo-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid #d9d9d9;flex-shrink:0;margin-top:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.home-page .todo-checkbox:hover{border-color:#1677ff}.home-page .todo-checkbox.checked{background:#52c41a;border-color:#52c41a}.home-page .todo-checkbox.checked:after{content:"";width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px);border-radius:1px}.home-page .todo-body{flex:1;min-width:0;padding-right:185px}.home-page .todo-title{font-size:16px;font-weight:400;margin-bottom:6px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-page .todo-title.done{text-decoration:line-through;color:#aaa}.home-page .todo-meta{display:flex;align-items:center;gap:10px;font-size:14px;color:#999;flex-wrap:nowrap;overflow:hidden}.home-page .todo-meta .tag{font-size:13px;padding:1px 8px}.home-todo-owner{width:110px;height:28px;padding:2px 26px 2px 8px;border-radius:6px;border:1px solid #d9d9d9;background:#fff;font-size:13px;color:#333;outline:none;transition:border-color .2s;font-family:inherit}.home-todo-owner:focus{border-color:#1677ff}.home-todo-owner::placeholder{color:#c0c4cc}.owner-field{position:relative;display:inline-flex;align-items:center}.home-todo-owner[readonly]{cursor:text;border-color:transparent;background:transparent}.owner-save{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;border:none;background:transparent;color:#52c41a;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}.owner-save:hover{background:#52c41a1f;border-radius:4px}.owner-save .owner-check{display:block;pointer-events:none}.home-page .todo-actions{position:absolute;right:10px;top:0;bottom:0;display:flex;align-items:center;gap:6px;opacity:1;pointer-events:auto}.home-page .todo-item:hover .todo-actions{opacity:1;pointer-events:auto}.home-page .action-btn{padding:3px 10px;border-radius:6px;border:1px solid #e8e8e8;background:#fff;cursor:pointer;font-size:13px;color:#888;display:inline-flex;align-items:center;transition:all .15s}.home-page .action-btn:hover{color:#1677ff;border-color:#1677ff;background:#e6f4ff}.home-page .record-list{display:flex;flex-direction:column;gap:12px}.home-page .record-card{background:#fff;border-radius:10px;padding:12px 16px;height:74px;overflow:hidden;display:flex;align-items:center;margin:0;box-shadow:0 1px 2px #0000000a;border-left:3px solid #d9d9d9;transition:all .2s;cursor:pointer;position:relative}.home-page .record-card:hover{box-shadow:0 3px 10px #0000001a;transform:translateY(-1px)}.home-page .record-body{flex:1;min-width:0;padding-right:50px}.home-page .record-actions{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px}.home-page .record-del-btn{width:26px;height:26px;border-radius:50%;border:1px solid #e8e8e8;background:#fff;color:#999;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0}.home-page .record-del-btn:hover{color:#ff4d4f;border-color:#ff4d4f;background:#fff1f0}.home-page .record-del-text{width:auto;height:28px;padding:0 12px;border-radius:6px;font-size:12px}.home-page .card-title{font-size:16px;font-weight:400;margin-bottom:6px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-page .card-date{display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow:visible;font-size:14px;color:#999;white-space:normal}.home-page .card-date .rec-owner{color:#1677ff;font-weight:500}.home-page .card-date .tag{font-size:13px;padding:1px 8px}.home-page .record-card.card-border-blue{border-left-color:#1677ff}.home-page .record-card.card-border-green{border-left-color:#52c41a}.home-page .record-card.card-border-orange{border-left-color:#fa8c16}.home-page .record-card.card-border-red{border-left-color:#ff4d4f}.home-page .record-card.card-border-purple{border-left-color:#722ed1}.todo-stats{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.todo-stat-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#555}.todo-stat-item.clickable{cursor:pointer;padding:4px 10px;border-radius:6px;transition:background .15s}.todo-stat-item.clickable:hover{background:#f0f0f0}.todo-stat-item.clickable.active{background:#e6f4ff;color:#1677ff;font-weight:600}.todo-stat-item .num{font-weight:700;font-size:17px}.todo-stat-item .icon-circle{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff}.icon-circle.pending{background:#1677ff}.icon-circle.done{background:#52c41a}.icon-circle.today{background:#fa8c16}.icon-circle.overdue{background:#ff4d4f}.icon-circle.neutral{background:#bfbfbf}.todos-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media (max-width: 1100px){.todos-split-layout{grid-template-columns:1fr}}.todo-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-item{background:#fff;border-radius:10px;padding:16px 20px;display:flex;align-items:flex-start;gap:14px;box-shadow:0 1px 2px #0000000a;transition:all .2s;cursor:default;border-left:3px solid transparent}.todo-item:hover{box-shadow:0 2px 8px #00000014}.todo-item.completed{opacity:.65;border-left-color:#52c41a}.todo-item.overdue{border-left-color:#ff4d4f}.todo-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid #d9d9d9;flex-shrink:0;margin-top:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.todo-checkbox:hover{border-color:#1677ff}.todo-checkbox.checked{background:#52c41a;border-color:#52c41a;color:#fff}.todo-checkbox.checked:after{content:"✓";font-size:13px;font-weight:700}.todo-body{flex:1;min-width:0}.todo-title{font-size:15px;font-weight:400;margin-bottom:4px;word-break:break-word}.todo-item.completed .todo-title{text-decoration:line-through;color:#aaa}.todo-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#999;flex-wrap:wrap}.todo-actions{display:flex;gap:6px;opacity:0;transition:opacity .2s}.todo-item:hover .todo-actions{opacity:1}.action-btn{padding:3px 10px;border-radius:6px;border:1px solid #e8e8e8;background:#fff;cursor:pointer;font-size:12px;color:#888;display:inline-flex;align-items:center;transition:all .15s;font-family:inherit}.action-btn:hover{color:#1677ff;border-color:#1677ff;background:#e6f4ff}.action-btn.delete-btn:hover{color:#ff4d4f;border-color:#ff4d4f;background:#fff2f0}.empty-state{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:14px}.home-new-todo{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;color:#1677ff;font-size:14px;font-weight:400;border-radius:10px;transition:all .2s;border:1.5px dashed #d9d9d9;background:#fafafa}.home-new-todo:hover{border-color:#1677ff;background:#e6f4ff}.board-toolbar{display:flex;align-items:center;gap:10px;padding:14px 20px 0;flex-wrap:wrap}.board-toolbar .search-wrap{flex:0 0 auto;width:280px}.board-toolbar .search-input{max-width:none}.board-container{overflow-x:auto;padding-bottom:16px}.board-row{display:flex;gap:20px;min-width:max-content;padding:4px 0}.board-column{width:340px;flex-shrink:0}.col-header{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;margin-bottom:12px}.col-title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px}.col-count{background:#e8e8e8;color:#666;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.record-card{background:#fff;border-radius:10px;padding:14px 16px;margin-bottom:10px;box-shadow:0 1px 2px #0000000a;border-left:3px solid #d9d9d9;transition:all .2s;cursor:pointer}.record-card:hover{box-shadow:0 3px 10px #0000001a;transform:translateY(-1px)}.card-title{font-size:14px;font-weight:600;margin-bottom:6px;line-height:1.45}.card-date{font-size:11px;color:#999;margin-bottom:6px}.card-tags{display:flex;gap:6px;flex-wrap:wrap}.card-tags .tag{font-size:11px;padding:1px 8px}.card-border-blue{border-left-color:#1677ff}.card-border-green{border-left-color:#52c41a}.card-border-orange{border-left-color:#fa8c16}.card-border-red{border-left-color:#ff4d4f}.card-border-purple{border-left-color:#722ed1}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;align-items:center;justify-content:center}.modal-overlay.show{display:flex}.modal-box{background:#fff;border-radius:12px;width:640px;max-width:94vw;max-height:88vh;overflow-y:auto;border:none;box-shadow:0 6px 20px #00000029,0 2px 8px #00000014;animation:modalPop .2s ease-out}@keyframes modalPop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 14px}.modal-head h3{font-size:17px;font-weight:600;color:#1a1a2e}.modal-close{width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#999;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:20px 24px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 24px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:20px 24px;width:460px;max-width:94vw;max-height:88vh;overflow-y:auto;border:none;box-shadow:0 6px 20px #00000029,0 2px 8px #00000014;animation:modalPop .2s ease-out}.modal h3{font-size:17px;font-weight:600;margin:0 0 14px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:400;color:#555;margin-bottom:6px}.form-group label .required{color:#ff4d4f;margin-left:2px}.form-input,.form-textarea,.form-select{width:100%;padding:9px 12px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.form-textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-chip{padding:5px 14px;border-radius:6px;border:1px solid #e8e8e8;font-size:13px;cursor:pointer;background:#fff;color:#666;transition:all .15s}.filter-chip:hover,.filter-chip.active{border-color:#1677ff;color:#1677ff;background:#e6f4ff}.detail-field{margin-bottom:14px}.detail-field dt{font-size:12px;color:#999;margin-bottom:3px}.detail-field dd{font-size:14px;color:#444}.detail-back{display:inline-flex;align-items:center;gap:4px;color:#1677ff;cursor:pointer;font-size:14px;margin-bottom:16px}.loading{text-align:center;padding:40px;color:#bbb;font-size:14px}.sched-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}@media (max-width: 1000px){.sched-layout{grid-template-columns:1fr}}.cal-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #f0f0f0}.cal-header .nav-arrow{width:32px;height:32px;border-radius:8px;border:1px solid #e8e8e8;background:#fff;cursor:pointer;font-size:16px;color:#666}.cal-header .nav-arrow:hover{border-color:#1677ff;color:#1677ff}.cal-header #calTitle,.cal-header .cal-title{font-size:16px;font-weight:600;min-width:110px;text-align:center}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:10px 20px 0}.cal-weekdays div{text-align:center;font-size:12px;color:#999;padding:8px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:10px 20px 20px}.cal-cell{min-height:100px;min-width:0;border:1px solid #f0f0f0;border-radius:10px;padding:4px 6px 2px;background:#fff;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;overflow:visible}.cal-cell:hover{border-color:#1677ff;box-shadow:0 2px 8px #1677ff14}.cal-empty{background:transparent;border:none;cursor:default}.cal-empty:hover{border:none;box-shadow:none}.cal-today{background:#e6f4ff;border-color:#91caff}.cal-selected{outline:2px solid #1677ff}.cal-daynum{font-size:13px;color:#555;font-weight:400}.cal-today .cal-daynum{color:#1677ff;font-weight:700}.cal-chips{display:flex;flex-direction:column;gap:3px;overflow:hidden}.cal-chip{font-size:11px;padding:2px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f0f0f0;color:#555;cursor:pointer}.cal-chip.cal-type-meeting{background:#f9f0ff;color:#722ed1}.cal-chip.cal-type-train{background:#fff1f0;color:#cf1322}.cal-chip.cal-type-check{background:#e6f4ff;color:#1677ff}.cal-chip.cal-type-duty{background:#f6ffed;color:#52c41a}.cal-chip.cal-type-other{background:#f0f0f0;color:#666}.ev-status-badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;line-height:18px}.ev-item{display:flex;gap:10px;align-items:flex-start;background:#fafafa;border-radius:10px;padding:12px 14px;margin-bottom:10px;border-left:3px solid #d9d9d9}.ev-item.ev-type-meeting{border-left-color:#722ed1}.ev-item.ev-type-train{border-left-color:#cf1322}.ev-item.ev-type-check{border-left-color:#1677ff}.ev-item.ev-type-duty{border-left-color:#52c41a}.ev-item.ev-type-other{border-left-color:#d9d9d9}.ev-time{font-size:13px;font-weight:400;color:#1677ff;min-width:48px}.ev-body{flex:1;min-width:0}.ev-title{font-size:14px;font-weight:400;margin-bottom:4px}.ev-meta{display:flex;gap:8px;font-size:12px;color:#999;flex-wrap:wrap;align-items:center}.report-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 900px){.report-stat-row{grid-template-columns:repeat(2,1fr)}}.report-stat-row .stat-card{cursor:default}.charts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.chart-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:var(--shadow)}.chart-card.wide{grid-column:1 / -1}.chart-card h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.bar-label{width:72px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;background:#eaeaea;border-radius:6px;height:14px;overflow:hidden}.bar-fill{background:#1677ff;height:100%;transition:width .3s}.bar-fill.alt{background:#722ed1}.bar-val{width:30px;text-align:right;color:var(--muted)}.doc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0;padding:14px 20px;background:#fff;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}.doc-tbar-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.btn-new-main{height:34px;padding:0 16px;background:#13c2c2;color:#fff;border:none;border-radius:7px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:background .15s,box-shadow .15s;white-space:nowrap;font-family:inherit}.btn-new-main:hover{background:#36cfc9;box-shadow:0 2px 6px #13c2c24d}.arrow-down{font-size:11px;opacity:.85}.new-dropdown{position:relative;z-index:10}.new-menu{display:none;position:absolute;top:100%;left:0;margin-top:6px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001f;min-width:170px;padding:5px 0;overflow:hidden}.new-dropdown.open .new-menu{display:block}.new-menu-item{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:14px;color:#333;text-decoration:none;cursor:pointer;border:none;background:transparent;transition:background .12s;width:100%;box-sizing:border-box;font-family:inherit;line-height:1.4}.new-menu-item:hover{background:#f5f5f5;color:#1677ff}.new-menu-item span:first-child{font-size:17px;flex-shrink:0;width:22px;text-align:center}.doc-search{position:relative}.doc-search input{width:220px;height:32px;border:1px solid #d9d9d9;border-radius:6px;padding:0 10px 0 32px;font-size:13px;outline:none;transition:border-color .15s;font-family:inherit}.doc-search input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.doc-search:before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;pointer-events:none;opacity:.45}.doc-filter{height:36px;border:1px solid #d9d9d9;border-radius:8px;padding:0 28px 0 14px;font-size:13px;outline:none;cursor:pointer;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'><path d='M1 1l5 4.5L11 1' fill='none' stroke='%23bbb' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 10px center;font-family:inherit;color:#333;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:120px;max-width:180px}.doc-filter option:first-child{color:#bbb}.doc-filter:hover{border-color:#bfbfbf}.doc-filter:focus{border-color:#1677ff;box-shadow:0 0 0 3px #1677ff1a}.doc-type-select{background:#e6f7ff;border-color:#91caff;color:#1677ff;font-weight:500;min-width:100px}.doc-type-select:hover{border-color:#1677ff}.doc-sort-btn{height:32px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#555;transition:all .15s;white-space:nowrap;font-family:inherit}.doc-sort-btn:hover{border-color:#1677ff;color:#1677ff}.doc-list-wrap{background:#fff;border-radius:10px;box-shadow:0 1px 2px #0000000a;overflow:hidden;position:relative}.doc-list-wrap.drag-over{outline:2px dashed #1677ff;outline-offset:-6px;background:#f5faff}.doc-drop-tip{display:none;position:absolute;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#1677ff;background:#f5faffd9;pointer-events:none;z-index:5}.doc-list-wrap.drag-over .doc-drop-tip{display:flex}.doc-list{min-height:200px}.doc-group-head{padding:14px 24px 8px;font-size:13px;font-weight:700;color:#999;letter-spacing:.3px;-webkit-user-select:none;user-select:none}.doc-tag-btn{font-size:11px;padding:2px 8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;color:#666;font-family:inherit}.doc-tag-btn:hover{border-color:#1677ff;color:#1677ff}.doc-breadcrumb{padding:10px 20px;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.doc-bc-item,.doc-breadcrumb .crumb{color:#1677ff;cursor:pointer;transition:color .15s;font-family:inherit}.doc-bc-item:hover,.doc-breadcrumb .crumb:hover{text-decoration:underline}.doc-bc-sep,.crumb-sep{color:#bbb}.doc-bc-current,.crumb-search{color:#333;font-weight:700}.doc-folder-actions{margin-left:auto;display:flex;gap:6px}.doc-newfolder-btn{height:30px;padding:0 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;color:#666;font-family:inherit;display:flex;align-items:center;gap:4px;transition:all .15s}.doc-newfolder-btn:hover{border-color:#1677ff;color:#1677ff}@media (max-width:768px){.doc-toolbar{padding:10px 12px}.search-input{max-width:200px}.doc-group-head{padding:10px 14px 6px}}.action-btn.disabled{opacity:.35;cursor:not-allowed}#loginOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#f0f2f5;display:flex;align-items:center;justify-content:center;z-index:2000}.login-card{width:min(360px,90vw);box-sizing:border-box;background:#fff;border-radius:16px;padding:36px 32px;box-shadow:0 12px 48px #00000040}.login-title{font-size:20px;font-weight:700;text-align:center;margin-bottom:4px;color:var(--primary)}.login-sub{text-align:center;color:#999;font-size:13px;margin-bottom:24px}.login-form .form-group{margin-bottom:16px}.login-btn{width:100%;padding:11px;font-size:15px}.login-err{color:#ff4d4f;font-size:13px;text-align:center;min-height:18px;margin-bottom:10px}#userArea{display:none;align-items:center;gap:8px;padding-left:10px;border-left:1px solid #eee}.user-badge{font-size:11px;padding:1px 8px;border-radius:4px;background:#e6f4ff;color:#1677ff}.users-table{width:100%;border-collapse:collapse;margin-top:8px}.users-table th,.users-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:13px}.users-table th{color:#999;font-weight:600}.cat-mgr-list{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.cat-mgr-item{display:flex;align-items:center;gap:12px}.cat-mgr-item .cat-name-input{flex:1;font-size:15px;padding:9px 12px}.cat-mgr-item .cat-del{width:36px;height:36px;border-radius:8px;border:1px solid #ffebe8;background:#fff2f0;color:#cf1322;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s}.cat-mgr-item .cat-del:hover{background:#cf1322;color:#fff;border-color:#cf1322}.cat-add-row{display:flex;gap:10px;padding-top:12px;align-items:center}.cat-add-row input{flex:1;font-size:15px;padding:9px 12px}.cat-add-row button{padding:8px 20px;border-radius:6px;border:1px solid #1677ff;background:#1677ff;color:#fff;cursor:pointer;font-size:15px;font-family:inherit;white-space:nowrap}.cat-add-row button:hover{background:#0958d9}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.skeleton-wrap{margin:2px 0 6px;padding:0 18px;box-sizing:border-box;min-height:200px}@media (max-width: 768px){.skeleton-wrap{padding:0 12px}}@media (max-width: 960px){.home-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.brand-name{display:none}.brand{border-right:none;padding-right:8px;margin-right:0}.page-head-title{font-size:18px}.page-head-date,.sidebar,.top-right .user-name{display:none}.stat-num{font-size:24px}.section-header{padding:14px 16px;font-size:16px}.modal-box,.modal{width:96vw}}.beian-footer{flex:none;padding:10px 16px;text-align:center;background:#fafafa;border-top:1px solid #eee;font-size:12px;color:#999;font-family:SimHei,Microsoft YaHei,sans-serif}.beian-inner{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.beian-link{color:#999;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .15s}.beian-link:hover{color:#1677ff}.beian-icon{width:14px;height:14px;vertical-align:middle;object-fit:contain}.beian-sep{color:#ddd}@media (max-width: 767px){.beian-footer{display:none}}.app-container{height:100vh;display:flex;flex-direction:column;overflow:hidden}.layout-body{display:flex;flex:1;min-height:0}.sidebar{width:200px;flex-shrink:0;background:#fff;border-right:1px solid #f0f0f0;padding:14px 0;overflow-y:auto}.content{flex:1;min-width:0;min-height:0;padding:20px 24px 32px;background:#f0f2f5;overflow-y:auto}.title-bar{height:40px;flex-shrink:0;display:flex;align-items:center;padding:0 4px 0 12px;background:#fff;border-bottom:1px solid #f0f0f0;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.title-bar .brand{border-right:none;padding-right:0;margin-right:0;gap:8px}.title-bar .brand-logo{width:24px;height:24px;font-size:13px;border-radius:6px}.title-bar .brand-name{font-size:15px}.title-bar .title-actions{display:flex;align-items:center;gap:2px;margin-left:auto;-webkit-app-region:no-drag}.title-bar .title-actions .user-name{font-size:12px;color:#555;font-weight:600;margin:0 6px}.title-bar .btn-text{padding:5px 10px;font-size:12px;border-radius:6px;color:#555;background:transparent}.title-bar .btn-text:hover{background:#f0f0f0;color:#1677ff}.title-bar .icon-btn{font-size:15px;line-height:1}.title-bar .refresh-icon{display:inline-block;font-size:15px}.title-bar .btn-logout:hover{color:#ff4d4f}.win-controls{display:flex;align-items:center;margin-left:4px;-webkit-app-region:no-drag}.wc-btn{width:40px;height:40px;border:none;background:transparent;font-size:14px;color:#555;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.wc-btn:hover{background:#f0f0f0}.wc-close:hover{background:#e5484d;color:#fff}.offline-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:#ffffffb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.offline-card{text-align:center;padding:30px 44px;background:#fff;border-radius:14px;box-shadow:0 10px 40px #0000001f}.layout-body>.sidebar{position:static;top:auto;height:auto}.content .top-grid,.content .board-header-sticky,.content .docs-toolbar,.content .kb-note-edit-sticky{top:0!important}.offline-icon{font-size:40px;margin-bottom:10px}.offline-title{font-size:18px;font-weight:700;margin-bottom:6px;color:#e5484d}.offline-tip{font-size:13px;color:#888}.boot-loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f5f7fa}.boot-card{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#555;padding:26px 40px;background:#fff;border-radius:14px;box-shadow:0 8px 30px #00000014}.boot-logo{font-size:24px}.mobile-tabbar{display:none}@media (max-width: 767px){.app-container{height:auto;min-height:100vh;overflow:visible}.layout-body{flex-direction:column}.sidebar{display:none}.title-bar{height:48px;padding:0 8px;-webkit-app-region:none}.title-bar .win-controls{display:none}.title-bar .brand-name{display:inline;font-size:15px}.title-bar .btn-text{padding:5px 8px}.content{padding:14px 14px 72px;overflow-y:visible}.mobile-tabbar{display:flex;position:fixed;left:50%;transform:translate(-50%);right:auto;bottom:12px;z-index:1500;min-width:280px;max-width:calc(100vw - 32px);height:58px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.04);border-radius:30px;padding:4px 8px;padding-bottom:calc(4px + env(safe-area-inset-bottom));box-shadow:0 8px 30px #0000001a}.mobile-tabbar .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:none;cursor:pointer;font-size:11px;color:#8c8c8c;font-family:inherit;padding:0 6px;border-radius:20px;transition:all .2s}.mobile-tabbar .tab-item .tab-ico{font-size:20px;line-height:1}.mobile-tabbar .tab-item.active{color:var(--primary);font-weight:700;background:#1677ff14}.page-head{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.page-head-title{font-size:28px;font-weight:700;letter-spacing:-.5px}.page-head-action{width:36px;height:36px;border-radius:50%;border:none;background:#fff;box-shadow:var(--shadow);font-size:20px;display:flex;align-items:center;justify-content:center}.mobile-home{padding:16px 16px calc(72px + env(safe-area-inset-bottom));background:var(--bg);min-height:100%}.today-label{font-size:14px;color:var(--muted);margin:2px 0 18px}.section-title{font-size:18px;font-weight:700;color:#1f2533;margin:4px 0 12px}.pill-bar{display:flex;gap:10px;overflow-x:auto;padding:4px 0 16px;scrollbar-width:none}.pill-bar::-webkit-scrollbar{display:none}.pill{flex-shrink:0;padding:8px 16px;border-radius:50px;border:none;background:#fff;color:var(--text);font-size:13px;font-weight:500;box-shadow:var(--shadow)}.pill.active{background:#2c2c2e;color:#fff}.grid-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mt-card{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;min-height:130px}.mt-card .mt-card-head{display:flex;align-items:flex-start;justify-content:space-between}.mt-card .mt-emoji{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:#1677ff1a}.mt-card .mt-card-title{font-size:16px;font-weight:600;line-height:1.35}.mt-card .mt-card-meta{font-size:12px;color:var(--muted)}.mt-card .mt-card-dot{width:32px;height:32px;border-radius:50%;background:#f5f5f7;border:none;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer}.stats-row{gap:10px}.stat-card{padding:14px 16px}.stat-num{font-size:26px}.home-grid{gap:14px}.section-card{height:auto}.section-card .section-body{overflow:visible}.home-page .todo-body,.home-page .record-body{padding-right:0}.home-page .todo-item,.home-page .record-card{height:auto}.home-page .todo-actions{position:static;width:100%;justify-content:flex-end;margin-top:8px;padding-left:36px;flex-wrap:wrap}.home-page .record-actions{position:static;transform:none;margin-top:8px;justify-content:flex-end}.todo-item{flex-wrap:wrap}.todo-actions{opacity:1;width:100%;justify-content:flex-end;margin-top:10px;padding-left:36px}.todo-item:hover .todo-actions{opacity:1}.todos-split-layout{gap:16px}.board-toolbar{padding:10px 0 0}.board-toolbar .search-wrap{width:auto;flex:1 1 100%}.board-column{width:82vw;max-width:340px}.board-row{gap:14px}.cal-weekdays{padding:8px 10px 0}.cal-grid{gap:3px;padding:8px 10px 14px}.cal-cell{min-height:58px;padding:2px 3px;border-radius:8px}.cal-daynum{font-size:11px}.charts{grid-template-columns:1fr}.chart-card{padding:14px}.doc-toolbar{padding:12px 14px}.doc-tbar-left{flex-wrap:wrap}.doc-search{flex:1 1 100%}.doc-search input{width:100%}.doc-filter{max-width:none}.doc-list-wrap{overflow-x:auto}.form-row{flex-direction:column;gap:0}.users-table{display:block;width:100%;overflow-x:auto;white-space:nowrap}}
