@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

html, body, button, input, select, textarea {
    font-family: 'Poppins','Inter',sans-serif;
    font-weight: 500 !important;
}


.mud-button {
    border-radius: 10px !important;
}

.mud-nav-link {
    margin: 0 12px;
    border-radius: 99px;
    margin-bottom: 8px;
    position: relative;
    padding-left: 0;
    display: block;
    overflow: hidden;
    font-weight: 500;
}

    .mud-nav-link::before {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--mud-palette-primary);
        opacity: 0;
        border-radius: inherit;
        pointer-events: none;
        transition: opacity .2s ease;
        z-index: 0;
    }

.layout-logo-name {
    font-weight: bold;
    color: var(--pallete-primary) !important;
}

.mud-nav-link .mud-nav-link-text {
    padding-left: 0 !important;
}
/* keep link content above the overlay */
.mud-nav-link > * {
    position: relative;
    z-index: 1;
}

.page-title {
    font-weight: 800;
    font-size: 1.11rem;
    color: var(--mud-palette-text-primary);
    padding-left: 12px;
}

.mud-table {
    padding: 12px;
}

.mud-paper:not(.mud-picker-popover-paper),
.mud-paper:not(.mud-popover) {
    padding: 8px;
    overflow: hidden;
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.mud-list {
    padding-bottom: 18px;
}

/* Popovers (e.g., Select, Autocomplete) with shadow (but NOT when hosting a picker paper) */
.mud-popover:not(:has(.mud-picker-popover-paper)),
.mud-popover.mud-elevation-0:not(:has(.mud-picker-popover-paper)),
.mud-popover.mud-elevation-1:not(:has(.mud-picker-popover-paper)),
.mud-popover.mud-elevation-8:not(:has(.mud-picker-popover-paper)),
.mud-popover-paper,
.mud-popover-surface,
.mud-popover .mud-popover-paper,
.mud-popover .mud-popover-surface,
.mud-popover-open .mud-popover-paper,
.mud-popover-open .mud-popover-surface,
.mud-select .mud-popover-paper,
.mud-select .mud-popover-surface,
.mud-popover .mud-paper,
.mud-popover-open .mud-paper,
.mud-popover [class*="popover-paper"],
.mud-popover [class*="popover-surface"],
.mud-popover [class*="paper"],
.mud-popover .mud-elevation-0,
.mud-popover .mud-elevation-1,
.mud-select-popover .mud-paper,
.mud-select-popover .mud-popover-surface,
.mud-autocomplete-popover .mud-paper,
.mud-autocomplete-popover .mud-popover-surface,
.mud-menu .mud-paper,
.mud-menu .mud-popover-surface,
.mud-picker-popover-paper {
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12) !important;
    border-radius: 20px !important;
}

/* Fallbacks to catch Select/Autocomplete popovers in different render trees */
.mud-select-popover,
.mud-autocomplete-popover,
.mud-popover [role="listbox"],
.mud-popover [role="dialog"] {
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12) !important;
}

/* Ensure inner surface gets the shadow (common for MudSelect popover) */
.mud-popover.mud-popover-open > .mud-paper,
.mud-popover.mud-popover-open > .mud-popover-surface,
.mud-popover > .mud-paper,
.mud-popover > .mud-popover-surface {
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12) !important;
}

/* Highly specific: target dynamically generated popovercontent container of Select */
.mud-popover[id^="popovercontent-"],
.mud-popover[id^="popovercontent-"] > .mud-paper,
.mud-popover[id^="popovercontent-"] > .mud-popover-surface {
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12) !important;
}

/* MudBlazor v7 wrapper inside popovers (but NOT picker) */
.mud-popover-content:not(:has(.mud-picker-popover-paper)),
.mud-select-popover > .mud-popover-content,
.mud-autocomplete-popover > .mud-popover-content {
    box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12) !important;
    border-radius: 20px !important;
}

/* Prevent double shadow on pickers: keep shadow on picker paper but not on container */
.mud-popover:has(.mud-picker-popover-paper) {
    box-shadow: none !important;
}

.mud-popover[id^="popovercontent-"]:has(.mud-picker-popover-paper) {
    box-shadow: none !important;
}

.mud-skeleton {
    transform: scale(1) !important;
}



.mud-main-content {
    padding-top: 80px;
}

