/* Estilos customizados para aparência profissional */

/* Tema claro */
:root[data-bs-theme="light"] {
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --brand-gradient: linear-gradient(90deg, #0d6efd 0%, #6f42c1 100%);
}

/* Tema escuro */
[data-bs-theme="dark"] {
  --brand-gradient: linear-gradient(90deg, #6f42c1 0%, #0d6efd 100%);
}

:root {
  --app-root-font-size: 16px;
  --app-content-pad-x: 1rem;
  --app-container-pad-x: 1rem;
  --app-sidebar-link-pad-y: .6rem;
  --app-sidebar-link-pad-x: .8rem;
  --app-card-spacer-y: 1rem;
  --app-card-spacer-x: 1rem;
}

html {
  font-size: var(--app-root-font-size);
}

.card {
  --bs-card-spacer-y: var(--app-card-spacer-y);
  --bs-card-spacer-x: var(--app-card-spacer-x);
}

@media (min-width: 1024px) and (max-width: 1600px) {
  :root {
    --app-root-font-size: 15px;
    --app-content-pad-x: .75rem;
    --app-container-pad-x: .8rem;
    --app-sidebar-link-pad-y: .5rem;
    --app-sidebar-link-pad-x: .7rem;
    --app-card-spacer-y: .9rem;
    --app-card-spacer-x: .9rem;
  }

  .content-wrapper > .content,
  .content-header {
    padding-left: var(--app-content-pad-x);
    padding-right: var(--app-content-pad-x);
  }

  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container-fluid {
    padding-left: var(--app-container-pad-x);
    padding-right: var(--app-container-pad-x);
  }

  .main-header.navbar {
    min-height: 3.1rem;
  }

  .main-sidebar .brand-link {
    padding-top: .7rem;
    padding-bottom: .7rem;
  }

  .main-sidebar .nav-link {
    padding: var(--app-sidebar-link-pad-y) var(--app-sidebar-link-pad-x);
  }

  .table > :not(caption) > * > * {
    padding-top: .55rem;
    padding-bottom: .55rem;
  }
}

body.compact {
  font-size: .95rem;
}

.navbar {
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* Destaque do item ativo no menu */
.navbar .nav-link {
  transition: background-color .2s ease, color .2s ease;
}
.navbar .nav-link.active,
.navbar .nav-link.active:focus {
  background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), .15);
  color: var(--bs-primary) !important;
  border-radius: .375rem;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px var(--bs-primary);
}
.navbar .nav-link.active:hover {
  background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), .25);
}

.brand-bar {
  height: 3px;
  background-image: var(--brand-gradient);
}

.card {
  border-radius: .5rem;
}

.card-header {
  font-weight: 600;
}

.table thead th {
  font-weight: 600;
}

.footer {
  border-top: 1px solid var(--bs-border-color);
}

.badge-rounded {
  border-radius: 999px;
}

.input-icon {
  width: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
