:root { --color-primary: #2563eb; --color-primary-hover: #1d4ed8; --color-primary-light: #eff6ff; --color-secondary: #0d9488; --color-secondary-hover: #0f766e; --color-accent: #7c3aed; --color-accent-hover: #6d28d9; --color-success: #16a34a; --color-success-hover: #15803d; --color-danger: #dc2626; --color-danger-hover: #b91c1c; --color-warning: #f59e0b; --color-text: #0f172a; --color-text-muted: #64748b; --color-text-soft: #94a3b8; --color-surface: #ffffff; --color-bg: #f1f5f9; --color-bg-warm: #f8fafc; --color-border: #e2e8f0; --color-border-strong: #cbd5e1; --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.05); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05); --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.06); --transition: 0.2s ease; } /* Dark Theme */ [data-theme="dark"] { --color-primary: #3b82f6; --color-primary-hover: #60a5fa; --color-primary-light: #1e3a5f; --color-secondary: #14b8a6; --color-secondary-hover: #2dd4bf; --color-accent: #a78bfa; --color-accent-hover: #c4b5fd; --color-success: #22c55e; --color-success-hover: #4ade80; --color-danger: #ef4444; --color-danger-hover: #f87171; --color-warning: #fbbf24; --color-text: #f1f5f9; --color-text-muted: #94a3b8; --color-text-soft: #64748b; --color-surface: #1e293b; --color-bg: #0f172a; --color-bg-warm: #1e293b; --color-border: #334155; --color-border-strong: #475569; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3); --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.4); } * { box-sizing: border-box; } body { margin: 0; font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 14px; line-height: 1.5; color: var(--color-text); background: linear-gradient(160deg, var(--color-bg-warm) 0%, var(--color-border) 50%, var(--color-bg) 100%); min-height: 100vh; transition: background var(--transition), color var(--transition); } [data-theme="dark"] body { background: linear-gradient(160deg, var(--color-bg-warm) 0%, #0f172a 50%, var(--color-bg) 100%); } #root { min-height: 100vh; } button { cursor: pointer; font: inherit; transition: background-color var(--transition), transform var(--transition), box-shadow var(--transition); } button:hover:not(:disabled) { transform: translateY(-1px); } button:active:not(:disabled) { transform: translateY(0); } button:disabled { cursor: not-allowed; opacity: 0.7; } input, textarea { font: inherit; transition: border-color var(--transition), box-shadow var(--transition); } input:focus, textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15); } .card { background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); border: 1px solid var(--color-border); } /* Блок выбора папки на странице Задачи — всегда видим */ .tasks-sources[data-section="path-selection"] { display: block !important; visibility: visible !important; } /* Theme Toggle */ .theme-toggle { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; font-size: 13px; color: var(--color-text-muted); transition: all var(--transition); } .theme-toggle:hover { background: var(--color-bg-warm); border-color: var(--color-border-strong); color: var(--color-text); } .theme-toggle-icon { font-size: 16px; } /* Dark theme specific overrides */ [data-theme="dark"] input, [data-theme="dark"] textarea { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); } [data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder { color: var(--color-text-soft); } [data-theme="dark"] input:focus, [data-theme="dark"] textarea:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25); } [data-theme="dark"] select { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); } [data-theme="dark"] code, [data-theme="dark"] pre { background: #0f172a; color: #e2e8f0; }