/* ========== VARIÁVEIS (mesmo padrão do AlumiCalc App Web) ========== */
:root {
  --primary: #1565C0;
  --primary-dark: #0D47A1;
  --primary-light: #42A5F5;
  --accent: #FF6F00;
  --success: #4CAF50;
  --error: #E53935;
  --bg: #F5F5F5;
  --text: #212121;
  --text-secondary: #757575;
}

body { background: var(--bg); font-family: 'Segoe UI', system-ui, sans-serif; margin: 0; }

/* ========== NAVBAR ========== */
.bg-primary { background-color: var(--primary) !important; }

/* ========== HEADER ========== */
.home-header {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  border-radius: 12px; padding: 24px; color: #fff;
}

/* ========== CARDS ========== */
.form-card {
  background: #fff; border-radius: 12px; padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* ========== BOTÕES ========== */
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-accent { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn-accent:hover { background: #E65100; border-color: #E65100; color: #fff; }

/* ========== LISTA DE PEÇAS ========== */
.peca-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 10px; border-bottom: 1px solid #f0f0f0;
  font-size: 13px; transition: background .1s;
}
.peca-item:hover { background: #f8f9fa; }
.peca-item .peca-cor {
  width: 14px; height: 14px; border-radius: 3px;
  border: 1px solid rgba(0,0,0,.15); flex-shrink: 0;
}
.peca-item .peca-info { flex: 1; margin: 0 8px; }
.peca-item .peca-medida { font-weight: 600; }
.peca-item .peca-tipo { color: var(--text-secondary); font-size: 11px; }

/* ========== CANVAS ========== */
#canvasContainer { overflow: hidden; }
#canvasChapa { display: block; width: 100%; height: auto; }

/* ========== LEGENDA ========== */
.legenda-item {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; padding: 2px 8px; border-radius: 4px;
  background: #f5f5f5;
}
.legenda-cor {
  width: 12px; height: 12px; border-radius: 2px;
  border: 1px solid rgba(0,0,0,.15);
}

/* ========== BADGES ========== */
.badge { font-weight: 500; }

/* ========== RESPONSIVO ========== */
@media (max-width: 991px) {
  .home-header { padding: 16px; }
  .home-header h4 { font-size: 1.1rem; }
}

/* ========== IMPRESSÃO ========== */
@media print {
  .navbar, .col-lg-5, #btnOtimizar, .btn { display: none !important; }
  .col-lg-7 { width: 100% !important; max-width: 100% !important; }
  .form-card { box-shadow: none; padding: 0; }
  #canvasChapa { width: 100% !important; }
}


/* ========== LOGIN ========== */
#page-login .form-card {
  animation: fadeIn .3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ========== NAVBAR ATIVA ========== */
.nav-page.active {
  background: rgba(255,255,255,.2) !important;
  border-color: rgba(255,255,255,.4) !important;
}

/* ========== TABELAS ========== */
.table th {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-bottom-width: 2px;
}
.table td { font-size: 13px; vertical-align: middle; }

/* ========== LISTA ATIVA INDICATOR ========== */
#listaAtivaIndicator {
  font-size: 13px;
  border-radius: 8px;
}

/* ========== DROPDOWN CLIENTES ========== */
#clienteDropdown {
  position: absolute;
  z-index: 1050;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
#clienteDropdown .dropdown-item:hover {
  background: #e3f2fd;
}
