:root {
    --color-white: #FFF;
    --color-black: #000;
    --color-primary: #014293;
    --color-primary-trans: #0142930f;
    --color-secondary: #2196F3;
    --text-primary: #1d1d1d;
    --text-secondary: #166ed9;
    --text-gray: #9fa9b9;
    --text-active-link: #014293;
    --bg-active-link: #f6faff;
    --bg-gray: #f3f5f8;
    --body-size: 15px;
    --btn-primary: #014293;
    --btn-primary-text: #fff;
    --btn-secondary: #0052b9;
    --btn-disable-primary: #c6c6c6;
    --btn-disable-secondary: #a9a9a9;
    --app-borderradius: 8px;
    --surface-0: #f4f6f9;
    --surface-2: #ffffff;
    --border: rgba(0, 0, 0, 0.1);
    --shadow1: rgba(1, 66, 147, .2);
    --shadow2: rgba(1, 66, 147, .12);
    --shadow3: rgba(1, 66, 147, .14);
    --shadow-primary: #0142933b;
    --danger: #f44336;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    overflow-y: hidden !important;
    height: auto;
    min-height: 100dvh;
}

body {
    font-family: NotoSans, "Open Sans", sans-serif;
    background-color: var(--color-white);
    color: var(--text-primary, #1a1a18);
    font-size: var(--body-size);
}

iframe {
    position: relative;
    top: -34px;
}

#main-content {
    overflow: auto;
    height: calc(100dvh - 65px);
    width: 100% !important;
    padding: 20px;
}

#main-content-full {
    overflow: auto;
    height: 100dvh;
    width: 100% !important;
    padding: 20px;
}

#main-content-spg {
    /*overflow: auto;*/
    /*width: 100% !important;*/
    padding: 0;
}

.high-height {
    min-height: 100dvh !important;
    height: auto;
}

.logo-limpidus {
    padding-top: 5px;
    height: 61px;
    margin-left: 22px;
}

.bold {
    font-weight: bold !important;
}

.text-bold {
    font-weight: bold !important;
}

