:root{--color-primary: #0078ff;--color-primary-hover: #0066db;--color-primary-light: #e8f4ff;--color-success: #28a745;--color-success-light: #d4edda;--color-success-dark: #155724;--color-error: #dc3545;--color-error-light: #f8d7da;--color-error-dark: #721c24;--color-warning: #ffc107;--color-warning-light: #fff3cd;--color-warning-dark: #856404;--color-info: #17a2b8;--color-info-light: #d1ecf1;--color-info-dark: #0c5460;--color-text-primary: #333333;--color-text-secondary: #666666;--color-text-muted: #707070;--color-text-light: #999999;--color-text-disabled: #cccccc;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #fafafa;--color-bg-overlay: rgba(0, 0, 0, .5);--color-border: #e0e0e0;--color-border-light: #e8e8e8;--color-border-dark: #dddddd;--font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 22px;--font-size-3xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 8px;--border-radius-xl: 10px;--border-radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}.focus-visible:focus{outline:2px solid var(--color-primary);outline-offset:2px}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
