/* ============================================================
 * DASHBOARD DE CLIENTES – LAYOUT GERAL
 * ============================================================ */

/* Layout geral dashboard de clientes */
.tmgc-clients-dashboard-wrap {
	font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 16px;
	background-color: #ffffff;
	box-sizing: border-box;
}

/* Header dashboard */
.tmgc-dashboard-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.tmgc-dashboard-title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
}

.tmgc-dashboard-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* estilo base genérico das tabs (sobrescrito na listagem por regras mais específicas) */
.tmgc-tab-button {
	border: 1px solid #cbd5e1;
	background-color: #f8fafc;
	padding: 6px 12px;
	border-radius: 999px;
	font-size: 0.875rem;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tmgc-tab-button--active,
.tmgc-tab-button:hover {
	background-color: #0ea5e9;
	border-color: #0ea5e9;
	color: #ffffff;
}

.tmgc-dashboard-actions {
	margin-left: auto;
}

/* Botões genéricos */
.tmgc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 6px 14px;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#tmgc-client-page button.tmgc-button--primary {
	background-color: #24bdc0;
	border: none;
	border-radius: 10px;
	color: #1b2440;
	font-weight: 500;
	padding: 0.75rem 1.5rem;
}

#tmgc-client-page button.tmgc-button--primary:hover {
	background-color: #b3e1e2;
	color: #1b2440;
}

/* Botão fantasma do Gerenciamento de Clientes – sobrescreve Hello Elementor */
#tmgc-client-page button.tmgc-button.tmgc-button--ghost {
    background-color: #1b2440;
    border: none;
    border-radius: 10px;
    color: #ffffff;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
}
#tmgc-client-page button.tmgc-button.tmgc-button--ghost:hover {
    background-color: #2d3e66;
}

.tmgc-btn-small {
	font-size: 0.75rem;
	padding: 4px 10px;
}

/* Filtros */
.tmgc-dashboard-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 16px;
}

.tmgc-filter-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 160px;
}

.tmgc-filter-group--search {
	flex: 1 1 220px;
}

.tmgc-filter-label {
	font-size: 0.75rem;
	color: #64748b;
}

.tmgc-filter-select,
.tmgc-filter-input {
	border-radius: 999px;
	border: 1px solid #cbd5e1;
	padding: 6px 12px;
	font-size: 0.875rem;
	outline: none;
}

.tmgc-filter-select:focus,
.tmgc-filter-input:focus {
	border-color: #0ea5e9;
	box-shadow: 0 0 0 1px #0ea5e9;
}

/* ============================================================
 * TABELA DE CLIENTES – BASE
 * ============================================================ */

.tmgc-dashboard-table-wrap {
	overflow-x: auto;
}

.tmgc-clients-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.tmgc-clients-table thead {
	background-color: #f8fafc;
}

.tmgc-clients-table th,
.tmgc-clients-table td {
	padding: 8px 10px;
	border-bottom: 1px solid #e2e8f0;
	text-align: left;
	white-space: nowrap;
}

.tmgc-clients-table th {
	font-weight: 600;
	color: #0f172a;
}

.tmgc-clients-table td a {
	color: #0ea5e9;
	text-decoration: none;
}

.tmgc-clients-table td a:hover {
	text-decoration: underline;
}

.tmgc-clients-table-col-actions {
	position: relative;
	white-space: nowrap;
}

/* Linhas especiais */
.tmgc-table-placeholder td,
.tmgc-table-empty-row td {
	text-align: center;
	color: #64748b;
}

.tmgc-loading {
	font-style: italic;
}

/* Paginação */
.tmgc-pagination {
	display: flex;
	gap: 6px;
	justify-content: flex-end;
	margin-top: 12px;
}

.tmgc-pagination-button {
	border-radius: 999px;
	border: 1px solid #cbd5e1;
	background-color: #ffffff;
	padding: 4px 10px;
	font-size: 0.75rem;
	cursor: pointer;
}

.tmgc-pagination-button--active {
	background-color: #0ea5e9;
	border-color: #0ea5e9;
	color: #ffffff;
}

/* ============================================================
 * MODAL
 * ============================================================ */

.tmgc-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.tmgc-modal--open {
	display: flex;
}

.tmgc-modal-backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(15, 23, 42, 0.4);
}

.tmgc-modal-dialog {
	position: relative;
	background-color: #ffffff;
	border-radius: 12px;
	padding: 16px 18px;
	max-width: 420px;
	width: 90%;
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.3);
	z-index: 1;
}

.tmgc-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.tmgc-modal-title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}

.tmgc-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #F2F5F7 !important;
  color: #1B2440 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* ============================================================
 * FORMS
 * ============================================================ */

.tmgc-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tmgc-form-field label {
	display: block;
	font-size: 0.8rem;
	color: #64748b;
	margin-bottom: 4px;
}

#tmgc-client-page .iti {
    margin-top: 8px;
}

#tmgc-client-page .tmgc-intl-phone {
    border-color: #b3e1e2;
    padding-top: 5px;
    border-radius: 10px;
    color: #1b2440;
    font-weight: 300;
}

#tmgc-client-page .tmgc-input {
    border-color: #b3e1e2;
    border-radius: 10px;
    color: #1b2440;
    font-weight: 300;
}

#tmgc-client-page .tmgc-form-field input,
#tmgc-client-page .tmgc-form-field textarea {
	width: 100%;
	border-radius: 8px;
	border: 1px solid #b3e2e1;
	padding: 6px 10px;
	font-size: 0.875rem;
	box-sizing: border-box;
}

.tmgc-form-field input:focus,
.tmgc-form-field textarea:focus {
	border-color: #0ea5e9;
	box-shadow: 0 0 0 1px #0ea5e9;
	outline: none;
}

.tmgc-form-actions {
	display: flex;
	gap: 8px;
	margin-top: 4px;
}

.tmgc-form-notice {
	font-size: 0.8rem;
	margin-top: 6px;
}

.tmgc-form-notice--error {
	color: #b91c1c;
}

.tmgc-form-notice--success {
	color: #15803d;
}

/* ============================================================
 * PÁGINA DO CLIENTE (DETALHE)
 * ============================================================ */

.tmgc-client-page-wrap {
    font-family: "Outfit";
    font-size: 0.9rem;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
	background-color: #ffffff;
}

.tmgc-client-sidebar {
	background-color: #ffffff;
	color: #1b2440;
	display: flex;
	flex-direction: column;
}

.tmgc-client-sidebar-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px;
	border-bottom: 1px solid rgba(148, 163, 184, 0.3);
}

.tmgc-client-avatar {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background-color: #0ea5e9;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	color: #ffffff;
	font-size: 1rem;
}

.tmgc-client-sidebar-info h2 {
	margin: 0 0 2px;
	font-size: 1rem;
}

.tmgc-client-meta {
	margin: 0;
	font-size: 0.75rem;
	color: #1b2440;
}

.tmgc-client-nav {
	display: flex;
	flex-direction: column;
	padding: 8px;
	gap: 4px;
}

.tmgc-client-nav-item {
	border-radius: 10px;
	border: solid;
	border-color: #b3e2e1 !important;
	background: transparent;
	color: #2d3e66 !important;
	text-align: left;
	padding: 6px 8px;
	font-size: 0.85rem;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.tmgc-client-nav-item--active{
	background-color: #1b2440 !important;
	color: #ffffff !Important;
}
.tmgc-client-nav-item:hover {
    background-color: #b3e2e1 !important;
	color: #1b2440 !Important;
}

.tmgc-client-main {
	padding: 16px;
}

/* Tabs do cliente */
.tmgc-client-tab {
	display: none;
}

.tmgc-client-tab--active {
	display: block;
}

.tmgc-client-tab-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.tmgc-client-tab-header h3 {
	margin: 0;
	font-size: 1rem;
}

.tmgc-client-tab-body {
	font-size: 0.875rem;
}

.tmgc-muted {
	color: #64748b;
	font-size: 0.85rem;
}

.tmgc-meta-phone {
    text-decoration: none;
    color: inherit;
}

.tmgc-meta-phone:hover {
    text-decoration: underline;
}

/* ============================================================
 * ACCORDION DO CADASTRO DE CLIENTE
 * ============================================================ */

.tmgc-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tmgc-accordion-item {
    border: none;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.tmgc-accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #f7f9fa;
    cursor: pointer;
}

.tmgc-accordion-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #1B2440;
}

