/* Default paper nesting follows the palette's surface depth in either theme. */
.mud-paper :where(.mud-paper) {
    background-color: var(--rg-surface-container-nested);
}

/* Dialogs: center relative to main content (accounting for sidebar) */
.utility-link {
    display: inline-flex;
    align-items: center;
    gap: var(--rg-space-2);
    color: var(--mud-palette-text-secondary);
    transition: color var(--m3-motion-duration-short) var(--m3-motion-easing-effects);
}

.utility-link:hover,
.utility-link:focus-visible {
    color: var(--mud-palette-text-primary);
}

.utility-link > .mud-icon-root {
    color: inherit;
}

.mud-dialog-container,
.mud-overlay-dialog {
    padding-left: var(--sidebar-width);
    box-sizing: border-box;
}

/* Dialogs: consistent padding for actions with content */
.mud-dialog-actions {
    padding: var(--rg-space-4) var(--rg-space-6);
}

@media (max-width: 599.98px) {
    .suite-section-heading > .mud-button-root {
        width: 100%;
    }

    .suite-section-heading {
        align-items: stretch;
        flex-direction: column;
    }

}
/* ========================================================================== */
/* ADMIN ACTION BUTTONS                                                       */
/* ========================================================================== */

.admin-action-button.mud-button-root {
    min-height: var(--rg-control-height-md);
    border-radius: var(--rg-shape-control);
    font-weight: 700;
    text-transform: none;
    border: 0;
    box-shadow: none;
    transition:
        background-color var(--m3-motion-duration-short) var(--m3-motion-easing-effects),
        color var(--m3-motion-duration-short) var(--m3-motion-easing-effects),
        transform var(--m3-motion-duration-medium) var(--m3-motion-easing-spatial);
}

/*
.admin-action-button.mud-button-root:not(:disabled):active {
    transform: scale(0.97);
    transition-duration: var(--m3-motion-duration-fast);
}
*/

.admin-action-button .mud-button-icon-start,
.admin-action-button .mud-button-icon-end {
    transition: transform var(--m3-motion-duration-medium) var(--m3-motion-easing-spatial);
}

.admin-action-button:hover .mud-button-icon-start {
    transform: scale(1.08);
}

.admin-action-button:hover .mud-button-icon-end {
    transform: translateX(2px);
}

.admin-action-button.mud-button-filled {
    border: 0;
    box-shadow: none;
}

.admin-action-button.mud-button-root:hover,
.admin-action-button.mud-button-root:focus-visible,
.admin-action-button.mud-button-root:active {
    box-shadow: none;
}

.admin-action-button.admin-action-compact {
    min-height: var(--rg-control-height-sm);
}

.admin-action-button.admin-action-icon-only {
    min-width: var(--rg-control-height-sm);
    padding: 4px;
}

.admin-action-button.admin-action-icon-only .mud-button-icon-start {
    margin: 0;
    margin-inline-end: 0;
}

@media (max-width: 599.98px) {
    .admin-action-button.mud-button-root {
        min-height: var(--rg-control-height-lg);
    }

    .admin-action-button.admin-action-icon-only {
        width: var(--rg-control-height-lg);
        min-width: var(--rg-control-height-lg);
        height: var(--rg-control-height-lg);
        min-height: var(--rg-control-height-lg);
    }
}

.loading-button-content {
    display: inline-grid;
    align-items: center;
    justify-items: center;
}

.loading-button-content__normal,
.loading-button-content__spinner {
    grid-area: 1 / 1;
}

.loading-button-content__normal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.loading-button-content__normal--hidden {
    opacity: 0;
}

