@import url('open.iconic/font/css/open-iconic-bootstrap.min.css');

* {
    box-sizing: border-box;
}

:root {
    --global-size: 16px;
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    margin: 0;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    font-size: var(--global-size);
}

/*html, body {
    height: 100%;
    overflow: auto;
}*/

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

.button-link {
    text-decoration: unset;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }



.title {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-bottom: 0.625rem;
}

    .title.title-secondary {
        padding-top: 0.313rem;
        padding-bottom: 0;
        color: var(--bs-secondary-color, var(--dxds-color-content-neutral-default-rest));
    }

.title-header-text {
    font-size: 2.5rem;
    line-height: 3rem;
    font-weight: 600;
    letter-spacing: 0rem;
    padding: 0.3125rem 0;
}

.title-content-text {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 2.5rem;
    letter-spacing: 0rem;
}

.main-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.block-content {
    width: 31.25rem;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    max-width: 100%;
}

.icon {
    width: var(--icon-width, 1rem);
    height: var(--icon-height, 1rem);
    background-color: currentcolor;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-image: var(--icon-mask-image);
    mask-image: var(--icon-mask-image);
    mask-size: cover;
}


.custom-caption {
    display: flex;
    align-items: center;
}

.icon-btn {
    padding-left: .25rem;
    padding-right: .25rem;
}

.custom-container {
    padding: 0px 5px 0px 5px;
}


/*INCIO MAINLAYOUT*/

.demo-drawer:has(.demo-drawer-menu) {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 0;
}

.demo-drawer .dxbl-drawer-content {
    font-size: var(--dxbl-drawer-panel-font-size);
    line-height: var(--dxbl-drawer-panel-line-height);
    overflow: auto;
    padding: var(--dxbl-drawer-panel-padding-y) var(--dxbl-drawer-panel-padding-x);
}

.demo-drawer:has(.demo-drawer-menu) {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 0;
}

.dxbl-menu.demo-drawer-menu {
    --dxbl-menu-item-padding-x: 0.9375rem;
    --dxbl-menu-top-left-border-radius: 0;
    --dxbl-menu-top-right-border-radius: 0;
    --dxbl-menu-bottom-left-border-radius: 0;
    --dxbl-menu-bottom-right-border-radius: 0;
}

.dxbl-sm .dxbl-menu.demo-drawer-menu {
    --dxbl-menu-item-padding-x: 0.8125rem;
}

.dxbl-lg .dxbl-menu.demo-drawer-menu {
    --dxbl-menu-item-padding-x: 1.0625rem;
}

.dxbl-drawer-content:has(.demo-drawer-overview-right) {
    padding: 0;
    padding-bottom: 0px;
}

.demo-drawer-overview-right .dxbl-drawer-header,
.demo-drawer-overview-right .dxbl-drawer-body,
.demo-drawer-overview-right .dxbl-drawer-footer {
    width: 225px;
}

.header-bg {
    background-color: rgba(243, 243, 243, 1);
}

