/* /Components/Layout/AdminLayout.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════════════════════════
   InfinityAI Admin Console — sidebar + page design system.
   ALL design tokens (color/spacing/radius/shadow/motion/type) live in the canonical
   wwwroot/css/air-design-tokens.css (loaded globally on :root). This file CONSUMES
   them via var(--air-*); it must not hard-code colors. Future themes override tokens,
   not these rules.
   ════════════════════════════════════════════════════════════════════════════ */
.air-admin-shell[b-d26epvmx2h] {
    display: flex;
    min-height: 100dvh;
    background: var(--air-bg);
    color: var(--air-text);
}

/* ── Sidebar (quiet, text-forward, Claude-console style) ─────────────────────── */
.air-admin-sidebar[b-d26epvmx2h] {
    flex: 0 0 var(--air-sidebar-w);
    width: var(--air-sidebar-w);
    background: var(--air-sidebar-bg);
    border-right: 1px solid var(--air-sidebar-border);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100dvh;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 30;
    transition: flex-basis .18s ease, width .18s ease;
}

.air-admin-brand[b-d26epvmx2h] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 56px;
    padding: 0 0.7rem 0 1.05rem;
    position: sticky;
    top: 0;
    background: var(--air-sidebar-bg);
    z-index: 1;
}

.air-admin-logo[b-d26epvmx2h] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    min-width: 0;
    text-decoration: none;
    color: var(--air-text);
    font-size: 0.95rem;
    font-weight: 650;
    letter-spacing: -0.01em;
    white-space: nowrap;
}
.air-admin-logo:focus-visible[b-d26epvmx2h] { outline: 2px solid var(--air-accent); outline-offset: 1px; border-radius: var(--air-radius-sm); }

/* Sidebar hamburger — owns the collapse, sits in the nav column (not the page header). */
.air-admin-burger-side[b-d26epvmx2h] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: var(--air-radius-sm);
    color: var(--air-text-3);
    transition: background-color .12s ease, color .12s ease;
}
.air-admin-burger-side:hover[b-d26epvmx2h] { background: var(--air-hover); color: var(--air-text-2); }
.air-admin-burger-side:focus-visible[b-d26epvmx2h] { outline: 2px solid var(--air-accent); outline-offset: 1px; }
.air-admin-burger-side .mud-icon-root[b-d26epvmx2h] { font-size: 1.15rem; }

.air-admin-logomark[b-d26epvmx2h] {
    display: none;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: var(--air-radius-sm);
    background: var(--air-accent);
    color: var(--air-text-inverse);
    font-size: 0.74rem;
    font-weight: 800;
    align-items: center;
    justify-content: center;
}

.air-admin-logotext span[b-d26epvmx2h] {
    color: var(--air-text-3);
    font-weight: 500;
}

.air-admin-nav[b-d26epvmx2h] {
    flex: 1 1 auto;
    padding: 0.5rem 0.6rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

/* Section — a static label + its always-visible items. No accordion, no tree. */
.air-admin-group[b-d26epvmx2h] { margin-top: 1.75rem; }       /* clearer separation between sections */
.air-admin-group:first-child[b-d26epvmx2h] { margin-top: 0.4rem; }

/* Section header is a LABEL only — not a button, not clickable, no icon, no chevron, no hover. */
.air-admin-group-label[b-d26epvmx2h] {
    padding: 0 0.7rem;
    margin: 0 0 0.5rem;                          /* ~8px below the label */
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--air-sidebar-section);
    user-select: none;
}

.air-admin-foot-toggle:focus-visible[b-d26epvmx2h],
.air-admin-burger-side:focus-visible[b-d26epvmx2h],
.air-admin-link:focus-visible[b-d26epvmx2h] {
    outline: 2px solid var(--air-accent);
    outline-offset: 1px;
}

/* Items are always visible (categories never collapse). */
.air-admin-group-items[b-d26epvmx2h] {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

/* Nav row — one shared left alignment, uniform height, icon + text only. Used by semantic <a> links
   (navigation), the <span> (disabled item) and the <button> "Visa kommande" toggle (an action, not
   navigation). The reset props below let that one <button> render identically to the anchors. */
.air-admin-link[b-d26epvmx2h] {
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    height: 34px;
    padding: 0 0.7rem;
    margin: 0;
    border: none;
    border-radius: var(--air-radius-sm);
    background: none;
    color: var(--air-sidebar-text);
    text-align: left;
    text-decoration: none;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background-color var(--air-transition), color var(--air-transition);
}

/* 18–20px icons on a consistent baseline; every item (incl. Dashboard) shares the icon column. */
.air-admin-link .mud-icon-root[b-d26epvmx2h] {
    font-size: 1.15rem;
    width: 1.15rem;
    color: var(--air-sidebar-icon);
    flex: 0 0 auto;
    transition: color var(--air-transition);
}

.air-admin-link:hover[b-d26epvmx2h] {
    background: var(--air-sidebar-hover-bg);
    color: var(--air-sidebar-text-strong);
}
.air-admin-link:hover .mud-icon-root[b-d26epvmx2h] { color: var(--air-sidebar-text-strong); }

.air-admin-link.air-admin-top[b-d26epvmx2h] {
    font-weight: 600;
    color: var(--air-sidebar-text-strong);
}
.air-admin-link.air-admin-top .mud-icon-root[b-d26epvmx2h] { color: var(--air-sidebar-text-strong); }

/* Active — "I am here": accent-tinted surface + accent indicator + accent icon + strong label. */
.air-admin-link.active[b-d26epvmx2h] {
    background: var(--air-sidebar-active-bg);
    color: var(--air-sidebar-active-text);
    font-weight: 600;
}

.air-admin-link.active[b-d26epvmx2h]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--air-sidebar-active-indicator);
}

.air-admin-link.active .mud-icon-root[b-d26epvmx2h] {
    color: var(--air-sidebar-active-icon);
}

.air-admin-link.disabled[b-d26epvmx2h] {
    color: var(--air-disabled);
    cursor: default;
}

.air-admin-link.disabled:hover[b-d26epvmx2h] {
    background: transparent;
}

/* ── Footer (global links + upcoming toggle, owned by the nav model) ──────────── */
.air-admin-foot[b-d26epvmx2h] {
    margin-top: auto;
    padding: 0.6rem 0.6rem 0.8rem;
    border-top: 1px solid var(--air-sidebar-footer-border);
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    position: sticky;
    bottom: 0;
    background: var(--air-sidebar-bg);
}

/* Footer rows are plain .air-admin-link buttons — identical icon column / gap / height / padding to
   every menu row. No footer-specific spacing overrides (that's what kept them misaligned before). */
.air-admin-foot-link[b-d26epvmx2h] { color: var(--air-text-2); }

/* ── Collapsed rail (≥768px) ─────────────────────────────────────────────────── */
@media (min-width: 768px) {
    .air-admin-shell.collapsed .air-admin-sidebar[b-d26epvmx2h] {
        flex-basis: var(--air-rail-w);
        width: var(--air-rail-w);
    }

    .air-admin-shell.collapsed .air-admin-label[b-d26epvmx2h],
    .air-admin-shell.collapsed .air-admin-logotext[b-d26epvmx2h] {
        display: none;
    }

    /* Rail = an icon strip. Section labels collapse to a slim divider; items show icons only. */
    .air-admin-shell.collapsed .air-admin-group-label[b-d26epvmx2h] {
        height: 1px; margin: 0.5rem 0.7rem; padding: 0; overflow: hidden;
        color: transparent; background: var(--air-border-soft);
    }
    .air-admin-shell.collapsed .air-admin-logo[b-d26epvmx2h] { display: none; }
    .air-admin-shell.collapsed .air-admin-brand[b-d26epvmx2h] { justify-content: center; padding: 0; }
    .air-admin-shell.collapsed .air-admin-link[b-d26epvmx2h] { justify-content: center; padding-left: 0; padding-right: 0; }
    .air-admin-shell.collapsed .air-admin-link.active[b-d26epvmx2h]::before { left: 0; }
}

/* ── Main column ─────────────────────────────────────────────────────────────── */
.air-admin-main[b-d26epvmx2h] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.air-admin-topbar[b-d26epvmx2h] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 1.5rem;
    background: var(--air-topbar-bg);
    backdrop-filter: saturate(180%) blur(6px);
    border-bottom: 1px solid var(--air-border);
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 50px;
}

.air-admin-crumbs[b-d26epvmx2h] { min-width: 0; overflow: hidden; }
/* Breadcrumbs are secondary — small and light so the page title always dominates. */
.air-admin-crumbs[b-d26epvmx2h]  .mud-breadcrumbs { padding: 0; font-size: 0.75rem; flex-wrap: nowrap; }
/* Links and separators stay quiet; the CURRENT (last) crumb is stronger so position reads at a glance. */
.air-admin-crumbs[b-d26epvmx2h]  .mud-breadcrumb-item a { color: var(--air-text-2); }
.air-admin-crumbs[b-d26epvmx2h]  .mud-breadcrumb-item a:hover { color: var(--air-text); }
.air-admin-crumbs[b-d26epvmx2h]  .mud-breadcrumbs .mud-breadcrumb-separator { color: var(--air-text-3); }
.air-admin-crumbs[b-d26epvmx2h]  .mud-breadcrumb-item:last-child,
.air-admin-crumbs[b-d26epvmx2h]  .mud-breadcrumb-item:last-child .mud-typography {
    color: var(--air-text); font-weight: 550;
}

.air-admin-content[b-d26epvmx2h] {
    flex: 1 1 auto;
    width: 100%;
    padding: 1.5rem 2rem 3rem;
}

/* ── Mobile drawer ───────────────────────────────────────────────────────────── */
.air-admin-backdrop[b-d26epvmx2h] {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--air-color-overlay-dark);
    z-index: 25;
    opacity: 0;
    transition: opacity .15s ease;
}

@media (max-width: 767.98px) {
    /* The sidebar becomes a fixed top bar: its header (brand + the single hamburger) is always
       visible, and tapping the hamburger expands it to a full-height menu. */
    .air-admin-sidebar[b-d26epvmx2h] {
        position: fixed; top: 0; left: 0; right: 0;
        width: auto; height: 56px;
        flex-basis: auto;
        overflow: hidden;
        border-right: none;
        border-bottom: 1px solid var(--air-border);
        transition: height .2s ease;
        box-shadow: var(--air-shadow-sm);
    }
    .air-admin-shell.drawer-open .air-admin-sidebar[b-d26epvmx2h] { height: 100dvh; overflow-y: auto; }
    .air-admin-shell.drawer-open .air-admin-backdrop[b-d26epvmx2h] { display: block; opacity: 1; }

    /* Page content clears the fixed 56px header; breadcrumbs stick just below it. */
    .air-admin-main[b-d26epvmx2h] { margin-top: 56px; }
    .air-admin-topbar[b-d26epvmx2h] { top: 56px; }
    .air-admin-content[b-d26epvmx2h] { padding: 1rem 1.1rem 2rem; }

    /* Footer rides at the end of the scrolling menu (not pinned) on mobile. */
    .air-admin-foot[b-d26epvmx2h] { position: static; }
}

/* ════════════════════════════════════════════════════════════════════════════
   Page design system — applied to page content via ::deep (admin pages only).
   Pages use .air-page / .air-section / .air-kpi-grid / .air-kpi / .air-card / .air-table.
   ════════════════════════════════════════════════════════════════════════════ */

/* Page shell (AdminPage component) */
.air-admin-content[b-d26epvmx2h]  .air-page { max-width: 1680px; }
.air-admin-content[b-d26epvmx2h]  .air-page-head {
    display: flex; align-items: flex-start; gap: 1rem;
    flex-wrap: wrap; margin-bottom: 1.5rem;
}
.air-admin-content[b-d26epvmx2h]  .air-page-title {
    margin: 0; font-size: 1.4rem; font-weight: 650;
    letter-spacing: -0.02em; color: var(--air-text); line-height: 1.2;
}
.air-admin-content[b-d26epvmx2h]  .air-page-desc {
    margin: 0.3rem 0 0; font-size: 0.88rem; color: var(--air-text-2); max-width: 70ch;
}
.air-admin-content[b-d26epvmx2h]  .air-page-actions {
    margin-left: auto; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
}

/* Sections */
.air-admin-content[b-d26epvmx2h]  .air-section { margin-top: 2.25rem; }
.air-admin-content[b-d26epvmx2h]  .air-section:first-of-type { margin-top: 0; }
.air-admin-content[b-d26epvmx2h]  .air-section-title {
    font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.07em;
    font-weight: 700; color: var(--air-text-3); margin: 0 0 0.85rem;
}

/* KPI grid + card (number-dominant, calm) */
.air-admin-content[b-d26epvmx2h]  .air-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: var(--air-gap);
}
.air-admin-content[b-d26epvmx2h]  .air-kpi {
    background: var(--air-surface);
    border: 1px solid var(--air-border);
    border-radius: var(--air-radius);
    padding: 1.05rem 1.15rem;
    box-shadow: var(--air-shadow-xs);          /* float slightly so cards separate from the page (any theme) */
}
.air-admin-content[b-d26epvmx2h]  .air-kpi-value {
    font-size: 1.55rem; font-weight: 650; letter-spacing: -0.02em;
    color: var(--air-text); line-height: 1.05;
}
.air-admin-content[b-d26epvmx2h]  .air-kpi-label {
    font-size: 0.78rem; color: var(--air-text-3); margin-top: 0.3rem;
}
.air-admin-content[b-d26epvmx2h]  .air-kpi-sub { font-size: 0.74rem; color: var(--air-text-2); margin-top: 0.35rem; }

/* Subtle card / panel (prefer over heavy MudPaper elevation) */
.air-admin-content[b-d26epvmx2h]  .air-card {
    background: var(--air-surface);
    border: 1px solid var(--air-border);
    border-radius: var(--air-radius);
    padding: 1.05rem 1.15rem;
    box-shadow: var(--air-shadow-xs);
}
.air-admin-content[b-d26epvmx2h]  .air-card-title { font-size: 0.92rem; font-weight: 600; color: var(--air-text); margin: 0 0 0.6rem; }

/* Status (typography-led; color only for the dot) */
.air-admin-content[b-d26epvmx2h]  .air-status { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.84rem; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; background: var(--air-neutral); }
.air-admin-content[b-d26epvmx2h]  .air-dot.ok { background: var(--air-ok); }
.air-admin-content[b-d26epvmx2h]  .air-dot.warn { background: var(--air-warn); }
.air-admin-content[b-d26epvmx2h]  .air-dot.err { background: var(--air-err); }

/* Unified table (quiet header, generous rows, soft hover) */
.air-admin-content[b-d26epvmx2h]  .air-table-wrap { overflow-x: auto; }
.air-admin-content[b-d26epvmx2h]  .air-table { width: 100%; border-collapse: collapse; }
.air-admin-content[b-d26epvmx2h]  .air-table th {
    font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em;
    color: var(--air-text-3); font-weight: 600; text-align: left;
    padding: 0.55rem 0.7rem; border-bottom: 1px solid var(--air-border); white-space: nowrap;
}
.air-admin-content[b-d26epvmx2h]  .air-table td {
    padding: 0.6rem 0.7rem; border-bottom: 1px solid var(--air-border-soft);
    font-size: 0.85rem; color: var(--air-text);
}
.air-admin-content[b-d26epvmx2h]  .air-table tbody tr { transition: background-color .1s ease; }
.air-admin-content[b-d26epvmx2h]  .air-table tbody tr:hover td { background: var(--air-table-row-hover); }
.air-admin-content[b-d26epvmx2h]  .air-table tbody tr:last-child td { border-bottom: none; }
.air-admin-content[b-d26epvmx2h]  .air-table.has-min { min-width: var(--air-table-min, 0); }

/* Metric sub tones */
.air-admin-content[b-d26epvmx2h]  .air-kpi-sub.air-ok { color: var(--air-ok); }
.air-admin-content[b-d26epvmx2h]  .air-kpi-sub.air-warn { color: var(--air-warn); }
.air-admin-content[b-d26epvmx2h]  .air-kpi-sub.air-err { color: var(--air-err); }

