@media (max-width: 1239px) {
    .fc-timeGridWeek-button {
        display: none !important;
    }

    #kt_content h1 {
        display: none;
    }
}

@media (max-width: 620px) {
    .fc-timeGridWeek-button {
        display: none !important;
    }

    .fc-timeGridThreeDays-button {
        display: none !important;
    }

    .fc-timeGridDay-button {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .header {
        background-color: #1a1a1a !important;
    }
}

@media (min-width: 992px) {
    .header-fixed.subheader-fixed .subheader {
        background-color: transparent !important;
        color: #FFF;
        border: none !important;
    }

    #kt_aside_mobile_toggle {
        display: none !important;
    }
}

@media (max-width: 992px) {
    #kt_aside_mobile_toggle {
        display: flex;
    }
}

@media (max-width: 520px) {
    #tab_proximas_sessoes .timeline-media {
        display: none;
    }

    #tab_proximas_sessoes .timeline.timeline-3 .timeline-items .timeline-item {
        padding: 0 !important;
    }

    #tab_proximas_sessoes .timeline.timeline-3 .timeline-items .timeline-item {
        margin-left: 0 !important;
    }

    #tab_proximas_sessoes .card-body {
        padding: 0.25rem 0.75rem !important;
    }

    #kt_content h1 {
        display: none;
    }
}

.btn.btn-light-primary:hover:not(.btn-text):not(:disabled):not(.disabled),
.btn.btn-light-primary:focus:not(.btn-text),
.btn.btn-light-primary.focus:not(.btn-text) {

    background-color: #619c85 !important;

}

@media (max-width: 460px) {
    #seeClientDataModal .nav.nav-tabs {
        flex-direction: column;
        align-items: flex-start;
    }

    #seeClientDataModal .nav.nav-tabs .nav-item {
        width: 100%;
    }

    #seeClientDataModal .nav.nav-tabs .nav-link {
        width: 100%;
        text-align: left;
        border-radius: 0;
        /* opcional, para remover cantos arredondados */
    }
}

@media (max-width: 991.98px) {
    .topbar {
        background-color: #0a0f20 !important;
    }
}

.event-disabled {
    opacity: 0.6;
    /* Reduz a opacidade para indicar desativação */
    cursor: not-allowed;
    /* Muda o cursor para indicar que não é clicável */
}

.btn-sm,
.btn-group-sm>.btn {
    padding: 0.55rem 0.75rem;
    font-size: 0.925rem;
    line-height: 1.235 !important;
    border-radius: 0.42rem;
}

.btn.btn-sm i,
.btn-group-sm>.btn i {
    font-size: 1.1rem !important;
    padding-right: 0.35rem;
}

.icon-training {
    width: 22px;
    height: 22px;
    background-repeat: no-repeat;
    background-size: contain;

    /* Cor alterada de #619c85 → #7c87a6 */
    background-image: url('data:image/svg+xml;charset=utf-8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34">\
<style>.st0%7Bfill:%237c87a6;%7D</style>\
<path class="st0" d="M30.9,18.5l-2.2-0.2c-0.1,0-0.2,0-0.4,0c-1.6,0-2.9,1.5-3.1,3.5l-0.2,0c0-0.1,0-0.2-0.1-0.3\
c-0.2-0.6-0.7-1.4-0.8-1.6c-0.1-0.2-0.1-2.4-0.1-2.9c0.1-0.5,0-2.1-0.2-2.7c-0.2-0.6-0.3-1.9-0.2-2c0-0.2,0.3-0.8,0.3-0.9\
c0-0.2,0.2-0.7,0.2-1c0-0.3-0.1-1.4-0.3-1.8c-0.2-0.4-0.8-0.8-0.8-0.8s0.3,0.1,0.4,0c0.1-0.2,0.1-0.4,0.1-0.4S24,7.4,24,7\
c0,0,0.2,0,0.2-0.1c0-0.1,0.1-0.5,0.1-0.5s0.3,0.1,0.4,0c0.1-0.2,0-0.8,0-0.8s0.4-0.1,0.5-0.3c0.1-0.2,0-0.8,0-0.8s0.6-0.3,0.5-0.9\
c-0.1-0.6-0.5-1.7-2.3-1.8c-1.8,0-2.5,1.1-2.5,1.6c0,0.5-0.2,2.3-0.3,2.4c-0.1,0.1-3.1,0.2-4,1c-0.9,0.8-2.3,3.4-2.9,3.9\
c-0.6,0.5-2.7,2.3-2.4,4.2c0.3,1.8,1.4,3.4,1.4,3.4s0,2.7,0.2,2.9c0.3,0.1,1.1-0.7,1.1-0.7s-0.2,0.8-0.3,1.8l-2.6,0.1\
c-0.2-2.7-1.4-4.8-3-4.8l-5.1,0c-1.7,0-3,2.5-3,5.6c0,3.1,1.3,5.6,3,5.6c0.1,0,0.2,0,0.4,0l4.8-0.6c1.6,0,3-2.4,3-5.3l2.5-0.1\
c0,0.5-0.1,1.1,0,1.6c0.2,1.6,0.7,3.6,0.7,4c0,0.4-0.1,2.4-0.1,2.5c0,0.2,0.2,0.6,0.3,0.7c0.1,0,0.4,0.1,0.6,0.3\
c0.1,0.1,0.8,0.5,1.5,0.5c0.6,0,1.8-0.4,1.7-0.8c-0.1-0.5-1-0.7-1.4-1.5c-0.4-0.7-1-1.3-1-1.3s0-2.1,0.1-3.2\
c0.1-0.7,0.1-1.9,0.2-2.8l3.5-0.1c0,0.3,0,0.7,0,0.9c0.1,0.7,0.3,1.9,0.2,2.6c-0.1,0.7-0.1,2.6-0.1,2.6s-0.2,0.1-0.3,0.4\
c-0.1,0.3-0.4,1.5-0.2,1.7c0.2,0.1,1.6,0.2,2.1,0.3c0.6,0.1,1.8,0.4,2.3,0.3c0.5-0.1,1.1-0.2,0.9-0.8c-0.2-0.6-0.7-0.4-1.5-1\
c-0.9-0.6-1.3-1-1.3-1s0.1-0.4-0.2-0.6c0,0,0.4-3,0.5-4c0-0.4,0.1-0.9,0.1-1.4l1.6,0c0.1,0.2,0.3,0.3,0.6,0.2c0,0,0.1,0.1,0.2,0.1\
c0.1,0,0.4-0.3,0.6-0.4l0.3,0c0.1,2,1.4,3.6,3.1,3.6l2.5-0.1c1.7,0,3.1-1.7,3.1-3.7C34,20.2,32.6,18.5,30.9,18.5z"/>\
</svg>');
}

