/* ============================================= GLOBAL STYLES — shared variables, resets, scrollbars Modern UI/UX with unified color scheme, dense layout, rounded corners ============================================= */ :root { /* Layout */ --left-col-width: 240px; --cell-width: 100px; --h-eod: 42px; --h-status: 34px; --h-dates: 52px; /* Unified Color Palette */ --primary-color: #4f46e5; /* Indigo-600 */ --primary-light: #eef2ff; /* Indigo-50 */ --primary-dark: #3730a3; /* Indigo-800 */ --secondary-color: #0ea5e9; /* Sky-500 */ --success-color: #10b981; /* Emerald-500 */ --warning-color: #f59e0b; /* Amber-500 */ --danger-color: #ef4444; /* Red-500 */ --info-color: #8b5cf6; /* Violet-500 */ /* Neutral Colors */ --background-primary: #ffffff; --background-secondary: #f8fafc; --background-tertiary: #f1f5f9; --border-color: #e2e8f0; --border-color-light: #f1f5f9; --border-color-dark: #cbd5e1; --text-primary: #334155; --text-secondary: #64748b; --text-tertiary: #94a3b8; --text-white: #ffffff; /* Highlight & Interactive */ --highlight-bg: rgba(99, 102, 241, 0.12); --highlight-border: rgba(99, 102, 241, 0.5); --hover-bg: rgba(241, 245, 249, 0.8); --active-bg: rgba(79, 70, 229, 0.1); /* Border Radius */ --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-rounded: 9999px; /* Shadows */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* Spacing (for dense layout) */ --spacing-xs: 2px; --spacing-sm: 4px; --spacing-md: 8px; --spacing-lg: 12px; --spacing-xl: 16px; --spacing-2xl: 24px; } /* MOBILE OPTIMIZATION */ @media (max-width: 599px) { :root { --left-col-width: 160px; --spacing-xl: 12px; --spacing-2xl: 16px; } } body, html { height: 100%; overflow: hidden; margin: 0; padding: 0; background-color: var(--background-secondary); color: var(--text-primary); font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif; font-size: 14px; line-height: 1.4; } /* Enhanced Scrollbars */ ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track { background: var(--background-tertiary); border-radius: var(--radius-rounded); } ::-webkit-scrollbar-thumb { background-color: var(--border-color-dark); border-radius: var(--radius-rounded); border: 2px solid var(--background-tertiary); } ::-webkit-scrollbar-thumb:hover { background-color: var(--text-tertiary); } /* Quasar overrides for consistent rounded corners */ .q-field--outlined .q-field__control, .q-field--outlined.q-field--rounded .q-field__control, .q-field--standard .q-field__control { border-radius: var(--radius-lg) !important; } .q-btn--rounded, .q-btn--rounded .q-btn__wrapper { border-radius: var(--radius-lg) !important; } .q-select .q-field__control, .q-input .q-field__control, .q-checkbox .q-checkbox__inner, .q-radio .q-radio__inner, .q-toggle .q-toggle__track { border-radius: var(--radius-md) !important; } .q-item { border-radius: var(--radius-md) !important; } .q-card { border-radius: var(--radius-xl) !important; box-shadow: var(--shadow-md) !important; border: 1px solid var(--border-color); } .q-drawer { border-color: var(--border-color) !important; } /* Enhanced focus states */ .q-focusable:focus, .q-focusable:hover, .q-field--focused .q-field__control { box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2) !important; } /* Dense layout utilities */ .dense-padding { padding: var(--spacing-md) !important; } .dense-margin { margin: var(--spacing-md) !important; } .compact-row { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important; }