.page-custom {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.card-body-custom {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.layout-item {
    max-height: calc(100vh - 200px);
    overflow-y: scroll;
    scrollbar-width: none;
}

    .layout-item::-webkit-scrollbar {
        display: none;
    }

.footer {
    position: relative;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 1rem 0;
}

/*FIM MAINLAYOUT*/

/* Toolbar */
.tb-icon {
    width: 1rem;
    height: 1rem;
    background-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
    opacity: 0.7;
}


.tb-icon-info {
    mask-image: url("../images/icons/info.svg");
    -webkit-mask-image: url("../images/icons/info.svg");
}



.icon-edit {
    -webkit-mask: url("../images/icons/scheduler-edit.svg");
    mask: url("../images/icons/scheduler-edit.svg");
}

.icon-add {
    -webkit-mask: url("../images/icons/scheduler-add.svg");
    mask: url("../images/icons/scheduler-add.svg");
}

.icon-close {
    -webkit-mask: url("../images/icons/close.svg");
    mask: url("../images/icons/close.svg");
}

.icon-delete {
    -webkit-mask: url("../images/icons/scheduler-delete.svg");
    mask: url("../images/icons/scheduler-delete.svg");
}

.icon-drag-appointment-btw-resources {
    -webkit-mask: url("../images/icons/scheduler-drag-between-resources.svg");
    mask: url("../images/icons/scheduler-drag-between-resources.svg");
}

.icon-drag-and-sizing {
    -webkit-mask: url("../images/icons/scheduler-drag-and-resize.svg");
    mask: url("../images/icons/scheduler-drag-and-resize.svg");
}

.icon-hamburger {
    -webkit-mask: url("../images/icons/hamburger.svg");
    mask: url("../images/icons/hamburger.svg");
}

.icon-tooltip {
    -webkit-mask: url("../images/icons/scheduler-no-tooltip.svg");
    mask: url("../images/icons/scheduler-no-tooltip.svg");
}




.menu-icon {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
    opacity: 0.7;
}

.menu-icon-home {
    mask-image: url("../images/icons/home.svg");
    -webkit-mask-image: url("../images/icons/home.svg");
}


.menu-icon-user-profile {
    mask-image: url("../images/icons/user-profile.svg");
    -webkit-mask-image: url("../images/icons/user-profile.svg");
}


/* Editors */
.editor-icon,
.dxbl-btn .editor-icon {
    width: 1rem;
    height: 1rem;
    background-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
    opacity: 0.7;
}



.editor-icon-edit {
    -webkit-mask-image: url("../images/icons/scheduler-edit.svg");
    mask-image: url("../images/icons/scheduler-edit.svg");
}

.editor-icon-details {
    -webkit-mask-image: url("../images/icons/grid-toolbar-document.svg");
    mask-image: url("../images/icons/grid-toolbar-document.svg");
}

.editor-icon-add {
    -webkit-mask-image: url("../images/icons/add.svg");
    mask-image: url("../images/icons/add.svg");
}


/*Grid*/
.grid-icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
    vertical-align: middle;
}


.grid-icon-add {
    -webkit-mask-image: url("../images/icons/add.svg");
    mask-image: url("../images/icons/add.svg");
}

.grid-icon-delete {
    -webkit-mask-image: url("../images/icons/delete.svg");
    mask-image: url("../images/icons/delete.svg");
}

.grid-icon-play {
    -webkit-mask-image: url("../images/icons/play_grid.svg");
    mask-image: url("../images/icons/play_grid.svg");
}

.grid-icon-download {
    -webkit-mask-image: url("../images/icons/download.svg");
    mask-image: url("../images/icons/download.svg");
}


.grid-icon-column-chooser {
    width: 16px;
    height: 16px;
    -webkit-mask-image: url("../images/icons/column-chooser.svg");
    mask-image: url("../images/icons/column-chooser.svg");
    background-color: currentColor;
}



.grid-cell-align-center {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -4px;
    margin-bottom: -4px;
}



/* Drawer */
.demo-drawer .dxbl-drawer-content {
    font-size: var(--dxbl-drawer-panel-font-size);
    line-height: var(--dxbl-drawer-panel-line-height);
    overflow: auto;
    padding: var(--dxbl-drawer-panel-padding-y) var(--dxbl-drawer-panel-padding-x);
}

.demo-drawer:has(.demo-drawer-menu) {
    --dxbl-drawer-panel-body-padding-x: 0;
    --dxbl-drawer-panel-body-padding-y: 0;
}

.dxbl-menu.demo-drawer-menu {
    --dxbl-menu-item-padding-x: 0.9375rem;
    --dxbl-menu-top-left-border-radius: 0;
    --dxbl-menu-top-right-border-radius: 0;
    --dxbl-menu-bottom-left-border-radius: 0;
    --dxbl-menu-bottom-right-border-radius: 0;
}

.dxbl-sm .dxbl-menu.demo-drawer-menu {
    --dxbl-menu-item-padding-x: 0.8125rem;
}

.dxbl-lg .dxbl-menu.demo-drawer-menu {
    --dxbl-menu-item-padding-x: 1.0625rem;
}



.navbar-toggler {
    background-color: transparent;
    outline: none;
    box-shadow: none;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    margin: 0px;
    border-radius: 50%;
}

    .navbar-toggler .navbar-toggler-icon {
        mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 4.5C0 3.67157 0.671573 3 1.5 3H22.5C23.3284 3 24 3.67157 24 4.5C24 5.32843 23.3284 6 22.5 6H1.5C0.671573 6 0 5.32843 0 4.5Z' fill='currentColor' fill-opacity='0.54'/%3E%3Cpath d='M0 12.5C0 11.6716 0.671573 11 1.5 11H22.5C23.3284 11 24 11.6716 24 12.5C24 13.3284 23.3284 14 22.5 14H1.5C0.671573 14 0 13.3284 0 12.5Z' fill='black' fill-opacity='0.54'/%3E%3Cpath d='M24 20.5C24 19.6716 23.3284 19 22.5 19H1.5C0.671573 19 0 19.6716 0 20.5C0 21.3284 0.671573 22 1.5 22H22.5C23.3284 22 24 21.3284 24 20.5Z' fill='currentColor' fill-opacity='0.54'/%3E%3C/svg%3E%0A");
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 4.5C0 3.67157 0.671573 3 1.5 3H22.5C23.3284 3 24 3.67157 24 4.5C24 5.32843 23.3284 6 22.5 6H1.5C0.671573 6 0 5.32843 0 4.5Z' fill='currentColor' fill-opacity='0.54'/%3E%3Cpath d='M0 12.5C0 11.6716 0.671573 11 1.5 11H22.5C23.3284 11 24 11.6716 24 12.5C24 13.3284 23.3284 14 22.5 14H1.5C0.671573 14 0 13.3284 0 12.5Z' fill='black' fill-opacity='0.54'/%3E%3Cpath d='M24 20.5C24 19.6716 23.3284 19 22.5 19H1.5C0.671573 19 0 19.6716 0 20.5C0 21.3284 0.671573 22 1.5 22H22.5C23.3284 22 24 21.3284 24 20.5Z' fill='currentColor' fill-opacity='0.54'/%3E%3C/svg%3E%0A");
        background-color: var(--bs-body-color) !important;
        background-image: none;
        height: 1.5rem;
        width: 1.5rem;
        display: block;
        --dxbl-image-margin-y: 0;
    }

    .navbar-toggler:hover .navbar-toggler-icon {
        background-color: currentColor !important;
    }


.logo-image {
    margin-left: 0.7rem;
    display: flex;
    margin-right: 0.75rem;
    margin-top: 5px;
}

    .logo-image .logo-img {
        width: 32px;
        height: 32px;
        background-image: url(../images/logo.svg);
        display: block;
    }


.logo-image .logo-sec-img {
    width: 115px;
    height: 30px;
    background-color: var(--bs-body-color);
    -webkit-mask: url(../images/logo.svg) no-repeat center;
    mask: url(../images/logo.svg) no-repeat center;
    display: block;
    margin-left: 15px;
}
.logo-sep {
    margin: 0 0.75rem;
    background: currentColor;
    opacity: 0.15;
    width: 1px;
    height: 2rem;
}

container-logo {
    display: flex;
    align-items: center;
    height: 20px;
}


.grid-toolbar-new,
.grid-toolbar-delete,
.grid-toolbar-edit,
.grid-toolbar-column-chooser,
.grid-toolbar-export {
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: currentColor;
    height: 16px;
    width: 16px;
    opacity: 0.7;
}

.grid-toolbar-new {
    -webkit-mask-image: url("../images/icons/grid-toolbar-new.svg");
    mask-image: url("../images/icons/grid-toolbar-new.svg");
}

.grid-toolbar-delete {
    -webkit-mask-image: url("../images/icons/grid-toolbar-delete.svg");
    mask-image: url("../images/icons/grid-toolbar-delete.svg");
}

.grid-toolbar-edit {
    -webkit-mask-image: url("../images/icons/grid-toolbar-edit.svg");
    mask-image: url("../images/icons/grid-toolbar-edit.svg");
}

.grid-toolbar-column-chooser {
    -webkit-mask-image: url("../images/icons/column-chooser.svg");
    mask-image: url("../images/icons/column-chooser.svg");
}

.grid-toolbar-export {
    -webkit-mask-image: url("../images/icons/export.svg");
    mask-image: url("../images/icons/export.svg");
}




.grid-wrapper {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.fab-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    user-select: none;
    position: absolute;
    top: 16px;
    right: 38px;
}

.fab {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    position: relative;
    z-index: 1;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,.35) !important;
}

