/* Estilos extras - PCP v2.0 */
.sidebar { background: linear-gradient(180deg, #0f766e 0%, #115e59 100%); }
.nav-item.active { background: rgba(255,255,255,0.15); border-left: 4px solid #14b8a6; }
.nav-item:hover { background: rgba(255,255,255,0.08); }
.card { background: white; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.btn { @apply px-4 py-2 rounded-md font-medium transition; }
.btn-primary { background: #0f766e; color: white; }
.btn-primary:hover { background: #115e59; }
.btn-secondary { background: #e2e8f0; color: #334155; }
.btn-secondary:hover { background: #cbd5e1; }
.btn-danger { background: #dc2626; color: white; }
.btn-danger:hover { background: #b91c1c; }
.btn-success { background: #059669; color: white; }
.btn-success:hover { background: #047857; }
.table-sticky thead th { position: sticky; top: 0; background: #f1f5f9; z-index: 1; }
input[type="text"], input[type="number"], input[type="date"], input[type="email"],
select, textarea {
  @apply w-full px-3 py-2 border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-brand focus:border-transparent;
}
input:disabled, select:disabled { background-color: #f1f5f9; color: #64748b; }
label { @apply block text-sm font-medium text-slate-700 mb-1; }
.badge { @apply inline-block px-2 py-0.5 text-xs font-semibold rounded; }
.badge-Aberta { background: #dbeafe; color: #1e40af; }
.badge-Planejada { background: #e9d5ff; color: #6b21a8; }
.badge-EmProducao { background: #fef3c7; color: #92400e; }
.badge-Concluida { background: #d1fae5; color: #065f46; }
.badge-Cancelada { background: #fee2e2; color: #991b1b; }
.toast { position: fixed; right: 1rem; top: 1rem; z-index: 9999; max-width: 28rem; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 40; }
.modal {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
  background: white; border-radius: 12px; z-index: 50; max-height: 90vh; overflow: auto;
}
.kpi-card { @apply card p-5 flex items-center gap-4; }
.kpi-icon { @apply w-12 h-12 rounded-lg flex items-center justify-center text-white text-2xl; }

/* Impressão */
@media print {
  body { background: white; }
  #sidebar, #topbar, .no-print { display: none !important; }
  #main-content { padding: 0 !important; }
  .card { box-shadow: none; border: 1px solid #ccc; }
  .page-break { page-break-after: always; }
}
