@import '_content/CatHerder.Blazor.Components/CatHerder.Blazor.Components.ckb4t8jwf4.bundle.scp.css';
@import '_content/MuddyFileExplorer/MuddyFileExplorer.lblh0wc4np.bundle.scp.css';
@import '_content/ToastUIImageEditor.Blazor/ToastUIImageEditor.Blazor.yxc2aucfap.bundle.scp.css';
@import '_content/WrappedToast/WrappedToast.m5zr6njj4d.bundle.scp.css';

/* /Components/Layout/MobileLayout.razor.rz.scp.css */
/* Mobile shell (plan169-T04). Only MobileLayout is rendered at /m, so these
   rules do not affect desktop. The shared .app-layout already provides 100dvh. */

/* App bar clears the notch / status bar; pad sides past the safe areas. */
[b-vu2m8km0g4] .mobile-app-bar {
    padding-top: env(safe-area-inset-top);
    padding-left: max(env(safe-area-inset-left), 16px);
    padding-right: max(env(safe-area-inset-right), 16px);
}

/* No horizontal scroll on the mobile surface. */
[b-vu2m8km0g4] .mobile-main-content {
    width: 100%;
    overflow-x: hidden;
}

/* Touch-sized hit targets for icon buttons within the mobile shell. */
[b-vu2m8km0g4] .mobile-layout .mud-icon-button-root {
    min-width: 40px;
    min-height: 40px;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ff0bguwiah],
.components-reconnect-repeated-attempt-visible[b-ff0bguwiah],
.components-reconnect-failed-visible[b-ff0bguwiah],
.components-pause-visible[b-ff0bguwiah],
.components-resume-failed-visible[b-ff0bguwiah],
.components-rejoining-animation[b-ff0bguwiah] {
    display: none;
}

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


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

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

}

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

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

#components-reconnect-modal button[b-ff0bguwiah] {
    border: 0;
    background-color: var(--mud-palette-primary, #6b9ed2);
    color: var(--mud-palette-primary-text, white);
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-ff0bguwiah] {
        background-color: var(--mud-palette-primary-darken, #3b6ea2);
    }

    #components-reconnect-modal button:active[b-ff0bguwiah] {
        background-color: var(--mud-palette-primary, #6b9ed2);
    }

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

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

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

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

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

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

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Agents/AgentCatalogEditDialog.razor.rz.scp.css */
.catalog-model-curation[b-mlpib25bb7] {
    padding: 8px 10px;
}

.catalog-dialog-stack[b-mlpib25bb7] {
    gap: 0.5rem;
}

.catalog-section-paper[b-mlpib25bb7] {
    padding: 8px 10px;
}

.catalog-section-body[b-mlpib25bb7] {
    gap: 0.35rem;
}

.catalog-compact-row[b-mlpib25bb7] {
    gap: 0.25rem;
}

.catalog-personality-card[b-mlpib25bb7] {
    padding: 8px;
}

.catalog-model-ref[b-mlpib25bb7] {
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 0.8rem;
}

[b-mlpib25bb7] .catalog-model-table table th,
[b-mlpib25bb7] .catalog-model-table table td {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    vertical-align: middle;
}

[b-mlpib25bb7] .catalog-model-table .mud-icon-button {
    padding: 4px;
}

[b-mlpib25bb7] .catalog-section-paper .mud-input-control {
    margin-top: 0;
    margin-bottom: 0;
}
/* /Components/Pages/DebugLog.razor.rz.scp.css */
.debug-log-page[b-c3kj29m3mw] {
    height: calc(100vh - 80px);
    padding: 8px;
    display: flex;
    overflow: hidden;
}

.debug-log-row[b-c3kj29m3mw] {
    margin-bottom: 1px;
    word-break: break-all;
}

.debug-log-row--warning[b-c3kj29m3mw] {
    color: var(--mud-palette-warning);
}

.debug-log-row--error[b-c3kj29m3mw],
.debug-log-row--critical[b-c3kj29m3mw] {
    color: var(--mud-palette-error);
}

.debug-log-timestamp[b-c3kj29m3mw] {
    opacity: 0.5;
}

.debug-log-category[b-c3kj29m3mw] {
    opacity: 0.7;
}

.debug-log-level[b-c3kj29m3mw] {
    font-weight: 500;
}

.debug-log-level--trace[b-c3kj29m3mw] {
    opacity: 0.5;
}

.debug-log-level--debug[b-c3kj29m3mw] {
    opacity: 0.6;
}

.debug-log-level--info[b-c3kj29m3mw] {
    color: var(--mud-palette-info);
}

.debug-log-level--warning[b-c3kj29m3mw] {
    color: var(--mud-palette-warning);
    font-weight: 600;
}

.debug-log-level--error[b-c3kj29m3mw],
.debug-log-level--critical[b-c3kj29m3mw] {
    color: var(--mud-palette-error);
    font-weight: 600;
}
/* /Components/Pages/DockerPage.razor.rz.scp.css */
.docker-target-card[b-59zbnlapc4] {
    overflow: hidden;
}

.docker-output[b-59zbnlapc4] {
    margin: 0;
    padding: 8px;
    border-radius: 4px;
    background: var(--mud-palette-background-gray);
    font-size: 0.8rem;
    white-space: pre-wrap;
    word-break: break-all;
}
/* /Components/Pages/Filespaces/FileBrowser.razor.rz.scp.css */
/* All explorer + viewer styling moved to FilespaceView.razor.css when the
   page became a thin wrapper around the FilespaceView component
   (plan138-app-filespace-tab-nav-filter). Page-specific styles, if any
   become necessary, go here. */
/* /Components/Pages/Filespaces/FilespaceHistoryDialog.razor.rz.scp.css */
.filespace-history-entry[b-w93tci1lnp] {
    border: 1px solid color-mix(in srgb, var(--mud-palette-text-primary) 6%, transparent);
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.1s ease-in-out, border-color 0.1s ease-in-out;
}

.filespace-history-entry:hover[b-w93tci1lnp] {
    background-color: color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent);
}

.filespace-history-entry--selected[b-w93tci1lnp] {
    border-color: var(--mud-palette-primary);
    background-color: var(--mud-palette-primary-hover);
}

.filespace-history-entry--selected:hover[b-w93tci1lnp] {
    background-color: var(--mud-palette-primary-hover);
}
/* /Components/Pages/Filespaces/FilespaceView.razor.rz.scp.css */
.selected-file-path[b-tffm3a1ifu] {
    color: var(--mud-palette-text-secondary);
    overflow-wrap: anywhere;
}

/* Compact, single-line file/folder path shown above every viewer/editor. Kept deliberately thin
   (small type, tight line-height, no vertical margin) so the path is always visible for all file
   types without costing meaningful vertical space. Truncation comes from the text-truncate utility
   in the markup; the full path is available via the element title on hover. */
.selected-file-path[b-tffm3a1ifu] {
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    line-height: 1.3;
    margin: 0;
    padding-left: 4px;
}

/* Compact context strip above the file explorer. Only the surface design lives
   here (tinted background, height, radius, compact type); layout uses MudBlazor
   utility classes (d-flex/align-center/gap-1) and components (MudSpacer,
   MudDivider, MudText) in the markup. */
.context-strip[b-tffm3a1ifu] {
    min-height: 28px;
    padding: 0 0.375rem;
    border-radius: 4px;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 3.5%, transparent);
    font-size: 0.8rem;
    line-height: 1;
    overflow: hidden;
}

