/* /Components/AddStepPicker.razor.rz.scp.css */
/* Add Step picker - two-group card grid (Capture & show / Flow control).
   All colors via --theme-* tokens; mobile stacks to one column. */

.asp-picker[b-3dp4hrx4ks] {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.asp-group-label[b-3dp4hrx4ks] {
    display: flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
    margin: 0.35rem 0 0.15rem;
}

.asp-group-flow[b-3dp4hrx4ks] {
    margin-top: 0.75rem;
}

.asp-grid[b-3dp4hrx4ks] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.asp-card[b-3dp4hrx4ks] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.6rem 0.75rem;
    text-align: left;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius, 0.5rem);
    background: var(--theme-surface);
    color: var(--theme-text);
    cursor: pointer;
    transition: border-color 0.12s ease, background 0.12s ease, transform 0.06s ease;
}

.asp-card:hover[b-3dp4hrx4ks] {
    border-color: var(--theme-primary);
    background: color-mix(in oklch, var(--theme-primary) 6%, var(--theme-surface));
}

.asp-card:active[b-3dp4hrx4ks] {
    transform: translateY(1px);
}

.asp-card-icon i[b-3dp4hrx4ks] {
    font-size: 1.15rem;
    color: var(--theme-primary);
}

/* "From your context" lead band — the connected entities the workflow's bound
   context can write back to. Green-tinted to match the CONNECTED chip. */
.asp-ctx-band[b-3dp4hrx4ks] {
    border: 1px solid color-mix(in oklch, var(--theme-success) 30%, var(--theme-border));
    background: var(--theme-success-muted);
    border-radius: var(--theme-radius, 0.5rem);
    padding: 0.6rem 0.7rem;
    margin: 0.25rem 0 0.85rem;
}

.asp-ctx-head[b-3dp4hrx4ks] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--theme-success);
    margin-bottom: 0.4rem;
}

.asp-ctx-name[b-3dp4hrx4ks] {
    text-transform: none;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--theme-text-secondary);
    margin-left: auto;
}

.asp-ctx-hint[b-3dp4hrx4ks] {
    font-size: 0.7rem;
    color: var(--theme-text-muted);
    margin-top: 0.3rem;
}

.asp-card-flow .asp-card-icon i[b-3dp4hrx4ks] {
    color: var(--theme-accent, var(--theme-primary));
}

.asp-card-flow:hover[b-3dp4hrx4ks] {
    border-color: var(--theme-accent, var(--theme-primary));
    background: color-mix(in oklch, var(--theme-accent, var(--theme-primary)) 6%, var(--theme-surface));
}

/* The headline Data step gets a subtle primary wash so it reads as the default. */
.asp-card-primary[b-3dp4hrx4ks] {
    border-color: var(--theme-primary);
    background: color-mix(in oklch, var(--theme-primary) 8%, var(--theme-surface));
}

.asp-card-title[b-3dp4hrx4ks] {
    font-weight: 600;
    font-size: 0.85rem;
}

.asp-card-desc[b-3dp4hrx4ks] {
    font-size: 0.72rem;
    line-height: 1.3;
    color: var(--theme-text-muted);
}

.asp-advanced[b-3dp4hrx4ks] {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 0.85rem;
    padding: 0.55rem 0.75rem;
    text-align: left;
    border: 1px dashed var(--theme-border);
    border-radius: var(--theme-radius, 0.5rem);
    background: transparent;
    color: var(--theme-text-muted);
    cursor: pointer;
    transition: border-color 0.12s ease, color 0.12s ease;
}

.asp-advanced:hover[b-3dp4hrx4ks] {
    border-color: var(--theme-primary);
    color: var(--theme-text);
}

.asp-advanced-text[b-3dp4hrx4ks] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media (max-width: 640px) {
    .asp-grid[b-3dp4hrx4ks] {
        grid-template-columns: 1fr;
    }
}

/* Source tabs - Entity / Report / Form browse selector for a Data step. */
.asp-source-tabs[b-3dp4hrx4ks] {
    display: flex;
    gap: 0.4rem;
}

.asp-source-tab[b-3dp4hrx4ks] {
    flex: 1;
    padding: 0.35rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius, 0.5rem);
    background: var(--theme-surface);
    color: var(--theme-text-muted);
    cursor: pointer;
    transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.asp-source-tab:hover[b-3dp4hrx4ks] {
    border-color: var(--theme-primary);
    color: var(--theme-text);
}

.asp-source-tab-on[b-3dp4hrx4ks] {
    border-color: var(--theme-primary);
    background: color-mix(in oklch, var(--theme-primary) 14%, var(--theme-surface));
    color: var(--theme-text);
}
/* /Components/Chat/ChatComposer.razor.rz.scp.css */
/* ── ChatComposer — the command surface ────────────────────────────── */

.wf-composer[b-toa0pb62kl] {
    position: relative;
    flex: 0 0 auto;
    border-top: 1px solid var(--theme-border-subtle);
    background: var(--theme-background-raised);
    padding: 0.5rem 0.65rem;
    transition: box-shadow .2s ease;
}

/* Commander mode: the whole composer glows accent so "this ask goes to
   the AI" is unmissable. */
.wf-composer--commander[b-toa0pb62kl] {
    box-shadow: inset 0 2px 0 var(--theme-accent);
    background: color-mix(in srgb, var(--theme-accent) 5%, var(--theme-background-raised));
}

.wf-composer-commander-hint[b-toa0pb62kl] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-accent);
    font-weight: 600;
    padding-bottom: 0.35rem;
}

/* ── Chips (addressing + attachment) ──────────────────────────────── */

.wf-composer-chips[b-toa0pb62kl] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    padding-bottom: 0.35rem;
}

.wf-composer-chip[b-toa0pb62kl] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.35rem 0.15rem 0.45rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-info) 14%, transparent);
    color: var(--theme-info);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
    max-width: 100%;
}

.wf-composer-chip--file[b-toa0pb62kl] {
    background: color-mix(in srgb, var(--theme-primary) 12%, transparent);
    color: var(--theme-primary);
}

.wf-composer-chip button[b-toa0pb62kl] {
    border: none;
    background: transparent;
    color: inherit;
    padding: 0;
    line-height: 1;
    cursor: pointer;
    opacity: 0.7;
}

.wf-composer-chip button:hover[b-toa0pb62kl] { opacity: 1; }

/* ── @-mention autocomplete ───────────────────────────────────────── */

.wf-composer-mentions[b-toa0pb62kl] {
    position: absolute;
    bottom: calc(100% + 2px);
    left: 0.65rem;
    z-index: 8;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    padding: 0.25rem;
    border: 1px solid var(--theme-border-subtle);
    border-radius: var(--theme-radius);
    background: var(--theme-background-raised);
    box-shadow: var(--theme-shadow-lg);
}

.wf-composer-mentions button[b-toa0pb62kl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.55rem;
    border: none;
    background: transparent;
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
    border-radius: var(--theme-radius-button);
    cursor: pointer;
    text-align: left;
}

.wf-composer-mentions button:hover[b-toa0pb62kl] { background: var(--theme-background-hover); }

.wf-composer-mentions .bi-robot[b-toa0pb62kl] { color: var(--theme-accent); }

/* ── Input row ────────────────────────────────────────────────────── */

.wf-composer-row[b-toa0pb62kl] {
    display: flex;
    align-items: flex-end;
    gap: 0.3rem;
}

.wf-composer-btn[b-toa0pb62kl] {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    border: none;
    border-radius: var(--theme-radius-button);
    background: transparent;
    color: var(--theme-text-secondary);
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.wf-composer-btn:hover[b-toa0pb62kl] {
    background: var(--theme-background-hover);
    color: var(--theme-text);
}

.wf-composer-commander-toggle--on[b-toa0pb62kl] {
    background: var(--theme-accent);
    color: var(--theme-text-on-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 25%, transparent);
}

.wf-composer-commander-toggle--on:hover[b-toa0pb62kl] {
    background: var(--theme-accent);
    color: var(--theme-text-on-accent);
    filter: brightness(1.08);
}

.wf-composer-input[b-toa0pb62kl] {
    flex: 1;
    min-width: 0;
    resize: none;
    max-height: 7rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background);
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
    font-family: var(--theme-font);
    line-height: 1.4;
}

.wf-composer-input:focus[b-toa0pb62kl] {
    outline: none;
    border-color: var(--theme-primary);
    box-shadow: var(--theme-focus-ring);
}

.wf-composer--commander .wf-composer-input:focus[b-toa0pb62kl] {
    border-color: var(--theme-accent);
}

.wf-composer-send[b-toa0pb62kl] {
    flex: 0 0 auto;
    width: 2.3rem;
    height: 2.3rem;
    border: none;
    border-radius: 50%;
    background: var(--theme-primary);
    color: var(--theme-text-on-primary);
    cursor: pointer;
    transition: filter .15s ease, transform .1s ease;
}

.wf-composer--commander .wf-composer-send[b-toa0pb62kl] { background: var(--theme-accent); color: var(--theme-text-on-accent); }

.wf-composer-send:hover:not(:disabled)[b-toa0pb62kl] { filter: brightness(1.1); transform: scale(1.05); }

.wf-composer-send:disabled[b-toa0pb62kl] { opacity: 0.5; cursor: default; }

/* ── Addressing picker menu ───────────────────────────────────────── */

.wf-composer-address-backdrop[b-toa0pb62kl] {
    position: fixed;
    inset: 0;
    z-index: 7;
}

.wf-composer-address-menu[b-toa0pb62kl] {
    position: absolute;
    bottom: calc(100% + 2px);
    left: 2.6rem;
    z-index: 8;
    min-width: 200px;
    max-height: 240px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding: 0.25rem;
    border: 1px solid var(--theme-border-subtle);
    border-radius: var(--theme-radius);
    background: var(--theme-background-raised);
    box-shadow: var(--theme-shadow-lg);
}

.wf-composer-address-menu button[b-toa0pb62kl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.55rem;
    border: none;
    background: transparent;
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
    border-radius: var(--theme-radius-button);
    cursor: pointer;
    text-align: left;
}

.wf-composer-address-menu button:hover[b-toa0pb62kl] { background: var(--theme-background-hover); }

.wf-composer-address-menu .bi-robot[b-toa0pb62kl] { color: var(--theme-accent); }
/* /Components/Chat/ChatDock.razor.rz.scp.css */
/* ── ChatDock — the always-on Conversations nub ─────────────────────────
   A compact icon chip hugging the left edge (~44px). Hover / keyboard
   focus blows it out to reveal the label; it collapses back on leave.
   Drag it anywhere along the edge - the persisted Y arrives as an inline
   clamp() style; the zone classes are the pre-drag fallback.
   All paint from --theme-* tokens (no hardcoded hex, per convention). */

.wf-chatdock[b-koaqmetv7q] {
    position: fixed;
    left: 0;
    z-index: 1042; /* above page chrome, below modals (1050+) */
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.5rem 0.55rem;
    border: 1px solid color-mix(in srgb, var(--theme-primary) 45%, transparent);
    border-left: none;
    border-radius: 0 var(--theme-radius) var(--theme-radius) 0;
    background: linear-gradient(180deg,
        color-mix(in srgb, var(--theme-primary) 92%, var(--theme-background)),
        var(--theme-primary));
    color: var(--theme-text-on-primary);
    cursor: pointer;
    box-shadow: 2px 2px 12px color-mix(in srgb, var(--theme-primary) 35%, transparent);
    transition: box-shadow .18s ease, filter .18s ease;
    touch-action: none;
    user-select: none;
}

.wf-chatdock:hover[b-koaqmetv7q],
.wf-chatdock:focus-visible[b-koaqmetv7q] {
    filter: brightness(1.06);
    box-shadow: 3px 3px 16px color-mix(in srgb, var(--theme-primary) 50%, transparent);
}

.wf-chatdock--top[b-koaqmetv7q] { top: 12%; }
.wf-chatdock--middle[b-koaqmetv7q] { top: 50%; transform: translateY(-50%); }
.wf-chatdock--bottom[b-koaqmetv7q] { bottom: 12%; }

.wf-chatdock-dragging[b-koaqmetv7q] {
    opacity: 0.85;
    box-shadow: 4px 4px 20px color-mix(in srgb, var(--theme-primary) 60%, transparent);
}

.wf-chatdock-icon[b-koaqmetv7q] {
    font-size: 1.25rem;
    line-height: 1;
}

/* The blow-out label: zero-width when idle, revealed on hover/focus. */
.wf-chatdock-label[b-koaqmetv7q] {
    max-width: 0;
    margin-left: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: max-width .22s ease, opacity .16s ease, margin-left .22s ease;
}

.wf-chatdock:hover .wf-chatdock-label[b-koaqmetv7q],
.wf-chatdock:focus-visible .wf-chatdock-label[b-koaqmetv7q] {
    max-width: 12rem;
    margin-left: 0.5rem;
    opacity: 0.95;
}

/* Unread badge rides the chip's top-right corner so the collapsed
   nub stays icon-sized. */
.wf-chatdock-badge[b-koaqmetv7q] {
    position: absolute;
    top: -0.45rem;
    right: -0.45rem;
    min-width: 1.3rem;
    padding: 0.05rem 0.3rem;
    border-radius: 999px;
    background: var(--theme-danger);
    color: var(--theme-text-on-primary);
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    text-align: center;
    line-height: 1.25rem;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-background) 85%, transparent);
}

/* Pulse — retriggered by the broker's PulseVersion bump on new unread. */
.wf-chatdock--pulse[b-koaqmetv7q] {
    animation: wf-chatdock-pulse-b-koaqmetv7q 0.8s ease-out 3;
}

@keyframes wf-chatdock-pulse-b-koaqmetv7q {
    0% { box-shadow: 2px 2px 12px color-mix(in srgb, var(--theme-primary) 35%, transparent), 0 0 0 0 color-mix(in srgb, var(--theme-accent) 55%, transparent); }
    70% { box-shadow: 2px 2px 12px color-mix(in srgb, var(--theme-primary) 35%, transparent), 0 0 0 14px transparent; }
    100% { box-shadow: 2px 2px 12px color-mix(in srgb, var(--theme-primary) 35%, transparent), 0 0 0 0 transparent; }
}

/* ── Toast — new message while the overlay is closed ─────────────────── */

.wf-chat-toast[b-koaqmetv7q] {
    position: fixed;
    left: 3.4rem;
    z-index: 1043;
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    max-width: 320px;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--theme-border-subtle);
    border-radius: var(--theme-radius);
    background: var(--theme-background-raised);
    color: var(--theme-text);
    box-shadow: var(--theme-shadow-lg);
    cursor: pointer;
    animation: wf-chat-toast-in-b-koaqmetv7q .25s ease-out;
}

.wf-chat-toast--top[b-koaqmetv7q] { top: 12%; }
.wf-chat-toast--middle[b-koaqmetv7q] { top: 50%; transform: translateY(-50%); }
.wf-chat-toast--bottom[b-koaqmetv7q] { bottom: 12%; }

@keyframes wf-chat-toast-in-b-koaqmetv7q {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: translateX(0); }
}

.wf-chat-toast--middle[b-koaqmetv7q] {
    animation: wf-chat-toast-in-mid-b-koaqmetv7q .25s ease-out;
}

@keyframes wf-chat-toast-in-mid-b-koaqmetv7q {
    from { opacity: 0; transform: translateY(-50%) translateX(-8px); }
    to { opacity: 1; transform: translateY(-50%) translateX(0); }
}

.wf-chat-toast-icon[b-koaqmetv7q] {
    color: var(--theme-primary);
    font-size: 1.1rem;
    margin-top: 0.1rem;
}

.wf-chat-toast-body[b-koaqmetv7q] { min-width: 0; }

