html {
    font-size:14px;
}
body {
    background-color: var(--main-fundobranco-color);
    font-family: Helvetica, Arial, sans-serif;    
}

.feather {
    width: 16px;
    height: 16px;
    vertical-align: text-bottom;
}

.areaheader {
    overflow: hidden;
    height: 60px;
    background-color: var(--main-bg-color);
    padding-left: 15px;
    padding-right: 15px;
}
.areaheaderapp {
    overflow: hidden;
    height: 30px;
    font-size: .800rem;
    color: white;
    text-align: center;
    display: block;
    background-color: var(--main-bg-color);
    z-index: 800;
    display: flex;
}
.areaheaderapp a {
    color: white;
    text-decoration: none;
}
.areaheaderapp a:hover {
    text-decoration: none;
}
.areaheaderapp img {
    width: 24px;
    height: 24px;
}
.areaheaderappbotoesleft {
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 3px;
    align-self: flex-start;
    top: 2px;left:2px;
    position: absolute;
}
.areaheaderappcenter {
    position: absolute;
    top:4px;
    left: 35px;
    right:550px;
    text-align:left;
}
.areaheaderappbotoesright {
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 3px;
    align-self: flex-end;
    top: 2px;right:2px;
    position: absolute;
}
.headertoolbar {
    color: white;
    background-color: var(--main-bg-color) !important;
    z-index: 800;
}
.areaapp {
    padding: 3px;
    margin-left: auto !important;
    margin-bottom: 45px;
}
.areafooter {
    color: var(--main-footer-color);
    background-color: var(--main-bg-footer-color) !important;
    overflow: hidden;
    height: 40px;
    text-align: left;
    padding-left: 15px;
    padding-right: 15px;
    font-size: .800rem;
}
@media screen and (max-width: 600px) {
    .headertituloapp {
        font-size: .600rem;
    }
    .areaheaderapp {
        height: 90px;
    }
    .areafooter {
        font-size: .600rem;
        height: 60px;
    }
    .areaapp {
        margin-bottom: 65px;
    }
}
@media screen and (min-width: 601px) and (max-width: 1024px) {
    .areaheaderapp {
        height: 60px;
    }
    .areafooter {
        height: 60px;
    }
    .areaapp {
        margin-bottom: 65px;
    }
}
.areaapptop {
    width: 100%;
    max-width: 1300px;
    background-color: var(--main-fundobranco-color) !important;
    padding: 0px;
    margin: 0px;
}
.areaapptopopenforms {
    background-color: var(--main-fundobranco-color) !important;
}
.areaappconteudo {
    display: flex;
    width: 100%;
    align-items: stretch;
    max-width: 1300px;
    background-color: var(--main-fundobranco-color);
    padding: 0px;    
}
.fundodefbg {
    height: 100%;
}
.navbar-brand {
    padding-top:0px !important;
}
/* ecrã de login */
.ecralogin {
    width: 100%;
    max-width: 330px;
    padding: 15px;
    margin: auto;
    text-align: left !important;
}
.ecralogintitulo {
    font-size: 1.2rem;
    font-weight: bold;
}
/******************************************************************************************/

/* barra lateral de menus */
.sidebar {
    position: fixed;
    top: 30px;
    bottom: 40px;
    left: 0;
    z-index: 100; /* Behind the navbar */
    padding: 5px 0 0; /* Height of navbar */
    box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
    overflow-y: auto;
    font-size:0.8rem;
    overflow-x:hidden;
}


@media (max-width: 1000px) and (min-width: 601px) {
    .sidebar {
        top: 60px;
        bottom: 60px;
    }

    .sidebaronfix {
        display: block !important;
    }
}
@media (max-width: 600px) {
    .sidebar {
        top: 90px;
        bottom: 60px;
    }
    .sidebaronfix {
        display: block !important;
    }
}

/******************************************************************************************/
.ctlfundodef {
    position: fixed;
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 20px;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    overflow: hidden;
    background-color: var(--main-fundobranco-color); /*rgb(58, 111, 169);*/
    z-index:-100;
}
.ctlfundodeftexto {
    position: absolute;
    color: #808080; /*rgb(245,245,245);*/
    vertical-align: bottom;
    text-align: right;
    bottom: 60px;
    right: 30px;
    font-size: 28pt;
    font-weight: bold;
    font-style: italic;
}
/* animação da página enquanto está a carregar */
.spinner {
    border: 4px solid silver;
    border-top: 4px solid #337AB7;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 700ms linear infinite;
    top: 40%;
    left: 55%;
    position: absolute;
}
@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}
/*******************************************************/
/* spinner no botão */
.botaospinner {
    margin-right: 5px;
    width: 10px;
    height: 10px;
    position: absolute;
}
/*******************************************************/
/*barra de progressão e frmespera*/
.frmespera {
    font-size: 0.75rem;
}
.barraprogresso {
    margin-top: 3px;
    margin-bottom: 3px;
    height: 10px;
    width: 100%;
    background-color: var(--barraprogresso-bg-color);
    border: 1px solid;
    border-color:var(--barraprogresso-border-color);
}

.barraprogressoin {
    height: 9px;
    width: 0px;
    background-color: var(--barraprogressoin-bg-color);
}
/*******************************************************/


