/* ==================== Layout global ==================== */

body {
  margin: 0;
  overflow-x: hidden;
}

/* Header fixo estilo GitHub */
.AppHeader {
  position: sticky;
  top: 0;
  z-index: 100;
}

.AppHeader-globalBar {
  height: 48px;
}

/* ==================== Sidebar ==================== */

.SideNav-item {
  padding: 6px 12px;
  border-radius: 6px;
  color: var(--fgColor-default);
  text-decoration: none;
  font-size: 14px;
  transition: background-color 0.1s;
  border: none;
}

.SideNav-item:hover {
  background-color: var(--bgColor-neutral-muted, #d0d7de33);
  text-decoration: none;
}

.SideNav-item.active {
  background-color: var(--bgColor-accent-muted, #ddf4ff);
  color: var(--fgColor-accent, #0969da);
  font-weight: 600;
}

/* ==================== Loading spinner ==================== */

.page-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.page-loading::after {
  content: '';
  width: 32px;
  height: 32px;
  border: 3px solid var(--borderColor-muted, #d0d7de);
  border-top-color: var(--fgColor-accent, #0969da);
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ==================== Utilitários ==================== */

.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.no-underline { text-decoration: none; }
.no-underline:hover { text-decoration: none; }
