/* ==========================================================================
   Service Desk Detail — domain skin
   --------------------------------------------------------------------------
   Layout chrome (split, gutters, chevron back, left-start tabs, edge-rail ~⅓,
   header rhythm) lives in module.detail-shell.css via .nucleus-detail-shell /
   .nucleus-detail-layout--edge-rail. This file owns conversation/composer,
   ticket widgets, Ask AI / investigation / time rail hosts, and SD-only filters.
   ========================================================================== */

/* Keyboard shortcut host — flex pass-through (paired with .nucleus-detail-host) */
.service-desk-detail-keyboard-host {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
    min-width: 0;
    overflow: visible;
    outline: none;
}

/* Dual-class: domain tokens alias shell rhythm */
.entity-view-layout:has(.service-desk-detail-layout) {
    --service-desk-header-chrome-rhythm: var(--nucleus-detail-header-chrome-rhythm, 0.25rem);
    --service-desk-title-chip-gap: var(--nucleus-detail-title-chip-gap, 0.25rem);
    --service-desk-content-top-inset: var(--nucleus-detail-content-top-inset, 0.125rem);
    --service-desk-header-section-padding-bottom: var(--nucleus-detail-header-section-padding-bottom, 0.25rem);
}

/* Header-only MudTabs (bodies live outside) — no empty panel height or paper chrome */
.service-desk-detail-layout .service-desk-mud-tabs-panels-collapsed,
.service-desk-right-rail-card .service-desk-mud-tabs-panels-collapsed,
.service-desk-detail-layout .conversation-reply-panel .service-desk-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 */

.service-desk-detail-layout__main-tabs .service-desk-conversation-entry-type-filter {
    margin-bottom: 0.125rem;
}

/* Entry-type filter menu is portaled — no nested list scroll; show full checklist */
.mud-popover:has(.service-desk-conversation-entry-type-filter__menu-list) {
    overflow: visible !important;
    max-height: none !important;
}

.mud-popover:has(.service-desk-conversation-entry-type-filter__menu-list) .mud-popover-content {
    overflow: visible !important;
    max-height: none !important;
}

.mud-popover .service-desk-conversation-entry-type-filter__menu-list.mud-menu-list {
    min-width: 14rem;
    max-width: 18rem;
    max-height: none !important;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 0.25rem !important;
}

.mud-popover .service-desk-conversation-entry-type-filter__menu-item.mud-menu-item {
    min-height: 2rem;
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

.mud-popover .service-desk-conversation-entry-type-filter__title {
    display: block;
    padding: 0.5rem 0.75rem 0.25rem;
    font-weight: 600;
}

/* Right rail host is layout-only; surface chrome owned by .nucleus-detail-rail-card */

@media (min-width: 960px) {
    .service-desk-right-rail-card::before {
        content: none;
        display: none;
    }
}

.service-desk-right-rail-card > .nucleus-detail-side-panel.service-desk-context-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;
}

.service-desk-right-rail-card__tabs.nucleus-context-panel-tabs:not(.nucleus-detail-edge-rail-header):not(.asset-detail-rail-header),
.service-desk-right-rail-card__tabs.service-desk-context-panel-tabs:not(.nucleus-detail-edge-rail-header):not(.asset-detail-rail-header) {
    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;
}

/* Edge-rail toolbar: title-band align (shared token in module.detail-shell.css). */
.service-desk-right-rail-card__tabs.nucleus-detail-edge-rail-header,
.service-desk-right-rail-card__tabs.nucleus-context-panel-tabs.nucleus-detail-edge-rail-header {
    display: flex !important;
    flex-direction: column;
    flex-shrink: 0;
    align-items: stretch;
    min-height: 0;
    padding: var(--nucleus-detail-edge-rail-toolbar-pad-top, 1.35rem) 0.875rem 0.5rem !important;
    border-bottom: none !important;
}

.service-desk-right-rail-card__tabs .service-desk-context-panel-tab-group,
.service-desk-right-rail-card__tabs .service-desk-right-mud-tabs {
    width: 100%;
    min-width: 0;
}

.service-desk-right-rail-card__body.nucleus-context-panel-content {
    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;
}

.service-desk-right-rail-card__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

/* Share / message icon in title trailing slot */
.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-trailing .service-desk-title-share-btn {
    flex-shrink: 0;
}

/* Workflow bar chrome: module.detail-shell.css (.service-desk-header-workflow-actions dual-class) */

/* Domain conversation / composer / ticket widgets below */

