.healthStatus { display: flex; flex-direction: column; gap: var(--space-4); } .statusCard { padding: var(--space-4); border-radius: var(--radius-lg); border: 1px solid var(--border-subtle); transition: all var(--transition-normal); } .statusCard.healthy { background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(34, 197, 94, 0.05)); border-color: rgba(34, 197, 94, 0.2); } .statusCard.unhealthy { background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05)); border-color: rgba(239, 68, 68, 0.2); } .statusHeader { display: flex; align-items: center; gap: var(--space-3); } .statusInfo { display: flex; flex-direction: column; } .statusTitle { font-size: var(--text-sm); color: var(--text-secondary); } .statusValue { font-size: var(--text-lg); font-weight: 600; color: var(--text-primary); } .statusMessage { margin-top: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); } .details { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); background-color: var(--bg-tertiary); border-radius: var(--radius-md); } .detailsTitle { font-size: var(--text-sm); font-weight: 600; color: var(--text-primary); margin-bottom: var(--space-2); } .detailItem { display: flex; justify-content: space-between; align-items: center; padding: var(--space-2) 0; border-bottom: 1px solid var(--border-subtle); } .detailItem:last-child { border-bottom: none; } .detailLeft { display: flex; align-items: center; gap: var(--space-2); color: var(--text-secondary); } .detailLabel { font-size: var(--text-sm); } .detailValue { font-size: var(--text-sm); font-weight: 500; } .success { color: var(--accent-success); } .error { color: var(--accent-error); } .spinning { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .errorBox { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3); background-color: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.2); border-radius: var(--radius-md); font-size: var(--text-sm); color: var(--accent-error); } .lastUpdate { font-size: var(--text-xs); color: var(--text-muted); text-align: center; } .refreshButton { display: flex; align-items: center; justify-content: center; gap: var(--space-2); width: 100%; padding: var(--space-2) var(--space-4); background-color: var(--bg-secondary); color: var(--text-secondary); border-radius: var(--radius-md); font-size: var(--text-sm); transition: all var(--transition-fast); } .refreshButton:hover:not(:disabled) { background-color: var(--bg-elevated); color: var(--text-primary); } .refreshButton:disabled { opacity: 0.5; }