.aside-minimize .aside-menu .menu-nav>.menu-item:hover>.menu-link>.icon-training {
    background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 34 34"><style>.st0%7Bfill:%23619c85;%7D</style><path class="st0" d="M30.9,18.5l-2.2-0.2c-0.1,0-0.2,0-0.4,0c-1.6,0-2.9,1.5-3.1,3.5l-0.2,0c0-0.1,0-0.2-0.1-0.3c-0.2-0.6-0.7-1.4-0.8-1.6c-0.1-0.2-0.1-2.4-0.1-2.9c0.1-0.5,0-2.1-0.2-2.7c-0.2-0.6-0.3-1.9-0.2-2c0-0.2,0.3-0.8,0.3-0.9c0-0.2,0.2-0.7,0.2-1c0-0.3-0.1-1.4-0.3-1.8c-0.2-0.4-0.8-0.8-0.8-0.8s0.3,0.1,0.4,0c0.1-0.2,0.1-0.4,0.1-0.4S24,7.4,24,7c0,0,0.2,0,0.2-0.1c0-0.1,0.1-0.5,0.1-0.5s0.3,0.1,0.4,0c0.1-0.2,0-0.8,0-0.8s0.4-0.1,0.5-0.3c0.1-0.2,0-0.8,0-0.8s0.6-0.3,0.5-0.9c-0.1-0.6-0.5-1.7-2.3-1.8c-1.8,0-2.5,1.1-2.5,1.6c0,0.5-0.2,2.3-0.3,2.4c-0.1,0.1-3.1,0.2-4,1c-0.9,0.8-2.3,3.4-2.9,3.9c-0.6,0.5-2.7,2.3-2.4,4.2c0.3,1.8,1.4,3.4,1.4,3.4s0,2.7,0.2,2.9c0.3,0.1,1.1-0.7,1.1-0.7s-0.2,0.8-0.3,1.8l-2.6,0.1c-0.2-2.7-1.4-4.8-3-4.8l-5.1,0c-1.7,0-3,2.5-3,5.6c0,3.1,1.3,5.6,3,5.6c0.1,0,0.2,0,0.4,0l4.8-0.6c1.6,0,3-2.4,3-5.3l2.5-0.1c0,0.5-0.1,1.1,0,1.6c0.2,1.6,0.7,3.6,0.7,4c0,0.4-0.1,2.4-0.1,2.5c0,0.2,0.2,0.6,0.3,0.7c0.1,0,0.4,0.1,0.6,0.3c0.1,0.1,0.8,0.5,1.5,0.5c0.6,0,1.8-0.4,1.7-0.8c-0.1-0.5-1-0.7-1.4-1.5c-0.4-0.7-1-1.3-1-1.3s0-2.1,0.1-3.2c0.1-0.7,0.1-1.9,0.2-2.8l3.5-0.1c0,0.3,0,0.7,0,0.9c0.1,0.7,0.3,1.9,0.2,2.6c-0.1,0.7-0.1,2.6-0.1,2.6s-0.2,0.1-0.3,0.4c-0.1,0.3-0.4,1.5-0.2,1.7c0.2,0.1,1.6,0.2,2.1,0.3c0.6,0.1,1.8,0.4,2.3,0.3c0.5-0.1,1.1-0.2,0.9-0.8c-0.2-0.6-0.7-0.4-1.5-1c-0.9-0.6-1.3-1-1.3-1s0.1-0.4-0.2-0.6c0,0,0.4-3,0.5-4c0-0.4,0.1-0.9,0.1-1.4l1.6,0c0.1,0.2,0.3,0.3,0.6,0.2c0,0,0.1,0.1,0.2,0.1c0.1,0,0.4-0.3,0.6-0.4l0.3,0c0.1,2,1.4,3.6,3.1,3.6l2.5-0.1c1.7,0,3.1-1.7,3.1-3.7C34,20.2,32.6,18.5,30.9,18.5z M16.1,21.7c0-0.3,0.3-1,0.3-1s0.1,0.6,0.4,0.5c0.3,0,2.7-0.7,2.7-0.7s0,0.7,0,1.4L16.1,22C16.1,21.9,16.1,21.8,16.1,21.7z M21.7,18.4c-0.6-0.7-1.9-2.9-2-3.2c-0.1-0.2-0.4-0.8-0.4-0.8s2-1.4,2.5-2.2c0,0,0.2,2,0.2,2.4c0,0.4,0,2.3,0.3,2.9c0.3,0.6,1,2.5,1,2.9c0,0.3,0,0.9,0.1,1.4l-1.3,0c0-0.6,0.1-1.1,0.1-1.3C22.2,20.1,22.3,19,21.7,18.4z"/></svg>');
    transition: background-image 0.3s ease;
}

/* Estado "On" (ativo, input está checked) */
#plano_treino .switch.switch-success:not(.switch-outline) input:checked~span:before {
    background-color: #ffffff;
    /* Cor do fundo do círculo */
}

#plano_treino .switch.switch-success:not(.switch-outline) input:checked~span:after {
    background-color: #47e754;
    /* Cor de fundo verde */
    color: #ffffff;
    /* Cor do texto ou ícone no estado "On" */
    opacity: 1;
}

/* Estado "Off" (desativado, input não está checked) */
#plano_treino .switch.switch-success:not(.switch-outline) input:not(:checked)~span:before {
    background-color: #fbfbfb;
    /* Cor do fundo do círculo */
}

#plano_treino .switch.switch-success:not(.switch-outline) input:not(:checked)~span:after {
    background-color: #d2d2d2;
    /* Cor de fundo cinza */
    color: #6c757d;
    /* Cor do texto ou ícone no estado "Off" */
    opacity: 1;
}


body {
    background: #fbfbfb !important;
}

.nav.nav-pills.nav-danger .show>.nav-link,
.nav.nav-pills.nav-danger .nav-link:hover:not(.active) {

    background-color: #ffffef !important;
}

.text-end {
    text-align: right !important;
}

.text-start {
    text-align: left !important;
}

.card.card-custom>.card-header {
    min-height: 50px !important;
}

.form-control.form-control-solid {
    background-color: #FFF !important;
    border-color: #d2d2d2 !important;
}

.nav .nav-link .nav-icon svg g [fill] {
    -webkit-transition: fill 0.3s ease;
    transition: fill 0.3s ease;
    fill: #f64e60 !important;
}

.card-body label {
    font-weight: 700;
    text-transform: uppercase;
}

/* Notifications page - hybrid identity (homepage tone + Metronic structure) */
.ntf-page .ntf-shell {
    border: 1px solid #e8eaed;
    box-shadow: 0 2px 8px rgba(32, 33, 36, 0.08);
    min-height: 78vh;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.ntf-shell-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.ntf-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.ntf-close-btn {
    min-width: 104px;
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

.ntf-close-btn:hover,
.ntf-close-btn:focus {
    background-color: #c82333 !important;
    border-color: #bd2130 !important;
    color: #ffffff !important;
    text-decoration: none;
}

.ntf-unread-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #f2b8b5;
    background: #f9dedc;
    color: #842029;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.ntf-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.ntf-filters .btn {
    border-radius: 10px;
}

.ntf-filter-active,
.ntf-filter-active:hover,
.ntf-filter-active:focus {
    background-color: #1b8334 !important;
    border-color: #1b8334 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(27, 131, 52, 0.25);
}

.ntf-feedback {
    min-height: 22px;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #5f6368;
}

.ntf-feedback-success {
    color: #0f5132;
}

.ntf-feedback-error {
    color: #842029;
}

.ntf-feedback-info {
    color: #1f2937;
}

.ntf-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ntf-item {
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-left: 4px solid #34a853;
    border-radius: 12px;
    padding: 16px;
    transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.ntf-item:hover {
    box-shadow: 0 8px 24px rgba(32, 33, 36, 0.15);
    transform: translateY(-2px);
}

.ntf-item-read {
    border-left-color: #cdd5df;
    background: #fcfcfd;
}

.ntf-item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.ntf-item-title-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ntf-item-title {
    font-size: 14px;
    font-weight: 700;
    color: #202124;
}

.ntf-item-label-new {
    background: #e3f2fd;
    color: #0d47a1;
    border: 1px solid #bbdefb;
}

.ntf-item-date {
    white-space: nowrap;
    font-size: 12px;
    color: #5f6368;
}

.ntf-item-body {
    font-size: 13px;
    line-height: 1.55;
    color: #5f6368;
    white-space: pre-line;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ntf-item-body-collapsed {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

.ntf-item-body-expanded {
    display: block;
}

.ntf-item-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.ntf-toggle-btn {
    padding: 0;
    color: #1b8334;
    text-decoration: none;
}

.ntf-toggle-btn:hover,
.ntf-toggle-btn:focus {
    color: #145924;
    text-decoration: underline;
}

.ntf-empty-state {
    border: 2px dashed #dadce0;
    border-radius: 12px;
    background: #ffffff;
    text-align: center;
    padding: 24px;
}

.ntf-empty-icon {
    font-size: 30px;
    margin-bottom: 8px;
}

.ntf-empty-title {
    font-size: 18px;
    font-weight: 700;
    color: #202124;
    margin-bottom: 8px;
}

.ntf-empty-text {
    font-size: 14px;
    color: #5f6368;
}

.ntf-empty-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    color: #1b8334;
    font-weight: 700;
}

.ntf-empty-link:hover,
.ntf-empty-link:focus {
    color: #145924;
    text-decoration: none;
}

.ntf-btn-loading {
    opacity: 0.8;
    pointer-events: none;
}

.ntf-page .btn:focus,
.ntf-page .btn:focus-visible,
.ntf-empty-link:focus,
.ntf-empty-link:focus-visible {
    outline: 3px solid #34a853;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {

    .ntf-item,
    .ntf-item:hover,
    .ntf-page .btn,
    .ntf-empty-link {
        transition: none !important;
        transform: none !important;
    }
}

@media (max-width: 767.98px) {
    .ntf-shell-header {
        flex-direction: column;
        align-items: stretch;
    }

    .ntf-toolbar {
        justify-content: space-between;
    }

    .ntf-close-btn {
        width: 100%;
    }

    .ntf-filters .btn {
        flex: 1 1 calc(50% - 8px);
    }

    .ntf-item-header {
        flex-direction: column;
    }

    .ntf-item-date {
        margin-top: 4px;
    }
}

input[readonly][disabled] {
    /* Adicione estilos de aparência desativada aqui */
    color: #bcbcbc;
    /* Cor do texto mais clara para indicar desativado */
    background-color: #f5f5f5;
    /* Cor de fundo mais clara */
    cursor: not-allowed;
    /* Cursor de "não permitido" */
    border: 1px solid #ddd;
    /* Adicione uma borda mais clara */
    /* Outros estilos que você achar apropriados */
}

.btn.btn-clean:hover:not(.btn-text):not(:disabled):not(.disabled),
.btn.btn-clean:focus:not(.btn-text),
.btn.btn-clean.focus:not(.btn-text) {
    background-color: transparent !important;
}

.btn-dark-50 {
    background-color: #ca5353;
    color: #fff;
}

.btn-dark-50:hover {
    background-color: #d11111;
}

.topbar-item .btn .symbol-label:hover {
    background-color: #444 !important;
}

.font-weight-500 {
    font-weight: 400 !important;
    font-size: 15px !important;
    text-transform: none !important;
}

/*
.subheader a, .pagination a{
    color: #222222!important;
} */
.subheader button:hover {
    color: #fff !important;
}

.subheader h5 a:hover {
    color: #32e6dd !important;
}

.navi a:hover {
    color: #fff !important;
}

.navi .sub-a:hover {
    color: #000 !important;
    cursor: pointer;
}

.page-link-v {
    background-color: #eaffe8 !important;
}

a {
    color: #ffffff;
    text-decoration: none;
    background-color: transparent;
}

.form-group label {
    font-size: 1.2rem;
    font-weight: 600;
    color: #464E5F;
}

.text-grey-1 {
    color: #363636;
}

.auth-icon {
    max-width: 40px !important;
}

.bg-gray-900 {
    background-color: #464646 !important;
}

.bg-gray-333 {
    background-color: #d2d2d2;
}

.bg-light-3 {
    background-color: #f3f3f3;
}

.bg-light-5 {
    background-color: #ebebeb;
}

.bg-light-6 {
    background-color: #f6f6f6;
}

.bg-light-2 {
    background-color: #f0f7ff;
}

.brand {
    background-color: #1a1a1a !important;
}

.icons-clients span {
    margin-top: -20px;
}

#client-detail h5 {
    color: #2e2e2e;
}

.btn-close {
    background-color: #f64e60 !important;
    color: #fff !important;
    border: none !important;
}

.aside {
    background-color: #1a1a1a !important;
}

.aside-menu {
    background-color: #1a1a1a !important;
}

.aside-menu .menu-nav>.menu-item.menu-item-active>.menu-heading,
.aside-menu .menu-nav>.menu-item.menu-item-active>.menu-link {
    background-color: #000000 !important;
}

.aside-menu .menu-nav>.menu-item.menu-item-active>.menu-heading .menu-icon,
.aside-menu .menu-nav>.menu-item.menu-item-active>.menu-link .menu-icon {
    color: #F3F6F9 !important;
}

.aside-menu a:hover {
    color: #ffc984 !important;
}

.aside-menu .menu-nav>.menu-section .menu-text {
    color: #ffffff !important;
}

#upload-image-table img {
    max-width: 120px !important;
}

.btn-read {
    background-color: #f3f6f9 !important;
}

.symbol-white-logo>img {
    width: 100% !important;
    max-width: 228px !important;
    height: auto;
}

.radio {
    font-weight: 500 !important;
    text-transform: initial !important;
    font-size: 13px !important;
}

.aside-menu .menu-nav>.menu-section .menu-text {
    font-size: 1.12rem !important;
}

.aside-menu .menu-nav>.menu-item>.menu-heading .menu-text,
.aside-menu .menu-nav>.menu-item>.menu-link .menu-text {
    font-weight: 500;
    font-size: 1.05rem;
}

.aside-menu .menu-nav>.menu-item>.menu-heading .menu-icon,
.aside-menu .menu-nav>.menu-item>.menu-link .menu-icon {

    -ms-flex: 0 0 25px !important;
    flex: 0 0 25px !important;
}

.aside-menu .menu-nav>.menu-section {
    margin: 25px 0 0 0 !important;
}

[data-notify] {
    z-index: 9999 !important;
}

.tox .tox-edit-area__iframe {
    background-color: #fbfbfb !important;
}

#editpages .tox-tinymce {
    border-radius: 0.42rem !important;
    height: 900px !important;
}

