:root{--color-primary-50: #EFF6FF;--color-primary-100: #DBEAFE;--color-primary-200: #BFDBFE;--color-primary-300: #93C5FD;--color-primary-400: #60A5FA;--color-primary-500: #3B82F6;--color-primary-600: #2563EB;--color-primary-700: #1D4ED8;--color-primary-800: #1E40AF;--color-primary-900: #1E3A8A;--color-secondary-500: #3B82F6;--color-secondary-600: #2563EB;--color-accent-50: #FFFBEB;--color-accent-100: #FEF3C7;--color-accent-200: #FDE68A;--color-accent-400: #FBBF24;--color-accent-500: #F59E0B;--color-accent-600: #D97706;--color-success-50: #ECFDF5;--color-success-500: #10B981;--color-success-600: #059669;--color-warning-50: #FEF3C7;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-error-50: #FEF2F2;--color-error-500: #EF4444;--color-error-600: #DC2626;--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CBD5E1;--color-gray-400: #94A3B8;--color-gray-500: #64748B;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1E293B;--color-gray-900: #0F172A;--color-background: #F8FAFC;--color-surface: #FFFFFF;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #64748B;--color-border: #E2E8F0;--color-divider: #F1F5F9;--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "Fira Code", "Consolas", "Monaco", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.75;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-4xl);font-weight:var(--font-bold)}h2{font-size:var(--text-3xl);font-weight:var(--font-semibold)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-primary{background-color:var(--color-primary-600)}.bg-surface{background-color:var(--color-surface)}.bg-accent{background-color:var(--color-accent-500)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.page-container{max-width:1400px;margin:0 auto;padding:var(--space-6)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page-header h1{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin:0}.page-header .actions{display:flex;gap:var(--space-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-divider)}.card-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.card-body{color:var(--color-text-secondary)}.stat-card{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-700) 100%);border:none;border-radius:var(--radius-xl);padding:var(--space-6);color:#fff;box-shadow:var(--shadow-lg);transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:#ffffff1a;border-radius:50%;transform:translate(30%,-30%)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.stat-card .label{font-size:var(--text-sm);font-weight:var(--font-medium);opacity:.9;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.stat-card .value{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1.2;margin-bottom:var(--space-2)}.stat-card .change{font-size:var(--text-sm);opacity:.85}.stat-card.accent{background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%)}.stat-card.success{background:linear-gradient(135deg,var(--color-success-500) 0%,var(--color-success-600) 100%)}.chart-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.chart-container .chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.chart-container .chart-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.chart-container .chart{width:100%;height:350px;min-height:350px}.dual-currency{display:flex;flex-direction:column;gap:var(--space-1)}.dual-currency .cny{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-primary-600);line-height:1.2}.dual-currency .usd{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium)}.data-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:1}.badge.primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge.success{background:var(--color-success-50);color:var(--color-success-600)}.badge.warning{background:var(--color-warning-50);color:var(--color-warning-600)}.badge.error{background:var(--color-error-50);color:var(--color-error-600)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-medium);line-height:1;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--color-primary-600);color:#fff}.btn.primary:hover:not(:disabled){background:var(--color-primary-700)}.btn.accent{background:var(--color-accent-500);color:#fff}.btn.accent:hover:not(:disabled){background:var(--color-accent-600)}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}.page-container{padding:var(--space-4)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.stat-card .value{font-size:var(--text-3xl)}.chart-container .chart{height:280px;min-height:280px}}*:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:#fff}.card,.chart-container,.data-table-wrapper{box-shadow:none;border:1px solid #ddd}.page-header .actions{display:none}}
