@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"); @import url("./styles/customOverrides.css"); @import url("./styles/task-management.css"); @tailwind base; @tailwind components; @tailwind utilities; .app-loading-container { transition: none !important; } .app-loading-container * { transition: none !important; } /* Ensure loading spinner has proper contrast */ .app-loading-container .ant-spin { transition: none !important; } /* Prevent background flash during load */ html, body { transition: background-color 0.3s ease; margin: 0; padding: 0; } html.dark, html.dark body { background-color: #181818; color: #ffffff; } html.light, html.light body { background-color: #fafafa; color: #181818; } /* Prevent content flash */ #root { opacity: 0; animation: fadeIn 0.3s ease forwards; } @keyframes fadeIn { to { opacity: 1; } } /* antdesign override imports */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Inter", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important; } /* helper classes */ .borderless-icon-btn { border: none; } .blue-link { color: #1890ff; /* This is Ant Design's default link color */ } .ps__rail-y { opacity: 1 !important; /* Always show the scrollbar */ right: 0px; /* Position scrollbar to the right */ width: 8px !important; /* Set a consistent scrollbar width */ } .ps__thumb-y { width: 8px !important; /* Ensure the scrollbar thumb stays the same size */ background-color: #dbd6d6 !important; /* Customize scrollbar color */ border-radius: 4px; /* Rounded edges for the scrollbar */ } .ps__rail-y:hover, .ps__rail-y:focus { background-color: transparent !important; /* Prevent any changes on hover */ } .ps__rail-y:hover .ps__thumb-y, .ps__rail-y:focus .ps__thumb-y { background-color: #c4c4c4 !important; /* Keep the thumb color constant on hover */ width: 10px; } /* Customize website's scrollbar like Mac OS Not supports in Firefox and IE */ /* total width */ *::-webkit-scrollbar { background-color: transparent; width: 8px; height: 8px; } /* background of the scrollbar except button or resizer */ *::-webkit-scrollbar-track { background-color: transparent; } /* scrollbar itself */ *::-webkit-scrollbar-thumb { background-color: rgba(204, 204, 204, 0.5); border-radius: 16px; } *::-webkit-scrollbar-thumb:hover { background-color: #ababab; } /* set button(top and bottom of the scrollbar) */ *::-webkit-scrollbar-button { display: none; } .ant-table-row:hover .action-button { opacity: 1; } .action-buttons { opacity: 0; transition: opacity 0.1s ease-in-out; } tr:hover .action-buttons { opacity: 1; } /* Custom column components z-index hierarchy */ .custom-column-cell { position: relative; z-index: 1; } .custom-column-cell.focused { z-index: 10; } .custom-column-dropdown { z-index: 1000; } .custom-selection-dropdown .ant-dropdown { z-index: 1050 !important; } /* Ensure people dropdown has higher z-index */ .people-dropdown-portal { z-index: 9999 !important; } /* Number input focused state */ .number-input-container.focused { z-index: 20; } .number-input-container.focused input { z-index: 21; } /* Custom column number input styles */ .custom-column-number-input { width: 100% !important; max-width: 100% !important; min-width: 0 !important; overflow: hidden !important; } .custom-column-number-input .ant-input-group { width: 100% !important; max-width: 100% !important; display: flex !important; overflow: hidden !important; } .custom-column-number-input .ant-input { width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 2px 6px !important; } .custom-column-number-input.light-mode .ant-input { background-color: transparent !important; border: none !important; box-shadow: none !important; color: #1f2937 !important; } .custom-column-number-input.light-mode .ant-input::placeholder { color: #9ca3af !important; } .custom-column-number-input.light-mode .ant-input:hover { background-color: rgba(243, 244, 246, 0.5) !important; border: none !important; } .custom-column-number-input.light-mode .ant-input:focus { background-color: rgba(243, 244, 246, 0.8) !important; border: none !important; box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important; } .custom-column-number-input.dark-mode .ant-input { background-color: transparent !important; border: none !important; box-shadow: none !important; color: #e5e7eb !important; } .custom-column-number-input.dark-mode .ant-input::placeholder { color: #6b7280 !important; } .custom-column-number-input.dark-mode .ant-input:hover { background-color: rgba(55, 65, 81, 0.3) !important; border: none !important; } .custom-column-number-input.dark-mode .ant-input:focus { background-color: rgba(55, 65, 81, 0.5) !important; border: none !important; box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important; } /* Addon styles for light mode */ .custom-column-number-input.light-mode .ant-input-group-addon { background-color: #f3f4f6 !important; border: 1px solid #e5e7eb !important; color: #6b7280 !important; padding: 2px 6px !important; font-size: 12px !important; } /* Addon styles for dark mode */ .custom-column-number-input.dark-mode .ant-input-group-addon { background-color: #374151 !important; border: 1px solid #4b5563 !important; color: #9ca3af !important; padding: 2px 6px !important; font-size: 12px !important; } /* Dark mode styles for Ant Design components in custom columns */ [data-theme="dark"] .ant-picker, [data-theme="dark"] .ant-picker-input > input, .theme-dark .ant-picker, .theme-dark .ant-picker-input > input { background-color: transparent !important; border-color: transparent !important; color: #e5e7eb !important; } [data-theme="dark"] .ant-picker-input > input::placeholder, .theme-dark .ant-picker-input > input::placeholder { color: #6b7280 !important; } [data-theme="dark"] .ant-picker:hover, .theme-dark .ant-picker:hover { border-color: transparent !important; background-color: rgba(55, 65, 81, 0.3) !important; } [data-theme="dark"] .ant-picker-focused, [data-theme="dark"] .ant-picker:focus, .theme-dark .ant-picker-focused, .theme-dark .ant-picker:focus { border-color: rgba(59, 130, 246, 0.5) !important; background-color: rgba(55, 65, 81, 0.5) !important; box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important; } /* Dark mode dropdown styles */ [data-theme="dark"] .ant-dropdown, .theme-dark .ant-dropdown { background-color: #1f1f1f !important; } [data-theme="dark"] .ant-dropdown-menu, .theme-dark .ant-dropdown-menu { background-color: #1f1f1f !important; border-color: #374151 !important; } [data-theme="dark"] .ant-dropdown-menu-item, .theme-dark .ant-dropdown-menu-item { color: #e5e7eb !important; } [data-theme="dark"] .ant-dropdown-menu-item:hover, .theme-dark .ant-dropdown-menu-item:hover { background-color: #374151 !important; } /* Dark mode date picker popup */ .dark-date-picker .ant-picker-panel, .dark-date-picker .ant-picker-panel-container { background-color: #1f1f1f !important; border-color: #374151 !important; } .dark-date-picker .ant-picker-header { background-color: #1f1f1f !important; border-bottom-color: #374151 !important; } .dark-date-picker .ant-picker-header button { color: #e5e7eb !important; } .dark-date-picker .ant-picker-header button:hover { color: #60a5fa !important; } .dark-date-picker .ant-picker-content { background-color: #1f1f1f !important; } .dark-date-picker .ant-picker-cell { color: #e5e7eb !important; } .dark-date-picker .ant-picker-cell:hover .ant-picker-cell-inner { background-color: #374151 !important; } .dark-date-picker .ant-picker-cell-selected .ant-picker-cell-inner { background-color: #3b82f6 !important; color: #ffffff !important; } .dark-date-picker .ant-picker-cell-today .ant-picker-cell-inner { border-color: #60a5fa !important; } .dark-date-picker .ant-picker-footer { background-color: #1f1f1f !important; border-top-color: #374151 !important; } .dark-date-picker .ant-picker-footer .ant-btn { color: #e5e7eb !important; } .dark-date-picker .ant-picker-footer .ant-btn:hover { color: #60a5fa !important; } /* Global dark mode styles for date picker popups */ [data-theme="dark"] .ant-picker-dropdown .ant-picker-panel-container, .theme-dark .ant-picker-dropdown .ant-picker-panel-container { background-color: #1f1f1f !important; border-color: #374151 !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-header, .theme-dark .ant-picker-dropdown .ant-picker-header { background-color: #1f1f1f !important; border-bottom-color: #374151 !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-header button, .theme-dark .ant-picker-dropdown .ant-picker-header button { color: #e5e7eb !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-header button:hover, .theme-dark .ant-picker-dropdown .ant-picker-header button:hover { color: #60a5fa !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-content, .theme-dark .ant-picker-dropdown .ant-picker-content { background-color: #1f1f1f !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-cell, .theme-dark .ant-picker-dropdown .ant-picker-cell { color: #e5e7eb !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-cell:hover .ant-picker-cell-inner, .theme-dark .ant-picker-dropdown .ant-picker-cell:hover .ant-picker-cell-inner { background-color: #374151 !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner, .theme-dark .ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner { background-color: #3b82f6 !important; color: #ffffff !important; } [data-theme="dark"] .ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner, .theme-dark .ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner { border-color: #60a5fa !important; } /* Custom column date picker styles */ .custom-column-date-picker.light-mode .ant-picker-input > input { background-color: transparent !important; border: none !important; color: #1f2937 !important; } .custom-column-date-picker.light-mode .ant-picker-input > input::placeholder { color: #9ca3af !important; } .custom-column-date-picker.light-mode:hover { background-color: rgba(243, 244, 246, 0.5) !important; } .custom-column-date-picker.light-mode:focus, .custom-column-date-picker.light-mode.ant-picker-focused { background-color: rgba(243, 244, 246, 0.8) !important; box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important; } .custom-column-date-picker.dark-mode .ant-picker-input > input { background-color: transparent !important; border: none !important; color: #e5e7eb !important; } .custom-column-date-picker.dark-mode .ant-picker-input > input::placeholder { color: #6b7280 !important; } .custom-column-date-picker.dark-mode:hover { background-color: rgba(55, 65, 81, 0.3) !important; } .custom-column-date-picker.dark-mode:focus, .custom-column-date-picker.dark-mode.ant-picker-focused { background-color: rgba(55, 65, 81, 0.5) !important; box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.5) !important; } /* Custom column selection dropdown styles */ .custom-selection-dropdown [data-theme="dark"] .ant-dropdown-menu, .custom-selection-dropdown .theme-dark .ant-dropdown-menu { background-color: #1f1f1f !important; border-color: #374151 !important; } .custom-selection-dropdown [data-theme="dark"] .ant-dropdown-menu-item, .custom-selection-dropdown .theme-dark .ant-dropdown-menu-item { color: #e5e7eb !important; } .custom-selection-dropdown [data-theme="dark"] .ant-dropdown-menu-item:hover, .custom-selection-dropdown .theme-dark .ant-dropdown-menu-item:hover { background-color: #374151 !important; }