/* -------------------------------------------------------------------------
   Nucleus underline tabs (Service Desk Detail reference)
   Loaded last among chrome CSS so it wins over legacy filled MudTabs.
   Canonical: inactive text-secondary; active text-primary + 2px underline
   flush to a 1px lines-default divider. No filled pills, no tenant-brand fill.
   ------------------------------------------------------------------------- */

.mud-tabs:not(.mud-tabs-vertical) {
    background: transparent;
    border-bottom: none;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tabs-toolbar,
.mud-tabs:not(.mud-tabs-vertical) .mud-tabs-tabbar,
.mud-tabs:not(.mud-tabs-vertical) .mud-tabs-tabbar-inner,
.mud-tabs:not(.mud-tabs-vertical) .mud-tabs-tabbar-wrapper {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    min-height: 0 !important;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tabs-tabbar {
    border-bottom: 1px solid var(--mud-palette-lines-default) !important;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tab {
    min-width: 0 !important;
    min-height: 2.25rem !important;
    padding: 0.5rem 0.75rem !important;
    margin: 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--mud-palette-text-secondary) !important;
    top: 0 !important;
    position: relative !important;
    transition: color 0.12s ease !important;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tab:hover:not(.mud-tab-active) {
    background: transparent !important;
    color: var(--mud-palette-text-primary) !important;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active,
.mud-tabs:not(.mud-tabs-vertical) .mud-tab-active {
    background: transparent !important;
    color: var(--mud-palette-text-primary) !important;
    font-weight: 600 !important;
    border: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0.5rem !important;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active *,
.mud-tabs:not(.mud-tabs-vertical) .mud-tab-active * {
    color: inherit !important;
}

.mud-tabs:not(.mud-tabs-vertical) .mud-tabs-slider {
    display: block !important;
    height: 2px !important;
    background: var(--mud-palette-text-primary) !important;
    border-radius: 0 !important;
    bottom: 0 !important;
}

/* Neutralize leftover Rounded / Border / Filled MudTabs chrome */
.mud-tabs-rounded:not(.mud-tabs-vertical) .mud-tab,
.mud-tabs-border:not(.mud-tabs-vertical) .mud-tab,
.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab {
    border-radius: 0 !important;
}

.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab:not(.mud-tab-active),
.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active {
    background: transparent !important;
    opacity: 1 !important;
}

.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active,
.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active *,
.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active .mud-typography,
.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active .mud-tab-text,
.mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active span {
    color: var(--mud-palette-text-primary) !important;
}

/* Named aliases used by detail strips (same visual as global default) */
.nucleus-simple-mud-tabs,
.nucleus-detail-simple-mud-tabs,
.service-desk-simple-mud-tabs {
    min-width: 0;
}

/*
 * BadgeData qty chips sit absolute top-right on the tab; tight padding made them
 * overlap the next tab label. Extra end padding + gap keeps chips clear.
 * Prefer inline .nucleus-detail-tab-qty (NucleusDetailMainTabStrip) over Mud BadgeData.
 */
.nucleus-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab,
.nucleus-detail-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab,
.service-desk-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab {
    padding: 0.5rem 0.75rem !important;
    margin-inline-end: var(--nucleus-detail-tab-gap, 0.25rem) !important;
}

.nucleus-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active,
.nucleus-detail-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active,
.service-desk-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active {
    padding-bottom: 0.5rem !important;
}

/* Left-start: flush first tab to content edge (title / chips / cards) */
.nucleus-detail-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab:first-child,
.nucleus-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab:first-child,
.service-desk-simple-mud-tabs.mud-tabs:not(.mud-tabs-vertical) .mud-tab:first-child {
    padding-left: 0 !important;
    margin-inline-start: 0 !important;
}

.nucleus-simple-mud-tabs .mud-badge-wrapper,
.nucleus-simple-mud-tabs .mud-badge,
.nucleus-detail-simple-mud-tabs .mud-badge-wrapper,
.nucleus-detail-simple-mud-tabs .mud-badge,
.service-desk-simple-mud-tabs .mud-badge-wrapper,
.service-desk-simple-mud-tabs .mud-badge {
    overflow: visible !important;
}

/* Keep legacy Mud BadgeData clear of the neighbour if still used */
.nucleus-simple-mud-tabs .mud-badge.mud-badge-top,
.nucleus-detail-simple-mud-tabs .mud-badge.mud-badge-top,
.service-desk-simple-mud-tabs .mud-badge.mud-badge-top,
.nucleus-simple-mud-tabs .mud-badge-wrapper .mud-badge,
.nucleus-detail-simple-mud-tabs .mud-badge-wrapper .mud-badge,
.service-desk-simple-mud-tabs .mud-badge-wrapper .mud-badge {
    right: 0.15rem !important;
    left: auto !important;
}

/* Inline qty after label — does not overlay glyphs */
.nucleus-detail-tab-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
}

.nucleus-detail-tab-label__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

body.theme-dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab,
html.dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab {
    color: var(--mud-palette-text-secondary) !important;
    background: transparent !important;
}

body.theme-dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab:hover:not(.mud-tab-active),
html.dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab:hover:not(.mud-tab-active) {
    color: var(--mud-palette-text-primary) !important;
    background: transparent !important;
}

body.theme-dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active,
body.theme-dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab-active,
body.theme-dark .mud-tabs-filled:not(.mud-tabs-vertical) .mud-tab-active,
html.dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab.mud-tab-active,
html.dark .mud-tabs:not(.mud-tabs-vertical) .mud-tab-active {
    background: transparent !important;
    color: var(--mud-palette-text-primary) !important;
    border-color: transparent !important;
}

body.theme-dark .mud-tabs:not(.mud-tabs-vertical) .mud-tabs-slider,
html.dark .mud-tabs:not(.mud-tabs-vertical) .mud-tabs-slider {
    background: var(--mud-palette-text-primary) !important;
}

/* -------------------------------------------------------------------------
   TabButtonGroup — same underline strip (was bordered segmented pills)
   ------------------------------------------------------------------------- */

.nucleus-tab-button-group-host {
    min-width: 0;
}

.nucleus-tab-button-group-host--underline,
.nucleus-tab-button-group {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.nucleus-tab-button-group {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    min-width: 0;
}

.nucleus-tab-button-group .mud-button-root,
.nucleus-tab-button.mud-button-root {
    text-transform: none !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    min-width: 0 !important;
    min-height: 2.25rem !important;
    padding: 0.5rem 0.75rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--mud-palette-text-secondary) !important;
    box-shadow: none !important;
}

.nucleus-tab-button-group .mud-button-root:hover,
.nucleus-tab-button.mud-button-root:hover {
    background: transparent !important;
    color: var(--mud-palette-text-primary) !important;
}

.nucleus-tab-button--active.mud-button-root,
.nucleus-tab-button-group .nucleus-tab-button--active.mud-button-root {
    color: var(--mud-palette-text-primary) !important;
    font-weight: 600 !important;
    background: transparent !important;
    box-shadow: inset 0 -2px 0 var(--mud-palette-text-primary) !important;
}

.nucleus-tab-button--active.mud-button-root *,
.nucleus-tab-button-group .nucleus-tab-button--active.mud-button-root * {
    color: inherit !important;
    font-weight: inherit !important;
}

.service-desk-config-delivery-subnav,
.service-desk-config-integrations-subnav,
.service-desk-routing-subnav,
.service-desk-ticket-type-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.service-desk-config-delivery-subnav .mud-button-root,
.service-desk-config-integrations-subnav .mud-button-root,
.service-desk-routing-subnav .mud-button-root,
.service-desk-ticket-type-subnav .mud-button-root {
    text-transform: none !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    min-height: 2.25rem !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--mud-palette-text-secondary) !important;
    box-shadow: none !important;
}

.service-desk-config-delivery-subnav .nucleus-tab-button--active.mud-button-root,
.service-desk-config-integrations-subnav .nucleus-tab-button--active.mud-button-root,
.service-desk-routing-subnav .nucleus-tab-button--active.mud-button-root,
.service-desk-ticket-type-subnav .nucleus-tab-button--active.mud-button-root {
    color: var(--mud-palette-text-primary) !important;
    font-weight: 600 !important;
    box-shadow: inset 0 -2px 0 var(--mud-palette-text-primary) !important;
}

.canvas-lab-right-rail-segments {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    padding: 0 8px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    flex: 0 0 auto;
}

.canvas-lab-right-rail-segments .canvas-lab-right-rail-segment.mud-button-root {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    text-transform: none !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    min-height: 2.25rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--mud-palette-text-secondary) !important;
    box-shadow: none !important;
}

.canvas-lab-right-rail-segments .canvas-lab-right-rail-segment[aria-selected="true"],
.canvas-lab-right-rail-segments .canvas-lab-right-rail-segment.nucleus-tab-button--active {
    color: var(--mud-palette-text-primary) !important;
    font-weight: 600 !important;
    box-shadow: inset 0 -2px 0 var(--mud-palette-text-primary) !important;
}

.edge-workspace-tabstrip {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.edge-workspace-tabstrip .nucleus-tab-button.mud-button-root {
    text-transform: none !important;
    font-weight: 500 !important;
    min-height: 2.25rem !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--mud-palette-text-secondary) !important;
    box-shadow: none !important;
}

.edge-workspace-tabstrip .nucleus-tab-button--active.mud-button-root {
    color: var(--mud-palette-text-primary) !important;
    font-weight: 600 !important;
    box-shadow: inset 0 -2px 0 var(--mud-palette-text-primary) !important;
}
.service-desk-type-pivot .mud-button-root {
    text-transform: none;
    font-weight: 500;
}

.service-desk-type-pivot .nucleus-tab-button--active.mud-button-root {
    font-weight: 600;
}

/* -------------------------------------------------------------------------
   Custom HTML tablists — shared tokens
   ------------------------------------------------------------------------- */

.nucleus-underline-tablist {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    padding: 0;
    margin: 0;
}

.nucleus-underline-tablist > [role="tab"],
.nucleus-underline-tab {
    appearance: none;
    border: none;
    background: transparent;
    padding: 0.5rem 0.75rem 0.5rem;
    margin: 0 0 -1px;
    border-radius: 0;
    border-bottom: 2px solid transparent;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    line-height: 1.3;
}

.nucleus-underline-tablist > [role="tab"]:hover,
.nucleus-underline-tab:hover {
    background: transparent;
    color: var(--mud-palette-text-primary);
}

.nucleus-underline-tablist > [role="tab"][aria-selected="true"],
.nucleus-underline-tablist > [role="tab"].nucleus-underline-tab--active,
.nucleus-underline-tab--active {
    color: var(--mud-palette-text-primary);
    font-weight: 600;
    border-bottom-color: var(--mud-palette-text-primary);
    background: transparent;
}
