/* =========================================================
   EMOP-RJ | SISTEMA DE PESSOAL
   STYLE.CSS
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");


/* =========================================================
   VARIÁVEIS - TEMA CLARO
   ========================================================= */

:root {

  /* Cores básicas */
  --white: #ffffff;
  --black: #000000;

  --primary: #ffffff;
  --reverse: #000000;

  /* Superfícies */
  --form_bg: #ffffff;
  --surface: rgba(255, 255, 255, 0.92);
  --surface-hover: #f0f6ff;

  /* Cores principais */
  --secondary: #003985;
  --secondary_light: color-mix(in srgb, var(--secondary) 95%, white);
  --secondary_dark: color-mix(in srgb, var(--secondary) 80%, black);

  --accent: #1278fd;
  --accent_red: #fd1212;

  /* Fundo */
  --background: #c0cee0;

  /* Texto */
  --text: #172033;
  --text-secondary: #64748b;

  /* Bordas e sombras */
  --border: #dbe5f0;
  --shadow: rgba(0, 57, 133, 0.10);
  --shadow-color: 0, 57, 133;

  /* Inputs / ícones */
  --input: #eef3f8;
  --icon_color: #64748b;

  /* Estados */
  --erro: #dc2626;
  --positive: #16a34a;
  --negative: #dc2626;
  --neutral: #f59e0b;

  /* Notificações */
  --lido: #eef6ff;
  --unansweredAlt: #dc2626;

  /* Chamados atrasados */
  --atrasado: #f59e0b;
  --atrasadoHover: #fff3cd;

  /* Botões */
  --submit_bg: var(--secondary);
  --submit_hover: var(--accent);

  /* Hover */
  --accentHover: #0d6efd;
  --reverseHover: #333333;

  --emop-azul: #0076d4;
}


/* =========================================================
   VARIÁVEIS - TEMA ESCURO
   ========================================================= */

[data-theme="dark"] {

  color-scheme: dark;

  --primary: #0f1720;
  --reverse: #ffffff;

  --form_bg: #141414;

  --surface: rgba(17, 25, 35, 0.92);
  --surface-hover: #182330;

  --secondary: #083270;
  --secondary_light: color-mix(in srgb, var(--secondary) 95%, white);
  --secondary_dark: color-mix(in srgb, var(--secondary) 83%, black);

  --accent: #1278fd;
  --accent_red: #ff4b4b;

  --background: #444950;

  --text: #ffffff;
  --text-secondary: #aab7c7;

  --border: #263444;
  --shadow: rgba(0, 0, 0, 0.35);
  --shadow-color: 0, 0, 0;

  --input: #202b38;
  --icon_color: #aab7c7;

  --erro: #ff5252;
  --positive: #4ade80;
  --negative: #ff5252;
  --neutral: #fbbf24;

  --lido: #182b3d;
  --unansweredAlt: #b91c1c;

  --atrasado: #fbbf24;
  --atrasadoHover: #3b321d;

  --submit_bg: var(--secondary);
  --submit_hover: var(--accent);

  --accentHover: #4d9aff;
  --reverseHover: #cccccc;
}


/* =========================================================
   RESET
   ========================================================= */

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;

  background: var(--background);
  color: var(--text);

  background-attachment: fixed;

  display: flex;
  flex-direction: column;

  gap: 20px;
}


/* =========================================================
   TRANSIÇÕES DO TEMA
   ========================================================= */

body,
main,
header,
footer,
button,
input,
select,
textarea,
table,
td,
th,
div,
section,
article,
nav {
  transition:
    background-color 0.35s ease,
    color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}


/* =========================================================
   TIPOGRAFIA
   ========================================================= */

h1 {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
}

p {
  font-size: clamp(0.9rem, 1.2vw, 1rem);
}

label {
  font-weight: 600;
  font-size: 20px;
}


/* =========================================================
   ELEMENTOS GERAIS
   ========================================================= */

a {
  text-decoration: none;
}

button,
select,
input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

option {
  cursor: pointer;
}

input,
input:focus,
input:active {
  outline: none;
}

input[type="text"],
input[type="date"],
input[type="email"],
select,
textarea {
  color: var(--text);
}

textarea:hover,
textarea:active {
  background-color: var(--secondary);
  color: var(--white);
}

textarea:hover::placeholder,
textarea:active::placeholder {
  color: var(--white);
}


/* =========================================================
   FLEX
   ========================================================= */

.flex_v {
  display: flex;
  flex-direction: column;
}

.flex_h {
  display: flex;
  flex-direction: row;
}

.alinharV {
  display: flex;
  justify-content: center;
  align-items: center;
}

.center {
  margin: 0 auto;
}


/* =========================================================
   UTILITÁRIOS
   ========================================================= */

.clicavel {
  cursor: pointer;
}

.inline-block {
  display: inline-block;
}

.float-right,
.force-float-right {
  float: right;
}

.float-left,
.force-float-left {
  float: left;
}

.clear {
  clear: both;
}

.bold {
  font-weight: bold;
}

.loading {
  opacity: 0.6;
  pointer-events: none;
}

.full {
  width: 90%;
}

.full-width {
  width: 100%;
}

.p0 {
  padding: 0;
}

.p40 {
  padding: 40px;
  max-width: 600px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb100 {
  margin-bottom: 100px;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt70 {
  margin-top: 65px;
}

.mt80 {
  margin-top: 80px;
}

.mt100 {
  margin-top: 70px;
}

.mr10 {
  margin-right: 10px;
}

.mr30 {
  margin-right: 30px;
}

.rounded {
  border-radius: 5px;
}

.rounded-top {
  border-radius: 7px 7px 0 0;
}

.square {
  border-radius: 0;
}


/* =========================================================
   MAIN
   ========================================================= */

main {
  padding: 0 clamp(1rem, 1vw, 1rem);
  min-height: 80vh;

  display: flex;
  align-items: center;
}


/* =========================================================
   LOGIN
   ========================================================= */

#container_login {
  background-color: var(--primary);
  border: 2px solid var(--accent);
  box-shadow: 5px 6px 5px var(--shadow);

  display: flex;
  justify-content: center;
  align-items: center;

  padding: 32px;
  border-radius: 16px;

  width: 40vw;
  height: 60vh;
}

#form_login {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#container_form_login {
  width: 50%;

  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  gap: 16px;
}

#container_form_header {
  width: 80%;
}

#container_form_login h3 {
  display: block;
  width: 100%;

  font-weight: 400;
  font-size: 30px;
}

#container_form_login h1 {
  display: block;
  width: 100%;

  font-weight: 800;
  font-size: 40px;
}

