/* Claude Code Project Tracker Dashboard Styles */ :root { --primary-color: #007bff; --secondary-color: #6c757d; --success-color: #28a745; --info-color: #17a2b8; --warning-color: #ffc107; --danger-color: #dc3545; --light-color: #f8f9fa; --dark-color: #343a40; } /* Global Styles */ body { background-color: #f5f5f5; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } /* Navigation */ .navbar-brand { font-weight: 600; } .navbar-nav .nav-link { font-weight: 500; transition: color 0.3s ease; } .navbar-nav .nav-link:hover { color: #fff !important; } /* Cards */ .card { border: none; border-radius: 0.75rem; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); transition: box-shadow 0.3s ease; } .card:hover { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .card-header { background-color: transparent; border-bottom: 1px solid rgba(0, 0, 0, 0.125); font-weight: 600; } /* Status Cards */ .card.bg-primary, .card.bg-success, .card.bg-info, .card.bg-warning, .card.bg-danger { border: none; } .card.bg-primary .card-body, .card.bg-success .card-body, .card.bg-info .card-body, .card.bg-warning .card-body, .card.bg-danger .card-body { padding: 1.5rem; } /* Charts */ .chart-container { position: relative; height: 300px; width: 100%; } /* Tables */ .table { margin-bottom: 0; } .table th { border-top: none; font-weight: 600; color: var(--dark-color); font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; } .table td { vertical-align: middle; font-size: 0.9rem; } /* Badges */ .badge { font-size: 0.75rem; font-weight: 500; } /* Project List */ .project-item { border-left: 4px solid var(--primary-color); background-color: #fff; border-radius: 0.5rem; padding: 1rem; margin-bottom: 0.75rem; transition: all 0.3s ease; } .project-item:hover { transform: translateX(5px); box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); } .project-title { font-weight: 600; color: var(--dark-color); margin-bottom: 0.25rem; } .project-path { color: var(--secondary-color); font-size: 0.875rem; font-family: 'Courier New', monospace; } .project-stats { font-size: 0.8rem; color: var(--secondary-color); } /* Activity Timeline */ .activity-timeline { position: relative; } .activity-timeline::before { content: ''; position: absolute; left: 20px; top: 0; bottom: 0; width: 2px; background-color: var(--light-color); } .timeline-item { position: relative; padding-left: 50px; margin-bottom: 1.5rem; } .timeline-marker { position: absolute; left: 12px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background-color: var(--primary-color); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--primary-color); } .timeline-content { background-color: #fff; border-radius: 0.5rem; padding: 1rem; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } /* Engagement Indicators */ .engagement-indicator { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 0.5rem; } .engagement-high { background-color: var(--success-color); } .engagement-medium { background-color: var(--warning-color); } .engagement-low { background-color: var(--danger-color); } /* Loading States */ .loading-skeleton { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* Responsive Design */ @media (max-width: 768px) { .card-body { padding: 1rem; } .project-item { margin-bottom: 0.5rem; } .display-4 { font-size: 2rem; } } /* Search and Filter */ .search-box { border-radius: 50px; border: 2px solid var(--light-color); transition: border-color 0.3s ease; } .search-box:focus { border-color: var(--primary-color); box-shadow: none; } /* Custom Scrollbar */ .custom-scrollbar { scrollbar-width: thin; scrollbar-color: var(--secondary-color) var(--light-color); } .custom-scrollbar::-webkit-scrollbar { width: 8px; } .custom-scrollbar::-webkit-scrollbar-track { background: var(--light-color); border-radius: 4px; } .custom-scrollbar::-webkit-scrollbar-thumb { background: var(--secondary-color); border-radius: 4px; } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--dark-color); } /* Tool Icons */ .tool-icon { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; margin-right: 0.5rem; font-size: 0.875rem; } .tool-icon.tool-edit { background-color: rgba(40, 167, 69, 0.1); color: var(--success-color); } .tool-icon.tool-write { background-color: rgba(0, 123, 255, 0.1); color: var(--primary-color); } .tool-icon.tool-read { background-color: rgba(23, 162, 184, 0.1); color: var(--info-color); } .tool-icon.tool-bash { background-color: rgba(108, 117, 125, 0.1); color: var(--secondary-color); } /* Animation Classes */ .fade-in { animation: fadeIn 0.5s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .slide-in-right { animation: slideInRight 0.5s ease-out; } @keyframes slideInRight { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } } /* Footer */ footer { margin-top: auto; border-top: 1px solid rgba(0, 0, 0, 0.125); } /* Print Styles */ @media print { .navbar, .btn, footer { display: none !important; } .card { box-shadow: none !important; border: 1px solid #ddd !important; } body { background-color: white !important; } }