/* Ask AI matches outlined workflow buttons (Resolve / Close stay filled in workflow group) */
.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-actions-desktop .mud-button-filled.mud-button-filled-primary.entity-view-header-action-btn {
    background-color: transparent !important;
    color: var(--mud-palette-primary) !important;
    box-shadow: none !important;
    border: 1px solid var(--mud-palette-primary) !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-actions-desktop .mud-button-filled.mud-button-filled-primary.entity-view-header-action-btn:hover {
    background-color: var(--mud-palette-action-default-hover) !important;
}

/* Tab content (overview, changes, etc.) scrolls inside main */
.service-desk-detail-layout .service-desk-main > .service-desk-tab-content {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
}

.service-desk-detail-layout .service-desk-main,
.service-desk-detail-layout .nucleus-detail-split-layout__main-content.service-desk-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

/* Conversation panel: canvas shows through; message cards / reply keep their own surface. */
.service-desk-detail-layout .service-desk-main > .conversation-thread-panel {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-top: 0.75rem;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.theme-dark .service-desk-detail-layout .service-desk-main > .conversation-thread-panel {
    background: transparent;
    box-shadow: none;
}

/* Service Desk conversation: single left-aligned column (no per-entry timeline gutter / avatars) */
.service-desk-detail-layout .conversation-timeline-item,
.service-desk-detail-layout .conversation-timeline-item--system,
.service-desk-detail-layout .conversation-timeline-item--operational-lane {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
}

.service-desk-detail-layout .conversation-timeline-gutter,
.service-desk-detail-layout .conversation-timeline-spine {
    display: none !important;
}

.service-desk-detail-layout .conversation-timeline-item--system .conversation-timeline-main {
    padding-left: 0;
}

.service-desk-detail-layout .conversation-avatar-spec {
    display: none !important;
}

.service-desk-detail-layout .conversation-card-content .d-flex.align-items-start.gap-3 {
    gap: 0 !important;
}

/* Thread horizontal inset comes from .workspace-main-body only — align cards with tab strip */
.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-thread-scroll {
    padding: 0 0 1.625rem;
}

.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-reply-panel .conversation-reply-panel-content {
    padding: 0;
}

.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-reply-panel.conversation-reply-panel--expanded .conversation-reply-panel-content {
    padding: 0 !important;
}

/* Card bodies: balanced inset inside every conversation surface */
.entity-view-layout:has(.service-desk-detail-layout) .conversation-card-content {
    padding: 1rem 1.125rem !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .original-request-wrapper .conversation-card-content {
    padding: 1.125rem 1.25rem !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .conversation-card-content--milestone,
.entity-view-layout:has(.service-desk-detail-layout) .conversation-card-content--compact {
    padding: 0.875rem 1rem !important;
}

/* Compact system / telemetry rows: subtle card, not bare text */
.entity-view-layout:has(.service-desk-detail-layout) .conversation-system-event--compact,
.entity-view-layout:has(.service-desk-detail-layout) .conversation-security-telemetry-row {
    padding: 0.75rem 1rem;
    border: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 72%, transparent);
    border-radius: var(--nucleus-surface-radius, 4px);
    background: color-mix(in srgb, var(--mud-palette-surface) 96%, var(--mud-palette-background-grey) 4%);
    box-sizing: border-box;
}

body.theme-dark .entity-view-layout:has(.service-desk-detail-layout) .conversation-system-event--compact,
body.theme-dark .entity-view-layout:has(.service-desk-detail-layout) .conversation-security-telemetry-row {
    background: color-mix(in srgb, var(--mud-palette-surface) 92%, var(--mud-palette-background-grey) 8%);
}

/* Thread stack rhythm (Service Desk detail) */
.service-desk-detail-layout .conversation-thread-items-stack {
    gap: 0.625rem;
}

.service-desk-detail-layout .conversation-thread-items-stack ::deep .conversation-card {
    margin-bottom: 0 !important;
    border-radius: var(--nucleus-surface-radius, 4px);
}

.service-desk-detail-layout .conversation-phone-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.75rem;
}
.service-desk-detail-layout .conversation-card ::deep .mud-chip .mud-chip-icon,
.service-desk-detail-layout .conversation-card ::deep .mud-chip .mud-icon-root.mud-chip-icon,
.service-desk-detail-layout .add-update-tab-icon,
.service-desk-detail-layout .conversation-time-entry-panel .mud-icon-root {
    display: none !important;
}

.service-desk-detail-layout .conversation-card ::deep .mud-chip.mud-chip-size-small {
    padding-left: 8px;
    padding-right: 8px;
}

.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-reply-panel.conversation-reply-panel--collapsed .conversation-reply-panel-content {
    padding: 0 !important;
}

.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-reply-panel {
    margin-top: 0 !important;
    border-radius: var(--nucleus-surface-radius, 4px) !important;
    border: 1px solid var(--mud-palette-divider) !important;
    border-top: 1px solid var(--mud-palette-divider) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    background-color: var(--mud-palette-surface) !important;
    flex-shrink: 0;
}

body.theme-dark .service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-reply-panel {
    background-color: var(--mud-palette-background-grey) !important;
    background-color: color-mix(in srgb, var(--mud-palette-background-grey) 75%, var(--mud-palette-surface) 25%) !important;
}

.service-desk-detail-layout .service-desk-right-sidebar {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
}

/* Ask AI tab only: no outer column scroll — WorkItemAskAiWorkspace keeps composer fixed; transcript scrolls inside. */
.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-ask-ai-rail-host) {
    overflow-x: hidden;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
}

.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-ask-ai-rail-host) > .service-desk-ask-ai-rail-host {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-height: none;
    height: 100%;
    overflow: hidden;
}