#tmgc-client-page .tmgc-accordion-icon {
    position: relative;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 2px solid #24BDC0;
    margin-left: auto;
}

#tmgc-client-page .tmgc-accordion-icon::before,
#tmgc-client-page .tmgc-accordion-icon::after {
    content: "";
    position: absolute;
    background: #24BDC0;
    inset: 50%;
    transform: translate(-50%, -50%);
}

#tmgc-client-page .tmgc-accordion-icon::before {
    width: 10px;
    height: 2px;
}

#tmgc-client-page .tmgc-accordion-icon::after {
    width: 2px;
    height: 10px;
}

.tmgc-accordion-item.tmgc-accordion-item--open .tmgc-accordion-icon::after {
    opacity: 0;
}

.tmgc-accordion-body {
    padding: 16px 14px 14px;
    display: none;
}

.tmgc-accordion-item.tmgc-accordion-item--open .tmgc-accordion-body {
    display: block;
}

/* ============================================================
 * DROPDOWN "OPÇÕES" – NOVO MODELO
 * (baseado em .tmgc-actions / .tmgc-actions-menu)
 * ============================================================ */

.tmgc-actions {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* botão Opções base; o visual final é refinado nas regras escopadas em #tmgc-clients-dashboard */
.tmgc-actions-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Caixa do dropdown controlada via JS (classe .tmgc-actions-menu--open) */
.tmgc-actions-menu {
    position: absolute;
    top: 110%;
    right: 0;
    min-width: 200px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    border: 1px solid #e2e6f0;
    padding: 6px 0;
    z-index: 9999;
    display: none;
}

.tmgc-actions-menu--open {
    display: block;
}

/* Itens de ação internos */
.tmgc-actions-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 6px 14px;
    font-size: 13px;
    background: transparent;
    border: 0;
    color: #1B2440;
    cursor: pointer;
}

.tmgc-actions-item:hover {
    background: #f5fbfb;
    color: #24BDC0;
}

.tmgc-actions-item.tmgc-deactivate-client:hover {
    background: #fff5f5;
    color: #c0392b;
}

/* ============================================================
 * COMPATIBILIDADE / OVERFLOW (JetTabs e container)
 * ============================================================ */

/* Evita que o conteúdo do JetTabs corte o dropdown do botão "Opções" */
.jet-tabs__pane,
.jet-tabs__pane-inner,
.jet-tabs__content,
.jet-tabs__content-inner {
	overflow: visible !important;
}

/* Espaço extra embaixo da tabela para dropdown caber sem forçar scroll */
#tmgc-clients-dashboard {
    padding-bottom: 0;
}

/* Container da tabela e wrapper sem scroll forçado */
.tmgc-clients-dashboard-wrapper,
.tmgc-table-container {
	overflow: visible !important;
}

/* ============================================================
 * LISTAGEM DE CLIENTES – ESTILOS ESPECÍFICOS (DESKTOP)
 * (ex-CSS adicional, agora dentro do plugin)
 * ============================================================ */

/* ---------- Tabela geral com “cards” ---------- */

#tmgc-clients-dashboard .tmgc-clients-table {
    width: 100%;
    border-collapse: separate !important; /* permite espaçamento entre as linhas */
    border-spacing: 0 8px;               /* separação visual entre as linhas */
    background: transparent;
    font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Cabeçalho continua com cara de tabela */
#tmgc-clients-dashboard .tmgc-clients-table thead th {
    background: #f7f9fa;
    color: #1B2440;
    font-weight: 500;
    font-size: 12px;
    border: none !important;
    padding: 10px 16px;
    text-align: left;
}

/* Linhas de clientes como "cards" */
#tmgc-clients-dashboard .tmgc-client-row td {
    background: #ffffff;
    padding: 8px 14px !important;
    font-size: 14px;
    color: #1B2440;

    border-top: 1px solid #e2e6f0;
    border-bottom: 1px solid #e2e6f0;
    border-left: none;
    border-right: none;

    vertical-align: middle;
}

/* Bordas arredondadas + laterais só no primeiro/último td */
#tmgc-clients-dashboard .tmgc-client-row td:first-child {
    border-left: 1px solid #e2e6f0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

#tmgc-clients-dashboard .tmgc-client-row td:last-child {
    border-right: 1px solid #e2e6f0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Hover da linha: muda apenas a borda "do card" inteiro */
#tmgc-clients-dashboard .tmgc-client-row:hover td {
    background: #f5fbfb;
    border-top-color: #24BDC0;
    border-bottom-color: #24BDC0;
}

#tmgc-clients-dashboard .tmgc-client-row:hover td:first-child {
    border-left-color: #24BDC0;
}

#tmgc-clients-dashboard .tmgc-client-row:hover td:last-child {
    border-right-color: #24BDC0;
}

/* Nome do cliente em destaque */
#tmgc-clients-dashboard .tmgc-client-row td:first-child a {
    font-weight: 600;
    color: #1B2440;
    text-decoration: none;
}
#tmgc-clients-dashboard .tmgc-client-row td:first-child a:hover {
    color: #24BDC0;
}

/* Avatar com iniciais do cliente */
#tmgc-clients-dashboard .tmgc-client-main {
    display: flex;
    align-items: center;
    gap: 10px;
}

#tmgc-clients-dashboard .tmgc-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #24BDC0;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 12px;
    flex-shrink: 0;
}

#tmgc-clients-dashboard .tmgc-client-main-text a {
    display: inline-block;
}

/* Coluna de ações alinhada ao centro / direita */
#tmgc-clients-dashboard .tmgc-clients-table-col-actions {
    text-align: center;
    white-space: nowrap;
}

/* Botão principal ("Opções") menor e mais discreto */
#tmgc-clients-dashboard .tmgc-actions-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 10px;
    font-size: 12px;
    height: 32px;
    line-height: 1;
    border-radius: 6px;
    min-width: auto;
}

/* Deixa o botão mais “leve” visualmente */
#tmgc-clients-dashboard .tmgc-button.tmgc-button--ghost.tmgc-btn-small {
    background-color: #ffffff;
    border: 1px solid #b3e2e1;
	color: #1b2440;
}

/* Dropdown de ações – já herdando base da seção anterior */
#tmgc-clients-dashboard .tmgc-actions-menu {
    position: absolute;
    top: 110%;
    right: 0;
    min-width: 200px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    border: 1px solid #e2e6f0;
    padding: 6px 0;
    z-index: 9999;
    display: none;
}

#tmgc-clients-dashboard .tmgc-actions-menu--open {
    display: block;
}

/* Itens do dropdown */
#tmgc-clients-dashboard .tmgc-actions-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 6px 14px;
    font-size: 13px;
    background: transparent;
    border: 0;
    color: #1B2440;
    cursor: pointer;
}

#tmgc-clients-dashboard .tmgc-actions-item:hover {
    background: #f5fbfb;
    color: #24BDC0;
}

#tmgc-clients-dashboard .tmgc-actions-item.tmgc-deactivate-client:hover {
    background: #fff5f5;
    color: #c0392b;
}

/* Status como badges coloridos */
#tmgc-clients-dashboard .tmgc-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    color: #fff;
    text-transform: capitalize;
}

#tmgc-clients-dashboard .tmgc-status--active {
    background: #2ecc71;
}
#tmgc-clients-dashboard .tmgc-status--inactive {
    background: #e74c3c;
}
#tmgc-clients-dashboard .tmgc-status--alta {
    background: #3498db;
}
#tmgc-clients-dashboard .tmgc-status--dropped {
    background: #f39c12;
}
#tmgc-clients-dashboard .tmgc-status--deceased {
    background: #7f8c8d;
}

