﻿/* ==========================================================================
   Service Desk Detail Layout
   --------------------------------------------------------------------------
   Governed module CSS for Service Desk work item detail pages.

   Owns the Service Desk detail split layout, right rail overlap, header detail
   chrome, conversation/composer detail overrides, Ask AI rail behavior, and
   detail dashboard widgets.

   Keep generic conversation-thread baselines in app.css unless separately
   extracted.
   ========================================================================== */
/* ==========================================================================
   SERVICE DESK DETAIL - 2/3 LEFT (TABS CONTENT) + 1/3 RIGHT (WIDGETS)
   Left and right columns scroll independently.
   Conversation tab: scrollable thread + sticky input at bottom (chat-style).
   ========================================================================== */
/* Fill content region height so detail layout (and reply box) use full viewport */
.entity-view-layout .module-content-region:has(.service-desk-detail-layout) .workspace-main-body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    /* Match module header horizontal inset (1.25rem) so left column aligns with title row */
    padding: var(--service-desk-content-top-inset, 0.375rem) 1.25rem 1.5rem 1.25rem !important;
}

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

/* Policies detail: left column flush with tab strip (override MudBlazor grid spacing) */
.service-desk-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 65fr) minmax(420px, 35fr);
    grid-template-rows: auto minmax(0, 1fr);
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
    gap: 0.375rem 1rem;
}

.service-desk-detail-layout__main-tabs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: flex-end;
    min-width: 0;
    min-height: 2.25rem;
}

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

/* Right rail overlaps header dead-space (right column has no divider); tabs stay aligned via padding compensation */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) {
    /* Pull right card into header dead-space; tuned with tighter header chrome above */
    --service-desk-right-rail-header-overlap: 1.25rem;
}

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

/* Content stacks above header so negative-margin right rail paints over header dead-space (see EntityViewLayout.razor.css header z-index: 100) */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .module-content-region {
    position: relative;
    z-index: 101 !important;
    overflow: visible;
}

/* Allow right-rail negative overlap to paint above header (scroll stays on .service-desk-main / card body) */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .workspace-main-body,
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .service-desk-detail-layout {
    overflow: visible;
}

