/*
Theme Name: Receitare
Theme URI: https://receitare.com.br
Author: Equipe Receitare
Description: Tema Receitare para as telas de acesso, envio de receitas, atendimento e administração. Funcionalidades de servidor serão integradas posteriormente.
Version: 1.2.8
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: receitare
*/


/* =========================================
   RECEITARE - CORES
========================================= */

:root {
  --cor-primaria: #00b889;
  --cor-primaria-clara: #31d5b0;
  --cor-primaria-escura: #008f70;

  --cor-secundaria: #003f3d;
  --cor-secundaria-clara: #075652;
  --cor-secundaria-escura: #002d2d;

  --verde-menta: #a9eedc;
  --verde-menta-claro: #d5f7ed;
  --verde-menta-suave: #e8faf5;

  --branco: #ffffff;
  --fundo-pagina: #f0faf7;

  --texto-principal: #002f30;
  --texto-secundario: #526675;
  --texto-suave: #8193a0;

  --borda-padrao: #d8e2e8;
  --borda-foco: #00b889;

  --cor-erro: #d9534f;

  --gradiente-primario: linear-gradient(
    135deg,
    #003f3d 0%,
    #075652 100%
  );

  --sombra-card: 0 20px 65px rgba(0, 63, 61, 0.10);
}

/* =========================================
   GERAL
========================================= */

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: 'Inter', sans-serif;
  color: var(--texto-principal);
  background: var(--fundo-pagina);
  -webkit-font-smoothing: antialiased;
}

/* =========================================
   PÁGINA DE LOGIN
========================================= */

.pagina-login {
  min-height: 100vh;
  min-height: 100dvh;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 40px 16px;

  background-color: var(--fundo-pagina);
  background-image:
    linear-gradient(
      rgba(240, 250, 247, 0.72),
      rgba(240, 250, 247, 0.80)
    ),
    url("img/bg-login.png");

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* =========================================
   CARTÃO DE LOGIN
========================================= */

.cartao-login {
  width: 100%;
  max-width: 480px;

  margin: 0 auto;
  padding: 42px 44px 36px;

  background: rgba(255, 255, 255, 0.96);

  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 22px;

  box-shadow: var(--sombra-card);
}

/* =========================================
   LOGO
========================================= */

.area-logo {
  margin-bottom: 24px;
}

.logo {
  display: block;

  width: 190px;
  max-width: 75%;
  height: auto;

  margin: 0 auto;
}

/* =========================================
   CABEÇALHO
========================================= */

.cabecalho-login {
  margin-bottom: 30px;
}

.cabecalho-login h1 {
  margin: 0 0 8px;

  color: var(--texto-principal);

  font-size: 27px;
  font-weight: 800;
  letter-spacing: -0.045em;
}

.cabecalho-login p {
  margin: 0;

  color: var(--texto-secundario);

  font-size: 14px;
  line-height: 1.6;
}

/* =========================================
   CAMPOS
========================================= */

.campo {
  margin-bottom: 22px;
}

.campo label {
  display: block;

  margin-bottom: 9px;

  font-size: 13px;
  font-weight: 600;

  color: var(--texto-principal);
}

.input-com-icone {
  width: 100%;
  height: 54px;

  display: flex;
  align-items: center;

  gap: 13px;
  padding: 0 16px;

  background: var(--branco);

  border: 1px solid var(--borda-padrao);
  border-radius: 11px;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.input-com-icone:hover {
  border-color: #b6d8cf;
}

.input-com-icone:focus-within {
  border-color: var(--borda-foco);

  box-shadow: 0 0 0 4px
    rgba(0, 184, 137, 0.10);
}

.input-com-icone svg {
  flex: 0 0 20px;

  width: 20px;
  height: 20px;

  color: #476672;
}

.input-com-icone input {
  width: 100%;
  min-width: 0;
  height: 100%;

  border: 0;
  outline: 0;

  background: transparent;

  color: var(--texto-principal);

  font-family: inherit;
  font-size: 13px;
}

.input-com-icone input::placeholder {
  color: #8193a0;
  opacity: 1;
}

.ajuda {
  margin: 7px 2px 0;

  color: var(--texto-suave);

  font-size: 11px;
  line-height: 1.5;
}

/* =========================================
   BOTÃO ENTRAR
========================================= */

.botao-entrar {
  height: 56px;
  margin-top: 28px;

  border: none;
  border-radius: 11px;

  background: var(--gradiente-primario);

  color: var(--branco);

  font-family: inherit;
  font-size: 15px;
  font-weight: 600;

  cursor: pointer;

  box-shadow: 0 8px 20px
    rgba(0, 63, 61, 0.14);

  transition:
    transform 0.2s ease,
    filter 0.2s ease,
    box-shadow 0.2s ease;
}

.botao-entrar:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);

  box-shadow: 0 12px 25px
    rgba(0, 63, 61, 0.20);
}

.botao-entrar:active {
  transform: translateY(0);
}

.botao-entrar:focus-visible {
  outline: 3px solid var(--cor-primaria-clara);
  outline-offset: 3px;
}

.botao-entrar svg {
  width: 21px;
  height: 21px;
}

/* =========================================
   MENSAGEM
========================================= */

.mensagem-formulario {
  min-height: 18px;

  margin: 12px 0 0;

  color: var(--texto-secundario);

  font-size: 12px;
}

.mensagem-formulario.erro {
  color: var(--cor-erro);
}

/* =========================================
   RODAPÉ
========================================= */

.rodape-login {
  margin-top: 24px;
}

.rodape-login p {
  margin: 0;

  color: #607d7b;

  font-size: 11px;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 991.98px) {

  .pagina-login {
    padding: 35px 18px;
  }

  .cartao-login {
    padding: 40px 36px 34px;
  }
}

/* =========================================
   CELULAR
========================================= */

@media (max-width: 575.98px) {

  .pagina-login {
    padding: 24px 14px;

    background-position: 62% center;
  }

  .cartao-login {
    padding: 32px 24px 28px;

    border-radius: 18px;
  }

  .area-logo {
    margin-bottom: 22px;
  }

  .logo {
    width: 165px;
  }

  .cabecalho-login {
    margin-bottom: 26px;
  }

  .cabecalho-login h1 {
    font-size: 24px;
  }

  .cabecalho-login p {
    font-size: 13px;
  }

  .campo {
    margin-bottom: 19px;
  }

  .input-com-icone {
    height: 52px;
    padding: 0 13px;
  }

  .botao-entrar {
    height: 54px;
    margin-top: 24px;
  }
}

/* =========================================
   CELULARES PEQUENOS
========================================= */

@media (max-width: 360px) {

  .cartao-login {
    padding: 28px 18px 24px;
  }

  .cabecalho-login h1 {
    font-size: 22px;
  }

  .input-com-icone input {
    font-size: 12px;
  }
}

/* =========================================
   ACESSIBILIDADE
========================================= */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
  }
}






/* =========================================
   RECEITARE - CORREÇÃO DA TELA DE ENVIO
   ESTILOS ISOLADOS / MOBILE-FIRST
========================================= */

body.pagina-envio {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: #f0faf7;
  font-family: 'Inter', sans-serif;
}

.pagina-envio .receita-pagina {
  min-height: 100vh;
  min-height: 100dvh;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 24px 16px;
}

.pagina-envio .receita-card {
  width: 100%;
  max-width: 480px;

  padding: 32px 24px;

  background: #ffffff;
  border: 1px solid #e4efec;
  border-radius: 20px;

  box-shadow: 0 15px 45px rgba(0, 63, 61, 0.07);
}

.pagina-envio .receita-topo {
  display: flex;
  justify-content: center;
  margin-bottom: 34px;
}

.pagina-envio .receita-logo {
  display: block;
  width: 175px;
  max-width: 70%;
  height: auto;
}

/* CAMPOS */

.pagina-envio .receita-grupo {
  margin-bottom: 24px;
}

.pagina-envio .receita-label {
  display: block;
  margin-bottom: 10px;

  color: #002f30;
  font-size: 14px;
  font-weight: 600;
}

.pagina-envio .receita-input-wrapper {
  width: 100%;
  height: 56px;

  display: flex;
  align-items: center;
  gap: 12px;

  padding: 0 15px;

  background: #ffffff;
  border: 1px solid #d8e2e8;
  border-radius: 12px;
}

.pagina-envio .receita-input-wrapper:focus-within {
  border-color: #00b889;
  box-shadow: 0 0 0 3px rgba(0, 184, 137, 0.12);
}

.pagina-envio .receita-icone-input {
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: #8193a0;
}

.pagina-envio .receita-input-wrapper input {
  display: block;
  flex: 1;
  width: 100%;
  min-width: 0;
  height: 100%;

  padding: 0;
  margin: 0;

  border: 0;
  outline: 0;
  background: transparent;

  color: #002f30;
  font-family: inherit;
  font-size: 16px;
}

.pagina-envio .receita-input-wrapper input::placeholder {
  color: #8193a0;
  opacity: 1;
}

/* UPLOAD */

.pagina-envio .receita-upload {
  width: 100%;
  min-height: 185px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 22px 14px;

  text-align: center;
  background: #f3fcf9;

  border: 1.5px dashed #a7d9cf;
  border-radius: 14px;

  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}