/* Green tint signals that an instruction README is attached to this folder. */
.context-strip--active[b-tffm3a1ifu] {
    background: color-mix(in srgb, var(--mud-palette-success) 12%, transparent);
}

.file-index-overlay[b-tffm3a1ifu] {
    z-index: 1400;
}

.file-index-dialog[b-tffm3a1ifu] {
    width: min(92vw, 1000px);
    max-height: min(88vh, 840px);
    overflow: hidden;
}

.file-index-stat[b-tffm3a1ifu],
.file-index-log-surface[b-tffm3a1ifu] {
    background: color-mix(in srgb, var(--mud-palette-text-primary) 3%, transparent);
}

.file-index-stat--failed[b-tffm3a1ifu] {
    background: color-mix(in srgb, var(--mud-palette-error) 8%, transparent);
}

.file-index-log-caption[b-tffm3a1ifu] {
    display: block;
    margin-bottom: 0.5rem;
}

.file-index-log[b-tffm3a1ifu] {
    margin: 0;
    min-height: 10rem;
    max-height: min(32vh, 20rem);
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 0.85rem;
    line-height: 1.4;
}

@media (max-width: 600px) {
    .file-index-dialog[b-tffm3a1ifu] {
        width: 96vw;
        max-height: 92vh;
    }
}
/* /Components/Pages/Filespaces/OfficeWatchViewer.razor.rz.scp.css */
.office-watch-viewer[b-8wh19n403v] {
    height: 100%;
}

.office-watch-frame[b-8wh19n403v] {
    border: 0;
    background: #fff; /* Office documents render on a white page in both modes. */
}

.office-watch-toolbar[b-8wh19n403v] {
    min-height: 2.25rem;
    padding: 0.25rem 0.5rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
}

.office-watch-state[b-8wh19n403v] {
    gap: 0.75rem;
    padding: 1rem;
    min-height: 0;
}

.office-watch-progress[b-8wh19n403v] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    max-width: min(100%, 46rem);
    width: 100%;
    margin-top: 0.25rem;
}

.office-watch-cmd[b-8wh19n403v],
.office-watch-output[b-8wh19n403v] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.72rem;
    line-height: 1.35;
}

.office-watch-cmd[b-8wh19n403v] {
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background-gray);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 0.25rem;
    padding: 0.3rem 0.45rem;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
}

.office-watch-output[b-8wh19n403v] {
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 0.25rem;
    padding: 0.3rem 0.45rem;
    max-height: 9rem;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    margin: 0;
}
/* /Components/Pages/Google/GoogleDriveBrowser.razor.rz.scp.css */
.google-drive-browser__document-input[b-qtda4v4tb9] {
    flex: 1 1 auto;
}

.google-drive-browser__preview-stack[b-qtda4v4tb9] {
    flex: 1 1 0;
    min-height: 0;
    position: relative;
}

.google-drive-browser__iframe[b-qtda4v4tb9] {
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* /Components/Pages/Mail/MailBrowser.razor.rz.scp.css */
/* ── Folder tree (left panel) ── */

.mail-browser-folder-count[b-pvr39vrtw1] {
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}

.mail-browser-folder-tree-shell[b-pvr39vrtw1]  .mud-treeview-item-content {
    padding-left: 0;
    padding-right: 1px;
}

.mail-browser-folder-tree-shell[b-pvr39vrtw1]  .mud-treeview-item-arrow {
    width: 14px;
    min-width: 14px;
    margin-left: 0;
    margin-right: 0;
}

.mail-browser-folder-tree-shell[b-pvr39vrtw1]  .mud-treeview-item-expand-button {
    width: 14px;
    height: 22px;
    padding: 0;
}

.mail-browser-folder-tree-shell[b-pvr39vrtw1]  .mud-treeview-item-icon {
    margin-right: 0;
}

.mail-browser-folder-tree-shell[b-pvr39vrtw1]  .mud-treeview-item-selected {
    background-color: var(--mud-palette-primary-hover);
    border-left: 3px solid var(--mud-palette-primary);
    font-weight: 600;
}

/* MudSelect's own root (.mud-select) is the flex item in the toolbar; MudSelect's
   Class lands on the inner control, so let it shrink (min-width: 0) and grow via
   a ::deep rule. Without this the selected address pushes the icon buttons
   off-screen. */
.mail-browser-folder-panel[b-pvr39vrtw1]  .mud-select {
    flex: 1 1 auto;
    min-width: 0;
}

/* Truncate and horizontally compact the selected mailbox text. */
.mail-browser-folder-panel[b-pvr39vrtw1]  .mail-browser-mailbox-select .mud-input-slot {
    padding-left: 6px !important;
}

.mail-browser-folder-panel[b-pvr39vrtw1]  .mail-browser-mailbox-select .mud-input {
    padding-right: 6px !important;
}

.mail-browser-folder-panel[b-pvr39vrtw1]  .mail-browser-mailbox-select .mud-input-adornment {
    width: 16px;
    min-width: 16px;
}

.mail-browser-folder-panel[b-pvr39vrtw1]  .mud-select-input,
.mail-browser-folder-panel[b-pvr39vrtw1]  .mud-input {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Search bar ── */

.mail-browser-search-bar[b-pvr39vrtw1] {
    align-items: stretch;
}

.mail-browser-search-input[b-pvr39vrtw1] {
    flex: 1 1 24rem;
    min-width: 14rem;
}

.mail-browser-search-scope[b-pvr39vrtw1] {
    min-width: 10rem;
}

/* ── Split panels ──
   MudBlazor gives both child panels flex:1 1 auto, so on wide viewports the
   free space is split evenly and FirstPanelInitialSize never holds (the
   reading pane starves). Pin the first panels to their JS-driven inline
   width; the second panel keeps growing to fill. */
[b-pvr39vrtw1] .mud-split-panel > .child-panel:first-child {
    flex: 0 0 auto;
}

/* ── Data grid (list pane) ──
   Grid chrome (hover, density, fixed height, pager) comes from MudBlazor
   parameters; these rules own the compact two-line row content and the
   RowClassFunc row emphasis. */

/* Two-line row (mockup .mrow): line 1 = unread dot + sender + date,
   line 2 = subject + paperclip + thread-count badge. */
.mail-row[b-pvr39vrtw1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.mail-row-l1[b-pvr39vrtw1],
.mail-row-l2[b-pvr39vrtw1] {
    display: flex;
    min-width: 0;
}

.mail-row-l1[b-pvr39vrtw1] {
    align-items: baseline;
    gap: 0.5rem;
}

.mail-row-l2[b-pvr39vrtw1] {
    align-items: center;
    gap: 0.375rem;
}

.mail-row-dot[b-pvr39vrtw1] {
    align-self: center;
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mud-palette-info);
}

.mail-row-who[b-pvr39vrtw1] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
}

.mail-row-when[b-pvr39vrtw1] {
    flex: none;
    font-size: 0.71875rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.mail-row-subj[b-pvr39vrtw1] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78125rem;
    color: var(--mud-palette-text-secondary);
}

.mail-row-clip[b-pvr39vrtw1] {
    flex: none;
    color: var(--mud-palette-text-secondary);
}

/* Thread message-count pill (mockup .tcount); soft primary via the same
   rgba(rgb-variable) pattern MudBlazor uses for selected chips/nav links. */
.mail-row-count[b-pvr39vrtw1] {
    flex: none;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(var(--mud-palette-primary-rgb), 0.12);
    color: var(--mud-palette-primary);
    font-size: 0.65625rem;
    font-weight: 700;
    line-height: 1rem;
    font-variant-numeric: tabular-nums;
}

/* Row-level emphasis applied via RowClassFunc on the <tr> rendered inside
   MudDataGrid, hence ::deep. The selected style mirrors the folder-tree
   selection above (soft primary wash + 3px left accent); :hover is repeated so
   the selection stays visible under the grid hover color. */
[b-pvr39vrtw1] tr.mail-row-item--unread .mail-row-who,
[b-pvr39vrtw1] tr.mail-row-item--unread .mail-row-subj {
    font-weight: 700;
}

[b-pvr39vrtw1] tr.mail-row-item--unread .mail-row-subj {
    color: var(--mud-palette-text-primary);
}

[b-pvr39vrtw1] tr.mail-row-item--selected,
[b-pvr39vrtw1] tr.mail-row-item--selected:hover {
    background-color: var(--mud-palette-primary-hover);
    box-shadow: inset 3px 0 0 var(--mud-palette-primary);
}

/* The single template column renders an empty header bar (MudDataGrid has no
   HideHeader parameter) and the mockup list has none — hide it. */
[b-pvr39vrtw1] .mail-results-grid .mud-table-head {
    display: none;
}

/* Make the MudDataGrid fill available height with the pager pinned at the
   bottom. The grid's Height param applies to the table container only and does
   not reserve room for the pager (which renders as a sibling inside the grid
   div), so drive the layout here: the grid becomes a flex column, the table
   container takes the remaining space and scrolls, and the pager stays put. */
[b-pvr39vrtw1] .mud-table.mud-data-grid {
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

[b-pvr39vrtw1] .mud-data-grid > .mud-table-container {
    flex: 1 1 0;
    min-height: 0;
}

/* Keep mail rows in table mode with predictable cell widths; overflowing text
   is truncated so rows don't wrap and the fixed header aligns with the body. */
[b-pvr39vrtw1] .mud-data-grid .mud-table-root {
    table-layout: fixed;
    width: 100%;
}

[b-pvr39vrtw1] .mud-data-grid .mud-table-cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ── Keyboard navigation (P201-T06) ──
   The list wrapper is the focus target for ↑/↓/Enter; the ring mirrors
   MudBlazor's focus-visible outline using theme colors only. */
.mail-results-focus:focus-visible[b-pvr39vrtw1] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
    border-radius: 4px;
}

/* ── Sync dialog ── */

.mail-sync-overlay[b-pvr39vrtw1] {
    z-index: 1400;
}

.mail-sync-dialog[b-pvr39vrtw1] {
    width: min(92vw, 1100px);
    max-height: min(88vh, 900px);
    overflow: hidden;
}

.mail-sync-log-surface[b-pvr39vrtw1] {
    background: var(--mud-palette-action-default-hover);
}

.mail-sync-log-surface--stderr[b-pvr39vrtw1] {
    /* Theme-derived error tint (same rgba-over-palette-rgb pattern as above). */
    background: rgba(var(--mud-palette-error-rgb), 0.08);
}

.mail-sync-log-caption[b-pvr39vrtw1] {
    display: block;
    margin-bottom: 0.5rem;
}

.mail-sync-log[b-pvr39vrtw1] {
    margin: 0;
    min-height: 8rem;
    max-height: min(24vh, 16rem);
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 0.85rem;
    line-height: 1.4;
}

@media (max-width: 600px) {
    .mail-browser-search-input[b-pvr39vrtw1],
    .mail-browser-search-scope[b-pvr39vrtw1] {
        min-width: 100%;
    }

    .mail-sync-dialog[b-pvr39vrtw1] {
        width: 96vw;
        max-height: 92vh;
    }
}

/* ── Keyboard hint in the pager row (mockup listfoot) ── */

.mail-results-kbdhint[b-pvr39vrtw1] {
    margin-right: auto;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    white-space: nowrap;
}

.mail-results-kbdhint kbd[b-pvr39vrtw1] {
    margin: 0 1px;
    padding: 0 4px;
    border: 1px solid var(--mud-palette-lines-default);
    border-bottom-width: 2px;
    border-radius: 4px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-secondary);
    font-family: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 0.625rem;
    line-height: 1.4;
}