.service-desk-right-rail-card {
    grid-column: 2;
    grid-row: 1 / -1;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
    min-width: 0;
    height: calc(100% + var(--service-desk-right-rail-header-overlap, 0px));
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    transform: translateY(calc(-1 * var(--service-desk-right-rail-header-overlap, 0px)));
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: var(--mud-palette-surface);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

/* Reserve tab-row height while card border overlaps header dead space on the right */
.service-desk-right-rail-card::before {
    content: "";
    display: block;
    flex-shrink: 0;
    height: var(--service-desk-right-rail-header-overlap);
}

body.theme-dark .service-desk-right-rail-card {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

.service-desk-right-rail-card__tabs {
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    min-width: 0;
    min-height: 2.25rem;
    padding: 0 0.875rem;
}

.service-desk-right-rail-card__tabs .service-desk-right-tab-group {
    width: 100%;
}

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

/* Content-anchored tabs: header divider stops at left column (not under right rail card) */
.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-with-border {
    border-bottom: none !important;
}

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .module-header-section {
    display: grid;
    grid-template-columns: minmax(0, 65fr) minmax(420px, 35fr);
    gap: 1rem;
    overflow: visible;
    z-index: 0 !important;
}

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

.entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) .module-header-section::after {
    content: "";
    grid-column: 1;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    margin-top: 0;
}

.entity-view-layout:has(.service-desk-detail-layout) .service-desk-header-chips {
    margin: 0;
    padding: 0;
}

/* Hide text “Back to …” row; navigation uses circular control in title row */
.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-back-row {
    display: none !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .service-desk-title-back-btn.mud-icon-button {
    width: 2rem;
    height: 2rem;
    min-width: 2rem !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid var(--mud-palette-lines-default) !important;
    background-color: var(--mud-palette-surface) !important;
    color: var(--mud-palette-text-secondary) !important;
    flex-shrink: 0;
}

.entity-view-layout:has(.service-desk-detail-layout) .service-desk-title-back-btn.mud-icon-button:hover {
    background-color: var(--mud-palette-action-default-hover) !important;
    color: var(--mud-palette-text-primary) !important;
}

/* Title indented via title row flex; chips stay flush with back-button column */
.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-title-row {
    align-items: center;
    gap: 0.625rem;
}

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-subtitle-slot {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-left {
    align-items: stretch;
}

/* Service Desk work item: header/title rhythm + content column top inset (shared left/right alignment) */
.entity-view-layout:has(.service-desk-detail-layout) {
    --service-desk-header-chrome-rhythm: 0.375rem;
    --service-desk-title-chip-gap: 0.25rem;
    --service-desk-content-top-inset: 0.125rem;
    --service-desk-header-section-padding-bottom: 0.25rem;
}

.entity-view-layout:has(.service-desk-detail-layout) .module-header-section {
    padding: 1rem 1.25rem var(--service-desk-header-section-padding-bottom) 1.25rem !important;
    gap: var(--service-desk-header-chrome-rhythm) !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .module-header-section > :last-child {
    margin-bottom: 0 !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-with-border {
    padding-bottom: var(--service-desk-title-chip-gap) !important;
}

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

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-subtitle-slot {
    margin-top: var(--service-desk-title-chip-gap) !important;
    margin-bottom: 0 !important;
}

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-record-row {
    margin-top: 0 !important;
}

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

.entity-view-layout:has(.service-desk-detail-layout) .entity-view-header-top-row {
    gap: 0.5rem !important;
}

/* Tab row split no longer used — right tabs are inside sidebar */

/* Header: separate “intelligence” (Ask AI) from ticket workflow actions */
.entity-view-layout:has(.service-desk-detail-layout) .home-quick-actions {
    align-items: center;
    flex-wrap: wrap;
    row-gap: 0.5rem;
    column-gap: 0.375rem;
}

.entity-view-layout:has(.service-desk-detail-layout) .home-quick-actions .service-desk-header-workflow-actions {
    border-left: 1px solid var(--mud-palette-divider);
    padding-left: 1rem;
    margin-left: 0.375rem;
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

/* 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 {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

/* Conversation panel: open workspace on page background (no outer card chrome) */
.service-desk-detail-layout .service-desk-main > .conversation-thread-panel {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.theme-dark .service-desk-detail-layout .service-desk-main > .conversation-thread-panel {
    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: 1rem 0 1.25rem;
}

/* 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: 8px;
    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: 10px;
}

.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-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.service-desk-detail-layout .service-desk-main > .conversation-thread-panel .conversation-reply-panel {
    margin-top: 0 !important;
    border-radius: 10px !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;
    bottom: 0;
    position: sticky;
}

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;
}

/* 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 — single full-width card stack */
.service-desk-detail-layout .service-desk-details-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    /* Horizontal padding from pa-2 on markup; bottom inset only here */
    padding-bottom: 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;
}

/* Dashboard card */
.sd-dash-card {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    background: var(--mud-palette-surface);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 0.75rem 0.875rem;
    min-width: 0;
    overflow: hidden;
}

body.theme-dark .sd-dash-card {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

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

/* Ticket snapshot + people — borderless block above dashboard cards */
.sd-dash-rail-snapshot-people {
    grid-column: 1 / -1;
    min-width: 0;
}

.sd-dash-rail-snapshot-people__people {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mud-palette-lines-default);
}

/* 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;
    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 .sd-dash-rail-snapshot-people__people .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;
}

.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;
    }
}

/* 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);
}

.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: 110px minmax(0, 1fr);
    column-gap: 8px;
    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 .work-item-preferred-workflows--context-rail-embed .service-desk-preferred-workflow-row--rail-embed {
    border: none;
    border-radius: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-divider) 85%, transparent);
    cursor: pointer;
    margin-bottom: 0 !important;
}

.service-desk-details-dashboard .work-item-preferred-workflows--context-rail-embed .service-desk-preferred-workflow-row--rail-embed:last-child {
    border-bottom: none;
}

.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-end;
    align-items: flex-start;
    text-align: right;
}

.service-desk-details-dashboard .service-desk-rail-kv-row--close {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    column-gap: 8px;
    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: 110px minmax(0, 1fr);
    column-gap: 8px;
    align-items: baseline;
    min-height: 22px;
    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: 10px;
    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: suppress doubled borders */
.sd-dash-card .mud-paper {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    border-radius: 8px !important;
}

.sd-dash-card .mud-paper.mud-paper-outlined {
    border-color: var(--mud-palette-lines-default) !important;
}

body.theme-dark .sd-dash-card .mud-paper {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

@media (max-width: 959px) {
    .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;
    }

    .entity-view-layout--content-anchored-tabs.entity-view-layout:has(.service-desk-detail-layout) {
        --service-desk-right-rail-header-overlap: 0;
    }

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

    .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) .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: 1px solid var(--mud-palette-lines-default) !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;
    }
}