.pagina-envio .receita-upload[hidden] {
  display: none !important;
}

.pagina-envio .receita-upload:hover,
.pagina-envio .receita-upload.arrastando {
  background: #e8faf5;
  border-color: #00b889;
}

.pagina-envio .receita-upload:focus-visible {
  outline: 3px solid #00b889;
  outline-offset: 3px;
}

.pagina-envio .receita-upload-icone {
  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 13px;

  border-radius: 14px;
  background: #d5f7ed;
  color: #00a781;
}

.pagina-envio .receita-upload-icone svg {
  display: block;
  flex: 0 0 30px;
  width: 30px !important;
  height: 30px !important;
  max-width: 30px;
  max-height: 30px;
}

.pagina-envio .receita-upload strong {
  display: block;
  margin-bottom: 7px;

  color: #002f30;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.pagina-envio .receita-upload-descricao {
  display: block;
  margin-bottom: 12px;

  color: #718696;
  font-size: 12px;
}

.pagina-envio .receita-formatos {
  display: inline-block;

  padding: 6px 10px;
  border-radius: 7px;

  background: #e4f6ef;
  color: #008f70;

  font-size: 11px;
  font-weight: 600;
}

/* ARQUIVO SELECIONADO */

.pagina-envio .receita-arquivo-box {
  display: flex;
  align-items: center;
  gap: 12px;

  padding: 14px;

  background: #f0faf7;
  border: 1px solid #a7d9cf;
  border-radius: 12px;
}

.pagina-envio .receita-arquivo-box[hidden] {
  display: none !important;
}

.pagina-envio .receita-tipo {
  flex: 0 0 44px;
  width: 44px;
  height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #d5f7ed;
  border-radius: 9px;

  color: #008f70;
  font-size: 11px;
  font-weight: 800;
}

.pagina-envio .receita-arquivo-info {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.pagina-envio .receita-arquivo-info strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  color: #002f30;
  font-size: 12px;
}

.pagina-envio .receita-arquivo-info span {
  color: #718696;
  font-size: 11px;
}

.pagina-envio .receita-remover {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 0;
  border-radius: 10px;

  background: #ffffff;
  color: #526675;

  cursor: pointer;
}

.pagina-envio .receita-remover svg {
  display: block;
  width: 20px !important;
  height: 20px !important;
}

.pagina-envio .receita-remover:hover {
  color: #d9534f;
  background: #fff0f0;
}

/* BOTÃO */

.pagina-envio .receita-botao {
  width: 100%;
  min-height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  padding: 12px 18px;

  border: 0;
  border-radius: 13px;

  background: linear-gradient(
    110deg,
    #00b889,
    #009f81 55%,
    #007d70
  );

  color: #ffffff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;

  cursor: pointer;
  box-shadow: 0 10px 22px rgba(0, 184, 137, 0.18);
}

.pagina-envio .receita-botao svg {
  display: block;
  flex: 0 0 22px;
  width: 22px !important;
  height: 22px !important;
}

.pagina-envio .receita-botao:hover {
  filter: brightness(1.07);
}

.pagina-envio .receita-botao:focus-visible {
  outline: 3px solid #003f3d;
  outline-offset: 3px;
}

/* MENSAGENS E RODAPÉ */

.pagina-envio .receita-mensagem {
  margin: 8px 0 0;
  color: #d9534f;
  font-size: 12px;
  line-height: 1.5;
}

.pagina-envio .receita-mensagem:empty {
  display: none;
}

.pagina-envio .receita-mensagem-final {
  text-align: center;
}

.pagina-envio .receita-rodape {
  padding-top: 18px;
  color: #8193a0;
  font-size: 11px;
  text-align: center;
}

/* RESPONSIVIDADE */

@media (max-width: 575.98px) {
  .pagina-envio .receita-pagina {
    justify-content: flex-start;
    padding: 16px 12px 24px;
  }

  .pagina-envio .receita-card {
    padding: 28px 20px;
    border-radius: 18px;
  }

  .pagina-envio .receita-topo {
    margin-bottom: 28px;
  }

  .pagina-envio .receita-logo {
    width: 155px;
  }

  .pagina-envio .receita-upload {
    min-height: 175px;
  }
}

@media (min-width: 768px) {
  .pagina-envio .receita-card {
    padding: 42px 44px;
  }

  .pagina-envio .receita-logo {
    width: 190px;
  }
}









/* =====================================================
   RECEITARE - PAINEL DO ATENDENTE
   CSS COMPLETO - BOOTSTRAP 5
   Cole no FINAL do arquivo style.css
===================================================== */

/* =========================
   1. BASE DA PÁGINA
========================= */

body.pagina-atendente {
    --at-cor-primaria: #003b3b;
    --at-cor-secundaria: #00b889;
    --at-cor-verde-escuro: #007e68;
    --at-cor-texto: #092e3b;
    --at-cor-texto-suave: #7185a0;
    --at-cor-borda: #e4ecef;
    --at-cor-fundo: #f3f9f7;
    --at-cor-branco: #ffffff;

    margin: 0;
    padding: 0;
    min-height: 100vh;
    background: var(--at-cor-fundo);
    color: var(--at-cor-texto);
    font-family: 'Inter', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    overflow-x: hidden;
}

.pagina-atendente *,
.pagina-atendente *::before,
.pagina-atendente *::after {
    box-sizing: border-box;
}

.pagina-atendente button,
.pagina-atendente input {
    font-family: inherit;
}

.pagina-atendente button {
    cursor: pointer;
}

.pagina-atendente button:focus-visible,
.pagina-atendente input:focus-visible {
    outline: 2px solid #00b889;
    outline-offset: 2px;
}

.pagina-atendente svg.lucide {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
}

/* =========================
   2. CABEÇALHO
========================= */

.pagina-atendente .atendente-header {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e6efed;
    box-shadow: 0 3px 18px rgba(0, 50, 45, 0.035);
}

