pipeline-sdlc/wwwroot/pipeline_sdlc.css

202 lines
4.0 KiB
CSS

/* 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;
}
}