/* Configurações Globais de Texto */
html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
    margin: 0;
    padding: 0;
    background: #eef2f7;
    font-family: system-ui, -apple-system, sans-serif;
}

/* Container de Centralização Total */
.login-wrapper, .login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100%;
}

/* Cartão de Login */
.login-card {
    width: 100%;
    max-width: 420px;
    background: white;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border: none;
}

/* Logos e Imagens */
.logo-empresa {
  max-width: 200px;
  display: block;
  margin: 0 auto 20px auto;
}

.logo-sistema {
  max-width: 120px;
  display: block;
  margin: 20px auto 0 auto;
  opacity: 0.8;
}

/* Campos de Formulário */
.form-control {
    height: 45px;
    border-radius: 8px;
}

.form-control:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #f37021;
    border-color: #f37021;
}

/* Botões padronizados - Laranja Connect Fibra (#f37021) */
.btn-primary:not(.btn-sm),
.btn-success:not(.btn-sm) {
    min-height: 45px;
    border-radius: 8px;
}

.btn-primary,
.btn-success {
    background-color: #f37021 !important;
    border-color: #f37021 !important;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-primary:hover,
.btn-success:hover {
    background-color: #d65a12 !important;
    border-color: #d65a12 !important;
    color: #fff !important;
}

.btn-primary:disabled,
.btn-success:disabled {
    background-color: #f8a87a !important;
    border-color: #f8a87a !important;
    opacity: 0.7;
}

/* Outline: borda e texto laranja, hover preenchido */
.btn-outline-primary {
    color: #f37021 !important;
    border-color: #f37021 !important;
    background-color: transparent !important;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-outline-primary:hover {
    background-color: #f37021 !important;
    border-color: #f37021 !important;
    color: #fff !important;
}

/* Posicionamento do Ícone de Senha */
.position-relative {
    position: relative !important;
}

.toggle-senha {
    position: absolute;
    right: 15px;
    top: 38px; /* Alinhado centralmente ao input de 45px com label acima */
    cursor: pointer;
    color: #666;
    font-size: 18px;
    z-index: 10;
}

/* Padding para o texto da senha não sobrepor o ícone */
#senha {
    padding-right: 40px;
}

/* Outros Elementos */
.relogio {
  font-size: 48px;
  font-weight: bold;
  margin-top: 10px;
}

/* Logo no navbar (canto superior esquerdo) */
.navbar-logo {
  height: 36px;
  width: auto;
  display: block;
}

/* Nome do funcionário no navbar */
.nome-funcionario {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  color: #1a1a2e !important;
}

/* Menu dinâmico: seções e item ativo */
.navbar-nav .nav-menu-section {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #868e96 !important;
  padding: 0.5rem 0.75rem 0.15rem;
  margin-top: 0.15rem;
  pointer-events: none;
  width: 100%;
  flex-basis: 100%;
}

@media (min-width: 992px) {
  .navbar-nav .nav-menu-section.nav-menu-section--after-admin {
    border-left: 1px solid #dee2e6;
    margin-left: 0.35rem;
    padding-left: 1rem;
    width: auto;
    flex-basis: auto;
  }
}

.navbar-nav .nav-link.active {
  color: #f37021 !important;
  font-weight: 600;
}