.wf-chat-toast-title[b-koaqmetv7q] {
    font-weight: 600;
    font-size: var(--theme-font-size-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chat-toast-text[b-koaqmetv7q] {
    font-size: var(--theme-font-size-sm);
    color: var(--theme-text-muted);
}

.wf-chat-toast-close[b-koaqmetv7q] {
    border: none;
    background: transparent;
    color: var(--theme-text-muted);
    padding: 0;
    line-height: 1;
    cursor: pointer;
}

.wf-chat-toast-close:hover[b-koaqmetv7q] { color: var(--theme-text); }
/* /Components/Chat/ChatMessageBubble.razor.rz.scp.css */
/* ── ChatMessageBubble — one message ───────────────────────────────── */

.wf-bubble-row[b-sqp5wn42iu] {
    display: flex;
    width: 100%;
}

.wf-bubble-row--mine[b-sqp5wn42iu] { justify-content: flex-end; }
.wf-bubble-row--theirs[b-sqp5wn42iu] { justify-content: flex-start; }
.wf-bubble-row--system[b-sqp5wn42iu] { justify-content: center; }
.wf-bubble-row--commander[b-sqp5wn42iu] { justify-content: flex-start; }

.wf-bubble[b-sqp5wn42iu] {
    position: relative;
    max-width: 78%;
    padding: 0.5rem 0.65rem 0.35rem;
    border-radius: var(--theme-radius);
    font-size: var(--theme-font-size-sm);
    line-height: 1.4;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--theme-text) 8%, transparent);
    animation: wf-bubble-in-b-sqp5wn42iu .18s ease-out;
}

@keyframes wf-bubble-in-b-sqp5wn42iu {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Search-hit flash - the bubble a search-result click landed on. */
.wf-bubble-row--hit .wf-bubble[b-sqp5wn42iu] {
    animation: wf-bubble-hit-b-sqp5wn42iu 2.4s ease-out 1;
}

@keyframes wf-bubble-hit-b-sqp5wn42iu {
    0%, 40% { box-shadow: 0 0 0 2px var(--theme-primary), 0 1px 2px color-mix(in srgb, var(--theme-text) 8%, transparent); }
    100% { box-shadow: 0 0 0 0 transparent, 0 1px 2px color-mix(in srgb, var(--theme-text) 8%, transparent); }
}

.wf-bubble--mine[b-sqp5wn42iu] {
    background: color-mix(in srgb, var(--theme-primary) 14%, var(--theme-background-raised));
    border: 1px solid color-mix(in srgb, var(--theme-primary) 25%, transparent);
    border-bottom-right-radius: 4px;
}

.wf-bubble--theirs[b-sqp5wn42iu] {
    background: var(--theme-background-raised);
    border: 1px solid var(--theme-border-subtle);
    border-bottom-left-radius: 4px;
}

.wf-bubble--system[b-sqp5wn42iu] {
    max-width: 88%;
    background: var(--theme-background-subtle);
    border: 1px dashed var(--theme-border);
    color: var(--theme-text-secondary);
    font-style: italic;
    white-space: pre-line;
}

/* THE COMMANDER — the flagship bubble. A gradient rail + tinted field so
   an AI answer is unmistakable at a glance. */
.wf-bubble--commander[b-sqp5wn42iu] {
    max-width: 88%;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--theme-accent) 10%, var(--theme-background-raised)),
        color-mix(in srgb, var(--theme-primary) 8%, var(--theme-background-raised)));
    border: 1px solid color-mix(in srgb, var(--theme-accent) 40%, transparent);
    border-left: 3px solid var(--theme-accent);
    white-space: pre-line;
}

.wf-bubble-commander-head[b-sqp5wn42iu] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
}

.wf-bubble-commander-badge[b-sqp5wn42iu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: var(--theme-accent);
    color: var(--theme-text-on-accent);
    font-size: 0.8rem;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 25%, transparent);
}

.wf-bubble-commander-name[b-sqp5wn42iu] {
    font-weight: 700;
    color: var(--theme-accent);
    font-size: var(--theme-font-size-xs);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.wf-bubble-sender[b-sqp5wn42iu] {
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    color: var(--theme-primary);
    margin-bottom: 0.15rem;
}

/* ── Addressing chip ("→ Commander" / "→ Billy") ──────────────────── */

.wf-bubble-address-chip[b-sqp5wn42iu] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.05rem 0.45rem 0.05rem 0.25rem;
    margin-bottom: 0.2rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-info) 14%, transparent);
    color: var(--theme-info);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-bubble-address-chip--commander[b-sqp5wn42iu] {
    background: color-mix(in srgb, var(--theme-accent) 16%, transparent);
    color: var(--theme-accent);
}

/* ── Body ─────────────────────────────────────────────────────────── */

.wf-bubble-text[b-sqp5wn42iu] {
    color: var(--theme-text);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.wf-bubble-media[b-sqp5wn42iu] {
    display: block;
    max-width: 260px;
    max-height: 220px;
    border-radius: calc(var(--theme-radius) - 2px);
    cursor: zoom-in;
    margin: 0.15rem 0 0.25rem;
    object-fit: cover;
}

.wf-bubble-file[b-sqp5wn42iu] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.6rem;
    margin: 0.15rem 0 0.25rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background-subtle);
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
    cursor: pointer;
    max-width: 100%;
}

.wf-bubble-file span[b-sqp5wn42iu] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-bubble-file:hover[b-sqp5wn42iu] { border-color: var(--theme-primary); color: var(--theme-primary); }

/* ── Rich cards (contact / location / directions / link) — the Commander's
   card envelope on MetaJson, rendered tappable instead of a text panel. */

.wf-bubble-card[b-sqp5wn42iu] {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.5rem 0.6rem;
    margin: 0.15rem 0 0.2rem;
    min-width: 200px;
    border: 1px solid color-mix(in srgb, var(--theme-accent) 30%, transparent);
    border-left: 3px solid var(--theme-accent);
    border-radius: calc(var(--theme-radius) - 2px);
    background: color-mix(in srgb, var(--theme-accent) 6%, var(--theme-background-raised));
}

.wf-bubble-card-icon[b-sqp5wn42iu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--theme-accent) 16%, transparent);
    color: var(--theme-accent);
    font-size: 0.95rem;
}

.wf-bubble-card-body[b-sqp5wn42iu] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.wf-bubble-card-title[b-sqp5wn42iu] {
    font-weight: 700;
    color: var(--theme-text);
    overflow-wrap: anywhere;
}

.wf-bubble-card-sub[b-sqp5wn42iu] {
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-secondary);
    overflow-wrap: anywhere;
}

.wf-bubble-card-action[b-sqp5wn42iu] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.15rem;
    font-size: var(--theme-font-size-sm);
    font-weight: 600;
    color: var(--theme-primary);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.wf-bubble-card-action:hover[b-sqp5wn42iu] {
    text-decoration: underline;
    color: color-mix(in srgb, var(--theme-primary) 80%, var(--theme-text));
}

.wf-bubble-translated-hint[b-sqp5wn42iu] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.15rem;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-info);
    font-style: italic;
}

/* ── Meta row (origin + time + translate) ─────────────────────────── */

.wf-bubble-meta[b-sqp5wn42iu] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    margin-top: 0.15rem;
}

.wf-bubble-origin[b-sqp5wn42iu] {
    font-size: 0.7rem;
    color: var(--theme-text-placeholder);
}

.wf-bubble-time[b-sqp5wn42iu] {
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
}

.wf-bubble-translate[b-sqp5wn42iu] {
    border: none;
    background: transparent;
    color: var(--theme-text-placeholder);
    padding: 0;
    line-height: 1;
    font-size: 0.75rem;
    cursor: pointer;
    opacity: 0;
    transition: opacity .15s ease, color .15s ease;
}

.wf-bubble:hover .wf-bubble-translate[b-sqp5wn42iu] { opacity: 1; }

.wf-bubble-translate:hover[b-sqp5wn42iu] { color: var(--theme-primary); }
/* /Components/Chat/ChatNewRoomDialog.razor.rz.scp.css */
/* ── ChatNewRoomDialog — new conversation ──────────────────────────── */

.wf-chatnew[b-0mdjt0m3xc] { max-width: 480px; }

.wf-chatnew-header[b-0mdjt0m3xc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    background: var(--theme-nav-background);
    color: var(--theme-nav-text-active);
    border-radius: var(--theme-radius) var(--theme-radius) 0 0;
    font-weight: 600;
}

.wf-chatnew-header .bi[b-0mdjt0m3xc] { margin-right: 0.35rem; }

.wf-chatnew-close[b-0mdjt0m3xc] {
    border: none;
    background: transparent;
    color: var(--theme-nav-text);
    cursor: pointer;
    line-height: 1;
}

.wf-chatnew-close:hover[b-0mdjt0m3xc] { color: var(--theme-nav-text-hover); }

.wf-chatnew-body[b-0mdjt0m3xc] {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    overflow-y: auto;
}

/* ── Kind chips ───────────────────────────────────────────────────── */

.wf-chatnew-kinds[b-0mdjt0m3xc] {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}

.wf-chatnew-kind[b-0mdjt0m3xc] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    padding: 0.55rem 0.25rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background-subtle);
    color: var(--theme-text-secondary);
    font-size: var(--theme-font-size-sm);
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.wf-chatnew-kind:hover[b-0mdjt0m3xc] { border-color: var(--theme-primary); }

.wf-chatnew-kind--active[b-0mdjt0m3xc] {
    border-color: var(--theme-primary);
    background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
    color: var(--theme-primary);
}

/* ── Inputs ───────────────────────────────────────────────────────── */

.wf-chatnew-label[b-0mdjt0m3xc] {
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
    margin-top: 0.3rem;
}

.wf-chatnew-input[b-0mdjt0m3xc] {
    width: 100%;
    padding: 0.4rem 0.55rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background);
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
}

.wf-chatnew-input:focus[b-0mdjt0m3xc] {
    outline: none;
    border-color: var(--theme-primary);
    box-shadow: var(--theme-focus-ring);
}

/* ── Selected people chips ────────────────────────────────────────── */

.wf-chatnew-selected[b-0mdjt0m3xc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.wf-chatnew-selected-chip[b-0mdjt0m3xc] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.3rem 0.15rem 0.5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-primary) 12%, transparent);
    color: var(--theme-primary);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-chatnew-selected-chip button[b-0mdjt0m3xc] {
    border: none;
    background: transparent;
    color: inherit;
    padding: 0;
    line-height: 1;
    cursor: pointer;
    opacity: 0.7;
}

.wf-chatnew-selected-chip button:hover[b-0mdjt0m3xc] { opacity: 1; }

/* ── Search + results ─────────────────────────────────────────────── */

.wf-chatnew-search[b-0mdjt0m3xc] { position: relative; }

.wf-chatnew-search .bi[b-0mdjt0m3xc] {
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--theme-text-placeholder);
    font-size: var(--theme-font-size-sm);
}

.wf-chatnew-search input[b-0mdjt0m3xc] {
    width: 100%;
    padding: 0.4rem 0.55rem 0.4rem 1.7rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background);
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
}

.wf-chatnew-search input:focus[b-0mdjt0m3xc] {
    outline: none;
    border-color: var(--theme-primary);
    box-shadow: var(--theme-focus-ring);
}

.wf-chatnew-results[b-0mdjt0m3xc] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    max-height: 180px;
    overflow-y: auto;
}

.wf-chatnew-group[b-0mdjt0m3xc] {
    padding: 0.3rem 0.15rem 0.05rem;
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
}

.wf-chatnew-result[b-0mdjt0m3xc] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.5rem;
    border: none;
    border-radius: var(--theme-radius-button);
    background: transparent;
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
    cursor: pointer;
    text-align: left;
}

.wf-chatnew-result:hover[b-0mdjt0m3xc] { background: var(--theme-background-hover); }

.wf-chatnew-result-name[b-0mdjt0m3xc] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chatnew-result .bi-plus-circle[b-0mdjt0m3xc] { color: var(--theme-text-placeholder); }

.wf-chatnew-result:hover .bi-plus-circle[b-0mdjt0m3xc] { color: var(--theme-primary); }

.wf-chatnew-role[b-0mdjt0m3xc] {
    flex: 0 0 auto;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-info) 15%, transparent);
    color: var(--theme-info);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-chatnew-shimmer[b-0mdjt0m3xc] {
    height: 0.9rem;
    margin: 0.3rem 0.5rem;
    border-radius: 999px;
    background: var(--theme-background-hover);
    animation: wf-chatnew-shimmer-b-0mdjt0m3xc 1.4s ease-in-out infinite;
}

@keyframes wf-chatnew-shimmer-b-0mdjt0m3xc {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}

.wf-chatnew-validation[b-0mdjt0m3xc] {
    font-size: var(--theme-font-size-sm);
    color: var(--theme-danger);
    padding-top: 0.25rem;
}

.wf-chatnew-footer[b-0mdjt0m3xc] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--theme-border);
}
/* /Components/Chat/ChatOverlay.razor.rz.scp.css */
/* ── ChatOverlay — the right-anchored slide-over shell ─────────────────
   Sits above page chrome (1046/1047), below modal dialogs (1050+) so the
   FmAssetPicker / new-room dialog stack cleanly on top. All --theme-*. */

.wf-chat-scrim[b-8wo2wwe62t] {
    position: fixed;
    inset: 0;
    z-index: 1046;
    background: color-mix(in srgb, var(--theme-text) 12%, transparent);
    animation: wf-chat-scrim-in-b-8wo2wwe62t .2s ease-out;
}

@keyframes wf-chat-scrim-in-b-8wo2wwe62t {
    from { opacity: 0; }
    to { opacity: 1; }
}

.wf-chat-overlay[b-8wo2wwe62t] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1047;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-width: 100vw;
    background: var(--theme-background-raised);
    border-left: 1px solid var(--theme-border-subtle);
    box-shadow: -10px 0 32px color-mix(in srgb, var(--theme-text) 18%, transparent);
    animation: wf-chat-overlay-in-b-8wo2wwe62t .25s cubic-bezier(.2, .8, .3, 1);
}

@keyframes wf-chat-overlay-in-b-8wo2wwe62t {
    from { transform: translateX(24px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/* Pinned: no scrim, softer shadow — it reads as a docked panel, not a modal. */
.wf-chat-overlay--pinned[b-8wo2wwe62t] {
    box-shadow: -4px 0 16px color-mix(in srgb, var(--theme-text) 10%, transparent);
}

.wf-chat-resize[b-8wo2wwe62t] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -3px;
    width: 7px;
    cursor: ew-resize;
    z-index: 2;
    touch-action: none;
}

.wf-chat-resize:hover[b-8wo2wwe62t] {
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--theme-primary) 35%, transparent), transparent);
}

/* ── Header ──────────────────────────────────────────────────────────── */

.wf-chat-header[b-8wo2wwe62t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0.9rem;
    background: var(--theme-nav-background);
    color: var(--theme-nav-text-active);
    border-bottom: 1px solid var(--theme-nav-border);
    flex: 0 0 auto;
}

.wf-chat-header-title[b-8wo2wwe62t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
}

.wf-chat-header-badge[b-8wo2wwe62t] {
    min-width: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--theme-danger);
    color: var(--theme-text-on-primary);
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    text-align: center;
    line-height: 1.25rem;
}

.wf-chat-header-actions[b-8wo2wwe62t] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.wf-chat-hdr-btn[b-8wo2wwe62t] {
    border: none;
    background: transparent;
    color: var(--theme-nav-text);
    width: 2rem;
    height: 2rem;
    border-radius: var(--theme-radius-button);
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.wf-chat-hdr-btn:hover[b-8wo2wwe62t] {
    background: var(--theme-nav-hover-background);
    color: var(--theme-nav-text-hover);
}

.wf-chat-hdr-btn--active[b-8wo2wwe62t] {
    color: var(--theme-nav-text-active);
    background: var(--theme-nav-hover-background);
}

/* ── Error strip + body split ────────────────────────────────────────── */

.wf-chat-error[b-8wo2wwe62t] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.9rem;
    background: var(--theme-danger-muted);
    color: var(--theme-danger);
    font-size: var(--theme-font-size-sm);
    flex: 0 0 auto;
}

.wf-chat-body[b-8wo2wwe62t] {
    display: flex;
    flex: 1;
    min-height: 0;
}
/* /Components/Chat/ChatRoomsPane.razor.rz.scp.css */
/* ── ChatRoomsPane — grouped rooms + directory ─────────────────────── */

.wf-chatrooms[b-qqoaeie3ie] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 0 0 250px;
    max-width: 250px;
    border-right: 1px solid var(--theme-border-subtle);
    background: var(--theme-background-subtle);
}

/* ── Tabs ─────────────────────────────────────────────────────────── */

.wf-chatrooms-tabs[b-qqoaeie3ie] {
    display: flex;
    flex: 0 0 auto;
    border-bottom: 1px solid var(--theme-border-subtle);
}

