| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- @tailwind base;
- @tailwind components;
- @tailwind utilities;
- :root {
- font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
- }
- /* Light mode (default) */
- :root, .light {
- --color-bg: #f8fafc;
- --color-bg-secondary: #f1f5f9;
- --color-bg-tertiary: #e2e8f0;
- --color-text: #1e293b;
- --color-text-secondary: #475569;
- --color-text-muted: #94a3b8;
- --color-border: #e2e8f0;
- --color-border-light: #f1f5f9;
- /* Workflow node execution state colors */
- --node-running-bg: #eff6ff;
- --node-completed-bg: #f0fdf4;
- --node-failed-bg: #fef2f2;
- --node-skipped-bg: #f3f4f6;
- color: var(--color-text);
- background-color: var(--color-bg);
- }
- /* Dark mode */
- .dark {
- --color-bg: #0f172a;
- --color-bg-secondary: #1e293b;
- --color-bg-tertiary: #334155;
- --color-text: #f1f5f9;
- --color-text-secondary: #cbd5e1;
- --color-text-muted: #64748b;
- --color-border: #334155;
- --color-border-light: #1e293b;
- /* Workflow node execution state colors */
- --node-running-bg: #1e3a5f;
- --node-completed-bg: #14532d;
- --node-failed-bg: #450a0a;
- --node-skipped-bg: #374151;
- color: var(--color-text);
- background-color: var(--color-bg);
- }
- body {
- margin: 0;
- min-height: 100vh;
- transition: background-color 0.2s ease, color 0.2s ease;
- }
- /* React Flow custom styles */
- .react-flow__node {
- background: white;
- border: 1px solid #e2e8f0;
- border-radius: 8px;
- padding: 10px;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- }
- .dark .react-flow__node {
- background: #1e293b;
- border-color: #334155;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
- }
- .react-flow__node.selected {
- border-color: #0ea5e9;
- box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.3);
- }
- .dark .react-flow__node.selected {
- box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.4);
- }
- .react-flow__handle {
- width: 12px;
- height: 12px;
- background: #0ea5e9;
- border: 2px solid white;
- }
- .dark .react-flow__handle {
- border-color: #1e293b;
- }
- .react-flow__edge-path {
- stroke-width: 2;
- }
- /* Default edge color - will be overridden by inline styles for colored edges */
- .react-flow__edge:not([style*="stroke"]) .react-flow__edge-path {
- stroke: #94a3b8;
- }
- .dark .react-flow__edge:not([style*="stroke"]) .react-flow__edge-path {
- stroke: #9ca3af;
- }
- .react-flow__edge.selected .react-flow__edge-path {
- stroke: #0ea5e9;
- stroke-width: 3;
- }
- /* Selection rectangle styling */
- .react-flow__selection {
- background: rgba(14, 165, 233, 0.1);
- border: 1px dashed #0ea5e9;
- }
- .dark .react-flow__selection {
- background: rgba(14, 165, 233, 0.15);
- }
- /* React Flow background */
- .react-flow__background {
- background-color: #f8fafc;
- }
- .dark .react-flow__background {
- background-color: #0f172a;
- }
- /* Grid dot styling for better visibility */
- .react-flow__background pattern circle {
- fill: #cbd5e1;
- }
- .dark .react-flow__background pattern circle {
- fill: #475569;
- }
- /* React Flow controls */
- .react-flow__controls {
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- }
- .dark .react-flow__controls {
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
- }
- .dark .react-flow__controls-button {
- background: #1e293b;
- border-color: #334155;
- fill: #94a3b8;
- }
- .dark .react-flow__controls-button:hover {
- background: #334155;
- }
- /* React Flow minimap */
- .dark .react-flow__minimap {
- background: #1e293b;
- }
- /* Scrollbar styling */
- ::-webkit-scrollbar {
- width: 8px;
- height: 8px;
- }
- ::-webkit-scrollbar-track {
- background: transparent;
- }
- ::-webkit-scrollbar-thumb {
- background: #cbd5e1;
- border-radius: 4px;
- }
- ::-webkit-scrollbar-thumb:hover {
- background: #94a3b8;
- }
- .dark ::-webkit-scrollbar-thumb {
- background: #475569;
- }
- .dark ::-webkit-scrollbar-thumb:hover {
- background: #64748b;
- }
- /* Monaco editor dark mode already handles itself */
|