:root {
    --ct-logo-lg-height: 30px;
    --ct-primary: #0d6efd;
    --ct-primary-rgb: 13, 110, 253;
    --ct-success: #198754;
    --ct-success-rgb: 25, 135, 84;
}

/* Badge com font-size proporcional ao texto da tabela */
.badge.fs-td { font-size: 90%; }

/* Placeholder global: cinza claro + itálico leve para parecer sugestão, não conteúdo preenchido
   Cor #9ca3af ~ Tailwind gray-400 — mínimo WCAG 2.1 (contraste ~3:1 sobre branco) */
.form-control::placeholder,
.form-select::placeholder,
textarea::placeholder,
input::placeholder {
    color: #9ca3af !important;
    opacity: 1 !important;
    font-style: italic;
    font-weight: 400;
}
.form-control::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder { color: #9ca3af !important; font-style: italic; }
.form-control::-moz-placeholder,
textarea::-moz-placeholder,
input::-moz-placeholder { color: #9ca3af !important; opacity: 1; font-style: italic; }
.form-control:-ms-input-placeholder,
textarea:-ms-input-placeholder,
input:-ms-input-placeholder { color: #9ca3af !important; font-style: italic; }

.form-check-input:checked {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #0d6efd !important;
}

.menu-link  {
    cursor: pointer;
}
.menu-space {
    margin-left: 10px;
    margin-right: 10px;
}
.row {
    margin-bottom: 8px;
}
.navbar-custom {
    background-color: #015bb5
}

.text-primary {
    color: #015bb5 !important;
}

.text-upload {
    color: #f1556c !important;
} 

.bg-warning-100 {
    /* 247, 184, 75 = 500*/
    background-color: rgba(247, 184, 75, 0.2) !important;
}

.btn-upload {
    color: #f1556c !important;
    background-color: transparent !important;
    border: 1px solid #f1556c !important;
}

.text-download {
    color: #015bb5 !important;
}

.btn-download {
    color: #015bb5 !important;
    background-color: transparent !important;
    border: 1px solid #015bb5 !important;
}

.text-download-laudo {
    color:#6666ff !important;
}

.btn-download-laudo {
    color: #6666ff !important;
    background-color: transparent !important;
    border: 1px solid #6666ff !important;
}

.text-sem-assinatura {
    color: #f7b84b !important;
}

.btn-sem-assinatura {
    color: #f7b84b !important;
    background-color: transparent !important;
    border: 1px solid #f7b84b !important;
}

.form-switch {
    margin-left: 15px;
    margin-top: 5px !important;
}

@media (min-width: 576px) {
    .dropdown-lg {
        min-width: 320px !important;
        width: auto !important;
    }
}

.swal2-content {
    margin-top: 0px !important;
}

.disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.6;
    background-color: #f8f9fa;
}

.form-group {
    margin-bottom: 5px;
}

.table-responsive{
    padding-right: .375rem !important;
    padding-left: .375rem !important;
}

.paging_simple_numbers{
    display: flex;
    justify-content: center;
}

.dataTables_empty {
    text-align: center !important;
    color: #f1556c;
}

.form-group {
    margin-top: 5px;
}

.banner2{
    background: url("/views/module/assets/images/background_black.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.azulfacebook{
    color:#3b5998;
}

.bg-ui-03 {
    background-color: #c0ccda;
}

.mdi-16px {
    font-size: 16px !important;
}

.mdi-24px {
    font-size: 24px !important;
}

.mdi-32px {
    font-size: 32px !important;
}

.mdi-40px {
    font-size: 40px !important;
}

.mdi-48px {
    font-size: 48px !important;
}

.cursor-pointer {
    cursor: pointer;
}
  
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="date"]:focus, input[type="time"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="file"]:focus, input[type="range"]:focus {
    background-color: #fffff0 !important;
}

textarea:focus {
    background-color: #fffff0 !important;
}

select:focus {
    background-color: #fffff0 !important;
}

input[type="text"], select, textarea {
    text-transform: uppercase;
}

input[type="email"].text-lowercase, input[type="url"].text-lowercase {
    text-transform: lowercase;
}

/* .table>:not(caption)>*>* {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
} */


/* div {
    user-select: none;
} */

.coluna-width-10,
.coluna-width-20,
.coluna-width-30,
.coluna-width-40,
.coluna-width-50,
.coluna-maxwidth,
.coluna-minwidth-20,
.coluna-maxwidth-30,
.coluna-maxwidth-50,
.coluna-maxwidth-80,
.coluna-maxwidth-500 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* padding: 0 !important; */
}

.coluna-maxwidth-50 {
    max-width: 50px;
}

.coluna-maxwidth-30 {
    max-width: 30px;
}

.coluna-maxwidth-80 {
    max-width: 80px;
}
.coluna-maxwidth-150 {
    max-width: 150px;
}

.coluna-maxwidth-500 {
    max-width: 500px;
}

.coluna-width-10 {
    width: 10px;
}

.coluna-minwidth-20 {
    min-width: 20px;
}

.coluna-width-20 {
    width: 80px;
}

.coluna-width-30 {
    width: 30px;
}

.coluna-width-40 {
    width: 40px;
}

.coluna-width-50 {
    width: 50px;
}

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

.custom-prontuario-row .col-lg-3 {
    flex: 1;
    overflow-y: auto;
    max-height: 420px;
}

.period-btn {
    padding: 1rem;
    border: 2px solid #dee2e6;
    background-color: #fff;
    color: #212529;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    text-align: center;
    font-size: 1rem;
}

.period-btn:hover {
    border-color: #0d6efd;
    background-color: #f8f9fa;
}

.period-btn.active {
    border-color: #0d6efd;
    background-color: #0d6efd;
    color: #fff;
}

/* ================================================= */
/* Override tema purple → azul Bootstrap padrão       */
/* ================================================= */
.btn-primary {
    --ct-btn-bg: #0d6efd;
    --ct-btn-border-color: #0d6efd;
    --ct-btn-hover-bg: #0b5ed7;
    --ct-btn-hover-border-color: #0a58ca;
    --ct-btn-focus-shadow-rgb: 49, 132, 253;
    --ct-btn-active-bg: #0a58ca;
    --ct-btn-active-border-color: #0a53be;
    --ct-btn-disabled-bg: #0d6efd;
    --ct-btn-disabled-border-color: #0d6efd;
}

.btn-outline-primary {
    --ct-btn-color: #0d6efd;
    --ct-btn-border-color: #0d6efd;
    --ct-btn-hover-bg: #0d6efd;
    --ct-btn-hover-border-color: #0d6efd;
    --ct-btn-focus-shadow-rgb: 13, 110, 253;
    --ct-btn-active-bg: #0d6efd;
    --ct-btn-active-border-color: #0d6efd;
}

.period-btn i {
    display: block;
    margin-bottom: 0.25rem;
}


/* ================================================= */
/* CSS ATUALIZADO PARA O LOADER                      */
/* (Substitua o CSS da animação SVG por este)        */
/* ================================================= */

.modal-content-ia {
    background-color: #ffffff;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    text-align: center;
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.modal-content-ia .modal-body {
    padding: 40px;
    width: 100%;
}

.loader-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #333;
    margin-top: 0;
    margin-bottom: 0;
}

.loader-description {
    font-size: 1rem;
    color: #666;
    margin: 0;
    min-height: 24px;
}

.spinner-big {
    width: 60px !important;
    height: 60px !important;
    border: 7px solid #f3f3f3 !important;
    border-top: 7px solid #0d6efd !important;
    border-radius: 50% !important;
    animation: spin 1.5s linear infinite !important;
    margin: 0 auto !important;
}

.tx-medium {
    font-weight: 500;
}

/* Fim do CSS do Loader IA */

/* ================================================= */
/* Agenda — cor purple para status check-in          */
/* ================================================= */
.agenda-bg-purple {
    background-color: #7b1fa2 !important;
    color: #fff !important;
}