/* Section head (title + optional actions) */
.air-admin-content[b-d26epvmx2h]  .air-section-head {
    display: flex; align-items: center; gap: 1rem; margin-bottom: 0.85rem;
}
.air-admin-content[b-d26epvmx2h]  .air-section-head .air-section-title { margin: 0; }
.air-admin-content[b-d26epvmx2h]  .air-section-actions { margin-left: auto; display: flex; gap: 0.4rem; align-items: center; }

/* Executive summary callout */
.air-admin-content[b-d26epvmx2h]  .air-callout {
    display: flex; align-items: flex-start; gap: 0.7rem;
    padding: 0.9rem 1.1rem; border-radius: var(--air-radius);
    border: 1px solid var(--air-border); background: var(--air-surface); margin-bottom: var(--air-sp-lg);
}
.air-admin-content[b-d26epvmx2h]  .air-callout .air-dot { margin-top: 0.45rem; width: 9px; height: 9px; }
.air-admin-content[b-d26epvmx2h]  .air-callout-title { font-size: 1.05rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-callout-detail { font-size: 0.86rem; color: var(--air-text-2); margin-top: 0.15rem; }
.air-admin-content[b-d26epvmx2h]  .air-callout-ok { background: var(--air-callout-success-bg); border-color: var(--air-success-border); }
.air-admin-content[b-d26epvmx2h]  .air-callout-warn { background: var(--air-callout-warning-bg); border-color: var(--air-warning-border); }
.air-admin-content[b-d26epvmx2h]  .air-callout-err { background: var(--air-callout-danger-bg); border-color: var(--air-danger-border); }

/* Activity feed / timeline */
.air-admin-content[b-d26epvmx2h]  .air-feed { display: flex; flex-direction: column; }
.air-admin-content[b-d26epvmx2h]  .air-feed-item {
    position: relative; display: flex; gap: 0.7rem; padding: 0.5rem 0; align-items: flex-start;
}
.air-admin-content[b-d26epvmx2h]  .air-feed-item:not(:last-child) { border-bottom: 1px solid var(--air-border-soft); }
.air-admin-content[b-d26epvmx2h]  .air-feed-dot {
    width: 7px; height: 7px; border-radius: 50%; margin-top: 0.45rem; flex: 0 0 auto; background: var(--air-disabled);
}
.air-admin-content[b-d26epvmx2h]  .air-feed-dot.air-ok { background: var(--air-ok); }
.air-admin-content[b-d26epvmx2h]  .air-feed-dot.air-warn { background: var(--air-warn); }
.air-admin-content[b-d26epvmx2h]  .air-feed-dot.air-err { background: var(--air-err); }
.air-admin-content[b-d26epvmx2h]  .air-feed-text { font-size: 0.88rem; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-feed-meta { font-size: 0.76rem; color: var(--air-text-3); margin-top: 0.1rem; }

/* Empty state — intentional: a contained surface, a clear icon in a soft chip, a strong title. */
.air-admin-content[b-d26epvmx2h]  .air-empty {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 2.5rem 1.25rem; gap: 0.4rem;
    background: var(--air-surface-subtle);
    border: 1px solid var(--air-border-soft);
    border-radius: var(--air-radius);
}
.air-admin-content[b-d26epvmx2h]  .air-empty-icon {
    font-size: 1.6rem !important; color: var(--air-icon);
    display: inline-flex; align-items: center; justify-content: center;
    width: 3rem; height: 3rem; margin-bottom: 0.35rem;
    background: var(--air-bg-muted); border-radius: 50%;
}
.air-admin-content[b-d26epvmx2h]  .air-empty-title { font-size: 1rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-empty-desc { font-size: 0.84rem; color: var(--air-text-2); max-width: 42ch; line-height: 1.45; }
.air-admin-content[b-d26epvmx2h]  .air-empty-action { margin-top: 0.75rem; }

/* Property list (key/value) */
.air-admin-content[b-d26epvmx2h]  .air-proplist { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 0.35rem 1rem; margin: 0; }
.air-admin-content[b-d26epvmx2h]  .air-prop { display: contents; }
.air-admin-content[b-d26epvmx2h]  .air-prop-key { font-size: 0.78rem; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-prop-val { font-size: 0.86rem; color: var(--air-text); word-break: break-word; margin: 0; }

/* Dashboard split row (activity | needs-attention) — 2 cols on wide, 1 on narrow */
.air-admin-content[b-d26epvmx2h]  .air-dash-split {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2.25rem;
    margin-top: var(--air-sp-section);
}
.air-admin-content[b-d26epvmx2h]  .air-dash-split .air-section { margin-top: 0; }

/* Micro-interactions: cards lift subtly on hover (used on metrics) */
.air-admin-content[b-d26epvmx2h]  .air-kpi { transition: border-color .12s ease, box-shadow .12s ease; }
.air-admin-content[b-d26epvmx2h]  .air-kpi:hover { border-color: var(--air-card-hover-border); box-shadow: var(--air-shadow-sm); }

/* ── v3 components: toolbar, forms, detail panel, tabs, toggle ─────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-dot.info { background: var(--air-info); }

.air-admin-content[b-d26epvmx2h]  .air-toolbar {
    display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; margin-bottom: var(--air-sp-md);
}
.air-admin-content[b-d26epvmx2h]  .air-toolbar-main { display: flex; align-items: center; gap: 0.5rem; flex: 1 1 240px; flex-wrap: wrap; min-width: 0; }
.air-admin-content[b-d26epvmx2h]  .air-toolbar-actions { display: flex; align-items: center; gap: 0.4rem; margin-left: auto; flex-wrap: wrap; }

.air-admin-content[b-d26epvmx2h]  .air-form { display: flex; flex-direction: column; gap: var(--air-sp-section); max-width: 760px; }
.air-admin-content[b-d26epvmx2h]  .air-form-section-head { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 0.85rem; }
.air-admin-content[b-d26epvmx2h]  .air-form-section-title { margin: 0; font-size: 0.95rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-form-section-desc { margin: 0.2rem 0 0; font-size: 0.82rem; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-form-section-actions { margin-left: auto; }
.air-admin-content[b-d26epvmx2h]  .air-form-section-body { display: flex; flex-direction: column; gap: var(--air-sp-md); }

.air-admin-content[b-d26epvmx2h]  .air-form-actions {
    display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
    padding-top: var(--air-sp-md); border-top: 1px solid var(--air-border-soft);
}
.air-admin-content[b-d26epvmx2h]  .air-form-actions-danger { margin-right: auto; }
.air-admin-content[b-d26epvmx2h]  .air-form-actions-main { display: flex; align-items: center; gap: 0.5rem; margin-left: auto; flex-wrap: wrap; }

.air-admin-content[b-d26epvmx2h]  .air-detail {
    background: var(--air-surface); border: 1px solid var(--air-border); border-radius: var(--air-radius);
    border-left: 3px solid var(--air-accent); padding: 1.05rem 1.15rem;
}
.air-admin-content[b-d26epvmx2h]  .air-detail-head { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.7rem; }
.air-admin-content[b-d26epvmx2h]  .air-detail-headings { min-width: 0; }
.air-admin-content[b-d26epvmx2h]  .air-detail-title { font-size: 1rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-detail-subtitle { font-size: 0.8rem; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-detail-actions { margin-left: auto; display: flex; gap: 0.4rem; align-items: center; }

.air-admin-content[b-d26epvmx2h]  .air-tabs .mud-tabs-toolbar { min-height: 40px; }
.air-admin-content[b-d26epvmx2h]  .air-tabs .mud-tab { text-transform: none; font-weight: 500; min-width: 0; }

/* ════════════════════════════════════════════════════════════════════════════
   Air Design System v1.0 — interactive primitives. These are the styles behind the reusable
   AirButton / AirChip / AirChipGroup / AirTabBar components (pages consume the COMPONENTS, never
   these classes directly). Fully token-driven; verified in Light / Dark / High Contrast.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Tabs (AirTabBar / AirTab): active = accent + underline; inactive readable; obvious hover + focus. ── */
.air-admin-content[b-d26epvmx2h]  .air-tabbar { display: flex; flex-wrap: wrap; gap: 0.1rem; border-bottom: 1px solid var(--air-border); }
.air-admin-content[b-d26epvmx2h]  .air-tab {
    appearance: none; -webkit-appearance: none; border: none; background: none; cursor: pointer;
    font-family: inherit; font-size: 0.85rem; font-weight: 500; line-height: 1.2;
    color: var(--air-text-2); padding: 0.5rem 0.8rem; margin-bottom: -1px;
    border-radius: var(--air-radius-sm) var(--air-radius-sm) 0 0; position: relative;
    transition: color var(--air-transition), background-color var(--air-transition);
}
.air-admin-content[b-d26epvmx2h]  .air-tab:hover { color: var(--air-text); background: var(--air-hover); }
.air-admin-content[b-d26epvmx2h]  .air-tab.active { color: var(--air-text); font-weight: 600; }
.air-admin-content[b-d26epvmx2h]  .air-tab.active::after {
    content: ""; position: absolute; left: 0.5rem; right: 0.5rem; bottom: 0; height: 2px;
    background: var(--air-accent); border-radius: 2px 2px 0 0;
}
.air-admin-content[b-d26epvmx2h]  .air-tab:focus-visible { outline: 2px solid var(--air-accent); outline-offset: 2px; }
.air-admin-content[b-d26epvmx2h]  .air-tab:disabled { color: var(--air-disabled); cursor: default; }

/* ── Chips (AirChip / AirChipGroup): selected = Air Primary; unselected = Surface + a border that
   survives Dark mode; obvious hover + accessible focus. ── */
.air-admin-content[b-d26epvmx2h]  .air-chipgroup { display: flex; flex-wrap: wrap; gap: var(--air-space-sm); align-items: center; }
.air-admin-content[b-d26epvmx2h]  .air-chip {
    appearance: none; -webkit-appearance: none; cursor: pointer; font-family: inherit;
    font-size: 0.82rem; font-weight: 500; line-height: 1.2; color: var(--air-text);
    background: var(--air-surface); border: 1px solid var(--air-border-strong);
    border-radius: 999px; padding: 0.4rem 0.9rem;
    transition: background-color var(--air-transition), border-color var(--air-transition), color var(--air-transition);
}
.air-admin-content[b-d26epvmx2h]  .air-chip:hover { background: var(--air-hover); border-color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-chip.selected {
    background: var(--air-accent); border-color: var(--air-accent); color: var(--air-accent-text); font-weight: 600;
}
.air-admin-content[b-d26epvmx2h]  .air-chip:focus-visible { outline: 2px solid var(--air-accent); outline-offset: 2px; }
.air-admin-content[b-d26epvmx2h]  .air-chip:disabled { opacity: 0.45; cursor: default; }

/* ── Buttons (AirButton): premium, variant-driven, consistent height + radius. ── */
.air-admin-content[b-d26epvmx2h]  .air-btn {
    appearance: none; -webkit-appearance: none; cursor: pointer; font-family: inherit;
    font-size: 0.83rem; font-weight: 550; line-height: 1.2; white-space: nowrap;
    display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
    min-height: 34px; padding: 0 0.9rem; border-radius: var(--air-radius-sm); border: 1px solid transparent;
    transition: background-color var(--air-transition), border-color var(--air-transition),
                color var(--air-transition), box-shadow var(--air-transition), filter var(--air-transition);
}
.air-admin-content[b-d26epvmx2h]  .air-btn:focus-visible { outline: 2px solid var(--air-accent); outline-offset: 2px; }
.air-admin-content[b-d26epvmx2h]  .air-btn:disabled { opacity: 0.45; cursor: default; box-shadow: none; }
.air-admin-content[b-d26epvmx2h]  .air-btn .mud-icon-root { font-size: 1.05rem; }
.air-admin-content[b-d26epvmx2h]  .air-btn--icon { width: 34px; padding: 0; }

.air-admin-content[b-d26epvmx2h]  .air-btn--primary { background: var(--air-accent); color: var(--air-accent-text); }
.air-admin-content[b-d26epvmx2h]  .air-btn--primary:hover:not(:disabled) { background: var(--air-accent-hover); }
.air-admin-content[b-d26epvmx2h]  .air-btn--secondary { background: var(--air-surface-elevated); color: var(--air-text); border-color: var(--air-border-strong); }
.air-admin-content[b-d26epvmx2h]  .air-btn--secondary:hover:not(:disabled) { background: var(--air-hover); border-color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-btn--outline { background: transparent; color: var(--air-text); border-color: var(--air-border-strong); }
.air-admin-content[b-d26epvmx2h]  .air-btn--outline:hover:not(:disabled) { background: var(--air-hover); border-color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-btn--ghost { background: transparent; color: var(--air-text-2); }
.air-admin-content[b-d26epvmx2h]  .air-btn--ghost:hover:not(:disabled) { background: var(--air-hover); color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-btn--danger { background: var(--air-danger); color: var(--air-accent-text); }
.air-admin-content[b-d26epvmx2h]  .air-btn--danger:hover:not(:disabled) { filter: brightness(0.93); }
.air-admin-content[b-d26epvmx2h]  .air-btn--success { background: var(--air-success); color: var(--air-accent-text); }
.air-admin-content[b-d26epvmx2h]  .air-btn--success:hover:not(:disabled) { filter: brightness(0.93); }

/* Loading spinner (colour-independent; respects reduced motion). */
.air-admin-content[b-d26epvmx2h]  .air-btn-spin {
    width: 14px; height: 14px; border-radius: 50%;
    border: 2px solid currentColor; border-top-color: transparent; animation: air-spin-b-d26epvmx2h 0.6s linear infinite;
}
@keyframes air-spin-b-d26epvmx2h { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .air-admin-content[b-d26epvmx2h]  .air-btn-spin { animation: none; } }

/* ── Card hierarchy (v1.0): elevated / interactive / status variants on top of .air-card. ── */
.air-admin-content[b-d26epvmx2h]  .air-card--elevated { background: var(--air-surface-elevated); box-shadow: var(--air-shadow-sm); }
.air-admin-content[b-d26epvmx2h]  .air-card--interactive { cursor: pointer; transition: border-color var(--air-transition), box-shadow var(--air-transition), background-color var(--air-transition); }
.air-admin-content[b-d26epvmx2h]  .air-card--interactive:hover { border-color: var(--air-border-strong); box-shadow: var(--air-shadow-sm); background: var(--air-surface-elevated); }
.air-admin-content[b-d26epvmx2h]  .air-card--selected { border-color: var(--air-accent); box-shadow: 0 0 0 1px var(--air-accent); }
.air-admin-content[b-d26epvmx2h]  .air-card--info { background: var(--air-info-bg); border-color: var(--air-info-border); }
.air-admin-content[b-d26epvmx2h]  .air-card--warn { background: var(--air-warning-bg); border-color: var(--air-warning-border); }
.air-admin-content[b-d26epvmx2h]  .air-card--err { background: var(--air-danger-bg); border-color: var(--air-danger-border); }

/* ── Token swatches (Air Gallery diagnostics) — visualise the resolved surface/border/text layers. ── */
.air-admin-content[b-d26epvmx2h]  .air-swatchgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: var(--air-space-sm); }
.air-admin-content[b-d26epvmx2h]  .air-swatch { border: 1px solid var(--air-border); border-radius: var(--air-radius-sm); overflow: hidden; background: var(--air-surface); }
.air-admin-content[b-d26epvmx2h]  .air-swatch-box { height: 44px; border-bottom: 1px solid var(--air-border-soft); }
.air-admin-content[b-d26epvmx2h]  .air-swatch-meta { padding: 0.4rem 0.55rem; }
.air-admin-content[b-d26epvmx2h]  .air-swatch-name { font-size: 0.72rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-swatch-val { font-size: 0.66rem; color: var(--air-text-3); font-family: ui-monospace, monospace; }

/* ── QA checklist (Air Gallery) — manual cross-theme review aid. ── */
.air-admin-content[b-d26epvmx2h]  .air-qa { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0.3rem 1rem; }
.air-admin-content[b-d26epvmx2h]  .air-qa li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.84rem; color: var(--air-text-2); }
.air-admin-content[b-d26epvmx2h]  .air-qa li::before { content: "○"; color: var(--air-accent); font-size: 0.9rem; line-height: 1.3; }

.air-admin-content[b-d26epvmx2h]  .air-toggle {
    display: flex; align-items: center; gap: 1rem; padding: 0.6rem 0;
    border-bottom: 1px solid var(--air-border-soft);
}
.air-admin-content[b-d26epvmx2h]  .air-toggle:last-child { border-bottom: none; }
.air-admin-content[b-d26epvmx2h]  .air-toggle-text { flex: 1 1 auto; min-width: 0; }
.air-admin-content[b-d26epvmx2h]  .air-toggle-label { font-size: 0.9rem; font-weight: 500; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-toggle-desc { font-size: 0.8rem; color: var(--air-text-3); margin-top: 0.1rem; }
.air-admin-content[b-d26epvmx2h]  .air-toggle-disabled { font-size: 0.76rem; color: var(--air-warn); margin-top: 0.15rem; }

@media (max-width: 600px) {
    .air-admin-content[b-d26epvmx2h]  .air-form-actions-main { width: 100%; }
    .air-admin-content[b-d26epvmx2h]  .air-form-actions-danger { margin-right: 0; width: 100%; }
}

/* ── v3.1 components: data grid, split view, settings rows, property editor ────── */
.air-admin-content[b-d26epvmx2h]  .air-datagrid-head {
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.85rem;
}
.air-admin-content[b-d26epvmx2h]  .air-datagrid-head .air-section-title { margin: 0; }
.air-admin-content[b-d26epvmx2h]  .air-datagrid-toolbar { margin-left: auto; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.air-admin-content[b-d26epvmx2h]  .air-datagrid-footer {
    display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
    margin-top: 0.85rem; font-size: 0.82rem; color: var(--air-text-3);
}

.air-admin-content[b-d26epvmx2h]  .air-split { display: grid; grid-template-columns: 1fr 380px; gap: var(--air-sp-lg); align-items: start; }
.air-admin-content[b-d26epvmx2h]  .air-split-primary { min-width: 0; }
.air-admin-content[b-d26epvmx2h]  .air-split-detail { min-width: 0; position: sticky; top: 64px; }
@media (max-width: 960px) {
    .air-admin-content[b-d26epvmx2h]  .air-split { grid-template-columns: 1fr; }
    .air-admin-content[b-d26epvmx2h]  .air-split-detail { position: static; }
}

.air-admin-content[b-d26epvmx2h]  .air-settings-page { display: flex; flex-direction: column; gap: var(--air-sp-section); max-width: 760px; }
.air-admin-content[b-d26epvmx2h]  .air-settings-rows { display: flex; flex-direction: column; }

.air-admin-content[b-d26epvmx2h]  .air-setting {
    display: flex; align-items: center; gap: 1.25rem; padding: 0.7rem 0;
    border-bottom: 1px solid var(--air-border-soft);
}
.air-admin-content[b-d26epvmx2h]  .air-setting:last-child { border-bottom: none; }
.air-admin-content[b-d26epvmx2h]  .air-setting-text { flex: 1 1 auto; min-width: 0; }
.air-admin-content[b-d26epvmx2h]  .air-setting-control { flex: 0 0 auto; }
.air-admin-content[b-d26epvmx2h]  .air-setting-label { font-size: 0.9rem; font-weight: 500; color: var(--air-text); display: block; }
.air-admin-content[b-d26epvmx2h]  .air-setting-desc { font-size: 0.8rem; color: var(--air-text-3); margin-top: 0.1rem; }
.air-admin-content[b-d26epvmx2h]  .air-setting-help { font-size: 0.78rem; color: var(--air-text-2); margin-top: 0.15rem; }
.air-admin-content[b-d26epvmx2h]  .air-setting-warning { font-size: 0.78rem; color: var(--air-warn); margin-top: 0.15rem; }
.air-admin-content[b-d26epvmx2h]  .air-setting-disabled { font-size: 0.76rem; color: var(--air-text-3); margin-top: 0.15rem; }
@media (max-width: 600px) {
    .air-admin-content[b-d26epvmx2h]  .air-setting { flex-direction: column; align-items: stretch; gap: 0.4rem; }
}

.air-admin-content[b-d26epvmx2h]  .air-propedit { display: flex; flex-direction: column; gap: 0.4rem; }
.air-admin-content[b-d26epvmx2h]  .air-propedit.inline { display: grid; grid-template-columns: minmax(160px, 240px) 1fr; gap: 0.4rem 1.25rem; align-items: start; }
.air-admin-content[b-d26epvmx2h]  .air-propedit-label { font-size: 0.85rem; font-weight: 500; color: var(--air-text); display: inline-flex; align-items: center; gap: 0.3rem; }
.air-admin-content[b-d26epvmx2h]  .air-propedit-lock { font-size: 0.9rem !important; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-propedit-desc { font-size: 0.8rem; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-propedit-help { font-size: 0.78rem; color: var(--air-text-3); margin-top: 0.25rem; }
.air-admin-content[b-d26epvmx2h]  .air-propedit-readonly { font-size: 0.88rem; color: var(--air-text); padding: 0.35rem 0; }
@media (max-width: 600px) {
    .air-admin-content[b-d26epvmx2h]  .air-propedit.inline { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════════════════
   Typography role classes — consume the type tokens (no page should invent sizes).
   Token definitions (spacing/interaction/motion/type) live in air-design-tokens.css.
   ════════════════════════════════════════════════════════════════════════════ */
.air-admin-content[b-d26epvmx2h]  .air-t-title    { font-size: var(--air-font-size-xl); font-weight: var(--air-font-weight-semibold); letter-spacing: -0.02em; color: var(--air-text); line-height: var(--air-line-height-tight); }
.air-admin-content[b-d26epvmx2h]  .air-t-section  { font-size: var(--air-font-size-xs); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 700; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-t-desc     { font-size: 0.88rem; color: var(--air-text-2); }
.air-admin-content[b-d26epvmx2h]  .air-t-label    { font-size: 0.9rem;  font-weight: var(--air-font-weight-medium); color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-t-caption  { font-size: var(--air-font-size-xs); color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-t-muted    { color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-t-error    { color: var(--air-err); }
.air-admin-content[b-d26epvmx2h]  .air-t-success  { color: var(--air-ok); }
.air-admin-content[b-d26epvmx2h]  .air-t-info     { color: var(--air-accent); }

/* Spacing utilities (prefer over Bootstrap mb-*/pa-* on admin pages). */
.air-admin-content[b-d26epvmx2h]  .air-stack-sm { display: flex; flex-direction: column; gap: var(--air-space-sm); }
.air-admin-content[b-d26epvmx2h]  .air-stack-md { display: flex; flex-direction: column; gap: var(--air-space-md); }
.air-admin-content[b-d26epvmx2h]  .air-row-sm   { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.air-admin-content[b-d26epvmx2h]  .air-row-md   { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; }

/* ── AirSearchBar ─────────────────────────────────────────────────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-searchbar {
    display: inline-flex; align-items: center; gap: 0.4rem;
    min-width: 220px; flex: 1 1 240px; max-width: 420px;
    padding: 0 0.6rem; height: 36px;
    background: var(--air-surface); border: 1px solid var(--air-border);
    border-radius: var(--air-radius-sm); transition: border-color var(--air-transition), box-shadow var(--air-transition);
}
.air-admin-content[b-d26epvmx2h]  .air-searchbar:focus-within { border-color: var(--air-accent); box-shadow: 0 0 0 2px var(--air-accent-soft); }
.air-admin-content[b-d26epvmx2h]  .air-searchbar-icon { font-size: 1.1rem !important; color: var(--air-text-3); flex: 0 0 auto; }
.air-admin-content[b-d26epvmx2h]  .air-searchbar-input {
    flex: 1 1 auto; min-width: 0; border: none; outline: none; background: transparent;
    font-family: inherit; font-size: 0.875rem; color: var(--air-text);
}
.air-admin-content[b-d26epvmx2h]  .air-searchbar-input::placeholder { color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-searchbar-input::-webkit-search-cancel-button { display: none; }
.air-admin-content[b-d26epvmx2h]  .air-searchbar-clear {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 22px; height: 22px; padding: 0; border: none; background: none; cursor: pointer;
    border-radius: 50%; color: var(--air-text-3);
}
.air-admin-content[b-d26epvmx2h]  .air-searchbar-clear:hover { background: var(--air-hover); color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-searchbar-clear .mud-icon-root { font-size: 0.95rem; }
.air-admin-content[b-d26epvmx2h]  .air-searchbar-spin { flex: 0 0 auto; }

/* ── AirFilterBar ─────────────────────────────────────────────────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-filterbar {
    display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap;
    margin-bottom: var(--air-space-md);
}
.air-admin-content[b-d26epvmx2h]  .air-filterbar-items { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.air-admin-content[b-d26epvmx2h]  .air-filterbar-count { font-size: 0.78rem; color: var(--air-text-3); margin-left: auto; }
.air-admin-content[b-d26epvmx2h]  .air-filterbar-clear {
    border: none; background: none; cursor: pointer; font-family: inherit;
    font-size: 0.8rem; color: var(--air-accent); padding: 0.2rem 0.3rem; border-radius: var(--air-radius-sm);
}
.air-admin-content[b-d26epvmx2h]  .air-filterbar-clear:hover { text-decoration: underline; }

/* ── AirPageActions ───────────────────────────────────────────────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-page-actions { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; width: 100%; }
.air-admin-content[b-d26epvmx2h]  .air-page-actions-danger { margin-right: auto; }
.air-admin-content[b-d26epvmx2h]  .air-page-actions-main { display: flex; align-items: center; gap: var(--air-space-sm); margin-left: auto; flex-wrap: wrap; }

/* ── AirPropertyGrid ──────────────────────────────────────────────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-propgrid {
    display: grid; grid-template-columns: minmax(120px, 220px) 1fr; gap: 0.5rem 1rem; margin: 0;
}
.air-admin-content[b-d26epvmx2h]  .air-propgrid-key { font-size: 0.78rem; color: var(--air-text-3); align-self: center; }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-val { display: flex; align-items: center; gap: 0.4rem; font-size: 0.86rem; color: var(--air-text); margin: 0; min-width: 0; }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-text { overflow: hidden; text-overflow: ellipsis; }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-link { color: var(--air-accent); text-decoration: none; overflow: hidden; text-overflow: ellipsis; }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-link:hover { text-decoration: underline; }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-icon { font-size: 1rem !important; color: var(--air-text-3); }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-copy {
    display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 22px; height: 22px; padding: 0; border: none; background: none; cursor: pointer;
    border-radius: var(--air-radius-sm); color: var(--air-text-3);
}
.air-admin-content[b-d26epvmx2h]  .air-propgrid-copy:hover { background: var(--air-hover); color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-propgrid-copy .mud-icon-root { font-size: 0.9rem; }
@media (max-width: 600px) {
    .air-admin-content[b-d26epvmx2h]  .air-propgrid { grid-template-columns: 1fr; gap: 0.15rem 0; }
    .air-admin-content[b-d26epvmx2h]  .air-propgrid-key { margin-top: var(--air-space-sm); }
}

/* ── AirEditor ────────────────────────────────────────────────────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-editor {
    background: var(--air-surface); border: 1px solid var(--air-border); border-radius: var(--air-radius);
    display: flex; flex-direction: column; overflow: hidden;
}
.air-admin-content[b-d26epvmx2h]  .air-editor-head {
    display: flex; align-items: flex-start; gap: var(--air-space-md);
    padding: var(--air-space-md) var(--air-space-lg); border-bottom: 1px solid var(--air-border-soft);
}
.air-admin-content[b-d26epvmx2h]  .air-editor-headings { min-width: 0; flex: 1 1 auto; }
.air-admin-content[b-d26epvmx2h]  .air-editor-title { font-size: 1rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-editor-subtitle { font-size: 0.8rem; color: var(--air-text-3); margin-top: 0.1rem; }
.air-admin-content[b-d26epvmx2h]  .air-editor-toolbar { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.air-admin-content[b-d26epvmx2h]  .air-editor-body { padding: var(--air-space-lg); }
.air-admin-content[b-d26epvmx2h]  .air-editor-foot {
    display: flex; align-items: center; gap: var(--air-space-md);
    padding: var(--air-space-md) var(--air-space-lg); border-top: 1px solid var(--air-border-soft);
    background: var(--air-bg); position: sticky; bottom: 0;
}
.air-admin-content[b-d26epvmx2h]  .air-editor-dirty { font-size: 0.8rem; color: var(--air-warn); }
.air-admin-content[b-d26epvmx2h]  .air-editor-foot-actions { display: flex; align-items: center; gap: var(--air-space-sm); margin-left: auto; }

/* ── AirDrawer (right slide-in) ───────────────────────────────────────────────── */
.air-admin-content[b-d26epvmx2h]  .air-drawer-root { position: fixed; inset: 0; z-index: 40; pointer-events: none; visibility: hidden; }
.air-admin-content[b-d26epvmx2h]  .air-drawer-root.open { pointer-events: auto; visibility: visible; }
.air-admin-content[b-d26epvmx2h]  .air-drawer-scrim {
    position: absolute; inset: 0; background: var(--air-drawer-scrim);
    opacity: 0; transition: opacity .18s ease;
}
.air-admin-content[b-d26epvmx2h]  .air-drawer-root.open .air-drawer-scrim { opacity: 1; }
.air-admin-content[b-d26epvmx2h]  .air-drawer {
    position: absolute; top: 0; right: 0; bottom: 0;
    width: var(--air-drawer-w, 460px); max-width: 92vw;
    background: var(--air-surface); border-left: 1px solid var(--air-border);
    box-shadow: var(--air-drawer-shadow);
    display: flex; flex-direction: column;
    transform: translateX(100%); transition: transform .2s ease;
}
.air-admin-content[b-d26epvmx2h]  .air-drawer-root.open .air-drawer { transform: translateX(0); }
.air-admin-content[b-d26epvmx2h]  .air-drawer-head {
    display: flex; align-items: center; gap: var(--air-space-md);
    padding: var(--air-space-md) var(--air-space-lg); border-bottom: 1px solid var(--air-border-soft);
}
.air-admin-content[b-d26epvmx2h]  .air-drawer-headings { min-width: 0; flex: 1 1 auto; }
.air-admin-content[b-d26epvmx2h]  .air-drawer-title { font-size: 1rem; font-weight: 600; color: var(--air-text); }
.air-admin-content[b-d26epvmx2h]  .air-drawer-subtitle { font-size: 0.8rem; color: var(--air-text-3); margin-top: 0.1rem; }
.air-admin-content[b-d26epvmx2h]  .air-drawer-body { flex: 1 1 auto; overflow-y: auto; padding: var(--air-space-lg); }
.air-admin-content[b-d26epvmx2h]  .air-drawer-foot {
    display: flex; align-items: center; justify-content: flex-end; gap: var(--air-space-sm);
    padding: var(--air-space-md) var(--air-space-lg); border-top: 1px solid var(--air-border-soft);
}
@media (max-width: 600px) {
    .air-admin-content[b-d26epvmx2h]  .air-drawer { width: 100vw; max-width: 100vw; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-kqw482y126] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-kqw482y126] {
    flex: 1;
}

.sidebar[b-kqw482y126] {
    background-image: linear-gradient(180deg, var(--air-accent-hover) 0%, var(--air-accent) 70%);
}

.top-row[b-kqw482y126] {
    background-color: var(--air-bg);
    border-bottom: 1px solid var(--air-border);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-kqw482y126]  a, .top-row[b-kqw482y126]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-kqw482y126]  a:hover, .top-row[b-kqw482y126]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-kqw482y126]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-kqw482y126] {
        justify-content: space-between;
    }

    .top-row[b-kqw482y126]  a, .top-row[b-kqw482y126]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-kqw482y126] {
        flex-direction: row;
    }

    .sidebar[b-kqw482y126] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-kqw482y126] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-kqw482y126]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-kqw482y126], article[b-kqw482y126] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-kqw482y126] {
    color-scheme: light only;
    background: var(--air-warning-bg);
    bottom: 0;
    box-shadow: 0 -1px 2px var(--air-border-strong);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-kqw482y126] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-5htbyna3a8],
.components-reconnect-repeated-attempt-visible[b-5htbyna3a8],
.components-reconnect-failed-visible[b-5htbyna3a8],
.components-pause-visible[b-5htbyna3a8],
.components-resume-failed-visible[b-5htbyna3a8],
.components-rejoining-animation[b-5htbyna3a8] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-retrying[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-failed[b-5htbyna3a8],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-5htbyna3a8] {
    display: block;
}


#components-reconnect-modal[b-5htbyna3a8] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-5htbyna3a8 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-5htbyna3a8 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-5htbyna3a8 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-5htbyna3a8]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-5htbyna3a8 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-5htbyna3a8 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-5htbyna3a8 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-5htbyna3a8 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-5htbyna3a8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-5htbyna3a8] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-5htbyna3a8] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-5htbyna3a8] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-5htbyna3a8] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-5htbyna3a8] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-5htbyna3a8] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-5htbyna3a8 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-5htbyna3a8] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-5htbyna3a8 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/SystemSettings/PipelineComponents/DecisionHistoryView.razor.rz.scp.css */
/* Decision History (Sprint 8A) — layout + Air tokens only (0 hardcoded colours).
   Improved = success, Regressed = danger, change = info, oscillation = warning. Tints via color-mix over tokens. */

.dh-root[b-ejzz0l9izw] { display: flex; flex-direction: column; gap: var(--air-space-sm); }

/* header */
.dh-head[b-ejzz0l9izw] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; }
.dh-head-title[b-ejzz0l9izw] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.dh-head-row[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-sm); }
.dh-head-actions[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }

/* summary strip */
.dh-summary[b-ejzz0l9izw] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--air-space-sm); }
.dh-sum-card[b-ejzz0l9izw] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); border-radius: var(--air-radius-md);
    border: 1px solid var(--air-border-soft); background: var(--air-surface); border-left-width: 3px;
}
.dh-sum-label[b-ejzz0l9izw] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.dh-sum-value[b-ejzz0l9izw] { font-weight: 600; color: var(--air-text); }
.dh-up[b-ejzz0l9izw] { border-left-color: var(--air-success); }
.dh-down[b-ejzz0l9izw] { border-left-color: var(--air-danger); }
.dh-chg[b-ejzz0l9izw] { border-left-color: var(--air-info); }
.dh-flat[b-ejzz0l9izw] { border-left-color: var(--air-border-soft); }

.dh-investigate[b-ejzz0l9izw] { margin-top: var(--air-space-xs); }
.dh-inv-row[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-sm); color: var(--air-text); margin-bottom: var(--air-space-2xs); }

.dh-section-title[b-ejzz0l9izw] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }

/* decision chains */
.dh-chains[b-ejzz0l9izw] { display: flex; flex-direction: column; gap: var(--air-space-md); }
.dh-chain[b-ejzz0l9izw] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.dh-chain-head[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-sm); }
.dh-chain-dim[b-ejzz0l9izw] { font-weight: 600; color: var(--air-text); min-width: 120px; }
.dh-runs[b-ejzz0l9izw] { display: flex; gap: var(--air-space-2xs); align-items: stretch; }
.dh-run[b-ejzz0l9izw] {
    flex: 1 1 0; min-width: 44px; display: flex; align-items: center; justify-content: center;
    padding: var(--air-space-xs) var(--air-space-sm); cursor: pointer;
    border: 1px solid var(--air-border-soft); border-radius: var(--air-radius-sm);
    background: var(--air-surface); color: var(--air-text); font-size: 0.82rem; text-align: center;
}
.dh-run:hover[b-ejzz0l9izw] { border-color: var(--air-accent); background: var(--air-surface-subtle); }
.dh-run.is-selected[b-ejzz0l9izw] { border-color: var(--air-accent); background: var(--air-accent-soft); }
.dh-run-val[b-ejzz0l9izw] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* filters + navigation */
.dh-filters[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; }
.dh-filter[b-ejzz0l9izw] { min-width: 160px; max-width: 220px; }
.dh-filter-search[b-ejzz0l9izw] { min-width: 180px; max-width: 260px; }
.dh-nav[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-2xs); }