@media (hover: hover) and (pointer: fine) {
    .mud-nav-link:hover:not(.mud-nav-link-disabled) {
        color: var(--mud-palette-primary);
        background: transparent !important;
    }

        .mud-nav-link:hover:not(.mud-nav-link-disabled)::before {
            opacity: .08;
        }
}

.card-group {
    background: #e7e7e7 !important;
    padding: 1.5rem !important;
    border-radius: 20px;
    display: block;
    position: relative;
    overflow: hidden;
}

.image-group {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background-position: bottom bottom;
    object-fit: cover;
    height: 100%;
}

.z-2 {
    z-index: 2 !important;
}

/* ==============================
   Calendário (Herozen/MudCalendar)
   Objetivo: melhorar legibilidade, contrastes, hover, seleção e hoje
   Aplica-se tanto ao MudCalendar quanto ao Date(Picker/RangePicker)
   ============================== */


/* Cabeçalho do calendário (mês/ano + navegação) */
.mud-picker .mud-picker-calendar .mud-typography,
.mud-calendar .mud-typography {
    font-weight: 600;
}

.mud-cal-month-grid > div {
}


.mud-cal-month-dropzone {
    /* Permite rolagem e reduz espessura da barra */
    overflow: auto !important;
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: rgba(0,0,0,.28) transparent; /* Firefox: thumb e trilha */
}

.mud-cal-toolbar {
    padding: 0 !important;
    margin-bottom: 20px;
}

    .mud-cal-toolbar button {
        background: #f4f4f4 !important;
        box-shadow: none;
        border: solid 1px #b7b7b7;
        color: #565656 !important;
    }

        .mud-cal-toolbar button:hover {
            background: #d9d9d9 !important;
            box-shadow: none !important
        }



/* WebKit (Chrome/Edge/Safari) */
.mud-cal-month-dropzone::-webkit-scrollbar {
    height: 6px; /* scroll horizontal */
    width: 6px; /* scroll vertical (fallback) */
}

.mud-cal-month-dropzone::-webkit-scrollbar-track {
    background: transparent;
}

.mud-cal-month-dropzone::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,.28);
    border-radius: 8px;
}

    .mud-cal-month-dropzone::-webkit-scrollbar-thumb:hover {
        background-color: rgba(0,0,0,.38);
    }


.mud-button-group-root {
    border-radius: 16px; /* clipping consistente */
    overflow: hidden; /* evita vazamento nas bordas internas */
}

    .mud-button-group-root .mud-button-root {
        border-radius: 0 !important; /* remove raio padrão em botões internos */
    }

        .mud-button-group-root .mud-button-root:first-child {
            border-top-left-radius: 16px !important;
            border-bottom-left-radius: 16px !important;
        }

        .mud-button-group-root .mud-button-root:last-child {
            border-top-right-radius: 16px !important;
            border-bottom-right-radius: 16px !important;
        }

    .mud-button-group-root .mud-button-filled {
        background: #d8d8d8 !important;
    }

    .mud-button-group-root .mud-button-outlined {
        border: solid 1px #b7b7b7;
    }





.mud-input-date .mud-input-outlined-border {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.mud-input-time .mud-input-outlined-border {
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}



.bg-glass {
    /* Translucent background to see blur effect */
    background-color: rgba(255, 255, 255, 0.6);
    /* Apply blur to the backdrop (what's behind the element) */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* Optional subtle border for glassmorphism */
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.bg-b-gray {
    border-bottom: solid 1px #ebebeb !important;
}

.bg-r-gray {
    border-right: solid 1px #ebebeb !important;
}


.bg-transparent {
    background: transparent !important;
}

.bg-dark-40 {
    filter: brightness(40%) !important;
}


.text-white {
    color: white !important;
}

.opacity-75 {
    opacity: .75;
}

.animation-hover-scale {
    transition: transform .6s ease;
    will-change: transform;
}

.animation-fade-in {
    animation: fadeIn 1s ease;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}

    .animation-hover-scale:hover {
        transition: .3s ease;
        transform: scale(1.06);
    }

.mud-dialog-content {
    border-radius: 0px !important;
}

.rounded-0 {
    border-radius: 0px !important;
}

/*.mud-paper {
    border-radius: 0px !important;
}*/

.principal-card::before {
    
}



.principal-glow {
   
}