:root { color-scheme: light; --bg: #f8fafc; --panel: #ffffff; --border: #e2e8f0; --text: #1e293b; --muted: #64748b; --accent: #4f46e5; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } * { box-sizing: border-box; } body { margin: 0; background: var(--bg); color: var(--text); } #app { display: flex; flex-direction: column; min-height: 100vh; } header.topbar { display: flex; align-items: center; gap: 24px; padding: 12px 24px; background: var(--panel); border-bottom: 1px solid var(--border); } header.topbar h1 { font-size: 18px; margin: 0; margin-right: auto; } nav.tabs { display: flex; gap: 4px; } nav.tabs button { border: none; background: transparent; padding: 8px 14px; border-radius: 6px; cursor: pointer; color: var(--muted); font-size: 14px; } nav.tabs button.active { background: var(--accent); color: white; } main { flex: 1; padding: 24px; max-width: 1200px; width: 100%; margin: 0 auto; } .panel-section { background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 16px; margin-bottom: 16px; } .panel-section h2 { margin-top: 0; font-size: 16px; } table { width: 100%; border-collapse: collapse; font-size: 14px; } th, td { text-align: left; padding: 8px; border-bottom: 1px solid var(--border); } input, select { padding: 6px 8px; border: 1px solid var(--border); border-radius: 4px; font-size: 14px; } button.btn { background: var(--accent); color: white; border: none; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-size: 14px; } button.btn.secondary { background: transparent; color: var(--accent); border: 1px solid var(--accent); } button.btn.danger { background: #ef4444; } .form-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 12px; } .gantt-row { display: flex; align-items: center; gap: 8px; height: 32px; } .gantt-track { position: relative; flex: 1; height: 20px; background: #f1f5f9; border-radius: 4px; } .gantt-bar { position: absolute; top: 0; height: 100%; border-radius: 4px; color: white; font-size: 11px; display: flex; align-items: center; padding-left: 6px; white-space: nowrap; overflow: hidden; } .gantt-label { width: 220px; font-size: 13px; flex-shrink: 0; } .heatmap-table td, .heatmap-table th { text-align: center; min-width: 56px; } .heatmap-cell { border-radius: 4px; padding: 4px; font-size: 12px; } .tag { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; background: #eef2ff; color: var(--accent); margin-right: 4px; } .muted { color: var(--muted); font-size: 13px; }