/* Permitir que o dropdown saia para fora da área da tabela */
#tmgc-clients-dashboard .tmgc-dashboard-table-wrap {
    max-height: none !important;
    position: relative;
}

@media (min-width: 769px) {
    #tmgc-clients-dashboard .tmgc-dashboard-table-wrap {
        overflow: visible !important;
    }
}

@media (max-width: 768px) {
    #tmgc-clients-dashboard .tmgc-dashboard-table-wrap {
        overflow-x: hidden !important;
    }
}

/* =========================
   ABAS: "Clientes" / "Clientes em espera"
   ========================== */

#tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs {
    display: flex;
    align-items: flex-end;
    gap: 0;
    border-bottom: 2px solid #1B2440;
    margin-bottom: 20px;
}

#tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs .tmgc-tab-button {
    background-color: #ffffff !important;
    color: #1B2440;
    border: none !important;
    border-radius: 12px 12px 0 0;
    padding: 6px 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    box-shadow: none;
    position: relative;
    top: 2px;
    border-bottom: 2px solid #1B2440;
    cursor: pointer;
}

#tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs .tmgc-tab-button:hover {
    background-color: #b3e1e2 !important;
    color: #1B2440;
}

#tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs .tmgc-tab-button + .tmgc-tab-button {
    margin-left: 0;
}

#tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs .tmgc-tab-button--active {
    background-color: #2d3e66 !important;
	color: #ffffff;
    font-weight: 600;
}

/* =========================
   BOTÃO "Novo cliente"
   ========================== */

#tmgc-clients-dashboard .tmgc-dashboard-actions #tmgc-new-client-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 6px 26px !important;
    font-size: 14px;
    font-weight: 600;

    background-color: #2d3e66 !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

#tmgc-clients-dashboard .tmgc-dashboard-actions #tmgc-new-client-button::before {
    content: "+";
    display: inline-block;
    font-size: 18px;
    line-height: 1;
    font-weight: 600;
}

/* ============================================================
 * PÁGINA DE CLIENTES
 * ============================================================*/

/* ============================================================
   ACORDEON – Estilos escopados apenas dentro do #tmgc-client-page
   ============================================================ */

#tmgc-client-page .tmgc-accordion-header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	padding: 10px 20px;
	border-radius: 10px;
	border: 1px solid #B3E1E2;
	background-color: #F7F9FA;
	color: #1B2440;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

#tmgc-client-page .tmgc-accordion-item--open > .tmgc-accordion-header {
	background-color: #F7F9FA;
	color: #1B2440;
	/*box-shadow: 0 0 0 2px rgba(36, 189, 192, 0.2);*/
}

#tmgc-client-page .tmgc-accordion-header:hover {
	box-shadow: 0 0 0 2px rgba(36, 189, 192, 0.15);
}

#tmgc-client-page .tmgc-accordion-header:focus {
	outline: none;
}

#tmgc-client-page .tmgc-button.tmgc-button--primary {
	background-color: #24BDC0;
	color: #ffffff;
	padding: 12px 32px;
	border-radius: 12px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

#tmgc-client-page .tmgc-button.tmgc-button--primary:hover {
	background-color: #1AAEB2;
	transform: translateY(-1px);
}

#tmgc-client-page .tmgc-button.tmgc-button--ghost {
	background-color: #f1f1f3;
	color: #1B2440;
	padding: 12px 32px;
	border-radius: 12px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

#tmgc-client-page .tmgc-button.tmgc-button--ghost:hover {
	background-color: #e7e7ea;
}

/* Corrige checkboxes e radios em TODOS os blocos da anamnese
   (3, 4, 10, etc.), mas apenas dentro da página do cliente */

#tmgc-client-page input[type="checkbox"],
#tmgc-client-page input[type="radio"] {
	display: inline-block;
	width: auto;
	margin: 0;
	vertical-align: middle;
}

#tmgc-client-page .tmgc-checkbox-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 4px;
}

/* Cada linha "texto + checkbox" */
#tmgc-client-page .tmgc-checkbox-list .tmgc-checkbox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

/* Corrige o input, que estava herdando width:100%, etc. */
#tmgc-client-page .tmgc-checkbox-list .tmgc-checkbox input[type="checkbox"] {
	width: auto;
	flex: 0 0 auto;
	margin: 0;
}

/* Texto do item ocupa o resto da linha */
#tmgc-client-page .tmgc-checkbox-list .tmgc-checkbox span {
	flex: 1 1 auto;
	display: block;
}

/* ================================
 * HEADER ANAMNESE (escopado)
 * ================================ */

#tmgc-client-page .tmgc-client-tab-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

#tmgc-client-page .tmgc-client-tab-header > h3 {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	color: #1B2440;
}

/* Empurra o botão de PDF para a direita */
#tmgc-client-page .tmgc-client-tab-header #tmgc-download-anamnesis-pdf {
	margin-left: auto;
}

/* ================================
 * ABAS ADULTO / CRIANÇA
 * ================================ */

#tmgc-client-page .tmgc-anamnesis-group-selector {
	display: inline-flex;
	align-items: center;
	background: #ffffff;
	border-radius: 999px;
	padding: 2px;
	box-shadow: 0 0 0 1px #e6edf5;
}

#tmgc-client-page .tmgc-anamnesis-group-selector .tmgc-group-btn {
	border: 0;
	background: transparent;
	padding: 6px 18px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	color: #1B2440;
	opacity: 0.6;
	cursor: pointer;
	transition: all 0.15s ease;
}

#tmgc-client-page .tmgc-anamnesis-group-selector .tmgc-group-btn:hover {
	opacity: 0.9;
}

/* Aba ativa – JS já aplica .is-active */
#tmgc-client-page .tmgc-anamnesis-group-selector .tmgc-group-btn.is-active {
	background: #24BDC0;
	color: #ffffff;
	opacity: 1;
	box-shadow: 0 6px 12px rgba(36, 189, 192, 0.35);
}

/* ================================
 * BOTÃO GERAR PDF (estilo Novo cliente)
 * ================================ */

#tmgc-client-page #tmgc-download-anamnesis-pdf.tmgc-button--ghost {
	border-radius: 999px;
	padding: 10px 24px;
	font-size: 14px;
	font-weight: 600;
	background-color: #2d3e66 !important;
	border: none;
	color: #ffffff;
	box-shadow: 0 6px 12px rgba(36, 189, 192, 0.30);
	transition: all 0.15s ease;
	text-decoration: none;
	white-space: nowrap;
}

#tmgc-client-page #tmgc-download-anamnesis-pdf.tmgc-button--ghost:hover {
	background-color: #2d3e66;
	box-shadow: 0 8px 16px rgba(36, 189, 192, 0.40);
}

/* ============================================================================
   TMGC - Aba Sessões (NOVO layout) - TOTALMENTE ESCOPADO
   Afeta somente #tmgc-client-page .tmgc-sessions e filhos
============================================================================ */

/* wrapper já existe no seu CSS, pode manter */

#tmgc-client-page .tmgc-open-session-modal{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 6px 26px !important;
    font-size: 14px;
    font-weight: 600;

    background-color: #2d3e66 !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}
#tmgc-client-page .tmgc-sessions {
	margin-top: 20px;
}

#tmgc-client-page .tmgc-sessions-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

#tmgc-client-page .tmgc-sessions-title {
	font-size: 20px;
	font-weight: 700;
	color: #1B2440;
	margin: 0;
}

#tmgc-client-page .tmgc-sessions-body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

#tmgc-client-page .tmgc-sessions-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 10px 0;
}

#tmgc-client-page .tmgc-sessions-section-title {
	font-size: 14px;
	font-weight: 700;
	color: #1B2440;
}

#tmgc-client-page .tmgc-sessions-empty {
	margin: 0;
	padding: 14px;
	border-radius: 14px;
	background: #F7F9FA;
	color: #1B2440;
	font-size: 14px;
}

