.side-menu[data-v-3823627a]{width:var(--sidebar-width);background:var(--color-sidebar-bg);flex-shrink:0;height:100%;transition:width .2s;overflow:hidden auto}.side-menu.collapsed[data-v-3823627a]{width:var(--sidebar-width-collapsed)}.side-menu[data-v-3823627a]::-webkit-scrollbar{width:6px}.side-menu[data-v-3823627a]::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}nav[data-v-3823627a]{padding:8px 0}.menu-group-title[data-v-3823627a]{color:var(--color-sidebar-text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;transition:color .15s;display:flex}.menu-group-title[data-v-3823627a]:hover{color:var(--color-sidebar-text-active)}.menu-icon[data-v-3823627a]{text-align:center;flex-shrink:0;width:18px;font-size:15px}.menu-icon-sm[data-v-3823627a]{font-size:12px}.menu-arrow[data-v-3823627a]{margin-left:auto;font-size:12px;transition:transform .2s}.menu-group.open>.menu-group-title .menu-arrow[data-v-3823627a],.menu-subgroup.open>.menu-subgroup-title .menu-arrow[data-v-3823627a]{transform:rotate(90deg)}.menu-children[data-v-3823627a]{max-height:0;list-style:none;transition:max-height .25s;overflow:hidden}.menu-group.open>.menu-children[data-v-3823627a]{max-height:600px}.menu-subgroup-title[data-v-3823627a]{color:var(--color-sidebar-text);opacity:.85;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;padding:8px 14px 8px 26px;font-size:12px;transition:color .15s;display:flex}.menu-subgroup-title[data-v-3823627a]:hover{color:var(--color-sidebar-text-active)}.menu-subchildren[data-v-3823627a]{max-height:0;list-style:none;transition:max-height .25s;overflow:hidden}.menu-subgroup.open>.menu-subchildren[data-v-3823627a]{max-height:400px}.menu-item[data-v-3823627a]{color:var(--color-sidebar-text);white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:9px 14px 9px 26px;font-size:12.5px;transition:background .15s,color .15s;display:flex}.menu-item[data-v-3823627a]:hover{color:var(--color-sidebar-text-active);background:#ffffff0f}.menu-item.active[data-v-3823627a]{color:var(--color-sidebar-text-active);background:var(--color-sidebar-bg-active)}.menu-item-sub[data-v-3823627a]{padding-left:40px;font-size:12px}.menu-dot[data-v-3823627a]{opacity:.5;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.menu-item.active .menu-dot[data-v-3823627a]{opacity:1}.menu-single[data-v-3823627a]{padding-left:16px}.menu-label[data-v-3823627a]{text-overflow:ellipsis;overflow:hidden}.collapsed .menu-label[data-v-3823627a],.collapsed .menu-arrow[data-v-3823627a]{display:none}.collapsed .menu-group-title[data-v-3823627a],.collapsed .menu-subgroup-title[data-v-3823627a],.collapsed .menu-item[data-v-3823627a]{justify-content:center;padding-left:0;padding-right:0}.collapsed .menu-children[data-v-3823627a],.collapsed .menu-subchildren[data-v-3823627a]{display:none}.collapsed .menu-icon[data-v-3823627a]{width:auto}.tab-bar[data-v-ea56043e]{background:var(--color-card-bg);border-bottom:1px solid var(--color-border);z-index:5;flex-shrink:0;padding:6px 10px 0}.tab-scroll[data-v-ea56043e]{scrollbar-width:thin;align-items:flex-end;gap:4px;display:flex;overflow-x:auto}.tab[data-v-ea56043e]{border:1px solid var(--color-border);height:32px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:#f5f7fa;border-bottom:none;border-radius:6px 6px 0 0;flex-shrink:0;align-items:center;gap:6px;padding:0 10px 0 14px;font-size:13px;transition:all .15s;display:inline-flex}.tab[data-v-ea56043e]:hover{color:var(--color-text-main);background:#eef2f8}.tab.active[data-v-ea56043e]{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:500}.tab-close[data-v-ea56043e]{text-align:center;opacity:.6;border-radius:50%;width:16px;height:16px;font-size:13px;line-height:14px}.tab-close[data-v-ea56043e]:hover{opacity:1;background:#0000001f}.tab.active .tab-close[data-v-ea56043e]:hover{background:#ffffff40}.pwd-mask[data-v-d59277f4]{z-index:9999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pwd-card[data-v-d59277f4]{background:#fff;border-radius:10px;width:360px;padding:22px;box-shadow:0 14px 40px #00000040}.pwd-title[data-v-d59277f4]{margin-bottom:12px;font-size:16px;font-weight:600}.pwd-notice[data-v-d59277f4]{color:#9a6700;background:#fff8e6;border:1px solid #f5d58a;border-radius:6px;margin-bottom:12px;padding:7px 10px;font-size:12.5px}.field[data-v-d59277f4]{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.field-label[data-v-d59277f4]{color:var(--color-text-secondary);font-size:13px}.field input[data-v-d59277f4]{border:1px solid var(--color-border);border-radius:5px;outline:none;height:34px;padding:0 10px;font-size:13.5px}.field input[data-v-d59277f4]:focus{border-color:var(--color-primary)}.pwd-error[data-v-d59277f4]{color:#c0392b;background:#fef0f0;border:1px solid #fbc4c4;border-radius:6px;margin-bottom:12px;padding:7px 10px;font-size:12.5px}.pwd-actions[data-v-d59277f4]{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.icp-footer[data-v-07343fcf]{text-align:center;color:var(--color-text-muted,#8a8f98);flex-shrink:0;padding:6px 0 10px;font-size:12px;line-height:1.6}.icp-footer a[data-v-07343fcf]{color:inherit;text-decoration:none}.icp-footer a[data-v-07343fcf]:hover{color:var(--color-primary,#1f6feb);text-decoration:underline}.layout[data-v-875a3d26]{flex-direction:column;height:100%;display:flex}.login-shell[data-v-875a3d26]{height:100%}.icp-fixed[data-v-875a3d26]{pointer-events:none;position:fixed;bottom:0;left:0;right:0}.icp-fixed[data-v-875a3d26] a{pointer-events:auto}.topbar[data-v-875a3d26]{height:var(--topbar-height);background:var(--color-card-bg);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;align-items:center;gap:16px;padding:0 16px;display:flex}.topbar-left[data-v-875a3d26]{align-items:center;gap:12px;display:flex}.collapse-btn[data-v-875a3d26]{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:18px}.collapse-btn[data-v-875a3d26]:hover{background:var(--color-body-bg)}.logo[data-v-875a3d26]{align-items:center;gap:8px;display:flex}.logo-mark[data-v-875a3d26]{background:var(--color-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;display:flex}.logo-name[data-v-875a3d26]{font-size:16px;font-weight:600}.version-badge[data-v-875a3d26]{color:var(--color-text-muted);background:var(--color-body-bg);border:1px solid var(--color-border);border-radius:4px;margin-left:2px;padding:1px 6px;font-size:11px}.breadcrumb[data-v-875a3d26]{color:var(--color-text-muted);flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.crumb-sep[data-v-875a3d26]{color:var(--color-border)}.crumb-text.last[data-v-875a3d26]{color:var(--color-text-main);font-weight:500}.topbar-right[data-v-875a3d26]{align-items:center;gap:8px;display:flex}.readonly-badge[data-v-875a3d26]{color:#b45309;background:#fff3cd;border-radius:20px;padding:3px 12px;font-size:13px;font-weight:600}.user-badge[data-v-875a3d26]{color:var(--color-text-secondary);background:var(--color-body-bg);border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.role-tag[data-v-875a3d26]{border:1px solid var(--color-border);color:var(--color-text-muted);background:#fff;border-radius:8px;padding:1px 6px;font-size:11px}.role-tag.role-admin[data-v-875a3d26]{color:var(--color-primary-dark);background:#eef4ff;border-color:#b7d0ff}.role-tag.role-editor[data-v-875a3d26]{color:#1e7a45;background:#f0fbf4;border-color:#b9e2c8}.role-tag.role-viewer[data-v-875a3d26]{color:#8a6d1f;background:#fdf8ec;border-color:#e0d5b7}.topbar-btn[data-v-875a3d26]{border:1px solid var(--color-border);height:28px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:14px;padding:0 12px;font-size:12.5px;transition:border-color .15s,color .15s}.topbar-btn[data-v-875a3d26]:hover{border-color:var(--color-primary);color:var(--color-primary)}.body[data-v-875a3d26]{flex:1;display:flex;overflow:hidden}.right-area[data-v-875a3d26]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.content[data-v-875a3d26]{flex:1;padding:16px;overflow-y:auto}.fade-enter-active[data-v-875a3d26],.fade-leave-active[data-v-875a3d26]{transition:opacity .15s}.fade-enter-from[data-v-875a3d26],.fade-leave-to[data-v-875a3d26]{opacity:0}*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#2f6fed;--color-primary-dark:#2455b8;--color-sidebar-bg:#1f2a3d;--color-sidebar-bg-active:#2f6fed;--color-sidebar-text:#a8b3c7;--color-sidebar-text-active:#fff;--color-body-bg:#f0f2f5;--color-card-bg:#fff;--color-border:#e4e7ed;--color-text-main:#303133;--color-text-secondary:#606266;--color-text-muted:#909399;--sidebar-width:220px;--sidebar-width-collapsed:64px;--topbar-height:56px}html,body,#app{height:100%;color:var(--color-text-main);background:var(--color-body-bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font-family:inherit}.page-title{margin-bottom:14px;font-size:18px;font-weight:600}.page-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:16px}.page-card+.page-card{margin-top:16px}.card-title{margin-bottom:12px;font-size:15px;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar input[type=text],.toolbar select{border:1px solid var(--color-border);background:#fff;border-radius:4px;outline:none;height:32px;padding:0 10px;font-size:13px}.toolbar input[type=text]:focus,.toolbar select:focus{border-color:var(--color-primary)}.btn{border:1px solid var(--color-border);height:32px;color:var(--color-text-main);cursor:pointer;background:#fff;border-radius:4px;padding:0 14px;font-size:13px;transition:all .15s}.btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);color:#fff}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:center;border-bottom:1px solid var(--color-border);padding:10px 12px}.data-table thead th{z-index:5;background:#f5f7fa;position:sticky;top:0}.data-table th{color:var(--color-text-secondary);white-space:nowrap;font-weight:600}.data-table tbody tr:hover{background:#f8faff}.tag{border-radius:10px;padding:2px 10px;font-size:12px;line-height:20px;display:inline-block}.tag-green{color:#1f9d63;background:#e6f7ef}.tag-blue{color:var(--color-primary);background:#e8f1fe}.tag-orange{color:#e08a1e;background:#fdf1e3}.tag-red{color:#d43c3c;background:#fdecec}.tag-gray{color:var(--color-text-muted);background:#f0f2f5}.empty-tip{color:var(--color-text-muted);text-align:center;padding:40px 0;font-size:13px}
