/* ===========================================================
   Busca Consulta - Formulario modernizado
   =========================================================== */

.bc-card {
    max-width: 1100px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-header {
    background: linear-gradient(135deg, #00543c 0%, #007a58 100%);
    color: #fff;
    padding: 28px 40px 56px;
    position: relative;
    overflow: hidden;
}

.bc-header-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.bc-header-icon {
    flex-shrink: 0;
    opacity: 0.4;
}

.bc-header-texto h2 {
    margin: 0 0 10px;
    font-size: 30px;
    font-weight: 800;
    color: #fff;
}

.bc-header-texto p {
    margin: 0 0 24px;
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    max-width: 500px;
}

.bc-tabs-header {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.bc-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    border-radius: 999px;
    background: rgba(255,255,255,0.15);
    border: 1.5px solid rgba(255,255,255,0.3);
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    color: rgba(255,255,255,0.8);
    transition: all 0.2s;
}

.bc-tab input { display: none; }

.bc-tab:has(input:checked) {
    background: #fff;
    border-color: #fff;
    color: #00543c;
}

.bc-form-wrapper {
    background: #f5f5f3;
    padding: 0 30px 30px;
    margin-top: -36px;
}

.bc-form {
    background: #fff;
    border-radius: 16px;
    padding: 24px 20px 20px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.bc-fields-modern {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.bc-field-modern {
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bc-field-pequeno { flex: 0 1 100px; min-width: 90px; }
.bc-field-medio   { flex: 0 1 160px; min-width: 140px; }

.bc-field-modern label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.bc-field-modern input,
.bc-field-modern select {
    height: 48px;
    border: 1.5px solid #e8e8e8;
    border-radius: 10px;
    padding: 0 14px;
    font-size: 14px;
    box-sizing: border-box;
    background: #fafafa;
    width: 100%;
    color: #333;
    transition: border-color 0.2s;
}

.bc-field-modern input:focus,
.bc-field-modern select:focus {
    outline: none;
    border-color: #00543c;
    background: #fff;
}

/* Autocomplete customizado (Especialidade / Cidade) — sempre em lista
   vertical, tanto no desktop quanto no mobile. Substitui o <datalist>
   nativo, que no Chrome/Android era exibido como uma barra horizontal
   de sugestoes acima do teclado. */
.bc-campo-autocomplete {
    position: relative;
}

.bc-sugestoes {
    z-index: 9999;
    background: #fff;
    border: 1.5px solid #e8e8e8;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    max-height: 240px;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: #00543c #f0f0f0;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    overscroll-behavior: contain;
}

.bc-sugestoes::-webkit-scrollbar {
    width: 8px;
}

.bc-sugestoes::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 10px;
}

.bc-sugestoes::-webkit-scrollbar-thumb {
    background: #00543c;
    border-radius: 10px;
}

.bc-sugestoes::-webkit-scrollbar-thumb:hover {
    background: #007a58;
}

.bc-sugestoes-item {
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.4;
    color: #333;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

.bc-sugestoes-item:hover,
.bc-sugestoes-item:active {
    background: #f0f7f4;
    color: #00543c;
}

.bc-sugestoes-item + .bc-sugestoes-item {
    border-top: 1px solid #f2f2f2;
}

.bc-btn-buscar-modern {
    flex: 0 0 auto;
    background: linear-gradient(135deg, #00543c, #007a58) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 0 24px !important;
    height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 12px rgba(0,84,60,0.35) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.bc-btn-buscar-modern:hover {
    opacity: 0.9 !important;
}

/* Manter compatibilidade com .bc-btn-buscar usado em outros lugares */
.bc-btn-buscar {
    background: #00543c;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 0 24px;
    height: 48px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.bc-btn-buscar:hover { background: #013f2d; }

/* ===========================================================
   Resultados da busca
   =========================================================== */

.bc-resultados {
    max-width: 1100px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-resumo-busca {
    color: #555;
    margin-bottom: 20px;
}

.bc-vazio {
    padding: 30px;
    text-align: center;
    background: #f7f7f5;
    border-radius: 12px;
}

.bc-lista {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bc-profissional-card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 18px;
    overflow: visible;
}

.bc-profissional-foto img,
.bc-foto-placeholder {
    width: 160px;
    height: 160px;
    border-radius: 15px !important;
    object-fit: cover;
    background: #ddd;
}

.bc-profissional-info {
    flex: 1;
}

.bc-profissional-info h3 {
    margin: 0 0 4px;
    font-size: 17px;
}

.bc-especialidade {
    color: #00543c;
    font-weight: 600;
    margin: 0 0 4px;
}

.bc-local,
.bc-endereco {
    color: #666;
    font-size: 14px;
    margin: 0 0 2px;
}

.bc-desconto {
    color: #c0392b;
    font-weight: 700;
    font-size: 13px;
}

.bc-tags {
    margin-top: 6px;
}

.bc-tag {
    display: inline-block;
    background: #efe9e1;
    color: #333;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    margin-right: 6px;
}

.bc-profissional-contato {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.bc-btn-contato {
    display: inline-block;
    background: #00543c;
    color: #fff;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    width: auto;
}

.bc-btn-whatsapp {
    background: #25D366;
}

/* ===========================================================
   Agenda de teleconsulta (selects compactos + modal)
   =========================================================== */

.bc-profissional-card.bc-card-com-agenda {
    display: flex;
    align-items: stretch;
    gap: 0;
    flex-wrap: wrap;
}

.bc-profissional-principal {
    display: flex;
    gap: 18px;
    align-items: center;
    flex: 1 1 320px;
    padding-right: 20px;
}

.bc-agenda {
    flex: 1 1 340px;
    border-left: 1px solid #eee;
    padding-left: 24px;
    min-width: 260px;
    display: flex;
    align-items: center;
}

.bc-agenda-carregando,
.bc-agenda-erro,
.bc-agenda-vazio {
    color: #888;
    font-size: 14px;
    padding: 10px 0;
}

.bc-agenda-grade {
    width: 100%;
}

.bc-agenda-linha {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 10px;
}

.bc-agenda-cabecalho {
    border-bottom: 1px solid #eee;
    padding-bottom: 8px;
    margin-bottom: 12px;
}

.bc-agenda-coluna-cabecalho {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.bc-agenda-dia-label {
    font-weight: 700;
    font-size: 14px;
    color: #333;
}

.bc-agenda-dia-data {
    font-size: 12px;
    color: #888;
}

.bc-agenda-coluna {
    text-align: center;
    font-size: 14px;
    color: #ccc;
}

.bc-sem-horario {
    line-height: 36px;
}

/* Select de horario */
.bc-select-horario {
    width: 100%;
    height: 36px;
    border: 1px solid #c8ead9;
    border-radius: 8px;
    background: #e3f6ee;
    color: #00543c;
    font-weight: 600;
    font-size: 13px;
    padding: 0 6px;
    cursor: pointer;
    appearance: auto;
}

.bc-select-horario:focus {
    outline: 2px solid #00543c;
    outline-offset: 1px;
}

/* Botao de agendar */
.bc-agenda-acao {
    margin-top: 14px;
    grid-column: 1 / -1;
}

.bc-agenda-acao .bc-btn-buscar {
    width: 100%;
    height: 42px;
    font-size: 14px;
}

/* Setas de navegacao */
.bc-agenda-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}

.bc-agenda-nav .bc-agenda-linha {
    flex: 1;
    margin-bottom: 0;
}

.bc-nav-btn {
    background: #555 !important;
    border: none !important;
    border-radius: 50% !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 0 !important;
    cursor: pointer !important;
    color: #fff !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    position: relative !important;
}

.bc-nav-btn::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
}

.bc-nav-anterior::after {
    transform: translate(-30%, -50%) rotate(-135deg);
}

.bc-nav-proximo::after {
    transform: translate(-70%, -50%) rotate(45deg);
}

.bc-nav-btn:disabled {
    background: #bbb !important;
    cursor: default !important;
}

.bc-nav-btn:not(:disabled):hover {
    background: #333 !important;
}

/* Modal de confirmacao */

.bc-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bc-modal-conteudo {
    background: #fff;
    border-radius: 14px;
    padding: 30px;
    width: 95%;
    max-width: 780px;
    position: relative;
}

.bc-modal-fechar {
    position: absolute;
    top: 14px;
    right: 14px;
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: #888;
}

.bc-modal-conteudo h3 {
    margin-top: 0;
}

.bc-modal-resumo {
    color: #00543c;
    font-weight: 600;
    margin-bottom: 18px;
}

#bc-form-agendamento label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
    color: #333;
}

#bc-form-agendamento input {
    width: 100%;
    height: 44px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 12px;
    margin-bottom: 14px;
    box-sizing: border-box;
    font-size: 14px;
}

.bc-msg-sucesso {
    color: #0a7a40;
    background: #e3f6ee;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
}

.bc-msg-erro {
    color: #b32d2e;
    background: #fbe9e9;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
}

@media (max-width: 640px) {
    .bc-agenda {
        border-left: none;
        border-top: 1px solid #eee;
        padding-left: 0;
        padding-top: 16px;
        margin-top: 16px;
    }
    .bc-agenda-linha {
        grid-template-columns: repeat(4, 1fr);
        gap: 4px;
    }
}

/* ===========================================================
   Meus Agendamentos (shortcode [meus_agendamentos])
   =========================================================== */

.bc-meus-agendamentos {
    max-width: 1000px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-profissional-logado {
    color: #555;
    margin-bottom: 20px;
}

.bc-notice-sucesso {
    background: #e3f6ee;
    color: #00543c;
    border-left: 4px solid #00543c;
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-weight: 600;
}

.bc-aviso {
    background: #fff8e1;
    border-left: 4px solid #f39c12;
    padding: 14px 18px;
    border-radius: 6px;
}

.bc-tabela-agendamentos {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.bc-tabela-agendamentos th {
    background: #00543c;
    color: #fff;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
}

.bc-tabela-agendamentos td {
    padding: 10px 14px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.bc-tabela-agendamentos tr:hover td {
    background: #f9f9f7;
}

.bc-linha-cancelado td {
    opacity: 0.5;
}

.bc-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.bc-status-confirmado {
    background: #e3f6ee;
    color: #00543c;
}

.bc-status-cancelado {
    background: #fbe9e9;
    color: #b32d2e;
}

.bc-btn-cancelar {
    background: #b32d2e;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.bc-btn-cancelar:hover {
    background: #8e2324;
}

.bc-btn-cancelar:disabled {
    background: #ccc;
    cursor: default;
}

.bc-agendamentos-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 6px;
}

.bc-agendamentos-header h2 {
    margin: 0;
}

.bc-btn-exportar {
    background: #1d6f42 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bc-btn-exportar:hover {
    background: #155233 !important;
    color: #fff !important;
}

.bc-btn-novo-atendimento {
    background: #00543c !important;
}

.bc-btn-novo-atendimento:hover {
    background: #007a58 !important;
}

/* Socio / Nao Socio */
.bc-tag-socio {
    background: #e3f6ee !important;
    color: #00543c !important;
    font-weight: 700 !important;
}

.bc-nao-socio {
    color: #888;
    font-size: 13px;
    font-style: italic;
    margin-top: 8px;
}

.bc-nao-socio-agenda {
    flex: 1 1 340px;
    border-left: 1px solid #eee;
    padding-left: 24px;
    display: flex;
    align-items: center;
    color: #888;
    font-size: 14px;
}

.bc-nao-socio-agenda p {
    margin: 0;
}

/* ===========================================================
   Formulario de Registro [bc_registro]
   =========================================================== */

.bc-registro-wrapper {
    max-width: 480px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-registro-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 36px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.07);
}

.bc-registro-card h2 {
    margin: 0 0 6px;
    font-size: 24px;
    color: #00543c;
}

.bc-registro-subtitulo {
    color: #666;
    margin-bottom: 24px;
    font-size: 14px;
}

.bc-registro-campo {
    margin-bottom: 18px;
}

.bc-registro-campo label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}

.bc-registro-campo input {
    width: 100%;
    height: 48px;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 0 14px;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.bc-registro-campo input:focus {
    outline: none;
    border-color: #00543c;
}

.bc-campo-obs {
    display: block;
    font-size: 12px;
    color: #888;
    margin-top: 4px;
}

.bc-btn-registro {
    width: 100%;
    height: 50px;
    font-size: 16px;
    margin-top: 8px;
}

.bc-registro-login {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
    color: #666;
}

.bc-registro-login a {
    color: #00543c;
    font-weight: 600;
}

.bc-registro-mensagem {
    margin-bottom: 16px;
}

.bc-registro-logado {
    background: #e3f6ee;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

/* Botao WhatsApp pos-confirmacao de agendamento */
.bc-btn-wpp-confirmacao {
    display: block;
    background: #25D366 !important;
    color: #fff !important;
    text-decoration: none !important;
    text-align: center;
    padding: 12px 20px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 15px;
    margin-top: 12px;
}

.bc-btn-wpp-confirmacao:hover {
    background: #1da851 !important;
}

/* ===========================================================
   Meu Perfil [bc_meu_perfil]
   =========================================================== */

.bc-perfil-wrapper {
    max-width: 820px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-perfil-badge-socio {
    background: #e3f6ee;
    color: #00543c;
    border-left: 4px solid #00543c;
    padding: 12px 18px;
    border-radius: 8px;
    font-weight: 700;
    margin-bottom: 20px;
}

.bc-documentos-lista {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bc-clientes-lista {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bc-cliente-card {
    background: #fff;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px;
    overflow: hidden;
}

.bc-cliente-cabecalho {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
    background: none !important;
    border: none !important;
    cursor: pointer;
    text-align: left;
    flex-wrap: wrap;
}

.bc-cliente-info {
    display: flex;
    flex-direction: column;
}

.bc-cliente-nome {
    font-weight: 700;
    color: #222;
    font-size: 16px;
}

.bc-cliente-detalhe {
    color: #777;
    font-size: 13px;
    margin-top: 2px;
}

.bc-cliente-resumo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bc-cliente-badge {
    background: #e3f6ee;
    color: #00543c;
    font-weight: 700;
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 20px;
    white-space: nowrap;
}

.bc-cliente-ultima {
    color: #888;
    font-size: 13px;
    white-space: nowrap;
}

.bc-cliente-seta {
    transition: transform 0.15s;
}

.bc-cliente-aberto .bc-cliente-seta {
    transform: rotate(180deg);
}

.bc-cliente-visitas {
    display: none;
    border-top: 1px solid #eee;
    padding: 6px 20px 16px;
}

.bc-cliente-aberto .bc-cliente-visitas {
    display: block;
}

.bc-visita-item {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 10px 0;
    border-bottom: 1px solid #f2f2f2;
}

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

.bc-visita-data {
    font-weight: 600;
    color: #333;
    font-size: 14px;
    min-width: 140px;
}

.bc-visita-selo {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
}

.bc-visita-selo-ok {
    background: #e3f6ee;
    color: #00543c;
}

.bc-visita-selo-vazio {
    background: #fdf1f1;
    color: #a94442;
}

@media (max-width: 600px) {
    .bc-cliente-cabecalho {
        flex-direction: column;
        align-items: flex-start;
    }
    .bc-cliente-resumo {
        width: 100%;
        justify-content: space-between;
    }
}

.bc-documento-item {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 16px 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.bc-documento-icone {
    font-size: 28px;
    flex-shrink: 0;
}

.bc-documento-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.bc-documento-titulo {
    font-weight: 700;
    color: #222;
    font-size: 16px;
}

.bc-documento-descricao {
    color: #777;
    font-size: 13px;
    margin-top: 2px;
}

.bc-btn-baixar-modelo {
    background: #00543c;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s;
}

.bc-btn-baixar-modelo:hover {
    background: #007a58;
    color: #fff;
}

@media (max-width: 600px) {
    .bc-documento-item {
        flex-wrap: wrap;
    }
    .bc-btn-baixar-modelo {
        width: 100%;
        text-align: center;
    }
}

.bc-perfil-badge-naosocio {
    background: #fff8e1;
    color: #856404;
    border-left: 4px solid #f0ad00;
    padding: 12px 18px;
    border-radius: 8px;
    font-weight: 600;
    margin-bottom: 20px;
}

.bc-perfil-badge-naosocio a {
    color: #00543c;
    font-weight: 700;
}

.bc-perfil-secao {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 20px;
    scroll-margin-top: 100px;
}

.bc-perfil-secao h3 {
    margin: 0 0 18px;
    font-size: 16px;
    color: #00543c;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.bc-perfil-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.bc-perfil-campo {
    display: flex;
    flex-direction: column;
}

.bc-campo-largo {
    grid-column: 1 / -1;
}

.bc-campo-pequeno {
    max-width: 180px;
}

.bc-perfil-campo label {
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
}

.bc-perfil-campo input[type="text"],
.bc-perfil-campo input[type="email"],
.bc-perfil-campo input[type="url"],
.bc-perfil-campo input[type="number"],
.bc-perfil-campo input[type="time"],
.bc-perfil-campo textarea {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
}

.bc-perfil-campo input:focus,
.bc-perfil-campo textarea:focus {
    outline: none;
    border-color: #00543c;
}

.bc-perfil-campo textarea {
    resize: vertical;
}

.bc-perfil-especialidades {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bc-perfil-esp-label {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f5f5f3;
    border: 1px solid #ddd;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
}

.bc-perfil-esp-label:has(input:checked) {
    background: #e3f6ee;
    border-color: #00543c;
    color: #00543c;
    font-weight: 600;
}

.bc-perfil-foto-preview img,
.bc-perfil-foto-preview .bc-foto-placeholder {
    width: 120px;
    height: 120px;
    border-radius: 15px;
    object-fit: cover;
}

.bc-btn-salvar-perfil {
    width: 100%;
    height: 52px;
    font-size: 16px;
    margin-top: 10px;
}

.bc-msg-perfil {
    margin-bottom: 16px;
}

@media (max-width: 600px) {
    .bc-perfil-grid {
        grid-template-columns: 1fr;
    }
    .bc-campo-largo {
        grid-column: 1;
    }
}

/* ===========================================================
   Menu do Associado [bc_menu_associado]
   =========================================================== */

.bc-menu-associado {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 20px;
    margin: -10px auto 28px;
    max-width: 820px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.bc-menu-usuario {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bc-menu-avatar {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    object-fit: cover;
}

.bc-menu-avatar-placeholder {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: #00543c;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bc-menu-usuario-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bc-menu-nome {
    font-weight: 700;
    font-size: 15px;
    color: #222;
}

.bc-menu-badge-socio {
    font-size: 12px;
    font-weight: 600;
    color: #00543c;
    background: #e3f6ee;
    padding: 2px 10px;
    border-radius: 999px;
    display: inline-block;
}

.bc-menu-badge-naosocio {
    font-size: 12px;
    font-weight: 600;
    color: #856404;
    background: #fff8e1;
    padding: 2px 10px;
    border-radius: 999px;
    display: inline-block;
}

.bc-menu-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.bc-menu-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 10px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    color: #444 !important;
    background: #f5f5f3;
    transition: background 0.15s;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.bc-menu-item:hover {
    background: #e3f6ee;
    color: #00543c !important;
}

.bc-menu-submenu a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bc-submenu-ativo {
    background: #e3f6ee;
    color: #00543c !important;
    font-weight: 700;
}

.bc-submenu-sair {
    color: #c0392b !important;
    border-top: 1px solid #f0f0f0;
    margin-top: 4px;
    padding-top: 12px !important;
}

.bc-submenu-sair:hover {
    background: #fdf1f1 !important;
    color: #a94442 !important;
}

.bc-menu-dropdown {
    position: relative;
}

.bc-painel-topo {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    margin: -8px auto 10px;
    max-width: 820px;
}

.bc-painel-ola {
    font-weight: 700;
    color: #333;
    font-size: 15px;
}

.bc-painel-sair {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #00543c;
    color: #fff !important;
    padding: 9px 18px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 13px;
    transition: background 0.15s;
}

.bc-painel-sair:hover {
    background: #007a58;
    color: #fff !important;
}

.bc-menu-seta {
    font-size: 10px;
    margin-left: 2px;
}

.bc-menu-submenu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.14);
    padding: 6px;
    z-index: 200;
    flex-direction: column;
}

.bc-menu-dropdown.bc-menu-submenu-aberto .bc-menu-submenu {
    display: flex;
}

.bc-menu-submenu a {
    padding: 9px 12px;
    border-radius: 8px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    color: #444;
}

.bc-menu-submenu a:hover {
    background: #e3f6ee;
    color: #00543c !important;
}

html {
    scroll-behavior: smooth;
}

.bc-menu-ativo {
    background: #00543c !important;
    color: #fff !important;
}

#bc-btn-salvar-voltar {
    letter-spacing: 0.4px;
    font-weight: 700;
}

.bc-menu-ativo:hover {
    background: #013f2d !important;
    color: #fff !important;
}

.bc-menu-sair {
    color: #b32d2e !important;
}

.bc-menu-sair:hover {
    background: #fbe9e9 !important;
    color: #b32d2e !important;
}

.bc-menu-sair-topo {
    background: #00543c !important;
    color: #fff !important;
}

.bc-menu-sair-topo:hover {
    background: #007a58 !important;
    color: #fff !important;
}

.bc-menu-icon {
    font-size: 16px;
}

@media (max-width: 600px) {
    .bc-menu-associado {
        flex-direction: column;
        align-items: flex-start;
    }
    .bc-menu-nav {
        width: 100%;
    }
    .bc-menu-item {
        flex: 1;
        justify-content: center;
    }
}

/* ===========================================================
   Modal de Documentos (Contrato + Termo) e Anamnese
   =========================================================== */

.bc-docs-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.bc-doc-tab {
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #f5f5f3;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.bc-doc-tab-ativo {
    background: #00543c !important;
    color: #fff !important;
    border-color: #00543c !important;
}

.bc-doc-conteudo {
    background: #f9f9f7;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 14px;
    max-height: 220px;
    overflow-y: auto;
    font-size: 12px;
    line-height: 1.7;
    white-space: pre-wrap;
    margin-bottom: 14px;
}

.bc-docs-aceite {
    background: #e3f6ee;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 14px;
    font-size: 13px;
}

.bc-docs-aceite label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
}

.bc-docs-aceite input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
}

/* Modal de Anamnese - maior */
.bc-modal-anamnese-conteudo {
    max-width: 760px !important;
    max-height: 88vh;
    overflow-y: auto;
}

.bc-anamnese-secao {
    margin-bottom: 20px;
}

.bc-anamnese-secao h4 {
    color: #00543c;
    font-size: 14px;
    border-bottom: 1px solid #eee;
    padding-bottom: 6px;
    margin-bottom: 12px;
}

.bc-anamnese-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.bc-anamnese-secao p {
    margin: 0 0 10px;
}

.bc-anamnese-secao label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    margin-bottom: 4px;
}

.bc-anamnese-secao input,
.bc-anamnese-secao select,
.bc-anamnese-secao textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 13px;
    box-sizing: border-box;
}

.bc-anamnese-secao textarea {
    resize: vertical;
}

/* Botao Anamnese */
.bc-btn-anamnese {
    background: #00543c;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.bc-btn-anamnese:hover {
    background: #013f2d;
}

.bc-btn-videochamada {
    background: #1a73e8;
    color: #fff !important;
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.bc-btn-videochamada:hover {
    background: #1558b0;
}

.bc-btn-documentos-cliente {
    background: #fff;
    color: #00543c;
    border: 1.5px solid #00543c;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.bc-btn-documentos-cliente:hover {
    background: #e3f6ee;
}

.bc-btn-excluir-agendamento {
    background: #fff;
    color: #b32d2e;
    border: 1.5px solid #b32d2e;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.bc-btn-excluir-agendamento:hover {
    background: #fdf1f1;
}

.bc-btn-restaurar {
    background: #00543c;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    margin-left: 10px;
}

.bc-btn-restaurar:hover {
    background: #013f2d;
}

.bc-btn-excluir-definitivo {
    background: #fff;
    color: #b32d2e;
    border: 1.5px solid #b32d2e;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    margin-left: 6px;
}

.bc-btn-excluir-definitivo:hover {
    background: #fdf1f1;
}

.bc-doccliente-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 240px;
    overflow-y: auto;
}

.bc-doccliente-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: #f7f7f6;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
}

.bc-doccliente-data {
    color: #888;
    font-size: 12px;
}

.bc-btn-excluir-doccliente {
    background: none;
    border: none;
    color: #b32d2e;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 6px 8px;
}

.bc-btn-excluir-doccliente:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .bc-anamnese-grid {
        grid-template-columns: 1fr;
    }
}

/* ===========================================================
   Dropdown Multiselect de Especialidades (Meu Perfil)
   =========================================================== */

.bc-esp-dropdown-wrapper {
    position: relative;
}

.bc-esp-selector {
    position: relative;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    min-height: 48px;
}

.bc-esp-selector.bc-esp-aberto {
    border-color: #00543c;
    border-radius: 10px 10px 0 0;
}

.bc-esp-selected {
    padding: 8px 12px;
    min-height: 48px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.bc-esp-placeholder {
    color: #aaa;
    font-size: 14px;
}

.bc-esp-arrow {
    margin-left: auto;
    color: #888;
    font-size: 12px;
    flex-shrink: 0;
}

.bc-esp-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #e3f6ee;
    color: #00543c;
    border: 1px solid #a8dcc5;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 13px;
    font-weight: 600;
}

.bc-esp-tag-remove {
    background: none;
    border: none;
    color: #00543c;
    cursor: pointer;
    font-size: 14px;
    padding: 0;
    line-height: 1;
}

.bc-esp-tag-remove:hover {
    color: #b32d2e;
}

.bc-esp-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #00543c;
    border-top: none;
    border-radius: 0 0 10px 10px;
    max-height: 240px;
    overflow-y: auto;
    z-index: 999;
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

.bc-esp-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.1s;
}

.bc-esp-option:last-child {
    border-bottom: none;
}

.bc-esp-option:hover {
    background: #f0faf5;
}

.bc-esp-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #00543c;
    flex-shrink: 0;
}

.bc-esp-option:has(input:checked) {
    background: #e3f6ee;
    font-weight: 600;
    color: #00543c;
}

/* ===========================================================
   Formulario de Login [bc_login]
   =========================================================== */

#bc-login-root {
    max-width: 420px;
    margin: 40px auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

#bc-login-root .bc-login-card {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    border: none;
}

#bc-login-root .bc-login-header {
    background: linear-gradient(135deg, #00543c 0%, #007a58 100%);
    padding: 36px 30px 30px;
    text-align: center;
}

#bc-login-root .bc-login-logo {
    width: 72px;
    height: 72px;
    background: rgba(255,255,255,0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

#bc-login-root .bc-login-header h2 {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    border: none;
    padding: 0;
}

#bc-login-root .bc-login-header p {
    margin: 0;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
}

#bc-login-root .bc-login-body {
    background: #fff;
    padding: 30px;
}

#bc-login-root .bc-login-campo {
    margin-bottom: 18px;
}

#bc-login-root .bc-login-campo label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 8px;
}

#bc-login-root .bc-login-campo input[type="email"],
#bc-login-root .bc-login-campo input[type="password"],
#bc-login-root .bc-login-campo input[type="text"] {
    width: 100%;
    height: 50px;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    padding: 0 14px;
    font-size: 15px;
    box-sizing: border-box;
    background: #fafafa;
    box-shadow: none;
    color: #333;
    outline: none;
}

