/* assets/css/app.css — tema claro com tons azuis */

:root{
  --eme-blue: #1d4ed8;      /* azul principal */
  --eme-blue-2:#2563eb;     /* hover */
  --eme-soft: #eff6ff;      /* fundo suave */
  --eme-border:#dbeafe;     /* borda suave */
}

.brand-logo{
  height: 28px;
  width: auto;
  object-fit: contain;
}
.brand-title{
  color: #1d4ed8;
  letter-spacing: .2px;
}


.navbar-eme{
  background: #fff;
  border-bottom: 1px solid var(--eme-border);
}

.sidebar-eme{
  background: #fff;
  border-right: 1px solid var(--eme-border);
}

.brand-title{
  color: var(--eme-blue);
  letter-spacing: .2px;
}

.nav-link.active,
.list-group-item.active{
  background: var(--eme-blue);
  border-color: var(--eme-blue);
}

.btn-primary{
  background: var(--eme-blue);
  border-color: var(--eme-blue);
}
.btn-primary:hover{
  background: var(--eme-blue-2);
  border-color: var(--eme-blue-2);
}


.bg-soft{ background: var(--soft); }

.brand-dot{
  width: 10px; height: 10px; border-radius: 999px;
  background: var(--blue);
  box-shadow: 0 0 0 4px rgba(13,110,253,.12);
  display:inline-block;
}

.app-topbar{ position: sticky; top:0; z-index: 1030; }

.sidebar{ width: 280px; }
@media (min-width: 992px){
  .sidebar{ position: sticky; top: 52px; height: calc(100vh - 52px); }
}

.layout{
  display:flex;
  min-height: calc(100vh - 52px);
}
.main{
  flex:1;
}

.menu-title{
  padding: 10px 12px 6px;
  font-size: .75rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.menu-link{
  display:flex;
  align-items:center;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 10px;
  margin: 2px 8px;
  text-decoration:none;
  color:#1f2a37;
}
.menu-link:hover{
  background: rgba(13,110,253,.08);
  color: var(--blue-2);
}

.card-soft{
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card);
  box-shadow: 0 8px 22px rgba(13,110,253,.08);
}

.kpi{
  display:flex; align-items:center; justify-content:space-between;
}
.kpi .icon{
  width: 44px; height: 44px; border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(13,110,253,.10);
  color: var(--blue);
  font-size: 1.25rem;
}

.auth-wrap{
  min-height: calc(100vh - 52px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 24px 12px;
}
.auth-card{ max-width: 520px; width: 100%; }