.symbol .symbol-label {
    width: 84px !important;
    height: 50px;
}

.dataTables_wrapper .dataTables_paginate .pagination .page-item.active>.page-link {
    background-color: #ccc !important;
}

.subtitle {
    margin: -12px 12px 20px;
    color: #bbb;
}

.red {
    color: red;
    font-weight: 500;
}

#line-input,
#line-input-2 {
    min-width: 300px;
}

.border-bottom-1 {
    border-bottom: 1px solid #c53a2e;
}

.custom-height {
    height: 500px;
    /* Altura desejada */
    overflow-y: auto;
    /* Barra de rolagem, se necessário */
    border: 1px solid #ccc;
    /* Opcional: para visualização */
    padding: 10px;
    /* Opcional: para espaçamento interno */
}

.arc-chart {
    width: 200px;
    height: 200px;
}

.card-toolbar .payment {
    margin-right: 0px;
    margin-left: 6px;
}

.card-toolbar .payment label {
    padding-right: 10px !important;
    margin-bottom: 0px !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
}

.checklist-payment .checkbox>input:checked~span {
    background-color: #619c85 !important;
}

.payment-status-detail {
    position: absolute;
    top: 30px;
    right: 60px;
}

.payment-status-detail .text-muted {
    color: #dadada !important;
}

#customModalConfig.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

#customModalConfig .modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

#modalMessage {
    font-size: 22px;
}

.text-primary-2 {
    color: #ecab99 !important;
}

.text-primary-3 {
    color: #72bbd7 !important;
}

.status label {
    margin-right: 16px;
    margin-top: 0.5rem !important;
    margin-bottom: 0px !important;
    margin-left: 10px;
}

.min-w-120 {
    min-width: 120px !important;
}

.max-w-150 {
    max-width: 150px !important;
}

.reorder_steps {
    max-width: 100px;
}

/*
 *  Bootstrap Duallistbox - v3.0.2
 *  A responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices.
 *  http://www.virtuosoft.eu/code/bootstrap-duallistbox/
 *
 *  Made by IstvÃ¡n Ujj-MÃ©szÃ¡ros
 *  Under Apache License v2.0 License
 */
.bootstrap-duallistbox-container .buttons {
    width: 100%;
    margin-bottom: -1px;
}

.bootstrap-duallistbox-container label {
    display: block;
}

.bootstrap-duallistbox-container .info {
    display: inline-block;
    margin-bottom: 5px;
    font-size: 11px;
}

.bootstrap-duallistbox-container .clear1,
.bootstrap-duallistbox-container .clear2 {
    display: none;
    font-size: 10px;
}

.bootstrap-duallistbox-container .box1.filtered .clear1,
.bootstrap-duallistbox-container .box2.filtered .clear2 {
    display: inline-block;
}

.bootstrap-duallistbox-container .move,
.bootstrap-duallistbox-container .remove {
    width: 60%;
}

.bootstrap-duallistbox-container .btn-group .btn {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.bootstrap-duallistbox-container select {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.bootstrap-duallistbox-container .moveall,
.bootstrap-duallistbox-container .removeall {
    width: 40%;
}

.bootstrap-duallistbox-container.bs2compatible .btn-group>.btn+.btn {
    margin-left: 0;
}

.bootstrap-duallistbox-container select {
    width: 100%;
    height: 300px;
    padding: 0;
}

.bootstrap-duallistbox-container .filter {
    display: inline-block;
    width: 100%;
    height: 31px;
    margin: 0 0 5px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.bootstrap-duallistbox-container .filter.placeholder {
    color: #aaa;
}

.bootstrap-duallistbox-container.moveonselect .move,
.bootstrap-duallistbox-container.moveonselect .remove {
    display: none;
}

.bootstrap-duallistbox-container.moveonselect .moveall,
.bootstrap-duallistbox-container.moveonselect .removeall {
    width: 100%;
}

.moveall,
.removeall {
    border: 1px solid #ccc !important;

    &:hover {
        background: #efefef;
    }
}



.moveall::after {
    content: attr(title);

}

.removeall::after {
    content: attr(title);
}

.form-control option {
    padding: 10px;
    border-bottom: 1px solid #efefef;
}

.checkbox-3 .checkbox>span {
    background-color: #ebebeb;
    border: 1px solid #949494;
}

#checkbox3 {
    font-size: 1.0rem !important;
    font-weight: 500 !important;
    color: #464E5F;
    padding-top: 1px !important;
}

.checkbox>input:checked~span {
    background-color: #619c85 !important;
}

.form-control.form-control-solid-gray {
    background-color: #F1F1F4;
    border-color: #F1F1F4;
    color: #4B5675;
    transition: color .2s ease;
}

.btn.btn-outline-danger:hover:not(.btn-text):not(:disabled):not(.disabled),
.btn.btn-outline-danger:focus:not(.btn-text),
.btn.btn-outline-danger.focus:not(.btn-text) {
    color: #ffffff !important;
    background-color: #F64E60;
    border-color: #F64E60;
    font-weight: 800;
}

.btn-outline-danger:hover .fa-eye {
    color: #ffffff !important;
}

.swal2-popup {
    width: 62em !important;
}

.swal2-container .swal2-html-container {
    max-height: 460px !important;
    overflow: auto;
}

.swal2-content ul {
    list-style-type: none;
    /* Remove o bullet */
    margin-top: 6px;
    text-align: left;
}

.swal2-content li {
    display: inline-block;
    /* Faz com que as li's fiquem em linha */
    vertical-align: bottom;
    white-space: nowrap;
    line-height: 22px;

}

.swal2-content .icon {
    margin-right: 5px;
    /* Espaçamento entre o ícone e o texto */
}

.mw-750px {
    max-width: 750px !important;
}

.checklists .refid {
    margin: 0 40px
}

.checklists {
    margin-left: 10px;
}

#list-table_wrapper tbody td {
    font-size: 11px !important;
    color: #222222 !important;
    padding: 0.5rem 0.8rem;
    white-space: nowrap;
}

.file-upload-form {
    display: block;
    justify-content: center;
}

.file-upload-container {
    position: relative;
    display: inline-block;
}

.custom-file-upload {
    display: inline-block;
    padding: 1.05rem 0.95rem;
    font-size: 1.05rem;
    line-height: 1.35;
    border-radius: 0.42rem;
    cursor: pointer;
    background-color: #619c85;
    border-color: #619c85;
    color: white;
    transition: background-color 0.3s ease;
}

.custom-file-upload:hover {
    background-color: #56ad8b;
    border-color: #56ad8b;
}

/* Esconder o input de arquivo real */
#file-upload {
    display: none;
}