/* events feed */
.dh-events[b-ejzz0l9izw] { display: flex; flex-direction: column; gap: var(--air-space-sm); }
.dh-events:focus-visible[b-ejzz0l9izw] { outline: 2px solid var(--air-accent); outline-offset: 2px; border-radius: var(--air-radius-md); }
.dh-event[b-ejzz0l9izw] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm) var(--air-space-md); cursor: pointer;
    border: 1px solid var(--air-border-soft); border-left-width: 3px; border-radius: var(--air-radius-md);
    background: var(--air-surface); transition: border-color 120ms ease, background 120ms ease;
}
.dh-event:hover[b-ejzz0l9izw] { border-color: var(--air-accent); background: var(--air-surface-subtle); }
.dh-event.is-selected[b-ejzz0l9izw] { background: var(--air-accent-soft); }
.dh-event.dh-up[b-ejzz0l9izw] { border-left-color: var(--air-success); }
.dh-event.dh-down[b-ejzz0l9izw] { border-left-color: var(--air-danger); }
.dh-event.dh-flat[b-ejzz0l9izw] { border-left-color: var(--air-border-soft); }
.dh-event-head[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-sm); }
.dh-event-x[b-ejzz0l9izw] { font-size: 0.72rem; font-weight: 700; color: var(--air-text-subtle); }
.dh-event-type[b-ejzz0l9izw] { font-weight: 600; color: var(--air-text); }
.dh-spacer[b-ejzz0l9izw] { flex: 1; }
.dh-event-change[b-ejzz0l9izw] { color: var(--air-text); }
.dh-arrow[b-ejzz0l9izw] { color: var(--air-text-subtle); }
.dh-event-reason[b-ejzz0l9izw] { font-size: 0.85rem; color: var(--air-text-muted); }
.dh-deps[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-2xs); flex-wrap: wrap; margin-top: var(--air-space-2xs); }
.dh-deps-label[b-ejzz0l9izw] { font-size: 0.72rem; color: var(--air-text-subtle); }
.dh-dep[b-ejzz0l9izw] {
    font-size: 0.74rem; padding: 0 var(--air-space-xs); border-radius: var(--air-radius-sm);
    border: 1px solid var(--air-border-soft); background: color-mix(in srgb, var(--air-info) 8%, var(--air-surface)); color: var(--air-text-muted);
}
.dh-event-foot[b-ejzz0l9izw] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; margin-top: var(--air-space-2xs); }
.dh-setting[b-ejzz0l9izw] { font-family: monospace; font-size: 0.72rem; color: var(--air-text-subtle); }
.dh-event-t[b-ejzz0l9izw] { font-size: 0.72rem; color: var(--air-text-muted); margin-left: auto; }

@media (max-width: 900px) {
    .dh-chain-dim[b-ejzz0l9izw] { min-width: 84px; }
}
/* /Components/Pages/SystemSettings/PipelineComponents/DocumentIntelligenceDiagnosticsPanel.razor.rz.scp.css */
.did-title[b-7jff4ie8rp] {
    font-weight: 600;
    color: var(--air-text);
    margin: var(--air-space-md) 0 var(--air-space-sm);
}

.did-title:first-child[b-7jff4ie8rp] { margin-top: 0; }
/* /Components/Pages/SystemSettings/PipelineComponents/DocumentIntelligenceOverviewPanel.razor.rz.scp.css */
/* Overview / mission control — layout only; colours from Air tokens. */

.dio-skel[b-wtdmw661ve] { margin-top: var(--air-space-sm); }

.dio-hero[b-wtdmw661ve] { display: flex; flex-direction: column; gap: var(--air-space-md); }

.dio-hero-head[b-wtdmw661ve] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--air-space-md);
    flex-wrap: wrap;
}

.dio-hero-title[b-wtdmw661ve] { font-weight: 600; font-size: 1.15rem; color: var(--air-text); }

.dio-hero-facts[b-wtdmw661ve] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: var(--air-space-md);
}

.dio-fact[b-wtdmw661ve] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.dio-fact-label[b-wtdmw661ve] { font-size: 0.75rem; color: var(--air-text-subtle); }

.dio-section-head[b-wtdmw661ve] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: var(--air-space-lg) 0 var(--air-space-sm);
}

.dio-section-title[b-wtdmw661ve] { font-weight: 600; color: var(--air-text); }

.dio-row[b-wtdmw661ve] { cursor: pointer; }
.dio-row:hover[b-wtdmw661ve] { background: var(--air-surface-subtle); }
.dio-prov-name[b-wtdmw661ve] { font-weight: 500; color: var(--air-text); }

.dio-feed[b-wtdmw661ve] { display: flex; flex-direction: column; gap: var(--air-space-sm); }

.dio-feed-item[b-wtdmw661ve] {
    display: flex;
    align-items: flex-start;
    gap: var(--air-space-sm);
}

.dio-feed-icon[b-wtdmw661ve] { color: var(--air-text-muted); margin-top: 2px; }
.dio-feed-title[b-wtdmw661ve] { font-weight: 500; color: var(--air-text); }
/* /Components/Pages/SystemSettings/PipelineComponents/DocumentIntelligenceTelemetryPanel.razor.rz.scp.css */
.dio-tel-title[b-qlt8fs091i] {
    font-weight: 600;
    color: var(--air-text);
    margin: var(--air-space-lg) 0 var(--air-space-sm);
}
/* /Components/Pages/SystemSettings/PipelineComponents/DocumentRetrievalPipelinePanel.razor.rz.scp.css */
.di-toolbar[b-e3yzaelkuf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--air-space-sm);
    margin-bottom: var(--air-space-md);
}

.di-toolbar-actions[b-e3yzaelkuf] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
}
/* /Components/Pages/SystemSettings/PipelineComponents/DocumentRetrievalProvidersPanel.razor.rz.scp.css */
/* Provider Dashboard — layout only; all colours come from Air tokens (CI gate: 0 hardcoded colours). */

.prov-toolbar[b-dc4mr6l2g4] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--air-space-md);
    margin-bottom: var(--air-space-lg);
}

.prov-toolbar-title[b-dc4mr6l2g4] {
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--air-text);
    margin-bottom: var(--air-space-2xs);
}

.prov-toolbar-actions[b-dc4mr6l2g4] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
}

/* Card body wrapper (scoped): controls layout + left-alignment inside the selectable card button. */
.prov-card-body[b-dc4mr6l2g4] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-sm);
    text-align: left;
    width: 100%;
}

.prov-skel-row[b-dc4mr6l2g4] {
    display: flex;
    gap: var(--air-space-sm);
}

.prov-card-head[b-dc4mr6l2g4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-sm);
}

.prov-card-title[b-dc4mr6l2g4] {
    font-weight: 600;
    color: var(--air-text);
}

.prov-card-tags[b-dc4mr6l2g4] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--air-space-xs);
}

.prov-card-desc[b-dc4mr6l2g4] {
    font-size: 0.85rem;
    color: var(--air-text-muted);
    line-height: 1.4;
}

.prov-card-kpis[b-dc4mr6l2g4] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--air-space-sm);
    padding-top: var(--air-space-xs);
    border-top: 1px solid var(--air-border-soft);
}

.prov-kpi[b-dc4mr6l2g4] {
    display: flex;
    flex-direction: column;
}

.prov-kpi-v[b-dc4mr6l2g4] {
    font-weight: 600;
    color: var(--air-text);
}

.prov-kpi-l[b-dc4mr6l2g4] {
    font-size: 0.72rem;
    color: var(--air-text-subtle);
}

.prov-card-foot[b-dc4mr6l2g4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-sm);
    padding-top: var(--air-space-xs);
}

/* ── Drawer detail ─────────────────────────────────────────────────────────── */

.prov-reason[b-dc4mr6l2g4],
.prov-graph-health[b-dc4mr6l2g4] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    margin-top: var(--air-space-md);
}

.prov-group-title[b-dc4mr6l2g4] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--air-text);
    margin: var(--air-space-md) 0 var(--air-space-sm);
}

.prov-cap[b-dc4mr6l2g4] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-2xs);
    padding: var(--air-space-sm) 0;
    border-bottom: 1px solid var(--air-border-soft);
}

.prov-cap-head[b-dc4mr6l2g4] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
}

.prov-cap-name[b-dc4mr6l2g4] {
    font-weight: 500;
    color: var(--air-text);
}

.prov-chips[b-dc4mr6l2g4] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--air-space-xs);
    margin-top: var(--air-space-2xs);
}

.prov-diag[b-dc4mr6l2g4] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    padding: var(--air-space-sm) 0;
    border-bottom: 1px solid var(--air-border-soft);
}

@media (max-width: 480px) {
    .prov-card-kpis[b-dc4mr6l2g4] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/Pages/SystemSettings/PipelineComponents/ExecutionCompareView.razor.rz.scp.css */
/* Execution Compare (Sprint 7E) — layout + Air tokens only (0 hardcoded colours).
   Green = förbättrat, röd = försämrat, grå = oförändrat. Tints via color-mix over tokens (no literals). */

.ec-root[b-cmytjxc9fk] { display: flex; flex-direction: column; gap: var(--air-space-sm); }

/* header */
.ec-head[b-cmytjxc9fk] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; }
.ec-head-title[b-cmytjxc9fk] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.ec-head-actions[b-cmytjxc9fk] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }

/* A vs B refs */
.ec-refs[b-cmytjxc9fk] { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--air-space-md); }
.ec-refs-arrow[b-cmytjxc9fk] { font-size: 1.4rem; color: var(--air-text-subtle); text-align: center; }
.ec-ref[b-cmytjxc9fk] { display: flex; flex-direction: column; gap: var(--air-space-2xs); position: relative; }
.ec-ref-tag[b-cmytjxc9fk] {
    position: absolute; top: var(--air-space-sm); right: var(--air-space-sm);
    font-weight: 700; font-size: 0.72rem; color: var(--air-text-subtle);
    border: 1px solid var(--air-border-soft); border-radius: var(--air-radius-sm);
    padding: 0 var(--air-space-xs);
}
.ec-ref-model[b-cmytjxc9fk] { font-weight: 600; font-size: 1.05rem; color: var(--air-text); }
.ec-ref-facts[b-cmytjxc9fk] { display: flex; flex-wrap: wrap; gap: var(--air-space-sm); font-size: 0.78rem; color: var(--air-text-muted); margin-top: var(--air-space-2xs); }

/* summary strip */
.ec-summary[b-cmytjxc9fk] { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: var(--air-space-sm); margin-top: var(--air-space-xs); }
.ec-sum-card[b-cmytjxc9fk] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); border-radius: var(--air-radius-md);
    border: 1px solid var(--air-border-soft); background: var(--air-surface);
    border-left-width: 3px;
}
.ec-sum-label[b-cmytjxc9fk] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.ec-sum-delta[b-cmytjxc9fk] { font-weight: 600; color: var(--air-text); }
.ec-up[b-cmytjxc9fk]   { border-left-color: var(--air-success); background: color-mix(in srgb, var(--air-success) 8%, var(--air-surface)); }
.ec-down[b-cmytjxc9fk] { border-left-color: var(--air-danger);  background: color-mix(in srgb, var(--air-danger) 8%, var(--air-surface)); }
.ec-chg[b-cmytjxc9fk]  { border-left-color: var(--air-info);     background: color-mix(in srgb, var(--air-info) 8%, var(--air-surface)); }
.ec-flat[b-cmytjxc9fk] { border-left-color: var(--air-border-soft); }

/* root cause */
.ec-rootcause[b-cmytjxc9fk] { margin-top: var(--air-space-xs); }
.ec-rc-primary[b-cmytjxc9fk] { font-weight: 600; color: var(--air-text); margin-bottom: var(--air-space-xs); }
.ec-rc-chain[b-cmytjxc9fk] { margin: 0 0 var(--air-space-xs); padding-left: var(--air-space-lg); color: var(--air-text-muted); display: flex; flex-direction: column; gap: var(--air-space-2xs); }

/* filters */
.ec-filters[b-cmytjxc9fk] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; margin-top: var(--air-space-sm); }
.ec-filter-search[b-cmytjxc9fk] { min-width: 200px; max-width: 320px; }

/* diff sections */
.ec-section-title[b-cmytjxc9fk] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }
.ec-mono[b-cmytjxc9fk] { font-family: monospace; font-size: 0.72rem; color: var(--air-text-subtle); }
.ec-reason[b-cmytjxc9fk] { font-size: 0.76rem; color: var(--air-text-muted); margin-top: var(--air-space-2xs); }
.ec-field-list[b-cmytjxc9fk] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.ec-field[b-cmytjxc9fk] { display: flex; align-items: center; gap: var(--air-space-xs); font-size: 0.82rem; color: var(--air-text); }

