/* ==========================================================================
   Unibyte2026 - Painel Administrativo
   Estilos próprios sobre o Bootstrap 5 (CDN).
   ========================================================================== */

:root {
  --unibyte-primary: #1d4ed8;
  --unibyte-dark: #0f172a;
  --unibyte-sidebar-width: 260px;
}

body {
  background-color: #f4f6f9;
}

/* ---- Topbar --------------------------------------------------------- */
.unibyte-topbar {
  background-color: var(--unibyte-dark);
  min-height: 56px;
}
.unibyte-topbar .navbar-brand img {
  border-radius: 4px;
  background: #fff;
  padding: 2px;
}

/* ---- Layout geral: sidebar + conteúdo -------------------------------- */
.unibyte-body {
  display: flex;
  align-items: stretch;
  min-height: calc(100vh - 56px - 64px); /* topbar + footer aproximados */
}

.unibyte-sidebar {
  width: var(--unibyte-sidebar-width);
  flex-shrink: 0;
  background-color: #ffffff;
  border-right: 1px solid #e5e7eb;
}

.unibyte-sidebar .nav-link {
  color: #334155;
  padding: .55rem 1rem;
}
.unibyte-sidebar .nav-link:hover,
.unibyte-sidebar .nav-link.active {
  background-color: #eff4ff;
  color: var(--unibyte-primary);
}

.unibyte-nav-top .nav-link {
  font-weight: 600;
  border-bottom: 1px solid #e5e7eb;
}

.unibyte-sidebar .accordion-button {
  background: none;
  font-weight: 600;
  font-size: .9rem;
  box-shadow: none;
}
.unibyte-sidebar .accordion-button:not(.collapsed) {
  color: var(--unibyte-primary);
  background-color: #eff4ff;
}
.unibyte-sidebar .accordion-button:focus {
  box-shadow: none;
}
.unibyte-sidebar .accordion-body {
  padding: 0;
}
.unibyte-sidebar .accordion-body .nav-link {
  padding-left: 2.5rem;
  font-size: .875rem;
}

.unibyte-content {
  flex: 1 1 auto;
  min-width: 0; /* evita overflow horizontal em telas estreitas */
}

/* ---- Dashboard: cards de estatística ---------------------------------- */
.unibyte-stat-card .card-body {
  padding: 1.1rem;
}
.unibyte-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}

/* ---- Footer ------------------------------------------------------------ */
.unibyte-footer {
  background-color: #fff;
}

/* ---- Página de login ---------------------------------------------------- */
.unibyte-login-body {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--unibyte-dark), var(--unibyte-primary));
}
.unibyte-login-wrapper {
  width: 100%;
  max-width: 380px;
  padding: 1rem;
}
.unibyte-login-card {
  border-radius: 16px;
  border: none;
}
