/* Queue Monitor Module */
.queue-monitor-page {
    --qm-primary: #7c3aed;
    --qm-primary-soft: #ede9fe;
    --qm-success: #059669;
    --qm-warning: #f59e0b;
    --qm-danger: #dc2626;
    --qm-info: #0891b2;
    --qm-ink: #4c1d95;
    --qm-muted: #64748b;
    --qm-bg: #faf5ff;
    padding: 1.25rem;
    background:
        radial-gradient(circle at 8% -5%, rgba(124, 58, 237, 0.10), transparent 35%),
        radial-gradient(circle at 92% 0%, rgba(139, 92, 246, 0.09), transparent 33%),
        var(--qm-bg);
    border-radius: 1rem;
}

.qm-title { color: var(--qm-ink); }
.qm-subtitle { color: var(--qm-muted); }
.qm-card { border: 1px solid rgba(124, 58, 237, 0.15); border-radius: 0.9rem; background: #fff; box-shadow: 0 8px 24px rgba(76, 29, 149, 0.05); }
.qm-card .card-header { background: linear-gradient(180deg, rgba(124, 58, 237, 0.06), transparent); border-bottom: 1px solid rgba(124, 58, 237, 0.1); }
.qm-queue-box { border-radius: 0.8rem; border: 1px solid rgba(124, 58, 237, 0.18); padding: 1rem; background: linear-gradient(135deg, rgba(124, 58, 237, 0.04), rgba(139, 92, 246, 0.04)); }
.qm-queue-box .name { font-weight: 600; color: var(--qm-ink); font-size: 0.95rem; }
.qm-queue-box .status-badge { padding: 0.25rem 0.65rem; border-radius: 0.4rem; font-size: 0.75rem; font-weight: 600; }
.qm-queue-box .status-badge.active { background: #d1fae5; color: #065f46; }
.qm-queue-box .status-badge.throttled { background: #fef3c7; color: #92400e; }
.qm-queue-box .status-badge.paused { background: #fee2e2; color: #991b1b; }
.qm-stats-card { border-radius: 0.8rem; padding: 1.2rem; border: 1px solid rgba(124, 58, 237, 0.15); background: linear-gradient(135deg, rgba(124, 58, 237, 0.05), rgba(139, 92, 246, 0.05)); }
.qm-stats-card .label { color: var(--qm-muted); font-size: 0.8rem; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.4rem; }
.qm-stats-card .value { color: var(--qm-ink); font-size: 1.8rem; font-weight: 700; margin-bottom: 0.3rem; }
.qm-timeline-item { border-left: 2px solid #e5e7eb; padding-left: 1rem; padding-bottom: 0.8rem; position: relative; }
.qm-timeline-item::before { content: ''; position: absolute; left: -5px; top: 0; width: 8px; height: 8px; border-radius: 50%; background: #7c3aed; }
.qm-timeline-item.success::before { background: #059669; }
.qm-timeline-item.error::before { background: #dc2626; }
.qm-timeline-item:last-child { border-left-color: transparent; }
.qm-alert-box { border-radius: 0.75rem; border-left: 4px solid; padding: 0.85rem; margin-bottom: 0.8rem; }
.qm-alert-box.warning { background: #fffbeb; border-color: #f59e0b; color: #92400e; }
.qm-alert-box.danger { background: #fef2f2; border-color: #dc2626; color: #991b1b; }

/* Dark Mode */
html.dark-theme .queue-monitor-page {
    --qm-ink: #e9d5ff;
    --qm-muted: #94a3b8;
    --qm-bg: #0f0a1a;
    background:
        radial-gradient(circle at 8% -5%, rgba(124, 58, 237, 0.12), transparent 35%),
        radial-gradient(circle at 92% 0%, rgba(139, 92, 246, 0.10), transparent 33%),
        var(--qm-bg);
}
html.dark-theme .qm-title { color: #e9d5ff; }
html.dark-theme .qm-subtitle { color: #94a3b8; }
html.dark-theme .qm-card { background: #1f1428; border-color: rgba(124, 58, 237, 0.2); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); }
html.dark-theme .qm-card .card-header { background: linear-gradient(180deg, rgba(124, 58, 237, 0.1), transparent); border-color: rgba(124, 58, 237, 0.2); }
html.dark-theme .qm-queue-box { background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(139, 92, 246, 0.08)); }
html.dark-theme .qm-stats-card { background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(139, 92, 246, 0.08)); border-color: rgba(124, 58, 237, 0.25); }
html.dark-theme .qm-stats-card .value { color: #d8b4fe; }
html.dark-theme .qm-timeline-item { border-color: rgba(255, 255, 255, 0.1); }
html.dark-theme .qm-alert-box.warning { background: rgba(245, 158, 11, 0.1); border-color: #f59e0b; color: #fcd34d; }
html.dark-theme .qm-alert-box.danger { background: rgba(239, 68, 68, 0.1); border-color: #dc2626; color: #fca5a5; }