/* Nudge the pager into the remaining width so the hint and the pager share
   one row (MudDataGridPager has its own internal layout). */
.mail-results-pager[b-pvr39vrtw1]  .mud-data-grid-pager,
.mail-results-pager[b-pvr39vrtw1]  .mud-table-pagination {
    width: auto;
    margin-left: auto;
}

.mail-results-pager[b-pvr39vrtw1]  .mud-data-grid-pager .mud-select,
.mail-results-pager[b-pvr39vrtw1]  .mud-table-pagination .mud-select {
    display: none;
}
/* /Components/Pages/Mail/MailReadingPane.razor.rz.scp.css */
/* ── Reading pane (P201-T03) ──
   Layout comes from MudBlazor params + utilities; these rules cover MudBlazor
   gaps only: MudTabs flexible fill, ellipsis on MudText roots, the sandboxed
   iframe height, and the de-emphasized diagnostics blocks. Colors are theme
   variables only. Classes land on MudBlazor component roots (MudText, MudChip)
   or their children, hence ::deep throughout. */

/* Subject ellipsizes so the action buttons keep their place. */
[b-dh4uo3qy30] .mail-reading-subject {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Header block: separated from the tabs by a hairline (mockup .rhead). */
.mail-reading-head[b-dh4uo3qy30] {
    border-bottom: 1px solid var(--mud-palette-divider);
}

/* Tag chips in the meta row keep their size when the header wraps. */
[b-dh4uo3qy30] .mail-reading-tag {
    flex: none;
}

[b-dh4uo3qy30] .mail-reading-meta {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-reading-when[b-dh4uo3qy30] {
    color: var(--mud-palette-text-secondary);
}

/* MudTabs must fill the pane so the tab panels region scrolls internally. */
[b-dh4uo3qy30] .mail-reading-tabs {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

[b-dh4uo3qy30] .mail-reading-tabs .mud-tabs-panels {
    flex: 1 1 0;
    min-height: 0;
    overflow: auto;
}

/* Sandboxed iframe fills the panel; the iframe scrolls its own document. */
.mail-reading-html-preview[b-dh4uo3qy30] {
    display: block;
    width: 100%;
    height: 72vh;
    border: 0;
    background: var(--mud-palette-surface);
}

/* Text and Source tabs: monospace diagnostics blocks. */
.mail-reading-pre[b-dh4uo3qy30] {
    margin: 0.5rem 1rem 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
    font-family: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 0.8125rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Attachment strip under the body (mockup .rattach): tinted hairline strip. */
.mail-reading-attachments[b-dh4uo3qy30] {
    border-top: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-action-default-hover);
}

.mail-reading-attachments-caption[b-dh4uo3qy30] {
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

/* Attachment chips: ext badge + filename + download inside one outlined chip. */
[b-dh4uo3qy30] .mail-reading-attachment-chip {
    max-width: 100%;
    gap: 0.375rem;
}

.mail-reading-attachment-ext[b-dh4uo3qy30] {
    flex: none;
    padding: 0 4px;
    border-radius: 4px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.4px;
}

.mail-reading-attachment-name[b-dh4uo3qy30] {
    flex: 1 1 auto;
    min-width: 6ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Pages/Mail/MailViewer.razor.rz.scp.css */
/* ── Viewer page (P201-T07) ──
   Bounded viewport-height shell per blazor-mudblazor-layout; colors come from
   --mud-palette-* variables only (no hardcoded blue/gray, no page gradient).
   Layout gaps covered here: full-height shell, sidebar/list layout, iframe
   height, diagnostics blocks. */

.mail-viewer-page[b-uawi6s3kzt] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    padding: 0.75rem;
    gap: 0.5rem;
    background: var(--mud-palette-background);
}

/* ── Top strip: back link · breadcrumb · actions ── */
[b-uawi6s3kzt] .mail-viewer-top {
    border: 1px solid var(--mud-palette-divider);
    border-radius: var(--mud-shape-radius);
    background: var(--mud-palette-surface);
}

.mail-viewer-back[b-uawi6s3kzt] {
    flex: none;
    font-weight: 600;
    color: var(--mud-palette-primary);
}

.mail-viewer-crumb[b-uawi6s3kzt] {
    min-width: 0;
    margin-left: 0.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.mail-viewer-crumb b[b-uawi6s3kzt] {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
}

/* ── Two-pane body: sidebar | detail ── */
.mail-viewer-body[b-uawi6s3kzt] {
    display: grid;
    flex: 1 1 0;
    grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr);
    gap: 0.75rem;
    min-height: 0;
}

/* ── Sidebar: thread caption + subject + message list ── */
.mail-viewer-side[b-uawi6s3kzt] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0.75rem 0.5rem 0.5rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: var(--mud-shape-radius);
    background: var(--mud-palette-surface);
    overflow: hidden;
}

.mail-viewer-side-cap[b-uawi6s3kzt] {
    padding: 0 0.5rem 0.25rem;
}

.mail-viewer-side-subject[b-uawi6s3kzt] {
    padding: 0 0.5rem 0.5rem;
    overflow-wrap: anywhere;
}

.mail-viewer-side-list[b-uawi6s3kzt] {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 0;
    padding: 0.25rem 0.25rem 0.25rem 0.5rem;
    overflow-y: auto;
}

.mail-viewer-msg[b-uawi6s3kzt] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    width: 100%;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 9px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.mail-viewer-msg:hover[b-uawi6s3kzt] {
    border-color: var(--mud-palette-primary-hover);
    background: var(--mud-palette-action-default-hover);
}

.mail-viewer-msg--selected[b-uawi6s3kzt] {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-primary-hover);
    box-shadow: 0 0 0 1px var(--mud-palette-primary) inset;
}

.mail-viewer-msg-topline[b-uawi6s3kzt] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.mail-viewer-msg-dot[b-uawi6s3kzt] {
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--mud-palette-info);
}

.mail-viewer-msg-who[b-uawi6s3kzt] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.8125rem;
}

