// ============================================================================= // MonitoringPage — a grid of service health cards, one per probed target. // Status drives a coloured left border + dot. // ============================================================================= .monitoring-checked { margin: 0 0 var(--space-md); font-size: var(--font-size-sm); color: var(--color-text-muted); } .monitoring-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: var(--space-md); } .monitoring-card { padding: var(--space-md); background: var(--color-surface); border: 1px solid var(--color-border); border-left: 4px solid var(--color-border); border-radius: var(--radius-md); --status-color: var(--color-text-muted); &--up { --status-color: var(--color-success); } &--degraded { --status-color: var(--color-warning); } &--down { --status-color: var(--color-error); } &--unknown { --status-color: var(--color-text-muted); } border-left-color: var(--status-color); &__head { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); h2 { flex: 1; min-width: 0; font-size: var(--font-size-md); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } &__dot { flex-shrink: 0; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--status-color); } &__status { flex-shrink: 0; font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--status-color); } &__meta { margin: 0; display: flex; flex-direction: column; gap: var(--space-xs); div { display: flex; gap: var(--space-sm); font-size: var(--font-size-sm); } dt { flex-shrink: 0; color: var(--color-text-muted); min-width: 5rem; } dd { margin: 0; color: var(--color-text); word-break: break-word; } } }