/* Estilos globais da plataforma (site público + painel administrativo) */

:root {
    --cor-primaria: #0d6efd;
    --cor-secundaria: #198754;
}

body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.navbar-brand img {
    max-height: 42px;
}

.card-servico {
    transition: transform .15s ease, box-shadow .15s ease;
    height: 100%;
}

.card-servico:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
}

.badge-status-AGUARDANDO_CONFIRMACAO { background: #ffc107; color: #212529; }
.badge-status-CONFIRMADO { background: #0d6efd; }
.badge-status-CANCELADO_CLIENTE,
.badge-status-CANCELADO_ADMIN,
.badge-status-CANCELADO_SISTEMA { background: #dc3545; }
.badge-status-EM_ATENDIMENTO { background: #6f42c1; }
.badge-status-ATENDIDO { background: #198754; }
.badge-status-NAO_COMPARECEU { background: #6c757d; }
.badge-status-LISTA_ESPERA { background: #fd7e14; }

/* Linhas da agenda diária (Admin > Agenda > dia), tons claros dos status acima */
.linha-agenda { border-left: 5px solid transparent; transition: transform .1s ease; }
.linha-agenda:hover { transform: translateX(2px); }
.linha-agenda-AGUARDANDO_CONFIRMACAO { background: #fff8e1; border-left-color: #ffc107; }
.linha-agenda-CONFIRMADO { background: #e7f1ff; border-left-color: #0d6efd; }
.linha-agenda-CANCELADO_CLIENTE,
.linha-agenda-CANCELADO_ADMIN,
.linha-agenda-CANCELADO_SISTEMA { background: #fdecee; border-left-color: #dc3545; opacity: .75; }
.linha-agenda-EM_ATENDIMENTO { background: #f1e9fb; border-left-color: #6f42c1; }
.linha-agenda-ATENDIDO { background: #e6f4ea; border-left-color: #198754; }
.linha-agenda-NAO_COMPARECEU { background: #eceeef; border-left-color: #6c757d; }
.linha-agenda-LISTA_ESPERA { background: #fef0e6; border-left-color: #fd7e14; }
.linha-agenda-bloqueado-manual { background: #f3f3f4; border-left-color: #495057; }

.cartao-turno { cursor: pointer; border: 2px solid transparent; transition: border-color .15s ease; }
.cartao-turno.ativo { border-color: #0d6efd; }
.cartao-turno .icone-turno {
    width: 56px; height: 56px; border-radius: 50%; background: #e9ecef;
    display: flex; align-items: center; justify-content: center; margin: 0 auto .4rem;
    font-size: 1.4rem; color: #6c757d;
}

.sidebar-admin {
    min-height: 100vh;
    background: #212529;
}

.sidebar-admin .nav-link {
    color: rgba(255, 255, 255, .75);
}

.sidebar-admin .nav-link.active,
.sidebar-admin .nav-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border-radius: .375rem;
}

/* Botão de acessibilidade */
#botao-acessibilidade {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1050;
}

body.fonte-grande { font-size: 1.15rem; }
body.alto-contraste { filter: contrast(1.2); background: #000; color: #fff; }
body.alto-contraste a { color: #ffd400; }

.campo-bloqueado-cep {
    background-color: #e9ecef;
    cursor: not-allowed;
}
