:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{font-weight:400}@media(hover:hover){a:hover{background-color:#00bd7e33}}[class$=-list],[class$=-form]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.toolbar-left{display:flex;gap:12px;flex:1}.toolbar-right{display:flex;gap:12px}.search-input{flex:1;max-width:300px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.search-input:focus{outline:none;border-color:#1890ff}.status-select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s}.status-select:focus{outline:none;border-color:#1890ff}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#1890ff;color:#fff}.btn-primary:hover:not(:disabled){background:#40a9ff}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary:hover{border-color:#1890ff;color:#1890ff}.btn-search{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-search:hover{border-color:#1890ff;color:#1890ff}.btn-icon{font-size:18px;font-weight:700}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.form-container{max-width:800px}.form-group{margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required{color:#ff4d4f;margin-right:4px}.form-input,.form-select{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input:focus,.form-select:focus{outline:none;border-color:#1890ff}.form-input:disabled{background:#f5f5f5;cursor:not-allowed}.form-select{background:#fff;cursor:pointer}.form-hint{display:block;margin-top:4px;font-size:12px;color:#999}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.table-container{overflow-x:auto;border:1px solid #e8e8e8;border-radius:4px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:#fafafa}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e8e8e8;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#666}.data-table tbody tr:hover{background:#fafafa}.data-table tbody tr.disabled-row{opacity:.6;background:#f5f5f5}.loading-row,.empty-row{text-align:center}.loading-cell,.empty-cell{text-align:center;color:#999;padding:40px}.status-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:12px}.status-active{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.action-cell{white-space:nowrap;gap:8px}.btn-action{padding:4px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .3s;margin:0 6px}.btn-edit{background:#e6f7ff;color:#1890ff}.btn-edit:hover{background:#bae7ff}.btn-delete{background:#fff7e6;color:#fa8c16}.btn-delete:hover{background:#ffe7ba}.btn-remove{background:#fff1f0;color:#ff4d4f}.btn-remove:hover{background:#ffccc7}.btn-permission{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.btn-permission:hover{background:#d9f7be;border-color:#95de64;color:#389e0d}.btn-add{background:#e6f7ff;color:#1890ff}.btn-add:hover{background:#bae7ff}.btn-action-bordered{padding:4px 12px;margin-right:8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#333;font-size:12px;cursor:pointer;transition:all .3s}.btn-action-bordered:hover{border-color:#1890ff;color:#1890ff}.tree-indent{color:#d9d9d9;margin-right:4px}.path-cell{font-family:monospace;font-size:12px;color:#999;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-cell{font-family:monospace;font-size:12px}.item[data-v-40a5c0e5]{margin-top:2rem;display:flex;position:relative}.details[data-v-40a5c0e5]{flex:1;margin-left:1rem}i[data-v-40a5c0e5]{display:flex;place-items:center;place-content:center;width:32px;height:32px;color:var(--color-text)}h3[data-v-40a5c0e5]{font-size:1.2rem;font-weight:500;margin-bottom:.4rem;color:var(--color-heading)}@media(min-width:1024px){.item[data-v-40a5c0e5]{margin-top:0;padding:.4rem 0 1rem calc(var(--section-gap) / 2)}i[data-v-40a5c0e5]{top:calc(50% - 25px);left:-26px;position:absolute;border:1px solid var(--color-border);background:var(--color-background);border-radius:8px;width:50px;height:50px}.item[data-v-40a5c0e5]:before{content:" ";border-left:1px solid var(--color-border);position:absolute;left:0;bottom:calc(50% + 25px);height:calc(50% - 25px)}.item[data-v-40a5c0e5]:after{content:" ";border-left:1px solid var(--color-border);position:absolute;left:0;top:calc(50% + 25px);height:calc(50% - 25px)}.item[data-v-40a5c0e5]:first-of-type:before{display:none}.item[data-v-40a5c0e5]:last-of-type:after{display:none}}.menu-item[data-v-adeea9a1]{-webkit-user-select:none;user-select:none}.menu-item-content[data-v-adeea9a1]{display:flex;align-items:center;padding:12px 16px;color:#ffffffa6;cursor:pointer;transition:all .3s;position:relative}.menu-item-content[data-v-adeea9a1]:hover{background-color:#ffffff14;color:#ffffffd9}.menu-item-content.is-active[data-v-adeea9a1]{background-color:#1890ff;color:#fff}.menu-item-content.is-active[data-v-adeea9a1]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:#1890ff}.menu-item-content.has-active-child[data-v-adeea9a1]{color:#fffffff2;background-color:#1890ff26}.menu-item-content.has-active-child .menu-item-icon[data-v-adeea9a1]{color:#fffffff2}.menu-item-icon[data-v-adeea9a1]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;color:#ffffffa6;transition:transform .3s}.menu-item-content.is-active .menu-item-icon[data-v-adeea9a1]{color:#fff}.arrow-icon[data-v-adeea9a1]{transition:transform .3s;transform:rotate(0)}.arrow-icon.is-expanded[data-v-adeea9a1]{transform:rotate(90deg)}.menu-item-text[data-v-adeea9a1]{flex:1;font-size:14px;line-height:1.5;display:flex;align-items:center}.tree-indent[data-v-adeea9a1]{color:#ffffff4d;margin-right:4px;font-size:12px}.side-menu[data-v-803a0d38]{width:240px;height:100%;background-color:#001529;overflow-y:auto;overflow-x:hidden}.menu-listx[data-v-803a0d38]{padding:16px 0}.side-menu[data-v-803a0d38]::-webkit-scrollbar{width:6px}.side-menu[data-v-803a0d38]::-webkit-scrollbar-track{background:#001529}.side-menu[data-v-803a0d38]::-webkit-scrollbar-thumb{background:#434343;border-radius:3px}.side-menu[data-v-803a0d38]::-webkit-scrollbar-thumb:hover{background:#555}.admin-header[data-v-4440c2fb]{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 24px;background:#001529;box-shadow:0 2px 8px #00000026;position:relative;z-index:100}.header-left[data-v-4440c2fb]{display:flex;align-items:center;gap:24px}.logo[data-v-4440c2fb]{display:flex;align-items:center}.logo-text[data-v-4440c2fb]{font-size:20px;font-weight:600;color:#fff}.breadcrumb[data-v-4440c2fb]{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-separator[data-v-4440c2fb]{color:#ffffff4d;margin:0 4px}.breadcrumb-item[data-v-4440c2fb]{color:#ffffffa6}.breadcrumb-item.breadcrumb-active[data-v-4440c2fb]{color:#fff;font-weight:500}.header-right[data-v-4440c2fb]{display:flex;align-items:center;gap:16px}.header-actions[data-v-4440c2fb]{display:flex;align-items:center;gap:12px}.action-item[data-v-4440c2fb]{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:4px;cursor:pointer;transition:all .3s}.action-item[data-v-4440c2fb]:hover{background:#ffffff14}.action-icon[data-v-4440c2fb]{font-size:18px}.badge[data-v-4440c2fb]{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:#ff4d4f;color:#fff;border-radius:8px;font-size:11px;display:flex;align-items:center;justify-content:center;line-height:1}.user-info[data-v-4440c2fb]{position:relative;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:4px;cursor:pointer;transition:all .3s}.user-info[data-v-4440c2fb]:hover{background:#ffffff14}.user-avatar[data-v-4440c2fb]{width:36px;height:36px;border-radius:50%;background:#1890ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-text[data-v-4440c2fb]{color:#fff;font-size:16px;font-weight:600}.user-details[data-v-4440c2fb]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-4440c2fb]{font-size:14px;font-weight:500;color:#ffffffd9;line-height:1.2}.user-real-name[data-v-4440c2fb]{font-size:12px;color:#ffffff73;line-height:1.2}.dropdown-icon[data-v-4440c2fb]{font-size:10px;color:#ffffffa6;transition:transform .3s}.user-info:hover .dropdown-icon[data-v-4440c2fb]{transform:rotate(180deg)}.user-menu[data-v-4440c2fb]{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border-radius:4px;box-shadow:0 4px 16px #00000040;overflow:hidden;z-index:1000}.menu-item[data-v-4440c2fb]{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:14px;color:#333;cursor:pointer;transition:background .3s}.menu-item[data-v-4440c2fb]:hover{background:#f5f5f5}.menu-icon[data-v-4440c2fb]{font-size:16px;width:20px;text-align:center}.menu-divider[data-v-4440c2fb]{height:1px;background:#f0f0f0;margin:4px 0}.admin-layout[data-v-9c8640db]{display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:#f0f2f5}.admin-layout[data-v-9c8640db]>:first-child{flex-shrink:0;z-index:100}.admin-container[data-v-9c8640db]{display:flex;flex:1;overflow:hidden;min-height:0}.admin-sidebar[data-v-9c8640db]{flex-shrink:0;width:240px;background-color:#001529;overflow-y:auto;overflow-x:hidden}.admin-main[data-v-9c8640db]{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background-color:#f0f2f5}.admin-loading[data-v-9c8640db]{padding:24px;color:#666;font-size:14px}.login-container[data-v-b677f85e]{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:0}.login-box[data-v-b677f85e]{width:480px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;padding:60px 50px}.login-title[data-v-b677f85e]{text-align:center;font-size:32px;font-weight:600;color:#333;margin-bottom:40px;letter-spacing:.5px}.login-form[data-v-b677f85e]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-b677f85e]{display:flex;flex-direction:column;gap:10px}.form-label[data-v-b677f85e]{font-size:15px;font-weight:500;color:#333}.form-input[data-v-b677f85e]{width:100%;padding:14px 18px;border:1px solid #ddd;border-radius:8px;font-size:15px;transition:all .3s ease;box-sizing:border-box;background-color:#fafafa}.form-input[data-v-b677f85e]:hover{border-color:#bbb;background-color:#fff}.form-input[data-v-b677f85e]:focus{outline:none;border-color:#667eea;background-color:#fff;box-shadow:0 0 0 3px #667eea1a}.password-input-wrapper[data-v-b677f85e]{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input[data-v-b677f85e]{padding-right:90px}.password-toggle[data-v-b677f85e]{position:absolute;right:14px;background:none;border:none;color:#667eea;font-size:13px;cursor:pointer;padding:6px 10px;border-radius:4px;transition:all .2s;font-weight:500}.password-toggle[data-v-b677f85e]:hover{background-color:#f0f0f0;color:#5568d3}.login-button[data-v-b677f85e]{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;letter-spacing:.5px}.login-button[data-v-b677f85e]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.login-button[data-v-b677f85e]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-b677f85e]:disabled{opacity:.6;cursor:not-allowed;transform:none}.remember-group[data-v-b677f85e]{margin-top:-8px;margin-bottom:-8px}.remember-label[data-v-b677f85e]{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;gap:8px}.remember-checkbox[data-v-b677f85e]{width:18px;height:18px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.remember-text[data-v-b677f85e]{font-size:14px;color:#666;font-weight:400}.remember-label:hover .remember-text[data-v-b677f85e]{color:#333}.error-message[data-v-b677f85e]{margin-top:20px;padding:14px;background-color:#fee;color:#c33;border-radius:8px;font-size:14px;text-align:center;border:1px solid #fcc;line-height:1.5}.dashboard-view[data-v-ae201c30]{padding:24px;background-color:#f0f2f5;min-height:100%}.dashboard-header[data-v-ae201c30]{margin-bottom:24px}.dashboard-header h1[data-v-ae201c30]{margin:0 0 8px;font-size:24px;font-weight:600;color:#333}.dashboard-subtitle[data-v-ae201c30]{margin:0;font-size:14px;color:#666}.stats-grid[data-v-ae201c30]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.stat-card[data-v-ae201c30]{background:#fff;border-radius:8px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-ae201c30]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-icon[data-v-ae201c30]{width:56px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-ae201c30]{width:28px;height:28px}.stat-card-primary .stat-icon[data-v-ae201c30]{background:#e6f7ff;color:#1890ff}.stat-card-success .stat-icon[data-v-ae201c30]{background:#f6ffed;color:#52c41a}.stat-card-warning .stat-icon[data-v-ae201c30]{background:#fffbe6;color:#faad14}.stat-card-info .stat-icon[data-v-ae201c30]{background:#e6f7ff;color:#13c2c2}.stat-content[data-v-ae201c30]{flex:1}.stat-value[data-v-ae201c30]{font-size:28px;font-weight:600;color:#333;margin-bottom:4px}.stat-label[data-v-ae201c30]{font-size:14px;color:#666;margin-bottom:8px}.stat-trend[data-v-ae201c30]{display:flex;align-items:center;gap:8px;font-size:12px}.trend-up[data-v-ae201c30]{color:#52c41a;font-weight:500}.trend-text[data-v-ae201c30]{color:#999}.dashboard-content[data-v-ae201c30]{display:grid;grid-template-columns:2fr 1fr;gap:20px}.dashboard-left[data-v-ae201c30],.dashboard-right[data-v-ae201c30]{display:flex;flex-direction:column;gap:20px}.dashboard-card[data-v-ae201c30]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.card-header[data-v-ae201c30]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.card-header h3[data-v-ae201c30]{margin:0;font-size:16px;font-weight:600;color:#333}.card-actions[data-v-ae201c30]{display:flex;gap:8px}.btn-text[data-v-ae201c30]{padding:4px 12px;border:none;background:transparent;color:#666;font-size:14px;cursor:pointer;border-radius:4px;transition:all .2s}.btn-text[data-v-ae201c30]:hover{background:#f5f5f5;color:#1890ff}.btn-text.active[data-v-ae201c30]{background:#e6f7ff;color:#1890ff}.chart-placeholder[data-v-ae201c30]{height:300px;display:flex;flex-direction:column;justify-content:space-between}.chart-bars[data-v-ae201c30]{display:flex;align-items:flex-end;justify-content:space-around;height:240px;padding:20px 0}.chart-bar[data-v-ae201c30]{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 4px}.bar-fill[data-v-ae201c30]{width:100%;background:linear-gradient(to top,#1890ff,#40a9ff);border-radius:4px 4px 0 0;min-height:20px;transition:height .3s}.bar-label[data-v-ae201c30]{font-size:12px;color:#666}.chart-legend[data-v-ae201c30]{display:flex;justify-content:center;gap:16px;padding-top:12px;border-top:1px solid #f0f0f0}.legend-item[data-v-ae201c30]{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.legend-color[data-v-ae201c30]{width:12px;height:12px;border-radius:2px}.quick-actions[data-v-ae201c30]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-item[data-v-ae201c30]{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #f0f0f0;border-radius:8px;text-decoration:none;transition:all .2s}.quick-action-item[data-v-ae201c30]:hover{border-color:#1890ff;background:#f6f9ff;transform:translateY(-2px);box-shadow:0 2px 8px #1890ff1a}.action-icon[data-v-ae201c30]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon svg[data-v-ae201c30]{width:20px;height:20px}.action-icon-primary[data-v-ae201c30]{background:#e6f7ff;color:#1890ff}.action-icon-success[data-v-ae201c30]{background:#f6ffed;color:#52c41a}.action-icon-warning[data-v-ae201c30]{background:#fffbe6;color:#faad14}.action-icon-info[data-v-ae201c30]{background:#e6f7ff;color:#13c2c2}.action-content[data-v-ae201c30]{flex:1}.action-title[data-v-ae201c30]{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.action-desc[data-v-ae201c30]{font-size:12px;color:#999}.activity-list[data-v-ae201c30]{display:flex;flex-direction:column;gap:16px}.activity-item[data-v-ae201c30]{display:flex;align-items:flex-start;gap:12px}.activity-icon[data-v-ae201c30]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:#f5f5f5}.activity-icon.user[data-v-ae201c30]{background:#e6f7ff}.activity-icon.role[data-v-ae201c30]{background:#f6ffed}.activity-icon.menu[data-v-ae201c30]{background:#fffbe6}.activity-icon.org[data-v-ae201c30]{background:#f0f5ff}.activity-content[data-v-ae201c30]{flex:1}.activity-title[data-v-ae201c30]{font-size:14px;color:#333;margin-bottom:4px}.activity-time[data-v-ae201c30]{font-size:12px;color:#999}.system-info[data-v-ae201c30]{display:flex;flex-direction:column;gap:16px}.info-item[data-v-ae201c30]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item[data-v-ae201c30]:last-child{border-bottom:none}.info-label[data-v-ae201c30]{font-size:14px;color:#666}.info-value[data-v-ae201c30]{font-size:14px;font-weight:500;color:#333}@media(max-width:1200px){.dashboard-content[data-v-ae201c30]{grid-template-columns:1fr}}@media(max-width:768px){.stats-grid[data-v-ae201c30],.quick-actions[data-v-ae201c30]{grid-template-columns:1fr}}.pagination[data-v-7af62163]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px}.page-btn[data-v-7af62163]{padding:6px 16px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all .3s}.page-btn[data-v-7af62163]:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.page-btn[data-v-7af62163]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-7af62163]{color:#666;font-size:14px}.page-size-selector[data-v-7af62163]{display:flex;align-items:center;gap:8px;margin-left:16px}.page-size-label[data-v-7af62163]{color:#666;font-size:14px;white-space:nowrap}.page-size-select[data-v-7af62163]{padding:6px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:border-color .3s}.page-size-select[data-v-7af62163]:focus{outline:none;border-color:#1890ff}.page-size-select[data-v-7af62163]:hover{border-color:#1890ff}.org-form[data-v-a1e7d746]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-a1e7d746]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-a1e7d746]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-a1e7d746]{max-width:600px}.form-group[data-v-a1e7d746]{margin-bottom:24px}.form-label[data-v-a1e7d746]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-a1e7d746]{color:#ff4d4f;margin-right:4px}.form-input[data-v-a1e7d746],.form-select[data-v-a1e7d746]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-a1e7d746]:focus,.form-select[data-v-a1e7d746]:focus{outline:none;border-color:#1890ff}.form-select[data-v-a1e7d746]{background:#fff;cursor:pointer}.form-actions[data-v-a1e7d746]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-a1e7d746]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-a1e7d746]{background:#1890ff;color:#fff}.btn-primary[data-v-a1e7d746]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-a1e7d746]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-a1e7d746]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-a1e7d746]:hover{border-color:#1890ff;color:#1890ff}.org-form[data-v-611a6ea9]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-611a6ea9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-611a6ea9]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-611a6ea9]{max-width:600px}.form-group[data-v-611a6ea9]{margin-bottom:24px}.form-label[data-v-611a6ea9]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-611a6ea9]{color:#ff4d4f;margin-right:4px}.form-input[data-v-611a6ea9],.form-select[data-v-611a6ea9]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-611a6ea9]:focus,.form-select[data-v-611a6ea9]:focus{outline:none;border-color:#1890ff}.form-select[data-v-611a6ea9]{background:#fff;cursor:pointer}.form-select[data-v-611a6ea9]:disabled{background:#f5f5f5;cursor:not-allowed}.form-info[data-v-611a6ea9]{margin-bottom:24px;padding:16px;background:#fafafa;border-radius:4px}.info-item[data-v-611a6ea9]{margin-bottom:8px;font-size:14px}.info-item[data-v-611a6ea9]:last-child{margin-bottom:0}.info-label[data-v-611a6ea9]{color:#666;margin-right:8px}.info-value[data-v-611a6ea9]{color:#333;font-weight:500}.form-actions[data-v-611a6ea9]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-611a6ea9]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-611a6ea9]{background:#1890ff;color:#fff}.btn-primary[data-v-611a6ea9]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-611a6ea9]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-611a6ea9]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-611a6ea9]:hover{border-color:#1890ff;color:#1890ff}.role-form[data-v-ce543b9c]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-ce543b9c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-ce543b9c]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-ce543b9c]{max-width:600px}.form-group[data-v-ce543b9c]{margin-bottom:24px}.form-label[data-v-ce543b9c]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-ce543b9c]{color:#ff4d4f;margin-right:4px}.form-input[data-v-ce543b9c],.form-select[data-v-ce543b9c]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-ce543b9c]:focus,.form-select[data-v-ce543b9c]:focus{outline:none;border-color:#1890ff}.form-input[data-v-ce543b9c]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-ce543b9c]{background:#fff;cursor:pointer}.form-actions[data-v-ce543b9c]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-ce543b9c]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-ce543b9c]{background:#1890ff;color:#fff}.btn-primary[data-v-ce543b9c]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-ce543b9c]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-ce543b9c]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-ce543b9c]:hover{border-color:#1890ff;color:#1890ff}.subsystem-list[data-v-ce344077]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.toolbar[data-v-ce344077]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.toolbar-left[data-v-ce344077]{display:flex;gap:12px;flex:1}.search-input[data-v-ce344077]{flex:1;max-width:300px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.search-input[data-v-ce344077]:focus{outline:none;border-color:#1890ff}.status-select[data-v-ce344077]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s}.status-select[data-v-ce344077]:focus{outline:none;border-color:#1890ff}.toolbar-right[data-v-ce344077]{display:flex;gap:12px}.btn[data-v-ce344077]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-ce344077]{background:#1890ff;color:#fff}.btn-primary[data-v-ce344077]:hover{background:#40a9ff}.btn-search[data-v-ce344077]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-search[data-v-ce344077]:hover{border-color:#1890ff;color:#1890ff}.btn-icon[data-v-ce344077]{font-size:18px;font-weight:700}.table-container[data-v-ce344077]{overflow-x:auto}.data-table[data-v-ce344077]{width:100%;border-collapse:collapse;font-size:14px}.data-table th[data-v-ce344077]{background:#fafafa;padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e8e8e8}.data-table td[data-v-ce344077]{padding:12px;border-bottom:1px solid #e8e8e8;color:#666}.data-table tbody tr[data-v-ce344077]:hover{background:#f5f5f5}.disabled-row[data-v-ce344077]{opacity:.6}.loading-row[data-v-ce344077],.empty-row[data-v-ce344077]{text-align:center}.loading-cell[data-v-ce344077],.empty-cell[data-v-ce344077]{padding:40px;color:#999}.key-cell[data-v-ce344077]{font-family:monospace;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge[data-v-ce344077]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-active[data-v-ce344077]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive[data-v-ce344077]{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.subsystem-form[data-v-6cdde7a0]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-6cdde7a0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-6cdde7a0]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-6cdde7a0]{max-width:800px}.form-group[data-v-6cdde7a0]{margin-bottom:24px}.form-row[data-v-6cdde7a0]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-6cdde7a0]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-6cdde7a0]{color:#ff4d4f;margin-right:4px}.form-input[data-v-6cdde7a0],.form-select[data-v-6cdde7a0]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-6cdde7a0]:focus,.form-select[data-v-6cdde7a0]:focus{outline:none;border-color:#1890ff}.form-input[data-v-6cdde7a0]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-6cdde7a0]{background:#fff;cursor:pointer}.form-actions[data-v-6cdde7a0]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-6cdde7a0]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-6cdde7a0]{background:#1890ff;color:#fff}.btn-primary[data-v-6cdde7a0]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-6cdde7a0]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-6cdde7a0]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-6cdde7a0]:hover{border-color:#1890ff;color:#1890ff}.subsystem-form[data-v-fd0a41cc]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-fd0a41cc]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-fd0a41cc]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-fd0a41cc]{max-width:800px}.form-group[data-v-fd0a41cc]{margin-bottom:24px}.form-row[data-v-fd0a41cc]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-fd0a41cc]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-fd0a41cc]{color:#ff4d4f;margin-right:4px}.form-input[data-v-fd0a41cc],.form-select[data-v-fd0a41cc]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-fd0a41cc]:focus,.form-select[data-v-fd0a41cc]:focus{outline:none;border-color:#1890ff}.form-input[data-v-fd0a41cc]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-fd0a41cc]{background:#fff;cursor:pointer}.form-actions[data-v-fd0a41cc]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-fd0a41cc]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-fd0a41cc]{background:#1890ff;color:#fff}.btn-primary[data-v-fd0a41cc]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-fd0a41cc]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-fd0a41cc]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-fd0a41cc]:hover{border-color:#1890ff;color:#1890ff}.menu-list[data-v-b2f06d68]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.toolbar[data-v-b2f06d68]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.toolbar-left[data-v-b2f06d68]{display:flex;gap:12px;flex:1}.search-input[data-v-b2f06d68]{flex:1;max-width:300px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.search-input[data-v-b2f06d68]:focus{outline:none;border-color:#1890ff}.status-select[data-v-b2f06d68]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s}.status-select[data-v-b2f06d68]:focus{outline:none;border-color:#1890ff}.toolbar-right[data-v-b2f06d68]{display:flex;gap:12px}.btn[data-v-b2f06d68]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-b2f06d68]{background:#1890ff;color:#fff}.btn-primary[data-v-b2f06d68]:hover{background:#40a9ff}.btn-search[data-v-b2f06d68]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-search[data-v-b2f06d68]:hover{border-color:#1890ff;color:#1890ff}.btn-icon[data-v-b2f06d68]{font-size:18px;font-weight:700}.table-container[data-v-b2f06d68]{overflow-x:auto;overflow-y:visible;width:100%;-webkit-overflow-scrolling:touch}.data-table[data-v-b2f06d68]{width:100%;min-width:1200px;border-collapse:collapse;font-size:14px;table-layout:auto}.data-table th[data-v-b2f06d68]{background:#fafafa;padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e8e8e8;white-space:nowrap}.data-table th[data-v-b2f06d68]:nth-child(1){min-width:60px}.data-table th[data-v-b2f06d68]:nth-child(2){min-width:220px}.data-table th[data-v-b2f06d68]:nth-child(3),.data-table th[data-v-b2f06d68]:nth-child(4){min-width:120px}.data-table th[data-v-b2f06d68]:nth-child(5){min-width:60px}.data-table th[data-v-b2f06d68]:nth-child(6){min-width:100px}.data-table th[data-v-b2f06d68]:nth-child(7){min-width:200px}.data-table th[data-v-b2f06d68]:nth-child(8){min-width:80px}.data-table th[data-v-b2f06d68]:nth-child(9){min-width:60px}.data-table th[data-v-b2f06d68]:nth-child(10),.data-table th[data-v-b2f06d68]:nth-child(11){min-width:160px}.data-table th[data-v-b2f06d68]:nth-child(12){min-width:180px}.data-table td[data-v-b2f06d68]{padding:12px;border-bottom:1px solid #e8e8e8;color:#666;white-space:nowrap}.data-table tbody tr[data-v-b2f06d68]{cursor:pointer;transition:background-color .2s}.data-table tbody tr[data-v-b2f06d68]:hover{background:#f5f5f5}.data-table tbody tr.selected-row[data-v-b2f06d68]{background:#e6f7ff;border-left:3px solid #1890ff}.data-table tbody tr.selected-row[data-v-b2f06d68]:hover{background:#bae7ff}.disabled-row[data-v-b2f06d68]{opacity:.6}.disabled-row.selected-row[data-v-b2f06d68]{opacity:.8}.loading-row[data-v-b2f06d68],.empty-row[data-v-b2f06d68]{text-align:center}.loading-cell[data-v-b2f06d68],.empty-cell[data-v-b2f06d68]{padding:40px;color:#999}.tree-indent[data-v-b2f06d68]{color:#999;margin-right:4px}.path-cell[data-v-b2f06d68]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:12px}.status-badge[data-v-b2f06d68]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-active[data-v-b2f06d68]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive[data-v-b2f06d68]{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.menu-form[data-v-eb7ed7c9]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-eb7ed7c9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-eb7ed7c9]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-eb7ed7c9]{max-width:800px}.form-group[data-v-eb7ed7c9]{margin-bottom:24px}.form-row[data-v-eb7ed7c9]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-eb7ed7c9]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-eb7ed7c9]{color:#ff4d4f;margin-right:4px}.form-input[data-v-eb7ed7c9],.form-select[data-v-eb7ed7c9]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-eb7ed7c9]:focus,.form-select[data-v-eb7ed7c9]:focus{outline:none;border-color:#1890ff}.form-input[data-v-eb7ed7c9]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-eb7ed7c9]{background:#fff;cursor:pointer}.form-actions[data-v-eb7ed7c9]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-eb7ed7c9]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-eb7ed7c9]{background:#1890ff;color:#fff}.btn-primary[data-v-eb7ed7c9]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-eb7ed7c9]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-eb7ed7c9]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-eb7ed7c9]:hover{border-color:#1890ff;color:#1890ff}.menu-form[data-v-04f4960a]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-04f4960a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-04f4960a]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-04f4960a]{max-width:800px}.form-group[data-v-04f4960a]{margin-bottom:24px}.form-row[data-v-04f4960a]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-04f4960a]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-04f4960a]{color:#ff4d4f;margin-right:4px}.form-input[data-v-04f4960a],.form-select[data-v-04f4960a]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-04f4960a]:focus,.form-select[data-v-04f4960a]:focus{outline:none;border-color:#1890ff}.form-input[data-v-04f4960a]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-04f4960a]{background:#fff;cursor:pointer}.form-select option[data-v-04f4960a]:disabled{color:#999;background:#f5f5f5}.form-actions[data-v-04f4960a]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-04f4960a]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-04f4960a]{background:#1890ff;color:#fff}.btn-primary[data-v-04f4960a]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-04f4960a]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-04f4960a]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-04f4960a]:hover{border-color:#1890ff;color:#1890ff}.operation-list[data-v-93f21331]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.toolbar[data-v-93f21331]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.toolbar-left[data-v-93f21331]{display:flex;gap:12px;flex:1}.search-input[data-v-93f21331]{flex:1;max-width:300px;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.search-input[data-v-93f21331]:focus{outline:none;border-color:#1890ff}.status-select[data-v-93f21331]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s}.status-select[data-v-93f21331]:focus{outline:none;border-color:#1890ff}.toolbar-right[data-v-93f21331]{display:flex;gap:12px}.btn[data-v-93f21331]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-93f21331]{background:#1890ff;color:#fff}.btn-primary[data-v-93f21331]:hover{background:#40a9ff}.btn-search[data-v-93f21331]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-search[data-v-93f21331]:hover{border-color:#1890ff;color:#1890ff}.btn-icon[data-v-93f21331]{font-size:18px;font-weight:700}.table-container[data-v-93f21331]{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.data-table[data-v-93f21331]{width:100%;min-width:1200px;border-collapse:collapse;font-size:14px;table-layout:auto}.data-table th[data-v-93f21331],.data-table td[data-v-93f21331]{padding:12px;text-align:left;border-bottom:1px solid #e8e8e8;color:#666;white-space:nowrap}.data-table th[data-v-93f21331]{background:#fafafa;font-weight:600;color:#333;border-bottom:2px solid #e8e8e8}.data-table th[data-v-93f21331]:nth-child(1),.data-table td[data-v-93f21331]:nth-child(1){min-width:60px}.data-table th[data-v-93f21331]:nth-child(2),.data-table td[data-v-93f21331]:nth-child(2){min-width:150px}.data-table th[data-v-93f21331]:nth-child(3),.data-table td[data-v-93f21331]:nth-child(3){min-width:150px}.data-table th[data-v-93f21331]:nth-child(4),.data-table td[data-v-93f21331]:nth-child(4){min-width:120px}.data-table th[data-v-93f21331]:nth-child(5),.data-table td[data-v-93f21331]:nth-child(5){min-width:120px}.data-table th[data-v-93f21331]:nth-child(6),.data-table td[data-v-93f21331]:nth-child(6){min-width:120px}.data-table th[data-v-93f21331]:nth-child(7),.data-table td[data-v-93f21331]:nth-child(7){min-width:80px}.data-table th[data-v-93f21331]:nth-child(8),.data-table td[data-v-93f21331]:nth-child(8){min-width:60px}.data-table th[data-v-93f21331]:nth-child(9),.data-table td[data-v-93f21331]:nth-child(9){min-width:160px}.data-table th[data-v-93f21331]:nth-child(10),.data-table td[data-v-93f21331]:nth-child(10){min-width:160px}.data-table th[data-v-93f21331]:nth-child(11),.data-table td[data-v-93f21331]:nth-child(11){min-width:180px}.data-table tbody tr[data-v-93f21331]:hover{background:#f5f5f5}.disabled-row[data-v-93f21331]{opacity:.6}.loading-row[data-v-93f21331],.empty-row[data-v-93f21331]{text-align:center}.loading-cell[data-v-93f21331],.empty-cell[data-v-93f21331]{padding:40px;color:#999}.code-cell[data-v-93f21331]{font-family:monospace;font-size:12px}.status-badge[data-v-93f21331]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-active[data-v-93f21331]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive[data-v-93f21331]{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.operation-form[data-v-751b9612]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-751b9612]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-751b9612]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-751b9612]{max-width:800px}.form-group[data-v-751b9612]{margin-bottom:24px}.form-row[data-v-751b9612]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-751b9612]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-751b9612]{color:#ff4d4f;margin-right:4px}.form-input[data-v-751b9612],.form-select[data-v-751b9612]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-751b9612]:focus,.form-select[data-v-751b9612]:focus{outline:none;border-color:#1890ff}.form-input[data-v-751b9612]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-751b9612]{background:#fff;cursor:pointer}.form-actions[data-v-751b9612]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-751b9612]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-751b9612]{background:#1890ff;color:#fff}.btn-primary[data-v-751b9612]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-751b9612]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-751b9612]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-751b9612]:hover{border-color:#1890ff;color:#1890ff}.operation-form[data-v-963ea133]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.form-header[data-v-963ea133]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.form-header h2[data-v-963ea133]{margin:0;font-size:20px;font-weight:600;color:#333}.form-container[data-v-963ea133]{max-width:800px}.form-group[data-v-963ea133]{margin-bottom:24px}.form-row[data-v-963ea133]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label[data-v-963ea133]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.required[data-v-963ea133]{color:#ff4d4f;margin-right:4px}.form-input[data-v-963ea133],.form-select[data-v-963ea133]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-963ea133]:focus,.form-select[data-v-963ea133]:focus{outline:none;border-color:#1890ff}.form-input[data-v-963ea133]:disabled{background:#f5f5f5;cursor:not-allowed}.form-select[data-v-963ea133]{background:#fff;cursor:pointer}.form-actions[data-v-963ea133]{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.btn[data-v-963ea133]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-963ea133]{background:#1890ff;color:#fff}.btn-primary[data-v-963ea133]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-963ea133]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-963ea133]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-963ea133]:hover{border-color:#1890ff;color:#1890ff}.user-permission[data-v-2cc0d358]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.toolbar[data-v-2cc0d358]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.toolbar-left[data-v-2cc0d358]{display:flex;align-items:center;gap:16px}.user-info-card[data-v-2cc0d358]{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f0f5ff;border-radius:4px;border:1px solid #adc6ff;min-width:300px}.user-info-header[data-v-2cc0d358]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-label[data-v-2cc0d358]{font-size:14px;color:#666;font-weight:500}.user-name[data-v-2cc0d358]{font-size:14px;color:#1890ff;font-weight:600}.user-real-name[data-v-2cc0d358]{font-size:14px;color:#999}.user-status-badge[data-v-2cc0d358]{display:inline-block;padding:2px 8px;border-radius:2px;font-size:12px;font-weight:500}.user-status-badge.status-active[data-v-2cc0d358]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.user-status-badge.status-inactive[data-v-2cc0d358]{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.user-root-badge[data-v-2cc0d358]{display:inline-block;padding:2px 8px;border-radius:2px;font-size:12px;font-weight:600;background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.user-info-details[data-v-2cc0d358]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:4px;border-top:1px solid #d6e4ff}.info-item[data-v-2cc0d358]{display:flex;align-items:center;gap:4px;font-size:13px}.info-label[data-v-2cc0d358]{color:#666;font-weight:500}.info-value[data-v-2cc0d358]{color:#333}.form-group-inline[data-v-2cc0d358]{display:flex;align-items:center;gap:8px}.form-label[data-v-2cc0d358]{font-size:14px;color:#333;font-weight:500;white-space:nowrap}.form-select[data-v-2cc0d358]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s;min-width:200px}.form-select[data-v-2cc0d358]:focus{outline:none;border-color:#1890ff}.btn[data-v-2cc0d358]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-primary[data-v-2cc0d358]{background:#1890ff;color:#fff}.btn-primary[data-v-2cc0d358]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-2cc0d358]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-2cc0d358]{background:#fff;color:#666;border:1px solid #d9d9d9}.btn-secondary[data-v-2cc0d358]:hover{background:#fafafa;border-color:#40a9ff;color:#1890ff}.form-actions[data-v-2cc0d358]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e8e8e8}.loading-container[data-v-2cc0d358],.empty-container[data-v-2cc0d358]{text-align:center;padding:60px 20px}.loading-text[data-v-2cc0d358],.empty-text[data-v-2cc0d358]{color:#999;font-size:14px}.permission-content[data-v-2cc0d358]{display:flex;flex-direction:column;gap:24px}.admin-badge[data-v-2cc0d358]{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;color:#fa8c16;font-size:14px;font-weight:500}.badge-icon[data-v-2cc0d358]{font-size:18px}.section-title[data-v-2cc0d358]{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.menu-tree[data-v-2cc0d358]{background:#fafafa;border-radius:4px;padding:20px}.tree-container[data-v-2cc0d358]{display:flex;flex-direction:column;gap:12px}.menu-item[data-v-2cc0d358]{background:#fff;border-radius:4px;padding:12px;border:1px solid #e8e8e8}.menu-item.has-children[data-v-2cc0d358]{border-left:3px solid #1890ff}.menu-row[data-v-2cc0d358]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.menu-info[data-v-2cc0d358]{display:flex;align-items:center;gap:8px;flex:1}.menu-icon[data-v-2cc0d358]{color:#999;font-size:12px}.menu-name[data-v-2cc0d358]{font-size:14px;font-weight:500;color:#333}.menu-url[data-v-2cc0d358]{font-size:12px;color:#999}.permission-status[data-v-2cc0d358]{flex-shrink:0}.menu-checkbox-label[data-v-2cc0d358]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.menu-checkbox[data-v-2cc0d358]{margin:0;cursor:pointer}.menu-checkbox[data-v-2cc0d358]:disabled{cursor:not-allowed;opacity:.6}.checkbox-text[data-v-2cc0d358]{font-size:13px;color:#666}.status-badge[data-v-2cc0d358]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-active[data-v-2cc0d358]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive[data-v-2cc0d358]{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.operations-list[data-v-2cc0d358]{margin-top:8px;padding-left:24px;border-left:2px dashed #e8e8e8;display:flex;flex-wrap:wrap;gap:12px}.operation-item[data-v-2cc0d358]{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#fafafa;border-radius:4px;cursor:default;-webkit-user-select:none;user-select:none}.operation-checkbox[data-v-2cc0d358]{margin:0;cursor:default;flex-shrink:0}.operation-name[data-v-2cc0d358]{font-size:13px;color:#666}.operation-code[data-v-2cc0d358]{font-size:12px;color:#999;font-family:monospace}.permission-stats[data-v-2cc0d358]{background:#fafafa;border-radius:4px;padding:20px}.stats-grid[data-v-2cc0d358]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-item[data-v-2cc0d358]{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:4px;border:1px solid #e8e8e8}.stat-label[data-v-2cc0d358]{font-size:14px;color:#666}.stat-value[data-v-2cc0d358]{font-size:16px;font-weight:600;color:#1890ff}.approval-list[data-v-123f4c04]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.approval-container[data-v-123f4c04]{margin-top:20px}.loading-container[data-v-123f4c04],.empty-container[data-v-123f4c04]{text-align:center;padding:60px 20px}.loading-text[data-v-123f4c04],.empty-text[data-v-123f4c04]{color:#999;font-size:14px}.approval-cards[data-v-123f4c04]{display:flex;flex-direction:column;gap:20px}.approval-card[data-v-123f4c04]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px;transition:all .3s}.approval-card[data-v-123f4c04]:hover{box-shadow:0 4px 12px #0000001a;border-color:#1890ff}.approval-card.status-pending[data-v-123f4c04]{border-left:4px solid #fa8c16}.approval-card.status-approved[data-v-123f4c04]{border-left:4px solid #52c41a}.approval-card.status-rejected[data-v-123f4c04]{border-left:4px solid #ff4d4f}.approval-card.status-cancelled[data-v-123f4c04]{border-left:4px solid #999;opacity:.7}.card-header[data-v-123f4c04]{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.card-title[data-v-123f4c04]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.title-text[data-v-123f4c04]{font-size:18px;font-weight:600;color:#333}.card-meta[data-v-123f4c04]{display:flex;gap:16px;font-size:13px;color:#999}.meta-item[data-v-123f4c04]{display:flex;align-items:center}.workflow-steps[data-v-123f4c04]{margin:20px 0;padding:20px;background:#fafafa;border-radius:4px}.workflow-step[data-v-123f4c04]{display:flex;margin-bottom:24px;position:relative}.workflow-step[data-v-123f4c04]:last-child{margin-bottom:0}.step-indicator[data-v-123f4c04]{display:flex;flex-direction:column;align-items:center;margin-right:16px;flex-shrink:0}.step-circle[data-v-123f4c04]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;position:relative;z-index:1}.step-circle.circle-completed[data-v-123f4c04]{background:#52c41a;border:2px solid #52c41a}.step-circle.circle-current[data-v-123f4c04]{background:#1890ff;border:2px solid #1890ff;animation:pulse-123f4c04 2s infinite}.step-circle.circle-rejected[data-v-123f4c04]{background:#ff4d4f;border:2px solid #ff4d4f}.step-circle.circle-pending[data-v-123f4c04]{background:#d9d9d9;border:2px solid #d9d9d9;color:#999}.step-check[data-v-123f4c04],.step-x[data-v-123f4c04]{font-size:18px;font-weight:700}.step-line[data-v-123f4c04]{width:2px;flex:1;min-height:40px;margin-top:4px}.step-line.line-completed[data-v-123f4c04]{background:#52c41a}.step-line.line-rejected[data-v-123f4c04]{background:#ff4d4f}.step-line.line-pending[data-v-123f4c04]{background:#e8e8e8}.step-content[data-v-123f4c04]{flex:1;padding-bottom:8px}.step-title[data-v-123f4c04]{font-size:15px;font-weight:600;color:#333;margin-bottom:8px}.step-info[data-v-123f4c04]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.step-approver[data-v-123f4c04]{font-size:13px;color:#666}.step-comment[data-v-123f4c04]{font-size:13px;color:#1890ff;font-style:italic}.step-time[data-v-123f4c04]{font-size:12px;color:#999}.step-time.current[data-v-123f4c04]{color:#1890ff;font-weight:500}.card-footer[data-v-123f4c04]{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f0f0f0;margin-top:16px}.footer-info[data-v-123f4c04]{display:flex;gap:24px;flex-wrap:wrap}.info-item[data-v-123f4c04]{display:flex;align-items:center;gap:4px;font-size:13px}.info-label[data-v-123f4c04]{color:#666}.info-value[data-v-123f4c04]{color:#333;font-weight:500}.card-actions[data-v-123f4c04]{display:flex;gap:8px}@keyframes pulse-123f4c04{0%,to{opacity:1}50%{opacity:.6}}.not-found[data-v-3301726b]{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.not-found-content[data-v-3301726b]{text-align:center}.error-code[data-v-3301726b]{font-size:120px;font-weight:700;color:#1890ff;line-height:1;margin-bottom:16px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.error-title[data-v-3301726b]{font-size:24px;font-weight:600;color:#333;margin-bottom:12px}.error-message[data-v-3301726b]{font-size:14px;color:#666;margin-bottom:32px}.error-actions[data-v-3301726b]{display:flex;justify-content:center;gap:16px}.btn[data-v-3301726b]{padding:10px 24px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-block}.btn-primary[data-v-3301726b]{background:#1890ff;color:#fff}.btn-primary[data-v-3301726b]:hover{background:#40a9ff}.btn-secondary[data-v-3301726b]{background:#fff;color:#333;border:1px solid #d9d9d9}.btn-secondary[data-v-3301726b]:hover{border-color:#1890ff;color:#1890ff}