/* Estilo para o botão de envio */
.upload-button {
    padding: 10px 20px;
    background-color: #56ad8b;
    /* Cor de fundo do botão */
    color: white;
    /* Cor do texto */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.upload-button:hover {
    background-color: #0056b3;
    /* Mudança de cor ao passar o mouse */
}

#emailModal .form-control {
    background-color: #f7f7f7;
}

.icons-search-clea#f7f7f7r,
.icons-search-go,
.icons-search-clear-plus-version,
.icons-search-go-plus-version {
    color: #f7f7f7;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}

.modal-backdrop.show {
    opacity: 0.82;
}

.wizard[data-wizard-clickable=true] .wizard-step {
    cursor: default;
}

input[type="text"][disabled],
select[disabled] {
    opacity: 0.25 !important;
    /* Reduz a opacidade para indicar que o input está desabilitado */
    cursor: not-allowed;
    /* Altera o cursor para 'não permitido' */

}

/* Estilizando inputs de texto desabilitados de forma mais suave */
input[type="text"][disabled]:hover,
select[disabled]:hover {
    opacity: 0.25 !important;
    /* Aumenta ligeiramente a opacidade quando o mouse passa sobre o input desabilitado */
}

.form-control.form-control-solid2 {
    background-color: #F9F9F9;
    border-color: #F9F9F9;
    color: #4B5675;
    transition: color .2s ease;
}

.separator {
    display: block;
    height: 0;
    border-bottom: 1px solid #F1F1F4;
}

#createDriverForm .form-group {
    margin-bottom: 0.75rem !important;
}

#createDriverForm textarea {
    height: 100px !important;
}

@media (min-width: 768px) {
    .w-md-400px {
        width: 400px !important;
    }
}

.max-h-50px {
    max-height: 50px;
}


.form-check-label {
    margin-top: 1px !important;
    font-size: 1.0rem !important;
    font-weight: 400 !important;
    color: #464E5F !important;
}

.form h6 {
    color: #619c85;
}

.card-body label {
    margin-bottom: 2px !important;
}

#dataPay .form-check-label {
    margin-bottom: 0px !important;
}

.fa-3xl {
    font-size: 3em;
}

.fa-danger {
    color: #619c85 !important;
}

.card.card-custom {
    -webkit-box-shadow: 0px 0px 0px 0px;
    box-shadow: 0px 0px 0px 0px !important;
    border: 0;
}

#disponibility .card .card-header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    min-height: 50px;
    padding: 0 2.25rem;
}

#disponibility .card .card-header .card-toolbar {
    display: flex;
    align-items: center;
    margin: 0.5rem 0;
    flex-wrap: wrap;
}

#disponibility .card .card-header .card-title {
    display: flex;
    align-items: center;
    margin: 0.5rem;
    margin-left: 0;
}

.btn-alpha {
    background-color: #ffffff00;
    border: none;
}

#modal-success .modal-header,
#modal-error .modal-header {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0 0.625em;
    font-size: 1em;
    border: none !important;
}

.swal2-html-container {
    text-align: center !important;
}

.color-green {
    color: #59d15e;
    /* Verde */
}

.color-orange {
    color: #FF9800;
    /* Laranja */
}

.color-blue {
    color: #53b1fb;
    /* Azul */
}

.color-yellow {
    color: #ffe500;
    /* Amarelo */
}

.color-red {
    color: #F44336;
    /* Vermelho */
}

.bg-green {
    background-color: #59d15e;
    /* Verde */
}

.bg-orange {
    background-color: #FF9800;
    /* Laranja */
}

.bg-blue {
    background-color: #53b1fb;
    /* Azul */
}

.bg-blue-light {
    background-color: #53cafb;
}

.bg-yellow {
    background-color: #ffe500;
    /* Amarelo */
}

.bg-red {
    background-color: #F44336;
    /* Vermelho */
}

.bg-transparent {
    background-color: #00000000;
}

#home .nav.nav-pills .show>.nav-link,
.nav.nav-pills .nav-link.active {

    background-color: #00000000;
    border-bottom: 1px dashed #ffc984;
    border-top: 1px dashed #ffc984;
    border-radius: 0;
}

#home .report a {
    color: #333 !important;
    font-weight: 700;

}

.z-index-1000 {
    z-index: 1000 !important;
}

.text-danger-log {
    color: red;
    background-color: #000000b3;
    padding: 6px 0px;
}

#contractResume table td {
    border: 0;
}

#contractResume a {
    color: #65cafc !important;
}

.nav .show>.nav-link .nav-text,
.nav .nav-link:hover:not(.disabled) .nav-text,
.nav .nav-link.active .nav-text {
    -webkit-transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, -webkit-box-shadow 0.15s ease;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease;
    color: #4898b1;
}

#kt_header_mobile {
    position: relative;
    /* Garante que a altura máxima seja relativa ao elemento pai */
}

#kt_header_mobile img {
    max-height: 40px;
    /* Define a altura máxima da imagem como 100% da altura do elemento pai */
    width: auto;
    /* Garante que a largura seja ajustada automaticamente para manter a proporção */
    display: block;
    /* Garante que a imagem não tenha espaços vazios abaixo */
    margin: auto;
    /* Centraliza a imagem horizontalmente */
}

@media (max-width: 991.98px) {
    .header-mobile-fixed .wrapper {
        padding-top: 0px !important;
    }

    .alert.alert-custom {
        padding: 1.5rem 0.5rem !important;
    }

}

.quick-search-form {
    border-bottom: 1px solid #ececec;
}

.error-message-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
}

.error-message-list li {
    margin-right: 10px;
    color: #ff0000;
    /* Cor do texto do erro */
}

.error-icon {
    margin-right: 5px;
    color: #ff0000;
    /* Cor do ícone de erro */
}

#conditions {
    color: #000000 !important;
}

#conditions h4 {
    font-size: 10px;
    margin-bottom: 10px;
}

#conditions h6 {
    font-size: 9px;
    font-weight: 700;
    margin-bottom: 4px;
}

#conditions p {
    font-size: 6px;
    line-height: 7px;
    margin-bottom: 10px;
}

#pos-fill span {
    line-height: 12px;
}

#loader {
    z-index: 9999;

}

.spinner.spinner-lg:before {
    width: 4rem;
    height: 4rem;
    margin-top: -1rem;
}

.bg-black {
    background-color: #000000 !important;
}

.font-size-10 {
    font-size: 10px;
}

.font-size-11 {
    font-size: 11px;
}

.font-size-12 {
    font-size: 12px;
}

.min-w-115px {
    min-width: 115px;
}

.w-115px {
    width: 115px;

}

.border-y-1 {
    border-top: 1px dashed #EBEDF3 !important;
    border-bottom: 1px dashed #EBEDF3 !important;
}

.bg-cinza {
    background-color: #EBEDF3 !important;
}

.bg-yellow-2 {
    background-color: #ffffdd !important;
}

#home .nav-item a {
    background-color: #619c85;
    color: #fff !important;
}

#home .nav-item a:hover {
    background-color: #242424;
    border-color: #fffdd4 !important;
}

