/* pipeline_sdlc.css - SDLC Pipeline Module Custom Styles */ /* Dark theme compatible */ /* === Base Colors === */ :root { --sdlc-bg-primary: #121212; --sdlc-bg-card: #1E1E2E; --sdlc-bg-card-hover: #252540; --sdlc-border: #2A2A3E; --sdlc-border-hover: #3A3A5E; --sdlc-text-primary: #E0E0E0; --sdlc-text-secondary: #888888; --sdlc-text-muted: #666666; --sdlc-accent: #4A90D9; --sdlc-success: #4AD97A; --sdlc-warning: #D9A04A; --sdlc-danger: #D94A4A; --sdlc-purple: #9A4AD9; } /* === Card Styles === */ .sdlc-card { background-color: var(--sdlc-bg-card); border: 1px solid var(--sdlc-border); border-radius: 8px; padding: 20px; transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease; } .sdlc-card:hover { background-color: var(--sdlc-bg-card-hover); border-color: var(--sdlc-border-hover); transform: translateY(-2px); } /* === Status Indicators === */ .sdlc-status-planning { color: var(--sdlc-accent); } .sdlc-status-in-progress { color: var(--sdlc-success); } .sdlc-status-completed { color: var(--sdlc-text-secondary); } .sdlc-status-blocked { color: var(--sdlc-danger); } /* === Priority Indicators === */ .sdlc-priority-critical { color: var(--sdlc-danger); font-weight: bold; } .sdlc-priority-high { color: var(--sdlc-warning); font-weight: bold; } .sdlc-priority-medium { color: var(--sdlc-accent); } .sdlc-priority-low { color: var(--sdlc-text-secondary); } /* === Kanban Column Headers === */ .sdlc-kanban-header-planning { background-color: #1A3A5C; padding: 12px; border-radius: 6px; } .sdlc-kanban-header-progress { background-color: #2A4A1A; padding: 12px; border-radius: 6px; } .sdlc-kanban-header-completed { background-color: #3A3A3A; padding: 12px; border-radius: 6px; } /* === Review Queue === */ .sdlc-review-task { background-color: var(--sdlc-bg-card); border: 1px solid var(--sdlc-border); border-radius: 8px; padding: 16px; cursor: pointer; transition: background-color 0.2s ease; } .sdlc-review-task:hover { background-color: var(--sdlc-bg-card-hover); } .sdlc-approval-gate { background-color: var(--sdlc-bg-card); border-left: 3px solid var(--sdlc-purple); border-radius: 8px; padding: 16px; } /* === Dashboard Stat Cards === */ .sdlc-stat-card { background-color: var(--sdlc-bg-card); border: 1px solid var(--sdlc-border); border-radius: 8px; padding: 20px; text-align: center; } .sdlc-stat-number { font-size: 36px; font-weight: bold; } .sdlc-stat-label { font-size: 14px; color: var(--sdlc-text-secondary); margin-top: 4px; } /* === Iteration Cards === */ .sdlc-iteration-card { background-color: var(--sdlc-bg-card); border: 1px solid var(--sdlc-border); border-radius: 8px; padding: 16px; cursor: pointer; transition: all 0.2s ease; } .sdlc-iteration-card:hover { background-color: var(--sdlc-bg-card-hover); border-color: var(--sdlc-accent); } .sdlc-iteration-completed { opacity: 0.7; } /* === Deployment Status === */ .sdlc-deploy-success { color: var(--sdlc-success); } .sdlc-deploy-pending { color: var(--sdlc-warning); } .sdlc-deploy-failed { color: var(--sdlc-danger); } .sdlc-deploy-dev { color: var(--sdlc-accent); } /* === Scrollbar Styling (Dark Theme) === */ .sdlc-scrollable::-webkit-scrollbar { width: 8px; } .sdlc-scrollable::-webkit-scrollbar-track { background: var(--sdlc-bg-primary); } .sdlc-scrollable::-webkit-scrollbar-thumb { background: var(--sdlc-border); border-radius: 4px; } .sdlc-scrollable::-webkit-scrollbar-thumb:hover { background: var(--sdlc-border-hover); } /* === Animation === */ @keyframes sdlc-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .sdlc-pending-indicator { animation: sdlc-pulse 2s ease-in-out infinite; } /* === Responsive Adjustments === */ @media (max-width: 768px) { .sdlc-stat-number { font-size: 28px; } }