/* Lista de serviços (DataTables 1.10, server-side) na página da empresa */

.tabela-servicos-wrap {
  background: #fff;
  border-radius: 1rem;
  padding: 1.25rem;
  box-shadow: 0 10px 30px -18px rgba(10, 31, 61, .35);
}

/* Barra superior: "Mostrar N" + pesquisa */
.tabela-servicos-wrap .dataTables_length,
.tabela-servicos-wrap .dataTables_filter {
  font-size: .875rem;
  color: var(--color-slate, #5c6b7a);
  margin-bottom: 1rem;
}
.tabela-servicos-wrap .dataTables_length { float: left; }
.tabela-servicos-wrap .dataTables_filter { float: right; text-align: right; }

.tabela-servicos-wrap .dataTables_filter input,
.tabela-servicos-wrap .dataTables_length select {
  border: 1px solid #d5dde6;
  border-radius: .6rem;
  padding: .5rem .75rem;
  margin-left: .5rem;
  font-size: .875rem;
  color: var(--color-blue-dark, #0a1f3d);
  background: #fff;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.tabela-servicos-wrap .dataTables_length select { margin: 0 .35rem; padding-right: 1.75rem; }
.tabela-servicos-wrap .dataTables_filter input { min-width: 16rem; }
.tabela-servicos-wrap .dataTables_filter input:focus,
.tabela-servicos-wrap .dataTables_length select:focus {
  border-color: var(--color-blue, #027aff);
  box-shadow: 0 0 0 3px rgba(2, 122, 255, .15);
}

/* Tabela */
.tabela-servicos-wrap .tabela-scroll { clear: both; overflow-x: auto; }
table.tabela-servicos {
  clear: both;
  border-collapse: collapse;
  font-size: .9rem;
}
table.tabela-servicos thead th {
  text-align: left;
  font-weight: 600;
  padding: .85rem 1rem;
  color: var(--color-blue-dark, #0a1f3d);
  border-bottom: 2px solid #e4e9ef;
  white-space: nowrap;
  cursor: pointer;
  position: relative;
}
table.tabela-servicos thead th.sorting_disabled { cursor: default; }
table.tabela-servicos thead th.sorting::after,
table.tabela-servicos thead th.sorting_asc::after,
table.tabela-servicos thead th.sorting_desc::after {
  margin-left: .4rem;
  font-size: .7rem;
  opacity: .35;
  content: "▲▼";
}
table.tabela-servicos thead th.sorting_asc::after { content: "▲"; opacity: .9; }
table.tabela-servicos thead th.sorting_desc::after { content: "▼"; opacity: .9; }

table.tabela-servicos tbody td {
  padding: .8rem 1rem;
  border-bottom: 1px solid #eef2f6;
  vertical-align: top;
}
table.tabela-servicos tbody tr:hover td { background: #f6f8fb; }
table.tabela-servicos tbody td:nth-child(2) { color: var(--color-slate, #5c6b7a); }
table.tabela-servicos tbody td:nth-child(3) { font-weight: 600; white-space: nowrap; }
table.tabela-servicos td.dataTables_empty { text-align: center; color: var(--color-slate, #5c6b7a); padding: 2rem 1rem; }

/* Rodapé: info + paginação */
.tabela-servicos-wrap .dataTables_info {
  float: left;
  font-size: .8rem;
  color: var(--color-slate, #5c6b7a);
  padding-top: 1.1rem;
}
.tabela-servicos-wrap .dataTables_paginate {
  float: right;
  padding-top: .8rem;
  display: flex;
  gap: .25rem;
  flex-wrap: wrap;
}
.tabela-servicos-wrap .dataTables_paginate span { display: contents; }
.tabela-servicos-wrap .paginate_button {
  display: inline-block;
  min-width: 2.25rem;
  padding: .4rem .7rem;
  border-radius: .55rem;
  border: 1px solid #e4e9ef;
  font-size: .8rem;
  text-align: center;
  color: var(--color-blue-dark, #0a1f3d);
  cursor: pointer;
  user-select: none;
}
.tabela-servicos-wrap .paginate_button:hover { border-color: var(--color-blue, #027aff); color: var(--color-blue, #027aff); }
.tabela-servicos-wrap .paginate_button.current {
  background: var(--color-blue-dark, #0a1f3d);
  border-color: var(--color-blue-dark, #0a1f3d);
  color: #fff;
}
.tabela-servicos-wrap .paginate_button.disabled { opacity: .4; cursor: default; pointer-events: none; }
.tabela-servicos-wrap .ellipsis { padding: .4rem .3rem; color: var(--color-slate, #5c6b7a); }

/* "A carregar…" por cima da tabela durante o pedido */
.tabela-servicos-wrap .dataTables_wrapper { position: relative; }
.tabela-servicos-wrap .dataTables_processing {
  position: absolute;
  top: 3.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-gold, #fecf02);
  color: var(--color-blue-dark, #0a1f3d);
  font-size: .8rem;
  font-weight: 600;
  padding: .4rem 1rem;
  border-radius: 999px;
  z-index: 2;
}

.tabela-servicos-wrap .dataTables_wrapper::after { content: ""; display: block; clear: both; }

/* Telemóvel: controlos em coluna, tabela com scroll horizontal */
@media (max-width: 640px) {
  .tabela-servicos-wrap { padding: .9rem; }
  .tabela-servicos-wrap .dataTables_length,
  .tabela-servicos-wrap .dataTables_filter,
  .tabela-servicos-wrap .dataTables_info,
  .tabela-servicos-wrap .dataTables_paginate { float: none; text-align: left; }
  .tabela-servicos-wrap .dataTables_filter input { min-width: 0; width: 100%; margin: .35rem 0 0; }
  table.tabela-servicos thead th, table.tabela-servicos tbody td { padding: .65rem .6rem; }
}