.flexGrid {
    flex: 1 1 auto;
    overflow-y: auto;
}


@media (min-width: 600px) {

        .details-popup-field .col-sm-6, .details-popup-field .col-md-6, .details-popup-field .col-lg-4, .details-popup-field .col-xl-4, .details-popup-field .col-xxl-3 {
        width: 50%;
    }
}

@media (min-width: 1199px) {

        .details-popup-field .col-sm-6, .details-popup-field .col-md-6, .details-popup-field .col-lg-4, .details-popup-field .col-xl-4, .details-popup-field .col-xxl-3 {
            width: 50%;
        }
}

@media (min-width: 1600px) {
        .details-popup-field .col-sm-6, .details-popup-field .col-md-6, .details-popup-field .col-lg-4, .details-popup-field .col-xl-4, .details-popup-field .col-xxl-3 {
            width: 33.33%;
        }
}

@media (min-width: 600px) {
    .details-grid-field .col-sm-6, .details-grid-field .col-md-6, .details-grid-field .col-lg-4, .details-grid-field .col-xl-4, .details-grid-field .col-xxl-3 {
        width: 50%;
    }
}

@media (min-width: 1199px) {
    .details-grid-field {
        width: 350px;
    }
    .details-grid-field .col-sm-6, .details-grid-field .col-md-6, .details-grid-field .col-lg-4, .details-grid-field .col-xl-4, .details-grid-field .col-xxl-3 {
        width: 100%;
    }
}