/* synchronized timelines */
.ec-timelines[b-cmytjxc9fk] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--air-space-lg); }
.ec-timeline[b-cmytjxc9fk] { display: flex; flex-direction: column; gap: var(--air-space-xs); }

@media (max-width: 900px) {
    .ec-refs[b-cmytjxc9fk] { grid-template-columns: 1fr; }
    .ec-refs-arrow[b-cmytjxc9fk] { transform: rotate(90deg); }
    .ec-timelines[b-cmytjxc9fk] { grid-template-columns: 1fr; }
}
/* /Components/Pages/SystemSettings/PipelineComponents/ExecutionHistoryView.razor.rz.scp.css */
/* Execution History (Sprint 7F) — layout + Air tokens only (0 hardcoded colours).
   Health up = success, mid = warning, down = danger; change = info. Tints via color-mix over tokens. */

.eh-root[b-i488ageo1z] { display: flex; flex-direction: column; gap: var(--air-space-sm); }

/* header */
.eh-head[b-i488ageo1z] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; }
.eh-head-title[b-i488ageo1z] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.eh-head-row[b-i488ageo1z] { display: flex; align-items: center; gap: var(--air-space-sm); }
.eh-head-actions[b-i488ageo1z] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }

/* summary strip */
.eh-summary[b-i488ageo1z] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--air-space-sm); }
.eh-sum-card[b-i488ageo1z] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); border-radius: var(--air-radius-md);
    border: 1px solid var(--air-border-soft); background: var(--air-surface); border-left-width: 3px;
}
.eh-sum-label[b-i488ageo1z] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.eh-sum-value[b-i488ageo1z] { font-weight: 600; color: var(--air-text); }

.eh-up[b-i488ageo1z]   { border-left-color: var(--air-success); }
.eh-mid[b-i488ageo1z]  { border-left-color: var(--air-warning); }
.eh-down[b-i488ageo1z] { border-left-color: var(--air-danger); }
.eh-chg[b-i488ageo1z]  { border-left-color: var(--air-info); }
.eh-flat[b-i488ageo1z] { border-left-color: var(--air-border-soft); }

/* filters */
.eh-filters[b-i488ageo1z] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; }
.eh-filter[b-i488ageo1z] { min-width: 160px; max-width: 220px; }
.eh-filter-search[b-i488ageo1z] { min-width: 180px; max-width: 260px; }

.eh-section-title[b-i488ageo1z] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }

/* chain rail */
.eh-navbar[b-i488ageo1z] { display: flex; align-items: stretch; gap: var(--air-space-xs); }
.eh-rail[b-i488ageo1z] {
    display: flex; gap: var(--air-space-sm); overflow-x: auto; padding: var(--air-space-2xs);
    flex: 1; scroll-behavior: smooth; border-radius: var(--air-radius-md);
}
.eh-rail:focus-visible[b-i488ageo1z] { outline: 2px solid var(--air-accent); outline-offset: 2px; }
.eh-node[b-i488ageo1z] {
    flex: 0 0 auto; min-width: 128px; display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); text-align: left; cursor: pointer; color: var(--air-text);
    border: 1px solid var(--air-border-soft); border-left-width: 3px; border-radius: var(--air-radius-md);
    background: var(--air-surface); transition: border-color 120ms ease, background 120ms ease;
}
.eh-node:hover[b-i488ageo1z] { border-color: var(--air-accent); background: var(--air-surface-subtle); }
.eh-node.is-selected[b-i488ageo1z] { border-color: var(--air-accent); background: var(--air-accent-soft); }
.eh-node.eh-up[b-i488ageo1z] { border-left-color: var(--air-success); }
.eh-node.eh-mid[b-i488ageo1z] { border-left-color: var(--air-warning); }
.eh-node.eh-down[b-i488ageo1z] { border-left-color: var(--air-danger); }
.eh-node-idx[b-i488ageo1z] { font-size: 0.72rem; font-weight: 700; color: var(--air-text-subtle); }
.eh-node-model[b-i488ageo1z] { font-weight: 600; }
.eh-node-meta[b-i488ageo1z] { font-size: 0.72rem; color: var(--air-text-muted); }
.eh-node-badges[b-i488ageo1z] { display: flex; align-items: center; gap: var(--air-space-2xs); margin-top: var(--air-space-2xs); }
.eh-dot[b-i488ageo1z] { width: 0.6rem; height: 0.6rem; border-radius: 50%; display: inline-block; }
.eh-dot.eh-up[b-i488ageo1z] { background: var(--air-success); }
.eh-dot.eh-mid[b-i488ageo1z] { background: var(--air-warning); }
.eh-dot.eh-down[b-i488ageo1z] { background: var(--air-danger); }
.eh-flag[b-i488ageo1z] { font-size: 0.78rem; color: var(--air-text-muted); }

/* minimap */
.eh-minimap[b-i488ageo1z] { display: flex; gap: var(--air-space-2xs); flex-wrap: wrap; }
.eh-mini[b-i488ageo1z] { width: 0.75rem; height: 0.4rem; border-radius: var(--air-radius-sm); cursor: pointer; background: var(--air-border-soft); }
.eh-mini.eh-up[b-i488ageo1z] { background: var(--air-success); }
.eh-mini.eh-mid[b-i488ageo1z] { background: var(--air-warning); }
.eh-mini.eh-down[b-i488ageo1z] { background: var(--air-danger); }
.eh-mini.is-selected[b-i488ageo1z] { outline: 2px solid var(--air-accent); outline-offset: 1px; }

/* provider sequence */
.eh-seq[b-i488ageo1z] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }
.eh-seq-item[b-i488ageo1z] {
    padding: var(--air-space-2xs) var(--air-space-sm); border-radius: var(--air-radius-sm); cursor: pointer;
    border: 1px solid var(--air-border-soft); background: var(--air-surface); color: var(--air-text); font-size: 0.85rem;
}
.eh-seq-item.is-changed[b-i488ageo1z] { border-color: var(--air-info); background: color-mix(in srgb, var(--air-info) 10%, var(--air-surface)); }
.eh-seq-arrow[b-i488ageo1z] { color: var(--air-text-subtle); }
.eh-seq-arrow.is-changed[b-i488ageo1z] { color: var(--air-info); font-weight: 700; }

/* bar charts (health / context) */
.eh-bars[b-i488ageo1z] { display: flex; align-items: flex-end; gap: var(--air-space-sm); height: 140px; padding-top: var(--air-space-sm); }
.eh-bar-col[b-i488ageo1z] { display: flex; flex-direction: column; align-items: center; gap: var(--air-space-2xs); cursor: pointer; height: 100%; justify-content: flex-end; }
.eh-bar-track[b-i488ageo1z] { display: flex; align-items: flex-end; height: 100%; width: 1.6rem; background: var(--air-surface-subtle); border-radius: var(--air-radius-sm); overflow: hidden; }
.eh-bar-fill[b-i488ageo1z] { width: 100%; border-radius: var(--air-radius-sm) var(--air-radius-sm) 0 0; transition: height 160ms ease; }
.eh-bar-fill.eh-up[b-i488ageo1z] { background: var(--air-success); }
.eh-bar-fill.eh-mid[b-i488ageo1z] { background: var(--air-warning); }
.eh-bar-fill.eh-down[b-i488ageo1z] { background: var(--air-danger); }
.eh-bar-fill.eh-ctx[b-i488ageo1z] { background: var(--air-accent); }
.eh-bar-x[b-i488ageo1z] { font-size: 0.68rem; color: var(--air-text-subtle); }
.eh-bar-x.is-selected[b-i488ageo1z] { color: var(--air-accent); font-weight: 700; }

/* decision table */
.eh-changed[b-i488ageo1z] { color: var(--air-info); font-weight: 600; }
.eh-tr-selected[b-i488ageo1z] { background: var(--air-accent-soft); }

/* configuration timeline */
.eh-config[b-i488ageo1z] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.eh-config-row[b-i488ageo1z] {
    display: grid; grid-template-columns: auto 1fr auto auto; gap: var(--air-space-md); align-items: center;
    padding: var(--air-space-xs) var(--air-space-sm); border-radius: var(--air-radius-sm);
    border: 1px solid var(--air-border-soft); background: var(--air-surface); cursor: pointer;
}
.eh-config-row.is-change[b-i488ageo1z] { border-left: 3px solid var(--air-info); }
.eh-config-x[b-i488ageo1z] { font-size: 0.72rem; font-weight: 700; color: var(--air-text-subtle); }
.eh-config-field[b-i488ageo1z] { color: var(--air-text); }
.eh-config-val[b-i488ageo1z] { font-weight: 600; color: var(--air-text); }
.eh-config-t[b-i488ageo1z] { font-size: 0.72rem; color: var(--air-text-muted); }

@media (max-width: 900px) {
    .eh-node[b-i488ageo1z] { min-width: 108px; }
}
/* /Components/Pages/SystemSettings/PipelineComponents/ExecutionIntelligenceView.razor.rz.scp.css */
/* Execution Intelligence — layout + Air tokens only. */

.ei-health[b-adckg62d4k], .ei-budget[b-adckg62d4k], .ei-fidelity[b-adckg62d4k] { display: flex; flex-direction: column; gap: var(--air-space-xs); }
.ei-health-head[b-adckg62d4k] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-sm); }
.ei-score[b-adckg62d4k] { font-weight: 700; font-size: 2rem; color: var(--air-text); line-height: 1; }
.ei-score-unit[b-adckg62d4k] { font-size: 1rem; color: var(--air-text-subtle); margin-left: 2px; }
.ei-reasons[b-adckg62d4k] { display: flex; flex-wrap: wrap; gap: var(--air-space-2xs); }

.ei-budget-val[b-adckg62d4k] { display: flex; align-items: baseline; gap: var(--air-space-2xs); }
.ei-budget-total[b-adckg62d4k] { font-weight: 600; color: var(--air-text); font-size: 1.1rem; }
.ei-budget-track[b-adckg62d4k] { height: 8px; border-radius: var(--air-radius-sm); background: var(--air-surface-subtle); overflow: hidden; }
.ei-budget-fill[b-adckg62d4k] { height: 100%; border-radius: var(--air-radius-sm); transition: width 0.3s ease; }
.ei-budget-fill.is-ok[b-adckg62d4k] { background: var(--air-success); }
.ei-budget-fill.is-over[b-adckg62d4k] { background: var(--air-danger); }

.ei-title[b-adckg62d4k] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }

/* Flame graph */
.ei-flame[b-adckg62d4k] {
    display: flex;
    height: 34px;
    border-radius: var(--air-radius-sm);
    overflow: hidden;
    gap: 1px;
    margin-bottom: var(--air-space-sm);
}
.ei-flame-seg[b-adckg62d4k] {
    flex: 1 1 0;
    min-width: 2.2rem;
    display: flex;
    align-items: center;
    padding: 0 var(--air-space-2xs);
    background: var(--air-accent-soft);
    color: var(--air-accent-text);
    overflow: hidden;
    cursor: default;
}
.ei-flame-seg.is-hot[b-adckg62d4k] { background: var(--air-warning-bg); color: var(--air-warning-text); }
.ei-flame-label[b-adckg62d4k] { font-size: 0.68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ei-hot-row[b-adckg62d4k] { background: var(--air-warning-bg); }

@media (prefers-reduced-motion: reduce) {
    .ei-budget-fill[b-adckg62d4k] { transition: none; }
}

/* Interactive cards + factor breakdown (Sprint 7D.1) */
.ei-card-btn[b-adckg62d4k] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    width: 100%; text-align: left; border: none; background: none; cursor: pointer;
    color: inherit; padding: 0;
}
.ei-factors[b-adckg62d4k] { display: flex; flex-direction: column; gap: var(--air-space-sm); margin-top: var(--air-space-sm); }
.ei-factor[b-adckg62d4k] { display: flex; flex-direction: column; gap: 2px; padding-top: var(--air-space-xs); border-top: 1px solid var(--air-border-soft); }
.ei-factor-top[b-adckg62d4k] { display: flex; align-items: center; gap: var(--air-space-sm); }
.ei-factor-label[b-adckg62d4k] { font-weight: 500; color: var(--air-text); flex: 1 1 auto; }
.ei-factor-delta[b-adckg62d4k] { font-weight: 700; color: var(--air-danger); }

/* Flame segments are buttons now — reset + rich hover card */
.ei-flame-seg[b-adckg62d4k] { border: none; cursor: pointer; position: relative; font: inherit; }
.ei-flame-hover[b-adckg62d4k] {
    display: none; position: absolute; left: 0; top: 100%; z-index: 20;
    min-width: 15rem; max-width: 22rem; flex-direction: column; gap: 2px; text-align: left;
    padding: var(--air-space-sm); border: 1px solid var(--air-border); border-radius: var(--air-radius-md);
    background: var(--air-surface-floating); box-shadow: 0 6px 20px var(--air-accent-soft); color: var(--air-text);
}
.ei-flame-seg:hover .ei-flame-hover[b-adckg62d4k], .ei-flame-seg:focus-visible .ei-flame-hover[b-adckg62d4k] { display: flex; }
.ei-hover-head[b-adckg62d4k] { font-size: 0.82rem; }
.ei-hover-row[b-adckg62d4k] { font-size: 0.76rem; color: var(--air-text-muted); }
.ei-hover-warn[b-adckg62d4k] { font-size: 0.76rem; color: var(--air-warning-text); }

.ei-cp-row[b-adckg62d4k] { cursor: pointer; }
.ei-cp-row:hover[b-adckg62d4k] { background: var(--air-surface-subtle); }
/* /Components/Pages/SystemSettings/PipelineComponents/MissionControlView.razor.rz.scp.css */
/* InfinityAI Mission Control (Sprint 8E) — operations cockpit. Air tokens only (0 hardcoded colours). */

.mc-toolbar[b-muvnvulurc] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; margin-bottom: var(--air-space-md); }
.mc-toolbar-actions[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }

.mc-root[b-muvnvulurc] { display: flex; flex-direction: column; gap: var(--air-space-md); }

/* hero */
.mc-hero[b-muvnvulurc] { border-top: 4px solid var(--air-border-soft); display: flex; flex-direction: column; gap: var(--air-space-md); }
.mc-hero.mc-health-healthy[b-muvnvulurc] { border-top-color: var(--air-success); }
.mc-hero.mc-health-degraded[b-muvnvulurc] { border-top-color: var(--air-warning); }
.mc-hero.mc-health-attentionrequired[b-muvnvulurc] { border-top-color: var(--air-warning); }
.mc-hero.mc-health-critical[b-muvnvulurc] { border-top-color: var(--air-danger); }
.mc-hero-main[b-muvnvulurc] { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--air-space-md); flex-wrap: wrap; }
.mc-hero-status[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-md); }
.mc-hero-dot[b-muvnvulurc] { width: 1rem; height: 1rem; border-radius: 50%; background: var(--air-border-soft); flex-shrink: 0; }
.mc-hero-dot.mc-health-healthy[b-muvnvulurc] { background: var(--air-success); }
.mc-hero-dot.mc-health-degraded[b-muvnvulurc], .mc-hero-dot.mc-health-attentionrequired[b-muvnvulurc] { background: var(--air-warning); }
.mc-hero-dot.mc-health-critical[b-muvnvulurc] { background: var(--air-danger); }
.mc-hero-title[b-muvnvulurc] { font-size: 1.4rem; font-weight: 700; color: var(--air-text); }
.mc-hero-risk[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }
.mc-hero-facts[b-muvnvulurc] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--air-space-md); }
.mc-hero-fact[b-muvnvulurc] { display: flex; flex-direction: column; }
.mc-hero-fact-v[b-muvnvulurc] { font-weight: 600; color: var(--air-text); }
.mc-hero-fact-l[b-muvnvulurc] { font-size: 0.72rem; color: var(--air-text-subtle); }

/* panels grid */
.mc-grid[b-muvnvulurc] { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: var(--air-space-md); }
.mc-panel[b-muvnvulurc] { display: flex; flex-direction: column; }
.mc-investigate[b-muvnvulurc] { grid-column: 1 / -1; }

