body{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}:root{--primary-color: #667eea;--primary-hover: #5a6fd8;--secondary-color: #764ba2;--success-color: #48bb78;--warning-color: #ed8936;--error-color: #f56565;--info-color: #4299e1;--text-primary: #333333;--text-secondary: #666666;--text-tertiary: #999999;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f0f0f0;--border-color: #e0e0e0;--font-family: "SimHei", "黑体", "STHeiti", "Microsoft YaHei", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-full: 50%;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .2);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--header-height: 36px;--sidebar-width: 160px;--sidebar-collapsed-width: 60px}[data-theme=dark]{--primary-color: #818cf8;--primary-hover: #6366f1;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--bg-primary: #1e293b;--bg-secondary: #0f172a;--bg-tertiary: #334155;--border-color: #475569}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-tertiary{background:var(--bg-tertiary)}.border{border:1px solid var(--border-color)}.border-radius-sm{border-radius:var(--border-radius-sm)}.border-radius-md{border-radius:var(--border-radius-md)}.border-radius-lg{border-radius:var(--border-radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition:all var(--transition-normal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn var(--transition-normal)}.slide-in{animation:slideIn var(--transition-normal)}.btn{--btn-padding: var(--spacing-sm) var(--spacing-md);--btn-border-radius: var(--border-radius-sm);--btn-font-family: var(--font-family);--btn-font-size: var(--font-size-sm);--btn-font-weight: 500}.btn-primary{--btn-primary-bg: var(--primary-color);--btn-primary-color: white;--btn-primary-hover: var(--primary-hover)}.btn-secondary{--btn-secondary-bg: var(--bg-tertiary);--btn-secondary-color: var(--text-primary);--btn-secondary-border: var(--border-color);--btn-secondary-hover: var(--border-color)}.btn-success{--btn-success-bg: var(--success-color);--btn-success-color: white;--btn-success-hover: #38a169}.btn-warning{--btn-warning-bg: var(--warning-color);--btn-warning-color: white;--btn-warning-hover: #dd6b20}.btn-error{--btn-error-bg: var(--error-color);--btn-error-color: white;--btn-error-hover: #e53e3e}.btn-info{--btn-info-bg: var(--info-color);--btn-info-color: white;--btn-info-hover: #3182ce}.btn-default{--btn-default-bg: #f0f0f0;--btn-default-color: #333;--btn-default-hover: #e0e0e0}.btn-xs{--btn-xs-padding: 2px 8px;--btn-xs-font-size: var(--font-size-xs);--btn-xs-border-radius: var(--border-radius-xs)}.btn-sm{--btn-sm-padding: 6px 12px;--btn-sm-font-size: var(--font-size-xs);--btn-sm-border-radius: var(--border-radius-sm)}.btn-base{--btn-base-padding: 8px 16px;--btn-base-font-size: var(--font-size-sm);--btn-base-border-radius: var(--border-radius-sm)}.btn-lg{--btn-lg-padding: 12px 24px;--btn-lg-font-size: var(--font-size-base);--btn-lg-border-radius: var(--border-radius-md)}.input-wrapper{--input-wrapper-gap: var(--spacing-xs)}.input-label{--input-label-font-size: var(--font-size-sm);--input-label-font-weight: 500;--input-label-color: var(--text-primary)}.input-container{--input-bg: var(--bg-primary);--input-border-color: var(--border-color);--input-border-radius: var(--border-radius-sm);--input-focus-border-color: var(--primary-color);--input-focus-shadow: 0 0 0 2px rgba(102, 126, 234, .2);--input-disabled-bg: var(--bg-tertiary);--input-disabled-border-color: var(--border-color);--input-error-border-color: var(--error-color);--input-error-focus-shadow: 0 0 0 2px rgba(245, 101, 101, .2)}.input-prefix,.input-suffix{--input-prefix-suffix-padding: 0 var(--spacing-sm);--input-prefix-suffix-font-size: var(--font-size-sm);--input-prefix-suffix-color: var(--text-tertiary)}.input{--input-padding: var(--spacing-sm) var(--spacing-md);--input-font-family: var(--font-family);--input-font-size: var(--font-size-sm);--input-color: var(--text-primary);--input-placeholder-color: var(--text-tertiary);--input-disabled-color: var(--text-tertiary)}.input-xs{--input-xs-padding: 2px 8px;--input-xs-font-size: var(--font-size-xs)}.input-sm{--input-sm-padding: 6px 12px;--input-sm-font-size: var(--font-size-xs)}.input-base{--input-base-padding: 8px 16px;--input-base-font-size: var(--font-size-sm)}.input-lg{--input-lg-padding: 12px 20px;--input-lg-font-size: var(--font-size-base)}.input-error-message{--input-error-message-font-size: var(--font-size-xs);--input-error-message-color: var(--error-color)}