/* Lista */
#tmgc-client-page .tmgc-sessions-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Card (badge data + conteúdo) */
#tmgc-client-page .tmgc-session-card {
	display: grid;
	grid-template-columns: 78px 1fr;
	gap: 12px;
	align-items: stretch;
}

/* Badge da data (identidade nossa) */
#tmgc-client-page .tmgc-session-datebadge {
	border-radius: 16px;
	background: #F7F9FA;
	position: relative;
	padding: 10px 10px 10px 14px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 86px;
	border: 1px solid #E3E8F0;
}

#tmgc-client-page .tmgc-session-datebadge::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	bottom: 12px;
	width: 4px;
	border-radius: 99px;
	background: #24BDC0;
}

#tmgc-client-page .tmgc-session-datebadge-day {
	font-size: 22px;
	font-weight: 700;
	color: #1B2440;
	line-height: 1;
}

#tmgc-client-page .tmgc-session-datebadge-mon {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #1B2440;
	opacity: 0.85;
}

#tmgc-client-page .tmgc-session-datebadge-year {
	margin-top: 2px;
	font-size: 12px;
	color: #1B2440;
	opacity: 0.70;
}

/* Conteúdo do card */
#tmgc-client-page .tmgc-session-content {
	border-radius: 16px;
	background: #ffffff;
	border: 1px solid #E3E8F0;
	padding: 12px 14px;
}

#tmgc-client-page .tmgc-session-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

#tmgc-client-page .tmgc-session-left {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

#tmgc-client-page .tmgc-session-time {
	font-size: 14px;
	font-weight: 700;
	color: #1B2440;
}

#tmgc-client-page .tmgc-session-online {
	font-size: 14px;
	opacity: 0.9;
	transform: translateY(1px);
}

/* Badge status (PT-BR) */
#tmgc-client-page .tmgc-session-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	border: 1px solid transparent;
}

#tmgc-client-page .tmgc-session-badge--pending {
	background: #FFF7E6;
	border-color: rgba(245, 158, 11, 0.35);
	color: #B45309;
}

#tmgc-client-page .tmgc-session-badge--paid {
	background: rgba(36, 189, 192, 0.14);
	border-color: rgba(36, 189, 192, 0.30);
	color: #0E6E70;
}

#tmgc-client-page .tmgc-session-badge--cancelled {
	background: #FEE2E2;
	border-color: rgba(220, 38, 38, 0.25);
	color: #B91C1C;
}

#tmgc-client-page .tmgc-session-badge--done {
	background: rgba(13, 110, 253, 0.12);
	border-color: rgba(13, 110, 253, 0.22);
	color: #0B4AA7;
}

#tmgc-client-page .tmgc-session-badge--scheduled {
	background: rgba(27, 36, 64, 0.06);
	border-color: rgba(27, 36, 64, 0.12);
	color: #1B2440;
}

/* Ações */
#tmgc-client-page .tmgc-session-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* “Pagar” como link-botão */
#tmgc-client-page .tmgc-session-link {
	appearance: none;
	background: transparent;
	border: none;
	padding: 6px 8px;
	margin: 0;
	cursor: pointer;
	font-weight: 700;
	font-size: 13px;
	color: #1B2440;
	border-radius: 10px;
}

#tmgc-client-page .tmgc-session-link:hover {
	background: rgba(36, 189, 192, 0.12);
}

/* Botões ícone (calendário / ⋮) */
#tmgc-client-page .tmgc-iconbtn {
	width: 34px;
	height: 34px;
	border-radius: 12px;
	border: 1px solid rgba(27, 36, 64, 0.12);
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}

#tmgc-client-page .tmgc-iconbtn:hover {
	border-color: rgba(36, 189, 192, 0.55);
}

/* Dropdown calendário */
#tmgc-client-page .tmgc-session-dropdown { position: relative; }

#tmgc-client-page .tmgc-session-menu {
	position: absolute;
	right: 0;
	top: 40px;
	width: 230px;
	background: #fff;
	border: 1px solid rgba(27, 36, 64, 0.12);
	border-radius: 14px;
	padding: 8px;
	box-shadow: 0 12px 24px rgba(27, 36, 64, 0.12);
	z-index: 9999;
}

#tmgc-client-page .tmgc-session-menuitem {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 10px;
	border-radius: 12px;
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	color: #1B2440;
	text-align: left;
}

#tmgc-client-page .tmgc-session-menuitem:hover {
	background: rgba(36, 189, 192, 0.12);
}

#tmgc-client-page .tmgc-session-menusep {
	border: none;
	height: 1px;
	background: rgba(27, 36, 64, 0.10);
	margin: 8px 0;
}

#tmgc-client-page .tmgc-session-menuitem--primary {
	background: rgba(36, 189, 192, 0.16);
}

#tmgc-client-page .tmgc-session-menuitem--primary:hover {
	background: rgba(36, 189, 192, 0.22);
}

/* ===== FIX: dropdown (more menu) não ser cortado pelo container ===== */

/* o card vira “referência” pro menu absolute */
#tmgc-client-page .tmgc-session-card,
#tmgc-client-page .tmgc-session-dropdown {
  position: relative;
}

/* libera overflow dos wrappers mais comuns que cortam dropdown */
#tmgc-client-page .tmgc-sessions-section,
#tmgc-client-page .tmgc-sessions-list,
#tmgc-client-page .tmgc-session-card,
#tmgc-client-page .tmgc-session-content,
#tmgc-client-page .tmgc-sessions-past-wrap {
  overflow: visible !important;
}

/* ===== FIX extra: wrappers do Elementor/JetTabs que cortam overlays ===== */
#tmgc-client-page .elementor-widget-container,
#tmgc-client-page .elementor-section,
#tmgc-client-page .elementor-column,
#tmgc-client-page .jet-tabs,
#tmgc-client-page .jet-tabs__content,
#tmgc-client-page .jet-tabs__content-wrapper,
#tmgc-client-page .jet-tabs__content-inner {
  overflow: visible !important;
}

/* =========================================
   FIX: permitir dropdown escapar do container
   ========================================= */
@media (min-width: 1025px) {
    #tmgc-client-page.tmgc-client-page-wrap {
        overflow: visible !important;
    }
}

@media (max-width: 1024px) {
    #tmgc-client-page.tmgc-client-page-wrap {
        overflow-x: hidden !important;
    }
}

/* Botão anotação */
#tmgc-client-page .tmgc-session-row--notes { margin-top: 10px; }

#tmgc-client-page .tmgc-session-notes {
	width: 100%;
	border-radius: 14px;
	padding: 10px 12px;
	background: #F7F9FA;
	border: 1px solid rgba(27, 36, 64, 0.08);
	color: #1B2440;
	font-weight: 700;
	cursor: pointer;
}

#tmgc-client-page .tmgc-session-notes:hover {
	background: rgba(36, 189, 192, 0.12);
	border-color: rgba(36, 189, 192, 0.30);
}

/* Toggle sessões passadas */
#tmgc-client-page .tmgc-sessions-section-header--toggle { margin-top: 6px; }

#tmgc-client-page .tmgc-sessions-toggle-past {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(27, 36, 64, 0.12);
	background: #fff;
	color: #1B2440;
	font-weight: 700;
	padding: 10px 12px;
	border-radius: 14px;
	cursor: pointer;
}

#tmgc-client-page .tmgc-sessions-toggle-past:hover {
	border-color: rgba(36, 189, 192, 0.55);
	background: rgba(36, 189, 192, 0.06);
}

#tmgc-client-page .tmgc-sessions-toggle-icon {
	display: inline-flex;
	width: 18px;
	justify-content: center;
}

/* Card passado (sutil) */
#tmgc-client-page .tmgc-session-card--past .tmgc-session-content {
	background: #FBFCFD;
}

/* Responsivo */
@media (max-width: 768px) {
	#tmgc-client-page .tmgc-session-card {
		grid-template-columns: 70px 1fr;
	}
}