/* objectos de edição */
.dxbl-fl-ctrl input:focus {
    border-color: var(--border-gray-color) !important;
    box-shadow: 0 0 5px var(--border-gray-color) !important;
    background-color: var(--focus-bg-color) !important;
}
.dropdown-toggle {
    border-left: 0px;
}
.ctluihelp {
    display: inline-block;
    height: 16px;
    width: 16px;
    background: url("/_content/diWebUIComum/images/imgHelpOff.png") left top no-repeat;
    cursor: pointer;
}
.ctluihelp:hover {
    background: url("/_content/diWebUIComum/images/imgHelpOn.png") left top no-repeat;
}
.ctluilabel {
    font-size: 0.8rem;
}
.ctluilabeltextogrande {
    font-size: 1.21rem !important;
}
.ctluilabelbold {
    font-weight: bold;
}
.ctluilabelbox {
    border:1px solid gray;
    padding:2px 5px 2px 5px;
}
label {
    font-size: 0.8rem !important;
}
.ctluilabelinfo {
    font-size: 0.7rem;
    font-weight: bold;
    color: black;
    display: block;
    text-align: center;
    margin-right: 5px;
}
.ctluilabelinfosmall {
    font-size: 0.6rem;
    font-weight: normal;
    color: black;
    display: block;
    text-align: center;
    margin-right: 5px;
}
.ctluilabelinfoanulado {
    font-size: 0.7rem;
    font-weight: bold;
    color: var(--color-alerta);
    display: block;
    text-align: center;
    margin-right:5px;
}
.ctluilabelinfolinkbase {
    font-size: 0.7rem;
    font-weight: bold;
    text-decoration: underline;
    display: block;
    text-align: center;
    margin-right: 5px;
}
.ctluilabelinfolinksemlink {
    cursor: default;
    color: var(--color-link);
    text-decoration: none;
}
.ctluilabelinfolinkenabled {
    cursor: pointer;
    color: var(--color-link);
}
.ctluilabelinfolinkdisabled {
    cursor: default;
    color: var(--color-linkdisabled);
}
.ctluilabelinfolinknota {
    background: url("/_content/diWebUIComum/images/imgNota.png") left top no-repeat;
    padding-left: 18px;
    height: 18px !important;
    display: inline-block;
    cursor: pointer;
    color: var(--color-link);
}
.ctluilabelinfoalerta {
    color: var(--color-alerta);
    background-color:var(--color-bg-alerta);
    padding:3px;
    display:block;
    text-align:center;
}
.ctluilabelinfoalertacomlink {
    cursor:pointer;
}
.ctluilabelinfocomimgalerta {
    background: url("/_content/diWebUIComum/images/msgaviso.png") left top no-repeat;
    padding:6px 5px 6px 35px !important;
    font-size: 0.8rem !important;
    font-weight: normal !important;
}
.ctluilabelinfoalertacomlinkvermais {
    position: relative;
}
.ctluilabelinfolinkvermais {
    position: absolute;
    right: 10px;
    bottom: 10px;
}
.ctluilabeltipotitulo {
    font-weight:bold;
    font-size: 0.8rem;
}
.ctluidata {
    width: 120px;
}
.ctluidata input {
    background-color:white !important;
    font-size: 0.8rem;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluidata button {
    background-color:var(--editor-button-bg-color) !important;    
}
.ctluidata .form-control-sm {
    min-height:0px !important;
}
.ctluidatadisabled {
    width: 120px;
    background-color: var(--editor-disabled-bg-color) !important;
}
.ctluidatadisabled input {
    font-size: 0.8rem;
    padding: 2px !important;
    min-height: 0px !important;
    background-color: var(--editor-disabled-bg-color) !important;
}
.ctluidatadisabled .form-control-sm {
    min-height: 0px !important;
}
.ctluidatareadonly {
    width: 120px;
    background-color: var(--editor-disabled-bg-color) !important;
}
.ctluidatareadonly input {
    font-size: 0.8rem;
    padding: 2px !important;
    min-height: 0px !important;
    background-color: var(--editor-disabled-bg-color) !important;
}
.ctluidatareadonly .form-control-sm {
    min-height: 0px !important;
}
.ctluilistbox {
    height: 200px !important;
    font-size: 0.7rem !important;
}
.ctluichecklistbox {
    height: 200px !important;
    font-size: 0.7rem !important;
}
.ctluichecklistbox input:focus {
    background-color: transparent !important;
}
.ctluicheckbox {
    margin-left: 5px !important;
}
.ctluicheckbox  label {
    padding-left: 3px !important;
}
.ctluicheckboxdisabled {
    margin-left: 5px !important;
    color: gray;
}
.ctluicheckboxdisabled label {
    padding-left: 3px !important;
    color: gray;
}
.ctluicheckboxdisabled .dx-blazor-checkbox-label-right {
    color:gray;
}
.ctluicheckbox input:focus {
    background-color:transparent !important;
}
.ctluicheckboxred {
    color: red !important;
}
.ctluicheckboxred  label {
    color: red !important;
}
.ctluicheckboxred .form-check-input:checked {
    background-color: red;
    border-color: red;
}
.ctluibotaotopo {
    background-color: var(--botaotopo-bg-color) !important;
    color: var(--botaotopo-color) !important;
    border: 0px !important;
    border-radius: 3px;
    font-size: 0.7rem;
}
.ctluibotaotopo:focus {
    border: 0px !important;
    box-shadow: 0 0 5px var(--botaotopo-focus-box-shadow-bg-color) !important;
    background-color: var(--botaotopo-focus-bg-color) !important;
}
.ctluibotaotopo:hover {
    background-color: var(--botaotopo-hover-bg-color) !important;
    border: 0px !important;
}
.ctluibotao {
    background-color: var(--botao-bg-color) !important;
    color: var(--botao-color) !important;
    border: 1px solid var(--botao-border-color) !important;
    border-radius: 3px;
    font-size: 0.7rem;
}
.ctluibotao:focus {
    border-color: var(--botao-focus-border-color) !important;
    box-shadow: 0 0 5px var(--botao-focus-box-shadow-bg-color) !important;
    background-color: var(--botao-focus-bg-color) !important;
}
.ctluibotao:hover {
    background-color: var(--botao-hover-bg-color) !important;
    border: 1px solid var(--botao-hover-border-color) !important;
}
.ctluibotaopressionado {
    background-color: var(--botao-hover-bg-color) !important;
    border: 1px solid var(--botao-hover-border-color) !important;
}
.btn.disabled {
    background-color: var(--botao-disabled-bg-color) !important;
    border: 1px solid var(--botao-disabled-border-color) !important;
    color: var(--botao-disabled-color) !important;
    opacity: 1 !important;
}
.areaheaderapp .ctluibotaotipoexecutar {
    min-height: 25px !important;
}
.ctluibotaotipoexecutar {
    min-height: 30px !important;
    min-width: 70px !important;
    padding: 0px !important;
    padding-right: 3px !important;
}
.ctluibotaotipoedicao {
    min-height: 40px !important;
    min-width: 55px !important;
    padding: 3px !important;
}
.ctluibotaotiposoicon {
    min-height: 25px !important;
    min-width: 25px !important;
    padding: 3px !important;
}
.ctluibotaotiposoiconmaior {
    min-height: 30px !important;
    min-width: 30px !important;
    padding: 3px !important;
}
.ctluibotaotipointextbox {
    min-height: 16px !important;
    min-width: 16px !important;
}
.ctluibotaotipoexecutar .ctluibotaoicon {
    width: 16px;
    height: 16px;
    margin-right: 3px;
    margin-left: 3px;
    padding: 0px;
}
.ctluibotaotipoedicao .ctluibotaoicon {
    width: 16px;
    height: 16px;
    margin: 0px;
    padding: 0px;display:block;
}
.ctluibotaoedicaodivin {
    justify-content: center;
    align-items: center;
    text-align: center;
}
.ctluibotaotiposoicon .ctluibotaoicon {
    width: 16px;
    height: 16px;
    margin: 0px;
    padding: 0px;
}
.ctluibotaotiposoiconmaior .ctluibotaoicon {
    width: 16px;
    height: 16px;
    margin: 0px;
    padding: 0px;
}
.ctluibotaoiconnenhum {display:none;}
.ctluibotaoiconabrir {
    background-image: url("/_content/diWebUIComum/images/imgAbrir.png");
}
.ctluibotaoiconalterar {
    background-image: url("/_content/diWebUIComum/images/imgAlterar.png");
}
.ctluibotaoiconanalisaria {
    background-image: url("/_content/diWebUIComum/images/imgHelpOn.png");
}
.ctluibotaoiconanexar {
    background-image: url("/_content/diWebUIComum/images/imgAnexar.png");
}
.ctluibotaoiconapagar {
    background-image: url("/_content/diWebUIComum/images/imgApagar.png");
}
.ctluibotaoiconassinar {
    background-image: url("/_content/diWebUIComum/images/imgAssinar.png");
}
.ctluibotaoiconcancelar {
    background-image: url("/_content/diWebUIComum/images/imgCancelar.png");
}
.ctluibotaoiconcartaocidadao {
    background-image: url("/_content/diWebUIComum/images/imgCartaoCidadao.png");
}
.ctluibotaoiconchave {
    background-image: url("/_content/diWebUIComum/images/imgChave.png");
}
.ctluibotaoiconchilddiary {
    background-image: url("/_content/diWebUIComum/images/logochilddiary16x16.png");
}
.ctluibotaoiconcolar {
    background-image: url("/_content/diWebUIComum/images/imgColar.png");
}
.ctluibotaoiconconfigurar {
    background-image: url("/_content/diWebUIComum/images/imgConfigurar.png");
}
.ctluibotaoiconcontacto {
    background-image: url("/_content/diWebUIComum/images/imgContacto.png");
}
.ctluibotaoiconcontactoalterar {
    background-image: url("/_content/diWebUIComum/images/imgContactoAlterar.png");
}
.ctluibotaoiconcopiar {
    background-image: url("/_content/diWebUIComum/images/imgCopiar.png");
}
.ctluibotaoicondeposito {
    background-image: url("/_content/diWebUIComum/images/imgDeposito.png");
}
.ctluibotaoicondown {
    background-image: url("/_content/diWebUIComum/images/imgDown.png");
}
.ctluibotaoiconexcel {
    background-image: url("/_content/diWebUIComum/images/imgExcel.png");
}
.ctluibotaoiconexport {
    background-image: url("/_content/diWebUIComum/images/imgExport.png");
}
.ctluibotaoiconfichsave {
    background-image: url("/_content/diWebUIComum/images/imgFichsave.png");
}
.ctluibotaoiconfx {
    background-image: url("/_content/diWebUIComum/images/imgFx.png");
}
.ctluibotaoiconimport {
    background-image: url("/_content/diWebUIComum/images/imgImport.png");
}
.ctluibotaoiconinslinha {
    background-image: url("/_content/diWebUIComum/images/imgInslinha.png");
}
.ctluibotaoiconmail {
    background-image: url("/_content/diWebUIComum/images/imgMail.png");
}
.ctluibotaoiconmbway {
    background-image: url("/_content/diWebUIComum/images/imgMbway.png");
}
.ctluibotaoiconnota {
    background-image: url("/_content/diWebUIComum/images/imgNota.png");
}
.ctluibotaoiconnovo {
    background-image: url("/_content/diWebUIComum/images/imgNovo.png");
}
.ctluibotaoiconok {
    background-image: url("/_content/diWebUIComum/images/imgOk.png");
}
.ctluibotaoiconpdf {
    background-image: url("/_content/diWebUIComum/images/imgPdf.png");
}
.ctluibotaoiconpesquisa {
    background-image: url("/_content/diWebUIComum/images/imgPesquisa.png");
}
.ctluibotaoiconpreview {
    background-image: url("/_content/diWebUIComum/images/imgPreview.png");
}
.ctluibotaoiconprint {
    background-image: url("/_content/diWebUIComum/images/imgPrint.png");
}
.ctluibotaoiconpassword {
    background-image: url("/_content/diWebUIComum/images/imgPwd.png");
}
.ctluibotaoiconreadmitir {
    background-image: url("/_content/diWebUIComum/images/imgReadmitir.png");
}
.ctluibotaoiconrefresh {
    background-image: url("/_content/diWebUIComum/images/imgRefresh.png");
}
.ctluibotaoiconregularizar {
    background-image: url("/_content/diWebUIComum/images/imgRegularizar.png");
}
.ctluibotaoiconremover {
    background-image: url("/_content/diWebUIComum/images/imgRemover.png");
}
.ctluibotaoiconrgpdlimita {
    background-image: url("/_content/diWebUIComum/images/imgRGPDLimita.png");
}
.ctluibotaoiconsair {
    background-image: url("/_content/diWebUIComum/images/imgSair.png");
}
.ctluibotaoiconscan {
    background-image: url("/_content/diWebUIComum/images/imgScan.png");
}
.ctluibotaoiconsms {
    background-image: url("/_content/diWebUIComum/images/imgSMS.png");
}
.ctluibotaoicontabela {
    background-image: url("/_content/diWebUIComum/images/imgTabela.png");
}
.ctluibotaoiconup {
    background-image: url("/_content/diWebUIComum/images/imgUp.png");
}
.ctluibotaoiconvisto {
    background-image: url("/_content/diWebUIComum/images/imgVisto.png");
}
.ctluibotaoiconword {
    background-image: url("/_content/diWebUIComum/images/imgWord.png");
}
.ctluibotaoiconsetaant {
    background-image: url("/_content/diWebUIComum/images/imgSetaant.gif");
}
.ctluibotaoiconsetanext {
    background-image: url("/_content/diWebUIComum/images/imgSetanext.gif");
}
.ctluibotaoiconsetaprim {
    background-image: url("/_content/diWebUIComum/images/imgSetaprim.gif");
}
.ctluibotaoiconsetault {
    background-image: url("/_content/diWebUIComum/images/imgSetault.gif");
}
.ctluibotaoiconzoom {
    background-image: url("/_content/diWebUIComum/images/imgZoom.png");
}
.ctluitextbox input {
    background-color: white !important;
    font-size: 0.8rem !important;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluitextbox textarea {
    background-color: white !important;
    font-size: 0.8rem !important;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluitextboxcodigowidth input {
    width:85px !important;
}
.ctluitextboxalignright input {
    text-align: right;
}
.ctluitextboxuppercase input {
    text-transform: uppercase;
}
.ctluitextboxrealcealerta input {
    color:red !important;
}
.ctluitextboxdisabled input {
    background-color: var(--editor-disabled-bg-color) !important;
    font-size: 0.8rem !important;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluitextboxreadonly input {
    background-color: var(--editor-disabled-bg-color) !important;
    font-size: 0.8rem !important;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluitextboxreadonly textarea {
    background-color: var(--editor-disabled-bg-color) !important;
    font-size: 0.8rem !important;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluitextboxspineditinput {
    text-align: right;
}
.ctluitextboxspinedit input {
    font-size: 0.8rem !important;
    min-height: 0px !important;
}
.corfundoteal input {
    background-color: teal !important;
    color: white !important;
}
.ctluitextboxspineditdisabled input {
    background-color: var(--editor-disabled-bg-color) !important;
    color: gray !important;
    font-size: 0.8rem !important;
    min-height: 0px !important;
}
.ctluitextboxspineditreadonly input {
    background-color: var(--editor-disabled-bg-color) !important;
    color:gray !important;
    font-size: 0.8rem !important;
    min-height: 0px !important;
}
.ctluitextboxspineditlabelcaixa input {
    font-size: 0.8rem !important;
    min-height: 0px !important;
}
.ctluicombobox-item-template {
    display: flex;
    align-items: center;
    min-height:1rem !important;
}
.ctluicombobox-item-template > img {
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
}
img + .ctluicombobox-item-template-text {
    margin-left: 1rem;
}
.ctluicombobox-item-template-text {
    display: flex;
    flex-flow: column;
    min-height:1rem !important;
}
.ctluicombobox input {
    background-color: white !important;
    font-size: 0.8rem;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluicombobox button {
    background-color: var(--editor-button-bg-color) !important;
}
.ctluicombobox button.btn-secondary {
    color:#536080 !important;
}
.ctluicombobox .form-control-sm {
    min-height: 0px !important;
}
.ctluicomboboxdisabled input {
    background-color: var(--editor-disabled-bg-color) !important;
    font-size: 0.8rem;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluicomboboxdisabled button {
    background-color: var(--editor-button-bg-color) !important;
}
.ctluicomboboxdisabled button.btn-secondary {
    color:#536080 !important;
}
.ctluicomboboxdisabled .form-control-sm {
    min-height: 0px !important;
}
.ctluicomboboxreadonly input {
    background-color: var(--editor-disabled-bg-color) !important;
    font-size: 0.8rem;
    padding: 2px !important;
    min-height: 0px !important;
}
.ctluicomboboxreadonly button {
    background-color: var(--editor-button-bg-color) !important;
}
.ctluicomboboxreadonly button.btn-secondary {
    color:#536080 !important;
}
.ctluicomboboxreadonly .form-control-sm {
    min-height: 0px !important;
}
.ctluicomboboxdropdown {
    max-height: 300px !important;
}
.ctluicomboboxdropdown .dxbl-listbox {
    max-height: 300px !important;
}
.dropdown-menu {
    font-size:0.8rem !important;
}
.listalevar {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content:  flex-start;    
}
.listalevar .ctluifoto {
    margin:5px;
}
.ctluifoto {
}
.ctluifototitulo {
    font-size: 0.8rem;
    font-weight: normal;
}
.ctluifotoimg {
    border:1px solid gray;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f0f0f0;
}
.ctluifotoimg img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.ctluifotobotoes {
    padding: 2px;
}
/** grid devexpress *****************************************************/
.ctluigrid {
    font-size: 0.75rem !important;
}
.ctluigridfotocelula {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f0f0f0;
}
.ctluigridfotocelula img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.ctluigridlinhasel {
    background-color: var(--grid-linhasel-bg-color) !important;
}
.dxbl-grid-empty-cell {background-color:var(--grid-linhafundo-bg-color) !important;}
.ctluigridlinhaimpar {background: var(--grid-linhaimpar-bg-color)}
.ctluigrid .card {
    border-radius:0 !important;
}
.ctluigridcabecalho {
    font-size: 0.75rem;
    font-weight: bold !important;
    background-color: var(--grid-cab-bg-color) !important;
    color: var(--grid-cab-color) !important;
    text-align: center !important;
}
.ctluigrid td {
    font-size: 0.75rem !important;   
    padding:0px !important;
}
.ctluigrid tfoot th {
    font-weight: normal !important;
    font-size: 0.75rem !important;
    background-color: #646464 !important;
    color: black !important;
}
.ctluigrid tfoot .page-link {
    font-size: 0.75rem !important;
}
.ctluigridspantdin {
    display: block;
    height: 100%;
    width: 100%;
    min-height: 19px;
    padding:0px;
    margin:0px;
}
.ctluigridspantdout {
    display: block;
    height: 100%;
    width: 100%;
    padding: 4px;
    margin: 0px;
}
.ctluigridcelulalinkbase {
    text-decoration: underline;
}
.ctluigridcelulalinkenabled {
    cursor: pointer;
    color: var(--color-link);
}
.ctluigridcelulalinkdisabled {
    cursor: default;
    color: var(--color-linkdisabled);
}
.ctluigridcelulaescondida {
    display: none;
}
.dxbl-grid-empty-data>span {
    font-size:0.7rem !important;
}
.ctluigridcolaviso {background: url("/_content/diWebUIComum/images/GridColAviso.png") no-repeat center;}
.ctluigridcolavisodocalterado {background: url("/_content/diWebUIComum/images/GridColAvisoDocAlterado.png") no-repeat center;}
.ctluigridcolavisored {background: url("/_content/diWebUIComum/images/GridColAvisoRed.png") no-repeat center;}
.ctluigridcolhelp {background: url("/_content/diWebUIComum/images/GridColHelp.png") no-repeat center;}
.ctluigridcoldownload {background: url("/_content/diWebUIComum/images/GridDownload.png") no-repeat center;}
.ctluigridcolvistocol {background: url("/_content/diWebUIComum/images/GridVistoCol.png") no-repeat center;}
.ctluigridcolvistocolc {background: url("/_content/diWebUIComum/images/GridVistoColC.png") no-repeat center;}
.ctluigridcolvistocinza {background: url("/_content/diWebUIComum/images/GridVistoColCinza.png") no-repeat center;}
.ctluigridcoldisabled {background: url("/_content/diWebUIComum/images/GridVistoColDisabled.png") no-repeat center;}
.ctluigridcolvistoi {background: url("/_content/diWebUIComum/images/GridVistoColI.png") no-repeat center;}
.ctluigridcolvistolaranja {background: url("/_content/diWebUIComum/images/GridVistoColLaranja.png") no-repeat center;}
.ctluigridcolvistoverde {background: url("/_content/diWebUIComum/images/GridVistoColVerde.png") no-repeat center;}
.ctluigridcolvistoxcinza {background: url("/_content/diWebUIComum/images/GridVistoColXCinza.png") no-repeat center;}
.ctluigridcolvistoxvermelho {background: url("/_content/diWebUIComum/images/GridVistoColXVermelho.png") no-repeat center;}
/*******************************************************/
/* botões */
.barrabotoes {
    background-color: var(--barrabotoes-bg-color) !important;
    margin-top: 3px;
    margin-bottom: 0px;
    font-size: 0.7rem;
    padding: 3px;
    max-width: 1300px;
    width: 100%;
    vertical-align: top;
    height: 50px;
    display: block;
}
.barrabotoesgrp {
    margin-right: 5px;
    height: 42px;
    margin-bottom: 1px;
}
.barrabotoesgrpc {
    margin-right: 5px;
    margin-bottom: 1px;
    height: 42px;
    text-align: center;
}
.barrabotoesalignleft {float:left;}
.barrabotoesalignright {float:right;}
.barrabotoessetas {
}
.barrabotoesregistobloq {
    background-color: #FFEFA8;padding:2px;  
}
.barrabotoesex {
    margin-top:3px;
    margin-bottom: 10px;
    font-size: 0.7rem;
    background-color: var(--barrabotoes-bg-color) !important;
    padding: 2px;
    padding-top:8px;
    max-width: 1300px;
    width: 100%;
    text-align:right !important;
}
.barrabotoesexleft {
    margin-top: 3px;
    margin-bottom: 10px;
    font-size: 0.7rem;
    background-color: var(--barrabotoes-bg-color) !important;
    padding: 2px;
    padding-top: 8px;
    max-width: 1300px;
    width: 100%;
    text-align: left !important;
}
.barrabotoes .navbar-text {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}
.barrabotoesex .navbar-text {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}
.botaoiconmenu {
    width: 16px;
    height: 16px;
    background-image: url("/_content/diWebUIComum/images/menu2.png");
}
.botaoicondesafio {
    width: 16px;
    height: 16px;
    background-image: url("/_content/diWebUIComum/images/di16x16.png");
}
.botaoiconaviso {
    width: 16px;
    height: 16px;
    background-image: url("/_content/diWebUIComum/images/notifications.png");
}
.botaoiconprocurar {
    width: 16px;
    height: 16px;
    background-image: url("/_content/diWebUIComum/images/procurar.png");
}
.botaotxtaviso {
    font-size:0.6rem;
}
/************************************************************************/
/*separadores tab dentro das fichas*/
.fichatabpages .dxbl-tabs {
    background-color: var(--main-fundobranco-color) !important;
}
.fichatabpages .dxbl-tabs-item {
    zbackground-color: #7A7A7A;
    color: white;
    margin-right: 2px;
    border-top-left-radius: 0rem !important;
    border-top-right-radius: 0rem !important;
    font-size: 0.7rem;
}
.fichatabpages .dxbl-tabs-item .dxbl-active {
    background-color: #DFE0E0 !important;
    border-top-left-radius: 0rem !important;
    border-top-right-radius: 0rem !important;
}
.fichatabpages .dxbl-tabs-item a:hover {
    background-color: #DFE0E0 !important;
    border-top-left-radius: 0rem !important;
    border-top-right-radius: 0rem !important;
}
/************************************************************************/
/*separadores dos ecrãs abertos*/
.tabopenformstituloecra {
    display:none;
    font-size:0.80rem;
    font-weight:bold;
    margin-top:1px;
    margin-bottom:1px;text-align:center;
}
/*separadores dos forms abertos*/
.tabopenforms {
    font-size: 0.7rem;
}
.tabopenforms .nav-link {
    background-color:var(--tabopenforms-link-bg-color);
    color:var(--tabopenforms-link-color);
    margin-right:2px;
}
.tabopenforms .dxbl-active {    
    font-weight:bold !important;
    background-color:var(--tabopenforms-active-bg-color) !important;
}
/************************************************************************/
/*fichas de edição*/
.fichaedicaomain {
    margin:0px;padding-top:5px;
    max-width: 1300px;
    flex: 1;
}
.fichaedicaomain label {
    font-weight:normal !important;
}
.fichaedicaomainsc {
    max-width: 1300px;
    width: 100%;
    overflow-x:scroll;
}
.fichaedicaomainsc .dxbrv-clipboard-container {
    display:none;
}
.fichaedicaotabtopo {
    margin-bottom:5px;
}
.fichaedicaopaineldireita {
    float:right;height: 70vh;
}
.card-header {
    font-size:0.85rem !important;
    padding:0.3rem 0.5rem !important;
}
.edicaofundo {
    background-color: var(--fichaedicaofundo-bg-color) !important;
    margin-top: 3px;
    margin-bottom: 0px;
    padding: 3px;
    max-width: 1300px;
    width: 100%;
    vertical-align: top;
    display: block;
}
/************************************************************************/
/*painel das novidades nas versões*/
.pnlnovidadesversoespequenoareaini {padding:5px;width:100%;}
.pnlnovidadesversoespequeno {
    color:black;
    background-color:white;
    border-radius: 12px !important;
    border:7px solid var(--popup-border-cab-bg-color);
    align-items: center;
    text-align:center;
    font-size: 0.8rem;
    padding:10px 10px 0px 10px;
    max-width:200px;
    font-family:Verdana;
    cursor:pointer;
    float:right;
}
.pnlnovidadesversoespequenoinfoversao {
    font-size:1rem;
    font-weight:bold;
    margin-bottom:15px;
}
.pnlnovidadesversoes {
    color:black;
    background-color:white;
    align-items: center;
    text-align:center;
    font-size: 0.8rem;
    font-family:Verdana;
    float:right;
}
.pnlnovidadesversoesbody {
    background-color:white;
    border-left: 15px solid var(--popup-border-bg-color);
    border-right: 15px solid var(--popup-border-bg-color);
    border-bottom: 15px solid var(--popup-border-bg-color);
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
    border-top: 0px !important;   
    padding:10px 10px 0px 10px;    
    max-height:400px;
    overflow-y:auto;
}
.pnlnovidadesversoesheader {
    background-color: var(--popup-border-cab-bg-color);
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom: 7px solid var(--popup-border-cab-bg-color);
    border-top: 7px solid var(--popup-border-cab-bg-color);
    display: flex;
    justify-content: flex-end;
    padding-right:15px;
    cursor:pointer;
}
.pnlnovidadesversoesheaderitem {
    margin-left: 10px;
}
.pnlnovidadesversoeshtmlinfo {
    text-align:left;scrollbar-base-color:#B5B5B5;
}
.pnlnovidadesversoeshtmlinfo h1 {font-family:Georgia, Times, serif; font-size:20px;font-weight:bold;margin:0px 0px 20px 0px;color:green;}
.pnlnovidadesversoeshtmlinfo ol {margin-left:70px;font-style:italic; font-family:Georgia, Times, serif; font-size:24px; color:#999999;  }
.pnlnovidadesversoeshtmlinfo ol li p {margin:0px; padding:0px 8px 20px 8px; font-style:normal; font-family:Verdana; font-size:14px; color:black; border-left: 1px solid #999; }
.pnlnovidadesversoeshtmlinfo .linhadata {margin-left:70px;font-style:italic; font-family:Georgia, Times, serif; font-size:24px;color:#999999; }
.pnlnovidadesversoeshtmlinfo .linhapar {background-color:#F7F7F7;}

/************************************************************************/
/*popup das mensagens*/
.custom-popup {
    color: black !important;
}
.custom-popup > .dxbl-modal-content {
    border-radius: 12px !important;
    border:1px solid var(--popup-border-color);
}
.custom-popupdivchildcontent {
    min-height: 50px;
    max-height: 60vh;
    overflow-y: auto;
    overflow-x: hidden;height:100%;padding-bottom: 0.50rem !important;
}
.custom-popupdivchildcontentfullscreen {
    min-height: 50px;
    height: 60vh;
    max-height: 60vh;
    overflow-y: auto;padding-bottom: 0.50rem !important;
}
.custom-popupdivchildcontentfullscreentotal {
    min-height: 50px;
    height: 75vh;
    max-height: 75vh;
    overflow-y:hidden;padding-bottom: 0.50rem !important;
}
.custom-popupdivchildcontentfullscreentotalalturasemlimite {
    min-height: 50px;
    overflow-y:auto;padding-bottom: 0.50rem !important;
}
.custom-popup .dxbl-modal-header {
    padding: 0;
}
.custom-popup .custom-header {
    padding: 0.3rem 0;
    font-size: var(--popup-cab-font-size);
    justify-content: left;
    display: flex;
    align-items: center;
    background-color: var(--popup-border-cab-bg-color) !important;
    color: var(--popup-cab-color) !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    border-bottom: 7px solid var(--popup-border-cab-bg-color);
    border-top: 7px solid var(--popup-border-cab-bg-color);
}
.custom-popup .demo-icon-info {
    margin: 0 0.5rem 0 0.6rem;
}
.custom-popup .custom-header .close-button {
    font-size: var(--popup-cab-font-size);
    margin-left: auto;
    margin-bottom: 0.2rem;
    margin-right: 0.9rem;
    width: 16px;
    height: 16px;
    background-image: url("/_content/diWebUIComum/images/fechar_cruz.gif");
}

.custom-popup .dxbl-modal-body {
    font-size: var(--popup-body-font-size);
    padding-top: 0.6rem;
    background-color: var(--popup-bg-color) !important;
    color: var(--popup-body-color) !important;
    border-left: 15px solid var(--popup-border-bg-color);
    border-right: 15px solid var(--popup-border-bg-color);
    border-top: 0px !important;      
}
.custom-popup-semscroll .dxbl-modal-body {
    overflow-y:hidden !important;
}
.custom-popup-sempadding .dxbl-modal-body {
    padding:0px !important;
}
.custom-popup .modal-footer {
    color: var(--popup-footer-color) !important;
    background-color: var(--popup-bg-color) !important;
    padding: .25rem !important;
    border-bottom-right-radius: 12px !important;
    border-bottom-left-radius: 12px !important;
    border-left: 15px solid var(--popup-border-bg-color);
    border-right: 15px solid var(--popup-border-bg-color);
    border-bottom: 15px solid var(--popup-border-bg-color);
    border-top: 0px !important;
}
.custom-popup .modal-footer .ctluibotao {margin-left:3px;margin-right:3px;}
.custom-popupiconimg {
    float:left;margin-right:10px;
}
/*************************************************/
/*alterações ao estilo de base do menu devexpress*/
.dx-menu-item-text-container {
    white-space: normal !important;
}
.dx-menu-item-text {
    white-space: normal !important;
}
.dxbl-menu-item-text-container {
    white-space: normal !important;
}
.dxbl-menu-item-text {
    white-space: normal !important;
}
.menudxhrsep hr {
    padding: 0px !important;
    margin: 0px !important;
    width:100% !important;
}
.menudxhrsep dxbl-menu-item {
    display: inline !important;
}
.menuprincipalitem .dxbl-btn {
    font-size: 0.8rem !important;
    padding: 7px 7px 7px 14px;
}
.dxbl-menu {
    background-color: transparent !important;
}
/*************************************************/
/* tooltip */
.tooltipdiv {
    cursor: pointer;
    position: relative;
    display: inline-block;
}
.tooltipdivnotooltip {
    position: relative;
    display: inline-block;
}
.tooltipdivblock {
    cursor: pointer;
    position: relative;
    display: block;
}
.tooltipdivnotooltipblock {
    position: relative;
    display: block;
}
/*************************************************/

/* página de erro do blazor*/
#blazor-error-ui {
    display: none;
    position: fixed;
    z-index: 20000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.1);
}
#blazor-error-uiconteudo {
    background: lightyellow;
    border-top: 1px solid lightgray;
    bottom: 0;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 5000;
    font-size: 0.8rem;
}
#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/*************************************************/
/* painel de erros */
.painelerroditrataerr {
    display: block;
    position: fixed;
    z-index: 20000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.1);
}
.painelerroditrataerrconteudo {
    background: lightyellow;
    border-top:1px solid lightgray;
    bottom: 0;
    left: 0;
    display: block;
    padding: 5px;
    padding-left: 20px;
    position: fixed;
    width: 100%;
    z-index: 4000;
    font-size: 0.8rem;
}

/*************************************************/
/* outros */
.lstpinnaofecharecra {
    float:left;
    cursor:pointer;
    height:16px;
    width:16px;
}
.listagensprintjaoverlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    z-index: 2;
    background: rgba(0,0,0,0.1);
}
.objpreviewreports {
    border: 0px !important;
}
.dxbrv-toolbar {
    max-height:20px;
}
/*************************************************/


.formlayoutitemmesmalinha .dxbl-fl-ctrl div {
    display: inline-flex !important;
}
.formlayoutstackdireitaespaco {
    padding-left:3px;
}
.containermesmalinha {
    display: flex;
}
.containermesmalinhaitem1 {
    display: flex;
    align-items: flex-start;
}
.containermesmalinhaitem2 {
    flex: 1 1 auto;
    margin-left: 5px;
}

.rotate {
    transform: rotate(-90deg);
    display:block;
}

.coralerta {
    color: var(--color-alerta) !important;
}
.corfundoalerta {
    background-color:var(--color-bg-alerta) !important;
}
.corfundoalerta input {
    background-color: var(--color-bg-alerta) !important;
}
.coralterado {
    color:var(--color-alerta);
}
.corinfo {
    color: var(--color-link) !important;
}
.corporlancar {
    color: red;
}
.corfundored {
    background-color:rgb(165, 0, 33);
}
.corfundogreen {
    background-color:rgb(168, 208, 141);
}
.corfundoyellow {
    background-color:rgb(255, 231, 79);
}
.corfundokhaki
{
    background-color:khaki;
}
.corwhite {
    color:white;
}
.corblack {
    color:black;
}
.corvermelho {
    color:firebrick !important;
}
.corverde {
    color:green !important;
}
.corentrada {
    color:green;
}
.corsaida {
    color:rgb(246, 123, 40);
}
.corazul {
    color:royalblue;
}
.textaligncenter {
    text-align: center;
}
.textalignright {
    text-align: right;
}
.textlink{
    text-decoration: underline;
}
.textcursorhand{
    cursor: pointer;
}
.margemlefident {
    margin-left:15px !important;
}
.fontmodotamanhoigual{
    font-family:Courier New, Courier, monospace;
}

.procurarresulttitulo {
    font-size: 0.8rem;
}
.procurarresultlista {
    font-family: verdana, tahoma, arial;
    text-align: left;
    scrollbar-base-color: #B5B5B5;
    background-color:white;
    padding:5px;
}
.procurarresultlista .item {font-size:16px;font-weight:bold;margin:0px 0px 20px 0px;color:green;}
.procurarresultlista .itemresultado {color:black;font-weight:normal;font-size:13px;margin:5px 0px 10px 0px;}
.procurarresultlista .itemresultado2 {font-size:10px;margin-left:20px;}
.procurarresultlista .itemlinks {margin-left:20px;}
.procurarresultlista .itemlinks a{font-size:11px;text-decoration:none;color:#3D5DFF;border-bottom:1px dotted #3D5DFF;}
.procurarresultlista .itemlinks a:hover{text-decoration:none;color:blue;border-bottom:1px solid blue;}
.procurarresultlista .pesq {background-color:yellow;}

.fechosmestabela th {text-align:center;padding-left:5px;padding-right:5px;width:70px;}
.fechosmestabela td {padding-left:2px;padding-right:2px;margin-left:2px;margin-right:2px;}
.fechosmestabelacolmes td {text-align:left;}

.aplicacoeslista {padding:5px;width:100%;}
.aplicacoeslistaanos {
    background-color: #EFEFEF
}
.aplicacoeslistaapps {}
.aplicacoeslistaanosel {
    background-color: var(--color-alerta) !important;
    color: white !important;
    font-weight:bold;
}

.notainformativa {
    background-color:var(--color-bg-alerta);
    padding:3px;
    display:block;
    text-align:left;
    min-width:300px;
}

/* ecrã de configuração */
.configuracao {
    height: 100%;    
}
.configuracaoleftpanel {
    overflow-y: auto;
    height: 100%;
}
.configuracaorightpanel {
    overflow: auto;
    padding-left: 3px;
    height: 100%;
}


/* ecrã dividido em dois */
.ecradividedois {
    height: 100%;
}
.ecradividedoisleftpanel {
    overflow-y: auto;
    height: 100%;
}
.ecradividedoisrightpanel {
    overflow: auto;
    padding-left: 3px;
    height: 100%;
}

/*** devexpress richedit **/
.objricheditword {width:100% !important;height:100% !important;padding:0px !important;margin:0px !important;}
/*****/

/* devexpress treeview */
.ctluitreeviewmaindiv {
    overflow-y:auto;
}
.ctluitreeview .treeview-item-text-container {
    margin-top: 5px;
    margin-bottom: 5px;
}
.ctluitreeview input:focus {
    background-color: transparent !important;
}
.ctluitreeviewitemalertareditalic {
    color:var(--color-alerta) !important;
    font-style:italic;
}
.ctluitreeviewitemnormal {
    color: black !important;
    font-style: normal;
}
.ctluitreeviewcomfundoborder {
    background-color:white;
    border:1px solid rgb(222, 226, 230);
    border-radius:2.625px;
}
.ctluitreeviewreadonly {
    background-color: var(--editor-disabled-bg-color) !important;
}
/*****/

/*** calendário ***/
.calendarioferiado {color:firebrick;}
.calendarioferias {color:deepskyblue;}
.calendarionormal {color:black;}
.calendarioferiadofundo {background-color:firebrick;}
.calendarioferiasfundo {background-color:deepskyblue;}
/*****/

/** wizard assistente **/
.wizardareatitulos {padding:15px;background-color:#EFEFEF;font-weight:bold;border-bottom:1px solid black;width:100%;padding:5px;}
.wizardareabody {padding:15px;height:100%;overflow-y:auto;}
/*****/


/** área com lista de alunos **/
.listaalunosrelpontoconfinout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 20px;
    margin-top:10px;
}

.listaalunosrelpontoconfinoutitem {
    background-color: #ffffff;
    color:black;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor:pointer;
}

.listaalunosrelpontoconfinoutitem:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.listaalunosrelpontoconfinoutitem-photo {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    margin-bottom: 5px;
    margin-top:6px;
}

.listaalunosrelpontoconfinoutitem-name {
    font-size: 0.8em;
    margin-bottom: 10px;
}

.listaalunosrelpontoconfinoutitem-info {
    font-size: 0.7em;
    color: #666;
}
.listaalunosrelpontoconfinoutitem-top {
    position: absolute;
    top: 0px;
    right: 20px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: calc(100% - 40px);
}
.listaalunosrelpontoconfinoutitemtime {
    font-size: 0.85em;
    margin-right: 8px;
}

.listaalunosrelpontoconfinoutitemvisto {
    width: 12px;
    height: 12px;
}

@media (max-width: 600px) {
    .listaalunosrelpontoconfinoutitem {
        padding: 5px;
    }

    .listaalunosrelpontoconfinoutitem {
        font-size: 0.8em;
    }

    .listaalunosrelpontoconfinoutitem {
        font-size: 0.65em;
    }
    .listaalunosrelpontoconfinoutitemtime {
        font-size: 0.65em;
    }

    .listaalunosrelpontoconfinoutitemvisto {
        width: 10px;
        height: 10px;
    }
}
/*em popup:*/

.listaalunosrelpontoconfinoutpopup-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    width: 100%;
    height:100%;
    position: relative;
}

.listaalunosrelpontoconfinoutpopup-header {
    display: flex;
    margin-bottom: 20px;
}

.listaalunosrelpontoconfinoutstudent-photo-container {
    margin-right: 20px;
}

.listaalunosrelpontoconfinoutpopup-photo {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
}

.listaalunosrelpontoconfinoutstudent-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.listaalunosrelpontoconfinoutstudent-name-number {
    margin-bottom: 20px;
}

.listaalunosrelpontoconfinoutstudent-name-number h2 {
    font-size: 1.5em;
    margin-bottom: 5px;
}

.listaalunosrelpontoconfinoutstudent-name-number p {
    font-size: 1.1em;
}

.listaalunosrelpontoconfinoutstudent-footer.listaalunosrelpontoconfinoutpopup-footer {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
}

.listaalunosrelpontoconfinouttime {
    font-size: 1.3em;
    margin-right: 8px;
}

.listaalunosrelpontoconfinoutcheckmark-icon {
    width: 20px;
    height: 20px;
}

.listaalunosrelpontoconfinoutadditional-info {
    margin-top: 20px;
}

.listaalunosrelpontoconfinoutadditional-info p {
    font-size: 1em;
}
.listaalunosrelpontoconfinoutpopupitemvisto {
    width: 16px;
    height: 16px;
}

/* Responsividade */
@media (max-width: 600px) {
    .listaalunosrelpontoconfinoutpopup-content {
        padding: 15px;
    }

    .listaalunosrelpontoconfinoutpopup-photo {
        width: 36px;
        height: 36px;
    }

    .listaalunosrelpontoconfinoutstudent-name-number h2 {
        font-size: 1.2em;
    }

    .listaalunosrelpontoconfinoutstudent-name-number p {
        font-size: 1em;
    }

    .listaalunosrelpontoconfinouttime {
        font-size: 0.9em;
    }

    .listaalunosrelpontoconfinoutcheckmark-icon {
        width: 18px;
        height: 18px;
    }
}
.listaalunosrelpontoconfinoutpopupbotaoescolherlista {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 20px;
    margin-top:10px;
}
.listaalunosrelpontoconfinoutpopupbotaoescolher {
    background-color: whitesmoke;
    color:black;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction:row;
    justify-content: space-between;
    cursor:pointer;   
}
.listaalunosrelpontoconfinoutpopupbotaoescolher:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.listaalunosrelpontoconfinoutpopupbotaoescolhersel {
    background-color: var(--botao-hover-bg-color);
    border: 1px solid var(--botao-hover-border-color);
}
.listaalunosrelpontoconfinoutpopupbotaoescolhersel:hover {
    background-color: var(--botao-hover-bg-color);
    border: 1px solid var(--botao-hover-border-color);
}
.listaalunosrelpontoconfinoutpopupbotaoescolher-photo{
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    border-radius: 10px;
    margin-bottom: 5px;
    margin-top:6px;
}
.listaalunosrelpontoconfinoutpopupbotaoescolher-name {
    font-size: 1em;
    width:100%;
    padding:3px;
}
/*****/


/*  painel IA ***********************************************************************/
.painelia {
    width: 100%;
    min-width: 400px;
    height:100%;
    margin-left:3px;
    margin-right:3px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.paineliaheader {
    background: #f1ebeb;	  
    padding: 16px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 1.3rem;
    font-weight: 500;
    color: #334155;
}
.paineliaconversacao {
    background-color:#f1ebeb;
    flex: 1;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #64748b transparent;
}
.paineliaopcoes {
    background-color: #f1ebeb;
    text-align:right;
    padding:3px;
}
.paineliaopcoes textarea {
    height:60px;
    font-size: 1rem !important;
}
.paineliaopcoesbotoes {
    padding-top:5px;
    padding-bottom:2px;
}
.painelialoading-bar {
    color: #1e293b;
    padding: 8px;
    font-family: Segoe UI, sans-serif;
    font-size: 13px;
}
.painelialoading-barspinner {
    border: 4px solid silver;
    border-top: 4px solid #337AB7;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 700ms linear infinite;
}
/* Estilo de mensagens */
.portaliamessage {
    padding: 12px 16px;
    border-radius: 14px;
    position: relative;
    animation: fadeIn 0.3s ease;
}
.portaliamessage p {
    line-height: 1.4;
}
.portaliamessage table {border:0px;width: 100%;border-collapse: collapse;font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;box-shadow: 0 2px 10px rgba(0,0,0,0.1);overflow: hidden;}
.portaliamessage tr {border:0px;transition: background-color 0.3s;}
.portaliamessage td {border:0px;padding:3px;padding: 12px 15px;border-bottom: 1px solid #ddd;color:black;}
.portaliamessage th {border:0px;background-color: #9B4949;color: white;text-align: left;padding: 12px 15px;font-weight: 600;}
.portaliamessage tr:nth-child(even) {background-color: #EAEAEA;}
.portaliamessage tr:nth-child(odd) {background-color: #ffffff;}

/* Mensagens do utilizador */
.portaliauser {
    align-self: flex-end;
    background: #3b82f6;
    color: #fff;
    border-bottom-right-radius: 2px;
}

/* Mensagens do assistente */
.portaliaassistant {
    align-self: flex-start;
    background: #334155;
    color: #e2e8f0;
    border-bottom-left-radius: 2px;
}
.portaliacopy-icon {
position: absolute;
top: 6px;
right: 6px;
cursor: pointer;
font-size: 14px;
opacity: 0.6;
transition: 0.2s;
}                                
.portaliacopy-icon:hover {
opacity: 1;
}                                
.portaliacopy-icon.copiado::after {
content: 'Copiado';
position: absolute;
top: -2px;
right: 20px;
background: #22c55e;
padding: 2px 6px;
border-radius: 6px;
color: #fff;
font-size: 11px;
white-space: nowrap;
}
/************************************************************************************/