.pagina-atendente .atendente-header-conteudo {
    width: 100%;
    max-width: 1500px;
    min-height: 76px;
    margin: 0 auto;
    padding: 12px 28px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.pagina-atendente .atendente-marca {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.pagina-atendente .atendente-marca img {
    display: block;
    width: 150px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.pagina-atendente .atendente-header-acoes {
    display: flex;
    align-items: center;
    gap: 20px;
}

.pagina-atendente .atendente-identificacao {
    display: flex;
    align-items: center;
    gap: 9px;

    padding: 10px 14px;
    background: #effaf6;
    border-radius: 10px;

    color: #60758f;
    font-size: 12px;
    white-space: nowrap;
}

.pagina-atendente .atendente-identificacao strong {
    color: #003f3d;
    font-size: 12px;
    font-weight: 700;
}

.pagina-atendente .atendente-online {
    display: block;
    width: 8px;
    height: 8px;
    background: #00b889;
    border-radius: 50%;
    flex-shrink: 0;
}

.pagina-atendente .atendente-configuracoes {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    padding: 9px 0 9px 18px;

    border: 0;
    border-left: 1px solid #e1e9ed;
    background: transparent;

    color: #294657;
    font-size: 12px;
    transition: color 0.2s ease;
}

.pagina-atendente .atendente-configuracoes:hover {
    color: #00a783;
}

/* =========================
   3. ESTRUTURA PRINCIPAL
========================= */

.pagina-atendente .atendente-main {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 24px;
}

.pagina-atendente .atendente-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    align-items: start;
    gap: 18px;
}

.pagina-atendente .atendente-painel-receitas {
    min-width: 0;
    min-height: 550px;

    padding: 24px;

    background: #ffffff;
    border: 1px solid #eaf0ef;
    border-radius: 17px;

    box-shadow: 0 6px 24px rgba(0, 50, 45, 0.025);
}

/* =========================
   4. TÍTULO DO PAINEL
========================= */

.pagina-atendente .atendente-painel-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 20px;
}

.pagina-atendente .atendente-titulo-grupo {
    min-width: 0;
}

.pagina-atendente .atendente-titulo-grupo h1 {
    margin: 0;
    color: #092e3b;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.pagina-atendente .atendente-titulo-grupo p {
    margin: 6px 0 0;
    color: #7185a0;
    font-size: 12px;
    line-height: 1.5;
}

.pagina-atendente .atendente-acoes-lista {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.pagina-atendente .atendente-contador {
    color: #7185a0;
    font-size: 12px;
    white-space: nowrap;
}

.pagina-atendente .atendente-btn-atualizar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 37px;
    padding: 8px 13px;

    background: #ffffff;
    border: 1px solid #e0e9ed;
    border-radius: 9px;

    color: #294657;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;

    transition: all 0.2s ease;
}

.pagina-atendente .atendente-btn-atualizar:hover {
    background: #f5faf8;
    border-color: #bce7da;
}

/* =========================
   5. CAMPO DE BUSCA
========================= */

.pagina-atendente .atendente-ferramentas {
    margin-bottom: 18px;
}

.pagina-atendente .atendente-busca {
    display: flex;
    align-items: center;
    gap: 9px;

    width: 100%;
    max-width: 360px;
    height: 41px;

    padding: 0 12px;

    background: #f9fbfc;
    border: 1px solid #e1e9ed;
    border-radius: 9px;

    color: #8193a0;
}

.pagina-atendente .atendente-busca input {
    width: 100%;
    min-width: 0;
    height: 100%;

    border: 0;
    outline: 0;
    background: transparent;

    color: #092e3b;
    font-size: 12px;
}

.pagina-atendente .atendente-busca input::placeholder {
    color: #94a3af;
}

.pagina-atendente .atendente-busca:focus-within {
    border-color: #00b889;
    box-shadow: 0 0 0 3px rgba(0, 184, 137, 0.08);
}

/* =========================
   6. TABELA DE RECEITAS
========================= */

.pagina-atendente .atendente-tabela-container {
    width: 100%;
    min-width: 0;
}

.pagina-atendente .atendente-tabela-cabecalho,
.pagina-atendente .atendente-receita-linha {
    display: grid;

    grid-template-columns:
        minmax(130px, 1.2fr)
        minmax(145px, 1.4fr)
        minmax(100px, 0.9fr)
        125px;

    align-items: center;
    gap: 10px;
}

.pagina-atendente .atendente-tabela-cabecalho {
    min-height: 41px;
    padding: 0 13px;

    background: #f5f8fa;
    border-radius: 9px;

    color: #60758f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.pagina-atendente .atendente-receita-linha {
    min-height: 68px;
    padding: 10px 12px;
    margin-top: 6px;

    background: #ffffff;
    border: 1px solid #e8eff2;
    border-radius: 10px;

    transition: background 0.2s, border-color 0.2s;
}

.pagina-atendente .atendente-receita-linha:hover {
    background: #fbfefd;
    border-color: #cfece3;
}

/* PACIENTE */

.pagina-atendente .atendente-receita-paciente {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.pagina-atendente .atendente-receita-paciente strong {
    min-width: 0;
    color: #092e3b;
    font-size: 12px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

/* ÍCONE DO ARQUIVO */

.pagina-atendente .atendente-arquivo-icone {
    display: grid;
    place-items: center;

    flex: 0 0 36px;
    width: 36px;
    height: 40px;

    background: #fff1f1;
    border-radius: 8px;
    color: #e53935;
}

.pagina-atendente .atendente-arquivo-icone svg {
    width: 19px;
    height: 19px;
}

/* INFORMAÇÕES */

.pagina-atendente .atendente-receita-arquivo,
.pagina-atendente .atendente-receita-data {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;

    color: #36516c;
    font-size: 12px;
}

.pagina-atendente .atendente-receita-arquivo span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pagina-atendente .atendente-receita-arquivo small,
.pagina-atendente .atendente-receita-data small {
    color: #8193a9;
    font-size: 11px;
}

/* AÇÕES */

.pagina-atendente .atendente-receita-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.pagina-atendente .atendente-btn-baixar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    min-height: 36px;
    padding: 0 10px;

    border: 0;
    border-radius: 8px;
    background: #e7f9f3;

    color: #009e7a;
    font-size: 12px;
    font-weight: 700;

    transition: background 0.2s ease;
}

.pagina-atendente .atendente-btn-baixar:hover {
    background: #d5f4e9;
}

.pagina-atendente .atendente-btn-excluir {
    display: grid;
    place-items: center;

    flex: 0 0 36px;
    width: 36px;
    height: 36px;

    border: 0;
    border-radius: 8px;
    background: #f5f7f9;

    color: #526a7b;
    transition: all 0.2s ease;
}

.pagina-atendente .atendente-btn-excluir:hover {
    background: #fff0f0;
    color: #d32f2f;
}

/* =========================
   7. SIDEBAR
========================= */

.pagina-atendente .atendente-sidebar {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.pagina-atendente .atendente-card-codigos,
.pagina-atendente .atendente-card-lateral,
.pagina-atendente .atendente-card-sms {
    width: 100%;
    min-width: 0;
    padding: 19px;

    border: 1px solid #e6efed;
    border-radius: 15px;
}

.pagina-atendente .atendente-card-codigos {
    background: linear-gradient(145deg, #effdf8, #e2f8f1);
}

.pagina-atendente .atendente-card-lateral,
.pagina-atendente .atendente-card-sms {
    background: #ffffff;
}

.pagina-atendente .atendente-card-codigos h2,
.pagina-atendente .atendente-card-lateral h2,
.pagina-atendente .atendente-card-sms h2 {
    margin: 0 0 5px;
    color: #092e3b;
    font-size: 14px;
    font-weight: 800;
}

.pagina-atendente .atendente-card-codigos p,
.pagina-atendente .atendente-card-lateral p,
.pagina-atendente .atendente-card-sms p {
    margin: 0;
    color: #7185a0;
    font-size: 11px;
    line-height: 1.55;
}

/* =========================
   8. CÓDIGOS DE ACESSO
========================= */

.pagina-atendente .atendente-card-codigos-topo {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 16px;
}

.pagina-atendente .atendente-icone-verificado {
    display: grid;
    place-items: center;

    flex: 0 0 34px;
    width: 34px;
    height: 34px;

    background: #00b889;
    border-radius: 50%;
    color: #ffffff;
}

.pagina-atendente .atendente-codigo-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    padding: 12px;
    margin-top: 9px;

    background: #ffffff;
    border-radius: 10px;
}

.pagina-atendente .atendente-codigo-card-texto {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.pagina-atendente .atendente-codigo-card-texto span {
    color: #7185a0;
    font-size: 11px;
}

.pagina-atendente .atendente-codigo-card-texto strong {
    color: #092e3b;
    font-size: 16px;
    font-weight: 800;
}

.pagina-atendente .atendente-btn-copiar {
    display: grid;
    place-items: center;

    flex: 0 0 35px;
    width: 35px;
    height: 35px;

    border: 1px solid #e7eff0;
    border-radius: 9px;
    background: #f7fafb;

    color: #294657;
}

.pagina-atendente .atendente-btn-copiar:hover {
    color: #009e7a;
    background: #effaf6;
}

/* =========================
   9. CARD ENVIAR SMS
========================= */

.pagina-atendente .atendente-sms-cabecalho {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.pagina-atendente .atendente-sms-icone {
    display: grid;
    place-items: center;

    flex: 0 0 36px;
    width: 36px;
    height: 36px;

    background: #e7f9f3;
    border-radius: 10px;
    color: #009e7a;
}

.pagina-atendente .atendente-sms-botao {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    width: 100%;
    min-height: 41px;
    margin-top: 16px;
    padding: 9px 13px;

    border: 0;
    border-radius: 9px;

    background: #009e7a;
    color: #ffffff;

    font-size: 12px;
    font-weight: 700;

    transition: background 0.2s ease;
}

.pagina-atendente .atendente-sms-botao:hover {
    background: #007d64;
}

.pagina-atendente .atendente-sms-botao svg:first-child {
    margin-left: auto;
}

.pagina-atendente .atendente-sms-botao svg:last-child {
    margin-left: auto;
}

/* =========================
   10. LINK DE COMPARTILHAMENTO
========================= */

.pagina-atendente .atendente-card-titulo {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 9px;
    color: #009e7a;
}

.pagina-atendente .atendente-card-titulo h2 {
    margin: 0;
}

.pagina-atendente .atendente-link-campo {
    display: flex;
    align-items: center;
    gap: 5px;

    margin-top: 14px;
    padding: 5px;

    border: 1px solid #e4ebef;
    border-radius: 9px;
    background: #f7fafb;
}

.pagina-atendente .atendente-link-campo input {
    width: 100%;
    min-width: 0;
    padding: 7px;

    border: 0;
    outline: 0;
    background: transparent;

    color: #36516c;
    font-size: 11px;
}

.pagina-atendente .atendente-link-campo button {
    display: grid;
    place-items: center;

    flex: 0 0 33px;
    width: 33px;
    height: 33px;

    border: 1px solid #e4ebef;
    border-radius: 7px;
    background: #ffffff;

    color: #294657;
}

/* =========================
   11. QR CODE
========================= */

.pagina-atendente .atendente-qr-conteudo {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-top: 16px;
    padding-top: 16px;

    border-top: 1px solid #edf1f3;
}

.pagina-atendente .atendente-qr-imagem {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 112px;
    width: 112px;
    height: 112px;

    padding: 6px;
    border: 1px solid #edf1f3;
    border-radius: 9px;
    background: #ffffff;
}

.pagina-atendente .atendente-qr-imagem img,
.pagina-atendente .atendente-qr-imagem canvas {
    display: block;
    width: 100px !important;
    height: 100px !important;
    max-width: 100%;
}

.pagina-atendente .atendente-qr-texto {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.pagina-atendente .atendente-qr-texto strong {
    color: #092e3b;
    font-size: 12px;
    font-weight: 700;
}

.pagina-atendente .atendente-qr-texto span {
    color: #7185a0;
    font-size: 11px;
    line-height: 1.5;
}

/* =========================
   12. MODAL DE ENVIO SMS
========================= */

.pagina-atendente .atendente-modal-sms {
    padding: 8px;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 20px 65px rgba(0, 40, 45, 0.15);
}

.pagina-atendente .atendente-modal-sms .modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 20px 0;
}

.pagina-atendente .atendente-modal-sms .modal-body {
    padding: 15px 20px 22px;
}

.pagina-atendente .atendente-modal-sms-icone {
    display: grid;
    place-items: center;

    width: 43px;
    height: 43px;

    background: #e5f9f2;
    border-radius: 12px;
    color: #009e7a;
}

.pagina-atendente .atendente-modal-sms-icone svg {
    width: 22px;
    height: 22px;
}

.pagina-atendente .atendente-modal-sms h2 {
    margin: 0 0 7px;
    color: #092e3b;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.pagina-atendente .atendente-modal-sms-descricao {
    margin: 0 0 22px;
    color: #7185a0;
    font-size: 12px;
    line-height: 1.6;
}

.pagina-atendente .atendente-sms-label {
    display: block;
    margin-bottom: 8px;

    color: #092e3b;
    font-size: 12px;
    font-weight: 700;
}

.pagina-atendente .atendente-sms-input {
    display: flex;
    align-items: center;
    gap: 10px;

    min-height: 47px;
    padding: 0 13px;

    border: 1px solid #dce8e8;
    border-radius: 10px;
    color: #7185a0;
}

.pagina-atendente .atendente-sms-input:focus-within {
    border-color: #00b889;
    box-shadow: 0 0 0 3px rgba(0, 184, 137, 0.1);
}

.pagina-atendente .atendente-sms-input input {
    width: 100%;
    min-width: 0;
    padding: 10px 0;

    border: 0;
    outline: 0;
    background: transparent;

    color: #092e3b;
    font-size: 14px;
}

.pagina-atendente .atendente-sms-input input::placeholder {
    color: #9cabb8;
}

.pagina-atendente .atendente-sms-ajuda {
    display: block;
    margin-top: 7px;
    color: #7185a0;
    font-size: 10px;
}

.pagina-atendente .atendente-sms-preview {
    margin-top: 21px;
    padding: 13px;

    background: #f3f9f7;
    border: 1px solid #e4f2ec;
    border-radius: 10px;
}

.pagina-atendente .atendente-sms-preview > span {
    display: block;
    margin-bottom: 8px;

    color: #638177;
    font-size: 10px;
    font-weight: 700;
}

.pagina-atendente .atendente-sms-preview p {
    margin: 0;
    color: #294d49;
    font-size: 11px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.pagina-atendente .atendente-sms-erro {
    margin-top: 12px;
    padding: 10px;

    border-radius: 8px;
    background: #fff0f0;

    color: #b42318;
    font-size: 11px;
}

.pagina-atendente .atendente-sms-confirmar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    width: 100%;
    min-height: 45px;
    margin-top: 20px;
    padding: 11px 15px;

    border: 0;
    border-radius: 10px;

    background: linear-gradient(110deg, #00b889, #007d69);
    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    transition: filter 0.2s ease;
}

.pagina-atendente .atendente-sms-confirmar:hover {
    filter: brightness(0.95);
}

.pagina-atendente .atendente-sms-confirmar:disabled {
    opacity: 0.65;
    cursor: wait;
}

/* =========================
   13. MODAIS GERAIS
========================= */

.pagina-atendente .atendente-modal {
    border: 0;
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 20px 60px rgba(0, 40, 45, 0.12);
}

.pagina-atendente .atendente-modal .modal-header {
    padding: 18px 20px 8px;
}

.pagina-atendente .atendente-modal .modal-body {
    padding: 15px 20px;
    color: #526a7b;
    font-size: 13px;
}

.pagina-atendente .atendente-modal .modal-footer {
    padding: 12px 20px 18px;
}

/* =========================
   14. ESTADO VAZIO
========================= */

.pagina-atendente .atendente-vazio {
    padding: 60px 15px;
    text-align: center;
}

.pagina-atendente .atendente-vazio[hidden] {
    display: none !important;
}

.pagina-atendente .atendente-vazio > svg {
    width: 36px;
    height: 36px;
    margin-bottom: 12px;
    color: #a0b4b9;
}

.pagina-atendente .atendente-vazio h2 {
    margin: 0 0 7px;
    color: #294657;
    font-size: 16px;
    font-weight: 700;
}

.pagina-atendente .atendente-vazio p {
    margin: 0;
    color: #8193a9;
    font-size: 12px;
}

/* =========================
   15. NOTIFICAÇÕES
========================= */

.pagina-atendente .atendente-toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1090;

    max-width: calc(100vw - 32px);
    padding: 13px 18px;

    background: #003f3d;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0, 50, 45, 0.15);

    color: #ffffff;
    font-size: 12px;
    font-weight: 600;

    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: all 0.25s ease;

    pointer-events: none;
}

.pagina-atendente .atendente-toast.visivel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =====================================================
   16. RESPONSIVIDADE - NOTEBOOKS
===================================================== */

@media (max-width: 1199.98px) {

    .pagina-atendente .atendente-main {
        padding: 20px 16px;
    }

    .pagina-atendente .atendente-grid {
        grid-template-columns: minmax(0, 1fr) 275px;
        gap: 14px;
    }

    .pagina-atendente .atendente-painel-receitas {
        padding: 18px;
    }

    .pagina-atendente .atendente-tabela-cabecalho,
    .pagina-atendente .atendente-receita-linha {
        grid-template-columns:
            minmax(105px, 1fr)
            minmax(120px, 1.1fr)
            95px
            115px;
        gap: 6px;
    }

    .pagina-atendente .atendente-btn-baixar {
        padding: 0 8px;
    }

}

/* =====================================================
   17. RESPONSIVIDADE - TABLETS
===================================================== */

@media (max-width: 991.98px) {

    .pagina-atendente .atendente-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .pagina-atendente .atendente-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .pagina-atendente .atendente-painel-receitas {
        min-height: 0;
    }

    .pagina-atendente .atendente-tabela-cabecalho,
    .pagina-atendente .atendente-receita-linha {
        grid-template-columns:
            minmax(140px, 1.2fr)
            minmax(150px, 1.3fr)
            minmax(100px, 0.9fr)
            125px;
    }

    .pagina-atendente .atendente-card-lateral {
        grid-column: 1 / -1;
    }

}

/* =====================================================
   18. RESPONSIVIDADE - CELULARES
===================================================== */

@media (max-width: 767.98px) {

    /* CABEÇALHO */

    .pagina-atendente .atendente-header-conteudo {
        min-height: 65px;
        padding: 12px 16px;
        gap: 10px;
    }

    .pagina-atendente .atendente-marca img {
        width: 125px;
    }

    .pagina-atendente .atendente-header-acoes {
        gap: 8px;
    }

    .pagina-atendente .atendente-identificacao {
        padding: 8px 10px;
        gap: 6px;
        font-size: 10px;
    }

    .pagina-atendente .atendente-identificacao > span:nth-child(2) {
        display: none;
    }

    .pagina-atendente .atendente-identificacao strong {
        font-size: 11px;
    }

    .pagina-atendente .atendente-configuracoes {
        padding: 8px;
        border: 0;
    }

    .pagina-atendente .atendente-configuracoes span {
        display: none;
    }

    /* CONTEÚDO */

    .pagina-atendente .atendente-main {
        padding: 14px 10px 25px;
    }

    .pagina-atendente .atendente-grid {
        gap: 14px;
    }

    .pagina-atendente .atendente-painel-receitas {
        padding: 17px 13px;
        border-radius: 13px;
    }

    /* TÍTULO */

    .pagina-atendente .atendente-painel-cabecalho {
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 18px;
    }

    .pagina-atendente .atendente-titulo-grupo h1 {
        font-size: 18px;
    }

    .pagina-atendente .atendente-titulo-grupo p {
        font-size: 11px;
    }

    .pagina-atendente .atendente-contador {
        display: none;
    }

    .pagina-atendente .atendente-btn-atualizar {
        min-height: 35px;
        padding: 8px 10px;
    }

    .pagina-atendente .atendente-btn-atualizar span {
        display: none;
    }

    /* BUSCA */

    .pagina-atendente .atendente-busca {
        max-width: 100%;
    }

    /* RECEITAS EM CARDS */

    .pagina-atendente .atendente-tabela-cabecalho {
        display: none;
    }

    .pagina-atendente .atendente-receita-linha {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 11px;

        min-height: 0;
        padding: 13px;
        margin-top: 9px;

        border-radius: 11px;
    }

    .pagina-atendente .atendente-receita-paciente {
        grid-column: 1 / -1;
    }

    .pagina-atendente .atendente-receita-paciente strong {
        font-size: 13px;
    }

    .pagina-atendente .atendente-receita-arquivo {
        grid-column: 1;
        font-size: 11px;
    }

    .pagina-atendente .atendente-receita-arquivo span {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .pagina-atendente .atendente-receita-data {
        grid-column: 2;
        text-align: right;
        font-size: 11px;
    }

    .pagina-atendente .atendente-receita-acoes {
        grid-column: 1 / -1;
        justify-content: flex-end;

        padding-top: 10px;
        border-top: 1px solid #edf1f3;
    }

    .pagina-atendente .atendente-btn-baixar {
        min-height: 40px;
        padding: 0 14px;
    }

    .pagina-atendente .atendente-btn-excluir {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }

    /* SIDEBAR */

    .pagina-atendente .atendente-sidebar {
        display: flex;
        flex-direction: column;
    }

    .pagina-atendente .atendente-card-codigos,
    .pagina-atendente .atendente-card-lateral,
    .pagina-atendente .atendente-card-sms {
        width: 100%;
        padding: 17px;
    }

    /* SMS */

    .pagina-atendente .atendente-sms-botao {
        min-height: 44px;
    }

    /* MODAL */

    .pagina-atendente .atendente-modal-sms {
        border-radius: 15px;
    }

    .pagina-atendente .atendente-sms-input {
        min-height: 49px;
    }

    /* TOAST */

    .pagina-atendente .atendente-toast {
        right: 12px;
        bottom: 12px;
        left: 12px;
        max-width: none;
        text-align: center;
    }

}

/* =====================================================
   19. CELULARES PEQUENOS
===================================================== */

@media (max-width: 380px) {

    .pagina-atendente .atendente-marca img {
        width: 105px;
    }

    .pagina-atendente .atendente-titulo-grupo h1 {
        font-size: 16px;
    }

    .pagina-atendente .atendente-painel-receitas {
        padding: 13px 10px;
    }

    .pagina-atendente .atendente-receita-linha {
        padding: 11px;
    }

    .pagina-atendente .atendente-receita-data {
        font-size: 10px;
    }

}

/* =====================================================
   FIM - PAINEL DO ATENDENTE RECEITARE
===================================================== */









/* =====================================================
   RECEITARE - PAINEL ADMINISTRATIVO
   ADICIONAR AO FINAL DO STYLE.CSS
===================================================== */

body.pagina-admin {
    --adm-verde: #00b889;
    --adm-verde-escuro: #008e72;
    --adm-verde-claro: #e9faf4;
    --adm-texto: #092e3b;
    --adm-secundario: #647b99;
    --adm-borda: #e7edf1;
    --adm-fundo: #f6f9fb;

    margin: 0;
    min-height: 100vh;
    background: var(--adm-fundo);
    color: var(--adm-texto);
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    overflow-x: hidden;
}

.pagina-admin *,
.pagina-admin *::before,
.pagina-admin *::after {
    box-sizing: border-box;
}

.pagina-admin button,
.pagina-admin input,
.pagina-admin select {
    font-family: inherit;
}

.pagina-admin button {
    cursor: pointer;
}

.pagina-admin button:focus-visible,
.pagina-admin a:focus-visible,
.pagina-admin input:focus-visible,
.pagina-admin select:focus-visible {
    outline: 2px solid #00b889;
    outline-offset: 2px;
}

.pagina-admin svg.lucide {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
}

/* =========================
   MENU LATERAL
========================= */

.pagina-admin .admin-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1040;

    display: flex;
    flex-direction: column;

    width: 250px;
    background: #ffffff;
    border-right: 1px solid #e9eef2;

    transition: transform .25s ease;
}

.pagina-admin .admin-sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: space-between;

    height: 86px;
    padding: 17px 25px;
}

.pagina-admin .admin-sidebar-logo img {
    display: block;
    width: 185px;
    max-width: 100%;
    height: auto;
}

.pagina-admin .admin-fechar-menu {
    display: none;
    border: 0;
    background: transparent;
    color: #496477;
}

.pagina-admin .admin-navegacao {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 8px 12px;
    overflow-y: auto;
}

.pagina-admin .admin-nav-link {
    display: flex;
    align-items: center;
    gap: 14px;

    min-height: 45px;
    padding: 0 14px;

    color: #405b78;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;

    border-radius: 10px;
    transition: background .2s, color .2s;
}

.pagina-admin .admin-nav-link:hover {
    background: #f4faf8;
    color: #008e72;
}

.pagina-admin .admin-nav-link.ativo {
    background: linear-gradient(100deg, #e9faf4, #f0fbf8);
    color: #008e72;
    font-weight: 700;
}

.pagina-admin .admin-nav-link.ativo svg {
    color: #00aa84;
}

.pagina-admin .admin-nav-grupo {
    margin: 24px 14px 9px;
    color: #7185a0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
}

.pagina-admin .admin-sidebar-rodape {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-top: auto;
    padding: 18px 24px;
    border-top: 1px solid #eef2f4;

    color: #8192a4;
    font-size: 10px;
}

.pagina-admin .admin-status-ponto {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #00b889;
}

.pagina-admin .admin-overlay {
    display: none;
}

/* =========================
   ESTRUTURA E HEADER
========================= */

.pagina-admin .admin-estrutura {
    min-width: 0;
    min-height: 100vh;
    margin-left: 250px;
}

.pagina-admin .admin-header {
    position: sticky;
    top: 0;
    z-index: 1020;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    height: 70px;
    padding: 0 20px;

    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #e9eef2;
    backdrop-filter: blur(12px);
}

.pagina-admin .admin-header-esquerda {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.pagina-admin .admin-menu-toggle {
    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    border: 1px solid #edf1f4;
    border-radius: 10px;
    background: #ffffff;

    color: #405b78;
    box-shadow: 0 3px 12px rgba(0, 30, 50, .035);
}

.pagina-admin .admin-farmacia-seletor {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 0;
    padding: 8px 3px;

    border: 0;
    background: transparent;
    color: #092e3b;

    font-size: 13px;
    font-weight: 700;
}

.pagina-admin .admin-farmacia-seletor span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pagina-admin .admin-perfil {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 0 0 0 20px;
    border: 0;
    border-left: 1px solid #e9eef2;
    background: transparent;
    text-align: left;
}

.pagina-admin .admin-avatar {
    display: grid;
    place-items: center;

    flex: 0 0 40px;
    width: 40px;
    height: 40px;

    background: #dcf8ee;
    border-radius: 50%;

    color: #008e72;
    font-size: 13px;
    font-weight: 800;
}

.pagina-admin .admin-perfil-texto {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pagina-admin .admin-perfil-texto strong {
    color: #092e3b;
    font-size: 12px;
    font-weight: 700;
}

.pagina-admin .admin-perfil-texto small {
    color: #7185a0;
    font-size: 10px;
}

.pagina-admin .admin-perfil > svg {
    margin-left: 10px;
    color: #405b78;
}

.pagina-admin .admin-dropdown {
    min-width: 210px;
    padding: 7px;
    border: 1px solid #e7edf1;
    border-radius: 11px;
    box-shadow: 0 10px 35px rgba(0, 40, 50, .09);
}

.pagina-admin .admin-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border-radius: 7px;
    font-size: 12px;
}

.pagina-admin .admin-dropdown .dropdown-item-text {
    color: #7185a0;
    font-size: 10px;
}

/* =========================
   CONTEÚDO
========================= */

.pagina-admin .admin-main {
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px;
}

.pagina-admin .admin-secao {
    display: none;
}

.pagina-admin .admin-secao.ativa {
    display: block;
}

/* =========================
   BANNER DE CÓDIGOS
========================= */

.pagina-admin .admin-codigos-banner {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 20px;

    padding: 16px 24px;
    margin-bottom: 15px;

    background: linear-gradient(110deg, #e8fbf5, #effcf8);
    border: 1px solid #e7f7f1;
    border-radius: 13px;
}

.pagina-admin .admin-codigos-intro {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.pagina-admin .admin-icone-destaque {
    display: grid;
    place-items: center;

    flex: 0 0 58px;
    width: 58px;
    height: 58px;

    background: #d7f6eb;
    border-radius: 14px;
    color: #009b7c;
}

.pagina-admin .admin-icone-destaque svg {
    width: 27px;
    height: 27px;
}

.pagina-admin .admin-codigos-intro h1 {
    margin: 0 0 6px;
    color: #092e3b;
    font-size: 14px;
    font-weight: 800;
}

.pagina-admin .admin-codigos-intro p {
    max-width: 400px;
    margin: 0;
    color: #647b99;
    font-size: 11px;
    line-height: 1.55;
}

.pagina-admin .admin-codigos-acoes {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr);
    gap: 10px;
}

.pagina-admin .admin-codigo-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;

    padding: 13px 15px;

    background: #ffffff;
    border: 1px solid #e9f1ef;
    border-radius: 11px;
}

.pagina-admin .admin-codigo-box > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.pagina-admin .admin-codigo-box span {
    color: #405b78;
    font-size: 10px;
    font-weight: 600;
}

.pagina-admin .admin-codigo-box strong {
    color: #092e3b;
    font-size: 20px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pagina-admin .admin-link-box strong {
    font-size: 11px;
    font-weight: 500;
}

.pagina-admin .admin-botao-icone {
    display: grid;
    place-items: center;

    flex: 0 0 31px;
    width: 31px;
    height: 31px;

    background: #f8fafb;
    border: 1px solid #e8eef2;
    border-radius: 8px;
    color: #405b78;
}

.pagina-admin .admin-botao-icone:hover {
    color: #009b7c;
    background: #effaf6;
}

/* =========================
   ESTATÍSTICAS
========================= */

.pagina-admin .admin-estatisticas {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 15px;
}

.pagina-admin .admin-estatistica-card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;

    padding: 18px 17px;

    background: #ffffff;
    border: 1px solid #e9eef2;
    border-radius: 13px;
    box-shadow: 0 4px 18px rgba(0, 40, 50, .025);
}

.pagina-admin .admin-estatistica-icone {
    display: grid;
    place-items: center;

    flex: 0 0 47px;
    width: 47px;
    height: 47px;

    background: #e8faf4;
    border-radius: 13px;
    color: #009b7c;
}

.pagina-admin .admin-estatistica-icone.neutro {
    background: #f1f5f8;
    color: #60758f;
}

.pagina-admin .admin-estatistica-icone svg {
    width: 24px;
    height: 24px;
}

.pagina-admin .admin-estatistica-card > div:last-child {
    min-width: 0;
}

.pagina-admin .admin-estatistica-card > div:last-child > span {
    color: #405b78;
    font-size: 11px;
    font-weight: 600;
}

.pagina-admin .admin-estatistica-valor {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0;
}

.pagina-admin .admin-estatistica-valor strong {
    color: #092e3b;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.2;
}

.pagina-admin .admin-crescimento {
    padding: 4px 7px;
    border-radius: 6px;
    background: #e4faf1;
    color: #00a078;
    font-size: 10px;
    font-weight: 700;
}

.pagina-admin .admin-estatistica-card small {
    color: #7185a0;
    font-size: 10px;
}

/* =========================
   CARDS PRINCIPAIS
========================= */

.pagina-admin .admin-duas-colunas {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 14px;
    align-items: stretch;
    margin-bottom: 15px;
}

.pagina-admin .admin-card {
    min-width: 0;
    padding: 14px;

    background: #ffffff;
    border: 1px solid #e9eef2;
    border-radius: 13px;
    box-shadow: 0 4px 20px rgba(0, 40, 50, .025);
}

.pagina-admin .admin-card-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 15px;
}

.pagina-admin .admin-card-titulo {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.pagina-admin .admin-card-icone {
    display: grid;
    place-items: center;

    flex: 0 0 39px;
    width: 39px;
    height: 39px;

    background: #e8faf4;
    border-radius: 11px;
    color: #009b7c;
}

.pagina-admin .admin-card-icone svg {
    width: 21px;
    height: 21px;
}

.pagina-admin .admin-card-titulo h2 {
    margin: 0 0 5px;
    color: #092e3b;
    font-size: 16px;
    font-weight: 800;
}

.pagina-admin .admin-card-titulo p {
    margin: 0;
    color: #7185a0;
    font-size: 10px;
    line-height: 1.5;
}

/* =========================
   BOTÕES
========================= */

.pagina-admin .admin-btn-primario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 36px;
    padding: 9px 13px;

    border: 0;
    border-radius: 8px;

    background: linear-gradient(110deg, #00b889, #008e72);
    color: #ffffff;

    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    transition: filter .2s;
}

.pagina-admin .admin-btn-primario:hover {
    filter: brightness(.94);
}

.pagina-admin .admin-btn-secundario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 36px;
    padding: 8px 13px;

    border: 1px solid #e0e8ee;
    border-radius: 8px;
    background: #ffffff;

    color: #092e3b;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.pagina-admin .admin-btn-secundario:hover {
    background: #f6faf9;
}

.pagina-admin .admin-btn-perigo {
    min-height: 36px;
    padding: 8px 15px;
    border: 0;
    border-radius: 8px;
    background: #dc3545;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}

/* =========================
   TABELAS
========================= */

.pagina-admin .admin-tabela-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pagina-admin .admin-tabela {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

.pagina-admin .admin-tabela thead {
    background: #f5f8fa;
}

.pagina-admin .admin-tabela th {
    padding: 11px 12px;
    color: #60758f;
    font-size: 9px;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
}

.pagina-admin .admin-tabela th:first-child {
    border-radius: 8px 0 0 8px;
}

.pagina-admin .admin-tabela th:last-child {
    border-radius: 0 8px 8px 0;
}

.pagina-admin .admin-tabela td {
    padding: 9px 12px;
    border-bottom: 1px solid #e9eef2;
    color: #405b78;
    vertical-align: middle;
    white-space: nowrap;
}

.pagina-admin .admin-tabela tbody tr:last-child td {
    border-bottom: 0;
}

.pagina-admin .admin-tabela tbody tr:hover {
    background: #fbfefd;
}

.pagina-admin .admin-tabela td strong {
    color: #092e3b;
    font-weight: 700;
}

.pagina-admin .admin-texto-suave {
    color: #7185a0 !important;
}

.pagina-admin .admin-usuario-celula {
    display: flex;
    align-items: center;
    gap: 9px;
}

.pagina-admin .admin-mini-avatar {
    display: grid;
    place-items: center;

    flex: 0 0 28px;
    width: 28px;
    height: 28px;

    border-radius: 50%;
    background: #edf2f5;
    color: #405b78;

    font-size: 10px;
    font-weight: 700;
}

.pagina-admin .admin-perfil-badge {
    display: inline-block;
    padding: 5px 9px;

    border-radius: 20px;
    background: #f0f3f6;
    color: #647b99;

    font-size: 10px;
}

.pagina-admin .admin-perfil-badge.administrador {
    background: #e1f8ef;
    color: #008e72;
}

.pagina-admin .admin-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #60758f;
    font-size: 10px;
}

.pagina-admin .admin-status > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #a5b4c3;
}

.pagina-admin .admin-status.positivo > span {
    background: #00bd91;
}

.pagina-admin .admin-status.inativo > span {
    background: #a5b4c3;
}

.pagina-admin .admin-acoes-tabela {
    display: flex;
    align-items: center;
    gap: 7px;
}

.pagina-admin .admin-acao-btn {
    display: grid;
    place-items: center;

    width: 29px;
    height: 29px;

    border: 1px solid #e9eef2;
    border-radius: 7px;
    background: #f8fafb;

    color: #405b78;
}

.pagina-admin .admin-acao-btn svg {
    width: 14px;
    height: 14px;
}

.pagina-admin .admin-acao-btn:hover {
    background: #e9faf4;
    color: #008e72;
}

.pagina-admin .admin-arquivo-celula {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pagina-admin .admin-arquivo-celula svg {
    color: #ef4444;
    width: 19px;
    height: 19px;
}

.pagina-admin .admin-btn-baixar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 30px;
    padding: 6px 12px;

    border: 0;
    border-radius: 7px;
    background: #e7f9f3;

    color: #009e7a;
    font-size: 10px;
    font-weight: 700;
}

.pagina-admin .admin-btn-baixar:hover {
    background: #d4f4e8;
}

.pagina-admin .admin-btn-baixar svg {
    width: 14px;
    height: 14px;
}

.pagina-admin .admin-sem-dados {
    padding: 35px 15px !important;
    text-align: center;
    color: #7185a0 !important;
}

/* =========================
   PÁGINAS INTERNAS
========================= */

.pagina-admin .admin-pagina-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 18px;
}

.pagina-admin .admin-pagina-cabecalho h1 {
    margin: 0 0 6px;
    color: #092e3b;
    font-size: 22px;
    font-weight: 800;
}

.pagina-admin .admin-pagina-cabecalho p {
    margin: 0;
    color: #7185a0;
    font-size: 12px;
}

.pagina-admin .admin-filtros {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.pagina-admin .admin-campo-busca {
    display: flex;
    align-items: center;
    gap: 9px;

    width: 100%;
    max-width: 350px;
    min-height: 40px;
    padding: 0 12px;

    border: 1px solid #e0e9ed;
    border-radius: 9px;
    background: #f9fbfc;
    color: #8193a0;
}

.pagina-admin .admin-campo-busca input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #092e3b;
    font-size: 12px;
}

.pagina-admin .admin-select-filtro {
    min-height: 40px;
    max-width: 100%;
    padding: 0 12px;

    border: 1px solid #e0e9ed;
    border-radius: 9px;
    background: #ffffff;

    color: #405b78;
    font-size: 12px;
}

.pagina-admin .admin-tag-contagem {
    padding: 8px 12px;
    border-radius: 8px;
    background: #e7f9f3;
    color: #008e72;
    font-size: 11px;
    font-weight: 700;
}

/* =========================
   FORMULÁRIOS
========================= */

.pagina-admin .admin-card-formulario {
    max-width: 760px;
    padding: 25px;
}

.pagina-admin .admin-label {
    display: block;
    margin-bottom: 7px;
    color: #294657;
    font-size: 12px;
    font-weight: 700;
}

.pagina-admin .admin-input {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;

    border: 1px solid #dfe8ed;
    border-radius: 9px;
    background: #ffffff;

    color: #092e3b;
    font-size: 12px;
    outline: none;
}

.pagina-admin .admin-input:focus {
    border-color: #00b889;
    box-shadow: 0 0 0 3px rgba(0, 184, 137, .08);
}

.pagina-admin .admin-input[readonly] {
    background: #f6f9fa;
    color: #647b99;
}

.pagina-admin .admin-ajuda {
    display: block;
    margin-top: 6px;
    color: #8193a9;
    font-size: 10px;
}

.pagina-admin .admin-preferencia-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 17px 0;
    border-bottom: 1px solid #edf1f3;
}

.pagina-admin .admin-preferencia-item h2 {
    margin: 0 0 5px;
    font-size: 13px;
    font-weight: 700;
}

.pagina-admin .admin-preferencia-item p {
    margin: 0;
    color: #7185a0;
    font-size: 11px;
}

.pagina-admin .form-check-input:checked {
    background-color: #00b889;
    border-color: #00b889;
}

/* =========================
   MODAIS
========================= */

.pagina-admin .admin-modal {
    border: 0;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 40, 50, .14);
}

.pagina-admin .admin-modal .modal-header {
    padding: 20px 22px;
    border-bottom: 1px solid #edf1f3;
}

.pagina-admin .admin-modal .modal-title {
    color: #092e3b;
    font-size: 17px;
    font-weight: 800;
}

.pagina-admin .admin-modal .modal-body {
    padding: 22px;
}

.pagina-admin .admin-modal .modal-footer {
    gap: 8px;
    padding: 15px 22px;
    border-top: 1px solid #edf1f3;
}

/* =========================
   NOTIFICAÇÃO
========================= */

.pagina-admin .admin-toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1090;

    max-width: calc(100vw - 32px);
    padding: 13px 18px;

    border-radius: 10px;
    background: #003f3d;
    color: #ffffff;

    box-shadow: 0 10px 30px rgba(0, 40, 45, .16);
    font-size: 12px;
    font-weight: 600;

    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: all .25s ease;
    pointer-events: none;
}

.pagina-admin .admin-toast.visivel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =====================================================
   RESPONSIVIDADE - NOTEBOOKS
===================================================== */

@media (max-width: 1350px) {

    .pagina-admin .admin-sidebar {
        width: 225px;
    }

    .pagina-admin .admin-estrutura {
        margin-left: 225px;
    }

    .pagina-admin .admin-sidebar-logo img {
        width: 165px;
    }

    .pagina-admin .admin-codigos-banner {
        grid-template-columns: 1fr;
    }

    .pagina-admin .admin-duas-colunas {
        grid-template-columns: 1fr;
    }

    .pagina-admin .admin-estatistica-card {
        padding: 15px 12px;
        gap: 10px;
    }

    .pagina-admin .admin-estatistica-icone {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }

}

/* =====================================================
   RESPONSIVIDADE - TABLETS
===================================================== */

@media (max-width: 991.98px) {

    .pagina-admin .admin-sidebar {
        width: 260px;
        transform: translateX(-100%);
        box-shadow: 10px 0 40px rgba(0, 40, 50, .06);
    }

    .pagina-admin .admin-sidebar.aberta {
        transform: translateX(0);
    }

    .pagina-admin .admin-fechar-menu {
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
    }

    .pagina-admin .admin-overlay.visivel {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1035;
        background: rgba(0, 30, 40, .35);
    }

    .pagina-admin .admin-estrutura {
        margin-left: 0;
    }

    .pagina-admin .admin-estatisticas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pagina-admin .admin-duas-colunas {
        grid-template-columns: minmax(0, 1fr);
    }

}

/* =====================================================
   RESPONSIVIDADE - CELULARES
===================================================== */

@media (max-width: 767.98px) {

    .pagina-admin .admin-header {
        height: 62px;
        padding: 0 12px;
        gap: 8px;
    }

    .pagina-admin .admin-header-esquerda {
        gap: 9px;
    }

    .pagina-admin .admin-menu-toggle {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
    }

    .pagina-admin .admin-farmacia-seletor {
        max-width: 180px;
        gap: 5px;
        font-size: 11px;
    }

    .pagina-admin .admin-farmacia-seletor svg {
        width: 14px;
        height: 14px;
    }

    .pagina-admin .admin-perfil {
        gap: 5px;
        padding-left: 8px;
    }

    .pagina-admin .admin-avatar {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
        font-size: 11px;
    }

    .pagina-admin .admin-perfil-texto {
        display: none;
    }

    .pagina-admin .admin-perfil > svg {
        display: none;
    }

    .pagina-admin .admin-main {
        padding: 12px;
    }

    /* BANNER */

    .pagina-admin .admin-codigos-banner {
        padding: 15px;
        gap: 16px;
    }

    .pagina-admin .admin-codigos-intro {
        gap: 12px;
    }

    .pagina-admin .admin-icone-destaque {
        flex-basis: 45px;
        width: 45px;
        height: 45px;
    }

    .pagina-admin .admin-codigos-acoes {
        grid-template-columns: minmax(0, 1fr);
    }

    .pagina-admin .admin-codigo-box {
        padding: 12px;
    }

    /* ESTATÍSTICAS */

    .pagina-admin .admin-estatisticas {
        gap: 9px;
    }

    .pagina-admin .admin-estatistica-card {
        flex-direction: column;
        gap: 10px;
        padding: 14px;
    }

    .pagina-admin .admin-estatistica-icone {
        flex: 0 0 38px;
        width: 38px;
        height: 38px;
    }

    .pagina-admin .admin-estatistica-icone svg {
        width: 20px;
        height: 20px;
    }

    .pagina-admin .admin-estatistica-valor strong {
        font-size: 23px;
    }

    .pagina-admin .admin-estatistica-card small {
        font-size: 9px;
    }

    /* CARDS */

    .pagina-admin .admin-card {
        padding: 12px;
    }

    .pagina-admin .admin-card-cabecalho {
        align-items: flex-start;
        gap: 10px;
    }

    .pagina-admin .admin-card-titulo {
        gap: 8px;
    }

    .pagina-admin .admin-card-icone {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
    }

    .pagina-admin .admin-card-titulo h2 {
        font-size: 14px;
    }

    .pagina-admin .admin-card-titulo p {
        font-size: 10px;
    }

    .pagina-admin .admin-btn-primario,
    .pagina-admin .admin-btn-secundario {
        min-height: 35px;
        padding: 8px 10px;
        font-size: 10px;
    }

    /* TABELAS COM ROLAGEM HORIZONTAL */

    .pagina-admin .admin-tabela {
        min-width: 600px;
    }

    .pagina-admin .admin-card-receitas .admin-tabela,
    .pagina-admin #secao-receitas .admin-tabela {
        min-width: 750px;
    }

    .pagina-admin .admin-tabela th,
    .pagina-admin .admin-tabela td {
        padding: 10px;
    }

    /* PÁGINAS */

    .pagina-admin .admin-pagina-cabecalho h1 {
        font-size: 19px;
    }

    .pagina-admin .admin-pagina-cabecalho p {
        font-size: 11px;
    }

    .pagina-admin .admin-filtros {
        align-items: stretch;
        flex-direction: column;
    }

    .pagina-admin .admin-campo-busca {
        max-width: 100%;
    }

    .pagina-admin .admin-select-filtro {
        width: 100%;
    }

    .pagina-admin .admin-card-formulario {
        padding: 17px;
    }

    .pagina-admin .admin-toast {
        right: 12px;
        left: 12px;
        bottom: 12px;
        max-width: none;
        text-align: center;
    }

}

