158 lines
3.6 KiB
CSS
158 lines
3.6 KiB
CSS
/**
|
|
* CSS Configuration - Theme Variables
|
|
* Central configuration for all colors, sizes, and design tokens
|
|
*/
|
|
|
|
:root {
|
|
/* === Colors === */
|
|
/* Primary */
|
|
--color-primary: #4A90E2;
|
|
--color-primary-dark: #357ABD;
|
|
--color-primary-light: #e3f2fd;
|
|
--color-primary-hover: #f0f7ff;
|
|
|
|
/* Secondary */
|
|
--color-secondary: #f5f5f5;
|
|
--color-secondary-dark: #e0e0e0;
|
|
|
|
/* Success, Danger, Warning */
|
|
--color-success: #4CAF50;
|
|
--color-success-dark: #45a049;
|
|
--color-danger: #d32f2f;
|
|
--color-danger-hover: #b71c1c;
|
|
--color-warning: #ff9800;
|
|
|
|
/* Grays */
|
|
--color-gray-100: #f9f9f9;
|
|
--color-gray-200: #f5f5f5;
|
|
--color-gray-300: #e0e0e0;
|
|
--color-gray-400: #d0d0d0;
|
|
--color-gray-500: #999;
|
|
--color-gray-600: #666;
|
|
--color-gray-700: #333;
|
|
|
|
/* Text */
|
|
--color-text-primary: #333;
|
|
--color-text-secondary: #666;
|
|
--color-text-tertiary: #999;
|
|
--color-text-inverse: #fff;
|
|
|
|
/* Backgrounds */
|
|
--color-bg-canvas: #f5f5f5;
|
|
--color-bg-white: #fff;
|
|
--color-bg-modal-overlay: rgba(0, 0, 0, 0.5);
|
|
--color-bg-hover: #f5f5f5;
|
|
--color-bg-selection: #e3f2fd;
|
|
|
|
/* Borders */
|
|
--color-border: #e0e0e0;
|
|
--color-border-dark: #d0d0d0;
|
|
--color-border-light: #f0f0f0;
|
|
|
|
/* === Spacing === */
|
|
--spacing-xs: 4px;
|
|
--spacing-sm: 8px;
|
|
--spacing-md: 12px;
|
|
--spacing-lg: 16px;
|
|
--spacing-xl: 20px;
|
|
--spacing-2xl: 24px;
|
|
--spacing-3xl: 32px;
|
|
|
|
/* === Typography === */
|
|
--font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
--font-family-mono: 'Courier New', monospace;
|
|
|
|
--font-size-xs: 11px;
|
|
--font-size-sm: 13px;
|
|
--font-size-md: 14px;
|
|
--font-size-lg: 16px;
|
|
--font-size-xl: 18px;
|
|
--font-size-2xl: 24px;
|
|
|
|
--font-weight-normal: 400;
|
|
--font-weight-medium: 500;
|
|
--font-weight-semibold: 600;
|
|
--font-weight-bold: 700;
|
|
|
|
--line-height-tight: 1.2;
|
|
--line-height-normal: 1.5;
|
|
--line-height-relaxed: 1.75;
|
|
|
|
/* === Border Radius === */
|
|
--radius-sm: 3px;
|
|
--radius-md: 4px;
|
|
--radius-lg: 5px;
|
|
--radius-xl: 6px;
|
|
--radius-2xl: 8px;
|
|
--radius-full: 9999px;
|
|
|
|
/* === Shadows === */
|
|
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
--shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
--shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
--shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.2);
|
|
|
|
/* === Transitions === */
|
|
--transition-fast: 0.15s ease;
|
|
--transition-normal: 0.2s ease;
|
|
--transition-slow: 0.3s ease;
|
|
|
|
/* === Z-Index === */
|
|
--z-base: 1;
|
|
--z-dropdown: 100;
|
|
--z-sticky: 200;
|
|
--z-fixed: 300;
|
|
--z-modal-backdrop: 1000;
|
|
--z-modal: 2000;
|
|
--z-popover: 3000;
|
|
--z-tooltip: 4000;
|
|
|
|
/* === Layout === */
|
|
--toolbar-height: 50px;
|
|
--table-pane-height: 300px;
|
|
--table-pane-min-height: 150px;
|
|
--resize-handle-height: 6px;
|
|
|
|
/* === Component Specific === */
|
|
/* Buttons */
|
|
--btn-padding-sm: 6px 12px;
|
|
--btn-padding-md: 10px 20px;
|
|
--btn-padding-lg: 12px 24px;
|
|
|
|
/* Inputs */
|
|
--input-padding: 10px 12px;
|
|
--input-border-width: 1px;
|
|
--input-height: 38px;
|
|
|
|
/* Modal */
|
|
--modal-width: 600px;
|
|
--modal-width-lg: 800px;
|
|
--modal-padding: 20px;
|
|
|
|
/* Context Menu */
|
|
--context-menu-width: 200px;
|
|
--context-menu-item-padding: 10px 20px;
|
|
|
|
/* Table */
|
|
--table-header-height: 40px;
|
|
--table-row-height: 35px;
|
|
}
|
|
|
|
/* === Dark Mode Support (Future) === */
|
|
/* @media (prefers-color-scheme: dark) {
|
|
:root {
|
|
--color-primary: #64B5F6;
|
|
--color-bg-canvas: #1a1a1a;
|
|
--color-bg-white: #2a2a2a;
|
|
--color-text-primary: #e0e0e0;
|
|
--color-border: #444;
|
|
}
|
|
} */
|
|
|
|
/* === Responsive Breakpoints === */
|
|
:root {
|
|
--breakpoint-mobile: 768px;
|
|
--breakpoint-tablet: 1024px;
|
|
--breakpoint-desktop: 1280px;
|
|
}
|