#container_login_inputs {
  width: 100%;
}

#loginBanner {
  background-image: url("../img/loginBG.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  height: 100%;
  width: 55%;
}


/* =========================================================
   INPUT WRAPPER
   ========================================================= */

.input_wrapper {
  background-color: transparent;

  width: 100%;

  border-bottom: 1px solid var(--text);

  display: flex;

  padding: 8px;
  gap: 8px;
}

.input_wrapper input {
  width: 100%;
  background-color: transparent;
  border: none;
}

.input_wrapper:focus-within {
  border-bottom-color: var(--accent);
}


/* =========================================================
   BOTÕES DE INPUT
   ========================================================= */

.input_btn {
  background-color: transparent;

  border: 2px solid var(--accent);

  padding: 12px;
}

.input_btn:hover {
  background-color: var(--accent);
}


/* =========================================================
   TABS
   ========================================================= */

.tabGroup::after {
  content: "";
  display: table;
  clear: both;
}

.tabGroup li a {
  display: block;

  text-decoration: none;

  padding: 15px;

  background: rgba(160, 164, 179, 0.25);
  color: var(--accent);

  font-size: 20px;

  float: left;
  width: 50%;

  text-align: center;

  cursor: pointer;
}

.tabGroup li a:hover {
  background: var(--secondary);
  color: var(--white);
}

.tabGroup .active a {
  background-color: var(--accent);
  color: var(--white);
}

.tabContent>div:last-child {
  display: none;
}


/* =========================================================
   BOTÕES GENÉRICOS
   ========================================================= */

.btnPositivo {
  background-color: var(--secondary);

  border: none;

  box-shadow: 3px 4px 5px var(--shadow);

  padding: 10px 20px;

  font-weight: bold;
  color: var(--white);

  text-transform: uppercase;
}

.btnPositivo:hover {
  background-color: var(--accent);
  cursor: pointer;
}

.btnPositivo:active {
  background-color: var(--secondary);
}

.btnNegativo {
  background-color: var(--primary);
  border: 1px solid var(--secondary);
  box-shadow: 3px 4px 5px var(--shadow);
  padding: 10px 20px;
  font-weight: bold;
  color: var(--secondary);
  text-transform: uppercase;
  margin-right: 20px;
}

.btnNegativo:hover {
  background-color: #b8b8b8;
  cursor: pointer;
}

.btnNegativo:active {
  background-color: var(--primary);
}


/* =========================================================
   BOTÕES DE TABELA
   ========================================================= */

.btn_table {
  background-color: transparent;

  padding: 8px;

  border: none;

  cursor: pointer;
}

.btn_table i {
  transition: color 0.2s ease;
}

.btn_table:hover i {
  color: var(--accent);
}

.buttonTable {
  width: 100%;

  padding: 5px;

  color: var(--primary);

  border: none;

  background-color: var(--secondary);

  cursor: pointer;

  text-transform: uppercase;

  justify-content: center;
  align-items: center;
}

.buttonTable i {
  color: var(--primary);
}


/* =========================================================
   BOTÕES HEADER
   ========================================================= */

.button_header {
  width: fit-content;
  padding: 10px;
  color: var(--white);
  border: none;
  background-color: transparent;
  cursor: pointer;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
}

#header_ad {
  padding: 8px;
  background-color: var(--secondary);
}

.button_header span {
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  font-size: 14px;
  background-color: transparent;
}

.button_header .fa-solid {
  color: var(--white);
}

.button_header:hover {
  background-color: var(--accent);
  color: var(--white);
}

.button_header:active {
  background-color: var(--secondary);
}


/* =========================================================
   BOTÕES DE AÇÃO
   ========================================================= */

.fa-button {
  width: 100%;

  border: none;

  background-color: transparent;
}

.fa-table {
  color: var(--accent);
  cursor: pointer;
}


/* =========================================================
   NOTIFICAÇÕES
   ========================================================= */

.notificacao {
  padding: 5px;

  border: 1px solid var(--form_bg);
}

.buttonNotificacao,
.formNotificacao {
  background-color: transparent;

  text-align: start;

  border: none;

  cursor: pointer;

  display: block;

  width: 100%;
}

.notificacaoTitulo {
  font-weight: bold;
  font-size: 12px;

  color: var(--accent);
}

.notificacaoData {
  color: var(--reverse);

  font-size: 12px;

  opacity: 0.7;
}

.notificacaoContato {
  font-weight: bold;

  margin-top: 5px;

  font-size: 14px;

  max-width: 450px;

  overflow-x: auto;
}

.notificacaoSubtitulo {
  color: var(--reverse);

  margin-top: 3px;

  font-size: 16px;

  max-width: 450px;

  overflow-x: auto;

  opacity: 0.6;
}

.fa-notif {
  color: var(--accent);
}

.iconeNotificacao {
  margin-right: 5px;
}

.notifLida {
  background-color: var(--lido);
}


/* =========================================================
   TAGS
   ========================================================= */

.tag {
  color: var(--white);

  background-color: var(--secondary);

  padding: 7px 10px;

  border-radius: 20px;
}


/* =========================================================
   ALERTAS
   ========================================================= */

.alertBox {
  text-align: center;
  justify-items: center;

  padding: 20px 50px;

  background-color: var(--form_bg);

  height: fit-content;
  min-height: fit-content;

  margin: auto;

  max-width: 550px;

  box-shadow: 3px 4px 5px var(--shadow);
}

.alertTextPrimary {
  font-weight: 600;
  font-size: medium;

  color: var(--reverse);

  text-align: center;
}

.alertTextSecundary {
  font-weight: 600;
  font-size: small;

  color: var(--reverse);

  opacity: 0.7;

  text-align: center;
}


/* =========================================================
   ERROS
   ========================================================= */

.erro {
  color: var(--erro);
  text-align: center;
  padding: 6px;
}

#wrap_erro {
  background: var(--primary);

  max-width: 700px;
  width: 100%;

  border-radius: 12px;

  padding: 50px;

  text-align: center;

  box-shadow: 0 10px 30px var(--shadow);

  border: 2px solid var(--accent);
}

#mainErro {
  flex: 1;

  display: flex;

  align-items: center;
  justify-content: center;

  padding: 40px;
}

.codigo_erro {
  font-size: 90px;

  font-weight: bold;

  color: var(--accent);

  line-height: 1;
}

.titulo_erro {
  margin-top: 20px;

  font-size: 32px;

  color: var(--reverse);
}

.texto_erro {
  margin-top: 20px;

  color: var(--reverse);

  font-size: 18px;

  line-height: 1.6;
}

