// ========================================
// 🎨 DESIGN SYSTEM - PADRÃO PRAFROTA CLEAN
// ========================================

.domain-filter-overlay {
  // ✅ Overlay clean seguindo padrão do projeto
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  
  // ✅ NOVO: Bloquear scroll da página e garantir eventos no modal
  overflow: hidden;
  pointer-events: auto;
  
  // ✅ Animação suave de entrada
  animation: fadeIn 0.2s ease-out;
}

@keyframes fadeIn {
  from { 
    opacity: 0;
    backdrop-filter: blur(0px);
  }
  to { 
    opacity: 1;
    backdrop-filter: blur(8px);
  }
}

.domain-filter-panel {
  // ✅ Painel SEMPRE claro - design consistency
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px;
  box-shadow: 
    0 10px 25px rgba(0, 0, 0, 0.1),
    0 4px 10px rgba(0, 0, 0, 0.05);
  width: 90%;
  max-width: 600px;
  max-height: 85vh;
  min-height: 50vh; // ✅ NOVO: Altura mínima como sugerido
  display: flex;
  flex-direction: column;
  overflow: hidden; // ✅ IMPORTANTE: Panel não faz scroll
  
  // ✅ NOVO: Garantir que eventos ficam no panel
  pointer-events: auto;
  
  // ✅ Animação suave de entrada
  animation: slideIn 0.3s ease-out;
  transform-origin: center;
  
  // ✅ FORÇA tema claro para todos os componentes internos
  --surface: #ffffff;
  --surface-hover: #f9fafb;
  --text-primary: #111827;
  --text-secondary: #6b7280;
  --divider: #e5e7eb;
  --hover-bg: #f3f4f6;
}

@keyframes slideIn {
  from { 
    opacity: 0;
    transform: scale(0.9) translateY(-20px);
  }
  to { 
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.filter-header {
  // ✅ Header sempre claro (herda variáveis do panel)
  padding: 20px 24px;
  border-bottom: 1px solid var(--divider);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--surface);

  h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -0.01em;

    i {
      color: var(--text-secondary);
      font-size: 16px;
    }
  }

  .filter-actions {
    display: flex;
    align-items: center;
    gap: 12px;

    .active-filters-badge {
      background: #3b82f6;
      color: white;
      padding: 4px 12px;
      border-radius: 16px;
      font-size: 12px;
      font-weight: 500;
      box-shadow: none;
    }
  }
}

.filter-content {
  // ✅ Conteúdo sempre claro (herda variáveis do panel)
  padding: 24px;
  overflow-y: auto; // ✅ SCROLL AQUI
  overflow-x: hidden; // ✅ Evitar scroll horizontal
  flex: 1;
  display: grid;
  gap: 20px;
  background: var(--surface);
  
  // ✅ NOVO: Garantir que scroll funciona
  max-height: calc(85vh - 140px); // ✅ Altura máxima menos header/footer
  min-height: calc(50vh - 140px); // ✅ Altura mínima menos header/footer
  
  // ✅ Scroll customizado mais visível
  &::-webkit-scrollbar {
    width: 6px; // ✅ Um pouco mais largo
  }
  
  &::-webkit-scrollbar-track {
    background: var(--surface-hover);
    border-radius: 3px;
  }
  
  &::-webkit-scrollbar-thumb {
    background: var(--divider);
    border-radius: 3px;
    
    &:hover {
      background: var(--text-secondary);
    }
  }
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  
  // ✅ Espaçamento entre componentes customizados
  app-multi-select,
  app-custom-input {
    width: 100%;
  }
}

// ========================================
// 🎯 COMPONENTES CUSTOMIZADOS - CLEAN DESIGN
// ========================================

// ✅ Os componentes customizados já têm seus próprios estilos
// Não precisamos de override do Material Design

.filter-date-range,
.filter-number-range {
  
  .range-group-label {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;

    i {
      color: var(--text-secondary);
      font-size: 14px;
    }
  }
  
  .date-range-inputs,
  .number-range-inputs {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: end;

    .range-separator {
      color: var(--text-secondary);
      font-size: 14px;
      font-weight: 500;
      text-align: center;
      padding: 0;
      margin-bottom: 8px;
    }

    app-custom-input {
      width: 100%;
    }
  }
}

.filter-footer {
  // ✅ Footer sempre claro (herda variáveis do panel)
  padding: 16px 24px;
  border-top: 1px solid var(--divider);
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  background: var(--surface);
  
  // ✅ Botões sempre claros com amarelo do projeto
  ::ng-deep button {
    border-radius: 6px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
    height: 40px !important;
    min-width: 80px !important;
    
    &[mat-button] {
      color: #6b7280 !important;
      border: 1px solid #e5e7eb !important;
      background: #ffffff !important;
      
      &:hover {
        background: #f9fafb !important;
        border-color: #6b7280 !important;
      }
    }
    
    &[mat-raised-button] {
      background: #ffc82e !important; // Amarelo IDT
      color: #000000 !important; // Preto para contraste
      border: none !important;
      box-shadow: none !important;
      
      &:hover {
        background: #e6b329 !important; // Tom mais escuro do amarelo
      }
      
      mat-icon {
        margin-right: 6px !important;
        color: #000000 !important;
      }
    }
  }
}

// ========================================
// 🎯 DESIGN CONSISTENCY - FILTRO SEMPRE CLARO
// ========================================

// ✅ O filtro mantém sempre aparência clara para:
// - Consistência visual independente do tema do sistema
// - Melhor legibilidade dos campos de input
// - Padrão clean que funciona em qualquer contexto
// - Componentes internos forçados para tema claro via CSS variables

// Melhoria do overlay no tema escuro para melhor contraste
@media (prefers-color-scheme: dark) {
  .domain-filter-overlay {
    background: rgba(0, 0, 0, 0.7); // Overlay mais escuro para contrastar com modal claro
  }
}

// ========================================
// 🎯 CONTROLE DE SCROLL DO BODY
// ========================================

// ✅ NOVO: Classe para bloquear scroll do body quando modal aberto
:host {
  // Classe aplicada globalmente via JavaScript
}

// ✅ CSS global para bloquear scroll da página
:global(body.modal-open) {
  overflow: hidden !important;
  position: fixed;
  width: 100%;
}

// ========================================
// 📱 RESPONSIVIDADE SIMPLIFICADA
// ========================================

@media (max-width: 768px) {
  .domain-filter-panel {
    width: 95%;
    max-height: 90vh;
    min-height: 60vh; // ✅ NOVO: Altura mínima maior no mobile
  }

  .filter-header {
    padding: 16px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .filter-content {
    padding: 20px;
    gap: 16px;
    // ✅ NOVO: Ajustar alturas para mobile
    max-height: calc(90vh - 140px);
    min-height: calc(60vh - 140px);
  }

  .date-range-inputs,
  .number-range-inputs {
    grid-template-columns: 1fr;
    gap: 8px;

    .range-separator {
      text-align: left;
      padding: 4px 0;
      background: transparent;
      border: none;
    }
  }

  .filter-footer {
    flex-direction: column-reverse;
    
    ::ng-deep button {
      width: 100% !important;
    }
  }
}

// ✅ NOVO: Estilos para Remote Select nos filtros
.remote-select-field {
  margin-bottom: 1rem;
  
  .field-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.875rem;
  }
  
  app-remote-select {
    width: 100%;
  }
} 