.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-ask-ai-rail-host) .work-item-ask-ai--layout {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

/* Research tab: scrollable entry list + fixed footer action */
.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-investigation-rail-host) {
    overflow-x: hidden;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
}

.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-investigation-rail-host) > .service-desk-investigation-rail-host {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-height: none;
    display: flex;
    flex-direction: column;
}

.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-context-peek-host) {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-context-peek-host) > .service-desk-context-peek-host {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Time tab: scrollable workspace + fixed footer actions */
.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-time-rail-host) {
    overflow-x: hidden;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
}

.service-desk-detail-layout .service-desk-right-sidebar:has(.service-desk-time-rail-host) > .service-desk-time-rail-host {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-height: none;
    display: flex;
    flex-direction: column;
}

/* Classification panel: dropdowns use full width of card (Incident Detail layout only) */
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .work-item-metadata-stack,
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .work-item-metadata-stack.mud-stack,
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .mud-stack {
    width: 100%;
    min-width: 0;
}
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .work-item-metadata-stack > *,
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .mud-stack > * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .field-picklist-select-with-filter-menu,
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .field-picklist-select-with-filter-menu.mud-menu,
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .field-picklist-select-with-filter-menu .mud-menu-activator {
    width: 100%;
    min-width: 0;
}
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .mud-input-control,
.service-desk-detail-layout .service-desk-right-sidebar .work-item-metadata-card.full-width-fields .field-picklist-select-with-filter-trigger {
    width: 100%;
    min-width: 0;
}

/* Sidebar tile alignment */
.service-desk-detail-layout .service-desk-right-sidebar .entity-view-sidebar {
    gap: 0.625rem;
}

/* ========================================================================
   Service Desk — Right panel dashboard grid (v2)
   ======================================================================== */

/* Right panel tabs: aligned with main workspace tabs in module header row */
.entity-view-layout:has(.service-desk-detail-layout) .entity-view-tab-row-split__main {
    flex: 65 1 0%;
    min-width: 0;
}

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-tab-row-split__trail {
    flex: 35 1 0%;
    min-width: 420px;
}

.entity-view-layout:has(.service-desk-detail-layout) .sd-right-panel-tabs {
    width: 100%;
    padding: 0;
    flex-shrink: 0;
}

/* Tighter gap between tab strip and scrollable body (default mb-4 on tab row) */
.entity-view-layout:has(.service-desk-detail-layout) .entity-view-tab-row-split.mb-4 {
    margin-bottom: 0.375rem !important;
}

/* Dashboard grid container — flat section stack (target mock dividers) */
.service-desk-detail-layout .service-desk-details-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0 0.125rem 0.75rem;
    border: none;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

body.theme-dark .service-desk-detail-layout .service-desk-details-dashboard {
    box-shadow: none;
}

/*
 * Flatten / titles / field-row density live on shared .nucleus-detail-rail-dashboard
 * (WorkItemDetailsRailDashboard nests both class names). Keep SD grid span only.
 */
.service-desk-details-dashboard .sd-dash-card,
.service-desk-details-dashboard .nucleus-surface-card.sd-dash-card {
    grid-column: 1 / -1;
}

/* Count pills on collapsible heads stay secondary; title remains caps via rule above */
.service-desk-details-dashboard .sd-dash-card__badge {
    font-size: 0.6875rem;
    font-weight: 600;
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 12%, transparent);
    color: var(--mud-palette-text-secondary);
}

/* Nested section hosts span full width so hairlines edge-to-edge */
.service-desk-details-dashboard > .sla-status-card--dashboard,
.service-desk-details-dashboard > .work-item-status-reports-rail,
.service-desk-details-dashboard > .work-item-active-work-rail,
.service-desk-details-dashboard > .work-item-affected-context-rail-flat,
.service-desk-details-dashboard > .work-item-related-alerts-rail,
.service-desk-details-dashboard > .work-item-related-work-rail {
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
}

/* Keep base .sd-dash-card for non-dashboard hosts (other rails may reuse) */
.sd-dash-card {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    border: 1px solid var(--nucleus-surface-border, var(--mud-palette-lines-default));
    border-radius: var(--nucleus-surface-radius, 4px);
    background: var(--nucleus-surface-bg, var(--mud-palette-surface));
    box-shadow: var(--nucleus-surface-shadow, 0 1px 2px color-mix(in srgb, var(--mud-palette-text-primary) 4%, transparent));
    padding: 0.75rem 0.875rem;
    min-width: 0;
    overflow: hidden;
}