.mail-viewer-msg-when[b-uawi6s3kzt] {
    flex: none;
    font-size: 0.6875rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.mail-viewer-msg-subj[b-uawi6s3kzt] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
    font-size: 0.75rem;
    color: var(--mud-palette-text-secondary);
}

.mail-viewer-msg-subj-text[b-uawi6s3kzt] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-viewer-msg-subj-text--unread[b-uawi6s3kzt] {
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.mail-viewer-msg-clip[b-uawi6s3kzt] {
    flex: none;
    color: var(--mud-palette-text-secondary);
}

/* ── Detail pane: header · attachments · tabs ── */
.mail-viewer-main[b-uawi6s3kzt] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0.75rem 1rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: var(--mud-shape-radius);
    background: var(--mud-palette-surface);
    overflow: hidden;
}

.mail-viewer-subject-text[b-uawi6s3kzt] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.mail-viewer-meta[b-uawi6s3kzt] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-viewer-when[b-uawi6s3kzt] {
    color: var(--mud-palette-text-secondary);
}

.mail-viewer-tag[b-uawi6s3kzt] {
    flex: none;
}

/* Attachment chips: ext badge + filename + preview + download (mockup .att). */
.mail-viewer-attachments[b-uawi6s3kzt] {
    padding: 0.5rem 0;
    border-top: 1px solid var(--mud-palette-divider);
}

.mail-viewer-attachments-caption[b-uawi6s3kzt] {
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

[b-uawi6s3kzt] .mail-viewer-attachment-chip {
    max-width: 100%;
    gap: 0.375rem;
}

.mail-viewer-attachment-ext[b-uawi6s3kzt] {
    flex: none;
    padding: 0 4px;
    border-radius: 4px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-secondary);
    font-size: 0.625rem;
    font-weight: 800;
    letter-spacing: 0.4px;
}

.mail-viewer-attachment-name[b-uawi6s3kzt] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Tabs fill the remaining height; the panels region scrolls ── */
[b-uawi6s3kzt] .mud-tabs {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

[b-uawi6s3kzt] .mud-tabs .mud-tabs-panels {
    flex: 1 1 0;
    min-height: 0;
    overflow: auto;
}

.mail-viewer-detail-content[b-uawi6s3kzt] {
    min-height: 0;
}

.mail-viewer-html-preview[b-uawi6s3kzt] {
    display: block;
    width: 100%;
    height: 72vh;
    border: 0;
    background: var(--mud-palette-surface);
}

/* Diagnostics blocks: Text, Raw source, Index data. */
.mail-viewer-pre[b-uawi6s3kzt] {
    margin: 0.5rem 1rem 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
    font-family: ui-monospace, SFMono-Regular, SF Mono, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 0.8125rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Details tab ── */
.mail-viewer-details[b-uawi6s3kzt] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.75rem 1rem;
}

.mail-viewer-details-row[b-uawi6s3kzt] {
    display: grid;
    grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr);
    gap: 0.75rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.mail-viewer-details-name[b-uawi6s3kzt] {
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.mail-viewer-details-value[b-uawi6s3kzt] {
    min-width: 0;
    font-size: 0.8125rem;
    overflow-wrap: anywhere;
}

.mail-viewer-details-path[b-uawi6s3kzt] {
    color: var(--mud-palette-text-secondary);
}

.mail-viewer-headers[b-uawi6s3kzt] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0 1rem 0.5rem;
}

.mail-viewer-header-row[b-uawi6s3kzt] {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
    gap: 0.75rem;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.mail-viewer-header-name[b-uawi6s3kzt] {
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--mud-palette-text-secondary);
}

.mail-viewer-header-value[b-uawi6s3kzt] {
    min-width: 0;
    font-size: 0.8125rem;
    word-break: break-word;
}

@media (max-width: 900px) {
    .mail-viewer-body[b-uawi6s3kzt] {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(14rem, 20rem) minmax(0, 1fr);
    }

    .mail-viewer-html-preview[b-uawi6s3kzt] {
        height: 40vh;
    }
}

@media (max-width: 600px) {
    .mail-viewer-page[b-uawi6s3kzt] {
        padding: 0.5rem;
    }

    .mail-viewer-details-row[b-uawi6s3kzt],
    .mail-viewer-header-row[b-uawi6s3kzt] {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }
}
/* /Components/Pages/Skills/SkillEditor.razor.rz.scp.css */
.skill-context-strip[b-jt0um9e0wf] {
    padding-inline: 0.25rem;
}

[b-jt0um9e0wf] .selected-file-path {
    font-family: monospace;
    color: var(--mud-palette-text-secondary);
    word-break: break-all;
}
/* /Components/Shared/AccountCard.razor.rz.scp.css */
/* Component-owned styling for AccountCard (plan 203 T16).
   Colors come from the MudBlazor theme palette so light/dark both work.
   Only native elements are styled here: scoped CSS does not reach the root
   element of child Mud components. */
.acc-card[b-aa8tee53cj] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    transition: border-color .15s ease, background-color .15s ease;
}

