  /* --------------------- */
  /* Layout & Utilidades */
  /* --------------------- */
  .header-button
  {
    display: flex;
    align-items: center;
    flex-direction: row;
  }

  /* Font Weights (pode unificar com utilitários Bootstrap, se usar) */
  .fw-500 { font-weight: 500; }
  .fw-600 { font-weight: 600; }
  .fw-700 { font-weight: 700; }

  /* Larguras utilitárias */
  .w-10  { width: 10% !important; }
  .w-15  { width: 15% !important; }
  .w-20  { width: 20% !important; }
  .w-25  { width: 25% !important; }
  .w-30  { width: 30% !important; }
  .w-40  { width: 40% !important; }
  .w-50  { width: 50% !important; }
  .w-60  { width: 60% !important; }
  .w-70  { width: 70% !important; }
  .w-80  { width: 80% !important; }
  .w-90  { width: 90% !important; }
  .w-100 { width: 100% !important; }

  /* --------------------- */
  /* Tabela personalizada */
  /* --------------------- */
  table thead tr {
    background-color: #FAFAFA !important;
  }

  table thead th {
    font-weight: 700 !important;
  }

  table thead th,
  table tbody td {
    white-space: nowrap;
    min-width: 120px;
  }

  table tbody td {
    vertical-align: middle;
  }

  table tbody tr:nth-child(odd)  { background-color: #ffffff !important; }
  table tbody tr:nth-child(even) { background-color: #fafafa; }

  table tbody tr:hover {
    background-color: rgb(220, 236, 255) !important;
    cursor: pointer;
  }

  /* --------------------- */
  /* DataTable elementos */
  /* --------------------- */
  .datatable-top,
  .datatable-bottom
	{
    padding: 8px 0;
    margin-bottom: 20px;
  }

	.datatable-top
	{
		display: flex;
    justify-content: space-between;
    align-items: center;
  }

	.datatable-search
	{
			order: 1;
			flex: auto;
	}

	.datatable-dropdown
	{
			order: 2;
	}

  .datatable-selector,
  .datatable-input {
    border: 1px solid #e0e5ec !important;
    border-radius: 4px;
    color: #69707a;
  }

  .datatable-selector:focus,
  .datatable-input:focus {
    border-color: #bfc4c9 !important;
    outline: none;
  }


  /* --------------------- */
  /* Formulários */
  /* --------------------- */
  .form-control {
    font-size: 1rem !important;
  }

  input:focus,
  select:focus,
  textarea:focus {
    border-color: rgb(29, 69, 138) !important;
    box-shadow: 0 0 3px rgba(29, 69, 138, 0.5) !important;
    outline: none !important;
  }

  select
  {
    height: 51px !important;
  }

 .btn-mt-4
  {
    margin-top: 1.57rem !important;
  }

  /* --------------------- */
  /* Fieldsets */
  /* --------------------- */
  fieldset {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 2rem;
  }

  legend {
    font-weight: bold;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 2rem;
  }