.wf-chatrooms-tab[b-qqoaeie3ie] {
    flex: 1;
    border: none;
    background: transparent;
    color: var(--theme-text-muted);
    font-size: var(--theme-font-size-sm);
    font-weight: 600;
    padding: 0.55rem 0.25rem;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color .15s ease, border-color .15s ease;
}

.wf-chatrooms-tab:hover[b-qqoaeie3ie] { color: var(--theme-text); }

.wf-chatrooms-tab--active[b-qqoaeie3ie] {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
}

/* ── Toolbar (search + new) ───────────────────────────────────────── */

.wf-chatrooms-toolbar[b-qqoaeie3ie] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.55rem;
    flex: 0 0 auto;
}

.wf-chatrooms-search[b-qqoaeie3ie] {
    position: relative;
    flex: 1;
    min-width: 0;
}

.wf-chatrooms-search .bi[b-qqoaeie3ie] {
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--theme-text-placeholder);
    font-size: var(--theme-font-size-sm);
}

.wf-chatrooms-search input[b-qqoaeie3ie] {
    width: 100%;
    padding: 0.35rem 0.5rem 0.35rem 1.7rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background-raised);
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
}

.wf-chatrooms-search input:focus[b-qqoaeie3ie] {
    outline: none;
    border-color: var(--theme-primary);
    box-shadow: var(--theme-focus-ring);
}

.wf-chatrooms-new[b-qqoaeie3ie] {
    flex: 0 0 auto;
    width: 1.9rem;
    height: 1.9rem;
    border: none;
    border-radius: var(--theme-radius-button);
    background: var(--theme-primary);
    color: var(--theme-text-on-primary);
    cursor: pointer;
    transition: filter .15s ease;
}

.wf-chatrooms-new:hover[b-qqoaeie3ie] { filter: brightness(1.1); }

.wf-chatrooms-go[b-qqoaeie3ie] {
    flex: 0 0 auto;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background-raised);
    color: var(--theme-text-muted);
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease;
}

.wf-chatrooms-go:hover:not(:disabled)[b-qqoaeie3ie] {
    color: var(--theme-primary);
    border-color: var(--theme-primary);
}

.wf-chatrooms-go:disabled[b-qqoaeie3ie] {
    opacity: 0.45;
    cursor: default;
}

/* ── Toggles (browse-all / include-archived) ──────────────────────── */

.wf-chatrooms-browseall[b-qqoaeie3ie] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.15rem 0.7rem 0.3rem;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
    cursor: pointer;
    user-select: none;
}

.wf-chatrooms-browseall input[b-qqoaeie3ie] {
    margin: 0;
    accent-color: var(--theme-primary);
}

.wf-chatrooms-browseall:hover[b-qqoaeie3ie] { color: var(--theme-text); }

/* ── Message-search hits ──────────────────────────────────────────── */

.wf-chatrooms-hit[b-qqoaeie3ie] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    width: 100%;
    padding: 0.45rem;
    margin-top: 0.1rem;
    border: none;
    border-radius: var(--theme-radius-button);
    background: transparent;
    color: var(--theme-text);
    cursor: pointer;
    text-align: left;
    transition: background .12s ease;
}

.wf-chatrooms-hit:hover[b-qqoaeie3ie] { background: var(--theme-background-hover); }

.wf-chatrooms-hit-top[b-qqoaeie3ie] {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
}

.wf-chatrooms-hit-room[b-qqoaeie3ie] {
    flex: 1;
    min-width: 0;
    font-size: var(--theme-font-size-sm);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chatrooms-hit-archived[b-qqoaeie3ie] {
    flex: 0 0 auto;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-warning) 18%, transparent);
    color: var(--theme-warning);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-chatrooms-hit-time[b-qqoaeie3ie] {
    flex: 0 0 auto;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
}

.wf-chatrooms-hit-bottom[b-qqoaeie3ie] {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    min-width: 0;
}

.wf-chatrooms-hit-sender[b-qqoaeie3ie] {
    flex: 0 0 auto;
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
    color: var(--theme-text-emphasis);
}

.wf-chatrooms-hit-snippet[b-qqoaeie3ie] {
    flex: 1;
    min-width: 0;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── List + groups ────────────────────────────────────────────────── */

.wf-chatrooms-list[b-qqoaeie3ie] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 0.35rem 0.75rem;
}

.wf-chatrooms-group[b-qqoaeie3ie] { margin-top: 0.6rem; }

.wf-chatrooms-group-title[b-qqoaeie3ie] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.15rem 0.35rem;
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
}

.wf-chatrooms-archived-toggle[b-qqoaeie3ie] {
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.wf-chatrooms-archived-toggle:hover[b-qqoaeie3ie] { color: var(--theme-text); }

/* ── Room rows (rendered by ChatRoomRow, styled here via ::deep) ───── */

[b-qqoaeie3ie] .wf-chatroom-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 0.45rem;
    margin-top: 0.1rem;
    border: none;
    border-radius: var(--theme-radius-button);
    background: transparent;
    color: var(--theme-text);
    cursor: pointer;
    text-align: left;
    transition: background .12s ease;
}

[b-qqoaeie3ie] .wf-chatroom-row:hover { background: var(--theme-background-hover); }

[b-qqoaeie3ie] .wf-chatroom-row--active {
    background: color-mix(in srgb, var(--theme-primary) 12%, transparent);
}

[b-qqoaeie3ie] .wf-chatroom-avatar {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--theme-primary) 15%, transparent);
    color: var(--theme-primary);
    font-size: 0.9rem;
}

[b-qqoaeie3ie] .wf-chatroom-avatar[data-kind="4"] {
    background: color-mix(in srgb, var(--theme-accent) 18%, transparent);
    color: var(--theme-accent);
}

[b-qqoaeie3ie] .wf-chatroom-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
}

[b-qqoaeie3ie] .wf-chatroom-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.4rem;
}

[b-qqoaeie3ie] .wf-chatroom-title {
    font-size: var(--theme-font-size-sm);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-qqoaeie3ie] .wf-chatroom-time {
    flex: 0 0 auto;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
}

[b-qqoaeie3ie] .wf-chatroom-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
}

[b-qqoaeie3ie] .wf-chatroom-snippet {
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-qqoaeie3ie] .wf-chatroom-unread {
    flex: 0 0 auto;
    min-width: 1.15rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--theme-primary);
    color: var(--theme-text-on-primary);
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    text-align: center;
    line-height: 1.15rem;
}

/* ── Directory people ─────────────────────────────────────────────── */

.wf-chatrooms-person[b-qqoaeie3ie] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem;
    margin-top: 0.1rem;
    border: none;
    border-radius: var(--theme-radius-button);
    background: transparent;
    color: var(--theme-text);
    cursor: pointer;
    text-align: left;
    transition: background .12s ease;
}

.wf-chatrooms-person:hover[b-qqoaeie3ie] { background: var(--theme-background-hover); }

.wf-chatrooms-avatar[b-qqoaeie3ie] {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--theme-offset) 22%, transparent);
    color: var(--theme-text-emphasis);
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
}

.wf-chatrooms-person-main[b-qqoaeie3ie] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.wf-chatrooms-person-name[b-qqoaeie3ie] {
    font-size: var(--theme-font-size-sm);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chatrooms-role-chip[b-qqoaeie3ie] {
    flex: 0 0 auto;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-info) 15%, transparent);
    color: var(--theme-info);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-chatrooms-person-go[b-qqoaeie3ie] {
    color: var(--theme-text-placeholder);
    transition: color .12s ease;
}

.wf-chatrooms-person:hover .wf-chatrooms-person-go[b-qqoaeie3ie] { color: var(--theme-primary); }

/* ── Empty + shimmer states ───────────────────────────────────────── */

.wf-chatrooms-empty[b-qqoaeie3ie] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 2.5rem 1rem;
    text-align: center;
}

.wf-chatrooms-empty .bi[b-qqoaeie3ie] {
    font-size: 2rem;
    color: var(--theme-text-placeholder);
}

.wf-chatrooms-empty-title[b-qqoaeie3ie] {
    font-weight: 600;
    color: var(--theme-text);
}

.wf-chatrooms-empty-hint[b-qqoaeie3ie] {
    font-size: var(--theme-font-size-sm);
    color: var(--theme-text-muted);
    margin-bottom: 0.5rem;
}

.wf-chatrooms-shimmer[b-qqoaeie3ie] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem;
    margin-top: 0.15rem;
}

.wf-chatrooms-shimmer-avatar[b-qqoaeie3ie] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--theme-background-hover);
    animation: wf-chat-shimmer-b-qqoaeie3ie 1.4s ease-in-out infinite;
}

.wf-chatrooms-shimmer-lines[b-qqoaeie3ie] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.wf-chatrooms-shimmer-line[b-qqoaeie3ie] {
    height: 0.55rem;
    border-radius: 999px;
    background: var(--theme-background-hover);
    animation: wf-chat-shimmer-b-qqoaeie3ie 1.4s ease-in-out infinite;
}

.wf-chatrooms-shimmer-line--sub[b-qqoaeie3ie] { opacity: 0.6; }

@keyframes wf-chat-shimmer-b-qqoaeie3ie {
    0%, 100% { opacity: 0.55; }
    50% { opacity: 1; }
}
/* /Components/Chat/ChatThreadPane.razor.rz.scp.css */
/* ── ChatThreadPane — the room header + bubble stream + members ────── */

.wf-chatthread[b-gusl37ctn6] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    min-height: 0;
    background: var(--theme-background);
}

/* ── Hero (no room selected) ──────────────────────────────────────── */

.wf-chatthread-hero[b-gusl37ctn6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-align: center;
    padding: 2rem;
}

.wf-chatthread-hero .bi[b-gusl37ctn6] {
    font-size: 3rem;
    color: color-mix(in srgb, var(--theme-primary) 45%, transparent);
}

.wf-chatthread-hero-title[b-gusl37ctn6] {
    font-size: var(--theme-font-size-lg);
    font-weight: 600;
    color: var(--theme-text);
}

.wf-chatthread-hero-hint[b-gusl37ctn6] {
    font-size: var(--theme-font-size-sm);
    color: var(--theme-text-muted);
    max-width: 260px;
}

/* ── Header ───────────────────────────────────────────────────────── */

.wf-chatthread-header[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid var(--theme-border-subtle);
    background: var(--theme-background-raised);
    flex: 0 0 auto;
}

.wf-chatthread-header-main[b-gusl37ctn6] { min-width: 0; }

.wf-chatthread-title[b-gusl37ctn6] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chatthread-topic[b-gusl37ctn6] {
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chatthread-header-actions[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex: 0 0 auto;
}

.wf-chat-tool-btn[b-gusl37ctn6] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: none;
    background: transparent;
    color: var(--theme-text-secondary);
    height: 2rem;
    padding: 0 0.45rem;
    border-radius: var(--theme-radius-button);
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.wf-chat-tool-btn:hover:not(:disabled)[b-gusl37ctn6] {
    background: var(--theme-background-hover);
    color: var(--theme-text);
}

.wf-chat-tool-btn:disabled[b-gusl37ctn6] { opacity: 0.55; cursor: default; }

.wf-chat-tool-btn--active[b-gusl37ctn6] {
    background: color-mix(in srgb, var(--theme-primary) 12%, transparent);
    color: var(--theme-primary);
}

.wf-chatthread-member-count[b-gusl37ctn6] {
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

/* ── Overflow menu ────────────────────────────────────────────────── */

.wf-chatthread-menu-anchor[b-gusl37ctn6] { position: relative; }

.wf-chatthread-menu-backdrop[b-gusl37ctn6] {
    position: fixed;
    inset: 0;
    z-index: 5;
}

.wf-chatthread-menu[b-gusl37ctn6] {
    position: absolute;
    top: 2.2rem;
    right: 0;
    z-index: 6;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    padding: 0.25rem;
    border: 1px solid var(--theme-border-subtle);
    border-radius: var(--theme-radius);
    background: var(--theme-background-raised);
    box-shadow: var(--theme-shadow-lg);
}

.wf-chatthread-menu button[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.6rem;
    border: none;
    background: transparent;
    color: var(--theme-text);
    border-radius: var(--theme-radius-button);
    cursor: pointer;
    text-align: left;
    font-size: var(--theme-font-size-sm);
}

.wf-chatthread-menu button:hover[b-gusl37ctn6] { background: var(--theme-background-hover); }

.wf-chatthread-menu-danger[b-gusl37ctn6] { color: var(--theme-danger) !important; }

/* ── Stream + members split ───────────────────────────────────────── */

.wf-chatthread-split[b-gusl37ctn6] {
    display: flex;
    flex: 1;
    min-height: 0;
}

.wf-chatthread-stream[b-gusl37ctn6] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    scroll-behavior: smooth;
}

.wf-chatthread-older[b-gusl37ctn6] {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid var(--theme-border);
    background: var(--theme-background-raised);
    color: var(--theme-text-secondary);
    font-size: var(--theme-font-size-xs);
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    cursor: pointer;
    margin-bottom: 0.4rem;
}

.wf-chatthread-older:hover[b-gusl37ctn6] { color: var(--theme-primary); border-color: var(--theme-primary); }

.wf-chatthread-empty[b-gusl37ctn6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    color: var(--theme-text-muted);
    font-size: var(--theme-font-size-sm);
}

.wf-chatthread-empty .bi[b-gusl37ctn6] {
    font-size: 1.75rem;
    color: var(--theme-text-placeholder);
}

.wf-chatthread-loading[b-gusl37ctn6] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

.wf-chatthread-shimmer[b-gusl37ctn6] {
    height: 2.4rem;
    border-radius: var(--theme-radius);
    background: var(--theme-background-hover);
    animation: wf-chatthread-shimmer-b-gusl37ctn6 1.4s ease-in-out infinite;
}

.wf-chatthread-shimmer--mine[b-gusl37ctn6] { align-self: flex-end; }

@keyframes wf-chatthread-shimmer-b-gusl37ctn6 {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* ── Members side list ────────────────────────────────────────────── */

.wf-chatthread-members[b-gusl37ctn6] {
    flex: 0 0 220px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-left: 1px solid var(--theme-border-subtle);
    background: var(--theme-background-subtle);
    padding: 0.6rem;
    gap: 0.5rem;
}

.wf-chatthread-members-title[b-gusl37ctn6] {
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
}

.wf-chatthread-members-list[b-gusl37ctn6] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.wf-chatthread-member[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.3rem 0.35rem;
    border-radius: var(--theme-radius-button);
}

.wf-chatthread-member:hover[b-gusl37ctn6] { background: var(--theme-background-hover); }

.wf-chatthread-member-avatar[b-gusl37ctn6] {
    flex: 0 0 auto;
    width: 1.7rem;
    height: 1.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--theme-offset) 22%, transparent);
    color: var(--theme-text-emphasis);
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
}

.wf-chatthread-member-name[b-gusl37ctn6] {
    flex: 1;
    min-width: 0;
    font-size: var(--theme-font-size-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wf-chatthread-owner-chip[b-gusl37ctn6] {
    flex: 0 0 auto;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-accent) 18%, transparent);
    color: var(--theme-accent);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-chatthread-source-chip[b-gusl37ctn6] {
    flex: 0 0 auto;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-info) 15%, transparent);
    color: var(--theme-info);
    font-size: var(--theme-font-size-xs);
    font-weight: 600;
}

.wf-chatthread-notify-icon[b-gusl37ctn6] {
    color: var(--theme-success);
    font-size: var(--theme-font-size-sm);
}

/* ── Read-only hint bar (admin browse of a non-member room) ────────── */

.wf-chatthread-readonly[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid var(--theme-border-subtle);
    background: var(--theme-background-subtle);
    color: var(--theme-text-muted);
    font-size: var(--theme-font-size-sm);
}

.wf-chatthread-member-remove[b-gusl37ctn6] {
    border: none;
    background: transparent;
    color: var(--theme-text-placeholder);
    padding: 0;
    line-height: 1;
    cursor: pointer;
}

.wf-chatthread-member-remove:hover[b-gusl37ctn6] { color: var(--theme-danger); }

.wf-chatthread-addmember-group[b-gusl37ctn6] {
    padding: 0.3rem 0.15rem 0.05rem;
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
}

/* ── Add member ───────────────────────────────────────────────────── */