/* ============================================================================
   TMGC - Modal Pagamento (UI only) - ESCOPADO
============================================================================ */

#tmgc-client-page #tmgc-payment-modal[hidden] { display: none !important; }

#tmgc-client-page #tmgc-payment-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.55);
}

#tmgc-client-page #tmgc-payment-modal .tmgc-modal-dialog {
	position: relative;
	width: min(760px, calc(100vw - 32px));
	margin: 64px auto;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 16px 48px rgba(0,0,0,.25);
	overflow: hidden;
	border: 1px solid #E3E8F0;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid #EEF3F6;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-modal-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #1B2440;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-modal-body {
	padding: 16px;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-modal-footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 14px 16px;
	border-top: 1px solid #EEF3F6;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-muted {
	margin: 0 0 12px 0;
	color: #6B7280;
	font-size: 13px;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-formgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
}

#tmgc-client-page #tmgc-payment-modal .tmgc-formgrid label span {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #1B2440;
	margin-bottom: 6px;
}

#tmgc-client-page #tmgc-payment-modal input,
#tmgc-client-page #tmgc-payment-modal select {
	width: 100%;
	border: 1px solid #DDE6EA;
	border-radius: 12px;
	background: #F7F9FA;
	padding: 10px 12px;
	font-size: 14px;
	color: #1B2440;
	outline: none;
}

#tmgc-client-page #tmgc-payment-modal input:focus,
#tmgc-client-page #tmgc-payment-modal select:focus {
	border-color: #24BDC0;
	box-shadow: 0 0 0 3px rgba(36,189,192,.18);
	background: #fff;
}

@media (max-width: 640px) {
	#tmgc-client-page #tmgc-payment-modal .tmgc-modal-dialog {
		margin: 18px auto;
	}
	#tmgc-client-page #tmgc-payment-modal .tmgc-formgrid {
		grid-template-columns: 1fr;
	}
}

/* ==========================
   TMGC - Ajustes finos Sessões
   (cole abaixo do bloco novo)
========================== */

/* Deixa os cards mais compactos */
#tmgc-client-page .tmgc-session-content {
  padding: 10px 12px;
}

/* Linha do topo: melhora alinhamento e reduz altura */
#tmgc-client-page .tmgc-session-row {
  min-height: 38px;
}

/* Hora um pouco maior e mais destacada */
#tmgc-client-page .tmgc-session-time {
  font-size: 15px;
  letter-spacing: 0.01em;
}

/* Ícone online menor e alinhado */
#tmgc-client-page .tmgc-session-online {
  font-size: 13px;
  opacity: 0.8;
  transform: translateY(0);
}

/* "Pagar" com cara de ação leve (não botão) */
#tmgc-client-page .tmgc-session-link {
  padding: 6px 10px;
  border-radius: 999px;
}

#tmgc-client-page .tmgc-session-link:hover {
  background: rgba(36, 189, 192, 0.10);
}

/* Botão de anotação: reduz altura e fica mais “inline” */
#tmgc-client-page .tmgc-session-row--notes {
  margin-top: 8px;
}

#tmgc-client-page .tmgc-session-notes {
  padding: 10px 12px;
  font-weight: 700;
  font-size: 13px;
  border-radius: 14px;
  text-align: center;
}

/* Se você quiser ainda mais compacto: deixe o botão menor */
@media (min-width: 769px) {
  #tmgc-client-page .tmgc-session-notes {
    padding: 9px 12px;
  }
}

/* Badge “Pendente” um pouco menor (mais clean) */
#tmgc-client-page .tmgc-session-badge {
  padding: 6px 10px;
  font-size: 11px;
}

/* Ícones da direita com menos “peso” visual */
#tmgc-client-page .tmgc-iconbtn {
  width: 32px;
  height: 32px;
  border-radius: 12px;
}

/* Card passado mais discreto */
#tmgc-client-page .tmgc-session-card--past .tmgc-session-datebadge,
#tmgc-client-page .tmgc-session-card--past .tmgc-session-content {
  opacity: 0.92;
}

/* =============================================================================
    MODAL MENU SESSÕES
    ==========================================================================*/

#tmgc-client-page .tmgc-session-badge--clinical{
  margin-left: 8px;
  background: #F7F9FA;
  color: #1B2440;
  border: 1px solid #B3E1E2;
  overflow: visible !important;
}


/* =========================================================
   FIX DEFINITIVO - Modal Adicionar Sessão
========================================================= */

/* ✅ garante que o modal NUNCA aparece no reload */
/* overlay e caixa do modal (se ainda não existirem para note) */
#tmgc-note-modal .tmgc-modal-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9998;
}

#tmgc-note-modal .tmgc-modal-content{
    font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 920px;
  width: calc(100% - 32px);
  background: #fff;
  border-radius: 16px;
  z-index: 9999;
  padding: 20px;
}

/* ✅ Modais TMGC: escondidos por padrão */
#tmgc-session-modal[aria-hidden="true"],
#tmgc-note-modal[aria-hidden="true"] {
  display: none !important;
}

/* ✅ Quando o JS abrir, ele coloca .show e display:block inline, então liberamos */
#tmgc-session-modal.show,
#tmgc-note-modal.show {
  display: block;
}

#tmgc-session-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none;
}

#tmgc-session-modal.show {
  display: block !important;
}

#tmgc-session-modal .tmgc-modal-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
}

#tmgc-session-modal .tmgc-modal-content {
  position: relative !important;
  width: min(720px, calc(100vw - 32px)) !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.25) !important;
  margin: 64px auto !important;
  padding: 22px 22px 18px !important;
  overflow: hidden !important;
}

#tmgc-session-modal .tmgc-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #F2F5F7 !important;
  color: #1B2440 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* ============================================================================
   TMGC - Refinamento visual do modal "Agendar Sessão"
   (depois do seu CSS atual do #tmgc-session-modal)
============================================================================ */

#tmgc-session-modal .tmgc-modal-content {
  padding: 22px 22px 18px;
}

/* Título + botão X alinhados */
#tmgc-session-modal .tmgc-modal-title {
  margin: 0 52px 14px 0;
  font-size: 18px;
  font-weight: 700;
}

/* Grid mais consistente */
#tmgc-session-modal .tmgc-session-form-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
  align-items: start;
}

/* Campo padrão */
#tmgc-session-modal .tmgc-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#tmgc-session-modal .tmgc-field label {
  font-size: 12px;
  font-weight: 700;
  color: #1B2440;
}

/* Inputs visual padrão */
#tmgc-session-modal input[type="text"],
#tmgc-session-modal input[type="date"],
#tmgc-session-modal input[type="time"],
#tmgc-session-modal select,
#tmgc-session-modal textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #DDE6EA;
  border-radius: 12px;
  background: #F7F9FA;
  padding: 10px 12px;
  font-size: 14px;
  color: #1B2440;
  outline: none;
}

/* Corrige o “mini input” de time em alguns browsers */
#tmgc-session-modal input[type="time"] {
  min-height: 42px;
  padding: 8px 12px;
}

/* Foco */
#tmgc-session-modal input:focus,
#tmgc-session-modal select:focus,
#tmgc-session-modal textarea:focus {
  border-color: #24BDC0;
  box-shadow: 0 0 0 3px rgba(36,189,192,.18);
  background: #ffffff;
}

/* Ajuste: campos “largos” podem ocupar 2 colunas (se você quiser) */
#tmgc-session-modal .tmgc-field--full {
  grid-column: 1 / -1;
}

/* Rodapé/botões */
#tmgc-session-modal .tmgc-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #EEF3F6;
}

/* Botões do modal (pra ficar premium) */
#tmgc-session-modal .tmgc-btn {
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 700;
}

#tmgc-session-modal .tmgc-btn-secondary {
  background: #F2F5F7;
  color: #1B2440;
  border: 1px solid #DDE6EA;
}

