/* Dashboard Module Styles */

/* Alert Cards */
.alerts-section { margin-bottom: 24px; }
.alerts-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 20px; 
}
.alert-card { 
    display: flex; 
    align-items: center; 
    gap: 14px; 
    padding: 20px 24px; 
    border-radius: 12px; 
    text-decoration: none; 
    transition: all 0.2s;
    background: var(--lux-surface, white);
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.alert-card:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.alert-danger { background: linear-gradient(135deg, var(--surface-primary) 0%, var(--danger-soft, #fef2f2) 100%); border: 1px solid rgba(239, 68, 68, 0.2); }
.alert-danger .alert-icon { background: rgba(239, 68, 68, 0.1); color: var(--danger); }
.alert-warning { background: linear-gradient(135deg, var(--surface-primary) 0%, var(--warning-soft, #fffbeb) 100%); border: 1px solid rgba(245, 158, 11, 0.2); }
.alert-warning .alert-icon { background: rgba(245, 158, 11, 0.1); color: var(--warning); }
.alert-icon { 
    width: 44px; 
    height: 44px; 
    border-radius: 10px; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    flex-shrink: 0;
}
.alert-icon svg { width: 22px; height: 22px; }
.alert-content { display: flex; flex-direction: column; gap: 2px; }
.alert-content strong { font-size: 15px; font-weight: 600; color: var(--text-primary); }
.alert-content span { font-size: 13px; color: var(--text-muted); }

/* Dashboard Grid Layout */
.dashboard-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 20px; 
}
.main-content-column { 
    display: contents;
}
.main-content-column > .section-card:first-child {
    grid-column: 1 / 3;
    grid-row: 1;
}
.main-content-column > .section-card:last-child {
    grid-column: 1 / 3;
    grid-row: 2;
}
.sidebar-widgets { 
    display: contents;
}
.sidebar-widgets > .section-card:first-child {
    grid-column: 3;
    grid-row: 1;
}
.sidebar-widgets > .section-card:last-child {
    grid-column: 3;
    grid-row: 2;
}

/* Quick Actions Grid */
.quick-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
}

@media (max-width: 1400px) {
    .quick-actions-grid {
        grid-template-columns: 1fr;
    }
}

.quick-action-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 8px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border);
    border-left: 3px solid var(--action-color);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: inherit;
    transition: all 0.2s ease;
    min-height: 80px;
    width: 100%;
    box-sizing: border-box;
}

.quick-action-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    background: linear-gradient(135deg, var(--bg-tertiary) 0%, var(--bg-secondary) 100%);
}

.quick-action-card .quick-action-icon {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--action-color) 15%, transparent);
    border-radius: var(--radius-md);
}

.quick-action-card .quick-action-icon svg {
    width: 16px;
    height: 16px;
    color: var(--action-color);
}

.quick-action-content {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.quick-action-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 2px;
    line-height: 1.2;
}

.quick-action-desc {
    font-size: 10px;
    color: var(--text-muted);
    line-height: 1.2;
}

/* Activity Timeline */
.activity-timeline { 
    max-height: 300px; 
    overflow-y: auto; 
    padding: 8px 0;
}

.timeline-item { 
    display: flex; 
    align-items: flex-start; 
    gap: 12px; 
    padding: 12px 16px;
    position: relative;
}

.timeline-item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 32px;
    top: 44px;
    bottom: -12px;
    width: 2px;
    background: var(--border);
}

.timeline-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 1;
}

.timeline-icon svg {
    width: 14px;
    height: 14px;
}

.timeline-icon.success { background: var(--success-soft, #dcfce7); color: var(--success); }
.timeline-icon.primary { background: var(--info-soft, #dbeafe); color: var(--info); }
.timeline-icon.danger { background: var(--danger-soft, #fee2e2); color: var(--danger); }
.timeline-icon.warning { background: var(--warning-soft, #fef3c7); color: var(--warning); }
.timeline-icon.info { background: #e0f2fe; color: #0891b2; }
.timeline-icon.purple { background: #f3e8ff; color: #7c3aed; }
.timeline-icon.neutral { background: var(--lux-surface-alt, #f1f5f9); color: var(--text-muted); }

.timeline-content { 
    display: flex; 
    flex-direction: column; 
    min-width: 0;
    padding-top: 4px;
}

.timeline-action { 
    font-size: 13px; 
    font-weight: 500;
    color: var(--text-primary); 
}

.timeline-time { 
    font-size: 11px; 
    color: var(--text-muted);
    margin-top: 2px;
}

.data-table.compact td, .data-table.compact th { padding: 8px 12px; font-size: 13px; }
.empty-state { text-align: center; color: var(--text-muted); }
.empty-state a { color: var(--primary); }

/* Activity Feed */
.activity-feed {
    padding: 8px 0;
}

.activity-feed-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
}

.activity-feed-item:last-child {
    border-bottom: none;
}

.activity-feed-item:hover {
    background: var(--bg-tertiary);
}

.activity-feed-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.activity-feed-icon svg {
    width: 16px;
    height: 16px;
}

.activity-feed-icon.success { background: var(--success-soft, #dcfce7); color: var(--success); }
.activity-feed-icon.primary { background: var(--info-soft, #dbeafe); color: var(--info); }
.activity-feed-icon.danger { background: var(--danger-soft, #fee2e2); color: var(--danger); }
.activity-feed-icon.warning { background: var(--warning-soft, #fef3c7); color: var(--warning); }
.activity-feed-icon.info { background: #e0f2fe; color: #0891b2; }
.activity-feed-icon.purple { background: #f3e8ff; color: #7c3aed; }
.activity-feed-icon.neutral { background: var(--lux-surface-alt, #f1f5f9); color: var(--text-muted); }

.activity-feed-content {
    flex: 1;
    min-width: 0;
}

.activity-feed-main {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.activity-feed-action {
    font-weight: 600;
    font-size: 14px;
    color: var(--text-primary);
}

.activity-feed-entity {
    font-size: 14px;
    color: var(--text-secondary);
}

.activity-feed-id {
    font-size: 13px;
    color: var(--primary);
    font-family: monospace;
}

.activity-feed-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.activity-feed-user {
    font-size: 12px;
    color: var(--text-muted);
}

.activity-feed-separator {
    font-size: 10px;
    color: var(--text-muted);
}

.activity-feed-time {
    font-size: 12px;
    color: var(--text-muted);
}