body.theme-dark .sd-dash-card {
    box-shadow: 0 1px 3px color-mix(in srgb, var(--mud-palette-text-primary) 8%, transparent);
}

.sd-dash-card,
.sd-dash-card--full {
    grid-column: 1 / -1;
}

/* Flat rail sections (headings without card chrome) */
.service-desk-details-dashboard .sd-dash-section {
    grid-column: 1 / -1;
    min-width: 0;
    overflow: hidden;
}

.service-desk-details-dashboard .sd-dash-section__head {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 24px;
    margin-bottom: 0.5rem;
}

.service-desk-details-dashboard .sd-dash-section__icon {
    flex-shrink: 0;
    opacity: 0.72;
    font-size: 1.125rem !important;
}

.service-desk-details-dashboard .sd-dash-section__title {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--mud-palette-text-primary);
}

/* Shared snapshot grid (ticket metadata + people & ownership) */
.service-desk-details-dashboard .wm-snapshot-grid {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
}

.service-desk-details-dashboard .wm-snapshot-grid__group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.5rem;
    padding: 0;
}

.service-desk-details-dashboard .wm-snapshot-grid__group--single {
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

.service-desk-details-dashboard .wm-snapshot-grid__group--people {
    padding-top: 0;
    padding-bottom: 0;
}

.service-desk-details-dashboard .wm-snapshot-grid__pair {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
    overflow: hidden;
}

.service-desk-details-dashboard .wm-snapshot-grid .service-desk-sidebar-field-row__value {
    overflow: hidden;
}

.service-desk-details-dashboard .wm-snapshot-grid .wm-classification-control,
.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style,
.service-desk-details-dashboard .wm-snapshot-grid .wm-rail-status-control,
.service-desk-details-dashboard .wm-snapshot-grid .wm-rail-status-control--static {
    max-width: 100%;
    min-width: 0;
}

/* Status control: match classification text+chevron (no chip border/background).
   Global app.css applies border/background to all .mud-menu — strip it here. */
.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style .mud-menu,
.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style .mud-menu-activator,
.service-desk-details-dashboard .wm-snapshot-grid__group--metrics .rail-chip-select--text-presentation .mud-menu,
.service-desk-details-dashboard .wm-snapshot-grid__group--metrics .rail-chip-select--text-presentation .mud-menu-activator {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}

.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style button.wm-rail-status-control,
.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style .wm-rail-status-control--static {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: start;
    cursor: pointer;
    transition: color 120ms ease;
}

.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style button.wm-rail-status-control:hover:not(:disabled) {
    color: var(--mud-palette-primary);
    background: transparent;
}

.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style .wm-rail-status-control--static {
    cursor: default;
}

.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style .wm-rail-status-control__text {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.service-desk-details-dashboard .wm-snapshot-grid .rail-workflow-select--classification-style .wm-rail-status-control__icon {
    flex-shrink: 0;
    opacity: 0.7;
}

.service-desk-details-dashboard .wm-snapshot-grid .service-desk-sidebar-field-row__value ::deep .mud-typography-body2 {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.35;
}

@media (max-width: 480px) {
    .service-desk-details-dashboard .wm-snapshot-grid__group {
        grid-template-columns: 1fr;
    }
}

/* Dashboard rail: loading shell + grid participation for context widgets */
.service-desk-details-dashboard .wm-aff-ctx-rail-loading {
    grid-column: 1 / -1;
    min-width: 0;
    border: 1px solid var(--nucleus-surface-border, var(--mud-palette-lines-default));
    border-radius: var(--nucleus-surface-radius, 4px);
    background: var(--nucleus-surface-bg, var(--mud-palette-surface));
    padding: 0.75rem 0.875rem;
}

/* Affected context + related alerts — record rows in collapsible cards */
.service-desk-details-dashboard .wm-aff-ctx-empty {
    display: block;
    padding: 0.125rem 0;
}

.service-desk-details-dashboard .wm-aff-ctx-records {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.service-desk-details-dashboard .wm-aff-ctx-record {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    min-width: 0;
}

.service-desk-details-dashboard .wm-aff-ctx-record:first-child {
    padding-top: 0.125rem;
}

.service-desk-details-dashboard .wm-aff-ctx-record:last-child {
    border-bottom: none;
    padding-bottom: 0.125rem;
}

.service-desk-details-dashboard .wm-aff-ctx-record__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-width: 0;
}

.service-desk-details-dashboard .wm-aff-ctx-record__title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.service-desk-details-dashboard button.wm-aff-ctx-record__title--action {
    appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-family: inherit;
    color: var(--mud-palette-primary);
    cursor: pointer;
    display: block;
    text-align: left;
    justify-content: flex-start;
}

.service-desk-details-dashboard button.wm-aff-ctx-record__title--action:hover {
    text-decoration: underline;
}

.service-desk-details-dashboard button.wm-aff-ctx-record__title--action:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

.service-desk-details-dashboard .wm-aff-ctx-record__title--static {
    color: var(--mud-palette-text-primary);
}

.service-desk-details-dashboard .wm-aff-ctx-record__meta {
    margin-top: 0.125rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.service-desk-details-dashboard .wm-aff-ctx-record__action.mud-button-root {
    flex: 0 0 auto;
    min-height: unset !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    color: var(--mud-palette-text-secondary) !important;
}

.service-desk-details-dashboard .wm-aff-ctx-record__action.mud-button-root:hover {
    color: var(--mud-palette-error) !important;
}

.service-desk-details-dashboard .wm-aff-ctx-link-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 100%;
    min-width: 0;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-width: 0;
    min-height: 1.75rem;
    padding: 0.125rem 0;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__link,
.service-desk-details-dashboard .wm-aff-ctx-link-row__static {
    flex: 0 1 auto;
    max-width: 42%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__link {
    font-weight: 600;
    line-height: 1.35;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__static {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--mud-palette-text-primary);
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__meta {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__action {
    flex: 0 0 auto;
    margin-left: auto;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__action.mud-button-root {
    min-height: unset !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    color: var(--mud-palette-text-secondary) !important;
}

.service-desk-details-dashboard .wm-aff-ctx-link-row__action.mud-button-root:hover {
    color: var(--mud-palette-error) !important;
}

.service-desk-details-dashboard .wm-aff-ctx-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 24px;
    margin-bottom: 0.375rem;
}

.service-desk-details-dashboard .wm-aff-ctx-section-head__label {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
}

.service-desk-details-dashboard .wm-aff-ctx-link-btn.mud-button-root {
    min-height: unset !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: none !important;
}

.service-desk-details-dashboard .wm-aff-ctx-block + .wm-aff-ctx-block {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* Card header */
.sd-dash-card__head {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 24px;
}

.sd-dash-card__head--spread {
    justify-content: space-between;
    flex-wrap: wrap;
}

.sd-dash-card__classification {
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 55%;
}

.sd-dash-card__icon {
    color: var(--mud-palette-text-secondary);
    opacity: 0.8;
    flex-shrink: 0;
    font-size: 1rem !important;
}

.sd-dash-card__title {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--mud-palette-text-primary);
}

/* Collapsible dashboard cards (affected assets / people) */
.sd-dash-card--collapsible {
    gap: 0;
}

.sd-dash-card--collapsible:not(.sd-dash-card--expanded) .sd-dash-card__head {
    margin-bottom: 0;
}

.sd-dash-card--collapsible.sd-dash-card--expanded {
    gap: 0.375rem;
}

.sd-dash-card--sla.sd-dash-card--collapsible:not(.sd-dash-card--expanded) .sd-dash-card__head--sla {
    margin-bottom: 0;
}

.sd-dash-card__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
    min-width: 0;
    flex: 1 1 auto;
    text-align: left;
    color: inherit;
    font: inherit;
}

.sd-dash-card__toggle:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

.sd-dash-card__chevron {
    flex-shrink: 0;
    font-size: 1.125rem !important;
    color: var(--mud-palette-text-secondary);
    transition: transform 120ms ease;
}

.sd-dash-card__chevron--expanded {
    transform: rotate(180deg);
}

.sd-dash-card__badge {
    flex-shrink: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.125rem 0.4375rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 10%, transparent);
    color: var(--mud-palette-text-secondary);
    min-width: 1.25rem;
    text-align: center;
}

.sd-dash-card__head-actions {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

/* Affected assets / people: title left; count + chevron right; Link only when expanded */
.sd-dash-card__head--aff-ctx {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.sd-dash-card__head--aff-ctx .sd-dash-card__toggle--aff-ctx {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    text-align: left;
}

.sd-dash-card__head--aff-ctx .sd-dash-card__toggle--aff-ctx .sd-dash-card__title {
    text-align: left;
}

.sd-dash-card__head--aff-ctx .sd-dash-card__head-actions {
    flex-shrink: 0;
}

.sd-dash-card__toggle-trail-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: inherit;
    font: inherit;
}

.sd-dash-card__toggle-trail-btn:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
    border-radius: 4px;
}

.sd-dash-card__action-btn.mud-icon-button {
    padding: 2px !important;
    width: 24px;
    height: 24px;
}

/* Card body */
.sd-dash-card__body {
    min-width: 0;
}

/* Key-value rows inside dashboard cards */
.sd-dash-kv {
    display: grid;
    grid-template-columns: var(--nucleus-rail-label-width, 7.5rem) minmax(0, 1fr);
    column-gap: 0.5rem;
    align-items: baseline;
    min-height: 22px;
}

.sd-dash-kv__label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    line-height: 1.35;
}

.sd-dash-kv__value {
    font-size: 0.8125rem;
    color: var(--mud-palette-text-primary);
    line-height: 1.35;
    min-width: 0;
}

.sd-dash-link.mud-button-root {
    min-height: unset !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-size: 0.8125rem !important;
}

/* Suppress MudPaper borders/shadow inside dashboard cards */
.sd-dash-card > .sd-dash-card__body > .mud-paper.mb-3 {
    margin-bottom: 0 !important;
}

.sd-dash-card .linked-items-widget-rail.mud-paper,
body.theme-dark .sd-dash-card .linked-items-widget-rail.mud-paper {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

.sd-dash-card .linked-items-widget-rail > div:first-child {
    margin-bottom: 0.25rem !important;
}

/* Sub-component styling inside dashboard */
.service-desk-details-dashboard .service-desk-rail-embed-body {
    min-width: 0;
    overflow: hidden;
    padding: 0 1px;
}

.service-desk-details-dashboard .service-desk-rail-embed-divider {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--mud-palette-divider);
}

.service-desk-details-dashboard .service-desk-rail-embed-widget-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
    margin-bottom: 0.35rem;
}

.service-desk-details-dashboard .service-desk-rail-embed-widget-title {
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.35 !important;
    color: var(--mud-palette-text-secondary) !important;
    margin: 0 !important;
}

.service-desk-details-dashboard .linked-items-widget-embed-head {
    align-items: center;
}

.service-desk-details-dashboard .linked-items-widget-embed-head-main {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.service-desk-details-dashboard .entity-tasks-summary-embed-head {
    align-items: center;
}

.service-desk-details-dashboard .entity-tasks-summary-embed-head-main {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.service-desk-details-dashboard .service-desk-context-rail-embed-item + .service-desk-context-rail-embed-item {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mud-palette-divider);
}

.service-desk-details-dashboard .service-desk-rail-kv-row--sla {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    min-width: 0;
}

.service-desk-details-dashboard .service-desk-rail-kv-row--sla > .service-desk-rail-kv-row__label {
    flex: 0 1 44%;
    min-width: 0;
    line-height: 1.35;
    padding-top: 0.2rem;
}

.service-desk-details-dashboard .service-desk-rail-kv-row--sla > .service-desk-rail-kv-row__value {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
}

.service-desk-details-dashboard .service-desk-rail-kv-row--close {
    display: grid;
    grid-template-columns: var(--nucleus-rail-label-width, 7.5rem) minmax(0, 1fr);
    column-gap: 0.5rem;
    align-items: baseline;
    min-height: 22px;
    min-width: 0;
}

.service-desk-details-dashboard .service-desk-rail-kv-row--close > .service-desk-rail-kv-row__label {
    flex: unset !important;
    padding-top: 0 !important;
    line-height: 1.35;
    justify-self: start;
}

.service-desk-details-dashboard .service-desk-rail-kv-row--close > .service-desk-rail-kv-row__value {
    flex: unset !important;
    display: block;
    justify-content: unset !important;
    justify-self: stretch;
    text-align: left !important;
    min-width: 0;
    line-height: 1.35;
}

.service-desk-details-dashboard .wm-sla-close-row-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    justify-content: flex-start;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row--close {
    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;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row--close > .service-desk-sidebar-field-row__label {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
    justify-self: start;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row--close > .service-desk-sidebar-field-row__value,
.service-desk-details-dashboard .service-desk-sidebar-field-row--close > .service-desk-sidebar-field-row__value-stack {
    font-size: 0.8125rem;
    line-height: 1.35;
    color: var(--mud-palette-text-primary);
    text-align: left;
    min-width: 0;
    word-break: break-word;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row--spread {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 8px;
    align-items: center;
    min-height: 28px;
    min-width: 0;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row--spread > .service-desk-sidebar-field-row__label {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--mud-palette-text-secondary);
    justify-self: start;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row--spread > .service-desk-sidebar-field-row__value {
    justify-self: end;
    text-align: right;
}

.service-desk-details-dashboard .service-desk-sidebar-field-row__value-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    min-width: 0;
}

.service-desk-details-dashboard .wm-rail-aff-cta-link.mud-button-root {
    min-height: unset !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.service-desk-details-dashboard .wm-active-work-muted-label {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
}

.service-desk-details-dashboard .sla-rail-manual-response-link.mud-button-root {
    min-height: unset !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.service-desk-details-dashboard .wm-security-automation-compact-actions {
    row-gap: 0.15rem;
    column-gap: 0.65rem !important;
}

.service-desk-details-dashboard .wm-rail-change-status-compact.mud-button-root {
    min-height: unset !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.service-desk-details-dashboard .service-desk-rail-assignee-hero .mud-avatar {
    flex-shrink: 0;
}

.service-desk-details-dashboard .classification-view-label {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.service-desk-details-dashboard .classification-view-grid {
    row-gap: 0.35rem !important;
    padding-top: 0 !important;
}

.service-desk-details-dashboard .sla-rail-chip.mud-chip {
    max-width: 100%;
    justify-content: flex-start;
}

.service-desk-details-dashboard .service-desk-rail-kv-row__value .sla-rail-chip.mud-chip {
    width: auto;
}

.service-desk-details-dashboard .sla-rail-chip .mud-chip-content {
    justify-content: flex-start;
    max-width: 100%;
}

.service-desk-details-dashboard .linked-items-widget-card .mud-typography-h6,
.service-desk-details-dashboard .linked-items-widget-card .font-semibold {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
}

.service-desk-details-dashboard .entity-tasks-summary-widget .entity-tasks-summary-title {
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
}

.service-desk-details-dashboard .entity-tasks-outstanding-chip {
    font-weight: 500;
    font-size: 0.75rem;
}

/* Thread message cards: subtle lift (Service Desk detail only) */
.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .mud-paper.conversation-card {
    border-radius: var(--nucleus-surface-radius, 4px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

body.theme-dark .service-desk-detail-layout .service-desk-main > .conversation-thread-panel .mud-paper.conversation-card {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* MudPaper inside dashboard cards: no nested card chrome (outer rail owns the frame) */
.sd-dash-card .mud-paper {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.sd-dash-card .mud-paper.mud-paper-outlined {
    border: none !important;
}

body.theme-dark .sd-dash-card .mud-paper {
    box-shadow: none !important;
}

@media (max-width: 959px) {
    .entity-view-layout .module-content-region:has(.service-desk-detail-layout) .workspace-main-body {
        padding: var(--service-desk-content-top-inset, 0.375rem) 1.25rem 1.5rem 1.25rem !important;
    }

    .service-desk-detail-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr) auto;
        gap: 0.75rem 0;
    }

    .service-desk-detail-layout__main-tabs {
        grid-column: 1;
        grid-row: 1;
    }

    .service-desk-detail-layout .service-desk-main {
        grid-column: 1;
        grid-row: 2;
    }

    .service-desk-right-rail-card {
        grid-column: 1;
        grid-row: 3;
        min-height: 18rem;
        transform: none;
        height: auto;
    }

    .service-desk-right-rail-card::before {
        display: none;
    }

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

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .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(.service-desk-detail-layout) .entity-view-header-right-column {
        grid-column: auto;
        width: 100%;
    }

    .service-desk-header-workflow-actions {
        flex-wrap: nowrap;
        max-height: 2.25rem;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .module-header-section::after {
        display: none;
    }

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

    .service-desk-detail-layout .service-desk-main,
    .service-desk-detail-layout .service-desk-right-sidebar,
    .service-desk-detail-layout .service-desk-right-rail-card__body {
        min-height: 0;
        min-width: 0;
    }

    .entity-view-layout:has(.service-desk-detail-layout) .entity-view-tab-row-split__main,
    .entity-view-layout:has(.service-desk-detail-layout) .entity-view-tab-row-split__trail {
        flex: 1 1 100%;
        min-width: 0;
    }
}

/* Tab badges on main tab strip */
.entity-view-tab-button__label {
    display: inline-flex;
    align-items: center;
}

.entity-view-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.125rem;
    height: 1.125rem;
    margin-left: 0.375rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, var(--mud-palette-surface));
    color: var(--mud-palette-primary);
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
}

/* Embedded tabs: consistent min height (replaces inline 60vh) */
.service-desk-embed-tab {
    min-height: 60vh;
}

/* Actionable empty states in context rail */
.service-desk-rail-action-link {
    border: none;
    background: transparent;
    padding: 0;
    color: var(--mud-palette-primary);
    font-size: inherit;
    font-weight: 600;
    cursor: pointer;
    text-align: start;
}

.service-desk-rail-action-link:hover {
    text-decoration: underline;
}

/* Composer field widths + scroll (replaces inline layout styles) */
.service-desk-detail-layout .reply-form-container--scroll {
    max-height: 60vh;
    overflow-y: auto;
}

.service-desk-detail-layout .composer-field-min-narrow {
    min-width: 5rem;
}

.service-desk-detail-layout .composer-field-min-category {
    min-width: 8.75rem;
}

.service-desk-detail-layout .composer-field-min-wide {
    min-width: 10rem;
}

.service-desk-detail-layout .composer-log-time-toggle,
.service-desk-detail-layout .composer-cc-bcc-toggle {
    align-self: center;
    font-size: 0.8125rem;
}

/* Muted empty rail cards */
.sd-dash-card--muted {
    opacity: 0.72;
}

.sd-dash-card--muted .sd-dash-card__title,
.sd-dash-card--muted .sd-dash-card__badge {
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
}

.sd-dash-card--muted:not(.sd-dash-card--expanded) {
    border-style: dashed;
}

.wm-aff-ctx-empty-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.375rem;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}

.wm-aff-ctx-empty-row__sep {
    opacity: 0.55;
}

/* Conversation day separators */
.conversation-day-separator {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.75rem 0 0.625rem;
    color: var(--mud-palette-text-secondary);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.conversation-day-separator::before,
.conversation-day-separator::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: var(--mud-palette-divider);
}

/* Calmer severity chips (Impact/Urgency/Criticality — Priority stays strong) */
.service-desk-details-dashboard .rail-chip-select--severity-calm .rail-chip-select__activator--outlined {
    border-color: var(--mud-palette-divider);
    background: color-mix(in srgb, var(--mud-palette-surface) 92%, var(--mud-palette-text-secondary));
    color: var(--mud-palette-text-primary);
    font-weight: 500;
}

.service-desk-details-dashboard .rail-chip-select--severity-calm .rail-chip-color--warning.rail-chip-select__activator--outlined {
    border-color: color-mix(in srgb, var(--mud-palette-warning) 35%, var(--mud-palette-divider));
    color: var(--mud-palette-warning-darken, var(--mud-palette-warning));
}

.service-desk-details-dashboard .rail-chip-select--severity-calm .rail-chip-color--success.rail-chip-select__activator--outlined {
    border-color: color-mix(in srgb, var(--mud-palette-success) 35%, var(--mud-palette-divider));
    color: var(--mud-palette-success-darken, var(--mud-palette-success));
}

/* Mobile lifecycle sticky bar */
.service-desk-mobile-lifecycle-bar {
    position: sticky;
    bottom: 0;
    z-index: 12;
    display: none;
    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);
}

.service-desk-mobile-lifecycle-bar .service-desk-header-workflow-actions {
    justify-content: stretch;
    gap: 0.375rem;
    flex-wrap: nowrap;
}

.service-desk-mobile-lifecycle-bar .service-desk-header-workflow-actions > * {
    flex: 1 1 0;
    min-width: 0;
}

.service-desk-mobile-lifecycle-bar .service-desk-header-workflow-actions .mud-button-root {
    flex: 1 1 0;
    width: 100%;
    min-width: 0;
}

@media (max-width: 599px) {
    .service-desk-mobile-lifecycle-bar {
        display: block;
    }

    .entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-right-column .service-desk-header-workflow-actions {
        display: none;
    }

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

/*
 * Content drawer — not navigation chrome.
 * Mud Theme.DrawerBackground is platform navy (nav rail). Global app.css paints every
 * MudDrawer with that token (html body .mud-drawer !important), so navy + body
 * TextPrimary/Secondary is unreadable. Match strategy-settings-drawer / billing tools:
 * force product surface + primary text. Prefix html body so this wins after app.css.
 */
html body .service-delivery-scope-drawer.mud-drawer,
html body .service-delivery-scope-drawer.mud-drawer .mud-drawer-paper,
html body .service-delivery-scope-drawer.mud-drawer .mud-drawer-content {
    background: var(--mud-palette-surface) !important;
    background-color: var(--mud-palette-surface) !important;
    color: var(--mud-palette-text-primary);
    border-right: 0;
    border-left: 1px solid var(--mud-palette-divider);
}

html body .service-delivery-scope-drawer .mud-drawer-header,
html body .service-delivery-scope-drawer .mud-drawer-header .mud-typography {
    color: var(--mud-palette-text-primary) !important;
}

html body .service-delivery-scope-drawer .mud-drawer-header .mud-icon-button,
html body .service-delivery-scope-drawer .mud-drawer-header .mud-icon-root {
    color: var(--mud-palette-text-secondary) !important;
}

html body .service-delivery-scope-drawer .mud-typography {
    color: var(--mud-palette-text-primary);
}

html body .service-delivery-scope-drawer .mud-typography.mud-typography-caption,
html body .service-delivery-scope-drawer .mud-typography.mud-secondary-text {
    color: var(--mud-palette-text-secondary) !important;
}

/* Nav drawer CSS forces subtitle2 into uppercase section headers — reset for this panel. */
html body .service-delivery-scope-drawer .mud-typography.subtitle2,
html body .service-delivery-scope-drawer .mud-typography-subtitle2 {
    color: var(--mud-palette-text-primary) !important;
    font-size: 0.875rem !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 600 !important;
    padding: 0 !important;
}

.service-delivery-scope-drawer .mud-drawer-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.service-delivery-scope-drawer__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

/* Edge-rail: defeat this file’s workspace-main-body right gutter (loads after detail-shell). */
@media (min-width: 960px) {
    .entity-view-layout.nucleus-detail-layout--edge-rail .module-content-region:has(.service-desk-detail-layout) .workspace-main-body {
        padding-right: 0 !important;
    }
}