#tmgc-session-modal .tmgc-btn-secondary:hover {
  background: #E7EFF1;
}

#tmgc-session-modal .tmgc-btn-primary {
  background: #24BDC0;
  color: #fff;
  border: 1px solid #24BDC0;
}

#tmgc-session-modal .tmgc-btn-primary:hover {
  filter: brightness(0.95);
}

#tmgc-new-client-modal .tmgc-btn-primary {
  background: #24BDC0;
  color: #fff;
  border: 1px solid #24BDC0;
}

#tmgc-new-client-modal .tmgc-btn-primary:hover {
  filter: brightness(0.95);
}

#tmgc-new-client-modal .tmgc-btn-secondary {
  background: #F2F5F7;
  color: #1B2440;
  border: 1px solid #DDE6EA;
}

#tmgc-new-client-modal .tmgc-btn-secondary:hover {
  background: #E7EFF1;
}

@media (max-width: 640px) {
  #tmgc-session-modal .tmgc-modal-content {
    margin: 18px auto !important;
    padding: 18px 16px 14px !important;
    border-radius: 14px !important;
  }
}

/* Responsivo */
@media (max-width: 640px) {
  #tmgc-session-modal .tmgc-session-form-inner {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   TMGC - NOTE MODAL (igual ao #tmgc-session-modal)
   Cole NO FINAL do CSS (depois de tudo)
========================================================= */

#tmgc-note-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none;
}

/* overlay continua cobrindo a tela toda */
#tmgc-note-modal .tmgc-modal-overlay{
  position: fixed !important;
  inset: 0 !important;
}

/* Caixa do modal: mesma do session */
#tmgc-note-modal .tmgc-modal-content {
  position: relative !important;
  width: min(720px, calc(100vw - 32px)) !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.25) !important;
  padding: 22px 22px 18px !important;
  overflow: auto;
}

/* Botão X: mesmo do session */
#tmgc-note-modal .tmgc-modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #F2F5F7 !important;
  color: #1B2440 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* Título: mesmo do session */
#tmgc-note-modal .tmgc-modal-title {
  margin: 0 52px 14px 0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #1B2440 !important;
}

/* Grid interno: reutiliza sua classe tmgc-session-form-inner */
#tmgc-note-modal .tmgc-session-form-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px 14px !important;
  align-items: start !important;
}

/* Campo padrão */
#tmgc-note-modal .tmgc-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

#tmgc-note-modal .tmgc-field label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1B2440 !important;
}

/* Inputs: mesmo do session */
#tmgc-note-modal input[type="text"],
#tmgc-note-modal input[type="date"],
#tmgc-note-modal input[type="time"],
#tmgc-note-modal select,
#tmgc-note-modal textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #DDE6EA !important;
  border-radius: 12px !important;
  background: #F7F9FA !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  color: #1B2440 !important;
  outline: none !important;
}

/* Textarea do note: confortável */
#tmgc-note-modal textarea {
  min-height: 220px !important;
  resize: vertical !important;
}

/* Focus: mesmo do session */
#tmgc-note-modal input:focus,
#tmgc-note-modal select:focus,
#tmgc-note-modal textarea:focus {
  border-color: #24BDC0 !important;
  box-shadow: 0 0 0 3px rgba(36,189,192,.18) !important;
  background: #ffffff !important;
}

/* Rodapé/botões: mesmo do session */
#tmgc-note-modal .tmgc-form-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid #EEF3F6 !important;
}

/* Botões: mesmo do session */
#tmgc-note-modal .tmgc-btn {
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-weight: 800 !important;
}

#tmgc-note-modal .tmgc-btn-secondary {
  background: #F2F5F7 !important;
  color: #1B2440 !important;
  border: 1px solid #DDE6EA !important;
}

#tmgc-note-modal .tmgc-btn-secondary:hover {
  background: #E7EFF1 !important;
}

#tmgc-note-modal .tmgc-btn-primary {
  background: #24BDC0 !important;
  color: #fff !important;
  border: 1px solid #24BDC0 !important;
}

#tmgc-note-modal .tmgc-btn-primary:hover {
  filter: brightness(0.95) !important;
}

/* =========================================================
   FIX DEFINITIVO - centralizar note modal (sem flex)
   Cole NO FINAL do CSS
========================================================= */

#tmgc-note-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: none !important;
}

#tmgc-note-modal.show{
  display: block !important;           /* <<< remove flex */
}

/* overlay sempre cobrindo tudo */
#tmgc-note-modal .tmgc-modal-overlay{
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.55) !important;
}

/* caixa 100% centralizada e com scroll interno quando precisar */
#tmgc-note-modal .tmgc-modal-content{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  width: min(720px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 32px) !important;  /* garante que nunca corta embaixo */
  overflow: auto !important;                  /* scroll dentro do modal */

  margin: 0 !important;                       /* mata margin 64px auto */
}

/* se o conteúdo do modal for alto, o scroll fica suave no iOS */
#tmgc-note-modal .tmgc-modal-content{
  -webkit-overflow-scrolling: touch;
}

/* mobile: mantém central e com mais respiro */
@media (max-width: 640px){
  #tmgc-note-modal .tmgc-modal-content{
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
  }
}

/* Responsivo: igual ao session */
@media (max-width: 640px) {
  #tmgc-note-modal .tmgc-modal-content {
    margin: 0 !important;             /* <- aqui */
    padding: 18px 16px 14px !important;
    border-radius: 14px !important;
  }

  #tmgc-note-modal .tmgc-session-form-inner {
    grid-template-columns: 1fr !important;
  }
}

/* ================================
   TMGC - Acompanhamento Clínico
================================== */

.tmgc-records-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 6px 26px !important;
    font-size: 12px;
    font-weight: 500;

    background-color: #2d3e66 !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* ================================
   TMGC - Clinical Notes Card (NEW)
   Classes exclusivas: .tmgc-cn-*
================================== */
.tmgc-cn-main {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tmgc-cn-card {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  align-items: stretch;
  margin: 0 0 14px 0;
}

/* Coluna da data (estilo do card de sessão) */
.tmgc-cn-date {
  position: relative;
  border-radius: 18px;
  background: #f6f8fa;
  border: 1px solid rgba(27, 36, 64, 0.08);
  padding: 14px 10px;
  text-align: center;
  align-items: center;
  box-shadow: 0 8px 24px rgba(27, 36, 64, 0.06);
}

.tmgc-cn-date::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 4px;
  background: #24BDC0;
}

.tmgc-cn-date__day {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #1B2440;
}

.tmgc-cn-date__month {
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: 0.10em;
  font-weight: 700;
  color: rgba(27, 36, 64, 0.72);
}

.tmgc-cn-date__year {
  margin-top: 4px;
  font-size: 13px;
  color: rgba(27, 36, 64, 0.55);
}

/* Corpo */
.tmgc-cn-body {
  background: #fff;
  justify-content: flex-start;
  border: 1px solid rgba(27, 36, 64, 0.08);
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 8px 24px rgba(27, 36, 64, 0.06);

  display: flex;
  flex-direction: column;
  gap: 12px;

  /* altura padrão */
  min-height: 118px;
}

/* linha superior (hora) */
.tmgc-cn-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.tmgc-cn-time {
  font-size: 14px;
  font-weight: 700;
  color: #1B2440;
}

/* título (1/3) + conteúdo (2/3) */
.tmgc-cn-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
  align-items: start;
}

.tmgc-cn-title {
  font-size: 15px;
  font-weight: 700;
  color: #1B2440;

  /* mantém altura padrão */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tmgc-cn-excerpt {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(27, 36, 64, 0.90);

  /* mantém altura padrão + reticências */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Ações 50/50 */
.tmgc-cn-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

#tmgc-client-page .tmgc-cn-edit {
    width: 100%;
	padding: 10px 12px;
	background: #F7F9FA;
	border: 1px solid;
	border-color:  #CCCCCC;
	border-radius: 14px;
	color: #1B2440;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}

#tmgc-client-page .tmgc-cn-edit:hover {
	background: #b3e1e2;
	border-color: #24bdc0;
	color: #1B2440;
}

#tmgc-client-page .tmgc-cn-delete {
    width: 100%;
	padding: 10px 12px;
	background: #F7F9FA;
	border: 1px solid;
	border-color:  #CCCCCC;
	border-radius: 14px;
	color: #1B2440;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}

#tmgc-client-page .tmgc-cn-delete:hover {
	background: #b3e1e2;
	border-color: #24bdc0;
	color: #1B2440;
}