.loading-button-content__spinner {
    display: none;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.loading-button--busy .loading-button-content__normal {
    opacity: 0;
}

.loading-button--busy .loading-button-content__spinner {
    display: inline-flex;
}

/* ========================================================================== */
/* ADMIN TABLE SKELETON - shimmer placeholder rows while data loads           */
/* ========================================================================== */

.admin-skeleton-table {
    width: 100%;
}

.admin-skeleton-table thead th {
    padding: 12px 16px;
}

.admin-skeleton-table tbody td {
    padding: 14px 16px;
}

.admin-skeleton-table .mud-skeleton {
    border-radius: var(--rg-shape-pill);
}

/* Shared presentation for a device identity across registry, sidebar, and settings. */
.device-appearance-neutral {
    --device-appearance-color: var(--rg-device-color-neutral);
    --device-appearance-container: var(--mud-palette-surface);
}

.device-appearance-green {
    --device-appearance-color: var(--rg-device-color-green);
    --device-appearance-container: color-mix(in srgb, var(--rg-device-color-green) 16%, var(--mud-palette-surface));
}

.device-appearance-blue {
    --device-appearance-color: var(--rg-device-color-blue);
    --device-appearance-container: color-mix(in srgb, var(--rg-device-color-blue) 16%, var(--mud-palette-surface));
}

.device-appearance-teal {
    --device-appearance-color: var(--rg-device-color-teal);
    --device-appearance-container: color-mix(in srgb, var(--rg-device-color-teal) 16%, var(--mud-palette-surface));
}

.device-appearance-amber {
    --device-appearance-color: var(--rg-device-color-amber);
    --device-appearance-container: color-mix(in srgb, var(--rg-device-color-amber) 16%, var(--mud-palette-surface));
}

.device-appearance-violet {
    --device-appearance-color: var(--rg-device-color-violet);
    --device-appearance-container: color-mix(in srgb, var(--rg-device-color-violet) 16%, var(--mud-palette-surface));
}

.device-appearance-preview[class*="device-appearance-"],
.device-dashboard-identity-icon[class*="device-appearance-"] {
    color: var(--device-appearance-color);
    background: var(--device-appearance-container);
}

.workspace-shell .devices-tile[class*="device-appearance-"] {
    background: var(--device-appearance-container);
}

.devices-tile-icon[class*="device-appearance-"] {
    color: var(--device-appearance-color);
    background: color-mix(in srgb, var(--device-appearance-color) 30%, var(--mud-palette-surface));
}

.suite-state-banner {
    border-radius: var(--rg-shape-card);
}

.suite-advanced-disclosure,
.suite-advanced-disclosure .mud-expand-panel {
    border-radius: var(--rg-shape-card);
    background: var(--mud-palette-surface);
}

.suite-card-skeleton {
    border-radius: var(--rg-shape-card);
}

.mud-skeleton-text {
    border-radius: var(--rg-shape-pill);
}

.mud-skeleton-rectangle {
    border-radius: var(--rg-shape-control);
}

.suite-table-skeleton {
    overflow-x: auto;
    border-radius: var(--rg-shape-card);
}
.dashboard-workspace-tabs {
    align-self: flex-start;
    max-width: 100%;
    margin-bottom: calc(-1 * var(--rg-space-6));
    padding-inline: var(--rg-space-3);
}

.dashboard-workspace-tab-panels {
    display: none;
}

.dashboard-workspace-tabs .mud-tabs-tabbar-wrapper > .mud-tooltip-root {
    display: flex;
}

.dashboard-workspace-tabs .mud-tab {
    position: relative;
}

.dashboard-workspace-tabs .mud-tab.mud-tab-active::after {
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    border-radius: var(--m3-shape-xs) var(--m3-shape-xs) 0 0;
    background: var(--mud-palette-primary);
    content: "";
}

.dashboard-workspace-tabs .mud-tab-slider {
    display: none;
}

.dashboard-workspace-tabs-separated {
    width: 100%;
    margin-bottom: calc(-1 * var(--rg-space-3));
    border-bottom: 1px solid var(--mud-palette-divider);
}

@media (max-width: 599.98px) {
    .dashboard-workspace-tabs {
        width: 100%;
    }
}
