:root{--primary-color: #ff6b35;--primary-dark: #e55a2b;--primary-light: #ff8c61;--secondary-color: #fff4f1;--text-primary: #333333;--text-secondary: #666666;--text-light: #999999;--text-heading: #1f2937;--text-subtitle: #6b7280;--text-muted: #9ca3af;--text-dark: #374151;--bg-white: #ffffff;--bg-gray: #f8f8f8;--bg-light: #f9fafb;--bg-gradient-start: #f8f9fa;--bg-gradient-end: #ffffff;--bg-placeholder-end: #e5e7eb;--bg-error: #f88383;--bg-success-light: #f0fdf4;--bg-info-light: #eff6ff;--bg-warning-light: #fffbeb;--bg-primary-light: #fff7ed;--bg-success-strong-start: #dcfce7;--bg-success-strong-end: #86efac;--bg-info-strong-start: #dbeafe;--bg-info-strong-end: #93c5fd;--bg-warning-strong-start: #fef3c7;--bg-warning-strong-end: #fcd34d;--bg-primary-strong-start: #fed7aa;--bg-primary-strong-end: #fb923c;--text-success-dark: #047857;--text-info-dark: #1e40af;--text-warning-dark: #92400e;--text-primary-dark: #c2410c;--success-dark-end: #059669;--info-dark-end: #2563eb;--warning-dark-end: #d97706;--primary-dark-end: #ea580c;--trend-up-start: #86efac;--trend-up-end: #4ade80;--trend-up-text: #047857;--trend-down-start: #fca5a5;--trend-down-end: #f87171;--trend-down-text: #991b1b;--border-color: #e5e5e5;--border-light: #f3f4f6;--border-medium: #e5e7eb;--border-hover: #d1d5db;--success-color: #16a34a;--warning-color: #d97706;--error-color: #dc2626;--info-color: #2563eb;--success-color-old: #4caf50;--warning-color-old: #ffc107;--error-color-old: #f44336;--info-color-old: #2196f3;--success-bg: #dcfce7;--warning-bg: #fef3c7;--error-bg: #fee2e2;--info-bg: #dbeafe;--gold-color: #ffd700;--gold-dark: #ffb300;--gold-text: #d4af37;--silver-color: #c0c0c0;--silver-dark: #a8a8a8;--silver-text: #909090;--bronze-color: #cd7f32;--bronze-dark: #e4a853;--bronze-text: #8b4513;--diamond-color: #b388ff;--diamond-dark: #9575cd;--shadow: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 2px 12px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-hover: 0 4px 20px rgba(0, 0, 0, .08);--shadow-primary: 0 4px 12px rgba(255, 107, 53, .3);--shadow-primary-sm: 0 2px 8px rgba(255, 107, 53, .3);--shadow-primary-lg: 0 4px 12px rgba(255, 107, 53, .4);--shadow-2xl: 0 20px 40px rgba(0, 0, 0, .12);--shadow-success: 0 8px 20px rgba(16, 185, 129, .4);--shadow-success-sm: 0 2px 8px rgba(76, 175, 80, .3);--shadow-success-lg: 0 4px 12px rgba(76, 175, 80, .4);--shadow-info: 0 8px 20px rgba(59, 130, 246, .4);--shadow-info-sm: 0 2px 8px rgba(33, 150, 243, .3);--shadow-info-lg: 0 4px 12px rgba(33, 150, 243, .4);--shadow-warning: 0 8px 20px rgba(245, 158, 11, .4);--shadow-warning-sm: 0 2px 8px rgba(255, 193, 7, .3);--shadow-warning-lg: 0 4px 12px rgba(255, 193, 7, .4);--shadow-error-sm: 0 2px 8px rgba(244, 67, 54, .3);--shadow-error-lg: 0 4px 12px rgba(244, 67, 54, .4);--shadow-drop: drop-shadow(0 2px 4px rgba(0, 0, 0, .1));--shadow-silver: 0 4px 12px rgba(192, 192, 192, .4);--shadow-gold: 0 4px 12px rgba(255, 215, 0, .4);--shadow-diamond: 0 4px 12px rgba(179, 136, 255, .4);--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--sidebar-width: 260px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans SC,sans-serif;background-color:var(--bg-gray);color:var(--text-primary);overflow-x:hidden}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-text{font-size:16px;margin-bottom:16px}.confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity .3s ease}.confirm-dialog{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);width:420px;max-width:90vw;max-height:90vh;overflow:hidden;transform:scale(.8);opacity:0;transition:all .3s ease}.confirm-header{padding:24px 24px 16px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.confirm-content{padding:20px 24px;color:var(--text-secondary);line-height:1.6;max-height:60vh;overflow-y:auto}.confirm-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid var(--border-light)}.confirm-delete .confirm-header span{color:var(--error-color)}.confirm-delete .confirm-footer button:last-child{background-color:var(--error-color);border-color:var(--error-color)}.confirm-delete .confirm-footer button:last-child:hover{background-color:#b91c1c;border-color:#b91c1c}.confirm-warning .confirm-header span{color:var(--warning-color)}.confirm-warning .confirm-footer button:last-child{background-color:var(--warning-color);border-color:var(--warning-color)}.confirm-warning .confirm-footer button:last-child:hover{background-color:#b45309;border-color:#b45309}.confirm-info .confirm-header span{color:var(--info-color)}.confirm-info .confirm-footer button:last-child{background-color:var(--info-color);border-color:var(--info-color)}.confirm-info .confirm-footer button:last-child:hover{background-color:#1d4ed8;border-color:#1d4ed8}.confirm-success .confirm-header span{color:var(--success-color)}.confirm-success .confirm-footer button:last-child{background-color:var(--success-color);border-color:var(--success-color)}.confirm-success .confirm-footer button:last-child:hover{background-color:#15803d;border-color:#15803d}.custom-confirm-content{min-width:300px}.confirm-form-dialog .confirm-content{padding:20px 24px}.confirm-form{width:100%}.form-field{margin-bottom:16px}.form-field:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary);font-size:14px}.form-input,.form-textarea,.form-select{width:100%;padding:10px 12px;border:1px solid var(--border-medium);border-radius:var(--radius);font-size:14px;color:var(--text-primary);background-color:var(--bg-white);transition:all .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b351a}.form-textarea{resize:vertical;min-height:80px}.form-checkbox{margin-right:8px;width:16px;height:16px;accent-color:var(--primary-color)}@media (max-width: 768px){.confirm-dialog{margin:20px;max-width:calc(100vw - 40px)}.confirm-header,.confirm-content,.confirm-footer{padding-left:20px;padding-right:20px}.custom-confirm-content{min-width:250px}}