/* Responsivo */
@media (max-width: 820px) {
  .tmgc-cn-card { grid-template-columns: 86px 1fr; }
}

@media (max-width: 640px) {
  .tmgc-cn-card { grid-template-columns: 1fr; }

  .tmgc-cn-date {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    text-align: left;
    padding-left: 22px;
  }

  .tmgc-cn-date::before { left: 10px; }
  .tmgc-cn-date__day { font-size: 22px; }
  .tmgc-cn-date__month, .tmgc-cn-date__year { margin-top: 0; }

  .tmgc-cn-grid { grid-template-columns: 1fr; gap: 10px; }
  .tmgc-cn-actions { grid-template-columns: 1fr; }
}

/* ================================
 * PRONTUÁRIO
 * ================================ */
 
/* ========================================================================
   PRONTUÁRIO — estilo padrão do sistema (igual Cadastro/Anamnese)
   ======================================================================== */

.tmgc-client-tab[data-tmgc-tab="psychological-record"] .tmgc-client-tab-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.tmgc-prontuario-wrap{
  margin-top: 14px;
}

.tmgc-prontuario-accordion{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* cada item do accordion */
.tmgc-prontuario-accordion .tmgc-acc-item{
  border: 1px solid rgba(36, 189, 192, 0.35);
  border-radius: 14px;
  background: #ffffff;
  overflow: hidden;
}

/* header clicável */
.tmgc-prontuario-accordion .tmgc-acc-title{
  list-style:none;
  cursor:pointer;
  padding: 14px 16px;
  font-weight: 700;
  color:#1B2440;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background: #ffffff;
}

/* remove o marker padrão do <summary> */
.tmgc-prontuario-accordion .tmgc-acc-title::-webkit-details-marker{
  display:none;
}

/* setinha padrão (igual “accordion”) */
.tmgc-prontuario-accordion .tmgc-acc-title::after{
  content:"";
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(27,36,64,0.6);
  border-bottom: 2px solid rgba(27,36,64,0.6);
  transform: rotate(45deg);
  transition: transform .18s ease;
  flex: 0 0 auto;
}

/* quando aberto, gira a setinha */
.tmgc-prontuario-accordion .tmgc-acc-item[open] .tmgc-acc-title::after{
  transform: rotate(-135deg);
}

/* corpo do item */
.tmgc-prontuario-accordion .tmgc-acc-body{
  padding: 0 16px 16px;
}

/* textarea padrão (igual demais telas) */
.tmgc-prontuario-accordion .tmgc-textarea{
  width:100%;
  min-height: 220px; /* deixa grande como seus outros formulários */
  border: 1px solid rgba(27,36,64,0.18);
  border-radius: 12px;
  padding: 14px;
  font-size: 15px;
  line-height: 1.35;
  color:#1B2440;
  background:#ffffff;
  outline:none;
}

.tmgc-prontuario-accordion .tmgc-textarea:focus{
  border-color: rgba(36,189,192,0.8);
  box-shadow: 0 0 0 3px rgba(36,189,192,0.14);
}

/* barra de ações (salvar/status) */
.tmgc-prontuario-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-top: 14px;
}

.tmgc-pdf-prontuario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 6px 26px !important;
    font-size: 12px;
    font-weight: 500;

    background-color: #2d3e66 !important;
    color: #FFFFFF !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.tmgc-prontuario-save {
    width: 100%;
	padding: 10px 12px;
	background: #F7F9FA;
	border: 1px solid;
	border-color:  #CCCCCC;
	border-radius: 14px;
	color: #1B2440;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}

/* status */
#tmgc-prontuario-status{
  font-size: 13px;
  color: rgba(27,36,64,0.65);
}

/* botão do topo (gerar PDF) — garante “cara” padrão */
#tmgc-prontuario-generate-pdf{
  white-space: nowrap;
}

/* =========================================================
   Prontuário - Opções do PDF (checkboxes / radios)
   ========================================================= */

.tmgc-prontuario-pdf-options{
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(36, 189, 192, .35);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(27, 36, 64, .06);
}

.tmgc-prontuario-pdf-options h4{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 700;
  color: #1B2440;
}

.tmgc-prontuario-pdf-options .tmgc-opt-section{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(27, 36, 64, .08);
}

.tmgc-prontuario-pdf-options .tmgc-opt-title{
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: #1B2440;
}

.tmgc-prontuario-pdf-options .tmgc-opt-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}

@media (max-width: 768px){
  .tmgc-prontuario-pdf-options .tmgc-opt-grid{
    grid-template-columns: 1fr;
  }
}

.tmgc-prontuario-pdf-options label{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.25;
  color: #1B2440;
  margin: 0;
  cursor: pointer;
}

.tmgc-prontuario-pdf-options input[type="checkbox"],
.tmgc-prontuario-pdf-options input[type="radio"]{
  margin: 2px 0 0;
  width: 18px;
  height: 18px;
  accent-color: #24BDC0; /* moderno e simples */
}

.tmgc-prontuario-pdf-options .tmgc-opt-sub{
  margin-left: 28px;
  padding-left: 14px;
  border-left: 3px solid rgba(36, 189, 192, .35);
}

.tmgc-prontuario-pdf-options .tmgc-opt-sub label{
  font-weight: 500;
  color: rgba(27, 36, 64, .9);
}

.tmgc-prontuario-pdf-options .tmgc-opt-inline{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.tmgc-prontuario-pdf-options .tmgc-opt-dates{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin-top: 10px;
}

@media (max-width: 768px){
  .tmgc-prontuario-pdf-options .tmgc-opt-dates{
    grid-template-columns: 1fr;
  }
}

.tmgc-prontuario-pdf-options .tmgc-opt-dates .tmgc-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tmgc-prontuario-pdf-options .tmgc-opt-dates .tmgc-field span{
  font-size: 12px;
  color: rgba(27, 36, 64, .75);
  font-weight: 600;
}

.tmgc-prontuario-pdf-options input[type="date"]{
  border: 1px solid rgba(27, 36, 64, .18);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
}

.tmgc-prontuario-pdf-options input[type="date"]:focus{
  border-color: #24BDC0;
  box-shadow: 0 0 0 3px rgba(36, 189, 192, .18);
}

.tmgc-prontuario-pdf-options .tmgc-opt-muted{
  font-size: 12px;
  color: rgba(27, 36, 64, .65);
  margin-top: 8px;
}

/* responsivo */
@media (max-width: 768px){
  .tmgc-client-tab[data-tmgc-tab="psychological-record"] .tmgc-client-tab-header{
    flex-direction: column;
    align-items: flex-start;
  }

  #tmgc-prontuario-generate-pdf{
    width: 100%;
  }
}

/* ================================
 * ABA PRINCIPAL
 * ================================ */
 
 .tmgc-principal-grid{
	display:grid;
	grid-template-columns: 320px 1fr;
	gap:16px;
	align-items:start;
}

@media (max-width: 980px){
	.tmgc-principal-grid{
		grid-template-columns: 1fr;
	}
}

.tmgc-sidecard,
.tmgc-maincard{
	background:#fff;
	border:1px solid #eef0f3;
	border-radius:12px;
	box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.tmgc-sidecard-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:14px 16px;
	border-bottom:1px solid #eef0f3;
}

.tmgc-sidecard-title{
	font-weight:600;
	font-size:14px;
	color:#1B2440;
}

.tmgc-sidecard-body{
	padding:14px 16px;
}