.wf-chatthread-addmember[b-gusl37ctn6] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    border-top: 1px solid var(--theme-border-subtle);
    padding-top: 0.5rem;
}

.wf-chatthread-addmember-title[b-gusl37ctn6] {
    font-size: var(--theme-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
}

.wf-chatthread-addmember input[type="text"][b-gusl37ctn6] {
    width: 100%;
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background-raised);
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
}

.wf-chatthread-addmember input[type="text"]:focus[b-gusl37ctn6] {
    outline: none;
    border-color: var(--theme-primary);
    box-shadow: var(--theme-focus-ring);
}

.wf-chatthread-addmember-results[b-gusl37ctn6] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    max-height: 160px;
    overflow-y: auto;
}

.wf-chatthread-addmember-results button[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    padding: 0.3rem 0.45rem;
    border: none;
    background: transparent;
    color: var(--theme-text);
    font-size: var(--theme-font-size-sm);
    border-radius: var(--theme-radius-button);
    cursor: pointer;
    text-align: left;
}

.wf-chatthread-addmember-results button:hover[b-gusl37ctn6] { background: var(--theme-background-hover); }

.wf-chatthread-role[b-gusl37ctn6] {
    font-size: var(--theme-font-size-xs);
    color: var(--theme-info);
}

.wf-chatthread-notify-toggle[b-gusl37ctn6] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-muted);
    cursor: pointer;
}
/* /Components/Common/ValidationPanel.razor.rz.scp.css */
/* ValidationPanel — themed surface that drops into any save dialog.
   All color tokens route through --theme-* so the panel reads correctly
   on light, dark, and custom-branded tenants. No hardcoded hex. */

.validation-panel[b-r7chgy5dbd] {
    margin: 0.75rem 0 0;
    padding: 0.6rem 0.75rem;
    border-radius: var(--theme-radius, 0.25rem);
    border: 1px solid transparent;
    font-size: 0.875rem;
    line-height: 1.35;
}

.validation-panel-valid[b-r7chgy5dbd] {
    background-color: var(--theme-success-muted);
    border-color: var(--theme-success);
    color: var(--theme-success);
}

.validation-panel-warning[b-r7chgy5dbd] {
    background-color: var(--theme-warning-muted);
    border-color: var(--theme-warning);
    color: var(--theme-warning);
}

.validation-panel-error[b-r7chgy5dbd] {
    background-color: var(--theme-danger-muted);
    border-color: var(--theme-danger);
    color: var(--theme-danger);
}

.validation-panel-pending[b-r7chgy5dbd] {
    background-color: var(--theme-background-hover);
    border-color: var(--theme-border);
    color: var(--theme-text-muted);
}

.validation-panel-summary[b-r7chgy5dbd] {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.15rem;
}

/* Icon gets the tiniest bit of size to read cleanly in the summary row. */
.validation-panel-summary > i[b-r7chgy5dbd] {
    font-size: 1rem;
}

.validation-issue-list[b-r7chgy5dbd] {
    list-style: none;
    padding-left: 0;
    margin: 0.55rem 0 0 0;
}

.validation-issue[b-r7chgy5dbd] {
    padding: 0.45rem 0;
    border-top: 1px solid var(--theme-border);
}

.validation-issue:first-child[b-r7chgy5dbd] {
    border-top: 0;
    padding-top: 0.3rem;
}

.validation-issue-header[b-r7chgy5dbd] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.2rem;
}

.validation-issue-path[b-r7chgy5dbd] {
    font-size: 0.78rem;
    background: var(--theme-background-hover);
    color: var(--theme-text);
    padding: 0.1rem 0.4rem;
    border-radius: 0.25rem;
    font-family: var(--theme-font-mono, 'Consolas', 'Courier New', monospace);
}

.validation-issue-sev[b-r7chgy5dbd] {
    text-transform: uppercase;
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    opacity: 0.7;
    font-weight: 600;
}

.validation-issue-message[b-r7chgy5dbd] {
    font-size: 0.85rem;
    line-height: 1.4;
    color: var(--theme-text);
}

/* Apply button — tight sizing, clearer affordance. */
.validation-issue .btn[b-r7chgy5dbd] {
    font-size: 0.78rem;
    padding: 0.15rem 0.55rem;
    border-radius: var(--theme-radius-button, 0.2rem);
}
/* /Components/ContextTokenDock.razor.rz.scp.css */
/* Floating context-token dock. Sticks in view as the dialog body scrolls so
   the token reference is always reachable. Collapses to a compact pill. */

.ctx-dock[b-l86dmrpdj7] {
    position: sticky;
    top: 0.5rem;
    float: right;
    margin: 0 0 0.5rem 0.75rem;
    z-index: 20;
}

/* ── Collapsed pill ─────────────────────────────────────────────────────── */

.ctx-dock--mini[b-l86dmrpdj7] {
    width: auto;
}

.ctx-dock__fab[b-l86dmrpdj7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 1px solid var(--theme-border);
    background: var(--theme-primary);
    color: var(--theme-on-primary, #fff);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.ctx-dock__fab:hover[b-l86dmrpdj7] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
}

/* ── Expanded card ──────────────────────────────────────────────────────── */

.ctx-dock--open[b-l86dmrpdj7] {
    width: 320px;
    max-width: 90vw;
    max-height: 70vh;
    display: flex;
    flex-direction: column;
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    border-radius: 0.6rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

.ctx-dock__head[b-l86dmrpdj7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.45rem 0.6rem;
    background: var(--theme-surface-muted, var(--theme-surface));
    border-bottom: 1px solid var(--theme-border);
}

.ctx-dock__title[b-l86dmrpdj7] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--theme-text);
}

.ctx-dock__title .bi[b-l86dmrpdj7] {
    color: var(--theme-primary);
    margin-right: 0.25rem;
}

.ctx-dock__icon[b-l86dmrpdj7] {
    border: none;
    background: transparent;
    color: var(--theme-text-muted, var(--theme-text));
    cursor: pointer;
    padding: 0 0.25rem;
}

.ctx-dock__search[b-l86dmrpdj7] {
    margin: 0.5rem;
    width: calc(100% - 1rem);
}

.ctx-dock__list[b-l86dmrpdj7] {
    overflow-y: auto;
    padding: 0 0.5rem 0.5rem;
    flex: 1 1 auto;
}

.ctx-dock__group[b-l86dmrpdj7] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    color: var(--theme-text-muted, var(--theme-text));
    padding: 0.4rem 0.15rem 0.2rem;
    position: sticky;
    top: 0;
    background: var(--theme-surface);
}

.ctx-dock__token[b-l86dmrpdj7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 0.35rem;
    background: transparent;
    padding: 0.25rem 0.4rem;
    cursor: pointer;
    transition: background 0.1s ease, border-color 0.1s ease;
}

.ctx-dock__token:hover[b-l86dmrpdj7] {
    background: var(--theme-surface-muted, rgba(0, 0, 0, 0.04));
    border-color: var(--theme-border);
}

.ctx-dock__code[b-l86dmrpdj7] {
    color: var(--theme-primary);
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ctx-dock__copyicon[b-l86dmrpdj7] {
    color: var(--theme-text-muted, var(--theme-text));
    opacity: 0.5;
    font-size: 0.8rem;
    flex: 0 0 auto;
    margin-left: 0.4rem;
}

.ctx-dock__token:hover .ctx-dock__copyicon[b-l86dmrpdj7] {
    opacity: 1;
}

.ctx-dock__copied[b-l86dmrpdj7] {
    color: var(--theme-success, #198754);
    font-size: 0.72rem;
    font-weight: 600;
    flex: 0 0 auto;
    margin-left: 0.4rem;
    white-space: nowrap;
}

.ctx-dock__empty[b-l86dmrpdj7] {
    color: var(--theme-text-muted, var(--theme-text));
    font-size: 0.8rem;
    padding: 0.6rem 0.3rem;
}

/* ── Live preview ───────────────────────────────────────────────────────── */

.ctx-dock__eval[b-l86dmrpdj7] {
    border-top: 1px solid var(--theme-border);
    padding: 0.4rem 0.5rem 0.6rem;
    background: var(--theme-surface-muted, var(--theme-surface));
}

.ctx-dock__expr[b-l86dmrpdj7] {
    width: 100%;
}

.ctx-dock__result[b-l86dmrpdj7] {
    margin-top: 0.4rem;
    padding: 0.4rem 0.5rem;
    border-radius: 0.35rem;
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    font-size: 0.78rem;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--theme-text);
}

.ctx-dock__answers[b-l86dmrpdj7] {
    width: calc(100% - 0.3rem);
    margin: 0.1rem 0.15rem 0.5rem;
}
/* /Components/DataStudio/BuildContextNudge.razor.rz.scp.css */
/* "Build a context for this" nudge (#27 Phase C). --theme-* tokens only. */

.bcn-nudge[b-6ozra8ky2v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.5rem 0 0.75rem;
    padding: 0.6rem 0.9rem;
    border: 1px solid var(--theme-primary-muted);
    border-radius: var(--theme-radius);
    background: var(--theme-background-subtle);
}

.bcn-icon[b-6ozra8ky2v] {
    color: var(--theme-primary);
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.bcn-text[b-6ozra8ky2v] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1 1 auto;
    min-width: 0;
}

.bcn-title[b-6ozra8ky2v] {
    font-weight: 600;
    color: var(--theme-text);
}

.bcn-body[b-6ozra8ky2v] {
    font-size: 0.825rem;
    color: var(--theme-text-muted);
}

.bcn-actions[b-6ozra8ky2v] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex: 0 0 auto;
}

.bcn-dismiss[b-6ozra8ky2v] {
    color: var(--theme-text-muted);
    text-decoration: none;
    padding: 0.25rem 0.4rem;
}

.bcn-dismiss:hover[b-6ozra8ky2v] {
    color: var(--theme-text);
}
/* /Components/FileManager/FmAssetPicker.razor.rz.scp.css */
/* FmAssetPicker -- scoped styling, mirroring the Storage Explorer (se-*)
   aesthetic with --theme-* tokens. All colors / borders / radii are theme
   tokens so the picker inherits the tenant's brand the same way the rest of
   the FileManager surface does. */

.fmp-overlay[b-s3j4oy86bp] {
    position: fixed;
    inset: 0;
    /* Above the FmUploadDialog (z-index 9999) - the picker is OPENED FROM that dialog's
       "Select from library" link, so it must stack ON TOP of it. At 1080 it opened behind
       the upload box everywhere the two are used together (Forms, Copilot, Message Center). */
    z-index: 10010;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.fmp-dialog[b-s3j4oy86bp] {
    width: min(680px, 96vw);
    max-height: 86vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--theme-background-float);
    color: var(--theme-text);
    border-radius: var(--theme-radius, 10px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

/* ── Header ── */
.fmp-head[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    padding: 0.65rem 1rem;
    background: var(--theme-primary);
    color: var(--theme-text-on-primary);
    font-weight: 600;
    font-size: 0.9rem;
}

.fmp-head-title[b-s3j4oy86bp] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fmp-head-close[b-s3j4oy86bp] {
    background: none;
    border: none;
    padding: 0.2rem;
    line-height: 1;
    font-size: 0.9rem;
    cursor: pointer;
    color: var(--theme-text-on-primary);
    opacity: 0.85;
}

.fmp-head-close:hover[b-s3j4oy86bp] {
    opacity: 1;
}

/* ── Toolbar (source + search) ── */
.fmp-toolbar[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--theme-border);
    background: var(--theme-background-subtle, transparent);
}

.fmp-source[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1;
    min-width: 0;
    color: var(--theme-text-muted);
}

.fmp-source select[b-s3j4oy86bp] {
    flex: 1;
    min-width: 0;
    font-size: 0.78rem;
    padding: 0.25rem 0.4rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button, 0.35rem);
    background: var(--theme-surface, var(--theme-background-raised));
    color: var(--theme-text);
}

.fmp-search[b-s3j4oy86bp] {
    position: relative;
    width: 14rem;
    max-width: 45%;
}

.fmp-search > i[b-s3j4oy86bp] {
    position: absolute;
    left: 0.55rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    color: var(--theme-text-muted);
    pointer-events: none;
}

.fmp-search input[b-s3j4oy86bp] {
    width: 100%;
    font-size: 0.78rem;
    padding: 0.25rem 1.8rem 0.25rem 1.6rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button, 0.35rem);
    background: var(--theme-surface, var(--theme-background-raised));
    color: var(--theme-text);
}

.fmp-search-clear[b-s3j4oy86bp] {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    font-size: 0.75rem;
    cursor: pointer;
    color: var(--theme-text-muted);
}

.fmp-search-clear:hover[b-s3j4oy86bp] {
    color: var(--theme-danger);
}

/* ── Breadcrumb ── */
.fmp-crumbs[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.1rem;
    flex-shrink: 0;
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid var(--theme-border-subtle, var(--theme-border));
    font-size: 0.75rem;
}

.fmp-crumb[b-s3j4oy86bp] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.45rem;
    border: none;
    background: none;
    border-radius: var(--theme-radius-button, 0.35rem);
    color: var(--theme-text-muted);
    white-space: nowrap;
    cursor: pointer;
}

.fmp-crumb:hover[b-s3j4oy86bp] {
    background: var(--theme-background-hover);
    color: var(--theme-text);
}

.fmp-crumb.active[b-s3j4oy86bp] {
    background: var(--theme-background-active);
    color: var(--theme-text);
    font-weight: 600;
}

.fmp-crumb-sep[b-s3j4oy86bp] {
    color: var(--theme-text-muted);
    opacity: 0.4;
    font-size: 0.6rem;
    user-select: none;
}

/* ── Body ── */
.fmp-body[b-s3j4oy86bp] {
    flex: 1;
    overflow-y: auto;
    min-height: 16rem;
}

.fmp-state[b-s3j4oy86bp] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: var(--theme-text-muted);
    font-size: 0.85rem;
}

.fmp-error[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--theme-radius, 0.5rem);
    background: var(--theme-danger-muted);
    color: var(--theme-danger);
    font-size: 0.8rem;
}

.fmp-error button[b-s3j4oy86bp] {
    margin-left: auto;
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
}

/* ── Rows ── */
.fmp-row[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    min-height: 3rem;
    padding: 0.45rem 0.85rem;
    border: none;
    border-bottom: 1px solid var(--theme-border-subtle, var(--theme-border));
    background: none;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.1s;
}

.fmp-row:hover[b-s3j4oy86bp] {
    background: var(--theme-background-hover);
}

.fmp-row.active[b-s3j4oy86bp] {
    background: var(--theme-primary-muted, var(--theme-background-active));
}

.fmp-row-folder .fmp-name[b-s3j4oy86bp] {
    font-weight: 600;
}

.fmp-icon[b-s3j4oy86bp] {
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--theme-text-muted);
    background: var(--theme-background-subtle, transparent);
    border-radius: var(--theme-radius-button, 0.35rem);
}

.fmp-icon-folder[b-s3j4oy86bp] {
    color: var(--theme-warning);
}

.fmp-thumb[b-s3j4oy86bp] {
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    object-fit: cover;
    border-radius: var(--theme-radius-button, 0.35rem);
    border: 1px solid var(--theme-border-subtle, var(--theme-border));
}