.acc-card:hover[b-aa8tee53cj] {
    border-color: var(--mud-palette-primary-lighten);
    background: var(--mud-palette-background-gray);
}

.acc-icon-tile[b-aa8tee53cj] {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--mud-palette-primary);
    background: rgba(var(--mud-palette-primary-rgb), .1);
}

/* Main column may shrink below its content width so long titles wrap
   instead of pushing the actions out of the card. */
.acc-main[b-aa8tee53cj] {
    flex: 1 1 auto;
    min-width: 0;
}

.acc-title-row[b-aa8tee53cj] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.acc-title[b-aa8tee53cj] {
    font-weight: 500;
    font-size: .95rem;
    overflow-wrap: anywhere;
}

.acc-meta[b-aa8tee53cj] {
    margin-top: 2px;
    font-size: .8rem;
    color: var(--mud-palette-text-secondary);
    overflow-wrap: anywhere;
}

.acc-actions[b-aa8tee53cj] {
    flex: none;
    display: flex;
    align-items: center;
    gap: 2px;
}

.status-dot[b-aa8tee53cj] {
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-grey-lighten-1);
}

.status-dot.success[b-aa8tee53cj] { background: var(--mud-palette-success); }
.status-dot.error[b-aa8tee53cj] { background: var(--mud-palette-error); }
.status-dot.warning[b-aa8tee53cj] { background: var(--mud-palette-warning); }
.status-dot.info[b-aa8tee53cj] { background: var(--mud-palette-info); }
.status-dot.primary[b-aa8tee53cj] { background: var(--mud-palette-primary); }
.status-dot.secondary[b-aa8tee53cj] { background: var(--mud-palette-secondary); }
.status-dot.default[b-aa8tee53cj] { background: var(--mud-palette-text-secondary); }
/* /Components/Shared/AccountEmpty.razor.rz.scp.css */
.acc-empty[b-5zfziihwa7] {
    padding: 12px 14px;
    border: 1px dashed var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    font-size: .85rem;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Shared/AccountSectionHeader.razor.rz.scp.css */
.section-header[b-jk2auxc6b7] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    margin-top: 1.75rem;
    margin-bottom: .5rem;
}

.section-caption[b-jk2auxc6b7] {
    font-size: .95rem;
    font-weight: 600;
}

.section-spacer[b-jk2auxc6b7] {
    flex: 1 1 auto;
}
/* /Components/Shared/AgentSelection/AgentInfoDialog.razor.rz.scp.css */
/* AgentInfoDialog — component-scoped styles
   Replaces repeated inline style attributes on table cells and pre elements.
*/

/* Dialog content sizing constraint */
.dialog-sizing[b-exo5ddpmyk] {
    min-width: 500px;
    max-width: 700px;
}

/* Key column in key-value tables: fixed width, bold label */
.dialog-kv-key[b-exo5ddpmyk] {
    width: 140px;
    font-weight: 600;
}

/* Bold label without fixed width (for rows where width is inherited) */
.dialog-kv-label[b-exo5ddpmyk] {
    font-weight: 600;
}

/* Monospace value cell (IDs, technical strings) */
.dialog-kv-mono[b-exo5ddpmyk] {
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 0.8rem;
}

/* Monospace + nowrap (tool names) */
.dialog-kv-mono-nowrap[b-exo5ddpmyk] {
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    white-space: nowrap;
}

/* Preformatted text block for instructions/prompts */
.dialog-pre[b-exo5ddpmyk] {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 0.78rem;
    margin: 0;
    padding: 8px;
    background: var(--mud-palette-surface);
    border-radius: 4px;
    max-height: 300px;
    overflow-y: auto;
}

/* Small font for the tools table */
.dialog-table-sm[b-exo5ddpmyk] {
    font-size: 0.82rem;
}
/* /Components/Shared/AgentSelection/AgentPicker.razor.rz.scp.css */
/* AgentPicker compact select sizing; meta text uses mud-text-secondary */
.chat-compact-select[b-ebabejfy8t] {
    min-width: 120px;
    max-width: 220px;
}

/* Compact label above each control (mockup .config-label). */
.ap-field[b-ebabejfy8t] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.ap-label[b-ebabejfy8t] {
    display: inline-flex;
    align-items: center;
    height: 13px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 2px;
}

/* AGENT label acts as the "agent details" link (replaces the separate info button). */
.ap-label-action[b-ebabejfy8t] {
    cursor: pointer;
    gap: 2px;
    overflow: visible;
}
.ap-label-action:hover[b-ebabejfy8t] {
    color: var(--mud-palette-primary);
}
.ap-info[b-ebabejfy8t] {
    font-size: 11px;
    line-height: 1;
}

/* MODEL label carries small model-modality indicators (icons sized inline). */
.ap-label-modality[b-ebabejfy8t] {
    gap: 3px;
    overflow: visible;
    color: var(--mud-palette-text-secondary);
}

.chat-model-trigger-wrap[b-ebabejfy8t] {
    display: inline-flex;
    position: relative;
}

.chat-model-trigger-text[b-ebabejfy8t] {
    flex: 1 1 auto;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* Narrower than before: three price columns were merged into one "Cost $/1M"
   column to make room for the Ctx column without growing the popover. */
.chat-model-popover[b-ebabejfy8t] {
    width: 560px;
    max-width: 560px;
    overflow: hidden;
}

.chat-model-table[b-ebabejfy8t] {
    width: 100%;
}

.chat-model-table .mud-table-head th[b-ebabejfy8t] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    background-color: var(--mud-palette-surface);
}

.chat-model-table .mud-table-body td[b-ebabejfy8t] {
    font-variant-numeric: tabular-nums;
}
/* /Components/Shared/AgentSelection/ModelExplorer.razor.rz.scp.css */
.model-explorer-content[b-9t7ljlhtxr] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    gap: 16px;
}

.model-explorer-grid-pane[b-9t7ljlhtxr] {
    display: flex;
    flex-direction: column;
    flex: 3 1 0;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.model-explorer-footer[b-9t7ljlhtxr] {
    flex: 0 0 auto;
    padding: 8px 0 0;
    text-align: right;
    color: var(--mud-palette-text-secondary);
    font-size: 0.95em;
}

.model-explorer-detail-pane[b-9t7ljlhtxr] {
    flex: 2 1 0;
    min-height: 0;
    min-width: 0;
}

.model-explorer-provider-select[b-9t7ljlhtxr] {
    min-width: 160px;
}

.model-explorer-search[b-9t7ljlhtxr] {
    min-width: 320px;
    flex: 1 1 320px;
}

.model-explorer-chat-filter[b-9t7ljlhtxr] {
    min-width: 150px;
    max-width: 190px;
}

.model-explorer-detail-panel[b-9t7ljlhtxr] {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    padding: 8px 0;
}

.model-explorer-reference[b-9t7ljlhtxr] {
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 0.78rem;
}

.model-explorer-kv-key[b-9t7ljlhtxr] {
    width: 180px;
    font-weight: 600;
}

.model-explorer-bool[b-9t7ljlhtxr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
}

.model-explorer-bool--true[b-9t7ljlhtxr] {
    color: var(--mud-palette-success);
    background: color-mix(in srgb, var(--mud-palette-success) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-success) 55%, transparent);
}

.model-explorer-bool--false[b-9t7ljlhtxr] {
    color: var(--mud-palette-error);
    background: color-mix(in srgb, var(--mud-palette-error) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-error) 50%, transparent);
}

