*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;background:var(--bg-primary)}:root{--color-primary: #4A90E2;--color-primary-dark: #357ABD;--color-secondary: #7B68EE;--color-success: #52C41A;--color-warning: #FAAD14;--color-danger: #F5222D;--color-info: #1890FF;--bg-primary: #F5F7FA;--bg-secondary: #FFFFFF;--bg-tertiary: #E8EBF0;--bg-dark: #1F2937;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #1F2937;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-white: #FFFFFF;--text-link: #4A90E2;--border-color: #E5E7EB;--border-color-dark: #D1D5DB;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);border:none;outline:none}.btn-primary{background:var(--color-primary);color:var(--text-white)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color-dark)}