.btn_msg_erro {
  display: inline-block;

  margin-top: 35px;

  padding: 14px 35px;

  background: var(--accent);

  color: var(--primary);

  text-decoration: none;

  border-radius: 6px;

  font-weight: bold;
}


/* =========================================================
   NAVEGAÇÃO
   ========================================================= */

#nav {
  font-weight: bolder;

  box-shadow: 5px 6px 5px var(--shadow);

  display: flex;

  background-color: var(--primary);

  color: var(--accent);

  justify-content: center;

  flex-direction: column;

  border-bottom: 2px solid var(--accent);
}

#nav_perfil {
  background-color: var(--form_bg);

  color: var(--accent);

  display: flex;

  justify-content: space-between;
}

#nav-nome {
  display: flex;

  gap: 8px;

  align-items: center;

  text-transform: uppercase;

  color: var(--white);
}

#nav-icon {
  display: none;
}

#nav_menu {
  background-color: var(--secondary_dark);

  display: flex;

  justify-content: space-between;
  align-items: center;
}

#nav-menu {
  position: relative;
  display: flex;
  align-items: center;
}

#nav_menu div {
  display: flex;
}

.nav_btn {
  background-color: var(--secondary_dark);

  padding: 10px;

  border: none;

  color: var(--white);

  cursor: pointer;

  font-weight: 600;

  font-size: 14px;
}

.nav_btn:hover {
  background-color: var(--accent);
}

.btn-ativo {
  background-color: var(--accent) !important;
  color: var(--white);
}


/* =========================================================
   LOGO
   ========================================================= */

#logo {
  display: flex;

  padding: 10px;

  justify-content: center;
  align-items: center;

  text-align: center;

  font-size: 24px;

  gap: 20px;

  color: var(--secondary_dark);
}

[data-theme="dark"] #logo {
  color: var(--accent);
}

[data-theme="light"] #logo {
  color: var(--secondary_dark);
}

.logo-icon {
  width: 50px;
  height: 50px;

  background-color: currentColor;

  mask: url("../img/icone_pessoal.png") no-repeat center / contain;
  -webkit-mask: url("../img/icone_pessoal.png") no-repeat center / contain;
}


/* =========================================================
   HEADER PRINCIPAL
   ========================================================= */

#main_header {
  background-color: var(--secondary);

  display: flex;

  justify-content: space-between;

  min-height: 40px;
}

.main_header_esq {
  background-color: var(--secondary);

  display: flex;
}


/* =========================================================
   DROPDOWN
   ========================================================= */

.dropdown {
  background-color: var(--secondary);

  position: relative;

  padding: 20px;

  cursor: pointer;
}

.dropdown:hover {
  background-color: var(--accent);
}

.dropbtn {
  border: none;
  color: var(--white);
}

.dropfa {
  color: var(--white);
}

.dropdown-content {
  display: none;
  position: absolute;

  top: 100%;
  right: 0;

  margin-top: 0;

  color: var(--primary);
  background-color: var(--secondary_light);

  width: fit-content;
  min-width: 160px;

  box-shadow: 1px 2px 5px var(--shadow);

  z-index: 100;
}

.dropdown-content form:hover,
.dropdown-content button:hover {
  background-color: var(--accent);
}

.dropdown-content .btn-opt:hover {
  background-color: var(--submit_hover);
}

.dropdown-content form input {
  color: var(--primary);

  padding: 12px 16px;

  text-decoration: none;

  display: block;

  border: none;

  background-color: transparent;

  width: 100%;
  height: 100%;

  font-size: 16px;

  text-align: end;

  cursor: pointer;

  white-space: nowrap;
}

.dropdown-content form button,
.dropdown-content button {
  color: var(--white);

  padding: 12px 16px;

  text-decoration: none;

  display: block;

  border: none;

  background-color: transparent;

  width: 100%;
  height: 100%;

  font-size: 16px;

  text-align: end;

  cursor: pointer;

  white-space: nowrap;
}

.dropdown:hover .dropdown-content {
  display: block;
}


/* =========================================================
   TROCA DE TEMA
   ========================================================= */

#trocarTema {
  display: flex;

  align-items: center;
  justify-content: center;

  padding: 14px !important;

  background-color: var(--secondary) !important;
}

#trocarTema:hover {
  background-color: var(--secondary_dark) !important;
}


/* =========================================================
   BANNER DE PERFIL
   ========================================================= */

#banner_perfil {
  position: relative;

  overflow: hidden;

  height: 180px;

  z-index: 0;
}

#banner_texto {
  position: absolute;

  top: 50%;
  left: 50%;

  width: 150%;
  height: 150%;

  transform: translate(-50%, -50%) rotate(-20deg);

  transform-origin: center center;

  display: flex;

  flex-wrap: wrap;

  align-content: center;

  justify-content: center;

  font-size: clamp(12px, 8vw, 64px);

  font-weight: 900;

  line-height: 1.2;

  color: rgba(0, 0, 0, 0.12);

  pointer-events: none;

  user-select: none;

  z-index: -1;
}

#banner_texto span {
  white-space: nowrap;
  margin-right: 20px;
}


/* =========================================================
   MAIN BODY / WRAPPERS
   ========================================================= */

#main_wrapper {
  height: 100%;
  width: 100%;

  background-color: var(--form_bg);
}

#main_body {
  display: flex;

  flex-direction: column;

  gap: 16px;

  padding: 16px;

  min-width: 40%;
  min-height: 750px;

  background-color: var(--form_bg);
}

#main_bodyChamados {
  padding: 16px;

  background-color: var(--form_bg);
}

#mainSubheader {
  padding: 12px 8px;

  width: 100%;

  background-color: var(--secondary_dark);
}


/* =========================================================
   PESQUISAS
   ========================================================= */

#formPesquisa {
  display: grid;

  grid-template-columns: repeat(auto-fit,
      minmax(400px, 1fr));

  gap: 15px;

  justify-content: space-around;
}

#formPesquisa select {
  flex: 4;
}


/* =========================================================
   FILTROS DE FUNCIONÁRIOS
   ========================================================= */

