/* -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
body {
    font-family: var(--font-family);
    font-size: 100%;
    margin: 0;
    padding: 0;
    background-size: 100% auto;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    -khtml-background-size: 100% auto;
    -moz-background-size: 100% auto;
}

body .ui-widget.ui-fieldset {
    margin: 0;
    min-width: 0 !important;
}

body .ui-widget.ui-tabs .ui-helper-hidden {
    display: none;
}

/************************/
/* SELECT CHECKBOX MENU */
/************************/

body .ui-widget.ui-selectcheckboxmenu.ui-selectcheckboxmenu-multiple > .ui-selectcheckboxmenu-multiple-container.ui-inputfield {
    padding: .5rem .5rem !important;
}
body .ui-widget.ui-selectcheckboxmenu.ui-selectcheckboxmenu-multiple > .ui-selectcheckboxmenu-multiple-container > .ui-selectcheckboxmenu-token {
    margin: 0 !important;
    padding: 0 !important;
}

body .ui-widget.ui-selectcheckboxmenu .ui-selectcheckboxmenu-label {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

body .ui-widget.ui-selectcheckboxmenu.ui-selectcheckboxmenu-multiple > .ui-selectcheckboxmenu-multiple-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .3rem !important;
}

body .ui-widget.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items .ui-selectcheckboxmenu-item label {
    cursor: inherit;
}

/* mesma implementacao do ui-state-hover */
body.light .ui-widget.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items .ui-selectcheckboxmenu-item:hover {
    background: #e9ecef;
    color: #495057;
}
/* mesma implementacao do ui-state-hover */
body.dark .ui-widget.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items .ui-selectcheckboxmenu-item:hover {
    background: rgba(255, 255, 255, .03);
    color: rgba(255, 255, 255, .87);
}

body .ui-widget.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items {
    padding: 0;
}

body .ui-widget.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items-wrapper {
    padding: 0;
}

/****************/
/* AUTOCOMPLETE */
/****************/

body .ui-autocomplete-panel .ui-autocomplete-items .ui-autocomplete-item.ui-autocomplete-row > td {
    padding: 0.5rem;
}

/* MESMA CORDA BORDA DAS LINHAS, DEFINIDO EM: body .ui-autocomplete-panel .ui-autocomplete-items .ui-autocomplete-item.ui-autocomplete-row */
body .ui-autocomplete-panel .ui-autocomplete-table th {
    border-color: rgba(0, 0, 0, .08);
}

body .ui-autocomplete > input.ui-inputfield {
    width: 100%;
}

/***********/
/* TOOLBAR */
/***********/

body .ui-widget.ui-toolbar,
body .ui-widget.ui-toolbar .ui-toolbar-group-left,
body .ui-widget.ui-toolbar .ui-toolbar-group-right {
    gap: 1rem;
}

/*******************/
/* SELECT ONE MENU */
/*******************/

body .ui-selectonemenu {
    min-width: 0 !important;
}

body .ui-selectonemenu .ui-selectonemenu-label {
    text-overflow: ellipsis !important;
}

body .ui-selectonemenu-panel .ui-selectonemenu-items {
    padding: 0 0 0 0 !important;
}

body .ui-selectonemenu-panel .ui-selectonemenu-filter-container {
    padding: .5rem .5rem .5rem .5rem !important;
}

body .ui-selectonemenu-panel .ui-selectonemenu-filter-container > .ui-icon {
    left: 1rem !important;
}

/************/
/*   TABLE  */
/************/
body .ui-widget.ui-datatable {
    display: flex;
    flex-direction: column;
}
body .ui-widget.ui-datatable thead th {
    padding: 0.5rem;
}
body .ui-widget.ui-datatable .ui-datatable-data > tr > td[role="gridcell"] label {
    /*cursor: inherit; acredito nao ser mais necessario */
}
body .ui-widget.ui-datatable .ui-datatable-data > tr > td[role="gridcell"].ui-helper-hidden {
    padding: 0 !important;
    width: 0 !important;
}
body .ui-widget.ui-datatable .ui-datatable-data > tr > td[role="gridcell"].ui-helper-hidden .ui-column-title {
    display: none !important;
}
body .ui-widget.ui-datatable .ui-datatable-data > tr > td[role="gridcell"]:not(.ui-helper-hidden) {
    padding: 0.5rem;
}
body .ui-widget.ui-datatable > .ui-datatable-tablewrapper {
    height: 100% !important;
}
body .ui-widget.ui-datatable > .ui-datatable-tablewrapper > table {
    height: 100% !important;
}