.nav-link:hover .nav-text,
.nav-link:focus .nav-text {
    color: #fffecc;
}

#home .nav-item a:hover span i {
    color: #fffecc !important;
}

.quick-search-form {
    border-bottom: 1px solid #ececec;
}

#home .card a:hover {
    background-color: #363636;
}

#home .card .nav-text {
    color: #fff;
}

#home .card .nav-text:hover {
    color: #fffecc !important;
}

.draggable {
    cursor: move;
    margin-bottom: 5px;
}

.droppable {
    border: 2px dashed #ccc;
    min-height: 150px;
    padding: 10px;
}

.list-group-item {
    width: 100%;
    margin-bottom: 5px;
    position: relative;
}

.dropped-item {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
}

.remove-item {
    position: absolute;
    top: 5px;
    right: 10px;
    cursor: pointer;
    color: red;
}

.alert-duplicate {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: red;
    color: white;
    padding: 10px;
    border-radius: 5px;
    display: none;
    z-index: 1000;
}

#blocos .custom-list {
    list-style-type: none;
    padding: 0;
}

#blocos .card-footer .btn-success {
    color: #ffffff !important;
}

#blocos .custom-list .list-inline-item::first-letter {
    text-transform: uppercase;
}

/* Estilizar as demais letras em minúscula */
#blocos .custom-list .list-inline-item {
    text-transform: lowercase;
}

.border-training {
    border-top: 1px dashed #fff;
    border-bottom: 1px dashed #fff;
}

.font-size-14 {
    font-size: 14px;
}

.fw-bold {
    font-weight: 600;
}

.cursor {
    cursor: default;
}

.btn-transparent-white {
    background-color: transparent;
    color: #fff;
    border: none;
    padding: 0;
}

.btn-transparent-white i {
    color: #fff;
    font-size: 1rem;
    padding-right: 6px;
}

.fc-event-main {
    width: 100% !important;
}

.event-full {
    background-color: #619c85 !important;
    border: none !important;
    color: #FFFFFF !important;
}

.event-partial {
    background-color: #33AA33 !important;
    border: none !important;
    color: #FFFFFF !important;
}

.event-empty {
    background-color: rgba(0, 0, 0, 0) !important;
    border: none !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.timeline.timeline-3 .timeline-items .timeline-item {
    border-left: none !important;
}


.toast-container {
    top: 40px;
    z-index: 1050;
}

.search-results {
    display: none;
    max-height: 200px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    position: absolute;
    width: 100%;
    z-index: 1001;
}

.search-results .list-group-item {
    cursor: pointer;
}

/*
.fc-timegrid-event-harness {
    position: relative !important; 
    top: auto !important; 
    left: 0 !important; 
    width: 100% !important; 
    margin-bottom: 1px; 
}
*/

.fc-v-event {
    position: relative !important;
    /* Garante que cada evento seja posicionado relativamente */
    width: 100% !important;
    /* Garante que o evento ocupe 100% da largura */
}

#modalDisponibilidade {
    .modal-dialog {
        max-height: 90vh;
        /* Limita a altura do modal a 90% da altura da janela */
        overflow-y: auto;
        /* Garante que o modal pode ser rolado */
    }

    .modal-body {
        max-height: 70vh;
        /* Limita a altura do corpo do modal */
        overflow-y: auto;
        /* Adiciona rolagem vertical ao corpo do modal */
    }

    .modal-header {

        padding: 1.1rem 1.75rem 0;
        border-bottom: none !important;
    }

    .card-header {
        background-color: #f7f7f7;
        border: 1px solid #ddd;
    }

    h5 {
        padding: 12px;
    }

    .card-body {
        background-color: #fff;
    }

    .border {
        border: 1px solid #56ad8b;
    }

    .rounded {
        border-radius: 0.25rem;
    }

    .mb-2 {
        margin-bottom: 0.5rem;
    }

    .p-3 {
        padding: 1rem;
    }
}

input[readonly] {
    background-color: #f0f0f0;
    /* Cor de fundo para campos readonly */
    border: 1px solid #ccc;
    /* Borda para campos readonly */
    color: #666;
    /* Cor do texto para campos readonly */
    cursor: not-allowed;
    /* Cursor de não permitido */
}

#seeClientDataModal {
    .card-header {
        padding: 1rem 1.25rem;
        border-bottom: none !important;
    }

    .card-title {
        margin-bottom: 0px;
    }

    .text-gray-600 {
        color: #78829d;
    }

    .text-gray-900 {
        color: #071437;
    }

    .timeline.timeline-3 .timeline-items .timeline-item .timeline-content:before {
        top: 4px !important;
        left: -24px !important;
    }

    .timeline.timeline-3 .timeline-items .timeline-item {

        padding: 0 0 20px 30px;
    }

    .timeline.timeline-3 .timeline-items .timeline-item .timeline-media {
        left: -26px;
        width: 40px !important;
        height: 40px !important;
    }

    .nav-link:hover .nav-text {
        color: #000000 !important;
    }


    .text-gray-500 {
        color: #adb5bd;
        /* Ícone em cinza claro */
    }

    .alert-secondary {
        background-color: #e9ecef;
        color: #495057;
        /* Plano de treino em cinza escuro */
    }

    .card-no-border {
        border: none !important;
        box-shadow: none !important;
        /* Remove a sombra padrão */
    }

    .exercise-item {
        border: 1px solid #ddd;
        padding: 10px;
        border-radius: 8px;
        background-color: #f9f9f9;
    }

    .exercise-details span {
        display: inline-block;
        margin-right: 10px;
        font-size: 14px;
    }



}

#objectivos option:checked {
    background-color: #688d99;
    /* Cor de fundo personalizada */
    color: #fff;
}


@media (min-width: 1024px) {
    .lg\:pe-8 {
        padding-inline-end: 2rem;
    }
}

#modal-confirm-remove,
#modal-success,
#modal-conflicts {
    z-index: 1065;
    /* Valor acima de 1050, que é o padrão dos modais Bootstrap */
}

#modal-confirm-remove .modal-backdrop,
#modal-success .modal-backdrop,
#modal-conflicts .modal-backdrop {
    z-index: 1060;
    /* Coloca a backdrop ligeiramente abaixo do modal */
}

@media (max-width: 580px) {
    .fc .fc-toolbar-title {
        font-size: 12px;
    }
}

.edit-item {
    margin-right: 10px;
}

.remove-item {
    font-size: 20px;
}

.listEmails td {
    font-size: 10px !important;
}

.highlight-selected {
    background-color: #fff3cd;
    /* Amarelo claro */
}

.registered-plan {
    background-color: #fff3cd;
    /* Amarelo claro */
}

.detail-btn {
    margin-left: 10px;
}

.detail-box {
    display: none;
    position: absolute;
    background: #fff;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 1050;
    max-width: 300px;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    white-space: normal;
    overflow-wrap: break-word;
}


/* ESTILOS PARA FORMATAR O CALENDAR CASO SEJA PERSONAL TREINER
Define uma altura maior para as linhas quando o perfil é PT */
.profile-pt .fc-timegrid-slot {
    height: 150px !IMPORTANT;
    /* Ajuste conforme necessário */
}

.profile-pt .fc-event {
    line-height: 1.8em;
    /* Ajuste o espaçamento do texto dentro dos eventos */
}

.profile-pt thead {
    background-color: #619c85;
    text-transform: uppercase;
    border: none;
    line-height: 30px;
}

.profile-pt .fc-theme-standard td,
.profile-pt .fc-theme-standard th {
    border: 1px solid #000 !IMPORTANT;
}

.profile-pt .fc-timegrid-slot-label-cushion {
    color: #FFFFFF !important;
}

.profile-pt .fc-timegrid-event-harness-inset .fc-timegrid-event {
    box-shadow: none !important;
}

.profile-pt .fc-event {
    background-color: transparent !important;
    border-color: transparent !important;
}

.profile-pt .fc-timegrid-slot {
    background-color: #202020 !important;
}

.profile-pt .fc-col-header-cell-cushion {
    color: #FFFFFF !important;
}

.fc-col-header tr {
    background-color: #333 !important;
}

.border-radius-0 {
    border-radius: 0 !important;
}

.border-tbr-0 {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Container de ações dentro do evento */
.fc-event .event-actions {
    display: flex;
    gap: 4px;
    margin-left: auto;
    align-items: center;
}

/* Botões minimalistas */
.fc-event .event-actions .btn {
    padding: 0px;
    width: 20px;
    height: 20px;
    font-size: 11px;
    line-height: 1;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ícones centralizados e pequenos */
.fc-event .event-actions .btn i {
    font-size: 11px;
}

/* Nome do cliente compacto */
.fc-event .client-name {
    font-size: 10px;
    font-weight: 500;
    padding-left: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
    /* ajusta conforme necessário */
}

.fc-event-title i {
    padding-right: 0rem;
}

.fc-event-title .btn.btn-outline-danger {
    color: #F64E60;
    background-color: #ffffff;
    border-color: #F64E60;
}

/* 1) dá altura ao modal e permite layout em flex */
#seeClientDialog .modal-content {
    height: 90vh;
}

#seeClientDialog .modal-body {
    display: flex;
    flex-direction: column;
}

