body{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;background-color:#f5f5f5}#app{height:100vh}.layout-container{display:flex;height:100vh;background:#f5f5f5;position:relative}.sidebar{width:250px;background:#304156;color:#fff;overflow-y:auto;box-shadow:2px 0 4px #0000001a;position:fixed;top:0;left:0;height:100vh;z-index:1000}.logo{padding:20px;text-align:center;border-bottom:1px solid #434a50}.logo h2{font-size:20px;font-weight:700;margin-bottom:5px;color:#fff}.logo p{font-size:14px;opacity:.8;color:#fff}.menu-item{display:flex;align-items:center;padding:15px 20px;color:#bfcbd9;text-decoration:none;transition:all .3s;border-left:3px solid transparent}.menu-item:hover{background:#ffffff1a;color:#409eff}.menu-item.active{background:#409eff33;color:#409eff;border-left-color:#409eff}.header{background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:60px;box-shadow:0 1px 4px #00152914;position:relative;z-index:100}.breadcrumb{display:flex;align-items:center;font-size:14px;color:#606266}.separator{margin:0 8px;color:#bfcbd9}.user-btn{background:none;border:none;padding:8px 12px;cursor:pointer;font-size:14px;color:#606266;border-radius:4px;transition:background .3s;display:flex;align-items:center;gap:8px}.arrow{font-size:12px;transition:transform .3s}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e4e7ed;border-radius:4px;box-shadow:0 2px 12px #0000001a;min-width:120px;z-index:1000;margin-top:5px}.dropdown-menu button{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:14px;color:#606266;transition:background .3s}.dropdown-menu button:hover{background:#f5f5f5;color:#409eff}.dropdown-menu button:first-child{border-radius:4px 4px 0 0}.dropdown-menu button:last-child{border-radius:0 0 4px 4px;border-top:1px solid #e4e7ed}.main-content{flex:1;overflow-y:auto;padding:20px;position:relative;z-index:1;width:100%;max-width:100%}:root{--primary-color: #409EFF;--primary-light: #66b1ff;--primary-lighter: #ecf5ff;--success-color: #67c23a;--success-light: #f0f9ff;--warning-color: #e6a23c;--warning-light: #fdf6ec;--danger-color: #f56c6c;--danger-light: #fef0f0;--text-primary: #303133;--text-regular: #606266;--text-secondary: #909399;--text-placeholder: #c0c4cc;--border-base: #dcdfe6;--border-light: #f0f0f0;--background-base: #f0f2f5;--background-white: #ffffff;--background-light: #f5f7fa;--background-lighter: #f8f9fa;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-xxl: 30px;--border-radius-sm: 4px;--border-radius-md: 8px;--shadow-light: 0 2px 12px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 20px rgba(0, 0, 0, .15);--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-xxl: 28px;--transition-base: all .3s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;background-color:var(--background-base)}button{border:none;background:none;cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}a{text-decoration:none;color:inherit}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border-base);background:var(--background-white);color:var(--text-regular);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-base);transition:var(--transition-base)}.btn:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.btn-primary{background:var(--primary-color);color:var(--background-white);border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light);color:var(--background-white)}.btn-small{padding:6px var(--spacing-md);font-size:var(--font-size-sm)}.btn-danger{color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover:not(:disabled){background:var(--danger-light)}.btn-warning{color:var(--warning-color);border-color:var(--warning-color)}.btn-warning:hover:not(:disabled){background:var(--warning-light)}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a;overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:1200px}.table thead{background:#f5f7fa}.table th{padding:12px;text-align:left;color:#606266;font-weight:500;border-bottom:1px solid #dcdfe6;white-space:nowrap}.table td{padding:12px;border-bottom:1px solid #f0f0f0}.table tbody tr:hover{background:#f5f7fa}.log-table{overflow-x:auto}.log-table .table{min-width:800px}.log-table .table th{background:#f5f7fa;font-size:13px}.log-table .table td{font-size:13px}.tag{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:500;display:inline-block}.tag-primary{background:var(--primary-lighter);color:var(--primary-color)}.tag-success{background:var(--success-light);color:var(--success-color)}.tag-warning{background:var(--warning-light);color:var(--warning-color)}.tag-danger{background:var(--danger-light);color:var(--danger-color)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group input[type=password],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;min-height:40px;box-sizing:border-box;line-height:1.5}.form-group select{height:auto;padding-top:8px;padding-bottom:8px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-group textarea{height:auto;min-height:80px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#409eff}.form-group input[type=checkbox]{margin-right:8px}.form-group small{color:#909399;font-size:12px;margin-top:4px;display:block}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row .form-group{margin-bottom:0}.filter-select{padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;cursor:pointer}.filter-select:focus{outline:none;border-color:#409eff}.page-size-select{padding:6px 10px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;cursor:pointer}.log-filters{display:flex;gap:12px}.log-filters select{padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.radio-group input[type=radio]{margin:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:modal-fade-in .3s ease-out}.modal{background:var(--background-white);border-radius:var(--border-radius-md);width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-medium);animation:modal-slide-in .3s ease-out;display:flex;flex-direction:column;margin:0 auto}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:800px}.modal-extra-large{max-width:1000px}.modal-full{width:95%;max-width:1200px;height:90vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl) var(--spacing-xxl);border-bottom:1px solid var(--border-base);background:var(--background-lighter)}.modal-header h2,.modal-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.modal-header .close-btn{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:var(--transition-base)}.modal-header .close-btn:hover{background:var(--background-light);color:var(--text-primary)}.modal-body{padding:var(--spacing-xxl);overflow-y:auto;flex:1}.modal-body-no-padding{padding:0}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xxl);border-top:1px solid var(--border-base);background:var(--background-lighter)}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.modal .form-group{margin-bottom:var(--spacing-lg)}.modal .form-group:last-child{margin-bottom:0}.modal .form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:500;font-size:var(--font-size-base)}.modal .form-group input,.modal .form-group select,.modal .form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--border-base);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);transition:var(--transition-base);box-sizing:border-box;color:var(--text-primary);line-height:1.5}.modal .form-group select{height:auto;min-height:40px;padding:8px 32px 8px 12px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-color:#fff;cursor:pointer}.modal .form-group input:focus,.modal .form-group select:focus,.modal .form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-lighter)}.modal .checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.modal .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:400;cursor:pointer;color:var(--text-regular)}.modal .checkbox-label input[type=checkbox]{width:auto;margin:0}.modal .btn{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-sm);border:1px solid;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-width:80px}.modal .btn:disabled{opacity:.6;cursor:not-allowed}.modal .btn-primary{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.modal .btn-primary:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary-light)}.modal .btn-secondary{background:var(--background-white);border-color:var(--border-base);color:var(--text-regular)}.modal .btn-secondary:hover:not(:disabled){background:var(--background-light);border-color:var(--primary-color);color:var(--primary-color)}.modal .btn-success{background:var(--success-color);border-color:var(--success-color);color:#fff}.modal .btn-success:hover:not(:disabled){opacity:.8}.modal .btn-warning{background:var(--warning-color);border-color:var(--warning-color);color:#fff}.modal .btn-warning:hover:not(:disabled){opacity:.8}.modal .btn-danger{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.modal .btn-danger:hover:not(:disabled){opacity:.8}.modal-confirm{text-align:center;padding:var(--spacing-xxl);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.modal-confirm .confirm-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto var(--spacing-lg);flex-shrink:0}.modal-confirm .confirm-icon.warning{background:#ffc1071a;color:var(--warning-color);border:2px solid var(--warning-color)}.modal-confirm .confirm-icon.danger{background:#dc35451a;color:var(--danger-color);border:2px solid var(--danger-color)}.modal-confirm .confirm-icon.info{background:#0d6efd1a;color:var(--primary-color);border:2px solid var(--primary-color)}.modal-confirm .confirm-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 auto var(--spacing-sm);text-align:center;width:100%}.modal-confirm .confirm-message{color:var(--text-regular);font-size:var(--font-size-base);line-height:1.5;text-align:center;width:100%;margin:0 auto}@media(max-width:768px){.modal{width:95%;margin:var(--spacing-xl)}.modal-full{width:100%;height:100vh;border-radius:0}.modal .form-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column;gap:var(--spacing-sm)}.modal-footer .btn{width:100%}}.modal .loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:10}.modal .loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.test-result{background:var(--background-lighter);border:1px solid var(--border-base);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.test-header{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.test-status{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.test-status.success{color:var(--success-color)}.test-status.error{color:var(--danger-color)}.test-icon{font-weight:700;font-size:var(--font-size-lg)}.test-message{font-size:var(--font-size-base)}.test-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.detail-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.detail-row .label{color:var(--text-secondary)}.detail-row .value{color:var(--text-primary);font-weight:500}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:20px}.stat-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 12px #0000001a}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#303133;line-height:1;margin-bottom:8px}.stat-label{font-size:14px;color:#909399}.detail-content{margin-bottom:20px}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{color:#909399;font-size:14px;font-weight:500}.detail-item span{color:#303133;font-size:14px}.player-warning{color:#f56c6c;font-weight:700}.monitor-config-section{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px}.monitor-config-section h3{margin-bottom:20px;color:#333}.port-status-section{margin-bottom:30px}.port-status-section h3{margin-bottom:20px;color:#333}.port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:20px}.port-item{padding:12px;border-radius:8px;text-align:center;border:2px solid}.port-item.port-open{background:#f0f9ff;border-color:#67c23a;color:#67c23a}.port-item.port-closed{background:#fef0f0;border-color:#f56c6c;color:#f56c6c}.port-item.port-timeout{background:#fdf6ec;border-color:#e6a23c;color:#e6a23c}.port-item.port-error{background:#fef0f0;border-color:#f56c6c;color:#f56c6c}.port-number{font-size:16px;font-weight:700;margin-bottom:4px}.port-status{font-size:12px;margin-bottom:4px}.port-time{font-size:11px;opacity:.8}.port-error{font-size:10px;margin-top:4px;word-break:break-all}.port-summary{display:flex;gap:20px;padding:16px;background:#f5f7fa;border-radius:8px;font-size:14px}.summary-item{color:#606266}.summary-item.success{color:#67c23a}.summary-item.danger{color:#f56c6c}.monitor-logs-section{margin-bottom:20px}.monitor-logs-section h3{margin-bottom:20px;color:#333}.log-tabs{display:flex;margin-bottom:20px;border-bottom:1px solid #dcdfe6}.tab-btn{padding:12px 20px;border:none;background:none;color:#606266;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s}.tab-btn:hover{color:#409eff}.tab-btn.active{color:#409eff;border-bottom-color:#409eff}.log-content{background:#fff;border-radius:8px;padding:20px}.log-info{margin-bottom:16px;padding:12px;background:#f0f9ff;border-left:4px solid #409EFF;border-radius:4px}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.log-actions{display:flex;gap:8px}.warning-box{padding:12px;background:#fef0f0;border:1px solid #f56c6c;border-radius:4px;color:#f56c6c;font-size:14px;margin-bottom:20px}.warning-box span{display:flex;align-items:center;gap:8px}h1{color:var(--text-primary);margin-bottom:var(--spacing-xl)}.loading{text-align:center;padding:40px;color:var(--text-secondary);background:var(--background-white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-light)}.toolbar{background:var(--background-white);padding:var(--spacing-lg);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-light)}.toolbar-left,.toolbar-right{display:flex;gap:10px}.pagination{margin-top:var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;background:var(--background-white);padding:var(--spacing-lg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-light)}.pagination-info{color:var(--text-regular);font-size:var(--font-size-base)}.pagination-controls{display:flex;gap:10px;align-items:center}.page-info{color:var(--text-regular);font-size:var(--font-size-base)}.layout-container{display:flex;height:100vh;background:var(--background-base)}.sidebar{width:250px!important;background:#304156!important;color:#fff!important;overflow-y:auto;box-shadow:2px 0 4px #0000001a;position:fixed!important;top:0!important;left:0!important;height:100vh!important;z-index:1000!important}.logo{padding:var(--spacing-xl);text-align:center;border-bottom:1px solid #434a50}.logo h2{font-size:var(--font-size-xl);font-weight:700;margin-bottom:5px}.logo p{font-size:var(--font-size-sm);opacity:.8}.sidebar-menu{padding:10px 0}.menu-item{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-xl);color:#bfcbd9;text-decoration:none;transition:var(--transition-base);border-left:3px solid transparent}.menu-item:hover{background:#ffffff1a;color:var(--primary-color)}.menu-item.active{background:#409eff33;color:var(--primary-color);border-left-color:var(--primary-color)}.menu-text{flex:1}.main-container{flex:1;display:flex;flex-direction:column;margin-left:250px}.header{background:var(--background-white);display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-xl);height:60px;box-shadow:0 1px 4px #00152914;position:relative;z-index:10}.header-left{flex:1}.breadcrumb{display:flex;align-items:center;font-size:var(--font-size-base);color:var(--text-regular)}.separator{margin:0 var(--spacing-sm);color:#bfcbd9}.header-right,.user-dropdown{position:relative}.user-btn{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-base);color:var(--text-regular);border-radius:var(--border-radius-sm);transition:background .3s;display:flex;align-items:center;gap:var(--spacing-sm)}.user-btn:hover{background:#f5f5f5}.arrow{font-size:var(--font-size-sm);transition:transform .3s}.dropdown-menu{position:absolute;top:100%;right:0;background:var(--background-white);border:1px solid var(--border-base);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-medium);min-width:120px;z-index:1000;margin-top:5px}.dropdown-menu button{display:block;width:100%;padding:10px var(--spacing-lg);background:none;border:none;text-align:left;cursor:pointer;font-size:var(--font-size-base);color:var(--text-regular);transition:background .3s}.dropdown-menu button:hover{background:#f5f5f5;color:var(--primary-color)}.dropdown-menu button:first-child{border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0}.dropdown-menu button:last-child{border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm);border-top:1px solid var(--border-base)}.main-content{flex:1;overflow-y:auto;padding:var(--spacing-xl);position:relative;z-index:1}.servers-container{max-width:1400px}.settings-container{max-width:1200px;margin:0 auto;padding:24px;background:#fff;min-height:100vh}.settings-header{margin-bottom:32px}.settings-header h1{font-size:28px;font-weight:600;color:#1f2937;margin:0}.tabs-container{margin-bottom:32px;border-bottom:1px solid #e5e7eb}.tabs{display:flex;gap:0}.tab{padding:12px 24px;border:none;background:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab:hover{color:#374151;background:#f9fafb}.tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#eff6ff}.status-cell{display:flex;align-items:center;justify-content:center}.connection-indicator{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500}.connection-indicator.online{color:#059669}.connection-indicator.offline{color:#dc2626}.indicator-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.connection-indicator.online .indicator-dot{background:#10b981;box-shadow:0 0 0 2px #10b98133}.connection-indicator.offline .indicator-dot{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.update-time{color:#6b7280;font-size:13px}.no-update{color:#9ca3af;font-size:14px;text-align:center}.toolbar{display:flex;gap:12px;margin-bottom:24px}.btn{padding:8px 16px;border-radius:6px;border:1px solid;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.btn-secondary{background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-secondary:hover{background:#f3f4f6}.btn-test{background:#f59e0b;border-color:#f59e0b;color:#fff}.btn-test:hover{background:#d97706}.loading-container{display:flex;align-items:center;justify-content:center;padding:40px;color:#6b7280}.loading-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:24px}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th{background:#f9fafb;padding:12px 16px;text-align:center;font-weight:600;color:#374151;font-size:14px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#1f2937;vertical-align:middle;text-align:center}.data-table td.actions{padding:12px 8px;text-align:center;vertical-align:middle}.data-table th:nth-child(1),.data-table td:nth-child(1){width:15%}.data-table th:nth-child(2),.data-table td:nth-child(2){width:10%}.data-table th:nth-child(3),.data-table td:nth-child(3){width:20%}.data-table th:nth-child(4),.data-table td:nth-child(4){width:15%;text-align:center!important}.data-table th:nth-child(5),.data-table td:nth-child(5){width:13%}.data-table th:nth-child(6),.data-table td:nth-child(6){width:12%}.data-table th:nth-child(7),.data-table td:nth-child(7){width:15%;text-align:center!important}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:#f9fafb}.config-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.type-badge{background:#eff6ff;color:#1d4ed8;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;display:inline-block}.connection-info{font-family:monospace;font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.create-time,.update-time{color:#6b7280;font-size:13px;white-space:nowrap;text-align:center}.actions{text-align:center;width:100%}.action-btn{padding:4px 8px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-block;margin:0 3px;text-align:center}.action-btn.edit{background:#eff6ff;color:#1d4ed8}.action-btn.edit:hover{background:#dbeafe}.action-btn.delete{background:#fee2e2;color:#991b1b}.action-btn.delete:hover{background:#fecaca}.status-tag{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-tag.tag-primary{background:#dbeafe;color:#1e40af}.status-tag.tag-success{background:#dcfce7;color:#166534}.status-tag.tag-secondary{background:#f3f4f6;color:#374151}.create-time{color:#6b7280;font-size:13px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0}.pagination-info{color:#6b7280;font-size:14px}.pagination-controls{display:flex;align-items:center;gap:16px}.pagination-btn{padding:6px 12px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f9fafb}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:#6b7280;font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:18px;font-weight:600;color:#1f2937;margin:0}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-btn:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.test-result{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:16px;margin-top:16px}.test-header{font-weight:600;color:#374151;margin-bottom:12px;font-size:14px}.test-status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.test-status.success{color:#059669}.test-status.error{color:#dc2626}.test-icon{font-weight:700;font-size:16px}.test-message{font-size:14px}.test-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.detail-row{display:flex;justify-content:space-between;font-size:13px}.detail-row .label{color:#6b7280}.detail-row .value{color:#1f2937;font-weight:500}@media(max-width:768px){.settings-container{padding:16px}.form-grid{grid-template-columns:1fr}.actions{flex-direction:column;gap:4px}.toolbar{flex-direction:column;gap:8px}.pagination{flex-direction:column;gap:12px}}.assignment-form{padding:10px 0}.assignment-description{background:#f0f9ff;border-left:4px solid #3b82f6;padding:12px 16px;margin-bottom:24px;border-radius:4px}.assignment-description p{margin:0;color:#1e40af;font-size:14px}.assignment-form .form-group{margin-bottom:20px}.assignment-form .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.assignment-form .form-select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;line-height:1.6;color:#374151;background-color:#fff;transition:all .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:auto;min-height:42px}.assignment-form .form-select option{padding:10px 12px;line-height:1.8;white-space:normal;word-wrap:break-word}.assignment-form .form-select:hover{border-color:#3b82f6}.assignment-form .form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.assignment-form .form-hint{display:block;margin-top:6px;font-size:12px;color:#6b7280}.assignment-note{background:#fef3c7;border-left:4px solid #f59e0b;padding:12px 16px;margin-top:24px;border-radius:4px}.assignment-note strong{display:block;margin-bottom:8px;color:#92400e;font-size:14px}.assignment-note ul{margin:0;padding-left:20px;color:#92400e;font-size:13px}.assignment-note li{margin-bottom:4px}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #10b98133}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.btn-success:active{transform:translateY(0);box-shadow:0 2px 4px #10b98133}.logs-page{max-width:1400px;margin:0 auto;padding:20px}.header-actions{display:flex;gap:10px}.log-tabs{display:flex;border-bottom:2px solid #e4e7ed;margin-bottom:20px}.tab-button{padding:12px 20px;border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s;display:flex;align-items:center;gap:8px}.tab-button:hover{background-color:#f5f7fa}.tab-button.active{color:#409eff;border-bottom-color:#409eff}.tab-count{background:#e4e7ed;color:#666;padding:2px 6px;border-radius:10px;font-size:.8em}.tab-button.active .tab-count{background:#409eff;color:#fff}.logs-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.logs-list{max-height:600px;overflow-y:auto}.log-item{padding:15px;border-bottom:1px solid #e4e7ed;transition:background-color .2s}.log-item:hover{background-color:#f5f7fa}.log-item.level-error{border-left:4px solid #f56c6c}.log-item.level-warn{border-left:4px solid #e6a23c}.log-item.level-info{border-left:4px solid #409eff}.log-item.level-debug{border-left:4px solid #909399}.log-header{display:flex;align-items:center;gap:15px;margin-bottom:8px;font-size:.9em}.log-time{color:#666;font-family:monospace}.log-level{padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500}.log-level.level-error{background:#fef0f0;color:#f56c6c}.log-level.level-warn{background:#fdf6ec;color:#e6a23c}.log-level.level-info{background:#ecf5ff;color:#409eff}.log-level.level-debug{background:#f4f4f5;color:#909399}.log-type{background:#e4e7ed;color:#666;padding:2px 8px;border-radius:12px;font-size:.8em}.log-server{background:#f0f9ff;color:#409eff;padding:2px 8px;border-radius:12px;font-size:.8em}.log-content{margin-bottom:8px}.log-action{font-weight:500;color:#333;margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-action .action-name{color:#333}.log-action .action-code{font-size:.85em;color:#909399;font-family:monospace;background:#f4f4f5;padding:1px 6px;border-radius:4px}.log-message{color:#666;line-height:1.4}.log-details{margin-top:10px}.log-details summary{cursor:pointer;color:#409eff;font-size:.9em}.log-data{margin-top:8px;padding:10px;background:#f8f9fa;border-radius:4px}.log-data pre{margin:5px 0 0;font-size:.8em;color:#666;white-space:pre-wrap;word-break:break-all}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px;border-top:1px solid #e4e7ed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 12px #0000004d}.modal-body input{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;margin:10px 0}.warning{color:#e6a23c;font-size:.9em;margin-top:10px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.btn-primary:hover{background:#66b1ff}.btn-secondary:hover{background:#d3d4d6}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger:hover{background:#f78989}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.d-flex{display:flex}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-none{display:none}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.flex-column{flex-direction:column}.character-detail-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999!important;animation:modal-fade-in .3s ease-out;padding:20px;box-sizing:border-box}.character-detail-modal{background:#fff;border-radius:8px;width:100%;max-width:1000px;max-height:85vh;position:relative;z-index:10000!important;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003;animation:modal-slide-in .3s ease-out;margin:auto;overflow:hidden}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.character-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:8px 8px 0 0;flex-shrink:0}.character-detail-modal .modal-header h3{font-size:16px;font-weight:600;color:#374151;margin:0}.character-detail-modal .modal-header .close-btn{background:none;border:none;font-size:20px;color:#6b7280;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.character-detail-modal .modal-header .close-btn:hover{background:#e5e7eb;color:#374151}.character-detail-modal .modal-body{padding:0;overflow-y:auto;flex:1;max-height:calc(85vh - 120px);position:relative}.character-detail-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:12px 20px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 8px 8px;flex-shrink:0}.detail-tabs{display:flex;border-bottom:2px solid #e5e7eb;margin-bottom:0;gap:2px;background:#fff;overflow-x:auto;flex-shrink:0;position:sticky;top:0;z-index:10;padding:0 20px;box-shadow:0 2px 4px #0000001a}.tab-btn{padding:12px 16px;border:none;background:#f9fafb;color:#6b7280;cursor:pointer;border-radius:6px 6px 0 0;font-weight:500;font-size:14px;transition:all .2s ease;white-space:nowrap;flex-shrink:0;position:relative}.tab-btn:hover{background:#f3f4f6;color:#374151}.tab-btn.active{background:#3b82f6;color:#fff;border-bottom:2px solid #3b82f6;margin-bottom:-2px}.tab-content{min-height:300px;padding:20px;background:#fff;overflow-y:auto}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.info-section h4{color:#374151;margin-bottom:12px;font-size:14px;font-weight:600;border-bottom:1px solid #e5e7eb;padding-bottom:6px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.info-item:last-child{border-bottom:none}.info-item label{font-weight:500;color:#6b7280;min-width:80px}.info-item span{color:#374151;font-weight:500}.info-item .currency,.info-item .status.online{color:#059669;font-weight:600}.info-item .status.offline{color:#dc2626;font-weight:600}.skills-container h4{color:#374151;margin-bottom:12px;font-size:14px;font-weight:600}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px}.skill-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px;text-align:center}.skill-id{font-weight:600;color:#374151;margin-bottom:4px;font-size:12px}.skill-level{color:#3b82f6;font-weight:500;font-size:12px}.inventory-container h4{color:#374151;margin-bottom:12px;font-size:14px;font-weight:600}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.inventory-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.item-slot{font-weight:600;color:#374151;margin-bottom:6px;font-size:12px}.item-type,.item-num,.item-stat,.item-opt{font-size:11px;color:#6b7280;margin-bottom:3px}.item-type{color:#3b82f6;font-weight:500}.pets-container h4{color:#374151;margin-bottom:12px;font-size:14px;font-weight:600}.pets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.pet-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.pet-name{font-weight:600;color:#374151;margin-bottom:8px;font-size:14px}.pet-info{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pet-info>div{font-size:11px;color:#6b7280}.empty-state{text-align:center;color:#6b7280;padding:30px;font-size:14px}.character-detail-modal .btn{padding:6px 12px;border-radius:4px;border:1px solid;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:70px}.character-detail-modal .btn:disabled{opacity:.6;cursor:not-allowed}.character-detail-modal .btn-primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.character-detail-modal .btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.character-detail-modal .btn-secondary{background:#fff;border-color:#d1d5db;color:#374151}.character-detail-modal .btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#3b82f6;color:#3b82f6}@media(max-width:1200px){.character-detail-modal{max-width:90%}}@media(max-width:768px){.character-detail-overlay{padding:10px}.character-detail-modal{width:100%;max-width:100%;max-height:95vh}.character-detail-modal .modal-body{padding:12px 16px;max-height:calc(95vh - 100px)}.detail-tabs{flex-wrap:wrap;gap:1px}.tab-btn{padding:6px 12px;font-size:12px}.user-info-grid,.skills-grid,.inventory-grid,.pets-grid,.pet-info{grid-template-columns:1fr}.info-item{flex-direction:column;align-items:flex-start;gap:2px}.character-detail-modal .modal-footer{flex-direction:column;gap:6px}.character-detail-modal .btn{width:100%}}.character-equipment-section{margin-bottom:24px;padding:20px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.character-equipment-section h4{color:#1e293b;margin-bottom:16px;font-size:16px;font-weight:600;text-align:center}.equipment-grid{display:grid;grid-template-columns:64px 64px 64px;grid-template-rows:64px 64px 64px 64px;gap:12px;justify-content:center;align-items:center;margin:0 auto;padding:20px}.equipment-slot{position:relative;width:64px;height:64px;background:#fff;border:2px solid #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.equipment-slot:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.equipment-slot[data-slot="0"]{grid-column:2;grid-row:1}.equipment-slot[data-slot="1"]{grid-column:1;grid-row:2}.equipment-slot[data-slot="2"]{grid-column:3;grid-row:2}.equipment-slot[data-slot="3"]{grid-column:2;grid-row:2}.equipment-slot[data-slot="4"]{grid-column:2;grid-row:3}.equipment-slot[data-slot="5"]{grid-column:2;grid-row:4}.equipment-slot[data-slot="6"]{grid-column:1;grid-row:1}.equipment-slot[data-slot="7"]{grid-column:3;grid-row:1}.slot-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.slot-icon img{width:100%;height:100%;object-fit:contain;border-radius:4px}.empty-slot{font-size:10px;color:#64748b;text-align:center;line-height:1.2}.enhancement-level{position:absolute;bottom:2px;right:2px;background:#f59e0b;color:#fff;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;min-width:16px;text-align:center}.character-summary{padding:0 20px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a}.summary-card h5{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.info-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}.info-row .label{color:#64748b;font-weight:500;min-width:80px}.info-row .value{color:#1e293b;font-weight:500;text-align:right}.value.level{color:#059669;font-weight:600}.value.job{color:#7c3aed;font-weight:600}.value.currency{color:#dc2626;font-weight:600}.value.power{color:#ea580c;font-weight:600}.value.skill-point{color:#2563eb;font-weight:600}.value.vip{color:#c2410c;font-weight:600}.value.status.online{color:#059669;font-weight:600}.value.status.offline{color:#dc2626;font-weight:600}.value.hp{color:#dc2626}.value.ap{color:#2563eb}.attributes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.attr-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#f8fafc;border-radius:4px;font-size:12px}.attr-name{color:#64748b;font-weight:500}.attr-value{color:#1e293b;font-weight:600}.debug-info{position:absolute;top:-30px;left:0;right:0;background:#000c;color:#fff;font-size:9px;padding:2px 4px;border-radius:3px;text-align:center;line-height:1.2;z-index:100;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s ease}.equipment-slot:hover .debug-info{opacity:1}@media(max-width:768px){.equipment-grid{max-width:240px;gap:6px}.equipment-slot{width:56px;height:56px}.slot-icon{width:40px;height:40px}.summary-grid,.attributes-grid{grid-template-columns:1fr}.debug-info{font-size:8px;top:-25px}}.equipment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.display-mode-toggle{display:flex;border:1px solid #ddd;border-radius:6px;overflow:hidden}.toggle-btn{padding:8px 16px;border:none;background:#f8f9fa;color:#666;cursor:pointer;transition:all .2s ease;font-size:14px}.toggle-btn:hover{background:#e9ecef}.toggle-btn.active{background:#007bff;color:#fff}.toggle-btn:first-child{border-right:1px solid #ddd}.toggle-btn.active:first-child{border-right:1px solid #007bff}.inventory-container{padding:20px}.inventory-container h4{margin-bottom:20px;color:#333;font-size:18px;font-weight:600}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:15px}.inventory-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease;cursor:pointer}.inventory-item-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26;transform:translateY(-2px)}.item-icon-wrapper{position:relative;width:64px;height:64px;margin:0 auto;background:#f5f5f5;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}.item-icon{width:100%;height:100%;object-fit:contain}.item-icon-placeholder{font-size:12px;color:#999;text-align:center;padding:5px;word-break:break-all}.item-quantity{position:absolute;bottom:2px;right:2px;background:#000000b3;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:600}.item-info{display:flex;flex-direction:column;gap:6px}.item-name{font-weight:600;color:#333;font-size:14px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-type-badge{display:inline-block;padding:2px 8px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:11px;text-align:center;font-weight:500}.item-slot-number{font-size:11px;color:#666;text-align:center}.item-description{font-size:12px;color:#666;line-height:1.4;text-align:center;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.empty-state{padding:40px;text-align:center;color:#999;font-size:14px}.tabs{display:flex;border-bottom:2px solid #e5e7eb;margin-bottom:24px}.tab-btn{padding:12px 24px;background:none;border:none;font-size:16px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-btn:hover{color:#3b82f6;background-color:#f8fafc}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background-color:#f8fafc}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.users-page{padding:20px;width:100%;box-sizing:border-box;position:relative;z-index:1;max-width:calc(100vw - 250px)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{color:#333;margin:0}.header-actions{display:flex;gap:10px;align-items:center}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-number{font-size:2em;font-weight:700;color:#409eff;margin-bottom:5px}.stat-label{color:#666;font-size:.9em}.toolbar{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px;background:#f5f7fa;border-radius:8px;align-items:center}.table-selector{display:flex;align-items:center;gap:8px}.table-selector label{font-weight:500;color:#333;white-space:nowrap}.table-selector select{padding:6px 10px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px}.search-box{display:flex;gap:8px;align-items:center}.search-input{padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;width:200px}.filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:15px;background:#f5f7fa;border-radius:8px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-weight:500;color:#333;white-space:nowrap}.filter-group input,.filter-group select{padding:6px 10px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px}.users-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;position:relative;z-index:1;width:100%;overflow:hidden}.table-scroll-hint{padding:10px 15px;background:#f0f9ff;border-bottom:1px solid #e4e7ed;font-size:.9em;color:#666;text-align:center}.table-wrapper{overflow:visible;position:relative;z-index:1;width:100%}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading,.empty-state{text-align:center;padding:40px;color:#666}.users-table{width:100%;min-width:100%;border-collapse:collapse;white-space:nowrap;position:relative;table-layout:fixed}.users-table th,.users-table td{padding:8px 6px;text-align:left;border-bottom:1px solid #e4e7ed;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.users-table th{background:#f5f7fa;font-weight:500;color:#333;position:sticky;top:0;z-index:10}.users-table tr:hover{background-color:#f5f7fa}.users-table tr:hover td:nth-child(13){background-color:#fff!important}.users-table th:nth-child(1),.users-table td:nth-child(1){width:15%;min-width:100px}.users-table th:nth-child(2),.users-table td:nth-child(2){width:20%;min-width:120px}.users-table th:nth-child(3),.users-table td:nth-child(3){width:15%;min-width:100px}.users-table th:nth-child(4),.users-table td:nth-child(4){width:15%;min-width:80px}.users-table th:nth-child(5),.users-table td:nth-child(5){width:15%;min-width:100px}.users-table th:nth-child(6),.users-table td:nth-child(6){width:220px;min-width:220px;position:sticky;right:0;background:#fff!important;z-index:50;box-shadow:-2px 0 4px #0000001a;border-left:1px solid #e4e7ed}.users-table th:nth-child(6){width:220px;position:sticky;right:0;background:#f5f7fa!important;z-index:60;box-shadow:-2px 0 4px #0000001a;border-left:1px solid #e4e7ed}.user-status{padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500}.user-status.online{background:#f0f9ff;color:#409eff}.user-status.offline{background:#f4f4f5;color:#909399}.user-status.gaming,.user-status.active{background:#f0f9ff;color:#67c23a}.user-status.deleted{background:#fef0f0;color:#f56c6c}.user-level{padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500}.user-level.admin{background:#fef0f0;color:#f56c6c}.user-level.vip{background:#fdf6ec;color:#e6a23c}.user-level.normal{background:#f4f4f5;color:#909399}.user-group{padding:2px 8px;border-radius:12px;font-size:.8em;background:#ecf5ff;color:#409eff}.block-info{color:#f56c6c;font-size:.8em}.currency{font-family:monospace;color:#67c23a;font-weight:500}.action-buttons{display:flex;gap:2px;flex-wrap:nowrap;justify-content:center;align-items:center}.btn-small{padding:2px 4px;font-size:10px;white-space:nowrap;min-width:40px;flex-shrink:0}.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px;border-top:1px solid #e4e7ed}.pagination-info{color:#666;font-size:.9em}.pagination-controls{display:flex;align-items:center;gap:15px}.page-info{color:#666;font-size:.9em}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 12px #0000004d}.view-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e4e7ed}.modal-header h3{margin:0;color:#333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666}.modal-body{padding:20px}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{font-weight:500;color:#333;font-size:14px}.info-item span{color:#666;font-size:14px;padding:8px 0;border-bottom:1px solid #f0f0f0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px}.form-help{font-size:.8em;color:#666;margin-top:5px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e4e7ed}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s;text-decoration:none;display:inline-block;text-align:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#409eff;color:#fff}.btn-primary:hover:not(:disabled){background:#66b1ff}.btn-secondary{background:#e4e7ed;color:#606266}.btn-secondary:hover:not(:disabled){background:#d3d4d6}.btn-success{background:#67c23a;color:#fff}.btn-success:hover:not(:disabled){background:#85ce61}.btn-warning{background:#e6a23c;color:#fff}.btn-warning:hover:not(:disabled){background:#ebb563}.btn-danger{background:#f56c6c;color:#fff}.btn-danger:hover:not(:disabled){background:#f78989}@media(max-width:768px){.users-page{padding:10px}.toolbar{flex-direction:column;align-items:stretch}.filters{flex-direction:column}.table-scroll-hint{font-size:.8em;padding:8px 10px}.users-table{min-width:1000px;font-size:12px}.users-table th,.users-table td{padding:8px 4px}.pagination{flex-direction:column;gap:10px}.modal{width:95%;margin:10px}.form-grid{grid-template-columns:1fr}.table-scroll-hint{display:block;background:#fff3cd;color:#856404;border-color:#ffeaa7}}@media(min-width:769px){.table-scroll-hint{display:none}}.character-count{font-weight:500;transition:color .3s}.character-count:hover{color:#1d4ed8!important;text-decoration:underline}.characters-list{max-height:400px;overflow-y:auto}.character-item{padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#f9fafb;transition:all .3s}.character-item:hover{background:#f3f4f6;border-color:#d1d5db}.character-info{display:flex;flex-direction:column;gap:8px}.character-name{font-size:16px;font-weight:600;color:#1f2937}.character-details{display:flex;gap:16px;flex-wrap:wrap}.character-details span{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.character-level{background:#dbeafe;color:#1e40af}.character-job{background:#f3e8ff;color:#7c3aed}.character-money{background:#fef3c7;color:#d97706}.character-status.online{background:#d1fae5;color:#065f46}.character-status.offline{background:#fee2e2;color:#dc2626}.character-time{font-size:12px;color:#6b7280}.characters-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.characters-table th,.characters-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb}.characters-table th{background-color:#f9fafb;font-weight:600;color:#374151}.characters-table tbody tr:hover{background-color:#f9fafb}.characters-container{margin-bottom:24px}.map-location{font-size:13px;color:#6b7280;max-width:150px;word-wrap:break-word}.admin-panel .data-table[data-v-203dea87]{table-layout:fixed;width:100%}.admin-panel .data-table th[data-v-203dea87],.admin-panel .data-table td[data-v-203dea87]{padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-panel .action-btn[data-v-203dea87]{padding:4px 8px;font-size:12px;margin-right:4px}.admin-panel .badge[data-v-203dea87]{font-size:12px;padding:2px 8px}.database-panel .data-table[data-v-248529f4]{table-layout:fixed;width:100%}.database-panel .data-table th[data-v-248529f4],.database-panel .data-table td[data-v-248529f4]{padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.database-panel .action-btn[data-v-248529f4]{padding:4px 8px;font-size:12px;margin-right:4px}.config-content{display:flex;flex-direction:column;gap:20px}.config-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.card-header{padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.card-header.collapsible{cursor:pointer;display:flex;justify-content:space-between;align-items:center}.card-header.collapsible:hover{background:#f3f4f6}.collapse-icon{font-size:12px;color:#6b7280}.card-header h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.card-description{margin:0;font-size:13px;color:#6b7280}.card-body{padding:20px}.update-mode-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.mode-card{display:flex;align-items:center;gap:16px;padding:20px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.mode-card:hover:not(.disabled){border-color:#3b82f6;box-shadow:0 4px 6px #3b82f61a}.mode-card.active{border-color:#3b82f6;background:#eff6ff}.mode-card.disabled{opacity:.6;cursor:not-allowed;background:#f9fafb}.mode-info{flex:1}.mode-info h4{margin:0 0 4px;font-size:15px;font-weight:600;color:#111827}.mode-info p{margin:0;font-size:13px;color:#6b7280}.mode-status{flex-shrink:0}.config-form{width:100%;display:flex;flex-direction:column;gap:20px}.update-server-panel .form-group{margin-bottom:16px}.update-server-panel .form-group:last-child{margin-bottom:0}.update-server-panel .form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#374151}.update-server-panel .form-group label.required:after{content:" *";color:#ef4444}.update-server-panel .form-group input,.update-server-panel .form-group select,.update-server-panel .form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s}.update-server-panel .form-group input:focus,.update-server-panel .form-group select:focus,.update-server-panel .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-hint{display:block;margin-top:4px;font-size:12px;color:#6b7280}.password-set-indicator{display:inline-block;margin-left:8px;padding:2px 8px;background:#d1fae5;color:#065f46;border-radius:4px;font-size:11px;font-weight:500}.password-input-wrapper{display:flex;gap:8px}.password-input-wrapper input{flex:1}.toggle-password-btn{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#374151;font-size:13px;cursor:pointer;transition:all .2s}.toggle-password-btn:hover{background:#f3f4f6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.history-table{width:100%;border-collapse:collapse;font-size:13px}.history-table th,.history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.history-table th{background:#f9fafb;font-weight:600;color:#374151}.history-table tr:hover{background:#f9fafb}.mode-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.mode-badge.standard{background:#dbeafe;color:#1d4ed8}.mode-badge.spak{background:#fef3c7;color:#b45309}@media(max-width:768px){.form-grid,.update-mode-selector{grid-template-columns:1fr}.password-input-wrapper{flex-direction:column}}.config-content[data-v-8c12fb7e]{display:flex;flex-direction:column;gap:20px}.config-card[data-v-8c12fb7e]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.card-header[data-v-8c12fb7e]{padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.card-header h3[data-v-8c12fb7e]{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.card-description[data-v-8c12fb7e]{margin:0;font-size:13px;color:#6b7280}.card-body[data-v-8c12fb7e]{padding:20px}.setting-item[data-v-8c12fb7e]{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f3f4f6}.setting-item[data-v-8c12fb7e]:last-child{border-bottom:none}.setting-info[data-v-8c12fb7e]{flex:1}.setting-title[data-v-8c12fb7e]{font-size:14px;font-weight:500;color:#111827;margin-bottom:4px}.setting-desc[data-v-8c12fb7e]{font-size:13px;color:#6b7280}.setting-control[data-v-8c12fb7e]{display:flex;align-items:center;gap:12px}.switch[data-v-8c12fb7e]{position:relative;display:inline-block;width:48px;height:24px}.switch input[data-v-8c12fb7e]{opacity:0;width:0;height:0}.slider[data-v-8c12fb7e]{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.3s;border-radius:24px}.slider[data-v-8c12fb7e]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider[data-v-8c12fb7e]{background-color:#3b82f6}input:checked+.slider[data-v-8c12fb7e]:before{transform:translate(24px)}input:disabled+.slider[data-v-8c12fb7e]{opacity:.5;cursor:not-allowed}.status-text[data-v-8c12fb7e]{font-size:13px;color:#6b7280;font-weight:500}.type-badge[data-v-8c12fb7e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.type-badge.gameshield[data-v-8c12fb7e]{background:#dbeafe;color:#1e40af}.type-badge.anweishi[data-v-8c12fb7e]{background:#fef3c7;color:#92400e}.platform-grid[data-v-8c12fb7e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.platform-card[data-v-8c12fb7e]{padding:16px;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}.platform-header[data-v-8c12fb7e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.platform-name[data-v-8c12fb7e]{font-size:14px;font-weight:600;color:#111827}.platform-desc[data-v-8c12fb7e]{font-size:13px;color:#6b7280}.status-details[data-v-8c12fb7e]{display:flex;flex-direction:column;gap:12px}.status-row[data-v-8c12fb7e]{display:flex;justify-content:space-between;padding:12px;background:#f9fafb;border-radius:6px}.status-row .label[data-v-8c12fb7e]{font-size:13px;color:#6b7280;font-weight:500}.status-row .value[data-v-8c12fb7e]{font-size:13px;color:#111827;font-weight:500}.status-row .value.error[data-v-8c12fb7e]{color:#dc2626}.action-btn.info[data-v-8c12fb7e]{background:#dbeafe;color:#1e40af}.action-btn.info[data-v-8c12fb7e]:hover{background:#bfdbfe}.action-btn.success[data-v-8c12fb7e]{background:#dcfce7;color:#166534}.action-btn.success[data-v-8c12fb7e]:hover{background:#bbf7d0}.action-btn.warning[data-v-8c12fb7e]{background:#fef3c7;color:#92400e}.action-btn.warning[data-v-8c12fb7e]:hover{background:#fde68a}.gameshield-panel .data-table[data-v-8c12fb7e]{table-layout:fixed;width:100%}.gameshield-panel .data-table th[data-v-8c12fb7e],.gameshield-panel .data-table td[data-v-8c12fb7e]{padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameshield-panel .action-btn[data-v-8c12fb7e]{padding:4px 8px;font-size:12px;margin-right:4px}.gameshield-panel .badge[data-v-8c12fb7e]{font-size:12px;padding:2px 8px}@media(max-width:768px){.platform-grid[data-v-8c12fb7e]{grid-template-columns:1fr}}.launcher-version-panel[data-v-c9024691]{padding:20px}.panel-header[data-v-c9024691]{display:flex;gap:10px;margin-bottom:20px}.table-container[data-v-c9024691]{overflow-x:auto}.data-table[data-v-c9024691]{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;table-layout:fixed}.data-table th[data-v-c9024691],.data-table td[data-v-c9024691]{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th[data-v-c9024691]{background:#f8f9fa;font-weight:600;color:#333}.data-table tr[data-v-c9024691]:hover{background:#f8f9fa}.version-badge[data-v-c9024691]{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:4px;font-weight:600}.url-text[data-v-c9024691]{color:#666;font-size:13px}.url-cell[data-v-c9024691]{display:flex;align-items:center;gap:8px}.url-link[data-v-c9024691]{color:#1976d2;text-decoration:none;font-size:13px;max-width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.url-link[data-v-c9024691]:hover{text-decoration:underline}.copy-btn[data-v-c9024691]{background:#f0f0f0;border:1px solid #ddd;border-radius:3px;cursor:pointer;padding:2px 6px;font-size:12px;color:#666;transition:all .2s}.copy-btn[data-v-c9024691]:hover{background:#e0e0e0;color:#333}.status-badge[data-v-c9024691]{padding:4px 8px;border-radius:4px;font-size:12px}.status-badge.active[data-v-c9024691]{background:#e8f5e9;color:#2e7d32}.status-badge.inactive[data-v-c9024691]{background:#ffebee;color:#c62828}.status-badge.forced[data-v-c9024691]{background:#fff3e0;color:#e65100}.status-badge.optional[data-v-c9024691]{background:#f5f5f5;color:#757575}.empty-message[data-v-c9024691]{text-align:center;color:#999;padding:40px!important}.btn[data-v-c9024691]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-primary[data-v-c9024691]{background:#1976d2;color:#fff}.btn-primary[data-v-c9024691]:hover{background:#1565c0}.btn-secondary[data-v-c9024691]{background:#f5f5f5;color:#333}.btn-secondary[data-v-c9024691]:hover{background:#e0e0e0}.btn-info[data-v-c9024691]{background:#0288d1;color:#fff}.btn-danger[data-v-c9024691]{background:#d32f2f;color:#fff}.btn-sm[data-v-c9024691]{padding:4px 8px;font-size:12px;margin-right:4px}.modal-overlay[data-v-c9024691]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-c9024691]{background:#fff;border-radius:8px;width:500px;max-width:90%;max-height:90vh;overflow-y:auto}.modal-sm[data-v-c9024691]{width:400px}.modal-header[data-v-c9024691]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3[data-v-c9024691]{margin:0;font-size:18px}.close-btn[data-v-c9024691]{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.modal-body[data-v-c9024691]{padding:20px}.modal-footer[data-v-c9024691]{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #eee}.form-group[data-v-c9024691]{margin-bottom:16px}.form-group label[data-v-c9024691]{display:block;margin-bottom:6px;font-weight:500;color:#333}.required[data-v-c9024691]{color:#d32f2f}.form-input[data-v-c9024691],.form-textarea[data-v-c9024691]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-input[data-v-c9024691]:focus,.form-textarea[data-v-c9024691]:focus{outline:none;border-color:#1976d2}.form-row[data-v-c9024691]{display:flex;gap:20px}.checkbox-group label[data-v-c9024691]{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox][data-v-c9024691]{width:16px;height:16px}.help-text[data-v-c9024691]{display:block;font-size:12px;color:#999;margin-top:4px}.warning-text[data-v-c9024691]{color:#d32f2f;font-size:14px}.log-config-panel[data-v-73d91684]{padding:20px}.panel-header[data-v-73d91684]{margin-bottom:24px}.panel-header h2[data-v-73d91684]{margin:0 0 8px;font-size:20px;color:#333}.panel-header .description[data-v-73d91684]{margin:0;color:#666;font-size:14px}.config-section[data-v-73d91684]{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.config-section h3[data-v-73d91684]{margin:0 0 16px;font-size:16px;color:#333;border-bottom:1px solid #eee;padding-bottom:8px}.config-section h4[data-v-73d91684]{margin:16px 0 12px;font-size:14px;color:#666}.form-group[data-v-73d91684]{margin-bottom:16px}.form-group label[data-v-73d91684]{display:block;margin-bottom:8px;font-weight:500;color:#333}.level-selector[data-v-73d91684]{display:flex;flex-wrap:wrap;gap:12px}.level-btn[data-v-73d91684]{display:flex;flex-direction:column;align-items:center;padding:16px 20px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;min-width:100px}.level-btn[data-v-73d91684]:hover{border-color:#1890ff;background:#f0f7ff}.level-btn.active[data-v-73d91684]{border-color:#1890ff;background:#e6f7ff}.level-btn[data-v-73d91684]:disabled{opacity:.6;cursor:not-allowed}.level-name[data-v-73d91684]{font-weight:600;color:#333;margin-bottom:4px}.level-desc[data-v-73d91684]{font-size:12px;color:#999;text-align:center}.stats-grid[data-v-73d91684]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px}.stat-card[data-v-73d91684]{background:#f5f5f5;border-radius:8px;padding:16px;text-align:center}.stat-value[data-v-73d91684]{font-size:28px;font-weight:600;color:#1890ff}.stat-label[data-v-73d91684]{font-size:14px;color:#666;margin-top:4px}.type-list[data-v-73d91684]{display:flex;flex-wrap:wrap;gap:8px}.type-item[data-v-73d91684]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f5f5f5;border-radius:4px}.type-name[data-v-73d91684]{color:#666}.type-count[data-v-73d91684]{font-weight:600;color:#333}.clean-controls[data-v-73d91684]{display:flex;gap:12px;align-items:center}.form-select[data-v-73d91684]{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.btn[data-v-73d91684]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn-warning[data-v-73d91684]{background:#faad14;color:#fff}.btn-warning[data-v-73d91684]:hover{background:#d48806}.btn-warning[data-v-73d91684]:disabled{opacity:.6;cursor:not-allowed}.message[data-v-73d91684]{padding:12px 16px;border-radius:4px;margin-top:16px}.message.success[data-v-73d91684]{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.message.error[data-v-73d91684]{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}