.filtros_funcionarios {
  width: 100%;

  margin: 15px 0 20px;

  background: var(--primary);

  border: 1px solid var(--border);

  border-radius: 12px;

  padding: 14px;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.filtros_topo {
  display: flex;

  align-items: center;

  gap: 10px;

  flex-wrap: wrap;
}

.campo_busca_principal {
  position: relative;

  flex: 1;

  min-width: 280px;
}

.campo_busca_principal i {
  position: absolute;

  left: 13px;
  top: 50%;

  transform: translateY(-50%);

  color: var(--text);
}

.campo_busca_principal input {
  width: 100%;

  height: 40px;

  padding: 0 14px 0 38px;

  border: 1px solid var(--accent);

  border-radius: 8px;

  background-color: var(--primary);

  color: var(--text);

  outline: none;

  font-size: 14px;
}

.campo_busca_principal input:focus {
  border-color: var(--accent);

  box-shadow:
    0 0 0 3px rgba(77, 127, 184, 0.12);
}

.btn_filtro,
.btn_limpar_filtros {
  height: 40px;

  border-radius: 8px;

  padding: 0 15px;

  border: none;

  cursor: pointer;

  display: flex;

  align-items: center;

  gap: 7px;

  font-size: 14px;
}

.btn_filtro {
  background: var(--secondary);
  color: var(--white);
}

.btn_filtro:hover {
  background: var(--accent);
}

.btn_limpar_filtros {
  background: var(--background);
  color: var(--text);
}

.btn_limpar_filtros:hover {
  background: var(--secondary_dark);
  color: var(--white);
}

.contador_funcionarios {
  margin-left: auto;

  white-space: nowrap;

  color: var(--text);

  font-size: 13px;
}

.contador_funcionarios strong {
  color: var(--accent_red);

  font-size: 17px;
}

.filtros_ativos {
  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  margin-top: 10px;
}

.filtro_tag {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  padding: 6px 10px;

  border-radius: 20px;

  background: transparent;

  color: var(--accent);

  border: 1px solid var(--accent);

  font-size: 13px;
}

.filtro_tag button {
  border: none;

  background: transparent;

  color: var(--text);

  cursor: pointer;

  padding: 0;

  font-size: 12px;
}

.filtro_tag button:hover {
  color: var(--accent_red);
}

.painel_adicionar_filtro {
  margin-top: 14px;

  padding: 15px;

  border-top: 1px solid var(--accent);

  display: flex;

  align-items: flex-end;

  gap: 10px;

  flex-wrap: wrap;

  background: var(--primary);

  border-radius: 0 0 8px 8px;
}

.filtro_campo {
  display: flex;

  flex-direction: column;

  gap: 5px;

  min-width: 170px;
}

.filtro_campo label {
  font-size: 12px;

  font-weight: 600;

  color: var(--text-secondary);
}

.filtro_campo select,
.filtro_campo input {
  height: 38px;

  border: 1px solid var(--accent);

  border-radius: 7px;

  padding: 0 10px;

  background: var(--primary);

  color: var(--text);

  outline: none;

  font-size: 14px;
}

.filtro_campo select:focus,
.filtro_campo input:focus {
  border-color: var(--accent);
}

.filtro_valor {
  flex: 1;
  display: flex;
  flex-direction: row;
}

.filtro_valor_item {
  display: flex;
  flex-direction: column;
}

.filtro_acoes {
  display: flex;

  gap: 7px;
}

.btn_cancelar_filtro,
.btn_aplicar_filtro {
  height: 38px;

  border-radius: 7px;

  padding: 0 13px;

  cursor: pointer;

  font-size: 13px;
}

.btn_cancelar_filtro {
  border: 1px solid var(--border);

  background: var(--primary);

  color: var(--text);
}

.btn_aplicar_filtro {
  border: none;

  background: var(--secondary);

  color: var(--white);
}

.btn_aplicar_filtro:hover {
  background: var(--accent);
}


/* =========================================================
   TABELAS
   ========================================================= */

table {
  border-collapse: collapse;

  letter-spacing: 1px;

  font-size: 0.6rem;
}

td {
  text-align: center;
}

caption {
  padding: 10px;
}

thead {
  background-color: var(--secondary);

  color: var(--white);
}

thead th {
  padding: 8px;
}

td::-webkit-scrollbar {
  width: 10px;
}

td::-webkit-scrollbar-track {
  background-color: var(--primary);
}

td::-webkit-scrollbar-thumb {
  background-color: var(--secondary);
}


/* =========================================================
   TABELA FUNCIONÁRIOS
   ========================================================= */

#tBody_funcionarios td {
  padding: 2px;
}

#tBody_funcionarios tr,
#tBody_funcionarios th {
  border-bottom: 1px solid var(--secondary);
}

.vincula_ad_busca{
  display: flex;
  flex-direction: row;
  gap: 8px;
}


/* =========================================================
   FORMULÁRIO - FUNCIONÁRIO
   ========================================================= */

#form_cria_funcionario,
#form_edita_funcionario {
  width: 100%;

  display: flex;

  justify-content: center;

  padding: 16px;
}

#form_vincula_ad {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 30%;
  padding: 16px;
}

#ad_vinculo{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#ad_mensagem{
  font-size: small;
  text-align: center;
}

#form_funcionario {
  width: 100%;

  border-collapse: collapse;

  background-color: var(--primary);
}

#form_funcionario td {
  border: 1px solid var(--border);

  padding: 4px 5px;

  vertical-align: top;
}

#form_funcionario table {
  width: 100%;

  border-collapse: collapse;
}

#form_funcionario table td {
  border: 0;
}


/* =========================================================
   TÍTULOS DOS CAMPOS
   ========================================================= */

.campo_titulo {
  display: block;
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 3px;
}

.campo_titulo .obrigatorio {
  color: var(--accent_red);
}

.campo_titulo .formato {
  color: var(--accent_red);
}

.titulo_secao {
  color: var(--white);
  font-weight: bold;
  font-size: 14px;
  padding: 5px !important;
}

.linha_separacao td {
  height: 18px;
  padding: 0 5px;
  color: var(--white);
}

.linha_botao td {
  padding: 8px 5px !important;
}


/* =========================================================
   CAMPOS DO FORMULÁRIO
   ========================================================= */

#form_funcionario input[type="text"],
#form_funcionario input[type="date"],
#form_funcionario input[type="email"],
#form_funcionario select {
  box-sizing: border-box;

  height: 22px;

  border: 1px solid var(--text-secondary);

  border-radius: 0;

  background-color: var(--background);

  color: var(--text);

  padding: 1px 4px;

  width: 100%;

  outline: none;
}

#form_funcionario input:focus,
#form_funcionario select:focus {
  border-color: var(--accent);

  box-shadow:
    0 0 0 1px var(--accent);
}

#form_funcionario select {
  cursor: pointer;
}


/* =========================================================
   LARGURAS DOS CAMPOS
   ========================================================= */

.campo_nome {
  width: 30%;
}

.campo_sexo {
  width: 17%;
}

.campo_id_funcional {
  width: 23%;
}

.campo_foto {
  width: 30%;
}

