/* UndeadCorp Theme - Preto, Vermelho e Verde (estética cyber/digital) */

:root {
  --undead-black: #0a0a0a;
  --undead-black-soft: #141414;
  --undead-black-card: #1a1a1a;
  --undead-green: #2d9d5f;
  --undead-green-dim: #248f52;
  --undead-green-glow: rgba(45, 157, 95, 0.2);
  --undead-red: #c53030;
  --undead-red-dim: #9b2222;
  --undead-red-glow: rgba(197, 48, 48, 0.2);
  --undead-text: #e0e0e0;
  --undead-text-muted: #888;
}

/* Base & body */
body.dark-mode {
  background-color: var(--undead-black) !important;
  color: var(--undead-text) !important;
}

/* Navbar - topo */
.main-header.navbar-navy {
  background: linear-gradient(90deg, var(--undead-black-soft) 0%, var(--undead-black-card) 50%, var(--undead-black-soft) 100%) !important;
  border-bottom: 1px solid rgba(45, 157, 95, 0.25);
  box-shadow: 0 0 16px var(--undead-green-glow);
}
.main-header .nav-link {
  color: var(--undead-text) !important;
}
.main-header .nav-link:hover {
  color: var(--undead-green) !important;
}

/* Sidebar */
.main-sidebar {
  background: var(--undead-black-soft) !important;
  border-right: 1px solid rgba(197, 48, 48, 0.25);
}
.main-sidebar .brand-link {
  background: var(--undead-black) !important;
  border-bottom: 2px solid transparent;
  border-image: linear-gradient(90deg, var(--undead-green), var(--undead-red)) 1;
  max-height: 72px;
  min-height: auto;
  overflow: hidden;
  flex-shrink: 0;
  padding: 0.4rem 0.5rem !important;
}
.main-sidebar .brand-link .brand-image {
  max-height: 38px !important;
  width: auto;
  object-fit: contain;
}
.main-sidebar .brand-link .brand-text {
  font-size: 0.9rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
/* Sidebar recolhida (mini): área da logo compacta */
.sidebar-mini .main-sidebar .brand-link {
  max-height: 52px;
  padding: 0.35rem !important;
}
.sidebar-mini .main-sidebar .brand-link .brand-image {
  max-height: 32px !important;
}
.sidebar-mini .main-sidebar .brand-link .brand-text {
  font-size: 0.75rem;
}
.brand-text-undead {
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 1.15rem;
}
.brand-text-undead .undead-green {
  color: var(--undead-green);
  text-shadow: 0 0 10px var(--undead-green-glow);
}
.brand-text-undead .undead-red {
  color: var(--undead-red);
  text-shadow: 0 0 10px var(--undead-red-glow);
}

/* Itens do menu sidebar */
.nav-sidebar .nav-link {
  color: var(--undead-text-muted) !important;
}
.nav-sidebar .nav-link:hover {
  color: var(--undead-green) !important;
  background: rgba(45, 157, 95, 0.06) !important;
}
.nav-sidebar .nav-link.active {
  background: linear-gradient(90deg, rgba(45, 157, 95, 0.12), rgba(197, 48, 48, 0.08)) !important;
  color: var(--undead-green) !important;
  border-left: 3px solid var(--undead-green);
}
.nav-sidebar .nav-header {
  color: var(--undead-text-muted);
  font-size: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Content wrapper */
.content-wrapper {
  background-color: var(--undead-black) !important;
}
.content-header {
  background: var(--undead-black-soft) !important;
  border-bottom: 1px solid rgba(45, 157, 95, 0.2);
}
.content-header h1 {
  color: var(--undead-text) !important;
}
.breadcrumb-item a {
  color: var(--undead-green) !important;
}
.breadcrumb-item.active {
  color: var(--undead-text-muted) !important;
}

/* Cards e boxes */
.card {
  background-color: var(--undead-black-card) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--undead-text);
}
.card-header {
  background: rgba(0, 0, 0, 0.3) !important;
  border-bottom: 1px solid rgba(45, 157, 95, 0.2);
  color: var(--undead-text);
}
.card-body {
  color: var(--undead-text);
}
.card-outline.card-primary {
  border-color: var(--undead-green) !important;
}
.card-outline.card-primary .card-header {
  border-color: var(--undead-green);
  color: var(--undead-green);
}
.card-outline.card-danger {
  border-color: var(--undead-red) !important;
}
.card-outline.card-danger .card-header {
  border-color: var(--undead-red);
  color: var(--undead-red);
}
.badge-success {
  background: var(--undead-green) !important;
  color: var(--undead-black);
}
.badge-danger {
  background: var(--undead-red) !important;
  color: #fff;
}
.badge-primary {
  background: var(--undead-red) !important;
}
.nav-tabs .nav-link {
  color: var(--undead-text-muted);
}
.nav-tabs .nav-link.active {
  color: var(--undead-green) !important;
  background: var(--undead-black-card);
  border-color: rgba(255,255,255,0.08) rgba(255,255,255,0.08) var(--undead-black-card);
}
.nav-tabs .nav-link:hover {
  color: var(--undead-green);
  border-color: transparent;
}

/* Info boxes */
.info-box {
  background: var(--undead-black-card) !important;
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: var(--undead-text);
}
.info-box-icon.bg-info { background: linear-gradient(135deg, var(--undead-green-dim), var(--undead-green)) !important; }
.info-box-icon.bg-success { background: linear-gradient(135deg, var(--undead-green-dim), var(--undead-green)) !important; }
.info-box-icon.bg-primary { background: linear-gradient(135deg, var(--undead-red-dim), var(--undead-red)) !important; }
.info-box-text { color: var(--undead-text-muted) !important; }
.info-box-number { color: var(--undead-text) !important; }

/* Small boxes */
.small-box {
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.small-box.bg-info {
  background: linear-gradient(135deg, var(--undead-black-card), rgba(45, 157, 95, 0.12)) !important;
  border-color: rgba(45, 157, 95, 0.25);
}
.small-box.bg-success {
  background: linear-gradient(135deg, var(--undead-black-card), rgba(45, 157, 95, 0.15)) !important;
  border-color: rgba(45, 157, 95, 0.3);
}
.small-box.bg-warning {
  background: linear-gradient(135deg, var(--undead-black-card), rgba(255, 200, 0, 0.12)) !important;
  border-color: rgba(255, 200, 0, 0.25);
}
.small-box.bg-secondary {
  background: var(--undead-black-card) !important;
  border-color: rgba(255, 255, 255, 0.1);
}
.small-box .inner h3,
.small-box .inner p { color: var(--undead-text) !important; }
.small-box .small-box-footer {
  background: rgba(0, 0, 0, 0.3) !important;
  color: var(--undead-green) !important;
}
.small-box .small-box-footer:hover {
  color: var(--undead-green) !important;
  background: rgba(45, 157, 95, 0.08) !important;
}

/* Botões */
.btn-primary {
  background: linear-gradient(135deg, var(--undead-red-dim), var(--undead-red)) !important;
  border-color: var(--undead-red);
  color: #fff !important;
}
.btn-primary:hover {
  background: linear-gradient(135deg, var(--undead-red), #ff2050) !important;
  border-color: var(--undead-red);
  box-shadow: 0 0 15px var(--undead-red-glow);
}
.btn-success {
  background: linear-gradient(135deg, var(--undead-green-dim), var(--undead-green)) !important;
  border-color: var(--undead-green);
  color: var(--undead-black) !important;
}
.btn-success:hover {
  box-shadow: 0 0 15px var(--undead-green-glow);
}

/* Formulários */
.form-control {
  background: var(--undead-black) !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--undead-text) !important;
}
.form-control:focus {
  border-color: var(--undead-green);
  box-shadow: 0 0 0 0.2rem var(--undead-green-glow);
}
.input-group-text {
  background: var(--undead-black-card) !important;
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--undead-text-muted);
}

/* Tabelas */
.table {
  color: var(--undead-text);
}
.table thead th {
  background: var(--undead-black-card) !important;
  border-color: rgba(45, 157, 95, 0.2);
  color: var(--undead-green);
}
.table td, .table th {
  border-color: rgba(255, 255, 255, 0.06);
}
.table-hover tbody tr:hover {
  background: rgba(45, 157, 95, 0.04);
}

/* Footer */
.main-footer {
  background: var(--undead-black-soft) !important;
  border-top: 1px solid rgba(197, 48, 48, 0.25);
  color: var(--undead-text-muted);
}
.main-footer strong {
  background: linear-gradient(90deg, var(--undead-green), var(--undead-red));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Alerts */
.alert-success {
  background: rgba(45, 157, 95, 0.12);
  border-color: var(--undead-green);
  color: var(--undead-text);
}
.alert-danger {
  background: rgba(197, 48, 48, 0.12);
  border-color: var(--undead-red);
  color: var(--undead-text);
}
.alert-warning {
  background: rgba(255, 200, 0, 0.1);
  color: var(--undead-text);
}

/* Links */
a {
  color: var(--undead-green);
}
a:hover {
  color: var(--undead-green);
  text-shadow: 0 0 8px var(--undead-green-glow);
}

/* Títulos e ícones no conteúdo */
h1, h2, h3, h4, h5, h6 {
  color: var(--undead-text) !important;
}
.text-primary { color: var(--undead-green) !important; }
.text-muted { color: var(--undead-text-muted) !important; }

/* ========== PÁGINA DE LOGIN ========== */
body.login-page {
  background: var(--undead-black) !important;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
body.login-page::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    linear-gradient(90deg, rgba(45, 157, 95, 0.04) 0%, transparent 50%, rgba(197, 48, 48, 0.04) 100%),
    radial-gradient(ellipse at 20% 50%, rgba(45, 157, 95, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 50%, rgba(197, 48, 48, 0.06) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}
.login-box {
  position: relative;
  z-index: 1;
}
.login-box .card {
  background: var(--undead-black-card) !important;
  border: 1px solid rgba(45, 157, 95, 0.25);
  box-shadow: 0 0 32px rgba(45, 157, 95, 0.08), 0 0 32px rgba(197, 48, 48, 0.06);
}
.login-logo a,
.login-logo .brand-text-undead {
  font-size: 1.8rem;
}
.login-box-msg {
  color: var(--undead-text-muted) !important;
}
.login-card-body .btn-primary {
  font-weight: 600;
  letter-spacing: 0.05em;
}
