/* Gaia Finance — Clínica Mamma Gaia. Tudo escopado em .gf-app / .gf-modal / .gf-tip. */
.gf-app, .gf-modal, .gf-tip {
  --gf-ink: #12403c;
  --gf-ink-2: #4a6663;
  --gf-ink-3: #7b9390;
  --gf-bg: #f3f9f7;
  --gf-card: #ffffff;
  --gf-line: #dbe7e3;
  --gf-line-2: #eaf2ef;
  --gf-teal: #1f9d84;
  --gf-teal-soft: #dff5ef;
  --gf-gold: #d4a21e;
  --gf-gold-soft: #fbf1c9;
  --gf-blue: #4a86e0;
  --gf-blue-soft: #e1ecfc;
  --gf-red: #b4412f;
  --gf-red-soft: #fbe6e1;
  --gf-radius: 10px;
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--gf-ink);
  box-sizing: border-box;
}
.gf-app *, .gf-modal *, .gf-tip * { box-sizing: border-box; }
.gf-app { background: var(--gf-bg); border-radius: 14px; padding: 20px; max-width: 1240px; margin: 0 auto; }
.gf-admin { margin: 16px 20px 40px 2px; max-width: none; }
.gf-app h1, .gf-app h2, .gf-app h3 { font-family: 'Cormorant Garamond', Georgia, serif; color: var(--gf-ink); margin: 0; font-weight: 600; letter-spacing: 0; }
.gf-app h1 { font-size: 34px; line-height: 1.1; }
.gf-app h2 { font-size: 24px; line-height: 1.2; }
.gf-app h3 { font-size: 20px; }
.gf-app p { margin: 0; }
.gf-sub { color: var(--gf-ink-2); }
.gf-muted { color: var(--gf-ink-3); }
.gf-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.gf-carregando { padding: 40px 0; text-align: center; color: var(--gf-ink-3); }

/* topo e abas */
.gf-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.gf-top-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.gf-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--gf-line); margin: 12px 0 18px; overflow-x: auto; }
.gf-tab { appearance: none; background: none; border: 0; border-bottom: 3px solid transparent; padding: 10px 14px; font: inherit; font-weight: 500; color: var(--gf-ink-2); cursor: pointer; white-space: nowrap; margin-bottom: -1px; }
.gf-tab:hover { color: var(--gf-ink); }
.gf-tab[aria-selected="true"] { color: var(--gf-ink); border-bottom-color: var(--gf-gold); font-weight: 600; }
.gf-mesnav { display: inline-flex; align-items: center; gap: 4px; background: var(--gf-card); border: 1px solid var(--gf-line); border-radius: 999px; padding: 3px; }
.gf-mesnav button { appearance: none; border: 0; background: none; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 18px; color: var(--gf-ink-2); }
.gf-mesnav button:hover:not(:disabled) { background: var(--gf-teal-soft); color: var(--gf-ink); }
.gf-mesnav button:disabled { opacity: .35; cursor: default; }
.gf-mesnav .gf-mes { min-width: 150px; text-align: center; font-weight: 600; }
.gf-mes::first-letter, .gf-cap::first-letter { text-transform: uppercase; }
.gf-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }

/* cartões e blocos */
.gf-card { background: var(--gf-card); border: 1px solid var(--gf-line); border-radius: var(--gf-radius); padding: 18px; }
.gf-card + .gf-card { margin-top: 16px; }
.gf-card-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.gf-grid { display: grid; gap: 16px; }
.gf-kpis { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 16px; }
.gf-kpi { background: var(--gf-card); border: 1px solid var(--gf-line); border-radius: var(--gf-radius); padding: 14px 16px; }
.gf-kpi-t { color: var(--gf-ink-2); font-size: 12.5px; }
.gf-kpi-v { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 32px; font-weight: 700; line-height: 1.15; margin: 2px 0; font-variant-numeric: lining-nums tabular-nums; }
.gf-kpi-s { color: var(--gf-ink-3); font-size: 12px; }
.gf-kpi-destaque { background: var(--gf-ink); border-color: var(--gf-ink); color: #fff; }
.gf-kpi-destaque .gf-kpi-t, .gf-kpi-destaque .gf-kpi-s { color: #bfe3dc; }
.gf-kpi-destaque .gf-kpi-v { color: var(--gf-gold-soft); font-size: 38px; }
.gf-neg { color: var(--gf-red); }
.gf-kpi-destaque .gf-neg { color: #ffb4a6; }
.gf-cols-2 { grid-template-columns: 1.6fr 1fr; }
@media (max-width: 960px) { .gf-cols-2 { grid-template-columns: 1fr; } }

/* botões */
.gf-btn { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--gf-teal); background: var(--gf-teal); color: #fff; padding: 9px 16px; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; min-height: 40px; }
.gf-btn:hover { filter: brightness(.94); color: #fff; }
.gf-btn:focus-visible, .gf-tab:focus-visible, .gf-link:focus-visible, .gf-mesnav button:focus-visible { outline: 3px solid var(--gf-gold); outline-offset: 2px; }
.gf-btn-sec { background: var(--gf-card); color: var(--gf-ink); border-color: var(--gf-line); }
.gf-btn-sec:hover { background: var(--gf-teal-soft); color: var(--gf-ink); }
.gf-btn-ouro { background: var(--gf-gold-soft); border-color: #e7cf72; color: var(--gf-ink); }
.gf-btn-ouro:hover { color: var(--gf-ink); }
.gf-btn-pq { padding: 5px 10px; min-height: 30px; font-size: 12.5px; }
.gf-btn:disabled { opacity: .5; cursor: default; }
.gf-link { appearance: none; background: none; border: 0; padding: 4px 6px; font: inherit; font-size: 12.5px; color: var(--gf-teal); text-decoration: underline; cursor: pointer; }
.gf-link.gf-perigo { color: var(--gf-red); }

/* formulários */
.gf-form { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); align-items: end; }
.gf-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gf-field > span { font-size: 12.5px; font-weight: 500; color: var(--gf-ink-2); }
.gf-field-wide { grid-column: 1 / -1; }
.gf-app input[type=text], .gf-app input[type=email], .gf-app input[type=date], .gf-app input[type=password], .gf-app input[type=number], .gf-app select, .gf-app textarea,
.gf-modal input[type=text], .gf-modal input[type=email], .gf-modal input[type=date], .gf-modal input[type=number], .gf-modal select, .gf-modal textarea,
.gf-login-card input[type=text], .gf-login-card input[type=password] {
  width: 100%; max-width: none; min-height: 40px; padding: 8px 10px; border: 1px solid #c4d6d1; border-radius: 8px; background: #fff; color: var(--gf-ink); font: inherit; box-shadow: none;
}
.gf-app textarea, .gf-modal textarea { min-height: 96px; resize: vertical; }
.gf-app input:focus, .gf-app select:focus, .gf-app textarea:focus, .gf-modal input:focus, .gf-modal select:focus, .gf-modal textarea:focus, .gf-login-card input:focus { outline: 3px solid rgba(212, 162, 30, .45); border-color: var(--gf-gold); }
.gf-check { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.gf-check input { width: 18px; height: 18px; }
.gf-acoes-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* tabelas */
.gf-tabela-wrap { overflow-x: auto; }
.gf-tabela { width: 100%; border-collapse: collapse; }
.gf-tabela th { text-align: left; font-weight: 600; font-size: 12.5px; color: var(--gf-ink-2); padding: 8px 10px; border-bottom: 2px solid var(--gf-line); white-space: nowrap; }
.gf-tabela td { padding: 9px 10px; border-bottom: 1px solid var(--gf-line-2); vertical-align: middle; }
.gf-tabela tbody tr:hover { background: #f8fcfb; }
.gf-tabela .gf-r { text-align: right; }
.gf-tabela tfoot td { font-weight: 600; border-top: 2px solid var(--gf-line); border-bottom: 0; }
.gf-vazio { padding: 28px 10px; text-align: center; color: var(--gf-ink-3); }

/* chips */
.gf-chip { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.gf-chip-aberto { background: var(--gf-blue-soft); color: #2a5aa6; }
.gf-chip-enviado { background: var(--gf-gold-soft); color: #7a5a00; }
.gf-chip-fechado { background: var(--gf-teal-soft); color: #0d6b58; }
.gf-chip-pago { background: #0d6b58; color: #fff; }
.gf-chip-pendente { background: var(--gf-red-soft); color: var(--gf-red); }
.gf-chip-neutro { background: var(--gf-line-2); color: var(--gf-ink-2); }

/* avisos */
.gf-aviso { padding: 10px 12px; border-radius: 8px; background: var(--gf-gold-soft); color: #5e4600; margin: 10px 0; }
.gf-aviso-erro { background: var(--gf-red-soft); color: var(--gf-red); }
.gf-aviso-ok { background: var(--gf-teal-soft); color: #0d6b58; }
.gf-toasts { position: fixed; right: 16px; bottom: 16px; display: flex; flex-direction: column; gap: 8px; z-index: 100002; }
.gf-toast { background: var(--gf-ink); color: #fff; padding: 11px 16px; border-radius: 8px; box-shadow: 0 6px 20px rgba(18,64,60,.25); max-width: 360px; font-family: 'Montserrat', system-ui, sans-serif; font-size: 14px; }
.gf-toast.gf-toast-erro { background: var(--gf-red); }

/* modal */
.gf-modal-fundo { position: fixed; inset: 0; background: rgba(18,64,60,.45); z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 5vh 14px; overflow-y: auto; }
.gf-modal { background: #fff; border-radius: 12px; width: 100%; max-width: 640px; padding: 22px; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.gf-modal h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; font-weight: 600; margin: 0 0 14px; color: var(--gf-ink); }
.gf-modal-rodape { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.gf-pre { background: var(--gf-bg); border: 1px dashed #c4d6d1; border-radius: 8px; padding: 12px; white-space: pre-wrap; word-break: break-word; font-size: 13px; user-select: all; }

/* gráficos */
.gf-chart { width: 100%; height: auto; display: block; }
.gf-chart text { font-family: 'Montserrat', system-ui, sans-serif; font-size: 11px; fill: var(--gf-ink-2); }
.gf-chart .gf-grade { stroke: var(--gf-line); stroke-width: 1; }
.gf-chart .gf-eixo { stroke: #b9cdc8; stroke-width: 1; }
.gf-legenda { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: var(--gf-ink-2); margin: 0 0 8px; }
.gf-legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.gf-legenda i.gf-linha { height: 3px; border-radius: 2px; vertical-align: 3px; width: 16px; }
.gf-tip { position: fixed; z-index: 100003; pointer-events: none; background: var(--gf-ink); color: #fff; padding: 7px 10px; border-radius: 6px; font-size: 12.5px; line-height: 1.4; max-width: 260px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.gf-hbar { display: grid; grid-template-columns: minmax(90px, 160px) 1fr auto; gap: 10px; align-items: center; padding: 5px 0; font-size: 13px; }
.gf-hbar-trilho { background: var(--gf-line-2); border-radius: 4px; height: 12px; overflow: hidden; }
.gf-hbar-barra { height: 100%; border-radius: 0 4px 4px 0; }
.gf-pilha { display: flex; height: 18px; border-radius: 4px; overflow: hidden; gap: 2px; background: var(--gf-line-2); }
.gf-pilha > div { min-width: 2px; }

/* área da profissional */
.gf-membro { max-width: 960px; }
.gf-resumo { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); margin: 16px 0; }
@media (max-width: 640px) { .gf-resumo { grid-template-columns: 1fr; } .gf-app { padding: 14px; } .gf-app h1 { font-size: 28px; } }
.gf-regra { color: var(--gf-ink-2); font-size: 13px; margin-bottom: 16px; }
.gf-tabela-resp td[data-l]::before { content: attr(data-l); }
@media (max-width: 640px) {
  .gf-tabela-resp thead { display: none; }
  .gf-tabela-resp tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 0; border-bottom: 1px solid var(--gf-line); }
  .gf-tabela-resp td { border: 0; padding: 1px 0; }
  .gf-tabela-resp td.gf-col-paciente { font-weight: 600; grid-column: 1; }
  .gf-tabela-resp td.gf-col-valor { grid-column: 2; grid-row: 1; text-align: right; font-weight: 600; }
  .gf-tabela-resp td.gf-col-meta { grid-column: 1 / -1; color: var(--gf-ink-3); font-size: 12.5px; }
  .gf-tabela-resp td.gf-col-acoes { grid-column: 1 / -1; }
}

/* login */
.gf-login { background: transparent; padding: 0; }
.gf-login-card { max-width: 400px; margin: 30px auto; background: #fff; border: 1px solid var(--gf-line); border-top: 4px solid var(--gf-gold); border-radius: 12px; padding: 28px 26px; }
.gf-login-card h2 { font-size: 30px; }
.gf-login-card form p { margin: 0 0 14px; }
.gf-login-card label { display: block; font-size: 12.5px; font-weight: 500; color: var(--gf-ink-2); margin-bottom: 4px; }
.gf-login-card .login-remember label { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.gf-login-card input[type=submit] { width: 100%; background: var(--gf-teal); color: #fff; border: 0; border-radius: 8px; padding: 11px; font: inherit; font-weight: 600; cursor: pointer; min-height: 44px; }
.gf-login-card input[type=submit]:hover { filter: brightness(.94); }
.gf-esqueci { text-align: center; font-size: 13px; }
.gf-login-card .gf-sub { margin: 2px 0 16px; }
@media (prefers-reduced-motion: no-preference) { .gf-btn, .gf-tab { transition: background-color .15s, color .15s; } }

/* cadastro da profissional */
.gf-linha-consulta { display: grid; grid-template-columns: 1fr 160px auto; gap: 10px; align-items: end; margin-bottom: 8px; }
@media (max-width: 640px) { .gf-linha-consulta { grid-template-columns: 1fr 1fr; } .gf-linha-consulta > .gf-link { grid-column: 1 / -1; justify-self: start; } }
.gf-arquivo { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--gf-line-2); flex-wrap: wrap; }
.gf-arquivo a { font-weight: 500; color: var(--gf-teal); word-break: break-all; }
.gf-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.gf-fotos figure { margin: 0; }
.gf-fotos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; border: 1px solid var(--gf-line); display: block; }
.gf-ficha dl { display: grid; grid-template-columns: 170px 1fr; gap: 6px 14px; margin: 0 0 14px; }
.gf-ficha dt { color: var(--gf-ink-2); font-weight: 500; }
.gf-ficha dd { margin: 0; word-break: break-word; }
@media (max-width: 640px) { .gf-ficha dl { grid-template-columns: 1fr; gap: 0; } .gf-ficha dd { margin-bottom: 8px; } }

/* lançamento rápido de custos */
.gf-lote { max-height: 56vh; overflow-y: auto; border: 1px solid var(--gf-line); border-radius: 8px; padding: 4px 10px; }
.gf-lote-linha { display: grid; grid-template-columns: minmax(150px, 1.2fr) 1.4fr 120px auto; gap: 8px; align-items: center; padding: 5px 0; border-bottom: 1px solid var(--gf-line-2); }
.gf-lote-linha:last-child { border-bottom: 0; }
.gf-lote-cat { font-weight: 500; }
@media (max-width: 640px) { .gf-lote-linha { grid-template-columns: 1fr 110px; } .gf-lote-linha > input[name=descricao] { grid-column: 1 / -1; order: 3; } .gf-lote-linha > .gf-check { order: 4; } }

.gf-tabela .gf-sel-local { min-height: 32px; padding: 3px 6px; font-size: 13px; width: auto; }

/* =====================================================================
   Tema do site mammagaia.com.br — Vollkorn + Poppins, verde-oliva #415B3F,
   turquesa #1EADAA, botões em pílula. Vem por último de propósito: ajusta os
   tokens e blinda os componentes contra o tema Hello Elementor (que impõe
   grade e listras em tabelas e cor/hover próprios em botões e links).
   ===================================================================== */
.gf-app, .gf-modal, .gf-tip {
  --gf-ink: #415b3f;
  --gf-ink-2: #5d6a5f;
  --gf-ink-3: #8a948b;
  --gf-text: #54595f;
  --gf-bg: #f4f7f3;
  --gf-card: #ffffff;
  --gf-line: #dbe4da;
  --gf-line-2: #ebf0ea;
  --gf-teal: #1eadaa;
  --gf-teal-escuro: #14807d;
  --gf-teal-soft: #e0f3f2;
  --gf-oliva-soft: #e8eee7;
  --gf-gold-soft: #f7f0da;
  --gf-radius: 14px;
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--gf-text);
}
.gf-membro { background: transparent; padding: 0; max-width: 980px; }
.gf-app h1, .gf-app h2, .gf-app h3, .gf-modal h2, .gf-modal h3, .gf-login-card h2 { font-family: 'Vollkorn', Georgia, 'Times New Roman', serif; color: var(--gf-ink); font-weight: 600; letter-spacing: 0; }
.gf-app h1 { font-size: 32px; font-weight: 700; line-height: 1.15; }
.gf-app h2 { font-size: 24px; line-height: 1.2; }
.gf-app h3, .gf-modal h3 { font-size: 20px; }
.gf-modal h2 { font-size: 26px; }
.gf-kpi-v { font-family: 'Vollkorn', Georgia, serif; color: var(--gf-ink); font-weight: 700; font-variant-numeric: lining-nums tabular-nums; }
.gf-kpi-destaque { background: #415b3f; border-color: #415b3f; }
.gf-kpi-destaque .gf-kpi-v { color: #ffffff; }
.gf-kpi-destaque .gf-kpi-t, .gf-kpi-destaque .gf-kpi-s { color: #d3e0d1; }
.gf-chart text { font-family: 'Poppins', system-ui, sans-serif; }
.gf-card, .gf-kpi { border-radius: 14px; border-color: var(--gf-line); box-shadow: none; }
.gf-sub, .gf-regra { color: var(--gf-ink-2); }
.gf-field > span { color: var(--gf-ink-2); font-weight: 500; }

/* botões: pílula, como no site */
.gf-app .gf-btn, .gf-modal .gf-btn, .gf-login-card input[type=submit] {
  font-family: 'Poppins', system-ui, sans-serif; font-weight: 500; font-size: 15px; border-radius: 30px; padding: 10px 24px; min-height: 42px;
  background: var(--gf-teal); border: 2px solid var(--gf-teal); color: #fff; text-decoration: none; text-transform: none; letter-spacing: 0; filter: none; box-shadow: none;
}
.gf-app .gf-btn:hover, .gf-app .gf-btn:focus, .gf-modal .gf-btn:hover, .gf-modal .gf-btn:focus, .gf-login-card input[type=submit]:hover, .gf-login-card input[type=submit]:focus {
  background: #17938f; border-color: #17938f; color: #fff; text-decoration: none; filter: none;
}
.gf-app .gf-btn-sec, .gf-modal .gf-btn-sec { background: #fff; border-color: #415b3f; color: #415b3f; }
.gf-app .gf-btn-sec:hover, .gf-app .gf-btn-sec:focus, .gf-modal .gf-btn-sec:hover, .gf-modal .gf-btn-sec:focus { background: var(--gf-oliva-soft); border-color: #415b3f; color: #415b3f; }
.gf-app .gf-btn-ouro, .gf-modal .gf-btn-ouro { background: #415b3f; border-color: #415b3f; color: #fff; }
.gf-app .gf-btn-ouro:hover, .gf-app .gf-btn-ouro:focus { background: #33492f; border-color: #33492f; color: #fff; }
.gf-app .gf-btn-pq, .gf-modal .gf-btn-pq { padding: 5px 16px; min-height: 34px; font-size: 13px; }
.gf-app .gf-btn:disabled, .gf-modal .gf-btn:disabled { opacity: .5; }
.gf-login-card input[type=submit] { width: 100%; }
.gf-app .gf-link, .gf-modal .gf-link { background: none; border: 0; border-radius: 0; font-family: inherit; font-size: 13px; font-weight: 500; color: var(--gf-teal-escuro); padding: 4px 6px; text-decoration: underline; min-height: 0; box-shadow: none; }
.gf-app .gf-link:hover, .gf-app .gf-link:focus, .gf-modal .gf-link:hover, .gf-modal .gf-link:focus { background: none; color: #0d5f5c; text-decoration: underline; }
.gf-app .gf-link.gf-perigo, .gf-modal .gf-link.gf-perigo { color: var(--gf-red); }
.gf-app .gf-link.gf-perigo:hover, .gf-app .gf-link.gf-perigo:focus { background: none; color: #8a2f21; }
.gf-app a:not(.gf-btn), .gf-modal a:not(.gf-btn), .gf-esqueci a { color: var(--gf-teal-escuro); }
.gf-app a:not(.gf-btn):hover, .gf-modal a:not(.gf-btn):hover, .gf-esqueci a:hover { color: #0d5f5c; }
.gf-app .gf-tab { background: none; border: 0; border-bottom: 3px solid transparent; border-radius: 0; font-family: inherit; font-weight: 500; font-size: 15px; color: var(--gf-text); padding: 10px 16px; box-shadow: none; }
.gf-app .gf-tab:hover, .gf-app .gf-tab:focus { background: none; color: var(--gf-ink); }
.gf-app .gf-tab[aria-selected="true"] { color: var(--gf-ink); font-weight: 600; border-bottom-color: var(--gf-teal); }
.gf-app .gf-mesnav button { background: none; border: 0; border-radius: 50%; color: var(--gf-ink); padding: 0; box-shadow: none; }
.gf-app .gf-mesnav button:hover:not(:disabled), .gf-app .gf-mesnav button:focus:not(:disabled) { background: var(--gf-teal-soft); color: var(--gf-ink); }

/* campos */
.gf-app input[type=text], .gf-app input[type=email], .gf-app input[type=date], .gf-app input[type=password], .gf-app input[type=number], .gf-app select, .gf-app textarea,
.gf-modal input[type=text], .gf-modal input[type=email], .gf-modal input[type=date], .gf-modal input[type=number], .gf-modal select, .gf-modal textarea,
.gf-login-card input[type=text], .gf-login-card input[type=password] {
  font-family: inherit; font-size: 15px; color: var(--gf-text); border: 1px solid #c9d5c8; border-radius: 10px; min-height: 42px;
}
.gf-app input:focus, .gf-app select:focus, .gf-app textarea:focus, .gf-modal input:focus, .gf-modal select:focus, .gf-modal textarea:focus, .gf-login-card input:focus { outline: 3px solid rgba(30, 173, 170, .35); border-color: var(--gf-teal); }
.gf-app .gf-btn:focus-visible, .gf-app .gf-tab:focus-visible, .gf-app .gf-link:focus-visible { outline: 3px solid rgba(30, 173, 170, .55); outline-offset: 2px; }

/* tabelas: anula a grade e as listras que o tema impõe */
.gf-app table.gf-tabela, .gf-modal table.gf-tabela { width: 100%; margin: 0; font-size: inherit; background: transparent; border: 0; border-collapse: collapse; }
.gf-app table.gf-tabela th, .gf-app table.gf-tabela td, .gf-modal table.gf-tabela th, .gf-modal table.gf-tabela td {
  border: 0; border-bottom: 1px solid var(--gf-line-2); padding: 10px 10px; line-height: 1.5; vertical-align: middle; background: transparent; color: var(--gf-text);
}
.gf-app table.gf-tabela thead th, .gf-modal table.gf-tabela thead th { border-bottom: 2px solid var(--gf-line); color: var(--gf-ink-2); font-weight: 600; font-size: 12.5px; background: transparent; }
.gf-app table.gf-tabela tbody > tr:nth-child(odd) > td, .gf-app table.gf-tabela tbody > tr:nth-child(odd) > th,
.gf-modal table.gf-tabela tbody > tr:nth-child(odd) > td, .gf-modal table.gf-tabela tbody > tr:nth-child(odd) > th { background: transparent; }
.gf-app table.gf-tabela tbody > tr:hover > td, .gf-modal table.gf-tabela tbody > tr:hover > td { background: #f6f9f5; }
.gf-app table.gf-tabela tfoot td, .gf-modal table.gf-tabela tfoot td { border-top: 2px solid var(--gf-line); border-bottom: 0; font-weight: 600; color: var(--gf-ink); background: transparent; }
.gf-app table.gf-tabela td strong { color: var(--gf-ink); }
@media (max-width: 640px) {
  .gf-app table.gf-tabela-resp tr { border-bottom: 1px solid var(--gf-line); }
  .gf-app table.gf-tabela-resp td { border-bottom: 0; padding: 1px 0; }
  .gf-app table.gf-tabela-resp td.gf-col-paciente { color: var(--gf-ink); }
  .gf-app table.gf-tabela-resp tfoot tr { border-bottom: 0; }
}

/* chips e avisos nas cores do site */
.gf-chip-aberto { background: var(--gf-teal-soft); color: #0f6f6c; }
.gf-chip-enviado { background: var(--gf-gold-soft); color: #7a5a00; }
.gf-chip-fechado { background: var(--gf-oliva-soft); color: #415b3f; }
.gf-chip-pago { background: #415b3f; color: #fff; }
.gf-aviso { background: var(--gf-gold-soft); color: #5e4600; border-radius: 10px; }
.gf-aviso-ok { background: var(--gf-oliva-soft); color: #33492f; }
.gf-login-card { border-top: 4px solid var(--gf-teal); border-radius: 16px; }
.gf-login-card label { color: var(--gf-ink-2); }
.gf-pre { background: var(--gf-bg); }
.gf-modal { border-radius: 16px; }
.gf-toast { background: #415b3f; font-family: 'Poppins', system-ui, sans-serif; }
.gf-lote { border-radius: 10px; }

/* título duplicado do tema na página da Área da Profissional */
.gf-pagina .page-header { display: none; }
.gf-app table.gf-tabela td.gf-col-acoes { white-space: nowrap; }

.gf-entrar-home { padding: 40px 16px 24px; background: transparent; }
.gf-entrar-home .gf-login-card { margin: 0 auto; }

/* painel financeiro dentro da Área da Profissional (site) */
.gf-app[hidden] { display: none !important; }
.gf-app.gf-modo { display: flex; gap: 8px; margin: 0 auto 16px; max-width: 1240px; background: transparent; padding: 0; justify-content: flex-start; }
.gf-modo .gf-btn[aria-pressed="false"], .gf-app .gf-modo .gf-btn[aria-pressed="false"] { background: #fff; border-color: #415b3f; color: #415b3f; }
.gf-modo .gf-btn[aria-pressed="true"] { background: #415b3f; border-color: #415b3f; color: #fff; }
.gf-admin.gf-admin-site { margin: 0 auto; max-width: 1240px; }

/* reforço: se o recipiente do Elementor for estreito, libera a largura da Área da Profissional */
.e-con:has(> .e-con-inner > .elementor-widget-shortcode .gf-app) > .e-con-inner { max-width: 1240px; }