body .ui-widget.ui-datatable.ui-datatable-scrollable > .ui-datatable-scrollable-body > table > thead.ui-datatable-scrollable-theadclone,
body .ui-widget.ui-datatable.ui-datatable-scrollable > .ui-datatable-scrollable-body > table > thead.ui-datatable-scrollable-theadclone > tr ,
body .ui-widget.ui-datatable.ui-datatable-scrollable > .ui-datatable-scrollable-body > table > thead.ui-datatable-scrollable-theadclone > tr > th {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body .ui-widget.ui-datatable .ui-paginator .ui-paginator-current {
    margin: 0 !important;
    padding: 0 0 .6rem 0 !important;
}

body .ui-datatable thead th .ui-sortable-column-icon {
    margin: .2rem 0 0 .5rem;
    float: right;
}

/********************/
/* TABLE ROW EDITOR */
/********************/

body .ui-row-editor .ui-icon {
    /* remoção das coisas que o .ui-icon faz */
    background-image: none;
    text-indent: inherit;
}
body .ui-row-editor .ui-icon:before {
    /* mesma coisa que a classe .mdi faz */
    display: inline-block;
    font: normal normal normal 24px/1 "Material Design Icons";
    font-size: 1rem;
    text-rendering: auto;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body .ui-row-editor .ui-icon.ui-icon-pencil::before {
    /* igual a classe mdi-pencil */
    content: "\F03EB";
}
body .ui-row-editor .ui-icon.ui-icon-check::before {
    /* igual a classe mdi-check */
    content: "\F012C";
    color: green;
}
body .ui-row-editor .ui-icon.ui-icon-close::before {
    /* igual a classe mdi-close */
    content: "\F0156";
    color: red;
}

/************/
/* DATALIST */
/************/

body .ui-datalist .ui-datalist-content {
    display: flex;
    padding: 0.3rem;
    flex-direction: column;
    gap: 0.2rem;
}

/************/
/* DATAVIEW */
/************/

body .ui-widget.ui-dataview > .ui-dataview-header .ui-dataview-layout-options .ui-button .ui-c.ui-icon::before {
    display: inline-block;
    font: normal normal normal 24px / 1 "Material Design Icons";
    font-size: 1rem;
    text-rendering: auto;
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body .ui-widget.ui-dataview > .ui-dataview-header > .ui-dataview-layout-options .ui-button .ui-c.ui-icon.ui-icon-grip-dotted-horizontal::before {
    content: "\F0DD0"; /* mdi-format-list-bulleted-square */
}
body .ui-widget.ui-dataview > .ui-dataview-header > .ui-dataview-layout-options .ui-button .ui-c.ui-icon.ui-icon-grip-dotted-vertical::before {
    content: "\F0570"; /* mdi-view-grid */
}

/* tira a borda superior do cabecalho quando já tem wrapper-border */
body .ui-widget.ui-dataview.wrapper-border > .ui-dataview-header,
body .ui-widget.ui-dataview.wrapper-border-important > .ui-dataview-header{
    border-top-width: 0 !important;
}

/* tira a borda inferior do ultimo item quando já tem wrapper-border */
body .ui-widget.ui-dataview.ui-dataview-list.wrapper-border > ui-dataview-content > .ui-dataview-row:last-child,
body .ui-widget.ui-dataview.ui-dataview-list.wrapper-border-important > ui-dataview-content > .ui-dataview-row:last-child {
    border-bottom-width: 0 !important;
}

body .ui-widget.ui-dataview > .ui-dataview-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0.5rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body .ui-widget.ui-dataview > .ui-dataview-header > .title {
    font-size: 1.2rem;
}

body .ui-widget.ui-dataview > .ui-dataview-header::before, body .ui-widget.ui-dataview > .ui-dataview-header::after {
    display: none;
}

body .ui-widget.ui-dataview.border-rounded > .ui-dataview-header {
    border-top-left-radius: var(--border-radius) !important;
    border-top-right-radius: var(--border-radius) !important;
}

/*********/
/* INPUT */
/*********/

body .ui-input-icon-left > input {
    width: 100%;
}

/****************/
/* INPUT NUMBER */
/****************/

body .ui-widget.ui-inputnumber > input {
    width: 100%;
    color: inherit; /* como o input não é o componente que recebe a classe inserida no xhtml, é necessário que as propriedades herdem do pai (onde as classes são aplicadas) */
    font-weight: inherit; /* como o input não é o componente que recebe a classe inserida no xhtml, é necessário que as propriedades herdem do pai (onde as classes são aplicadas) */
}

/***********/
/* TOOLTIP */
/***********/

body .ui-widget.ui-tooltip {
    max-width: 300px;
}

/* XS */
@media only screen and (max-width: 640.99px) {
    body .ui-widget.ui-tooltip.ui-tooltip-left,
    body .ui-widget.ui-tooltip.ui-tooltip-right {
        max-width: 80% !important;
    }
    body .ui-widget.ui-tooltip.ui-tooltip-bottom,
    body .ui-widget.ui-tooltip.ui-tooltip-top {
        max-width: 100% !important;
    }
}
/* SM */
@media only screen and (min-width: 641px) {
    body .ui-widget.ui-tooltip {
    }
}
/* MD */
@media only screen and (min-width: 768px) {
    body .ui-widget.ui-tooltip {
    }
}
/* LG */
@media only screen and (min-width: 992px) {
    body .ui-widget.ui-tooltip {
    }
}
/* XL */
@media only screen and (min-width: 1200px) {
    body .ui-widget.ui-tooltip {
    }
}

/***************/
/* FILE UPLOAD */
/***************/

body .ui-widget.ui-fileupload .ui-fileupload-buttonbar .ui-fileupload-choose input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    font-size: initial !important;
}

/**********/
/* BUTTON */
/**********/

body .ui-widget.ui-button.text-hidden .ui-button-text {
    width: 0;
    visibility: hidden;
    padding: 0.5rem 1rem 0.5rem 1rem;
    text-wrap: nowrap;
    white-space: nowrap;
    overflow: hidden;
}
body .ui-widget.ui-button.text-visible .ui-button-text {
    content-visibility: auto;
    width: auto;
    visibility: visible;
    padding: 0.5rem 1rem 0.5rem 2rem;
}

/* XS */
@media only screen and (max-width: 640.99px) {
    body .ui-widget.ui-button.xs-text-hidden .ui-button-text {
        width: 0;
        visibility: hidden;
        padding: 0.5rem 1rem 0.5rem 1rem;
        text-wrap: nowrap;
        white-space: nowrap;
        overflow: hidden;
    }
    body .ui-widget.ui-button.xs-text-visible .ui-button-text {
        content-visibility: auto;
        width: auto;
        visibility: visible;
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}
/* SM */
@media only screen and (min-width: 641px) {
    body .ui-widget.ui-button.sm-text-hidden .ui-button-text {
        width: 0;
        visibility: hidden;
        padding: 0.5rem 1rem 0.5rem 1rem;
        text-wrap: nowrap;
        white-space: nowrap;
        overflow: hidden;
    }
    body .ui-widget.ui-button.sm-text-visible .ui-button-text {
        content-visibility: auto;
        width: auto;
        visibility: visible;
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}
/* MD */
@media only screen and (min-width: 768px) {
    body .ui-widget.ui-button.md-text-hidden .ui-button-text {
        width: 0;
        visibility: hidden;
        padding: 0.5rem 1rem 0.5rem 1rem;
        text-wrap: nowrap;
        white-space: nowrap;
        overflow: hidden;
    }
    body .ui-widget.ui-button.md-text-visible .ui-button-text {
        content-visibility: auto;
        width: auto;
        visibility: visible;
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}
/* LG */
@media only screen and (min-width: 992px) {
    body .ui-widget.ui-button.lg-text-hidden .ui-button-text {
        width: 0;
        visibility: hidden;
        padding: 0.5rem 1rem 0.5rem 1rem;
        text-wrap: nowrap;
        white-space: nowrap;
        overflow: hidden;
    }
    body .ui-widget.ui-button.lg-text-visible .ui-button-text {
        content-visibility: auto;
        width: auto;
        visibility: visible;
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}
/* XL */
@media only screen and (min-width: 1200px) {
    body .ui-widget.ui-button.xl-text-hidden .ui-button-text {
        width: 0;
        visibility: hidden;
        padding: 0.5rem 1rem 0.5rem 1rem;
        text-wrap: nowrap;
        white-space: nowrap;
        overflow: hidden;
    }
    body .ui-widget.ui-button.xl-text-visible .ui-button-text {
        content-visibility: auto;
        width: auto;
        visibility: visible;
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}


/* THINGS INSIDE OF A DATATABLE IN MODE REFLOW (<= 640PX) (XS) (PRECISA SER 640, 640.99  NÃO FUNCIONA) */
/* REFLOW */
@media only screen and (max-width: 640px) {
    body .ui-widget.ui-datatable.ui-datatable-reflow .ui-widget.ui-button.reflow-text-hidden .ui-button-text {
        width: 0;
        visibility: hidden;
        padding: 0.5rem 1rem 0.5rem 1rem;
        overflow: hidden;
    }
    body .ui-widget.ui-datatable.ui-datatable-reflow .ui-widget.ui-button.reflow-text-visible .ui-button-text {
        content-visibility: auto;
        width: auto;
        visibility: visible;
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}

/* THINGS OUTSIDE OF A DATATABLE IN MODE REFLOW (>= 641PX) (SM AND UP)*/
/* OUT OF REFLOW */
@media only screen and (min-width: 641px) {
    /* 
    Faz com que o ícone de ordenação fique abaixo do título, se for necessário mesmo esse css, adicionar regra para não englobar colunas ordenáveis
    body .ui-datatable-reflow > .ui-datatable-tablewrapper > table[role="grid"] > thead > tr > th[scope="col"] > .ui-column-title {
        display: inherit !important;
    }
    */
}

/************/
/* CALENDAR */
/************/

body .ui-calendar {
    display: flex;
    flex-wrap: nowrap;
    min-width: 0;
}
body .ui-calendar input.ui-inputfield {
    flex-grow: 1;
    min-width: 0;
}
body .ui-calendar button.ui-button {
    flex-grow: 0;
    flex-shrink: 0;
}

/********/
/* TABS */
/********/

body .ui-tabs .ui-tabs-nav {
    display: inline-block;
    background: transparent;
    border: none;
}

body .ui-widget.ui-tabs.border-rounded > .ui-tabs-nav {
    border-top-left-radius: var(--border-radius) !important;
    border-top-right-radius: var(--border-radius) !important;
}
body .ui-widget.ui-tabs.border-rounded > .ui-tabs-nav > .ui-tabs-header:first-child {
    border-top-left-radius: var(--border-radius) !important;
}
body .ui-widget.ui-tabs.border-rounded > .ui-tabs-nav > .ui-tabs-header:last-child {
    border-top-right-radius: var(--border-radius) !important;
}

body .ui-tabs .ui-tabs-panels .ui-tabs-panel {
    padding: 0.8em 0.8em 0.8em 0.8em !important;
}
body .ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-tabs-outline {
    box-shadow: none !important;
}
body .ui-tabs .ui-tabs-nav li.ui-tabs-selected a {
    cursor: pointer !important;
}

/**********/
/* DIALOG */
/**********/

body .ui-widget.ui-dialog {
    max-height: 90%;
}
/* DIALOG ABERTA */
body .ui-widget.ui-dialog[aria-hidden="false"] {
    display: flex !important;
    flex-wrap: nowrap;
    flex-direction: column;
}
/* DIALOG OCULTA / FECHADA */
body .ui-widget.ui-dialog[aria-hidden="true"] {
    visibility: hidden !important; /* walkaround to fix a safari bug */
}

/* TITLEBAR */
body .ui-widget.ui-dialog .ui-dialog-titlebar {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
body .ui-widget.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
    flex-grow: 1;
    flex-shrink: 1;
}
body .ui-widget.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close {
    flex-grow: 0;
    flex-shrink: 1;
}

/* CONTENT */
body .ui-widget.ui-dialog .ui-dialog-content {
    padding: 1rem 1rem 1rem 1rem !important;
}

/* FOOTER */
body .ui-widget.ui-dialog .ui-dialog-footer button {
    margin: 0 !important;
    width: auto;
}

body .ui-dialog.dialog-xl {
    width: min(90%, 80rem) !important;
}
body .ui-dialog.dialog-lg {
    width: min(90%, 70rem) !important;
}
body .ui-dialog:not(.dialog-xs,.dialog-sm,.dialog-lg,.dialog-xl) {
    width: min(90%, 60rem) !important;
}
body .ui-dialog.dialog-sm {
    width: min(90%, 45rem) !important;
}
body .ui-dialog.dialog-xs {
    width: min(90%, 30rem) !important;
}

/******************/
/* CONFIRM DIALOG */
/******************/

body .ui-widget.ui-dialog.ui-confirm-dialog {

}

body .ui-widget.ui-dialog.ui-confirm-dialog > .ui-dialog-footer {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: end;
    gap: 1rem;
}

body .ui-widget.ui-dialog.ui-confirm-dialog > .ui-dialog-buttonpane::before,
body .ui-widget.ui-dialog.ui-confirm-dialog > .ui-dialog-buttonpane::after {
    display: none !important;
}

body .ui-widget.ui-dialog.ui-confirm-dialog .ui-dialog-content > span {
    line-height: normal !important;
}

/**************/
/* DATEPICKER */
/**************/

body .ui-widget.ui-datepicker > .ui-widget-content > .ui-widget-header.ui-datepicker-header > .ui-datepicker-title {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
}

body .ui-widget.ui-datepicker > .ui-widget-content > .ui-widget-header.ui-datepicker-header > .ui-datepicker-title > select {

    margin: 0 !important;
    border: 1px solid var(--surface-d);
    color: var(--text-color);
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;

    /* body .ui-widget */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    text-decoration: none;
    /*-----------------*/

    /* body .ui-selectcheckboxmenu */
    vertical-align: baseline;
    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s, opacity .2s;
    border-radius: 4px;
    background: var(--surface-0);
    /*-----------------------------*/

}

body .ui-widget.ui-datepicker > .ui-widget-content > .ui-widget-header.ui-datepicker-header > .ui-datepicker-title > select:hover {
    border-color: var(--primary-500);
    cursor: pointer;
}

body .ui-widget.ui-datepicker > .ui-widget-content > .ui-widget-header.ui-datepicker-header > .ui-datepicker-title > select:acive,
body .ui-widget.ui-datepicker > .ui-widget-content > .ui-widget-header.ui-datepicker-header > .ui-datepicker-title > select:focus {
    border-color: var(--primary-500);
    outline: 0 none;
    box-shadow: 0 0 0 0.2em #a6d5fa;
}

body .ui-widget.ui-datepicker > .ui-widget-content > .ui-datepicker-calendar-container > .ui-datepicker-calendar {
    margin: 0 0 0 0 !important;
}

body .ui-widget.ui-datepicker > .ui-widget-content > .ui-datepicker-calendar-container > .ui-datepicker-calendar td {
    padding: .2rem !important;
}

body .ui-widget.ui-datepicker > .ui-datepicker-buttonbar {
    padding: 0 !important;
}

body .ui-widget.ui-datepicker > .ui-timepicker > .ui-separator {
    width: auto !important;
}

/***************/
/* MONTHPICKER */
/***************/

body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month {
    margin: 0 0 0 0 !important;
    border-radius: 5px !important;
}

body .ui-widget.ui-datepicker.ui-datepicker-monthpicker {
    width: 20rem !important;
}

body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month::after {
    display: block;
    font-size: 0.7em;
    text-align: center;
}

body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(1)::after {
    content: "1";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(2)::after {
    content: "2";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(3)::after {
    content: "3";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(4)::after {
    content: "4";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(5)::after {
    content: "5";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(6)::after {
    content: "6";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(7)::after {
    content: "7";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(8)::after {
    content: "8";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(9)::after {
    content: "9";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(10)::after {
    content: "10";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(11)::after {
    content: "11";
}
body .ui-widget.ui-datepicker.ui-datepicker-monthpicker > .ui-monthpicker > .ui-monthpicker-month:nth-child(12)::after {
    content: "12";
}

/**********/
/* PANEL */
/**********/

body .ui-widget.ui-panel > .ui-panel-content {
    overflow: hidden;
}

/**********/
/*  FORM  */
/**********/

body form {
    display: block;
    margin: 0;
    padding: 0;
    margin-block-start: 0;
    margin-block-end: 0;
}

body .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    text-shadow: none !important;
    font-weight: bold !important;
}

/**************/
/* ROW EDITOR */
/**************/

body .ui-row-editor .ui-icon:before {
    font-family: "primeicons" !important;
}

body.light .ui-row-editor .ui-icon.ui-icon-close::before {
    color: var(--red-500) !important;
}
body.dark .ui-row-editor .ui-icon.ui-icon-close::before {
    color: var(--red-600) !important;
}

body.light .ui-row-editor .ui-icon.ui-icon-check::before {
    color: var(--green-500) !important;
}
body.dark .ui-row-editor .ui-icon.ui-icon-check::before {
    color: var(--green-600) !important;
}

/********/
/* MENU */
/********/

body .ui-menu .ui-menu-list .ui-menuitem .ui-menuitem-link {
    display: flex;
    align-items: center;
}

.ui-menubutton > button {
    width: 100%;
}

/******************/
/* CONFIRM DIALOG */
/******************/

body .ui-dialog.ui-confirm-dialog .ui-dialog-content > .ui-icon {
    display: none;
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: 0;
    margin: 0;
}

body .ui-dialog.ui-confirm-dialog .ui-dialog-content > .ui-confirm-dialog-message {
    margin: 0;
    flex-grow: 1;
    flex-shrink: 1;
}

body .ui-dialog.ui-confirm-dialog .ui-dialog-footer button {
    margin: 0 !important;
}

/**************************/
/* REFLOW AUTOMATIC INPUT */
/**************************/

body .ui-widget.ui-datatable > label.ui-reflow-label {
    width: 100%;
    margin-bottom: 0;
    margin-top: 0.7rem
}
body .ui-widget.ui-datatable > select.ui-reflow-dropdown {

    width: 100%;
    margin: 0 0 0.7rem 0;
    border: 1px solid var(--surface-d);
    color: var(--text-color);
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;

    /* body .ui-widget */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    text-decoration: none;
    /*-----------------*/

    /* body .ui-selectcheckboxmenu */
    vertical-align: baseline;
    transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s, opacity .2s;
    border-radius: 4px;
    background: var(--surface-0);
    /*-----------------------------*/

}

/* body .ui-selectcheckboxmenu.ui-state-hover */
body .ui-widget.ui-datatable > select.ui-reflow-dropdown:hover {
    border-color: var(--primary-500);
    cursor: pointer;
}
/*--------------------------------------------*/

/* body .ui-selectcheckboxmenu.ui-state-active */
body .ui-widget.ui-datatable > select.ui-reflow-dropdown:active,
body .ui-widget.ui-datatable > select.ui-reflow-dropdown:focus {
    border-color: var(--primary-500);
    outline: 0 none;
    box-shadow: 0 0 0 0.2em #a6d5fa;
}
/*--------------------------------------------*/

/***************/
/* HTML VIEWER */
/***************/

.html-viewer {
    box-sizing:border-box;
    line-height:1.42;
    height:100%;
    outline:0;
    overflow-y:auto;
    padding:12px 15px;
    tab-size:4;
    -moz-tab-size:4;
    text-align:left;
    white-space:pre-wrap;
    word-wrap:break-word
}

.html-viewer>* {
    cursor:text
}

.html-viewer p,.html-viewer ol,.html-viewer ul,.html-viewer pre,.html-viewer blockquote,.html-viewer h1,.html-viewer h2,.html-viewer h3,.html-viewer h4,.html-viewer h5,.html-viewer h6 {
    margin:0;
    padding:0;
    counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9
}

.html-viewer ol,.html-viewer ul {
    padding-left:1.5em
}

.html-viewer ol>li,.html-viewer ul>li {
    list-style-type:none
}

.html-viewer ul>li::before {
    content:'\2022'
}

.html-viewer ul[data-checked=true],.html-viewer ul[data-checked=false] {
    pointer-events:none
}

.html-viewer ul[data-checked=true]>li *,.html-viewer ul[data-checked=false]>li * {
    pointer-events:all
}

.html-viewer ul[data-checked=true]>li::before,.html-viewer ul[data-checked=false]>li::before {
    color:#777;
    cursor:pointer;
    pointer-events:all
}

.html-viewer ul[data-checked=true]>li::before {
    content:'\2611'
}

.html-viewer ul[data-checked=false]>li::before {
    content:'\2610'
}

.html-viewer li::before {
    display:inline-block;
    white-space:nowrap;
    width:1.2em
}

.html-viewer li:not(.ql-direction-rtl)::before {
    margin-left:-1.5em;
    margin-right:.3em;
    text-align:right
}

.html-viewer li.ql-direction-rtl::before {
    margin-left:.3em;
    margin-right:-1.5em
}

.html-viewer ol li:not(.ql-direction-rtl),.html-viewer ul li:not(.ql-direction-rtl) {
    padding-left:1.5em
}

.html-viewer ol li.ql-direction-rtl,.html-viewer ul li.ql-direction-rtl {
    padding-right:1.5em
}

.html-viewer ol li {
    counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    counter-increment:list-0
}

.html-viewer ol li:before {
    content:counter(list-0,decimal) '. '
}

.html-viewer ol li.ql-indent-1 {
    counter-increment:list-1
}

.html-viewer ol li.ql-indent-1:before {
    content:counter(list-1,lower-alpha) '. '
}

.html-viewer ol li.ql-indent-1 {
    counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9
}

.html-viewer ol li.ql-indent-2 {
    counter-increment:list-2
}

.html-viewer ol li.ql-indent-2:before {
    content:counter(list-2,lower-roman) '. '
}

.html-viewer ol li.ql-indent-2 {
    counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9
}

.html-viewer ol li.ql-indent-3 {
    counter-increment:list-3
}

.html-viewer ol li.ql-indent-3:before {
    content:counter(list-3,decimal) '. '
}

.html-viewer ol li.ql-indent-3 {
    counter-reset:list-4 list-5 list-6 list-7 list-8 list-9
}

.html-viewer ol li.ql-indent-4 {
    counter-increment:list-4
}

.html-viewer ol li.ql-indent-4:before {
    content:counter(list-4,lower-alpha) '. '
}

.html-viewer ol li.ql-indent-4 {
    counter-reset:list-5 list-6 list-7 list-8 list-9
}

.html-viewer ol li.ql-indent-5 {
    counter-increment:list-5
}

.html-viewer ol li.ql-indent-5:before {
    content:counter(list-5,lower-roman) '. '
}

.html-viewer ol li.ql-indent-5 {
    counter-reset:list-6 list-7 list-8 list-9
}

.html-viewer ol li.ql-indent-6 {
    counter-increment:list-6
}

.html-viewer ol li.ql-indent-6:before {
    content:counter(list-6,decimal) '. '
}

.html-viewer ol li.ql-indent-6 {
    counter-reset:list-7 list-8 list-9
}

.html-viewer ol li.ql-indent-7 {
    counter-increment:list-7
}

.html-viewer ol li.ql-indent-7:before {
    content:counter(list-7,lower-alpha) '. '
}

.html-viewer ol li.ql-indent-7 {
    counter-reset:list-8 list-9
}

.html-viewer ol li.ql-indent-8 {
    counter-increment:list-8
}

.html-viewer ol li.ql-indent-8:before {
    content:counter(list-8,lower-roman) '. '
}

.html-viewer ol li.ql-indent-8 {
    counter-reset:list-9
}

.html-viewer ol li.ql-indent-9 {
    counter-increment:list-9
}

.html-viewer ol li.ql-indent-9:before {
    content:counter(list-9,decimal) '. '
}

.html-viewer .ql-indent-1:not(.ql-direction-rtl) {
    padding-left:3em
}

.html-viewer li.ql-indent-1:not(.ql-direction-rtl) {
    padding-left:4.5em
}

.html-viewer .ql-indent-1.ql-direction-rtl.ql-align-right {
    padding-right:3em
}

.html-viewer li.ql-indent-1.ql-direction-rtl.ql-align-right {
    padding-right:4.5em
}

.html-viewer .ql-indent-2:not(.ql-direction-rtl) {
    padding-left:6em
}

.html-viewer li.ql-indent-2:not(.ql-direction-rtl) {
    padding-left:7.5em
}

.html-viewer .ql-indent-2.ql-direction-rtl.ql-align-right {
    padding-right:6em
}

.html-viewer li.ql-indent-2.ql-direction-rtl.ql-align-right {
    padding-right:7.5em
}

.html-viewer .ql-indent-3:not(.ql-direction-rtl) {
    padding-left:9em
}

.html-viewer li.ql-indent-3:not(.ql-direction-rtl) {
    padding-left:10.5em
}

.html-viewer .ql-indent-3.ql-direction-rtl.ql-align-right {
    padding-right:9em
}

.html-viewer li.ql-indent-3.ql-direction-rtl.ql-align-right {
    padding-right:10.5em
}

.html-viewer .ql-indent-4:not(.ql-direction-rtl) {
    padding-left:12em
}

.html-viewer li.ql-indent-4:not(.ql-direction-rtl) {
    padding-left:13.5em
}

.html-viewer .ql-indent-4.ql-direction-rtl.ql-align-right {
    padding-right:12em
}

.html-viewer li.ql-indent-4.ql-direction-rtl.ql-align-right {
    padding-right:13.5em
}

.html-viewer .ql-indent-5:not(.ql-direction-rtl) {
    padding-left:15em
}

.html-viewer li.ql-indent-5:not(.ql-direction-rtl) {
    padding-left:16.5em
}

.html-viewer .ql-indent-5.ql-direction-rtl.ql-align-right {
    padding-right:15em
}

.html-viewer li.ql-indent-5.ql-direction-rtl.ql-align-right {
    padding-right:16.5em
}

.html-viewer .ql-indent-6:not(.ql-direction-rtl) {
    padding-left:18em
}

.html-viewer li.ql-indent-6:not(.ql-direction-rtl) {
    padding-left:19.5em
}

.html-viewer .ql-indent-6.ql-direction-rtl.ql-align-right {
    padding-right:18em
}

.html-viewer li.ql-indent-6.ql-direction-rtl.ql-align-right {
    padding-right:19.5em
}

.html-viewer .ql-indent-7:not(.ql-direction-rtl) {
    padding-left:21em
}

.html-viewer li.ql-indent-7:not(.ql-direction-rtl) {
    padding-left:22.5em
}

.html-viewer .ql-indent-7.ql-direction-rtl.ql-align-right {
    padding-right:21em
}

.html-viewer li.ql-indent-7.ql-direction-rtl.ql-align-right {
    padding-right:22.5em
}

.html-viewer .ql-indent-8:not(.ql-direction-rtl) {
    padding-left:24em
}

.html-viewer li.ql-indent-8:not(.ql-direction-rtl) {
    padding-left:25.5em
}

.html-viewer .ql-indent-8.ql-direction-rtl.ql-align-right {
    padding-right:24em
}

.html-viewer li.ql-indent-8.ql-direction-rtl.ql-align-right {
    padding-right:25.5em
}

.html-viewer .ql-indent-9:not(.ql-direction-rtl) {
    padding-left:27em
}

.html-viewer li.ql-indent-9:not(.ql-direction-rtl) {
    padding-left:28.5em
}

.html-viewer .ql-indent-9.ql-direction-rtl.ql-align-right {
    padding-right:27em
}

.html-viewer li.ql-indent-9.ql-direction-rtl.ql-align-right {
    padding-right:28.5em
}

.html-viewer .ql-video {
    display:block;
    max-width:100%
}

.html-viewer .ql-video.ql-align-center {
    margin:0 auto
}

.html-viewer .ql-video.ql-align-right {
    margin:0 0 0 auto
}

.html-viewer .ql-bg-black {
    background-color:#000
}

.html-viewer .ql-bg-red {
    background-color:#e60000
}

.html-viewer .ql-bg-orange {
    background-color:#f90
}

.html-viewer .ql-bg-yellow {
    background-color:#ff0
}

.html-viewer .ql-bg-green {
    background-color:#008a00
}

.html-viewer .ql-bg-blue {
    background-color:#06c
}

.html-viewer .ql-bg-purple {
    background-color:#93f
}

.html-viewer .ql-color-white {
    color:#fff
}

.html-viewer .ql-color-red {
    color:#e60000
}

.html-viewer .ql-color-orange {
    color:#f90
}

.html-viewer .ql-color-yellow {
    color:#ff0
}

.html-viewer .ql-color-green {
    color:#008a00
}

.html-viewer .ql-color-blue {
    color:#06c
}

.html-viewer .ql-color-purple {
    color:#93f
}

.html-viewer .ql-font-serif {
    font-family:Georgia,Times New Roman,serif
}

.html-viewer .ql-font-monospace {
    font-family:Monaco,Courier New,monospace
}

.html-viewer .ql-size-small {
    font-size:.75em
}

.html-viewer .ql-size-large {
    font-size:1.5em
}

.html-viewer .ql-size-huge {
    font-size:2.5em
}

.html-viewer .ql-direction-rtl {
    direction:rtl;
    text-align:inherit
}

.html-viewer .ql-align-center {
    text-align:center
}

.html-viewer .ql-align-justify {
    text-align:justify
}

.html-viewer .ql-align-right {
    text-align:right
}

.html-viewer.ql-blank::before {
    color:rgba(0,0,0,0.6);
    content:attr(data-placeholder);
    font-style:italic;
    left:15px;
    pointer-events:none;
    position:absolute;
    right:15px
}

/***********/
/* TOOLBAR */
/***********/

body ::-webkit-scrollbar {
    width:8px;
    height:8px;
}

body ::-webkit-scrollbar-button {
    width:0;
    height:0;
}

body ::-webkit-scrollbar-thumb {
    border:0 none #fff;
    border-radius:100px;
}

body ::-webkit-scrollbar-corner {
    background:transparent;
}

body ::-webkit-scrollbar-track {
    border:0 none #fff;
    border-radius:100px;
}

body.light ::-webkit-scrollbar-thumb {
    background:#ddd;
}

body.dark ::-webkit-scrollbar-thumb {
    background:#333;
}

body.light ::-webkit-scrollbar-thumb:hover {
    background:#ccc;
}

body.dark ::-webkit-scrollbar-thumb:hover {
    background:#444;
}

body.light ::-webkit-scrollbar-thumb:active {
    background:#bbb;
}

body.dark ::-webkit-scrollbar-thumb:active {
    background:#555;
}

body.light ::-webkit-scrollbar-track {
    background:#fff;
}

body.dark ::-webkit-scrollbar-track {
    background:#121212;
}

body.light ::-webkit-scrollbar-track:hover {
    background:#f0f0f0;
}

body.dark ::-webkit-scrollbar-track:hover {
    background:#222;
}

body.light ::-webkit-scrollbar-track:active {
    background:#f0f0f0;
}

body.dark ::-webkit-scrollbar-track:active {
    background:#333;
}

/************/
/* PASSWORD */
/************/

.ui-password > input.ui-widget.ui-inputfield {
    width: 100%;
}

/**************/
/* FIELDSET */
/**************/

body .ui-widget.ui-fieldset.ui-widget-content {
    padding: var(--padding-size-2) var(--padding-size-2) var(--padding-size-2) var(--padding-size-2) !important;
}

body .ui-widget.ui-fieldset.ui-widget-content .ui-fieldset-legend {
    margin-left: var(--padding-size-2) !important;
}

/*************/
/* SEPARATOR */
/*************/

.ui-separator {
    width: 100%;
    border-color: var(--surface-border);
    border-style: solid;
    border-width: 0 0 1px 0;
}

/*********/
/* CHIPS */
/*********/

body .ui-widget.ui-chips > .ui-chips-container {
    padding: .5rem .5rem .5rem .5rem !important;
    width: 100%;
}

/***************/
/* TEXT EDITOR */
/***************/

body .ui-texteditor {
    display: flex;
    flex-direction: column;
}

/***********/
/* DIVIDER */
/***********/

body .ui-divider.ui-divider-horizontal {
    margin: 0 0 !important;
}

/***************/
/* INPUT GROUP */
/***************/

body .ui-inputgroup {

}
body .ui-inputgroup > .ui-inputgroup-addon {
    flex-grow: 0;
    flex-shrink: 0;
}
body .ui-inputgroup > input {
    flex-grow: 1;
    min-width: 0;
}