.fmp-rowtext[b-s3j4oy86bp] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.fmp-name[b-s3j4oy86bp] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fmp-sub[b-s3j4oy86bp] {
    font-size: 0.68rem;
    color: var(--theme-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fmp-badge[b-s3j4oy86bp] {
    flex-shrink: 0;
    font-size: 0.65rem;
    padding: 0.05rem 0.4rem;
    border-radius: 0.6rem;
    background: var(--theme-background-active);
    color: var(--theme-text-muted);
}

.fmp-badge-type[b-s3j4oy86bp] {
    border-radius: 0.2rem;
    font-weight: 600;
    text-transform: uppercase;
}

.fmp-sensitive[b-s3j4oy86bp] {
    flex-shrink: 0;
    color: var(--theme-danger);
    font-size: 0.85rem;
}

.fmp-row-chevron[b-s3j4oy86bp] {
    flex-shrink: 0;
    font-size: 0.7rem;
    opacity: 0.5;
    color: var(--theme-text-muted);
}

/* ── Footer ── */
.fmp-foot[b-s3j4oy86bp] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    padding: 0.6rem 1rem;
    border-top: 1px solid var(--theme-border);
}

.fmp-foot-info[b-s3j4oy86bp] {
    flex: 1;
    min-width: 0;
    font-size: 0.75rem;
    color: var(--theme-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fmp-foot-sel[b-s3j4oy86bp] {
    color: var(--theme-text);
    font-weight: 600;
}

.fmp-btn[b-s3j4oy86bp] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    padding: 0.35rem 0.9rem;
    border: 1px solid transparent;
    border-radius: var(--theme-radius-button, 0.35rem);
    cursor: pointer;
}

.fmp-btn-ghost[b-s3j4oy86bp] {
    background: none;
    border-color: var(--theme-border);
    color: var(--theme-text);
}

.fmp-btn-ghost:hover[b-s3j4oy86bp] {
    background: var(--theme-background-hover);
}

.fmp-btn-primary[b-s3j4oy86bp] {
    background: var(--theme-primary);
    border-color: var(--theme-primary);
    color: var(--theme-text-on-primary);
}

.fmp-btn-primary:hover:not(:disabled)[b-s3j4oy86bp] {
    background: var(--theme-primary-hover, var(--theme-primary));
}

.fmp-btn-primary:disabled[b-s3j4oy86bp] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Components/HelpTip.razor.rz.scp.css */
/* Inline (?) help popover. CSS-only; --theme-* tokens. */

.helptip[b-tayr1vha5l] {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: help;
    color: var(--theme-text-muted);
    outline: none;
}

.helptip:hover[b-tayr1vha5l],
.helptip:focus[b-tayr1vha5l] {
    color: var(--theme-primary);
}

.helptip-pop[b-tayr1vha5l] {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1080;
    width: max-content;
    max-width: 280px;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background-float);
    color: var(--theme-text);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.12s ease;
    pointer-events: none;
}

.helptip:hover .helptip-pop[b-tayr1vha5l],
.helptip:focus .helptip-pop[b-tayr1vha5l] {
    opacity: 1;
    visibility: visible;
}

/* little arrow */
.helptip-pop[b-tayr1vha5l]::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--theme-border);
}

.helptip-title[b-tayr1vha5l] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.2rem;
    color: var(--theme-primary);
}

.helptip-text[b-tayr1vha5l] {
    display: block;
}
/* /Components/LaunchControl/LaunchCodeEditDialog.razor.rz.scp.css */
/* The edited code's identity chip — monospace, muted, never editable. */
.lce-code[b-p4xvuy6jjm] {
    font-family: var(--theme-font-mono, monospace);
    font-size: 0.8em;
    padding: 0.15rem 0.45rem;
    background: var(--theme-offset);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    color: var(--theme-text);
}
/* /Components/LaunchControl/LaunchFunnel.razor.rz.scp.css */
/* THE FUNNEL — centered shrinking bars, scans → runs → done. */

.lf-funnel[b-75x72r7mid] {
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background);
    padding: 0.9rem 1.1rem;
}

.lf-title[b-75x72r7mid] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--theme-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.6rem;
}

.lf-stages[b-75x72r7mid] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
}

.lf-stage[b-75x72r7mid] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
}

.lf-bar[b-75x72r7mid] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.1rem;
    border-radius: 0.45rem;
    transition: width 0.4s ease;
    color: var(--theme-primary-text, #fff);
}

.lf-bar-scans[b-75x72r7mid] {
    background: var(--theme-primary);
}

.lf-bar-launches[b-75x72r7mid] {
    background: color-mix(in oklch, var(--theme-primary) 55%, var(--theme-success, #198754));
}

.lf-bar-done[b-75x72r7mid] {
    background: var(--theme-success, #198754);
}

.lf-count[b-75x72r7mid] {
    font-weight: 800;
    font-size: 1.05rem;
    text-shadow: 0 1px 2px rgb(0 0 0 / 0.25);
}

.lf-label[b-75x72r7mid] {
    font-size: 0.78rem;
    color: var(--theme-text-muted);
}

.lf-conv[b-75x72r7mid] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--theme-text-secondary);
    line-height: 1.1;
}
/* /Components/LaunchControl/ScanSparkline.razor.rz.scp.css */
.lsp-wrap[b-klazlpugi5] {
    background: var(--theme-background);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 0.9rem 1.1rem;
}

.lsp-head[b-klazlpugi5] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.lsp-title[b-klazlpugi5] {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--theme-text);
}

.lsp-title i[b-klazlpugi5] {
    color: var(--theme-primary);
}

.lsp-total[b-klazlpugi5] {
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--theme-primary);
}

.lsp-bars[b-klazlpugi5] {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 72px;
}

.lsp-bar-col[b-klazlpugi5] {
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

.lsp-bar[b-klazlpugi5] {
    width: 100%;
    border-radius: 2px 2px 0 0;
    background: color-mix(in srgb, var(--theme-primary) 75%, var(--theme-background));
    transition: height 0.2s ease;
}

.lsp-bar-col:hover .lsp-bar[b-klazlpugi5] {
    background: var(--theme-primary);
}

.lsp-bar-zero[b-klazlpugi5] {
    height: 2px !important;
    background: var(--theme-border);
}

.lsp-empty[b-klazlpugi5] {
    color: var(--theme-text-muted);
    font-size: 0.85rem;
    padding: 1.1rem 0;
}

.lsp-axis[b-klazlpugi5] {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    color: var(--theme-text-muted);
    margin-top: 0.25rem;
}
/* /Components/RunnerContextPanel.razor.rz.scp.css */
.rc-panel[b-yu2ipakd3u] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: var(--theme-surface);
    color: var(--theme-text);
}

.rc-header[b-yu2ipakd3u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--theme-border);
}

.rc-title[b-yu2ipakd3u] {
    font-weight: 600;
    font-size: 0.9rem;
}

.rc-body[b-yu2ipakd3u] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rc-label[b-yu2ipakd3u],
.rc-field-label[b-yu2ipakd3u],
.rc-anchor-label[b-yu2ipakd3u],
.rc-issues-label[b-yu2ipakd3u] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--theme-text-muted);
}

.rc-select[b-yu2ipakd3u],
.rc-input[b-yu2ipakd3u] {
    font-size: 0.85rem;
}

.rc-note[b-yu2ipakd3u] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--theme-text-muted);
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-surface-2, var(--theme-background));
}

.rc-anchor[b-yu2ipakd3u] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.6rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
}

.rc-anchor-head[b-yu2ipakd3u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rc-find[b-yu2ipakd3u] {
    background: transparent;
    border: 1px solid var(--theme-border);
    color: var(--theme-primary);
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

.rc-find:hover:not(:disabled)[b-yu2ipakd3u] {
    background: var(--theme-surface-2, var(--theme-background));
    border-color: var(--theme-primary);
}

.rc-field[b-yu2ipakd3u] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.rc-apply[b-yu2ipakd3u] {
    align-self: flex-start;
}

.rc-applied[b-yu2ipakd3u] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--theme-success, #198754);
    background: color-mix(in oklch, var(--theme-success, #198754) 12%, transparent);
    border: 1px solid color-mix(in oklch, var(--theme-success, #198754) 35%, transparent);
    border-radius: var(--theme-radius);
    padding: 0.45rem 0.6rem;
}

.rc-issues[b-yu2ipakd3u] {
    font-size: 0.8rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 0.5rem 0.6rem;
}

.rc-issues ul[b-yu2ipakd3u] {
    margin: 0.3rem 0 0;
    padding-left: 1.1rem;
}

.rc-error[b-yu2ipakd3u] {
    font-size: 0.82rem;
    color: var(--theme-danger, #dc3545);
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--theme-danger, #dc3545);
    border-radius: var(--theme-radius);
}

.rc-empty[b-yu2ipakd3u] {
    font-size: 0.82rem;
    color: var(--theme-text-muted);
    padding: 0.75rem 0;
    text-align: center;
}

/* Record picker overlay */
.rc-picker[b-yu2ipakd3u] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: var(--theme-surface);
    z-index: 5;
}

.rc-picker-head[b-yu2ipakd3u] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.6rem;
    border-bottom: 1px solid var(--theme-border);
}

.rc-picker-search[b-yu2ipakd3u] {
    flex: 1;
    font-size: 0.85rem;
}

.rc-picker-list[b-yu2ipakd3u] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.rc-picker-row[b-yu2ipakd3u] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--theme-radius);
    padding: 0.4rem 0.5rem;
    font-size: 0.85rem;
    color: var(--theme-text);
    cursor: pointer;
}

.rc-picker-row:hover[b-yu2ipakd3u] {
    background: var(--theme-surface-2, var(--theme-background));
    border-color: var(--theme-border);
}

/* Power-tool: paste-anchor-JSON override */
.rc-raw[b-yu2ipakd3u] {
    margin-top: 0.5rem;
}

.rc-raw-toggle[b-yu2ipakd3u] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: transparent;
    border: none;
    color: var(--theme-primary);
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0.15rem 0;
}

.rc-raw-input[b-yu2ipakd3u] {
    margin-top: 0.35rem;
    font-size: 0.8rem;
    resize: vertical;
}
/* /Components/StepRenderAsEditor.razor.rz.scp.css */
/* RenderAs authoring panel - matches the Context Definitions builder polish
   (subtle tinted cards, inline help, theme tokens). All colors via --theme-*. */

.ra-panel[b-jzisnwqz87] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.ra-row[b-jzisnwqz87] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.ra-row-2[b-jzisnwqz87] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.ra-col[b-jzisnwqz87] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.ra-label[b-jzisnwqz87] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--theme-text);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.ra-hint[b-jzisnwqz87] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 50%;
    font-size: 0.7rem;
    font-weight: 700;
    cursor: help;
    color: var(--theme-primary);
    background: color-mix(in oklch, var(--theme-primary) 14%, transparent);
}

.ra-select[b-jzisnwqz87] {
    max-width: 28rem;
}

.ra-listcfg[b-jzisnwqz87] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    border: 1px solid var(--theme-border);
    border-left: 3px solid var(--theme-primary);
    border-radius: var(--theme-radius, 0.5rem);
    background: color-mix(in oklch, var(--theme-primary) 4%, var(--theme-surface));
}

.ra-note[b-jzisnwqz87] {
    font-size: 0.78rem;
    line-height: 1.4;
    padding: 0.5rem 0.65rem;
    border-radius: var(--theme-radius, 0.5rem);
    display: flex;
    align-items: flex-start;
}

.ra-note-info[b-jzisnwqz87] {
    color: var(--theme-text);
    background: color-mix(in oklch, var(--theme-info, var(--theme-primary)) 10%, transparent);
}

.ra-note-warn[b-jzisnwqz87] {
    color: var(--theme-text);
    background: color-mix(in oklch, var(--theme-warning, var(--theme-accent)) 14%, transparent);
}

.ra-note-muted[b-jzisnwqz87] {
    color: var(--theme-text-muted);
    background: color-mix(in oklch, var(--theme-text) 5%, transparent);
}

/* Control-type preview - "here's how this step appears on a chat thread". */
.ra-ct[b-jzisnwqz87] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid var(--theme-border);
    border-left: 3px solid var(--theme-primary);
    border-radius: var(--theme-radius, 0.5rem);
    background: color-mix(in oklch, var(--theme-primary) 6%, var(--theme-surface));
}

.ra-ct-label[b-jzisnwqz87] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--theme-text-muted);
}

.ra-ct-chip[b-jzisnwqz87] {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    font-size: 0.82rem;
    font-weight: 600;
    border-radius: 999px;
    color: var(--theme-text);
    background: color-mix(in oklch, var(--theme-primary) 18%, var(--theme-surface));
    border: 1px solid color-mix(in oklch, var(--theme-primary) 40%, transparent);
}

.ra-toggles[b-jzisnwqz87] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ra-check[b-jzisnwqz87] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: var(--theme-text);
    cursor: pointer;
}

.ra-check input[b-jzisnwqz87] {
    accent-color: var(--theme-primary);
}

.ra-filter[b-jzisnwqz87] {
    margin-top: 0.15rem;
}

.ra-filter-btn[b-jzisnwqz87] {
    font-size: 0.8rem;
}

.ra-surfaces[b-jzisnwqz87] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ra-chips[b-jzisnwqz87] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.ra-chip[b-jzisnwqz87] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.7rem;
    font-size: 0.8rem;
    border-radius: 999px;
    border: 1px solid var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-text-muted);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.ra-chip:hover[b-jzisnwqz87] {
    border-color: var(--theme-primary);
}

.ra-chip-on[b-jzisnwqz87] {
    background: color-mix(in oklch, var(--theme-primary) 16%, var(--theme-surface));
    border-color: var(--theme-primary);
    color: var(--theme-text);
    font-weight: 600;
}

.ra-chip-order[b-jzisnwqz87] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--theme-on-primary, var(--theme-surface));
    background: var(--theme-primary);
}

@media (max-width: 640px) {
    .ra-row-2[b-jzisnwqz87] {
        grid-template-columns: 1fr;
    }

    .ra-select[b-jzisnwqz87] {
        max-width: none;
    }
}
/* /Components/WorkflowLaunchDialog.razor.rz.scp.css */
/* The modal chrome comes from the app's shared .modal styles (wf.css) so this
   dialog matches every other portal dialog. Only the launcher-specific bits are
   styled here, all on --theme-* tokens. */

.wfl-context-chip[b-3dhwtjikip] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 1rem;
    background: var(--theme-offset);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    font-size: 0.875rem;
}

.wfl-context-chip > .bi[b-3dhwtjikip] {
    color: var(--theme-primary);
}

.wfl-context-label[b-3dhwtjikip] {
    color: var(--theme-text-muted, #6c757d);
}

.wfl-context-name[b-3dhwtjikip] {
    font-family: var(--theme-font-mono, monospace);
    font-weight: 600;
    margin-left: auto;
}

.wfl-record-list[b-3dhwtjikip] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 16rem;
    overflow-y: auto;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 0.35rem;
}

.wfl-record[b-3dhwtjikip] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-align: left;
    background: transparent;
    color: var(--theme-text);
    border: 1px solid transparent;
    border-radius: var(--theme-radius-button);
    padding: 0.45rem 0.65rem;
    cursor: pointer;
    font-family: var(--theme-font-mono, monospace);
    font-size: 0.875rem;
    transition: background-color 0.12s ease, border-color 0.12s ease;
}

.wfl-record > .bi[b-3dhwtjikip] {
    color: var(--theme-primary);
    flex-shrink: 0;
}

.wfl-record:hover[b-3dhwtjikip] {
    background: var(--theme-offset);
}

.wfl-record.active[b-3dhwtjikip] {
    background: var(--theme-primary);
    color: var(--theme-on-primary, #fff);
    border-color: var(--theme-primary);
}

.wfl-record.active > .bi[b-3dhwtjikip] {
    color: var(--theme-on-primary, #fff);
}

.wfl-empty[b-3dhwtjikip] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 1.5rem;
    color: var(--theme-text-muted, #6c757d);
    font-size: 0.875rem;
}

.wfl-empty > .bi[b-3dhwtjikip] {
    font-size: 1.75rem;
    opacity: 0.5;
}

.wfl-success[b-3dhwtjikip] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1.5rem 1rem;
    text-align: center;
}

.wfl-success-icon[b-3dhwtjikip] {
    font-size: 2.5rem;
    color: var(--theme-success, #198754);
}

.wfl-success-text[b-3dhwtjikip] {
    margin: 0;
    color: var(--theme-text);
}
/* /Components/WorkflowLaunchpad.razor.rz.scp.css */
.wf-launchpad[b-86xumotbet] {
    background: var(--theme-background);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 1rem 1.25rem;
}

.wf-launchpad-head[b-86xumotbet] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.wf-launchpad-title[b-86xumotbet] {
    font-weight: 700;
    color: var(--theme-text);
    white-space: nowrap;
}

.wf-launchpad-title i[b-86xumotbet] {
    color: var(--theme-primary);
}

.wf-launchpad-search[b-86xumotbet] {
    max-width: 260px;
}

.wf-launchpad-list[b-86xumotbet] {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.wf-launchpad-row[b-86xumotbet] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.45rem 0.25rem;
    border-bottom: 1px solid var(--theme-border);
}

.wf-launchpad-row:last-child[b-86xumotbet] {
    border-bottom: none;
}

.wf-launchpad-name[b-86xumotbet] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9rem;
    color: var(--theme-text);
}

.wf-launchpad-run[b-86xumotbet] {
    flex-shrink: 0;
}

.wf-launchpad-empty[b-86xumotbet] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 1.5rem;
    color: var(--theme-text-muted);
    font-size: 0.85rem;
}

