.home-container { padding: 24px; max-width: 1200px; margin: 0 auto; } .toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; } .toolbar h1 { margin: 0; font-size: 1.8rem; font-weight: 500; } .loading-state { text-align: center; padding: 60px 20px; color: #666; } .empty-state { text-align: center; padding: 80px 20px; color: #666; } .empty-icon { font-size: 72px; height: 72px; width: 72px; margin-bottom: 20px; color: #ccc; } .projects-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 24px; } .project-card { height: 100%; display: flex; flex-direction: column; } .project-card mat-card-header { margin-bottom: 16px; } .agent-badge { display: inline-block; background: #e3f2fd; color: #1976d2; padding: 2px 8px; border-radius: 12px; font-size: 12px; margin-right: 8px; } .status-badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: 12px; } .status-requirement_document { background: #fff3e0; color: #f57c00; } .status-technical_document { background: #e8f5e8; color: #388e3c; } .status-code { background: #e3f2fd; color: #1976d2; } .status-test { background: #f3e5f5; color: #7b1fa2; } .status-release { background: #e8f5e8; color: #388e3c; } .project-description { color: #666; line-height: 1.5; margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .project-meta { display: flex; gap: 16px; margin-bottom: 16px; color: #888; font-size: 14px; } .meta-item { display: flex; align-items: center; gap: 4px; } .meta-item mat-icon { font-size: 16px; height: 16px; width: 16px; } .log-preview { display: flex; align-items: center; gap: 8px; padding: 8px; background: #f5f5f5; border-radius: 4px; font-size: 12px; color: #666; } .log-preview mat-icon { font-size: 16px; height: 16px; width: 16px; } .log-text { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } mat-card-actions { margin-top: auto; padding: 16px; } .inline-spinner { display: inline-block; margin-right: 8px; vertical-align: middle; }