.model-explorer-bool--unknown[b-9t7ljlhtxr] {
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-action-default-hover);
    border: 1px solid var(--mud-palette-lines-default);
}

.model-explorer-json[b-9t7ljlhtxr] {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 0.78rem;
    margin: 0;
    max-height: 280px;
    overflow-y: auto;
}

@media (max-width: 960px) {
    .model-explorer-content[b-9t7ljlhtxr] {
        flex-direction: column;
    }

    .model-explorer-grid-pane[b-9t7ljlhtxr],
    .model-explorer-detail-pane[b-9t7ljlhtxr] {
        flex: none;
        max-height: 420px;
    }

    .model-explorer-detail-panel[b-9t7ljlhtxr] {
        height: auto;
        min-height: auto;
    }
}
/* /Components/Shared/AgentSelection/ModelExplorerDialog.razor.rz.scp.css */
/* Dialog-specific styles only. Shared model-explorer styles are in ModelExplorer.razor.css */
[b-gj2u2artc3] .model-explorer-dialog-content {
    overflow: hidden;
}
/* /Components/Shared/Chat/Diagnostics/AgentInvocationDetailDialog.razor.rz.scp.css */
.dialog-caption[b-jyqiorbwo2] {
    opacity: 0.7;
}

.dialog-section-info[b-jyqiorbwo2] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.dialog-section-agent[b-jyqiorbwo2] {
    background: color-mix(in srgb, var(--mud-palette-success) 7%, transparent);
}

.dialog-section-usage[b-jyqiorbwo2] {
    background: color-mix(in srgb, var(--mud-palette-info) 7%, transparent);
}

.usage-metrics[b-jyqiorbwo2] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.usage-metric[b-jyqiorbwo2] {
    min-width: 104px;
    padding: 6px 8px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 6%, transparent);
}

.usage-metric__label[b-jyqiorbwo2] {
    display: block;
    font-size: 11px;
    opacity: 0.65;
}

.usage-metric__value[b-jyqiorbwo2] {
    display: block;
    font-family: monospace;
    font-size: 12px;
}

.dialog-break[b-jyqiorbwo2] {
    word-break: break-all;
}

.dialog-payload[b-jyqiorbwo2] {
    margin: 8px 0 0;
    padding: 12px;
    border-radius: 4px;
    max-height: 320px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: monospace;
    font-size: 12px;
    line-height: 1.45;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent);
}
/* /Components/Shared/Chat/Diagnostics/ContextComposition.razor.rz.scp.css */
.context-composition[b-wdmce1f7l3] {
    background: color-mix(in srgb, var(--mud-palette-tertiary) 6%, transparent);
}

/* Dense (inline per-turn) variant: tighter spacing, transparent background
   so it blends into the owning step row's container. */
.context-composition--dense[b-wdmce1f7l3] {
    padding: 4px 8px 6px;
    background: transparent;
}

.context-composition--dense .context-usage__track[b-wdmce1f7l3] {
    margin-top: 3px;
    height: 11px;
}

.context-composition--dense .context-usage__legend[b-wdmce1f7l3] {
    margin-top: 4px;
    gap: 3px 10px;
}

.context-composition--dense .context-usage__legend-item[b-wdmce1f7l3] {
    font-size: 11px;
}

.context-composition__caption[b-wdmce1f7l3] {
    opacity: 0.7;
}

.context-composition__note[b-wdmce1f7l3] {
    display: block;
    margin-top: 4px;
    opacity: 0.72;
}

.context-usage__heading[b-wdmce1f7l3] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.context-usage__track[b-wdmce1f7l3] {
    display: flex;
    height: 14px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 10%, transparent);
}

.context-usage__bar[b-wdmce1f7l3] {
    display: flex;
    height: 100%;
    width: calc(var(--context-bar-scale, 1) * 100%);
    min-width: 0;
    transition: width 200ms ease;
}

.context-usage__segment[b-wdmce1f7l3] {
    flex: 0 0 var(--context-segment-size);
    min-width: 2px;
    transition: filter 120ms ease;
}

.context-usage__segment:hover[b-wdmce1f7l3] {
    filter: brightness(1.15);
}

.context-usage__legend[b-wdmce1f7l3] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 8px;
}

.context-usage__legend-item[b-wdmce1f7l3] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    font-size: 12px;
    line-height: 1.35;
}

.context-usage__legend-item strong[b-wdmce1f7l3] {
    font-variant-numeric: tabular-nums;
}

.context-usage__detail[b-wdmce1f7l3] {
    opacity: 0.68;
    white-space: nowrap;
}

.context-usage__swatch[b-wdmce1f7l3] {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
}

.context-segment--system[b-wdmce1f7l3] {
    background: #5c6bc0;
}

.context-segment--user[b-wdmce1f7l3] {
    background: #26a69a;
}

.context-segment--assistant[b-wdmce1f7l3] {
    background: #42a5f5;
}

.context-segment--definitions[b-wdmce1f7l3] {
    background: #ab47bc;
}

.context-segment--skills[b-wdmce1f7l3] {
    background: #7e57c2;
}

.context-segment--skill-loads[b-wdmce1f7l3] {
    background: #ec407a;
}

.context-segment--loaded-skills[b-wdmce1f7l3] {
    background: #00838f;
}

.context-segment--calls[b-wdmce1f7l3] {
    background: #fb8c00;
}

.context-segment--results[b-wdmce1f7l3] {
    background: #66bb6a;
}

.context-segment--page[b-wdmce1f7l3] {
    background: #26a69a;
}

.context-segment--workspace[b-wdmce1f7l3] {
    background: #42a5f5;
}

.context-segment--instructions[b-wdmce1f7l3] {
    background: #5c6bc0;
}

.context-segment--other[b-wdmce1f7l3] {
    background: #90a4ae;
}

@media (max-width: 599px) {
    .context-usage__heading[b-wdmce1f7l3] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0;
    }

    .context-usage__legend[b-wdmce1f7l3] {
        gap: 5px 10px;
    }
}
/* /Components/Shared/Chat/Diagnostics/HttpRequestDetailDialog.razor.rz.scp.css */
.dialog-caption[b-3coaju0xxn] {
    opacity: 0.7;
}

.dialog-section[b-3coaju0xxn] {
    max-height: 65vh;
    overflow: auto;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 6%, transparent);
}

.code-block[b-3coaju0xxn] {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 12px;
}

.projection-block + .dialog-caption[b-3coaju0xxn] {
    display: block;
    margin-top: 12px;
}

