/* _content/Ayva.Polymorph/Components/AlertRuleEditor.razor.rz.scp.css */
.alert-editor-last[b-ta11bhrnje] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--success-color-5);
    border: 1px solid var(--success-color-30);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--success-color);
}

.alert-editor-wrap .abp-empty[b-ta11bhrnje] {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
}

/* Explicit permission-denied state (NOT the empty state) — in-process dispatch
   moved RBAC in-component, so denial must be visible and named. */
.perm-denied[b-ta11bhrnje] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--warning-color-30, var(--border-color));
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    text-align: center;
}

.perm-denied strong[b-ta11bhrnje] {
    color: var(--warning-color);
}

.perm-denied code[b-ta11bhrnje] {
    font-family: var(--font-mono);
    color: var(--text-primary);
}
/* _content/Ayva.Polymorph/Components/AnalyticsPanel.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════
   Polymorph Intelligence Dashboard — Analytics Panel Styles
   Uses CSS variables from ayva-theme.css exclusively
   ═══════════════════════════════════════════════════════════════════ */

.analytics[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-md);
    min-height: 400px;
}

/* ── Loading & Empty States ── */

.analytics-loading[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    min-height: 300px;
}

.analytics-loading-text[b-rfopyhovti] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-family: var(--font-mono);
}

.analytics-empty[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    min-height: 300px;
    color: var(--text-muted);
    font-size: var(--text-sm);
}

/* ═══════════════════════════════════════════════════════════════════
   KPI Summary Row — Top-level metrics
   ═══════════════════════════════════════════════════════════════════ */

.kpi-row[b-rfopyhovti] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-md);
}

.kpi-card[b-rfopyhovti] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    position: relative;
    overflow: hidden;
    animation: cardReveal-b-rfopyhovti var(--transition-smooth) both;
    animation-delay: calc(var(--stagger-delay, 60ms) * var(--stagger, 0));
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.kpi-card:hover[b-rfopyhovti] {
    border-color: var(--border-color-strong);
    box-shadow: var(--glass-card-shadow-hover);
}

/* Accent bar at top */
.kpi-card[b-rfopyhovti]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.kpi-accent[b-rfopyhovti]::before { background: var(--accent-color); }
.kpi-success[b-rfopyhovti]::before { background: var(--success-color); }
.kpi-info[b-rfopyhovti]::before { background: var(--info-color); }
.kpi-warning[b-rfopyhovti]::before { background: var(--warning-color); }
.kpi-purple[b-rfopyhovti]::before { background: var(--secondary-accent); }
.kpi-health[b-rfopyhovti]::before { background: var(--error-color); }

.kpi-icon[b-rfopyhovti] {
    color: var(--text-muted);
    font-size: var(--text-lg);
}

.kpi-body[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
}

.kpi-value[b-rfopyhovti] {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.2;
    font-family: var(--font-mono);
}

.kpi-label[b-rfopyhovti] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.kpi-sub[b-rfopyhovti] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.kpi-trend[b-rfopyhovti] {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 700;
    padding: 2px 6px;
    border-radius: var(--radius-sm);
}

.kpi-trend-up[b-rfopyhovti] {
    color: var(--success-color);
    background: var(--success-color-15);
}

.kpi-trend-flat[b-rfopyhovti] {
    color: var(--warning-color);
    background: var(--warning-color-15);
}

.kpi-trend-down[b-rfopyhovti] {
    color: var(--error-color);
    background: var(--error-color-15);
}

/* Stagger animation delays */
.stagger-1[b-rfopyhovti] { --stagger: 1; }
.stagger-2[b-rfopyhovti] { --stagger: 2; }
.stagger-3[b-rfopyhovti] { --stagger: 3; }
.stagger-4[b-rfopyhovti] { --stagger: 4; }
.stagger-5[b-rfopyhovti] { --stagger: 5; }
.stagger-6[b-rfopyhovti] { --stagger: 6; }
.stagger-7[b-rfopyhovti] { --stagger: 7; }
.stagger-8[b-rfopyhovti] { --stagger: 8; }
.stagger-9[b-rfopyhovti] { --stagger: 9; }
.stagger-10[b-rfopyhovti] { --stagger: 10; }
.stagger-11[b-rfopyhovti] { --stagger: 11; }
.stagger-12[b-rfopyhovti] { --stagger: 12; }
.stagger-13[b-rfopyhovti] { --stagger: 13; }

/* ═══════════════════════════════════════════════════════════════════
   Chart Cards
   ═══════════════════════════════════════════════════════════════════ */

.chart-row[b-rfopyhovti] {
    display: flex;
    gap: var(--space-md);
}

.chart-card[b-rfopyhovti] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    animation: cardReveal-b-rfopyhovti var(--transition-smooth) both;
    animation-delay: calc(var(--stagger-delay, 60ms) * var(--stagger, 0));
    overflow: hidden;
}

.chart-wide[b-rfopyhovti] {
    flex: 2;
    min-width: 0;
}

.chart-narrow[b-rfopyhovti] {
    flex: 1;
    min-width: 220px;
}

.chart-half[b-rfopyhovti] {
    flex: 1;
    min-width: 0;
}

.chart-header[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--space-sm);
}

.chart-title[b-rfopyhovti] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.chart-subtitle[b-rfopyhovti] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.chart-empty[b-rfopyhovti] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    color: var(--text-muted);
    font-size: var(--text-sm);
    font-style: italic;
}

/* ═══════════════════════════════════════════════════════════════════
   Intelligence Section
   ═══════════════════════════════════════════════════════════════════ */

.intel-section[b-rfopyhovti] {
    background: var(--glass-panel);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    padding: var(--space-lg);
    animation: cardReveal-b-rfopyhovti var(--transition-smooth) both;
    animation-delay: calc(var(--stagger-delay, 60ms) * var(--stagger, 0));
}

.intel-header[b-rfopyhovti] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--secondary-accent);
    margin-bottom: var(--space-lg);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.intel-grid[b-rfopyhovti] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-md);
}

.intel-card[b-rfopyhovti] {
    background: var(--white-overlay-03);
    border-radius: var(--radius-md);
    border: 1px solid var(--white-overlay-06);
    padding: var(--space-md);
}

.intel-card-title[b-rfopyhovti] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-md);
}

/* ── Memory Tier Bars ── */

.tier-bars[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.tier-bar[b-rfopyhovti] {
    display: grid;
    grid-template-columns: 70px 1fr 40px;
    align-items: center;
    gap: var(--space-sm);
}

.tier-label[b-rfopyhovti] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.tier-dot[b-rfopyhovti] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.tier-hot[b-rfopyhovti] { background: var(--error-color); box-shadow: 0 0 6px var(--error-color-40); }
.tier-warm[b-rfopyhovti] { background: var(--warning-color); box-shadow: 0 0 6px var(--warning-color-40); }
.tier-cold[b-rfopyhovti] { background: var(--info-color); box-shadow: 0 0 6px var(--info-color-40); }

.tier-track[b-rfopyhovti] {
    height: 6px;
    background: var(--white-overlay-08);
    border-radius: var(--radius-2xs);
    overflow: hidden;
}

.tier-fill[b-rfopyhovti] {
    height: 100%;
    border-radius: var(--radius-2xs);
    transition: width var(--transition-smooth);
}

.tier-fill-hot[b-rfopyhovti] { background: linear-gradient(90deg, var(--error-color), var(--error-text)); }
.tier-fill-warm[b-rfopyhovti] { background: linear-gradient(90deg, var(--warning-color), var(--warning-text)); }
.tier-fill-cold[b-rfopyhovti] { background: linear-gradient(90deg, var(--info-color), var(--info-text)); }

.tier-count[b-rfopyhovti] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-primary);
    text-align: right;
}

/* ── Knowledge Grid ── */

.knowledge-grid[b-rfopyhovti] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
}

.knowledge-item[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-sm);
    background: var(--white-overlay-03);
    border-radius: var(--radius-sm);
}

.knowledge-value[b-rfopyhovti] {
    font-size: var(--text-lg);
    font-weight: 700;
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.knowledge-label[b-rfopyhovti] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Velocity Metrics ── */

.velocity-metrics[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.velocity-row[b-rfopyhovti] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.velocity-label[b-rfopyhovti] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    flex: 1;
}

.velocity-value[b-rfopyhovti] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    font-weight: 600;
    color: var(--text-primary);
}

.velocity-value.accent[b-rfopyhovti] {
    color: var(--accent-color);
}

.relevance-bar[b-rfopyhovti] {
    width: 80px;
    height: 4px;
    background: var(--white-overlay-08);
    border-radius: var(--radius-2xs);
    overflow: hidden;
}

.relevance-fill[b-rfopyhovti] {
    height: 100%;
    background: linear-gradient(90deg, var(--accent-color), var(--secondary-accent));
    border-radius: var(--radius-2xs);
    transition: width var(--transition-smooth);
}

/* ── Performance Gauges (SVG Circles) ── */

.gauge-grid[b-rfopyhovti] {
    display: flex;
    justify-content: space-around;
    gap: var(--space-sm);
}

.gauge[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    position: relative;
}

.gauge-svg[b-rfopyhovti] {
    width: 64px;
    height: 64px;
}

.gauge-track[b-rfopyhovti] {
    fill: none;
    stroke: var(--white-overlay-08);
    stroke-width: 3;
}

.gauge-fill[b-rfopyhovti] {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    transform: rotate(-90deg);
    transform-origin: center;
    transition: stroke-dasharray var(--transition-smooth);
}

.gauge-success[b-rfopyhovti] { stroke: var(--success-color); }
.gauge-info[b-rfopyhovti] { stroke: var(--info-color); }
.gauge-accent[b-rfopyhovti] { stroke: var(--accent-color); }

.gauge-value[b-rfopyhovti] {
    position: absolute;
    top: 22px;
    font-size: var(--text-2xs);
    font-weight: 700;
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.gauge-label[b-rfopyhovti] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════════════════
   Operational Health Strip
   ═══════════════════════════════════════════════════════════════════ */

.health-strip[b-rfopyhovti] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md) var(--space-lg);
    animation: cardReveal-b-rfopyhovti var(--transition-smooth) both;
    animation-delay: calc(var(--stagger-delay, 60ms) * var(--stagger, 0));
}

.health-header[b-rfopyhovti] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-md);
}

.health-updated[b-rfopyhovti] {
    margin-left: auto;
    font-size: var(--text-3xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.health-metrics[b-rfopyhovti] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--space-sm) var(--space-lg);
}

.health-metric[b-rfopyhovti] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.health-metric-label[b-rfopyhovti] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.health-metric-value[b-rfopyhovti] {
    font-size: var(--text-sm);
    font-family: var(--font-mono);
    font-weight: 600;
    color: var(--text-primary);
}

.health-ok[b-rfopyhovti] { color: var(--success-color); }
.health-warn[b-rfopyhovti] { color: var(--warning-color); }
.health-error[b-rfopyhovti] { color: var(--error-color); }

.mode-badge[b-rfopyhovti] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 700;
}

.mode-badge.m0[b-rfopyhovti] { background: rgba(100, 116, 139, 0.2); color: var(--text-muted); }
.mode-badge.m1[b-rfopyhovti] { background: var(--warning-color-20); color: var(--warning-color); }
.mode-badge.m2[b-rfopyhovti] { background: rgba(139, 92, 246, 0.2); color: var(--secondary-accent); }
.mode-badge.m3[b-rfopyhovti] { background: var(--info-color-20); color: var(--info-color); }
.mode-badge.m4[b-rfopyhovti] { background: rgba(139, 92, 246, 0.2); color: var(--accent-color); }
.mode-badge.m5[b-rfopyhovti] { background: var(--success-color-20); color: var(--success-color); }

/* ═══════════════════════════════════════════════════════════════════
   Activity Heatmap
   ═══════════════════════════════════════════════════════════════════ */

.heatmap-section[b-rfopyhovti] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md) var(--space-lg);
    animation: cardReveal-b-rfopyhovti var(--transition-smooth) both;
    animation-delay: calc(var(--stagger-delay, 60ms) * var(--stagger, 0));
}

.heatmap-header[b-rfopyhovti] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-md);
}

.heatmap-subtitle[b-rfopyhovti] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin-left: var(--space-sm);
}

.heatmap-grid[b-rfopyhovti] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-xs);
}

.heatmap-y-labels[b-rfopyhovti] {
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.heatmap-y-label[b-rfopyhovti] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    flex: 1;
    display: flex;
    align-items: center;
    font-family: var(--font-mono);
}

.heatmap-cells[b-rfopyhovti] {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.heatmap-row[b-rfopyhovti] {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    gap: 3px;
}

.heatmap-cell[b-rfopyhovti] {
    aspect-ratio: 1;
    border-radius: var(--radius-2xs);
    cursor: default;
    transition: transform var(--transition-fast);
}

.heatmap-cell:hover[b-rfopyhovti] {
    transform: scale(1.3);
    z-index: 1;
}

.heat-0[b-rfopyhovti] { background: var(--white-overlay-04); }
.heat-1[b-rfopyhovti] { background: var(--accent-color-25); }
.heat-2[b-rfopyhovti] { background: var(--accent-color-45); }
.heat-3[b-rfopyhovti] { background: var(--accent-color-65); }
.heat-4[b-rfopyhovti] { background: var(--accent-color); box-shadow: 0 0 6px var(--accent-color-40); }

.heatmap-x-labels[b-rfopyhovti] {
    grid-column: 2;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    margin-top: var(--space-xs);
}

.heatmap-x-label[b-rfopyhovti] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    text-align: left;
}

.heatmap-legend[b-rfopyhovti] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    justify-content: flex-end;
    margin-top: var(--space-sm);
}

.heatmap-legend-label[b-rfopyhovti] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.heatmap-legend .heatmap-cell[b-rfopyhovti] {
    width: 12px;
    height: 12px;
}

/* ═══════════════════════════════════════════════════════════════════
   Responsive
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .kpi-row[b-rfopyhovti] {
        grid-template-columns: repeat(2, 1fr);
    }

    .chart-row[b-rfopyhovti] {
        flex-direction: column;
    }

    .intel-grid[b-rfopyhovti] {
        grid-template-columns: 1fr;
    }

    .health-metrics[b-rfopyhovti] {
        grid-template-columns: repeat(2, 1fr);
    }

    .heatmap-y-label[b-rfopyhovti] {
        font-size: var(--text-6xs);
    }
}

@media (max-width: 640px) {
    .kpi-row[b-rfopyhovti] {
        grid-template-columns: 1fr;
    }

    .health-metrics[b-rfopyhovti] {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   Animations
   ═══════════════════════════════════════════════════════════════════ */

@keyframes cardReveal-b-rfopyhovti {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .chart-card[b-rfopyhovti],
    .health-strip[b-rfopyhovti],
    .heatmap-section[b-rfopyhovti],
    .intel-section[b-rfopyhovti],
    .kpi-card[b-rfopyhovti] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Forensics/PipelineForensicsTimeline.razor.rz.scp.css */
/* PipelineForensicsTimeline (UI redesign Task 7) — transition-history list.
   Tokens only; .st status pills share the kebab-case state classes PolymorphStatusMaps
   emits across the redesigned surfaces. */

.fx-list[b-c75mzie664] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.fx-item[b-c75mzie664] {
    position: relative;
    padding: var(--space-sm) 0 var(--space-sm) var(--space-lg);
    border-left: 2px solid var(--border-subtle);
}

/* Timeline node dot */
.fx-item[b-c75mzie664]::before {
    content: "";
    position: absolute;
    left: -5px;
    top: calc(var(--space-sm) + 0.4em);
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--accent-color);
    box-shadow: var(--shadow-glow);
}

.fx-item:last-child[b-c75mzie664] { border-left-color: transparent; }

.fx-line[b-c75mzie664] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
}

.fx-time[b-c75mzie664] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.fx-transition[b-c75mzie664] { display: inline-flex; align-items: center; gap: var(--space-xs); }
.fx-arrow[b-c75mzie664] { color: var(--text-muted); }

.fx-caller[b-c75mzie664] {
    margin-left: auto;
    font-size: var(--text-xs);
    color: var(--text-secondary);
    background: var(--glass-subtle);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-full);
    padding: 0 var(--space-sm);
    max-width: 40%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fx-context[b-c75mzie664] {
    margin-top: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Status pills (PolymorphStatusMaps css tokens) ── */
.st[b-c75mzie664] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    padding: 0 var(--space-sm);
    border-radius: var(--radius-full);
    border: 1px solid var(--border-subtle);
    background: var(--glass-subtle);
    color: var(--text-secondary);
    white-space: nowrap;
}
.st-running[b-c75mzie664] { color: var(--success-color); border-color: var(--success-border); background: var(--success-bg); }
.st-completed[b-c75mzie664] { color: var(--info-color); border-color: var(--info-border); background: var(--info-bg); }
.st-merge-verified[b-c75mzie664] { color: var(--success-color); border-color: var(--success-border); background: var(--success-bg); }
.st-failed[b-c75mzie664], .st-rejected[b-c75mzie664] { color: var(--error-color); border-color: var(--error-border); background: var(--error-bg); }
.st-resumable[b-c75mzie664], .st-stuck[b-c75mzie664], .st-attention[b-c75mzie664], .st-blocked[b-c75mzie664], .st-interrupted[b-c75mzie664] { color: var(--warning-color); border-color: var(--warning-border); background: var(--warning-bg); }
.st-queued[b-c75mzie664], .st-skipped[b-c75mzie664], .st-drained[b-c75mzie664], .st-split[b-c75mzie664], .st-expired[b-c75mzie664] { color: var(--text-secondary); }
.st-frozen[b-c75mzie664] { color: var(--info-color); border-color: var(--info-border); background: var(--info-bg); }

/* ── Empty + skeleton ── */
.fx-empty[b-c75mzie664] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-muted);
    font-size: var(--text-sm);
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-md);
}
.fx-empty-icon[b-c75mzie664] { font-size: var(--text-lg); }

.fx-skel-col[b-c75mzie664] { display: flex; flex-direction: column; gap: var(--space-sm); }
.fx-skel[b-c75mzie664] {
    height: 34px;
    border-radius: var(--radius-md);
    background: var(--glass-subtle);
    animation: fx-skel-shimmer-b-c75mzie664 var(--pipeline-shimmer-duration) ease-in-out infinite;
}

@keyframes fx-skel-shimmer-b-c75mzie664 {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .fx-skel[b-c75mzie664] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/GitRollbackPanel.razor.rz.scp.css */
.grp-table[b-unxajltq7g] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.grp-row[b-unxajltq7g] {
    display: grid;
    grid-template-columns: 90px 2.5fr 1fr 1fr 110px;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    transition: var(--transition-fast);
}

.grp-row:hover[b-unxajltq7g] {
    background: var(--bg-hover);
}

.grp-row-head[b-unxajltq7g] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-color);
}

.grp-sha[b-unxajltq7g] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--accent-color);
}

.grp-subject[b-unxajltq7g] {
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.grp-author[b-unxajltq7g], .grp-date[b-unxajltq7g] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.grp-action[b-unxajltq7g] {
    text-align: right;
}

.grp-locked[b-unxajltq7g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    opacity: 0.5;
}

.grp-status[b-unxajltq7g] {
    font-size: var(--text-xs);
    color: var(--warning-color);
}

.grp-denied[b-unxajltq7g] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-lg) var(--space-md);
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.grp-denied code[b-unxajltq7g] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.grp-wrap .abp-empty[b-unxajltq7g] {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
}

@media (max-width: 640px) {
    .grp-row[b-unxajltq7g] {
        grid-template-columns: 70px 1.6fr 0.8fr 90px;
    }
    .grp-date[b-unxajltq7g] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .grp-row[b-unxajltq7g] { transition: none; }
}
/* _content/Ayva.Polymorph/Components/MasterDocumentViewer.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────────────────
   MasterDocumentViewer — Isolated styles
   Uses CSS variables from ayva-theme.css exclusively
   ───────────────────────────────────────────────────────────────────── */

.mdv[b-lsimwwevbi] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    font-family: var(--font-primary, inherit);
}

/* ── Header ── */
.mdv-header[b-lsimwwevbi] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) var(--space-xl);
    background: var(--pipeline-glass-surface);
    border-radius: var(--radius-md, 8px);
    border: 1px solid var(--border-color, var(--white-overlay-10));
}

.mdv-title[b-lsimwwevbi] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-weight: 600;
    color: var(--text-primary);
}

.mdv-version[b-lsimwwevbi] {
    font-size: var(--text-xs);
    color: var(--text-muted, var(--white-overlay-50));
    background: var(--pipeline-glass-elevated);
    padding: 2px 6px;
    border-radius: var(--radius-sm, 4px);
}

.mdv-meta[b-lsimwwevbi] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.mdv-correlation[b-lsimwwevbi] {
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs-plus);
    color: var(--accent-color);
}

.mdv-branch[b-lsimwwevbi] {
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs);
    color: var(--text-muted, var(--white-overlay-50));
    background: var(--pipeline-glass-elevated);
    padding: 2px 6px;
    border-radius: var(--radius-sm, 4px);
}

/* ── Navigation ── */
.mdv-nav[b-lsimwwevbi] {
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
    padding: var(--space-xs);
    background: var(--pipeline-glass-surface);
    border-radius: var(--radius-md, 8px);
}

.mdv-nav-btn[b-lsimwwevbi] {
    padding: var(--space-xs) var(--space-sm);
    border: 1px solid var(--border-color, var(--white-overlay-10));
    border-radius: var(--radius-sm, 4px);
    background: transparent;
    color: var(--text-secondary, var(--white-overlay-70));
    cursor: pointer;
    font-size: var(--text-xs-plus);
    transition: var(--transition-fast, 0.15s ease);
    position: relative;
}

.mdv-nav-btn:hover[b-lsimwwevbi] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.mdv-nav-btn.active[b-lsimwwevbi] {
    background: var(--accent-color);
    color: var(--text-white);
    border-color: var(--accent-color);
}

.mdv-nav-btn.empty[b-lsimwwevbi] {
    opacity: 0.5;
}

.mdv-nav-dot[b-lsimwwevbi] {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--success-color);
    margin-left: 4px;
    vertical-align: middle;
}

/* ── Content Area ── */
.mdv-content[b-lsimwwevbi] {
    background: var(--pipeline-glass-surface);
    border: 1px solid var(--border-color, var(--white-overlay-10));
    border-radius: var(--radius-md, 8px);
    padding: var(--space-xl);
    min-height: 200px;
}

.mdv-section[b-lsimwwevbi] {
    color: var(--text-primary);
}

.mdv-section h3[b-lsimwwevbi] {
    color: var(--text-primary);
    margin: 0 0 var(--space-sm) 0;
    font-size: var(--text-lg);
    border-bottom: 1px solid var(--border-color, var(--white-overlay-10));
    padding-bottom: var(--space-xs);
}

.mdv-section h4[b-lsimwwevbi] {
    color: var(--text-secondary, var(--white-overlay-70));
    margin: var(--space-sm) 0 var(--space-xs) 0;
    font-size: var(--text-sm-plus);
}

.mdv-empty-section[b-lsimwwevbi] {
    color: var(--text-muted, var(--white-overlay-40));
    font-style: italic;
}

/* ── Fields ── */
.mdv-field[b-lsimwwevbi] {
    margin-bottom: var(--space-xs);
}

.mdv-field label[b-lsimwwevbi] {
    display: inline-block;
    font-size: var(--text-xs-plus);
    color: var(--text-muted, var(--white-overlay-50));
    min-width: 80px;
    font-weight: 600;
}

.mdv-row[b-lsimwwevbi] {
    display: flex;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

/* ── Pipeline Plan Table ── */
.mdv-table[b-lsimwwevbi] {
    display: grid;
    gap: 1px;
    background: var(--border-color, var(--white-overlay-10));
    border-radius: var(--radius-sm, 4px);
    overflow: hidden;
}

.mdv-table-head[b-lsimwwevbi] {
    display: grid;
    grid-template-columns: 40px 60px 1fr 120px 120px;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    background: var(--pipeline-glass-elevated);
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--text-muted, var(--white-overlay-50));
    text-transform: uppercase;
}

.mdv-table-row[b-lsimwwevbi] {
    display: grid;
    grid-template-columns: 40px 60px 1fr 120px 120px;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    background: var(--pipeline-glass-surface);
    font-size: var(--text-sm);
    align-items: center;
}

.mdv-table-row.phase-running[b-lsimwwevbi] {
    background: var(--accent-color-10);
    border-left: 3px solid var(--accent-color);
}

.mdv-table-row.phase-completed[b-lsimwwevbi] {
    opacity: 0.85;
}

.mdv-table-row.phase-failed[b-lsimwwevbi] {
    background: var(--error-color-light);
    border-left: 3px solid var(--error-color);
}

.mdv-dynamic[b-lsimwwevbi] {
    font-size: var(--text-2xs);
    color: var(--warning-color);
}

/* ── Step Progress ── */
.mdv-step-progress[b-lsimwwevbi] {
    background: var(--pipeline-glass-surface);
    border: 1px solid var(--border-color, var(--white-overlay-10));
    border-radius: var(--radius-sm, 4px);
    padding: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.mdv-step-progress.st-running[b-lsimwwevbi] {
    border-left: 3px solid var(--accent-color);
}

.mdv-step-progress.st-failed[b-lsimwwevbi] {
    border-left: 3px solid var(--error-color);
}

.mdv-step-header[b-lsimwwevbi] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.mdv-step-type[b-lsimwwevbi] {
    font-size: var(--text-xs);
    color: var(--text-muted, var(--white-overlay-50));
    background: var(--pipeline-glass-elevated);
    padding: 1px 6px;
    border-radius: var(--radius-sm, 4px);
}

.mdv-step-duration[b-lsimwwevbi] {
    font-size: var(--text-xs);
    color: var(--text-muted, var(--white-overlay-50));
    margin-left: auto;
}

.mdv-eval[b-lsimwwevbi] {
    font-size: var(--text-sm);
    margin-top: var(--space-xs);
    color: var(--text-secondary, var(--white-overlay-70));
}

.mdv-error[b-lsimwwevbi] {
    font-size: var(--text-sm);
    color: var(--error-color);
    margin-top: var(--space-xs);
    padding: var(--space-xs);
    background: var(--error-color-light);
    border-radius: var(--radius-sm, 4px);
}

.mdv-files summary[b-lsimwwevbi] {
    cursor: pointer;
    color: var(--text-muted, var(--white-overlay-50));
    font-size: var(--text-xs-plus);
}

.mdv-files ul[b-lsimwwevbi] {
    padding-left: var(--space-xl);
    margin: var(--space-xs) 0;
}

.mdv-files code[b-lsimwwevbi] {
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs-plus);
}

/* ── Failures ── */
.mdv-failure-summary[b-lsimwwevbi] {
    color: var(--text-muted, var(--white-overlay-50));
    font-size: var(--text-sm);
    margin-bottom: var(--space-sm);
}

.mdv-failure[b-lsimwwevbi] {
    padding: var(--space-xs) var(--space-sm);
    margin-bottom: var(--space-xs);
    border-radius: var(--radius-sm, 4px);
    font-size: var(--text-sm);
}

.mdv-failure.sev-critical[b-lsimwwevbi] { background: var(--error-color-light); border-left: 3px solid var(--error-color); }
.mdv-failure.sev-major[b-lsimwwevbi] { background: var(--warning-color-light); border-left: 3px solid var(--warning-color); }
.mdv-failure.sev-minor[b-lsimwwevbi] { background: var(--pipeline-glass-surface); border-left: 3px solid var(--text-muted, var(--white-overlay-30)); }

.mdv-resolved[b-lsimwwevbi] {
    color: var(--success-color);
    font-weight: 600;
    margin-left: var(--space-xs);
}

/* ── Agent Requests ── */
.mdv-request[b-lsimwwevbi] {
    padding: var(--space-sm);
    border: 1px solid var(--border-color, var(--white-overlay-10));
    border-radius: var(--radius-sm, 4px);
    margin-bottom: var(--space-xs);
}

.mdv-request.processed[b-lsimwwevbi] { opacity: 0.7; }

.mdv-request-header[b-lsimwwevbi] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
}

.mdv-priority[b-lsimwwevbi] {
    font-size: var(--text-2xs);
    padding: 1px 4px;
    border-radius: var(--radius-sm, 4px);
    background: var(--pipeline-glass-elevated);
}

.mdv-priority.p-critical[b-lsimwwevbi] { background: var(--error-color-light); color: var(--error-color); }
.mdv-priority.p-high[b-lsimwwevbi] { background: var(--warning-color-light); color: var(--warning-color); }

.mdv-disposition[b-lsimwwevbi] {
    font-size: var(--text-xs);
    color: var(--success-color);
    margin-left: auto;
}

/* ── Report ── */
.mdv-report-outcome[b-lsimwwevbi] {
    font-size: var(--text-xl);
    font-weight: 700;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm, 4px);
    display: inline-block;
    margin-bottom: var(--space-sm);
}

.mdv-report-outcome.out-completed[b-lsimwwevbi] { color: var(--success-color); background: var(--success-color-light); }
.mdv-report-outcome.out-failed[b-lsimwwevbi] { color: var(--error-color); background: var(--error-color-light); }
.mdv-report-outcome.out-aborted[b-lsimwwevbi] { color: var(--warning-color); background: var(--warning-color-light); }

/* ── Risk ── */
.mdv-risk[b-lsimwwevbi] { font-weight: 600; }
.mdv-risk.r-1[b-lsimwwevbi], .mdv-risk.r-2[b-lsimwwevbi] { color: var(--success-color); }
.mdv-risk.r-3[b-lsimwwevbi] { color: var(--warning-color); }
.mdv-risk.r-4[b-lsimwwevbi], .mdv-risk.r-5[b-lsimwwevbi] { color: var(--error-color); }

.mdv-risk-entry[b-lsimwwevbi] {
    padding: var(--space-xs) var(--space-sm);
    margin-bottom: var(--space-xs);
    border-radius: var(--radius-sm, 4px);
    font-size: var(--text-sm);
}

/* ── Design Decisions ── */
.mdv-decision[b-lsimwwevbi] {
    padding: var(--space-xs) var(--space-sm);
    border-left: 2px solid var(--accent-color);
    margin-bottom: var(--space-sm);
}

/* ── Markdown View ── */
.mdv-markdown-pre[b-lsimwwevbi] {
    background: var(--pipeline-glass-elevated);
    border: 1px solid var(--border-color, var(--white-overlay-10));
    border-radius: var(--radius-sm, 4px);
    padding: var(--space-xl);
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs-plus);
    color: var(--text-secondary, var(--white-overlay-70));
    white-space: pre-wrap;
    word-break: break-word;
    overflow-x: auto;
    max-height: 600px;
    overflow-y: auto;
}

/* ── Loading / Empty States ── */
.mdv-loading[b-lsimwwevbi] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-lg);
}

.mdv-empty[b-lsimwwevbi] {
    padding: var(--space-3xl);
    text-align: center;
    color: var(--text-muted, var(--white-overlay-40));
    font-style: italic;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .mdv-header[b-lsimwwevbi] {
        flex-direction: column;
        gap: var(--space-xs);
    }

    .mdv-table-head[b-lsimwwevbi],
    .mdv-table-row[b-lsimwwevbi] {
        grid-template-columns: 30px 40px 1fr;
    }

    .mdv-table-head > span:nth-child(4)[b-lsimwwevbi],
    .mdv-table-head > span:nth-child(5)[b-lsimwwevbi],
    .mdv-table-row > span:nth-child(4)[b-lsimwwevbi],
    .mdv-table-row > span:nth-child(5)[b-lsimwwevbi] {
        display: none;
    }

    .mdv-row[b-lsimwwevbi] {
        flex-direction: column;
    }
}

/* ── Loading shimmer (replaces the spinner; reduced-motion gated below) ── */
.mdv-skel[b-lsimwwevbi] {
    border-radius: var(--radius-sm);
    background: linear-gradient(90deg,
        var(--white-overlay-04) 25%,
        var(--white-overlay-08) 50%,
        var(--white-overlay-04) 75%);
    background-size: 200% 100%;
    animation: mdv-shimmer-b-lsimwwevbi var(--pipeline-shimmer-duration) ease-in-out infinite;
}
.mdv-skel-title[b-lsimwwevbi] { height: 1.2rem; width: 40%; }
.mdv-skel-block[b-lsimwwevbi] { height: 4.5rem; width: 100%; }
.mdv-skel-dim[b-lsimwwevbi] { opacity: 0.55; }
@keyframes mdv-shimmer-b-lsimwwevbi {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .mdv-skel[b-lsimwwevbi] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/MemoryPanel.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   Memory Panel — Polymorph Engine Memory Management
   ═══════════════════════════════════════════════════════════════ */

.mem[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.5rem; }

/* ── Sub-Navigation ── */
.mem-tabs[b-5le05xzyue] { display: flex; background: var(--bg-secondary); border-radius: var(--radius-md); padding: 2px; }
.mem-tab[b-5le05xzyue] { flex: 1; padding: 0.35rem; border: none; background: none; color: var(--text-secondary); font-size: var(--text-2xs); font-weight: 600; cursor: pointer; border-radius: var(--radius-sm); text-align: center; transition: all var(--transition-fast); font-family: var(--font-primary); }
.mem-tab:hover[b-5le05xzyue] { color: var(--text-primary); background: var(--white-overlay-04); }
.mem-tab.sel[b-5le05xzyue] { color: var(--text-primary); background: var(--white-overlay-06); border-bottom: 2px solid var(--accent-color); }

/* ── Common ── */
.card[b-5le05xzyue] { background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 0.75rem; }
.card-title[b-5le05xzyue] { font-size: var(--text-2xs); font-weight: 700; color: var(--text-primary); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.03em; opacity: 0.7; }
.mem-empty[b-5le05xzyue] { color: var(--text-muted); font-size: var(--text-2xs); padding: 1.5rem; text-align: center; }

/* ── Tier Gauge Strip ── */
.mem-tiers[b-5le05xzyue] { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.5rem; }
.mem-tier-card[b-5le05xzyue] { background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 0.6rem; position: relative; overflow: hidden; }
.mem-tier-val[b-5le05xzyue] { font-size: var(--text-2xl); font-weight: 700; color: var(--text-primary); font-family: var(--font-mono); }
.mem-tier-label[b-5le05xzyue] { font-size: var(--text-3xs); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.1rem; }
.mem-tier-bar[b-5le05xzyue] { position: absolute; bottom: 0; left: 0; height: 3px; border-radius: 0 0 var(--radius-md) 0; transition: width 0.5s ease; }
.mem-tier-bar.hot[b-5le05xzyue] { background: var(--error-color); }
.mem-tier-bar.warm[b-5le05xzyue] { background: var(--info-color); }
.mem-tier-bar.cold[b-5le05xzyue] { background: var(--text-muted); }

/* ── Overview Grid ── */
.mem-overview-grid[b-5le05xzyue] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }

/* ── Category Bars ── */
.mem-cat-bars[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.35rem; }
.mem-cat-row[b-5le05xzyue] { display: flex; align-items: center; gap: 0.4rem; }
.mem-cat-track[b-5le05xzyue] { flex: 1; height: 6px; background: var(--bg-secondary); border-radius: var(--radius-2xs); overflow: hidden; }
.mem-cat-fill[b-5le05xzyue] { height: 100%; border-radius: var(--radius-2xs); transition: width 0.4s ease; }
.mem-cat-fill.action[b-5le05xzyue] { background: var(--accent-color); }
.mem-cat-fill.observation[b-5le05xzyue] { background: var(--info-color); }
.mem-cat-fill.lesson[b-5le05xzyue] { background: var(--success-color); }
.mem-cat-fill.pattern[b-5le05xzyue] { background: var(--secondary-accent); }
.mem-cat-fill.failure[b-5le05xzyue] { background: var(--error-color); }
.mem-cat-fill.decision[b-5le05xzyue] { background: var(--warning-color); }
.mem-cat-fill.prunerecord[b-5le05xzyue] { background: var(--text-muted); }
.mem-cat-count[b-5le05xzyue] { font-size: var(--text-3xs); color: var(--text-secondary); font-family: var(--font-mono); min-width: 2ch; text-align: right; }

/* ── Badges ── */
.mem-tier[b-5le05xzyue], .mem-cat[b-5le05xzyue], .mem-index-period[b-5le05xzyue] { display: inline-block; font-size: var(--text-4xs); font-weight: 600; padding: 0.1rem 0.35rem; border-radius: var(--radius-sm); text-transform: uppercase; letter-spacing: 0.04em; }
.mem-tier.hot[b-5le05xzyue] { background: var(--error-color-15); color: var(--error-color); }
.mem-tier.warm[b-5le05xzyue] { background: var(--info-color-15); color: var(--info-color); }
.mem-tier.cold[b-5le05xzyue] { background: rgba(100,116,139,0.15); color: var(--text-muted); }
.mem-cat.action[b-5le05xzyue] { background: var(--accent-color-12); color: var(--accent-color); }
.mem-cat.observation[b-5le05xzyue] { background: var(--info-color-12); color: var(--info-color); }
.mem-cat.lesson[b-5le05xzyue] { background: var(--success-color-12); color: var(--success-color); }
.mem-cat.pattern[b-5le05xzyue] { background: rgba(139,92,246,0.12); color: var(--secondary-accent); }
.mem-cat.failure[b-5le05xzyue] { background: var(--error-color-12); color: var(--error-color); }
.mem-cat.decision[b-5le05xzyue] { background: var(--warning-color-12); color: var(--warning-color); }
.mem-cat.prunerecord[b-5le05xzyue] { background: rgba(100,116,139,0.1); color: var(--text-muted); }

.mem-index-period.hour[b-5le05xzyue] { background: var(--accent-color-12); color: var(--accent-color); }
.mem-index-period.day[b-5le05xzyue] { background: var(--success-color-12); color: var(--success-color); }
.mem-index-period.week[b-5le05xzyue] { background: var(--warning-color-12); color: var(--warning-color); }
.mem-index-period.month[b-5le05xzyue] { background: rgba(139,92,246,0.12); color: var(--secondary-accent); }

/* ── Health Grid ── */
.mem-health-grid[b-5le05xzyue] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem; }
.mem-health-item[b-5le05xzyue] { display: flex; justify-content: space-between; padding: 0.25rem 0; border-bottom: 1px solid var(--border-subtle); }
.mem-health-label[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-secondary); }
.mem-health-val[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-primary); font-family: var(--font-mono); }
.mem-health-val.on[b-5le05xzyue] { color: var(--success-color); }
.mem-health-val.off[b-5le05xzyue] { color: var(--error-color); }

/* ── Broad View ── */
.mem-broad-text[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-secondary); line-height: 1.6; white-space: pre-wrap; word-break: break-word; background: var(--bg-secondary); padding: 0.6rem; border-radius: var(--radius-sm); font-family: var(--font-primary); margin: 0; max-height: 300px; overflow-y: auto; }

/* ── Index List (Overview) ── */
.mem-index-list[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.4rem; }
.mem-index-item[b-5le05xzyue] { padding: 0.5rem; border-bottom: 1px solid var(--border-subtle); }
.mem-index-item:last-child[b-5le05xzyue] { border-bottom: none; }
.mem-index-header[b-5le05xzyue] { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.25rem; }
.mem-index-date[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-secondary); font-family: var(--font-mono); }
.mem-index-meta[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--text-muted); margin-left: auto; }
.mem-index-summary[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-primary); line-height: 1.5; }
.mem-index-topics[b-5le05xzyue] { display: flex; gap: 0.25rem; flex-wrap: wrap; margin-top: 0.25rem; }

.mem-tag[b-5le05xzyue] { font-size: var(--text-4xs); padding: 0.08rem 0.3rem; background: var(--accent-color-10); color: var(--accent-light); border-radius: var(--radius-sm); }

/* ── Browser ── */
.mem-filters[b-5le05xzyue] { display: flex; gap: 0.4rem; align-items: center; flex-wrap: wrap; padding: 0.5rem; background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-md); }
.mem-search[b-5le05xzyue] { flex: 1; min-width: 150px; background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.35rem 0.5rem; color: var(--text-primary); font-size: var(--text-2xs); font-family: var(--font-primary); outline: none; transition: border-color var(--transition-fast); }
.mem-search:focus[b-5le05xzyue] { border-color: var(--border-focus); }
.mem-search[b-5le05xzyue]::placeholder { color: var(--text-muted); }
.mem-select[b-5le05xzyue] { background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.35rem 0.4rem; color: var(--text-primary); font-size: var(--text-2xs); font-family: var(--font-primary); cursor: pointer; }
.mem-result-count[b-5le05xzyue] { font-size: var(--text-3xs); color: var(--text-muted); margin-left: auto; }

.mem-browser[b-5le05xzyue] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }

.mem-list[b-5le05xzyue] { max-height: 600px; overflow-y: auto; display: flex; flex-direction: column; gap: 0.25rem; }
.mem-item[b-5le05xzyue] { padding: 0.5rem; background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-sm); cursor: pointer; transition: all var(--transition-fast); }
.mem-item:hover[b-5le05xzyue] { border-color: var(--accent-color); background: var(--accent-color-3); }
.mem-item.sel[b-5le05xzyue] { border-color: var(--accent-color); background: var(--accent-color-6); box-shadow: 0 0 8px var(--accent-color-15); }
.mem-item-header[b-5le05xzyue] { display: flex; gap: 0.3rem; align-items: center; margin-bottom: 0.2rem; }
.mem-item-date[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--text-muted); margin-left: auto; font-family: var(--font-mono); }
.mem-item-summary[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-primary); line-height: 1.4; }
.mem-item-meta[b-5le05xzyue] { display: flex; align-items: center; gap: 0.4rem; margin-top: 0.3rem; }
.mem-item-access[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--text-muted); font-family: var(--font-mono); }

.mem-relevance-bar[b-5le05xzyue] { flex: 1; height: 4px; background: var(--bg-secondary); border-radius: var(--radius-2xs); overflow: hidden; }
.mem-relevance-fill[b-5le05xzyue] { height: 100%; border-radius: var(--radius-2xs); background: var(--accent-color); transition: width 0.3s ease; }

/* ── Detail Panel ── */
.mem-detail[b-5le05xzyue] { background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 0.75rem; max-height: 600px; overflow-y: auto; }
.mem-detail-header[b-5le05xzyue] { display: flex; gap: 0.3rem; align-items: center; margin-bottom: 0.5rem; }
.mem-detail-id[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--text-muted); font-family: var(--font-mono); margin-left: auto; }
.mem-detail-content[b-5le05xzyue] { font-size: var(--text-xs); color: var(--text-secondary); line-height: 1.6; padding: 0.6rem; background: var(--bg-secondary); border-radius: var(--radius-sm); margin: 0.5rem 0; white-space: pre-wrap; word-break: break-word; }
.mem-detail-tags[b-5le05xzyue] { display: flex; gap: 0.25rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
.mem-detail-meta[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.2rem; }
.mem-meta-row[b-5le05xzyue] { display: flex; justify-content: space-between; font-size: var(--text-2xs); padding: 0.2rem 0; border-bottom: 1px solid var(--border-subtle); }
.mem-meta-row span:first-child[b-5le05xzyue] { color: var(--text-secondary); }
.mem-meta-row span:last-child[b-5le05xzyue] { color: var(--text-primary); font-family: var(--font-mono); }
.mem-meta-row.warn span:last-child[b-5le05xzyue] { color: var(--warning-color); }

/* ── Buttons ── */
.mem-btn[b-5le05xzyue] { background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.35rem 0.6rem; color: var(--text-primary); font-size: var(--text-2xs); cursor: pointer; font-family: var(--font-primary); transition: all var(--transition-fast); }
.mem-btn:hover:not(:disabled)[b-5le05xzyue] { border-color: var(--accent-color); background: var(--accent-color-10); }
.mem-btn:disabled[b-5le05xzyue] { opacity: 0.4; cursor: not-allowed; }
.mem-btn-primary[b-5le05xzyue] { background: var(--accent-color-15); border-color: var(--accent-color); color: var(--accent-light); }
.mem-btn-primary:hover:not(:disabled)[b-5le05xzyue] { background: var(--accent-color-25); }
.mem-btn-danger[b-5le05xzyue] { background: var(--error-color-10); border-color: var(--error-color); color: var(--error-color); margin-top: 0.5rem; }
.mem-btn-danger:hover:not(:disabled)[b-5le05xzyue] { background: var(--error-color-20); }
.mem-load-more[b-5le05xzyue] { width: 100%; text-align: center; margin-top: 0.25rem; }

/* ── Timeline ── */
.mem-timeline[b-5le05xzyue] { display: flex; flex-direction: column; padding: 0.25rem 0; }
.mem-tl-sep[b-5le05xzyue] { display: flex; align-items: center; gap: 0.5rem; margin: 0.75rem 0 0.25rem; opacity: 0.4; font-size: var(--text-3xs); text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-secondary); }
.mem-tl-sep[b-5le05xzyue]::before, .mem-tl-sep[b-5le05xzyue]::after { content: ''; flex: 1; height: 1px; background: var(--border-color); }
.mem-tl-entry[b-5le05xzyue] { display: flex; gap: 0.6rem; padding: 0.4rem 0; }
.mem-tl-dot[b-5le05xzyue] { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--border-color); flex-shrink: 0; margin-top: 0.25rem; }
.mem-tl-dot.hour[b-5le05xzyue] { border-color: var(--accent-color); background: var(--accent-color-15); }
.mem-tl-dot.day[b-5le05xzyue] { border-color: var(--success-color); background: var(--success-color-15); }
.mem-tl-dot.week[b-5le05xzyue] { border-color: var(--warning-color); background: var(--warning-color-15); }
.mem-tl-dot.month[b-5le05xzyue] { border-color: var(--secondary-accent); background: rgba(139,92,246,0.15); }
.mem-tl-line[b-5le05xzyue] { width: 1px; background: var(--border-subtle); }
.mem-tl-content[b-5le05xzyue] { flex: 1; }
.mem-tl-header[b-5le05xzyue] { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.2rem; }
.mem-tl-date[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-secondary); font-family: var(--font-mono); }
.mem-tl-meta[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--text-muted); }
.mem-tl-pruned[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--error-color); }
.mem-tl-summary[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-primary); line-height: 1.5; }

/* ── Maintenance ── */
.mem-maint-grid[b-5le05xzyue] { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.mem-maint-actions[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.4rem; }
.mem-maint-desc[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-muted); margin: 0; }

.mem-config-grid[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.4rem; }
.mem-config-row[b-5le05xzyue] { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.mem-config-row label[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-secondary); }
.mem-input[b-5le05xzyue] { background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: 0.3rem 0.4rem; color: var(--text-primary); font-size: var(--text-2xs); font-family: var(--font-mono); width: 80px; text-align: right; }
.mem-input:focus[b-5le05xzyue] { outline: none; border-color: var(--border-focus); }

.mem-toggle[b-5le05xzyue] { width: 42px; height: 22px; border-radius: var(--radius-lg); border: 2px solid var(--border-color); background: var(--bg-secondary); cursor: pointer; position: relative; transition: all var(--transition-fast); }
.mem-toggle[b-5le05xzyue]::after { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--text-muted); transition: all var(--transition-fast); }
.mem-toggle.on[b-5le05xzyue] { border-color: var(--success-color); background: var(--success-color-15); }
.mem-toggle.on[b-5le05xzyue]::after { left: calc(100% - 16px); background: var(--success-color); }

/* ── Pruning History ── */
.mem-prune-list[b-5le05xzyue] { display: flex; flex-direction: column; gap: 0.35rem; }
.mem-prune-item[b-5le05xzyue] { padding: 0.4rem 0; border-bottom: 1px solid var(--border-subtle); }
.mem-prune-item:last-child[b-5le05xzyue] { border-bottom: none; }
.mem-prune-date[b-5le05xzyue] { font-size: var(--text-4xs); color: var(--text-muted); font-family: var(--font-mono); margin-right: 0.4rem; }
.mem-prune-summary[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-primary); }
.mem-prune-detail summary[b-5le05xzyue] { font-size: var(--text-3xs); color: var(--text-muted); cursor: pointer; margin-top: 0.2rem; }
.mem-prune-content[b-5le05xzyue] { font-size: var(--text-2xs); color: var(--text-secondary); line-height: 1.5; background: var(--bg-secondary); padding: 0.5rem; border-radius: var(--radius-sm); margin-top: 0.2rem; white-space: pre-wrap; font-family: var(--font-primary); }

/* ── Responsive ── */
@media (max-width: 1100px) {
    .mem-overview-grid[b-5le05xzyue] { grid-template-columns: 1fr; }
    .mem-browser[b-5le05xzyue] { grid-template-columns: 1fr; }
    .mem-detail[b-5le05xzyue] { max-height: 400px; }
    .mem-maint-grid[b-5le05xzyue] { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .mem-tiers[b-5le05xzyue] { grid-template-columns: 1fr; }
    .mem-filters[b-5le05xzyue] { flex-direction: column; }
    .mem-search[b-5le05xzyue] { min-width: auto; width: 100%; }
    .mem-health-grid[b-5le05xzyue] { grid-template-columns: 1fr; }
}
/* _content/Ayva.Polymorph/Components/PipelineDagView.razor.rz.scp.css */
.dag-scroll[b-4eee1xmcmu] {
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--bg-secondary);
    padding: var(--space-sm);
    scroll-behavior: smooth;
}

.dag-scroll:focus-visible[b-4eee1xmcmu] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.dag-svg[b-4eee1xmcmu] {
    display: block;
    font-family: var(--font-primary);
}

.dag-node-shape[b-4eee1xmcmu] {
    stroke-width: 1.5;
    transition: var(--transition-fast);
}

.dag-node-order[b-4eee1xmcmu] {
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
    fill: var(--text-muted);
    font-weight: var(--font-semibold);
    letter-spacing: 0.04em;
}

.dag-node-type[b-4eee1xmcmu] {
    font-size: var(--text-2xs);
    fill: var(--text-secondary);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.dag-node-name[b-4eee1xmcmu] {
    font-size: var(--text-xs);
    fill: var(--text-primary);
    font-weight: var(--font-medium);
}

.dag-node-status[b-4eee1xmcmu] {
    font-family: var(--font-mono);
    font-size: var(--text-base);
    font-weight: var(--font-bold);
}

/* ── Status colors ─────────────────────────────────── */

.dag-node-completed .dag-node-shape[b-4eee1xmcmu] {
    fill: var(--success-color-15);
    stroke: var(--success-color);
}
.dag-node-completed .dag-node-status[b-4eee1xmcmu] { fill: var(--success-color); }

.dag-node-running .dag-node-shape[b-4eee1xmcmu] {
    fill: var(--accent-color-15);
    stroke: var(--accent-color);
}
.dag-node-running .dag-node-status[b-4eee1xmcmu] {
    fill: var(--accent-color);
    animation: dag-pulse-b-4eee1xmcmu 2s ease-in-out infinite;
}

.dag-node-failed .dag-node-shape[b-4eee1xmcmu] {
    fill: var(--error-color-15);
    stroke: var(--error-color);
}
.dag-node-failed .dag-node-status[b-4eee1xmcmu] { fill: var(--error-color); }

.dag-node-skipped .dag-node-shape[b-4eee1xmcmu] {
    fill: var(--white-overlay-05);
    stroke: var(--border-color);
    opacity: 0.6;
}
.dag-node-skipped .dag-node-status[b-4eee1xmcmu] { fill: var(--text-muted); }

.dag-node-blocked .dag-node-shape[b-4eee1xmcmu] {
    fill: var(--warning-color-15);
    stroke: var(--warning-color);
}
.dag-node-blocked .dag-node-status[b-4eee1xmcmu] { fill: var(--warning-color); }

.dag-node-pending .dag-node-shape[b-4eee1xmcmu] {
    fill: var(--white-overlay-03);
    stroke: var(--border-color);
}
.dag-node-pending .dag-node-status[b-4eee1xmcmu] { fill: var(--text-muted); }

/* ── Edges ─────────────────────────────────────────── */

.dag-edge.main[b-4eee1xmcmu] {
    stroke: var(--accent-color-50);
    stroke-width: 2;
}

.dag-edge.remediation[b-4eee1xmcmu] {
    stroke: var(--warning-color-50);
    stroke-width: 1.5;
    stroke-dasharray: 4 3;
}

/* ── Legend ────────────────────────────────────────── */

.dag-legend[b-4eee1xmcmu] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    padding: var(--space-xs) var(--space-sm);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.dag-legend-item[b-4eee1xmcmu] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
}

.dag-swatch[b-4eee1xmcmu] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: var(--radius-2xs);
    border: 1px solid currentColor;
}

.dag-legend-item.dag-node-completed .dag-swatch[b-4eee1xmcmu] { background: var(--success-color-30); border-color: var(--success-color); }
.dag-legend-item.dag-node-running .dag-swatch[b-4eee1xmcmu]   { background: var(--accent-color-30);  border-color: var(--accent-color); }
.dag-legend-item.dag-node-pending .dag-swatch[b-4eee1xmcmu]   { background: var(--white-overlay-10); border-color: var(--border-color); }
.dag-legend-item.dag-node-failed .dag-swatch[b-4eee1xmcmu]    { background: var(--error-color-30);   border-color: var(--error-color); }
.dag-legend-item.dag-node-skipped .dag-swatch[b-4eee1xmcmu]   { background: var(--white-overlay-10); border-color: var(--border-color); opacity: 0.6; }
.dag-legend-item.dag-node-blocked .dag-swatch[b-4eee1xmcmu]   { background: var(--warning-color-30); border-color: var(--warning-color); }

.dag-wrap .abp-empty[b-4eee1xmcmu] {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
}

@keyframes dag-pulse-b-4eee1xmcmu {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@media (prefers-reduced-motion: reduce) {
    .dag-node-running .dag-node-status[b-4eee1xmcmu],
    .dag-node-shape[b-4eee1xmcmu] {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 640px) {
    .dag-legend[b-4eee1xmcmu] {
        font-size: var(--text-3xs);
        gap: var(--space-sm);
    }
}
/* _content/Ayva.Polymorph/Components/PipelineDiffViewer.razor.rz.scp.css */
.pdv-refs[b-u8b7xlslmj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.pdv-ref[b-u8b7xlslmj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--space-xs);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
}

.pdv-ref-base[b-u8b7xlslmj] {
    color: var(--text-secondary);
    background: var(--white-overlay-05);
}

.pdv-ref-head[b-u8b7xlslmj] {
    color: var(--accent-color);
    background: var(--accent-color-10);
}

.pdv-diff[b-u8b7xlslmj] {
    display: block;
    background: var(--black-overlay-20);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: var(--space-sm);
    margin: 0;
    overflow: auto;
    max-height: 640px;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    line-height: 1.55;
    white-space: pre;
    color: var(--text-secondary);
    tab-size: 4;
}

.pdv-diff:focus-visible[b-u8b7xlslmj] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.pdv-diff[b-u8b7xlslmj]  .pdv-line-file {
    display: block;
    color: var(--warning-color);
    font-weight: var(--font-semibold);
    background: var(--warning-color-5);
    padding: 1px 4px;
    margin-top: var(--space-xs);
}

.pdv-diff[b-u8b7xlslmj]  .pdv-line-hunk {
    display: block;
    color: var(--info-color);
    background: var(--info-color-5);
    padding: 1px 4px;
}

.pdv-diff[b-u8b7xlslmj]  .pdv-line-add {
    display: block;
    color: var(--success-color);
    background: var(--success-color-5);
}

.pdv-diff[b-u8b7xlslmj]  .pdv-line-del {
    display: block;
    color: var(--error-color);
    background: var(--error-color-5);
}

.pdv-diff[b-u8b7xlslmj]  .pdv-line-ctx {
    display: block;
    color: var(--text-muted);
}

.pdv-diff[b-u8b7xlslmj]  .pdv-line-stat {
    display: block;
    color: var(--text-secondary);
}

.pdv-wrap .abp-empty[b-u8b7xlslmj] {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
}

@media (max-width: 640px) {
    .pdv-diff[b-u8b7xlslmj] {
        font-size: var(--text-3xs);
        max-height: 440px;
    }
}
/* _content/Ayva.Polymorph/Components/PipelineTeamRoster.razor.rz.scp.css */
.team-roster[b-rj4zi6v4kz] {
    display: flex;
    gap: var(--space-md);
    padding: var(--space-md);
    overflow-x: auto;
    margin-bottom: var(--space-lg);
}

.team-member-node[b-rj4zi6v4kz] {
    flex-shrink: 0;
    min-width: 180px;
    max-width: 220px;
    padding: var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    transition: var(--transition-smooth);
    position: relative;
}

.team-member-node[b-rj4zi6v4kz]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--member-color, var(--accent-color));
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.team-member-node.active[b-rj4zi6v4kz] {
    border-color: var(--member-color, var(--accent-color));
    box-shadow: 0 0 20px color-mix(in srgb, var(--member-color, var(--accent-color)) 30%, transparent);
    transform: translateY(-2px);
}

.team-member-node.completed[b-rj4zi6v4kz] {
    opacity: 0.8;
}

.team-member-node.idle[b-rj4zi6v4kz] {
    opacity: 0.6;
}

.team-member-name[b-rj4zi6v4kz] {
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-primary);
    margin-bottom: var(--space-xs);
}

.team-member-tags[b-rj4zi6v4kz] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: var(--space-sm);
}

.team-member-tag[b-rj4zi6v4kz] {
    font-size: var(--text-3xs);
    padding: 1px 6px;
    border-radius: var(--radius-full);
    background: var(--bg-hover);
    color: var(--text-secondary);
}

.team-member-progress[b-rj4zi6v4kz] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.team-member-progress-bar[b-rj4zi6v4kz] {
    height: 3px;
    background: var(--bg-hover);
    border-radius: var(--radius-full);
    margin-top: 4px;
    overflow: hidden;
}

.team-member-progress-fill[b-rj4zi6v4kz] {
    height: 100%;
    background: var(--member-color, var(--accent-color));
    border-radius: var(--radius-full);
    transition: width var(--transition-smooth);
}

.team-status-check[b-rj4zi6v4kz] {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    color: var(--success-color);
    font-size: var(--text-sm);
}

@keyframes memberPulse-b-rj4zi6v4kz {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 0.8; }
}

.team-member-node.idle[b-rj4zi6v4kz] {
    animation: memberPulse-b-rj4zi6v4kz 2s ease-in-out infinite;
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .team-member-node.idle[b-rj4zi6v4kz] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/PolicyEditor.razor.rz.scp.css */
.policy-status-bar[b-ewohjuqwsv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
}

.policy-status[b-ewohjuqwsv] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    flex-wrap: wrap;
}

.policy-status strong[b-ewohjuqwsv] {
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.policy-status-live[b-ewohjuqwsv] {
    color: var(--success-color);
}

.policy-status-live strong[b-ewohjuqwsv] {
    color: var(--success-color);
}

.policy-status-informational[b-ewohjuqwsv] {
    color: var(--warning-color);
}

.policy-status-informational strong[b-ewohjuqwsv] {
    color: var(--warning-color);
}

.policy-status-readonly[b-ewohjuqwsv] {
    color: var(--warning-color);
}

.policy-status-readonly strong[b-ewohjuqwsv] {
    color: var(--warning-color);
}

.policy-status-readonly code[b-ewohjuqwsv] {
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.policy-editor-wrap .abp-empty[b-ewohjuqwsv] {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
}

/* Explicit permission-denied state (NOT the empty state) — in-process dispatch
   moved RBAC in-component, so denial must be visible and named. */
.perm-denied[b-ewohjuqwsv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--warning-color-30, var(--border-color));
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    text-align: center;
}

.perm-denied strong[b-ewohjuqwsv] {
    color: var(--warning-color);
}

.perm-denied code[b-ewohjuqwsv] {
    font-family: var(--font-mono);
    color: var(--text-primary);
}
/* _content/Ayva.Polymorph/Components/PolymorphPanel.razor.rz.scp.css */
/* Polymorphism Engine Panel */
.poly[b-zipfdephoz] { width: 100%; max-width: 1600px; margin: 0 auto; padding: 0.5rem; box-sizing: border-box; }

/* ── Keep-alive tab host (UI redesign Task 2) ──
   Mounted tabs are CSS-hidden, never unmounted — cross-tab state survives switches.
   .poly is a plain block container, so a block wrapper is layout-neutral (avoids the
   display:contents + ARIA-role semantics quirk). */
.pmtab-panel[b-zipfdephoz] { display: block; }
.pmtab-panel.pmtab-hidden[b-zipfdephoz] { display: none; }
h3[b-zipfdephoz] { font-size: var(--text-xs-plus); font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.6; margin: 0 0 0.5rem; }
h3 small[b-zipfdephoz] { font-weight: 400; text-transform: none; letter-spacing: 0; }
.muted[b-zipfdephoz] { opacity: 0.4; font-size: var(--text-2xs); }
.empty[b-zipfdephoz] { text-align: center; padding: 3rem; opacity: 0.3; }

/* ── Cards ── */
.card[b-zipfdephoz] { background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 0.75rem; }
.card-warn[b-zipfdephoz] { border-color: var(--warning-color); }

/* ── Top Bar ── */
.topbar[b-zipfdephoz] { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.75rem; background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-lg); flex-wrap: wrap; }
.topbar.on[b-zipfdephoz] { border-color: var(--success-color); box-shadow: 0 0 12px var(--success-color-5); }
.topbar-id[b-zipfdephoz] { display: flex; flex-direction: column; }
.topbar-title[b-zipfdephoz] { font-weight: 700; font-size: var(--text-base); }
.topbar-sub[b-zipfdephoz] { font-size: var(--text-3xs); font-family: var(--font-mono); opacity: 0.5; display: flex; gap: 0.3rem; align-items: center; }
.x-badge[b-zipfdephoz] { font-size: var(--text-5xs); font-weight: 700; padding: 0.05rem 0.25rem; border-radius: var(--radius-2xs); background: var(--accent-color-20); color: var(--accent-color); animation: pulse-b-zipfdephoz 1.5s infinite; }
@keyframes pulse-b-zipfdephoz { 0%,100%{opacity:1} 50%{opacity:0.3} }

/* Power */
.pwr[b-zipfdephoz] { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--border-color); background: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; flex-shrink: 0; }
.pwr:disabled[b-zipfdephoz] { opacity: 0.2; cursor: not-allowed; }
.pwr.on[b-zipfdephoz] { border-color: var(--success-color); box-shadow: 0 0 8px var(--success-color-30); }
.pwr.on:hover:not(:disabled)[b-zipfdephoz] { border-color: var(--error-color); box-shadow: 0 0 8px var(--error-color-30); }
.pwr.off[b-zipfdephoz] { opacity: 0.4; } .pwr.off:hover:not(:disabled)[b-zipfdephoz] { opacity: 1; border-color: var(--success-color); }
.pwr-ico[b-zipfdephoz] { width: 14px; height: 14px; border: 2px solid currentColor; border-radius: 50%; border-top-color: transparent; position: relative; }
.pwr-ico[b-zipfdephoz]::after { content: ''; position: absolute; top: -4px; left: 50%; transform: translateX(-50%); width: 2px; height: 7px; background: currentColor; border-radius: var(--radius-2xs); }
.pwr.on .pwr-ico[b-zipfdephoz] { color: var(--success-color); }
.pwr.off .pwr-ico[b-zipfdephoz] { color: var(--text-secondary); }

/* Mode selector */
.modes[b-zipfdephoz] { display: flex; background: var(--bg-secondary); border-radius: var(--radius-md); padding: 2px; margin-left: auto; }
.mode[b-zipfdephoz] { display: flex; flex-direction: column; align-items: center; width: 64px; padding: 0.2rem 0; border: none; background: none; color: var(--text-secondary); border-radius: var(--radius-sm); cursor: pointer; opacity: 0.25; transition: all 0.15s; }
.mode:hover:not(:disabled)[b-zipfdephoz] { opacity: 0.5; background: var(--white-overlay-03); }
.mode:disabled[b-zipfdephoz] { opacity: 0.08; cursor: not-allowed; }
.mode.sel[b-zipfdephoz] { opacity: 1; color: var(--text-primary); background: var(--white-overlay-05); }
.mode b[b-zipfdephoz] { font-size: var(--text-sm); font-family: var(--font-mono); line-height: 1; }
.mode small[b-zipfdephoz] { font-size: var(--text-7xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; }
.mode.sel.m0[b-zipfdephoz] { border-bottom: 2px solid var(--text-secondary); }
.mode.sel.m1[b-zipfdephoz] { border-bottom: 2px solid var(--warning-color); } .mode.sel.m1 b[b-zipfdephoz] { color: var(--warning-color); }
.mode.sel.m2[b-zipfdephoz] { border-bottom: 2px solid var(--secondary-accent); } .mode.sel.m2 b[b-zipfdephoz] { color: var(--secondary-accent); }
.mode.sel.m3[b-zipfdephoz] { border-bottom: 2px solid var(--info-color); } .mode.sel.m3 b[b-zipfdephoz] { color: var(--info-color); }
.mode.sel.m4[b-zipfdephoz] { border-bottom: 2px solid var(--accent-color); } .mode.sel.m4 b[b-zipfdephoz] { color: var(--accent-color); }
.mode.sel.m5[b-zipfdephoz] { border-bottom: 2px solid var(--success-color); } .mode.sel.m5 b[b-zipfdephoz] { color: var(--success-color); }

/* Git */
.git[b-zipfdephoz] { display: flex; align-items: center; gap: 0.2rem; }
.git code[b-zipfdephoz] { font-family: var(--font-mono); font-size: var(--text-3xs); padding: 0.1rem 0.4rem; background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-sm); opacity: 0.6; }

/* ── Auth Badge ── */
.auth-badge[b-zipfdephoz] { display: flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.5rem; border-radius: var(--radius-sm); font-size: var(--text-3xs); font-weight: 600; border: 1px solid var(--border-color); margin-left: auto; }
.auth-badge.auth-subscription[b-zipfdephoz] { border-color: var(--auth-sub-color); background: color-mix(in srgb, var(--info-color) 8%, transparent); color: var(--auth-sub-color); }
.auth-badge.auth-apikey[b-zipfdephoz] { border-color: var(--auth-api-color); background: var(--warning-color-8); color: var(--auth-api-color); }
.auth-badge.auth-none[b-zipfdephoz] { border-color: var(--auth-none-color); background: var(--error-color-8); color: var(--auth-none-color); }
.auth-warn[b-zipfdephoz] { font-size: var(--text-2xs); color: var(--warning-color); padding: 0.3rem 0.75rem; margin: 0.25rem 0; background: var(--warning-color-5); border: 1px solid var(--warning-color-15); border-radius: var(--radius-sm); }
.auth-warn code[b-zipfdephoz] { font-family: var(--font-mono); color: var(--accent-color); background: var(--black-overlay-20); padding: 0 0.2rem; border-radius: var(--radius-2xs); }

/* ── Tabs ── */
.tabs[b-zipfdephoz] { display: flex; background: var(--bg-secondary); border-radius: var(--radius-md); padding: 2px; margin: 0.5rem 0; }
.tab[b-zipfdephoz] { flex: 1; padding: 0.4rem; border: none; background: none; color: var(--text-secondary); font-size: var(--text-2xs); font-weight: 600; cursor: pointer; border-radius: var(--radius-sm); text-align: center; transition: all 0.15s; }
.tab:hover[b-zipfdephoz] { color: var(--text-primary); background: var(--white-overlay-03); }
.tab.sel[b-zipfdephoz] { color: var(--text-primary); background: var(--white-overlay-06); border-bottom: 2px solid var(--accent-color); }

/* ── Modal ── */
.mdl-bg[b-zipfdephoz] { position: fixed; inset: 0; background: var(--black-overlay-50); display: flex; align-items: center; justify-content: center; z-index: 1000; }
.mdl[b-zipfdephoz] { background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 1.5rem; min-width: 340px; max-width: 90vw; }
.mdl code[b-zipfdephoz] { color: var(--accent-color); }

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .x-badge[b-zipfdephoz] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/PolymorphReports.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════
   Polymorph Execution Reports — List + Detail + Live Pipeline View
   Uses CSS variables from ayva-theme.css exclusively
   ═══════════════════════════════════════════════════════════════════ */

.reports[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-md);
    min-height: 400px;
}

/* ── Loading & Empty States ── */

.reports-loading[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-height: 300px;
}

/* Shimmer skeleton — header bar + report rows (reduced-motion gated below) */
.rp-skel[b-lr1zbxf4pp] {
    border-radius: var(--radius-md);
    background: linear-gradient(90deg,
        var(--white-overlay-04) 25%,
        var(--white-overlay-08) 50%,
        var(--white-overlay-04) 75%);
    background-size: 200% 100%;
    animation: rp-shimmer-b-lr1zbxf4pp var(--pipeline-shimmer-duration) ease-in-out infinite;
}
.rp-skel-header[b-lr1zbxf4pp] { height: 2.4rem; width: 45%; }
.rp-skel-row[b-lr1zbxf4pp] { height: 4.2rem; opacity: calc(1 - var(--rp-i, 0) * 0.18); }
@keyframes rp-shimmer-b-lr1zbxf4pp {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.reports-loading-text[b-lr1zbxf4pp] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-family: var(--font-mono);
}

.reports-empty[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    min-height: 300px;
    padding: var(--space-xl);
}

.empty-title[b-lr1zbxf4pp] {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 600;
}

.empty-sub[b-lr1zbxf4pp] {
    color: var(--text-muted);
    font-size: var(--text-sm);
    text-align: center;
    max-width: 400px;
}

/* ═══════════════════════════════════════════════════════════════════
   LIVE PIPELINE BANNER — Shows in list view when pipeline is executing
   ═══════════════════════════════════════════════════════════════════ */

.live-banner[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    background: linear-gradient(135deg, var(--accent-color-12), rgba(139, 92, 246, 0.08));
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--accent-color-40);
    padding: var(--space-md);
    cursor: pointer;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
    text-align: left;
    width: 100%;
    color: inherit;
    font: inherit;
    min-width: 0;
    overflow: hidden;
}

.live-banner:hover[b-lr1zbxf4pp] {
    border-color: var(--accent-color);
    box-shadow: 0 0 20px var(--accent-color-15);
    transform: translateY(-1px);
}

.live-banner-top[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
}

.live-banner-badge[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--accent-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
}

.live-banner-directive[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.live-banner-arrow[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--accent-color);
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.live-banner-bar[b-lr1zbxf4pp] {
    height: 4px;
    background: var(--bg-primary);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.live-banner-bar-fill[b-lr1zbxf4pp] {
    height: 100%;
    background: var(--accent-gradient);
    border-radius: var(--radius-full);
    transition: width var(--transition-smooth);
    min-width: 2px;
}

.live-banner-meta[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* ── Pulse Animation ── */

.pulse-dot[b-lr1zbxf4pp] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--accent-color);
    animation: pulseDot-b-lr1zbxf4pp 1.5s ease-in-out infinite;
    flex-shrink: 0;
}

@keyframes pulseDot-b-lr1zbxf4pp {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 var(--accent-color-40); }
    50% { opacity: 0.7; box-shadow: 0 0 0 6px transparent; }
}

/* ═══════════════════════════════════════════════════════════════════
   LIST VIEW — Header, Summary, Cards, Pagination
   ═══════════════════════════════════════════════════════════════════ */

.list[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

/* ── List Header ── */

.list-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.list-title-row[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.list-title[b-lr1zbxf4pp] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.list-count[b-lr1zbxf4pp] {
    background: var(--accent-color-20);
    color: var(--accent-light);
    font-size: var(--text-xs);
    font-weight: 700;
    padding: var(--space-2xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-family: var(--font-mono);
    min-width: 28px;
    text-align: center;
}

/* ── Summary Stats Row ── */

.summary-row[b-lr1zbxf4pp] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
}

.summary-card[b-lr1zbxf4pp] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    min-width: 0;
    overflow: hidden;
}

.summary-card:hover[b-lr1zbxf4pp] {
    border-color: var(--border-color-strong);
    box-shadow: var(--glass-card-shadow-hover);
}

[b-lr1zbxf4pp] .summary-icon {
    color: var(--accent-color);
    flex-shrink: 0;
}

.summary-body[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.summary-value[b-lr1zbxf4pp] {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-mono);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.summary-label[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Report Cards ── */

.report-cards[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.report-card[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md);
    cursor: pointer;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
    animation: rp-card-enter-b-lr1zbxf4pp var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
    text-align: left;
    width: 100%;
    color: inherit;
    font: inherit;
    min-width: 0;
    overflow: hidden;
}

.report-card:hover[b-lr1zbxf4pp] {
    border-color: var(--accent-color-40);
    box-shadow: var(--glass-card-shadow-hover);
    transform: translateY(-1px);
}

.rc-top[b-lr1zbxf4pp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
    min-width: 0;
}

.rc-summary[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-primary);
    line-height: 1.4;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.rc-time[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    white-space: nowrap;
    flex-shrink: 0;
    font-family: var(--font-mono);
}

.rc-badges[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
    min-width: 0;
}

.rc-duration[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    margin-left: auto;
}

.rc-chips[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    min-width: 0;
}

.rc-chip[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.rc-cost[b-lr1zbxf4pp] {
    color: var(--success-text);
}

/* Deep link → pipeline inspector (span[role=button] — the card itself is a button) */
.rc-open-pipeline[b-lr1zbxf4pp] {
    color: var(--accent-light);
    padding: var(--space-2xs) var(--space-xs);
    border: 1px solid var(--accent-color-25);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.rc-open-pipeline:hover[b-lr1zbxf4pp],
.rc-open-pipeline:focus-visible[b-lr1zbxf4pp] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-40);
    outline: none;
}

/* ── Status chips (PolymorphStatusMaps CssClass tokens — Task 6) ── */

.st[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 700;
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.st-queued[b-lr1zbxf4pp] { background: var(--white-overlay-08); color: var(--text-secondary); }
.st-running[b-lr1zbxf4pp] { background: var(--accent-color-15); color: var(--accent-light); }
.st-completed[b-lr1zbxf4pp] { background: var(--success-color-20); color: var(--success-text); }
.st-failed[b-lr1zbxf4pp] { background: var(--error-color-light); color: var(--error-text); }
.st-resumable[b-lr1zbxf4pp], .st-stuck[b-lr1zbxf4pp], .st-attention[b-lr1zbxf4pp] { background: var(--warning-color-light); color: var(--warning-text); }
.st-merge-verified[b-lr1zbxf4pp] { background: var(--success-color-20); color: var(--success-text); border: 1px solid var(--success-border); }

.st-live[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

/* ── Shared Badges ── */

.risk-badge[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 700;
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    white-space: nowrap;
}

.r-1[b-lr1zbxf4pp] { background: var(--success-color-20); color: var(--success-text); }
.r-2[b-lr1zbxf4pp] { background: var(--info-color-light); color: var(--info-text); }
.r-3[b-lr1zbxf4pp] { background: var(--warning-color-light); color: var(--warning-text); }
.r-4[b-lr1zbxf4pp] { background: color-mix(in srgb, var(--highlight-orange) 15%, transparent); color: var(--highlight-orange); }
.r-5[b-lr1zbxf4pp] { background: var(--error-color-light); color: var(--error-text); }

.status-badge[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 600;
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    white-space: nowrap;
}

.status-success[b-lr1zbxf4pp] { background: var(--success-color-20); color: var(--success-text); }
.status-failed[b-lr1zbxf4pp] { background: var(--error-color-light); color: var(--error-text); }
.status-partial[b-lr1zbxf4pp] { background: var(--warning-color-light); color: var(--warning-text); }
.status-approved[b-lr1zbxf4pp] { background: var(--accent-color-15); color: var(--accent-light); }
.status-rejected[b-lr1zbxf4pp] { background: var(--warning-color-light); color: var(--warning-text); }
.status-executing[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    background: var(--accent-color-15);
    color: var(--accent-light);
}

/* ── Correlation ID Chip ── */

.correlation-chip[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
    background: var(--bg-primary);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-subtle);
}

/* ── Pagination ── */

.pagination[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    padding: var(--space-md) 0;
}

.page-btn[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-family: var(--font-mono);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.page-btn:hover:not(:disabled)[b-lr1zbxf4pp] {
    background: var(--bg-hover);
    color: var(--text-primary);
    border-color: var(--accent-color-40);
}

.page-btn:disabled[b-lr1zbxf4pp] {
    opacity: 0.3;
    cursor: not-allowed;
}

.page-active[b-lr1zbxf4pp] {
    background: var(--accent-color-20);
    color: var(--accent-light);
    border-color: var(--accent-color-40);
}

/* ═══════════════════════════════════════════════════════════════════
   DETAIL VIEW — Full report drill-down
   ═══════════════════════════════════════════════════════════════════ */

.detail[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

/* ── Detail Header ── */

.detail-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
}

.detail-back[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
    flex-shrink: 0;
}

.detail-back:hover[b-lr1zbxf4pp] {
    background: var(--bg-hover);
    color: var(--text-primary);
    border-color: var(--accent-color-40);
}

.detail-title-block[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.detail-title[b-lr1zbxf4pp] {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.4;
    word-break: break-word;
}

.detail-meta-chips[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════════
   FAILURE BANNER — Prominent error display for failed pipelines
   ═══════════════════════════════════════════════════════════════════ */

.failure-banner[b-lr1zbxf4pp] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--error-color-light);
    border: 1px solid var(--error-border);
    border-radius: var(--radius-md);
    border-left: 4px solid var(--error-color);
}

[b-lr1zbxf4pp] .failure-banner > .mud-icon-root {
    color: var(--error-color);
    flex-shrink: 0;
    margin-top: 2px;
}

.failure-banner-content[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    min-width: 0;
}

.failure-banner-title[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--error-text);
}

.failure-banner-detail[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1.5;
    word-break: break-word;
}

/* ── Hero Metrics Strip ── */

.hero-metrics[b-lr1zbxf4pp] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
}

.hero-card[b-lr1zbxf4pp] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md) var(--space-lg);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
    overflow: hidden;
}

[b-lr1zbxf4pp] .hero-icon {
    color: var(--accent-color);
    flex-shrink: 0;
}

.hero-body[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.hero-value[b-lr1zbxf4pp] {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--text-primary);
    font-family: var(--font-mono);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hero-value small[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-muted);
    font-weight: 400;
}

.hero-label[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Charts ── */

.chart-row[b-lr1zbxf4pp] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--space-md);
}

.chart-card[b-lr1zbxf4pp] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md);
    min-width: 0;
    overflow: hidden;
}

.chart-header[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin-bottom: var(--space-sm);
}

.chart-title[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.chart-subtitle[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.chart-empty[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    color: var(--text-muted);
    font-size: var(--text-sm);
}

/* ═══════════════════════════════════════════════════════════════════
   SECTION CARDS — Collapsible glassmorphism containers
   ═══════════════════════════════════════════════════════════════════ */

.section-card[b-lr1zbxf4pp] {
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    padding: var(--space-md);
    min-width: 0;
    overflow: hidden;
}

.section-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-md);
}

/* Clickable collapsible section header */
.section-header-toggle[b-lr1zbxf4pp] {
    width: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast);
    padding: var(--space-2xs);
    margin: calc(-1 * var(--space-2xs));
    margin-bottom: var(--space-md);
}

.section-header-toggle:hover[b-lr1zbxf4pp] {
    background: var(--bg-hover);
}

.section-toggle-hint[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 400;
    color: var(--text-muted);
    margin-left: auto;
}

.toggle-icon[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    flex-shrink: 0;
    width: 16px;
    text-align: center;
}

.section-empty[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--text-muted);
    font-size: var(--text-sm);
    padding: var(--space-md);
    text-align: center;
    justify-content: center;
}

.section-count[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--text-muted);
    font-family: var(--font-mono);
    background: var(--accent-color-10);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-full);
}

/* ═══════════════════════════════════════════════════════════════════
   FILES CHANGED — Directory-grouped tree layout
   ═══════════════════════════════════════════════════════════════════ */

.files-tree[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.file-dir-group[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
}

.file-dir-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-bottom: 1px solid var(--border-subtle);
}

[b-lr1zbxf4pp] .file-dir-icon {
    color: var(--accent-color);
    flex-shrink: 0;
    font-size: var(--text-base);
}

.file-dir-name[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-weight: 600;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-dir-count[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    background: var(--bg-primary);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-full);
    flex-shrink: 0;
}

.files-list[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.file-row[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    padding-left: var(--space-xl);
    background: var(--bg-primary);
    transition: background var(--transition-fast);
    min-width: 0;
}

.file-row:hover[b-lr1zbxf4pp] {
    background: var(--bg-hover);
}

.file-icon[b-lr1zbxf4pp] {
    width: 22px;
    height: 22px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-sm);
    font-weight: 700;
    font-family: var(--font-mono);
    flex-shrink: 0;
}

.file-icon-created[b-lr1zbxf4pp] {
    background: var(--success-color-20);
    color: var(--success-text);
}

.file-icon-modified[b-lr1zbxf4pp] {
    background: var(--warning-color-light);
    color: var(--warning-text);
}

.file-icon-deleted[b-lr1zbxf4pp] {
    background: var(--error-color-light);
    color: var(--error-text);
}

.file-path[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-primary);
    word-break: break-all;
    flex: 1;
    min-width: 0;
}

.file-diff[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-shrink: 0;
}

.change-badge[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 600;
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    flex-shrink: 0;
}

.change-modified[b-lr1zbxf4pp] { background: var(--warning-color-light); color: var(--warning-text); }
.change-created[b-lr1zbxf4pp] { background: var(--success-color-20); color: var(--success-text); }
.change-deleted[b-lr1zbxf4pp] { background: var(--error-color-light); color: var(--error-text); }

.lines-added[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--success-text);
    white-space: nowrap;
}

.lines-removed[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--error-text);
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════════
   TOOL USAGE — Table layout with distribution bars
   ═══════════════════════════════════════════════════════════════════ */

.tool-table[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
}

.tool-table-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-bottom: 2px solid var(--border-color);
    margin-bottom: var(--space-xs);
}

.tool-table-row[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-bottom: 1px solid var(--border-subtle);
    transition: background var(--transition-fast);
}

.tool-table-row:last-child[b-lr1zbxf4pp] {
    border-bottom: none;
}

.tool-table-row:hover[b-lr1zbxf4pp] {
    background: var(--bg-hover);
}

.tool-table-col[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
}

.tool-col-name[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    color: var(--text-primary);
    width: 120px;
    flex-shrink: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tool-table-header .tool-col-name[b-lr1zbxf4pp] {
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tool-col-count[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    color: var(--text-secondary);
    width: 50px;
    flex-shrink: 0;
    text-align: right;
}

.tool-table-header .tool-col-count[b-lr1zbxf4pp] {
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tool-col-bar[b-lr1zbxf4pp] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    min-width: 0;
}

.tool-table-header .tool-col-bar[b-lr1zbxf4pp] {
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tool-bar-track[b-lr1zbxf4pp] {
    flex: 1;
    height: 8px;
    background: var(--bg-primary);
    border-radius: var(--radius-full);
    overflow: hidden;
    min-width: 0;
}

.tool-bar-fill[b-lr1zbxf4pp] {
    height: 100%;
    background: var(--accent-color);
    border-radius: var(--radius-full);
    transition: width var(--transition-smooth);
    min-width: 2px;
}

.tool-pct[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
    width: 32px;
    flex-shrink: 0;
    text-align: right;
}

/* ── Legacy tool grid (kept for step-level display) ── */

.tool-grid[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.tool-row[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.tool-name[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-primary);
    width: 100px;
    flex-shrink: 0;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tool-count[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    width: 40px;
    flex-shrink: 0;
    text-align: right;
}

/* ═══════════════════════════════════════════════════════════════════
   STEP TIMELINE
   ═══════════════════════════════════════════════════════════════════ */

.step-timeline[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.step-row[b-lr1zbxf4pp] {
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-subtle);
    overflow: hidden;
    transition: border-color var(--transition-fast);
}

.step-row:hover[b-lr1zbxf4pp] {
    border-color: var(--border-color);
}

.step-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    width: 100%;
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-align: left;
    transition: background var(--transition-fast);
    min-width: 0;
}

.step-header:hover[b-lr1zbxf4pp] {
    background: var(--bg-hover);
}

.step-indicator[b-lr1zbxf4pp] {
    width: 22px;
    height: 22px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-xs);
    font-weight: 700;
    flex-shrink: 0;
}

.step-ind-ok[b-lr1zbxf4pp] {
    background: var(--success-color-20);
    color: var(--success-text);
}

.step-ind-fail[b-lr1zbxf4pp] {
    background: var(--error-color-light);
    color: var(--error-text);
}

.step-type-chip[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 600;
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    background: var(--accent-color-15);
    color: var(--accent-light);
    white-space: nowrap;
    flex-shrink: 0;
}

.step-name[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-primary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.step-dur[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    white-space: nowrap;
    flex-shrink: 0;
}

.step-tools[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    white-space: nowrap;
    flex-shrink: 0;
}

.step-expand[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    flex-shrink: 0;
    width: 16px;
    text-align: center;
}

.step-body[b-lr1zbxf4pp] {
    padding: 0 var(--space-md) var(--space-md) var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    border-top: 1px solid var(--border-subtle);
}

.step-output-wrap[b-lr1zbxf4pp],
.step-error-wrap[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.step-output-label[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-top: var(--space-sm);
}

.step-error-label[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--error-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-top: var(--space-sm);
}

.step-output[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    background: var(--bg-primary);
    border-radius: var(--radius-sm);
    padding: var(--space-sm);
    max-height: 300px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    border: 1px solid var(--border-subtle);
}

.step-error[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--error-text);
    background: var(--error-color-light);
    border-radius: var(--radius-sm);
    padding: var(--space-sm);
    max-height: 200px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
    border: 1px solid var(--error-border);
}

.step-no-output[b-lr1zbxf4pp] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    padding: var(--space-sm) 0;
    font-style: italic;
}

/* ── Step Evaluation Display ── */

.step-eval-row[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) 0;
}

.step-eval-badge[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    font-weight: 700;
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 0;
}

.eval-continue[b-lr1zbxf4pp] {
    background: var(--success-color-20);
    color: var(--success-text);
}

.eval-remediate[b-lr1zbxf4pp] {
    background: var(--warning-color-light);
    color: var(--warning-text);
}

.eval-halt[b-lr1zbxf4pp] {
    background: var(--error-color-light);
    color: var(--error-text);
}

.step-eval-rationale[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

/* ── Step Body Sub-sections ── */

.step-report-section[b-lr1zbxf4pp],
.step-files-section[b-lr1zbxf4pp],
.step-tools-section[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.step-section-label[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-top: var(--space-sm);
}

.step-files-list[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.step-file-item[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-2xs) var(--space-sm);
    background: var(--bg-primary);
    min-width: 0;
}

.step-file-path[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    word-break: break-all;
    flex: 1;
    min-width: 0;
}

.step-file-diff[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-shrink: 0;
}

.step-files-count[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
    white-space: nowrap;
    flex-shrink: 0;
}

.step-tools-grid[b-lr1zbxf4pp] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.step-tool-chip[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    background: var(--bg-primary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: var(--space-2xs) var(--space-xs);
}

.step-tool-chip strong[b-lr1zbxf4pp] {
    color: var(--accent-light);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════
   ASSESSMENT PANEL
   ═══════════════════════════════════════════════════════════════════ */

.assess-row[b-lr1zbxf4pp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
}

.assess-card[b-lr1zbxf4pp] {
    background: var(--bg-primary);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-subtle);
    padding: var(--space-md);
    min-width: 0;
    overflow: hidden;
}

.assess-inner-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-sm);
}

.assess-body[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Detail Footer ── */

.detail-footer[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-md);
    background: var(--glass-card-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    flex-wrap: wrap;
    min-width: 0;
}

.footer-info[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    min-width: 0;
}

.footer-label[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.footer-id[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--accent-light);
    background: var(--accent-color-10);
    padding: var(--space-2xs) var(--space-xs);
    border-radius: var(--radius-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

.footer-value[b-lr1zbxf4pp] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    white-space: nowrap;
}

.footer-back[b-lr1zbxf4pp] {
    margin-left: auto;
}

/* ═══════════════════════════════════════════════════════════════════
   LIVE PIPELINE VIEW — Real-time execution tracking
   ═══════════════════════════════════════════════════════════════════ */

/* ── Progress Bar ── */

.live-progress[b-lr1zbxf4pp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.live-progress-header[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.live-progress-label[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.live-progress-pct[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--accent-light);
    font-family: var(--font-mono);
}

.live-progress-track[b-lr1zbxf4pp] {
    height: 6px;
    background: var(--bg-primary);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.live-progress-fill[b-lr1zbxf4pp] {
    height: 100%;
    background: var(--accent-gradient);
    border-radius: var(--radius-full);
    transition: width var(--transition-smooth);
    min-width: 2px;
}

/* ── Step Status Chips ── */

.live-steps-strip[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.live-step-chip[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-2xs) var(--space-sm);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-subtle);
    font-size: var(--text-xs);
    transition: all var(--transition-fast);
}

.live-step-num[b-lr1zbxf4pp] {
    font-family: var(--font-mono);
    font-weight: 700;
    font-size: var(--text-xs);
}

.live-step-name[b-lr1zbxf4pp] {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100px;
}

.ls-completed[b-lr1zbxf4pp] {
    background: var(--success-color-20);
    border-color: var(--success-border);
}

.ls-completed .live-step-num[b-lr1zbxf4pp] {
    color: var(--success-text);
}

.ls-failed[b-lr1zbxf4pp] {
    background: var(--error-color-light);
    border-color: var(--error-border);
}

.ls-failed .live-step-num[b-lr1zbxf4pp] {
    color: var(--error-text);
}

.ls-running[b-lr1zbxf4pp] {
    background: var(--accent-color-15);
    border-color: var(--accent-color-40);
    animation: runningGlow-b-lr1zbxf4pp 1.5s ease-in-out infinite alternate;
}

.ls-running .live-step-num[b-lr1zbxf4pp] {
    color: var(--accent-light);
}

@keyframes runningGlow-b-lr1zbxf4pp {
    from { box-shadow: 0 0 0 0 var(--accent-color-10); }
    to { box-shadow: 0 0 8px 2px var(--accent-color-20); }
}

.ls-skipped[b-lr1zbxf4pp] {
    opacity: 0.5;
}

.ls-skipped .live-step-num[b-lr1zbxf4pp] {
    color: var(--text-muted);
}

/* Map token "queued" replaces the legacy local "pending" class (Task 6) */
.ls-queued[b-lr1zbxf4pp] {
    opacity: 0.4;
}

.ls-queued .live-step-num[b-lr1zbxf4pp] {
    color: var(--text-muted);
}

/* Map tokens the legacy switch collapsed into "pending" */
.ls-blocked[b-lr1zbxf4pp],
.ls-interrupted[b-lr1zbxf4pp] {
    background: var(--warning-color-light);
    border-color: var(--warning-border);
}

.ls-blocked .live-step-num[b-lr1zbxf4pp],
.ls-interrupted .live-step-num[b-lr1zbxf4pp] {
    color: var(--warning-text);
}

/* ── Live Markdown ── */

.live-md-card[b-lr1zbxf4pp] {
    border-color: var(--accent-color-40);
}

.live-md-content[b-lr1zbxf4pp] {
    max-height: 600px;
    overflow-y: auto;
    padding-right: var(--space-xs);
}

.live-md-waiting[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.live-indicator[b-lr1zbxf4pp] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    margin-left: auto;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--accent-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ═══════════════════════════════════════════════════════════════════
   MARKDOWN RENDERED CONTENT — Styles for Markdig HTML output
   All values use CSS variables from ayva-theme.css
   ═══════════════════════════════════════════════════════════════════ */

.md-rendered[b-lr1zbxf4pp] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1.7;
    overflow-wrap: break-word;
    word-break: break-word;
}

.md-rendered-step[b-lr1zbxf4pp] {
    max-height: 600px;
    overflow-y: auto;
    padding-right: var(--space-xs);
}

/* Headings */
[b-lr1zbxf4pp] .md-rendered h1 {
    font-size: var(--text-xl);
    font-weight: var(--font-bold);
    color: var(--text-primary);
    margin: var(--space-lg) 0 var(--space-sm) 0;
    padding-bottom: var(--space-xs);
    border-bottom: 1px solid var(--border-subtle);
    font-family: var(--font-primary);
}

[b-lr1zbxf4pp] .md-rendered h2 {
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin: var(--space-lg) 0 var(--space-sm) 0;
    padding-bottom: var(--space-2xs);
    border-bottom: 1px solid var(--border-subtle);
    font-family: var(--font-primary);
}

[b-lr1zbxf4pp] .md-rendered h3 {
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin: var(--space-md) 0 var(--space-xs) 0;
    font-family: var(--font-primary);
}

[b-lr1zbxf4pp] .md-rendered h4,
[b-lr1zbxf4pp] .md-rendered h5,
[b-lr1zbxf4pp] .md-rendered h6 {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin: var(--space-sm) 0 var(--space-xs) 0;
    font-family: var(--font-primary);
}

/* First heading should not have top margin */
[b-lr1zbxf4pp] .md-rendered > h1:first-child,
[b-lr1zbxf4pp] .md-rendered > h2:first-child,
[b-lr1zbxf4pp] .md-rendered > h3:first-child {
    margin-top: 0;
}

/* Paragraphs */
[b-lr1zbxf4pp] .md-rendered p {
    margin: 0 0 var(--space-sm) 0;
    color: var(--text-secondary);
}

/* Strong / emphasis */
[b-lr1zbxf4pp] .md-rendered strong {
    color: var(--text-primary);
    font-weight: var(--font-semibold);
}

[b-lr1zbxf4pp] .md-rendered em {
    font-style: italic;
    color: var(--text-secondary);
}

/* Links */
[b-lr1zbxf4pp] .md-rendered a {
    color: var(--accent-color);
    text-decoration: none;
    transition: color var(--transition-fast);
}

[b-lr1zbxf4pp] .md-rendered a:hover {
    color: var(--accent-hover);
    text-decoration: underline;
}

/* Lists */
[b-lr1zbxf4pp] .md-rendered ul,
[b-lr1zbxf4pp] .md-rendered ol {
    margin: 0 0 var(--space-sm) 0;
    padding-left: var(--space-2xl);
    color: var(--text-secondary);
}

[b-lr1zbxf4pp] .md-rendered li {
    margin-bottom: var(--space-2xs);
    line-height: 1.6;
}

[b-lr1zbxf4pp] .md-rendered li > p {
    margin-bottom: var(--space-2xs);
}

/* Inline code */
[b-lr1zbxf4pp] .md-rendered code {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    background: var(--bg-primary);
    color: var(--accent-light);
    padding: 0.15em 0.4em;
    border-radius: var(--radius-xs);
    border: 1px solid var(--border-subtle);
}

/* Code blocks */
[b-lr1zbxf4pp] .md-rendered pre {
    background: var(--bg-primary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: var(--space-md);
    margin: 0 0 var(--space-sm) 0;
    overflow-x: auto;
    line-height: 1.5;
}

[b-lr1zbxf4pp] .md-rendered pre code {
    background: transparent;
    border: none;
    padding: 0;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

/* Blockquotes */
[b-lr1zbxf4pp] .md-rendered blockquote {
    border-left: 3px solid var(--accent-color);
    margin: 0 0 var(--space-sm) 0;
    padding: var(--space-xs) var(--space-md);
    background: var(--accent-color-5);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    color: var(--text-secondary);
}

[b-lr1zbxf4pp] .md-rendered blockquote p {
    margin-bottom: var(--space-2xs);
}

[b-lr1zbxf4pp] .md-rendered blockquote p:last-child {
    margin-bottom: 0;
}

/* Tables */
[b-lr1zbxf4pp] .md-rendered table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 var(--space-sm) 0;
    font-size: var(--text-xs);
    overflow-x: auto;
    display: table;
}

[b-lr1zbxf4pp] .md-rendered thead {
    display: table-header-group;
}

[b-lr1zbxf4pp] .md-rendered tbody {
    display: table-row-group;
}

[b-lr1zbxf4pp] .md-rendered tr {
    display: table-row;
}

[b-lr1zbxf4pp] .md-rendered th {
    text-align: left;
    padding: var(--space-xs) var(--space-sm);
    color: var(--text-muted);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: var(--text-xs);
    border-bottom: 2px solid var(--border-color);
    white-space: nowrap;
}

[b-lr1zbxf4pp] .md-rendered td {
    padding: var(--space-xs) var(--space-sm);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    vertical-align: top;
}

[b-lr1zbxf4pp] .md-rendered tr:last-child td {
    border-bottom: none;
}

/* Horizontal rule */
[b-lr1zbxf4pp] .md-rendered hr {
    border: none;
    border-top: 1px solid var(--border-subtle);
    margin: var(--space-md) 0;
}

/* Task lists */
[b-lr1zbxf4pp] .md-rendered .task-list-item {
    list-style: none;
    margin-left: calc(-1 * var(--space-2xl));
    padding-left: var(--space-xs);
}

[b-lr1zbxf4pp] .md-rendered .task-list-item input[type="checkbox"] {
    margin-right: var(--space-xs);
    accent-color: var(--accent-color);
}

/* Images */
[b-lr1zbxf4pp] .md-rendered img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — Stack layouts at smaller viewports
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .summary-row[b-lr1zbxf4pp] {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-metrics[b-lr1zbxf4pp] {
        grid-template-columns: repeat(2, 1fr);
    }

    .chart-row[b-lr1zbxf4pp] {
        grid-template-columns: 1fr;
    }

    .assess-row[b-lr1zbxf4pp] {
        grid-template-columns: 1fr;
    }

    .detail-footer[b-lr1zbxf4pp] {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-back[b-lr1zbxf4pp] {
        margin-left: 0;
        width: 100%;
    }

    .live-steps-strip[b-lr1zbxf4pp] {
        gap: var(--space-2xs);
    }

    .live-step-name[b-lr1zbxf4pp] {
        max-width: 60px;
    }

    .tool-col-name[b-lr1zbxf4pp] {
        width: 80px;
    }
}

@media (max-width: 640px) {
    .summary-row[b-lr1zbxf4pp] {
        grid-template-columns: 1fr;
    }

    .hero-metrics[b-lr1zbxf4pp] {
        grid-template-columns: 1fr;
    }

    .detail-header[b-lr1zbxf4pp] {
        flex-direction: column;
    }

    .step-header[b-lr1zbxf4pp] {
        flex-wrap: wrap;
    }

    .step-name[b-lr1zbxf4pp] {
        width: 100%;
        order: 10;
    }

    .rc-badges[b-lr1zbxf4pp] {
        flex-wrap: wrap;
    }

    .rc-duration[b-lr1zbxf4pp] {
        margin-left: 0;
    }

    .live-banner-top[b-lr1zbxf4pp] {
        flex-wrap: wrap;
    }

    .live-banner-arrow[b-lr1zbxf4pp] {
        margin-left: auto;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════════════════════ */

@keyframes cardReveal-b-lr1zbxf4pp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.report-card[b-lr1zbxf4pp] {
    animation: cardReveal-b-lr1zbxf4pp var(--transition-smooth) both;
}

.report-card:nth-child(1)[b-lr1zbxf4pp] { animation-delay: 0ms; }
.report-card:nth-child(2)[b-lr1zbxf4pp] { animation-delay: 30ms; }
.report-card:nth-child(3)[b-lr1zbxf4pp] { animation-delay: 60ms; }
.report-card:nth-child(4)[b-lr1zbxf4pp] { animation-delay: 90ms; }
.report-card:nth-child(5)[b-lr1zbxf4pp] { animation-delay: 120ms; }
.report-card:nth-child(6)[b-lr1zbxf4pp] { animation-delay: 150ms; }
.report-card:nth-child(7)[b-lr1zbxf4pp] { animation-delay: 180ms; }
.report-card:nth-child(8)[b-lr1zbxf4pp] { animation-delay: 210ms; }
.report-card:nth-child(9)[b-lr1zbxf4pp] { animation-delay: 240ms; }
.report-card:nth-child(10)[b-lr1zbxf4pp] { animation-delay: 270ms; }

/* ── Staggered card entry on tab mount (nth-child cap at 8) ── */
@keyframes rp-card-enter-b-lr1zbxf4pp {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.report-card:nth-child(2)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 1); }
.report-card:nth-child(3)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 2); }
.report-card:nth-child(4)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 3); }
.report-card:nth-child(5)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 4); }
.report-card:nth-child(6)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 5); }
.report-card:nth-child(7)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 6); }
.report-card:nth-child(n+8)[b-lr1zbxf4pp] { animation-delay: calc(var(--pipeline-stagger-delay) * 7); }

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .ls-running[b-lr1zbxf4pp],
    .pulse-dot[b-lr1zbxf4pp],
    .report-card[b-lr1zbxf4pp],
    .rp-skel[b-lr1zbxf4pp] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/ProviderCostChart.razor.rz.scp.css */
.pcc-totals[b-72sexh6a19] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-color);
}

.pcc-total[b-72sexh6a19] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 120px;
}

.pcc-total-label[b-72sexh6a19] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pcc-total-val[b-72sexh6a19] {
    font-family: var(--font-mono);
    font-size: var(--text-xl);
    color: var(--text-primary);
    font-weight: var(--font-semibold);
}

.pcc-chart[b-72sexh6a19] {
    padding-top: var(--space-sm);
}

.pcc-wrap .abp-empty[b-72sexh6a19] {
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-2xl) var(--space-md);
}

@media (max-width: 640px) {
    .pcc-total-val[b-72sexh6a19] {
        font-size: var(--text-lg);
    }
}
/* _content/Ayva.Polymorph/Components/Providers/DataManagementSection.razor.rz.scp.css */
/* DataManagementSection — Config-tab danger zone (T5).
   Glass card consistent with ecd-section; danger accents ONLY via --error-* tokens.
   Severity is never color-only: every warning/refusal line carries an icon. */

.dm[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

/* ── Loading / locked states ── */

.dm-loading[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-lg);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.dm-spinner[b-vvmoodnfo2] {
    width: 20px;
    height: 20px;
    border: 2px solid var(--accent-color-20);
    border-top-color: var(--accent-color);
    border-radius: 50%;
    animation: dm-spin-b-vvmoodnfo2 0.8s linear infinite;
}

@keyframes dm-spin-b-vvmoodnfo2 {
    to { transform: rotate(360deg); }
}

.dm-locked[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-subtle);
    border: 1px solid var(--warning-border, var(--accent-color-15));
    border-radius: var(--radius-lg);
    color: var(--text-muted);
    font-size: var(--text-sm);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

.dm-locked code[b-vvmoodnfo2] {
    background: var(--black-overlay-25);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--accent-light);
}

/* ── Header ── */

.dm-header[b-vvmoodnfo2] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-md);
    flex-wrap: wrap;
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-subtle);
    border: 1px solid var(--error-border);
    border-left: 3px solid var(--error-color);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

.dm-header h2[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--text-primary);
}

.dm-header p[b-vvmoodnfo2] {
    margin: var(--space-xs) 0 0 0;
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.4;
    max-width: 640px;
}

/* ── Category rows ── */

.dm-rows[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.dm-row[b-vvmoodnfo2] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-elevated);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    transition: var(--transition-fast);
}

.dm-row:hover[b-vvmoodnfo2] {
    border-color: var(--accent-color-30);
}

.dm-row-text[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.dm-row-name[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-weight: 600;
    color: var(--text-primary);
    font-size: var(--text-base);
}

.dm-row-desc[b-vvmoodnfo2] {
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.4;
}

.dm-row-desc code[b-vvmoodnfo2],
.dm-confirm-text code[b-vvmoodnfo2] {
    background: var(--black-overlay-25);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--error-text);
}

.dm-row-guard[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--warning-color, var(--text-muted));
}

.dm-row-count[b-vvmoodnfo2] {
    font-family: var(--font-mono);
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
    padding: var(--space-xs) var(--space-md);
    background: var(--black-overlay-25);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-md);
    text-align: right;
    cursor: help;
}

/* ── Remove / wipe buttons — danger via --error-* only ── */

.dm-remove-btn[b-vvmoodnfo2] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 6px var(--space-md);
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    color: var(--error-text);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 500;
    font-family: var(--font-primary);
    transition: var(--transition-fast);
    white-space: nowrap;
}

.dm-remove-btn:hover:not(:disabled)[b-vvmoodnfo2] {
    background: var(--error-color);
    color: var(--text-white);
    border-color: var(--error-color);
    transform: translateY(-1px);
}

.dm-remove-btn:focus-visible[b-vvmoodnfo2] {
    outline: 2px solid var(--error-color);
    outline-offset: 2px;
}

.dm-remove-btn:disabled[b-vvmoodnfo2] {
    opacity: 0.4;
    cursor: not-allowed;
}

.dm-btn-spinner[b-vvmoodnfo2] {
    width: 12px;
    height: 12px;
    border: 2px solid var(--error-border);
    border-top-color: var(--error-text);
    border-radius: 50%;
    animation: dm-spin-b-vvmoodnfo2 0.8s linear infinite;
    flex-shrink: 0;
}

/* ── Divider + danger zone ── */

.dm-divider[b-vvmoodnfo2] {
    border: none;
    border-top: 1px solid var(--error-border);
    margin: var(--space-md) 0;
}

.dm-danger[b-vvmoodnfo2] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--error-color-5, var(--glass-subtle));
    border: 1px solid var(--error-border);
    border-left: 3px solid var(--error-color);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

.dm-danger .dm-row-name[b-vvmoodnfo2] {
    color: var(--error-text);
}

.dm-wipe-all-btn[b-vvmoodnfo2] {
    font-weight: 600;
}

/* ── Typed-confirmation alertdialog ── */

.dm-confirm[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    border-left: 3px solid var(--error-color);
    border-radius: var(--radius-lg);
}

.dm-confirm-text[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
    font-size: var(--text-sm);
    color: var(--text-primary);
    line-height: 1.5;
}

.dm-confirm-notice[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--warning-color, var(--text-muted));
}

.dm-confirm-controls[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.dm-confirm-input[b-vvmoodnfo2] {
    flex: 0 1 220px;
    padding: 6px var(--space-md);
    background: var(--black-overlay-25);
    border: 1px solid var(--error-border);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    transition: var(--transition-fast);
}

.dm-confirm-input:focus[b-vvmoodnfo2] {
    outline: none;
    border-color: var(--error-color);
}

.dm-confirm-execute[b-vvmoodnfo2] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 6px var(--space-md);
    background: var(--error-color);
    border: 1px solid var(--error-color);
    color: var(--text-white);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 600;
    font-family: var(--font-primary);
    transition: var(--transition-fast);
}

.dm-confirm-execute:disabled[b-vvmoodnfo2] {
    opacity: 0.4;
    cursor: not-allowed;
}

.dm-confirm-cancel[b-vvmoodnfo2] {
    padding: 6px var(--space-md);
    background: transparent;
    border: 1px solid var(--accent-color-15);
    color: var(--text-muted);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: var(--text-sm);
    font-family: var(--font-primary);
    transition: var(--transition-fast);
}

.dm-confirm-cancel:hover[b-vvmoodnfo2] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

/* ── Persistent result surface ── */

.dm-result[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-elevated);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

.dm-result-ok[b-vvmoodnfo2] {
    border: 1px solid var(--success-border, var(--accent-color-15));
    border-left: 3px solid var(--success-color);
}

.dm-result-bad[b-vvmoodnfo2] {
    border: 1px solid var(--error-border);
    border-left: 3px solid var(--error-color);
}

.dm-result-head[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
}

.dm-result-dismiss[b-vvmoodnfo2] {
    margin-left: auto;
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: var(--text-lg);
    line-height: 1;
    cursor: pointer;
    padding: 0 var(--space-xs);
    border-radius: var(--radius-sm);
    transition: var(--transition-fast);
}

.dm-result-dismiss:hover[b-vvmoodnfo2] {
    color: var(--text-primary);
}

.dm-result-refusal[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--error-text);
}

.dm-result-tables[b-vvmoodnfo2] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-xs) var(--space-md);
}

.dm-result-tables li[b-vvmoodnfo2] {
    display: flex;
    justify-content: space-between;
    gap: var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.dm-result-tables code[b-vvmoodnfo2] {
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.dm-result-tables span[b-vvmoodnfo2] {
    font-family: var(--font-mono);
}

.dm-result-files[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.dm-result-warn[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--warning-color, var(--text-muted));
}

/* ── Force-wipe (F3): live progress strip — info-styled, NOT error (the run is
      deliberate operator action; danger styling is reserved for destructive intent) ── */

.dm-force-progress[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    padding: var(--space-md) var(--space-lg);
    background: var(--info-bg);
    border: 1px solid var(--info-border);
    border-left: 3px solid var(--info-color);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.dm-force-progress .dm-btn-spinner[b-vvmoodnfo2] {
    border-color: var(--info-border);
    border-top-color: var(--info-text);
}

.dm-force-phase[b-vvmoodnfo2] {
    font-weight: 600;
}

.dm-force-progress-counts[b-vvmoodnfo2] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* ── Force option inside the confirm dialog ── */

.dm-force-option[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--black-overlay-25);
    border: 1px solid var(--error-border);
    border-radius: var(--radius-md);
}

.dm-force-check[b-vvmoodnfo2] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    cursor: pointer;
}

.dm-force-check input[type="checkbox"][b-vvmoodnfo2] {
    accent-color: var(--error-color);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.dm-force-check input[type="checkbox"]:focus-visible[b-vvmoodnfo2] {
    outline: 2px solid var(--error-color);
    outline-offset: 2px;
}

.dm-force-breakdown[b-vvmoodnfo2] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.dm-force-warning[b-vvmoodnfo2] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--warning-color, var(--text-muted));
    line-height: 1.4;
}

/* ── Force-stop report section (above the wipe tables) ── */

.dm-force-report[b-vvmoodnfo2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--black-overlay-25);
    border: 1px solid var(--info-border);
    border-radius: var(--radius-md);
}

.dm-force-summary[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
    font-size: var(--text-sm);
    color: var(--text-primary);
}

/* The frozen engine is the EXPECTED end state — info styling, never error. */
.dm-force-notice[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--info-text);
}

.dm-force-retry[b-vvmoodnfo2] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    font-size: var(--text-sm);
}

.dm-force-stuck-link[b-vvmoodnfo2] {
    color: var(--accent-light);
    text-decoration: underline;
    transition: var(--transition-fast);
}

.dm-force-stuck-link:hover[b-vvmoodnfo2] {
    color: var(--accent-color);
}

.dm-force-retry-btn[b-vvmoodnfo2] {
    font-weight: 600;
}

/* ── Responsive: rows stack under 768px ── */

@media (max-width: 768px) {
    .dm-row[b-vvmoodnfo2],
    .dm-danger[b-vvmoodnfo2] {
        grid-template-columns: 1fr;
    }

    .dm-row-count[b-vvmoodnfo2] {
        text-align: left;
        justify-self: start;
    }

    .dm-remove-btn[b-vvmoodnfo2] {
        justify-self: start;
    }

    .dm-confirm-input[b-vvmoodnfo2] {
        flex: 1 1 100%;
    }
}

/* ── Reduced motion: silence decorative animation ── */

@media (prefers-reduced-motion: reduce) {
    .dm-spinner[b-vvmoodnfo2],
    .dm-btn-spinner[b-vvmoodnfo2] {
        animation: none;
    }
}
/* _content/Ayva.Polymorph/Components/Providers/EngineConfigDashboard.razor.rz.scp.css */
.ecd[b-dys8dmoprp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

/* ══ HERO ══ */
.ecd-hero[b-dys8dmoprp] {
    position: relative;
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--glass-card-shadow);
    border: 1px solid var(--accent-color-15);
}

.hero-bg[b-dys8dmoprp] {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, var(--accent-color-30) 0%, transparent 40%),
        radial-gradient(circle at 80% 50%, color-mix(in srgb, var(--brand-anthropic) 25%, transparent) 0%, transparent 45%),
        radial-gradient(circle at 50% 100%, var(--success-color-18) 0%, transparent 50%),
        var(--glass-elevated);
    backdrop-filter: var(--glass-blur-strong);
    -webkit-backdrop-filter: var(--glass-blur-strong);
    z-index: 0;
    animation: heroPulse-b-dys8dmoprp 14s ease-in-out infinite;
}

@keyframes heroPulse-b-dys8dmoprp {
    0%, 100% { filter: hue-rotate(0deg) brightness(1); }
    50% { filter: hue-rotate(20deg) brightness(1.08); }
}

.hero-inner[b-dys8dmoprp] {
    position: relative;
    z-index: 1;
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.hero-text h1[b-dys8dmoprp] {
    margin: 0;
    font-size: var(--text-3xl, 2rem);
    font-weight: 700;
    background: linear-gradient(120deg, var(--text-white) 0%, var(--accent-light) 50%, var(--text-white) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: flex;
    align-items: center;
    gap: var(--space-md);
    letter-spacing: -0.01em;
}

.hero-glyph[b-dys8dmoprp] {
    -webkit-text-fill-color: initial;
    color: var(--accent-color);
    text-shadow:
        0 0 24px var(--accent-color),
        0 0 48px var(--accent-color-30);
    animation: glyphSpin-b-dys8dmoprp 18s linear infinite;
    display: inline-block;
}

@keyframes glyphSpin-b-dys8dmoprp {
    to { transform: rotate(360deg); }
}

.hero-text p[b-dys8dmoprp] {
    margin: var(--space-sm) 0 0 0;
    color: var(--text-muted);
    max-width: 760px;
    line-height: 1.6;
    font-size: var(--text-base);
}

.hero-text code[b-dys8dmoprp] {
    background: var(--black-overlay-25);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--accent-light);
    border: 1px solid var(--accent-color-15);
}

.hero-nav[b-dys8dmoprp] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.nav-pill[b-dys8dmoprp] {
    padding: 6px var(--space-md);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-full, 999px);
    color: var(--text-primary);
    font-size: var(--text-sm);
    text-decoration: none;
    transition: var(--transition-fast);
    backdrop-filter: var(--glass-blur);
}

.nav-pill:hover[b-dys8dmoprp] {
    background: var(--accent-color-15);
    border-color: var(--accent-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px var(--accent-color-30);
}

/* ══ SECTIONS ══ */
.ecd-section[b-dys8dmoprp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    scroll-margin-top: var(--space-xl);
}

.section-header[b-dys8dmoprp] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-md);
    flex-wrap: wrap;
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-left: 3px solid var(--accent-color);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    animation: sectionFadeIn-b-dys8dmoprp 0.4s ease both;
}

@keyframes sectionFadeIn-b-dys8dmoprp {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.section-header h2[b-dys8dmoprp] {
    margin: 0;
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--text-primary);
}

.section-header p[b-dys8dmoprp] {
    margin: var(--space-xs) 0 0 0;
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.4;
    max-width: 640px;
}

.section-header a[b-dys8dmoprp] { color: var(--accent-light); }

.section-meta[b-dys8dmoprp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.section-meta code[b-dys8dmoprp] {
    color: var(--accent-light);
    background: var(--accent-color-10);
    padding: 2px 8px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    text-transform: none;
    letter-spacing: 0;
}

/* ══ ROUTING GRID ══ */
.routing-grid[b-dys8dmoprp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: var(--space-lg);
}

/* ══ PROVIDER QUICK GRID ══ */
.provider-quick-grid[b-dys8dmoprp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--space-md);
}

.provider-quick[b-dys8dmoprp] {
    background: var(--glass-elevated);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-lg);
    padding: var(--space-md);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    transition: var(--transition-normal);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.provider-quick:hover[b-dys8dmoprp] {
    transform: translateY(-3px);
    box-shadow: var(--glass-card-shadow-hover);
    border-color: var(--accent-color-30);
}

.provider-quick.ok[b-dys8dmoprp] { border-left: 3px solid var(--success-color); }
.provider-quick.warn[b-dys8dmoprp] { border-left: 3px solid var(--warning-color); }
.provider-quick.off[b-dys8dmoprp] { opacity: 0.55; filter: grayscale(0.7); }

.pq-header[b-dys8dmoprp] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-sm);
}

.pq-name[b-dys8dmoprp] { font-weight: 600; color: var(--text-primary); }

.pq-id[b-dys8dmoprp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.pq-stats[b-dys8dmoprp] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.pq-stat.auth-ok[b-dys8dmoprp] { color: var(--success-color); }
.pq-stat.auth-warn[b-dys8dmoprp] { color: var(--warning-color); }

.ping-btn[b-dys8dmoprp] {
    margin-top: auto;
    padding: 6px var(--space-md);
    background: var(--accent-color-10);
    border: 1px solid var(--accent-color-30);
    color: var(--accent-light);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: var(--text-sm);
    font-weight: 500;
    transition: var(--transition-fast);
    font-family: var(--font-primary);
}

.ping-btn:hover:not(:disabled)[b-dys8dmoprp] {
    background: var(--accent-gradient);
    color: var(--text-white);
    border-color: var(--accent-color);
    box-shadow: 0 0 18px var(--accent-color-30);
    transform: translateY(-1px);
}

.ping-btn:disabled[b-dys8dmoprp] { opacity: 0.4; cursor: not-allowed; }

/* ══ LOADING ══ */
.ecd-loading[b-dys8dmoprp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-2xl);
    color: var(--text-muted);
}

.spinner[b-dys8dmoprp] {
    width: 40px;
    height: 40px;
    border: 3px solid var(--accent-color-20);
    border-top-color: var(--accent-color);
    border-radius: 50%;
    animation: spin-b-dys8dmoprp 0.8s linear infinite;
}

@keyframes spin-b-dys8dmoprp { to { transform: rotate(360deg); } }

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .hero-bg[b-dys8dmoprp],
    .hero-glyph[b-dys8dmoprp],
    .section-header[b-dys8dmoprp] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Providers/ProviderCard.razor.rz.scp.css */
.provider-card[b-myokvercmh] {
    display: flex;
    flex-direction: column;
    background: var(--glass-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-2xl);
    box-shadow: var(--glass-card-shadow);
    overflow: hidden;
    transition: var(--transition-normal);
}

.provider-card:hover[b-myokvercmh] {
    box-shadow: var(--glass-card-shadow-hover);
    transform: translateY(-2px);
    border-color: var(--accent-color-30);
}

.provider-card.is-default[b-myokvercmh] {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 1px var(--accent-color), var(--glass-card-shadow-hover);
}

.provider-card.is-not-authenticated[b-myokvercmh] {
    opacity: 0.85;
}

.provider-card.is-disabled[b-myokvercmh] {
    opacity: 0.5;
    filter: grayscale(0.5);
}

.card-header[b-myokvercmh] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--accent-color-10);
    background: linear-gradient(180deg, var(--accent-color-5) 0%, transparent 100%);
}

.provider-identity[b-myokvercmh] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-width: 0;
}

.provider-glyph[b-myokvercmh] {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    background: var(--accent-gradient);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--text-white);
    text-shadow: 0 1px 2px var(--black-overlay-40);
    box-shadow: 0 4px 16px var(--accent-color-30);
    flex-shrink: 0;
}

.provider-glyph.glyph-anthropic[b-myokvercmh] { background: linear-gradient(135deg, color-mix(in srgb, var(--brand-anthropic) 75%, black), var(--brand-anthropic)); }
.provider-glyph.glyph-openai[b-myokvercmh] { background: linear-gradient(135deg, var(--brand-openai), color-mix(in srgb, var(--brand-openai) 75%, black)); }
.provider-glyph.glyph-google-gemini[b-myokvercmh] { background: linear-gradient(135deg, var(--brand-gemini), color-mix(in srgb, var(--brand-gemini) 80%, black)); }
.provider-glyph.glyph-github-copilot[b-myokvercmh] { background: linear-gradient(135deg, var(--brand-copilot), color-mix(in srgb, var(--brand-copilot) 50%, black)); }
.provider-glyph.glyph-ollama[b-myokvercmh] { background: linear-gradient(135deg, var(--brand-ollama), color-mix(in srgb, var(--brand-ollama) 70%, black)); }

.provider-text[b-myokvercmh] { min-width: 0; }

.provider-name[b-myokvercmh] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.provider-id[b-myokvercmh] {
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    font-size: var(--text-xs);
    color: var(--text-muted);
    background: var(--glass-subtle);
    padding: 2px var(--space-xs);
    border-radius: var(--radius-sm);
    border: 1px solid var(--accent-color-10);
}

.provider-status[b-myokvercmh] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.badge[b-myokvercmh] {
    padding: 2px var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    border-radius: var(--radius-sm);
    border: 1px solid var(--accent-color-30);
    background: var(--accent-color-15);
    color: var(--accent-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.badge-default[b-myokvercmh] {
    background: var(--accent-gradient);
    color: var(--text-white);
    border: 1px solid var(--accent-color);
    box-shadow: 0 0 12px var(--accent-color-30);
}

.status-dot[b-myokvercmh] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot.ok[b-myokvercmh] {
    background: var(--success-color);
    box-shadow: 0 0 8px var(--success-color);
}

.status-dot.warn[b-myokvercmh] {
    background: var(--warning-color);
    box-shadow: 0 0 8px var(--warning-color);
}

.card-body[b-myokvercmh] {
    padding: var(--space-md) var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.stat-row[b-myokvercmh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
    padding: 4px 0;
}

.stat-label[b-myokvercmh] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.stat-value[b-myokvercmh] {
    color: var(--text-primary);
    font-size: var(--text-sm);
    font-weight: 500;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60%;
}

.stat-value.mono[b-myokvercmh] { font-family: var(--font-mono, monospace); }
.stat-value.transport[b-myokvercmh] { font-size: var(--text-xs); color: var(--text-muted); }

.auth-pill[b-myokvercmh] {
    display: inline-block;
    padding: 2px var(--space-sm);
    font-size: var(--text-xs);
    border-radius: var(--radius-sm);
    border: 1px solid;
}

.auth-pill.auth-active[b-myokvercmh] {
    color: var(--success-color);
    border-color: var(--success-color);
    background: var(--success-color-10);
}

.auth-pill.auth-missing[b-myokvercmh] {
    color: var(--warning-color);
    border-color: var(--warning-color);
    background: var(--warning-color-10);
}

.cap-row[b-myokvercmh] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: var(--space-sm);
    padding-top: var(--space-sm);
    border-top: 1px dashed var(--accent-color-10);
}

.cap-chip[b-myokvercmh] {
    padding: 2px 6px;
    font-size: var(--text-3xs);
    color: var(--text-muted);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono, monospace);
}

.cap-chip.cap-more[b-myokvercmh] {
    color: var(--accent-light);
    border-color: var(--accent-color-30);
}

.card-actions[b-myokvercmh] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    padding: var(--space-md) var(--space-lg);
    border-top: 1px solid var(--accent-color-10);
    background: var(--glass-subtle);
}

.action-btn[b-myokvercmh] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--text-primary);
    background: transparent;
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: var(--transition-fast);
    font-family: var(--font-primary);
}

.action-btn:hover:not(:disabled)[b-myokvercmh] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-30);
}

.action-btn:disabled[b-myokvercmh] {
    opacity: 0.4;
    cursor: not-allowed;
}

.action-btn.primary[b-myokvercmh] {
    background: var(--accent-color-15);
    border-color: var(--accent-color-30);
    color: var(--accent-light);
}

.action-btn.primary:hover:not(:disabled)[b-myokvercmh] {
    background: var(--accent-color-30);
}

.action-btn.toggle[b-myokvercmh] {
    margin-left: auto;
}

.action-icon[b-myokvercmh] { font-size: var(--text-sm); }
/* _content/Ayva.Polymorph/Components/Providers/ProviderCredentialDialog.razor.rz.scp.css */
.cred-dialog[b-t85svsoe1l] {
    color: var(--text-primary);
    font-family: var(--font-primary);
    min-width: 500px;
    max-width: 720px;
}

.cred-loading[b-t85svsoe1l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-xl);
}

.cred-header[b-t85svsoe1l] {
    margin-bottom: var(--space-lg);
}

.cred-header h3[b-t85svsoe1l] {
    margin: 0;
    font-size: var(--text-xl);
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cred-subtitle[b-t85svsoe1l] {
    margin-top: var(--space-xs);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.cred-subtitle code[b-t85svsoe1l] {
    font-family: var(--font-mono, monospace);
    background: var(--glass-subtle);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
}

.cred-section[b-t85svsoe1l] {
    margin-top: var(--space-lg);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--accent-color-10);
}

.cred-section h4[b-t85svsoe1l] {
    margin: 0 0 var(--space-md) 0;
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--accent-light);
}

.cred-info[b-t85svsoe1l] {
    padding: var(--space-md);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-md);
}

.cred-info p[b-t85svsoe1l] { margin: var(--space-xs) 0; }

.cred-rules[b-t85svsoe1l] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.cred-rules li[b-t85svsoe1l] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    font-size: var(--text-sm);
}

.cred-rules code[b-t85svsoe1l] {
    font-family: var(--font-mono, monospace);
    background: var(--glass-subtle);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    color: var(--accent-light);
}

.rule-required[b-t85svsoe1l] {
    font-size: var(--text-3xs);
    color: var(--warning-color);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--warning-color-10);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
}

.rule-desc[b-t85svsoe1l] { color: var(--text-muted); }

.cred-empty[b-t85svsoe1l] {
    color: var(--text-muted);
    font-style: italic;
    text-align: center;
    padding: var(--space-md);
}

.cred-table[b-t85svsoe1l] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.cred-table th[b-t85svsoe1l],
.cred-table td[b-t85svsoe1l] {
    padding: var(--space-sm);
    text-align: left;
    border-bottom: 1px solid var(--accent-color-10);
}

.cred-table th[b-t85svsoe1l] {
    color: var(--text-muted);
    text-transform: uppercase;
    font-size: var(--text-xs);
    letter-spacing: 0.05em;
}

.cred-table code[b-t85svsoe1l] {
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs);
}

.del-btn[b-t85svsoe1l] {
    padding: 2px var(--space-sm);
    background: transparent;
    border: 1px solid var(--error-color);
    color: var(--error-color);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-xs);
}

.del-btn:hover[b-t85svsoe1l] { background: var(--error-color-15); }

.cred-form[b-t85svsoe1l] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.cred-field[b-t85svsoe1l] { display: flex; flex-direction: column; gap: var(--space-xs); }

.field-label[b-t85svsoe1l] {
    font-family: var(--font-mono, monospace);
    color: var(--accent-light);
    font-size: var(--text-sm);
}

.field-required[b-t85svsoe1l] { color: var(--warning-color); margin-left: 4px; }

.field-input[b-t85svsoe1l] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-mono, monospace);
    font-size: var(--text-sm);
    transition: var(--transition-fast);
}

.field-input:focus[b-t85svsoe1l] {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px var(--accent-color-15);
}

.cred-helper[b-t85svsoe1l] {
    margin-top: var(--space-md);
    padding: var(--space-md);
    background: var(--accent-color-5);
    border-left: 3px solid var(--accent-color);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.5;
}

.cred-helper code[b-t85svsoe1l] {
    background: var(--glass-subtle);
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    color: var(--accent-light);
    font-family: var(--font-mono, monospace);
}

/* ── Ollama endpoint ── */

.cred-hint[b-t85svsoe1l] {
    margin: 0 0 var(--space-md) 0;
    color: var(--text-muted);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.cred-hint code[b-t85svsoe1l] {
    background: var(--glass-subtle);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono, monospace);
    color: var(--accent-light);
    font-size: var(--text-xs);
}

.endpoint-form[b-t85svsoe1l] {
    display: flex;
    gap: var(--space-xs);
    margin-bottom: var(--space-sm);
}

.endpoint-input[b-t85svsoe1l] {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-mono, monospace);
    font-size: var(--text-sm);
    transition: var(--transition-fast);
}

.endpoint-input:focus[b-t85svsoe1l] {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px var(--accent-color-15);
}

.endpoint-btn[b-t85svsoe1l] {
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--accent-color-15);
    background: var(--glass-subtle);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-fast);
}

.endpoint-btn:hover:not(:disabled)[b-t85svsoe1l] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-30);
    transform: translateY(-1px);
}

.endpoint-btn:disabled[b-t85svsoe1l] {
    opacity: 0.4;
    cursor: not-allowed;
}

.endpoint-btn.save:not(:disabled)[b-t85svsoe1l] {
    background: var(--accent-gradient);
    color: var(--text-white);
    border-color: var(--accent-color);
    box-shadow: 0 0 12px var(--accent-color-30);
}

.endpoint-btn.test:hover:not(:disabled)[b-t85svsoe1l] {
    background: linear-gradient(135deg, var(--success-color), color-mix(in srgb, var(--success-color) 85%, black));
    color: var(--text-white);
    border-color: var(--success-color);
}

.endpoint-result[b-t85svsoe1l] {
    margin: var(--space-sm) 0;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    border-left: 3px solid;
    font-size: var(--text-sm);
}

.endpoint-result.ok[b-t85svsoe1l] {
    background: var(--success-color-10);
    border-color: var(--success-color);
}

.endpoint-result.fail[b-t85svsoe1l] {
    background: var(--error-color-10);
    border-color: var(--error-color);
}

.endpoint-result strong[b-t85svsoe1l] { color: var(--text-primary); margin-right: var(--space-sm); }
.endpoint-result span[b-t85svsoe1l] { color: var(--text-muted); font-size: var(--text-xs); }
.endpoint-result p[b-t85svsoe1l] { margin: var(--space-xs) 0 0; color: var(--text-muted); font-size: var(--text-xs); }

.ollama-status[b-t85svsoe1l] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-sm);
    font-size: var(--text-sm);
}

.status-dot[b-t85svsoe1l] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot.ok[b-t85svsoe1l] {
    background: var(--success-color);
    box-shadow: 0 0 8px var(--success-color);
}

.status-dot.warn[b-t85svsoe1l] {
    background: var(--warning-color);
    box-shadow: 0 0 8px var(--warning-color);
}
/* _content/Ayva.Polymorph/Components/Providers/ProviderHealthMatrix.razor.rz.scp.css */
.phm-wrap[b-xaou9akj93] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--pipeline-glass);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    backdrop-filter: var(--glass-blur);
    box-shadow: var(--shadow-sm);
    transition: var(--transition-normal);
}

.phm-wrap:focus-within[b-xaou9akj93] {
    border-color: var(--border-focus);
}

.phm-head[b-xaou9akj93] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding-bottom: var(--space-xs);
    border-bottom: 1px solid var(--border-color);
}

.phm-title[b-xaou9akj93] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.phm-summary[b-xaou9akj93] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.phm-empty[b-xaou9akj93] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-muted);
    padding: var(--space-md);
    text-align: center;
}

.phm-grid[b-xaou9akj93] {
    display: grid;
    gap: 2px;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.phm-row[b-xaou9akj93] {
    display: grid;
    grid-template-columns: 2fr 1.6fr 1fr 0.7fr 0.8fr;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    background: transparent;
    transition: var(--transition-fast);
}

.phm-row:hover[b-xaou9akj93] {
    background: var(--bg-hover);
}

.phm-row-head[b-xaou9akj93] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-color);
}

.phm-row-ok[b-xaou9akj93] {
    color: var(--text-primary);
}

.phm-row-degraded[b-xaou9akj93] {
    color: var(--text-primary);
    background: var(--warning-bg);
}

.phm-row-off[b-xaou9akj93] {
    color: var(--text-muted);
    opacity: 0.75;
}

.phm-cell-name[b-xaou9akj93] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-weight: var(--font-medium);
}

.phm-cell-state[b-xaou9akj93] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.phm-state-label[b-xaou9akj93] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.phm-cell-models[b-xaou9akj93] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    text-align: right;
}

@media (max-width: 640px) {
    .phm-row[b-xaou9akj93] {
        grid-template-columns: 1.4fr 1fr 0.7fr 0.6fr 0.7fr;
        font-size: var(--text-xs);
    }
    .phm-state-label[b-xaou9akj93] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .phm-wrap[b-xaou9akj93], .phm-row[b-xaou9akj93] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Components/Providers/ProviderManagementPanel.razor.rz.scp.css */
.providers-panel[b-ptxd49wejv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.providers-header[b-ptxd49wejv] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-lg);
    flex-wrap: wrap;
    padding: var(--space-lg) var(--space-xl);
    background: var(--glass-elevated);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-2xl);
    box-shadow: var(--glass-card-shadow);
}

.providers-title[b-ptxd49wejv] {
    margin: 0;
    font-size: var(--text-2xl);
    font-weight: 600;
    background: var(--accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.title-icon[b-ptxd49wejv] {
    font-size: var(--text-2xl);
    -webkit-text-fill-color: initial;
    color: var(--accent-color);
    text-shadow: 0 0 16px var(--accent-color-30);
}

.providers-subtitle[b-ptxd49wejv] {
    margin: var(--space-xs) 0 0 0;
    color: var(--text-muted);
    font-size: var(--text-sm);
    max-width: 720px;
    line-height: 1.5;
}

.providers-actions[b-ptxd49wejv] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.btn[b-ptxd49wejv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 500;
    border-radius: var(--radius-md);
    border: 1px solid transparent;
    cursor: pointer;
    transition: var(--transition-normal);
    color: var(--text-primary);
}

.btn:disabled[b-ptxd49wejv] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-primary[b-ptxd49wejv] {
    background: var(--accent-gradient);
    color: var(--text-white);
    box-shadow: 0 0 20px var(--accent-color-30);
}

.btn-primary:not(:disabled):hover[b-ptxd49wejv] {
    background: var(--accent-gradient-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 24px var(--accent-color-40);
}

.btn-secondary[b-ptxd49wejv] {
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    backdrop-filter: var(--glass-blur);
}

.btn-secondary:not(:disabled):hover[b-ptxd49wejv] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-30);
}

.btn-icon[b-ptxd49wejv] {
    font-size: var(--text-base);
    line-height: 1;
}

.provider-grid[b-ptxd49wejv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: var(--space-lg);
}

.provider-loading[b-ptxd49wejv],
.provider-empty[b-ptxd49wejv] {
    padding: var(--space-2xl);
    text-align: center;
    background: var(--glass-elevated);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-xl);
    color: var(--text-muted);
}

.loading-spinner[b-ptxd49wejv] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--accent-color-20);
    border-top-color: var(--accent-color);
    border-radius: 50%;
    margin: 0 auto var(--space-md);
    animation: spin-b-ptxd49wejv 0.8s linear infinite;
}

@keyframes spin-b-ptxd49wejv {
    to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
    .providers-header[b-ptxd49wejv] {
        padding: var(--space-md);
    }
    .providers-actions[b-ptxd49wejv] {
        width: 100%;
        flex-wrap: wrap;
    }
    .provider-grid[b-ptxd49wejv] {
        grid-template-columns: 1fr;
    }
}
/* _content/Ayva.Polymorph/Components/Providers/ProviderModelsDialog.razor.rz.scp.css */
.models-dialog[b-tyc23j08ml] {
    color: var(--text-primary);
    font-family: var(--font-primary);
    min-width: 720px;
    max-height: 70vh;
}

.models-header[b-tyc23j08ml] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--accent-color-15);
}

.models-header h3[b-tyc23j08ml] {
    margin: 0;
    font-size: var(--text-xl);
    color: var(--text-primary);
}

.models-subtitle[b-tyc23j08ml] {
    margin-top: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--text-muted);
}

.models-subtitle code[b-tyc23j08ml] {
    background: var(--glass-subtle);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs);
}

.models-actions[b-tyc23j08ml] {
    display: flex;
    gap: var(--space-xs);
}

.btn-mini[b-tyc23j08ml] {
    padding: 4px var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-primary);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: var(--transition-fast);
}

.btn-mini:hover:not(:disabled)[b-tyc23j08ml] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-30);
}

.btn-mini.primary[b-tyc23j08ml] {
    background: var(--accent-gradient);
    color: var(--text-white);
    border-color: var(--accent-color);
}

.btn-mini:disabled[b-tyc23j08ml] {
    opacity: 0.5;
    cursor: not-allowed;
}

.models-loading[b-tyc23j08ml],
.models-empty[b-tyc23j08ml] {
    text-align: center;
    padding: var(--space-2xl);
    color: var(--text-muted);
}

.models-list[b-tyc23j08ml] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-height: 60vh;
    overflow-y: auto;
}

.model-row[b-tyc23j08ml] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--space-md);
    padding: var(--space-md);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-md);
    align-items: center;
}

.model-row.recommended[b-tyc23j08ml] {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 1px var(--accent-color-30);
    background: linear-gradient(180deg, var(--accent-color-5) 0%, var(--glass-subtle) 100%);
}

.model-meta[b-tyc23j08ml] { min-width: 0; }

.model-name-row[b-tyc23j08ml] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.model-name[b-tyc23j08ml] {
    font-size: var(--text-base);
    color: var(--text-primary);
}

.rec-badge[b-tyc23j08ml] {
    padding: 1px 6px;
    font-size: var(--text-3xs);
    background: var(--accent-color);
    color: var(--text-white);
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 0 8px var(--accent-color-30);
}

.family-tag[b-tyc23j08ml] {
    padding: 1px 6px;
    font-size: var(--text-3xs);
    color: var(--text-muted);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-sm);
}

.model-id[b-tyc23j08ml] {
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.cap-mini-row[b-tyc23j08ml] {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 4px;
}

.cap-mini[b-tyc23j08ml] {
    padding: 1px 5px;
    font-size: var(--text-5xs);
    color: var(--text-muted);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-2xs);
    font-family: var(--font-mono, monospace);
}

.model-stats[b-tyc23j08ml] {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 4px var(--space-md);
    font-size: var(--text-xs);
    text-align: right;
}

.stat-key[b-tyc23j08ml] {
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: var(--text-5xs);
}

.stat-val[b-tyc23j08ml] {
    color: var(--text-primary);
    font-weight: 500;
    margin-left: var(--space-xs);
}

.model-del-btn[b-tyc23j08ml] {
    padding: 4px var(--space-sm);
    background: transparent;
    border: 1px solid var(--error-color);
    color: var(--error-color);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-xs);
}

.model-del-btn:hover[b-tyc23j08ml] {
    background: var(--error-color-15);
}
/* _content/Ayva.Polymorph/Components/Providers/RoutingPurposeCard.razor.rz.scp.css */
.rpc[b-cpkyfptx6z] {
    display: flex;
    flex-direction: column;
    background: var(--glass-elevated);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-2xl);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    box-shadow: var(--glass-card-shadow);
    overflow: hidden;
    transition: var(--transition-normal);
    position: relative;
}

.rpc[b-cpkyfptx6z]::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--radius-2xl);
    padding: 1px;
    background: linear-gradient(135deg, transparent 30%, var(--accent-color-30) 70%, transparent);
    -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
    mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0;
    transition: var(--transition-normal);
}

.rpc:hover[b-cpkyfptx6z] {
    transform: translateY(-3px);
    box-shadow: var(--glass-card-shadow-hover);
    border-color: var(--accent-color-30);
}

.rpc:hover[b-cpkyfptx6z]::before { opacity: 1; }

.rpc.explicit[b-cpkyfptx6z] {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 1px var(--accent-color), var(--glass-card-shadow);
}

/* ══ HEADER ══ */
.rpc-head[b-cpkyfptx6z] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--accent-color-10);
    background: linear-gradient(180deg, var(--accent-color-5) 0%, transparent 100%);
}

.rpc-purpose[b-cpkyfptx6z] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.purpose-glyph[b-cpkyfptx6z] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-2xl);
    background: var(--accent-gradient);
    color: var(--text-white);
    box-shadow: 0 4px 16px var(--accent-color-30);
    flex-shrink: 0;
    transition: var(--transition-normal);
}

.rpc:hover .purpose-glyph[b-cpkyfptx6z] {
    transform: scale(1.05) rotate(-3deg);
    box-shadow: 0 6px 24px var(--accent-color-40);
}

.purpose-glyph.glyph-recommended[b-cpkyfptx6z] { background: linear-gradient(135deg, var(--warning-color), color-mix(in srgb, var(--warning-color) 85%, black)); }
.purpose-glyph.glyph-bestreasoning[b-cpkyfptx6z] { background: linear-gradient(135deg, var(--accent-color), var(--accent-dark)); }
.purpose-glyph.glyph-fast[b-cpkyfptx6z] { background: linear-gradient(135deg, var(--success-color), color-mix(in srgb, var(--success-color) 85%, black)); }
.purpose-glyph.glyph-evaluation[b-cpkyfptx6z] { background: linear-gradient(135deg, var(--info-color), color-mix(in srgb, var(--info-color) 80%, black)); }

.rpc-purpose h3[b-cpkyfptx6z] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--text-primary);
}

.rpc-purpose p[b-cpkyfptx6z] {
    margin: 4px 0 0 0;
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.4;
    max-width: 240px;
}

.badge[b-cpkyfptx6z] {
    padding: 2px 8px;
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: var(--radius-sm);
    border: 1px solid;
    flex-shrink: 0;
}

.explicit-badge[b-cpkyfptx6z] {
    color: var(--accent-light);
    background: var(--accent-color-15);
    border-color: var(--accent-color);
    box-shadow: 0 0 8px var(--accent-color-30);
}

.default-badge[b-cpkyfptx6z] {
    color: var(--text-muted);
    background: var(--glass-subtle);
    border-color: var(--accent-color-15);
}

/* ══ BODY ══ */
.rpc-body[b-cpkyfptx6z] {
    padding: var(--space-md) var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.resolved-row[b-cpkyfptx6z] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.resolved-label[b-cpkyfptx6z] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.resolved-value[b-cpkyfptx6z] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.resolved-engine[b-cpkyfptx6z],
.resolved-model[b-cpkyfptx6z] {
    padding: 4px 10px;
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-md);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.resolved-engine[b-cpkyfptx6z] {
    color: var(--accent-light);
    border-color: var(--accent-color-30);
}

.arrow[b-cpkyfptx6z] {
    color: var(--text-muted);
    font-size: var(--text-lg);
}

.meta-row[b-cpkyfptx6z] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.meta-chip[b-cpkyfptx6z] {
    padding: 2px 8px;
    font-size: var(--text-3xs);
    color: var(--text-muted);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
}

.control-grid[b-cpkyfptx6z] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
}

.control[b-cpkyfptx6z] { display: flex; flex-direction: column; gap: 4px; }

.control label[b-cpkyfptx6z] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.select[b-cpkyfptx6z] {
    padding: var(--space-sm);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: var(--transition-fast);
}

.select:focus[b-cpkyfptx6z] {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px var(--accent-color-15);
}

.select option[b-cpkyfptx6z] {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.actions[b-cpkyfptx6z] {
    display: flex;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
    border-top: 1px dashed var(--accent-color-10);
    padding-top: var(--space-sm);
}

.btn[b-cpkyfptx6z] {
    flex: 1;
    padding: 6px var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 500;
    border-radius: var(--radius-md);
    border: 1px solid var(--accent-color-15);
    background: var(--glass-subtle);
    color: var(--text-primary);
    cursor: pointer;
    transition: var(--transition-fast);
    font-family: var(--font-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.btn:hover:not(:disabled)[b-cpkyfptx6z] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-30);
    transform: translateY(-1px);
}

.btn:disabled[b-cpkyfptx6z] { opacity: 0.4; cursor: not-allowed; }

.btn.save:not(:disabled)[b-cpkyfptx6z] {
    background: var(--accent-color-15);
    border-color: var(--accent-color);
    color: var(--accent-light);
    box-shadow: 0 0 12px var(--accent-color-30);
}

.btn.save:not(:disabled):hover[b-cpkyfptx6z] {
    background: var(--accent-gradient);
    color: var(--text-white);
}

.btn.test:hover:not(:disabled)[b-cpkyfptx6z] {
    background: linear-gradient(135deg, var(--success-color), color-mix(in srgb, var(--success-color) 85%, black));
    color: var(--text-white);
    border-color: var(--success-color);
}
/* _content/Ayva.Polymorph/Components/Providers/TuneableSectionCard.razor.rz.scp.css */
.tsc[b-zg9bgmn38e] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    background: var(--glass-elevated);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-2xl);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    box-shadow: var(--glass-card-shadow);
    padding: var(--space-lg);
    scroll-margin-top: var(--space-xl);
    transition: var(--transition-normal);
    animation: tscFade-b-zg9bgmn38e 0.5s ease both;
}

@keyframes tscFade-b-zg9bgmn38e {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.tsc:hover[b-zg9bgmn38e] {
    border-color: var(--accent-color-30);
}

.tsc-head[b-zg9bgmn38e] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--accent-color-10);
}

.tsc-head h2[b-zg9bgmn38e] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
}

.tsc-count[b-zg9bgmn38e] {
    padding: 2px 10px;
    background: var(--accent-color-10);
    color: var(--accent-light);
    border-radius: var(--radius-full, 999px);
    font-size: var(--text-xs);
    font-family: var(--font-mono);
}

.tsc-grid[b-zg9bgmn38e] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: var(--space-md);
}

.tune-card[b-zg9bgmn38e] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-md);
    transition: var(--transition-fast);
}

.tune-card:hover[b-zg9bgmn38e] {
    background: var(--accent-color-5);
    border-color: var(--accent-color-30);
    transform: translateY(-1px);
}

.tune-meta[b-zg9bgmn38e] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tune-name[b-zg9bgmn38e] {
    font-weight: 600;
    color: var(--text-primary);
    font-size: var(--text-sm);
}

.tune-key[b-zg9bgmn38e] {
    font-family: var(--font-mono);
    font-size: var(--text-3xs);
    color: var(--accent-light);
    background: var(--black-overlay-20);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    align-self: flex-start;
}

.tune-desc[b-zg9bgmn38e] {
    margin: 4px 0 0 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    line-height: 1.4;
}

.tune-control[b-zg9bgmn38e] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    margin-top: var(--space-xs);
}

.range-input[b-zg9bgmn38e] {
    flex: 1 1 160px;
    height: 6px;
    background: var(--glass-subtle);
    border-radius: var(--radius-2xs);
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.range-input[b-zg9bgmn38e]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    background: var(--accent-color);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 0 8px var(--accent-color-30);
    transition: transform 0.15s;
}

.range-input[b-zg9bgmn38e]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.range-input[b-zg9bgmn38e]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: var(--accent-color);
    border-radius: 50%;
    cursor: pointer;
    border: none;
    box-shadow: 0 0 8px var(--accent-color-30);
}

.number-input[b-zg9bgmn38e],
.text-input[b-zg9bgmn38e],
.select-input[b-zg9bgmn38e] {
    width: 110px;
    padding: 4px var(--space-sm);
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    transition: var(--transition-fast);
}

.text-input[b-zg9bgmn38e] { width: 100%; flex: 1; font-family: var(--font-primary); }
.select-input[b-zg9bgmn38e] { width: auto; min-width: 140px; cursor: pointer; }

.number-input:focus[b-zg9bgmn38e],
.text-input:focus[b-zg9bgmn38e],
.select-input:focus[b-zg9bgmn38e] {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px var(--accent-color-15);
}

.unit[b-zg9bgmn38e] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Switch ── */
.switch[b-zg9bgmn38e] {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.switch input[b-zg9bgmn38e] { opacity: 0; width: 0; height: 0; }

.switch .slider[b-zg9bgmn38e] {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: var(--glass-subtle);
    border: 1px solid var(--accent-color-15);
    border-radius: var(--radius-lg);
    transition: 0.2s;
}

.switch .slider[b-zg9bgmn38e]::before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    top: 3px;
    background: var(--text-muted);
    border-radius: 50%;
    transition: 0.2s;
}

.switch input:checked + .slider[b-zg9bgmn38e] {
    background: var(--accent-gradient);
    border-color: var(--accent-color);
    box-shadow: 0 0 12px var(--accent-color-30);
}

.switch input:checked + .slider[b-zg9bgmn38e]::before {
    transform: translateX(20px);
    background: var(--text-white);
}

.bool-label[b-zg9bgmn38e] {
    font-size: var(--text-3xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

/* ── Action micros ── */
.tune-actions[b-zg9bgmn38e] {
    display: flex;
    gap: 4px;
    margin-left: auto;
}

.micro[b-zg9bgmn38e] {
    padding: 2px 8px;
    font-size: var(--text-3xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--radius-sm);
    border: 1px solid;
    cursor: pointer;
    transition: var(--transition-fast);
    font-family: var(--font-primary);
}

.micro.save[b-zg9bgmn38e] {
    color: var(--accent-light);
    border-color: var(--accent-color);
    background: var(--accent-color-10);
}

.micro.save:hover[b-zg9bgmn38e] {
    background: var(--accent-gradient);
    color: var(--text-white);
    transform: scale(1.05);
}

.micro.reset[b-zg9bgmn38e] {
    color: var(--text-muted);
    border-color: var(--accent-color-15);
    background: transparent;
}

.micro.reset:hover[b-zg9bgmn38e] {
    color: var(--warning-color);
    border-color: var(--warning-color);
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .tsc[b-zg9bgmn38e] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Queue/CompletedTasksPanel.razor.rz.scp.css */
/* CompletedTasksPanel — paged list of completed queue tasks */

.completed-panel[b-k4b3tepzq7] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.cp-header[b-k4b3tepzq7] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.cp-title[b-k4b3tepzq7] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    flex: 1;
}

.cp-total[b-k4b3tepzq7] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.cp-filter-row[b-k4b3tepzq7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--space-sm);
    align-items: end;
}

.cp-empty[b-k4b3tepzq7] {
    padding: var(--space-lg);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
}

.cp-table[b-k4b3tepzq7] {
    font-size: var(--text-sm);
}

.cp-pagination[b-k4b3tepzq7] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    margin-top: var(--space-sm);
}

.cp-page-indicator[b-k4b3tepzq7] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

@media (max-width: 768px) {
    .completed-panel[b-k4b3tepzq7] {
        padding: var(--space-md);
    }
}
/* _content/Ayva.Polymorph/Components/Queue/CurrentlyRunningCard.razor.rz.scp.css */
/* CurrentlyRunningCard — live header showing the in-progress task */

.running-card[b-8ibz9p41iz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: var(--space-lg);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--accent-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md), 0 0 30px var(--accent-color-10);
    font-family: var(--font-primary);
    color: var(--text-primary);
}

.running-card.empty[b-8ibz9p41iz] {
    border-color: var(--border-color);
    box-shadow: var(--shadow-sm);
    justify-content: center;
}

.running-empty[b-8ibz9p41iz] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.running-left[b-8ibz9p41iz] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex: 1;
    min-width: 0;
}

.running-pulse[b-8ibz9p41iz] {
    width: var(--space-md);
    height: var(--space-md);
    border-radius: var(--radius-full);
    background: var(--success-color);
    box-shadow: 0 0 0 0 var(--success-color);
    animation: running-pulse-kf-b-8ibz9p41iz 2s infinite;
}

@keyframes running-pulse-kf-b-8ibz9p41iz {
    0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--success-color) 60%, transparent); }
    70%  { box-shadow: 0 0 0 var(--space-md) transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

.running-meta[b-8ibz9p41iz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
    flex: 1;
}

.running-title-row[b-8ibz9p41iz] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.running-title[b-8ibz9p41iz] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}

.running-section-badge[b-8ibz9p41iz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    border-radius: var(--radius-full);
    border: 1px solid var(--border-color);
    background: var(--pipeline-glass-hover);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.running-section-badge.section-user[b-8ibz9p41iz]        { color: var(--accent-color); border-color: var(--accent-color); }
.running-section-badge.section-autonomous[b-8ibz9p41iz]  { color: var(--secondary-accent); border-color: var(--secondary-accent); }

.priority-badge[b-8ibz9p41iz] {
    display: inline-flex;
    align-items: center;
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    border-radius: var(--radius-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    font-family: var(--font-mono);
}

.priority-badge.priority-p0[b-8ibz9p41iz] { border-color: var(--priority-p0-glow); }
.priority-badge.priority-p1[b-8ibz9p41iz] { border-color: var(--priority-p1-glow); }
.priority-badge.priority-p2[b-8ibz9p41iz] { border-color: var(--priority-p2-glow); }
.priority-badge.priority-p3[b-8ibz9p41iz] { border-color: var(--priority-p3-glow); }
.priority-badge.priority-p4[b-8ibz9p41iz] { border-color: var(--priority-p4-glow); }
.priority-badge.priority-p5[b-8ibz9p41iz] { border-color: var(--priority-p5-glow); }

.running-detail-row[b-8ibz9p41iz] {
    display: flex;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.detail-chip[b-8ibz9p41iz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    background: var(--pipeline-glass-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    font-family: var(--font-mono);
}

.detail-chip.detail-live[b-8ibz9p41iz] {
    color: var(--accent-color);
    border-color: var(--accent-color);
}

.running-right[b-8ibz9p41iz] {
    display: flex;
    gap: var(--space-sm);
}

@media (max-width: 768px) {
    .running-card[b-8ibz9p41iz] {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-md);
    }

    .running-title[b-8ibz9p41iz] {
        white-space: normal;
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .running-pulse[b-8ibz9p41iz] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Queue/FailedTasksPanel.razor.rz.scp.css */
/* FailedTasksPanel — terminal-failure restoration panel */

.failed-panel[b-it07y4tb4y] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.fp-header[b-it07y4tb4y] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.fp-title[b-it07y4tb4y] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    flex: 1;
}

.fp-total[b-it07y4tb4y] {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    color: var(--warning-color);
    background: var(--warning-bg, var(--warning-color-15));
    border-radius: var(--radius-full);
    font-family: var(--font-mono);
    font-weight: var(--font-bold);
}

.fp-empty[b-it07y4tb4y] {
    padding: var(--space-md);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.fp-panel-title[b-it07y4tb4y] {
    display: flex;
    gap: var(--space-md);
    align-items: center;
    width: 100%;
}

.fp-panel-name[b-it07y4tb4y] {
    flex: 1;
    font-weight: var(--font-medium);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fp-status[b-it07y4tb4y] {
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: 1px solid transparent;
}

.fp-status-failed[b-it07y4tb4y] {
    color: var(--error-color);
    background: var(--error-bg, var(--error-color-12));
    border-color: var(--error-color);
}

.fp-status-aborted[b-it07y4tb4y] {
    color: var(--warning-color);
    background: var(--warning-bg, var(--warning-color-12));
    border-color: var(--warning-color);
}

.fp-status-drained[b-it07y4tb4y] {
    color: var(--text-muted);
    background: var(--glass-subtle);
    border-color: var(--accent-color-15);
}

.fp-status-other[b-it07y4tb4y] {
    color: var(--text-muted);
    background: var(--glass-subtle);
    border-color: var(--accent-color-10);
}

.fp-panel-priority[b-it07y4tb4y],
.fp-panel-section[b-it07y4tb4y],
.fp-panel-time[b-it07y4tb4y] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.fp-panel-time[b-it07y4tb4y] {
    color: var(--text-muted);
}

.fp-panel-body[b-it07y4tb4y] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-md) 0;
}

.fp-detail-label[b-it07y4tb4y] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-xs);
}

.fp-detail-text[b-it07y4tb4y] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--text-primary);
    white-space: pre-wrap;
    word-break: break-word;
}

.fp-meta-row[b-it07y4tb4y] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md) var(--space-lg);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.fp-meta strong[b-it07y4tb4y] {
    color: var(--text-muted);
    font-weight: var(--font-medium);
    margin-right: 4px;
}

.fp-meta code[b-it07y4tb4y] {
    font-family: var(--font-mono);
    background: var(--glass-subtle);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
    color: var(--accent-light);
}

.fp-actions[b-it07y4tb4y] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
}
/* _content/Ayva.Polymorph/Components/Queue/NeedsAttentionPanel.razor.rz.scp.css */
/* NeedsAttentionPanel — PreEvalFailed + ReEvaluating surface */

.needs-attention-panel[b-xat8eogtjf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background: var(--warning-bg);
    border: 1px solid var(--warning-color);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.nap-header[b-xat8eogtjf] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.nap-title[b-xat8eogtjf] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--warning-color);
    flex: 1;
}

.nap-count[b-xat8eogtjf] {
    padding: var(--space-xs) var(--space-sm);
    background: var(--warning-color);
    color: var(--bg-primary);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    font-family: var(--font-mono);
}

.nap-list[b-xat8eogtjf] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.nap-row[b-xat8eogtjf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
}

.nap-row-left[b-xat8eogtjf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
    flex: 1;
}

.nap-row-title[b-xat8eogtjf] {
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nap-row-meta[b-xat8eogtjf] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.nap-row-detail[b-xat8eogtjf] {
    color: var(--warning-color);
}

.nap-row-right[b-xat8eogtjf] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.nap-row-status[b-xat8eogtjf] {
    font-size: var(--text-xs);
    color: var(--warning-color);
    font-family: var(--font-mono);
}
/* _content/Ayva.Polymorph/Components/Queue/PriorityLane.razor.rz.scp.css */
/* PriorityLane — single priority row inside a QueueSection */

.priority-lane[b-ofjgzutur3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    min-height: calc(var(--space-2xl) * 2);
    position: relative;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.priority-lane.system-reserved[b-ofjgzutur3] {
    background: color-mix(in srgb, var(--bg-secondary) 60%, var(--bg-primary) 40%);
    border-style: dashed;
    opacity: 0.85;
}

.priority-lane.lane-p0[b-ofjgzutur3] { border-left: 3px solid var(--priority-p0-glow); }
.priority-lane.lane-p1[b-ofjgzutur3] { border-left: 3px solid var(--priority-p1-glow); }
.priority-lane.lane-p2[b-ofjgzutur3] { border-left: 3px solid var(--priority-p2-glow); }
.priority-lane.lane-p3[b-ofjgzutur3] { border-left: 3px solid var(--priority-p3-glow); }
.priority-lane.lane-p4[b-ofjgzutur3] { border-left: 3px solid var(--priority-p4-glow); }
.priority-lane.lane-p5[b-ofjgzutur3] { border-left: 3px solid var(--priority-p5-glow); }

.lane-header[b-ofjgzutur3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    font-family: var(--font-primary);
}

.lane-header-left[b-ofjgzutur3] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.lane-lock-icon[b-ofjgzutur3] {
    color: var(--text-muted);
}

.lane-label[b-ofjgzutur3] {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.lane-count[b-ofjgzutur3] {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    color: var(--text-secondary);
    background: var(--pipeline-glass-hover);
    border-radius: var(--radius-full);
    border: 1px solid var(--border-color);
    font-family: var(--font-mono);
}

.lane-drop-zone[b-ofjgzutur3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-height: calc(var(--space-2xl) * 1.5);
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast), box-shadow var(--transition-fast);
}
/* _content/Ayva.Polymorph/Components/Queue/QueueDashboard.razor.rz.scp.css */
/* QueueDashboard — top-level layout host */

.queue-dashboard[b-0wnuwsrcoz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-lg);
    font-family: var(--font-primary);
    color: var(--text-primary);
}

.qd-loading[b-0wnuwsrcoz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-sm) 0;
}

/* Shimmer skeleton — mirrors stats bar + three lanes (gated for reduced motion below) */
.qd-skel[b-0wnuwsrcoz] {
    border-radius: var(--radius-md);
    background: linear-gradient(90deg,
        var(--white-overlay-04) 25%,
        var(--white-overlay-08) 50%,
        var(--white-overlay-04) 75%);
    background-size: 200% 100%;
    animation: qd-shimmer-b-0wnuwsrcoz var(--pipeline-shimmer-duration) ease-in-out infinite;
}
.qd-skel-bar[b-0wnuwsrcoz] { height: 3.25rem; }
.qd-skel-lanes[b-0wnuwsrcoz] { display: flex; flex-direction: column; gap: var(--space-md); }
.qd-skel-lane[b-0wnuwsrcoz] { height: 5.5rem; }
.qd-skel-lane:nth-child(2)[b-0wnuwsrcoz] { opacity: 0.7; }
.qd-skel-lane:nth-child(3)[b-0wnuwsrcoz] { opacity: 0.45; }
@keyframes qd-shimmer-b-0wnuwsrcoz {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .qd-skel[b-0wnuwsrcoz] { animation: none; }
}

.qd-grid[b-0wnuwsrcoz] {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: var(--space-lg);
    align-items: start;
}

.qd-submit[b-0wnuwsrcoz] {
    display: flex;
    flex-direction: column;
}

.qd-sections[b-0wnuwsrcoz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    min-width: 0;
}

.qd-drain-row[b-0wnuwsrcoz] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
    padding-top: var(--space-md);
    border-top: 1px solid var(--border-color);
}

.qd-stats-bar[b-0wnuwsrcoz] {
    display: flex;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--pipeline-glass-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    flex-wrap: wrap;
}

.qd-stat[b-0wnuwsrcoz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 60px;
}

.qd-stat-val[b-0wnuwsrcoz] {
    font-size: var(--text-lg);
    font-weight: var(--font-bold);
    font-family: var(--font-mono);
    color: var(--text-primary);
}

.qd-stat-lbl[b-0wnuwsrcoz] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.qd-stat-active .qd-stat-val[b-0wnuwsrcoz] {
    color: var(--accent-color);
}

.qd-search[b-0wnuwsrcoz] {
    max-width: 400px;
}

.qd-empty-state[b-0wnuwsrcoz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-2xl);
    color: var(--text-secondary);
    opacity: 0.6;
}

@media (max-width: 768px) {
    .qd-grid[b-0wnuwsrcoz] {
        grid-template-columns: 1fr;
    }

    .queue-dashboard[b-0wnuwsrcoz] {
        padding: var(--space-md);
    }
}

/* ── Aging-policy help (keyboard-accessible tooltip alternative) ── */
.qd-aging-help[b-0wnuwsrcoz] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--pipeline-glass-surface);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}
.qd-aging-help summary[b-0wnuwsrcoz] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    cursor: pointer;
    user-select: none;
    color: var(--text-secondary);
}
.qd-aging-help summary:hover[b-0wnuwsrcoz] { color: var(--text-primary); }
.qd-aging-help summary:focus-visible[b-0wnuwsrcoz] {
    outline: 2px solid var(--border-focus);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}
.qd-aging-help[open] summary[b-0wnuwsrcoz] { border-bottom: 1px solid var(--border-subtle); }
.qd-aging-help p[b-0wnuwsrcoz] {
    margin: 0;
    padding: var(--space-sm);
    line-height: 1.5;
}
/* _content/Ayva.Polymorph/Components/Queue/QueueLifecycleBar.razor.rz.scp.css */
.qlc-wrap[b-r6vcd3wz6o] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    backdrop-filter: var(--glass-blur);
    box-shadow: var(--shadow-sm);
    margin-bottom: var(--space-md);
    transition: var(--transition-normal);
}

.qlc-group[b-r6vcd3wz6o] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.qlc-label[b-r6vcd3wz6o] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding-right: var(--space-xs);
    border-right: 1px solid var(--border-color);
}

.qlc-hint[b-r6vcd3wz6o] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--warning-color);
    font-weight: var(--font-medium);
}

/* ── Force stop (drain board v3.1 F4): danger group, visually separated ── */

.qlc-group-danger[b-r6vcd3wz6o] {
    margin-left: auto;
    padding-left: var(--space-md);
    border-left: 1px solid var(--error-border);
}

.qlc-label-danger[b-r6vcd3wz6o] {
    color: var(--error-text);
    border-right-color: var(--error-border);
}

.qlc-fs-progress[b-r6vcd3wz6o] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--error-text);
}

/* Typed-confirmation alertdialog (StuckPipelinesPanel pattern) */
.qlc-fs-confirm[b-r6vcd3wz6o] {
    padding: var(--space-md);
    margin-bottom: var(--space-md);
    background: var(--error-color-light);
    border: 1px solid var(--error-border);
    border-radius: var(--radius-md);
    backdrop-filter: var(--glass-blur);
}

.qlc-fs-confirm-title[b-r6vcd3wz6o] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    margin: 0 0 var(--space-sm) 0;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--error-text);
}

.qlc-fs-confirm-title code[b-r6vcd3wz6o] {
    padding: 0 var(--space-xs);
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    border-radius: var(--radius-sm);
    color: var(--error-text);
    font-weight: var(--font-semibold);
}

.qlc-fs-breakdown[b-r6vcd3wz6o] {
    margin: 0 0 var(--space-sm) 0;
    padding-left: var(--space-lg);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.qlc-fs-breakdown-error[b-r6vcd3wz6o] {
    color: var(--warning-text);
    list-style: none;
    padding-left: 0;
}

.qlc-fs-note[b-r6vcd3wz6o] {
    margin: 0 0 var(--space-xs) 0;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.qlc-fs-controls[b-r6vcd3wz6o] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    margin-top: var(--space-sm);
}

/* Persistent result panel — outcome-tinted, dismissable */
.qlc-fs-result[b-r6vcd3wz6o] {
    padding: var(--space-md);
    margin-bottom: var(--space-md);
    border-radius: var(--radius-md);
    backdrop-filter: var(--glass-blur);
    background: var(--pipeline-glass);
    border: 1px solid var(--border-color);
    font-family: var(--font-primary);
}

.qlc-fs-result-success[b-r6vcd3wz6o] {
    border-color: var(--success-border, var(--border-color));
}

.qlc-fs-result-partial[b-r6vcd3wz6o],
.qlc-fs-result-failed[b-r6vcd3wz6o] {
    border-color: var(--error-border);
    background: var(--error-color-light);
}

.qlc-fs-result-head[b-r6vcd3wz6o] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    margin-bottom: var(--space-sm);
}

.qlc-fs-result-title[b-r6vcd3wz6o] {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

.qlc-fs-result-actor[b-r6vcd3wz6o] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    flex: 1;
}

.qlc-fs-result-lines[b-r6vcd3wz6o] {
    margin: 0 0 var(--space-sm) 0;
    padding-left: var(--space-lg);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.qlc-fs-failed-ids[b-r6vcd3wz6o] {
    color: var(--error-text);
    font-size: var(--text-xs);
}

.qlc-fs-tree-warning[b-r6vcd3wz6o] {
    color: var(--warning-text);
}

.qlc-fs-error-line[b-r6vcd3wz6o] {
    color: var(--error-text);
}

.qlc-fs-engine-notice[b-r6vcd3wz6o] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    margin: 0 0 var(--space-xs) 0;
    padding: var(--space-xs) var(--space-sm);
    background: var(--info-color-light);
    border: 1px solid var(--info-border);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    color: var(--info-text);
}

.qlc-fs-guidance[b-r6vcd3wz6o] {
    margin: 0;
    font-size: var(--text-xs);
    color: var(--text-muted);
}

@media (max-width: 640px) {
    .qlc-wrap[b-r6vcd3wz6o] {
        gap: var(--space-sm);
    }
    .qlc-label[b-r6vcd3wz6o] {
        border-right: none;
        padding-right: 0;
        width: 100%;
    }
    .qlc-group-danger[b-r6vcd3wz6o] {
        margin-left: 0;
        padding-left: 0;
        border-left: none;
    }
    .qlc-fs-controls[b-r6vcd3wz6o] {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qlc-wrap[b-r6vcd3wz6o] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Components/Queue/QueueSectionPanel.razor.rz.scp.css */
/* QueueSection — one of the two vertical stacks (User / Autonomous) */

.queue-section[b-9qg8wcifb0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    font-family: var(--font-primary);
}

.queue-section.collapsed[b-9qg8wcifb0] {
    padding: var(--space-md) var(--space-lg);
}

.qs-header[b-9qg8wcifb0] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.qs-collapse-btn[b-9qg8wcifb0] {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast);
}

.qs-collapse-btn:hover[b-9qg8wcifb0] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.qs-title[b-9qg8wcifb0] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    flex: 1;
}

.qs-total[b-9qg8wcifb0] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.qs-header-actions[b-9qg8wcifb0] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.qs-drop-container[b-9qg8wcifb0] {
    display: block;
}

.qs-lanes[b-9qg8wcifb0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

/* User vs Autonomous accent */
.queue-section.section-user[b-9qg8wcifb0] {
    border-top: 2px solid var(--accent-color);
}

.queue-section.section-autonomous[b-9qg8wcifb0] {
    border-top: 2px solid var(--secondary-accent);
}

.qs-empty[b-9qg8wcifb0] {
    text-align: center;
    padding: var(--space-xl);
    color: var(--text-secondary);
    opacity: 0.5;
    font-size: var(--text-sm);
}

@media (max-width: 768px) {
    .queue-section[b-9qg8wcifb0] {
        padding: var(--space-md);
    }
}

/* Staggered lane entry on tab mount (reduced-motion gated below). Lanes are child
   components, so the scoped selector pierces with ::deep; nth-child staggers the
   cascade and caps naturally at the lane count. */
.qs-lanes[b-9qg8wcifb0]  > .priority-lane {
    animation: qs-lane-enter-b-9qg8wcifb0 var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
}
.qs-lanes[b-9qg8wcifb0]  > .priority-lane:nth-child(2) { animation-delay: calc(var(--pipeline-stagger-delay) * 1); }
.qs-lanes[b-9qg8wcifb0]  > .priority-lane:nth-child(3) { animation-delay: calc(var(--pipeline-stagger-delay) * 2); }
.qs-lanes[b-9qg8wcifb0]  > .priority-lane:nth-child(4) { animation-delay: calc(var(--pipeline-stagger-delay) * 3); }
.qs-lanes[b-9qg8wcifb0]  > .priority-lane:nth-child(5) { animation-delay: calc(var(--pipeline-stagger-delay) * 4); }
.qs-lanes[b-9qg8wcifb0]  > .priority-lane:nth-child(6) { animation-delay: calc(var(--pipeline-stagger-delay) * 5); }
@keyframes qs-lane-enter-b-9qg8wcifb0 {
    from { opacity: 0; transform: translateY(8px) scale(0.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .qs-lanes[b-9qg8wcifb0]  > .priority-lane { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Queue/QueueTaskCard.razor.rz.scp.css */
/* QueueTaskCard — scoped styles, tokens only */

.queue-task-card[b-k2f7hfgoxn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    transition: box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
    position: relative;
    animation: qtc-enter-b-k2f7hfgoxn var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
}

@keyframes qtc-enter-b-k2f7hfgoxn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .queue-task-card[b-k2f7hfgoxn] { animation: none; }
}

.queue-task-card:hover[b-k2f7hfgoxn] {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    border-color: var(--border-focus);
}

.queue-task-card.is-terminal[b-k2f7hfgoxn] {
    opacity: 0.75;
}

/* Priority left accent strip */
.queue-task-card[b-k2f7hfgoxn]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: var(--space-xs);
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
    background: var(--priority-p4-glow);
}

.queue-task-card.priority-p0[b-k2f7hfgoxn]::before { background: var(--priority-p0-glow); }
.queue-task-card.priority-p1[b-k2f7hfgoxn]::before { background: var(--priority-p1-glow); }
.queue-task-card.priority-p2[b-k2f7hfgoxn]::before { background: var(--priority-p2-glow); }
.queue-task-card.priority-p3[b-k2f7hfgoxn]::before { background: var(--priority-p3-glow); }
.queue-task-card.priority-p4[b-k2f7hfgoxn]::before { background: var(--priority-p4-glow); }
.queue-task-card.priority-p5[b-k2f7hfgoxn]::before { background: var(--priority-p5-glow); }

/* ── Top row ── */
.qtc-top[b-k2f7hfgoxn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.qtc-title-row[b-k2f7hfgoxn] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.qtc-title[b-k2f7hfgoxn] {
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qtc-status-row[b-k2f7hfgoxn] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

/* ── Priority badge ── */
.priority-badge[b-k2f7hfgoxn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(var(--space-lg) + var(--space-xs));
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    font-family: var(--font-mono);
}

.priority-badge.priority-p0[b-k2f7hfgoxn] { background: color-mix(in srgb, var(--priority-p0-glow) 25%, var(--bg-card) 75%); border-color: var(--priority-p0-glow); }
.priority-badge.priority-p1[b-k2f7hfgoxn] { background: color-mix(in srgb, var(--priority-p1-glow) 25%, var(--bg-card) 75%); border-color: var(--priority-p1-glow); }
.priority-badge.priority-p2[b-k2f7hfgoxn] { background: color-mix(in srgb, var(--priority-p2-glow) 25%, var(--bg-card) 75%); border-color: var(--priority-p2-glow); }
.priority-badge.priority-p3[b-k2f7hfgoxn] { background: color-mix(in srgb, var(--priority-p3-glow) 25%, var(--bg-card) 75%); border-color: var(--priority-p3-glow); }
.priority-badge.priority-p4[b-k2f7hfgoxn] { background: color-mix(in srgb, var(--priority-p4-glow) 25%, var(--bg-card) 75%); border-color: var(--priority-p4-glow); }
.priority-badge.priority-p5[b-k2f7hfgoxn] { background: color-mix(in srgb, var(--priority-p5-glow) 25%, var(--bg-card) 75%); border-color: var(--priority-p5-glow); }

/* ── Category chip ── */
.category-chip[b-k2f7hfgoxn] {
    display: inline-flex;
    align-items: center;
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    border-radius: var(--radius-full);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.category-chip.category-repair[b-k2f7hfgoxn]      { background: var(--category-repair-bg); color: var(--category-repair); }
.category-chip.category-maintenance[b-k2f7hfgoxn] { background: var(--category-maintenance-bg); color: var(--category-maintenance); }
.category-chip.category-enhancement[b-k2f7hfgoxn] { background: var(--category-enhancement-bg); color: var(--category-enhancement); }
.category-chip.category-refactor[b-k2f7hfgoxn]    { background: var(--category-refactor-bg); color: var(--category-refactor); }
.category-chip.category-feature[b-k2f7hfgoxn]     { background: var(--category-feature-bg); color: var(--category-feature); }

/* ── Status pill ── */
.status-pill[b-k2f7hfgoxn] {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    border-radius: var(--radius-full);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
}

.status-pill.status-inprogress[b-k2f7hfgoxn]   { background: var(--info-bg); color: var(--info-color); }
.status-pill.status-completed[b-k2f7hfgoxn]    { background: var(--success-bg); color: var(--success-color); }
.status-pill.status-failed[b-k2f7hfgoxn]       { background: var(--error-bg); color: var(--error-color); }
.status-pill.status-rejected[b-k2f7hfgoxn]     { background: var(--error-bg); color: var(--error-color); }
.status-pill.status-rejectedassplit[b-k2f7hfgoxn] { background: var(--secondary-accent-10); color: var(--secondary-accent); }
.status-pill.status-frozen[b-k2f7hfgoxn]       { background: var(--info-bg); color: var(--info-color); }
.status-pill.status-awaitingsplitapproval[b-k2f7hfgoxn] { background: var(--warning-bg); color: var(--warning-color); }
.status-pill.status-preevalfailed[b-k2f7hfgoxn] { background: var(--error-bg); color: var(--error-color); }
.status-pill.status-reevaluating[b-k2f7hfgoxn]  { background: var(--warning-bg); color: var(--warning-color); }

/* ── Aging badge (Task 5) — icon + text carry the state, color is reinforcement only ── */
.qtc-aging-badge[b-k2f7hfgoxn] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    border-radius: var(--radius-full);
    background: var(--warning-bg);
    color: var(--warning-color);
    border: 1px solid var(--warning-border);
    white-space: nowrap;
}

.attachment-count[b-k2f7hfgoxn] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--text-secondary);
}

.qtc-frozen-icon[b-k2f7hfgoxn] {
    color: var(--info-color);
}

/* ── Directive body ── */
.qtc-directive[b-k2f7hfgoxn] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Metadata row ── */
.qtc-meta[b-k2f7hfgoxn] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.qtc-meta-item[b-k2f7hfgoxn] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

.qtc-meta-item[b-k2f7hfgoxn]  .mud-icon-root {
    font-size: var(--text-sm) !important;
    opacity: 0.6;
}

/* ── Team roster ── */
.qtc-team[b-k2f7hfgoxn] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.qtc-team-chip[b-k2f7hfgoxn] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--accent-light);
    background: var(--accent-color-10);
    border: 1px solid var(--accent-color-20);
    border-radius: var(--radius-full);
    white-space: nowrap;
}

.qtc-team-chip[b-k2f7hfgoxn]  .mud-icon-root {
    font-size: var(--text-xs) !important;
    opacity: 0.7;
}

/* ── Split panel ── */
.split-panel[b-k2f7hfgoxn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--warning-bg);
    border: 1px solid var(--warning-color);
    border-radius: var(--radius-sm);
}

.split-panel-header[b-k2f7hfgoxn] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--warning-color);
}

.split-sub-list[b-k2f7hfgoxn] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.split-sub-item[b-k2f7hfgoxn] {
    width: 100%;
}

.split-panel-actions[b-k2f7hfgoxn] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
}

/* ── Rejection panel ── */
.rejection-panel[b-k2f7hfgoxn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--error-bg);
    border: 1px solid var(--error-color);
    border-radius: var(--radius-sm);
}

.rejection-panel.needs-attention[b-k2f7hfgoxn] {
    background: var(--warning-bg);
    border-color: var(--warning-color);
}

.rejection-panel-header[b-k2f7hfgoxn] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--error-color);
}

.rejection-panel.needs-attention .rejection-panel-header[b-k2f7hfgoxn] {
    color: var(--warning-color);
}

.rejection-detail[b-k2f7hfgoxn] {
    margin: 0;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

/* ── Actions row ── */
.qtc-actions[b-k2f7hfgoxn] {
    display: flex;
    gap: var(--space-xs);
    justify-content: flex-end;
    flex-wrap: wrap;
    padding-top: var(--space-xs);
    border-top: 1px solid var(--border-color);
}

@media (max-width: 640px) {
    .queue-task-card[b-k2f7hfgoxn] {
        padding: var(--space-sm);
    }

    .qtc-actions[b-k2f7hfgoxn] {
        justify-content: flex-start;
    }
}
/* _content/Ayva.Polymorph/Components/Queue/QuickSubmitPanel.razor.rz.scp.css */
/* QuickSubmitPanel — sticky left-column submit form */

.quick-submit-panel[b-25uljazbvv] {
    position: sticky;
    top: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.qsp-header[b-25uljazbvv] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-xs);
}

.qsp-title[b-25uljazbvv] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    flex: 1;
}

.qsp-close[b-25uljazbvv] {
    color: var(--text-secondary);
}

.qsp-form[b-25uljazbvv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.qsp-actions[b-25uljazbvv] {
    display: flex;
    gap: var(--space-sm);
    justify-content: stretch;
}

.qsp-actions > *[b-25uljazbvv] {
    flex: 1;
}

/* ── FAB (mobile) ── */
/* ── Inline notices (Task 5) — icon + text carry the state, color reinforces ── */
.qsp-notice[b-25uljazbvv] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    line-height: 1.3;
}

.qsp-notice-dryrun[b-25uljazbvv] {
    background: var(--warning-bg);
    color: var(--warning-text);
    border: 1px solid var(--warning-border);
}

.qsp-notice-blocked[b-25uljazbvv] {
    background: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-border);
}

.qsp-notice-probing[b-25uljazbvv] {
    background: var(--info-bg);
    color: var(--info-text);
    border: 1px solid var(--info-border);
}

.qsp-fab[b-25uljazbvv] {
    display: none;
    position: fixed;
    right: var(--space-md);
    bottom: var(--space-md);
    z-index: 1200;
}

@media (max-width: 640px) {
    .quick-submit-panel[b-25uljazbvv] {
        position: static;
        padding: var(--space-md);
    }

    .qsp-fab[b-25uljazbvv] {
        display: inline-flex;
    }

    .quick-submit-panel:not(.sheet-open) .qsp-form[b-25uljazbvv] {
        display: none;
    }

    .quick-submit-panel.sheet-open[b-25uljazbvv] {
        position: fixed;
        inset: 0;
        border-radius: 0;
        z-index: 1300;
        overflow-y: auto;
    }
}

/* ── Error shake when a submit is refused (breaker trip / server rejection).
     The notice element renders on failure, so the entry animation IS the shake. ── */
.qsp-notice-blocked[b-25uljazbvv] {
    animation: qsp-shake-b-25uljazbvv var(--pipeline-error-shake-duration) ease-in-out;
}
@keyframes qsp-shake-b-25uljazbvv {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-4px); }
    40% { transform: translateX(4px); }
    60% { transform: translateX(-3px); }
    80% { transform: translateX(2px); }
}
@media (prefers-reduced-motion: reduce) {
    .qsp-notice-blocked[b-25uljazbvv] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Queue/RejectedTasksPanel.razor.rz.scp.css */
/* RejectedTasksPanel — expandable list of rejections */

.rejected-panel[b-e16b21gocv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.rp-header[b-e16b21gocv] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.rp-title[b-e16b21gocv] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    flex: 1;
}

.rp-total[b-e16b21gocv] {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    color: var(--error-color);
    background: var(--error-bg);
    border-radius: var(--radius-full);
    font-family: var(--font-mono);
    font-weight: var(--font-bold);
}

.rp-empty[b-e16b21gocv] {
    padding: var(--space-md);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-sm);
}

.rp-panel-title[b-e16b21gocv] {
    display: flex;
    gap: var(--space-md);
    align-items: center;
    width: 100%;
}

.rp-panel-name[b-e16b21gocv] {
    flex: 1;
    font-weight: var(--font-medium);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rp-panel-reason[b-e16b21gocv] {
    padding: var(--space-xs) var(--space-sm);
    background: var(--error-bg);
    color: var(--error-color);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
}

.rp-panel-priority[b-e16b21gocv] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

.rp-panel-creator[b-e16b21gocv] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.rp-panel-body[b-e16b21gocv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-md) 0;
}

.rp-detail-label[b-e16b21gocv] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-xs);
}

.rp-detail-text[b-e16b21gocv] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--text-primary);
    white-space: pre-wrap;
    word-break: break-word;
}

.rp-actions[b-e16b21gocv] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
}
/* _content/Ayva.Polymorph/Components/Queue/StuckPipelinesPanel.razor.rz.scp.css */
/* StuckPipelinesPanel (UI redesign Task 5) — tokens only */

.spp-wrap[b-u0qp0c3st7] {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
}

.spp-selected[b-u0qp0c3st7] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
    align-self: center;
    white-space: nowrap;
}

/* ── Read-only note (fail-closed degradation) ── */
.spp-readonly[b-u0qp0c3st7] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: var(--space-md);
    border-radius: var(--radius-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

/* ── Confirm regions (guard rails) ── */
.spp-confirm[b-u0qp0c3st7] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    margin-bottom: var(--space-md);
    border-radius: var(--radius-md);
}

.spp-confirm-abort[b-u0qp0c3st7] {
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    color: var(--error-text);
}

.spp-confirm-resubmit[b-u0qp0c3st7] {
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    color: var(--warning-text);
}

.spp-confirm-text[b-u0qp0c3st7] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.4;
}

.spp-confirm-controls[b-u0qp0c3st7] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.spp-limit-field[b-u0qp0c3st7] {
    max-width: 110px;
}

/* ── Table ── */
.spp-table[b-u0qp0c3st7] {
    display: flex;
    flex-direction: column;
    font-size: var(--text-xs);
    color: var(--text-primary);
}

.spp-row[b-u0qp0c3st7] {
    display: grid;
    grid-template-columns: auto 70px 150px 1.6fr 1.4fr 1fr auto;
    gap: var(--space-sm);
    align-items: center;
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--border-subtle);
}

.spp-row:last-child[b-u0qp0c3st7] {
    border-bottom: none;
}

.spp-row-head[b-u0qp0c3st7] {
    color: var(--text-secondary);
    font-weight: var(--font-medium);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.spp-age[b-u0qp0c3st7] {
    color: var(--warning-text);
    font-weight: var(--font-medium);
    white-space: nowrap;
}

.spp-corr[b-u0qp0c3st7] {
    font-family: var(--font-mono);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.spp-directive[b-u0qp0c3st7],
.spp-reason[b-u0qp0c3st7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-secondary);
}

/* ── Per-row results — icon/text carry the state, color reinforces ── */
.spp-result-chip[b-u0qp0c3st7] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.spp-result-succeeded[b-u0qp0c3st7] {
    background: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-border);
}

.spp-result-failed[b-u0qp0c3st7] {
    background: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-border);
}

.spp-result-skipped[b-u0qp0c3st7] {
    background: var(--bg-secondary);
    color: var(--text-muted);
    border: 1px solid var(--border-color);
}

/* ── Inspect link ── */
.spp-inspect[b-u0qp0c3st7] {
    color: var(--accent-color);
    text-decoration: none;
    white-space: nowrap;
    font-weight: var(--font-medium);
}

.spp-inspect:hover[b-u0qp0c3st7] {
    text-decoration: underline;
}

.spp-inspect:focus-visible[b-u0qp0c3st7] {
    outline: none;
    box-shadow: var(--shadow-focus);
    border-radius: var(--radius-sm);
}

.visually-hidden[b-u0qp0c3st7] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (max-width: 768px) {
    .spp-row[b-u0qp0c3st7] {
        grid-template-columns: auto 60px 1fr auto;
    }

    .spp-directive[b-u0qp0c3st7],
    .spp-reason[b-u0qp0c3st7],
    .spp-result[b-u0qp0c3st7] {
        display: none;
    }
}
/* _content/Ayva.Polymorph/Components/QuickChatPanel.razor.rz.scp.css */
.qc-root[b-ps0hmjb12g] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 300px;
    max-height: calc(100vh - 220px);
    gap: 0.4rem;
}

.qc-controls[b-ps0hmjb12g] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.4rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
}

.qc-prompt[b-ps0hmjb12g] {
    width: 100%;
    background: var(--white-overlay-03);
    border: 1px solid var(--white-overlay-08);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    padding: 0.5rem;
    resize: vertical;
    transition: border-color 0.15s;
}

.qc-prompt:focus[b-ps0hmjb12g] {
    outline: none;
    border-color: var(--accent-color);
}

.qc-prompt:disabled[b-ps0hmjb12g] {
    opacity: 0.5;
    cursor: not-allowed;
}

.qc-buttons[b-ps0hmjb12g] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.qc-send[b-ps0hmjb12g],
.qc-cancel[b-ps0hmjb12g],
.qc-clear[b-ps0hmjb12g] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0.75rem;
    background: var(--white-overlay-05);
    border: 1px solid var(--white-overlay-08);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: all 0.15s;
}

.qc-send[b-ps0hmjb12g] {
    background: var(--accent-color-20);
    border-color: var(--accent-color-30);
}

.qc-send:hover:not(:disabled)[b-ps0hmjb12g] {
    background: var(--accent-color-30);
}

.qc-cancel[b-ps0hmjb12g] {
    background: var(--warning-color-15);
    border-color: var(--warning-color-30);
}

.qc-cancel:hover:not(:disabled)[b-ps0hmjb12g] {
    background: var(--warning-color-20);
}

.qc-clear:hover:not(:disabled)[b-ps0hmjb12g] {
    background: var(--white-overlay-08);
}

.qc-send:disabled[b-ps0hmjb12g],
.qc-cancel:disabled[b-ps0hmjb12g],
.qc-clear:disabled[b-ps0hmjb12g] {
    opacity: 0.4;
    cursor: not-allowed;
}

.qc-spacer[b-ps0hmjb12g] {
    flex: 1;
}

.qc-stats[b-ps0hmjb12g] {
    font-size: var(--text-2xs);
    color: var(--white-overlay-70);
}

.qc-history[b-ps0hmjb12g] {
    flex: 1;
    overflow-y: auto;
    scroll-behavior: smooth;
    padding: 0.4rem;
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.qc-empty[b-ps0hmjb12g] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: var(--white-overlay-40);
    text-align: center;
    padding: 2rem;
}

.qc-empty p[b-ps0hmjb12g] {
    margin: 0;
    font-size: var(--text-xs-plus);
}

.qc-empty .muted[b-ps0hmjb12g] {
    font-size: var(--text-2xs);
    color: var(--white-overlay-30);
}

.qc-msg[b-ps0hmjb12g] {
    border-radius: var(--radius-sm);
    padding: 0.5rem 0.75rem;
    border-left: 2px solid var(--white-overlay-08);
}

.qc-msg.qc-user[b-ps0hmjb12g] {
    background: var(--accent-color-5);
    border-left-color: var(--accent-color);
}

.qc-msg.qc-assistant[b-ps0hmjb12g] {
    background: var(--white-overlay-03);
    border-left-color: var(--success-color);
}

.qc-msg.qc-streaming[b-ps0hmjb12g] {
    border-left-color: var(--warning-color);
    animation: qc-pulse-b-ps0hmjb12g 2s infinite;
}

@keyframes qc-pulse-b-ps0hmjb12g {
    0%, 100% { border-left-color: var(--warning-color); }
    50% { border-left-color: var(--warning-color-50); }
}

.qc-msg-head[b-ps0hmjb12g] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.3rem;
    font-size: var(--text-2xs);
}

.qc-msg-role[b-ps0hmjb12g] {
    font-weight: 600;
    color: var(--text-primary);
}

.qc-msg-time[b-ps0hmjb12g],
.qc-msg-tokens[b-ps0hmjb12g] {
    color: var(--white-overlay-50);
}

.qc-msg-error[b-ps0hmjb12g] {
    color: var(--error-color);
    margin-left: auto;
}

.qc-msg-body[b-ps0hmjb12g] {
    margin: 0;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-primary);
    background: transparent;
}

/* ── Prompt cap surfaces (Task 8 — mirrors InjectMessage's 30k cap) ── */

.qc-cap[b-ps0hmjb12g] {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.qc-cap-over[b-ps0hmjb12g] {
    color: var(--error-color);
    font-weight: var(--font-bold);
}

.qc-cap-error[b-ps0hmjb12g] {
    padding: var(--space-xs) var(--space-sm);
    border-left: 2px solid var(--error-color);
    background: var(--error-color-8);
    color: var(--error-color);
    font-size: var(--text-sm);
    border-radius: var(--radius-sm);
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .qc-msg.qc-streaming[b-ps0hmjb12g] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/ScheduleCalendar.razor.rz.scp.css */
.sc-section-head[b-b6x7rjur9n] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding-bottom: var(--space-xs);
    border-bottom: 1px solid var(--border-color);
}

.sc-section-head h3[b-b6x7rjur9n] {
    margin: 0;
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

.sc-hangfire-count[b-b6x7rjur9n] {
    margin-left: auto;
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.sc-engine[b-b6x7rjur9n], .sc-hangfire[b-b6x7rjur9n] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
}

.sc-metrics[b-b6x7rjur9n] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--space-sm);
}

.sc-metric[b-b6x7rjur9n] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-xs) var(--space-sm);
    background: var(--pipeline-glass-hover);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
}

.sc-metric-label[b-b6x7rjur9n] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sc-metric-val[b-b6x7rjur9n] {
    font-family: var(--font-mono);
    font-size: var(--text-lg);
    color: var(--text-primary);
    font-weight: var(--font-semibold);
}

.sc-interval-row[b-b6x7rjur9n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.sc-interval-row label[b-b6x7rjur9n] {
    min-width: 240px;
    flex: 0 0 auto;
}

.sc-interval-row input[type="range"][b-b6x7rjur9n] {
    flex: 1;
    min-width: 160px;
    accent-color: var(--accent-color);
}

.sc-interval-row input[type="range"]:focus-visible[b-b6x7rjur9n] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.sc-interval-display[b-b6x7rjur9n] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    color: var(--accent-color);
    min-width: 60px;
    text-align: right;
}

.sc-empty[b-b6x7rjur9n] {
    padding: var(--space-md);
    text-align: center;
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.sc-jobs[b-b6x7rjur9n] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.sc-job[b-b6x7rjur9n] {
    display: grid;
    grid-template-columns: 2fr 1.2fr 1fr 1fr;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    transition: var(--transition-fast);
}

.sc-job:hover[b-b6x7rjur9n] {
    background: var(--bg-hover);
}

.sc-job-head[b-b6x7rjur9n] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--border-color);
}

.sc-job-id[b-b6x7rjur9n] {
    font-family: var(--font-mono);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--accent-color);
}

.sc-job-cron code[b-b6x7rjur9n] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    background: var(--black-overlay-20);
    padding: 1px 4px;
    border-radius: var(--radius-2xs);
    color: var(--warning-color);
}

.sc-job-time[b-b6x7rjur9n] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

@media (max-width: 640px) {
    .sc-job[b-b6x7rjur9n] {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
    .sc-job > :nth-child(3)[b-b6x7rjur9n] {
        display: none;
    }
    .sc-interval-row label[b-b6x7rjur9n] {
        min-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sc-job[b-b6x7rjur9n] { transition: none; }
}
/* _content/Ayva.Polymorph/Components/Shared/AttachmentList.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   AttachmentList — file attachment display with chips or cards
   ═══════════════════════════════════════════════════════════════ */

/* Chip mode (compact) */
.attachment-list.al-chips[b-sm8sdm49g0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

/* Card/preview mode */
.attachment-list.al-cards[b-sm8sdm49g0] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

/* ── Chip Style ── */

.al-chip[b-sm8sdm49g0] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    background: var(--white-overlay-04);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: 2px var(--space-xs);
    font-size: var(--text-xs);
    transition: border-color var(--transition-fast);
}

.al-chip:hover[b-sm8sdm49g0] {
    border-color: var(--accent-color);
}

.al-chip-name[b-sm8sdm49g0] {
    color: var(--text-primary);
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.al-chip-size[b-sm8sdm49g0] {
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-3xs);
}

.al-chip-remove[b-sm8sdm49g0] {
    opacity: 0.5;
    transition: opacity var(--transition-fast);
}

.al-chip-remove:hover[b-sm8sdm49g0] {
    opacity: 1;
}

/* ── Card Style ── */

.al-card-wrapper[b-sm8sdm49g0] {
    position: relative;
    display: inline-flex;
}

[b-sm8sdm49g0] .al-remove-btn {
    position: absolute;
    top: -4px;
    right: -4px;
    background: var(--error-color) !important;
    color: white !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50%;
    opacity: 0;
    transition: opacity var(--transition-fast);
    z-index: 2;
}

.al-card-wrapper:hover[b-sm8sdm49g0]  .al-remove-btn {
    opacity: 1;
}

[b-sm8sdm49g0] .al-remove-btn:hover {
    opacity: 1;
    transform: scale(1.1);
}
/* _content/Ayva.Polymorph/Components/Shared/FilePreview.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   FilePreview — multi-format file preview component
   ═══════════════════════════════════════════════════════════════ */

.file-preview[b-djf6yb1gsb] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--white-overlay-02);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    width: 140px;
    min-height: 100px;
    cursor: default;
}

.file-preview:hover[b-djf6yb1gsb] {
    border-color: var(--accent-color);
    box-shadow: 0 2px 8px var(--black-overlay-20);
}

/* ── Image Preview ── */

.fp-image-container[b-djf6yb1gsb] {
    width: 100%;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--black-overlay-15);
}

.fp-thumbnail[b-djf6yb1gsb] {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    border-radius: 0;
}

.fp-image-placeholder[b-djf6yb1gsb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--text-muted);
    opacity: 0.4;
}

/* ── PDF / Document Preview ── */

.fp-doc-container[b-djf6yb1gsb] {
    width: 100%;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--black-overlay-10);
}

.fp-pdf-embed[b-djf6yb1gsb] {
    width: 100%;
    height: 100%;
    border: none;
}

.fp-doc-fallback[b-djf6yb1gsb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: var(--text-muted);
    opacity: 0.6;
}

.fp-doc-fallback span[b-djf6yb1gsb] {
    font-size: var(--text-3xs);
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Text Preview ── */

.fp-text-container[b-djf6yb1gsb] {
    width: 100%;
    height: 90px;
    overflow: hidden;
    background: var(--black-overlay-15);
    padding: var(--space-xs);
}

.fp-text-content[b-djf6yb1gsb] {
    font-family: var(--font-mono);
    font-size: var(--text-6xs);
    line-height: 1.3;
    color: var(--text-secondary);
    margin: 0;
    overflow: hidden;
    white-space: pre-wrap;
    word-break: break-all;
}

/* ── Metadata Footer ── */

.fp-meta[b-djf6yb1gsb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px var(--space-xs);
    border-top: 1px solid var(--border-subtle);
    background: var(--black-overlay-05);
    min-height: 22px;
}

.fp-name[b-djf6yb1gsb] {
    font-size: var(--text-xs);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.fp-size[b-djf6yb1gsb] {
    font-size: var(--text-3xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    flex-shrink: 0;
    margin-left: var(--space-xs);
}
/* _content/Ayva.Polymorph/Components/Shared/FileUploadZone.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   FileUploadZone — shared drag-drop file upload component
   ═══════════════════════════════════════════════════════════════ */

.file-upload-zone[b-oeuk3lw3wj] {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-sm);
    padding: var(--space-xs) var(--space-sm);
    transition: all var(--transition-fast);
    cursor: pointer;
    min-width: 120px;
}

.file-upload-zone:hover[b-oeuk3lw3wj],
.file-upload-zone.drag-active[b-oeuk3lw3wj] {
    border-color: var(--accent-color);
    background: var(--accent-color-6);
}

/* Expanded (non-compact) mode */
.file-upload-zone:not(.compact)[b-oeuk3lw3wj] {
    flex-direction: column;
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-md);
    min-height: 80px;
    justify-content: center;
}

/* Wrapper hides the native <input type="file"> rendered by InputFile.
   Using position/overflow instead of display:none so the <label for="id">
   click-through still works across all browsers. */
.fuz-input-wrapper[b-oeuk3lw3wj] {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.fuz-drop-label[b-oeuk3lw3wj] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    cursor: pointer;
    font-size: var(--text-xs);
    color: var(--text-secondary);
    white-space: nowrap;
    width: 100%;
}

.file-upload-zone:not(.compact) .fuz-drop-label[b-oeuk3lw3wj] {
    justify-content: center;
}

.fuz-drop-label:hover[b-oeuk3lw3wj] {
    color: var(--accent-color);
}

.fuz-drop-content[b-oeuk3lw3wj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    text-align: center;
}

.fuz-drop-icon[b-oeuk3lw3wj] {
    color: var(--text-secondary);
    opacity: 0.5;
    transition: all var(--transition-fast);
}

.file-upload-zone:hover .fuz-drop-icon[b-oeuk3lw3wj],
.file-upload-zone.drag-active .fuz-drop-icon[b-oeuk3lw3wj] {
    color: var(--accent-color);
    opacity: 1;
}

.fuz-drop-text[b-oeuk3lw3wj] {
    font-size: var(--text-sm);
    color: var(--text-primary);
    font-weight: 500;
}

.fuz-drop-hint[b-oeuk3lw3wj] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* ── Pending Files List ── */

.fuz-pending-files[b-oeuk3lw3wj] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.fuz-pending-file[b-oeuk3lw3wj] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    background: var(--white-overlay-04);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: 2px var(--space-xs);
    font-size: var(--text-xs);
}

.fuz-file-name[b-oeuk3lw3wj] {
    color: var(--text-primary);
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fuz-file-size[b-oeuk3lw3wj] {
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-3xs);
}

.fuz-file-remove[b-oeuk3lw3wj] {
    opacity: 0.5;
    transition: opacity var(--transition-fast);
}

.fuz-file-remove:hover[b-oeuk3lw3wj] {
    opacity: 1;
}
/* _content/Ayva.Polymorph/Components/Shared/PanelLayout.razor.rz.scp.css */
.abp-wrap[b-sfi7fpg0mn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--pipeline-glass);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    backdrop-filter: var(--glass-blur);
    box-shadow: var(--shadow-sm);
    transition: var(--transition-normal);
}

.abp-wrap:focus-within[b-sfi7fpg0mn] {
    border-color: var(--border-focus);
}

.abp-head[b-sfi7fpg0mn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--border-color);
    flex-wrap: wrap;
}

.abp-head-text[b-sfi7fpg0mn] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.abp-title[b-sfi7fpg0mn] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    margin: 0;
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    letter-spacing: 0.01em;
}

.abp-subtitle[b-sfi7fpg0mn] {
    margin: 0;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.abp-head-actions[b-sfi7fpg0mn] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.abp-filters[b-sfi7fpg0mn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) 0;
}

.abp-body[b-sfi7fpg0mn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-height: 0;
}

.abp-loading[b-sfi7fpg0mn] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-xl) var(--space-md);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.abp-empty[b-sfi7fpg0mn] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl) var(--space-md);
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-md);
    background: var(--white-overlay-03);
}

.abp-foot[b-sfi7fpg0mn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

@media (max-width: 640px) {
    .abp-wrap[b-sfi7fpg0mn] {
        padding: var(--space-md);
    }
    .abp-head[b-sfi7fpg0mn] {
        flex-direction: column;
        gap: var(--space-sm);
    }
    .abp-head-actions[b-sfi7fpg0mn] {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .abp-title[b-sfi7fpg0mn] {
        font-size: var(--text-base);
    }
}

@media (prefers-reduced-motion: reduce) {
    .abp-wrap[b-sfi7fpg0mn] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Components/StatusStrip/ApprovalsFlyout.razor.rz.scp.css */
/* ApprovalsFlyout — approvals center overlay (UI redesign Task 1).
   Tokens only: --pipeline-glass stack, status families, --text-*, --space-*, --radius-*. */

.afly-backdrop[b-oyhc57kmzp] {
    position: fixed;
    inset: 0;
    background: var(--pipeline-glass-deep);
    opacity: 0.6;
    z-index: 40;
}

.afly[b-oyhc57kmzp] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(440px, 100vw);
    display: flex;
    flex-direction: column;
    background: var(--pipeline-glass-deep);
    backdrop-filter: var(--pipeline-glass-deep-blur);
    -webkit-backdrop-filter: var(--pipeline-glass-deep-blur);
    border-left: 1px solid var(--border-color);
    box-shadow: var(--shadow-xl);
    transform: translateX(100%);
    visibility: hidden;
    transition: transform var(--transition-smooth), visibility var(--transition-smooth);
    z-index: 41;
}

.afly.open[b-oyhc57kmzp] {
    transform: translateX(0);
    visibility: visible;
}

/* ── Header ── */

.afly-head[b-oyhc57kmzp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-dark);
    border-bottom: 1px solid var(--border-subtle);
}

.afly-title[b-oyhc57kmzp] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

.afly-title-ico[b-oyhc57kmzp] {
    color: var(--warning-color);
}

.afly-count[b-oyhc57kmzp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4em;
    padding: var(--space-xs);
    border-radius: var(--radius-full);
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    color: var(--warning-text);
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    line-height: 1;
}

.afly-close[b-oyhc57kmzp] {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    font-size: var(--text-base);
    cursor: pointer;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast), color var(--transition-fast);
}

.afly-close:hover[b-oyhc57kmzp] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.afly-close:focus-visible[b-oyhc57kmzp] {
    outline: none;
    box-shadow: var(--shadow-focus);
}

/* ── Read-only banner (permission gate) ── */

.afly-readonly[b-oyhc57kmzp] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: var(--space-sm) var(--space-lg) 0;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    background: var(--info-bg);
    border: 1px solid var(--info-border);
    color: var(--info-text);
    font-size: var(--text-xs);
}

/* ── Body / sections ── */

.afly-body[b-oyhc57kmzp] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-md) var(--space-lg) var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.afly-section[b-oyhc57kmzp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.afly-section-title[b-oyhc57kmzp] {
    margin: 0;
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted);
}

.afly-empty[b-oyhc57kmzp] {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: var(--pipeline-glass-surface);
    color: var(--text-muted);
    font-size: var(--text-sm);
    text-align: center;
}

/* ── Approval card ── */

.afly-item[b-oyhc57kmzp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-radius: var(--radius-lg);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    -webkit-backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-subtle);
    transition: border-color var(--transition-fast);
}

.afly-item.near-expiry[b-oyhc57kmzp] {
    border-color: var(--warning-border);
    box-shadow: var(--pipeline-glow-warning);
}

.afly-item.expired[b-oyhc57kmzp] {
    border-color: var(--border-subtle);
    opacity: 0.75;
}

.afly-item-resolved[b-oyhc57kmzp] {
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass-surface);
}

.afly-item-head[b-oyhc57kmzp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.afly-chip[b-oyhc57kmzp] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    line-height: 1;
    border: 1px solid var(--border-subtle);
    background: var(--pipeline-glass-surface);
    color: var(--text-secondary);
}

.afly-chip.chip-attention[b-oyhc57kmzp] { color: var(--warning-text); background: var(--warning-bg); border-color: var(--warning-border); }
.afly-chip.chip-completed[b-oyhc57kmzp] { color: var(--success-text); background: var(--success-bg); border-color: var(--success-border); }
.afly-chip.chip-rejected[b-oyhc57kmzp]  { color: var(--error-text);   background: var(--error-bg);   border-color: var(--error-border); }
.afly-chip.chip-stale[b-oyhc57kmzp]     { color: var(--warning-text); background: var(--warning-bg); border-color: var(--warning-border); }
.afly-chip.chip-expired[b-oyhc57kmzp]   { color: var(--text-muted); }

.afly-type[b-oyhc57kmzp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.afly-expiry[b-oyhc57kmzp] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.afly-expiry.is-amber[b-oyhc57kmzp] {
    color: var(--warning-text);
    font-weight: var(--font-semibold);
}

.afly-expiry.is-expired[b-oyhc57kmzp] {
    color: var(--text-muted);
}

.afly-desc[b-oyhc57kmzp] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.afly-branch[b-oyhc57kmzp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.afly-branch-name[b-oyhc57kmzp],
.afly-sha[b-oyhc57kmzp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    background: var(--pipeline-glass-surface);
    border: 1px solid var(--border-subtle);
    color: var(--text-secondary);
}

.afly-sha[b-oyhc57kmzp] {
    color: var(--secondary-accent);
}

.afly-meta[b-oyhc57kmzp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* ── Changed-file summary ── */

.afly-files[b-oyhc57kmzp] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    background: var(--pipeline-glass-surface);
    border: 1px solid var(--border-subtle);
}

.afly-files-none[b-oyhc57kmzp] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.afly-files-count[b-oyhc57kmzp] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
}

.afly-files-list[b-oyhc57kmzp] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.afly-files-list code[b-oyhc57kmzp] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-secondary);
    overflow-wrap: anywhere;
}

.afly-files-more[b-oyhc57kmzp] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.afly-link[b-oyhc57kmzp] {
    align-self: flex-start;
    background: transparent;
    border: none;
    padding: 0;
    font-size: var(--text-xs);
    color: var(--accent-color);
    cursor: pointer;
    text-decoration: underline;
}

.afly-link:hover[b-oyhc57kmzp] {
    color: var(--accent-hover);
}

/* ── Resolution result + actions ── */

.afly-result[b-oyhc57kmzp] {
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
}

.afly-result.ok[b-oyhc57kmzp] {
    background: var(--success-bg);
    border: 1px solid var(--success-border);
    color: var(--success-text);
}

.afly-result.refused[b-oyhc57kmzp] {
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    color: var(--warning-text);
}

.afly-actions[b-oyhc57kmzp] {
    display: flex;
    gap: var(--space-sm);
}

.afly-btn[b-oyhc57kmzp] {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    cursor: pointer;
    border: 1px solid var(--border-subtle);
    background: var(--pipeline-glass-surface);
    color: var(--text-secondary);
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.afly-btn.approve[b-oyhc57kmzp] {
    color: var(--success-text);
    border-color: var(--success-border);
    background: var(--success-bg);
}

.afly-btn.deny[b-oyhc57kmzp] {
    color: var(--error-text);
    border-color: var(--error-border);
    background: var(--error-bg);
}

.afly-btn:hover:not(:disabled)[b-oyhc57kmzp] {
    background: var(--bg-hover);
}

.afly-btn:focus-visible[b-oyhc57kmzp] {
    outline: none;
    box-shadow: var(--shadow-focus);
}

.afly-btn:disabled[b-oyhc57kmzp] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* ── Motion safety ── */

@media (prefers-reduced-motion: reduce) {
    .afly[b-oyhc57kmzp] {
        transition: none;
    }
}

/* ── Error shake on refused resolutions (reduced-motion gated below) ── */
.afly-result.refused[b-oyhc57kmzp] {
    animation: afly-shake-b-oyhc57kmzp var(--pipeline-error-shake-duration) ease-in-out;
}
@keyframes afly-shake-b-oyhc57kmzp {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-4px); }
    40% { transform: translateX(4px); }
    60% { transform: translateX(-3px); }
    80% { transform: translateX(2px); }
}
@media (prefers-reduced-motion: reduce) {
    .afly-result.refused[b-oyhc57kmzp] { animation: none; }
}

/* MudFocusTrap wrappers must stay transparent to the drawer's flex column */
.afly[b-oyhc57kmzp]  .mud-focus-trap,
.afly[b-oyhc57kmzp]  .mud-focus-trap-child-container {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: inherit;
}
/* _content/Ayva.Polymorph/Components/StatusStrip/PolymorphStatusStrip.razor.rz.scp.css */
/* PolymorphStatusStrip — persistent mission-control pills (UI redesign Task 1).
   Tokens only: --pipeline-glass stack, status families, --text-*, --space-*, --radius-*. */

.pstrip[b-zay976exvq] {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    -webkit-backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
}

.pstrip-pills[b-zay976exvq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
}

/* ── Pills ── */

.pill[b-zay976exvq] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
    border: 1px solid var(--border-subtle);
    background: var(--pipeline-glass-surface);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    line-height: 1;
    white-space: nowrap;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.pill-btn[b-zay976exvq] {
    cursor: pointer;
    font-family: inherit;
}

.pill-btn:hover[b-zay976exvq] {
    background: var(--bg-hover);
    border-color: var(--border-color-medium);
}

.pill-btn:focus-visible[b-zay976exvq] {
    outline: none;
    box-shadow: var(--shadow-focus);
}

.pill-ico[b-zay976exvq] {
    font-size: var(--text-xs);
    line-height: 1;
}

.pill-count[b-zay976exvq] {
    display: none; /* compact-mode count bubble — shown <640px */
}

/* Status families — color plus the pill's icon/text carry the state (non-color encoding) */
.pill.ok[b-zay976exvq]     { color: var(--success-text); border-color: var(--success-border); background: var(--success-bg); }
.pill.warn[b-zay976exvq]   { color: var(--warning-text); border-color: var(--warning-border); background: var(--warning-bg); }
.pill.danger[b-zay976exvq] { color: var(--error-text);   border-color: var(--error-border);   background: var(--error-bg); }
.pill.info[b-zay976exvq]   { color: var(--info-text);    border-color: var(--info-border);    background: var(--info-bg); }
.pill.dead[b-zay976exvq],
.pill.idle[b-zay976exvq]   { color: var(--text-muted); }

/* Utility pills (Task 8 — quick-chat drawer trigger): accent-toned, action-shaped. */
.pill-util[b-zay976exvq] {
    color: var(--accent-color);
    border-color: var(--accent-color-30);
    background: var(--accent-color-8);
}
.pill-util:hover[b-zay976exvq] {
    background: var(--accent-color-15);
    border-color: var(--accent-color);
}

/* ── Alive pulse dot ── */

.pill-dot[b-zay976exvq] {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--agent-idle);
    flex-shrink: 0;
}

.pill-dot.alive[b-zay976exvq] {
    background: var(--agent-active);
    animation: ac-pulse-kf-b-zay976exvq var(--pipeline-pulse-duration) infinite;
}

@keyframes ac-pulse-kf-b-zay976exvq {
    0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--agent-active) 50%, transparent); }
    70%  { box-shadow: 0 0 0 6px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

/* ── Health mini-gauge ── */

.gauge[b-zay976exvq] {
    display: inline-block;
    width: 36px;
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--bg-tertiary);
    overflow: hidden;
    flex-shrink: 0;
}

.gauge-fill[b-zay976exvq] {
    display: block;
    height: 100%;
    border-radius: var(--radius-full);
    background: var(--success-color);
    transition: width var(--transition-smooth);
}

.pill-health.health-healthy   .gauge-fill[b-zay976exvq] { background: var(--success-color); }
.pill-health.health-degraded  .gauge-fill[b-zay976exvq] { background: var(--warning-color); }
.pill-health.health-unhealthy .gauge-fill[b-zay976exvq],
.pill-health.health-critical  .gauge-fill[b-zay976exvq] { background: var(--error-color); }

.pill-health.health-degraded[b-zay976exvq]  { color: var(--warning-text); }
.pill-health.health-unhealthy[b-zay976exvq],
.pill-health.health-critical[b-zay976exvq]  { color: var(--error-text); }

/* ── <640px collapsed mode: icon pills + aggregate dot popover ── */

.pstrip-aggregate[b-zay976exvq] {
    display: none;
    align-items: center;
    justify-content: center;
    padding: var(--space-xs);
    border-radius: var(--radius-full);
    border: 1px solid var(--border-subtle);
    background: var(--pipeline-glass-surface);
    cursor: pointer;
}

.pstrip-aggregate:focus-visible[b-zay976exvq] {
    outline: none;
    box-shadow: var(--shadow-focus);
}

.agg-dot[b-zay976exvq] {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    background: var(--success-color);
}

.pstrip-aggregate.agg-warn   .agg-dot[b-zay976exvq] { background: var(--warning-color); }
.pstrip-aggregate.agg-danger .agg-dot[b-zay976exvq] { background: var(--error-color); }

.agg-dot.alive[b-zay976exvq] {
    animation: ac-pulse-kf-b-zay976exvq var(--pipeline-pulse-duration) infinite;
}

@media (max-width: 640px) {
    .pstrip-aggregate[b-zay976exvq] { display: inline-flex; }

    /* Icon-only pills; the aggregate dot expands the full set as a popover. */
    .pill-text[b-zay976exvq] { display: none; }
    .pill-count[b-zay976exvq] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.1em;
        font-size: var(--text-xs);
        font-weight: var(--font-bold);
    }

    .pstrip:not(.agg-open) .pstrip-pills[b-zay976exvq] { display: none; }

    .pstrip.agg-open .pstrip-pills[b-zay976exvq] {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        position: absolute;
        top: 100%;
        left: 0;
        right: auto;
        margin-top: var(--space-xs);
        padding: var(--space-sm);
        background: var(--pipeline-glass-deep);
        backdrop-filter: var(--pipeline-glass-deep-blur);
        -webkit-backdrop-filter: var(--pipeline-glass-deep-blur);
        border: 1px solid var(--border-color);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-lg);
        z-index: 30;
    }

    .pstrip.agg-open .pill-text[b-zay976exvq] { display: inline; }
    .pstrip.agg-open .pill-count[b-zay976exvq] { display: none; }
}

/* ── Motion safety ── */

@media (prefers-reduced-motion: reduce) {
    .pill-dot.alive[b-zay976exvq],
    .agg-dot.alive[b-zay976exvq] {
        animation: none;
    }
    .gauge-fill[b-zay976exvq] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Components/StatusStrip/QuickChatDrawer.razor.rz.scp.css */
/* QuickChatDrawer — strip utility drawer hosting QuickChatPanel (UI redesign Task 8).
   Tokens only: --pipeline-glass stack, --text-*, --space-*, --radius-*. */

.qcd-backdrop[b-25s89w0g9h] {
    position: fixed;
    inset: 0;
    background: var(--pipeline-glass-deep);
    opacity: 0.6;
    z-index: 40;
}

.qcd[b-25s89w0g9h] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(520px, 100vw);
    display: flex;
    flex-direction: column;
    background: var(--pipeline-glass-deep);
    backdrop-filter: var(--pipeline-glass-deep-blur);
    -webkit-backdrop-filter: var(--pipeline-glass-deep-blur);
    border-left: 1px solid var(--border-color);
    box-shadow: var(--shadow-xl);
    transform: translateX(100%);
    visibility: hidden;
    transition: transform var(--transition-smooth), visibility var(--transition-smooth);
    z-index: 41;
}

.qcd.open[b-25s89w0g9h] {
    transform: translateX(0);
    visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
    .qcd[b-25s89w0g9h] {
        transition: none;
    }
}

.qcd-head[b-25s89w0g9h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-dark);
    border-bottom: 1px solid var(--border-subtle);
}

.qcd-title[b-25s89w0g9h] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--space-sm);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

.qcd-title-ico[b-25s89w0g9h] {
    color: var(--accent-color);
}

.qcd-sub[b-25s89w0g9h] {
    font-size: var(--text-xs);
    font-weight: var(--font-normal);
    color: var(--text-muted);
}

.qcd-close[b-25s89w0g9h] {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: var(--text-base);
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    transition: color var(--transition-fast), background var(--transition-fast);
}

.qcd-close:hover[b-25s89w0g9h] {
    color: var(--text-primary);
    background: var(--pipeline-glass-hover);
}

.qcd-close:focus-visible[b-25s89w0g9h] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.qcd-body[b-25s89w0g9h] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--space-md);
}

/* MudFocusTrap wrappers must stay transparent to the drawer's flex column */
.qcd[b-25s89w0g9h]  .mud-focus-trap,
.qcd[b-25s89w0g9h]  .mud-focus-trap-child-container {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: inherit;
}
/* _content/Ayva.Polymorph/Components/Submission/PipelineSubmissionModal.razor.rz.scp.css */
/*
 * PipelineSubmissionModal - Glassmorphic Wizard Modal
 * Shell, header, step indicator, slide transitions, and navigation
 * Step content styles are in their respective extracted components
 */

/* ==========================================================================
   MODAL SHELL
   ========================================================================== */

[b-9il4mrirkk] .submission-modal {
    background: var(--dialog-bg-glass) !important;
    backdrop-filter: var(--glass-blur-strong) !important;
    -webkit-backdrop-filter: var(--glass-blur-strong) !important;
    border: 1px solid var(--dialog-border) !important;
    border-radius: var(--dialog-radius) !important;
    box-shadow: var(--dialog-shadow) !important;
    max-width: 880px !important;
    width: 95vw !important;
    overflow: hidden;
    animation: dialogEnter-b-9il4mrirkk 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes dialogEnter-b-9il4mrirkk {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* ==========================================================================
   HEADER
   ========================================================================== */

.modal-header[b-9il4mrirkk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

.modal-title-row[b-9il4mrirkk] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.modal-icon[b-9il4mrirkk] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--radius-lg);
    background: var(--accent-color-15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-color);
    flex-shrink: 0;
}

.modal-title-text[b-9il4mrirkk] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.modal-heading[b-9il4mrirkk] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-lg);
    color: var(--text-primary);
    line-height: 1.3;
}

.modal-subheading[b-9il4mrirkk] {
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    color: var(--text-secondary);
    line-height: 1.3;
}

.modal-close-btn[b-9il4mrirkk] {
    flex-shrink: 0;
    color: var(--text-secondary) !important;
    opacity: 0.7;
    transition: all var(--transition-fast);
}

.modal-close-btn:hover[b-9il4mrirkk] {
    opacity: 1;
    color: var(--text-primary) !important;
    background: var(--bg-hover) !important;
}

/* ==========================================================================
   STEP INDICATOR
   ========================================================================== */

.step-indicator[b-9il4mrirkk] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0 var(--space-xl);
}

.step-node[b-9il4mrirkk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity var(--transition-fast);
}

.step-node.upcoming[b-9il4mrirkk] {
    cursor: default;
    opacity: 0.6;
}

.step-node.completed:hover .step-circle[b-9il4mrirkk] {
    box-shadow: 0 0 12px var(--accent-color-30);
    transform: scale(1.05);
}

.step-node.active[b-9il4mrirkk] {
    cursor: default;
}

.step-circle[b-9il4mrirkk] {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    background: var(--bg-secondary);
    border: 2px solid var(--border-subtle);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    transition: all var(--transition-smooth);
}

.step-label[b-9il4mrirkk] {
    font-family: var(--font-primary);
    font-size: var(--text-2xs);
    font-weight: var(--font-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color var(--transition-smooth);
}

/* Active step */
.step-node.active .step-circle[b-9il4mrirkk] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-primary);
    box-shadow: 0 0 16px var(--accent-color-30);
}

/* Pulsing glow on active step circle while eval is loading */
.step-node.active.evaluating .step-circle[b-9il4mrirkk] {
    animation: stepEvalPulse-b-9il4mrirkk 1.8s ease-in-out infinite;
}

@keyframes stepEvalPulse-b-9il4mrirkk {
    0%, 100% {
        box-shadow: 0 0 16px var(--accent-color-30);
    }
    50% {
        box-shadow: 0 0 24px var(--accent-color-50), 0 0 40px var(--accent-color-20);
    }
}

.step-node.active .step-label[b-9il4mrirkk] {
    color: var(--accent-color);
}

/* Completed step */
.step-node.completed .step-circle[b-9il4mrirkk] {
    background: var(--accent-color-20);
    border-color: var(--accent-color);
    color: var(--accent-light);
}

.step-node.completed .step-label[b-9il4mrirkk] {
    color: var(--text-secondary);
}

/* Connector line */
.step-connector[b-9il4mrirkk] {
    width: 60px;
    height: 2px;
    background: var(--border-subtle);
    margin: 0 var(--space-sm);
    margin-bottom: 1.25rem; /* align with circles, not labels */
    border-radius: var(--radius-full);
    transition: background var(--transition-smooth);
    position: relative;
    overflow: hidden;
}

.step-connector[b-9il4mrirkk]::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: var(--accent-color);
    border-radius: var(--radius-full);
    transition: width var(--transition-smooth);
}

.step-connector.completed[b-9il4mrirkk]::after {
    width: 100%;
}

/* ==========================================================================
   CONTENT AREA & SLIDE TRANSITIONS
   ========================================================================== */

/* Override MudDialog's default overflow-y:auto on .mud-dialog-content
   which clips the 300%-wide slide container and can cause blank panels */
[b-9il4mrirkk] .mud-dialog-content {
    overflow: hidden !important;
    padding: 0 !important;
}

.step-content-area[b-9il4mrirkk] {
    overflow: hidden;
    position: relative;
    min-height: 360px;
    border-top: 1px solid var(--border-subtle);
}

.step-slide-container[b-9il4mrirkk] {
    display: flex;
    align-items: stretch;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    width: 300%;
    will-change: transform;
}

.step-panel[b-9il4mrirkk] {
    width: 33.333%;
    flex-shrink: 0;
    min-height: 360px;
}

/* Rejection banner wrapper */
.rejection-wrapper[b-9il4mrirkk] {
    padding: var(--space-md) var(--space-xl) 0;
}

/* ==========================================================================
   NAVIGATION BAR
   ========================================================================== */

[b-9il4mrirkk] .submission-actions {
    padding: 0 !important;
    background: transparent !important;
    border-top: none !important;
}

.nav-bar[b-9il4mrirkk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-xl);
    background: var(--black-overlay-20);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-top: 1px solid var(--border-subtle);
    width: 100%;
}

.nav-left[b-9il4mrirkk],
.nav-right[b-9il4mrirkk] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.nav-btn[b-9il4mrirkk] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-xl);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all var(--transition-smooth);
    border: none;
    outline: none;
}

.nav-btn:disabled[b-9il4mrirkk] {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.nav-btn:focus-visible[b-9il4mrirkk] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.nav-btn.ghost[b-9il4mrirkk] {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
}

.nav-btn.ghost:hover:not(:disabled)[b-9il4mrirkk] {
    background: var(--bg-hover);
    color: var(--text-primary);
    border-color: var(--border-color-medium);
}

.nav-btn.primary[b-9il4mrirkk] {
    background: var(--accent-gradient);
    color: var(--text-primary);
}

.nav-btn.primary:hover:not(:disabled)[b-9il4mrirkk] {
    background: var(--accent-gradient-hover);
    box-shadow: var(--shadow-accent);
    transform: translateY(-1px);
}

.nav-btn.primary:active:not(:disabled)[b-9il4mrirkk] {
    transform: translateY(0);
    box-shadow: none;
}

.nav-btn.submit[b-9il4mrirkk] {
    padding: var(--space-sm) var(--space-2xl);
}

[b-9il4mrirkk] .submit-spinner {
    color: var(--text-primary) !important;
    width: 18px !important;
    height: 18px !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 640px) {
    [b-9il4mrirkk] .submission-modal {
        max-width: 100vw !important;
        width: 100vw !important;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
        max-height: 90vh;
    }

    .step-indicator[b-9il4mrirkk] {
        padding: 0;
    }

    .step-connector[b-9il4mrirkk] {
        width: 32px;
    }

    .step-label[b-9il4mrirkk] {
        font-size: var(--text-5xs);
    }

    .nav-bar[b-9il4mrirkk] {
        padding: var(--space-sm) var(--space-md);
    }

    .nav-btn[b-9il4mrirkk] {
        padding: var(--space-sm) var(--space-md);
        font-size: var(--text-xs-plus);
    }

    .rejection-wrapper[b-9il4mrirkk] {
        padding: var(--space-sm) var(--space-md) 0;
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .step-node.active.evaluating .step-circle[b-9il4mrirkk],
    [b-9il4mrirkk] .submission-modal { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Submission/SubmissionRejectionBanner.razor.rz.scp.css */
/*
 * SubmissionRejectionBanner - Amber warning card
 * Slides down when a submission is rejected, offers edit or override actions
 */

.rejection-banner[b-34j9drhtyt] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-20);
    border-radius: var(--radius-lg);
    animation: bannerSlideDown-b-34j9drhtyt 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes bannerSlideDown-b-34j9drhtyt {
    from {
        opacity: 0;
        transform: translateY(-12px);
        max-height: 0;
    }
    to {
        opacity: 1;
        transform: translateY(0);
        max-height: 200px;
    }
}

.rejection-icon[b-34j9drhtyt] {
    color: var(--warning-color);
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.rejection-body[b-34j9drhtyt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.rejection-title[b-34j9drhtyt] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-xs-plus);
    color: var(--warning-text);
}

.rejection-detail[b-34j9drhtyt] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.4;
    word-break: break-word;
}

.rejection-actions[b-34j9drhtyt] {
    display: flex;
    gap: var(--space-xs);
    flex-shrink: 0;
}

.rejection-btn[b-34j9drhtyt] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all var(--transition-fast);
}

[b-34j9drhtyt] .rejection-btn .mud-icon-root {
    font-size: var(--text-sm) !important;
}

.rejection-btn.edit[b-34j9drhtyt] {
    background: transparent;
    border: 1px solid var(--warning-color-20);
    color: var(--warning-text);
}

.rejection-btn.edit:hover[b-34j9drhtyt] {
    background: var(--warning-color-15);
    border-color: var(--warning-color-30);
}

.rejection-btn.override[b-34j9drhtyt] {
    background: var(--error-color-15);
    border: 1px solid var(--error-border);
    color: var(--error-text);
}

.rejection-btn.override:hover[b-34j9drhtyt] {
    background: var(--error-color-20);
}

.rejection-btn:focus-visible[b-34j9drhtyt] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Responsive */
@media (max-width: 640px) {
    .rejection-banner[b-34j9drhtyt] {
        flex-direction: column;
        text-align: center;
    }

    .rejection-actions[b-34j9drhtyt] {
        width: 100%;
        justify-content: center;
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .rejection-banner[b-34j9drhtyt] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Submission/SubmissionStepInput.razor.rz.scp.css */
/*
 * SubmissionStepInput - Directive input step
 * Extracted from PipelineSubmissionModal Step 0
 */

.step-inner[b-tsou33kge5] {
    padding: var(--space-lg) var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.input-label[b-tsou33kge5] {
    display: block;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-xs);
}

.directive-textarea[b-tsou33kge5] {
    width: 100%;
    min-height: 140px;
    padding: var(--space-md) var(--space-lg);
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm-plus);
    line-height: 1.6;
    resize: vertical;
    outline: none;
    transition: all var(--transition-smooth);
    box-sizing: border-box;
}

.directive-textarea[b-tsou33kge5]::placeholder {
    color: var(--text-muted);
}

.directive-textarea:focus[b-tsou33kge5] {
    border-color: var(--border-focus);
    box-shadow: inset 0 0 20px var(--accent-color-10), var(--shadow-focus);
}

.directive-textarea:focus-visible[b-tsou33kge5] {
    outline: none;
}

.char-count[b-tsou33kge5] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-align: right;
    transition: color var(--transition-fast);
}

.char-count.insufficient[b-tsou33kge5] {
    color: var(--warning-color);
}

/* Attachment upload */
.attachment-section[b-tsou33kge5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.file-input[b-tsou33kge5] {
    display: none;
}

.file-upload-zone[b-tsou33kge5] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-lg);
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    cursor: pointer;
    transition: all var(--transition-smooth);
}

.file-upload-zone:hover[b-tsou33kge5] {
    border-color: var(--accent-color-30);
    background: var(--accent-color-5);
    color: var(--text-secondary);
}

.file-upload-zone:focus-within[b-tsou33kge5] {
    border-color: var(--border-focus);
    box-shadow: var(--shadow-focus);
    background: var(--accent-color-5);
}

[b-tsou33kge5] .upload-icon {
    color: var(--text-muted);
    font-size: var(--text-xl) !important;
}

.attachment-list[b-tsou33kge5] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.attachment-chip[b-tsou33kge5] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.attachment-name[b-tsou33kge5] {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.attachment-size[b-tsou33kge5] {
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
}

.attachment-remove[b-tsou33kge5] {
    color: var(--text-muted) !important;
    padding: 2px !important;
    min-width: 0 !important;
}

.attachment-remove:hover[b-tsou33kge5] {
    color: var(--error-color) !important;
}

/* Quick eval results */
.eval-result-card[b-tsou33kge5] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    transition: all var(--transition-smooth);
    animation: evalCardEnter-b-tsou33kge5 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes evalCardEnter-b-tsou33kge5 {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.eval-result-card:not(.loading):hover[b-tsou33kge5] {
    border-color: var(--accent-color-20);
    box-shadow: 0 0 16px var(--accent-color-10);
}

.eval-result-card.loading[b-tsou33kge5] {
    gap: var(--space-sm);
}

.eval-header[b-tsou33kge5] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

[b-tsou33kge5] .eval-icon {
    color: var(--accent-color) !important;
    font-size: var(--text-lg) !important;
}

.eval-title[b-tsou33kge5] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.eval-stale[b-tsou33kge5] {
    margin-left: auto;
    font-size: var(--text-2xs);
    color: var(--warning-color);
    font-style: italic;
}

.eval-body[b-tsou33kge5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm) var(--space-xl);
}

.eval-field[b-tsou33kge5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.eval-field-label[b-tsou33kge5] {
    font-size: var(--text-2xs);
    font-weight: var(--font-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.eval-field-value[b-tsou33kge5] {
    font-size: var(--text-xs-plus);
    color: var(--text-primary);
}

.eval-field-value.mono[b-tsou33kge5] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
}

/* Complexity dots */
.complexity-dots[b-tsou33kge5] {
    display: flex;
    gap: 4px;
    align-items: center;
    padding-top: 2px;
}

.complexity-dot[b-tsou33kge5] {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--border-subtle);
    transition: background var(--transition-fast);
}

.complexity-dot.filled[b-tsou33kge5] {
    background: var(--accent-color);
    box-shadow: 0 0 6px var(--accent-color-30);
    animation: dotFill-b-tsou33kge5 0.3s ease-out;
}

@keyframes dotFill-b-tsou33kge5 {
    from {
        transform: scale(0);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* Priority badge */
.priority-badge[b-tsou33kge5] {
    display: inline-block;
    padding: 1px var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    width: fit-content;
}

.priority-badge.low[b-tsou33kge5] {
    background: var(--info-color-15);
    color: var(--info-text);
}

.priority-badge.normal[b-tsou33kge5] {
    background: var(--accent-color-15);
    color: var(--accent-light);
}

.priority-badge.high[b-tsou33kge5] {
    background: var(--warning-color-15);
    color: var(--warning-text);
}

.priority-badge.critical[b-tsou33kge5] {
    background: var(--error-color-15);
    color: var(--error-text);
}

.fast-track-notice[b-tsou33kge5] {
    grid-column: 1 / -1;
    flex-direction: row !important;
    align-items: center;
    gap: var(--space-xs);
    color: var(--success-color);
    font-size: var(--text-xs-plus);
    font-weight: var(--font-medium);
    padding: var(--space-xs) var(--space-sm);
    background: var(--success-color-10);
    border-radius: var(--radius-sm);
}

.eval-summary[b-tsou33kge5] {
    font-size: var(--text-xs-plus);
    color: var(--text-secondary);
    line-height: 1.5;
    border-top: 1px solid var(--border-subtle);
    padding-top: var(--space-md);
}

/* Shimmer bars */
.shimmer-bar[b-tsou33kge5] {
    border-radius: var(--radius-sm);
    background: linear-gradient(
        90deg,
        var(--border-subtle) 0%,
        var(--bg-hover) 50%,
        var(--border-subtle) 100%
    );
    background-size: 200% 100%;
    animation: shimmer-b-tsou33kge5 1.8s ease-in-out infinite;
}

.shimmer-bar.shimmer-title[b-tsou33kge5] {
    height: 0.875rem;
    width: 60%;
}

.shimmer-bar.shimmer-body[b-tsou33kge5] {
    height: 0.625rem;
    width: 100%;
}

.shimmer-bar.shimmer-body.short[b-tsou33kge5] {
    width: 45%;
}

@keyframes shimmer-b-tsou33kge5 {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Responsive */
@media (max-width: 640px) {
    .step-inner[b-tsou33kge5] {
        padding: var(--space-md) var(--space-md);
    }

    .eval-body[b-tsou33kge5] {
        grid-template-columns: 1fr;
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .complexity-dot.filled[b-tsou33kge5],
    .eval-result-card[b-tsou33kge5],
    .shimmer-bar[b-tsou33kge5] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Submission/SubmissionStepParams.razor.rz.scp.css */
/*
 * SubmissionStepParams - Parameter configuration step
 * Extracted from PipelineSubmissionModal Step 1
 */

.step-inner[b-t1jjsc8vut] {
    padding: var(--space-lg) var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.input-label[b-t1jjsc8vut] {
    display: block;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--space-xs);
}

.params-grid[b-t1jjsc8vut] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.param-group[b-t1jjsc8vut] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.param-group.full-width[b-t1jjsc8vut] {
    grid-column: 1 / -1;
}

.param-input[b-t1jjsc8vut] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    outline: none;
    transition: all var(--transition-smooth);
    box-sizing: border-box;
}

.param-input.mono-input[b-t1jjsc8vut] {
    font-family: var(--font-mono);
    font-size: var(--text-xs-plus);
}

.param-input[b-t1jjsc8vut]::placeholder {
    color: var(--text-muted);
}

.param-input:focus[b-t1jjsc8vut] {
    border-color: var(--border-focus);
    box-shadow: var(--shadow-focus);
}

.param-input:focus-visible[b-t1jjsc8vut] {
    outline: none;
}

/* Priority selector */
.priority-selector[b-t1jjsc8vut] {
    display: flex;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.priority-btn[b-t1jjsc8vut] {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border: none;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all var(--transition-fast);
    border-right: 1px solid var(--border-subtle);
}

.priority-btn:last-child[b-t1jjsc8vut] {
    border-right: none;
}

.priority-btn:hover[b-t1jjsc8vut] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.priority-btn.active.low[b-t1jjsc8vut] {
    background: var(--info-color-15);
    color: var(--info-text);
}

.priority-btn.active.normal[b-t1jjsc8vut] {
    background: var(--accent-color-15);
    color: var(--accent-light);
}

.priority-btn.active.high[b-t1jjsc8vut] {
    background: var(--warning-color-15);
    color: var(--warning-text);
}

.priority-btn.active.critical[b-t1jjsc8vut] {
    background: var(--error-color-15);
    color: var(--error-text);
}

/* Active priority buttons get a subtle inner glow for stronger visual weight */
.priority-btn.active[b-t1jjsc8vut] {
    font-weight: var(--font-semibold);
    position: relative;
}

.priority-btn:focus-visible[b-t1jjsc8vut] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
    z-index: 1;
}

/* Toggle groups */
.toggle-group[b-t1jjsc8vut] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.toggle-row[b-t1jjsc8vut] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-md);
    gap: var(--space-md);
    border-bottom: 1px solid var(--border-subtle);
    transition: background var(--transition-fast);
}

.toggle-row:last-child[b-t1jjsc8vut] {
    border-bottom: none;
}

.toggle-row:hover[b-t1jjsc8vut] {
    background: var(--bg-hover);
}

.toggle-info[b-t1jjsc8vut] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    flex: 1;
}

.toggle-label[b-t1jjsc8vut] {
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    font-weight: var(--font-medium);
    color: var(--text-primary);
}

.toggle-desc[b-t1jjsc8vut] {
    font-size: var(--text-2xs);
    color: var(--text-muted);
    line-height: 1.3;
}

[b-t1jjsc8vut] .toggle-switch {
    flex-shrink: 0;
    margin: 0 !important;
}

[b-t1jjsc8vut] .toggle-switch .mud-switch-base {
    padding: var(--space-xs) !important;
}

.toggle-group.advanced[b-t1jjsc8vut] {
    border-color: var(--border-subtle);
    opacity: 0.85;
    transition: opacity var(--transition-smooth);
}

.toggle-group.advanced:hover[b-t1jjsc8vut] {
    opacity: 1;
}

/* Split detection panel */
.split-detect-panel[b-t1jjsc8vut] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-lg);
    margin-top: var(--space-sm);
    animation: statusFadeIn-b-t1jjsc8vut 0.3s ease-out;
}

.split-detect-panel.loading[b-t1jjsc8vut] {
    background: var(--info-color-5);
    border: 1px solid var(--info-color-15);
}

.split-detect-panel.detected[b-t1jjsc8vut] {
    background: var(--accent-color-5);
    border: 1px solid var(--accent-color-20);
}

.split-detect-header[b-t1jjsc8vut] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.split-detect-title[b-t1jjsc8vut] {
    font-weight: var(--font-semibold);
    color: var(--accent-light);
}

.split-detect-rationale[b-t1jjsc8vut] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.5;
    margin: 0;
    padding: 0 var(--space-xs);
}

.split-detect-directives[b-t1jjsc8vut] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.split-directive-row[b-t1jjsc8vut] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.split-directive-num[b-t1jjsc8vut] {
    width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
    background: var(--accent-color-15);
    color: var(--accent-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    flex-shrink: 0;
}

[b-t1jjsc8vut] .split-directive-row .mud-input-outlined {
    font-size: var(--text-sm) !important;
}

.split-detect-actions[b-t1jjsc8vut] {
    display: flex;
    gap: var(--space-sm);
    margin-top: var(--space-xs);
}

[b-t1jjsc8vut] .split-progress {
    border-radius: var(--radius-full) !important;
}

/* Team eval status card — prominent feedback */
.team-eval-status[b-t1jjsc8vut] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--accent-color-10);
    border: 1px solid var(--accent-color-20);
    border-radius: var(--radius-lg);
    margin-top: var(--space-sm);
    animation: statusFadeIn-b-t1jjsc8vut 0.3s ease-out;
}

@keyframes statusFadeIn-b-t1jjsc8vut {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.team-eval-icon-wrapper[b-t1jjsc8vut] {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-lg);
    background: var(--accent-color-15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--accent-color);
}

.team-eval-icon-wrapper.ready[b-t1jjsc8vut] {
    background: var(--success-color-15);
    color: var(--success-color);
}

.team-eval-icon-wrapper.fast-track[b-t1jjsc8vut] {
    background: var(--warning-color-15);
    color: var(--warning-color);
}

[b-t1jjsc8vut] .team-eval-icon.spinning {
    animation: teamSpin-b-t1jjsc8vut 2s linear infinite;
}

@keyframes teamSpin-b-t1jjsc8vut {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.team-eval-info[b-t1jjsc8vut] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.team-eval-title[b-t1jjsc8vut] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.team-eval-desc[b-t1jjsc8vut] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.4;
}

[b-t1jjsc8vut] .team-progress {
    border-radius: var(--radius-full) !important;
    margin-top: 4px;
}

.team-eval-status.ready[b-t1jjsc8vut] {
    background: var(--success-color-5);
    border-color: var(--success-color-15);
}

.team-eval-status.fast-track[b-t1jjsc8vut] {
    background: var(--warning-color-5);
    border-color: var(--warning-color-15);
}

.team-eval-status.loading[b-t1jjsc8vut] {
    background: var(--accent-color-5);
    border-color: var(--accent-color-15);
}

.team-eval-status:not(.loading):hover[b-t1jjsc8vut] {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Responsive */
@media (max-width: 640px) {
    .step-inner[b-t1jjsc8vut] {
        padding: var(--space-md) var(--space-md);
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .split-detect-panel[b-t1jjsc8vut],
    .team-eval-status[b-t1jjsc8vut] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Submission/SubmissionStepTeam.razor.rz.scp.css */
/*
 * SubmissionStepTeam - Team composition step
 * Extracted from PipelineSubmissionModal Step 2
 */

.step-inner[b-me3qp0yx77] {
    padding: var(--space-lg) var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

/* Team cards grid */
.team-cards-grid[b-me3qp0yx77] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-md);
}

/* Skeleton loading cards */
.team-skeleton-grid[b-me3qp0yx77] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-md);
}

.team-skeleton-card[b-me3qp0yx77] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    animation: skeletonFadeIn-b-me3qp0yx77 0.3s ease both;
    animation-delay: calc(var(--card-index) * 100ms);
}

@keyframes skeletonFadeIn-b-me3qp0yx77 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.shimmer-tags[b-me3qp0yx77] {
    display: flex;
    gap: 4px;
    margin-top: var(--space-xs);
}

.shimmer-bar[b-me3qp0yx77] {
    border-radius: var(--radius-sm);
    background: linear-gradient(
        90deg,
        var(--border-subtle) 0%,
        var(--bg-hover) 50%,
        var(--border-subtle) 100%
    );
    background-size: 200% 100%;
    animation: shimmer-b-me3qp0yx77 1.8s ease-in-out infinite;
}

.shimmer-bar.shimmer-avatar[b-me3qp0yx77] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--radius-md);
}

.shimmer-bar.shimmer-title[b-me3qp0yx77] {
    height: 0.875rem;
    width: 60%;
}

.shimmer-bar.shimmer-body[b-me3qp0yx77] {
    height: 0.625rem;
    width: 100%;
}

.shimmer-bar.shimmer-body.short[b-me3qp0yx77] {
    width: 45%;
}

.shimmer-bar.shimmer-tag[b-me3qp0yx77] {
    height: 1rem;
    width: 3.5rem;
    border-radius: var(--radius-xs);
}

@keyframes shimmer-b-me3qp0yx77 {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Warning banner */
.team-warning-banner[b-me3qp0yx77] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-lg);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-20);
    border-radius: var(--radius-lg);
}

[b-me3qp0yx77] .warning-icon {
    color: var(--warning-color) !important;
    font-size: var(--text-2xl) !important;
    flex-shrink: 0;
}

.warning-body[b-me3qp0yx77] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.warning-title[b-me3qp0yx77] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.warning-desc[b-me3qp0yx77] {
    font-size: var(--text-xs-plus);
    color: var(--text-secondary);
}

.warning-retry-btn[b-me3qp0yx77] {
    flex-shrink: 0;
}

/* Empty state */
.team-empty-state[b-me3qp0yx77] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-3xl) var(--space-xl);
    text-align: center;
}

[b-me3qp0yx77] .empty-icon {
    font-size: var(--text-4xl) !important;
    color: var(--text-muted) !important;
    opacity: 0.6;
}

[b-me3qp0yx77] .empty-icon.warning {
    color: var(--warning-color) !important;
}

[b-me3qp0yx77] .empty-icon.fast-track {
    color: var(--success-color) !important;
}

.empty-title[b-me3qp0yx77] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm-plus);
    color: var(--text-primary);
}

.empty-desc[b-me3qp0yx77] {
    font-size: var(--text-xs-plus);
    color: var(--text-secondary);
    max-width: 320px;
    line-height: 1.5;
}

/* Add member button */
.add-member-btn[b-me3qp0yx77] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-md);
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all var(--transition-smooth);
}

.add-member-btn:hover[b-me3qp0yx77] {
    border-color: var(--accent-color-30);
    background: var(--accent-color-5);
    color: var(--accent-light);
}

.add-member-btn:focus-visible[b-me3qp0yx77] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Add member form */
.add-member-form[b-me3qp0yx77] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    animation: formSlideIn-b-me3qp0yx77 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes formSlideIn-b-me3qp0yx77 {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.add-form-header[b-me3qp0yx77] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.add-form-title[b-me3qp0yx77] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.add-form-close[b-me3qp0yx77] {
    width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

.add-form-close:hover[b-me3qp0yx77] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.add-form-close:focus-visible[b-me3qp0yx77] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.add-form-fields[b-me3qp0yx77] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.add-form-group[b-me3qp0yx77] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.add-form-label[b-me3qp0yx77] {
    font-family: var(--font-primary);
    font-size: var(--text-2xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.add-form-input[b-me3qp0yx77],
.add-form-textarea[b-me3qp0yx77] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-primary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    outline: none;
    transition: all var(--transition-smooth);
    box-sizing: border-box;
}

.add-form-textarea[b-me3qp0yx77] {
    resize: vertical;
    min-height: 60px;
}

.add-form-input[b-me3qp0yx77]::placeholder,
.add-form-textarea[b-me3qp0yx77]::placeholder {
    color: var(--text-muted);
}

.add-form-input:focus[b-me3qp0yx77],
.add-form-textarea:focus[b-me3qp0yx77] {
    border-color: var(--border-focus);
    box-shadow: var(--shadow-focus);
}

.add-form-input:focus-visible[b-me3qp0yx77],
.add-form-textarea:focus-visible[b-me3qp0yx77] {
    outline: none;
}

.add-form-actions[b-me3qp0yx77] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
}

.add-form-btn[b-me3qp0yx77] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    font-weight: var(--font-medium);
    cursor: pointer;
    border: none;
    transition: all var(--transition-fast);
}

.add-form-btn:disabled[b-me3qp0yx77] {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.add-form-btn:focus-visible[b-me3qp0yx77] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.add-form-btn.generate[b-me3qp0yx77] {
    background: var(--bg-hover);
    color: var(--text-secondary);
    border: 1px solid var(--border-subtle);
}

.add-form-btn.generate:hover:not(:disabled)[b-me3qp0yx77] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-20);
    color: var(--accent-light);
}

.add-form-btn.add[b-me3qp0yx77] {
    background: var(--accent-color-15);
    color: var(--accent-light);
}

.add-form-btn.add:hover:not(:disabled)[b-me3qp0yx77] {
    background: var(--accent-color-20);
}

[b-me3qp0yx77] .gen-spinner {
    width: 16px !important;
    height: 16px !important;
    color: var(--text-secondary) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .team-cards-grid[b-me3qp0yx77],
    .team-skeleton-grid[b-me3qp0yx77] {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (max-width: 640px) {
    .step-inner[b-me3qp0yx77] {
        padding: var(--space-md) var(--space-md);
    }

    .team-cards-grid[b-me3qp0yx77],
    .team-skeleton-grid[b-me3qp0yx77] {
        grid-template-columns: 1fr;
    }

    .team-warning-banner[b-me3qp0yx77] {
        flex-direction: column;
        text-align: center;
    }

    .add-form-actions[b-me3qp0yx77] {
        flex-direction: column;
    }

    .add-form-btn[b-me3qp0yx77] {
        width: 100%;
        justify-content: center;
    }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .add-member-form[b-me3qp0yx77],
    .shimmer-bar[b-me3qp0yx77],
    .team-skeleton-card[b-me3qp0yx77] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Submission/TeamMemberCard.razor.rz.scp.css */
/*
 * TeamMemberCard - Glassmorphic reusable team member card
 * Showpiece component with accent stripe, staggered entrance, collapsible prompt
 */

.team-member-card[b-f742abqrkm] {
    position: relative;
    background: var(--pipeline-glass);
    backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    padding-top: calc(var(--space-lg) + 3px);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    transition: all var(--transition-smooth);
    overflow: hidden;
    animation: cardFadeIn-b-f742abqrkm 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
    animation-delay: calc(var(--card-index) * 80ms);
}

@keyframes cardFadeIn-b-f742abqrkm {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(8px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.team-member-card:hover[b-f742abqrkm] {
    border-color: var(--accent-color-30);
    box-shadow: var(--shadow-md), 0 0 20px color-mix(in srgb, var(--card-color) 10%, transparent);
    transform: translateY(-2px);
}

.team-member-card.prompt-open[b-f742abqrkm] {
    grid-column: 1 / -1;
}

/* Accent stripe - 3px top edge */
.card-accent-stripe[b-f742abqrkm] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--card-color);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

/* Status indicator dot */
.status-indicator[b-f742abqrkm] {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
}

.status-indicator.idle[b-f742abqrkm] {
    background: var(--text-muted);
    opacity: 0.4;
    animation: idlePulse-b-f742abqrkm 3s ease-in-out infinite;
}

@keyframes idlePulse-b-f742abqrkm {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.6; }
}

.status-indicator.active[b-f742abqrkm] {
    background: var(--accent-color);
    box-shadow: 0 0 8px var(--accent-color), 0 0 16px var(--accent-color-30);
    animation: activeGlow-b-f742abqrkm 1.5s ease-in-out infinite;
}

@keyframes activeGlow-b-f742abqrkm {
    0%, 100% { box-shadow: 0 0 8px var(--accent-color), 0 0 16px var(--accent-color-30); }
    50% { box-shadow: 0 0 12px var(--accent-color), 0 0 24px var(--accent-color-30); }
}

.status-indicator.completed[b-f742abqrkm] {
    background: var(--success-color);
    width: 16px;
    height: 16px;
}

[b-f742abqrkm] .status-indicator.completed .mud-icon-root {
    font-size: var(--text-3xs) !important;
    color: var(--bg-primary) !important;
}

/* Delete button */
.card-delete-btn[b-f742abqrkm] {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all var(--transition-fast);
    z-index: 2;
}

.team-member-card:hover .card-delete-btn[b-f742abqrkm] {
    opacity: 1;
}

.card-delete-btn:hover[b-f742abqrkm] {
    background: var(--error-color-15);
    color: var(--error-color);
}

.card-delete-btn:focus-visible[b-f742abqrkm] {
    outline: 2px solid var(--error-color);
    outline-offset: 2px;
    opacity: 1;
}

[b-f742abqrkm] .card-delete-btn .mud-icon-root {
    font-size: var(--text-sm) !important;
}

/* Header */
.card-header[b-f742abqrkm] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.card-avatar[b-f742abqrkm] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, color-mix(in srgb, var(--card-color) 30%, transparent), color-mix(in srgb, var(--card-color) 15%, transparent));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-primary);
    flex-shrink: 0;
    border: 1px solid color-mix(in srgb, var(--card-color) 25%, transparent);
}

[b-f742abqrkm] .card-avatar .mud-icon-root {
    font-size: var(--text-lg) !important;
}

.card-title-section[b-f742abqrkm] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.card-role[b-f742abqrkm] {
    font-family: var(--font-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    color: var(--text-primary);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-order[b-f742abqrkm] {
    font-size: var(--text-2xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

/* Expertise tags as pills */
.card-tags[b-f742abqrkm] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.expertise-pill[b-f742abqrkm] {
    padding: 2px var(--space-sm);
    background: var(--bg-hover);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-full);
    font-family: var(--font-mono);
    font-size: var(--text-3xs);
    color: var(--text-secondary);
    white-space: nowrap;
    transition: all var(--transition-fast);
}

.expertise-pill:hover[b-f742abqrkm] {
    border-color: color-mix(in srgb, var(--card-color) 40%, transparent);
    color: var(--text-primary);
}

.expertise-pill.overflow[b-f742abqrkm] {
    background: transparent;
    border-color: var(--border-color);
    color: var(--text-muted);
    font-style: italic;
}

/* Description */
.card-description[b-f742abqrkm] {
    font-size: var(--text-xs-plus);
    color: var(--text-secondary);
    line-height: 1.55;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.team-member-card.prompt-open .card-description[b-f742abqrkm] {
    -webkit-line-clamp: unset;
}

/* System prompt section */
.prompt-section[b-f742abqrkm] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-top: auto;
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-subtle);
}

.prompt-toggle[b-f742abqrkm] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) 0;
    background: none;
    border: none;
    color: var(--text-muted);
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
    cursor: pointer;
    transition: color var(--transition-fast);
}

.prompt-toggle:hover[b-f742abqrkm] {
    color: var(--text-secondary);
}

.prompt-toggle:focus-visible[b-f742abqrkm] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

[b-f742abqrkm] .prompt-toggle .mud-icon-root {
    font-size: var(--text-sm) !important;
}

.prompt-length[b-f742abqrkm] {
    margin-left: auto;
    opacity: 0.6;
    font-size: var(--text-3xs);
}

.prompt-content[b-f742abqrkm] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    animation: promptReveal-b-f742abqrkm 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes promptReveal-b-f742abqrkm {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.prompt-preview[b-f742abqrkm] {
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
    color: var(--text-secondary);
    line-height: 1.6;
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 200px;
    overflow-y: auto;
}

.prompt-editor[b-f742abqrkm] {
    width: 100%;
    font-family: var(--font-mono);
    font-size: var(--text-2xs);
    color: var(--text-primary);
    line-height: 1.6;
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    resize: vertical;
    outline: none;
    transition: border-color var(--transition-fast);
    box-sizing: border-box;
    min-height: 100px;
}

.prompt-editor:focus[b-f742abqrkm] {
    border-color: var(--border-focus);
    box-shadow: inset 0 0 12px var(--accent-color-5);
}

.prompt-editor:focus-visible[b-f742abqrkm] {
    outline: none;
}

.prompt-actions[b-f742abqrkm] {
    display: flex;
    gap: var(--space-xs);
    justify-content: flex-end;
}

.prompt-action-btn[b-f742abqrkm] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--text-2xs);
    font-weight: var(--font-medium);
    cursor: pointer;
    border: none;
    transition: all var(--transition-fast);
}

[b-f742abqrkm] .prompt-action-btn .mud-icon-root {
    font-size: var(--text-xs) !important;
}

.prompt-action-btn.save[b-f742abqrkm] {
    background: var(--accent-color-15);
    color: var(--accent-light);
}

.prompt-action-btn.save:hover[b-f742abqrkm] {
    background: var(--accent-color-20);
}

.prompt-action-btn.revert[b-f742abqrkm] {
    background: var(--bg-hover);
    color: var(--text-secondary);
}

.prompt-action-btn.revert:hover[b-f742abqrkm] {
    background: var(--border-subtle);
    color: var(--text-primary);
}

.prompt-action-btn:focus-visible[b-f742abqrkm] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .prompt-content[b-f742abqrkm],
    .status-indicator.active[b-f742abqrkm],
    .status-indicator.idle[b-f742abqrkm],
    .team-member-card[b-f742abqrkm] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Tabs/DashboardTab.razor.rz.scp.css */
/* DashboardTab — Mission Control (UI redesign Task 3). CSS isolation: shared utility
   classes used by this markup (.muted/.empty, abort button, pulse/spin keyframes,
   status chips) carry local copies. Glass surfaces ride the --pipeline-glass stack;
   entry/skeleton motion uses the --pipeline-* timing tokens with
   prefers-reduced-motion gates. */

.muted[b-b8727e42vp] { opacity: 0.4; font-size: var(--text-2xs); }
.empty[b-b8727e42vp] { text-align: center; padding: 3rem; opacity: 0.3; }

.abort-btn[b-b8727e42vp] { font-size: var(--text-6xs); font-weight: 700; padding: 0.1rem 0.4rem; border-radius: var(--radius-2xs); background: var(--error-color-15); color: var(--error-color); border: 1px solid var(--error-color); cursor: pointer; transition: all var(--transition-fast); font-family: var(--font-mono); letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; }
.abort-btn:hover[b-b8727e42vp] { background: var(--error-color-30); box-shadow: 0 0 8px var(--error-color-30); }

@keyframes pulse-b-b8727e42vp { 0%,100%{opacity:1} 50%{opacity:0.3} }
@keyframes spin-b-b8727e42vp { to { transform: rotate(360deg); } }

/* ── Shared status badges — class tokens come from PolymorphStatusMaps.CssClass ── */
.st[b-b8727e42vp] { font-size: var(--text-6xs); font-weight: 700; padding: 0.1rem 0.4rem; border-radius: var(--radius-2xs); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.st-queued[b-b8727e42vp] { background: var(--white-overlay-08); color: var(--text-secondary); }
.st-running[b-b8727e42vp] { background: var(--accent-color-12); color: var(--accent-color); }
.st-completed[b-b8727e42vp] { background: var(--success-color-12); color: var(--success-color); }
.st-failed[b-b8727e42vp], .st-rejected[b-b8727e42vp] { background: var(--error-color-12); color: var(--error-color); }
.st-resumable[b-b8727e42vp] { background: var(--warning-color-12); color: var(--warning-color); }
.st-stuck[b-b8727e42vp] { background: var(--warning-color-12); color: var(--warning-color); }
.st-attention[b-b8727e42vp] { background: var(--warning-color-12); color: var(--warning-color); }
.st-merge-verified[b-b8727e42vp] { background: var(--success-color-12); color: var(--success-text); border: 1px solid var(--success-border); }

.risk[b-b8727e42vp] { font-size: var(--text-5xs); font-weight: 700; padding: 0.08rem 0.3rem; border-radius: var(--radius-2xs); }
.r1[b-b8727e42vp] { background: var(--success-color-10); color: var(--success-color); }
.r2[b-b8727e42vp] { background: var(--info-color-10); color: var(--info-color); }
.r3[b-b8727e42vp] { background: var(--warning-color-10); color: var(--warning-color); }
.r4[b-b8727e42vp] { background: var(--error-color-10); color: var(--error-color); }
.r5[b-b8727e42vp] { background: var(--error-color-20); color: var(--error-color); }


/* ═══════════════════════════════════════════════════════════════════
   Mission Control — layout spine
   ═══════════════════════════════════════════════════════════════════ */

.noc[b-b8727e42vp] { display: flex; flex-direction: column; gap: 0.5rem; }

/* Staggered card entry — gated for prefers-reduced-motion below */
@keyframes mc-card-enter-b-b8727e42vp {
    from { opacity: 0; transform: translateY(8px) scale(0.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ═══════════════════════════════════════════════════════════════
   HERO — compact engine-state banner fused with the token sparkline
   (the status strip already carries pulse/health; the hero stays small)
   ═══════════════════════════════════════════════════════════════ */

.mc-hero[b-b8727e42vp] {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--border-color);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    transition: border-color var(--transition-normal), box-shadow var(--transition-normal);
    animation: mc-card-enter-b-b8727e42vp var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
}
.mc-hero.noc-exec[b-b8727e42vp] {
    border-color: var(--accent-color);
    box-shadow: 0 0 24px var(--accent-color-10), inset 0 0 40px var(--accent-color-5);
}
.mc-hero.noc-on[b-b8727e42vp] {
    border-color: var(--success-color-30);
    box-shadow: 0 0 16px var(--success-color-5);
}
.mc-hero.noc-off[b-b8727e42vp] {
    border-color: var(--border-color);
    opacity: 0.7;
}

/* Animated background pattern */
.noc-hero-bg[b-b8727e42vp] {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 20% 50%, var(--accent-color-5) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 50%, var(--secondary-accent-5) 0%, transparent 60%);
    z-index: 0;
}
.noc-exec .noc-hero-bg[b-b8727e42vp] {
    animation: noc-bg-shift-b-b8727e42vp 8s ease-in-out infinite alternate;
}
@keyframes noc-bg-shift-b-b8727e42vp {
    0% { background-position: 0% 50%; opacity: 1; }
    100% { background-position: 100% 50%; opacity: 0.85; }
}

/* Grid dots pattern overlay */
.noc-hero-bg[b-b8727e42vp]::after {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(var(--white-overlay-03) 1px, transparent 1px);
    background-size: 20px 20px;
    z-index: 0;
}

.mc-hero-content[b-b8727e42vp] {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: minmax(150px, auto) minmax(0, 1fr) minmax(220px, 300px);
    gap: var(--space-lg);
    align-items: stretch;
    padding: var(--space-md) var(--space-lg);
}

/* ── Engine state block (left) ── */
.mc-hero-state[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: var(--space-xs);
    justify-content: center;
    min-width: 0;
}
.hud-headline[b-b8727e42vp] {
    font-family: var(--font-primary);
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--text-primary);
    letter-spacing: 0.5px;
    line-height: 1.2;
}
/* Autonomy-mode color variants */
.hud-es-m0[b-b8727e42vp] { color: var(--text-secondary); }
.hud-es-m1[b-b8727e42vp] { color: var(--warning-color); }
.hud-es-m2[b-b8727e42vp] { color: var(--secondary-accent); }
.hud-es-m3[b-b8727e42vp] { color: var(--info-color); }
.hud-es-m4[b-b8727e42vp] { color: var(--accent-color); }
.hud-es-m5[b-b8727e42vp] { color: var(--success-color); }

.hud-subtitle[b-b8727e42vp] {
    font-size: var(--text-sm);
    font-family: var(--font-mono);
    color: var(--text-muted);
    font-weight: var(--font-normal);
    display: flex; align-items: center; gap: var(--space-xs); flex-wrap: wrap;
}
.mc-last-action[b-b8727e42vp] {
    font-size: var(--text-4xs); font-family: var(--font-mono);
    color: var(--text-muted); opacity: 0.7;
    display: inline-flex; align-items: center; gap: 0.25rem;
}
.mc-la-icon[b-b8727e42vp] { font-size: var(--text-6xs); opacity: 0.5; }

/* ── Active / last-run block (center) ── */
.mc-hero-run[b-b8727e42vp] {
    display: flex; flex-direction: column; justify-content: center;
    min-width: 0;
}
.mc-run[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: 0.35rem;
    padding: var(--space-sm) 0.6rem;
    background: var(--pipeline-glass-surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    min-width: 0;
}
.mc-run-idle[b-b8727e42vp] { opacity: 0.85; }
.mc-run-line[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
    min-width: 0;
}
.mc-run-directive[b-b8727e42vp] {
    flex: 1; font-size: var(--text-xs); font-weight: 600; opacity: 0.75;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    min-width: 0;
}
.mc-run-steps[b-b8727e42vp] {
    font-family: var(--font-mono); font-size: var(--text-xs-plus); font-weight: 700;
    color: var(--text-primary);
}
.mc-run-steps small[b-b8727e42vp] { font-size: var(--text-4xs); font-weight: 400; opacity: 0.4; }
.mc-run-pct[b-b8727e42vp] {
    font-family: var(--font-mono); font-size: var(--text-3xs); font-weight: 700;
    color: var(--accent-color); opacity: 0.7;
}
.mc-run-ago[b-b8727e42vp] {
    font-size: var(--text-5xs); font-family: var(--font-mono); opacity: 0.3; flex-shrink: 0;
}
.mc-run-detail[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.4rem; min-width: 0;
}
.mc-run-steptype[b-b8727e42vp] {
    font-size: var(--text-6xs); font-weight: 700; padding: 0.06rem 0.3rem;
    border-radius: var(--radius-2xs); text-transform: uppercase; letter-spacing: 0.3px;
    white-space: nowrap;
}
.mc-run-stepname[b-b8727e42vp] {
    font-weight: 600; font-size: var(--text-2xs); color: var(--text-primary); opacity: 0.8;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    min-width: 0;
}
.mc-run-elapsed[b-b8727e42vp] {
    font-family: var(--font-mono); font-size: var(--text-3xs); font-weight: 600;
    color: var(--accent-color); opacity: 0.8;
    margin-left: auto; flex-shrink: 0;
}
.mc-run-summary[b-b8727e42vp] {
    font-size: var(--text-4xs); opacity: 0.4; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
}
.hud-pi-label[b-b8727e42vp] {
    font-size: var(--text-6xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.4px; opacity: 0.3; margin-right: 0.2rem;
}

/* No pipeline at all */
.hud-pipeline-empty[b-b8727e42vp] {
    display: flex; align-items: center; justify-content: center; gap: var(--space-sm);
    padding: var(--space-md) 0;
    opacity: 0.25;
    font-size: var(--text-sm);
    font-family: var(--font-mono);
}
.hud-pe-icon[b-b8727e42vp] { font-size: var(--text-lg); opacity: 0.5; }
.hud-pe-text[b-b8727e42vp] { letter-spacing: 0.3px; }

/* Progress bar */
.hud-progress-track[b-b8727e42vp] {
    width: 100%; height: 3px; border-radius: var(--radius-2xs);
    background: var(--white-overlay-04); overflow: hidden;
}
.hud-progress-fill[b-b8727e42vp] {
    height: 100%; border-radius: var(--radius-2xs);
    background: linear-gradient(90deg, var(--accent-color), var(--secondary-accent));
    transition: width var(--transition-normal);
    box-shadow: 0 0 8px var(--accent-color-30);
}
.hud-pf-err[b-b8727e42vp] {
    background: linear-gradient(90deg, var(--error-color), var(--error-color-50));
    box-shadow: 0 0 8px var(--error-color-20);
}

/* Live output peek */
.hud-cur-live[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.3rem;
    margin-top: 0.1rem;
    font-family: var(--font-mono); font-size: var(--text-4xs);
    animation: hud-fade-in-b-b8727e42vp 0.2s ease-out;
}
@keyframes hud-fade-in-b-b8727e42vp {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}
.hud-cur-live-tag[b-b8727e42vp] {
    font-size: var(--text-7xs); font-weight: 700; padding: 0.04rem 0.2rem;
    border-radius: var(--radius-2xs); background: var(--white-overlay-06);
    text-transform: uppercase;
}
.hud-lt-tool[b-b8727e42vp] { background: var(--accent-color); color: var(--text-primary); }
.hud-cur-live-msg[b-b8727e42vp] {
    flex: 1; opacity: 0.5; overflow: hidden; text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Token sparkline block (right, fused into the hero) ── */
.mc-hero-spark[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: 0.3rem;
    min-width: 0;
    padding: var(--space-xs) 0;
}
.mc-spark-head[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.35rem;
}
.mc-spark-title[b-b8727e42vp] {
    font-size: var(--text-4xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.4px; opacity: 0.5;
}
.mc-spark-sum[b-b8727e42vp] {
    margin-left: auto;
    font-family: var(--font-mono); font-size: var(--text-2xs); font-weight: 700;
    color: var(--accent-color);
}
.mc-canvas-spark[b-b8727e42vp] {
    width: 100%; flex: 1; min-height: 86px; display: block;
    border-radius: var(--radius-sm);
}
.mc-spark-empty[b-b8727e42vp] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: var(--space-xs);
    flex: 1; min-height: 86px;
    border: 1px dashed var(--white-overlay-08);
    border-radius: var(--radius-sm);
    background: var(--white-overlay-02);
}
.mc-spark-empty-text[b-b8727e42vp] {
    font-size: var(--text-xs); color: var(--text-muted); font-weight: 500;
}
.mc-spark-empty-sub[b-b8727e42vp] {
    font-size: var(--text-4xs); color: var(--text-muted); opacity: 0.6;
    text-align: center; padding: 0 var(--space-sm);
}

/* ═══════════════════════════════════════════════════════════════
   KPI ROW — analytics snapshot + metrics (server-cached)
   ═══════════════════════════════════════════════════════════════ */

.mc-kpis[b-b8727e42vp] {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 0.4rem;
}
.mc-kpi[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: 0.15rem;
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 0.5rem 0.6rem;
    min-width: 0;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
    animation: mc-card-enter-b-b8727e42vp var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
    animation-delay: calc(var(--mc-i, 0) * var(--pipeline-stagger-delay));
}
.mc-kpi:hover[b-b8727e42vp] {
    border-color: var(--accent-color-25);
    background: var(--pipeline-glass-hover);
    box-shadow: 0 0 12px var(--accent-color-6);
}
.mc-kpi-label[b-b8727e42vp] {
    font-size: var(--text-6xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.4px; color: var(--text-muted);
}
.mc-kpi-sub[b-b8727e42vp] {
    font-size: var(--text-5xs); font-family: var(--font-mono);
    color: var(--text-muted); opacity: 0.7;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* First-boot empty state must read healthy, not broken */
.mc-kpi-healthy[b-b8727e42vp] { color: var(--success-text); opacity: 0.65; }
.mc-kpi-dash[b-b8727e42vp] {
    font-size: var(--text-lg); font-weight: 700; font-family: var(--font-mono);
    color: var(--text-muted); line-height: 1.2;
}
/* Cost trend directions: rising spend reads warning, falling reads success */
.mc-trend-up[b-b8727e42vp] { color: var(--warning-text); opacity: 0.9; }
.mc-trend-down[b-b8727e42vp] { color: var(--success-text); opacity: 0.9; }
.mc-trend-flat[b-b8727e42vp] { color: var(--text-muted); }

/* Skeleton shimmer while the first snapshot loads */
.mc-kpi-skeleton[b-b8727e42vp] { pointer-events: none; }
.mc-skel[b-b8727e42vp] {
    border-radius: var(--radius-xs);
    background: linear-gradient(90deg,
        var(--white-overlay-04) 25%,
        var(--white-overlay-08) 50%,
        var(--white-overlay-04) 75%);
    background-size: 200% 100%;
    animation: mc-shimmer-b-b8727e42vp var(--pipeline-shimmer-duration) ease-in-out infinite;
}
.mc-skel-label[b-b8727e42vp] { width: 55%; height: 0.5rem; }
.mc-skel-value[b-b8727e42vp] { width: 70%; height: 1.1rem; margin: 0.15rem 0; }
.mc-skel-sub[b-b8727e42vp] { width: 85%; height: 0.5rem; }
@keyframes mc-shimmer-b-b8727e42vp {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ── Shared Panel ── */
.noc-panel[b-b8727e42vp] {
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 0.6rem 0.75rem;
    display: flex; flex-direction: column; gap: 0.4rem;
    min-width: 0; /* Critical: allows flex/grid children to shrink below content size */
    overflow-x: hidden; /* Prevents content from pushing panel wider than its container */
    animation: mc-card-enter-b-b8727e42vp var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
}

/* Panel header */
.noc-ph[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.4rem;
}
.noc-ph h3[b-b8727e42vp] {
    font-size: var(--text-2xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.4px; opacity: 0.55; margin: 0;
}
.noc-ph-icon[b-b8727e42vp] {
    font-size: var(--text-2xs); opacity: 0.4; font-family: var(--font-mono);
}
.noc-badge-ct[b-b8727e42vp] {
    font-size: var(--text-5xs); font-family: var(--font-mono); font-weight: 700;
    padding: 0.05rem 0.3rem; border-radius: var(--radius-full);
    background: var(--accent-color-12); color: var(--accent-color);
    margin-left: auto;
}
.noc-divider[b-b8727e42vp] {
    height: 1px; background: var(--border-color); margin: 0.3rem 0; opacity: 0.5;
}

/* ── Command Bar ── */
.cmd-bar[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: 0.35rem;
}

/* Multi-line input area wrapper */
.cmd-input-area[b-b8727e42vp] {
    display: flex; flex-direction: column;
    background: var(--glass-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    overflow: hidden;
}
.cmd-input-area:focus-within[b-b8727e42vp] {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 2px var(--accent-color-15);
}

.cmd-input-row[b-b8727e42vp], .cmd-inject-row[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0;
    background: var(--glass-bg);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    overflow: hidden;
}
.cmd-input-row.cmd-input-multi[b-b8727e42vp] {
    border: none; background: transparent;
    align-items: flex-start;
}
.cmd-input-row:focus-within:not(.cmd-input-multi)[b-b8727e42vp] {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 2px var(--accent-color-15);
}
.cmd-inject-row:focus-within[b-b8727e42vp] {
    border-color: var(--info-color);
    box-shadow: 0 0 0 2px var(--info-color-12);
}
.cmd-prompt[b-b8727e42vp] {
    padding: 0.65rem 0.6rem 0 0.75rem;
    font-family: var(--font-mono); font-size: var(--text-xs-plus);
    color: var(--accent-color); opacity: 0.7;
    flex-shrink: 0; user-select: none;
}
.cmd-inject-icon[b-b8727e42vp] {
    padding: 0 0.5rem 0 0.75rem;
    font-family: var(--font-mono); font-size: var(--text-sm);
    color: var(--info-color); opacity: 0.6;
    flex-shrink: 0; user-select: none;
}

/* MudTextField overrides for the command textarea */
[b-b8727e42vp] .cmd-textarea {
    flex: 1; min-width: 0;
}
[b-b8727e42vp] .cmd-textarea .mud-input-control-input-container {
    margin: 0;
}
[b-b8727e42vp] .cmd-textarea .mud-input.mud-input-text {
    font-family: var(--font-primary);
    font-size: var(--text-xs-plus);
    color: var(--text-primary);
    padding: var(--space-xs) var(--space-sm) var(--space-xs) 0;
}
[b-b8727e42vp] .cmd-textarea .mud-input-underline::before,
[b-b8727e42vp] .cmd-textarea .mud-input-underline::after {
    display: none;
}
[b-b8727e42vp] .cmd-textarea textarea::placeholder {
    color: var(--text-secondary); opacity: 0.4;
    font-style: italic;
}
[b-b8727e42vp] .cmd-textarea .mud-input-slot {
    padding: 0;
}
[b-b8727e42vp] .cmd-textarea .mud-input-helper-text {
    display: none;
}

/* Actions row (file upload + submit) */
.cmd-actions-row[b-b8727e42vp] {
    display: flex; align-items: center; gap: var(--space-xs);
    padding: 0 var(--space-sm) var(--space-xs) var(--space-sm);
    border-top: 1px solid var(--border-color);
    background: var(--black-overlay-10);
}
.cmd-actions-spacer[b-b8727e42vp] { flex: 1; }
[b-b8727e42vp] .cmd-submit-btn {
    font-size: var(--text-2xs) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    min-width: 90px !important;
    height: 30px !important;
}

/* Pipeline attachment previews row */
.cmd-attachments-row[b-b8727e42vp] {
    padding: var(--space-xs) var(--space-sm) var(--space-sm) var(--space-sm);
    border-top: 1px solid var(--border-subtle);
    background: var(--black-overlay-06);
}

.cmd-input[b-b8727e42vp] {
    flex: 1; background: transparent; border: none; outline: none;
    color: var(--text-primary); font-family: var(--font-primary);
    font-size: var(--text-xs-plus); padding: 0.55rem 0.4rem;
    min-width: 0;
}
.cmd-input[b-b8727e42vp]::placeholder {
    color: var(--text-secondary); opacity: 0.4;
    font-style: italic;
}
.cmd-send[b-b8727e42vp] {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 100%; min-height: 38px;
    background: var(--accent-color); border: none;
    color: var(--text-primary); cursor: pointer;
    font-size: var(--text-base); flex-shrink: 0;
    transition: background var(--transition-fast), opacity var(--transition-fast);
}
.cmd-send:hover:not(.cmd-send-disabled)[b-b8727e42vp] { background: var(--accent-hover); }
.cmd-send-disabled[b-b8727e42vp] { opacity: 0.25; cursor: default; background: transparent; }
.cmd-send-icon[b-b8727e42vp] { line-height: 1; }
.cmd-inject-btn:not(.cmd-send-disabled)[b-b8727e42vp] { background: var(--info-color); }
.cmd-inject-btn:hover:not(.cmd-send-disabled)[b-b8727e42vp] { background: var(--info-text); }
.cmd-spinner[b-b8727e42vp] {
    width: 14px; height: 14px;
    border: 2px solid var(--white-overlay-20);
    border-top-color: var(--text-primary);
    border-radius: 50%;
    animation: cmd-spin-b-b8727e42vp 0.6s linear infinite;
}
@keyframes cmd-spin-b-b8727e42vp { to { transform: rotate(360deg); } }

/* Prepared request card */
.cmd-prep-card[b-b8727e42vp] {
    background: var(--glass-bg);
    border: 1px solid var(--accent-color);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: 0 0 0 1px var(--accent-color-8);
}
.cmd-prep-header[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.45rem 0.6rem;
    cursor: pointer;
    transition: background var(--transition-fast);
}
.cmd-prep-header:hover[b-b8727e42vp] { background: var(--bg-hover); }
.cmd-prep-type[b-b8727e42vp] {
    font-size: var(--text-4xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.12rem 0.45rem; border-radius: var(--radius-sm);
    background: var(--accent-color-12); color: var(--accent-color);
    flex-shrink: 0;
}
.cmd-prep-title[b-b8727e42vp] {
    font-size: var(--text-xs); color: var(--text-primary); opacity: 0.85;
    flex: 1; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cmd-prep-toggle[b-b8727e42vp] {
    font-size: var(--text-2xs); color: var(--text-secondary); opacity: 0.5;
    flex-shrink: 0;
}
.cmd-prep-detail[b-b8727e42vp] {
    padding: 0.5rem 0.6rem 0.4rem;
    border-top: 1px solid var(--border-color);
}
.cmd-prep-section[b-b8727e42vp] {
    margin-bottom: 0.5rem;
}
.cmd-prep-section .cmd-prep-label[b-b8727e42vp] {
    display: block; margin-bottom: 0.25rem;
}
.cmd-prep-summary-full[b-b8727e42vp] {
    font-size: var(--text-xs); color: var(--text-primary); opacity: 0.8;
    line-height: 1.5;
    white-space: pre-wrap;
}
.cmd-prep-meta[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: 0.3rem;
}
.cmd-prep-meta-row[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.4rem;
}
.cmd-prep-label[b-b8727e42vp] {
    font-size: var(--text-4xs); font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary); opacity: 0.6;
    min-width: 3rem;
}
.cmd-prep-branch[b-b8727e42vp] {
    font-family: var(--font-mono); font-size: var(--text-3xs);
    color: var(--accent-color); opacity: 0.7;
}
.cmd-prep-focus[b-b8727e42vp] {
    display: flex; flex-wrap: wrap; gap: 0.25rem;
}
.cmd-prep-area[b-b8727e42vp] {
    font-family: var(--font-mono); font-size: var(--text-4xs);
    padding: 0.08rem 0.35rem; border-radius: var(--radius-sm);
    background: var(--accent-color-8); color: var(--text-secondary);
}
.cmd-prep-attachments[b-b8727e42vp] {
    padding: var(--space-xs) 0.6rem;
    border-top: 1px solid var(--border-subtle);
    background: var(--black-overlay-04);
}
.cmd-prep-att-count[b-b8727e42vp] {
    display: inline-flex; align-items: center; gap: 2px;
    font-size: var(--text-3xs); color: var(--text-muted);
    margin-left: auto;
    padding-left: var(--space-sm);
}
.cmd-prep-actions[b-b8727e42vp] {
    display: flex; gap: 0.3rem; flex-shrink: 0;
    padding: 0.35rem 0.6rem;
    border-top: 1px solid var(--border-color);
    justify-content: flex-end; align-items: center;
}
.cmd-action[b-b8727e42vp] {
    font-size: var(--text-2xs); font-weight: 600; padding: 0.3rem 0.65rem;
    border-radius: var(--radius-sm); border: none; cursor: pointer;
    font-family: var(--font-primary);
    transition: background var(--transition-fast), opacity var(--transition-fast);
}
.cmd-action-submit[b-b8727e42vp] {
    background: var(--success-color); color: var(--text-primary);
}
.cmd-action-submit:hover[b-b8727e42vp] { opacity: 0.85; }
.cmd-action-edit[b-b8727e42vp] {
    background: transparent; color: var(--text-secondary);
    border: 1px solid var(--border-color);
}
.cmd-action-edit:hover[b-b8727e42vp] { background: var(--bg-hover); }

/* Approvals drawer CSS removed (Task 1) — superseded by ApprovalsFlyout.razor.css.
   Legacy pending-pipeline list CSS removed (Task 3) — the queue glance replaces it;
   the freeze/thaw controls below now live in the glance header. */
.cmd-queue-btn[b-b8727e42vp] {
    display: inline-flex; align-items: center; gap: 0.25rem;
    padding: 0.15rem 0.45rem; border-radius: var(--radius-sm);
    border: 1px solid var(--white-overlay-06); background: transparent;
    cursor: pointer; font-size: var(--text-4xs); font-weight: 600;
    transition: all var(--transition-fast);
}
.cmd-queue-freeze[b-b8727e42vp] { color: var(--info-color); border-color: var(--info-color-20); }
.cmd-queue-freeze:hover[b-b8727e42vp] { background: var(--info-color-5); }
.cmd-queue-thaw[b-b8727e42vp] { color: var(--success-color); border-color: var(--success-color-20); }
.cmd-queue-thaw:hover[b-b8727e42vp] { background: var(--success-color-5); }
.cmd-queue-frozen[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.3rem 0.6rem; font-size: var(--text-3xs);
    background: var(--info-color-5); color: var(--info-color);
    border-radius: var(--radius-sm);
}

/* ── Mid Row: Activity Feed + Queue Glance ── */
.noc-mid[b-b8727e42vp] {
    display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 0.5rem;
    min-width: 0; /* Allow shrinking in flex parent */
    width: 100%;
}
.noc-mid > *[b-b8727e42vp] { min-width: 0; }
.noc-feed[b-b8727e42vp] { min-height: 300px; }

/* Severity filter chips */
.mc-feed-filters[b-b8727e42vp] {
    display: flex; gap: 0.25rem; margin-left: auto; flex-wrap: wrap;
}
.mc-ff[b-b8727e42vp] {
    display: inline-flex; align-items: center; gap: 0.25rem;
    font-size: var(--text-5xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 0.12rem 0.4rem; border-radius: var(--radius-full);
    border: 1px solid var(--border-subtle); background: transparent;
    color: var(--text-secondary); cursor: pointer;
    transition: all var(--transition-fast);
}
.mc-ff small[b-b8727e42vp] { font-family: var(--font-mono); font-size: var(--text-6xs); opacity: 0.6; }
.mc-ff:hover[b-b8727e42vp] { background: var(--bg-hover); border-color: var(--border-color-medium); }
.mc-ff-sel[b-b8727e42vp] { background: var(--accent-color-12); border-color: var(--accent-color-30); color: var(--accent-color); }
.mc-ff-warning.mc-ff-sel[b-b8727e42vp] { background: var(--warning-bg); border-color: var(--warning-border); color: var(--warning-text); }
.mc-ff-error.mc-ff-sel[b-b8727e42vp], .mc-ff-critical.mc-ff-sel[b-b8727e42vp] { background: var(--error-bg); border-color: var(--error-border); color: var(--error-text); }
.mc-ff-withheld[b-b8727e42vp] { border-color: var(--withheld-border); color: var(--withheld-text); }
.mc-ff-withheld.mc-ff-sel[b-b8727e42vp] { background: var(--withheld-bg); border-color: var(--withheld-border); color: var(--withheld-text); }
.noc-feed-scroll[b-b8727e42vp] {
    font-family: var(--font-mono); font-size: var(--text-2xs);
    max-height: 340px; overflow-y: auto; overflow-x: hidden;
    min-width: 0; /* Prevent content from forcing width */
    scrollbar-width: thin;
    scrollbar-color: var(--white-overlay-08) transparent;
}
.noc-fi[b-b8727e42vp] {
    display: flex; gap: 0.3rem; padding: 0.18rem 0;
    border-bottom: 1px solid var(--white-overlay-015);
    align-items: center;
    min-width: 0; /* Allow flex items to shrink for proper text truncation */
    animation: noc-fade-in-b-b8727e42vp 0.3s ease-out;
}
@keyframes noc-fade-in-b-b8727e42vp {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
.noc-fi-t[b-b8727e42vp] { opacity: 0.2; font-size: var(--text-4xs); min-width: 48px; }
.noc-fi-tag[b-b8727e42vp] {
    font-size: var(--text-6xs); font-weight: 700; padding: 0.05rem 0.25rem;
    border-radius: var(--radius-2xs); background: var(--white-overlay-05);
    text-transform: uppercase; min-width: 36px; text-align: center;
}
.noc-ft-tool[b-b8727e42vp] { background: var(--accent-color); color: var(--text-primary); }
.noc-ft-think[b-b8727e42vp] { background: var(--warning-color-12); color: var(--warning-color); }
.noc-fi-msg[b-b8727e42vp] {
    flex: 1; overflow: hidden; text-overflow: ellipsis;
    white-space: nowrap; opacity: 0.65;
}
.noc-fi-hash[b-b8727e42vp] {
    font-size: var(--text-6xs); background: var(--channel-user-color-10);
    padding: 0.04rem 0.2rem; border-radius: var(--radius-2xs); color: var(--channel-user-color);
}
/* Event-kind tag tints (kept for tag context: ok/err/git/tool/sys) */
.noc-fi.ev-ok .noc-fi-tag[b-b8727e42vp] { background: var(--success-color-10); color: var(--success-color); }
.noc-fi.ev-err .noc-fi-tag[b-b8727e42vp] { background: var(--error-color-10); color: var(--error-color); }
.noc-fi.ev-git .noc-fi-tag[b-b8727e42vp] { background: var(--channel-user-color-10); color: var(--channel-user-color); }
.noc-fi.ev-tool .noc-fi-tag[b-b8727e42vp] { background: var(--accent-color-10); color: var(--accent-color); }
.noc-fi.ev-sys .noc-fi-tag[b-b8727e42vp] { background: var(--info-color-10); color: var(--info-color); }

/* Severity classes (PolymorphFeedSeverity tokens) — declared AFTER the ev-* tints
   so a row's severity wins at equal specificity. "Withheld" is a distinct severity
   (violet status family), never collapsed into error. */
.noc-fi.sev-warning .noc-fi-msg[b-b8727e42vp] { color: var(--warning-text); }
.noc-fi.sev-warning .noc-fi-tag[b-b8727e42vp] { background: var(--warning-color-light); color: var(--warning-color); }
.noc-fi.sev-error .noc-fi-msg[b-b8727e42vp] { color: var(--error-text); }
.noc-fi.sev-error .noc-fi-tag[b-b8727e42vp] { background: var(--error-color-light); color: var(--error-color); }
.noc-fi.sev-critical .noc-fi-msg[b-b8727e42vp] { color: var(--error-color); font-weight: 600; }
.noc-fi.sev-critical .noc-fi-tag[b-b8727e42vp] { background: var(--error-bg); color: var(--error-text); border: 1px solid var(--error-border); }
.noc-fi.sev-withheld .noc-fi-msg[b-b8727e42vp] { color: var(--withheld-text); }
.noc-fi.sev-withheld .noc-fi-tag[b-b8727e42vp] {
    background: var(--withheld-bg); color: var(--withheld-text);
    border: 1px solid var(--withheld-border);
    min-width: auto; white-space: nowrap;
}

.noc-feed-sep[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.3rem 0; font-size: var(--text-5xs); opacity: 0.25;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.noc-feed-sep[b-b8727e42vp]::before, .noc-feed-sep[b-b8727e42vp]::after {
    content: ''; flex: 1; height: 1px; background: var(--border-color);
}

/* ── Queue glance ── */
.mc-glance[b-b8727e42vp] { min-height: 300px; }
.mc-glance-controls[b-b8727e42vp] {
    display: flex; gap: 0.3rem; margin-left: auto; align-items: center;
}
.mc-glance-open[b-b8727e42vp] {
    display: inline-flex; align-items: center; gap: 0.25rem;
    padding: 0.15rem 0.45rem; border-radius: var(--radius-sm);
    border: 1px solid var(--accent-color-20); background: transparent;
    cursor: pointer; font-size: var(--text-4xs); font-weight: 600;
    color: var(--accent-color);
    transition: all var(--transition-fast);
}
.mc-glance-open:hover[b-b8727e42vp] { background: var(--accent-color-8); border-color: var(--accent-color-30); }

.mc-qg-running[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.35rem 0.45rem;
    background: var(--accent-color-5);
    border: 1px solid var(--accent-color-10);
    border-radius: var(--radius-sm);
    min-width: 0;
}
.mc-qg-list[b-b8727e42vp] { display: flex; flex-direction: column; gap: 0.25rem; }
.mc-qg-item[b-b8727e42vp] {
    display: flex; align-items: flex-start; gap: 0.4rem;
    padding: 0.35rem 0.45rem;
    background: var(--pipeline-glass-surface);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    min-width: 0;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}
.mc-qg-item:hover[b-b8727e42vp] { background: var(--pipeline-glass-hover); border-color: var(--border-color-medium); }
.mc-qg-pri[b-b8727e42vp] {
    font-size: var(--text-5xs); font-weight: 700; font-family: var(--font-mono);
    padding: 0.08rem 0.3rem; border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
    flex-shrink: 0; margin-top: 0.05rem;
}
.mc-qg-p0[b-b8727e42vp], .mc-qg-p1[b-b8727e42vp] { border-color: var(--priority-p0-glow, var(--error-border)); color: var(--error-text); }
.mc-qg-p2[b-b8727e42vp] { border-color: var(--priority-p2-glow, var(--error-border)); color: var(--error-color); }
.mc-qg-p3[b-b8727e42vp] { border-color: var(--priority-p3-glow, var(--warning-border)); color: var(--warning-color); }
.mc-qg-p4[b-b8727e42vp] { border-color: var(--priority-p4-glow, var(--info-border)); color: var(--info-color); }
.mc-qg-p5[b-b8727e42vp] { border-color: var(--priority-p5-glow, var(--border-color)); color: var(--text-secondary); }
.mc-qg-info[b-b8727e42vp] {
    flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.12rem;
}
.mc-qg-title[b-b8727e42vp] {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: var(--text-2xs); font-weight: 600; opacity: 0.8; line-height: 1.35;
    min-width: 0;
}
.mc-qg-meta[b-b8727e42vp] {
    font-size: var(--text-5xs); font-family: var(--font-mono); opacity: 0.35;
    display: flex; gap: 0.3rem; align-items: center;
}
/* Aging badge — mirrors the QueueTaskCard badge (icon + text, non-color encoding) */
.mc-qg-aging[b-b8727e42vp] {
    display: inline-flex; align-items: center; gap: var(--space-xs);
    padding: 0.1rem 0.4rem;
    font-size: var(--text-5xs); font-weight: var(--font-medium);
    border-radius: var(--radius-full);
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    color: var(--warning-text);
    width: fit-content;
}
.mc-qg-more[b-b8727e42vp] {
    align-self: flex-start;
    border: none; background: transparent; cursor: pointer;
    font-size: var(--text-4xs); font-weight: 600; color: var(--accent-color);
    padding: 0.15rem 0.2rem;
    transition: opacity var(--transition-fast);
}
.mc-qg-more:hover[b-b8727e42vp] { opacity: 0.8; }
.mc-qg-empty[b-b8727e42vp] {
    display: flex; align-items: center; justify-content: center; gap: 0.4rem;
    padding: var(--space-lg) 0;
    font-size: var(--text-sm); color: var(--text-muted);
    font-family: var(--font-mono);
}
.mc-qg-empty-icon[b-b8727e42vp] { color: var(--success-color); opacity: 0.7; }

/* Live indicator dot */
.noc-live-dot[b-b8727e42vp] {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--text-secondary); opacity: 0.3;
    flex-shrink: 0; transition: all var(--transition-fast);
}
.noc-live-dot.noc-live[b-b8727e42vp] {
    background: var(--success-color); opacity: 1;
    box-shadow: 0 0 6px var(--success-color-40);
    animation: pulse-b-b8727e42vp 1.5s infinite;
}

/* ── Bottom Grid: Memory + History ── */
.noc-bottom[b-b8727e42vp] {
    display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem;
    width: 100%;
}
/* Ensure grid children can shrink below content size */
.noc-bottom > *[b-b8727e42vp] {
    min-width: 0;
}

/* Memory snapshot */
.noc-mem-tiers[b-b8727e42vp] {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.3rem;
}
.noc-tier[b-b8727e42vp] {
    text-align: center; padding: 0.35rem 0.2rem;
    border-radius: var(--radius-sm); border: 1px solid var(--border-color);
    transition: border-color var(--transition-fast);
}
.noc-tier-hot[b-b8727e42vp] { border-color: var(--error-color-20); }
.noc-tier-hot:hover[b-b8727e42vp] { border-color: var(--error-color-40); }
.noc-tier-warm[b-b8727e42vp] { border-color: var(--warning-color-20); }
.noc-tier-warm:hover[b-b8727e42vp] { border-color: var(--warning-color-40); }
.noc-tier-cold[b-b8727e42vp] { border-color: var(--info-color-20); }
.noc-tier-cold:hover[b-b8727e42vp] { border-color: var(--info-color-40); }
.noc-tier-ct[b-b8727e42vp] {
    display: block; font-size: var(--text-lg); font-weight: 700;
    font-family: var(--font-mono); line-height: 1.2;
}
.noc-tier-hot .noc-tier-ct[b-b8727e42vp] { color: var(--error-color); }
.noc-tier-warm .noc-tier-ct[b-b8727e42vp] { color: var(--warning-color); }
.noc-tier-cold .noc-tier-ct[b-b8727e42vp] { color: var(--info-color); }
.noc-tier-lbl[b-b8727e42vp] {
    font-size: var(--text-6xs); text-transform: uppercase; letter-spacing: 0.3px;
    opacity: 0.4;
}

/* Memory bar */
.noc-mem-bar[b-b8727e42vp] {
    display: flex; height: 4px; border-radius: var(--radius-2xs); overflow: hidden;
    background: var(--white-overlay-03); margin-top: 0.4rem;
}
.noc-bar-hot[b-b8727e42vp] { background: var(--error-color); transition: width var(--transition-normal); }
.noc-bar-warm[b-b8727e42vp] { background: var(--warning-color); transition: width var(--transition-normal); }
.noc-bar-cold[b-b8727e42vp] { background: var(--info-color); opacity: 0.5; transition: width var(--transition-normal); }

.noc-mem-meta[b-b8727e42vp] {
    display: flex; gap: 0.5rem; font-size: var(--text-4xs); opacity: 0.3;
    font-family: var(--font-mono); margin-top: 0.3rem; flex-wrap: wrap;
}

/* History summary */
.noc-rate[b-b8727e42vp] {
    font-size: var(--text-3xs); font-weight: 700; font-family: var(--font-mono);
    padding: 0.1rem 0.4rem; border-radius: var(--radius-sm);
    margin-left: auto;
}
.noc-rate-ok[b-b8727e42vp] { background: var(--success-color-10); color: var(--success-color); }
.noc-rate-mid[b-b8727e42vp] { background: var(--warning-color-10); color: var(--warning-color); }
.noc-rate-bad[b-b8727e42vp] { background: var(--error-color-10); color: var(--error-color); }

.noc-hist-list[b-b8727e42vp] {
    display: flex; flex-direction: column; gap: 1px;
}
.noc-hi[b-b8727e42vp] {
    display: flex; align-items: center; gap: 0.4rem;
    padding: 0.25rem 0.2rem; font-size: var(--text-2xs);
    border-radius: var(--radius-sm);
    min-width: 0; /* Allow flex items to shrink for proper text truncation */
    transition: background var(--transition-fast);
}
.noc-hi:hover[b-b8727e42vp] { background: var(--white-overlay-02); }
.noc-hi-ico[b-b8727e42vp] {
    width: 16px; text-align: center; font-size: var(--text-3xs);
    flex-shrink: 0;
}
/* State tokens from PolymorphStatusMaps.CssClass */
.noc-hi-completed .noc-hi-ico[b-b8727e42vp] { color: var(--success-color); }
.noc-hi-merge-verified .noc-hi-ico[b-b8727e42vp] { color: var(--success-text); }
.noc-hi-failed .noc-hi-ico[b-b8727e42vp] { color: var(--error-color); }
.noc-hi-running .noc-hi-ico[b-b8727e42vp] { color: var(--accent-color); animation: pulse-b-b8727e42vp 1.5s infinite; }
.noc-hi-queued .noc-hi-ico[b-b8727e42vp] { color: var(--warning-color); opacity: 0.5; }
.noc-hi-stuck .noc-hi-ico[b-b8727e42vp], .noc-hi-attention .noc-hi-ico[b-b8727e42vp], .noc-hi-resumable .noc-hi-ico[b-b8727e42vp] { color: var(--warning-color); }
.noc-hi-name[b-b8727e42vp] {
    flex: 1; overflow: hidden; text-overflow: ellipsis;
    white-space: nowrap; opacity: 0.7;
}
.noc-hi-dur[b-b8727e42vp] {
    font-size: var(--text-4xs); font-family: var(--font-mono);
    opacity: 0.3; flex-shrink: 0;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .mc-kpis[b-b8727e42vp] { grid-template-columns: repeat(3, 1fr); }
    .mc-hero-content[b-b8727e42vp] { grid-template-columns: minmax(140px, auto) minmax(0, 1fr); }
    .mc-hero-spark[b-b8727e42vp] { grid-column: 1 / -1; }
    .cmd-prep-card[b-b8727e42vp] { font-size: var(--text-sm); }
}
@media (max-width: 900px) {
    .topbar[b-b8727e42vp] { flex-wrap: wrap; } .modes[b-b8727e42vp] { order: 10; flex-basis: 100%; }
    .mc-kpis[b-b8727e42vp] { grid-template-columns: repeat(2, 1fr); }
    .noc-mid[b-b8727e42vp] { grid-template-columns: 1fr; }
    .noc-bottom[b-b8727e42vp] { grid-template-columns: 1fr; }
    .cmd-actions-row[b-b8727e42vp] { flex-wrap: wrap; }
}
@media (max-width: 640px) {
    .mc-hero-content[b-b8727e42vp] { grid-template-columns: 1fr; gap: var(--space-sm); padding: var(--space-sm); }
}

/* Step type color variants (mc-run-steptype tp-*) */
.tp-securityscreen[b-b8727e42vp] { background: var(--warning-color-12); color: var(--warning-color); }
.tp-architecturereview[b-b8727e42vp] { background: var(--info-color-12); color: var(--info-color); }
.tp-implementation[b-b8727e42vp] { background: var(--accent-color-12); color: var(--accent-color); }
.tp-buildverification[b-b8727e42vp] { background: var(--success-color-12); color: var(--success-color); }
.tp-unittests[b-b8727e42vp], .tp-playwrighttests[b-b8727e42vp] { background: var(--channel-user-color-10); color: var(--channel-user-color); }
.tp-documentationupdate[b-b8727e42vp] { background: var(--info-color-12); color: var(--info-text); }
.tp-codereview[b-b8727e42vp], .tp-finalreview[b-b8727e42vp] { background: var(--warning-color-12); color: var(--warning-color); }
.tp-restart[b-b8727e42vp] { background: var(--error-color-12); color: var(--error-color); }

/* ── Reduced motion: kill entry/shimmer/pulse decoration, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .mc-hero[b-b8727e42vp], .mc-kpi[b-b8727e42vp], .noc-panel[b-b8727e42vp] { animation: none; }
    .mc-skel[b-b8727e42vp] { animation: none; }
    .noc-exec .noc-hero-bg[b-b8727e42vp] { animation: none; }
    .noc-fi[b-b8727e42vp] { animation: none; }
    .hud-cur-live[b-b8727e42vp] { animation: none; }
    .noc-live-dot.noc-live[b-b8727e42vp], .noc-hi-running .noc-hi-ico[b-b8727e42vp] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Tabs/HistoryTab.razor.rz.scp.css */
/* HistoryTab — rebuilt on PolymorphStatusMaps + the projection query (UI redesign
   Task 6). Chip classes below are the map's CssClass tokens (st-{token}); the
   withheld chip is an annotation, not a status — amber on purpose. */

.muted[b-yer1kgt5og] { opacity: 0.4; font-size: var(--text-2xs); }

/* ── Status chips (PolymorphStatusMaps CssClass tokens) ── */
.st[b-yer1kgt5og] { font-size: var(--text-6xs); font-weight: 700; padding: 0.1rem 0.4rem; border-radius: var(--radius-2xs); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.st-queued[b-yer1kgt5og] { background: var(--white-overlay-08); color: var(--text-secondary); }
.st-running[b-yer1kgt5og] { background: var(--accent-color-12); color: var(--accent-color); }
.st-completed[b-yer1kgt5og] { background: var(--success-color-12); color: var(--success-color); }
.st-failed[b-yer1kgt5og] { background: var(--error-color-12); color: var(--error-color); }
.st-resumable[b-yer1kgt5og], .st-stuck[b-yer1kgt5og], .st-attention[b-yer1kgt5og] { background: var(--warning-color-12); color: var(--warning-color); }
.st-merge-verified[b-yer1kgt5og] { background: var(--success-color-12); color: var(--success-color); border: 1px solid var(--success-color-30); }
.st-withheld[b-yer1kgt5og] { background: var(--warning-color-12); color: var(--warning-color); border: 1px solid var(--warning-color-30); cursor: help; }

/* Step-icon text colors keyed off the same map tokens */
.st-text-completed[b-yer1kgt5og] { color: var(--success-color); }
.st-text-failed[b-yer1kgt5og] { color: var(--error-color); }
.st-text-running[b-yer1kgt5og] { color: var(--accent-color); }
.st-text-skipped[b-yer1kgt5og], .st-text-queued[b-yer1kgt5og] { color: var(--text-secondary); }
.st-text-blocked[b-yer1kgt5og], .st-text-interrupted[b-yer1kgt5og] { color: var(--warning-color); }

/* ═══════════════════════════════════════════════════════════════
   HISTORY — Activity Timeline
   ═══════════════════════════════════════════════════════════════ */
.v-history[b-yer1kgt5og] { display: flex; flex-direction: column; gap: 0.5rem; }

/* ── Summary Stats ── */
.hist-stats[b-yer1kgt5og] { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.4rem; }
.hist-stat[b-yer1kgt5og] {
    background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-md);
    padding: 0.5rem 0.4rem; text-align: center; transition: border-color var(--transition-fast);
}
.hist-stat-val[b-yer1kgt5og] {
    display: block; font-size: var(--text-xl); font-weight: 700; font-family: var(--font-mono); color: var(--text-primary);
}
.hist-stat-val small[b-yer1kgt5og] { font-size: var(--text-2xs); font-weight: 400; opacity: 0.5; }
.hist-stat-label[b-yer1kgt5og] { font-size: var(--text-6xs); text-transform: uppercase; letter-spacing: 0.4px; opacity: 0.4; }
.hist-stat-ok[b-yer1kgt5og] { border-color: var(--success-color-30); }
.hist-stat-ok .hist-stat-val[b-yer1kgt5og] { color: var(--success-color); }
.hist-stat-warn[b-yer1kgt5og] { border-color: var(--warning-color-30); }
.hist-stat-warn .hist-stat-val[b-yer1kgt5og] { color: var(--warning-color); }
.hist-stat-err[b-yer1kgt5og] { border-color: var(--error-color-30); }
.hist-stat-err .hist-stat-val[b-yer1kgt5og] { color: var(--error-color); }

/* ── Filter Chips ── */
.hist-filters[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0; flex-wrap: wrap;
}
.hf[b-yer1kgt5og] {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.25rem 0.6rem; border-radius: var(--radius-md);
    border: 1px solid var(--border-color); background: none;
    color: var(--text-secondary); font-size: var(--text-2xs); font-weight: 600;
    cursor: pointer; transition: all 0.15s; opacity: 0.5;
}
.hf:hover[b-yer1kgt5og] { opacity: 0.8; border-color: var(--accent-color); }
.hf-sel[b-yer1kgt5og] { opacity: 1; border-color: var(--accent-color); color: var(--accent-color); background: var(--accent-color-8); }
.hf-ok.hf-sel[b-yer1kgt5og] { border-color: var(--success-color); color: var(--success-color); background: var(--success-color-10); }
.hf-err.hf-sel[b-yer1kgt5og] { border-color: var(--error-color); color: var(--error-color); background: var(--error-color-8); }
.hf-run.hf-sel[b-yer1kgt5og] { border-color: var(--info-color); color: var(--info-color); background: var(--info-color-10); }
.hf-type.hf-sel[b-yer1kgt5og] { border-color: var(--warning-color); color: var(--warning-color); background: var(--warning-color-8); }
.hf-warn.hf-sel[b-yer1kgt5og] { border-color: var(--warning-color); color: var(--warning-color); background: var(--warning-color-8); }
.hf-count[b-yer1kgt5og] {
    font-size: var(--text-5xs); font-family: var(--font-mono); font-weight: 700;
    padding: 0.05rem 0.25rem; border-radius: var(--radius-md);
    background: var(--white-overlay-06); min-width: 16px; text-align: center;
}
.hist-window-note[b-yer1kgt5og] {
    font-size: var(--text-5xs); font-family: var(--font-mono); opacity: 0.35;
    white-space: nowrap; align-self: center;
}

/* ── Clear-all guard rail (typed confirmation) ── */
.hist-confirm[b-yer1kgt5og] {
    display: flex; flex-direction: column; gap: var(--space-sm);
    padding: var(--space-md); border-radius: var(--radius-md);
    background: var(--error-bg); border: 1px solid var(--error-border);
    color: var(--error-text);
}
.hist-confirm-text[b-yer1kgt5og] {
    display: flex; align-items: center; gap: var(--space-sm);
    margin: 0; font-size: var(--text-sm); line-height: 1.4;
}
.hist-confirm-controls[b-yer1kgt5og] {
    display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap;
}

/* ── Timeline ── */
.hist-timeline[b-yer1kgt5og] { display: flex; flex-direction: column; gap: 0; padding-left: 0.25rem; }

/* Date separators */
.hist-date-sep[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.6rem 0 0.3rem 1.5rem; /* align with card content */
}
.hist-date-label[b-yer1kgt5og] {
    font-size: var(--text-4xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.5px; color: var(--accent-color); white-space: nowrap;
}
.hist-date-line[b-yer1kgt5og] { flex: 1; height: 1px; background: var(--border-color); }
.hist-date-count[b-yer1kgt5og] {
    font-size: var(--text-5xs); font-family: var(--font-mono); opacity: 0.3; white-space: nowrap;
}

/* ── Task Card ── */
.hist-card[b-yer1kgt5og] {
    display: flex; gap: 0; cursor: pointer;
    transition: background var(--transition-fast);
    border-radius: var(--radius-md);
}
.hist-card:hover[b-yer1kgt5og] { background: var(--white-overlay-015); }

/* Timeline rail (dot + vertical line) */
.hc-rail[b-yer1kgt5og] {
    display: flex; flex-direction: column; align-items: center;
    width: 24px; flex-shrink: 0; padding-top: 0.65rem;
}
.hc-dot[b-yer1kgt5og] {
    width: 10px; height: 10px; border-radius: 50%;
    border: 2px solid var(--border-color); background: var(--bg-secondary);
    flex-shrink: 0; z-index: 1; transition: all 0.15s;
}
.hc-line[b-yer1kgt5og] {
    width: 2px; flex: 1; background: var(--border-color); opacity: 0.3;
    margin-top: 2px;
}
/* Last card in a group: fade the line */
.hist-card:last-of-type .hc-line[b-yer1kgt5og],
.hist-card:has(+ .hist-date-sep) .hc-line[b-yer1kgt5og] { opacity: 0.1; }

/* Status-colored dots — keyed off PolymorphStatusMaps CssClass tokens */
.hc-completed .hc-dot[b-yer1kgt5og], .hc-merge-verified .hc-dot[b-yer1kgt5og] { border-color: var(--success-color); background: var(--success-color-15); }
.hc-running .hc-dot[b-yer1kgt5og] { border-color: var(--accent-color); background: var(--accent-color-15); animation: pulse 1.5s infinite; }
.hc-failed .hc-dot[b-yer1kgt5og] { border-color: var(--error-color); background: var(--error-color-15); }
.hc-queued .hc-dot[b-yer1kgt5og] { border-color: var(--text-secondary); opacity: 0.6; }
.hc-resumable .hc-dot[b-yer1kgt5og], .hc-stuck .hc-dot[b-yer1kgt5og], .hc-attention .hc-dot[b-yer1kgt5og] { border-color: var(--warning-color); background: var(--warning-color-15); }

/* Keyboard-accessible rows (role=button) need a visible focus ring */
.hist-card:focus-visible[b-yer1kgt5og] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

/* Card body */
.hc-body[b-yer1kgt5og] {
    flex: 1; min-width: 0;
    padding: 0.4rem 0.5rem 0.5rem;
    border-bottom: 1px solid var(--white-overlay-02);
}

/* Header row: status + type + title + tokens */
.hc-header[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.4rem;
    flex-wrap: wrap;
}
.hc-type[b-yer1kgt5og] {
    font-size: var(--text-4xs); font-weight: 600; opacity: 0.5;
    white-space: nowrap;
}
.hc-title[b-yer1kgt5og] {
    flex: 1; font-size: var(--text-xs-plus); font-weight: 600;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    min-width: 0;
}
.hc-tokens[b-yer1kgt5og] {
    font-size: var(--text-4xs); font-family: var(--font-mono); font-weight: 600;
    color: var(--accent-color); opacity: 0.7; white-space: nowrap;
    padding: 0.05rem 0.3rem; background: var(--accent-color-6);
    border-radius: var(--radius-2xs);
}
.hc-cost-chip[b-yer1kgt5og] {
    font-size: var(--text-4xs); font-family: var(--font-mono); font-weight: 600;
    color: var(--success-color); opacity: 0.7; white-space: nowrap;
    padding: 0.05rem 0.3rem; background: var(--success-color-10);
    border-radius: var(--radius-2xs);
}

/* Metadata row */
.hc-meta[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.3rem;
    font-size: var(--text-4xs); font-family: var(--font-mono); opacity: 0.35;
    margin-top: 0.15rem;
}
.hc-sep[b-yer1kgt5og] { opacity: 0.3; }
.hc-time[b-yer1kgt5og] { min-width: 32px; }
.hc-priority[b-yer1kgt5og] { color: var(--warning-color); opacity: 1; }

/* Result preview */
.hc-result[b-yer1kgt5og] {
    font-size: var(--text-2xs); line-height: 1.5; opacity: 0.6;
    margin-top: 0.3rem; padding: 0.3rem 0.4rem;
    background: var(--white-overlay-015);
    border-radius: var(--radius-sm);
    border-left: 2px solid var(--white-overlay-06);
}
.hc-result-err[b-yer1kgt5og] {
    color: var(--error-color); opacity: 0.8;
    border-left-color: var(--error-color);
    background: color-mix(in srgb, var(--error-color) 3%, transparent);
}
.hc-clamp[b-yer1kgt5og] {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Expanded state */
.hist-card.hc-expanded[b-yer1kgt5og] {
    background: var(--white-overlay-02);
}
.hist-card.hc-expanded .hc-dot[b-yer1kgt5og] {
    transform: scale(1.3);
    box-shadow: 0 0 6px var(--accent-color-30);
}

/* Expanded detail panel */
.hc-detail[b-yer1kgt5og] {
    margin-top: 0.5rem; padding-top: 0.5rem;
    border-top: 1px solid var(--border-color);
    display: flex; flex-direction: column; gap: 0.4rem;
}
.hc-section[b-yer1kgt5og] { }
.hc-section-label[b-yer1kgt5og] {
    font-size: var(--text-4xs); font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.4px; opacity: 0.5; cursor: pointer;
}
.hc-section-label:hover[b-yer1kgt5og] { opacity: 0.8; }
.hc-section-text[b-yer1kgt5og] {
    font-size: var(--text-2xs); opacity: 0.7; line-height: 1.5;
    margin: 0.2rem 0 0;
}
.hc-pre[b-yer1kgt5og] {
    font-family: var(--font-mono); font-size: var(--text-3xs);
    background: var(--bg-secondary); padding: 0.5rem;
    border-radius: var(--radius-sm); white-space: pre-wrap;
    word-break: break-word; max-height: 200px; overflow-y: auto;
    margin-top: 0.3rem;
}

/* Withheld reason (full text, keyboard-reachable via row expansion) */
.hc-withheld[b-yer1kgt5og] {
    padding: 0.3rem 0.4rem; border-radius: var(--radius-sm);
    background: var(--warning-color-8); border-left: 2px solid var(--warning-color);
}
.hc-withheld .hc-section-label[b-yer1kgt5og] { color: var(--warning-color); opacity: 0.9; }

/* On-demand detail loading */
.hc-detail-loading[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.4rem;
    font-size: var(--text-3xs); opacity: 0.5; padding: 0.2rem 0;
}

/* Detail footer */
.hc-detail-footer[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.4rem;
    padding-top: 0.3rem;
}
.hc-exit[b-yer1kgt5og] {
    font-size: var(--text-5xs); font-family: var(--font-mono); font-weight: 700;
    padding: 0.05rem 0.3rem; border-radius: var(--radius-2xs);
}
.hc-exit-ok[b-yer1kgt5og] { background: var(--success-color-10); color: var(--success-color); }
.hc-exit-err[b-yer1kgt5og] { background: var(--error-color-10); color: var(--error-color); }

/* Pipeline step rows in expanded history cards */
.hc-step-row[b-yer1kgt5og] {
    display: flex; align-items: center; gap: 0.4rem;
    font-size: var(--text-2xs); padding: 0.15rem 0;
    border-bottom: 1px solid var(--white-overlay-03);
}
.hc-step-row:last-child[b-yer1kgt5og] { border-bottom: none; }
.hc-step-icon[b-yer1kgt5og] { width: 1rem; text-align: center; flex-shrink: 0; }
.hc-step-name[b-yer1kgt5og] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-step-type[b-yer1kgt5og] { font-family: var(--font-mono); font-size: var(--text-4xs); flex-shrink: 0; }
.hc-step-dur[b-yer1kgt5og] { font-size: var(--text-4xs); flex-shrink: 0; }
.hc-step-err[b-yer1kgt5og] { font-size: var(--text-4xs); color: var(--error-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; }

/* Pipeline-specific history meta */
.hc-steps[b-yer1kgt5og] { font-family: var(--font-mono); font-size: var(--text-4xs); }
.hc-branch[b-yer1kgt5og] { font-family: var(--font-mono); font-size: var(--text-5xs); padding: 0.05rem 0.3rem; border-radius: var(--radius-2xs); background: var(--accent-color-10); color: var(--accent-color); }
.hc-cost[b-yer1kgt5og] { font-family: var(--font-mono); }

/* Empty state */
.hist-empty[b-yer1kgt5og] {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 3rem 1rem; gap: 0.5rem;
}
.hist-empty-icon[b-yer1kgt5og] { font-size: var(--text-3xl); opacity: 0.3; }
.hist-empty-text[b-yer1kgt5og] { font-size: var(--text-xs); opacity: 0.3; text-align: center; }

/* ── Initial-load shimmer skeleton (date separator + four rows) ── */
.hist-skel-list[b-yer1kgt5og] { display: flex; flex-direction: column; gap: 0.5rem; }
.hist-skel[b-yer1kgt5og] {
    border-radius: var(--radius-sm);
    background: linear-gradient(90deg,
        var(--white-overlay-04) 25%,
        var(--white-overlay-08) 50%,
        var(--white-overlay-04) 75%);
    background-size: 200% 100%;
    animation: hist-shimmer-b-yer1kgt5og var(--pipeline-shimmer-duration) ease-in-out infinite;
}
.hist-skel-sep[b-yer1kgt5og] { height: 0.9rem; width: 30%; }
.hist-skel-row[b-yer1kgt5og] { height: 3.4rem; opacity: calc(1 - var(--hc-i, 0) * 0.18); }
@keyframes hist-shimmer-b-yer1kgt5og {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ── Staggered row entry on tab mount (index capped at 12 in markup) ── */
.hist-card[b-yer1kgt5og] {
    animation: hc-enter-b-yer1kgt5og var(--pipeline-card-enter-duration) var(--pipeline-card-enter-easing) both;
    animation-delay: calc(var(--hc-i, 0) * var(--pipeline-stagger-delay));
}
@keyframes hc-enter-b-yer1kgt5og {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ── Reduced motion: kill entry/shimmer/pulse decoration, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .hist-card[b-yer1kgt5og] { animation: none; }
    .hist-skel[b-yer1kgt5og] { animation: none; }
    .hc-running .hc-dot[b-yer1kgt5og] { animation: none; }
}
/* _content/Ayva.Polymorph/Components/Tabs/OutputTab.razor.rz.scp.css */
/* OutputTab — Task 4 console rebuild. Virtualized fixed-height rows, multi-select
   filter chips, search, side drawer, "↓ N new" pill. Line-type styling rides the
   theme's --stage-* / --status-* tokens (ayva-theme.css) — no hardcoded colors. */

.v-output[b-aq11jvew0a] { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; min-height: 0; position: relative; }
.empty[b-aq11jvew0a] { text-align: center; padding: 3rem; opacity: 0.3; }
@keyframes pulse-b-aq11jvew0a { 0%,100%{opacity:1} 50%{opacity:0.3} }

/* ── Pinned current-action header ── */
.now[b-aq11jvew0a] { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; background: var(--accent-color-6); border: 1px solid var(--accent-color-15); border-radius: var(--radius-md); font-size: var(--text-xs-plus); font-family: var(--font-mono); }
.now.idle[b-aq11jvew0a] { opacity: 0.4; background: var(--glass-bg); border-color: var(--border-color); }
.now-dot[b-aq11jvew0a] { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-color); animation: pulse-b-aq11jvew0a 1s infinite; flex-shrink: 0; }
.now-title[b-aq11jvew0a] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex-shrink: 0; max-width: 32%; }
.now-peek-tag[b-aq11jvew0a] { font-size: var(--text-5xs); font-weight: 700; padding: 0.07rem 0.3rem; border-radius: var(--radius-2xs); text-transform: uppercase; background: var(--stage-implementation-bg); color: var(--stage-implementation); flex-shrink: 0; }
.now-peek-tag.now-pt-tool[b-aq11jvew0a] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.now-peek[b-aq11jvew0a] { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: 0.7; }
.now-elapsed[b-aq11jvew0a] { font-size: var(--text-2xs); opacity: 0.5; margin-left: auto; flex-shrink: 0; }
.now-idle[b-aq11jvew0a] { opacity: 0.5; }

/* ── Toolbar: chips + search + actions ── */
.out-toolbar[b-aq11jvew0a] { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
.out-chips[b-aq11jvew0a] { display: flex; gap: 0.25rem; }
.out-chip[b-aq11jvew0a] { background: var(--glass-bg); border: 1px solid var(--border-color); color: var(--text-muted); font-size: var(--text-2xs); padding: 0.25rem 0.6rem; border-radius: var(--radius-sm); cursor: pointer; transition: var(--transition-fast); }
.out-chip:hover[b-aq11jvew0a] { color: var(--text-secondary); border-color: var(--accent-color-30); }
.out-chip small[b-aq11jvew0a] { opacity: 0.55; margin-left: 0.2rem; }
.out-chip-sel[b-aq11jvew0a] { color: var(--text-primary); }
.out-chip-console.out-chip-sel[b-aq11jvew0a] { border-color: var(--stage-implementation); background: var(--stage-implementation-bg); }
.out-chip-channel.out-chip-sel[b-aq11jvew0a] { border-color: var(--stage-architecture); background: var(--stage-architecture-bg); }
.out-chip-llm.out-chip-sel[b-aq11jvew0a] { border-color: var(--stage-testing); background: var(--stage-testing-bg); }
.out-chip-events.out-chip-sel[b-aq11jvew0a] { border-color: var(--stage-review); background: var(--stage-review-bg); }
.out-search[b-aq11jvew0a] { background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-sm); color: var(--text-primary); font-size: var(--text-2xs); font-family: var(--font-mono); padding: 0.25rem 0.5rem; min-width: 180px; }
.out-search:focus[b-aq11jvew0a] { outline: none; border-color: var(--accent-color); }
.out-tb-spacer[b-aq11jvew0a] { flex: 1; }
.out-act[b-aq11jvew0a] { background: var(--glass-bg); border: 1px solid var(--border-color); color: var(--text-muted); font-size: var(--text-2xs); padding: 0.25rem 0.55rem; border-radius: var(--radius-sm); cursor: pointer; transition: var(--transition-fast); }
.out-act:hover[b-aq11jvew0a] { color: var(--text-primary); border-color: var(--accent-color-30); }
.out-act-sel[b-aq11jvew0a] { color: var(--accent-color); border-color: var(--accent-color); background: var(--accent-color-6); }

/* ── Virtualized stream ── */
.out-stream-wrap[b-aq11jvew0a] { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; }
.out-stream[b-aq11jvew0a] { flex: 1; min-height: 300px; max-height: calc(100vh - 260px); overflow-y: auto; font-family: var(--font-mono); font-size: var(--text-2xs); background: var(--bg-secondary); border-radius: var(--radius-sm); padding: 0.3rem 0.4rem; }

/* Fixed-height rows: --out-row-h MUST stay in sync with OutputTab.RowHeightPx
   (raw Virtualize ItemSize) — inline expansion is banned, detail goes to the drawer. */
.orow[b-aq11jvew0a] { --out-row-h: 26px; height: var(--out-row-h); box-sizing: border-box; display: flex; gap: 0.35rem; align-items: center; padding: 0 0.3rem; border-bottom: 1px solid var(--white-overlay-02); white-space: nowrap; overflow: hidden; }
.orow-click[b-aq11jvew0a] { cursor: pointer; }
.orow-click:hover[b-aq11jvew0a] { background: var(--white-overlay-03); }
.ot[b-aq11jvew0a] { opacity: 0.25; font-size: var(--text-4xs); min-width: 52px; flex-shrink: 0; }
.otag[b-aq11jvew0a] { font-size: var(--text-6xs); font-weight: 700; padding: 0.07rem 0.25rem; border-radius: var(--radius-2xs); text-transform: uppercase; background: var(--white-overlay-06); flex-shrink: 0; }
.oc[b-aq11jvew0a] { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.4; }
.om[b-aq11jvew0a] { font-size: var(--text-4xs); opacity: 0.45; flex-shrink: 0; }
.om-cost[b-aq11jvew0a] { color: var(--stage-build); opacity: 0.8; }
.ocopy[b-aq11jvew0a] { background: none; border: none; color: var(--text-muted); font-size: var(--text-2xs); cursor: pointer; padding: 0 0.2rem; opacity: 0; transition: var(--transition-fast); flex-shrink: 0; }
.orow:hover .ocopy[b-aq11jvew0a] { opacity: 0.6; }
.ocopy:hover[b-aq11jvew0a] { opacity: 1 !important; color: var(--text-primary); }

/* Line-type tags + accents — console kinds map onto pipeline stage tokens */
.otag-sys[b-aq11jvew0a] { color: var(--stage-queued); }
.orow-sys[b-aq11jvew0a] { opacity: 0.45; }
.otag-think[b-aq11jvew0a] { background: var(--stage-review-bg); color: var(--stage-review); }
.orow-think[b-aq11jvew0a] { border-left: 2px solid var(--stage-review); }
.otag-asst[b-aq11jvew0a] { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.otag-tool[b-aq11jvew0a] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.orow-tool[b-aq11jvew0a] { border-left: 2px solid var(--stage-architecture); }
.otag-res[b-aq11jvew0a] { background: var(--stage-build-bg); color: var(--stage-build); }
.orow-res[b-aq11jvew0a] { border-left: 2px solid var(--stage-build); }
.otag-done[b-aq11jvew0a] { background: var(--stage-complete-bg); color: var(--stage-complete); }
.otag-err[b-aq11jvew0a] { background: var(--stage-failed-bg); color: var(--stage-failed); }
.orow-err[b-aq11jvew0a] { border-left: 2px solid var(--stage-failed); }
.otag-llm[b-aq11jvew0a] { background: var(--stage-testing-bg); color: var(--stage-testing); font-style: italic; }
.orow-llm[b-aq11jvew0a] { background: var(--stage-testing-bg); }
.otag-event[b-aq11jvew0a] { background: var(--stage-review-bg); color: var(--stage-review); }
.orow-event[b-aq11jvew0a] { opacity: 0.8; }
.orow-sev-warning .oc[b-aq11jvew0a] { color: var(--warning-color); }
.orow-sev-error .oc[b-aq11jvew0a], .orow-sev-critical .oc[b-aq11jvew0a] { color: var(--error-color); }
.otag-ch-agent[b-aq11jvew0a] { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.orow-ch-agent[b-aq11jvew0a] { border-left: 2px solid var(--stage-implementation); }
.otag-ch-user[b-aq11jvew0a] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.orow-ch-user[b-aq11jvew0a] { border-left: 2px solid var(--stage-architecture); }
.otag-ch-orch[b-aq11jvew0a] { background: var(--stage-review-bg); color: var(--stage-review); }
.orow-ch-orch[b-aq11jvew0a] { border-left: 2px solid var(--stage-review); }
.otag-ch-sys[b-aq11jvew0a] { background: var(--white-overlay-08); color: var(--text-muted); }
.orow-fail[b-aq11jvew0a] { box-shadow: inset 2px 0 0 var(--status-danger-50); }

/* ── "↓ N new" pill ── */
.out-newpill[b-aq11jvew0a] { position: absolute; bottom: 0.75rem; left: 50%; transform: translateX(-50%); background: var(--accent-color); color: var(--text-white); border: none; border-radius: var(--radius-lg); font-size: var(--text-2xs); font-weight: 600; padding: 0.3rem 0.8rem; cursor: pointer; box-shadow: var(--shadow-md); transition: var(--transition-fast); }
.out-newpill:hover[b-aq11jvew0a] { filter: brightness(1.1); }

/* ── Side drawer (entry detail) ── */
.out-drawer[b-aq11jvew0a] { position: fixed; top: 0; right: 0; bottom: 0; width: min(560px, 92vw); z-index: var(--z-drawer); display: flex; flex-direction: column; background: var(--bg-secondary); border-left: 1px solid var(--border-color); box-shadow: var(--shadow-lg); backdrop-filter: var(--pipeline-glass-blur); padding: 0.75rem; gap: 0.5rem; overflow: hidden; }
.od-head[b-aq11jvew0a] { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-mono); }
.od-time[b-aq11jvew0a] { font-size: var(--text-2xs); opacity: 0.5; }
.od-src[b-aq11jvew0a] { font-size: var(--text-2xs); color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 50%; }
.od-meta[b-aq11jvew0a] { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.4rem 0.5rem; background: var(--glass-bg); border: 1px solid var(--border-color); border-radius: var(--radius-sm); font-family: var(--font-mono); font-size: var(--text-2xs); }
.od-kv[b-aq11jvew0a] { display: flex; gap: 0.35rem; align-items: baseline; }
.od-kv label[b-aq11jvew0a] { text-transform: uppercase; font-size: var(--text-5xs); font-weight: 700; opacity: 0.45; }
.od-fail[b-aq11jvew0a] { color: var(--error-color); font-weight: 700; font-size: var(--text-3xs); }
.od-body[b-aq11jvew0a] { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 0.5rem; }
.od-section[b-aq11jvew0a] { border: 1px solid var(--white-overlay-04); border-radius: var(--radius-sm); overflow: hidden; flex-shrink: 0; }
.od-sec-label[b-aq11jvew0a] { font-size: var(--text-4xs); font-weight: 600; padding: 0.2rem 0.45rem; background: var(--white-overlay-03); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.05em; }
.od-sec-label small[b-aq11jvew0a] { opacity: 0.5; text-transform: none; margin-left: 0.3rem; }
.od-sec-content[b-aq11jvew0a] { margin: 0; padding: 0.45rem 0.6rem; font-size: var(--text-2xs); font-family: var(--font-mono); white-space: pre-wrap; word-break: break-word; max-height: 40vh; overflow-y: auto; background: var(--black-overlay-12); }
.od-sec-err[b-aq11jvew0a] { border-color: var(--status-danger-50); }
.od-sec-err .od-sec-label[b-aq11jvew0a] { color: var(--error-color); }

/* ── Responsive ── */
@media (max-width: 768px) {
    .out-toolbar[b-aq11jvew0a] { gap: 0.3rem; }
    .out-search[b-aq11jvew0a] { min-width: 120px; flex: 1; }
    .out-drawer[b-aq11jvew0a] { width: 100vw; }
    .now-title[b-aq11jvew0a] { max-width: 45%; }
    .now-peek[b-aq11jvew0a] { display: none; }
}

/* ── Reduced motion: silence decorative animation, keep content ── */
@media (prefers-reduced-motion: reduce) {
    .now-dot[b-aq11jvew0a] { animation: none; }
}

/* MudFocusTrap wrappers must stay transparent to the drawer's flex column */
.out-drawer[b-aq11jvew0a]  .mud-focus-trap,
.out-drawer[b-aq11jvew0a]  .mud-focus-trap-child-container {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: inherit;
}
/* _content/Ayva.Polymorph/Components/Tabs/OverseerTab.razor.rz.scp.css */
/* OverseerTab — Health & Forensics (UI redesign Task 7 rebuild).
   All values via ayva-theme.css tokens; glassmorphism card stack per UI_DESIGN.md §14. */

.ov-root[b-jt6rc2hhss] { padding: var(--space-xs); display: flex; flex-direction: column; gap: var(--space-md); }
.ov-muted[b-jt6rc2hhss] { color: var(--text-muted); font-size: var(--text-xs); }

/* ═══ Health hero ═══ */
.ov-hero[b-jt6rc2hhss] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 2fr;
    gap: var(--space-md);
    padding: var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.ov-gauge[b-jt6rc2hhss] {
    display: flex; flex-direction: column; align-items: center; gap: var(--space-sm);
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    background: var(--accent-color-5);
    border: 1px solid var(--accent-color-20);
}
.ov-score-value[b-jt6rc2hhss] { font-size: var(--text-2xl); font-weight: var(--font-bold); line-height: 1; font-variant-numeric: tabular-nums; }
.ov-score-suffix[b-jt6rc2hhss] { font-size: var(--text-sm); opacity: 0.6; font-weight: var(--font-normal); margin-left: var(--space-xs); }
.ov-score-label[b-jt6rc2hhss] { font-size: var(--text-xs); letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.8; }
.ov-gauge-bar[b-jt6rc2hhss] { width: 100%; height: 8px; border-radius: var(--radius-full); background: var(--accent-color-10); overflow: hidden; }
.ov-gauge-fill[b-jt6rc2hhss] { height: 100%; border-radius: inherit; transition: width var(--transition-smooth), background-color var(--transition-smooth); background: currentColor; }

/* Color-code by HealthLevel (gauge + sparkline stroke ride currentColor) */
.health-healthy[b-jt6rc2hhss]   { color: var(--success-color); }
.health-degraded[b-jt6rc2hhss]  { color: var(--warning-color); }
.health-unhealthy[b-jt6rc2hhss] { color: var(--error-color); }
.health-critical[b-jt6rc2hhss]  { color: var(--error-color); animation: ov-health-pulse-b-jt6rc2hhss var(--pipeline-pulse-duration) ease-in-out infinite; }

@keyframes ov-health-pulse-b-jt6rc2hhss {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

/* Score-history sparkline */
.ov-spark[b-jt6rc2hhss] { display: flex; flex-direction: column; gap: var(--space-xs); min-width: 0; }
.ov-spark-head[b-jt6rc2hhss] { display: flex; align-items: baseline; gap: var(--space-sm); }
.ov-spark-title[b-jt6rc2hhss] { font-size: var(--text-xs); font-weight: var(--font-semibold); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary); }
.ov-spark-sub[b-jt6rc2hhss] { font-size: var(--text-xs); color: var(--text-muted); }
.ov-spark-svg[b-jt6rc2hhss] { width: 100%; height: 64px; flex: 1; }
.ov-spark-line[b-jt6rc2hhss] { stroke: currentColor; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.ov-spark-empty[b-jt6rc2hhss] {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: var(--space-xs); color: var(--text-muted); font-size: var(--text-sm);
    border: 1px dashed var(--border-subtle); border-radius: var(--radius-md); padding: var(--space-md);
}

/* Delta legend — spans the hero footer */
.ov-legend[b-jt6rc2hhss] { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.ov-delta[b-jt6rc2hhss] {
    font-size: var(--text-xs); font-variant-numeric: tabular-nums;
    padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-full);
    border: 1px solid var(--border-subtle); background: var(--glass-subtle); color: var(--text-secondary);
}
.ov-delta-up[b-jt6rc2hhss] { color: var(--success-text); border-color: var(--success-border); background: var(--success-bg); }
.ov-delta-down[b-jt6rc2hhss] { color: var(--error-text); border-color: var(--error-border); background: var(--error-bg); }

/* ═══ Section cards ═══ */
.ov-section[b-jt6rc2hhss] { background: var(--glass-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-lg); overflow: hidden; }
.ov-section-header[b-jt6rc2hhss] { display: flex; align-items: flex-start; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--border-color); background: var(--glass-dark); }
.ov-section-header h3[b-jt6rc2hhss] { margin: 0; font-size: var(--text-sm); }
.ov-section-icon[b-jt6rc2hhss] { font-size: var(--text-base); flex-shrink: 0; margin-top: 0.1rem; }
.ov-section-body[b-jt6rc2hhss] { padding: var(--space-md); }

/* ═══ Failure intelligence cards ═══ */
.ov-pattern-grid[b-jt6rc2hhss] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-sm); }
.ov-pattern-card[b-jt6rc2hhss] {
    display: flex; flex-direction: column; gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass);
    border: 1px solid var(--error-border);
    border-left: 3px solid var(--error-color);
    border-radius: var(--radius-md);
    transition: background var(--transition-fast);
}
.ov-pattern-card:hover[b-jt6rc2hhss] { background: var(--pipeline-glass-hover); }
.ov-pattern-top[b-jt6rc2hhss] { display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm); }
.ov-pattern-cat[b-jt6rc2hhss] {
    font-size: var(--text-xs); font-weight: var(--font-semibold);
    color: var(--error-text); background: var(--error-bg);
    padding: 0 var(--space-sm); border-radius: var(--radius-full);
}
.ov-pattern-age[b-jt6rc2hhss] { font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
.ov-pattern-snippet[b-jt6rc2hhss] { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-secondary); line-height: 1.4; word-break: break-word; }
.ov-pattern-corr[b-jt6rc2hhss] { font-size: var(--text-xs); color: var(--text-muted); }

/* ═══ Status badges ═══ */
.ov-status-bar[b-jt6rc2hhss] { display: flex; align-items: center; gap: var(--space-sm); }
.ov-badge[b-jt6rc2hhss] {
    display: inline-flex; align-items: center; gap: var(--space-xs);
    font-size: var(--text-xs); font-weight: var(--font-semibold);
    padding: var(--space-xs) var(--space-sm); border-radius: var(--radius-full);
    border: 1px solid var(--border-color); color: var(--text-secondary);
}
.ov-badge.alive[b-jt6rc2hhss] { color: var(--success-color); border-color: var(--success-border); background: var(--success-bg); }
.ov-badge.offline[b-jt6rc2hhss] { color: var(--text-muted); }
.ov-badge.executing[b-jt6rc2hhss] { color: var(--accent-color); border-color: var(--accent-color-30); background: var(--accent-color-10); }
.ov-badge.standby[b-jt6rc2hhss] { color: var(--warning-color); border-color: var(--warning-border); background: var(--warning-bg); }
.ov-badge-dot[b-jt6rc2hhss] { width: 6px; height: 6px; border-radius: var(--radius-full); background: currentColor; }
.ov-badge.alive .ov-badge-dot[b-jt6rc2hhss] { animation: ov-health-pulse-b-jt6rc2hhss var(--pipeline-pulse-duration) infinite; }
.ov-badge.executing .ov-badge-dot[b-jt6rc2hhss] { animation: ov-health-pulse-b-jt6rc2hhss var(--pipeline-pulse-duration) infinite; }

/* ═══ Controls ═══ */
.ov-toggle-row[b-jt6rc2hhss] { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-xs); border-radius: var(--radius-sm); transition: background var(--transition-fast); }
.ov-toggle-row:hover[b-jt6rc2hhss] { background: var(--bg-hover); }
.ov-toggle-info[b-jt6rc2hhss] { display: flex; flex-direction: column; gap: 0.1rem; }
.ov-toggle-label[b-jt6rc2hhss] { font-size: var(--text-sm); font-weight: var(--font-semibold); }
.ov-controls-grid[b-jt6rc2hhss] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-sm); margin-top: var(--space-md); }
.ov-field[b-jt6rc2hhss] { display: flex; flex-direction: column; gap: var(--space-xs); }
.ov-field-button[b-jt6rc2hhss] { justify-content: flex-end; }
.ov-label[b-jt6rc2hhss] { font-size: var(--text-xs); font-weight: var(--font-bold); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary); }
.ov-hint[b-jt6rc2hhss] { font-size: var(--text-xs); color: var(--text-muted); line-height: 1.3; }
[b-jt6rc2hhss] .ov-input .mud-input-outlined-border { border-color: var(--border-color) !important; }
[b-jt6rc2hhss] .ov-readonly .mud-input { opacity: 0.5; }
[b-jt6rc2hhss] .ov-switch { margin: 0; }
[b-jt6rc2hhss] .ov-run-btn { height: 40px; }
[b-jt6rc2hhss] .ov-run-spinner { margin-right: var(--space-sm); }

/* ═══ Overseer Verdicts ═══ */
.ov-verdict-list[b-jt6rc2hhss] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.ov-verdict-row[b-jt6rc2hhss] { background: var(--bg-secondary); border-radius: var(--radius-md); }
.ov-verdict-line[b-jt6rc2hhss] {
    display: flex; align-items: center; gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md); cursor: pointer;
    border-radius: var(--radius-md);
    transition: background var(--transition-fast);
}
.ov-verdict-line:hover[b-jt6rc2hhss], .ov-verdict-line:focus-visible[b-jt6rc2hhss] { background: var(--bg-hover); outline: none; }
.ov-verdict-line:focus-visible[b-jt6rc2hhss] { box-shadow: var(--shadow-focus); }
.ov-verdict-chip[b-jt6rc2hhss] { font-weight: var(--font-semibold); font-size: var(--text-sm); display: inline-flex; gap: var(--space-xs); align-items: center; }
.ovv-healthy[b-jt6rc2hhss] { color: var(--success-color); }
.ovv-warning[b-jt6rc2hhss], .ovv-degraded[b-jt6rc2hhss] { color: var(--warning-color); }
.ovv-error[b-jt6rc2hhss], .ovv-dead[b-jt6rc2hhss] { color: var(--error-color); }
.ovv-unknown[b-jt6rc2hhss] { color: var(--text-secondary); }
.ov-manual-tag[b-jt6rc2hhss] { font-size: var(--text-xs); padding: 0 var(--space-sm); background: var(--accent-color); color: var(--text-inverse); border-radius: var(--radius-sm); }
.ov-verdict-meta[b-jt6rc2hhss] { margin-left: auto; font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
.ov-verdict-detail[b-jt6rc2hhss] {
    white-space: pre-wrap; font-size: var(--text-xs); line-height: 1.5; color: var(--text-secondary);
    max-height: 300px; overflow-y: auto;
    margin: 0 var(--space-md); padding: var(--space-sm) 0 var(--space-md);
    border-top: 1px solid var(--border-color);
}

/* ═══ Retention panel ═══ */
.ov-retention-meta[b-jt6rc2hhss] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); font-size: var(--text-sm); color: var(--text-secondary); margin-bottom: var(--space-md); }
.ov-retention-total[b-jt6rc2hhss] { font-weight: var(--font-semibold); color: var(--text-primary); }
.ov-retention-next[b-jt6rc2hhss] { margin-left: auto; font-size: var(--text-xs); color: var(--text-muted); }
.ov-retention-grid[b-jt6rc2hhss] {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--space-sm); margin: 0;
}
.ov-ret-cell[b-jt6rc2hhss] {
    display: flex; flex-direction: column; gap: var(--space-xs);
    background: var(--pipeline-glass); border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md); padding: var(--space-sm) var(--space-md);
}
.ov-ret-cell dt[b-jt6rc2hhss] { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-muted); }
.ov-ret-cell dd[b-jt6rc2hhss] { margin: 0; font-size: var(--text-lg); font-weight: var(--font-semibold); font-variant-numeric: tabular-nums; }

/* ═══ Forensics picker (ToolsTab pattern) ═══ */
.ov-picker[b-jt6rc2hhss] { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-md); }
.ov-picker-label[b-jt6rc2hhss] { font-size: var(--text-xs); font-weight: var(--font-bold); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary); }
.ov-picker-select[b-jt6rc2hhss] {
    flex: 1; max-width: 480px;
    background: var(--bg-input); color: var(--text-primary);
    border: 1px solid var(--border-color); border-radius: var(--radius-sm);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm); font-family: var(--font-primary);
    transition: border-color var(--transition-fast);
}
.ov-picker-select:focus[b-jt6rc2hhss] { border-color: var(--border-focus); outline: none; box-shadow: var(--shadow-focus); }
.ov-picker-select option[b-jt6rc2hhss] { background: var(--bg-secondary); color: var(--text-primary); }

/* ═══ Empty states + skeletons ═══ */
.ov-empty[b-jt6rc2hhss] { color: var(--text-muted); font-size: var(--text-sm); padding: var(--space-md) 0; margin: 0; }
.ov-empty-happy[b-jt6rc2hhss] {
    display: flex; align-items: center; gap: var(--space-sm);
    color: var(--success-text); background: var(--success-bg);
    border: 1px solid var(--success-border); border-radius: var(--radius-md);
    padding: var(--space-md);
}
.ov-empty-icon[b-jt6rc2hhss] { font-size: var(--text-lg); }

.ov-skel-row[b-jt6rc2hhss] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-sm); }
.ov-skel-col[b-jt6rc2hhss] { display: flex; flex-direction: column; gap: var(--space-sm); }
.ov-skel[b-jt6rc2hhss] { background: var(--glass-subtle); border-radius: var(--radius-md); animation: ov-skel-shimmer-b-jt6rc2hhss var(--pipeline-shimmer-duration) ease-in-out infinite; }
.ov-skel-card[b-jt6rc2hhss] { height: 84px; }
.ov-skel-line[b-jt6rc2hhss] { height: 40px; }

@keyframes ov-skel-shimmer-b-jt6rc2hhss {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* ═══ Responsive + motion ═══ */
@media (max-width: 768px) {
    .ov-hero[b-jt6rc2hhss] { grid-template-columns: 1fr; }
    .ov-controls-grid[b-jt6rc2hhss] { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .health-critical[b-jt6rc2hhss], .ov-badge-dot[b-jt6rc2hhss], .ov-skel[b-jt6rc2hhss] { animation: none; }
    .ov-gauge-fill[b-jt6rc2hhss] { transition: none; }
}
/* _content/Ayva.Polymorph/Components/Tabs/ToolsTab.razor.rz.scp.css */
/* ToolsTab — extracted from PolymorphPanel (UI redesign Task 2). */

/* ── Tools sub-nav (enterprise overhaul Tools tab) ── */
.tools-subnav[b-xw01698z8u] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: var(--space-xs);
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-sm);
}

.tools-subtab[b-xw01698z8u] {
    padding: 0.35rem 0.9rem;
    border: none;
    background: none;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: var(--transition-fast);
}

.tools-subtab:hover:not(.sel)[b-xw01698z8u] {
    background: var(--white-overlay-05);
    color: var(--text-primary);
}

.tools-subtab.sel[b-xw01698z8u] {
    background: var(--accent-color-15);
    color: var(--accent-color);
}

.tools-subtab:focus-visible[b-xw01698z8u] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.tools-body[b-xw01698z8u] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

@media (prefers-reduced-motion: reduce) {
    .tools-subtab[b-xw01698z8u] { transition: none; }
}


/* ── Pipeline picker (Task 2: replaces the hardwired "latest" selection) ── */
.tools-picker[b-xw01698z8u] { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); }
.tools-picker-label[b-xw01698z8u] { font-size: var(--text-xs); font-weight: var(--font-semibold); text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-secondary); }
.tools-picker-select[b-xw01698z8u] { background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border-color); border-radius: var(--radius-sm); padding: var(--space-xs) var(--space-sm); font-size: var(--text-sm); font-family: var(--font-primary); max-width: 480px; transition: border-color var(--transition-fast); }
.tools-picker-select:focus[b-xw01698z8u] { outline: none; border-color: var(--border-focus); }
/* _content/Ayva.Polymorph/Pipeline/Components/ActivityStream.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   ActivityStream — Real-time scrolling event feed
   Glassmorphic message entries with severity-colored indicators
   ═══════════════════════════════════════════════════════════════ */

.as[b-olc15k8yqn] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    border-top: 1px solid var(--border-color);
    padding-top: var(--space-md);
}

.as-header[b-olc15k8yqn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.as-title[b-olc15k8yqn] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
}

.as-title[b-olc15k8yqn]  .mud-icon-root {
    font-size: var(--text-sm) !important;
}

.as-count[b-olc15k8yqn] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
}

.as-empty[b-olc15k8yqn] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-lg);
    color: var(--text-muted);
    font-size: var(--text-xs);
}

/* ── Feed Container ── */

.as-feed[b-olc15k8yqn] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 400px;
    overflow-y: auto;
    padding-right: var(--space-xs);
}

/* Scrollbar styling */
.as-feed[b-olc15k8yqn]::-webkit-scrollbar {
    width: 4px;
}

.as-feed[b-olc15k8yqn]::-webkit-scrollbar-track {
    background: transparent;
}

.as-feed[b-olc15k8yqn]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: var(--radius-full);
}

/* ── Activity Entry ── */

.as-entry[b-olc15k8yqn] {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast);
    animation: as-fade-in-b-olc15k8yqn 0.3s ease forwards;
}

@keyframes as-fade-in-b-olc15k8yqn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.as-entry:hover[b-olc15k8yqn] {
    background: var(--bg-hover);
}

/* Severity indicator */
.as-indicator[b-olc15k8yqn] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 2px;
}

.as-indicator[b-olc15k8yqn]  .mud-icon-root {
    font-size: var(--text-xs-plus) !important;
}

/* Severity color variants */
.as-info .as-indicator[b-olc15k8yqn]    { color: var(--info-color); }
.as-success .as-indicator[b-olc15k8yqn] { color: var(--success-color); }
.as-warning .as-indicator[b-olc15k8yqn] { color: var(--warning-color); }
.as-error .as-indicator[b-olc15k8yqn]   { color: var(--error-color); }

/* ── Content ── */

.as-content[b-olc15k8yqn] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.as-msg-row[b-olc15k8yqn] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.as-agent[b-olc15k8yqn] {
    font-size: var(--text-4xs);
    font-weight: var(--font-semibold);
    padding: 0.04rem 0.3rem;
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--agent-badge-color, var(--accent-color)) 15%, transparent);
    color: var(--agent-badge-color, var(--accent-color));
    flex-shrink: 0;
}

.as-msg[b-olc15k8yqn] {
    font-size: var(--text-xs);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}

.as-time[b-olc15k8yqn] {
    font-size: var(--text-4xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    flex-shrink: 0;
    margin-left: auto;
}

.as-detail[b-olc15k8yqn] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.4;
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border-left: 2px solid var(--border-color);
}

.as-error .as-detail[b-olc15k8yqn] {
    border-left-color: var(--error-color);
    background: var(--error-bg);
}

.as-corr-id[b-olc15k8yqn] {
    font-size: var(--text-5xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    opacity: 0.6;
}

/* ── Show More ── */

.as-show-more[b-olc15k8yqn] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-sm);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.as-show-more:hover[b-olc15k8yqn] {
    background: var(--bg-hover);
    border-color: var(--accent-color);
    color: var(--text-primary);
}

/* ── Focus Visible ── */

.as-show-more:focus-visible[b-olc15k8yqn],
.as-filter-btn:focus-visible[b-olc15k8yqn] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.as-entry:focus-visible[b-olc15k8yqn] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 640px) {
    .as-feed[b-olc15k8yqn] {
        max-height: 250px;
    }

    .as-time[b-olc15k8yqn] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .as-entry[b-olc15k8yqn] {
        animation: none;
    }

    .as-entry[b-olc15k8yqn],
    .as-show-more[b-olc15k8yqn] {
        transition: none;
    }

    .as-show-more:focus-visible[b-olc15k8yqn],
    .as-filter-btn:focus-visible[b-olc15k8yqn],
    .as-entry:focus-visible[b-olc15k8yqn] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/AgentCard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   AgentCard — Individual team member card
   Glassmorphism card with per-agent color theming via --member-color.
   State classes: ac-active, ac-completed, ac-errored, ac-waiting, ac-idle
   ═══════════════════════════════════════════════════════════════ */

.ac[b-uowiy0eb0z] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    transition: all var(--transition-normal);
    overflow: hidden;
}

/* Top accent bar — colored by agent */
.ac[b-uowiy0eb0z]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--member-color, var(--accent-color));
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    opacity: 0.6;
    transition: opacity var(--transition-fast);
}

.ac:hover[b-uowiy0eb0z] {
    border-color: var(--border-color-medium);
    background: var(--pipeline-glass-hover);
}

.ac:hover[b-uowiy0eb0z]::before {
    opacity: 1;
}

/* ── State Variants ── */

.ac.ac-active[b-uowiy0eb0z] {
    border-color: var(--agent-active);
    box-shadow: 0 0 20px color-mix(in srgb, var(--agent-active) 20%, transparent);
}

.ac.ac-active[b-uowiy0eb0z]::before {
    opacity: 1;
    background: var(--agent-active);
}

.ac.ac-completed[b-uowiy0eb0z] {
    opacity: 0.85;
}

.ac.ac-completed[b-uowiy0eb0z]::before {
    background: var(--agent-completed);
    opacity: 1;
}

.ac.ac-errored[b-uowiy0eb0z] {
    border-color: color-mix(in srgb, var(--agent-errored) 40%, var(--border-color));
}

.ac.ac-errored[b-uowiy0eb0z]::before {
    background: var(--agent-errored);
    opacity: 1;
}

.ac.ac-waiting[b-uowiy0eb0z] {
    opacity: 0.9;
}

.ac.ac-waiting[b-uowiy0eb0z]::before {
    background: var(--agent-waiting);
}

/* ── Pulse Indicator ── */

.ac-pulse[b-uowiy0eb0z] {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--member-color, var(--accent-color));
}

.ac-active .ac-pulse[b-uowiy0eb0z] {
    background: var(--agent-active);
    animation: ac-pulse-kf-b-uowiy0eb0z var(--pipeline-pulse-duration) infinite;
}

.ac-errored .ac-pulse[b-uowiy0eb0z] {
    background: var(--agent-errored);
}

.ac-completed .ac-pulse[b-uowiy0eb0z] {
    background: var(--agent-completed);
}

.ac-idle .ac-pulse[b-uowiy0eb0z],
.ac-waiting .ac-pulse[b-uowiy0eb0z] {
    opacity: 0.4;
}

@keyframes ac-pulse-kf-b-uowiy0eb0z {
    0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--agent-active) 50%, transparent); }
    70%  { box-shadow: 0 0 0 6px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

/* ── Header ── */

.ac-header[b-uowiy0eb0z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding-right: var(--space-lg); /* room for pulse dot */
}

.ac-role[b-uowiy0eb0z] {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ac-state-badge[b-uowiy0eb0z] {
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    padding: 0.08rem 0.35rem;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    background: var(--bg-hover);
    color: var(--text-secondary);
}

.ac-active .ac-state-badge[b-uowiy0eb0z]  { background: color-mix(in srgb, var(--agent-active) 15%, transparent); color: var(--agent-active); }
.ac-completed .ac-state-badge[b-uowiy0eb0z] { background: color-mix(in srgb, var(--agent-completed) 15%, transparent); color: var(--agent-completed); }
.ac-errored .ac-state-badge[b-uowiy0eb0z] { background: color-mix(in srgb, var(--agent-errored) 15%, transparent); color: var(--agent-errored); }
.ac-waiting .ac-state-badge[b-uowiy0eb0z] { background: color-mix(in srgb, var(--agent-waiting) 15%, transparent); color: var(--agent-waiting); }

/* ── Tags ── */

.ac-tags[b-uowiy0eb0z] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.ac-tag[b-uowiy0eb0z] {
    font-size: var(--text-4xs);
    padding: 1px 6px;
    border-radius: var(--radius-full);
    background: var(--bg-hover);
    color: var(--text-secondary);
    white-space: nowrap;
}

.ac-tag-more[b-uowiy0eb0z] {
    color: var(--text-muted);
    font-style: italic;
}

/* ── Current Task ── */

.ac-current-task[b-uowiy0eb0z] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border-left: 2px solid var(--member-color, var(--accent-color));
}

.ac-task-type[b-uowiy0eb0z] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.25rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: var(--bg-hover);
    color: var(--text-secondary);
    white-space: nowrap;
}

/* Step type color variants (shared with PipelineView) */
.tp-securityscreen[b-uowiy0eb0z]     { background: var(--stage-security-bg); color: var(--stage-security); }
.tp-architecturereview[b-uowiy0eb0z] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-implementation[b-uowiy0eb0z]     { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.tp-buildverification[b-uowiy0eb0z]  { background: var(--stage-build-bg); color: var(--stage-build); }
.tp-unittests[b-uowiy0eb0z],
.tp-playwrighttests[b-uowiy0eb0z]    { background: var(--stage-testing-bg); color: var(--stage-testing); }
.tp-documentationupdate[b-uowiy0eb0z] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-codereview[b-uowiy0eb0z],
.tp-finalreview[b-uowiy0eb0z]        { background: var(--stage-review-bg); color: var(--stage-review); }
.tp-restart[b-uowiy0eb0z]            { background: var(--stage-failed-bg); color: var(--stage-failed); }

.ac-task-name[b-uowiy0eb0z] {
    font-size: var(--text-xs);
    color: var(--text-primary);
    font-weight: var(--font-medium);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

/* ── Progress ── */

.ac-progress[b-uowiy0eb0z] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ac-progress-label[b-uowiy0eb0z] {
    display: flex;
    justify-content: space-between;
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.ac-failed-count[b-uowiy0eb0z] {
    color: var(--error-color);
}

.ac-progress-track[b-uowiy0eb0z] {
    height: 3px;
    background: var(--bg-hover);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.ac-progress-fill[b-uowiy0eb0z] {
    height: 100%;
    background: var(--member-color, var(--accent-color));
    border-radius: var(--radius-full);
    transition: width var(--transition-normal);
}

.ac-errored .ac-progress-fill[b-uowiy0eb0z] {
    background: linear-gradient(90deg, var(--member-color, var(--accent-color)), var(--error-color));
}

/* ── Stats Row ── */

.ac-stats[b-uowiy0eb0z] {
    display: flex;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.ac-stat[b-uowiy0eb0z] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
}

.ac-stat[b-uowiy0eb0z]  .mud-icon-root {
    font-size: var(--text-2xs) !important;
    opacity: 0.6;
}

/* ── Actions ── */

.ac-actions[b-uowiy0eb0z] {
    display: flex;
    gap: var(--space-xs);
    margin-top: auto;
}

.ac-btn[b-uowiy0eb0z] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-family: var(--font-primary);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.ac-btn:hover[b-uowiy0eb0z] {
    background: var(--bg-hover);
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.ac-btn[b-uowiy0eb0z]  .mud-icon-root {
    font-size: var(--text-sm) !important;
}

.ac-btn-expand[b-uowiy0eb0z] {
    flex: 1;
}

.ac-btn-drill[b-uowiy0eb0z] {
    padding: var(--space-xs);
}

/* ── Expanded Tasks ── */

.ac-tasks-expanded[b-uowiy0eb0z] {
    border-top: 1px solid var(--border-color);
    padding-top: var(--space-sm);
    margin-top: var(--space-xs);
}

/* ── Focus Visible ── */

.ac:focus-visible[b-uowiy0eb0z] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.ac-btn:focus-visible[b-uowiy0eb0z] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .ac[b-uowiy0eb0z] {
        padding: var(--space-sm) var(--space-sm) var(--space-xs);
        gap: var(--space-xs);
    }

    .ac-header[b-uowiy0eb0z] {
        padding-right: var(--space-md);
    }

    .ac-stats[b-uowiy0eb0z] {
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: opacity var(--transition-fast), max-height var(--transition-fast);
    }

    .ac:hover .ac-stats[b-uowiy0eb0z] {
        opacity: 1;
        max-height: 50px;
    }

    .ac-tags[b-uowiy0eb0z] {
        gap: 2px;
    }

    .ac-tag[b-uowiy0eb0z] {
        font-size: var(--text-5xs);
        padding: 0 4px;
    }

    .ac-tasks-expanded[b-uowiy0eb0z] {
        display: flex;
        flex-direction: column;
    }

    .ac-current-task[b-uowiy0eb0z] {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        padding: var(--space-xs);
    }

    .ac-actions[b-uowiy0eb0z] {
        gap: 2px;
    }

    .ac-btn[b-uowiy0eb0z] {
        padding: 3px var(--space-xs);
        font-size: var(--text-3xs);
    }
}

@media (max-width: 640px) {
    .ac[b-uowiy0eb0z] {
        padding: var(--space-sm);
    }

    .ac-stats[b-uowiy0eb0z] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .ac[b-uowiy0eb0z],
    .ac[b-uowiy0eb0z]::before,
    .ac-progress-fill[b-uowiy0eb0z],
    .ac-btn[b-uowiy0eb0z] {
        transition: none;
    }

    .ac-active .ac-pulse[b-uowiy0eb0z] {
        animation: none;
    }

    .ac:focus-visible[b-uowiy0eb0z],
    .ac-btn:focus-visible[b-uowiy0eb0z] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/AnimatedCounter.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   AnimatedCounter — Animated number display with trend indicators
   Value transitions smoothly via CSS when data changes.
   ═══════════════════════════════════════════════════════════════ */

.actr[b-0rtgew1v9i] {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    font-family: var(--font-mono);
    line-height: 1.2;
    white-space: nowrap;
}

/* ── Value ── */

.actr-val[b-0rtgew1v9i] {
    font-weight: var(--font-bold);
    color: var(--text-primary);
    transition: color var(--transition-fast);
}

/* Flash animation on value change */
.actr-dir-up .actr-val[b-0rtgew1v9i],
.actr-dir-down .actr-val[b-0rtgew1v9i] {
    animation: actr-flash-b-0rtgew1v9i 0.6s ease-out;
}

@keyframes actr-flash-b-0rtgew1v9i {
    0%   { opacity: 0.5; transform: translateY(0); }
    30%  { opacity: 1; }
    100% { opacity: 1; transform: translateY(0); }
}

/* ── Prefix & Suffix ── */

.actr-prefix[b-0rtgew1v9i],
.actr-suffix[b-0rtgew1v9i] {
    color: var(--text-muted);
    font-weight: var(--font-medium);
}

/* ── Trend Arrow ── */

.actr-trend[b-0rtgew1v9i] {
    font-size: var(--text-2xs); /* ~0.7x of the md counter size */
    font-weight: var(--font-bold);
    margin-left: 2px;
    transition: color var(--transition-fast);
}

.actr-sm .actr-trend[b-0rtgew1v9i] { font-size: var(--text-5xs); }
.actr-lg .actr-trend[b-0rtgew1v9i] { font-size: var(--text-xs); }

.actr-trend-up[b-0rtgew1v9i] {
    color: var(--success-color);
}

.actr-trend-down[b-0rtgew1v9i] {
    color: var(--error-color);
}

/* ── Size Variants ── */

/* Small */
.actr-sm[b-0rtgew1v9i] {
    font-size: var(--text-xs);
}

.actr-sm .actr-prefix[b-0rtgew1v9i],
.actr-sm .actr-suffix[b-0rtgew1v9i] {
    font-size: var(--text-4xs);
}

/* Medium (default) */
.actr-md[b-0rtgew1v9i] {
    font-size: var(--text-base);
}

.actr-md .actr-prefix[b-0rtgew1v9i],
.actr-md .actr-suffix[b-0rtgew1v9i] {
    font-size: var(--text-sm);
}

/* Large */
.actr-lg[b-0rtgew1v9i] {
    font-size: var(--text-lg, 1.125rem);
}

.actr-lg .actr-val[b-0rtgew1v9i] {
    font-size: var(--text-xl, 1.25rem);
}

.actr-lg .actr-prefix[b-0rtgew1v9i],
.actr-lg .actr-suffix[b-0rtgew1v9i] {
    font-size: var(--text-base);
}

/* ── Responsive ── */

@media (max-width: 640px) {
    .actr-lg[b-0rtgew1v9i] {
        font-size: var(--text-base);
    }

    .actr-lg .actr-val[b-0rtgew1v9i] {
        font-size: var(--text-lg, 1.125rem);
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .actr-dir-up .actr-val[b-0rtgew1v9i],
    .actr-dir-down .actr-val[b-0rtgew1v9i] {
        animation: none;
    }

    .actr-val[b-0rtgew1v9i],
    .actr-trend[b-0rtgew1v9i] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/MetricsPanel.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   MetricsPanel — Dashboard metrics bar with glassmorphic stat cards
   ═══════════════════════════════════════════════════════════════ */

.mp[b-ylhcza5xea] {
    display: flex;
    gap: var(--space-sm);
    overflow-x: auto;
    padding-bottom: var(--space-xs);
}

/* Scrollbar */
.mp[b-ylhcza5xea]::-webkit-scrollbar {
    height: 3px;
}

.mp[b-ylhcza5xea]::-webkit-scrollbar-track {
    background: transparent;
}

.mp[b-ylhcza5xea]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: var(--radius-full);
}

/* ── Stat Card ── */

.mp-card[b-ylhcza5xea] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    flex-shrink: 0;
    min-width: 120px;
    transition: all var(--transition-fast);
}

.mp-card:hover[b-ylhcza5xea] {
    border-color: var(--border-color-medium);
    background: var(--pipeline-glass-hover);
}

.mp-card.mp-highlight[b-ylhcza5xea] {
    border-color: var(--accent-color);
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent-color) 15%, transparent);
}

.mp-card.mp-card-error[b-ylhcza5xea] {
    border-color: color-mix(in srgb, var(--error-color) 30%, var(--border-color));
}

.mp-card.mp-card-busy[b-ylhcza5xea] {
    border-color: color-mix(in srgb, var(--warning-color) 30%, var(--border-color));
}

/* ── Icon ── */

.mp-icon[b-ylhcza5xea] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.mp-icon[b-ylhcza5xea]  .mud-icon-root {
    font-size: var(--text-base) !important;
}

.mp-icon-active[b-ylhcza5xea]  { background: color-mix(in srgb, var(--accent-color) 15%, transparent); color: var(--accent-color); }
.mp-icon-queued[b-ylhcza5xea]  { background: var(--bg-hover); color: var(--text-secondary); }
.mp-icon-agents[b-ylhcza5xea]  { background: color-mix(in srgb, var(--secondary-accent) 15%, transparent); color: var(--secondary-accent); }
.mp-icon-done[b-ylhcza5xea]    { background: var(--success-bg); color: var(--success-color); }
.mp-icon-error[b-ylhcza5xea]   { background: var(--error-bg); color: var(--error-color); }
.mp-icon-speed[b-ylhcza5xea]   { background: color-mix(in srgb, var(--info-color) 15%, transparent); color: var(--info-color); }
.mp-icon-rate[b-ylhcza5xea]    { background: var(--success-bg); color: var(--success-color); }
.mp-icon-tokens[b-ylhcza5xea]  { background: color-mix(in srgb, var(--warning-color) 15%, transparent); color: var(--warning-color); }
.mp-icon-cost[b-ylhcza5xea]    { background: color-mix(in srgb, var(--accent-color) 15%, transparent); color: var(--accent-color); }
.mp-icon-busy[b-ylhcza5xea]    { background: color-mix(in srgb, var(--warning-color) 15%, transparent); color: var(--warning-color); }

/* ── Data ── */

.mp-data[b-ylhcza5xea] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.mp-val[b-ylhcza5xea] {
    font-size: var(--text-base);
    font-weight: var(--font-bold);
    color: var(--text-primary);
    font-family: var(--font-mono);
    line-height: 1.2;
}

.mp-val-busy[b-ylhcza5xea] {
    color: var(--warning-color);
}

.mp-lbl[b-ylhcza5xea] {
    font-size: var(--text-4xs);
    font-weight: var(--font-medium);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

/* ── Focus Visible ── */

.mp-card:focus-visible[b-ylhcza5xea],
.mp-stat-item:focus-visible[b-ylhcza5xea] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .mp[b-ylhcza5xea] {
        gap: var(--space-xs);
    }

    .mp-card[b-ylhcza5xea] {
        padding: var(--space-xs) var(--space-sm);
        min-width: 100px;
    }

    .mp-icon[b-ylhcza5xea] {
        width: 28px;
        height: 28px;
    }

    .mp-val[b-ylhcza5xea] {
        font-size: var(--text-sm);
    }
}

@media (max-width: 640px) {
    .mp[b-ylhcza5xea] {
        flex-wrap: wrap;
    }

    .mp-card[b-ylhcza5xea] {
        flex: 1;
        min-width: calc(50% - var(--space-xs));
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .mp-card[b-ylhcza5xea] {
        transition: none;
    }

    .mp-card:focus-visible[b-ylhcza5xea],
    .mp-stat-item:focus-visible[b-ylhcza5xea] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/PipelineDashboard.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   PipelineDashboard — Main container for pipeline visualization
   Glassmorphism dark theme, responsive, CSS-variable-only styling
   ═══════════════════════════════════════════════════════════════ */

.pd[b-jb0p1i9ki5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-lg);
    font-family: var(--font-primary);
    color: var(--text-primary);
    min-height: 400px;
}

/* ── Loading & Empty States ── */

.pd-loading[b-jb0p1i9ki5],
.pd-empty[b-jb0p1i9ki5],
.pd-no-active[b-jb0p1i9ki5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    padding: var(--space-2xl);
    color: var(--text-muted);
    font-size: var(--text-sm);
}

/* ── Controls Bar ── */

.pd-controls[b-jb0p1i9ki5] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.pd-view-toggle[b-jb0p1i9ki5] {
    display: flex;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.pd-toggle-btn[b-jb0p1i9ki5] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-sm);
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition-fast);
    min-width: 36px;
    height: 36px;
}

.pd-toggle-btn:hover[b-jb0p1i9ki5] {
    color: var(--text-primary);
    background: var(--bg-hover);
}

.pd-toggle-btn.active[b-jb0p1i9ki5] {
    color: var(--accent-color);
    background: var(--bg-active, var(--accent-color-15));
}

.pd-filter[b-jb0p1i9ki5] {
    flex: 1;
    min-width: 200px;
    max-width: 400px;
}

.pd-pipeline-count[b-jb0p1i9ki5] {
    margin-left: auto;
}

.pd-count-label[b-jb0p1i9ki5] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    font-family: var(--font-mono);
}

/* ── Section Titles ── */

.pd-section-title[b-jb0p1i9ki5] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 var(--space-md) 0;
}

.pd-section-title[b-jb0p1i9ki5]  .mud-icon-root {
    font-size: var(--text-base) !important;
}

.pd-sub-title[b-jb0p1i9ki5] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 var(--space-sm) 0;
}

.pd-sub-title[b-jb0p1i9ki5]  .mud-icon-root {
    font-size: var(--text-sm) !important;
}

/* ── Pipeline Section (collapsible row) ── */

.pd-pipeline-section[b-jb0p1i9ki5] {
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition-normal);
    margin-bottom: var(--space-sm);
}

.pd-pipeline-section:hover[b-jb0p1i9ki5] {
    border-color: var(--border-color-medium);
}

.pd-pipeline-section.expanded[b-jb0p1i9ki5] {
    border-color: var(--accent-color);
    box-shadow: var(--shadow-md);
}

/* ── Pipeline Header (clickable) ── */

.pd-pipeline-header[b-jb0p1i9ki5] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto auto;
    gap: var(--space-xs) var(--space-md);
    align-items: center;
    padding: var(--space-md) var(--space-lg);
    background: transparent;
    border: none;
    color: var(--text-primary);
    cursor: pointer;
    text-align: left;
    width: 100%;
    font-family: var(--font-primary);
    transition: background var(--transition-fast);
    position: relative;
}

.pd-pipeline-header:hover[b-jb0p1i9ki5] {
    background: var(--bg-hover);
}

.pd-pipeline-id[b-jb0p1i9ki5] {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.pd-corr-id[b-jb0p1i9ki5] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--accent-color);
}

.pd-status[b-jb0p1i9ki5] {
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    padding: 0.1rem 0.4rem;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Pipeline status color variants — tokens are PolymorphStatusMaps.CssClass values
   (Task 8: one status truth; MergeVerified is DISTINCT from Completed). */
.st-queued[b-jb0p1i9ki5]            { background: var(--stage-queued-bg); color: var(--stage-queued); }
.st-running[b-jb0p1i9ki5]           { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.st-completed[b-jb0p1i9ki5]         { background: var(--stage-complete-bg); color: var(--stage-complete); }
.st-merge-verified[b-jb0p1i9ki5]    { background: var(--stage-complete-bg); color: var(--success-color); box-shadow: var(--pipeline-glow-success); }
.st-failed[b-jb0p1i9ki5]            { background: var(--stage-failed-bg); color: var(--stage-failed); }
.st-resumable[b-jb0p1i9ki5]         { background: var(--stage-security-bg); color: var(--stage-security); }
.st-stuck[b-jb0p1i9ki5]             { background: var(--stage-build-bg); color: var(--stage-build); }
.st-attention[b-jb0p1i9ki5]         { background: var(--stage-review-bg); color: var(--stage-review); }

.pd-risk[b-jb0p1i9ki5] {
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    padding: 0.1rem 0.3rem;
    border-radius: var(--radius-sm);
}

.r-1[b-jb0p1i9ki5] { background: var(--success-bg); color: var(--success-color); }
.r-2[b-jb0p1i9ki5] { background: var(--info-bg); color: var(--info-color); }
.r-3[b-jb0p1i9ki5] { background: var(--warning-bg); color: var(--warning-color); }
.r-4[b-jb0p1i9ki5] { background: var(--error-bg); color: var(--error-color); }
.r-5[b-jb0p1i9ki5] { background: var(--error-bg); color: var(--error-color); border: 1px solid var(--error-color); }

.pd-pipeline-directive[b-jb0p1i9ki5] {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pd-pipeline-stats[b-jb0p1i9ki5] {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    justify-content: flex-end;
}

.pd-stat-chip[b-jb0p1i9ki5] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    padding: 0.1rem 0.4rem;
    background: var(--bg-hover);
    border-radius: var(--radius-sm);
    white-space: nowrap;
}

.pd-expand-icon[b-jb0p1i9ki5] {
    grid-column: 3;
    grid-row: 1;
    color: var(--text-muted);
    transition: transform var(--transition-fast);
}

.pd-pipeline-section.expanded .pd-expand-icon[b-jb0p1i9ki5] {
    color: var(--accent-color);
}

/* ── Progress Bar ── */

.pd-progress-track[b-jb0p1i9ki5] {
    grid-column: 1 / -1;
    grid-row: 3;
    height: 3px;
    background: var(--bg-hover);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.pd-progress-fill[b-jb0p1i9ki5] {
    height: 100%;
    background: var(--accent-gradient);
    border-radius: var(--radius-full);
    transition: width var(--transition-normal);
}

.pd-progress-fill.has-error[b-jb0p1i9ki5] {
    background: linear-gradient(135deg, var(--accent-color), var(--error-color));
}

/* ── Pipeline Body (expanded content) ── */

.pd-pipeline-body[b-jb0p1i9ki5] {
    padding: 0 var(--space-lg) var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    border-top: 1px solid var(--border-color);
}

.pd-agents-section[b-jb0p1i9ki5] {
    padding-top: var(--space-md);
}

.pd-agent-grid[b-jb0p1i9ki5] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-md);
}

.pd-tree-section[b-jb0p1i9ki5] {
    padding-top: var(--space-sm);
}

/* ── Recent Pipelines ── */

.pd-recent-section[b-jb0p1i9ki5] {
    border-top: 1px solid var(--border-color);
    padding-top: var(--space-md);
}

.pd-recent-toggle[b-jb0p1i9ki5] {
    cursor: pointer;
    list-style: none;
}

.pd-recent-toggle[b-jb0p1i9ki5]::marker,
.pd-recent-toggle[b-jb0p1i9ki5]::-webkit-details-marker {
    display: none;
}

.pd-recent-toggle:hover[b-jb0p1i9ki5] {
    color: var(--text-primary);
}

.pd-recent-list[b-jb0p1i9ki5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin-top: var(--space-sm);
}

.pd-recent-item[b-jb0p1i9ki5] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    transition: background var(--transition-fast);
    /* button-tag resets: keep the row visually identical to the prior div */
    background: transparent;
    border: 0;
    color: inherit;
    font-family: inherit;
    text-align: left;
    width: 100%;
    cursor: pointer;
}

.pd-recent-item:hover[b-jb0p1i9ki5] {
    background: var(--bg-hover);
}

.pd-recent-directive[b-jb0p1i9ki5] {
    flex: 1;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

/* ── Focus Visible ── */

.pd-toggle-btn:focus-visible[b-jb0p1i9ki5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.pd-pipeline-header:focus-visible[b-jb0p1i9ki5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.pd-recent-toggle:focus-visible[b-jb0p1i9ki5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.pd-recent-item:focus-visible[b-jb0p1i9ki5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .pd[b-jb0p1i9ki5] {
        padding: var(--space-md);
        gap: var(--space-md);
    }

    .pd-controls[b-jb0p1i9ki5] {
        flex-direction: column;
        align-items: stretch;
    }

    .pd-filter[b-jb0p1i9ki5] {
        max-width: none;
    }

    .pd-pipeline-header[b-jb0p1i9ki5] {
        grid-template-columns: 1fr;
        padding: var(--space-sm) var(--space-md);
    }

    .pd-pipeline-stats[b-jb0p1i9ki5] {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .pd-expand-icon[b-jb0p1i9ki5] {
        grid-column: 1;
        grid-row: auto;
        justify-self: flex-end;
    }

    .pd-agent-grid[b-jb0p1i9ki5] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pd-pipeline-stats[b-jb0p1i9ki5] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .pd-pipeline-section[b-jb0p1i9ki5],
    .pd-toggle-btn[b-jb0p1i9ki5],
    .pd-pipeline-header[b-jb0p1i9ki5],
    .pd-progress-fill[b-jb0p1i9ki5],
    .pd-recent-item[b-jb0p1i9ki5] {
        transition: none;
    }

    .pd-toggle-btn:focus-visible[b-jb0p1i9ki5],
    .pd-pipeline-header:focus-visible[b-jb0p1i9ki5],
    .pd-recent-toggle:focus-visible[b-jb0p1i9ki5],
    .pd-recent-item:focus-visible[b-jb0p1i9ki5] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}

/* ── Loading shimmer skeleton (selector strip / metrics / agent cards) ── */
.pd-skel-wrap[b-jb0p1i9ki5] {
    justify-content: flex-start;
    align-items: stretch;
    gap: var(--space-md);
}
.pd-skel[b-jb0p1i9ki5] {
    border-radius: var(--radius-md);
    background: linear-gradient(90deg,
        var(--white-overlay-04) 25%,
        var(--white-overlay-08) 50%,
        var(--white-overlay-04) 75%);
    background-size: 200% 100%;
    animation: pd-shimmer-b-jb0p1i9ki5 var(--pipeline-shimmer-duration) ease-in-out infinite;
}
.pd-skel-strip[b-jb0p1i9ki5] { height: 2.6rem; width: 60%; }
.pd-skel-metrics[b-jb0p1i9ki5] { height: 4rem; }
.pd-skel-grid[b-jb0p1i9ki5] { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-md); }
.pd-skel-card[b-jb0p1i9ki5] { height: 9rem; }
.pd-skel-card:nth-child(2)[b-jb0p1i9ki5] { opacity: 0.7; }
.pd-skel-card:nth-child(3)[b-jb0p1i9ki5] { opacity: 0.45; }
@keyframes pd-shimmer-b-jb0p1i9ki5 {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
/* _content/Ayva.Polymorph/Pipeline/Components/PipelineFlow.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   PipelineFlow — Stage flow visualization with connecting lines
   Queued → Security → Arch → Impl → Build → Test → Review → Complete
   ═══════════════════════════════════════════════════════════════ */

.pf[b-b4qtcwxnn3] {
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition-normal);
    margin-bottom: var(--space-sm);
}

.pf:hover[b-b4qtcwxnn3] {
    border-color: var(--border-color-medium);
}

.pf.pf-expanded[b-b4qtcwxnn3] {
    border-color: var(--accent-color);
    box-shadow: var(--shadow-md);
}

/* ── Header Bar ── */

.pf-header[b-b4qtcwxnn3] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    cursor: pointer;
    width: 100%;
    text-align: left;
    transition: background var(--transition-fast);
}

.pf-header:hover[b-b4qtcwxnn3] {
    background: var(--bg-hover);
}

.pf-corr-id[b-b4qtcwxnn3] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--accent-color);
    flex-shrink: 0;
}

.pf-directive[b-b4qtcwxnn3] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.pf-stats[b-b4qtcwxnn3] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-muted);
    flex-shrink: 0;
}

.pf-expand[b-b4qtcwxnn3] {
    flex-shrink: 0;
    color: var(--text-muted);
}

/* ── Stages Flow ── */

.pf-stages[b-b4qtcwxnn3] {
    display: flex;
    align-items: center;
    padding: var(--space-sm) var(--space-lg) var(--space-md);
    gap: 0;
    overflow-x: auto;
}

.pf-stage[b-b4qtcwxnn3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    min-width: 60px;
}

.pf-stage-dot[b-b4qtcwxnn3] {
    width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--border-color);
    background: transparent;
    position: relative;
    transition: all var(--transition-normal);
}

.pf-stage-dot[b-b4qtcwxnn3]  .mud-icon-root {
    font-size: var(--text-2xs) !important;
}

/* Stage states */
.pf-done .pf-stage-dot[b-b4qtcwxnn3] {
    border-color: var(--success-color);
    background: var(--success-color);
    color: var(--bg-base);
}

.pf-active .pf-stage-dot[b-b4qtcwxnn3] {
    border-color: var(--accent-color);
    background: color-mix(in srgb, var(--accent-color) 15%, transparent);
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent-color) 30%, transparent);
}

.pf-error .pf-stage-dot[b-b4qtcwxnn3] {
    border-color: var(--error-color);
    background: var(--error-color);
    color: var(--bg-base);
}

.pf-pending .pf-stage-dot[b-b4qtcwxnn3] {
    opacity: 0.3;
}

/* MergeVerified terminal node — distinct ⊕ treatment (Task 8): success-glow ring,
   never collapsed into the plain Completed checkmark. */
.pf-merged .pf-stage-dot[b-b4qtcwxnn3] {
    border-color: var(--success-color);
    background: color-mix(in srgb, var(--success-color) 15%, transparent);
    color: var(--success-color);
    box-shadow: var(--pipeline-glow-success);
}

.pf-merged-glyph[b-b4qtcwxnn3] {
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    line-height: 1;
}

/* Pulse animation for active stage */
.pf-stage-pulse[b-b4qtcwxnn3] {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--accent-color);
    animation: pf-pulse-kf-b-b4qtcwxnn3 var(--pipeline-pulse-duration) infinite;
}

@keyframes pf-pulse-kf-b-b4qtcwxnn3 {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.3); opacity: 0.6; }
}

.pf-stage-label[b-b4qtcwxnn3] {
    font-size: var(--text-5xs);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.pf-done .pf-stage-label[b-b4qtcwxnn3] { color: var(--success-color); }
.pf-active .pf-stage-label[b-b4qtcwxnn3] { color: var(--accent-color); font-weight: var(--font-bold); }
.pf-error .pf-stage-label[b-b4qtcwxnn3] { color: var(--error-color); }
.pf-pending .pf-stage-label[b-b4qtcwxnn3] { opacity: 0.4; }
.pf-merged .pf-stage-label[b-b4qtcwxnn3] { color: var(--success-color); font-weight: var(--font-bold); }

/* ── Connectors ── */

.pf-connector[b-b4qtcwxnn3] {
    flex: 1;
    min-width: 12px;
    display: flex;
    align-items: center;
    padding-bottom: var(--space-md); /* align with dot center */
}

.pf-connector-line[b-b4qtcwxnn3] {
    width: 100%;
    height: 2px;
    background: var(--border-color);
    border-radius: var(--radius-full);
    transition: background var(--transition-normal);
}

.pf-done .pf-connector-line[b-b4qtcwxnn3],
.pf-done + .pf-connector .pf-connector-line[b-b4qtcwxnn3] {
    background: var(--success-color);
    opacity: 0.5;
}

.pf-active + .pf-connector .pf-connector-line[b-b4qtcwxnn3] {
    background: linear-gradient(90deg, var(--accent-color), var(--border-color));
}

/* ── Expanded Body ── */

.pf-body[b-b4qtcwxnn3] {
    padding: var(--space-sm) var(--space-lg) var(--space-md);
    border-top: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.pf-agents[b-b4qtcwxnn3] {
    display: flex;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.pf-agent-chip[b-b4qtcwxnn3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
}

.pf-agent-dot[b-b4qtcwxnn3] {
    width: 6px;
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--member-color, var(--accent-color));
}

.pf-agent-name[b-b4qtcwxnn3] {
    color: var(--text-primary);
    font-weight: var(--font-medium);
}

.pf-agent-badge[b-b4qtcwxnn3] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    color: var(--text-muted);
}

.as-active[b-b4qtcwxnn3]    { color: var(--agent-active); }
.as-completed[b-b4qtcwxnn3] { color: var(--agent-completed); }
.as-errored[b-b4qtcwxnn3]   { color: var(--agent-errored); }
.as-waiting[b-b4qtcwxnn3]   { color: var(--agent-waiting); }

/* Current Step */
.pf-current[b-b4qtcwxnn3] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border-left: 2px solid var(--accent-color);
    font-size: var(--text-xs);
}

.pf-current-label[b-b4qtcwxnn3] {
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: var(--text-5xs);
}

.pf-current-type[b-b4qtcwxnn3] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.25rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
}

/* Step type colors — shared pattern */
.tp-securityscreen[b-b4qtcwxnn3]     { background: var(--stage-security-bg); color: var(--stage-security); }
.tp-architecturereview[b-b4qtcwxnn3] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-implementation[b-b4qtcwxnn3]     { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.tp-buildverification[b-b4qtcwxnn3]  { background: var(--stage-build-bg); color: var(--stage-build); }
.tp-unittests[b-b4qtcwxnn3], .tp-playwrighttests[b-b4qtcwxnn3] { background: var(--stage-testing-bg); color: var(--stage-testing); }
.tp-documentationupdate[b-b4qtcwxnn3] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-codereview[b-b4qtcwxnn3], .tp-finalreview[b-b4qtcwxnn3] { background: var(--stage-review-bg); color: var(--stage-review); }
.tp-restart[b-b4qtcwxnn3]            { background: var(--stage-failed-bg); color: var(--stage-failed); }

.pf-current-name[b-b4qtcwxnn3] {
    color: var(--text-primary);
    font-weight: var(--font-medium);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.pf-current-agent[b-b4qtcwxnn3] {
    color: var(--text-secondary);
    font-style: italic;
}

/* ── Focus Visible ── */

.pf-header:focus-visible[b-b4qtcwxnn3] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.pf-stage:focus-visible[b-b4qtcwxnn3] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .pf-stages[b-b4qtcwxnn3] {
        padding: var(--space-xs) var(--space-sm) var(--space-sm);
    }

    .pf-stage[b-b4qtcwxnn3] {
        min-width: 48px;
    }

    .pf-stage-label[b-b4qtcwxnn3] {
        font-size: var(--text-6xs);
    }
}

@media (max-width: 640px) {
    .pf-header[b-b4qtcwxnn3] {
        flex-wrap: wrap;
    }

    .pf-stats[b-b4qtcwxnn3] {
        width: 100%;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .pf[b-b4qtcwxnn3],
    .pf-stage-dot[b-b4qtcwxnn3],
    .pf-connector-line[b-b4qtcwxnn3],
    .pf-header[b-b4qtcwxnn3] {
        transition: none;
    }

    .pf-stage-pulse[b-b4qtcwxnn3] {
        animation: none;
    }

    .pf-header:focus-visible[b-b4qtcwxnn3],
    .pf-stage:focus-visible[b-b4qtcwxnn3] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/PipelineSelector.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   PipelineSelector — Overview strip for pipeline switching
   Horizontal scrollable strip with glassmorphic pipeline cards.
   ═══════════════════════════════════════════════════════════════ */

.ps[b-h2q0bxpjtj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

/* ── Empty State ── */

.ps-empty[b-h2q0bxpjtj] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.ps-empty[b-h2q0bxpjtj]  .mud-icon-root {
    font-size: var(--text-sm) !important;
    opacity: 0.5;
}

/* ── Group ── */

.ps-group[b-h2q0bxpjtj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.ps-group-label[b-h2q0bxpjtj] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding: 0 var(--space-xs);
    background: transparent;
    border: none;
    cursor: default;
    font-family: var(--font-primary);
}

.ps-recent-toggle[b-h2q0bxpjtj] {
    cursor: pointer;
    transition: color var(--transition-fast);
}

.ps-recent-toggle:hover[b-h2q0bxpjtj] {
    color: var(--text-secondary);
}

.ps-toggle-icon[b-h2q0bxpjtj]  .mud-icon-root {
    font-size: var(--text-xs) !important;
}

.ps-group-dot[b-h2q0bxpjtj] {
    width: 6px;
    height: 6px;
    border-radius: var(--radius-full);
    flex-shrink: 0;
}

.ps-dot-active[b-h2q0bxpjtj] {
    background: var(--accent-color);
    box-shadow: 0 0 6px color-mix(in srgb, var(--accent-color) 40%, transparent);
}

.ps-dot-recent[b-h2q0bxpjtj] {
    background: var(--text-muted);
}

/* ── Strip ── */

.ps-strip[b-h2q0bxpjtj] {
    display: flex;
    gap: var(--space-sm);
    overflow-x: auto;
    padding-bottom: var(--space-xs);
    scroll-snap-type: x mandatory;
}

.ps-strip[b-h2q0bxpjtj]::-webkit-scrollbar {
    height: 3px;
}

.ps-strip[b-h2q0bxpjtj]::-webkit-scrollbar-track {
    background: transparent;
}

.ps-strip[b-h2q0bxpjtj]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: var(--radius-full);
}

/* ── Pipeline Card ── */

.ps-card[b-h2q0bxpjtj] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-fast);
    min-width: 200px;
    max-width: 280px;
    flex-shrink: 0;
    scroll-snap-align: start;
    text-align: left;
    font-family: var(--font-primary);
}

.ps-card:hover[b-h2q0bxpjtj] {
    border-color: var(--border-color-medium);
    background: var(--pipeline-glass-hover);
}

.ps-card.ps-selected[b-h2q0bxpjtj] {
    border-color: var(--accent-color);
    box-shadow: 0 0 12px color-mix(in srgb, var(--accent-color) 20%, transparent);
}

.ps-card-recent[b-h2q0bxpjtj] {
    opacity: 0.8;
    min-width: 180px;
    max-width: 240px;
}

.ps-card-recent:hover[b-h2q0bxpjtj] {
    opacity: 1;
}

/* Status-specific left border accent */
.ps-card[b-h2q0bxpjtj]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0;
}

.ps-card[b-h2q0bxpjtj] {
    position: relative;
    border-left-width: 2px;
}

.ps-st-executing[b-h2q0bxpjtj] {
    border-left-color: var(--accent-color);
}

.ps-st-completed[b-h2q0bxpjtj],
.ps-st-mergeverified[b-h2q0bxpjtj] {
    border-left-color: var(--success-color);
}

.ps-st-failed[b-h2q0bxpjtj],
.ps-st-aborted[b-h2q0bxpjtj],
.ps-st-rejected[b-h2q0bxpjtj] {
    border-left-color: var(--error-color);
}

.ps-st-pending[b-h2q0bxpjtj],
.ps-st-approved[b-h2q0bxpjtj] {
    border-left-color: var(--warning-color);
}

.ps-st-securityreview[b-h2q0bxpjtj] {
    border-left-color: var(--stage-security);
}

.ps-st-testing[b-h2q0bxpjtj] {
    border-left-color: var(--stage-testing);
}

/* ── Card Header ── */

.ps-card-header[b-h2q0bxpjtj] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.ps-corr-id[b-h2q0bxpjtj] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    font-family: var(--font-mono);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-risk[b-h2q0bxpjtj] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.2rem;
    border-radius: var(--radius-2xs);
    margin-left: auto;
    flex-shrink: 0;
}

.r-1[b-h2q0bxpjtj] { background: var(--success-bg); color: var(--success-color); }
.r-2[b-h2q0bxpjtj] { background: var(--info-bg); color: var(--info-color); }
.r-3[b-h2q0bxpjtj] { background: var(--warning-bg); color: var(--warning-color); }
.r-4[b-h2q0bxpjtj], .r-5[b-h2q0bxpjtj] { background: var(--error-bg); color: var(--error-color); }

/* ── Directive ── */

.ps-directive[b-h2q0bxpjtj] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.3;
}

/* ── Card Footer ── */

.ps-card-footer[b-h2q0bxpjtj] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

/* Mini progress bar */
.ps-progress-mini[b-h2q0bxpjtj] {
    flex: 1;
    height: 2px;
    background: var(--bg-hover);
    border-radius: var(--radius-full);
    overflow: hidden;
    min-width: 40px;
}

.ps-progress-fill[b-h2q0bxpjtj] {
    height: 100%;
    background: var(--accent-color);
    border-radius: var(--radius-full);
    transition: width var(--transition-normal);
}

.ps-has-error[b-h2q0bxpjtj] {
    background: linear-gradient(90deg, var(--accent-color), var(--error-color));
}

.ps-stat[b-h2q0bxpjtj] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: var(--text-4xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    white-space: nowrap;
}

.ps-agents-count[b-h2q0bxpjtj]  .mud-icon-root {
    font-size: var(--text-4xs) !important;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .ps-card[b-h2q0bxpjtj] {
        min-width: 180px;
        max-width: 240px;
        padding: var(--space-xs) var(--space-sm);
    }

    .ps-card-recent[b-h2q0bxpjtj] {
        min-width: 160px;
        max-width: 200px;
    }
}

@media (max-width: 640px) {
    .ps-card[b-h2q0bxpjtj] {
        min-width: 160px;
    }

    .ps-agents-count[b-h2q0bxpjtj] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .ps-card[b-h2q0bxpjtj],
    .ps-progress-fill[b-h2q0bxpjtj] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/PipelineTimeline.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   PipelineTimeline — Horizontal progress timeline with stage markers
   ═══════════════════════════════════════════════════════════════ */

.ptl[b-aptxjompi0] {
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition-normal);
    margin-bottom: var(--space-sm);
}

.ptl:hover[b-aptxjompi0] {
    border-color: var(--border-color-medium);
}

.ptl.ptl-expanded[b-aptxjompi0] {
    border-color: var(--accent-color);
    box-shadow: var(--shadow-md);
}

/* ── Header ── */

.ptl-header[b-aptxjompi0] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    width: 100%;
    text-align: left;
    transition: background var(--transition-fast);
}

.ptl-header:hover[b-aptxjompi0] {
    background: var(--bg-hover);
}

.ptl-corr-id[b-aptxjompi0] {
    font-family: var(--font-mono);
    font-weight: var(--font-semibold);
    color: var(--accent-color);
    flex-shrink: 0;
}

.ptl-status[b-aptxjompi0] {
    font-size: var(--text-5xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.3rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

/* Status colors — shared pattern */
.st-pending[b-aptxjompi0]           { background: var(--stage-queued-bg); color: var(--stage-queued); }
.st-securityreview[b-aptxjompi0]    { background: var(--stage-security-bg); color: var(--stage-security); }
.st-approved[b-aptxjompi0]          { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.st-executing[b-aptxjompi0]         { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.st-completed[b-aptxjompi0], .st-mergeverified[b-aptxjompi0] { background: var(--stage-complete-bg); color: var(--stage-complete); }
.st-failed[b-aptxjompi0], .st-rejected[b-aptxjompi0], .st-aborted[b-aptxjompi0] { background: var(--stage-failed-bg); color: var(--stage-failed); }
.st-testing[b-aptxjompi0]           { background: var(--stage-testing-bg); color: var(--stage-testing); }
.st-awaitingrestart[b-aptxjompi0]   { background: var(--stage-build-bg); color: var(--stage-build); }
.st-pendingreview[b-aptxjompi0]     { background: var(--stage-review-bg); color: var(--stage-review); }
.st-resumable[b-aptxjompi0]         { background: var(--stage-security-bg); color: var(--stage-security); }

.ptl-directive[b-aptxjompi0] {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}

.ptl-elapsed[b-aptxjompi0] {
    font-family: var(--font-mono);
    color: var(--text-muted);
    flex-shrink: 0;
}

.ptl-chevron[b-aptxjompi0] {
    color: var(--text-muted);
    flex-shrink: 0;
}

/* ── Timeline Track ── */

.ptl-track-container[b-aptxjompi0] {
    position: relative;
    padding: var(--space-xs) var(--space-lg) var(--space-lg);
}

.ptl-track[b-aptxjompi0] {
    height: 4px;
    background: var(--bg-hover);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.ptl-track-fill[b-aptxjompi0] {
    height: 100%;
    background: var(--accent-gradient);
    border-radius: var(--radius-full);
    transition: width var(--transition-normal);
    position: relative;
}

/* Animated shimmer on the fill edge */
.ptl-track-fill[b-aptxjompi0]::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 20px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent-color) 40%, transparent));
    animation: ptl-shimmer-b-aptxjompi0 var(--pipeline-flow-duration) infinite;
}

@keyframes ptl-shimmer-b-aptxjompi0 {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

/* ── Markers ── */

.ptl-markers[b-aptxjompi0] {
    position: absolute;
    top: 0;
    left: var(--space-lg);
    right: var(--space-lg);
    height: 100%;
    pointer-events: none;
}

.ptl-marker[b-aptxjompi0] {
    position: absolute;
    top: -2px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    pointer-events: auto;
}

.ptl-marker-dot[b-aptxjompi0] {
    width: 12px;
    height: 12px;
    border-radius: var(--radius-full);
    background: var(--accent-color);
    border: 2px solid var(--bg-base);
    position: relative;
    z-index: 1;
}

.ptl-marker-active .ptl-marker-dot[b-aptxjompi0] {
    width: 14px;
    height: 14px;
}

.ptl-marker-pulse[b-aptxjompi0] {
    position: absolute;
    inset: -4px;
    border-radius: var(--radius-full);
    border: 2px solid var(--accent-color);
    animation: ptl-pulse-kf-b-aptxjompi0 var(--pipeline-pulse-duration) infinite;
}

@keyframes ptl-pulse-kf-b-aptxjompi0 {
    0%   { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(2); opacity: 0; }
}

.ptl-marker-info[b-aptxjompi0] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 2px var(--space-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    white-space: nowrap;
    font-size: var(--text-4xs);
}

.ptl-marker-type[b-aptxjompi0] {
    font-size: var(--text-7xs);
    font-weight: var(--font-bold);
    padding: 0.02rem 0.2rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
}

/* Step type colors */
.tp-securityscreen[b-aptxjompi0]     { background: var(--stage-security-bg); color: var(--stage-security); }
.tp-architecturereview[b-aptxjompi0] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-implementation[b-aptxjompi0]     { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.tp-buildverification[b-aptxjompi0]  { background: var(--stage-build-bg); color: var(--stage-build); }
.tp-unittests[b-aptxjompi0], .tp-playwrighttests[b-aptxjompi0] { background: var(--stage-testing-bg); color: var(--stage-testing); }
.tp-documentationupdate[b-aptxjompi0] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-codereview[b-aptxjompi0], .tp-finalreview[b-aptxjompi0] { background: var(--stage-review-bg); color: var(--stage-review); }
.tp-restart[b-aptxjompi0]            { background: var(--stage-failed-bg); color: var(--stage-failed); }

.ptl-marker-name[b-aptxjompi0] {
    color: var(--text-primary);
    font-weight: var(--font-medium);
}

/* Agent markers on the timeline */
.ptl-agent-marker[b-aptxjompi0] {
    position: absolute;
    top: 8px;
    transform: translateX(-50%);
    pointer-events: auto;
}

.ptl-agent-dot[b-aptxjompi0] {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--member-color, var(--accent-color));
    border: 1px solid var(--bg-base);
}

/* ── Body (expanded) ── */

.ptl-body[b-aptxjompi0] {
    padding: var(--space-sm) var(--space-lg) var(--space-md);
    border-top: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.ptl-stats-row[b-aptxjompi0] {
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.ptl-stat[b-aptxjompi0] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ptl-stat-error .ptl-stat-val[b-aptxjompi0] {
    color: var(--error-color);
}

.ptl-stat-label[b-aptxjompi0] {
    font-size: var(--text-5xs);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ptl-stat-val[b-aptxjompi0] {
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    font-family: var(--font-mono);
    color: var(--text-primary);
}

/* Agent chips */
.ptl-agents[b-aptxjompi0] {
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.ptl-agent-chip[b-aptxjompi0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 2px var(--space-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    color: var(--text-primary);
}

.ptl-agent-chip-dot[b-aptxjompi0] {
    width: 6px;
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--member-color, var(--accent-color));
}

.ptl-agent-chip-state[b-aptxjompi0] {
    font-size: var(--text-5xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
}

.as-active[b-aptxjompi0]    { color: var(--agent-active); }
.as-completed[b-aptxjompi0] { color: var(--agent-completed); }
.as-errored[b-aptxjompi0]   { color: var(--agent-errored); }
.as-waiting[b-aptxjompi0]   { color: var(--agent-waiting); }

/* ── Focus Visible ── */

.ptl-header:focus-visible[b-aptxjompi0],
.ptl-control:focus-visible[b-aptxjompi0] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.ptl-marker:focus-visible[b-aptxjompi0] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .ptl-marker-info[b-aptxjompi0] {
        display: none;
    }

    .ptl-track-container[b-aptxjompi0] {
        padding: var(--space-xs) var(--space-md) var(--space-md);
    }
}

@media (max-width: 640px) {
    .ptl-header[b-aptxjompi0] {
        flex-wrap: wrap;
    }

    .ptl-elapsed[b-aptxjompi0] {
        width: 100%;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .ptl[b-aptxjompi0],
    .ptl-track-fill[b-aptxjompi0],
    .ptl-header[b-aptxjompi0] {
        transition: none;
    }

    .ptl-marker-pulse[b-aptxjompi0] {
        animation: none;
    }

    .ptl-track-fill[b-aptxjompi0]::after {
        animation: none;
    }

    .ptl-header:focus-visible[b-aptxjompi0],
    .ptl-control:focus-visible[b-aptxjompi0],
    .ptl-marker:focus-visible[b-aptxjompi0] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/ProcessInspector.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   ProcessInspector — Context-aware drill-down panel
   Right-side detail panel with glassmorphism, tab nav, and adaptive
   content based on pipeline/agent/task selection.
   ═══════════════════════════════════════════════════════════════ */

.pi[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border-left: 1px solid var(--border-color);
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
    transition: width var(--transition-smooth), opacity var(--transition-fast);
    overflow: hidden;
    height: 100%;
}

.pi-closed[b-t7zwzhnb1h] {
    width: 36px;
    min-width: 36px;
    cursor: pointer;
}

.pi-open[b-t7zwzhnb1h] {
    width: 380px;
    min-width: 320px;
}

/* ── Open Button (collapsed state) ── */

.pi-open-btn[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.pi-open-btn:hover[b-t7zwzhnb1h] {
    color: var(--accent-color);
    background: var(--bg-hover);
}

/* ── Header ── */

.pi-header[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--border-color);
    gap: var(--space-sm);
    flex-shrink: 0;
}

.pi-header-info[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
    flex: 1;
}

.pi-back-btn[b-t7zwzhnb1h],
.pi-close-btn[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.pi-back-btn:hover[b-t7zwzhnb1h],
.pi-close-btn:hover[b-t7zwzhnb1h] {
    background: var(--bg-hover);
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.pi-header-text[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pi-header-type[b-t7zwzhnb1h] {
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--accent-color);
}

.pi-header-title[b-t7zwzhnb1h] {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Status Bar ── */

.pi-status-bar[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-md);
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.pi-status-text[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--text-secondary);
}

.pi-elapsed[b-t7zwzhnb1h] {
    margin-left: auto;
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
}

/* ── Tab Navigation ── */

.pi-tabs[b-t7zwzhnb1h] {
    display: flex;
    border-bottom: 1px solid var(--border-color);
    padding: 0 var(--space-sm);
    flex-shrink: 0;
    overflow-x: auto;
}

.pi-tabs[b-t7zwzhnb1h]::-webkit-scrollbar {
    height: 0;
}

.pi-tab[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    font-family: var(--font-primary);
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.pi-tab:hover[b-t7zwzhnb1h] {
    color: var(--text-secondary);
    background: var(--bg-hover);
}

.pi-tab-active[b-t7zwzhnb1h] {
    color: var(--accent-color);
    border-bottom-color: var(--accent-color);
}

.pi-tab[b-t7zwzhnb1h]  .mud-icon-root {
    font-size: var(--text-sm) !important;
}

/* ── Body / Content Area ── */

.pi-body[b-t7zwzhnb1h] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-md);
}

.pi-body[b-t7zwzhnb1h]::-webkit-scrollbar {
    width: 4px;
}

.pi-body[b-t7zwzhnb1h]::-webkit-scrollbar-track {
    background: transparent;
}

.pi-body[b-t7zwzhnb1h]::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: var(--radius-full);
}

/* ── Empty State ── */

.pi-empty[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    padding: var(--space-3xl);
    text-align: center;
    color: var(--text-muted);
    height: 100%;
}

.pi-empty[b-t7zwzhnb1h]  .mud-icon-root {
    opacity: 0.3;
}

.pi-empty-title[b-t7zwzhnb1h] {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
}

.pi-empty-hint[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.pi-empty-tab[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-lg);
    color: var(--text-muted);
    font-size: var(--text-xs);
    justify-content: center;
}

/* ── Section ── */

.pi-section[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

/* ── Field ── */

.pi-field[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.pi-field-row[b-t7zwzhnb1h] {
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.pi-field-label[b-t7zwzhnb1h] {
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.pi-field-value[b-t7zwzhnb1h] {
    font-size: var(--text-sm);
    color: var(--text-primary);
    word-break: break-word;
}

.pi-mono[b-t7zwzhnb1h] {
    font-family: var(--font-mono);
}

.pi-directive[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    line-height: 1.5;
    color: var(--text-secondary);
}

.pi-description[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    line-height: 1.5;
    color: var(--text-secondary);
}

/* ── Step type badges (shared with AgentCard) ── */

.pi-type-badge[b-t7zwzhnb1h] {
    display: inline-block;
    font-size: var(--text-5xs);
    font-weight: var(--font-bold);
    padding: 0.08rem 0.3rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    width: fit-content;
}

.tp-securityscreen[b-t7zwzhnb1h]     { background: var(--stage-security-bg); color: var(--stage-security); }
.tp-architecturereview[b-t7zwzhnb1h] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-implementation[b-t7zwzhnb1h]     { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.tp-buildverification[b-t7zwzhnb1h]  { background: var(--stage-build-bg); color: var(--stage-build); }
.tp-unittests[b-t7zwzhnb1h],
.tp-playwrighttests[b-t7zwzhnb1h]    { background: var(--stage-testing-bg); color: var(--stage-testing); }
.tp-documentationupdate[b-t7zwzhnb1h] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-codereview[b-t7zwzhnb1h],
.tp-finalreview[b-t7zwzhnb1h]        { background: var(--stage-review-bg); color: var(--stage-review); }
.tp-restart[b-t7zwzhnb1h]            { background: var(--stage-failed-bg); color: var(--stage-failed); }

/* ── Evaluation Outcome ── */

.pi-eval-continue[b-t7zwzhnb1h]  { color: var(--success-color); }
.pi-eval-remediate[b-t7zwzhnb1h] { color: var(--warning-color); }
.pi-eval-halt[b-t7zwzhnb1h]      { color: var(--error-color); }

/* ── Error Field ── */

.pi-error-field[b-t7zwzhnb1h] {
    padding: var(--space-sm);
    background: var(--error-bg);
    border: 1px solid var(--error-border);
    border-radius: var(--radius-sm);
}

.pi-error-text[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--error-text);
    word-break: break-all;
}

/* ── Tags ── */

.pi-tags[b-t7zwzhnb1h] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.pi-tag[b-t7zwzhnb1h] {
    font-size: var(--text-4xs);
    padding: 1px 6px;
    border-radius: var(--radius-full);
    background: var(--bg-hover);
    color: var(--text-secondary);
    white-space: nowrap;
}

/* ── Agent List ── */

.pi-agent-list[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.pi-agent-chip[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border-left: 2px solid var(--member-color, var(--accent-color));
    font-size: var(--text-xs);
    color: var(--text-primary);
}

/* ── Progress Section ── */

.pi-progress-section[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.pi-progress-header[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
}

/* ── Step Summary ── */

.pi-step-summary[b-t7zwzhnb1h] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: var(--space-sm);
}

.pi-step-stat[b-t7zwzhnb1h] {
    padding: var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    text-align: center;
}

/* ── Current Step Card ── */

.pi-current-step[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.pi-step-card[b-t7zwzhnb1h] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.pi-step-info[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.pi-step-name[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pi-step-type[b-t7zwzhnb1h] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.2rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    width: fit-content;
}

.pi-step-elapsed[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    flex-shrink: 0;
}

/* ── Metrics Grid ── */

.pi-metric-grid[b-t7zwzhnb1h] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-sm);
}

.pi-metric-card[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    text-align: center;
}

.pi-metric-label[b-t7zwzhnb1h] {
    font-size: var(--text-4xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.pi-metric-value[b-t7zwzhnb1h] {
    font-size: var(--text-base);
    font-weight: var(--font-bold);
    color: var(--text-primary);
}

/* ── Activity List ── */

.pi-activity[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.pi-activity-entry[b-t7zwzhnb1h] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--border-subtle);
}

.pi-activity-entry:last-child[b-t7zwzhnb1h] {
    border-bottom: none;
}

.pi-activity-content[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.pi-activity-msg[b-t7zwzhnb1h] {
    font-size: var(--text-xs);
    color: var(--text-primary);
    line-height: 1.4;
}

.pi-activity-detail[b-t7zwzhnb1h] {
    font-size: var(--text-4xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.pi-activity-time[b-t7zwzhnb1h] {
    font-size: var(--text-4xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── Context-specific border accents ── */

.pi-ctx-pipeline[b-t7zwzhnb1h] {
    border-left-color: var(--accent-color);
}

.pi-ctx-agent[b-t7zwzhnb1h] {
    border-left-color: var(--secondary-accent);
}

.pi-ctx-task[b-t7zwzhnb1h] {
    border-left-color: var(--info-color);
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .pi-open[b-t7zwzhnb1h] {
        width: 320px;
        min-width: 280px;
    }

    .pi-metric-grid[b-t7zwzhnb1h] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pi-open[b-t7zwzhnb1h] {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 100vw;
        min-width: 100vw;
        border-radius: 0;
        z-index: 1000;
    }

    .pi-closed[b-t7zwzhnb1h] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .pi[b-t7zwzhnb1h] {
        transition: none;
    }

    .pi-back-btn[b-t7zwzhnb1h],
    .pi-close-btn[b-t7zwzhnb1h],
    .pi-tab[b-t7zwzhnb1h],
    .pi-open-btn[b-t7zwzhnb1h] {
        transition: none;
    }
}

/* ───────── Auto-merge withheld banner (AutoMergeGate verdict) ───────── */
.pi-withheld-banner[b-t7zwzhnb1h] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--warning-color-8);
    border-left: 2px solid var(--warning-color);
    border-bottom: 1px solid var(--border-color);
    color: var(--warning-color);
    font-size: var(--text-sm);
}

.pi-withheld-text[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pi-withheld-label[b-t7zwzhnb1h] {
    color: var(--warning-color);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pi-withheld-reason[b-t7zwzhnb1h] {
    color: var(--text-primary);
    word-wrap: break-word;
}

/* ───────── Recovery actions (Failed-pipeline only) ───────── */
.pi-recovery-actions[b-t7zwzhnb1h] {
    display: flex;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--border-color);
}

.pi-recovery-btn[b-t7zwzhnb1h] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-primary);
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.pi-recovery-btn:disabled[b-t7zwzhnb1h] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pi-recovery-resume[b-t7zwzhnb1h] {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: var(--accent-color-10);
}
.pi-recovery-resume:hover:not(:disabled)[b-t7zwzhnb1h] {
    background: var(--accent-color-15);
    box-shadow: 0 0 8px var(--accent-color-30);
}

.pi-recovery-retry[b-t7zwzhnb1h] {
    border-color: var(--error-color);
    color: var(--error-color);
    background: var(--error-color-15);
}
.pi-recovery-retry:hover:not(:disabled)[b-t7zwzhnb1h] {
    background: var(--error-color-30);
    box-shadow: 0 0 8px var(--error-color-30);
}

/* ───────── Review actions (PendingReview / OrchestratorUnavailable) ───────── */
.pi-review-actions[b-t7zwzhnb1h] {
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.pi-review-reason[b-t7zwzhnb1h],
.pi-review-assessment[b-t7zwzhnb1h] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-xs) var(--space-sm);
    background: var(--warning-color-8);
    border-left: 2px solid var(--warning-color);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.pi-review-reason-label[b-t7zwzhnb1h] {
    color: var(--warning-color);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.pi-review-reason-text[b-t7zwzhnb1h] {
    color: var(--text-primary);
    word-wrap: break-word;
}

.pi-review-actions-row[b-t7zwzhnb1h] {
    display: flex;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.pi-review-resubmit[b-t7zwzhnb1h] {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: var(--accent-color-15);
}
.pi-review-resubmit:hover:not(:disabled)[b-t7zwzhnb1h] {
    background: var(--accent-color-30);
    box-shadow: 0 0 8px var(--accent-color-30);
}

.pi-review-approve[b-t7zwzhnb1h] {
    border-color: var(--warning-color);
    color: var(--warning-color);
    background: var(--warning-color-15);
}
.pi-review-approve:hover:not(:disabled)[b-t7zwzhnb1h] {
    background: var(--warning-color-30);
    box-shadow: 0 0 8px var(--warning-color-30);
}

.pi-review-reject[b-t7zwzhnb1h] {
    border-color: var(--error-color);
    color: var(--error-color);
    background: var(--error-color-15);
}
.pi-review-reject:hover:not(:disabled)[b-t7zwzhnb1h] {
    background: var(--error-color-30);
    box-shadow: 0 0 8px var(--error-color-30);
}

/* ── Merge commit surface (Task 8 — MergeVerified pipelines) ── */

.pi-merge-sha[b-t7zwzhnb1h] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
}

.pi-merge-glyph[b-t7zwzhnb1h] {
    color: var(--success-color);
    font-weight: var(--font-bold);
}

.pi-merge-rollback-link[b-t7zwzhnb1h] {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--accent-color);
    font-size: var(--text-xs);
    transition: color var(--transition-fast);
}

.pi-merge-rollback-link:hover[b-t7zwzhnb1h] {
    color: var(--accent-hover);
    text-decoration: underline;
}

.pi-merge-rollback-link:focus-visible[b-t7zwzhnb1h] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

/* ── Embedded Master Doc / Forensics tabs (Task 8) ── */

.pi-masterdoc[b-t7zwzhnb1h],
.pi-forensics[b-t7zwzhnb1h] {
    padding: var(--space-xs) 0;
}
/* _content/Ayva.Polymorph/Pipeline/Components/ProcessTree.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   ProcessTree — Hierarchical tree view: Pipeline → Agents → Steps
   Uses nested indentation with connecting lines and colored dots
   ═══════════════════════════════════════════════════════════════ */

.pt[b-sq9xzeksxw] {
    font-size: var(--text-xs);
    font-family: var(--font-primary);
}

.pt-empty[b-sq9xzeksxw] {
    padding: var(--space-md);
    text-align: center;
    color: var(--text-muted);
}

/* ── Tree Nodes ── */

.pt-node[b-sq9xzeksxw] {
    position: relative;
}

.pt-children[b-sq9xzeksxw] {
    padding-left: var(--space-lg);
    position: relative;
}

/* Vertical connecting line */
.pt-children[b-sq9xzeksxw]::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 0;
    bottom: var(--space-sm);
    width: 1px;
    background: var(--border-color);
}

.pt-node-header[b-sq9xzeksxw] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    width: 100%;
    text-align: left;
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast);
    position: relative;
}

.pt-node-header:hover[b-sq9xzeksxw] {
    background: var(--bg-hover);
}

/* Horizontal connector from vertical line to node */
.pt-children > .pt-node > .pt-node-header[b-sq9xzeksxw]::before {
    content: '';
    position: absolute;
    left: calc(-1 * var(--space-lg) + 12px);
    top: 50%;
    width: calc(var(--space-lg) - 16px);
    height: 1px;
    background: var(--border-color);
}

.pt-chevron[b-sq9xzeksxw] {
    flex-shrink: 0;
    opacity: 0.5;
    transition: transform var(--transition-fast);
}

.pt-chevron[b-sq9xzeksxw]  .mud-icon-root {
    font-size: var(--text-sm) !important;
}

.pt-icon[b-sq9xzeksxw] {
    flex-shrink: 0;
}

.pt-icon[b-sq9xzeksxw]  .mud-icon-root {
    font-size: var(--text-sm) !important;
    color: var(--accent-color);
}

.pt-icon-muted[b-sq9xzeksxw]  .mud-icon-root {
    color: var(--text-muted) !important;
}

.pt-label[b-sq9xzeksxw] {
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.pt-label-muted[b-sq9xzeksxw] {
    color: var(--text-muted);
    font-weight: var(--font-normal);
    font-style: italic;
}

.pt-status[b-sq9xzeksxw] {
    font-size: var(--text-5xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.3rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}

/* Status variants — reuse dashboard patterns */
.st-pending[b-sq9xzeksxw]           { background: var(--stage-queued-bg); color: var(--stage-queued); }
.st-securityreview[b-sq9xzeksxw]    { background: var(--stage-security-bg); color: var(--stage-security); }
.st-approved[b-sq9xzeksxw]          { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.st-executing[b-sq9xzeksxw]         { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.st-completed[b-sq9xzeksxw], .st-mergeverified[b-sq9xzeksxw] { background: var(--stage-complete-bg); color: var(--stage-complete); }
.st-failed[b-sq9xzeksxw], .st-rejected[b-sq9xzeksxw], .st-aborted[b-sq9xzeksxw] { background: var(--stage-failed-bg); color: var(--stage-failed); }
.st-testing[b-sq9xzeksxw]           { background: var(--stage-testing-bg); color: var(--stage-testing); }
.st-awaitingrestart[b-sq9xzeksxw]   { background: var(--stage-build-bg); color: var(--stage-build); }
.st-pendingreview[b-sq9xzeksxw]     { background: var(--stage-review-bg); color: var(--stage-review); }
.st-resumable[b-sq9xzeksxw]         { background: var(--stage-security-bg); color: var(--stage-security); }

.pt-count[b-sq9xzeksxw] {
    font-family: var(--font-mono);
    color: var(--text-muted);
    margin-left: auto;
    flex-shrink: 0;
}

/* ── Root Node ── */

.pt-root > .pt-node-header[b-sq9xzeksxw] {
    font-size: var(--text-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    margin-bottom: var(--space-xs);
}

/* ── Agent Node ── */

.pt-agent > .pt-node-header[b-sq9xzeksxw] {
    padding: var(--space-xs) var(--space-sm);
}

.pt-agent-dot[b-sq9xzeksxw] {
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    background: var(--member-color, var(--accent-color));
    flex-shrink: 0;
}

.pt-agent-state[b-sq9xzeksxw] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    padding: 0.02rem 0.2rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    background: var(--bg-hover);
    color: var(--text-muted);
}

.as-active[b-sq9xzeksxw]    { background: color-mix(in srgb, var(--agent-active) 15%, transparent); color: var(--agent-active); }
.as-completed[b-sq9xzeksxw] { background: color-mix(in srgb, var(--agent-completed) 15%, transparent); color: var(--agent-completed); }
.as-errored[b-sq9xzeksxw]   { background: color-mix(in srgb, var(--agent-errored) 15%, transparent); color: var(--agent-errored); }
.as-waiting[b-sq9xzeksxw]   { background: color-mix(in srgb, var(--agent-waiting) 15%, transparent); color: var(--agent-waiting); }

/* ── Step (Leaf) Node ── */

.pt-step[b-sq9xzeksxw] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 3px var(--space-sm);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background var(--transition-fast);
    position: relative;
}

.pt-step:hover[b-sq9xzeksxw] {
    background: var(--bg-hover);
}

.pt-step.selected[b-sq9xzeksxw] {
    background: color-mix(in srgb, var(--accent-color) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent-color) 30%, transparent);
}

.pt-step-dot[b-sq9xzeksxw] {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    border: 2px solid var(--border-color);
    flex-shrink: 0;
}

.ss-done .pt-step-dot[b-sq9xzeksxw]  { border-color: var(--success-color); background: var(--success-color); }
.ss-fail .pt-step-dot[b-sq9xzeksxw]  { border-color: var(--error-color); background: var(--error-color); }
.ss-run .pt-step-dot[b-sq9xzeksxw]   { border-color: var(--accent-color); background: var(--accent-color); animation: pt-pulse-b-sq9xzeksxw 2s infinite; }
.ss-blocked .pt-step-dot[b-sq9xzeksxw] { border-color: var(--warning-color); }
.ss-skip .pt-step-dot[b-sq9xzeksxw]  { opacity: 0.3; }
.ss-pending .pt-step-dot[b-sq9xzeksxw] { opacity: 0.3; }

@keyframes pt-pulse-b-sq9xzeksxw {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.pt-step-type[b-sq9xzeksxw] {
    font-size: var(--text-7xs);
    font-weight: var(--font-bold);
    padding: 0.02rem 0.2rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    background: var(--bg-hover);
    color: var(--text-secondary);
    flex-shrink: 0;
}

.pt-step-name[b-sq9xzeksxw] {
    font-size: var(--text-xs);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}

.ss-pending .pt-step-name[b-sq9xzeksxw] { opacity: 0.4; }

.pt-step-dur[b-sq9xzeksxw] {
    font-family: var(--font-mono);
    color: var(--text-muted);
    font-size: var(--text-4xs);
    flex-shrink: 0;
}

/* ── Focus Visible ── */

.pt-node-header:focus-visible[b-sq9xzeksxw] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.pt-step:focus-visible[b-sq9xzeksxw] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .pt-children[b-sq9xzeksxw] {
        padding-left: var(--space-md);
    }

    /* Thinner connection lines */
    .pt-children[b-sq9xzeksxw]::before {
        width: 0.5px;
        opacity: 0.5;
    }

    .pt-children > .pt-node > .pt-node-header[b-sq9xzeksxw]::before {
        height: 0.5px;
        opacity: 0.5;
    }

    .pt-node-header[b-sq9xzeksxw] {
        padding: 2px var(--space-xs);
        gap: 3px;
    }

    .pt-root > .pt-node-header[b-sq9xzeksxw] {
        font-size: var(--text-xs);
        padding: var(--space-xs) var(--space-sm);
    }

    .pt-step[b-sq9xzeksxw] {
        padding: 2px var(--space-xs);
        gap: 3px;
    }

    .pt-step-dot[b-sq9xzeksxw] {
        width: 8px;
        height: 8px;
    }

    .pt-step-name[b-sq9xzeksxw] {
        font-size: var(--text-3xs);
    }

    .pt-step-type[b-sq9xzeksxw] {
        font-size: var(--text-7xs);
        padding: 0.01rem 0.15rem;
    }

    .pt-step-dur[b-sq9xzeksxw] {
        font-size: var(--text-5xs);
    }

    .pt-status[b-sq9xzeksxw] {
        font-size: var(--text-6xs);
        padding: 0.02rem 0.2rem;
    }

    .pt-agent-dot[b-sq9xzeksxw] {
        width: 6px;
        height: 6px;
    }

    .pt-agent-state[b-sq9xzeksxw] {
        font-size: var(--text-7xs);
    }

    .pt-label[b-sq9xzeksxw] {
        font-size: var(--text-2xs);
    }

    .pt-count[b-sq9xzeksxw] {
        font-size: var(--text-4xs);
    }
}

@media (max-width: 640px) {
    .pt-children[b-sq9xzeksxw] {
        padding-left: var(--space-md);
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .pt-node-header[b-sq9xzeksxw],
    .pt-step[b-sq9xzeksxw] {
        transition: none;
    }

    .ss-run .pt-step-dot[b-sq9xzeksxw] {
        animation: none;
    }

    .pt-node-header:focus-visible[b-sq9xzeksxw],
    .pt-step:focus-visible[b-sq9xzeksxw] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/ProgressRing.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   ProgressRing — Circular SVG progress indicator primitive
   Uses stroke-dasharray/dashoffset for smooth arc rendering.
   ═══════════════════════════════════════════════════════════════ */

.pr-ring[b-1bfwbn2bcf] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── SVG ── */

.pr-svg[b-1bfwbn2bcf] {
    width: 100%;
    height: 100%;
    transform: rotate(0deg);
}

.pr-track[b-1bfwbn2bcf] {
    stroke: var(--bg-hover);
}

.pr-fill[b-1bfwbn2bcf] {
    stroke: var(--pr-color, var(--accent-color));
    stroke-linecap: round;
    transition: stroke-dashoffset var(--transition-smooth);
}

/* ── Indeterminate Spinner ── */

.pr-indeterminate .pr-svg[b-1bfwbn2bcf] {
    animation: pr-spin-b-1bfwbn2bcf 1.4s linear infinite;
}

.pr-spinner[b-1bfwbn2bcf] {
    stroke-linecap: round;
    transition: none;
}

@keyframes pr-spin-b-1bfwbn2bcf {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Center Content ── */

.pr-pct[b-1bfwbn2bcf] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-mono);
    font-weight: var(--font-bold);
    color: var(--text-primary);
    line-height: 1;
    user-select: none;
}

.pr-content[b-1bfwbn2bcf] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Responsive ── */

@media (max-width: 640px) {
    .pr-pct[b-1bfwbn2bcf] {
        font-size: var(--text-4xs);
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .pr-fill[b-1bfwbn2bcf] {
        transition: none;
    }

    .pr-indeterminate .pr-svg[b-1bfwbn2bcf] {
        animation: none;
    }

    .pr-spinner[b-1bfwbn2bcf] {
        stroke-dasharray: none;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/ResourceMonitor.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   ResourceMonitor — Real-time resource consumption panel
   Glassmorphic grid of token/cost/duration/tool metrics
   with live indicator and optional compact mode.
   ═══════════════════════════════════════════════════════════════ */

.rm[b-sylu6ivosd] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--pipeline-glass);
    backdrop-filter: var(--pipeline-glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    transition: border-color var(--transition-fast);
}

.rm:hover[b-sylu6ivosd] {
    border-color: var(--border-color-medium);
}

/* ── Header ── */

.rm-header[b-sylu6ivosd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rm-title-row[b-sylu6ivosd] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.rm-title-row[b-sylu6ivosd]  .mud-icon-root {
    font-size: var(--text-sm) !important;
    color: var(--accent-color);
}

.rm-title[b-sylu6ivosd] {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

.rm-context[b-sylu6ivosd] {
    font-size: var(--text-4xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    padding: 1px 4px;
    background: var(--bg-hover);
    border-radius: var(--radius-sm);
}

/* Live indicator */
.rm-live[b-sylu6ivosd] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-5xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--success-color);
}

.rm-live-dot[b-sylu6ivosd] {
    width: 5px;
    height: 5px;
    border-radius: var(--radius-full);
    background: var(--success-color);
    animation: rm-live-pulse-b-sylu6ivosd 2s infinite;
}

@keyframes rm-live-pulse-b-sylu6ivosd {
    0%   { opacity: 1; }
    50%  { opacity: 0.4; }
    100% { opacity: 1; }
}

/* ── Metric Grid ── */

.rm-grid[b-sylu6ivosd] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: var(--space-sm);
}

.rm-metric[b-sylu6ivosd] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    transition: border-color var(--transition-fast);
}

.rm-metric:hover[b-sylu6ivosd] {
    border-color: var(--border-color);
}

.rm-metric-progress[b-sylu6ivosd] {
    grid-column: span 1;
}

/* ── Metric Icon ── */

.rm-metric-icon[b-sylu6ivosd] {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.rm-metric-icon[b-sylu6ivosd]  .mud-icon-root {
    font-size: var(--text-sm) !important;
}

.rm-icon-tokens[b-sylu6ivosd]   { background: color-mix(in srgb, var(--warning-color) 15%, transparent); color: var(--warning-color); }
.rm-icon-cost[b-sylu6ivosd]     { background: color-mix(in srgb, var(--accent-color) 15%, transparent); color: var(--accent-color); }
.rm-icon-duration[b-sylu6ivosd] { background: color-mix(in srgb, var(--info-color) 15%, transparent); color: var(--info-color); }
.rm-icon-tools[b-sylu6ivosd]    { background: color-mix(in srgb, var(--secondary-accent) 15%, transparent); color: var(--secondary-accent); }
.rm-icon-agents[b-sylu6ivosd]   { background: var(--success-bg); color: var(--success-color); }

/* ── Metric Data ── */

.rm-metric-data[b-sylu6ivosd] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
    flex: 1;
}

.rm-metric-label[b-sylu6ivosd] {
    font-size: var(--text-5xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.rm-metric-value[b-sylu6ivosd] {
    font-size: var(--text-sm);
    font-weight: var(--font-bold);
    color: var(--text-primary);
}

.rm-mono[b-sylu6ivosd] {
    font-family: var(--font-mono);
}

.rm-rate[b-sylu6ivosd] {
    font-size: var(--text-5xs);
    font-family: var(--font-mono);
    color: var(--text-muted);
    white-space: nowrap;
    align-self: flex-end;
}

.rm-failed-count[b-sylu6ivosd] {
    font-size: var(--text-5xs);
    color: var(--error-color);
    font-weight: var(--font-medium);
}

/* ── Efficiency Bar ── */

.rm-efficiency[b-sylu6ivosd] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    flex-wrap: wrap;
}

.rm-efficiency-label[b-sylu6ivosd] {
    font-size: var(--text-5xs);
    color: var(--text-muted);
    font-weight: var(--font-medium);
}

.rm-efficiency-value[b-sylu6ivosd] {
    font-size: var(--text-xs);
    font-family: var(--font-mono);
    font-weight: var(--font-semibold);
    color: var(--text-secondary);
}

/* ── Compact Mode ── */

.rm-compact[b-sylu6ivosd] {
    padding: var(--space-sm);
    gap: var(--space-xs);
}

.rm-compact .rm-grid[b-sylu6ivosd] {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: var(--space-xs);
}

.rm-compact .rm-metric[b-sylu6ivosd] {
    padding: var(--space-xs);
}

.rm-compact .rm-metric-icon[b-sylu6ivosd] {
    width: 24px;
    height: 24px;
}

.rm-compact .rm-metric-icon[b-sylu6ivosd]  .mud-icon-root {
    font-size: var(--text-xs) !important;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .rm-grid[b-sylu6ivosd] {
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    }

    .rm-metric-icon[b-sylu6ivosd] {
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 640px) {
    .rm[b-sylu6ivosd] {
        padding: var(--space-sm);
    }

    .rm-grid[b-sylu6ivosd] {
        grid-template-columns: repeat(2, 1fr);
    }

    .rm-efficiency[b-sylu6ivosd] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .rm[b-sylu6ivosd],
    .rm-metric[b-sylu6ivosd] {
        transition: none;
    }

    .rm-live-dot[b-sylu6ivosd] {
        animation: none;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/StatusIndicator.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   StatusIndicator — Reusable status dot/badge primitive
   Color-mapped via --si-color and --si-bg CSS custom properties.
   Supports Small (6px), Medium (8px), Large (12px) dot sizes.
   ═══════════════════════════════════════════════════════════════ */

.si[b-1ts8yeueps] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    vertical-align: middle;
    line-height: 1;
}

/* ── Dot ── */

.si-dot[b-1ts8yeueps] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    background: var(--si-color, var(--text-muted));
    flex-shrink: 0;
    transition: background var(--transition-fast), box-shadow var(--transition-fast);
}

/* Size variants */
.si-sm .si-dot[b-1ts8yeueps] {
    width: 6px;
    height: 6px;
}

.si-md .si-dot[b-1ts8yeueps] {
    width: 8px;
    height: 8px;
}

.si-lg .si-dot[b-1ts8yeueps] {
    width: 12px;
    height: 12px;
}

/* Icons inside dot (large size only) */
.si-lg .si-dot[b-1ts8yeueps]  .mud-icon-root {
    font-size: var(--text-6xs) !important;
    color: var(--bg-base);
}

.si-sm .si-dot[b-1ts8yeueps]  .mud-icon-root,
.si-md .si-dot[b-1ts8yeueps]  .mud-icon-root {
    display: none;
}

/* ── Pulsing Animation ── */

.si-pulsing .si-dot[b-1ts8yeueps] {
    animation: si-pulse-kf-b-1ts8yeueps var(--pipeline-pulse-duration, 2s) infinite;
}

@keyframes si-pulse-kf-b-1ts8yeueps {
    0%   { box-shadow: 0 0 0 0 var(--si-bg, color-mix(in srgb, var(--accent-color) 40%, transparent)); }
    70%  { box-shadow: 0 0 0 5px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
}

/* ── Label ── */

.si-label[b-1ts8yeueps] {
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--text-secondary);
    white-space: nowrap;
    user-select: none;
}

.si-sm .si-label[b-1ts8yeueps] {
    font-size: var(--text-4xs);
}

.si-lg .si-label[b-1ts8yeueps] {
    font-size: var(--text-sm);
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .si[b-1ts8yeueps] {
        gap: 3px;
    }

    .si-sm .si-dot[b-1ts8yeueps] {
        width: 5px;
        height: 5px;
    }

    .si-md .si-dot[b-1ts8yeueps] {
        width: 6px;
        height: 6px;
    }

    .si-lg .si-dot[b-1ts8yeueps] {
        width: 10px;
        height: 10px;
    }

    .si-label[b-1ts8yeueps] {
        font-size: var(--text-3xs);
    }

    .si-sm .si-label[b-1ts8yeueps] {
        font-size: var(--text-5xs);
    }

    .si-lg .si-label[b-1ts8yeueps] {
        font-size: var(--text-xs);
    }
}

@media (max-width: 640px) {
    .si-label[b-1ts8yeueps] {
        font-size: var(--text-4xs);
    }

    .si-lg .si-dot[b-1ts8yeueps] {
        width: 10px;
        height: 10px;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .si-pulsing .si-dot[b-1ts8yeueps] {
        animation: none;
    }

    .si-dot[b-1ts8yeueps] {
        transition: none;
    }
}
/* _content/Ayva.Polymorph/Pipeline/Components/TaskList.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════
   TaskList — Task rows with status indicators and expandable detail
   Supports CompactMode for inline agent card usage
   ═══════════════════════════════════════════════════════════════ */

.tl[b-bx3ds022sy] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tl-compact[b-bx3ds022sy] {
    font-size: var(--text-xs);
}

.tl-empty[b-bx3ds022sy] {
    padding: var(--space-md);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-xs);
}

/* ── Task Row ── */

.tl-row[b-bx3ds022sy] {
    display: grid;
    grid-template-columns: 28px 1fr;
    grid-template-rows: auto auto;
    gap: 0 var(--space-sm);
    border-radius: var(--radius-sm);
    transition: background var(--transition-fast);
    animation: tl-slide-in-b-bx3ds022sy 0.3s ease forwards;
    opacity: 0;
}

@keyframes tl-slide-in-b-bx3ds022sy {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: translateX(0); }
}

.tl-compact .tl-row[b-bx3ds022sy] {
    grid-template-columns: 22px 1fr;
}

.tl-row:hover[b-bx3ds022sy] {
    background: var(--bg-hover);
}

/* ── Status Indicator Column ── */

.tl-indicator[b-bx3ds022sy] {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    justify-content: center;
    padding-top: var(--space-xs);
}

.tl-dot[b-bx3ds022sy] {
    width: 22px;
    height: 22px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--border-color);
    background: transparent;
    flex-shrink: 0;
}

.tl-compact .tl-dot[b-bx3ds022sy] {
    width: 18px;
    height: 18px;
}

.tl-dot[b-bx3ds022sy]  .mud-icon-root {
    font-size: var(--text-3xs) !important;
}

.tl-compact .tl-dot[b-bx3ds022sy]  .mud-icon-root {
    font-size: var(--text-5xs) !important;
}

.tl-dot-done[b-bx3ds022sy] { border-color: var(--success-color); color: var(--success-color); background: var(--success-bg); }
.tl-dot-fail[b-bx3ds022sy] { border-color: var(--error-color); color: var(--error-color); background: var(--error-bg); }
.tl-dot-run[b-bx3ds022sy]  { border-color: var(--accent-color); color: var(--accent-color); background: color-mix(in srgb, var(--accent-color) 10%, transparent); }
.tl-dot-blocked[b-bx3ds022sy] { border-color: var(--warning-color); color: var(--warning-color); }
.tl-dot-skip[b-bx3ds022sy] { opacity: 0.35; }
.tl-dot-pending[b-bx3ds022sy] { opacity: 0.4; }

.tl-order[b-bx3ds022sy] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    color: var(--text-secondary);
}

.tl-spinner[b-bx3ds022sy] {
    width: 10px;
    height: 10px;
    border: 2px solid transparent;
    border-top-color: var(--accent-color);
    border-radius: var(--radius-full);
    animation: tl-spin-b-bx3ds022sy 0.8s linear infinite;
}

@keyframes tl-spin-b-bx3ds022sy { to { transform: rotate(360deg); } }

/* ── Task Content (clickable) ── */

.tl-content[b-bx3ds022sy] {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--space-xs) var(--space-sm) var(--space-xs) 0;
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    cursor: pointer;
    text-align: left;
    min-width: 0;
}

.tl-main[b-bx3ds022sy] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.tl-type[b-bx3ds022sy] {
    font-size: var(--text-6xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.25rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: var(--bg-hover);
    color: var(--text-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Step type colors (shared with AgentCard) */
.tp-securityscreen[b-bx3ds022sy]     { background: var(--stage-security-bg); color: var(--stage-security); }
.tp-architecturereview[b-bx3ds022sy] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-implementation[b-bx3ds022sy]     { background: var(--stage-implementation-bg); color: var(--stage-implementation); }
.tp-buildverification[b-bx3ds022sy]  { background: var(--stage-build-bg); color: var(--stage-build); }
.tp-unittests[b-bx3ds022sy],
.tp-playwrighttests[b-bx3ds022sy]    { background: var(--stage-testing-bg); color: var(--stage-testing); }
.tp-documentationupdate[b-bx3ds022sy] { background: var(--stage-architecture-bg); color: var(--stage-architecture); }
.tp-codereview[b-bx3ds022sy],
.tp-finalreview[b-bx3ds022sy]        { background: var(--stage-review-bg); color: var(--stage-review); }
.tp-restart[b-bx3ds022sy]            { background: var(--stage-failed-bg); color: var(--stage-failed); }

.tl-name[b-bx3ds022sy] {
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}

.tl-pending .tl-name[b-bx3ds022sy] {
    opacity: 0.4;
}

.tl-badge[b-bx3ds022sy] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.tl-badge[b-bx3ds022sy]  .mud-icon-root {
    font-size: var(--text-3xs) !important;
}

.tl-badge-remediation[b-bx3ds022sy] {
    color: var(--warning-color);
}

/* Remediation row marker */
.tl-remediation[b-bx3ds022sy] {
    border-left: 2px solid var(--warning-color);
    padding-left: var(--space-xs);
    margin-left: var(--space-xs);
}

.tl-eval[b-bx3ds022sy] {
    font-size: var(--text-7xs);
    font-weight: var(--font-bold);
    padding: 0.04rem 0.2rem;
    border-radius: var(--radius-2xs);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    flex-shrink: 0;
}

.eval-continue[b-bx3ds022sy]  { background: var(--success-bg); color: var(--success-color); }
.eval-remediate[b-bx3ds022sy] { background: var(--warning-bg); color: var(--warning-color); }
.eval-halt[b-bx3ds022sy]      { background: var(--error-bg); color: var(--error-color); }

/* ── Meta Row ── */

.tl-meta[b-bx3ds022sy] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-family: var(--font-mono);
}

.tl-agent[b-bx3ds022sy] {
    color: var(--text-secondary);
    font-family: var(--font-primary);
}

.tl-duration[b-bx3ds022sy] {
    white-space: nowrap;
}

.tl-metric[b-bx3ds022sy] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}

.tl-metric[b-bx3ds022sy]  .mud-icon-root {
    font-size: var(--text-4xs) !important;
    opacity: 0.6;
}

.tl-expand-icon[b-bx3ds022sy] {
    margin-left: auto;
    opacity: 0.3;
    transition: opacity var(--transition-fast);
}

.tl-content:hover .tl-expand-icon[b-bx3ds022sy] {
    opacity: 0.8;
}

/* ── Expanded Detail ── */

.tl-detail[b-bx3ds022sy] {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-sm) var(--space-sm) 0;
    font-size: var(--text-xs);
}

.tl-desc[b-bx3ds022sy] {
    color: var(--text-secondary);
    line-height: 1.5;
}

.tl-error[b-bx3ds022sy] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
    color: var(--error-color);
    padding: var(--space-xs) var(--space-sm);
    background: var(--error-bg);
    border-radius: var(--radius-sm);
}

.tl-error[b-bx3ds022sy]  .mud-icon-root {
    font-size: var(--text-sm) !important;
    flex-shrink: 0;
    margin-top: 1px;
}

.tl-rationale[b-bx3ds022sy] {
    padding: var(--space-xs) var(--space-sm);
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    border-left: 2px solid var(--accent-color);
}

.tl-rationale-label[b-bx3ds022sy] {
    display: block;
    font-size: var(--text-5xs);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 2px;
}

.tl-rationale-text[b-bx3ds022sy] {
    color: var(--text-secondary);
    line-height: 1.4;
}

.tl-detail-stats[b-bx3ds022sy] {
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.tl-detail-stat[b-bx3ds022sy] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.tl-detail-label[b-bx3ds022sy] {
    font-size: var(--text-5xs);
    font-weight: var(--font-semibold);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tl-detail-val[b-bx3ds022sy] {
    font-family: var(--font-mono);
    color: var(--text-secondary);
    font-weight: var(--font-medium);
}

/* ── Focus Visible ── */

.tl-content:focus-visible[b-bx3ds022sy] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.tl-row:focus-visible[b-bx3ds022sy] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .tl-row[b-bx3ds022sy] {
        grid-template-columns: 22px 1fr;
    }

    .tl-dot[b-bx3ds022sy] {
        width: 18px;
        height: 18px;
    }

    .tl-dot[b-bx3ds022sy]  .mud-icon-root {
        font-size: var(--text-5xs) !important;
    }

    .tl-name[b-bx3ds022sy] {
        font-size: var(--text-2xs);
    }

    .tl-type[b-bx3ds022sy] {
        font-size: var(--text-7xs);
        padding: 0.02rem 0.2rem;
    }

    .tl-meta[b-bx3ds022sy] {
        font-size: var(--text-3xs);
        gap: var(--space-xs);
    }

    .tl-eval[b-bx3ds022sy] {
        font-size: var(--text-7xs);
    }

    .tl-detail[b-bx3ds022sy] {
        padding: var(--space-xs) var(--space-xs) var(--space-xs) 0;
        gap: var(--space-xs);
    }

    .tl-detail-stats[b-bx3ds022sy] {
        gap: var(--space-sm);
    }

    .tl-detail-label[b-bx3ds022sy] {
        font-size: var(--text-6xs);
    }

    .tl-rationale[b-bx3ds022sy] {
        padding: var(--space-xs);
    }

    .tl-rationale-label[b-bx3ds022sy] {
        font-size: var(--text-6xs);
    }
}

@media (max-width: 640px) {
    .tl-meta[b-bx3ds022sy] {
        flex-wrap: wrap;
    }

    .tl-agent[b-bx3ds022sy] {
        display: none;
    }
}

/* ── Reduced Motion ── */

@media (prefers-reduced-motion: reduce) {
    .tl-row[b-bx3ds022sy] {
        animation: none;
        opacity: 1;
    }

    .tl-spinner[b-bx3ds022sy] {
        animation: none;
    }

    .tl-row[b-bx3ds022sy],
    .tl-expand-icon[b-bx3ds022sy] {
        transition: none;
    }

    .tl-content:focus-visible[b-bx3ds022sy],
    .tl-row:focus-visible[b-bx3ds022sy] {
        outline: 2px solid var(--border-color);
        outline-offset: 2px;
    }
}
/* _content/Ayva.Polymorph/Widgets/PipelineActivityWidget.razor.rz.scp.css */
.pipeline-activity-widget[b-23g74siw4g] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 80px;
}

/* Live-update heartbeat — keyed node recreated per update so the animation replays */
.live-pulse[b-23g74siw4g] {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-color);
    opacity: 0;
    pointer-events: none;
    animation: widget-live-pulse-b-23g74siw4g var(--pipeline-heartbeat-duration) var(--pipeline-ambient-easing) 1;
}

@keyframes widget-live-pulse-b-23g74siw4g {
    0% {
        opacity: 0.9;
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-color) 45%, transparent);
    }
    60% {
        opacity: 0.35;
        box-shadow: 0 0 0 6px transparent;
    }
    100% {
        opacity: 0;
        box-shadow: 0 0 0 0 transparent;
    }
}

/* Loading state */
.widget-loading[b-23g74siw4g] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 1rem;
}

.loading-dots[b-23g74siw4g] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.loading-dots span[b-23g74siw4g] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--text-secondary);
    opacity: 0.4;
    animation: dot-pulse-b-23g74siw4g 1.2s ease-in-out infinite;
}

.loading-dots span:nth-child(2)[b-23g74siw4g] { animation-delay: 0.2s; }
.loading-dots span:nth-child(3)[b-23g74siw4g] { animation-delay: 0.4s; }

@keyframes dot-pulse-b-23g74siw4g {
    0%, 80%, 100% { opacity: 0.4; transform: scale(1); }
    40% { opacity: 1; transform: scale(1.2); }
}

/* Error state */
.widget-error[b-23g74siw4g] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    color: var(--error-color);
    font-size: var(--text-xs-plus);
}

.error-icon[b-23g74siw4g] {
    font-size: var(--text-lg);
    flex-shrink: 0;
}

.error-text[b-23g74siw4g] {
    color: var(--text-secondary);
}

/* Stats grid */
.stat-grid[b-23g74siw4g] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    padding: 0.25rem;
    height: 100%;
    align-items: stretch;
}

.stat-box[b-23g74siw4g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.75rem 0.5rem;
    border-radius: var(--radius-md);
    background: var(--pipeline-glass-surface);
    border: 1px solid transparent;
    transition: var(--transition-normal);
}

/* Accent variant — active pipelines */
.stat-box.stat-accent[b-23g74siw4g] {
    border-color: color-mix(in srgb, var(--accent-color) 40%, transparent);
    background: color-mix(in srgb, var(--accent-color) 8%, var(--pipeline-glass-surface));
}

.stat-box.stat-accent .stat-value[b-23g74siw4g] {
    color: var(--accent-color);
}

/* Success variant — completed today */
.stat-box.stat-success[b-23g74siw4g] {
    border-color: color-mix(in srgb, var(--success-color) 30%, transparent);
    background: color-mix(in srgb, var(--success-color) 6%, var(--pipeline-glass-surface));
}

.stat-box.stat-success .stat-value[b-23g74siw4g] {
    color: var(--success-color);
}

/* Error variant — failed today */
.stat-box.stat-error[b-23g74siw4g] {
    border-color: color-mix(in srgb, var(--error-color) 40%, transparent);
    background: color-mix(in srgb, var(--error-color) 8%, var(--pipeline-glass-surface));
}

.stat-box.stat-error .stat-value[b-23g74siw4g] {
    color: var(--error-color);
}

/* Neutral variant — zero state */
.stat-box.stat-neutral .stat-value[b-23g74siw4g] {
    color: var(--text-secondary);
}

.stat-value[b-23g74siw4g] {
    font-size: var(--text-3xl);
    font-weight: 700;
    line-height: 1;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.stat-label[b-23g74siw4g] {
    font-size: var(--text-2xs);
    font-weight: 500;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.2;
}

/* Status-map icon chips (PolymorphStatusMaps css tokens) */
.stat-ico[b-23g74siw4g] {
    font-size: var(--text-xs);
    line-height: 1;
    margin-right: 0.2rem;
}

.stat-ico.st-running[b-23g74siw4g] { color: var(--success-color); }
.stat-ico.st-completed[b-23g74siw4g] { color: var(--success-color); }
.stat-ico.st-failed[b-23g74siw4g] { color: var(--error-color); }
.stat-ico.st-queued[b-23g74siw4g] { color: var(--text-secondary); }

/* Reduced-motion gate — kill the heartbeat + loading pulses */
@media (prefers-reduced-motion: reduce) {
    .live-pulse[b-23g74siw4g] {
        animation: none;
        opacity: 0;
    }

    .loading-dots span[b-23g74siw4g] {
        animation: none;
    }
}
/* _content/Ayva.Polymorph/Widgets/PolymorphEngineStatusWidget.razor.rz.scp.css */
.engine-status-widget[b-6jj2l7egpp] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 80px;
}

/* Live-update heartbeat — keyed node recreated per update so the animation replays */
.live-pulse[b-6jj2l7egpp] {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent-color);
    opacity: 0;
    pointer-events: none;
    animation: widget-live-pulse-b-6jj2l7egpp var(--pipeline-heartbeat-duration) var(--pipeline-ambient-easing) 1;
}

@keyframes widget-live-pulse-b-6jj2l7egpp {
    0% {
        opacity: 0.9;
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent-color) 45%, transparent);
    }
    60% {
        opacity: 0.35;
        box-shadow: 0 0 0 6px transparent;
    }
    100% {
        opacity: 0;
        box-shadow: 0 0 0 0 transparent;
    }
}

/* Loading state */
.widget-loading[b-6jj2l7egpp] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 1rem;
}

.loading-dots[b-6jj2l7egpp] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.loading-dots span[b-6jj2l7egpp] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--text-secondary);
    opacity: 0.4;
    animation: dot-pulse-b-6jj2l7egpp 1.2s ease-in-out infinite;
}

.loading-dots span:nth-child(2)[b-6jj2l7egpp] { animation-delay: 0.2s; }
.loading-dots span:nth-child(3)[b-6jj2l7egpp] { animation-delay: 0.4s; }

@keyframes dot-pulse-b-6jj2l7egpp {
    0%, 80%, 100% { opacity: 0.4; transform: scale(1); }
    40% { opacity: 1; transform: scale(1.2); }
}

/* Error state */
.widget-error[b-6jj2l7egpp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    color: var(--error-color);
    font-size: var(--text-xs-plus);
}

.error-icon[b-6jj2l7egpp] {
    font-size: var(--text-lg);
    flex-shrink: 0;
}

.error-text[b-6jj2l7egpp] {
    color: var(--text-secondary);
}

/* Main layout */
.status-layout[b-6jj2l7egpp] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.375rem 0.25rem;
}

/* Status row: label + pill */
.status-row[b-6jj2l7egpp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.status-label[b-6jj2l7egpp] {
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--text-secondary);
    flex-shrink: 0;
}

/* Pill base */
.status-pill[b-6jj2l7egpp] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.6rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    border: 1px solid transparent;
    transition: var(--transition-normal);
}

.pill-ico[b-6jj2l7egpp] {
    font-size: var(--text-xs-plus);
    line-height: 1;
}

/* Engine running — accent w/ pulsing dot */
.pill-running[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--accent-color) 15%, transparent);
    border-color: color-mix(in srgb, var(--accent-color) 40%, transparent);
    color: var(--accent-color);
}

.pill-dot[b-6jj2l7egpp] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.6;
    flex-shrink: 0;
}

.pill-dot.live[b-6jj2l7egpp] {
    opacity: 1;
    animation: pulse-dot-b-6jj2l7egpp 1.6s ease-in-out infinite;
}

@keyframes pulse-dot-b-6jj2l7egpp {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.75); }
}

/* Engine idle (alive, standing by) — muted */
.pill-idle[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--text-secondary) 10%, transparent);
    border-color: color-mix(in srgb, var(--text-secondary) 20%, transparent);
    color: var(--text-secondary);
}

/* Engine stopped — error-tinted */
.pill-dead[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--error-color) 12%, transparent);
    border-color: color-mix(in srgb, var(--error-color) 35%, transparent);
    color: var(--error-color);
}

/* Breakers closed — green */
.pill-closed[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--success-color) 12%, transparent);
    border-color: color-mix(in srgb, var(--success-color) 30%, transparent);
    color: var(--success-color);
}

/* Any breaker open — red */
.pill-open[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--error-color) 15%, transparent);
    border-color: color-mix(in srgb, var(--error-color) 40%, transparent);
    color: var(--error-color);
}

/* Dispatch breaker probing recovery (HalfOpen) — amber */
.pill-probing[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--warning-color) 14%, transparent);
    border-color: color-mix(in srgb, var(--warning-color) 38%, transparent);
    color: var(--warning-color);
}

/* Sandbox badges */
.pill-warn[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--warning-color) 14%, transparent);
    border-color: color-mix(in srgb, var(--warning-color) 38%, transparent);
    color: var(--warning-color);
}

.pill-info[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--info-color) 14%, transparent);
    border-color: color-mix(in srgb, var(--info-color) 38%, transparent);
    color: var(--info-color);
}

/* Health chip — level-keyed */
.pill-health.health-healthy[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--success-color) 12%, transparent);
    border-color: color-mix(in srgb, var(--success-color) 30%, transparent);
    color: var(--success-color);
}

.pill-health.health-degraded[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--warning-color) 14%, transparent);
    border-color: color-mix(in srgb, var(--warning-color) 38%, transparent);
    color: var(--warning-color);
}

.pill-health.health-unhealthy[b-6jj2l7egpp],
.pill-health.health-critical[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--error-color) 15%, transparent);
    border-color: color-mix(in srgb, var(--error-color) 40%, transparent);
    color: var(--error-color);
}

/* Approvals + stuck-work count chips */
.count-row[b-6jj2l7egpp] {
    display: flex;
    gap: 0.5rem;
}

.count-chip[b-6jj2l7egpp] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    flex: 1;
    justify-content: center;
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-2xs);
    font-weight: 600;
    border: 1px solid transparent;
    transition: var(--transition-normal);
}

.count-chip .chip-ico[b-6jj2l7egpp] {
    font-size: var(--text-xs);
    line-height: 1;
}

.count-chip.chip-warn[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--warning-color) 14%, transparent);
    border-color: color-mix(in srgb, var(--warning-color) 38%, transparent);
    color: var(--warning-color);
}

.count-chip.chip-zero[b-6jj2l7egpp] {
    background: color-mix(in srgb, var(--text-secondary) 8%, transparent);
    border-color: color-mix(in srgb, var(--text-secondary) 18%, transparent);
    color: var(--text-secondary);
}

/* Active pipeline row */
.pipeline-row[b-6jj2l7egpp] {
    margin-top: 0.125rem;
    padding-top: 0.375rem;
    border-top: 1px solid color-mix(in srgb, var(--text-secondary) 15%, transparent);
}

.pipeline-task[b-6jj2l7egpp] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Breaker detail note (visible, non-tooltip) */
.circuit-breaker-note[b-6jj2l7egpp] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: var(--text-2xs);
    color: color-mix(in srgb, var(--error-color) 70%, var(--text-secondary));
    padding-top: 0.25rem;
    border-top: 1px solid color-mix(in srgb, var(--text-secondary) 15%, transparent);
}

.note-icon[b-6jj2l7egpp] {
    font-size: var(--text-sm);
    flex-shrink: 0;
}

/* Reduced-motion gate — kill the heartbeat + ambient pulses */
@media (prefers-reduced-motion: reduce) {
    .live-pulse[b-6jj2l7egpp] {
        animation: none;
        opacity: 0;
    }

    .pill-dot.live[b-6jj2l7egpp],
    .loading-dots span[b-6jj2l7egpp] {
        animation: none;
    }
}
