.vehicle-tollparking {
  padding: 1rem;

  // 📊 Header dos Registros
  .tollparking-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e9ecef;

    h3 {
      margin: 0;
      color: #495057;
      font-weight: 600;

      i {
        margin-right: 0.5rem;
        color: #28a745;
      }
    }

    .tollparking-summary {
      display: flex;
      gap: 0.5rem;

      .badge {
        padding: 0.5rem 0.75rem;
        font-size: 0.875rem;
        font-weight: 500;
        border-radius: 0.375rem;

        &.badge-info {
          background-color: #17a2b8;
          color: white;
        }

        &.badge-secondary {
          background-color: #6c757d;
          color: white;
        }

        &.badge-success {
          background-color: #28a745;
          color: white;
          
          &.total-badge {
            font-weight: 600;
            font-size: 0.95rem;
            padding: 0.6rem 1rem;
            
            i {
              margin-right: 0.4rem;
            }
          }
        }

        &.badge-warning {
          background-color: #ffc107;
          color: #212529;
        }
      }
    }
  }

  // ⚠️ Estado Vazio
  .empty-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #6c757d;

    i {
      color: #dee2e6;
      margin-bottom: 1rem;
    }

    h4 {
      margin-bottom: 0.5rem;
      color: #495057;
    }

    p {
      margin: 0;
      font-size: 0.9rem;
    }
  }

  // ❌ Estado de Erro
  .error-state {
    text-align: center;
    padding: 3rem 1rem;
    color: #dc3545;

    i {
      color: #f8d7da;
      margin-bottom: 1rem;
    }

    h4 {
      margin-bottom: 0.5rem;
      color: #721c24;
    }

    p {
      margin-bottom: 1.5rem;
      color: #856404;
    }

    .btn {
      border-radius: 0.375rem;
      padding: 0.5rem 1rem;
      font-weight: 500;

      i {
        margin-right: 0.5rem;
        color: inherit;
      }
    }
  }

  // 🎨 Estilos para Data Table
  :deep(app-data-table) {
    .table-container {
      border-radius: 0.375rem;
      overflow: hidden;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    }

    table {
      th {
        background-color: #f8f9fa;
        color: #495057;
        font-weight: 600;
        border-bottom: 2px solid #dee2e6;
      }

      td {
        vertical-align: middle;
        
        // Destaque para valores monetários
        &:has-text('R$') {
          font-weight: 600;
          color: #28a745;
        }
      }

      // Zebra striping
      tbody tr:nth-child(even) {
        background-color: #f8f9fa;
      }
    }
  }
}

// 🎨 Badges específicos para tipos de registro
:deep(.record-type-badge) {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;

  &.type-toll {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
    
    &:before {
      content: '🛣️ ';
      margin-right: 0.25rem;
    }
  }

  &.type-fuel {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    
    &:before {
      content: '⛽ ';
      margin-right: 0.25rem;
    }
  }

  &.type-parking {
    background-color: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;
    
    &:before {
      content: '🅿️ ';
      margin-right: 0.25rem;
    }
  }

  &.type-unknown {
    background-color: #e2e3e5;
    color: #495057;
    border: 1px solid #d6d8db;
    
    &:before {
      content: '❓ ';
      margin-right: 0.25rem;
    }
  }
}

// 📱 Responsividade
@media (max-width: 768px) {
  .vehicle-tollparking {
    padding: 0.75rem;

    .tollparking-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem;

      .tollparking-summary {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
      }
    }

    .empty-state,
    .error-state {
      padding: 2rem 0.5rem;
    }

    // Responsividade da Data Table
    :deep(app-data-table) {
      .table-container {
        overflow-x: auto;
      }

      table {
        min-width: 600px;
        
        th, td {
          padding: 0.5rem 0.25rem;
          font-size: 0.875rem;
          
          &:first-child {
            padding-left: 0.5rem;
          }
          
          &:last-child {
            padding-right: 0.5rem;
          }
        }
      }
    }
  }
}

// 🌙 Dark Mode Support
[data-theme="dark"] {
  .vehicle-tollparking {
    .tollparking-header {
      border-bottom-color: #495057;
      
      h3 {
        color: #f8f9fa;
        
        i {
          color: #28a745;
        }
      }
    }

    .empty-state {
      color: #adb5bd;
      
      h4 {
        color: #f8f9fa;
      }
      
      i {
        color: #6c757d;
      }
    }

    .error-state {
      h4 {
        color: #f5c6cb;
      }
      
      p {
        color: #d1ecf1;
      }
    }

    // Dark mode para Data Table
    :deep(app-data-table) {
      table {
        th {
          background-color: #495057;
          color: #f8f9fa;
          border-bottom-color: #6c757d;
        }

        tbody tr:nth-child(even) {
          background-color: #2c3034;
        }
      }
    }

    // Dark mode para badges
    :deep(.record-type-badge) {
      &.type-toll {
        background-color: rgba(255, 243, 205, 0.15);
        color: #ffeaa7;
        border-color: rgba(255, 234, 167, 0.3);
      }

      &.type-fuel {
        background-color: rgba(212, 237, 218, 0.15);
        color: #a3e4a3;
        border-color: rgba(195, 230, 203, 0.3);
      }

      &.type-parking {
        background-color: rgba(209, 236, 241, 0.15);
        color: #99d3ff;
        border-color: rgba(190, 229, 235, 0.3);
      }

      &.type-unknown {
        background-color: rgba(226, 227, 229, 0.15);
        color: #ccc;
        border-color: rgba(214, 216, 219, 0.3);
      }
    }
  }
} 