* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', sans-serif;
}

body, html {
    height: 100%;
    background: linear-gradient(to bottom, #121426, #101223);
}

.container {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-box {
    background: white;
    border-radius: 15px;
    padding: 40px;
    width: 350px;
    box-shadow: 0 0 25px rgba(0,0,0,0.4);
    text-align: center;
}

.login-box-quadrado {
    background: white;
    border-top-left-radius:  30px;
    border-bottom-right-radius: 30px;
    padding: 40px;
    width: 350px;
    box-shadow: 0 0 25px rgba(0,0,0,0.4);
    text-align: center;
}
.logo-area img {
    height: 40px;
    margin-bottom: 15px;
}

.logo-area h2 {
    margin-top: 10px;
    font-size: 18px;
    color: #333;
}

.empresa {
    font-size: 12px;
    color: #666;
    margin-bottom: 25px;
}

form {
    text-align: left;
}

label {
    font-size: 13px;
    color: #444;
    margin-bottom: 5px;
    display: block;
}

input[type="text"],
input[type="password"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: #eaf1fc;
}

.password-wrapper {
    position: relative;
}

.password-wrapper .toggle-eye {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px;
    color: #555;
}

.link {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #007bff;
    margin-bottom: 20px;
    text-decoration: none;
}

.btn-entrar,
.btn-sienge-id {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 8px;
    font-weight: bold;
    margin-bottom: 10px;
    cursor: pointer;
    font-size: 14px;
}

.btn-entrar {
    background-color: #007bff;
    color: white;
}

.btn-sienge-id {
    background-color: #1a5dac;
    color: white;
}

.versao {
    font-size: 11px;
    margin-top: 10px;
    color: #999;
}


.cards-container {
  display: flex;
  gap: 20px;
  margin-top: 20px;
  flex-wrap: wrap;
}

.card {
  background-color: #f5f5f5;
  padding: 20px;
  width: 250px;
  border-radius: 10px;
  box-shadow: 0 0 10px #ccc;
  text-align: center;
}

.card h3 {
  margin-bottom: 10px;
}



/* Correção modal Gestão de Permissões */
#modalPermissoes,
#modalPermissoesUsuario,
.modal-permissoes {
  max-width: 92vw !important;
  width: 980px !important;
  max-height: 88vh !important;
  overflow: hidden !important;
}

#modalPermissoes .modal-body,
#modalPermissoesUsuario .modal-body,
.modal-permissoes .modal-body,
.permissoes-body {
  max-height: calc(88vh - 150px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 90px !important;
}

.permissoes-grid,
.modulos-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
}

#modalPermissoes .modal-footer,
#modalPermissoesUsuario .modal-footer,
.modal-permissoes .modal-footer {
  position: sticky !important;
  bottom: 0 !important;
  background: #fff !important;
  z-index: 20 !important;
  padding: 14px 18px !important;
  border-top: 1px solid #e5e7eb !important;
}

@media (max-width: 768px) {
  #modalPermissoes,
  #modalPermissoesUsuario,
  .modal-permissoes {
    width: 96vw !important;
    max-width: 96vw !important;
    max-height: 92vh !important;
  }

  .permissoes-grid,
  .modulos-grid {
    grid-template-columns: 1fr !important;
  }
}

/* PATCH DEFINITIVO - Modal Gestão de Permissões */
.modal-content:has(.perm-tabs),
.modal-content:has(.permissoes-tabs),
.modal-content:has(#tabModulos),
.modal-content:has([data-tab="modulos"]) {
  width: min(1180px, 94vw) !important;
  max-width: 94vw !important;
  max-height: 90vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.modal-content:has(.perm-tabs) .modal-body,
.modal-content:has(.permissoes-tabs) .modal-body,
.modal-content:has(#tabModulos) .modal-body,
.modal-content:has([data-tab="modulos"]) .modal-body {
  flex: 1 1 auto !important;
  max-height: calc(90vh - 170px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 110px !important;
}

.modal-content:has(.perm-tabs) .modal-footer,
.modal-content:has(.permissoes-tabs) .modal-footer,
.modal-content:has(#tabModulos) .modal-footer,
.modal-content:has([data-tab="modulos"]) .modal-footer {
  position: sticky !important;
  bottom: 0 !important;
  background: #fff !important;
  z-index: 999 !important;
  border-top: 1px solid #e5e7eb !important;
}

.permissoes-grid,
.modulos-grid,
.perm-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  gap: 16px !important;
}

@media (max-width: 900px) {
  .permissoes-grid,
  .modulos-grid,
  .perm-grid {
    grid-template-columns: 1fr !important;
  }
}

/* MODAL PERMISSÕES - ajuste definitivo */
.modal-backdrop .modal,
.modal-overlay .modal,
.modal-permissoes,
#modalPermissoes {
  width: 1180px !important;
  max-width: calc(100vw - 80px) !important;
  height: auto !important;
  max-height: calc(100vh - 80px) !important;
  margin: 40px auto !important;
  overflow: hidden !important;
}

.modal-permissoes .modal-body,
#modalPermissoes .modal-body,
.permissoes-modal-body,
.permissoes-content {
  max-height: calc(100vh - 250px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 10px !important;
}

.permissoes-grid,
.modulos-grid,
.perm-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
}

.modal-permissoes .modal-footer,
#modalPermissoes .modal-footer {
  position: sticky !important;
  bottom: 0 !important;
  background: #fff !important;
  z-index: 50 !important;
}

/* PATCH 20260618 - autocomplete de colaboradores mais operável */
.autocomplete-list,
#sugestoesColaboradorPesagem {
  max-height: 420px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 99999 !important;
}

.autocomplete-item {
  white-space: normal !important;
  line-height: 1.25 !important;
}