/* severity accents (shared) */
.mc-sev-critical[b-muvnvulurc] { border-left-color: var(--air-danger); }
.mc-sev-major[b-muvnvulurc] { border-left-color: var(--air-danger); }
.mc-sev-warning[b-muvnvulurc] { border-left-color: var(--air-warning); }
.mc-sev-notice[b-muvnvulurc] { border-left-color: var(--air-info); }
.mc-sev-information[b-muvnvulurc] { border-left-color: var(--air-border-soft); }

/* investigate next */
.mc-inv-item[b-muvnvulurc] {
    display: flex; align-items: flex-start; gap: var(--air-space-sm); cursor: pointer;
    padding: var(--air-space-sm); border-left: 3px solid var(--air-border-soft); border-radius: var(--air-radius-sm);
    margin-bottom: var(--air-space-2xs);
}
.mc-inv-item:hover[b-muvnvulurc] { background: var(--air-surface-subtle); }
.mc-inv-prio[b-muvnvulurc] { font-weight: 700; color: var(--air-accent); min-width: 1.2rem; }
.mc-inv-body[b-muvnvulurc] { flex: 1; display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.mc-inv-head[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-sm); }
.mc-inv-title[b-muvnvulurc] { font-weight: 600; color: var(--air-text); }
.mc-inv-reason[b-muvnvulurc] { font-size: 0.85rem; color: var(--air-text-muted); }
.mc-inv-evidence[b-muvnvulurc] { font-size: 0.74rem; color: var(--air-text-subtle); }

/* metrics */
.mc-metrics[b-muvnvulurc] { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--air-space-sm); }
.mc-metric[b-muvnvulurc] { display: flex; flex-direction: column; }
.mc-metric-v[b-muvnvulurc] { font-weight: 700; font-size: 1.1rem; color: var(--air-text); }
.mc-metric-l[b-muvnvulurc] { font-size: 0.7rem; color: var(--air-text-subtle); }
.mc-risk-factors[b-muvnvulurc] { margin-top: var(--air-space-sm); font-size: 0.76rem; color: var(--air-text-muted); }

/* incidents */
.mc-incident[b-muvnvulurc] { border-left: 3px solid var(--air-border-soft); padding: var(--air-space-xs) var(--air-space-sm); margin-bottom: var(--air-space-xs); }
.mc-incident-head[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.mc-incident-title[b-muvnvulurc] { font-weight: 600; color: var(--air-text); flex: 1; }
.mc-incident-time[b-muvnvulurc] { font-size: 0.72rem; color: var(--air-text-muted); }
.mc-incident-what[b-muvnvulurc] { font-size: 0.85rem; color: var(--air-text-muted); margin-top: var(--air-space-2xs); }
.mc-incident-inv[b-muvnvulurc] { font-size: 0.8rem; color: var(--air-text-subtle); }

/* providers */
.mc-providers[b-muvnvulurc] { display: flex; flex-direction: column; gap: var(--air-space-xs); }
.mc-prov[b-muvnvulurc] { border-left: 3px solid var(--air-border-soft); padding: var(--air-space-xs) var(--air-space-sm); border-radius: var(--air-radius-sm); }
.mc-prov.mc-stab-improving[b-muvnvulurc], .mc-prov.mc-stab-stable[b-muvnvulurc] { border-left-color: var(--air-success); }
.mc-prov.mc-stab-degrading[b-muvnvulurc] { border-left-color: var(--air-danger); }
.mc-prov.mc-stab-oscillating[b-muvnvulurc] { border-left-color: var(--air-warning); }
.mc-prov.mc-stab-recovering[b-muvnvulurc] { border-left-color: var(--air-accent); }
.mc-prov-head[b-muvnvulurc] { display: flex; align-items: center; justify-content: space-between; }
.mc-prov-name[b-muvnvulurc] { font-weight: 600; color: var(--air-text); }
.mc-prov-qe[b-muvnvulurc] { font-weight: 700; color: var(--air-accent); }
.mc-prov-sub[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; font-size: 0.78rem; color: var(--air-text-muted); margin-top: var(--air-space-2xs); }

/* recommendations */
.mc-reco[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; padding: var(--air-space-2xs) 0; cursor: pointer; }
.mc-reco-target[b-muvnvulurc] { font-weight: 600; color: var(--air-text); }
.mc-reco-reason[b-muvnvulurc] { font-size: 0.8rem; color: var(--air-text-muted); flex: 1; }

/* timeline preview */
.mc-tl[b-muvnvulurc] { display: flex; align-items: center; gap: var(--air-space-sm); padding: var(--air-space-2xs) var(--air-space-sm); border-left: 3px solid var(--air-border-soft); cursor: pointer; }
.mc-tl:hover[b-muvnvulurc] { background: var(--air-surface-subtle); }
.mc-tl-time[b-muvnvulurc] { font-family: monospace; font-size: 0.72rem; color: var(--air-text-subtle); }
.mc-tl-summary[b-muvnvulurc] { font-size: 0.85rem; color: var(--air-text); }

/* launchpad */
.mc-launchpad[b-muvnvulurc] { display: flex; flex-wrap: wrap; gap: var(--air-space-sm); padding-top: var(--air-space-sm); border-top: 1px solid var(--air-border-soft); }
/* /Components/Pages/SystemSettings/PipelineComponents/OperationsTimelineView.razor.rz.scp.css */
/* AI Operations Timeline (Sprint 8D) — layout + Air tokens only (0 hardcoded colours). Tints via color-mix. */

.ot-toolbar[b-mvbjigj9l9] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; margin-bottom: var(--air-space-md); }
.ot-toolbar-actions[b-mvbjigj9l9] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }

.ot-root[b-mvbjigj9l9] { display: flex; flex-direction: column; gap: var(--air-space-sm); }
.ot-section-title[b-mvbjigj9l9] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }

/* summary */
.ot-summary[b-mvbjigj9l9] { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--air-space-sm); }
.ot-sum-card[b-mvbjigj9l9] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); border-radius: var(--air-radius-md);
    border: 1px solid var(--air-border-soft); background: var(--air-surface); border-left-width: 3px;
}
.ot-sum-label[b-mvbjigj9l9] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.ot-sum-value[b-mvbjigj9l9] { font-weight: 600; color: var(--air-text); }
.ot-up[b-mvbjigj9l9] { border-left-color: var(--air-success); }
.ot-down[b-mvbjigj9l9] { border-left-color: var(--air-danger); }
.ot-chg[b-mvbjigj9l9] { border-left-color: var(--air-info); }
.ot-flat[b-mvbjigj9l9] { border-left-color: var(--air-border-soft); }

/* severity accents (shared) */
.ot-sev-critical[b-mvbjigj9l9] { border-left-color: var(--air-danger); }
.ot-sev-major[b-mvbjigj9l9] { border-left-color: var(--air-danger); }
.ot-sev-warning[b-mvbjigj9l9] { border-left-color: var(--air-warning); }
.ot-sev-notice[b-mvbjigj9l9] { border-left-color: var(--air-info); }
.ot-sev-information[b-mvbjigj9l9] { border-left-color: var(--air-border-soft); }

/* incidents */
.ot-incidents[b-mvbjigj9l9] { display: flex; flex-direction: column; gap: var(--air-space-sm); }
.ot-incident[b-mvbjigj9l9] { border-left: 4px solid var(--air-border-soft); }
.ot-incident-head[b-mvbjigj9l9] { display: flex; align-items: center; gap: var(--air-space-sm); cursor: pointer; }
.ot-incident-title[b-mvbjigj9l9] { font-weight: 600; color: var(--air-text); flex: 1; }
.ot-incident-time[b-mvbjigj9l9] { font-size: 0.76rem; color: var(--air-text-muted); }
.ot-story[b-mvbjigj9l9] { display: flex; flex-direction: column; gap: var(--air-space-2xs); margin-top: var(--air-space-xs); font-size: 0.85rem; color: var(--air-text-muted); }
.ot-story-k[b-mvbjigj9l9] { color: var(--air-text-subtle); font-weight: 600; }
.ot-incident-members[b-mvbjigj9l9] { display: flex; flex-direction: column; gap: var(--air-space-2xs); margin-top: var(--air-space-sm); }
.ot-member[b-mvbjigj9l9] { display: flex; align-items: center; gap: var(--air-space-sm); padding: var(--air-space-2xs) var(--air-space-sm); border-left: 3px solid var(--air-border-soft); background: var(--air-surface-subtle); border-radius: var(--air-radius-sm); font-size: 0.82rem; color: var(--air-text); }
.ot-member-cat[b-mvbjigj9l9] { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); min-width: 84px; }
.ot-member-t[b-mvbjigj9l9] { margin-left: auto; font-size: 0.72rem; color: var(--air-text-muted); }

/* filters */
.ot-filters[b-mvbjigj9l9] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; }
.ot-filter[b-mvbjigj9l9] { min-width: 150px; max-width: 200px; }
.ot-filter-search[b-mvbjigj9l9] { min-width: 220px; max-width: 320px; }

/* timeline */
.ot-timeline[b-mvbjigj9l9] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.ot-timeline:focus-visible[b-mvbjigj9l9] { outline: 2px solid var(--air-accent); outline-offset: 2px; border-radius: var(--air-radius-md); }
.ot-bucket-head[b-mvbjigj9l9] {
    position: sticky; top: 0; z-index: 1;
    font-weight: 600; color: var(--air-text-subtle); font-size: 0.78rem;
    padding: var(--air-space-2xs) var(--air-space-sm); margin-top: var(--air-space-sm);
    background: var(--air-surface); border-bottom: 1px solid var(--air-border-soft);
}
.ot-event[b-mvbjigj9l9] {
    display: flex; gap: var(--air-space-sm); padding: var(--air-space-xs) var(--air-space-sm);
    border-left: 3px solid var(--air-border-soft); border-radius: var(--air-radius-sm); cursor: pointer;
}
.ot-event:hover[b-mvbjigj9l9] { background: var(--air-surface-subtle); }
.ot-event.is-selected[b-mvbjigj9l9] { background: var(--air-accent-soft); }
.ot-event-rail[b-mvbjigj9l9] { display: flex; align-items: flex-start; padding-top: 0.3rem; }
.ot-dot[b-mvbjigj9l9] { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--air-border-soft); display: inline-block; }
.ot-dot.ot-sev-critical[b-mvbjigj9l9], .ot-dot.ot-sev-major[b-mvbjigj9l9] { background: var(--air-danger); }
.ot-dot.ot-sev-warning[b-mvbjigj9l9] { background: var(--air-warning); }
.ot-dot.ot-sev-notice[b-mvbjigj9l9] { background: var(--air-info); }
.ot-event-body[b-mvbjigj9l9] { flex: 1; display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.ot-event-head[b-mvbjigj9l9] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.ot-event-time[b-mvbjigj9l9] { font-family: monospace; font-size: 0.74rem; color: var(--air-text-subtle); }
.ot-event-prov[b-mvbjigj9l9] { font-size: 0.76rem; color: var(--air-text-muted); }
.ot-event-summary[b-mvbjigj9l9] { font-weight: 600; color: var(--air-text); }
.ot-event-details[b-mvbjigj9l9] { font-size: 0.82rem; color: var(--air-text-muted); }
.ot-event-evidence[b-mvbjigj9l9] { font-size: 0.74rem; color: var(--air-text-subtle); }
.ot-event-nav[b-mvbjigj9l9] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }
.ot-nav-chip[b-mvbjigj9l9] {
    font-size: 0.72rem; padding: 0 var(--air-space-xs); border-radius: var(--air-radius-sm);
    border: 1px solid var(--air-border-soft); color: var(--air-text-muted);
}
/* /Components/Pages/SystemSettings/PipelineComponents/PipelineDiagnosticsTabPanel.razor.rz.scp.css */
.pt-toolbar[b-mfrtf55e8s] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    margin-bottom: var(--air-space-md);
}

.pt-actions[b-mfrtf55e8s] { display: flex; align-items: center; gap: var(--air-space-sm); }
/* /Components/Pages/SystemSettings/PipelineComponents/PipelineExecutionPanel.razor.rz.scp.css */
/* Prompt Execution Debugger — layout + Air tokens only (0 hardcoded colours). */

.pe-toolbar[b-ieudmglv45] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    margin-bottom: var(--air-space-md);
}

.pe-search[b-ieudmglv45] { min-width: 220px; flex: 1 1 220px; max-width: 420px; }
.pe-toolbar-actions[b-ieudmglv45] { display: flex; align-items: center; gap: var(--air-space-sm); }

.pe-row[b-ieudmglv45] { cursor: pointer; }
.pe-row:hover[b-ieudmglv45] { background: var(--air-surface-subtle); }
.pe-row.is-selected[b-ieudmglv45] { background: var(--air-accent-soft); }
.pe-row.is-compare-target:hover[b-ieudmglv45] { background: color-mix(in srgb, var(--air-info) 12%, var(--air-surface)); }
.pe-mono[b-ieudmglv45] { font-family: monospace; font-size: 0.72rem; color: var(--air-text-subtle); }

/* Trace hero */
.pe-trace[b-ieudmglv45] { display: flex; flex-direction: column; gap: var(--air-space-xs); }
.pe-hero[b-ieudmglv45] { display: flex; flex-direction: column; gap: var(--air-space-md); }
.pe-hero-head[b-ieudmglv45] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; }
.pe-hero-title[b-ieudmglv45] { font-weight: 600; font-size: 1.1rem; color: var(--air-text); }
.pe-hero-facts[b-ieudmglv45] { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: var(--air-space-md); }
.pe-fact[b-ieudmglv45] { display: flex; flex-direction: column; }
.pe-fact-v[b-ieudmglv45] { font-weight: 600; color: var(--air-text); }
.pe-fact-l[b-ieudmglv45] { font-size: 0.72rem; color: var(--air-text-subtle); }

.pe-section-title[b-ieudmglv45] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }
.pe-sub-title[b-ieudmglv45] { font-weight: 600; font-size: 0.9rem; color: var(--air-text); margin: var(--air-space-md) 0 var(--air-space-sm); }

