/* ==========================================================================
   Nucleus detail shell (content-anchored layout + aligned flush rail)
   --------------------------------------------------------------------------
   Shared chrome for Service Desk / Accounts / Projects (and future modules).
   Domain surfaces stay in module.{service-desk|accounts|projects}-detail.css.

   Contract (sample Note parity + alignment polish):
   - Main column is transparent canvas; primary content uses discrete white cards.
   - Right rail is a white panel (left hairline only) — not an inset floating card.
   - Body: L/R gutters match header; bottom stays 0 so columns bleed.
   - No header overlap (translateY / ::before retired).
   ========================================================================== */

/* Host fill chain — L/R gutters match header; bottom bleeds */
.entity-view-layout .module-content-region:has(.nucleus-detail-shell) .workspace-main-body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    padding: var(--nx-space-2, 0.5rem) var(--nx-page-gutter-x, 1.25rem) 0 var(--nx-page-gutter-x, 1.25rem) !important;
}

.entity-view-layout .module-content-region:has(.nucleus-detail-shell) .workspace-main-body > * {
    flex: 1 1 0;
    min-height: 0;
}

.nucleus-detail-host {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
    min-width: 0;
    overflow: visible;
    outline: none;
}

@media (min-width: 960px) {
    .entity-view-layout .module-content-region:has(.nucleus-detail-shell) {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0;
    }

    .entity-view-layout .module-content-region:has(.nucleus-detail-shell) .workspace-main-body {
        flex: 1 1 0;
        min-height: 0;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .workspace-main-body,
    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .nucleus-detail-host {
        overflow: visible !important;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel,
    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .nucleus-detail-shell.nucleus-detail-split-layout--independent-scroll {
        overflow: visible;
    }
}

/* Shell chrome — full-width by default; 65/35 only when a side panel is mounted */
.nucleus-detail-shell {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    row-gap: 0.75rem;
}

.nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel {
    display: grid;
    grid-template-columns: minmax(0, var(--nucleus-detail-main-ratio, 65fr)) minmax(var(--nucleus-detail-side-width, 360px), var(--nucleus-detail-side-ratio, 35fr));
    grid-template-rows: auto minmax(0, 1fr);
    column-gap: var(--nucleus-detail-gap, 1rem);
}

.nucleus-detail-shell__main-tabs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    min-width: 0;
    /* Room for inline qty chips beside labels */
    min-height: 2.75rem;
    width: 100%;
    overflow: visible;
    padding-top: 0.35rem;
}

/* Main tab strip — left-start (content edge aligned with title/chips) */
.nucleus-detail-shell__main-tabs .mud-tabs,
.nucleus-detail-shell__main-tabs .mud-tabs-toolbar,
.nucleus-detail-shell__main-tabs .mud-tabs-tabbar,
.nucleus-detail-shell__main-tabs .mud-tabs-tabbar-inner,
.nucleus-detail-shell__main-tabs .mud-tabs-tabbar-wrapper,
.nucleus-detail-shell__main-tabs .mud-tabs-tabbar-content,
.nucleus-detail-shell__main-tabs .mud-tabs-scroll-wrapper {
    justify-content: flex-start !important;
    width: 100%;
}

.nucleus-detail-shell__main-tabs .nucleus-detail-simple-mud-tabs .mud-tab:first-child {
    padding-left: 0 !important;
    margin-inline-start: 0 !important;
}

.nucleus-detail-shell__main-tabs .nucleus-detail-main-mud-tabs-host {
    width: 100%;
    min-width: 0;
    overflow: visible;
}

.nucleus-detail-shell .nucleus-detail-simple-mud-tabs.mud-tabs,
.nucleus-detail-shell .nucleus-detail-simple-mud-tabs .mud-tabs-toolbar,
.nucleus-detail-shell .nucleus-detail-simple-mud-tabs .mud-tabs-tabbar,
.nucleus-detail-shell .nucleus-detail-simple-mud-tabs .mud-tabs-tabbar-inner,
.nucleus-detail-shell .nucleus-detail-simple-mud-tabs .mud-tabs-tabbar-wrapper {
    overflow: visible !important;
}

.nucleus-detail-shell .nucleus-detail-simple-mud-tabs .mud-tab {
    overflow: visible !important;
}

.nucleus-detail-shell .nucleus-detail-shell__main,
.nucleus-detail-shell .service-desk-main,
.nucleus-detail-shell .account-detail-main,
.nucleus-detail-shell .contact-detail-main,
.nucleus-detail-shell .project-detail-main,
.nucleus-detail-shell .opportunity-detail-main,
.nucleus-detail-shell .contract-detail-main,
.nucleus-detail-shell .template-detail-main,
.nucleus-detail-shell .catalogue-detail-main,
.nucleus-detail-shell .order-detail-main,
.nucleus-detail-shell .governance-risk-detail-main,
.nucleus-detail-shell .governance-policy-detail-main,
.nucleus-detail-shell .governance-control-detail-main,
.nucleus-detail-shell .governance-standard-detail-main {
    grid-column: 1;
    grid-row: 2;
    /* Canvas shows through — white cards live inside the scroll body */
    background: transparent;
    border-radius: 0;
    min-width: 0;
    min-height: 0;
}

body.theme-dark .nucleus-detail-shell .nucleus-detail-shell__main,
body.theme-dark .nucleus-detail-shell .service-desk-main,
body.theme-dark .nucleus-detail-shell .account-detail-main,
body.theme-dark .nucleus-detail-shell .contact-detail-main,
body.theme-dark .nucleus-detail-shell .project-detail-main,
body.theme-dark .nucleus-detail-shell .opportunity-detail-main,
body.theme-dark .nucleus-detail-shell .contract-detail-main,
body.theme-dark .nucleus-detail-shell .template-detail-main,
body.theme-dark .nucleus-detail-shell .catalogue-detail-main,
body.theme-dark .nucleus-detail-shell .order-detail-main,
body.theme-dark .nucleus-detail-shell .governance-risk-detail-main,
body.theme-dark .nucleus-detail-shell .governance-policy-detail-main,
body.theme-dark .nucleus-detail-shell .governance-control-detail-main,
body.theme-dark .nucleus-detail-shell .governance-standard-detail-main {
    background: transparent;
}

/* Main-column scrollbar sits in the column gap (equidistant between cards and rail) */
@media (min-width: 960px) {
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .nucleus-detail-shell__main > .capability-workspace-tab-content,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .nucleus-detail-shell__main > .entity-view-body,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .service-desk-main > .service-desk-tab-content,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .service-desk-main > .conversation-thread-panel,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .account-detail-main > .account-detail-tab-content,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .contact-detail-main > .contact-detail-tab-content,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .project-detail-main > .project-detail-tab-content,
    .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel .contract-detail-main > .contract-detail-tab-content,
    .capability-workspace-detail-layout .capability-workspace-main > .capability-workspace-tab-content,
    .capability-workspace-detail-layout .capability-workspace-main > .entity-view-body {
        padding-right: calc(var(--nucleus-detail-gap, 1rem) / 2);
        margin-right: calc(var(--nucleus-detail-gap, 1rem) / -2);
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        scrollbar-color: var(--mud-palette-lines-default, rgba(0, 0, 0, 0.2)) transparent;
    }
}

/* Ensure active-tab underline is not clipped */
.nucleus-detail-shell__main-tabs,
.nucleus-detail-shell__main-tabs .nucleus-detail-main-mud-tabs-host,
.nucleus-detail-shell__main-tabs .mud-tabs-toolbar,
.nucleus-detail-shell__main-tabs .mud-tabs-tabbar {
    overflow: visible !important;
}

/* Header-only MudTabs bodies */
.nucleus-detail-shell .nucleus-detail-mud-tabs-panels-collapsed,
.nucleus-detail-rail-card .nucleus-detail-mud-tabs-panels-collapsed {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Underline MudTabs look: wwwroot/css/module.tabs.css */

/* Content-anchored chrome — header overlap on rail is retired */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) {
    --nucleus-detail-rail-header-overlap: 0;
    --nucleus-detail-side-overlap: 0;
    --nucleus-detail-content-top-inset: 0.125rem;
    --nucleus-detail-header-chrome-rhythm: 0.25rem;
    --nucleus-detail-title-chip-gap: 0.25rem;
    /* Match Service Desk: tight title→chips, header bottom before body tabs */
    --nucleus-detail-header-section-padding-bottom: 0.25rem;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .module-main-column {
    overflow: visible;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .module-content-region {
    position: relative;
    z-index: 101 !important;
    overflow: visible;
}

/* Flush rail in column — left hairline only; no inset card chrome; no header overlap.
   Domain *-right-rail-card classes are layout modifiers only (grid, flush inner).
   Do not redeclare background/border/border-radius/box-shadow on those hosts.
   Transparent fill so the page canvas gradient shows through (same as main column). */
.nucleus-detail-rail-card {
    grid-column: 2;
    grid-row: 1 / -1;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    overflow: hidden;
    border: none;
    border-left: 1px solid var(--nucleus-detail-side-card-border, var(--nx-border-subtle, var(--mud-palette-lines-default)));
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

@media (min-width: 960px) {
    .nucleus-detail-rail-card {
        z-index: 10;
        isolation: isolate;
    }

    .nucleus-detail-rail-card::before {
        content: none;
        display: none;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-right-column,
    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-right-column .home-quick-actions {
        position: relative;
        z-index: 0;
    }
}

body.theme-dark .nucleus-detail-rail-card {
    background: transparent;
    border-left-color: var(--mud-palette-lines-default);
    box-shadow: none;
}

.nucleus-detail-rail-card > .nucleus-detail-side-panel {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nucleus-detail-rail-card__tabs.nucleus-context-panel-tabs,
.nucleus-detail-rail-card__tabs {
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    min-width: 0;
    min-height: 2.25rem;
    padding: 0 0.875rem;
    border-bottom: none;
    margin: 0;
    background: transparent;
}

/* Collapse reserved tab chrome when no strip is rendered (e.g. empty Tabs slot) */
.nucleus-detail-rail-card__tabs:empty,
.nucleus-detail-rail-card__tabs:not(:has(.mud-tabs, .nucleus-detail-simple-mud-tabs, .nucleus-detail-rail-mud-tabs, [role="tablist"])):not(.nucleus-detail-edge-rail-header):not(.asset-detail-rail-header) {
    display: none;
    min-height: 0;
    height: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.nucleus-detail-rail-card__tabs.nucleus-detail-edge-rail-header,
.nucleus-detail-rail-card__tabs.asset-detail-rail-header,
.service-desk-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.service-desk-right-rail-card__tabs.asset-detail-rail-header,
.service-desk-right-rail-card__tabs.nucleus-context-panel-tabs.nucleus-detail-edge-rail-header,
.capability-workspace-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.capability-workspace-right-rail-card__tabs.asset-detail-rail-header,
.account-detail-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.account-detail-right-rail-card__tabs.nucleus-context-panel-tabs.nucleus-detail-edge-rail-header,
.contact-detail-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.project-detail-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.contract-detail-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.order-detail-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.strategy-detail-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.business-flow-workspace-right-rail-card__tabs.nucleus-detail-edge-rail-header {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    height: auto;
    /*
     * Align toolbar with .nx-page-title (same column top = module-main-column).
     * Header uses 1rem section padding + ~2rem title line; nudge so button centres
     * sit on the title band (beat domain __tabs { padding: 0 0.875rem }).
     */
    padding: var(--nucleus-detail-edge-rail-toolbar-pad-top, 1.75rem) 0.875rem 0.5rem !important;
    margin: 0;
    overflow: visible;
    border-bottom: none !important;
    background: transparent;
}

/* Equal-width outlined action strip — grid 1fr columns beat MudBlazor min-width */
.nucleus-detail-edge-rail-toolbar {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    /* Belt-and-suspenders when domain __tabs zeros padding-top */
    margin-top: 0;
}

.nucleus-detail-edge-rail-toolbar > .mud-button-root,
.nucleus-detail-edge-rail-toolbar .mud-button-root.nucleus-detail-edge-rail-toolbar__btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-content: center;
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
    font-size: var(--nx-font-secondary, 0.8125rem) !important;
}

/* Decorative underline retired — hairline is border-bottom on the edge-rail header tabs. */
.nucleus-detail-edge-rail-header__underline,
.asset-detail-rail-header__underline {
    display: none;
}

.nucleus-detail-edge-rail-header__row,
.asset-detail-rail-header__row {
    display: none;
}

.nucleus-detail-rail-card__tabs .nucleus-detail-rail-mud-tabs,
.nucleus-detail-rail-card__tabs .nucleus-detail-simple-mud-tabs {
    width: 100%;
    min-width: 0;
}

.nucleus-detail-rail-card__body.nucleus-context-panel-content,
.nucleus-detail-rail-card__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding: 0;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--mud-palette-lines-default, rgba(0, 0, 0, 0.2)) transparent;
    display: flex;
    flex-direction: column;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-with-border {
    border-bottom: none !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .module-header-section.has-scrollable-content {
    border-bottom: none !important;
}

/* Header geometry mirrors split so workflow actions sit over the rail column */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .module-header-section {
    display: grid;
    grid-template-columns: minmax(0, var(--nucleus-detail-main-ratio, 65fr)) minmax(var(--nucleus-detail-side-width, 360px), var(--nucleus-detail-side-ratio, 35fr));
    gap: var(--nucleus-detail-header-chrome-rhythm, 0.375rem) var(--nucleus-detail-gap, 1rem) !important;
    padding: 1rem 1.25rem var(--nucleus-detail-header-section-padding-bottom, 0.25rem) !important;
    overflow: visible;
    z-index: 0 !important;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .module-header-section > * {
    grid-column: 1 / -1;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .module-header-section > :last-child {
    margin-bottom: 0 !important;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-top-row {
    display: grid !important;
    grid-template-columns: minmax(0, var(--nucleus-detail-main-ratio, 65fr)) minmax(var(--nucleus-detail-side-width, 360px), var(--nucleus-detail-side-ratio, 35fr));
    gap: var(--nucleus-detail-gap, 1rem) !important;
    align-items: start;
    width: 100%;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-left {
    min-width: 0;
    align-items: stretch;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-right-column {
    grid-column: 2;
    width: 100%;
    min-width: 0;
    align-items: stretch !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .home-quick-actions {
    width: 100%;
    align-items: stretch;
    flex-wrap: nowrap;
    column-gap: 0;
    row-gap: 0;
}

.entity-view-layout:has(.nucleus-detail-shell) .home-quick-actions .nucleus-detail-header-workflow-actions {
    width: 100%;
    padding-block: 0.125rem;
}

/* Equal-width workflow actions (text-first). Labeled menus share space equally.
   Dual-class .service-desk-header-workflow-actions supported during migration. */
.nucleus-detail-header-workflow-actions,
.service-desk-header-workflow-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: stretch;
    gap: 0.375rem;
    width: 100%;
    min-width: 0;
    max-height: var(--nx-control-height-comfort, 2.5rem);
}

.nucleus-detail-header-workflow-actions > *,
.service-desk-header-workflow-actions > * {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
}

.nucleus-detail-header-workflow-actions > .mud-menu,
.service-desk-header-workflow-actions > .mud-menu {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
}

.nucleus-detail-header-workflow-actions > .mud-menu .mud-menu-activator,
.service-desk-header-workflow-actions > .mud-menu .mud-menu-activator {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    display: flex;
}

.nucleus-detail-header-workflow-actions .mud-button-root,
.service-desk-header-workflow-actions .mud-button-root {
    width: 100%;
    min-width: 0;
    min-height: var(--nx-control-height-standard, 36px);
    height: var(--nx-control-height-standard, 36px);
    justify-content: center;
    align-items: center;
    flex-direction: row !important;
    white-space: nowrap;
    padding: 0 0.5rem !important;
    line-height: 1.2;
}

.nucleus-detail-header-workflow-actions .mud-button-root .mud-button-label,
.service-desk-header-workflow-actions .mud-button-root .mud-button-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: row !important;
    gap: 0;
    max-width: 100%;
    font-size: var(--nx-font-secondary, 0.8125rem);
}

/* Icon-only overflow menu (Service Desk secondary actions) */
.nucleus-detail-header-workflow-actions--compact-overflow > .mud-menu {
    flex: 0 0 auto;
    max-width: 2.5rem;
}

.nucleus-detail-header-workflow-actions--compact-overflow > .mud-menu .mud-button-root {
    min-width: var(--nx-control-height-standard, 36px);
    padding: 0 0.25rem !important;
}

/* Keep workflow bar above rail card edge when actions sit in header overlap */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-right-column .nucleus-detail-header-workflow-actions {
    position: relative;
    z-index: 12;
}

/* Chevron-only title-row back; hide text “Back to …” row when shell is active */
.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-back-row {
    display: none !important;
}

a.nucleus-detail-title-back-btn,
.nucleus-detail-title-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
}

a.nucleus-detail-title-back-btn:hover,
.nucleus-detail-title-back-btn:hover {
    color: var(--mud-palette-text-primary);
    background: transparent;
    opacity: 0.72;
}

a.nucleus-detail-title-back-btn:focus-visible,
.nucleus-detail-title-back-btn:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.nucleus-detail-title-back-btn__icon.mud-icon-root,
.nucleus-detail-title-back-btn .mud-icon-root {
    /* Match PageTitle / Typo.h4 optical size */
    font-size: 1.5rem !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-title-row {
    align-items: center;
    gap: var(--nx-space-1, 0.25rem);
    width: 100%;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-leading {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.entity-view-layout:has(.nucleus-detail-shell) .home-greeting,
.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-title-inner.home-greeting {
    margin-bottom: 0 !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-with-border {
    border-bottom: none !important;
    padding-bottom: var(--nucleus-detail-title-chip-gap, 0.25rem) !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-with-border .home-header-content {
    gap: 0.25rem !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-subtitle-slot {
    margin-top: var(--nucleus-detail-title-chip-gap, 0.25rem) !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-trailing {
    margin-left: auto;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
}

/* Rail field rows — fixed label column, left-aligned values */
.nucleus-detail-rail-dashboard,
.nucleus-detail-shell {
    --nucleus-rail-label-width: 7.5rem;
}

.nucleus-rail-field-row {
    display: grid;
    grid-template-columns: var(--nucleus-rail-label-width, 7.5rem) minmax(0, 1fr);
    column-gap: 0.5rem;
    align-items: start;
    min-height: 1.375rem;
    min-width: 0;
}

.nucleus-rail-field-row__label {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
    justify-self: start;
    padding-top: 0.125rem;
}

.nucleus-rail-field-row__value {
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--mud-palette-text-primary);
    text-align: left;
    min-width: 0;
    word-break: break-word;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
}

/* Shared header meta chips */
.nucleus-detail-header-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.nucleus-detail-header-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.625rem;
    padding: 0 0.625rem;
    border-radius: var(--nx-radius-medium, var(--nucleus-surface-radius, 4px));
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.25;
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-background-grey, var(--mud-palette-drawer-background));
    border: 1px solid var(--mud-palette-lines-default);
}

.nucleus-detail-header-chip--outlined {
    background: transparent;
}

.nucleus-detail-header-chip--status,
.nucleus-detail-header-chip--filled {
    border-color: transparent;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text, #fff);
}

.nucleus-detail-header-chip--danger,
.nucleus-detail-header-chip--sla-breach {
    background: var(--mud-palette-error);
    color: var(--mud-palette-error-text, #fff);
    border-color: transparent;
}

.nucleus-detail-header-chip {
    font-weight: 600;
    line-height: 1.25;
    max-width: min(16rem, 100%);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nucleus-detail-header-chip--status {
    max-width: min(18rem, 100%);
}

.nucleus-detail-header-chip--outlined-warning {
    border: 1px solid var(--mud-palette-warning);
    background-color: transparent;
    color: var(--mud-palette-warning);
}

.nucleus-detail-header-chip--outlined-error {
    border: 1px solid var(--mud-palette-error);
    background-color: transparent;
    color: var(--mud-palette-error);
}

.nucleus-detail-header-chip--filled-primary {
    border: none;
    background-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.nucleus-detail-header-chip--filled-success {
    border: none;
    background-color: var(--mud-palette-success);
    color: var(--mud-palette-success-text, #fff);
}

.nucleus-detail-header-chip--filled-warning {
    border: none;
    background-color: var(--mud-palette-warning);
    color: var(--mud-palette-warning-text, rgba(0, 0, 0, 0.87));
}

.nucleus-detail-header-chip--filled-error {
    border: none;
    background-color: var(--mud-palette-error);
    color: var(--mud-palette-error-text, #fff);
}

.nucleus-detail-header-chip--filled-default {
    border: none;
    background-color: var(--mud-palette-grey-default);
    color: var(--mud-palette-text-primary);
}

a.nucleus-detail-header-chip {
    text-decoration: none;
    cursor: pointer;
    color: inherit;
}

a.nucleus-detail-header-chip--outlined:hover {
    background-color: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent);
    border-color: color-mix(in srgb, var(--mud-palette-primary) 40%, var(--mud-palette-lines-default));
}

/* --------------------------------------------------------------------------
   Main column cards on canvas (sample Note parity)
   EntityV2 / definition sections become discrete white cards inside the shell.
   Scoped to shell mains so index / non-shell pages keep divider-only sections.
   -------------------------------------------------------------------------- */
.nucleus-detail-shell .nucleus-detail-shell__main .property-v2-section,
.nucleus-detail-shell .nucleus-detail-shell__main .nucleus-definition-section,
.nucleus-detail-shell .nucleus-detail-shell__main .entity-v2-detail-section,
.nucleus-detail-shell .service-desk-main .property-v2-section,
.nucleus-detail-shell .service-desk-main .nucleus-definition-section,
.nucleus-detail-shell .account-detail-main .property-v2-section,
.nucleus-detail-shell .account-detail-main .nucleus-definition-section,
.nucleus-detail-shell .contact-detail-main .property-v2-section,
.nucleus-detail-shell .contact-detail-main .nucleus-definition-section,
.nucleus-detail-shell .project-detail-main .property-v2-section,
.nucleus-detail-shell .project-detail-main .nucleus-definition-section,
.nucleus-detail-shell .opportunity-detail-main .property-v2-section,
.nucleus-detail-shell .opportunity-detail-main .nucleus-definition-section,
.nucleus-detail-shell .contract-detail-main .property-v2-section,
.nucleus-detail-shell .contract-detail-main .nucleus-definition-section,
.nucleus-detail-shell .template-detail-main .property-v2-section,
.nucleus-detail-shell .template-detail-main .nucleus-definition-section,
.nucleus-detail-shell .catalogue-detail-main .property-v2-section,
.nucleus-detail-shell .catalogue-detail-main .nucleus-definition-section,
.nucleus-detail-shell .order-detail-main .property-v2-section,
.nucleus-detail-shell .order-detail-main .nucleus-definition-section,
.nucleus-detail-shell .governance-risk-detail-main .property-v2-section,
.nucleus-detail-shell .governance-risk-detail-main .nucleus-definition-section,
.nucleus-detail-shell .governance-policy-detail-main .property-v2-section,
.nucleus-detail-shell .governance-policy-detail-main .nucleus-definition-section,
.nucleus-detail-shell .governance-control-detail-main .property-v2-section,
.nucleus-detail-shell .governance-control-detail-main .nucleus-definition-section,
.nucleus-detail-shell .governance-standard-detail-main .property-v2-section,
.nucleus-detail-shell .governance-standard-detail-main .nucleus-definition-section {
    margin-bottom: 0;
    padding: 1rem 1.25rem;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    background: var(--nx-surface-card, var(--mud-palette-surface));
    border: 1px solid var(--nx-border-subtle, var(--mud-palette-lines-default));
    border-radius: var(--nx-radius-card, var(--nx-radius-panel, 6px));
    box-shadow: var(--nx-shadow-ambient, var(--nucleus-surface-shadow, 0 1px 2px color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent)));
}

.nucleus-detail-shell .assets-v2-main,
.nucleus-detail-shell .entity-v2-overview-main,
.nucleus-detail-shell .service-desk-tab-content,
.nucleus-detail-shell .account-detail-tab-content,
.nucleus-detail-shell .contact-detail-tab-content,
.nucleus-detail-shell .capability-workspace-tab-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: transparent;
    min-width: 0;
    width: 100%;
}

/* Already-carded hosts: keep nested definition sections flat (no double chrome) */
.nucleus-detail-shell .nucleus-surface-card .property-v2-section,
.nucleus-detail-shell .nucleus-surface-card .nucleus-definition-section,
.nucleus-detail-shell .nucleus-surface-card .entity-v2-detail-section,
.nucleus-detail-shell .modern-card .property-v2-section,
.nucleus-detail-shell .modern-card .nucleus-definition-section,
.nucleus-detail-shell .mud-paper.nucleus-surface-card .property-v2-section,
.nucleus-detail-shell .mud-paper.nucleus-surface-card .nucleus-definition-section {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Dynamic-field / legacy overview bands without EntityV2 wrapper */
.nucleus-detail-shell .assets-v2-main > .property-details-section,
.nucleus-detail-shell .entity-v2-overview-main > .property-details-section {
    margin: 0;
    padding: 1rem 1.25rem;
    box-sizing: border-box;
    background: var(--nx-surface-card, var(--mud-palette-surface));
    border: 1px solid var(--nx-border-subtle, var(--mud-palette-lines-default));
    border-radius: var(--nx-radius-card, var(--nx-radius-panel, 6px));
    box-shadow: var(--nx-shadow-ambient, var(--nucleus-surface-shadow, 0 1px 2px color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent)));
}

/* Asset Overview profile — one card hosting At a glance / Overview / layout / Identifiers */
.nucleus-detail-shell .assets-v2-main > .asset-overview-profile-card,
.nucleus-detail-shell .entity-v2-overview-main > .asset-overview-profile-card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
    padding: 1rem 1.25rem;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    background: var(--nx-surface-card, var(--mud-palette-surface));
    border: 1px solid var(--nx-border-subtle, var(--mud-palette-lines-default));
    border-radius: var(--nx-radius-card, var(--nx-radius-panel, 6px));
    box-shadow: var(--nx-shadow-ambient, var(--nucleus-surface-shadow, 0 1px 2px color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent)));
}

.nucleus-detail-shell .asset-overview-profile-card .section-gap,
.nucleus-detail-shell .asset-overview-profile-card #asset-overview-narrative,
.nucleus-detail-shell .asset-overview-profile-card .asset-overview-snapshot {
    margin: 0;
}

.nucleus-detail-shell .asset-overview-profile-card__layout {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

.nucleus-detail-shell .asset-overview-profile-card__layout > .record-dynamic-fields-display--v2 {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
}

/* Stacked cards / ModernCard inside overview keep their own chrome; tighten gap */
.nucleus-detail-shell .assets-v2-main > .section-gap,
.nucleus-detail-shell .entity-v2-overview-main > .section-gap,
.nucleus-detail-shell .assets-v2-main .modern-card.section-gap,
.nucleus-detail-shell .entity-v2-overview-main .modern-card.section-gap {
    margin-bottom: 0;
}

/* Rail dashboard: flat sections with hairline dividers (Service Desk parity) */
.nucleus-detail-rail-dashboard {
    display: flex;
    flex-direction: column;
    gap: 0;
    /* Match column gutter so rail labels breathe from the vertical divider */
    padding: 0.5rem 0.75rem 0.75rem var(--nucleus-detail-gap, 1rem);
    border: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

/* When rail has no tab strip, first section title baseline ≈ main tab labels */
.nucleus-detail-rail-card:not(:has(.nucleus-detail-rail-card__tabs .mud-tabs, .nucleus-detail-rail-card__tabs .nucleus-detail-simple-mud-tabs, .nucleus-detail-rail-card__tabs [role="tablist"])) .nucleus-detail-rail-dashboard {
    padding-top: 0.35rem;
}

.nucleus-detail-rail-dashboard .sd-dash-card,
.nucleus-detail-rail-dashboard .nucleus-surface-card.sd-dash-card,
.nucleus-detail-rail-dashboard .nucleus-surface-card {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    /* Match main tabbar / rail vertical divider hairline */
    border-bottom: 1px solid var(--nucleus-detail-side-card-border, var(--nx-border-subtle, var(--mud-palette-lines-default))) !important;
    padding: 0.875rem 0.125rem;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

/*
 * Drop trailing divider on the last section only.
 * Do NOT use `> :last-child .sd-dash-card` — EntityDetailEdgeRail wraps content in an outer
 * .nucleus-detail-rail-dashboard, and that broad selector stripped every nested section border.
 */
.nucleus-detail-rail-dashboard > .sd-dash-card:last-child,
.nucleus-detail-rail-dashboard > .nucleus-surface-card:last-child,
.nucleus-detail-rail-dashboard > .nucleus-surface-card.sd-dash-card:last-child {
    border-bottom: none !important;
}

/* Single-card wrappers as the last direct child (status reports / active work / etc.) */
.nucleus-detail-rail-dashboard > *:last-child:not(.nucleus-detail-rail-dashboard) > .sd-dash-card:only-child,
.nucleus-detail-rail-dashboard > *:last-child:not(.nucleus-detail-rail-dashboard) > .nucleus-surface-card:only-child {
    border-bottom: none !important;
}

body.theme-dark .nucleus-detail-rail-dashboard .sd-dash-card,
body.theme-dark .nucleus-detail-rail-dashboard .nucleus-surface-card {
    box-shadow: none !important;
}

/* Section titles — caps, weight (match Service Desk Details rail) */
.nucleus-detail-rail-dashboard .sd-dash-card__title,
.nucleus-detail-rail-dashboard .sd-dash-section__title {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--mud-palette-text-primary) !important;
}

.nucleus-detail-rail-dashboard .sd-dash-card__head {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 1.5rem;
    margin-bottom: 0.125rem;
}

.nucleus-detail-rail-dashboard .sd-dash-card__body {
    min-width: 0;
}

/* Shared label/value density when SD field-row pattern is reused */
.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row__label,
.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row--close > .service-desk-sidebar-field-row__label,
.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row--spread > .service-desk-sidebar-field-row__label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row--close > .service-desk-sidebar-field-row__value,
.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row--close > .service-desk-sidebar-field-row__value-stack,
.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row--spread > .service-desk-sidebar-field-row__value {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
}

.nucleus-detail-rail-dashboard .service-desk-sidebar-field-row--spread {
    min-height: 1.625rem;
}

.nucleus-detail-rail-dashboard .service-desk-rail-action-link,
.nucleus-detail-rail-dashboard a.service-desk-rail-action-link,
.nucleus-detail-rail-dashboard .mud-link {
    color: var(--mud-palette-primary) !important;
    font-weight: 500;
    text-decoration: none;
}

.nucleus-detail-rail-dashboard .service-desk-rail-action-link:hover,
.nucleus-detail-rail-dashboard a.service-desk-rail-action-link:hover,
.nucleus-detail-rail-dashboard .mud-link:hover {
    color: var(--mud-palette-primary-darken, var(--mud-palette-primary)) !important;
    text-decoration: underline;
}

/* Mobile lifecycle bar */
.nucleus-detail-mobile-lifecycle-bar {
    position: sticky;
    bottom: 0;
    z-index: 12;
    display: block;
    padding: 0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--mud-palette-lines-default);
    background: color-mix(in srgb, var(--mud-palette-surface) 94%, transparent);
    backdrop-filter: blur(8px);
    box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.08);
}

.nucleus-detail-mobile-lifecycle-bar .nucleus-detail-header-workflow-actions {
    justify-content: stretch;
    gap: 0.375rem;
    flex-wrap: nowrap;
    max-height: none;
}

@media (max-width: 959px) {
    .entity-view-layout .module-content-region:has(.nucleus-detail-shell) .workspace-main-body {
        padding: var(--nx-space-2, 0.5rem) var(--nx-page-gutter-x, 1.25rem) var(--nx-space-6, 1.5rem) var(--nx-page-gutter-x, 1.25rem) !important;
    }

    .nucleus-detail-shell {
        display: flex;
        flex-direction: column;
        overflow: auto;
        height: auto;
        min-height: 0;
    }

    .nucleus-detail-shell__main-tabs,
    .nucleus-detail-shell .nucleus-detail-shell__main,
    .nucleus-detail-shell .service-desk-main,
    .nucleus-detail-shell .account-detail-main,
    .nucleus-detail-shell .contact-detail-main,
    .nucleus-detail-shell .project-detail-main,
    .nucleus-detail-shell .opportunity-detail-main,
    .nucleus-detail-shell .contract-detail-main,
    .nucleus-detail-shell .template-detail-main,
    .nucleus-detail-shell .catalogue-detail-main,
    .nucleus-detail-shell .order-detail-main,
    .nucleus-detail-shell .governance-risk-detail-main,
    .nucleus-detail-shell .governance-policy-detail-main,
    .nucleus-detail-shell .governance-control-detail-main,
    .nucleus-detail-shell .governance-standard-detail-main,
    .nucleus-detail-rail-card {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
    }

    .nucleus-detail-rail-card {
        height: auto;
        transform: none;
        border: 1px solid var(--nucleus-detail-side-card-border, var(--nx-border-subtle, var(--mud-palette-lines-default)));
        border-radius: var(--nucleus-detail-side-card-radius, var(--nx-radius-surface, 8px));
    }

    .nucleus-detail-rail-card::before {
        display: none;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .module-header-section {
        display: block;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-top-row {
        display: flex !important;
        flex-direction: column;
        gap: 0.75rem !important;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-right-column {
        grid-column: auto;
        width: 100%;
    }
}

@media (max-width: 599px) {
    .entity-view-layout:has(.nucleus-detail-shell) .entity-view-header-right-column .nucleus-detail-header-workflow-actions {
        display: none;
    }

    .entity-view-layout:has(.nucleus-detail-shell) .module-content-region {
        padding-bottom: 4.5rem;
    }
}

/* Dual-class alias: legacy module layout roots still match shell when co-emitted */
.service-desk-detail-layout.nucleus-detail-shell,
.account-detail-layout.nucleus-detail-shell,
.contact-detail-layout.nucleus-detail-shell,
.people-detail-layout.nucleus-detail-shell,
.department-detail-layout.nucleus-detail-shell,
.location-detail-layout.nucleus-detail-shell,
.project-detail-layout.nucleus-detail-shell,
.opportunity-detail-layout.nucleus-detail-shell,
.capability-workspace-detail-layout.nucleus-detail-shell,
.business-flow-workspace-detail-layout.nucleus-detail-shell,
.contract-detail-layout.nucleus-detail-shell,
.template-detail-layout.nucleus-detail-shell,
.catalogue-detail-layout.nucleus-detail-shell,
.order-detail-layout.nucleus-detail-shell,
.governance-risk-detail-layout.nucleus-detail-shell,
.governance-policy-detail-layout.nucleus-detail-shell,
.governance-control-detail-layout.nucleus-detail-shell,
.governance-standard-detail-layout.nucleus-detail-shell {
    /* shell rules already apply via .nucleus-detail-shell */
}

/* People employee record: full-width main column; definition rows stay packed */
.people-detail-page .people-detail-body {
    width: 100%;
    max-width: none;
}

@media (min-width: 960px) {
    .people-detail-page .people-detail-overview__pair {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 2.5rem;
        align-items: start;
    }
}

.people-detail-page .people-detail-fields .property-v2-detail-row,
.people-detail-page .people-detail-fields .nucleus-definition-row {
    justify-content: flex-start;
}

.people-detail-page .people-detail-fields .property-v2-detail-row__label-wrap,
.people-detail-page .people-detail-fields .nucleus-definition-row__label-wrap {
    flex: 0 0 10rem;
    max-width: 10rem;
}

.people-detail-page .people-detail-fields .property-v2-detail-row__value-wrap,
.people-detail-page .people-detail-fields .nucleus-definition-row__value-wrap {
    flex: 1 1 auto;
    justify-content: flex-start;
    text-align: left;
}

/* --------------------------------------------------------------------------
   Detail edge-rail standard (full page)
   Flush right column to the workspace column edge (no page-gutter strip).
   Width ~⅓ body. Overlays are absolute inset:0 inside the rail host.
   Canonical: nucleus-detail-layout--edge-rail. Asset aliases kept for cutover.
   -------------------------------------------------------------------------- */

/* Host + overlay chrome (shared by EntityDetailEdgeRail) */
.nucleus-detail-edge-rail-host,
.asset-detail-rail-host {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    width: 100%;
}

.nucleus-detail-edge-rail-host > .nucleus-detail-side-panel,
.asset-detail-rail-host > .nucleus-detail-side-panel {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.nucleus-detail-edge-rail-overlay,
.asset-detail-rail-ask-ai-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--nx-surface-card, var(--mud-palette-surface));
}

.nucleus-detail-edge-rail-overlay__header,
.asset-detail-rail-ask-ai-overlay__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-shrink: 0;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.nucleus-detail-edge-rail-overlay__title,
.asset-detail-rail-ask-ai-overlay__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.nucleus-detail-edge-rail-overlay__body,
.asset-detail-rail-ask-ai-overlay__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.nucleus-detail-edge-rail-host--overlay-open > .nucleus-detail-side-panel,
.asset-detail-rail-host--ask-ai-open > .nucleus-detail-side-panel {
    visibility: hidden;
    pointer-events: none;
}

@media (min-width: 960px) {
    .entity-view-layout.nucleus-detail-layout--edge-rail,
    .entity-view-layout.asset-detail-layout--edge-rail {
        /*
         * Fluid ~1/3 inspector (2/3 main / 1/3 rail), floor 360px so laptop
         * content (People / Coverage labels) stays readable; soft cap so
         * ultra-wide does not dominate. Same token drives rail width +
         * main padding-right reservation.
         */
        --nucleus-detail-edge-rail-width: clamp(360px, 33.333%, 560px);
        --nucleus-detail-side-width: var(--nucleus-detail-edge-rail-width);
        /* Entity view already sits under workspace PageHeader; pin to the column, not the viewport. */
        --nucleus-detail-edge-rail-top: 0px;
        /* Temporary Asset aliases */
        --asset-detail-edge-rail-width: var(--nucleus-detail-edge-rail-width);
        --asset-detail-edge-rail-top: var(--nucleus-detail-edge-rail-top);
    }

    /* Positioning CB for the rail — full height of the workspace column (beside header + body). */
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-main-column,
    .entity-view-layout.asset-detail-layout--edge-rail .module-main-column {
        position: relative;
    }

    /*
     * Do not make .module-content-region a positioning CB — that pins the abs rail below the
     * page header and leaves a gap under the app bar. Keep overflow visible so the rail can
     * paint against .module-main-column (top = flush under chrome / beside header).
     */
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region,
    .entity-view-layout.asset-detail-layout--edge-rail .module-content-region {
        position: static !important;
        overflow: visible !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region .workspace-main-body,
    .entity-view-layout.asset-detail-layout--edge-rail .module-content-region .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-host,
    .entity-view-layout.nucleus-detail-layout--edge-rail .service-desk-detail-keyboard-host,
    .entity-view-layout.nucleus-detail-layout--edge-rail .capability-workspace-detail-host {
        position: static !important;
        transform: none !important;
        filter: none !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .module-header-section,
    .entity-view-layout.asset-detail-layout--edge-rail .module-header-section {
        grid-template-columns: minmax(0, 1fr) !important;
        /* Reserve rail + gutter so main/tabs stop short of the vertical divider */
        padding-right: calc(var(--nucleus-detail-edge-rail-width) + var(--nucleus-detail-gap, 1rem)) !important;
    }

    /*
     * Keep HeaderActions visible beside the title in the main column (left of the rail).
     * Hiding .entity-view-header-right-column buried Close / Edit / workflow under the rail
     * with only an xs mobile bar as fallback — never do that.
     */
    .entity-view-layout.nucleus-detail-layout--edge-rail .entity-view-header-top-row,
    .entity-view-layout.asset-detail-layout--edge-rail .entity-view-header-top-row {
        display: flex !important;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem 0.75rem;
        grid-template-columns: unset !important;
        width: 100%;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .entity-view-header-left,
    .entity-view-layout.asset-detail-layout--edge-rail .entity-view-header-left {
        flex: 1 1 12rem;
        min-width: 0;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .entity-view-header-right-column,
    .entity-view-layout.asset-detail-layout--edge-rail .entity-view-header-right-column {
        display: flex !important;
        flex: 0 1 auto;
        width: auto;
        max-width: min(100%, 28rem);
        min-width: 0;
        align-items: center !important;
        grid-column: unset;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .entity-view-header-right-column .home-quick-actions,
    .entity-view-layout.asset-detail-layout--edge-rail .entity-view-header-right-column .home-quick-actions {
        width: auto;
        max-width: 100%;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    /*
     * Kill the standard L/R page gutter on the right. Domain detail CSS (SD / Capability / etc.)
     * loads after this file and sets padding: … 1.25rem … !important — beat it with equal or
     * higher specificity so the rail can sit flush to the column edge.
     */
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region .workspace-main-body,
    .entity-view-layout.asset-detail-layout--edge-rail .module-content-region .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.nucleus-detail-shell) .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.service-desk-detail-layout) .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.capability-workspace-detail-layout) .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.account-detail-layout) .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.contact-detail-layout) .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.project-detail-layout) .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.contract-detail-layout) .workspace-main-body,
    .entity-view-layout.asset-detail-layout--edge-rail .module-content-region:has(.nucleus-detail-shell) .workspace-main-body,
    .entity-view-layout.asset-detail-layout--edge-rail .module-content-region:has(.capability-workspace-detail-layout) .workspace-main-body {
        padding-right: 0 !important;
        padding-left: var(--nx-page-gutter-x, 1.25rem) !important;
        padding-bottom: 0 !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel,
    .entity-view-layout.nucleus-detail-layout--edge-rail .capability-workspace-detail-layout.nucleus-detail-split-layout--with-side-panel,
    .entity-view-layout.nucleus-detail-layout--edge-rail .service-desk-detail-layout.nucleus-detail-split-layout--with-side-panel,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel,
    .entity-view-layout.asset-detail-layout--edge-rail .capability-workspace-detail-layout.nucleus-detail-split-layout--with-side-panel {
        display: flex !important;
        flex-direction: column !important;
        /* Rail width + column gutter — tab hairline / cards stop before the divider */
        padding-right: calc(var(--nucleus-detail-edge-rail-width) + var(--nucleus-detail-gap, 1rem)) !important;
        column-gap: 0 !important;
        position: static;
        min-height: 0;
        overflow: visible !important;
        transform: none !important;
        filter: none !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-shell__main-tabs,
    .entity-view-layout.nucleus-detail-layout--edge-rail .capability-workspace-detail-layout__main-tabs,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-shell__main,
    .entity-view-layout.nucleus-detail-layout--edge-rail .capability-workspace-main,
    .entity-view-layout.nucleus-detail-layout--edge-rail .service-desk-main,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-shell__main-tabs,
    .entity-view-layout.asset-detail-layout--edge-rail .capability-workspace-detail-layout__main-tabs,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-shell__main,
    .entity-view-layout.asset-detail-layout--edge-rail .capability-workspace-main {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        max-width: 100%;
    }

    /*
     * Absolute to .module-main-column (header + body): flush under app chrome, beside the
     * page header, flush to the column’s right edge with no leftover page-gutter strip.
     */
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-split-layout__side-panel-host.nucleus-detail-edge-rail-card,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card.nucleus-detail-rail-card,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-split-layout__side-panel-host.asset-detail-edge-rail-card,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-split-layout__side-panel-host.asset-detail-edge-rail-card,
    .entity-view-layout.asset-detail-layout--edge-rail .asset-detail-edge-rail-card.nucleus-detail-rail-card,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-edge-rail-card.nucleus-detail-rail-card {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: var(--nucleus-detail-edge-rail-width) !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        inset-inline-end: 0 !important;
        z-index: 20;
        grid-column: unset;
        grid-row: unset;
        border-radius: 0 !important;
        border-top: none !important;
        border-right: none !important;
        border-bottom: none !important;
        border-left: 1px solid var(--nucleus-detail-side-card-border, var(--nx-border-subtle, var(--mud-palette-lines-default)));
        box-shadow: none !important;
        transform: none !important;
        filter: none !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card > .nucleus-detail-side-panel,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card .nucleus-detail-edge-rail-host,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card .asset-detail-rail-host,
    .entity-view-layout.asset-detail-layout--edge-rail .asset-detail-edge-rail-card > .nucleus-detail-side-panel,
    .entity-view-layout.asset-detail-layout--edge-rail .asset-detail-edge-rail-card .asset-detail-rail-host,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-edge-rail-card .nucleus-detail-edge-rail-host {
        height: 100%;
        min-height: 0;
        width: 100%;
    }

    /* Overlay scrollbars + stable gutter read as a white strip on the rail’s right edge. */
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card .nucleus-detail-rail-card__body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card .service-desk-right-rail-card__body,
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card .capability-workspace-right-rail-card__body,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-edge-rail-card .nucleus-detail-rail-card__body,
    .entity-view-layout.asset-detail-layout--edge-rail .asset-detail-edge-rail-card .nucleus-detail-rail-card__body {
        scrollbar-gutter: auto;
    }

    /*
     * On-demand inspectors (Business Flow Story / Strategy): when the rail is closed,
     * do not reserve ~⅓ padding — that left an empty white column on Overview.
     */
    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.business-flow-workspace-detail-layout--rail-closed),
    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.strategy-detail-shell--rail-closed) {
        --nucleus-detail-edge-rail-width: 0px;
        --nucleus-detail-side-width: 0px;
        --asset-detail-edge-rail-width: 0px;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.business-flow-workspace-detail-layout--rail-closed) .module-header-section,
    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.strategy-detail-shell--rail-closed) .module-header-section {
        padding-right: var(--nx-page-gutter-x, 1.25rem) !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.business-flow-workspace-detail-layout--rail-closed) .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel,
    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.strategy-detail-shell--rail-closed) .nucleus-detail-shell.nucleus-detail-split-layout--with-side-panel {
        padding-right: 0 !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.business-flow-workspace-detail-layout--rail-closed) .module-content-region .workspace-main-body,
    .entity-view-layout.nucleus-detail-layout--edge-rail:has(.strategy-detail-shell--rail-closed) .module-content-region .workspace-main-body {
        padding-right: var(--nx-page-gutter-x, 1.25rem) !important;
    }

    .entity-view-layout.nucleus-detail-layout--edge-rail .business-flow-workspace-detail-layout--rail-closed .nucleus-detail-edge-rail-card,
    .entity-view-layout.nucleus-detail-layout--edge-rail .strategy-detail-shell--rail-closed .nucleus-detail-edge-rail-card {
        width: 0 !important;
        min-width: 0 !important;
        border: none !important;
        pointer-events: none !important;
    }
}

@media (max-width: 959px) {
    .entity-view-layout.nucleus-detail-layout--edge-rail .nucleus-detail-edge-rail-card.nucleus-detail-rail-card,
    .entity-view-layout.nucleus-detail-layout--edge-rail .asset-detail-edge-rail-card.nucleus-detail-rail-card,
    .entity-view-layout.asset-detail-layout--edge-rail .asset-detail-edge-rail-card.nucleus-detail-rail-card,
    .entity-view-layout.asset-detail-layout--edge-rail .nucleus-detail-edge-rail-card.nucleus-detail-rail-card {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        height: auto;
    }
}