#seeClientDialog .modal-body>.container-fluid {
    flex: 1 1 auto;
    min-height: 0;
}

/* 2) colunas e cards preenchem a altura disponível */
.equal-row {
    height: 100%;
}

.min-h-0 {
    min-height: 0;
}

/* utilitária */
#seeClientDialog .col-xl-4,
#seeClientDialog .col-xl-8 {
    display: flex;
}

.card-stretch {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.card-stretch>.card-body {
    flex: 1 1 auto;
    overflow: auto;
    min-height: 0;
}

/* (opcional) deixar a Info “presa” no topo enquanto a direita rola */
.sticky-left {
    position: sticky;
    top: 0;
}

/* Compacto APENAS para perfis ≠ PT */
#calendar:not(.profile-pt) .event-actions {
    display: flex;
    gap: 4px;
    margin-left: auto;
    align-items: center;
}

#calendar:not(.profile-pt) .event-actions .btn {
    padding: 0;
    width: 20px;
    height: 20px;
    font-size: 11px;
    line-height: 1;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#calendar:not(.profile-pt) .event-actions .btn i {
    font-size: 11px;
}

#calendar:not(.profile-pt) .client-name {
    font-size: 10px;
    font-weight: 500;
    padding-left: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 80px;
}

/* Garante que no PT os botões não encolhem */
#calendar.profile-pt .event-actions .btn i {
    font-size: inherit;
}

#calendar.profile-pt .event-actions .btn {
    width: auto;
    height: auto;
    padding: .25rem .5rem;
}

/* Só aplica compactação quando NÃO for PT */
#calendar.profile-non-pt .event-actions {
    display: flex;
    gap: 4px;
    margin-left: auto;
    align-items: center;
}

#calendar.profile-non-pt .event-actions .btn {
    padding: 0;
    width: 20px;
    height: 20px;
    font-size: 11px;
    line-height: 1;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#calendar.profile-non-pt .event-actions .btn i {
    font-size: 11px;
}

#calendar.profile-non-pt .client-name {
    font-size: 10px;
    font-weight: 500;
    max-width: 80px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Garantir que no PT não encolhe */
#calendar.profile-pt .event-actions .btn {
    width: auto;
    height: auto;
    padding: .25rem .5rem;
}

#calendar.profile-pt .event-actions .btn i {
    font-size: inherit;
}



/* variações por ação */
.btn-nonpt {
    padding: 0px 2px !important;
    transition: none !important;
}

.btn-nonpt i {
    padding: 0 !important;
}

.btn-nonpt--info {
    /* estilos extra p/ info */
}

.btn-nonpt--incidencia {
    /* estilos extra p/ incidência */
}


#tab_condicao_fisica .table-active,
.table-active>th,
.table-active>td {
    background-color: #FFF;
}

#tab_condicao_fisica .card-body {
    padding-top: 0.25rem !important;
}

#tab_condicao_fisica .table-striped tbody tr:nth-of-type(odd) {
    background-color: #f9f9f9 !important;
}

.title-info {
    color: #619c85;
    font-size: 15px;
}


/* ============================================
   VARIÁVEIS E RESET
   ============================================ */
* {
    box-sizing: border-box;
}

:root {
    --bg-dark: #1a1a1a;
    --bg-card: #2d2d2d;
    --bg-header: #dc3545;
    --text-white: #ffffff;
    --text-gray: #cccccc;
    --border-color: #404040;
}

/* ============================================
   CONTAINER PRINCIPAL
   ============================================ */
.pt-view-wrapper {
    background: var(--bg-dark);
    min-height: 100vh;
    padding: 0;
    margin: 0;
}

/* ============================================
   HEADER FIXO - Estilo da imagem
   ============================================ */
.session-header {
    background: #4b4b4b;
    padding: 20px 30px;
    text-align: center;
    position: relative;

    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

#session-time-selector {
    width: auto !important;
}

.day-title {
    font-size: 2em;
    font-weight: 700;
    color: white;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.time-title {
    font-size: 2.5em;
    font-weight: 300;
    color: white;
    margin: 0;
}

/* ============================================
   CONTROLES DE NAVEGAÇÃO
   ============================================ */
.nav-controls {
    background: #222;
    padding: 15px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
}

.date-selector {
    display: flex;
    gap: 10px;
    align-items: center;
}

.date-selector input {
    background: #333;
    border: 1px solid #555;
    color: white;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 0.9em;
}

.btn-change {
    background: #555;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
}

.btn-change:hover {
    background: #0056b3;
}

.btn-back {
    background: #555;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
}

.btn-back:hover {
    background: #666;
}

/* ============================================
   GRID DE CLIENTES - 2x2
   ============================================ */
.clients-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 20px;
    max-width: 1800px;
    margin: 0 auto;
}

/* ============================================
   CARD DO CLIENTE - Estilo da imagem
   ============================================ */
.client-box {
    background: var(--bg-card);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

/* ============================================
   HEADER DO CARD
   ============================================ */
.client-header {
    background: #333;
    padding: 15px 20px;
    border-bottom: 2px solid #444;
}

.client-name {
    font-size: 1.5em;
    font-weight: 700;
    color: white;
    margin: 0 0 8px 0;
}

.client-plan {
    font-size: 1em;
    color: #aaa;
    margin: 0 0 12px 0;
}

/* Botões de ação */
.action-buttons {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.btn-action {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    font-weight: 600;
    transition: all 0.2s;
}

.btn-confirm {
    background: #28a745;
    color: white;
}

.btn-confirm:hover {
    background: #138496;
}

.btn-confirm:disabled {
    background: #dc3545;
    cursor: not-allowed;
}

.btn-incidence {
    background: #6c757d;
    color: white;
}

.btn-incidence:hover {
    background: #5a6268;
}

.btn-history {
    background: #ffc107;
    color: #000;
}

.btn-history:hover {
    background: #e0a800;
}

/* ============================================
   BODY - EXERCÍCIOS (ESTILO DA IMAGEM)
   ============================================ */
.client-body {
    padding: 20px;
    max-height: 500px;
    overflow-y: auto;
}

/* Scrollbar escura */
.client-body::-webkit-scrollbar {
    width: 8px;
}

.client-body::-webkit-scrollbar-track {
    background: #222;
}

.client-body::-webkit-scrollbar-thumb {
    background: #555;
    border-radius: 4px;
}

.client-body::-webkit-scrollbar-thumb:hover {
    background: #666;
}

/* ============================================
   LISTA DE EXERCÍCIOS - FORMATO DA IMAGEM
   ============================================ */
.exercises-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.exercise-item {
    padding: 12px 0;
    border-bottom: 1px solid #404040;
    color: var(--text-gray);
    line-height: 1.6;
}

.exercise-item:last-child {
    border-bottom: none;
}

.exercise-text {
    font-size: 1em;
    margin: 0;
    color: #ddd;
}

/* Destaque para o nome do exercício */
.exercise-text strong {
    color: white;
    font-weight: 600;
}

/* ============================================
   ESTADO VAZIO
   ============================================ */
.empty-message {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

.empty-message i {
    font-size: 3em;
    margin-bottom: 15px;
    display: block;
}

/* ============================================
   MODAL
   ============================================ */

.modal-header {
    background: #f1f1f1;
    color: #000;
    border-bottom: none;
}



.modal-footer {
    background: #f1f1f1;
    border-top: none;
    padding: 0.75rem 1.5rem;
}


.alert-info {
    background: #333;
    border: 1px solid #555;
    color: #aaa;
}

/* ============================================
   RESPONSIVIDADE
   ============================================ */
@media (max-width: 1400px) {
    .day-title {
        font-size: 1.6em;
    }

    .time-title {
        font-size: 2em;
    }
}

@media (max-width: 1024px) {
    .clients-grid {
        grid-template-columns: 1fr;
        padding: 15px;
    }

    .day-title {
        font-size: 1.4em;
    }

    .time-title {
        font-size: 1.8em;
    }

    .client-body {
        max-height: 400px;
    }
}

@media (max-width: 768px) {
    .session-header {
        padding: 15px 20px;
    }

    .day-title {
        font-size: 1.2em;
    }

    .time-title {
        font-size: 1.5em;
    }

    .nav-controls {
        flex-direction: column;
        gap: 10px;
    }

    .date-selector {
        width: 100%;
        justify-content: center;
    }

    .action-buttons {
        flex-wrap: wrap;
    }
}

/* ============================================
   ANIMAÇÕES
   ============================================ */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.client-box {
    animation: fadeIn 0.3s ease-out;
}

.client-box:nth-child(1) {
    animation-delay: 0s;
}

.client-box:nth-child(2) {
    animation-delay: 0.1s;
}

.client-box:nth-child(3) {
    animation-delay: 0.2s;
}

.client-box:nth-child(4) {
    animation-delay: 0.3s;
}

.pt-view-wrapper i {
    color: #fdf351 !important;
}

#tab_exercicios_hoje h5,
p {
    color: #666666 !important;
}

.btn-success-light {
    background-color: #619c85;
}

.btn-success-light:hover {
    background-color: #5cb794;
}

/* CSS para Avaliação Nutricional - Impressão */

/* Estilos para o modal de impressão */
#nutri_print_content {

    padding: 20px;
}

#modalPrintNutri .modal-dialog {
    max-width: 100%;
    width: 100%;
    margin: auto;
}

#modalPrintNutri .modal-content {
    min-height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    background-color: #f8f9fa !important;
}


