.top-bar {
    background-color: #2c3e50;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 2rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.footer-bar {
    background-color: #2c3e50;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    bottom: 0;
    width: 100%;
    margin-top: 2rem;
}

.conteudo-central {
    max-width: 1000px;
    margin: 2rem auto;
    padding: 2rem;
    background-color: #ffffff;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
    border-radius: 8px;
}

h3 {
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 1.4rem;    /* tamanho */
  font-weight: 600;     /* negrito mdio */
  color: #3C4962;       
  margin-top: 1rem;     /* espaamento superior */
  margin-bottom: 0.5rem;/* espaamento inferior */
  border-bottom: 2px solid #E8F1F9; /* linha abaixo */
  padding-bottom: 4px;
}

h1 {
     font-family: 'Segoe UI', Arial, sans-serif !important;
     color: #3C4962;       
}


/* Garante layout vertical (label -> input -> message) em todo .field */
.field {
  display: flex;
  flex-direction: column;
  gap: .35rem;          /* espaço consistente entre os itens */
}

/* Labels sempre acima */
.field > label,
.field > .ui-outputlabel {
  display: block;
  margin: 0;
}

/* Inputs ocupam toda largura do container */
.field .ui-inputfield,
.field .ui-inputtext,
.field .ui-password,
.field .ui-selectonemenu,
.field .ui-inputmask {
  width: 100%;
}

/* Mensagens sempre abaixo do input */
.field .ui-message,
.field .ui-message-error,
.field .ui-message-info,
.field .ui-message-warn,
.field .ui-message-fatal {
  order: 3;
  margin-top: .15rem;
}

/* Ajuda textos pequenos (dicas) ficarem abaixo também */
.field small {
  display: block;
}
/* 1) Campo inválido: borda + glow (mantém) */
.ui-state-error,
.ui-invalid,
.ui-inputfield.ui-state-error,
.ui-inputtext.ui-state-error,
.ui-selectonemenu.ui-state-error,
.ui-password.ui-state-error,
.ui-inputmask.ui-state-error,
.ui-inputtextarea.ui-state-error {
  border-width: 2px !important;
  border-style: solid !important;
  border-color: #F16483 !important;
  box-shadow: 0 0 0 .2rem rgba(239, 68, 68, .20) !important;
}

/* 2) selectOneMenu: garante borda nos elementos internos */
.ui-selectonemenu.ui-state-error .ui-selectonemenu-label,
.ui-selectonemenu.ui-state-error .ui-selectonemenu-trigger {
  border-color: #F16483 !important;
}

/* 3) Label do campo inválido: SOMENTE texto vermelho (sem borda) */
.field:has(.ui-state-error) > label,
.field:has(.ui-invalid) > label,
.field:has(.ui-state-error) > .ui-outputlabel,
.field:has(.ui-invalid) > .ui-outputlabel {
  color: #F16483 !important;
  font-weight: 600;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  outline: none !important;
}
