:root{--td-brand-color: #1296db;--td-brand-color-hover: #0d7cb8;--td-brand-color-active: #0a6a9e;--td-brand-color-light: #e6f7ff;--td-success-color: #00A870;--td-warning-color: #ED7B2F;--td-error-color: #D54941;--td-text-primary: #333333;--td-text-secondary: #666666;--td-text-placeholder: #999999;--td-text-disabled: #CCCCCC;--td-bg-color-page: #F5F5F5;--td-bg-color-container: #FFFFFF;--td-bg-color-hover: #F5F9FF;--td-border-color: #E7E7E7;--td-border-color-dark: #D9D9D9;--td-radius-small: 4px;--td-radius-medium: 6px;--td-radius-large: 8px;--td-shadow-1: 0 1px 4px rgba(0, 0, 0, .04);--td-shadow-2: 0 2px 8px rgba(0, 0, 0, .08);--td-shadow-3: 0 4px 16px rgba(0, 0, 0, .12);--td-spacing-small: 8px;--td-spacing-medium: 16px;--td-spacing-large: 24px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;color:var(--td-text-primary);background:var(--td-bg-color-page)}#app{width:100vw;height:100vh;overflow:hidden}.card{background:var(--td-bg-color-container);border-radius:var(--td-radius-medium);border:1px solid var(--td-border-color);padding:var(--td-spacing-large);box-shadow:var(--td-shadow-1);transition:box-shadow .2s}.card:hover{box-shadow:var(--td-shadow-2)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--td-spacing-medium);padding-bottom:var(--td-spacing-medium);border-bottom:1px solid var(--td-border-color)}.card-title{font-size:16px;font-weight:600;color:var(--td-text-primary)}.card-body{color:var(--td-text-secondary)}.btn{padding:8px 16px;border-radius:var(--td-radius-small);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary{background:var(--td-brand-color);color:#fff}.btn-primary:hover{background:var(--td-brand-color-hover)}.btn-primary:active{background:var(--td-brand-color-active)}.btn-secondary{background:#fff;color:var(--td-brand-color);border:1px solid var(--td-brand-color)}.btn-secondary:hover{background:var(--td-bg-color-hover)}.btn-default{background:#f5f5f5;color:var(--td-text-primary);border:1px solid var(--td-border-color-dark)}.btn-default:hover{background:#e8e8e8}.btn-success{background:var(--td-success-color);color:#fff}.btn-warning{background:var(--td-warning-color);color:#fff}.btn-error{background:var(--td-error-color);color:#fff}.form-label{display:block;font-size:14px;color:var(--td-text-primary);margin-bottom:8px;font-weight:500}.form-input{width:100%;height:40px;padding:0 12px;border:1px solid var(--td-border-color-dark);border-radius:var(--td-radius-small);font-size:14px;color:var(--td-text-primary);transition:all .2s}.form-input:hover{border-color:var(--td-brand-color)}.form-input:focus{outline:none;border-color:var(--td-brand-color);box-shadow:0 0 0 3px var(--td-brand-color-light)}.form-input::placeholder{color:var(--td-text-placeholder)}.form-textarea{width:100%;min-height:80px;padding:8px 12px;border:1px solid var(--td-border-color-dark);border-radius:var(--td-radius-small);font-size:14px;color:var(--td-text-primary);font-family:inherit;resize:vertical;transition:all .2s}.form-textarea:hover{border-color:var(--td-brand-color)}.form-textarea:focus{outline:none;border-color:var(--td-brand-color);box-shadow:0 0 0 3px var(--td-brand-color-light)}.form-select{width:100%;height:40px;padding:0 12px;border:1px solid var(--td-border-color-dark);border-radius:var(--td-radius-small);font-size:14px;color:var(--td-text-primary);background:#fff;cursor:pointer;transition:all .2s}.form-select:hover{border-color:var(--td-brand-color)}.form-select:focus{outline:none;border-color:var(--td-brand-color);box-shadow:0 0 0 3px var(--td-brand-color-light)}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--td-border-color)}.table th{background:#f5f5f5;font-weight:600;color:var(--td-text-primary);font-size:14px}.table td{color:var(--td-text-secondary);font-size:14px}.table tr:hover{background:var(--td-bg-color-hover)}.tag{display:inline-block;padding:2px 8px;border-radius:var(--td-radius-small);font-size:12px;font-weight:500}.tag-primary{background:var(--td-brand-color-light);color:var(--td-brand-color)}.tag-success{background:#e8f8f2;color:var(--td-success-color)}.tag-warning{background:#fff7e6;color:var(--td-warning-color)}.tag-error{background:#fff1f0;color:var(--td-error-color)}.tag-default{background:#f5f5f5;color:var(--td-text-secondary)}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:var(--td-spacing-large)}.pagination-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--td-border-color-dark);background:#fff;color:var(--td-text-primary);border-radius:var(--td-radius-small);cursor:pointer;font-size:14px;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--td-brand-color);color:var(--td-brand-color)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:var(--td-brand-color);color:#fff;border-color:var(--td-brand-color)}.loading{display:flex;align-items:center;justify-content:center;padding:var(--td-spacing-large);color:var(--td-text-secondary)}.empty{text-align:center;padding:60px 20px;color:var(--td-text-placeholder)}.empty-icon{font-size:48px;margin-bottom:var(--td-spacing-medium);opacity:.5}.empty-text{font-size:14px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#bfbfbf}::-webkit-scrollbar-track{background:transparent}.text-primary{color:var(--td-text-primary)}.text-secondary{color:var(--td-text-secondary)}.text-placeholder{color:var(--td-text-placeholder)}.text-brand{color:var(--td-brand-color)}.text-success{color:var(--td-success-color)}.text-warning{color:var(--td-warning-color)}.text-error{color:var(--td-error-color)}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.p-0{padding:0}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}
