:root {
  --template1: #0fad55;
  --template2: #0aa647;
  --template3: #117740; 
}
.field-icon {
  float: right;
  margin-left: -25px;
  margin-top: -25px;
  position: relative;
  z-index: 2;
  margin-right: 8px;
  cursor: pointer;
}
#mensagem-recuperar{
  color: var(--template1) !important;
  font-size: 13px;

}
hr.separador {
  border: 1px dotted #666;
  border-radius: 5px;
}

.select2-selection__rendered {
    line-height: 35px !important;
    border: 1px solid #a6a6a6;
}
.select2-container .select2-selection--single {
    height: 39px !important;
}
.select2-selection__arrow {
    height: 38px !important;
}



hr.separador {
  border: 1px dotted #666;
  border-radius: 5px;
}
.text-verde{
  color:#0e9e29;
}
.ocultar{
  display:none;
}
.textareag{
    width:765px;
    height:550px;
}
.side-menu .slide .side-menu__item:hover {
    background-color: var(--template2);

}
.main-sidemenu {
    background-color: #252525;
}
.app-sidebar {
    background-color: #252525;
}

.slide-menu {
    border-left: 4px solid #de7b53;
    background-color: #2a2e3f !important;
    color: #ffffff;
}
.side-menu__item a{
    background-color: var(--template2);
    color: #ffffff;
}

.side-menu__item:hover .side-menu__icon,
.side-menu__item:hover .side-menu__label,
.side-menu__item:hover .angle {
    color: #ffffff !important;
    fill: #ffffff !important;

}
.slide-item.active,
.slide-item:hover,
.slide-item:focus {
    text-decoration: none;
    color: var(--template1) !important;

}
.app-sidebar .side-item.side-item-category {
    color: #7660a7;
}
.main-sidebar-header {
    background: #252525 !important;
}
.main-header {
    background-color: #252525 !important;
}
.slide-item .app-sidebar .slide-menu .slide-item:before:hover {
    color: var(--template1) !important;
}
.slide.is-expanded .slide-menu a:hover:before {
   color: var(--template1) !important;
}
.slide:hover .side-menu__label,
.slide:hover .angle {
    color: #fff !important;
    fill: #fff !important;
}
.header-icon-svgs {
    color: #ffffff;
    fill: #ffffff;
}
.font-size-11{
    font-size: 11px !important;
}
















.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
}

.table th,
.table td {
    padding: 0.45rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
    color: #333333;
    font-size: 13px;
}

.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6;
}

.table tbody+tbody {
    border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
    padding: 0.3rem;
}

.table-bordered {
    border: 1px solid #dee2e6;
}

.table-bordered th,
.table-bordered td {
    border: 1px solid #dee2e6;
}

