/* _content/Kupuna.Web/Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-io01gcfq1a] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-io01gcfq1a] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/Kupuna.Web/Components/Pages/Admin/JobMonitor.razor.rz.scp.css */
.jobmon-head[b-6vyk7fv9g7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.jobmon-title[b-6vyk7fv9g7] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
}

.btn-sm[b-6vyk7fv9g7] {
    padding: 4px 12px;
    font-size: 0.85rem;
}

/* ---- Counters ---- */
.jobmon-counters[b-6vyk7fv9g7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.counter[b-6vyk7fv9g7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 10px;
    border-left: 5px solid #9ca3af;
    background: #f8fafc;
}

.counter-num[b-6vyk7fv9g7] { font-size: 1.9rem; font-weight: 800; line-height: 1; }
.counter-lbl[b-6vyk7fv9g7] { margin-top: 6px; font-size: 0.85rem; color: #4b5563; text-transform: uppercase; letter-spacing: .03em; }

.counter-processing[b-6vyk7fv9g7] { border-left-color: #f59e0b; background: #fffbeb; }
.counter-failed[b-6vyk7fv9g7]     { border-left-color: #dc2626; background: #fef2f2; }
.counter-succeeded[b-6vyk7fv9g7]  { border-left-color: #16a34a; background: #f0fdf4; }
.counter-enqueued[b-6vyk7fv9g7]   { border-left-color: #2563eb; background: #eff6ff; }
.counter-scheduled[b-6vyk7fv9g7]  { border-left-color: #6b7280; background: #f9fafb; }

/* ---- Section titles ---- */
.jobmon-section-title[b-6vyk7fv9g7] {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 18px 0 10px;
    color: #1f2937;
}

/* ---- Recurring jobs ---- */
.recurring-list[b-6vyk7fv9g7] { display: flex; flex-direction: column; gap: 8px; }

.recurring-row[b-6vyk7fv9g7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}

.recurring-info[b-6vyk7fv9g7] { display: flex; flex-direction: column; gap: 3px; }
.recurring-name-row[b-6vyk7fv9g7] { display: flex; align-items: center; gap: 8px; }
.recurring-name[b-6vyk7fv9g7] { font-weight: 700; }
.recurring-meta[b-6vyk7fv9g7] { font-size: 0.8rem; color: #6b7280; }
.recurring-meta code[b-6vyk7fv9g7] { background: #f3f4f6; padding: 1px 5px; border-radius: 4px; }

/* ---- Cards grid ---- */
.jobmon-grid[b-6vyk7fv9g7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

.job-card[b-6vyk7fv9g7] {
    border: 1px solid #e5e7eb;
    border-left: 6px solid #9ca3af;
    border-radius: 10px;
    padding: 14px 16px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.job-card.st-succeeded[b-6vyk7fv9g7] { border-left-color: #16a34a; }
.job-card.st-failed[b-6vyk7fv9g7]     { border-left-color: #dc2626; }
.job-card.st-processing[b-6vyk7fv9g7] { border-left-color: #f59e0b; }
.job-card.st-enqueued[b-6vyk7fv9g7]   { border-left-color: #2563eb; }
.job-card.st-scheduled[b-6vyk7fv9g7]  { border-left-color: #6b7280; }

.job-card-head[b-6vyk7fv9g7] { display: flex; align-items: center; justify-content: space-between; }
.job-id[b-6vyk7fv9g7] { font-family: monospace; color: #6b7280; font-size: 0.85rem; }
.job-name[b-6vyk7fv9g7] { font-weight: 700; font-size: 1rem; }
.job-queue[b-6vyk7fv9g7], .job-args[b-6vyk7fv9g7] { font-size: 0.82rem; color: #4b5563; }
.job-args[b-6vyk7fv9g7] { word-break: break-word; }

.job-metrics[b-6vyk7fv9g7] { font-size: 0.82rem; color: #374151; display: flex; flex-direction: column; gap: 2px; }

.job-error[b-6vyk7fv9g7] {
    font-size: 0.82rem;
    color: #991b1b;
    background: #fef2f2;
    border-radius: 6px;
    padding: 6px 8px;
    word-break: break-word;
}

.job-card-actions[b-6vyk7fv9g7] { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }

/* ---- Status badges ---- */
.status-badge[b-6vyk7fv9g7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #fff;
    background: #9ca3af;
}

.status-badge.st-succeeded[b-6vyk7fv9g7] { background: #16a34a; }
.status-badge.st-failed[b-6vyk7fv9g7]     { background: #dc2626; }
.status-badge.st-processing[b-6vyk7fv9g7] { background: #f59e0b; }
.status-badge.st-enqueued[b-6vyk7fv9g7]   { background: #2563eb; }
.status-badge.st-scheduled[b-6vyk7fv9g7]  { background: #6b7280; }
.status-badge.st-deleted[b-6vyk7fv9g7]    { background: #4b5563; }

.spinner[b-6vyk7fv9g7] {
    width: 10px;
    height: 10px;
    border: 2px solid rgba(255,255,255,.5);
    border-top-color: #fff;
    border-radius: 50%;
    animation: jobmon-spin-b-6vyk7fv9g7 .8s linear infinite;
}

@keyframes jobmon-spin-b-6vyk7fv9g7 { to { transform: rotate(360deg); } }

/* ---- Detail modal ---- */
.jobmon-modal[b-6vyk7fv9g7] { max-width: 720px; width: 90%; max-height: 85vh; overflow-y: auto; }
.jobmon-modal-head[b-6vyk7fv9g7] { display: flex; align-items: center; justify-content: space-between; }
.jobmon-modal-head h3[b-6vyk7fv9g7] { display: flex; align-items: center; gap: 10px; margin: 0; }
.modal-x[b-6vyk7fv9g7] { background: none; border: none; font-size: 1.1rem; cursor: pointer; color: #6b7280; }

.detail-section[b-6vyk7fv9g7] { margin-top: 14px; }
.detail-label[b-6vyk7fv9g7] { font-weight: 700; font-size: 0.85rem; margin-bottom: 4px; color: #374151; }

.detail-code[b-6vyk7fv9g7] {
    background: #0f172a;
    color: #e2e8f0;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.8rem;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
}

.detail-trace[b-6vyk7fv9g7] { max-height: 280px; overflow-y: auto; white-space: pre; }

.timeline[b-6vyk7fv9g7] { display: flex; flex-direction: column; gap: 6px; }
.timeline-row[b-6vyk7fv9g7] { display: flex; align-items: center; gap: 10px; font-size: 0.82rem; }
.timeline-time[b-6vyk7fv9g7] { font-family: monospace; color: #4b5563; }
.timeline-reason[b-6vyk7fv9g7] { color: #6b7280; }