#modalPrintNutri .modal-body {
    background: #f5f5f5;
    padding: 20px;
}

/* IMPORTANTE: Garantir que o backdrop apareça escuro e ocupe 100% da tela */
.modal-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
    z-index: 1040 !important;
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop.show {
    opacity: 1 !important;
}

/* Garantir z-index correto para o modal ficar acima do backdrop */
#modalPrintNutri {
    z-index: 1060 !important;
}

#modalPrintNutri.modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Estilos de impressão */
@media print {

    /* Ocultar tudo exceto o conteúdo de impressão */
    body * {
        visibility: hidden;
    }

    #nutri_print_content,
    #nutri_print_content * {
        visibility: visible;
    }

    #nutri_print_content {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        padding: 20px;
        background: white !important;
    }

    .nutri-print-page {
        page-break-after: always;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 20mm !important;
        background: white !important;
    }

    /* Ocultar elementos não necessários na impressão */
    .modal-header,
    .modal-footer,
    .btn,
    button,
    .modal-backdrop {
        display: none !important;
        visibility: hidden !important;
    }

    /* Garantir cores em impressão */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
}

/* Estilos para o gráfico de evolução */
#nutri_chart_container {
    position: relative;
    height: 300px;
    width: 100%;
}

#nutri_evolution_chart {
    max-height: 300px;
}

/* Estilos para tabs */
#nutriTabs .nav-link {
    color: #6c757d;
    border: 1px solid transparent;
    border-radius: 0.25rem 0.25rem 0 0;
}

#nutriTabs .nav-link:hover {
    border-color: #e9ecef #e9ecef #dee2e6;
}

#nutriTabs .nav-link.active {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff;
}

/* Formatação do documento impresso */
.nutri-print-page {
    background: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.nutri-print-page h2 {
    color: #000;
    font-weight: bold;
    margin-bottom: 5px;
}

.nutri-print-page h3 {
    color: #999;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 25px;
    margin-bottom: 15px;
}

.nutri-print-page ul {
    list-style: none;
    padding-left: 0;
}

.nutri-print-page ul li {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.6;
}

.nutri-print-page strong {
    font-weight: 600;
    color: #000;
}

/* Barra de classificação IMC */
.imc-scale {
    height: 30px;
    background: linear-gradient(to right,
            #3498db 0%, #3498db 18.5%,
            #2ecc71 18.5%, #2ecc71 25%,
            #f39c12 25%, #f39c12 30%,
            #e74c3c 30%);
    border-radius: 5px;
    position: relative;
    margin: 10px 0;
}

/* Responsividade */
@media (max-width: 768px) {
    #nutri_chart_container {
        height: 250px;
    }

    .nutri-print-page {
        padding: 15px !important;
    }

    #modalPrintNutri .modal-dialog {
        max-width: 95%;
        margin: 0.5rem auto;
    }
}

/* Animações suaves */
.tab-pane {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Destaque para campos calculados */
input[readonly] {
    background-color: #f8f9fa !important;
    cursor: not-allowed;
}

/* Melhorias visuais para a lista de histórico */
#nutri_list_body tr:hover {
    background-color: #f8f9fa;
    cursor: pointer;
}

/* Ícones de ação */
#nutri_list_body .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

#nutri_list_body .btn-sm i {
    font-size: 0.875rem;
}

/* Modal de impressão - melhorias visuais */


#modalPrintNutri .modal-footer {
    border-top: 1px solid #dee2e6;
}


/* ============================================
   MODAL PLANOS DE TREINO - SISTEMA 2 PAINÉIS
   ============================================ */

/* Modal Full Screen */
#insertPlanModal .modal-dialog.modal-fullscreen {
    max-width: 100vw;
    height: 96vh;
    margin: 20px 0 20px 20px;
}

#insertPlanModal .modal-content {
    height: 100%;
    border-radius: 10px;
}

#insertPlanModal .modal-body {
    height: calc(100% - 120px);
    overflow: hidden;
}

/* ============================================
   PAINEL ESQUERDO - BLOCOS DISPONÍVEIS
   ============================================ */

.available-blocks-list {
    max-height: calc(90vh - 250px);
    overflow-y: auto;
    padding-right: 5px;
}

.available-block-item {
    background: white;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 15px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.available-block-item:hover {
    border-color: #4CAF50;
    background: #f1f8f4;
    transform: translateX(5px);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2);
}

.available-block-item.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    border-color: #ccc;
}

.available-block-item.disabled:hover {
    transform: none;
    border-color: #ccc;
    background: white;
    box-shadow: none;
}

.available-block-item .block-name {
    font-weight: 500;
    color: #333;
    flex: 1;
}

.available-block-item .block-count {
    font-size: 0.85em;
    color: #666;
    margin-left: 10px;
}

.available-block-item .add-btn {
    background: #619c85;
    color: white;
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s;
}

.available-block-item .add-btn:hover {
    background: #45a049;
    transform: scale(1.1);
}

.available-block-item.disabled .add-btn {
    background: #ccc;
    cursor: not-allowed;
}

.available-block-item.disabled .add-btn:hover {
    transform: none;
}

/* ============================================
   PAINEL DIREITO - BLOCOS SELECIONADOS
   ============================================ */

.selected-blocks-list {
    min-height: calc(90vh - 250px);
    max-height: calc(90vh - 250px);
    overflow-y: auto;
    padding-right: 5px;
}