.table-bordered thead th,
.table-bordered thead td {
    border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody+tbody {
    border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
    color: #212529;
    background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary>th,
.table-primary>td {
    background-color: #b8e2de;
}

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody+tbody {
    border-color: #7ac8c1;
}

.table-hover .table-primary:hover {
    background-color: #a6dbd6;
}

.table-hover .table-primary:hover>td,
.table-hover .table-primary:hover>th {
    background-color: #a6dbd6;
}

.table-secondary,
.table-secondary>th,
.table-secondary>td {
    background-color: #d6d8db;
}

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody+tbody {
    border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
    background-color: #c8cbcf;
}

.table-hover .table-secondary:hover>td,
.table-hover .table-secondary:hover>th {
    background-color: #c8cbcf;
}

.table-success,
.table-success>th,
.table-success>td {
    background-color: #c3e6cb;
}

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody+tbody {
    border-color: #8fd19e;
}

.table-hover .table-success:hover {
    background-color: #b1dfbb;
}

.table-hover .table-success:hover>td,
.table-hover .table-success:hover>th {
    background-color: #b1dfbb;
}

.table-info,
.table-info>th,
.table-info>td {
    background-color: #bee5eb;
}

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody+tbody {
    border-color: #86cfda;
}

.table-hover .table-info:hover {
    background-color: #abdde5;
}

.table-hover .table-info:hover>td,
.table-hover .table-info:hover>th {
    background-color: #abdde5;
}

.table-warning,
.table-warning>th,
.table-warning>td {
    background-color: #ffeeba;
}

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody+tbody {
    border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
    background-color: #ffe8a1;
}

.table-hover .table-warning:hover>td,
.table-hover .table-warning:hover>th {
    background-color: #ffe8a1;
}

.table-danger,
.table-danger>th,
.table-danger>td {
    background-color: #f5c6cb;
}

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody+tbody {
    border-color: #ed969e;
}

.table-hover .table-danger:hover {
    background-color: #f1b0b7;
}

.table-hover .table-danger:hover>td,
.table-hover .table-danger:hover>th {
    background-color: #f1b0b7;
}

.table-light,
.table-light>th,
.table-light>td {
    background-color: #fdfdfe;
}

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody+tbody {
    border-color: #fbfcfc;
}

.table-hover .table-light:hover {
    background-color: #ececf6;
}

.table-hover .table-light:hover>td,
.table-hover .table-light:hover>th {
    background-color: #ececf6;
}

.table-dark,
.table-dark>th,
.table-dark>td {
    background-color: #c6c8ca;
}

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody+tbody {
    border-color: #95999c;
}

.table-hover .table-dark:hover {
    background-color: #b9bbbe;
}

.table-hover .table-dark:hover>td,
.table-hover .table-dark:hover>th {
    background-color: #b9bbbe;
}

.table-active,
.table-active>th,
.table-active>td {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover>td,
.table-hover .table-active:hover>th {
    background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
    color: #FFF;
    background-color: #343a40;
    border-color: #454d55;
}

.table .thead-light th {
    color: #495057;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.table-dark {
    color: #FFF;
    background-color: #343a40;
}

.table-dark th,
.table-dark td,
.table-dark thead th {
    border-color: #454d55;
}

.table-dark.table-bordered {
    border: 0;
}

.table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

.table-dark.table-hover tbody tr:hover {
    color: #FFF;
    background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 575.98px) {
    .table-responsive-sm {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table-responsive-sm>.table-bordered {
        border: 0;
    }
}

@media (max-width: 767.98px) {
    .table-responsive-md {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table-responsive-md>.table-bordered {
        border: 0;
    }
}

@media (max-width: 991.98px) {
    .table-responsive-lg {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table-responsive-lg>.table-bordered {
        border: 0;
    }
}

@media (max-width: 1199.98px) {
    .table-responsive-xl {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table-responsive-xl>.table-bordered {
        border: 0;
    }
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive>.table-bordered {
    border: 0;
}

.alert-primary {
    color: #004e47;
    background-color: #cceae7;
    border-color: #b8e2de;
}

.alert-primary hr {
    border-top-color: #a6dbd6;
}

.alert-primary .alert-link {
    color: #001b19;
}

.alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db;
}

.alert-secondary hr {
    border-top-color: #c8cbcf;
}

.alert-secondary .alert-link {
    color: #202326;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

.alert-success hr {
    border-top-color: #b1dfbb;
}

.alert-success .alert-link {
    color: #0b2e13;
}

.alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
}

.alert-info hr {
    border-top-color: #abdde5;
}

.alert-info .alert-link {
    color: #062c33;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.alert-warning hr {
    border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
    color: #533f03;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-danger hr {
    border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
    color: #491217;
}

.alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

.alert-light hr {
    border-top-color: #ececf6;
}

.alert-light .alert-link {
    color: #686868;
}

.alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca;
}

.alert-dark hr {
    border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
    color: #040505;
}
.h_100 {
    height: 100px!important;
}
.h_200 {
    height: 200px!important;
}
.h_300 {
    height: 300px!important;
}
.h_400 {
    height: 400px!important;
}
.w_100_p {
    width: 100%!important;
}
.w_300 {
    width: 300px!important;
}
.w_200 {
    width: 200px!important;
}
.w_150 {
    width: 150px!important;
}
.w_100 {
    width: 100px!important;
}

}
/* =========================================================
   ACADEMIA — CAMADA VISUAL MODERNA — AJUSTES VISUAIS CONSERVADORES
   Escopos separados para não alterar a lógica/base original.
   ========================================================= */

.academia-menu-oculto {
    display: none !important;
}

/* Administrativo: preserva o layout conhecido e melhora acabamento. */
.academia-admin .row.mb-2.m-2 > [class*="col-"] > a > div,
.academia-admin .row.mb-2.m-2 > [class*="col-"] > div {
    background: #fff;
    border: 1px solid rgba(31, 41, 55, .08);
    border-radius: 12px;
    min-height: 96px;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .06) !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

.academia-admin .row.mb-2.m-2 > [class*="col-"] > a:hover > div {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(15, 23, 42, .09) !important;
}

.academia-admin .row.mb-2.m-2 h5 {
    font-weight: 700;
}

.academia-admin .graficos_home figure {
    border: 1px solid rgba(31, 41, 55, .10) !important;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .06);
}

.academia-admin .custom-card,
.academia-admin .sales-card {
    border-radius: 14px;
}

/* Painel do cliente: acabamento mais limpo sem mudar o fluxo. */
.academia-aluno .main-content.app-content {
    background: #f7f9f8;
}

.academia-aluno .chacara-page-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 18px 0 14px;
    padding: 18px 20px;
    background: linear-gradient(135deg, rgba(28, 126, 68, .10), rgba(28, 126, 68, .03));
    border: 1px solid rgba(28, 126, 68, .14);
    border-radius: 14px;
}

.academia-aluno .chacara-page-intro h3 {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 700;
    color: #20252b;
}

.academia-aluno .chacara-page-intro p {
    margin: 0;
    color: #68727d;
    font-size: 13px;
}

.academia-aluno .custom-card {
    border: 1px solid rgba(31, 41, 55, .08);
    border-radius: 14px;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .06);
    overflow: hidden;
}

.academia-aluno .custom-card .card-header {
    padding: 18px 20px;
}

.academia-aluno .table {
    margin-bottom: 0;
}

.academia-aluno .table thead th {
    font-weight: 600;
    color: #56606b;
    background: #f7f9f8;
    border-bottom-width: 1px;
}

.academia-aluno .table tbody td {
    vertical-align: middle;
}

.academia-aluno .chacara-status-inline {
    white-space: nowrap;
    font-weight: 600;
}

.chacara-status-pill {
    display: inline-block;
    margin-top: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .02em;
}

.chacara-pill-pago {
    color: #176b3a;
    background: #e7f7ee;
}

.chacara-pill-pendente {
    color: #8a6500;
    background: #fff6d9;
}

.chacara-pill-vencido {
    color: #a12c2c;
    background: #fdeaea;
}

.chacara-action-text {
    display: none;
}

.academia-aluno .chacara-resumo-pagamentos {
    padding: 12px 2px 2px;
    color: #55606b;
    font-size: 13px;
}

@media only screen and (max-width: 767px) {
    .academia-admin .row.mb-2.m-2 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .academia-admin .row.mb-2.m-2 > [class*="col-"] {
        padding: 4px !important;
    }

    .academia-admin .row.mb-2.m-2 > [class*="col-"] > a > div,
    .academia-admin .row.mb-2.m-2 > [class*="col-"] > div {
        min-height: 104px;
        padding: 10px !important;
    }

    .academia-admin .row.mb-2.m-2 p.mb-1 {
        font-size: 12px;
        line-height: 1.25;
    }

    .academia-admin .row.mb-2.m-2 .tx-11 {
        font-size: 9px !important;
    }

    .academia-aluno .main-container.container-fluid {
        padding-left: 10px;
        padding-right: 10px;
    }

    .academia-aluno .chacara-page-intro {
        margin-top: 10px;
        padding: 14px 15px;
        border-radius: 12px;
    }

    .academia-aluno .chacara-page-intro h3 {
        font-size: 18px;
    }

    .academia-aluno .custom-card .card-body {
        padding: 12px;
    }

    .academia-aluno .table-responsive {
        overflow: visible !important;
    }

    .academia-aluno table#tabela,
    .academia-aluno table#tabela3,
    .academia-aluno table#tabela_documentos {
        border: 0 !important;
        width: 100% !important;
    }

    .academia-aluno table#tabela thead,
    .academia-aluno table#tabela3 thead,
    .academia-aluno table#tabela_documentos thead {
        display: none;
    }

    .academia-aluno table#tabela tbody,
    .academia-aluno table#tabela3 tbody,
    .academia-aluno table#tabela_documentos tbody,
    .academia-aluno table#tabela tr,
    .academia-aluno table#tabela3 tr,
    .academia-aluno table#tabela_documentos tr,
    .academia-aluno table#tabela td,
    .academia-aluno table#tabela3 td,
    .academia-aluno table#tabela_documentos td {
        display: block;
        width: 100% !important;
        white-space: normal !important;
    }

    .academia-aluno table#tabela tbody tr,
    .academia-aluno table#tabela3 tbody tr,
    .academia-aluno table#tabela_documentos tbody tr {
        margin-bottom: 12px;
        padding: 6px 0;
        background: #fff;
        border: 1px solid rgba(31, 41, 55, .10);
        border-radius: 12px;
        box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
        overflow: hidden;
    }

    .academia-aluno table#tabela td,
    .academia-aluno table#tabela3 td,
    .academia-aluno table#tabela_documentos td {
        position: relative;
        min-height: 42px;
        padding: 10px 12px 10px 45% !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f2 !important;
        text-align: left !important;
        font-size: 13px;
    }

    .academia-aluno table#tabela td:last-child,
    .academia-aluno table#tabela3 td:last-child,
    .academia-aluno table#tabela_documentos td:last-child {
        border-bottom: 0 !important;
    }

    .academia-aluno table#tabela td::before,
    .academia-aluno table#tabela3 td::before,
    .academia-aluno table#tabela_documentos td::before {
        content: attr(data-label);
        position: absolute;
        top: 10px;
        left: 12px;
        width: 39%;
        color: #6d7680;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .025em;
    }

    .academia-aluno table#tabela td.chacara-acoes,
    .academia-aluno table#tabela3 td.chacara-acoes,
    .academia-aluno table#tabela_documentos td.chacara-acoes {
        padding: 10px 12px !important;
        display: flex !important;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .academia-aluno table#tabela td.chacara-acoes::before,
    .academia-aluno table#tabela3 td.chacara-acoes::before,
    .academia-aluno table#tabela_documentos td.chacara-acoes::before {
        display: none;
    }

    .academia-aluno .chacara-acoes .btn,
    .academia-aluno .chacara-acoes .icones_mobile,
    .academia-aluno .chacara-acoes button {
        min-height: 36px;
        padding: 7px 10px !important;
        border-radius: 8px;
        font-size: 12px !important;
        line-height: 1.2;
    }

    .academia-aluno .chacara-action-text {
        display: inline;
        font-size: 11px;
        font-weight: 600;
    }

    .academia-aluno .chacara-resumo-pagamentos {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 7px;
        padding: 12px;
        background: #fff;
        border: 1px solid rgba(31, 41, 55, .08);
        border-radius: 10px;
        text-align: left !important;
    }

    .academia-aluno .chacara-resumo-pagamentos span {
        margin-left: 0 !important;
    }

    .academia-aluno .dataTables_wrapper .dataTables_length,
    .academia-aluno .dataTables_wrapper .dataTables_filter {
        margin-bottom: 10px;
        text-align: left !important;
    }

    .academia-aluno .dataTables_wrapper .dataTables_filter input {
        max-width: 170px;
    }
}