.tmgc-kv{
	margin-bottom:14px;
}

.tmgc-k{
	font-size:12px;
	color:#6b7280;
	margin-bottom:4px;
}

.tmgc-v{
	font-size:14px;
	color:#1B2440;
	font-weight:600;
	display:flex;
	align-items:center;
	gap:8px;
}

.tmgc-wa{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	padding:0 8px;
	height:24px;
	border-radius:6px;
	background:#22c55e;
	color:#fff;
	text-decoration:none;
	line-height:1;
}

.tmgc-maincard-row{
	padding:18px 18px;
}

.tmgc-next-k{
	font-size:12px;
	color:#6b7280;
	margin-bottom:6px;
}

.tmgc-next-v{
	font-size:18px;
	font-weight:700;
	color:#1B2440;
	display:flex;
	align-items:baseline;
	gap:10px;
}

.tmgc-next-time{
	font-size:14px;
	font-weight:600;
	color:#6b7280;
}

.tmgc-wa-emoji{
	font-size:14px;
	line-height:1;
}


/* ================================
 * RESPONSIVO
 * ================================ */

@media (max-width: 768px) {
	#tmgc-client-page .tmgc-client-tab-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	#tmgc-client-page .tmgc-client-tab-header #tmgc-download-anamnesis-pdf {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}
}


/* ============================================================
 * RESPONSIVO – LISTAGEM DE CLIENTES (MOBILE)
 * ============================================================ */

@media (max-width: 920px) {

    /* Esconde cabeçalho da tabela */
    #tmgc-clients-dashboard .tmgc-clients-table thead {
        display: none;
    }

    /* Cada linha vira um "card" separado */
    #tmgc-clients-dashboard .tmgc-clients-table,
    #tmgc-clients-dashboard .tmgc-clients-table tbody {
        display: block;
        width: 100%;
    }

    #tmgc-clients-dashboard .tmgc-client-row {
        display: block;
        margin-bottom: 14px;
        border-radius: 12px;
        border: 1px solid #dde3f0;
        background: #ffffff;
        overflow: visible;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03);
    }

    #tmgc-clients-dashboard .tmgc-client-row td {
        display: block;
        width: 100%;
        border: 0;
        padding: 6px 14px !important;
        background: #ffffff;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:first-child {
        display: flex;
        align-items: center;
        border-bottom: 1px solid #eef2f7;
        border-radius: 12px 12px 0 0;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        background: #f7f9fb;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:nth-child(2)::before {
        content: "E-mail";
        display: block;
        font-size: 11px;
        font-weight: 600;
        color: #8a8fa3;
        margin-bottom: 2px;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:nth-child(3)::before {
        content: "Telefone";
        display: block;
        font-size: 11px;
        font-weight: 600;
        color: #8a8fa3;
        margin-bottom: 2px;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:nth-child(4)::before {
        content: "Status";
        display: block;
        font-size: 11px;
        font-weight: 600;
        color: #8a8fa3;
        margin-bottom: 4px;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:nth-child(5)::before {
        content: "Desde";
        display: block;
        font-size: 11px;
        font-weight: 600;
        color: #8a8fa3;
        margin-bottom: 2px;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:last-child {
        text-align: right;
        border-top: 1px solid #eef2f7;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        border-radius: 0 0 10px 10px;
    }

    #tmgc-clients-dashboard .tmgc-clients-table-col-actions {
        text-align: right;
    }

    #tmgc-clients-dashboard .tmgc-client-row td:last-child::before {
        content: "";
        display: none;
    }

    #tmgc-clients-dashboard .tmgc-dashboard-table-wrap {
        padding-top: 8px;
    }
}

/* Abas ocupam a linha inteira em telas bem pequenas */
@media (max-width: 480px) {
    #tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs {
        flex-wrap: wrap;
    }
    #tmgc-clients-dashboard .tmgc-dashboard-header .tmgc-dashboard-tabs .tmgc-tab-button {
        flex: 1 1 50%;
        text-align: center;
    }
}

/* ============================================================
 * RESPONSIVO – PÁGINA DO CLIENTE (DETALHE)
 * ============================================================ */

@media (max-width: 1024px) {
	#tmgc-client-page.tmgc-client-page-wrap {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		min-width: 0;
		overflow-x: hidden;
		box-sizing: border-box;
	}

	#tmgc-client-page .tmgc-client-sidebar,
	#tmgc-client-page .tmgc-client-main,
	#tmgc-client-page .tmgc-client-tab,
	#tmgc-client-page .tmgc-client-tab-body {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	#tmgc-client-page .tmgc-client-sidebar {
		border-bottom: 1px solid #e2e8f0;
	}

	#tmgc-client-page .tmgc-client-main {
		padding: 16px;
	}

	#tmgc-client-page .tmgc-client-nav-item {
		width: 100%;
		text-align: center;
	}
}

/* =========================================
   FIX GLOBAL DE FONTE - TMGC
========================================= */

#tmgc-client-page,
#tmgc-client-page * {
    font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* =========================================
   FIX DE PESOS - OUTFIT
========================================= */

#tmgc-client-page {
    font-weight: 400;
}

#tmgc-client-page h1,
#tmgc-client-page h2,
#tmgc-client-page h3,
#tmgc-client-page h4 {
    font-weight: 600;
}

#tmgc-client-page .tmgc-session-time,
#tmgc-client-page .tmgc-session-datebadge-day,
#tmgc-client-page .tmgc-session-datebadge-mon {
    font-weight: 700;
}

#tmgc-client-page button {
    font-weight: 600;
}

/* ============================================================
 * RESPONSIVO – RAIZ DOS SHORTCODES TMGC
 * ============================================================ */

#tmgc-clients-dashboard,
#tmgc-client-page {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

#tmgc-clients-dashboard *,
#tmgc-client-page * {
	box-sizing: border-box;
}

/* Tablet / painel com menu lateral visível */
@media (min-width: 769px) and (max-width: 1024px) {
	#tmgc-clients-dashboard,
	#tmgc-client-page {
		width: calc(100vw - 112px);
		max-width: calc(100vw - 112px);
		min-width: 0;
		overflow-x: hidden;
	}
}

/* Mobile real */
@media (max-width: 768px) {
	#tmgc-clients-dashboard,
	#tmgc-client-page {
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
		min-width: 0;
		overflow-x: hidden;
	}
}

/* ============================================================
 * FIX Z-INDEX - MENU MOBILE ACIMA DO PAINEL TMGC
 * ============================================================ */

/* Mantém o painel abaixo do header/menu */
#tmgc-clients-dashboard,
#tmgc-client-page {
	position: relative;
	z-index: 1;
}

/* Dropdown/offcanvas do menu mobile */
.elementor-nav-menu--dropdown,
.elementor-menu-toggle,
.elementor-nav-menu__container,
.elementor-nav-menu--main,
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	z-index: 999999 !important;
}

/* Quando o menu mobile estiver aberto */
.elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
.elementor-menu-toggle.elementor-active ~ .elementor-nav-menu--dropdown {
	z-index: 999999 !important;
}

/* ============================================================
 * FIX MOBILE - VIEWPORT LARGO EM PÁGINAS TMGC
 * Corrige widget shortcode do Elementor que herda largura desktop
 * nas páginas do Gerenciamento de Clientes.
 * ============================================================ */

@media (max-width: 767px) {

	body.page-id-380 .elementor-widget-shortcode.elementor-widget__width-inherit,
	body.page-id-380 .elementor-widget-shortcode .elementor-widget-container,
	body.page-id-380 .elementor-widget-shortcode .elementor-shortcode {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-basis: auto !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	#tmgc-clients-dashboard,
	#tmgc-client-page {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	#tmgc-clients-dashboard *,
	#tmgc-clients-dashboard *::before,
	#tmgc-clients-dashboard *::after,
	#tmgc-client-page *,
	#tmgc-client-page *::before,
	#tmgc-client-page *::after {
		box-sizing: border-box;
	}
}