.wf-launchpad-empty i[b-86xumotbet] {
    font-size: 1.5rem;
}
/* /Components/WorkflowQrDialog.razor.rz.scp.css */
/* Download split-menu on the QR dialog — mirrors the shared context menu
   (.ctx-menu / .ctx-item in app.css) so "Download ▾" reads like the row "…" menu. */

.qr-dl[b-exvm2pegl8] {
    position: relative;
    display: inline-block;
}

.qr-dl-caret[b-exvm2pegl8] {
    font-size: 0.7rem;
    opacity: 0.7;
}

.qr-dl-backdrop[b-exvm2pegl8] {
    position: fixed;
    inset: 0;
    z-index: 10;
}

.qr-dl-menu[b-exvm2pegl8] {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
    min-width: 15rem;
    max-width: calc(100vw - 2rem);
    background: var(--theme-background-float, #fff);
    color: var(--theme-text, #212529);
    border: 1px solid var(--theme-border, #e2e6eb);
    border-radius: var(--theme-radius, 8px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    padding: 0.4rem;
    text-align: left;
    animation: qr-dl-appear-b-exvm2pegl8 0.12s ease-out;
}

@keyframes qr-dl-appear-b-exvm2pegl8 {
    from { opacity: 0; transform: translate(-50%, -6px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}

.qr-dl-item[b-exvm2pegl8] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    padding: 0.5rem 0.7rem;
    border: none;
    background: none;
    border-radius: var(--theme-radius-button, 6px);
    cursor: pointer;
    transition: background 0.12s;
    font-size: 0.85rem;
    color: var(--theme-text-emphasis, var(--theme-text, #2c3e50));
    text-align: left;
}

.qr-dl-item:hover[b-exvm2pegl8] {
    background: var(--theme-background-hover, rgba(0, 0, 0, 0.04));
}

.qr-dl-item > i[b-exvm2pegl8] {
    font-size: 1.05rem;
    width: 20px;
    text-align: center;
    flex-shrink: 0;
    color: var(--theme-primary);
}

.qr-dl-label[b-exvm2pegl8] {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.qr-dl-label > small[b-exvm2pegl8] {
    color: var(--theme-text-muted, #6c757d);
    font-size: 0.72rem;
}

.qr-dl-divider[b-exvm2pegl8] {
    height: 1px;
    background: var(--theme-border, #e2e6eb);
    margin: 0.3rem 0.25rem;
}

/* Launch Control - the embed snippet block */
.lc-embed-code[b-exvm2pegl8] {
    font-family: var(--theme-font-mono, ui-monospace, "Cascadia Code", monospace);
    font-size: 0.72rem;
    line-height: 1.45;
    text-align: left;
    white-space: pre;
    background: var(--theme-background-subtle);
    color: var(--theme-text);
    resize: none;
}
/* /Components/Workflows/Steps/ConnectedBadge.razor.rz.scp.css */
/* Connected vs workflow-only chip. Connected (green) = the captured answer
   sinks to a real entity row via the WorkflowConsumer sink; workflow-only
   (muted) = it lives only in the run. All colors via --theme-* tokens. */

.wf-conn[b-claytlfg0v] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
}

.wf-conn-sm[b-claytlfg0v] {
    font-size: 0.62rem;
    padding: 0.15rem 0.4rem;
    gap: 0.2rem;
}

.wf-conn i[b-claytlfg0v] {
    font-size: 0.9em;
}

.wf-conn-on[b-claytlfg0v] {
    color: var(--theme-success);
    background: var(--theme-success-muted);
    border-color: color-mix(in oklch, var(--theme-success) 35%, transparent);
}

.wf-conn-off[b-claytlfg0v] {
    color: var(--theme-text-muted);
    background: color-mix(in oklch, var(--theme-text-muted) 10%, transparent);
    border-color: var(--theme-border);
}
/* /Components/Workflows/Steps/StepFilesBody.razor.rz.scp.css */
/* StepFilesBody — the Files-step capture editor.
   The mode selector makes "labeled slots vs free-form" a clear, tactile
   choice. All colors route through --theme-* so it reads on light, dark,
   and custom-branded tenants. No hardcoded hex. */

.sf-mode-grid[b-fwwj5bpzaa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.sf-mode-card[b-fwwj5bpzaa] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.85rem 1rem;
    text-align: left;
    border: 2px solid var(--theme-border);
    border-radius: var(--theme-radius, 0.4rem);
    background: var(--theme-surface, var(--theme-background));
    color: var(--theme-text);
    cursor: pointer;
    transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}

.sf-mode-card:hover:not(:disabled)[b-fwwj5bpzaa] {
    border-color: var(--theme-primary);
    background: var(--theme-background-hover);
}

.sf-mode-card:disabled[b-fwwj5bpzaa] {
    opacity: 0.6;
    cursor: default;
}

.sf-mode-card.sf-selected[b-fwwj5bpzaa] {
    border-color: var(--theme-primary);
    background: var(--theme-primary-muted, var(--theme-background-hover));
    box-shadow: 0 0 0 1px var(--theme-primary) inset;
}

.sf-mode-icon[b-fwwj5bpzaa] {
    font-size: 1.4rem;
    color: var(--theme-primary);
    margin-bottom: 0.1rem;
}

.sf-mode-title[b-fwwj5bpzaa] {
    font-weight: 600;
    font-size: 0.95rem;
}

.sf-mode-desc[b-fwwj5bpzaa] {
    font-size: 0.8rem;
    line-height: 1.3;
    color: var(--theme-text-muted);
}

/* ── Free-form range inputs ── */
.sf-counts[b-fwwj5bpzaa] {
    display: flex;
    align-items: flex-end;
    gap: 0.6rem;
    max-width: 380px;
}

.sf-count-field[b-fwwj5bpzaa] {
    flex: 1;
}

.sf-count-sep[b-fwwj5bpzaa] {
    padding-bottom: 0.45rem;
    color: var(--theme-text-muted);
    font-weight: 600;
}

.sf-summary[b-fwwj5bpzaa] {
    margin-top: 0.6rem;
    font-size: 0.85rem;
    color: var(--theme-text-muted);
    display: flex;
    align-items: center;
}

.sf-summary.sf-invalid[b-fwwj5bpzaa] {
    color: var(--theme-danger);
    font-weight: 600;
}
/* /Components/Workflows/WorkflowAreaHeader.razor.rz.scp.css */
/* ── The Workflow-area chrome — tabs + the how-it-fits explainer ─────── */

.wfa-head[b-dvcpewttpi] {
    margin-bottom: 0.75rem;
}

.wfa-tabs[b-dvcpewttpi] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    border-bottom: 2px solid var(--theme-border);
    flex-wrap: wrap;
}

.wfa-tab[b-dvcpewttpi] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.9rem;
    margin-bottom: -2px;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--theme-text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 120ms ease, border-color 120ms ease;
}

.wfa-tab:hover[b-dvcpewttpi] {
    color: var(--theme-text);
}

.wfa-tab.is-active[b-dvcpewttpi] {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
}

.wfa-help-toggle[b-dvcpewttpi] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-left: 0.75rem;
    padding: 0.3rem 0.6rem;
    font-size: 0.8rem;
    color: var(--theme-text-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--theme-radius-button);
    cursor: pointer;
}

.wfa-help-toggle:hover[b-dvcpewttpi],
.wfa-help-toggle.is-open[b-dvcpewttpi] {
    color: var(--theme-primary);
    background: color-mix(in srgb, var(--theme-primary) 8%, transparent);
}

.wfa-help-caret[b-dvcpewttpi] {
    font-size: 0.7rem;
    transition: transform 120ms ease;
}

.wfa-help-toggle.is-open .wfa-help-caret[b-dvcpewttpi] {
    transform: rotate(180deg);
}

.wfa-launch[b-dvcpewttpi] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-left: auto;
    padding: 0.35rem 0.8rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-primary);
    text-decoration: none;
    border: 1px solid color-mix(in srgb, var(--theme-primary) 35%, transparent);
    border-radius: 999px;
    transition: background-color 120ms ease;
}

.wfa-launch:hover[b-dvcpewttpi] {
    background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
}

/* The workflow -> kit -> job set -> job story band. */
.wfa-how[b-dvcpewttpi] {
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
    flex-wrap: wrap;
    padding: 0.9rem 1rem;
    margin-top: 0.6rem;
    background: color-mix(in srgb, var(--theme-primary) 5%, var(--theme-background));
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
}

.wfa-how-step[b-dvcpewttpi] {
    display: flex;
    gap: 0.6rem;
    flex: 1 1 200px;
    min-width: 180px;
}

.wfa-how-step > i[b-dvcpewttpi] {
    font-size: 1.25rem;
    color: var(--theme-primary);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.wfa-how-name[b-dvcpewttpi] {
    font-weight: 700;
    font-size: 0.85rem;
}

.wfa-how-text[b-dvcpewttpi] {
    font-size: 0.8rem;
    color: var(--theme-text-muted);
    line-height: 1.45;
}

.wfa-how-arrow[b-dvcpewttpi] {
    align-self: center;
    color: var(--theme-text-muted);
    opacity: 0.6;
    flex-shrink: 0;
}

@media (max-width: 900px) {
    .wfa-how-arrow[b-dvcpewttpi] {
        display: none;
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Styles moved to wwwroot/css/pages.css */
/* /Layout/TopNav.razor.rz.scp.css */
/* Nav styles are in wwwroot/css/nav.css (global) because Blazor CSS
   isolation cannot reach NavLink-rendered <a> elements. */
/* /Pages/ContextDefinitions/Components/ContextConceptsExplainer.razor.rz.scp.css */
/* Context concepts explainer modal. --theme-* tokens. */

.cd-edu-intro[b-157sxoszag] {
    font-size: 0.95rem;
    color: var(--theme-text);
    margin-bottom: 1.25rem;
}

.cd-edu-section[b-157sxoszag] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--theme-border);
}

.cd-edu-section:last-child[b-157sxoszag] {
    border-bottom: none;
    margin-bottom: 0;
}

.cd-edu-section h6[b-157sxoszag] {
    font-weight: 600;
    color: var(--theme-primary);
    margin-bottom: 0.4rem;
}

.cd-edu-section p[b-157sxoszag] {
    font-size: 0.875rem;
    color: var(--theme-text);
    margin-bottom: 0.5rem;
}

.cd-edu-section ul[b-157sxoszag] {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.cd-edu-section li[b-157sxoszag] {
    font-size: 0.85rem;
    color: var(--theme-text);
    padding: 0.25rem 0;
}

.cd-edu-section li i[b-157sxoszag] {
    color: var(--theme-primary);
}
/* /Pages/ContextDefinitions/ContextDefinitionEditor.razor.rz.scp.css */
/* Start-fresh wizard (#27 follow-up). --theme-* tokens only. */

.cd-starter[b-b4wegxj5gc] {
    border-color: var(--theme-primary-muted);
}

.cd-starter-grid[b-b4wegxj5gc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.75rem;
}

.cd-starter-card[b-b4wegxj5gc] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background-subtle);
    padding: 0.75rem 0.85rem;
}

.cd-starter-head[b-b4wegxj5gc] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.cd-starter-title[b-b4wegxj5gc] {
    font-weight: 600;
    color: var(--theme-text);
}

.cd-starter-anchor[b-b4wegxj5gc] {
    font-size: 0.78rem;
    color: var(--theme-text-secondary);
}

.cd-starter-chips[b-b4wegxj5gc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.cd-starter-chip[b-b4wegxj5gc] {
    font-size: 0.74rem;
    padding: 0.1rem 0.45rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background-raised);
    color: var(--theme-text);
}
/* /Pages/ContextDefinitions/ContextDefinitionList.razor.rz.scp.css */
/* Auto-recommend panel (#27) - "Recommended contexts" above the saved list.
   Colors / borders / radii all reference --theme-* tokens per platform doctrine. */

.cd-rec-panel[b-0hv5o1uswr] {
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background-subtle);
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
}

.cd-rec-head[b-0hv5o1uswr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.cd-rec-headtext[b-0hv5o1uswr] {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
}

.cd-rec-title[b-0hv5o1uswr] {
    font-weight: 600;
    color: var(--theme-primary);
}

.cd-rec-count[b-0hv5o1uswr] {
    font-size: 0.85rem;
    color: var(--theme-text-muted);
}

.cd-rec-intro[b-0hv5o1uswr] {
    margin: 0.5rem 0 0.9rem;
    font-size: 0.875rem;
    color: var(--theme-text-muted);
}

.cd-rec-grid[b-0hv5o1uswr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0.85rem;
}

.cd-rec-card[b-0hv5o1uswr] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-background-raised);
    padding: 0.85rem 0.95rem;
}

.cd-rec-card-head[b-0hv5o1uswr] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.cd-rec-card-title[b-0hv5o1uswr] {
    margin: 0;
    font-weight: 600;
    color: var(--theme-text);
}

.cd-rec-anchor[b-0hv5o1uswr] {
    font-size: 0.8rem;
    color: var(--theme-text-secondary);
}

.cd-rec-chips[b-0hv5o1uswr] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.cd-rec-chip[b-0hv5o1uswr] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.78rem;
    padding: 0.15rem 0.5rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius-button);
    background: var(--theme-background-subtle);
    color: var(--theme-text);
}

.cd-rec-chip i[b-0hv5o1uswr] {
    color: var(--theme-primary);
}

.cd-rec-card-foot[b-0hv5o1uswr] {
    display: flex;
    align-items: center;
    margin-top: auto;
}

.cd-rec-reaches[b-0hv5o1uswr] {
    font-size: 0.78rem;
    color: var(--theme-text-muted);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    cursor: default;
    margin-right: auto; /* push the AI Refine + Build buttons to the right edge */
}
.cd-rec-reaches i[b-0hv5o1uswr] {
    font-size: 0.85rem;
    opacity: 0.75;
}
/* Compact footer actions: AI = icon + short label, Build = icon-only "+". */
.cd-rec-ai[b-0hv5o1uswr] {
    white-space: nowrap;
}
.cd-rec-build[b-0hv5o1uswr] {
    min-width: 2.1rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
/* /Pages/Diagram/EntityDiagram.razor.rz.scp.css */
/* Styles moved to wwwroot/css/pages.css */
/* /Pages/Home.razor.rz.scp.css */
/* Styles moved to wwwroot/css/pages.css */
/* /Pages/Ops/AdminDashboard.razor.rz.scp.css */
/* Docked-copilot shell (mirrors EssenceWorkCenter's .ess-page layout):
   the main content flexes, the right column reserves the copilot panel's
   width so the fixed slide-out lands on reserved space instead of
   covering the tiles. */

.admdash-page[b-v4o54zclxf] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.admdash-main[b-v4o54zclxf] {
    flex: 1 1 auto;
    min-width: 0;
}

.admdash-copilot[b-v4o54zclxf] {
    flex: 0 0 380px;
    position: sticky;
    top: 1rem;
}

.admdash-copilot-hint[b-v4o54zclxf] {
    font-size: 0.85rem;
    color: var(--theme-text-muted);
    margin-bottom: 0.5rem;
}

.admdash-copilot-open[b-v4o54zclxf] {
    width: 100%;
    margin-bottom: 0.5rem;
}

/* ── The tab bar (the LEARN + DISCOVER + DO center) ─────────────────── */

.dash-tabs[b-v4o54zclxf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    border-bottom: 1px solid var(--theme-border);
    margin: 1.25rem 0 1rem;
}

.dash-tab[b-v4o54zclxf] {
    appearance: none;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.5rem 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 500;
    color: var(--theme-text-muted);
    cursor: pointer;
    border-radius: 8px 8px 0 0;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.dash-tab:hover[b-v4o54zclxf] {
    color: var(--theme-text);
    background: color-mix(in srgb, var(--theme-primary) 7%, transparent);
}

.dash-tab.active[b-v4o54zclxf] {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
}

.dash-tab-count[b-v4o54zclxf] {
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-accent) 18%, transparent);
    color: var(--theme-accent);
}

.dash-tab-sub[b-v4o54zclxf] {
    color: var(--theme-text-muted);
    font-size: 0.92rem;
    margin: 0 0 1rem;
}