/* Timeline */
.pe-timeline[b-ieudmglv45] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.pe-phase-label[b-ieudmglv45] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--air-text-subtle);
    margin: var(--air-space-sm) 0 var(--air-space-2xs);
}
.pe-node[b-ieudmglv45] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    width: 100%;
    text-align: left;
    padding: var(--air-space-xs) var(--air-space-sm);
    border: 1px solid var(--air-border-soft);
    border-radius: var(--air-radius-md);
    background: var(--air-surface);
    cursor: pointer;
    color: var(--air-text);
}
.pe-node:hover[b-ieudmglv45] { border-color: var(--air-accent); }
.pe-node.is-selected[b-ieudmglv45] { border-color: var(--air-accent); background: var(--air-accent-soft); }
.pe-node-glyph[b-ieudmglv45] { flex-shrink: 0; width: 1.2rem; text-align: center; font-weight: 700; }
.pe-tone-ok[b-ieudmglv45] { color: var(--air-success); }
.pe-tone-err[b-ieudmglv45] { color: var(--air-danger); }
.pe-tone-warn[b-ieudmglv45] { color: var(--air-warning); }
.pe-tone-muted[b-ieudmglv45] { color: var(--air-text-subtle); }
.pe-node-name[b-ieudmglv45] { font-weight: 500; flex-shrink: 0; }
.pe-node-summary[b-ieudmglv45] { flex: 1 1 auto; color: var(--air-text-muted); font-size: 0.82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pe-node-dur[b-ieudmglv45] { flex-shrink: 0; color: var(--air-text-subtle); font-size: 0.78rem; }

/* Composition bars */
.pe-bars[b-ieudmglv45] { display: flex; flex-direction: column; gap: var(--air-space-sm); margin-bottom: var(--air-space-sm); }
.pe-bar-row[b-ieudmglv45] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.pe-bar-head[b-ieudmglv45] { display: flex; justify-content: space-between; font-size: 0.82rem; color: var(--air-text); }
.pe-bar-val[b-ieudmglv45] { color: var(--air-text-subtle); }
.pe-bar-track[b-ieudmglv45] { height: 8px; border-radius: var(--air-radius-sm); background: var(--air-surface-subtle); overflow: hidden; }
.pe-bar-fill[b-ieudmglv45] { height: 100%; background: var(--air-accent); border-radius: var(--air-radius-sm); }

.pe-chips[b-ieudmglv45] { display: flex; flex-wrap: wrap; gap: var(--air-space-xs); margin-top: var(--air-space-2xs); }
.pe-winner[b-ieudmglv45] { background: var(--air-success-bg); }

.pe-actions[b-ieudmglv45] { display: flex; flex-wrap: wrap; gap: var(--air-space-sm); align-items: center; margin-top: var(--air-space-lg); }

/* Timeline node chips (Sprint 7A) */
.pe-node-chips[b-ieudmglv45] { display: flex; align-items: center; gap: var(--air-space-2xs); flex-shrink: 0; }
.pe-chip[b-ieudmglv45] {
    font-size: 0.68rem;
    padding: 1px var(--air-space-2xs);
    border-radius: var(--air-radius-sm);
    background: var(--air-surface-subtle);
    color: var(--air-text-muted);
    white-space: nowrap;
}
.pe-chip-accent[b-ieudmglv45] { background: var(--air-accent-soft); color: var(--air-accent-text); }
.pe-chip-warn[b-ieudmglv45] { background: var(--air-warning-bg); color: var(--air-warning-text); }

/* Explainability drawer */
.pe-drawer[b-ieudmglv45] { display: flex; flex-direction: column; }
.pe-drawer-reason[b-ieudmglv45] {
    display: flex;
    align-items: flex-start;
    gap: var(--air-space-sm);
    padding: var(--air-space-sm);
    border-radius: var(--air-radius-md);
    background: var(--air-surface-subtle);
}
.pe-decision[b-ieudmglv45] { font-weight: 600; color: var(--air-text); margin-bottom: var(--air-space-sm); }
.pe-diag[b-ieudmglv45] { padding: var(--air-space-2xs) 0; }

/* Context evolution segmented bar (Sprint 7B) */
.pe-evo[b-ieudmglv45] {
    display: flex;
    height: 30px;
    border-radius: var(--air-radius-sm);
    overflow: hidden;
    gap: 1px;
    margin-bottom: var(--air-space-xs);
}
.pe-evo-seg[b-ieudmglv45] {
    flex: 1 1 0;
    min-width: 2.5rem;
    display: flex;
    align-items: center;
    padding: 0 var(--air-space-2xs);
    background: var(--air-accent-soft);
    color: var(--air-accent-text);
    overflow: hidden;
}
.pe-evo-label[b-ieudmglv45] { font-size: 0.68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Timeline section head with replay toggle */
.pe-section-head[b-ieudmglv45] { display: flex; align-items: center; justify-content: space-between; gap: var(--air-space-sm); margin: var(--air-space-lg) 0 var(--air-space-sm); }
.pe-section-head .pe-section-title[b-ieudmglv45] { margin: 0; }
/* /Components/Pages/SystemSettings/PipelineComponents/PipelineReplayBar.razor.rz.scp.css */
/* Flight Recorder playback bar — layout + Air tokens only. */

.rp-bar[b-hfbm1kqbew] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-sm);
    padding: var(--air-space-md);
    border: 1px solid var(--air-border-soft);
    border-radius: var(--air-radius-md);
    background: var(--air-surface-subtle);
    margin-bottom: var(--air-space-md);
    outline: none;
}
.rp-bar:focus-visible[b-hfbm1kqbew] { box-shadow: 0 0 0 2px var(--air-accent-soft); }

.rp-row[b-hfbm1kqbew] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; }
.rp-controls[b-hfbm1kqbew] { display: flex; align-items: center; gap: var(--air-space-2xs); }

.rp-time[b-hfbm1kqbew] { font-family: monospace; font-size: 0.82rem; color: var(--air-text-muted); }
.rp-integrity[b-hfbm1kqbew] { display: flex; align-items: center; gap: var(--air-space-2xs); margin-left: auto; }
.rp-int-val[b-hfbm1kqbew] { color: var(--air-text); }

/* Scrubber */
.rp-scrub[b-hfbm1kqbew] { position: relative; }
.rp-track[b-hfbm1kqbew] {
    position: relative;
    height: 8px;
    border-radius: var(--air-radius-sm);
    background: var(--air-surface);
    border: 1px solid var(--air-border-soft);
    overflow: hidden;
}
.rp-fill[b-hfbm1kqbew] { height: 100%; background: var(--air-accent); border-radius: var(--air-radius-sm); transition: width 0.2s linear; }
.rp-mark[b-hfbm1kqbew] {
    position: absolute;
    top: -3px;
    width: 3px;
    height: 14px;
    border-radius: 2px;
    transform: translateX(-50%);
}
.rp-tone-err[b-hfbm1kqbew] { background: var(--air-danger); }
.rp-tone-warn[b-hfbm1kqbew] { background: var(--air-warning); }
.rp-tone-info[b-hfbm1kqbew] { background: var(--air-accent); }

.rp-range[b-hfbm1kqbew] {
    position: absolute;
    inset: -6px 0 auto 0;
    width: 100%;
    height: 20px;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.rp-foot[b-hfbm1kqbew] { justify-content: space-between; }
.rp-current[b-hfbm1kqbew] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.rp-ev[b-hfbm1kqbew] { font-size: 0.72rem; font-family: monospace; color: var(--air-text-subtle); }
.rp-cur-name[b-hfbm1kqbew] { font-weight: 600; color: var(--air-text); }
.rp-bookmarks[b-hfbm1kqbew] { display: flex; flex-wrap: wrap; gap: var(--air-space-2xs); }

.sr-only[b-hfbm1kqbew] {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

@media (max-width: 600px) {
    .rp-integrity[b-hfbm1kqbew] { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .rp-fill[b-hfbm1kqbew] { transition: none; }
}
/* /Components/Pages/SystemSettings/PipelineComponents/PipelineTelemetryTabPanel.razor.rz.scp.css */
.pt-toolbar[b-i63u4av9ys] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    margin-bottom: var(--air-space-md);
}

.pt-actions[b-i63u4av9ys] { display: flex; align-items: center; gap: var(--air-space-sm); }

/* Pipeline heatmap (Sprint 7D) */
.pt-heat-title[b-i63u4av9ys] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-2xs); }
.pt-heat[b-i63u4av9ys] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: var(--air-space-2xs);
    margin-top: var(--air-space-sm);
}
.pt-heat-cell[b-i63u4av9ys] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-xs);
    padding: var(--air-space-xs) var(--air-space-sm);
    border-radius: var(--air-radius-sm);
    font-size: 0.78rem;
}
.pt-heat-cool[b-i63u4av9ys] { background: var(--air-surface-subtle); color: var(--air-text-muted); }
.pt-heat-warm[b-i63u4av9ys] { background: var(--air-warning-bg); color: var(--air-warning-text); }
.pt-heat-hot[b-i63u4av9ys] { background: var(--air-danger-bg); color: var(--air-danger-text); }
.pt-heat-name[b-i63u4av9ys] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-heat-val[b-i63u4av9ys] { font-weight: 700; flex-shrink: 0; }
/* /Components/Pages/SystemSettings/PipelineComponents/PipelineTimeline.razor.rz.scp.css */
/* Interactive pipeline timeline — layout + Air tokens only (0 hardcoded colours). */

.tl-toolbar[b-j94zph03m1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    margin-bottom: var(--air-space-md);
}
.tl-filters[b-j94zph03m1] { display: flex; flex-wrap: wrap; gap: var(--air-space-2xs); }

.tl-body[b-j94zph03m1] { display: flex; gap: var(--air-space-md); align-items: flex-start; }

/* Minimap */
.tl-minimap[b-j94zph03m1] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: var(--air-space-xs);
    flex-shrink: 0;
}
.tl-mini[b-j94zph03m1] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid var(--air-border);
    background: var(--air-surface-subtle);
    cursor: pointer;
    padding: 0;
    transition: transform 0.12s ease;
}
.tl-mini.is-current[b-j94zph03m1] { transform: scale(1.5); border-color: var(--air-accent); }

/* Flow */
.tl-flow[b-j94zph03m1] { flex: 1 1 auto; min-width: 0; outline: none; }
.tl-flow:focus-visible[b-j94zph03m1] { box-shadow: 0 0 0 2px var(--air-accent-soft); border-radius: var(--air-radius-md); }

.tl-phase[b-j94zph03m1] {
    border: 1px solid var(--air-border-soft);
    border-radius: var(--air-radius-md);
    background: var(--air-surface);
    overflow: hidden;
    transition: opacity 0.18s ease;
}
.tl-phase.is-dimmed[b-j94zph03m1] { opacity: 0.55; }

.tl-phase-head[b-j94zph03m1] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    width: 100%;
    padding: var(--air-space-sm) var(--air-space-md);
    background: var(--air-surface-subtle);
    border: none;
    cursor: pointer;
    text-align: left;
    color: var(--air-text);
}
.tl-chevron[b-j94zph03m1] { color: var(--air-text-subtle); width: 1rem; }
.tl-phase-name[b-j94zph03m1] { font-weight: 600; }
.tl-phase-count[b-j94zph03m1] { color: var(--air-text-subtle); font-size: 0.78rem; }

.tl-state[b-j94zph03m1] { flex-shrink: 0; width: 1.1rem; text-align: center; font-weight: 700; }
.tl-tone-ok[b-j94zph03m1] { color: var(--air-success); }
.tl-tone-warn[b-j94zph03m1] { color: var(--air-warning); }
.tl-tone-err[b-j94zph03m1] { color: var(--air-danger); }
.tl-tone-muted[b-j94zph03m1] { color: var(--air-text-subtle); }

/* Duration bar */
.tl-bar[b-j94zph03m1] {
    flex: 0 0 90px;
    height: 6px;
    border-radius: var(--air-radius-sm);
    background: var(--air-surface-subtle);
    overflow: hidden;
    margin-left: auto;
}
.tl-bar-phase[b-j94zph03m1] { flex-basis: 120px; }
.tl-bar-fill[b-j94zph03m1] { display: block; height: 100%; background: var(--air-accent); border-radius: var(--air-radius-sm); transition: width 0.3s ease; }

.tl-stages[b-j94zph03m1] { display: flex; flex-direction: column; padding: var(--air-space-sm) var(--air-space-md); }
.tl-connector[b-j94zph03m1] { width: 2px; height: var(--air-space-sm); background: var(--air-border); margin-left: 1.5rem; }

.tl-stage[b-j94zph03m1] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    width: 100%;
    text-align: left;
    padding: var(--air-space-xs) var(--air-space-sm);
    border: 1px solid transparent;
    border-radius: var(--air-radius-md);
    background: var(--air-surface);
    cursor: pointer;
    color: var(--air-text);
    transition: background 0.15s ease, border-color 0.15s ease;
}
.tl-stage:hover[b-j94zph03m1] { background: var(--air-surface-subtle); }
.tl-stage.is-selected[b-j94zph03m1] { border-color: var(--air-accent); background: var(--air-accent-soft); }
.tl-stage.is-focused[b-j94zph03m1] { box-shadow: 0 0 0 2px var(--air-accent-soft); }

.tl-stage-name[b-j94zph03m1] { font-weight: 500; min-width: 8rem; }
.tl-dur[b-j94zph03m1] { color: var(--air-text-subtle); font-size: 0.76rem; flex-shrink: 0; width: 4rem; text-align: right; }

.tl-chips[b-j94zph03m1] { display: flex; flex-wrap: wrap; gap: var(--air-space-2xs); flex-basis: 100%; }
.tl-chip[b-j94zph03m1] {
    font-size: 0.68rem;
    padding: 1px var(--air-space-2xs);
    border-radius: var(--air-radius-sm);
    background: var(--air-surface-subtle);
    color: var(--air-text-muted);
    white-space: nowrap;
}
.tl-chip-accent[b-j94zph03m1] { background: var(--air-accent-soft); color: var(--air-accent-text); }

.tl-stage-detail[b-j94zph03m1] { flex-basis: 100%; padding: var(--air-space-2xs) 0 0 1.6rem; }
.tl-stage-reason[b-j94zph03m1] { font-weight: 500; color: var(--air-text); font-size: 0.82rem; }
.tl-stage-why[b-j94zph03m1] { color: var(--air-text-muted); font-size: 0.78rem; }

.tl-phase-arrow[b-j94zph03m1] { text-align: center; color: var(--air-text-subtle); padding: var(--air-space-2xs) 0; }

@media (max-width: 600px) {
    .tl-minimap[b-j94zph03m1] { display: none; }
    .tl-bar[b-j94zph03m1] { flex-basis: 60px; }
    .tl-stage-name[b-j94zph03m1] { min-width: 6rem; }
}

@media (prefers-reduced-motion: reduce) {
    .tl-bar-fill[b-j94zph03m1], .tl-phase[b-j94zph03m1], .tl-stage[b-j94zph03m1], .tl-mini[b-j94zph03m1] { transition: none; }
}

/* Replay highlight (Sprint 7C) */
.tl-stage.is-current[b-j94zph03m1] { border-color: var(--air-accent); background: var(--air-accent-soft); animation: tl-pulse-b-j94zph03m1 1.4s ease-in-out infinite; }
.tl-stage.is-future[b-j94zph03m1] { opacity: 0.5; }
.tl-stage.is-done[b-j94zph03m1] { opacity: 0.85; }
@keyframes tl-pulse-b-j94zph03m1 {
    0%, 100% { box-shadow: 0 0 0 0 var(--air-accent-soft); }
    50% { box-shadow: 0 0 0 3px var(--air-accent-soft); }
}
@media (prefers-reduced-motion: reduce) {
    .tl-stage.is-current[b-j94zph03m1] { animation: none; }
}

/* Importance chip + hover explainability card (Sprint 7D) */
.tl-chip-imp[b-j94zph03m1] { background: var(--air-warning-bg); color: var(--air-warning-text); font-weight: 600; }

.tl-stage[b-j94zph03m1] { position: relative; }
.tl-hover[b-j94zph03m1] {
    display: none;
    position: absolute;
    left: 1.6rem;
    top: 100%;
    z-index: 20;
    min-width: 16rem;
    max-width: 24rem;
    flex-direction: column;
    gap: 2px;
    padding: var(--air-space-sm);
    border: 1px solid var(--air-border);
    border-radius: var(--air-radius-md);
    background: var(--air-surface-floating);
    box-shadow: 0 6px 20px var(--air-accent-soft);
}
.tl-stage:hover .tl-hover[b-j94zph03m1],
.tl-stage:focus-visible .tl-hover[b-j94zph03m1] { display: flex; }
.tl-hover-head[b-j94zph03m1] { font-size: 0.82rem; color: var(--air-text); }
.tl-hover-row[b-j94zph03m1] { font-size: 0.76rem; color: var(--air-text-muted); }
.tl-hover-reason[b-j94zph03m1] { font-size: 0.76rem; color: var(--air-text-subtle); margin-top: var(--air-space-2xs); }
.tl-hover-warn[b-j94zph03m1] { font-size: 0.76rem; color: var(--air-warning-text); }

/* Dependency highlighting (Sprint 7D.1) — when a stage is selected, its semantic deps light up */
.tl-stage.is-dep-up[b-j94zph03m1] { box-shadow: inset 3px 0 0 var(--air-accent); }
.tl-stage.is-dep-down[b-j94zph03m1] { box-shadow: inset -3px 0 0 var(--air-warning); }
/* /Components/Pages/SystemSettings/PipelineComponents/ProviderBenchmarkView.razor.rz.scp.css */
/* AI Provider Benchmarking (Sprint 8C) — layout + Air tokens only (0 hardcoded colours). Tints via color-mix. */

.pb-toolbar[b-0tyzlrexzv] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; margin-bottom: var(--air-space-md); }
.pb-toolbar-actions[b-0tyzlrexzv] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }

.pb-root[b-0tyzlrexzv] { display: flex; flex-direction: column; gap: var(--air-space-sm); }
.pb-section-title[b-0tyzlrexzv] { font-weight: 600; color: var(--air-text); margin: var(--air-space-lg) 0 var(--air-space-sm); }

/* summary */
.pb-summary[b-0tyzlrexzv] { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--air-space-sm); }
.pb-sum-card[b-0tyzlrexzv] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); border-radius: var(--air-radius-md);
    border: 1px solid var(--air-border-soft); background: var(--air-surface); border-left-width: 3px;
}
.pb-sum-label[b-0tyzlrexzv] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.pb-sum-value[b-0tyzlrexzv] { font-weight: 600; color: var(--air-text); }
.pb-up[b-0tyzlrexzv] { border-left-color: var(--air-success); }
.pb-down[b-0tyzlrexzv] { border-left-color: var(--air-danger); }
.pb-chg[b-0tyzlrexzv] { border-left-color: var(--air-info); }
.pb-flat[b-0tyzlrexzv] { border-left-color: var(--air-border-soft); }

