:root{
    --chat-bg:#f8f9fa;
    --chat-surface:#ffffff;
    --chat-border:#dee2e6;
    --chat-primary:#0d6efd;
    --chat-radius:18px;
}
html,
body{
    height:100%;
}

body{
    overflow:hidden;
    background:#f8f9fa;
}

#layout{
    height:calc(100vh - 68px);
}

#layout .row{
    height:100%;
    overflow-y: auto;
}

#sidebar{
    width:280px;
    overflow-y:auto;
    border-right:1px solid #dee2e6;
    background:#fff;
}

#conteudo_principal{
    height:100%;
    overflow-y:auto;
    background:#f8f9fa;
}

#menu .list-group-item{
    display:flex;
    align-items:center;
    gap:.5rem;
    font-weight:500;
    border-radius:0;
    transition:.2s;
}

#menu .list-group-item i{
    width:20px;
    text-align:center;
}

#menu .list-group-item:hover{
    background:rgba(var(--cor-primaria-rgb),.08);
    color:var(--cor-primaria);
}

#menu .list-group-item.active{
    background:var(--cor-primaria);
    color:white;
}
.preview-imagem-modal{
    position: relative;
    width: 150px;
    height: 150px;
    vertical-align: middle;
    margin: auto;
    margin-bottom: 5px;
    display: flex !important;
    justify-content: center;
    align-items: center
}
.preview-imagem-modal img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
    cursor: pointer;
}

.imagem-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.6);
    border-radius: inherit;
}

.disclaimer{
    text-align: center;
}
.btn-icon {
    background: transparent;
    border-style: none;
    cursor: pointer;
    color: var(--cor-primaria);
}
.col-md-4 .btn-icon{
    width: 100%;
    margin: auto;
}

.loading-modal{
    display:none;
    text-align:center;
    margin:auto;
    width: 50px;
}
.login-card{
    max-width:430px;
    width:100%;
    border:none;
    border-radius:18px;
}

.logo-login{
    max-width:220px;
}

#toggleSenha{
    border-left:0;
}

.card-body #ai-chat-messages{
    background-color: var(--bs-secondary-bg);
    padding: 20px;
}

.table-hover{
    cursor: pointer;
}

/* Modal chamados */
.titulo-input {
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #212529;
}

.titulo-input:focus {
    border-color: #86b7fe;
}

/* Historico chamado */
.historico-mensagens {
    max-height: 500px;
    overflow-y: auto;
}
.mensagem {
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    padding: .75rem;
    margin-bottom: 1rem;
    background: #fff;
}

.mensagem-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
}

.mensagem-autor {
    font-weight: 600;
}

.mensagem-data {
    font-size: .85rem;
    color: #6c757d;
}

.mensagem-conteudo {
    display: block;
    white-space: pre-wrap;
    word-break: break-word;
}
.msg{
    max-width: 80%;
    padding: .75rem;
    border-radius: .75rem;
    margin-bottom: 1rem;
}
.msg-suporte{
    margin-left: auto;
    background: #e7f1ff;
    border: 1px solid #b6d4fe;
}

.msg-motorista{
    margin-right: auto;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
}
/*  */

.mini-img-control{
    display: block;
    margin: auto;
}
.mini-img-control button{
    display: block;
    margin: auto;
}

.acoes-usuario {
    white-space: nowrap;
}

.acoes-usuario .btn {
    margin-left: 4px;
}

.dropdown-item {
    cursor: pointer;
}