.hidden {
  display: none;
}

.clear {
  clear: both;
}

.form-signin, .form-register {
  width: 100%;
  max-width: 330px;
  padding: 15px;
  margin: auto;
}

.form-register .form-control {
  margin-bottom: 10px;
}

.form-signin .checkbox {
  font-weight: 400;
}

.form-signin .form-control {
  position: relative;
  box-sizing: border-box;
  height: auto;
  padding: 10px;
  font-size: 16px;
}

.form-signin .form-control:focus {
  z-index: 2;
}

.form-signin input[type="email"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.no-round-top {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.alternative-color {
  background-color: #FF9F10;
}

.alternative-text {
  color: #FF9F10;
}

.main-navigation .only-sidebar {
  display: none;
}

.main-navigation.active .only-sidebar {
  display: unset;
}

.main-navigation.active .only-sidebar {
  display: unset;
}

.main-navigation.active .navbar-nav {
  display: none;
}

.custom-button, .custom-button:hover {
  background-color: transparent;
  color: rgb(24, 24, 24);
  border: 0 none;
  font-weight: bold;
}

a.card.home-card  {
  text-decoration: none;
  color:rgb(24, 24, 24);
  height: 100%;
  vertical-align: middle;
}

a.card.home-card .card-body  {
  flex: none;
}

a.card.home-card .card-subtitle {
  font-size: 90%;
  color: gray;
  padding: 5px;
}

a.card.home-card .card-title {
  color: rgb(24, 24, 24);
  font-weight: bold;
}

.ellipsis {
  position: relative;
}

.ellipsis:before {
  content: '&nbsp;';
  visibility: hidden;
}

.ellipsis span {
  position: absolute;
  left: 0;
  right: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.loading-overlay {
  display: flex;
  align-items: center;
  text-align: center;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: white;
  top: 0 !important;
  left: 0;
  z-index: 1000;
}

.loading-overlay.hidden {
  display: none;
}

.loading-overlay .spinner-border {
  margin: 0 auto;
}

/* ====== Portal Empresa - estilos compartilhados ====== */

/* Badges de status (Histórico) */
.status-badge{
  display:inline-block;
  padding: .25rem .5rem;
  font-size: .75rem;
  font-weight: 600;
  border-radius: .5rem;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}

.status-aberto{  background:#0d6efd; }   /* azul (aberto) */
.status-fechado{ background:#6c757d; }   /* cinza (fechado) */

/* fallback caso surja outro status */
.status-desconhecido{ background:#adb5bd; color:#212529; }

@media (max-width: 576px){
  .status-badge{ font-size:.7rem; }
  table.table td, table.table th { vertical-align: middle; }
}

/* Ajustes sutis de responsividade para tabelas antigas */
.table-responsive .table{
  margin-bottom: 0;
}