/* ── Descriptive tiles (title + one honest sentence + deep link) ─────── */

.dash-tiles[b-v4o54zclxf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.9rem;
}

.dash-tile[b-v4o54zclxf] {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.95rem 1.05rem;
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    background: var(--theme-background-raised);
    color: var(--theme-text);
    text-decoration: none;
    text-align: left;
    transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}

.dash-tile:hover[b-v4o54zclxf] {
    color: var(--theme-text);
    border-color: color-mix(in srgb, var(--theme-primary) 45%, var(--theme-border));
    transform: translateY(-1px);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-primary) 12%, transparent);
}

.dash-tile-btn[b-v4o54zclxf] {
    cursor: pointer;
    font: inherit;
}

.dash-tile-icon[b-v4o54zclxf] {
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--theme-primary);
    background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
    border-radius: 10px;
}

.dash-tile-body[b-v4o54zclxf] {
    min-width: 0;
}

.dash-tile-title[b-v4o54zclxf] {
    font-weight: 600;
    margin-bottom: 0.15rem;
}

.dash-tile-desc[b-v4o54zclxf] {
    font-size: 0.85rem;
    line-height: 1.35;
    color: var(--theme-text-muted);
}

.dash-tile-action[b-v4o54zclxf] {
    margin-top: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-primary);
}

/* ── THE ESSENCE BOX (Meaning tab) ──────────────────────────────────── */

.dash-essence[b-v4o54zclxf] {
    border: 1px solid color-mix(in srgb, var(--theme-accent) 40%, var(--theme-border));
    border-radius: 14px;
    padding: 1.4rem 1.5rem;
    background: color-mix(in srgb, var(--theme-accent) 6%, var(--theme-background-raised));
    max-width: 720px;
}

.dash-essence-head[b-v4o54zclxf] {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--theme-accent);
    margin-bottom: 0.6rem;
}

.dash-essence-para[b-v4o54zclxf] {
    color: var(--theme-text);
    line-height: 1.5;
    margin-bottom: 0.9rem;
}

.dash-essence-count-row[b-v4o54zclxf] {
    margin-bottom: 0.9rem;
}

.dash-essence-count[b-v4o54zclxf] {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--theme-accent);
}

.dash-essence-done[b-v4o54zclxf] {
    font-weight: 600;
    color: var(--theme-success);
}

.dash-essence-muted[b-v4o54zclxf] {
    color: var(--theme-text-muted);
}

.dash-essence-open[b-v4o54zclxf] {
    margin-bottom: 1rem;
}

.dash-essence-how[b-v4o54zclxf] {
    border-top: 1px solid color-mix(in srgb, var(--theme-accent) 25%, var(--theme-border));
    padding-top: 0.9rem;
}

.dash-essence-how-title[b-v4o54zclxf] {
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.dash-essence-how-list[b-v4o54zclxf] {
    margin: 0;
    padding-left: 1.2rem;
    color: var(--theme-text-muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

@media (max-width: 1100px) {
    .admdash-page[b-v4o54zclxf] {
        flex-direction: column;
    }

    .admdash-copilot[b-v4o54zclxf] {
        position: static;
        width: 100%;
        flex-basis: auto;
    }
}
/* /Pages/Ops/BillingCenter.razor.rz.scp.css */
/* THE BILLING CENTER - header on one line + sticky sub-table headers. */

.bill-header[b-oexj2irqgt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.bill-controls[b-oexj2irqgt] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
}

/* Every table on this page keeps its header visible while its body scrolls
   (the drill's day-by-day scroller and the summary's table-responsive). */
[b-oexj2irqgt] .table-responsive thead th,
[b-oexj2irqgt] .bill-scroll thead th {
    position: sticky;
    top: 0;
    background: var(--theme-background-raised);
    z-index: 1;
}

/* The subtitle row: the honest one-liner left, the quick links right. */
.bill-sub[b-oexj2irqgt] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.bill-links[b-oexj2irqgt] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
}

.bill-links a[b-oexj2irqgt] {
    text-decoration: none;
    white-space: nowrap;
}

/* THE P&L HEADLINE STRIP - the window at a glance, profit as centerpiece. */
.bill-hero[b-oexj2irqgt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.bill-tile[b-oexj2irqgt] {
    background: var(--theme-background-raised);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 0.5rem 1rem;
    min-width: 10rem;
}

.bill-tile-label[b-oexj2irqgt] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--theme-text-muted);
}

.bill-tile-value[b-oexj2irqgt] {
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--theme-text);
}

.bill-tile-sub[b-oexj2irqgt] {
    font-size: 0.72rem;
    color: var(--theme-text-muted);
}

.bill-tile-accent[b-oexj2irqgt] {
    border-color: color-mix(in srgb, var(--theme-primary) 45%, transparent);
    background: color-mix(in srgb, var(--theme-primary) 8%, var(--theme-background-raised));
}

/* The per-row setup summary under the tenant name (mode / auto-bill / AP). */
.bill-setup[b-oexj2irqgt] {
    font-size: 0.72rem;
}

/* Invoice rows minted by the release the user just ran. */
[b-oexj2irqgt] .bill-inv-new td {
    background: color-mix(in srgb, var(--theme-primary) 9%, transparent);
}
/* /Pages/Ops/EssenceWorkCenter.razor.rz.scp.css */
.ess-page[b-wmxx7xkr0j] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.ess-main[b-wmxx7xkr0j] {
    flex: 1 1 auto;
    min-width: 0;
}

.ess-copilot[b-wmxx7xkr0j] {
    flex: 0 0 380px;
    position: sticky;
    top: 1rem;
}

.ess-copilot-hint[b-wmxx7xkr0j] {
    font-size: 0.85rem;
    color: var(--theme-text-muted);
    margin-bottom: 0.5rem;
}

.ess-header[b-wmxx7xkr0j] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.ess-title[b-wmxx7xkr0j] {
    margin: 0;
    color: var(--theme-text);
}

.ess-subtitle[b-wmxx7xkr0j] {
    color: var(--theme-text-muted);
    font-size: 0.9rem;
    max-width: 46rem;
}

.ess-controls[b-wmxx7xkr0j] {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.ess-search[b-wmxx7xkr0j] {
    width: 16rem;
}

.ess-toggle[b-wmxx7xkr0j] {
    white-space: nowrap;
    color: var(--theme-text);
    font-size: 0.9rem;
    display: flex;
    gap: 0.35rem;
    align-items: center;
    margin: 0;
}

.ess-section[b-wmxx7xkr0j] {
    margin-bottom: 1.5rem;
}

.ess-section-title[b-wmxx7xkr0j] {
    color: var(--theme-text);
    border-bottom: 1px solid var(--theme-border);
    padding-bottom: 0.35rem;
}

/* Collapsible headers (digestibility pass): sections + per-entity groups fold. */
.ess-fold[b-wmxx7xkr0j] {
    cursor: pointer;
    user-select: none;
}

.ess-fold:hover[b-wmxx7xkr0j] {
    color: var(--theme-primary);
}

.ess-fold .bi-chevron-down[b-wmxx7xkr0j],
.ess-fold .bi-chevron-right[b-wmxx7xkr0j] {
    font-size: 0.8rem;
    margin-right: 0.25rem;
    color: var(--theme-text-muted);
}

.ess-count[b-wmxx7xkr0j] {
    color: var(--theme-text-muted);
    font-size: 0.85rem;
    font-weight: normal;
}

.ess-row[b-wmxx7xkr0j] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--theme-border);
}

.ess-row-name[b-wmxx7xkr0j] {
    flex: 0 0 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-top: 0.35rem;
    font-size: 0.9rem;
}

.ess-name[b-wmxx7xkr0j] {
    color: var(--theme-text);
    font-weight: 600;
}

.ess-sub[b-wmxx7xkr0j] {
    color: var(--theme-text-muted);
}

.ess-text[b-wmxx7xkr0j] {
    flex: 1 1 auto;
    min-width: 0;
    background: var(--theme-surface);
    color: var(--theme-text);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius, 0.375rem);
    padding: 0.35rem 0.5rem;
    font-size: 0.9rem;
    resize: vertical;
}

.ess-actions[b-wmxx7xkr0j] {
    flex: 0 0 5.5rem;
    padding-top: 0.3rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.ess-saved[b-wmxx7xkr0j] {
    color: var(--theme-success, var(--theme-primary));
    font-size: 0.85rem;
}

.ess-error[b-wmxx7xkr0j] {
    color: var(--theme-danger);
    font-size: 0.85rem;
}

.ess-loading[b-wmxx7xkr0j] {
    padding: 2rem;
    text-align: center;
}

@media (max-width: 1100px) {
    .ess-page[b-wmxx7xkr0j] {
        flex-direction: column;
    }

    .ess-copilot[b-wmxx7xkr0j] {
        position: static;
        width: 100%;
        flex-basis: auto;
    }
}

.ess-desc[b-wmxx7xkr0j] {
    color: var(--theme-text-muted);
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ess-badges[b-wmxx7xkr0j] {
    color: var(--theme-text-muted);
    font-size: 0.72rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius, 0.375rem);
    padding: 0 0.3rem;
    margin-left: 0.4rem;
    white-space: nowrap;
}

.ess-subsection[b-wmxx7xkr0j] {
    margin: 0.6rem 0 0.9rem 0;
}

.ess-subsection-title[b-wmxx7xkr0j] {
    color: var(--theme-text);
    margin: 0 0 0.15rem 0;
    font-size: 0.95rem;
}

.ess-import-status[b-wmxx7xkr0j] {
    color: var(--theme-text);
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius, 0.375rem);
    padding: 0.35rem 0.6rem;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
}
/* /Pages/Ops/GlobalDashboard.razor.rz.scp.css */
/* Docked-copilot shell (mirrors EssenceWorkCenter's .ess-page layout):
   the main content flexes, the right column reserves the copilot panel's
   width so the fixed slide-out lands on reserved space instead of
   covering the widgets. */

.gd-page[b-p1la1daz44] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.gd-main[b-p1la1daz44] {
    flex: 1 1 auto;
    min-width: 0;
}

.gd-copilot[b-p1la1daz44] {
    flex: 0 0 380px;
    position: sticky;
    top: 1rem;
}

.gd-copilot-hint[b-p1la1daz44] {
    font-size: 0.85rem;
    color: var(--theme-text-muted);
    margin-bottom: 0.5rem;
}

.gd-copilot-open[b-p1la1daz44] {
    width: 100%;
    margin-bottom: 0.5rem;
}

/* ── The tab bar (the operator-of-operators console) ────────────────── */

.dash-tabs[b-p1la1daz44] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    border-bottom: 1px solid var(--theme-border);
    margin: 1.25rem 0 1rem;
}

.dash-tab[b-p1la1daz44] {
    appearance: none;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.5rem 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 500;
    color: var(--theme-text-muted);
    cursor: pointer;
    border-radius: 8px 8px 0 0;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.dash-tab:hover[b-p1la1daz44] {
    color: var(--theme-text);
    background: color-mix(in srgb, var(--theme-primary) 7%, transparent);
}

.dash-tab.active[b-p1la1daz44] {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
}

.dash-tab-sub[b-p1la1daz44] {
    color: var(--theme-text-muted);
    font-size: 0.92rem;
    margin: 0 0 1rem;
}

/* ── Descriptive tiles (title + one honest sentence + deep link) ─────── */

.dash-tiles[b-p1la1daz44] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0.9rem;
}

.dash-tile[b-p1la1daz44] {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 0.95rem 1.05rem;
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    background: var(--theme-background-raised);
    color: var(--theme-text);
    text-decoration: none;
    text-align: left;
    transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}

.dash-tile:hover[b-p1la1daz44] {
    color: var(--theme-text);
    border-color: color-mix(in srgb, var(--theme-primary) 45%, var(--theme-border));
    transform: translateY(-1px);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--theme-primary) 12%, transparent);
}

.dash-tile-btn[b-p1la1daz44] {
    cursor: pointer;
    font: inherit;
}

.dash-tile-icon[b-p1la1daz44] {
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--theme-primary);
    background: color-mix(in srgb, var(--theme-primary) 10%, transparent);
    border-radius: 10px;
}

.dash-tile-body[b-p1la1daz44] {
    min-width: 0;
}

.dash-tile-title[b-p1la1daz44] {
    font-weight: 600;
    margin-bottom: 0.15rem;
}

.dash-tile-desc[b-p1la1daz44] {
    font-size: 0.85rem;
    line-height: 1.35;
    color: var(--theme-text-muted);
}

.dash-tile-action[b-p1la1daz44] {
    margin-top: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-primary);
}

@media (max-width: 1100px) {
    .gd-page[b-p1la1daz44] {
        flex-direction: column;
    }

    .gd-copilot[b-p1la1daz44] {
        position: static;
        width: 100%;
        flex-basis: auto;
    }
}
/* /Pages/Ops/GlobalLaunchCodes.razor.rz.scp.css */
/* The global console mirrors the Launch Control center's table vocabulary. */
.glc-code[b-2w8mj3jqy1] {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--theme-primary);
}

.glc-chip[b-2w8mj3jqy1] {
    background: var(--theme-primary-muted);
    color: var(--theme-primary);
    font-weight: 600;
}

.glc-empty[b-2w8mj3jqy1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: var(--theme-text-muted);
}

.glc-empty i[b-2w8mj3jqy1] {
    font-size: 2rem;
}

.glc-table th[b-2w8mj3jqy1] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--theme-text-muted);
}
/* /Pages/Ops/LaunchControlCenter.razor.rz.scp.css */
.lcc-code[b-mabrm3w92k] {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--theme-primary);
}

.lcc-chip[b-mabrm3w92k] {
    background: var(--theme-primary-muted);
    color: var(--theme-primary);
    font-weight: 600;
}

.lcc-empty[b-mabrm3w92k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: var(--theme-text-muted);
}

.lcc-empty i[b-mabrm3w92k] {
    font-size: 2rem;
}

.lcc-chip-lg[b-mabrm3w92k] {
    font-size: 0.85rem;
    padding: 0.4rem 0.7rem;
}

.lcc-kpis[b-mabrm3w92k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.lcc-kpi[b-mabrm3w92k] {
    background: var(--theme-background);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 0.9rem 1.1rem;
}

.lcc-kpi-value[b-mabrm3w92k] {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--theme-text);
    line-height: 1.2;
}

.lcc-kpi-text[b-mabrm3w92k] {
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lcc-viz-row[b-mabrm3w92k] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    align-items: stretch;
}

@media (max-width: 900px) {
    .lcc-viz-row[b-mabrm3w92k] {
        grid-template-columns: 1fr;
    }
}

.lcc-kpi-sub[b-mabrm3w92k] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--theme-text-muted);
    margin-left: 0.25rem;
}

.lcc-kpi-label[b-mabrm3w92k] {
    font-size: 0.78rem;
    color: var(--theme-text-muted);
    margin-top: 0.15rem;
}

.lcc-kpi-label i[b-mabrm3w92k] {
    color: var(--theme-primary);
}

.lcc-section-title[b-mabrm3w92k] {
    font-weight: 700;
    color: var(--theme-text);
    margin-bottom: 0.6rem;
}

.lcc-top-grid[b-mabrm3w92k] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 0.75rem;
}

.lcc-top-card[b-mabrm3w92k] {
    display: block;
    background: var(--theme-background);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 0.8rem 1rem;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lcc-top-card:hover[b-mabrm3w92k] {
    border-color: var(--theme-primary);
    box-shadow: 0 2px 10px color-mix(in srgb, var(--theme-primary) 18%, transparent);
}

.lcc-top-name[b-mabrm3w92k] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--theme-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lcc-top-name i[b-mabrm3w92k] {
    color: var(--theme-primary);
}

.lcc-top-scans[b-mabrm3w92k] {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--theme-primary);
    line-height: 1.3;
}

.lcc-top-meta[b-mabrm3w92k] {
    font-size: 0.75rem;
    color: var(--theme-text-muted);
}

.lcc-wf-link[b-mabrm3w92k] {
    color: var(--theme-text);
    text-decoration: none;
    font-weight: 500;
}

.lcc-wf-link:hover[b-mabrm3w92k] {
    color: var(--theme-primary);
    text-decoration: underline;
}
/* /Pages/Ops/PaymentCenter.razor.rz.scp.css */
/* Payment Center - Message-Center-family styling, all --theme-* tokens. */