.json-viewer-host[b-3coaju0xxn] {
    font-size: 13px;
}
/* /Components/Shared/Chat/Diagnostics/NextTurnPreviewDialog.razor.rz.scp.css */
.context-diagnostics-dialog[b-on9pe7xcw8] {
    height: 76vh;
    max-height: 76vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.context-diagnostics-tabs[b-on9pe7xcw8] {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    min-width: 0;
    display: flex;
}

.context-diagnostics-tabs[b-on9pe7xcw8]  .mud-tabs {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

.context-diagnostics-tabs[b-on9pe7xcw8]  .mud-tabs-panels {
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.context-diagnostics-dialog[b-on9pe7xcw8]  .mud-tabs-panel {
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    min-width: 0;
}

.context-diagnostics-dialog[b-on9pe7xcw8]  .mud-dialog-content {
    overflow-x: hidden;
    overflow-y: hidden;
}

.context-diagnostics-dialog[b-on9pe7xcw8]  .context-preview-text {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: pre-wrap;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-height: none;
    margin: 0.25rem 0 0;
    padding: 0.5rem;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.78rem;
    line-height: 1.35;
}

.context-diagnostics-dialog[b-on9pe7xcw8]  .context-preview-text-complete {
    min-height: 100%;
}

.context-tab-content[b-on9pe7xcw8] {
    padding-top: 0.5rem;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.context-pattern-field[b-on9pe7xcw8] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: start;
    font-size: 0.8125rem;
    line-height: 1.35;
}

.context-pattern-label[b-on9pe7xcw8] {
    color: var(--mud-palette-text-secondary);
    font-weight: 600;
    white-space: nowrap;
}

.context-pattern-value[b-on9pe7xcw8] {
    overflow-wrap: anywhere;
}

.context-diagnostics-table[b-on9pe7xcw8] {
    font-size: 0.8125rem;
}

.context-diagnostics-cell-text[b-on9pe7xcw8] {
    min-width: 12rem;
    max-width: 22rem;
    overflow-wrap: anywhere;
    vertical-align: top;
}

.context-inline-pre[b-on9pe7xcw8] {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font: inherit;
}

.context-diagnostics-break[b-on9pe7xcw8] {
    overflow-wrap: anywhere;
}
/* /Components/Shared/Chat/Diagnostics/PageContextDiagnosticsPanel.razor.rz.scp.css */
.chat-context-indicator[b-a7alc96ygt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex: 0 0 auto;
    box-sizing: border-box;
    min-width: 0;
    max-width: 132px;
    height: 22px;
    padding: 0 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    font: inherit;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease;
}

.chat-context-indicator:hover:not(:disabled)[b-a7alc96ygt] {
    border-color: color-mix(in srgb, var(--mud-palette-primary) 24%, transparent);
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.chat-context-indicator:focus-visible[b-a7alc96ygt] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

.chat-context-indicator:disabled[b-a7alc96ygt] {
    opacity: 0.55;
    cursor: default;
}

.chat-context-indicator--healthy[b-a7alc96ygt] {
    color: var(--mud-palette-info);
}

.chat-context-indicator--warning[b-a7alc96ygt] {
    color: var(--mud-palette-warning);
}

.chat-context-indicator--danger[b-a7alc96ygt] {
    color: var(--mud-palette-error);
}

.chat-context-indicator--unknown[b-a7alc96ygt] {
    color: var(--mud-palette-text-secondary);
}

.chat-context-indicator__icon[b-a7alc96ygt] {
    display: inline-flex;
    flex: 0 0 auto;
}

.chat-context-indicator__text[b-a7alc96ygt] {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
}

[b-a7alc96ygt] .chat-context-indicator__icon .mud-icon-root {
    font-size: 14px;
}
/* /Components/Shared/Chat/Diagnostics/TurnDetailDialog.razor.rz.scp.css */
/* Dialog caption style (mirrors HttpRequestDetailDialog) */
.dialog-caption[b-5vvk9j9la7] {
    opacity: 0.7;
}

/* Info panel background (mirrors HttpRequestDetailDialog) */
.dialog-section-info[b-5vvk9j9la7] {
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
}

.dialog-section-agent[b-5vvk9j9la7] {
    background: color-mix(in srgb, var(--mud-palette-success) 7%, transparent);
}

.dialog-section-usage[b-5vvk9j9la7] {
    background: color-mix(in srgb, var(--mud-palette-info) 7%, transparent);
}

.usage-metrics[b-5vvk9j9la7] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.usage-metric[b-5vvk9j9la7] {
    min-width: 104px;
    padding: 6px 8px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 6%, transparent);
}

.usage-metric__label[b-5vvk9j9la7] {
    display: block;
    font-size: 11px;
    opacity: 0.65;
}

.usage-metric__value[b-5vvk9j9la7] {
    display: block;
    font-family: monospace;
    font-size: 12px;
}

/* Compaction panel style */
.dialog-section-compaction[b-5vvk9j9la7] {
    border-left: 3px solid color-mix(in srgb, var(--mud-palette-tertiary) 60%, transparent);
    background: color-mix(in srgb, var(--mud-palette-tertiary) 7%, transparent);
}

.dialog-section-tool[b-5vvk9j9la7] {
    border-left: 3px solid color-mix(in srgb, var(--mud-palette-warning) 60%, transparent);
    background: color-mix(in srgb, var(--mud-palette-warning) 6%, transparent);
}

.dialog-break[b-5vvk9j9la7] {
    word-break: break-all;
}

.dialog-payload[b-5vvk9j9la7] {
    margin: 8px 0 0;
    padding: 12px;
    border-radius: 4px;
    max-height: 320px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: monospace;
    font-size: 12px;
    line-height: 1.45;
    background: color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent);
}
/* /Components/Shared/Chat/Messages/ChatMessageItemView.razor.rz.scp.css */
.chat-message-item__tool-container[b-q2957fvtpl] {
    margin-left: 10px;
}

.chat-message-item__tool-stack[b-q2957fvtpl] {
    width: 100%;
    min-width: 0;
}

.chat-message-item__tool-name[b-q2957fvtpl] {
    font-weight: 600;
    opacity: 0.95;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.chat-message-item__tool-text[b-q2957fvtpl] {
    white-space: pre-wrap;
    word-break: break-word;
}

.chat-message-item__mounts[b-q2957fvtpl] {
    display: block;
}

.chat-message-item__mount[b-q2957fvtpl] {
    display: flex;
    gap: 0.4rem;
}

.chat-message-item__tool-result[b-q2957fvtpl] {
    padding: 4px 6px;
    border-left: 3px solid var(--accent-color);
    border-radius: 3px;
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 18%, transparent);
}

.chat-tool-content[b-q2957fvtpl] {
    position: relative;
}

.chat-tool-content--collapsed[b-q2957fvtpl] {
    max-height: 7.5rem;
    overflow: hidden;
    padding-bottom: 1.75rem;
}

.chat-tool-content--expanded[b-q2957fvtpl] {
    max-height: 22.5rem;
    overflow: auto;
    scrollbar-gutter: stable;
}

.chat-tool-content__expand[b-q2957fvtpl] {
    position: absolute;
    right: 0.35rem;
    bottom: 0.25rem;
    z-index: 1;
    min-width: 2rem;
    padding: 0 0.5rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 999px;
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    font: inherit;
    line-height: 1.25rem;
}

.chat-tool-content__expand:hover[b-q2957fvtpl],
.chat-tool-content__expand:focus-visible[b-q2957fvtpl] {
    border-color: var(--accent-color);
    outline: none;
}

.chat-tool-content__legacy-note[b-q2957fvtpl] {
    margin-top: 0.25rem;
    font-size: 0.7rem;
    opacity: 0.72;
}

.chat-message-item__bubble[b-q2957fvtpl] {
        min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
}

.chat-message-item__identity[b-q2957fvtpl] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.25rem;
    min-width: 0;
    margin-bottom: 0.125rem;
}

/* Usage + commit-time line, bottom of user and assistant bubbles. */
.chat-message-item__footer[b-q2957fvtpl] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 2px 10px;
    margin-top: 4px;
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

.chat-message-item__role-label[b-q2957fvtpl] {
    opacity: 0.68;
    font-weight: 600;
}

.chat-message-item__model-label[b-q2957fvtpl] {
    opacity: 0.46;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-message-item__user-text[b-q2957fvtpl] {
    white-space: pre-wrap;
    word-break: break-word;
}

.chat-message-item__user-text[b-q2957fvtpl]  p,
.chat-message-item__user-text[b-q2957fvtpl]  li {
    white-space: pre-wrap;
    word-break: break-word;
}


.tool-item-body[b-q2957fvtpl] {
    font-size: 0.78rem;
    opacity: 0.88;
    margin-top: 0.1rem;
}
/* /Components/Shared/Chat/Shell/ChatStatsStrip.razor.rz.scp.css */
.chat-stats-strip[b-tcpi8f7s1n] {
    font-variant-numeric: tabular-nums;
    gap: 12px;
    font-size: 11px;
    line-height: 1.6;
    color: var(--mud-palette-text-secondary);
    border-bottom: 1px solid var(--mud-palette-divider);
    margin-bottom: 4px;
}

.chat-stats-strip__meta[b-tcpi8f7s1n] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top:-2px;
}

.chat-stats-strip__meta span[b-tcpi8f7s1n] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
/* /Components/Shared/Chat/Shell/ChatViewPanel.razor.rz.scp.css */
/* Session picker width utilities */
.minw-210[b-4tmnslhlec] { min-width: 210px; }
.maxw-380[b-4tmnslhlec] { max-width: 380px; }

.chat-view-panel[b-4tmnslhlec] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    width: 100%;
    min-width: 0;
}