/* =====================================================
   CELULARES PEQUENOS
===================================================== */

@media (max-width: 380px) {

    .pagina-admin .admin-farmacia-seletor {
        max-width: 145px;
        font-size: 10px;
    }

    .pagina-admin .admin-estatistica-card {
        padding: 11px;
    }

    .pagina-admin .admin-estatistica-card > div:last-child > span {
        font-size: 10px;
    }

    .pagina-admin .admin-estatistica-valor strong {
        font-size: 21px;
    }

    .pagina-admin .admin-card-cabecalho {
        flex-wrap: wrap;
    }

}

/* =====================================================
   FIM - PAINEL ADMINISTRATIVO RECEITARE
===================================================== */





/* ==========================================
   AJUSTE DA LOGO - MENU ADMINISTRATIVO
========================================== */

.pagina-admin .admin-sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;

    width: 100%;
    height: auto;
    min-height: 125px;

    padding: 25px 25px 30px;
    margin-bottom: 12px;
}

.pagina-admin .admin-sidebar-logo img {
    display: block;
    width: 155px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.pagina-admin .admin-sidebar-logo .admin-fechar-menu {
    position: absolute;
    top: 15px;
    right: 12px;
}

/* Espaçamento entre a logo e o menu */
.pagina-admin .admin-navegacao {
    padding-top: 8px;
}

/* Remove o rodapé demonstrativo */
.pagina-admin .admin-sidebar-rodape {
    display: none !important;
}

/* RESPONSIVIDADE */
@media (max-width: 991.98px) {

    .pagina-admin .admin-sidebar-logo {
        min-height: 115px;
        padding: 25px 30px 25px;
        margin-bottom: 10px;
    }

    .pagina-admin .admin-sidebar-logo img {
        width: 145px;
    }
}

@media (max-width: 575.98px) {

    .pagina-admin .admin-sidebar-logo {
        min-height: 105px;
        padding: 22px 25px;
        margin-bottom: 8px;
    }

    .pagina-admin .admin-sidebar-logo img {
        width: 135px;
    }
}

/* =========================================
   ACESSO DA EQUIPE / RECUPERAÇÃO
========================================= */
.pagina-login .receitare-login-opcoes { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin: 3px 0 22px; font-size:12px; color:var(--texto-secundario); }
.pagina-login .receitare-login-opcoes label { display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
.pagina-login .receitare-login-opcoes input { accent-color:var(--cor-primaria); }
.pagina-login .receitare-link-texto { padding:0; background:none; border:0; color:var(--cor-primaria-escura); font-size:12px; font-weight:700; text-decoration:none; cursor:pointer; }
.pagina-login .receitare-link-texto:hover { text-decoration:underline; }
.pagina-login .receitare-link-rodape { display:inline-block; margin-top:6px; line-height:1.5; color:var(--cor-primaria-escura); font-size:12px; font-weight:700; text-decoration:none; }
.pagina-login .receitare-link-rodape:hover { text-decoration:underline; }
.pagina-login .input-com-icone > svg.lucide { flex:0 0 19px; width:19px; height:19px; }
.pagina-acesso-receitare .campo { margin-bottom:17px; }
.pagina-acesso-receitare .botao-entrar svg.lucide { width:19px; height:19px; }
.receitare-modal-recuperacao { border:0; border-radius:16px; overflow:hidden; padding:4px; }
.receitare-modal-recuperacao .modal-header { padding:19px 22px 12px; border-bottom:0; }
.receitare-modal-recuperacao .modal-title { color:#003f3d; font-size:18px; font-weight:800; }
.receitare-modal-recuperacao .modal-body { padding:8px 22px 15px; }
.receitare-modal-recuperacao .modal-body p { color:#526675; font-size:13px; line-height:1.6; }
.receitare-modal-recuperacao .modal-body label { display:block; font-size:12px; font-weight:700; margin-bottom:8px; }
.receitare-modal-recuperacao .modal-body input { display:block; width:100%; min-height:45px; padding:10px 12px; border:1px solid #d8e2e8; border-radius:9px; font-size:14px; }
.receitare-modal-recuperacao .modal-body input:focus { outline:2px solid #00b889; outline-offset:1px; }
.receitare-modal-recuperacao .modal-footer { border-top:0; padding:10px 22px 20px; gap:9px; }
.receitare-botao-confirmar, .receitare-botao-cancelar { display:inline-flex; align-items:center; justify-content:center; min-height:39px; padding:9px 15px; border-radius:9px; font-size:12px; font-weight:700; text-decoration:none; }
.receitare-botao-confirmar { border:0; background:#008f70; color:#fff; }
.receitare-botao-confirmar:hover { background:#00775d; color:#fff; }
.receitare-botao-cancelar { background:#fff; border:1px solid #d8e2e8; color:#526675; }
.receitare-botao-confirmar:disabled { opacity:.65; cursor:wait; }
#receitare-recuperar-mensagem { margin-top:12px; overflow-wrap:anywhere; }
@media (max-width:575.98px) { .receitare-modal-recuperacao .modal-footer { flex-wrap:wrap; } .receitare-modal-recuperacao .modal-footer > * { flex:1; } }

/* Formulário completo dentro do modal da página inicial */
#modalLoginEquipe .modal-dialog { max-width: 570px; }
#modalLoginEquipe .modal-body { padding: 1rem 2rem 2rem; }
#modalLoginEquipe .modal-body > p { margin-bottom: 1.5rem; }
#modalLoginEquipe .botao-entrar { margin-top: 1rem; }
#modalLoginEquipe .receitare-login-opcoes { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin: 1rem 0; }
#modalLoginEquipe .receitare-login-opcoes label { display: inline-flex; align-items: center; gap: .5rem; }
#modalLoginEquipe .campo { margin-bottom: 1rem; }
@media(max-width:575px){ #modalLoginEquipe .modal-body {padding: 1rem 1.25rem 1.5rem;} }


/* ============================================================
   RECEITARE 1.2.1 — FORMULÁRIOS DE ACESSO (BOOTSTRAP 5)
   Componentes isolados para não alterar o login por códigos.
============================================================ */
#modalLoginEquipe .modal-dialog,
#modalRecuperarSenha .modal-dialog { max-width: 500px; margin-inline: auto; }
#modalLoginEquipe .modal-content,
#modalRecuperarSenha .modal-content {
  border: 0; border-radius: 20px; padding: 0;
  box-shadow: 0 24px 70px rgba(0, 43, 40, .18);
  background: #fff;
}
#modalLoginEquipe .modal-header,
#modalRecuperarSenha .modal-header { padding: 27px 30px 10px; align-items: flex-start; }
#modalLoginEquipe .modal-title,
#modalRecuperarSenha .modal-title { font-size: 22px; line-height: 1.3; }
#modalLoginEquipe .modal-body,
#modalRecuperarSenha .modal-body { padding: 12px 30px 30px; }
#modalLoginEquipe .modal-body > p,
#modalRecuperarSenha .modal-body > p { font-size: 14px; margin: 0 0 24px; line-height: 1.6; }
#modalLoginEquipe .campo { margin-bottom: 19px; }
#modalLoginEquipe .campo > label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 700; color: #063e3c; }
/* Anula o estilo genérico de input que estava criando dois contornos e escondendo o ícone. */
#modalLoginEquipe .input-com-icone { display: flex; align-items: center; height: 50px; padding: 0 14px; gap: 12px; border: 1px solid #d6e2e4; border-radius: 11px; background: #fff; }
#modalLoginEquipe .input-com-icone > svg { display: block; flex: 0 0 19px; width: 19px; height: 19px; color: #6c8790; }
#modalLoginEquipe .modal-body .input-com-icone input {
  display: block; flex: 1 1 auto; width: 100%; min-width: 0;
  height: 100%; min-height: 0; margin: 0; padding: 0;
  border: 0; border-radius: 0; outline: 0; box-shadow: none;
  background: transparent; font-size: 14px; color: #063e3c;
}
#modalLoginEquipe .modal-body .input-com-icone input:focus { outline: 0; box-shadow: none; }
#modalLoginEquipe .input-com-icone:focus-within { border-color: #009778; box-shadow: 0 0 0 3px rgba(0,151,120,.12); }
#modalLoginEquipe .receitare-login-opcoes,
.pagina-acesso-receitare .receitare-login-opcoes {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin: 5px 0 23px; flex-wrap: wrap;
}
#modalLoginEquipe .receitare-login-opcoes .receitare-lembrar,
.pagina-acesso-receitare .receitare-login-opcoes .receitare-lembrar {
  display: inline-flex; align-items: center; gap: 9px;
  margin: 0; font-size: 13px; font-weight: 500; line-height: 1.3;
  color: #435e63; cursor: pointer; white-space: nowrap;
}
#modalLoginEquipe .receitare-login-opcoes input[type=checkbox],
.pagina-acesso-receitare .receitare-login-opcoes input[type=checkbox] {
  display: inline-block; flex: 0 0 17px; width: 17px; height: 17px;
  min-height: 17px; padding: 0; margin: 0; border: 1px solid #b5c9ce;
  border-radius: 4px; accent-color: #008f70; cursor: pointer;
}
#modalLoginEquipe .receitare-esqueceu,
.pagina-acesso-receitare .receitare-esqueceu {
  display: inline; width: auto; min-height: 0; padding: 0; margin: 0;
  border: 0; background: transparent; box-shadow: none;
  color: #00866b; font-size: 13px; font-weight: 700;
  text-decoration: none; line-height: 1.5;
}
#modalLoginEquipe .receitare-esqueceu:hover,
.pagina-acesso-receitare .receitare-esqueceu:hover { text-decoration: underline; }
#modalLoginEquipe .botao-entrar { margin: 0; min-height: 50px; border-radius: 11px; font-size: 15px; }
#modalLoginEquipe .mensagem-formulario { margin: 10px 0 0; font-size: 13px; }
#modalRecuperarSenha .modal-body input[type=email] { height: 49px; font-size: 14px; }
#modalRecuperarSenha .modal-footer { padding: 0 30px 28px; }
/* O formulário de /acesso/ também deve ter campos e opções padronizados. */
.pagina-acesso-receitare .receitare-login-opcoes { margin: 12px 0 22px; }
@media (max-width: 575.98px) {
  #modalLoginEquipe .modal-dialog, #modalRecuperarSenha .modal-dialog { margin: 14px; }
  #modalLoginEquipe .modal-header, #modalRecuperarSenha .modal-header { padding: 22px 20px 8px; }
  #modalLoginEquipe .modal-body, #modalRecuperarSenha .modal-body { padding: 10px 20px 24px; }
  #modalLoginEquipe .modal-title, #modalRecuperarSenha .modal-title { font-size: 20px; }
  #modalLoginEquipe .receitare-login-opcoes { gap: 12px; }
  #modalRecuperarSenha .modal-footer { padding: 0 20px 22px; }
}

/* Receitare 1.2.2: campos com ícones e layout padronizado no Bootstrap 5. */
#modalLoginEquipe .input-com-icone,
.pagina-acesso-receitare .input-com-icone { display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:0 15px; border:1px solid #d6e2e4; border-radius:12px; background:#fff; box-sizing:border-box; }
#modalLoginEquipe .input-com-icone > svg,
.pagina-acesso-receitare .input-com-icone > svg { display:block !important; flex:0 0 20px; width:20px; height:20px; color:#69838b; stroke-width:1.9; }
#modalLoginEquipe .input-com-icone > input,
.pagina-acesso-receitare .input-com-icone > input { flex:1 1 auto; width:100%; min-width:0; height:50px; min-height:0; margin:0; padding:0; border:0 !important; outline:0 !important; border-radius:0; box-shadow:none !important; background:transparent !important; font-size:15px; }
#modalLoginEquipe .input-com-icone:focus-within,
.pagina-acesso-receitare .input-com-icone:focus-within { border-color:#008f70; box-shadow:0 0 0 4px rgba(0,143,112,.1); }
.pagina-acesso-receitare .campo { margin-bottom:19px; }
.pagina-acesso-receitare .campo > label { display:block; margin-bottom:8px; font-weight:700; color:#063e3c; }