@media (min-width: 1600px) {
    .details-grid-field {
        width: 600px;
    }
    .details-grid-field .col-sm-6, .details-grid-field .col-md-6, .details-grid-field .col-lg-4, .details-grid-field .col-xl-4, .details-grid-field .col-xxl-3 {
        width: 50%;
    }
}

.details-gridview {
    background-color: transparent;
    overflow: auto;
    min-height: 600px;
}

.layout-target-body {
    height: auto;
    overflow: auto; /* Evita mltiplos scrolls */
}

.layout-target-body-margin {
    padding-top: 45px;
}
/* Breadcrumb */

div#breadcrumbs {
    padding-left: 0;
}

ol.breadcrumb {
    padding-left: 0px;
    background-color: var(--bs-card-cap-bg);
    border-radius: 5px;
}

li.breadcrumb-item {
    padding: 0;
}

.breadcrumb {
    padding: 0.75rem 1rem;
    background-color: transparent;
}

    .breadcrumb a {
        text-decoration: none;
    }

        .breadcrumb a:hover {
            text-decoration: underline;
        }

.breadcrumb-item {
    font-size: 1.0rem;
    color: inherit !important;
    font-weight: 400;
}

    .breadcrumb-item a {
        font-size: 1.0rem;
        color: inherit !important;
    }

    .breadcrumb-item.active {
        color: inherit !important;
        font-weight: bold;
        padding: 0;
    }

    .breadcrumb-item + .breadcrumb-item::before {
        content: "/";
        padding: 0 0.5rem;
        color: inherit !important;
    }

    .breadcrumb-item.active {
        color: #6c757d !important; /* Cinza escuro no tema claro */
        font-weight: 500;
    }

    .FluentDark .breadcrumb-item.active {
        color: #c8c8c7 !important; /* Cinza claro no tema escuro */
    }

    .breadcrumb-item + .breadcrumb-item {
        padding-left: 0;
    }

.breadcrumbs {
    padding: 0;
}

.custom-drop-zone {
    padding: 0 !important;
    border-style: dashed;
    border-width: 2px !important;
    height: 230px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: rgba(183, 183, 183, 0.1);
}

    .custom-drop-zone.custom-drop-zone-hover {
        border-style: solid;
    }

    .custom-drop-zone svg {
        width: 42px;
        height: 42px;
    }

    .custom-drop-zone > *:not(#overviewDemoSelectButton) {
        pointer-events: none;
    }

.drop-file-icon {
    background-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    background-position: center center;
    background-color: #ADB5BD;
    width: 48px;
    height: 48px;
    -webkit-mask-image: url("../images/icons/drop-file-attachment.svg");
    mask-image: url("../images/icons/drop-file-attachment.svg");
}

.drop-file-label {
    font-weight: 500;
    font-size: 1rem;
}

/* Container de Tabs nas telas de Details */
.custom-tabs-container {
    background-color: rgba(0, 0, 0, 0.04);
    padding: 0.5rem 1.5rem 1.5rem 1.5rem !important;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    margin-bottom: 2rem;
}

.page.FluentDark .custom-tabs-container {
    background-color: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.custom-tabs-container .dxbl-tabs {
    background: transparent !important;
}

dxbl-menu:focus,
dxbl-menu:focus-visible,
dxbl-treeview:focus,
dxbl-treeview:focus-visible {
    outline: none;
}
