body {
  background-color: #f5f7fa;
  font-family: 'Segoe UI', system-ui, sans-serif;
}

.navbar-brand {
  font-size: 1.2rem;
  letter-spacing: 0.5px;
}

.nav-link {
  border-radius: 6px;
  padding: 6px 12px !important;
  transition: background 0.15s;
}

.nav-link:hover,
.nav-link.active {
  background: rgba(255, 255, 255, 0.15);
}

.card {
  border-radius: 12px;
}

.card-header {
  border-radius: 12px 12px 0 0 !important;
}

.card-hover {
  transition: transform 0.15s, box-shadow 0.15s;
  cursor: pointer;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
}

.icon-box {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.result-box {
  transition: transform 0.15s;
}

.result-box:hover {
  transform: scale(1.03);
}

.accordion-button:not(.collapsed) {
  color: #0d6efd;
  background-color: #e7f1ff;
}

.accordion-button:focus {
  box-shadow: none;
}

footer {
  font-size: 0.8rem;
}

@media (max-width: 576px) {
  h2 { font-size: 1.3rem; }
  .result-box .fs-4 { font-size: 1.1rem !important; }
}

/* ── Diagrama de painel elétrico (compartilhado: montagem + projeto) ── */
.eletric-panel {
  background: #0d0d1a;
  border-radius: 14px;
  padding: 24px 20px 28px;
  overflow-x: auto;
}
.eletric-panel-title {
  text-align: center;
  color: #ffc107;
  font-weight: 800;
  font-size: .95rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-bottom: 1px solid #ffffff15;
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.eletric-alimentacao {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.eletric-alimentacao-label {
  font-size: .65rem;
  color: #6c757d;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.eletric-dj-geral {
  background: #1a1a2e;
  border: 2px solid #ffc107;
  border-radius: 10px;
  padding: 10px 28px;
  text-align: center;
  box-shadow: 0 0 24px rgba(255,193,7,.25);
}
.eletric-dj-tag   { color: #6c757d; font-size: .65rem; text-transform: uppercase; letter-spacing: 1px; }
.eletric-dj-title { color: #e9ecef; font-weight: 700; font-size: .85rem; }
.eletric-dj-amp   { color: #ffc107; font-size: 1.5rem; font-weight: 900; }
.eletric-dj-cabo  { color: #adb5bd; font-size: .7rem; }
.eletric-v-line   { width: 3px; background: linear-gradient(to bottom, #ffc107, #6c757d); margin: 0 auto; }
.eletric-busbar-wrap { padding: 0 12px; width: 100%; }
.eletric-busbar {
  height: 8px;
  background: linear-gradient(90deg, #fd7e14, #ffc107, #fd7e14);
  border-radius: 4px;
  box-shadow: 0 0 18px rgba(255,193,7,.3);
}
.eletric-circuits-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 4px 2px 8px;
  align-items: flex-start;
}
.eletric-circ-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 140px;
  max-width: 160px;
}
.eletric-v-connector {
  width: 2px;
  height: 20px;
  background: #3a3a5a;
  margin: 0 auto;
}
.eletric-circ-card {
  background: #14142a;
  border: 1.5px solid #3a3a5a;
  border-radius: 10px;
  padding: 10px;
  text-align: center;
  width: 100%;
  transition: transform .15s;
}
.eletric-circ-card:hover { transform: translateY(-3px); }
.eletric-circ-pos  { color: #6c757d; font-size: .6rem; margin-bottom: 4px; }
.eletric-circ-icon {
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 5px; font-size: .95rem;
}
.eletric-circ-nome { color: #e9ecef; font-size: .72rem; font-weight: 600; margin-bottom: 3px; }
.eletric-circ-dj   { font-size: 1.1rem; font-weight: 800; }
.eletric-circ-cabo { color: #adb5bd; font-size: .65rem; margin-top: 2px; }
.eletric-circ-dist { color: #6c757d; font-size: .62rem; }
.eletric-dr-tag {
  display: inline-block; background: #0dcaf020; color: #0dcaf0;
  border: 1px solid #0dcaf040; border-radius: 4px;
  font-size: .6rem; padding: 1px 5px; margin-top: 2px;
}
.eletric-queda            { font-size: .62rem; border-radius: 4px; padding: 1px 6px; margin-top: 3px; display: inline-block; }
.eletric-queda-ok         { background: #19874320; color: #198743; border: 1px solid #19874340; }
.eletric-queda-atencao    { background: #ffc10720; color: #b88c00; border: 1px solid #ffc10740; }
.eletric-queda-critico    { background: #dc354520; color: #dc3545; border: 1px solid #dc354540; }
.eletric-cargas-col { width: 100%; }
.eletric-carga-item {
  display: flex; align-items: center; gap: 3px;
  background: #12122a; border-radius: 5px;
  padding: 3px 6px; margin-bottom: 3px;
  font-size: .65rem; color: #adb5bd;
}
.eletric-carga-w    { margin-left: auto; color: #6c757d; white-space: nowrap; }
.eletric-carga-vazia { color: #3a3a5a; font-size: .65rem; text-align: center; padding: 6px; }

@media print {
  .eletric-panel { background: #fff !important; border: 1px solid #ddd; }
}