/* ACADEMIA — CAMADA VISUAL MODERNA — TEMA PREMIUM 2026 */
:root {
  --template1: #1f7553;
  --template2: #185d43;
  --template3: #103f2f;
  --ch-forest-950: #091d16;
  --ch-forest-900: #0d281e;
  --ch-forest-800: #14372a;
  --ch-green: #1f7553;
  --ch-green-hover: #175d42;
  --ch-green-soft: #dcece3;
  --ch-bg: #e9efeb;
  --ch-card: #ffffff;
  --ch-text: #17251f;
  --ch-muted: #5f6f66;
  --ch-border: #d3ddd6;
  --ch-danger: #c44b55;
  --ch-warning: #b97832;
  --ch-info: #2c5c6c;
}

/* Mantém a estrutura do sistema e atualiza somente a linguagem visual. */
.academia-admin,
.academia-aluno {
  color: var(--ch-text);
  background: var(--ch-bg);
}

.academia-admin .main-content.app-content,
.academia-aluno .main-content.app-content {
  background: linear-gradient(180deg, #f1f5f2 0, var(--ch-bg) 300px) !important;
}

.academia-admin .main-header,
.academia-admin .main-sidebar-header,
.academia-admin .app-sidebar,
.academia-admin .main-sidemenu,
.academia-aluno .main-header,
.academia-aluno .main-sidebar-header,
.academia-aluno .app-sidebar,
.academia-aluno .main-sidemenu {
  background: var(--ch-forest-950) !important;
}

.academia-admin .main-header,
.academia-aluno .main-header {
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 0 5px 24px rgba(20,33,28,.10);
}

.academia-admin .side-menu__item,
.academia-aluno .side-menu__item {
  margin: 4px 12px;
  min-height: 44px;
  border-radius: 11px;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}

.academia-admin .side-menu__item:hover,
.chacara-client .side-menu__item:hover,
.academia-aluno .side-menu__item:hover,
.academia-admin .slide.active > .side-menu__item,
.academia-admin .slide.is-expanded > .side-menu__item,
.academia-aluno .slide.active > .side-menu__item,
.academia-aluno .slide.is-expanded > .side-menu__item {
  background: rgba(47,125,90,.92) !important;
  box-shadow: 0 8px 20px rgba(47,125,90,.18);
}

.academia-admin .slide-menu,
.academia-aluno .slide-menu {
  margin: 2px 12px 8px !important;
  padding: 7px 5px !important;
  border-left: 0 !important;
  border-radius: 11px;
  background: #1e3029 !important;
}

.academia-admin .slide-item,
.academia-aluno .slide-item {
  border-radius: 8px;
  color: #c9d2cd !important;
}

.academia-admin .slide-item:hover,
.academia-admin .slide-item.active,
.academia-aluno .slide-item:hover,
.academia-aluno .slide-item.active {
  color: #fff !important;
  background: rgba(47,125,90,.24);
}

.academia-admin .custom-card,
.academia-admin .sales-card,
.academia-aluno .custom-card,
.academia-admin .modal-content,
.academia-aluno .modal-content {
  border: 1px solid var(--ch-border) !important;
  border-radius: 16px !important;
  background: var(--ch-card) !important;
  box-shadow: 0 12px 30px rgba(13,40,30,.10) !important;
}

.academia-admin .modal-header,
.academia-aluno .modal-header {
  border-radius: 15px 15px 0 0;
}

.academia-admin .bg-primary,
.academia-aluno .bg-primary,
.academia-admin .btn-primary,
.academia-aluno .btn-primary {
  background-color: var(--ch-green) !important;
  border-color: var(--ch-green) !important;
}

.academia-admin .btn-primary:hover,
.academia-aluno .btn-primary:hover {
  background-color: var(--ch-green-hover) !important;
  border-color: var(--ch-green-hover) !important;
}

.academia-admin .btn,
.academia-aluno .btn,
.academia-admin .form-control,
.academia-admin .form-select,
.academia-aluno .form-control,
.academia-aluno .form-select,
.academia-admin .select2-selection,
.academia-aluno .select2-selection {
  border-radius: 10px !important;
}

.academia-admin .form-control,
.academia-admin .form-select,
.academia-aluno .form-control,
.academia-aluno .form-select {
  border-color: #dfe6e1;
  min-height: 40px;
}

.academia-admin .form-control:focus,
.academia-admin .form-select:focus,
.academia-aluno .form-control:focus,
.academia-aluno .form-select:focus {
  border-color: rgba(47,125,90,.55);
  box-shadow: 0 0 0 .2rem rgba(47,125,90,.10);
}

.academia-admin .table,
.academia-aluno .table {
  color: var(--ch-text);
}

.academia-admin .table thead th,
.academia-aluno .table thead th {
  padding-top: 12px;
  padding-bottom: 12px;
  color: #ffffff;
  background: #1b4333 !important;
  border-color: var(--ch-border) !important;
  font-weight: 700;
}

.academia-admin .table td,
.academia-aluno .table td {
  border-color: #edf1ee !important;
  vertical-align: middle;
}

.academia-admin .table tbody tr:hover,
.academia-aluno .table tbody tr:hover {
  background: #fafcfb !important;
}

/* Dashboard: mesmos cards, acabamento atual. */
.academia-admin .row.mb-2.m-2 > [class*="col-"] > a > div,
.academia-admin .row.mb-2.m-2 > [class*="col-"] > div {
  min-height: 112px;
  padding: 16px !important;
  border: 1px solid var(--ch-border) !important;
  border-top: 4px solid rgba(31,117,83,.75) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 11px 26px rgba(13,40,30,.09) !important;
}

.academia-admin .row.mb-2.m-2 p.mb-1 {
  color: #526159;
  font-size: 14px;
  font-weight: 600;
}

.academia-admin .row.mb-2.m-2 h5 {
  color: #26342d;
  font-size: 22px;
  letter-spacing: -.02em;
}

.academia-admin .graficos_home {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0 10px;
}

.academia-admin .graficos_home figure,
.academia-admin .pie-chart,
.academia-admin .pie-chart2 {
  width: 100% !important;
  min-height: 340px;
  margin: 0 !important;
  background-color: #fff;
  border: 1px solid var(--ch-border) !important;
  border-radius: 18px !important;
  outline: 0 !important;
  box-shadow: 0 10px 26px rgba(31,58,46,.06) !important;
}

.academia-admin .graficos_home h5 {
  color: #34443b;
  font-weight: 700;
}

.academia-admin .graficos_home figcaption {
  color: #647168;
}

/* Financeiro: cards menos saturados e mais consistentes. */
.academia-admin .card.text-center.mb-5 {
  border: 1px solid var(--ch-border) !important;
  border-radius: 15px !important;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(31,58,46,.055);
}

.academia-admin .card.text-center.mb-5 .card-header {
  border: 0 !important;
  font-weight: 700;
}

.academia-admin .bg-red {
  background: var(--ch-danger) !important;
}

/* Painel do cliente */
.academia-aluno .chacara-page-intro {
  background: linear-gradient(135deg, #dcece3 0%, #f3f7f4 100%);
  border-color: #c8dbcf;
  box-shadow: 0 9px 25px rgba(31,58,46,.05);
}

.academia-aluno .chacara-page-intro h3 {
  color: #274236;
  font-size: 22px;
}

.academia-aluno .chacara-status-pill {
  padding: 4px 10px;
  border-radius: 999px;
}

.academia-aluno .chacara-pill-pago {
  color: #236947;
  background: #e8f4ec;
}

.academia-aluno .chacara-pill-pendente {
  color: #8a632b;
  background: #fbf1df;
}

.academia-aluno .chacara-pill-vencido {
  color: #a53e46;
  background: #fae9eb;
}

.academia-aluno .profile-user img,
.academia-admin .profile-user img {
  border: 2px solid rgba(255,255,255,.65);
  box-shadow: 0 3px 12px rgba(0,0,0,.12);
}

/* DataTables e paginação */
.academia-admin .dataTables_wrapper .dataTables_filter input,
.academia-aluno .dataTables_wrapper .dataTables_filter input,
.academia-admin .dataTables_wrapper select,
.academia-aluno .dataTables_wrapper select {
  border: 1px solid #dfe6e1 !important;
  border-radius: 9px !important;
  padding: 6px 9px !important;
}

.academia-admin .page-item.active .page-link,
.academia-aluno .page-item.active .page-link {
  background: var(--ch-green) !important;
  border-color: var(--ch-green) !important;
}

@media only screen and (max-width: 767px) {
  .academia-admin .main-container.container-fluid,
  .academia-aluno .main-container.container-fluid {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .academia-admin .row.mb-2.m-2 > [class*="col-"] > a > div,
  .academia-admin .row.mb-2.m-2 > [class*="col-"] > div {
    min-height: 108px;
    padding: 12px !important;
  }

  .academia-admin .row.mb-2.m-2 h5 {
    font-size: 19px;
  }

  .academia-admin .graficos_home {
    grid-template-columns: 1fr;
    padding: 0 4px;
  }

  .academia-admin .graficos_home figure,
  .academia-admin .pie-chart,
  .academia-admin .pie-chart2 {
    min-height: 300px;
  }

  .academia-aluno .side-menu__item,
  .academia-admin .side-menu__item {
    margin-left: 8px;
    margin-right: 8px;
  }
}


/* ETAPA 2.1 — correções mobile e contraste */
.academia-admin .modal-header.bg-primary,
.academia-aluno .modal-header.bg-primary {
  background: #1b6b4c !important;
}

.academia-admin .btn-success,
.academia-aluno .btn-success {
  background-color: #1f7a55 !important;
  border-color: #1f7a55 !important;
}

.academia-admin .btn-success:hover,
.academia-aluno .btn-success:hover {
  background-color: #175d42 !important;
  border-color: #175d42 !important;
}

.academia-admin .main-content.app-content,
.academia-aluno .main-content.app-content {
  min-height: 100vh;
}

@media only screen and (max-width: 767px) {
  /* Select2 dentro do modal ficava deslocado no iPhone/Chrome. No mobile o
     PHP agora mantém o select nativo; estas regras deixam o campo consistente. */
  .academia-admin #modalForm select.sel2,
  .academia-admin #modalMat select.sel3 {
    display: block !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 9px 38px 9px 12px !important;
    border: 1px solid #cbd7cf !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    color: #1d2b25 !important;
    font-size: 16px !important;
  }

  /* Mostrar Contas pelo cadastro de Clientes: mantém todas as ações, inclusive
     Dar baixa, sem obrigar arrastar uma tabela para a direita. */
  .academia-admin #modalContas .modal-dialog {
    width: auto !important;
    max-width: none !important;
    margin: 8px !important;
  }

  .academia-admin #modalContas .modal-content {
    width: 100% !important;
    max-height: calc(100vh - 16px);
    overflow: hidden;
  }

  .academia-admin #modalContas .modal-body {
    padding: 10px !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .academia-admin #modalContas #tabela3_wrapper .dataTables_length,
  .academia-admin #modalContas #tabela3_wrapper .dataTables_filter {
    display: none !important;
  }

  .academia-admin #modalContas #tabela3,
  .academia-admin #modalContas #tabela3 tbody,
  .academia-admin #modalContas #tabela3 tr,
  .academia-admin #modalContas #tabela3 td {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
  }

  .academia-admin #modalContas #tabela3 {
    border: 0 !important;
    margin: 0 !important;
  }

  .academia-admin #modalContas #tabela3 thead {
    display: none !important;
  }

  .academia-admin #modalContas #tabela3 tbody tr {
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 1px solid #cfdad3 !important;
    border-left: 4px solid #1f7553 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(13,40,30,.08);
    overflow: hidden;
  }

  .academia-admin #modalContas #tabela3 td {
    position: relative;
    min-height: 44px;
    padding: 11px 12px 11px 43% !important;
    border: 0 !important;
    border-bottom: 1px solid #e4eae6 !important;
    text-align: left !important;
    font-size: 14px !important;
  }

  .academia-admin #modalContas #tabela3 td::before {
    content: attr(data-label);
    position: absolute;
    left: 12px;
    top: 11px;
    width: 36%;
    color: #506158;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
  }

  .academia-admin #modalContas #tabela3 td.chacara-contas-acoes {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    min-height: 58px;
    padding: 12px !important;
    border-bottom: 0 !important;
  }

  .academia-admin #modalContas #tabela3 td.chacara-contas-acoes::before {
    content: 'Ações';
    position: static;
    width: 100%;
    color: #506158;
    font-size: 11px;
    font-weight: 800;
  }

  .academia-admin #modalContas #tabela3 td.chacara-contas-acoes a,
  .academia-admin #modalContas #tabela3 td.chacara-contas-acoes button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  .academia-admin #modalContas #tabela3_wrapper .dataTables_info,
  .academia-admin #modalContas #tabela3_wrapper .dataTables_paginate {
    font-size: 11px !important;
  }
}

