/* Professional Typography Overrides */

/* Reduzir tamanhos de fonte para visual mais profissional */
.incident-desc {
  font-size: 0.8125rem !important;
  color: #6B7280 !important;
  line-height: 1.5 !important;
}

/* Ajustar meta informações */
.incident-meta-item {
  font-size: 0.75rem !important;
  color: #9CA3AF !important;
  font-weight: 400 !important;
}

/* Melhorar visual das badges */
.status-badge {
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  padding: 4px 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.025em !important;
}

.portal-badge {
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  background: #F3F4F6 !important;
  color: #6B7280 !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
}

/* Melhorar espaçamento dos cards */
.incident-card {
  padding: 18px 20px !important;
  border: 1px solid #E5E7EB !important;
  background: #FFFFFF !important;
}

.incident-card:hover {
  border-color: #D1D5DB !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* Headers mais limpos */
.view-header h1 {
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  color: #111827 !important;
  margin-bottom: 0.5rem !important;
}

.view-header p {
  font-size: 0.9375rem !important;
  color: #6B7280 !important;
  font-weight: 400 !important;
}

/* Stats mais profissionais */
.stat-value {
  font-size: 2rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.stat-label {
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: #6B7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.025em !important;
}

/* Navigation mais sutil */
.nav-tab {
  font-weight: 500 !important;
  font-size: 0.875rem !important;
}

.nav-tab.active {
  font-weight: 600 !important;
}

/* User info mais clean */
.user-name {
  font-weight: 500 !important;
  font-size: 0.875rem !important;
}

.user-role {
  font-weight: 400 !important;
  font-size: 0.75rem !important;
  color: #6B7280 !important;
}

/* Action buttons styling */
.table-actions {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}

.action-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 6px !important;
  border: 1px solid #E5E7EB !important;
  background: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.action-btn:hover {
  background: #F3F4F6 !important;
  border-color: #D1D5DB !important;
}

.action-btn.danger:hover {
  background: #FEF2F2 !important;
  border-color: #FECACA !important;
  color: #DC2626 !important;
}

.action-btn.warning {
  background: #FFFBEB !important;
  border-color: #FDE68A !important;
  color: #D97706 !important;
}

.action-btn.warning:hover {
  background: #FEF3C7 !important;
  border-color: #F59E0B !important;
  color: #92400E !important;
}

/* Form validation styles */
.field input.error,
.field select.error,
.field textarea.error {
  border-color: #EF4444 !important;
  background-color: #FEF2F2 !important;
}

.field-error {
  display: none;
  color: #EF4444 !important;
  font-size: 0.75rem !important;
  margin-top: 4px !important;
  font-weight: 400 !important;
}

.field input:focus.error,
.field select:focus.error,
.field textarea:focus.error {
  border-color: #EF4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* Success state */
.field input.success,
.field select.success,
.field textarea.success {
  border-color: #10B981 !important;
}

.field input:focus.success,
.field select:focus.success,
.field textarea:focus.success {
  border-color: #10B981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
}

/* Loading state for forms */
.btn-loading .spinner {
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #ffffff33 !important;
  border-top-color: #ffffff !important;
  border-radius: 50% !important;
  animation: spin 1s linear infinite !important;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Pagination improvements */
.pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 24px !important;
}

.pagination-btn {
  min-width: 36px !important;
  height: 36px !important;
  border: 1px solid #E5E7EB !important;
  background: #FFFFFF !important;
  border-radius: 6px !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.pagination-btn:hover:not(:disabled) {
  background: #F3F4F6 !important;
  border-color: #D1D5DB !important;
}

.pagination-btn.active {
  background: #3B82F6 !important;
  border-color: #3B82F6 !important;
  color: #FFFFFF !important;
}

.pagination-btn:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

.pagination-ellipsis {
  color: #9CA3AF !important;
  font-size: 0.875rem !important;
  padding: 0 4px !important;
}

/* Reports Dashboard Styles */
.reports-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 24px !important;
}

.report-card {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.report-card.full-width {
  grid-column: 1 / -1 !important;
}

.card-header {
  padding: 20px 24px 16px !important;
  border-bottom: 1px solid #F3F4F6 !important;
}

.card-header h3 {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: #111827 !important;
  margin: 0 0 4px !important;
}

.card-subtitle {
  font-size: 0.875rem !important;
  color: #6B7280 !important;
  font-weight: 400 !important;
}

.report-content {
  padding: 24px !important;
}

.report-chart {
  min-height: 200px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FAFAFA !important;
  border-radius: 8px !important;
  margin-bottom: 16px !important;
}

.chart-loading {
  color: #9CA3AF !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

.report-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: center !important;
}

.legend-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.875rem !important;
}

.legend-color {
  width: 12px !important;
  height: 12px !important;
  border-radius: 2px !important;
}

/* Ranking Lists */
.ranking-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.ranking-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 16px !important;
  background: #F9FAFB !important;
  border-radius: 8px !important;
  border: 1px solid #F3F4F6 !important;
}

.ranking-position {
  font-weight: 600 !important;
  color: #374151 !important;
  min-width: 24px !important;
  text-align: center !important;
}

.ranking-info {
  flex: 1 !important;
  margin: 0 16px !important;
}

.ranking-name {
  font-weight: 500 !important;
  color: #111827 !important;
  font-size: 0.875rem !important;
}

.ranking-details {
  font-size: 0.75rem !important;
  color: #6B7280 !important;
  margin-top: 2px !important;
}

.ranking-value {
  font-weight: 600 !important;
  color: #374151 !important;
  font-size: 0.875rem !important;
}

.ranking-badge {
  padding: 4px 8px !important;
  border-radius: 12px !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
}

.ranking-badge.gold {
  background: #FEF3C7 !important;
  color: #92400E !important;
}

.ranking-badge.silver {
  background: #F3F4F6 !important;
  color: #374151 !important;
}

.ranking-badge.bronze {
  background: #FED7AA !important;
  color: #EA580C !important;
}

/* Stats improvements for reports */
.stat-change {
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  margin-top: 4px !important;
}

.stat-change.positive {
  color: #10B981 !important;
}

.stat-change.negative {
  color: #EF4444 !important;
}

.stat-change.neutral {
  color: #6B7280 !important;
}