.text-regular {
    font-weight: normal !important;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-danger,
.text-danger-all * {
    color: var(--danger);
}

.invisible {
    visibility: hidden;
    height: 0;
    padding: 0;
    margin: 0;
    position: absolute;
}

.btn-primary {
    background: linear-gradient(to bottom, var(--btn-primary), var(--btn-secondary));
    color: #fff;
    box-shadow: 0 0 0 0;
    border: 0 none;
    outline: 0;
    text-align: center;
    cursor: pointer;
    border-radius: 4px;
}

.btn-primary:hover {
    box-shadow: 0 0 4px 0 var(--shadow1), 0 4px 5px 0 var(--shadow2), 0 1px 10px 0 var(--shadow3);
}

.btn-primary span {
    color: var(--btn-primary-text);
}

.btn-medium {
    padding: 2px 25px !important;
    min-width: auto !important;
}

.btn-medium * {
    font-size: .85rem !important;
}

.btn-small {
    padding: 2px 10px !important;
    min-width: auto !important;
}

.btn-small * {
    font-size: x-small !important;
}

.icon-info-inline {
    position: relative;
    top: 10px;
}

/*Home*/
.panel-min-10 {
    min-height: 100px;
}

.panel-min-20 {
    min-height: 200px;
}

.panel-min-30 {
    min-height: 300px;
}

.noticias-img {
    align-content: center;
}

.noticias-img img {
    width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .noticias-img {
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
    }
}

.text-link {
    display: inline;
    cursor: pointer;
    text-decoration: none;
    background-image: linear-gradient(var(--btn-primary), var(--btn-primary));
    background-position: 50% 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size 0.2s ease;
}

.text-link:hover {
    color: var(--btn-primary);
    background-size: 100% 1px;
}

.text-link:hover::after {
    width: 100%;
    left: 0;
}

/*Bar line loading*/
.pg-loading {
    position: relative;
    top: -20px;
    height: 3px;
    background: color-mix(in srgb, var(--color-primary), transparent 80%);
    overflow: hidden;
}

.pg-loading span {
    display: block;
    height: 100%;
}

.pg-progress {
    background-color: var(--color-primary);
    animation: pgProgressBar 1s ease-in-out;
    animation-fill-mode: both;
}

@keyframes pgProgressBar {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

.pg-fade-in {
    animation: fadeInAnimation 0.2s ease-in-out;
}

@keyframes fadeInAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/*Blocos*/
.bloco-link {
    cursor: pointer;
}

.bloco-link:hover {
    border: 1px solid var(--shadow-primary);
    box-shadow: 0 0 6px 0 var(--shadow-primary) !important;
}

/*Fases*/
.win-add-block {
    position: absolute;
    z-index: 300;
    top: 254px;
    width: 30dvw;
    left: 290px;
}

.win-add-block-form {
    background-color: var(--color-white);
}

.win-add-subgroup {
    position: absolute;
    z-index: 300;
    top: 254px;
    width: 30dvw;
    left: 290px;
}

/* Desativa o scroll padrão da lista do MudBlazor */
/* Container do popover totalmente customizado para 5 colunas */
.icon-grid-wrapper {
    display: grid !important;
    grid-template-columns: repeat(5, 48px) !important;
    gap: 4px !important;
    padding: 8px !important;
    width: 260px !important;
    max-height: 240px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 4px;
    box-shadow: var(--mud-elevation-8);
}

/* Célula individual da grade */
.icon-grid-cell {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 48px !important;
    height: 48px !important;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.icon-grid-cell:hover {
    background-color: var(--mud-palette-action-default-hover);
}

.icon-grid-cell.selected {
    background-color: var(--mud-palette-primary-hover);
    color: var(--mud-palette-primary);
}

/*Sobreposição ao MudBlazor*/
.mud-card-header-content p {
    font-weight: bold;
}

@media (hover: hover) and (pointer: fine) {
    .mud-icon-button:hover {
        background-color: unset !important;;
    }
}

.mud-paper {
    border-radius: var(--app-borderradius) !important;
}

.mud-paper-outlined {
    border: 1px solid rgb(0 0 0 / 8%);
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.05) !important;
    background-color: #fff !important;
}


.mud-input-control {
    margin: 6px 0 6px 0 !important;
}

.mud-icon-button {
    padding: 0 10px 0 0 !important;
}

.mud-input > input.mud-input-root-outlined, div.mud-input-slot.mud-input-root-outlined {
    padding: 8px;
}

.mud-button-outlined.mud-button-outlined-primary {
    border: 1px solid rgba(1, 66, 147, 0.18);
}

.mud-button-filled {
    background: linear-gradient(var(--btn-secondary), var(--btn-primary), var(--btn-secondary));
    margin: 0;
    color: #fff;
    box-shadow: 0 0 0 0;
    border: 0 none;
    outline: 0;
    text-align: center;
    cursor: pointer;
    border-radius: 4px;
}

.btn-primary:disabled,
.mud-button-filled:disabled {
    background: linear-gradient(to bottom, var(--btn-disable-primary), var(--btn-disable-secondary));
}

.mud-button {
    padding: 4px 16px;
    text-transform: none;
    text-align: left;
    box-sizing: border-box;
    transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

/*MudTable*/
.mud-button-filled:hover {
    box-shadow: 0 0 4px 0 var(--shadow1), 0 4px 5px 0 var(--shadow2), 0 1px 10px 0 var(--shadow3);
}

.usr-online *,
.usr-online {
    box-shadow: none;
}

.usr-online {
    overflow-x: auto;
    overflow-y: hidden;
}

.mud-table-head {
    background-color: var(--color-primary);
}

.mud-table-head th {
    color: var(--color-white) !important;
    font-weight: bold !important;
}

.mud-table-body {
    background-color: var(--color-white);
}

.mud-xs-table .mud-table-row .mud-table-cell:last-child,
.mud-table-cell {
    border: 0;
    padding: 4px 0 4px 8px;
}

.mud-table-dense * .mud-table-row .mud-table-cell {
    padding: 4px 10px 4px 16px !important;
}

.usr-online .mud-table-cell {
    display: table-cell !important;
}

.usr-online .mud-table-row {
    display: table-row !important;
}

.mud-menu-item {
    padding: 4px 10px;
}

.mud-menu-item-text {
    font-size: 0.90rem;
}

.mud-menu-item-icon {
    font-size: 1.2rem;
}


@media (max-width: 768px) {
    .mud-table-cell {
        display: contents !important;
    }
}