.chat-view-panel-top[b-4tmnslhlec] {
    flex: 0 0 auto;
    padding: 0;
    container: chattoolbar / inline-size;
}


/* Session actions: inline on wide, three-dots overflow on narrow (chattoolbar container). */
.chat-session-actions-wide[b-4tmnslhlec] { display: inline-flex; align-items: center; gap: 4px; }
.chat-session-actions-narrow[b-4tmnslhlec] { display: none; }
@container chattoolbar (max-width: 620px) {
    .chat-session-actions-wide[b-4tmnslhlec] { display: none; }
    .chat-session-actions-narrow[b-4tmnslhlec] { display: inline-flex; align-items: center; }
}

/* Message list: flex/scroll, with a small clean gap above and below. */
[b-4tmnslhlec] .chat-message-list { flex: 1; overflow: auto; margin: 2px 0; }
.chat-view-panel-messages-placeholder[b-4tmnslhlec] { flex: 1; min-height: 0; margin: 2px 0; }

/* === Composer === */
/* Turn entry: quiet primary outline at rest, stronger focus ring (design mockup). */
.composer-turn[b-4tmnslhlec] {
    display: flex;
    align-items: center;
    padding: 4px 6px;
    min-height: 42px;
    border-radius: var(--mud-default-borderradius) var(--mud-default-borderradius) 0 0;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mud-palette-primary) 25%, transparent);
}
.composer-turn:focus-within[b-4tmnslhlec] {
    box-shadow: inset 0 0 0 1px var(--mud-palette-primary), 0 0 0 3px color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
}

/* Borderless auto-grow textarea (mockup #restInput); the outline lives on the row. */
[b-4tmnslhlec] .composer-turn .chat-input-field {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    resize: none;
    max-height: 60vh;
    overflow-y: auto;
    padding: 4px;
    font-family: var(--mud-typography-default-font-family, inherit);
    font-size: 14px;
    line-height: 1.45;
    color: var(--mud-palette-text-primary);
    background: transparent;
    border: 0;
    outline: 0;
}
[b-4tmnslhlec] .composer-turn .chat-input-field::placeholder { color: var(--mud-palette-text-disabled); }
[b-4tmnslhlec] .composer-turn .chat-input-field:disabled { opacity: 0.55; }
[b-4tmnslhlec] .composer-turn .chat-input-field.chat-input-font-md { font-size: 13px; }
[b-4tmnslhlec] .composer-turn .chat-input-field.chat-input-font-sm { font-size: 12px; }

/* Configuration footer around the AgentPicker (mockup .composer-config). */
.composer-config[b-4tmnslhlec] {
    border-top: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-background);
    padding: 3px 6px 4px;
}
[b-4tmnslhlec] .composer-config .gap-1 { row-gap: 2px; }

/* Attachment/camera button: a MudIconButton with an invisible InputFile overlay. */
.chat-attachment-picker[b-4tmnslhlec] { position: relative; display: inline-flex; flex: 0 0 auto; }
[b-4tmnslhlec] .chat-attachment-file-input { position: absolute; inset: 0; width: 100%; height: 100%; cursor: pointer; opacity: 0; }

/* Pending-attachment chips. */
.chat-attachment-list[b-4tmnslhlec] { display: flex; flex-wrap: wrap; gap: 4px; max-height: 88px; margin: 4px 0; overflow-y: auto; }
.chat-attachment-item[b-4tmnslhlec] { display: flex; align-items: center; min-width: 0; max-width: 280px; padding: 2px 4px 2px 6px; border: 1px solid var(--mud-palette-lines-default); border-radius: 4px; background: var(--mud-palette-background-gray); }
.chat-attachment-preview[b-4tmnslhlec] { width: 24px; height: 24px; margin-right: 4px; object-fit: cover; }
.chat-attachment-name[b-4tmnslhlec] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.75rem; }

/* /Components/Shared/DiagnosticsPanel.razor.rz.scp.css */
/* DiagnosticsPanel — component-scoped styles
   Static presentational classes to replace inline styles.
   Parameter-driven values (ContentPadding, ContentLineHeight) flow via CSS variables
   set on the content host element so they remain dynamic without raw inline style strings.
*/

/* Root paper — fill available height and clip content */
.diagnostics-root[b-ua87xxizhr] {
    height: 100%;
    overflow: hidden;
}

/* Header strip — fixed height, separator line, prevent shrinking */
.diagnostics-header[b-ua87xxizhr] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
    flex-shrink: 0;
}

/* Scrollable monospace content host.
   --dp-padding and --dp-line-height are set by the component via the style attribute
   so they stay dynamic while keeping the rest of the presentation in CSS. */
.diagnostics-content[b-ua87xxizhr] {
    flex: 1;
    overflow-y: auto;
    padding: var(--dp-padding, 4px 8px);
    font-family: 'Cascadia Mono', 'Fira Code', monospace;
    font-size: 11px;
    line-height: var(--dp-line-height, 1.4);
}

/* Empty state placeholder */
.diagnostics-empty-state[b-ua87xxizhr] {
    opacity: 0.4;
    text-align: center;
    margin-top: 24px;
}
/* /Components/Shared/FileView/FileContentViewer.razor.rz.scp.css */
.fcv-manual[b-xf3vzh2b93] {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 0.25rem;
}

.fcv-manual-toolbar[b-xf3vzh2b93] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.fcv-manual-state[b-xf3vzh2b93] {
    color: var(--mud-palette-text-secondary);
}

.fcv-manual-input[b-xf3vzh2b93] {
    flex: 1;
}

.fcv-manual-input .mud-input-root[b-xf3vzh2b93] {
    height: 100%;
}
/* /Components/Shared/FileView/FileViewerComponent.razor.rz.scp.css */
.file-viewer-object[b-7g2krzgubd] {
    width: 100%;
    min-height: 0;
    flex: 1 1 auto;
    border: 0;
    background: white;
}

.file-viewer-text-surface[b-7g2krzgubd] {
    background-color: var(--mud-palette-background-gray);
}

.file-viewer-pre[b-7g2krzgubd] {
    margin: 0;
    white-space: pre-wrap;
    font-family: monospace;
}
