/** * Variables - Professional Bootstrap Design System for Laravel * Professional Resume Builder * * @author David Valera Melendez * @created 2025-08-08 * @location Made in Germany 🇩🇪 * @description Professional color system and design tokens for Laravel with Bootstrap */ /* ======================================== CSS CUSTOM PROPERTIES (Professional Bootstrap Match) ======================================== */ :root { /* Primary Brand Colors - Professional Blue */ --color-primary: #1976d2; --color-primary-light: #42a5f5; --color-primary-dark: #1565c0; --color-primary-50: #e3f2fd; --color-primary-100: #bbdefb; --color-primary-200: #90caf9; --color-primary-300: #64b5f6; --color-primary-400: #42a5f5; --color-primary-500: #1976d2; --color-primary-600: #1976d2; --color-primary-700: #1565c0; --color-primary-800: #0d47a1; --color-primary-900: #0d47a1; /* Accent Colors */ --color-accent: #ff9800; --color-accent-light: #ffb74d; --color-accent-dark: #f57f17; /* Semantic Colors */ --color-success: #4caf50; --color-success-light: #81c784; --color-success-dark: #388e3c; --color-warning: #ff9800; --color-warning-light: #ffb74d; --color-warning-dark: #f57f17; --color-error: #f44336; --color-error-light: #ef5350; --color-error-dark: #c62828; --color-error-bg: rgba(244, 67, 54, 0.05); --color-info: #2196f3; --color-info-light: #64b5f6; --color-info-dark: #1976d2; /* Text Colors */ --color-text-primary: #212121; --color-text-secondary: #757575; --color-text-disabled: #bdbdbd; --color-text-hint: #9e9e9e; --color-text-muted: #555555; --color-text-dark: #444444; --color-text-light: #999999; --color-text-white: #ffffff; --color-text-white-muted: rgba(255, 255, 255, 0.9); /* Background Colors */ --color-background: #fafafa; --color-background-paper: #ffffff; --color-background-default: #f5f5f5; --color-background-dialog: #ffffff; /* Surface Colors */ --color-surface: #ffffff; --color-surface-variant: #f5f5f5; /* Border Colors */ --color-border: #e0e0e0; --color-border-light: #f5f5f5; --color-border-dark: #bdbdbd; /* Shadow Colors */ --color-shadow-light: rgba(0, 0, 0, 0.1); --color-shadow-medium: rgba(0, 0, 0, 0.15); --color-shadow-dark: rgba(0, 0, 0, 0.25); /* Gradient Definitions */ --gradient-primary: linear-gradient(135deg, #1976d2 0%, #42a5f5 100%); --gradient-accent: linear-gradient(135deg, #ff9800 0%, #ffb74d 100%); --gradient-success: linear-gradient(135deg, #4caf50 0%, #81c784 100%); /* Spacing System */ --spacing-xs: 0.25rem; --spacing-sm: 0.5rem; --spacing-md: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; --spacing-xxl: 3rem; /* Border Radius System */ --border-radius-sm: 4px; --border-radius-md: 8px; --border-radius-lg: 12px; --border-radius-xl: 16px; --border-radius-round: 50%; /* Professional Shadow System */ --shadow-xs: 0 1px 2px 0 var(--color-shadow-light); --shadow-sm: 0 1px 3px 0 var(--color-shadow-light), 0 1px 2px 0 var(--color-shadow-light); --shadow-md: 0 4px 6px -1px var(--color-shadow-light), 0 2px 4px -1px var(--color-shadow-light); --shadow-lg: 0 10px 15px -3px var(--color-shadow-light), 0 4px 6px -2px var(--color-shadow-light); --shadow-xl: 0 20px 25px -5px var(--color-shadow-light), 0 10px 10px -5px var(--color-shadow-light); --shadow-2xl: 0 25px 50px -12px var(--color-shadow-dark); /* Transitions */ --transition-fast: 0.15s ease; --transition-normal: 0.2s ease; --transition-slow: 0.3s ease; } /* ======================================== SCSS VARIABLES (Build-time) ======================================== */ // Primary Brand Colors $primary-color: #1976d2; $primary-light: #42a5f5; $primary-dark: #1565c0; $secondary-color: #757575; $accent-color: #ff9800; // Semantic Colors $success-color: #4caf50; $warning-color: #ff9800; $danger-color: #f44336; $info-color: #2196f3; // Text Colors $text-primary: #212121; $text-secondary: #757575; $text-muted: #9e9e9e; $text-disabled: #bdbdbd; $black: #000000; $white: #ffffff; // Background Colors $bg-primary: #ffffff; $bg-secondary: #fafafa; $bg-tertiary: #f5f5f5; // Border Colors $border-color: #e0e0e0; $border-light: #f5f5f5; $border-dark: #bdbdbd; // Spacing System $spacing-xs: 0.25rem; $spacing-sm: 0.5rem; $spacing-md: 1rem; $spacing-base: 1rem; // Same as md for compatibility $spacing-lg: 1.5rem; $spacing-xl: 2rem; $spacing-xxl: 3rem; // Typography Scale $font-size-xs: 0.75rem; // 12px $font-size-sm: 0.875rem; // 14px $font-size-base: 1rem; // 16px $font-size-lg: 1.125rem; // 18px $font-size-xl: 1.25rem; // 20px $font-size-xxl: 1.5rem; // 24px $font-size-2xl: 1.5rem; // 24px $font-size-xxxl: 2rem; // 32px $font-size-3xl: 1.875rem; // 30px $font-size-4xl: 2.25rem; // 36px $font-size-5xl: 3rem; // 48px $font-weight-light: 300; $font-weight-normal: 400; $font-weight-medium: 500; $font-weight-semibold: 600; $font-weight-bold: 700; // Line Heights $line-height-tight: 1.25; $line-height-normal: 1.5; $line-height-relaxed: 1.75; // Font Families (Material Design Compatible) $font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; $font-family-mono: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; // Line Heights $line-height-tight: 1.2; $line-height-normal: 1.5; $line-height-relaxed: 1.6; // Border Radius System $border-radius-sm: 4px; $border-radius-md: 8px; $border-radius-lg: 12px; $border-radius-xl: 16px; $border-radius-round: 50%; // Breakpoints (Bootstrap Compatible) $breakpoint-xs: 576px; $breakpoint-sm: 768px; $breakpoint-md: 992px; $breakpoint-lg: 1200px; $breakpoint-xl: 1400px; /* ======================================== PROFESSIONAL MIXINS ======================================== */ // Material Design Card Mixin @mixin material-card { background-color: var(--color-surface); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); border: 1px solid var(--color-border-light); padding: var(--spacing-lg); transition: var(--transition-normal); &:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); } } // Material Design Button Mixin @mixin material-button($color: var(--color-primary)) { background-color: $color; color: white; border: none; border-radius: var(--border-radius-md); padding: var(--spacing-sm) var(--spacing-md); font-weight: $font-weight-medium; transition: var(--transition-normal); cursor: pointer; display: inline-flex; align-items: center; gap: var(--spacing-xs); text-decoration: none; &:hover { filter: brightness(110%); transform: translateY(-1px); box-shadow: var(--shadow-md); color: white; text-decoration: none; } &:active { transform: translateY(0); } &:disabled { background-color: var(--color-text-disabled); cursor: not-allowed; transform: none; box-shadow: none; } } // Gradient Background Mixin @mixin gradient-background($gradient: var(--gradient-primary)) { background: $gradient; color: var(--color-text-white); } // Professional Input Mixin @mixin material-input { border: 1px solid var(--color-border); border-radius: var(--border-radius-md); padding: var(--spacing-sm) var(--spacing-md); background-color: var(--color-surface); transition: var(--transition-normal); font-size: $font-size-base; &:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.1); outline: none; } &::placeholder { color: var(--color-text-hint); } }