/* ETAPA 2.2 — lotes, ações explicadas e vencimento */
.ch-action-text {
  display: none;
}

.ch-action-btn {
  position: relative;
}

@media (min-width: 768px) {
  .ch-action-btn[data-action-label]:hover::after,
  .ch-action-btn[data-action-label]:focus::after {
    content: attr(data-action-label);
    position: absolute;
    z-index: 1085;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    padding: 6px 9px;
    border-radius: 7px;
    background: #10251d;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 5px 16px rgba(0,0,0,.18);
    pointer-events: none;
  }

  .ch-action-btn[data-action-label]:hover::before,
  .ch-action-btn[data-action-label]:focus::before {
    content: '';
    position: absolute;
    z-index: 1085;
    left: 50%;
    bottom: calc(100% + 3px);
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #10251d;
    pointer-events: none;
  }
}

.chacara-client-actions,
.chacara-lote-acoes {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
}

.chacara-client-actions form,
.chacara-lote-acoes form {
  margin: 0 !important;
}

/* Alterar vencimento é aberto sem empilhar janelas.
   Não definimos z-index menor aqui: o tema já mantém .modal acima do backdrop. */
#modalAlterarVencimento {
  z-index: 99999999 !important;
  pointer-events: auto !important;
}

@media only screen and (max-width: 767px) {
  .ch-action-text {
    display: inline !important;
    margin-left: 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
  }

  /* Ações dos clientes deixam de ser apenas ícones no celular. */
  .chacara-client-actions-cell {
    padding: 12px !important;
  }
  .chacara-client-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }
  .chacara-client-actions .ch-action-btn,
  .chacara-client-actions form,
  .chacara-client-actions form .ch-action-btn {
    width: 100% !important;
  }
  .chacara-client-actions .ch-action-btn {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 9px !important;
    margin: 0 !important;
  }

  /* Página geral de Lotes vendidos e listagem dentro do cadastro do cliente. */
  .academia-admin table.chacara-lotes-table,
  .academia-admin table.chacara-lotes-cliente-table,
  .academia-admin table.chacara-lotes-table tbody,
  .academia-admin table.chacara-lotes-cliente-table tbody,
  .academia-admin table.chacara-lotes-table tr,
  .academia-admin table.chacara-lotes-cliente-table tr,
  .academia-admin table.chacara-lotes-table td,
  .academia-admin table.chacara-lotes-cliente-table td {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
  }

  .academia-admin table.chacara-lotes-table,
  .academia-admin table.chacara-lotes-cliente-table {
    border: 0 !important;
    margin: 0 !important;
  }

  .academia-admin table.chacara-lotes-table thead,
  .academia-admin table.chacara-lotes-cliente-table thead {
    display: none !important;
  }

  .academia-admin table.chacara-lotes-table tbody tr,
  .academia-admin table.chacara-lotes-cliente-table tbody tr {
    margin: 0 0 12px !important;
    border: 1px solid #cfdad3 !important;
    border-left: 4px solid #1f7553 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 6px 18px rgba(13,40,30,.08);
    overflow: hidden;
  }

  .academia-admin table.chacara-lotes-table td,
  .academia-admin table.chacara-lotes-cliente-table td {
    position: relative;
    min-height: 44px;
    padding: 11px 12px 11px 43% !important;
    border: 0 !important;
    border-bottom: 1px solid #e4eae6 !important;
    text-align: left !important;
    font-size: 14px !important;
  }

  .academia-admin table.chacara-lotes-table td::before,
  .academia-admin table.chacara-lotes-cliente-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 12px;
    top: 11px;
    width: 36%;
    color: #506158;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
  }

  .academia-admin table.chacara-lotes-table td.chacara-lote-acoes,
  .academia-admin table.chacara-lotes-cliente-table td.chacara-lote-acoes {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px !important;
    border-bottom: 0 !important;
  }

  .academia-admin table.chacara-lotes-table td.chacara-lote-acoes::before,
  .academia-admin table.chacara-lotes-cliente-table td.chacara-lote-acoes::before {
    content: 'Ações';
    position: static;
    grid-column: 1 / -1;
    width: 100%;
    color: #506158;
    font-size: 11px;
    font-weight: 800;
  }

  .academia-admin table.chacara-lotes-table .ch-action-btn,
  .academia-admin table.chacara-lotes-cliente-table .ch-action-btn,
  .academia-admin table.chacara-lotes-table .chacara-lote-acoes form,
  .academia-admin table.chacara-lotes-cliente-table .chacara-lote-acoes form {
    width: 100% !important;
    min-height: 40px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border-radius: 9px !important;
  }

  #modalMat .modal-dialog,
  #modalAlterarVencimento .modal-dialog {
    margin: 8px !important;
  }

  #modalMat .modal-body {
    padding: 12px !important;
  }

  #modalMat #listar-matriculas {
    overflow: visible !important;
  }

  /* Cinco indicadores principais continuam em duas colunas no celular. */
  .chacara-top-metrics > [class*="col-"] {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  /* Como são cinco indicadores no topo, o Saldo ocupa a linha inteira no celular. */
  .chacara-top-metrics > [class*="col-"]:last-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}