.campo_nascimento {
  width: 30%;
}

.campo_admissao {
  width: 25%;
}

.campo_identidade {
  width: 23%;
}

.campo_qrcode {
  width: 30%;
}

.campo_diretoria {
  width: 30%;
}

.campo_setor {
  width: 70%;
}

.campo_cargo {
  width: 30%;
}

.campo_lotacao {
  width: 70%;
}

.campo_regime {
  width: 30%;
}

.campo_situacao {
  width: 20%;
}

.campo_desligamento {
  width: 20%;
}

.campo_desligamento {
  width: 50%;
}

.campo_data_desligamento {
  width: 19%;
}

.campo_telefone {
  width: 30%;
}

.campo_mostra_telefone {
  width: 17%;
}

.campo_celular {
  width: 30%;
}

.campo_mostra_celular {
  width: 20%;
}

.campo_email {
  width: 30%;
}

.campo_mostra_email {
  width: 70%;
}


/* =========================================================
   FOTO DO FUNCIONÁRIO
   ========================================================= */

.foto_container {
  display: flex;

  align-items: center;

  gap: 10px;
}

.foto_preview {
  width: 90px;
  height: 120px;

  border: 1px solid var(--text-secondary);

  background-color: var(--background);

  overflow: hidden;

  display: flex;

  align-items: center;
  justify-content: center;
}

.foto_preview img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.foto_acoes {
  display: flex;

  flex-direction: column;

  gap: 5px;
}

.foto_acoes button {
  padding: 4px 8px;

  cursor: pointer;

  font-size: 12px;
}


/* =========================================================
   FOTO EM TABELAS
   ========================================================= */

.foto_funcionario {
  width: 75px;
  height: 100px;

  object-fit: cover;

  object-position: center;

  display: block;

  border-radius: 4px;
}


/* =========================================================
   QR CODE
   ========================================================= */

.qrcode_preview {
  width: 110px;
  height: 110px;

  object-fit: contain;

  background-color: var(--white);

  border: 1px solid var(--text-secondary);

  padding: 4px;
}

.qrcode_indisponivel {
  display: block;

  font-size: 12px;

  color: var(--text-secondary);

  padding-top: 10px;
}

.qrcode_funcionario {
  width: 100px;
  height: 100px;

  object-fit: cover;

  object-position: center;

  display: block;

  border-radius: 4px;
}


/* =========================================================
   BOTÃO SALVAR FUNCIONÁRIO
   ========================================================= */

.btn_secondary {
  padding: 6px 12px;
  cursor: pointer;
  border: none;
  background-color: var(--secondary);
  color: var(--white);
  border-radius: 5px;
  font-weight: 600;
  white-space: nowrap;
}

#btn_enviar:hover {
  background-color: var(--accent);
}

#btn_enviar:active {
  background-color: var(--secondary_dark);
}

#btn_enviar:disabled {
  opacity: 0.65;

  cursor: wait;
}


/* =========================================================
   MENSAGEM DO FORMULÁRIO
   ========================================================= */

#mensagem {
  display: none;

  margin-bottom: 10px;

  padding: 8px;

  font-size: 13px;

  text-align: center;
}


/* =========================================================
   VISUALIZAÇÃO DO FUNCIONÁRIO
   ========================================================= */

#form_visualiza_funcionario {
  width: 100%;

  display: flex;

  justify-content: center;

  padding: 16px;
}

#dados_funcionario {
  width: 60%;

  border-collapse: collapse;

  background-color: var(--primary);
}

#dados_funcionario td {
  border: 1px solid var(--border);

  padding: 7px 8px;

  vertical-align: top;
}

#dados_funcionario .campo_titulo {
  display: block;

  color: var(--text-secondary);

  font-size: 13px;

  font-weight: 500;

  margin-bottom: 3px;
}

.campo_valor {
  color: var(--text);

  font-size: 14px;

  word-break: break-word;
}

.campo_vazio {
  color: var(--text-secondary);

  font-style: italic;

  font-size: 13px;
}


/* =========================================================
   FOTO - VISUALIZAÇÃO
   ========================================================= */

#dados_funcionario .foto_container {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;
}


/* =========================================================
   BOTÕES DA VISUALIZAÇÃO
   ========================================================= */

.linha_botoes {
  padding: 12px;
}

.btn_voltar,
.btn_imprimir {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  padding: 8px 14px;

  border-radius: 5px;

  cursor: pointer;

  font-weight: 600;

  border: none;
}

.btn_voltar {
  background-color: var(--secondary);

  color: var(--white);
}

.btn_imprimir {
  background-color: var(--accent);

  color: var(--white);
}

.btn_voltar:hover,
.btn_imprimir:hover {
  background-color: var(--secondary_dark);
}

.btn_voltar i,
.btn_imprimir i {
  color: currentColor;
}


/* =========================================================
   PESQUISA / BONUS
   ========================================================= */

#buscaBonus {
  display: flex;

  justify-content: space-between;

  gap: 8px;
}


/* =========================================================
   CONVERSA / HISTÓRICO
   ========================================================= */

#mainConversa {
  border: 8px solid var(--secondary);
}

#detalhesParaUsuario {
  display: none;
}

#buscaEsq,
#buscaDir {
  height: 740px;
}

#buscaEsq {
  flex: 1;
}

#buscaDir {
  flex: 2;

  height: 740px;

  overflow-y: auto;
}

#listaHistorico,
#listaObs {
  display: flex;

  flex-direction: column;

  gap: 4px;

  padding: 8px;
}

.historico-item {
  padding: 12px 0;

  border-bottom: 1px solid var(--input);
}

.historico-header {
  display: flex;

  align-items: flex-start;

  gap: 12px;
}

.historico-avatar {
  width: 42px;
  height: 42px;

  border-radius: 50%;

  overflow: hidden;

  flex-shrink: 0;
}

.historico-avatar img {
  display: block;

  width: 42px;

  height: auto;
}

.historico-info {
  flex: 1;
}

.historico-topo {
  display: flex;

  align-items: center;

  gap: 8px;

  margin-bottom: 4px;
}

.historico-usuario {
  font-weight: 600;
}

.historico-data,
.historico-texto,
.historico-vazio {
  color: var(--icon_color);
}

.historico-data {
  font-size: 12px;
}

.historico-vazio {
  padding: 20px;
}

#tabelaHistorico {
  overflow-y: auto;
}

#tituloHistorico,
#tituloObs {
  width: fit-content;

  background-color: var(--secondary);

  padding: 8px;

  color: var(--white);

  border-radius: 8px;
}

