/*
   Global overrides loaded last.
   Keep narrow and intentional: cross-cutting fixes that must win the final cascade.
*/

/* MudTabs surface: transparent background behind tab labels. */
html body .mud-tabs,
html body .mud-tabs.mud-paper,
html body .mud-tabs-toolbar,
html body .mud-tabs-toolbar-wrapper,
html body .mud-tabs-toolbar-content,
html body .mud-tabs-tabbar-content,
html body .mud-slide-group,
html body .mud-slide-group-content,
html body .mud-tabs-panels {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body .mud-tabs .mud-tab,
html body .mud-tabs .mud-button-root.mud-tab,
html body .mud-tabs .mud-button-root.mud-button-text.mud-tab,
html body .mud-tabs .mud-button-root.mud-button-text-primary.mud-tab,
html body .mud-tabs .mud-button-root.mud-button-text-secondary.mud-tab,
html body .mud-tabs .mud-tab:hover,
html body .mud-tabs .mud-tab:focus,
html body .mud-tabs .mud-tab:active,
html body .mud-tabs .mud-tab.mud-tab-active {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-color: transparent !important;
    border-bottom: 0 !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
}

html body .mud-tabs .mud-tab::before,
html body .mud-tabs .mud-tab::after,
html body .mud-tabs .mud-button-root.mud-tab::before,
html body .mud-tabs .mud-button-root.mud-tab::after,
html body .mud-tabs-toolbar::before,
html body .mud-tabs-toolbar::after,
html body .mud-tabs-toolbar-content::before,
html body .mud-tabs-toolbar-content::after {
    content: none !important;
    display: none !important;
}

/* Active tab underline/slider off globally. */
html body .mud-tabs .mud-tab-indicator,
html body .mud-tabs .mud-tab-slider,
html body .mud-tabs-toolbar .mud-tab-indicator {
    display: none !important;
    opacity: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Final motion cleanup: no global hover-lift on button-like controls.
   Preserve color and border hover feedback, but suppress translateY/scale nudges. */
html body :is(
    button,
    [role='button'],
    .mud-button-root,
    .mud-tab,
    .hysec-tab,
    .app-item,
    .update-ready,
    [class*='btn'],
    [class*='button']
):not(.mud-switch-base) {
    transition-property: background-color, border-color, color, box-shadow, opacity !important;
}

html body :is(
    button,
    [role='button'],
    .mud-button-root,
    .mud-tab,
    .hysec-tab,
    .app-item,
    .update-ready,
    [class*='btn'],
    [class*='button']
):not(.mud-switch-base):is(:hover, :focus, :focus-visible) {
    transform: none !important;
}

/* MudSnackbar contrast fix: the HYSEC panel override darkens snackbar
   surfaces, while MudBlazor filled success keeps a dark/black text token.
   Keep snackbar text readable on the final dark surface without touching
   normal in-page alerts. */
html body .mud-snackbar,
html body .mud-snackbar .mud-snackbar-content-message,
html body .mud-snackbar .mud-alert-message,
html body .mud-snackbar .mud-alert-icon,
html body .mud-snackbar .mud-icon-root,
html body .mud-snackbar .mud-button-root {
    color: var(--primary-text-strong) !important;
}

html body .mud-snackbar:has(.mud-alert-filled-success),
html body .mud-snackbar.mud-alert-filled-success,
html body .mud-snackbar .mud-alert-filled-success {
    background:
        linear-gradient(135deg, rgba(var(--success-rgb), 0.20), rgba(var(--success-rgb), 0.08)),
        var(--panel-bg-solid) !important;
    border-color: rgba(var(--success-rgb), 0.42) !important;
    color: #D8F5E7 !important;
}

html body .mud-snackbar:has(.mud-alert-filled-success) *,
html body .mud-snackbar.mud-alert-filled-success *,
html body .mud-snackbar .mud-alert-filled-success * {
    color: #D8F5E7 !important;
}