.selected-block-item {
    background: white;
    border: 2px solid #619c85;
    border-radius: 8px;
    margin-bottom: 15px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.selected-block-item.ui-sortable-helper {
    opacity: 0.8;
    box-shadow: 0 5px 20px rgba(76, 175, 80, 0.4);
    cursor: move;
}

.selected-block-item .block-header {
    background: #619c85;
    color: white;
    padding: 15px;
    cursor: move;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.selected-block-item .block-header:hover {
    background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%);
}

.selected-block-item .block-title {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.selected-block-item .drag-handle {
    cursor: move;
    font-size: 18px;
    opacity: 0.7;
}

.selected-block-item .block-name {
    font-weight: 600;
    font-size: 1.05em;
}

.selected-block-item .block-badge {
    background: rgba(255, 255, 255, 0.2);
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.85em;
}

.selected-block-item .block-actions {
    display: flex;
    gap: 5px;
}

.selected-block-item .btn-expand,
.selected-block-item .btn-remove {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.selected-block-item .btn-expand:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.selected-block-item .btn-remove:hover {
    background: #f44336;
    transform: scale(1.1);
}

/* ============================================
   PLANOS DENTRO DO BLOCO (EXPANDIDO)
   ============================================ */

.block-plans {
    display: none;
    background: #f9f9f9;
    border-top: 2px solid #619c85;
    padding: 15px;
    max-height: 400px;
    overflow-y: auto;
}

.block-plans.expanded {
    display: block;
}

.block-plans-header {
    background: white;
    padding: 10px 15px;
    border-radius: 6px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plan-item {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 10px 15px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.2s;
}

.plan-item:hover {
    background: #f5f5f5;
    border-color: #619c85;
}

.plan-item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.plan-item .plan-name {
    flex: 1;
    font-weight: 500;
    color: #333;
}

.plan-item .plan-details-btn {
    background: #2196F3;
    color: white;
    border: none;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 0.85em;
    cursor: pointer;
    transition: all 0.2s;
}

.plan-item .plan-details-btn:hover {
    background: #1976D2;
    transform: scale(1.05);
}

.plan-item input[type="checkbox"]:checked+.plan-name {

    font-weight: 600;
}

/* Botão Selecionar/Desselecionar Todos */
.select-all-plans-btn {
    background: #2196F3;
    color: white;
    border: none;
    padding: 6px 15px;
    border-radius: 4px;
    font-size: 0.9em;
    cursor: pointer;
    transition: all 0.2s;
}

.select-all-plans-btn:hover {
    background: #1976D2;
    transform: scale(1.05);
}

/* ============================================
   DETAIL BOX (POPUP EXERCÍCIOS)
   ============================================ */

.detail-box {
    position: absolute;
    background: white;
    border: 2px solid #619c85;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    z-index: 2000;
    max-width: 350px;
    max-height: 400px;
    overflow-y: auto;
    display: none;
}

.detail-box h6 {
    color: #619c85;
    margin-bottom: 10px;
    font-weight: 600;
}

.detail-box p {
    margin-bottom: 8px;
    font-size: 0.9em;
    line-height: 1.5;
}

.detail-box hr {
    margin: 10px 0;
    border-color: #e0e0e0;
}

.detail-box strong {
    color: #333;
    display: block;
    margin-bottom: 3px;
}

/* ============================================
   EMPTY STATE
   ============================================ */

.empty-state {
    background: #f9f9f9;
    border: 2px dashed #ddd;
    border-radius: 8px;
    padding: 40px 20px;
}

.empty-state i {
    color: #ccc;
}

/* ============================================
   SCROLLBARS CUSTOMIZADAS
   ============================================ */

.available-blocks-list::-webkit-scrollbar,
.selected-blocks-list::-webkit-scrollbar,
.block-plans::-webkit-scrollbar {
    width: 8px;
}

.available-blocks-list::-webkit-scrollbar-track,
.selected-blocks-list::-webkit-scrollbar-track,
.block-plans::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.available-blocks-list::-webkit-scrollbar-thumb,
.selected-blocks-list::-webkit-scrollbar-thumb,
.block-plans::-webkit-scrollbar-thumb {
    background: #619c85;
    border-radius: 10px;
}

.available-blocks-list::-webkit-scrollbar-thumb:hover,
.selected-blocks-list::-webkit-scrollbar-thumb:hover,
.block-plans::-webkit-scrollbar-thumb:hover {
    background: #45a049;
}

/* ============================================
   BADGES E CONTADORES
   ============================================ */

.badge {
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 12px;
}

#availableBlocksCount {
    background: #6c757d;
}

#selectedBlocksCount {
    background: #619c85;
}

/* ============================================
   ANIMAÇÕES
   ============================================ */

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.selected-block-item {
    animation: slideInRight 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.block-plans.expanded {
    animation: fadeIn 0.3s ease;
}

/* ============================================
   PLACEHOLDER SORTABLE
   ============================================ */

.ui-sortable-placeholder {
    background: #e8f5e9 !important;
    border: 2px dashed #619c85 !important;
    visibility: visible !important;
    height: 60px !important;
    border-radius: 8px;
    margin-bottom: 15px;
}

/* ============================================
   RESPONSIVO
   ============================================ */

@media (max-width: 768px) {
    #insertPlanModal .modal-dialog.modal-fullscreen {
        max-width: 100vw;
        height: 100vh;
        margin: 0;
    }

    .available-blocks-list,
    .selected-blocks-list {
        max-height: 50vh;
    }

    .selected-block-item .block-name {
        font-size: 0.95em;
    }
}

/* ============================================
   LOADING STATE
   ============================================ */

.loading-spinner {
    text-align: center;
    padding: 20px;
}

.loading-spinner i {
    font-size: 2em;
    color: #619c85;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

/* ============================================
   TOOLTIPS
   ============================================ */

[title] {
    position: relative;
}

/* ============================================
   MODAL HEADER & FOOTER
   ============================================ */

#insertPlanModal .modal-header {
    background: #414141;
    color: white;
    border-bottom: none;
}

#insertPlanModal .modal-title {
    font-weight: 600;
}

#insertPlanModal .modal-title i {
    margin-right: 10px;
}

#insertPlanModal .btn-close {
    color: white;
    opacity: 1;
    font-size: 1.5rem;
    font-weight: normal;
}

#insertPlanModal .modal-footer {
    border-top: 2px solid #e0e0e0;
    padding: 15px 20px;
}

#selectedBlocksList input[type="checkbox"]:checked {
    background-color: #4CAF50 !important;
}

#modalSessoesFixas .modal-body {
    max-height: 80vh;
    /* Ajuste conforme quiser */
    overflow-y: auto;
}

.checkbox span {
    margin-right: 16px;
}

/* ================================================================
   list-filter-professional
   ================================================================ */
/* =============================================================
   LIST-FILTER-PROFESSIONAL — Clientes (teste piloto)
   ============================================================= */

.list-filter-professional {
    padding: 14px 20px 0;
}

.list-filter-professional:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, .07);
}

/* Gap entre filtros (BS4-safe: não depende de gap-3) */
.lf-filters {
    gap: .75rem;
}

/* Cada filtro — anula o wrapper gerado por block-input-5 */
.filter-item {
    position: relative;
}

.filter-item .form-group {
    margin: 0 !important;
}

.filter-item .form-group.row {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.filter-item .form-text,
.filter-item .invalid-feedback {
    display: none !important;
}

.filter-item .filter-select,
#dt-length-0 {
    height: 36px;
    padding: 6px 10px;
    font-size: 13px;
    font-weight: 500;
    color: #495057;
    border: 1.5px solid #e4e6eb;
    border-radius: 8px;
    background-color: #ffffff;
    transition: border-color .2s, box-shadow .2s;
    cursor: pointer;
    appearance: auto;
}

.filter-item .filter-select {
    min-width: 150px;
}

.filter-item .filter-select:hover,
#dt-length-0:hover {
    border-color: #cbd5e0;
    background-color: #fafbfc;
}

.filter-item .filter-select:focus,
#dt-length-0:focus {
    outline: none;
    border-color: #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .1);
}

/* Divider vertical */
.filter-divider {
    width: 1px;
    height: 24px;
    background: linear-gradient(180deg, transparent 0%, #e4e6eb 50%, transparent 100%);
    margin: 0 2px;
    flex-shrink: 0;
}

/* Botão Limpar */
.btn-clear-filters {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #6c757d;
    background: linear-gradient(135deg, #f8f9fb 0%, #f0f1f3 100%);
    border: 1.5px solid #e4e6eb;
    border-radius: 8px;
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
}

.btn-clear-filters:hover {
    color: #495057;
    background: #ffffff;
    border-color: #cbd5e0;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .08);
    transform: translateY(-1px);
}

.btn-clear-filters:active {
    transform: translateY(0);
}

.btn-clear-filters svg {
    transition: transform .3s ease;
    flex-shrink: 0;
}

.btn-clear-filters:hover svg {
    transform: rotate(90deg);
}

.btn-clear-filters .btn-text {
    display: none;
}

/* Search bar */
.search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1.5px solid #e4e6eb;
    border-radius: 8px;
    padding: 0 10px;
    height: 36px;
    min-width: 220px;
    transition: border-color .2s, box-shadow .2s;
}

.search-wrapper:hover {
    border-color: #cbd5e0;
}

.search-wrapper:focus-within {
    border-color: #0d6efd;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, .1);
}

.search-icon {
    color: #9ca3af;
    margin-right: 8px;
    flex-shrink: 0;
    transition: color .2s ease;
}

.search-wrapper:focus-within .search-icon {
    color: #0d6efd;
}

.search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 13px;
    color: #495057;
    outline: none;
    padding: 0;
    min-width: 0;
}

.search-input::placeholder {
    color: #a0a9b8;
}

.search-clear {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    border-radius: 4px;
    transition: background .15s, color .15s;
    margin-left: 6px;
    flex-shrink: 0;
}

.search-clear:hover {
    background: #f0f1f3;
    color: #6c757d;
}

/* === Responsive === */
@media (max-width: 1199px) {
    .filter-item .filter-select {
        min-width: 130px;
        font-size: 12px;
    }

    .search-wrapper {
        min-width: 180px;
    }
}

@media (max-width: 991px) {
    .lf-filters {
        gap: .5rem;
    }

    .btn-clear-filters .btn-text {
        display: inline;
    }

    .filter-divider {
        display: none;
    }

    .search-wrapper {
        min-width: 100%;
    }
}

@media (max-width: 767px) {
    .list-filter-professional {
        padding: 12px 14px;
    }

    .filter-item {
        flex: 1 1 calc(50% - .25rem);
        min-width: 120px;
    }

    .filter-item .filter-select {
        width: 100%;
    }

    .btn-clear-filters {
        width: 100%;
        justify-content: center;
        margin-top: .5rem;
    }
}

@media (max-width: 575px) {
    .filter-item {
        flex: 1 1 100%;
    }

    .filter-item .filter-select {
        height: 34px;
        font-size: 12px;
    }

    .btn-clear-filters {
        width: 100%;
    }
}