#tituloHistorico h1,
#tituloObs h1 {
  font-size: 18px;
}

/* =========================================================
   TABELA DE FUNCIONÁRIOS
   ========================================================= */

.tabela_wrapper {

  width: 100%;
  max-width: 100%;
  min-width: 0;

}


/* =========================================================
   CONTAINER DA TABELA
   ========================================================= */

.tabela_scroll {

  width: 100%;
  max-width: 100%;

  overflow-x: auto;
  overflow-y: visible;

  -webkit-overflow-scrolling: touch;

  scrollbar-width: thin;

}


/* =========================================================
   SCROLLBAR
   ========================================================= */

.tabela_scroll::-webkit-scrollbar {

  height: 8px;

}


.tabela_scroll::-webkit-scrollbar-track {

  background: var(--input);

  border-radius: 10px;

}


.tabela_scroll::-webkit-scrollbar-thumb {

  background: var(--secondary);

  border-radius: 10px;

}


.tabela_scroll::-webkit-scrollbar-thumb:hover {

  background: var(--accent);

}


/* =========================================================
   TABELA
   ========================================================= */

#tabela_funcionarios {

  width: 100%;

  min-width: 1250px;

  border-collapse: separate;

  border-spacing: 0;

  table-layout: auto;

}

#paginacao_funcionarios {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 20px 0;
  flex-wrap: wrap;
}

.paginacao_info {
  font-size: 14px;
}

.paginacao_botoes {
  display: flex;
  align-items: center;
  gap: 5px;
}

.btn_paginacao {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  transition: .2s;
  color: var(--black)
}

.btn_paginacao:hover:not(:disabled) {
  transform: translateY(-1px);
}

.btn_paginacao.ativo {
  font-weight: 700;
}

.btn_paginacao:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.paginacao_ellipsis {
  padding: 0 5px;
}


/* =========================================================
   CABEÇALHO
   ========================================================= */

#tabela_funcionarios thead th {

  position: sticky;
  top: 0;
  z-index: 10;
  padding: 12px 10px;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  background: var(--primary);
  color: var(--text);
  border-bottom: 1px solid var(--border);

}


/* =========================================================
   CÉLULAS
   ========================================================= */

#tabela_funcionarios tbody td {

  vertical-align: middle;
  color: var(--text);
  border-bottom: 1px solid var(--border);

}


/* =========================================================
   LINHAS
   ========================================================= */

#tabela_funcionarios tbody tr {

  transition:
    background-color .15s ease;

}


#tabela_funcionarios tbody tr:hover {

  background-color: var(--surface-hover);

}


/* =========================================================
   COLUNA DE OPÇÕES
   ========================================================= */

#tabela_funcionarios .td_opt div{

  white-space: nowrap;
  text-align: center;
  display: flex;
  flex-direction: column;

}


/* =========================================================
   BOTÕES
   ========================================================= */

#tabela_funcionarios .btn_table {

  flex-shrink: 0;

  white-space: nowrap;

}


/* =========================================================
   FOTO DO FUNCIONÁRIO
   ========================================================= */

#tabela_funcionarios .foto_funcionario {

  display: block;

  width: 65px;

  height: 75px;

  margin: 0 auto;

  object-fit: cover;

  border-radius: 8px;

}


/* =========================================================
   QR CODE
   ========================================================= */

#tabela_funcionarios .qrcode_funcionario {

  display: block;

  width: 70px;

  height: 70px;

  margin: 0 auto;

  object-fit: contain;

}


/* =========================================================
   LINKS
   ========================================================= */

#tabela_funcionarios .table_a {

  white-space: nowrap;

}


/* =========================================================
   AVISO
   ========================================================= */

#tabela_funcionarios .td_aviso {
  white-space: normal;
  text-align: center;
  border-bottom: none;
}


/* =========================================================
   AVISO DE SCROLL
   ========================================================= */

.tabela_scroll_hint {

  display: none;

  align-items: center;

  justify-content: center;

  gap: 8px;

  padding: 8px 12px;

  margin-bottom: 6px;

  color: var(--text-secondary);

  font-size: 12px;

  text-align: center;

}


.tabela_scroll_hint i {

  color: var(--accent);

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

  #tabela_funcionarios {

    min-width: 1350px;

  }

}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 800px) {

  .tabela_scroll_hint {

    display: flex;

  }


  #tabela_funcionarios {

    min-width: 1200px;

  }

  #tabela_funcionarios .foto_funcionario {

    width: 55px;

    height: 65px;

  }


  #tabela_funcionarios .qrcode_funcionario {

    width: 60px;

    height: 60px;

  }

}


/* =========================================================
   CELULAR PEQUENO
   ========================================================= */

@media (max-width: 480px) {

  #tabela_funcionarios {

    min-width: 1150px;

  }


  #tabela_funcionarios thead th {

    padding: 8px 6px;

    font-size: 11px;

  }


  #tabela_funcionarios tbody td {

    padding: 6px;

    font-size: 11px;

  }

}

/* =========================================================
   RELATÓRIOS
   ========================================================= */

#relatorios {
  display: flex;

  flex-direction: column;

  justify-content: space-between;

  align-items: center;

  gap: 20px;
}

.relatorio {
  background: var(--form_bg);

  border-radius: 12px;

  padding: 15px;

  border: 2px solid var(--reverse);
}

.tituloRelatorio {
  font-size: 22px;

  margin-bottom: 15px;
}

#setoresDir {
  display: grid;

  grid-template-columns: 1fr 2fr;

  grid-column-gap: 50px;

  grid-row-gap: 50px;
}

#graficos {
  display: grid;

  grid-template-columns: 2fr 2fr;

  width: 100%;

  gap: 20px;
}

#graficos>div {
  flex: 1;

  display: flex;

  flex-direction: column;

  gap: 12px;
}

#formMesAno {
  display: flex;

  gap: 12px;
}

#formMesAno div {
  flex: 1;
}


/* =========================================================
   PDF
   ========================================================= */

.containerPDFs {
  padding: 12px;
}

.containerPDFs h1 {
  color: var(--secondary);

  padding: 12px;

  font-size: x-large;

  background-color: var(--secondary_dark);
}

.containerPDFs ul {
  font-size: large;

  background-color: var(--primary);

  padding: 20px;

  color: var(--secondary);
}

.containerPDFs li {
  margin-left: 12px;
}

.containerPDFs li a {
  color: var(--secondary_light);
}

.containerPDFs li a:hover {
  color: var(--accent);
}

#pdfContainer {
  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  margin-top: 15px;

  overflow: auto;

  padding: 15px;
}