/* recommendations */
.pb-recos[b-0tyzlrexzv] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--air-space-sm); }
.pb-reco[b-0tyzlrexzv] { border-left: 3px solid var(--air-border-soft); }
.pb-reco-good[b-0tyzlrexzv] { border-left-color: var(--air-success); }
.pb-reco-bad[b-0tyzlrexzv] { border-left-color: var(--air-danger); }
.pb-reco-warn[b-0tyzlrexzv] { border-left-color: var(--air-warning); }
.pb-reco-info[b-0tyzlrexzv] { border-left-color: var(--air-info); }
.pb-reco-head[b-0tyzlrexzv] { display: flex; align-items: center; gap: var(--air-space-sm); }
.pb-reco-target[b-0tyzlrexzv] { font-weight: 600; color: var(--air-text); }
.pb-reco-reason[b-0tyzlrexzv] { font-size: 0.85rem; color: var(--air-text-muted); margin-top: var(--air-space-2xs); }
.pb-evidence[b-0tyzlrexzv] { font-size: 0.74rem; color: var(--air-text-subtle); margin-top: var(--air-space-2xs); }

/* provider cards */
.pb-cards[b-0tyzlrexzv] { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--air-space-md); }
.pb-card[b-0tyzlrexzv] { border-top: 3px solid var(--air-border-soft); }
.pb-stab-improving[b-0tyzlrexzv], .pb-stab-stable[b-0tyzlrexzv] { border-top-color: var(--air-success); }
.pb-stab-degrading[b-0tyzlrexzv] { border-top-color: var(--air-danger); }
.pb-stab-oscillating[b-0tyzlrexzv] { border-top-color: var(--air-warning); }
.pb-stab-recovering[b-0tyzlrexzv] { border-top-color: var(--air-accent); }
.pb-card-head[b-0tyzlrexzv] { display: flex; align-items: center; justify-content: space-between; gap: var(--air-space-sm); }
.pb-card-name[b-0tyzlrexzv] { font-weight: 600; font-size: 1.1rem; color: var(--air-text); }
.pb-qe[b-0tyzlrexzv] { font-weight: 700; font-size: 1.3rem; color: var(--air-accent); }
.pb-card-sub[b-0tyzlrexzv] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; margin: var(--air-space-2xs) 0 var(--air-space-sm); }
.pb-card-n[b-0tyzlrexzv] { font-size: 0.76rem; color: var(--air-text-muted); }
.pb-metrics[b-0tyzlrexzv] { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: var(--air-space-sm); }
.pb-metric[b-0tyzlrexzv] { display: flex; flex-direction: column; }
.pb-metric-v[b-0tyzlrexzv] { font-weight: 600; color: var(--air-text); }
.pb-metric-l[b-0tyzlrexzv] { font-size: 0.7rem; color: var(--air-text-subtle); }

/* Quality-Efficiency breakdown */
.pb-qe-breakdown[b-0tyzlrexzv] { margin-top: var(--air-space-md); display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.pb-qe-title[b-0tyzlrexzv] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.pb-qe-row[b-0tyzlrexzv] { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: var(--air-space-sm); }
.pb-qe-name[b-0tyzlrexzv] { font-size: 0.8rem; color: var(--air-text); }
.pb-qe-w[b-0tyzlrexzv] { color: var(--air-text-subtle); font-size: 0.72rem; }
.pb-qe-track[b-0tyzlrexzv] { height: 0.5rem; background: var(--air-surface-subtle); border-radius: var(--air-radius-sm); overflow: hidden; }
.pb-qe-fill[b-0tyzlrexzv] { height: 100%; background: var(--air-accent); border-radius: var(--air-radius-sm); }
.pb-qe-contrib[b-0tyzlrexzv] { font-weight: 600; font-size: 0.8rem; color: var(--air-text); min-width: 3rem; text-align: right; }

/* chips */
.pb-chips[b-0tyzlrexzv] { display: flex; flex-wrap: wrap; gap: var(--air-space-2xs); margin-top: var(--air-space-sm); }
.pb-chip[b-0tyzlrexzv] {
    font-size: 0.74rem; padding: 0 var(--air-space-xs); border-radius: var(--air-radius-sm);
    border: 1px solid var(--air-border-soft); background: var(--air-surface-subtle); color: var(--air-text-muted);
}
/* /Components/Pages/SystemSettings/PipelineComponents/ProviderDetailDrawer.razor.rz.scp.css */
/* Provider detail drawer — layout only; colours from Air tokens. */

.pdd-reason[b-a8vrbot4ac],
.pdd-graph-health[b-a8vrbot4ac] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    margin-top: var(--air-space-md);
}

.pdd-group-title[b-a8vrbot4ac] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--air-text);
    margin: var(--air-space-md) 0 var(--air-space-sm);
}

.pdd-cap[b-a8vrbot4ac] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-2xs);
    padding: var(--air-space-sm) 0;
    border-bottom: 1px solid var(--air-border-soft);
}

.pdd-cap-head[b-a8vrbot4ac] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
}

.pdd-cap-name[b-a8vrbot4ac] {
    font-weight: 500;
    color: var(--air-text);
}

.pdd-chips[b-a8vrbot4ac] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--air-space-xs);
    margin-top: var(--air-space-2xs);
}

.pdd-diag[b-a8vrbot4ac] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
    padding: var(--air-space-sm) 0;
    border-bottom: 1px solid var(--air-border-soft);
}

.pdd-foot-icon[b-a8vrbot4ac] {
    vertical-align: text-bottom;
    margin-right: var(--air-space-2xs);
}
/* /Components/Pages/SystemSettings/PipelineComponents/RegressionIntelligenceView.razor.rz.scp.css */
/* AI Regression Intelligence (Sprint 8B) — layout + Air tokens only (0 hardcoded colours).
   Severity: Critical/Major = danger, Moderate = warning, Minor = info. Tints via color-mix over tokens. */

.ri-root[b-6zor9s7okz] { display: flex; flex-direction: column; gap: var(--air-space-sm); }

/* header */
.ri-head[b-6zor9s7okz] { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--air-space-md); flex-wrap: wrap; }
.ri-head-title[b-6zor9s7okz] { display: flex; flex-direction: column; gap: var(--air-space-2xs); }
.ri-head-row[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-sm); }
.ri-head-actions[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-xs); flex-wrap: wrap; }

/* summary */
.ri-summary[b-6zor9s7okz] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--air-space-sm); }
.ri-sum-card[b-6zor9s7okz] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm); border-radius: var(--air-radius-md);
    border: 1px solid var(--air-border-soft); background: var(--air-surface); border-left-width: 3px;
}
.ri-sum-label[b-6zor9s7okz] { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--air-text-subtle); }
.ri-sum-value[b-6zor9s7okz] { font-weight: 600; color: var(--air-text); }
.ri-up[b-6zor9s7okz] { border-left-color: var(--air-success); }
.ri-down[b-6zor9s7okz] { border-left-color: var(--air-danger); }
.ri-chg[b-6zor9s7okz] { border-left-color: var(--air-info); }
.ri-flat[b-6zor9s7okz] { border-left-color: var(--air-border-soft); }

.ri-investigate[b-6zor9s7okz] { margin-top: var(--air-space-xs); }
.ri-inv-row[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-sm); color: var(--air-text); margin-bottom: var(--air-space-2xs); }

/* filters */
.ri-filters[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; }
.ri-filter[b-6zor9s7okz] { min-width: 160px; max-width: 220px; }
.ri-filter-search[b-6zor9s7okz] { min-width: 180px; max-width: 260px; }

/* regression cards */
.ri-events[b-6zor9s7okz] { display: flex; flex-direction: column; gap: var(--air-space-sm); }
.ri-events:focus-visible[b-6zor9s7okz] { outline: 2px solid var(--air-accent); outline-offset: 2px; border-radius: var(--air-radius-md); }
.ri-event[b-6zor9s7okz] {
    display: flex; flex-direction: column; gap: var(--air-space-2xs);
    padding: var(--air-space-sm) var(--air-space-md); cursor: pointer;
    border: 1px solid var(--air-border-soft); border-left-width: 4px; border-radius: var(--air-radius-md);
    background: var(--air-surface); transition: border-color 120ms ease, background 120ms ease;
}
.ri-event:hover[b-6zor9s7okz] { border-color: var(--air-accent); background: var(--air-surface-subtle); }
.ri-event.is-selected[b-6zor9s7okz] { background: var(--air-accent-soft); }
.ri-sev-critical[b-6zor9s7okz] { border-left-color: var(--air-danger); background: color-mix(in srgb, var(--air-danger) 6%, var(--air-surface)); }
.ri-sev-major[b-6zor9s7okz] { border-left-color: var(--air-danger); }
.ri-sev-moderate[b-6zor9s7okz] { border-left-color: var(--air-warning); }
.ri-sev-minor[b-6zor9s7okz] { border-left-color: var(--air-info); }
.ri-sev-info[b-6zor9s7okz] { border-left-color: var(--air-border-soft); }

.ri-event-head[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; }
.ri-event-type[b-6zor9s7okz] { font-weight: 600; color: var(--air-text); }
.ri-spacer[b-6zor9s7okz] { flex: 1; }
.ri-event-change[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-sm); flex-wrap: wrap; color: var(--air-text); }
.ri-when[b-6zor9s7okz] { font-size: 0.72rem; font-weight: 700; color: var(--air-text-subtle); }
.ri-arrow[b-6zor9s7okz] { color: var(--air-text-subtle); }
.ri-delta[b-6zor9s7okz] { color: var(--air-text-muted); font-size: 0.85rem; }
.ri-trend[b-6zor9s7okz] { color: var(--air-text-subtle); font-size: 0.8rem; }
.ri-root[b-6zor9s7okz] { font-size: 0.85rem; color: var(--air-text); }
.ri-root-label[b-6zor9s7okz] { color: var(--air-text-subtle); }
.ri-deps[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-2xs); flex-wrap: wrap; }
.ri-deps-label[b-6zor9s7okz] { font-size: 0.72rem; color: var(--air-text-subtle); }
.ri-dep[b-6zor9s7okz] {
    font-size: 0.74rem; padding: 0 var(--air-space-xs); border-radius: var(--air-radius-sm);
    border: 1px solid var(--air-border-soft); background: color-mix(in srgb, var(--air-info) 8%, var(--air-surface)); color: var(--air-text-muted);
}
.ri-event-foot[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-md); flex-wrap: wrap; font-size: 0.76rem; color: var(--air-text-muted); }
.ri-evidence[b-6zor9s7okz] { font-family: monospace; color: var(--air-text-subtle); }
.ri-reco[b-6zor9s7okz] { color: var(--air-text-muted); }
.ri-nav[b-6zor9s7okz] { display: flex; align-items: center; gap: var(--air-space-2xs); flex-wrap: wrap; }

@media (max-width: 900px) {
    .ri-event-foot[b-6zor9s7okz] { flex-direction: column; align-items: flex-start; gap: var(--air-space-2xs); }
}
/* /Components/Pages/SystemSettings/PipelineComponentsSettings.razor.rz.scp.css */
/* Phase-based pipeline map — layout only; colours from Air tokens (CI gate: 0 hardcoded colours). */

.pc-intro[b-rcxnmyy06o] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--air-space-md);
    margin-bottom: var(--air-space-md);
}

.pc-view-toggle[b-rcxnmyy06o] { flex-shrink: 0; }

/* Flow strip */
.pc-flow-strip[b-rcxnmyy06o] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--air-space-xs);
    padding: var(--air-space-sm) 0;
    margin-bottom: var(--air-space-lg);
}

.pc-flow-chip[b-rcxnmyy06o] {
    display: inline-flex;
    align-items: center;
    gap: var(--air-space-2xs);
    padding: var(--air-space-2xs) var(--air-space-sm);
    border: 1px solid var(--air-border);
    border-radius: var(--air-radius-md);
    background: var(--air-surface-subtle);
    color: var(--air-text);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 500;
    white-space: nowrap;
}

.pc-flow-chip:hover[b-rcxnmyy06o] { border-color: var(--air-accent); color: var(--air-accent-text); }

.pc-flow-count[b-rcxnmyy06o] {
    font-size: 0.72rem;
    color: var(--air-text-subtle);
    background: var(--air-surface);
    border-radius: var(--air-radius-sm);
    padding: 0 var(--air-space-2xs);
}

.pc-flow-arrow[b-rcxnmyy06o] { color: var(--air-text-subtle); }

/* Phase group */
.pc-phase[b-rcxnmyy06o] { margin-bottom: var(--air-space-lg); scroll-margin-top: var(--air-space-lg); }

.pc-phase-card[b-rcxnmyy06o] { margin-bottom: var(--air-space-sm); }

.pc-phase-head[b-rcxnmyy06o] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
    flex-wrap: wrap;
}

.pc-phase-icon[b-rcxnmyy06o] { color: var(--air-text-muted); }
.pc-phase-titles[b-rcxnmyy06o] { flex: 1 1 auto; min-width: 0; }
.pc-phase-title[b-rcxnmyy06o] { font-weight: 600; color: var(--air-text); }

.pc-phase-comps[b-rcxnmyy06o] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--air-space-xs);
    margin-top: var(--air-space-sm);
}

.pc-phase-panels[b-rcxnmyy06o] { margin-left: var(--air-space-sm); }

/* Component row */
.pc-badges[b-rcxnmyy06o] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--air-space-xs);
    align-items: center;
}

.pc-flow-num[b-rcxnmyy06o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    border-radius: var(--air-radius-sm);
    background: var(--air-surface-subtle);
    color: var(--air-text-muted);
    font-size: 0.72rem;
    font-weight: 600;
}

/* Flow view nodes */
.pc-flow-nodes[b-rcxnmyy06o] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-sm);
    margin-left: var(--air-space-sm);
}

.pc-flow-node[b-rcxnmyy06o] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-2xs);
    padding: var(--air-space-sm) var(--air-space-md);
    border: 1px solid var(--air-border-soft);
    border-radius: var(--air-radius-md);
    background: var(--air-surface-subtle);
}

.pc-flow-node-head[b-rcxnmyy06o] {
    display: flex;
    align-items: center;
    gap: var(--air-space-sm);
}

.pc-flow-node-name[b-rcxnmyy06o] { font-weight: 600; color: var(--air-text); }

.pc-trace-head[b-rcxnmyy06o] { margin-bottom: var(--air-space-md); }

@media (max-width: 600px) {
    .pc-flow-strip[b-rcxnmyy06o] { flex-direction: column; align-items: stretch; }
    .pc-flow-arrow[b-rcxnmyy06o] { display: none; }
    .pc-phase-panels[b-rcxnmyy06o], .pc-flow-nodes[b-rcxnmyy06o] { margin-left: 0; }
}
/* /Components/Pages/UserSettings/UserDashboard.razor.rz.scp.css */
/* Usage breakdown — the two tables stack full-width. The settings content is capped at 1100px
   (.air-container), which is too narrow to fit both tables side by side without a tiny horizontal
   scrollbar; full-width stacking is robust (no scroll even with large token counts) and keeps both
   readable. */
.breakdown[b-ius0fln6tn] {
    display: grid;
    gap: var(--air-space-md);
    grid-template-columns: 1fr;
}

/* AI-profil card body (no separate heading — the page subtitle already mentions AI-profil) — profil +
   grupper. Full-width (symmetric with the KPI and table cards), so many groups have room and wrap
   naturally. Label column is fixed-width so the PROFIL and GRUPPER values line up. ::deep reaches the
   AirCaption (.air-caption) child element. */
.aiprofile[b-ius0fln6tn] {
    display: flex;
    flex-direction: column;
    gap: var(--air-space-sm);
}

.aiprofile-row[b-ius0fln6tn] {
    display: flex;
    align-items: baseline;
    gap: var(--air-space-sm);
}

.aiprofile-row[b-ius0fln6tn]  .air-caption {
    flex-shrink: 0;
    min-width: 58px;
}

.aiprofile-tags[b-ius0fln6tn] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--air-space-2xs);
}