.pc-tabs[b-6nchbz4xt6] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 1px solid var(--theme-border);
    margin: 0 0 1rem 0;
    flex-wrap: wrap;
}

.pc-tab[b-6nchbz4xt6] {
    appearance: none;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--theme-text-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.pc-tab:hover[b-6nchbz4xt6] {
    color: var(--theme-text);
}

.pc-tab-active[b-6nchbz4xt6] {
    color: var(--theme-offset);
    border-bottom-color: var(--theme-offset);
}

/* ---- overview cards ---- */
.pc-cards[b-6nchbz4xt6] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.pc-card[b-6nchbz4xt6] {
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    padding: 1rem 1.1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.pc-card-label[b-6nchbz4xt6] {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--theme-text-muted);
}

.pc-card-value[b-6nchbz4xt6] {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--theme-text);
    margin: 0.2rem 0 0.1rem 0;
    line-height: 1.1;
}

.pc-card-value.pc-ok[b-6nchbz4xt6] {
    color: var(--theme-success, #1e7e34);
}

.pc-card-value.pc-warn[b-6nchbz4xt6] {
    color: var(--theme-warning, #b26a00);
}

.pc-card-sub[b-6nchbz4xt6] {
    font-size: 0.8rem;
    color: var(--theme-text-muted);
}

.pc-panel[b-6nchbz4xt6] {
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.pc-panel-head[b-6nchbz4xt6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.pc-panel-title[b-6nchbz4xt6] {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--theme-text);
}

.pc-spacer[b-6nchbz4xt6] {
    flex: 1 1 auto;
}

.pc-help[b-6nchbz4xt6] {
    color: var(--theme-text-muted);
    font-size: 0.875rem;
    margin: 0 0 1rem 0;
    max-width: 60ch;
}

.pc-empty[b-6nchbz4xt6] {
    color: var(--theme-text-muted);
    text-align: center;
    padding: 2.5rem 1rem;
    font-size: 0.9rem;
}

/* ---- tailoring config ---- */
.pc-cfg-grid[b-6nchbz4xt6] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.6rem 1rem;
    align-items: center;
    max-width: 32rem;
    margin-bottom: 1rem;
}

.pc-cfg-grid label[b-6nchbz4xt6] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--theme-text-muted);
    margin: 0;
}

.pc-cfg-actions[b-6nchbz4xt6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pc-cfg-msg[b-6nchbz4xt6] {
    font-size: 0.85rem;
    color: var(--theme-success, #1e7e34);
}

/* ---- transactions filter bar ---- */
.pc-filterbar[b-6nchbz4xt6] {
    display: flex;
    gap: 0.6rem;
    margin-bottom: 0.8rem;
    flex-wrap: wrap;
}

.pc-filter-status[b-6nchbz4xt6] {
    width: auto;
    min-width: 9rem;
}

.pc-filter-search[b-6nchbz4xt6] {
    flex: 1 1 14rem;
    max-width: 24rem;
}

/* ---- transactions table ---- */
.pc-table-wrap[b-6nchbz4xt6] {
    overflow-x: auto;
    border: 1px solid var(--theme-border);
    border-radius: 10px;
}

.pc-table[b-6nchbz4xt6] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.pc-table thead th[b-6nchbz4xt6] {
    text-align: left;
    font-weight: 600;
    color: var(--theme-text-muted);
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid var(--theme-border);
    background: var(--theme-surface-alt, var(--theme-surface));
    white-space: nowrap;
}

.pc-table tbody td[b-6nchbz4xt6] {
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid var(--theme-border);
    color: var(--theme-text);
    vertical-align: middle;
}

.pc-table tbody tr:last-child td[b-6nchbz4xt6] {
    border-bottom: none;
}

.pc-table tbody tr:hover[b-6nchbz4xt6] {
    background: var(--theme-hover, rgba(0, 0, 0, 0.02));
}

.pc-amount[b-6nchbz4xt6] {
    font-weight: 600;
    white-space: nowrap;
}

/* resolved anchor (order/job) cell */
.pc-anchor-key[b-6nchbz4xt6] {
    font-weight: 600;
}

.pc-anchor-key a[b-6nchbz4xt6] {
    color: var(--theme-text);
    text-decoration: none;
}

.pc-anchor-key a:hover[b-6nchbz4xt6] {
    text-decoration: underline;
}

.pc-anchor-link[b-6nchbz4xt6] {
    font-size: 0.7rem;
    color: var(--theme-text-muted);
}

.pc-anchor-name[b-6nchbz4xt6] {
    font-size: 0.8rem;
    color: var(--theme-text-muted);
    margin: 0.1rem 0 0.2rem 0;
}

.pc-mono[b-6nchbz4xt6] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.8rem;
}

.pc-muted[b-6nchbz4xt6] {
    color: var(--theme-text-muted);
}

/* ---- status pill ---- */
.pc-status[b-6nchbz4xt6] {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: capitalize;
}

.pc-status-ok[b-6nchbz4xt6] {
    background: var(--theme-success-bg, #e6f4ea);
    color: var(--theme-success, #1e7e34);
}

.pc-status-pending[b-6nchbz4xt6] {
    background: var(--theme-warning-bg, #fff4e5);
    color: var(--theme-warning, #b26a00);
}

.pc-status-fail[b-6nchbz4xt6] {
    background: var(--theme-danger-bg, #fde8e8);
    color: var(--theme-danger, #c62828);
}

.pc-status-neutral[b-6nchbz4xt6] {
    background: var(--theme-border);
    color: var(--theme-text-muted);
}

.pc-count[b-6nchbz4xt6] {
    margin-top: 0.6rem;
    font-size: 0.8rem;
    color: var(--theme-text-muted);
}

/* ---- tester ---- */
.pc-tester-row[b-6nchbz4xt6] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.pc-tester-row label[b-6nchbz4xt6] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--theme-text-muted);
    margin: 0;
}

.pc-amount-input[b-6nchbz4xt6] {
    width: 8rem;
}

.pc-currency-input[b-6nchbz4xt6] {
    width: 5rem;
    text-transform: uppercase;
}

.pc-result[b-6nchbz4xt6] {
    border-radius: 10px;
    padding: 1rem 1.1rem;
    border: 1px solid var(--theme-border);
    margin-top: 0.5rem;
}

.pc-result-ok[b-6nchbz4xt6] {
    border-color: var(--theme-success, #1e7e34);
    background: var(--theme-success-bg, #e6f4ea);
}

.pc-result-err[b-6nchbz4xt6] {
    border-color: var(--theme-danger, #c62828);
    background: var(--theme-danger-bg, #fde8e8);
}

.pc-result-line[b-6nchbz4xt6] {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--theme-text);
}

.pc-result-dl[b-6nchbz4xt6] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.25rem 1rem;
    margin: 0.75rem 0 0 0;
    font-size: 0.85rem;
}

.pc-result-dl dt[b-6nchbz4xt6] {
    color: var(--theme-text-muted);
    font-weight: 500;
}

.pc-result-dl dd[b-6nchbz4xt6] {
    margin: 0;
    color: var(--theme-text);
    word-break: break-all;
}

/* ---- Transaction detail drill ---- */

.pc-row-actions[b-6nchbz4xt6] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.pc-detail-btn[b-6nchbz4xt6] {
    background: none;
    border: 1px solid var(--theme-border, var(--theme-secondary));
    border-radius: 6px;
    color: var(--theme-text-muted);
    padding: 0 0.35rem;
    line-height: 1.4;
    cursor: pointer;
}

.pc-detail-btn:hover[b-6nchbz4xt6] {
    color: var(--theme-text);
    border-color: var(--theme-offset);
}

.pc-modal-backdrop[b-6nchbz4xt6] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pc-modal[b-6nchbz4xt6] {
    background: var(--theme-surface, var(--theme-background));
    border: 1px solid var(--theme-border, var(--theme-secondary));
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    padding: 1.1rem 1.3rem;
    min-width: 22rem;
    max-width: min(34rem, 92vw);
    max-height: 85vh;
    overflow-y: auto;
}

.pc-modal-head[b-6nchbz4xt6] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.pc-modal-actions[b-6nchbz4xt6] {
    margin-top: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* ---- Refund queue ---- */

.pc-tab-badge[b-6nchbz4xt6] {
    display: inline-block;
    min-width: 1.3rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--theme-warning-bg, var(--theme-border));
    color: var(--theme-warning, var(--theme-text));
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}

.pc-refund-request-btn[b-6nchbz4xt6] {
    white-space: nowrap;
}

.pc-refund-pill[b-6nchbz4xt6] {
    white-space: nowrap;
    text-transform: none;
}

.pc-confirm-text[b-6nchbz4xt6] {
    color: var(--theme-text);
    font-size: 0.9rem;
    margin: 0.5rem 0 0 0;
    max-width: 46ch;
}

.pc-refund-notice[b-6nchbz4xt6] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid var(--theme-success, var(--theme-border));
    background: var(--theme-success-bg, var(--theme-surface));
    color: var(--theme-success, var(--theme-text));
    border-radius: 10px;
    padding: 0.55rem 0.8rem;
    font-size: 0.85rem;
    margin-bottom: 0.8rem;
}

.pc-refund-error[b-6nchbz4xt6] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid var(--theme-danger, var(--theme-border));
    background: var(--theme-danger-bg, var(--theme-surface));
    color: var(--theme-danger, var(--theme-text));
    border-radius: 10px;
    padding: 0.55rem 0.8rem;
    font-size: 0.85rem;
    margin: 0.6rem 0 0.8rem 0;
    word-break: break-word;
}
/* /Pages/Ops/RevenueProjections.razor.rz.scp.css */
/* THE PROJECTIONS PAGE - two modes with two tones: the CURRENT BOOK
   (read-only reality, success-green trim) and the GROWTH PLAY AREA
   (the editable sandbox, accent trim). All colors ride --theme-* tokens. */

.proj-tabs[b-3slzjm0sdl] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 1px solid var(--theme-border);
}

.proj-tab[b-3slzjm0sdl] {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--theme-text-secondary);
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    cursor: pointer;
}

.proj-tab:hover[b-3slzjm0sdl] {
    color: var(--theme-text);
}

.proj-tab-active[b-3slzjm0sdl] {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
    font-weight: 600;
}

/* Reality reads calm and read-only: green live badge + green card trim. */
.proj-live-badge[b-3slzjm0sdl] {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--theme-success);
    border: 1px solid var(--theme-success);
    background: color-mix(in srgb, var(--theme-success) 8%, transparent);
}

.proj-book .card[b-3slzjm0sdl] {
    border-left: 3px solid color-mix(in srgb, var(--theme-success) 55%, transparent);
}

/* The sandbox reads playful and editable: accent badge + accent card trim. */
.proj-play-badge[b-3slzjm0sdl] {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--theme-accent);
    border: 1px solid var(--theme-accent);
    background: color-mix(in srgb, var(--theme-accent) 8%, transparent);
}

.proj-play .card[b-3slzjm0sdl] {
    border-left: 3px solid color-mix(in srgb, var(--theme-accent) 45%, transparent);
}

/* Snapshot summary chips on the reality tab. */
.proj-chip[b-3slzjm0sdl] {
    min-width: 7rem;
    padding: 0.375rem 0.75rem;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    background: var(--theme-surface);
}

.proj-chip-num[b-3slzjm0sdl] {
    font-size: 1.1rem;
    font-weight: 700;
}

.proj-chip-lbl[b-3slzjm0sdl] {
    font-size: 0.7rem;
    color: var(--theme-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* The platform's own row - cost, never revenue - reads muted. */
.proj-platform-row td[b-3slzjm0sdl] {
    color: var(--theme-text-secondary);
    font-style: italic;
}

/* The reality-seeded starting cohort inside each motion card. */
.proj-startbook[b-3slzjm0sdl] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem;
    padding: 0.375rem 0.5rem;
    border: 1px dashed color-mix(in srgb, var(--theme-success) 45%, var(--theme-border));
    border-radius: var(--theme-radius);
    background: color-mix(in srgb, var(--theme-success) 5%, transparent);
}

.proj-startbook-lbl[b-3slzjm0sdl] {
    flex-basis: 100%;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--theme-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
/* /Pages/Workflows/WorkflowLaunchControl.razor.rz.scp.css */
.lcp-card[b-wite4zhws8] {
    background: var(--theme-background);
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
    padding: 1rem 1.25rem;
}

.lcp-card-title[b-wite4zhws8] {
    font-weight: 700;
    color: var(--theme-text);
    margin-bottom: 0.6rem;
}

.lcp-card-title i[b-wite4zhws8] {
    color: var(--theme-primary);
}

.lcp-link[b-wite4zhws8] {
    font-weight: 600;
}

.lcp-code[b-wite4zhws8] {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--theme-primary);
}

.lcp-chip[b-wite4zhws8] {
    background: var(--theme-primary-muted);
    color: var(--theme-primary);
    font-weight: 600;
}

.lcp-qr[b-wite4zhws8] {
    display: inline-block;
    max-width: 220px;
    padding: 0.5rem;
    background: #fff;
    border: 1px solid var(--theme-border);
    border-radius: var(--theme-radius);
}

.lcp-qr[b-wite4zhws8]  svg {
    width: 100%;
    height: auto;
    display: block;
}

.lcp-embed-code[b-wite4zhws8] {
    font-family: var(--theme-font-mono, ui-monospace, "Cascadia Code", monospace);
    font-size: 0.72rem;
    line-height: 1.45;
    white-space: pre;
    background: var(--theme-background-subtle);
    color: var(--theme-text);
    resize: none;
}

.lcp-hero-pill[b-wite4zhws8] {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: var(--theme-primary-muted);
    color: var(--theme-primary);
    font-size: 0.8rem;
    font-weight: 600;
}
/* /Pages/Workflows/WorkflowLibrary.razor.rz.scp.css */
/* Workflow Library — tabs + import-report vocabulary. Colors from --theme-* only. */

.wlib-tabs[b-gpspcz39bp] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    border-bottom: 1px solid var(--theme-border);
    margin-bottom: 1rem;
}

.wlib-tab[b-gpspcz39bp] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--theme-text-muted, var(--theme-text));
    padding: 0.5rem 0.9rem;
    font-weight: 500;
    cursor: pointer;
}

.wlib-tab.active[b-gpspcz39bp] {
    color: var(--theme-primary);
    border-bottom-color: var(--theme-primary);
}

.wlib-tab-spacer[b-gpspcz39bp] {
    flex: 1;
}

.wlib-vertical-filter[b-gpspcz39bp] {
    max-width: 220px;
    margin-bottom: 0.35rem;
}

.wlib-c-version[b-gpspcz39bp],
.wlib-c-actions[b-gpspcz39bp] {
    white-space: nowrap;
}

/* Import report panel */

.wlib-report-verdict[b-gpspcz39bp] {
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.wlib-report-ok[b-gpspcz39bp] {
    color: var(--theme-success, var(--theme-primary));
}

.wlib-report-bad[b-gpspcz39bp] {
    color: var(--theme-danger, var(--theme-accent));
}

.wlib-report-warn[b-gpspcz39bp] {
    color: var(--theme-warning, var(--theme-accent));
}

.wlib-report-section[b-gpspcz39bp] {
    margin-bottom: 0.75rem;
}

.wlib-report-title[b-gpspcz39bp] {
    font-weight: 600;
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
}

.wlib-report-list[b-gpspcz39bp] {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.85rem;
}

.wlib-report-log[b-gpspcz39bp] {
    max-height: 12rem;
    overflow-y: auto;
    color: var(--theme-text-muted, var(--theme-text));
}

.wlib-plan[b-gpspcz39bp] {
    width: 100%;
    font-size: 0.85rem;
    border-collapse: collapse;
}

.wlib-plan td[b-gpspcz39bp] {
    padding: 0.2rem 0.5rem 0.2rem 0;
    border-bottom: 1px solid var(--theme-border);
    vertical-align: top;
}

.wlib-plan-kind[b-gpspcz39bp] {
    font-weight: 600;
    white-space: nowrap;
}

.wlib-plan-action[b-gpspcz39bp] {
    white-space: nowrap;
    color: var(--theme-primary);
}

.wlib-plan-detail[b-gpspcz39bp] {
    color: var(--theme-text-muted, var(--theme-text));
}