#pdfContainer h4,
#pdf-controls {
  display: flex;

  align-items: center;

  font-size: large;

  justify-content: center;

  gap: 5px;

  color: var(--white);
}

#pdf-controls {
  margin-bottom: 10px;
}

#pdf-controls button {
  padding: 0 3px;

  border-radius: 5px;

  border: none;

  cursor: pointer;

  background-color: var(--secondary);

  color: var(--primary);
}

#pdf-controls button:hover {
  background-color: var(--accent);
}

#pdf-controls button:active {
  background-color: var(--secondary_dark);

  color: var(--primary);
}

#pdf-viewer {
  width: 100%;

  overflow: auto;
}

#pdf-viewer canvas {
  display: block;

  margin: 0 auto;
}

.zoom-controls {
  display: flex;

  justify-content: center;

  margin-bottom: 5px;
}

.zoom-controls button {
  width: 25px;

  background-color: transparent;

  border: none;

  cursor: pointer;
}

.zoom-controls button img {
  width: 25px;
}

canvas {
  margin: 0 auto;
}

.corSVG {
  filter:
    invert(100%) sepia(0%) saturate(100%) hue-rotate(237deg) brightness(113%) contrast(101%);
}

.corSVG:hover {
  filter:
    invert(83%) sepia(31%) saturate(24%) hue-rotate(66deg) brightness(94%) contrast(96%);
}

.paginas {
  text-align: center;

  appearance: textfield;

  -moz-appearance: textfield;
}

.paginas::-webkit-inner-spin-button {
  -webkit-appearance: none;
}


/* =========================================================
   FOOTER
   ========================================================= */

#main_footer {
  width: 100%;
}

#main_footer input {
  border: none;

  width: 95%;

  height: 50px;

  padding-left: 10px;

  margin-right: 10px;
}

#main_footer button {
  border: none;

  border-radius: 50px;

  height: 50px;

  width: 50px;

  background-color: var(--secondary);

  cursor: pointer;
}

#footerMain {
  padding: 40px 80px;

  background-color: var(--form_bg);

  gap: 32px;
}

#footer_logo {
  font-weight: bold;
}

#footer_logo img {
  width: 70px;
}

#footer_first {
  justify-content: space-between;
}

#footer_links_externos {
  gap: 18px;
}

#footer_links_internos {
  justify-content: space-between;
}

#footer_links_internos div {
  gap: 12px;
}

.footer_link {
  text-decoration: none;

  color: var(--accent);

  font-weight: bold;

  border: none;

  cursor: pointer;

  font-size: 16px;

  text-align: start;

  background-color: transparent;
}

.footer_link:hover {
  color: var(--accentHover);

  text-decoration: underline;
}

#footer_credito {
  display: flex;

  justify-content: center;

  background-color: var(--secondary);

  color: var(--white);

  font-size: 12px;

  padding: 4px;
}


/* =========================================================
   SCROLL / FLOATING MENU
   ========================================================= */

#scroll_button {
  width: 38px;
  height: 40px;

  background-color: var(--secondary);

  color: var(--primary);

  border: none;

  border-radius: 50%;

  cursor: pointer;

  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

#scroll_button:hover {
  background-color: var(--secondary_dark);
}

#floating_menu {
  position: fixed;

  right: 15px;
  bottom: 45px;

  z-index: 9999;

  align-items: end;

  gap: 12px;
}

#toggle_popup_container {
  display: block;

  padding: 6px 12px;

  background-color: var(--secondary);

  color: var(--white);

  border: none;

  border-radius: 6px;

  cursor: pointer;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

#toggle_popup_container:hover {
  background-color: var(--secondary_dark);
}

#toggle_popup_container.minimized {
  background-color: transparent;

  color: var(--primary);

  border: none;

  border-radius: 50%;

  cursor: pointer;

  display: flex;

  align-items: center;
  justify-content: center;

  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);

  font-size: 16px;

  padding: 0;
}

.minimized-wrapper:hover {
  background-color: var(--secondary_dark) !important;
}


/* =========================================================
   CHAMADOS
   ========================================================= */

.atrasado .fa-solid {
  color: var(--neutral) !important;
}

#atrasadosTab {
  display: flex;

  align-items: center;

  justify-content: center;

  gap: 4px;
}

#atrasadosTab:hover,
#atrasadosTab div:hover {
  background-color: var(--atrasadoHover) !important;
}

.atrasado:hover {
  background-color: var(--atrasadoHover) !important;
}

.contador,
.contadorAtrasado {
  padding: 1px 5px;

  font-weight: bold;

  border-radius: 30px;
}

.contador {
  font-size: 14px;

  background-color: #e0e0e0;

  color: var(--secondary);
}

.contadorAtrasado {
  font-size: 14px;

  background-color: var(--atrasado);

  color: var(--black);
}

.contadorAtrasadoAlt {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 20px;
  height: 20px;

  border-radius: 50%;

  font-size: 12px;

  font-weight: bold;

  line-height: 1;

  color: var(--atrasado);

  background-color: var(--neutral);

  flex-shrink: 0;

  padding: 0;
}


/* =========================================================
   AVISOS
   ========================================================= */

.aviso {
  background-color: var(--primary);

  color: var(--text);

  padding: 12px;

  border-radius: 0 0 12px 12px;

  width: 100%;
}

.avisoErro {
  background-color: var(--unansweredAlt);

  color: var(--white);

  padding: 12px;

  border-radius: 12px;

  width: 100%;
}

.aviso h2 {
  font-weight: 500;

  font-size: 18px;
}

.aviso h3 {
  font-weight: 300;

  font-size: 16px;
}

.aviso p {
  text-decoration: underline;

  cursor: pointer;

  display: inline-block;

  font-size: 16px;
}

.aviso p:hover {
  color: var(--accent);
}


/* =========================================================
   CONFIGURAÇÕES DIVERSAS
   ========================================================= */

#relatorio_wrapper {
  height: fit-content;

  min-height: fit-content;

  margin: auto;

  overflow-x: auto;
  overflow-y: auto;

  background-color: var(--form_bg);

  box-shadow:
    5px 6px 5px rgba(0, 64, 124, 0.3);
}

.select-wrap_quarter label {
  color: var(--form_bg);
}

.select-wrap_quarter .label-select {
  margin-top: 0;
}

select-wrap {
  width: 100%;
}

.textWrap {
  display: flex;

  flex-direction: column;

  gap: 5px;
}

.textWrap input {
  color: var(--icon_color);

  background-color: var(--input);

  font-size: 1.3rem;

  font-weight: 400;

  padding: 10px 15px;

  border: none;
}

