:root{--ac-primary: #00E87B;--ac-primary-light: #4dffaa;--ac-primary-dark: #00b86a;--ac-primary-alpha: rgba(0, 232, 123, .2);--bg-primary: #0a0e14;--bg-secondary: #0f1419;--bg-tertiary: #141b22;--bg-card: #1a222c;--bg-hover: #222c38;--bg-input: #1e2530;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-tertiary: #666666;--text-placeholder: #4d4d4d;--border-color: #2a3442;--border-light: #3a4656;--success: #00E87B;--warning: #ffc107;--error: #ff4757;--info: #00d4ff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 232, 123, .3);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:background var(--transition-normal),color var(--transition-normal)}#app{height:100%;background:var(--bg-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);outline:none;white-space:nowrap}.ac-btn:disabled{opacity:.5;cursor:not-allowed}.ac-btn-primary{background:var(--ac-primary);color:#0a0e14}.ac-btn-primary:hover:not(:disabled){background:var(--ac-primary-light);box-shadow:var(--shadow-glow)}.ac-btn-primary:active:not(:disabled){background:var(--ac-primary-dark)}.ac-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.ac-btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--ac-primary);color:var(--ac-primary)}.ac-btn-danger{background:var(--error);color:#fff}.ac-btn-danger:hover:not(:disabled){background:#ff6b7a}.ac-btn-sm{padding:6px 12px;font-size:12px}.ac-btn-lg{padding:14px 28px;font-size:16px}.ac-input{width:100%;padding:12px 16px;font-size:14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast);outline:none}.ac-input::placeholder{color:var(--text-placeholder)}.ac-input:hover{border-color:var(--border-light)}.ac-input:focus{border-color:var(--ac-primary);box-shadow:0 0 0 3px var(--ac-primary-alpha)}.ac-input:disabled{opacity:.5;cursor:not-allowed}input:-internal-autofill-selected{background-color:var(--bg-input)!important}.ac-textarea{width:100%;padding:12px 16px;font-size:14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast);outline:none;resize:vertical;min-height:80px;font-family:inherit}.ac-textarea::placeholder{color:var(--text-placeholder)}.ac-textarea:hover{border-color:var(--border-light)}.ac-textarea:focus{border-color:var(--ac-primary);box-shadow:0 0 0 3px var(--ac-primary-alpha)}.ac-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.ac-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.ac-tag{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;border-radius:20px;font-weight:500}.ac-tag-primary{background:var(--ac-primary-alpha);color:var(--ac-primary);border:1px solid var(--ac-primary)}.ac-tag-success{background:#00e87b26;color:var(--ac-primary);border:1px solid var(--ac-primary)}.ac-tag-warning{background:#ffc10726;color:var(--warning);border:1px solid var(--warning)}.ac-tag-error{background:#ff475726;color:var(--error);border:1px solid var(--error)}.ac-tag-info{background:#00d4ff26;color:var(--info);border:1px solid var(--info)}.ac-select{width:100%;padding:12px 16px;font-size:14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;outline:none;transition:all var(--transition-fast)}.ac-select:hover{border-color:var(--border-light)}.ac-select:focus{border-color:var(--ac-primary);box-shadow:0 0 0 3px var(--ac-primary-alpha)}.ac-range{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color);border-radius:3px;outline:none;cursor:pointer}.ac-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--ac-primary);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 6px #00e87b4d}.ac-range::-webkit-slider-thumb:hover{background:var(--ac-primary-light);transform:scale(1.1);box-shadow:0 0 0 4px var(--ac-primary-alpha)}.ac-range::-moz-range-thumb{width:18px;height:18px;background:var(--ac-primary);border-radius:50%;cursor:pointer;border:none;transition:all var(--transition-fast);box-shadow:0 2px 6px #00e87b4d}.ac-range::-moz-range-thumb:hover{background:var(--ac-primary-light);transform:scale(1.1);box-shadow:0 0 0 4px var(--ac-primary-alpha)}.ac-range::-moz-range-track{height:6px;background:var(--border-color);border-radius:3px}.ac-checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.ac-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.ac-checkbox-custom{width:20px;height:20px;min-width:20px;border:2px solid var(--border-color);border-radius:4px;background:var(--bg-input);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.ac-checkbox-custom:after{content:"";width:6px;height:10px;border:solid transparent;border-width:0 2px 2px 0;transform:rotate(0) scale(0);transition:all var(--transition-fast)}.ac-checkbox input:checked+.ac-checkbox-custom{background:var(--ac-primary);border-color:var(--ac-primary)}.ac-checkbox input:checked+.ac-checkbox-custom:after{border-color:var(--bg-primary);transform:rotate(45deg) scale(1)}.ac-checkbox:hover .ac-checkbox-custom{border-color:var(--ac-primary)}.ac-checkbox-label{color:var(--text-primary);font-size:14px}.ac-radio-group{display:flex;flex-direction:column;gap:12px}.ac-radio-group-horizontal{flex-direction:row;flex-wrap:wrap}.ac-radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.ac-radio input[type=radio]{position:absolute;opacity:0;width:0;height:0}.ac-radio-custom{width:20px;height:20px;min-width:20px;border:2px solid var(--border-color);border-radius:50%;background:var(--bg-input);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.ac-radio-custom:after{content:"";width:8px;height:8px;border-radius:50%;background:transparent;transform:scale(0);transition:all var(--transition-fast)}.ac-radio input:checked+.ac-radio-custom{border-color:var(--ac-primary)}.ac-radio input:checked+.ac-radio-custom:after{background:var(--ac-primary);transform:scale(1)}.ac-radio:hover .ac-radio-custom{border-color:var(--ac-primary)}.ac-radio-label{color:var(--text-primary);font-size:14px}.ac-switch{position:relative;width:48px;height:26px;display:inline-flex;align-items:center}.ac-switch input{opacity:0;width:0;height:0}.ac-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:var(--transition-fast);border-radius:26px;box-shadow:inset 0 2px 4px #0003}.ac-switch-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%;box-shadow:0 2px 4px #0003}.ac-switch input:checked+.ac-switch-slider{background-color:var(--ac-primary);box-shadow:inset 0 2px 4px #0000001a,0 0 12px var(--ac-primary-alpha)}.ac-switch input:checked+.ac-switch-slider:before{transform:translate(22px)}.ac-switch:hover .ac-switch-slider{filter:brightness(1.1)}.ac-form-row{display:flex;gap:16px;flex-wrap:wrap}.ac-form-group{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px}.ac-form-group-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.ac-progress{width:100%;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.ac-progress-bar{height:100%;background:linear-gradient(90deg,var(--ac-primary),var(--ac-primary-light));border-radius:4px;transition:width var(--transition-normal)}.ac-form-item{margin-bottom:20px}.ac-form-label{display:block;margin-bottom:8px;font-size:14px;color:var(--text-secondary);font-weight:500}.ac-form-label.required:after{content:"*";color:var(--error);margin-left:4px}.ac-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ac-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:90%;max-height:90vh;overflow:auto;animation:slideUp var(--transition-normal)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ac-modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.ac-modal-title{font-size:18px;font-weight:600}.ac-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:20px;transition:all var(--transition-fast)}.ac-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ac-modal-body{padding:24px}.ac-modal-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.ac-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:24px}.ac-tab{padding:12px 24px;font-size:14px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.ac-tab:hover{color:var(--text-primary)}.ac-tab.active{color:var(--ac-primary);border-bottom-color:var(--ac-primary)}.ac-toast{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px}.ac-toast-item{padding:14px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:toastIn var(--transition-normal);display:flex;align-items:center;gap:10px;min-width:300px}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.ac-toast-success{background:var(--bg-card);border:1px solid var(--ac-primary);color:var(--text-primary)}.ac-toast-error{background:var(--bg-card);border:1px solid var(--error);color:var(--text-primary)}.ac-toast-warning{background:var(--bg-card);border:1px solid var(--warning);color:var(--text-primary)}.ac-toast-info{background:var(--bg-card);border:1px solid var(--info);color:var(--text-primary)}.ac-upload{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:40px;text-align:center;background:var(--bg-secondary);cursor:pointer;transition:all var(--transition-fast)}.ac-upload:hover{border-color:var(--ac-primary);background:var(--bg-tertiary)}.ac-upload-icon{font-size:48px;margin-bottom:12px;color:var(--ac-primary)}.ac-empty{text-align:center;padding:60px 20px;color:var(--text-tertiary)}.ac-empty-icon{font-size:64px;margin-bottom:16px}.ac-empty-text{font-size:16px;margin-bottom:8px}.ac-empty-hint{font-size:14px;color:var(--text-placeholder)}.ac-color-input{width:80px;height:40px;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:2px;background:var(--bg-input);transition:all var(--transition-fast)}.ac-color-input:hover{border-color:var(--ac-primary)}.ac-color-input::-webkit-color-swatch-wrapper{padding:0}.ac-color-input::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}.ac-color-input::-moz-color-swatch{border:none;border-radius:calc(var(--radius-md) - 2px)}
