Files
michaelschiemer/resources/css/components/admin/admin-cards.css
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

197 lines
3.6 KiB
CSS

/**
* Admin Card Components
*
* Status cards, metric cards, and data containers for admin interfaces
* Consistent with design system color tokens
*/
/* Base Card */
.admin-card {
background: var(--bg-alt);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: var(--space-lg);
box-shadow: 0 1px 3px oklch(0% 0 0 / 0.05);
transition: all var(--duration-default) var(--easing-default);
}
.admin-card:hover {
border-color: oklch(from var(--border) l c h / 0.3);
box-shadow: 0 4px 12px oklch(0% 0 0 / 0.1);
}
.admin-card__header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: var(--space-md);
}
.admin-card__title {
font-size: 1.125rem;
font-weight: 600;
color: var(--text);
margin: 0;
}
.admin-card__subtitle {
color: var(--muted);
font-size: 0.875rem;
margin-top: 0.25rem;
}
.admin-card__action {
color: var(--accent);
text-decoration: none;
font-size: 0.875rem;
font-weight: 500;
}
.admin-card__action:hover {
text-decoration: underline;
}
.admin-card__content {
color: var(--text);
}
/* Status Cards */
.status-card {
position: relative;
overflow: hidden;
}
.status-card--success {
border-left: 4px solid var(--success);
}
.status-card--warning {
border-left: 4px solid var(--warning);
}
.status-card--error {
border-left: 4px solid var(--error);
}
.status-card--info {
border-left: 4px solid var(--info-base);
}
/* Metric Cards */
.metric-card {
text-align: center;
}
.metric-card__value {
font-size: 2.5rem;
font-weight: 700;
color: var(--accent);
line-height: 1.2;
margin-bottom: 0.5rem;
}
.metric-card__label {
color: var(--muted);
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.metric-card__change {
font-size: 0.75rem;
margin-top: 0.5rem;
font-weight: 500;
}
.metric-card__change--positive {
color: var(--success);
}
.metric-card__change--negative {
color: var(--error);
}
.metric-card__change--neutral {
color: var(--muted);
}
/* Progress Cards */
.progress-card__header {
margin-bottom: var(--space-sm);
}
.progress-card__bar {
width: 100%;
height: 8px;
background: oklch(from var(--border) l c h / 0.3);
border-radius: 4px;
overflow: hidden;
margin-bottom: var(--space-sm);
}
.progress-card__fill {
height: 100%;
background: var(--accent);
border-radius: 4px;
transition: width var(--duration-medium) var(--easing-default);
}
.progress-card__fill--success {
background: var(--success);
}
.progress-card__fill--warning {
background: var(--warning);
}
.progress-card__fill--error {
background: var(--error);
}
.progress-card__stats {
display: flex;
justify-content: space-between;
font-size: 0.875rem;
color: var(--muted);
}
/* Compact Cards */
.admin-card--compact {
padding: var(--space-md);
}
.admin-card--compact .admin-card__title {
font-size: 1rem;
}
/* Card Grid Layouts */
.admin-cards {
display: grid;
gap: var(--space-lg);
margin-bottom: var(--space-lg);
}
.admin-cards--2-col {
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.admin-cards--3-col {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.admin-cards--4-col {
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
/* Responsive */
@media (max-width: 768px) {
.admin-cards--2-col,
.admin-cards--3-col,
.admin-cards--4-col {
grid-template-columns: 1fr;
}
.metric-card__value {
font-size: 2rem;
}
}