Files
HCI/src/components/Dashboard/StatusCard.module.css

85 lines
1.6 KiB
CSS

.card {
background-color: var(--bg-surface);
border: 1px solid var(--border-color);
border-radius: var(--radius-lg);
padding: var(--spacing-lg);
display: flex;
flex-direction: column;
gap: var(--spacing-md);
transition: transform 0.2s ease, box-shadow 0.2s ease;
height: 100%;
justify-content: space-between;
}
.card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
border-color: var(--border-light);
}
.clickable {
cursor: pointer;
}
.clickable:hover {
border-color: var(--primary);
background-color: var(--bg-surface-hover);
}
.header {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.label {
color: var(--text-muted);
font-size: 0.875rem;
font-weight: 500;
}
.iconWrapper {
padding: var(--spacing-sm);
border-radius: var(--radius-md);
display: flex;
align-items: center;
justify-content: center;
}
.iconWrapper.neutral {
background-color: var(--bg-surface-hover);
color: var(--text-main);
}
.iconWrapper.success {
background-color: rgba(34, 197, 94, 0.1);
color: var(--status-success);
}
.iconWrapper.warning {
background-color: rgba(234, 179, 8, 0.1);
color: var(--status-warning);
}
.iconWrapper.error {
background-color: rgba(239, 68, 68, 0.1);
color: var(--status-error);
}
.content {
display: flex;
align-items: baseline;
gap: var(--spacing-sm);
}
.value {
font-size: 1.75rem;
font-weight: 700;
color: var(--text-main);
letter-spacing: -0.02em;
}
.trend {
font-size: 0.875rem;
color: var(--status-success);
}