#bc-login-root .bc-login-campo input[type="email"]:focus,
#bc-login-root .bc-login-campo input[type="password"]:focus,
#bc-login-root .bc-login-campo input[type="text"]:focus {
    border-color: #00543c;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0,84,60,0.08);
}

#bc-login-root .bc-login-senha-wrapper {
    position: relative;
}

#bc-login-root .bc-login-senha-wrapper input {
    padding-right: 46px;
}

#bc-login-root .bc-login-ver-senha {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #888;
    padding: 4px;
    display: flex;
    align-items: center;
    box-shadow: none;
}

#bc-login-root .bc-login-opcoes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
    font-size: 13px;
}

#bc-login-root .bc-login-lembrar {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #555;
}

#bc-login-root .bc-login-lembrar input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #00543c;
}

#bc-login-root .bc-login-esqueci {
    color: #00543c;
    text-decoration: none;
    font-weight: 600;
}

#bc-login-root .bc-login-btn-entrar {
    width: 100%;
    height: 52px;
    background: linear-gradient(135deg, #00543c 0%, #007a58 100%);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 14px rgba(0,84,60,0.3);
}

#bc-login-root .bc-login-btn-entrar:disabled {
    opacity: 0.7;
    cursor: default;
}

#bc-login-root .bc-login-rodape {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
    color: #666;
}