.textWrap input:hover {
  color: var(--primary);

  background-color: var(--secondary);
}

.toggle {
  cursor: pointer;

  margin-right: 20px;
  margin-left: 10px;
}

.table_a {
  color: var(--reverse);
  text-decoration: underline;
  font-weight: bold;
}

.table_a i:hover {
  color: var(--accent);
}

.table_a:hover {
  color: var(--accent);
}

.icon-label {
  color: var(--reverse);
}

.invisible input:active,
.invisible input:focus {
  outline: none;
}

#create_account {
  display: block;

  position: relative;

  top: -20px;
}

.positive {
  background-color: var(--positive);
  border: none;
}

.negative {
  background-color: var(--negative);
  border: none;
}

/* =========================================================
   CORES DE ÍCONES
   ========================================================= */

.fa-novo,
.fa-manter {
  color: var(--white) !important;
}

.fa-positive {
  color: var(--positive);
}

.fa-negative {
  color: var(--negative);
}


/* =========================================================
   LIMPAR POPUPS
   ========================================================= */

#limpar_popups {
  display: inline;

  background-color: transparent;

  color: var(--reverse);

  text-decoration: underline;

  padding-inline: 0;

  padding-block: 0;

  border: none;

  cursor: pointer;

  width: fit-content;
}

#limpar_popups:hover {
  color: var(--reverseHover);
}

#alertDialog {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--neutral), 0.5);
  justify-content: center;
  align-items: center;
}

.alertDialogContent {
  display: flex;
  flex-direction: column;
  background-color: var(--primary);
  padding: 20px;
  border-radius: 5px;
  text-align: center;
  gap: 8px;
  border: 2px solid var(--secondary);
}

#dialogBtns {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.alertDialogBtn {
  cursor: pointer;
  width: 100px;
}

.alertDialogInput {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
}

#resultList {
  max-height: 250px;
  overflow-y: auto;
}

#titleDialog {
  font-size: 20px;
  font-weight: 600;
}

#msgDialog {
  font-size: 14px;
  font-weight: 400;
}

.alertDialogSearch {
  display: flex;
  gap: 8px;
}


/* =========================================================
   PDF / PAGINAÇÃO
   ========================================================= */

#pdfMenu {
  display: flex;

  gap: 5px;
}

/* =========================================================
   RESPONSIVIDADE - NAV
   ========================================================= */

@media (max-width: 800px) {

  #logo,
  #nav-nome {
    font-size: 12px;
  }

  .logo-icon {
    width: 25px;
    height: 25px;
  }

  #btnHome {

    font-size: 12px;
  }

}


/* =========================================================
   RESPONSIVIDADE - FILTROS
   ========================================================= */

@media (max-width: 800px) {

  .campo_busca_principal {
    min-width: 100%;
  }

  .contador_funcionarios {
    margin-left: 0;

    width: 100%;
  }

  .filtro_campo {
    width: 100%;
  }

  .filtro_acoes {
    width: 100%;
  }

  .btn_cancelar_filtro,
  .btn_aplicar_filtro {
    flex: 1;
  }
}


/* =========================================================
   RESPONSIVIDADE - FORMULÁRIO FUNCIONÁRIO
   ========================================================= */

@media (max-width: 1100px) {

  #form_funcionario,
  #dados_funcionario {
    width: 85%;
  }
}


@media (max-width: 800px) {

  #form_cria_funcionario,
  #form_edita_funcionario,
  #form_visualiza_funcionario {
    padding: 8px;
  }

  #form_funcionario,
  #dados_funcionario {
    width: 100%;
  }

  #form_funcionario td,
  #dados_funcionario td {
    padding: 5px;
  }
}


@media (max-width: 600px) {

  #form_funcionario,
  #dados_funcionario {
    display: block;
  }

  #form_funcionario tbody,
  #form_funcionario tr,
  #form_funcionario td,
  #dados_funcionario tbody,
  #dados_funcionario tr,
  #dados_funcionario td {
    display: block;

    width: 100%;
  }

  #form_funcionario td,
  #dados_funcionario td {
    border-bottom: none;
  }

  #form_funcionario tr:last-child td,
  #dados_funcionario tr:last-child td {
    border-bottom: 1px solid var(--border);
  }

  .foto_container {
    justify-content: flex-start;
  }

  #dados_funcionario .foto_container {
    justify-content: center;
  }

  .qrcode_preview {
    margin: 5px auto;
  }

  .linha_botoes {
    flex-direction: column;
  }

  .btn_voltar,
  .btn_imprimir {
    width: 100%;
  }
}


/* =========================================================
   RESPONSIVIDADE - LOGIN
   ========================================================= */

@media (max-width: 900px) {

  #container_login {
    width: 90vw;
  }

  #loginBanner {
    display: none;
  }

  #container_form_login {
    width: 100%;
  }
}


/* =========================================================
   IMPRESSÃO - VISUALIZAÇÃO FUNCIONÁRIO
   ========================================================= */

@media print {

  @page {
    size: A4 portrait;

    margin: 8mm;
  }

  html,
  body {
    background: var(--white) !important;

    color: var(--black) !important;

    min-height: auto !important;
  }

  body>* {
    display: none !important;
  }

  body>main {
    display: block !important;

    padding: 0 !important;

    min-height: auto !important;

    width: 100% !important;
  }

  #main_wrapper {
    display: block !important;

    width: 100% !important;

    height: auto !important;

    background: var(--white) !important;

    box-shadow: none !important;
  }

  #form_visualiza_funcionario {
    display: block !important;

    width: 100% !important;

    padding: 0 !important;

    background: var(--white) !important;
  }

  #dados_funcionario {
    display: table !important;

    width: 100% !important;

    background: var(--white) !important;

    color: var(--black) !important;

    box-shadow: none !important;
  }

  #dados_funcionario td {
    background: var(--white) !important;

    color: var(--black) !important;

    border-color: #999 !important;
  }

  #dados_funcionario .campo_titulo {
    color: #333 !important;
  }

  #dados_funcionario .campo_valor {
    color: #000 !important;
  }

  #dados_funcionario .campo_vazio {
    color: #777 !important;
  }

  .linha_botoes {
    display: none !important;
  }

  .foto_preview,
  .foto_preview img,
  .qrcode_preview {
    break-inside: avoid;

    page-break-inside: avoid;
  }

  #dados_funcionario tr {
    break-inside: avoid;

    page-break-inside: avoid;
  }

  img {
    print-color-adjust: exact;

    -webkit-print-color-adjust: exact;
  }
}


/* =========================================================
   ANIMAÇÃO
   ========================================================= */

@keyframes fadeIn {

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}