#bc-login-root .bc-login-rodape a {
    color: #00543c;
    font-weight: 600;
    text-decoration: none;
}

@keyframes bc-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.bc-spin { animation: bc-spin 0.8s linear infinite; }

/* Quando ja esta logado */
.bc-login-logado {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    max-width: 600px;
    margin: 0 auto;
}

.bc-login-logado-avatar img {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    object-fit: cover;
}

.bc-login-avatar-inicial {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background: linear-gradient(135deg, #00543c, #007a58);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bc-login-logado-info { flex: 1; }
.bc-login-bem-vindo { margin: 0; font-size: 13px; color: #888; }
.bc-login-nome { margin: 2px 0 6px; font-size: 18px; font-weight: 700; color: #222; }

.bc-login-badge-socio {
    background: #e3f6ee;
    color: #00543c;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
}

.bc-login-logado-acoes { display: flex; flex-direction: column; gap: 8px; }

.bc-login-btn-acao {
    display: block;
    background: #00543c;
    color: #fff !important;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}

.bc-login-btn-sair {
    display: block;
    background: #f5f5f3;
    color: #b32d2e !important;
    text-decoration: none !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}

/* ===========================================================
   Controle Financeiro [bc_financeiro]
   =========================================================== */

.bc-fin-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-fin-nav-mes {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.bc-fin-nav-mes h2 {
    margin: 0;
    font-size: 20px;
    color: #00543c;
}

.bc-fin-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #00543c;
    color: #fff !important;
    border-radius: 8px;
    text-decoration: none !important;
    font-size: 22px;
    font-weight: 700;
}

/* Cards de resumo */
.bc-fin-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.bc-fin-card {
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bc-fin-card-verde  { background: #e3f6ee; }
.bc-fin-card-amarelo{ background: #fff8e1; }
.bc-fin-card-vermelho{ background: #fbe9e9; }
.bc-fin-card-azul   { background: #e8f0fe; }

.bc-fin-card-icon { font-size: 20px; }

.bc-fin-card-label {
    font-size: 12px;
    font-weight: 600;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bc-fin-card-valor {
    font-size: 22px;
    font-weight: 800;
    color: #222;
}

.bc-fin-card-verde .bc-fin-card-valor  { color: #00543c; }
.bc-fin-card-amarelo .bc-fin-card-valor{ color: #856404; }
.bc-fin-card-vermelho .bc-fin-card-valor{ color: #b32d2e; }
.bc-fin-card-azul .bc-fin-card-valor   { color: #1a56db; }

/* Secoes */
.bc-fin-secao {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
}

.bc-fin-secao-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.bc-fin-secao-header h3 {
    margin: 0;
    font-size: 16px;
    color: #00543c;
}

.bc-fin-btn-add {
    background: #00543c;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

/* Form */
.bc-fin-form-wrapper {
    background: #f9f9f7;
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 16px;
    border: 1px solid #eee;
}

.bc-fin-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

.bc-fin-campo-largo { grid-column: 1 / -1; }

.bc-fin-form-campo label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    margin-bottom: 5px;
}

.bc-fin-form-campo input,
.bc-fin-form-campo select {
    width: 100%;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
    box-sizing: border-box;
}

.bc-fin-form-acoes {
    display: flex;
    gap: 10px;
    align-items: center;
}

.bc-fin-btn-cancelar {
    background: none;
    border: none;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    text-decoration: underline;
}

/* Tabela */
.bc-fin-tabela {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.bc-fin-tabela th {
    background: #00543c;
    color: #fff;
    padding: 9px 12px;
    text-align: left;
    font-weight: 600;
}

.bc-fin-tabela td {
    padding: 9px 12px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

.bc-fin-linha-pago td { background: #fafffe; }
.bc-fin-linha-pendente td { background: #fffdf0; }

.bc-fin-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.bc-fin-badge-pago { background: #e3f6ee; color: #00543c; }
.bc-fin-badge-pendente { background: #fff8e1; color: #856404; }

.bc-fin-btn-pagar {
    background: #00543c;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.bc-fin-btn-editar-rec,
.bc-fin-btn-editar-desp,
.bc-fin-btn-excluir {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    padding: 3px 6px;
    border-radius: 4px;
}

.bc-fin-btn-excluir { color: #b32d2e; }
.bc-fin-btn-excluir:hover { background: #fbe9e9; }

.bc-fin-categoria {
    background: #f0f0f0;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    color: #555;
}

.bc-fin-vazio {
    color: #888;
    font-style: italic;
    padding: 10px 0;
}

@media (max-width: 640px) {
    .bc-fin-cards { grid-template-columns: 1fr 1fr; }
    .bc-fin-form-grid { grid-template-columns: 1fr; }
    .bc-fin-campo-largo { grid-column: 1; }
}

/* Layout duas colunas do financeiro */
.bc-fin-layout-cols {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
    margin-top: 14px;
}

.bc-fin-layout-cols.bc-fin-form-aberto {
    grid-template-columns: 1fr 360px;
}

.bc-fin-col-esq {
    min-width: 0;
}

.bc-fin-col-form {
    background: #f9f9f7;
    border: 1px solid #dde8e3;
    border-radius: 12px;
    padding: 18px;
    position: sticky;
    top: 20px;
}

.bc-fin-col-form h4 {
    margin: 0 0 14px;
    font-size: 14px;
    color: #00543c;
    font-weight: 700;
    border-bottom: 1px solid #eee;
    padding-bottom: 8px;
}

.bc-fin-col-form .bc-fin-form-campo {
    margin-bottom: 12px;
}

.bc-fin-col-form .bc-fin-form-campo label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    margin-bottom: 4px;
}

.bc-fin-col-form .bc-fin-form-campo input,
.bc-fin-col-form .bc-fin-form-campo select {
    width: 100%;
    height: 38px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
    box-sizing: border-box;
    background: #fff;
}

.bc-fin-col-form .bc-fin-form-acoes {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}

.bc-fin-col-form .bc-btn-buscar {
    height: 38px;
    font-size: 13px;
    padding: 0 18px;
}

@media (max-width: 768px) {
    .bc-fin-layout-cols {
        grid-template-columns: 1fr;
    }
}

.bc-fin-btn-exportar {
    background: #1d6f42;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.bc-fin-btn-exportar:hover {
    background: #155233;
}

/* ===========================================================
   Sistema de Avaliacoes com Estrelas
   =========================================================== */

.bc-card-avaliacoes {
    margin: 6px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bc-estrelas-display {
    display: inline-flex;
    gap: 2px;
}

.bc-estrela {
    font-size: 16px;
}

.bc-estrela-cheia  { color: #f59e0b; }
.bc-estrela-meia   { color: #f59e0b; opacity: 0.6; }
.bc-estrela-vazia  { color: #ddd; }

.bc-aval-total {
    font-size: 12px;
    color: #888;
}

/* Seletor de estrelas no formulario */
.bc-estrelas-selector {
    margin-bottom: 16px;
}

.bc-estrelas-selector label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 8px;
}

.bc-estrelas-input {
    display: flex;
    gap: 6px;
}

.bc-estrela-btn {
    font-size: 28px;
    cursor: pointer;
    color: #ddd;
    transition: color 0.15s;
    line-height: 1;
}

.bc-estrela-btn:hover { color: #f59e0b; }

.bc-aval-campo {
    margin-bottom: 14px;
}

.bc-aval-campo label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
}

.bc-aval-campo textarea,
.bc-aval-campo input[type="text"] {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    box-sizing: border-box;
    resize: vertical;
}

.bc-avaliacao-enviada {
    background: #e3f6ee;
    border: 1px solid #a8dcc5;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 13px;
    color: #00543c;
    font-weight: 600;
    margin-top: 10px;
}

/* Botao Avaliar */
.bc-btn-avaliar {
    background: #f59e0b;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.bc-btn-avaliar:hover { background: #d97706; }

/* ===========================================================
   Area de Avaliacoes do Profissional [bc_minhas_avaliacoes]
   =========================================================== */

.bc-avaliacoes-wrapper {
    max-width: 700px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.bc-aval-resumo {
    background: linear-gradient(135deg, #00543c, #007a58);
    border-radius: 14px;
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.bc-aval-resumo-media {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bc-aval-numero {
    font-size: 36px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}

.bc-aval-resumo .bc-estrela-cheia,
.bc-aval-resumo .bc-estrela-meia { color: #fbbf24; }
.bc-aval-resumo .bc-estrela-vazia { color: rgba(255,255,255,0.3); }
.bc-aval-resumo .bc-aval-total { color: rgba(255,255,255,0.8); font-size: 13px; }

.bc-aval-total-resumo {
    color: rgba(255,255,255,0.8);
    font-size: 13px;
}

.bc-aval-pendente-badge {
    background: #fff8e1;
    color: #856404;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
}

.bc-aval-secao { margin-bottom: 24px; }

.bc-aval-secao-titulo {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #eee;
}

.bc-aval-pendente-titulo  { color: #856404; border-color: #f0ad00; }
.bc-aval-aprovada-titulo  { color: #00543c; border-color: #00543c; }
.bc-aval-reprovada-titulo { color: #b32d2e; border-color: #b32d2e; }

.bc-aval-card {
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    background: #fff;
}

.bc-aval-card-pendente  { border-left: 4px solid #f0ad00; }
.bc-aval-card-aprovada  { border-left: 4px solid #00543c; }
.bc-aval-card-reprovada { border-left: 4px solid #b32d2e; opacity: 0.7; }

.bc-aval-card-topo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.bc-aval-card-topo strong {
    font-size: 14px;
    color: #222;
}

.bc-aval-data {
    font-size: 12px;
    color: #aaa;
    margin-left: auto;
}

.bc-aval-comentario {
    font-size: 14px;
    color: #555;
    font-style: italic;
    margin: 0 0 12px;
    line-height: 1.6;
}

.bc-aval-sem-comentario {
    font-size: 13px;
    color: #aaa;
    margin: 0 0 12px;
}

.bc-aval-acoes {
    display: flex;
    gap: 8px;
}

.bc-aval-btn-aprovar {
    background: #00543c;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.bc-aval-btn-aprovar:hover { background: #013f2d; }

.bc-aval-btn-reprovar {
    background: #fbe9e9;
    color: #b32d2e;
    border: 1px solid #f5c6c6;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.bc-aval-btn-reprovar:hover { background: #f5c6c6; }

.bc-aval-vazio {
    color: #888;
    font-style: italic;
    text-align: center;
    padding: 30px 0;
}

/* ===========================================================
   Painel de info abaixo da foto do profissional
   =========================================================== */

.bc-profissional-foto-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    width: 160px;
}

.bc-info-extra {
    width: 160px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bc-info-bloco {
    background: #f4faf7;
    border: 1px solid #d4eddf;
    border-radius: 10px;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    word-break: break-word;
}

.bc-info-titulo {
    font-size: 10px;
    font-weight: 700;
    color: #00543c;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-bottom: 3px;
}

.bc-info-clinica {
    font-size: 12px;
    font-weight: 700;
    color: #222;
}

.bc-info-linha {
    font-size: 11px;
    color: #555;
    line-height: 1.5;
}

.bc-info-formas {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 3px;
}

.bc-info-forma {
    background: #e3f6ee;
    color: #00543c;
    border: 1px solid #a8dcc5;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 10px;
    font-weight: 600;
}

/* Formas de pagamento no Meu Perfil */
.bc-formas-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.bc-forma-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    cursor: pointer;
    padding: 8px 16px;
    border: 1.5px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
}

.bc-forma-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #00543c;
}

.bc-desc-lateral {
    flex: 1 1 300px;
    border-left: 1px solid #eee;
    padding-left: 24px;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.bc-desc-lateral-texto {
    font-size: 13px;
    color: #555;
    line-height: 1.7;
    margin: 0;
    font-style: italic;
}

.bc-desc-lateral-tecnicas {
    font-size: 12px;
    color: #666;
    margin: 0;
}

.bc-desc-card {
    font-size: 12px;
    color: #666;
    line-height: 1.6;
    margin: 6px 0 8px;
    font-style: italic;
}

.bc-tecnicas-card {
    font-size: 12px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 8px;
}

.bc-btn-curriculo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    background: #ffffff;
    border: 1px solid #00543c;
    color: #00543c;
    font-weight: 600;
    font-size: 13px;
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
    margin: 4px 0 8px;
    transition: background 0.15s ease, color 0.15s ease;
}

.bc-btn-curriculo:hover {
    background: #00543c;
    color: #ffffff;
    text-decoration: none;
}

