.header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.table-wrapper button {
  text-transform: unset;
}
.clear-file {
  background: none!important;
  border: none!important;
  color: #c00!important;
  font-size: 14px!important;
  cursor: pointer!important;
  padding: 0!important;
}
.clear-file:hover {
  color: #900!important;
}

.header input[type="text"] {
  padding: 10px;
  border-radius: 20px;
  border: 1px solid #ccc;
  flex: 1;
  min-width: 200px;
}

.header select {
  padding: 10px;
  border-radius: 20px;
  border: 1px solid #ccc;
  width: 15%;
}

.header button {
  padding: 14px 20px;
  background-color: #093034;
  color: #2eebcf;
  border-radius: 20px;
}

.cj-borrar-filtro {
  background-color: #b7eae5 !important;
  color: #093034 !important;
}

.cj-borrar-filtro:hover {
  background-color: #093034 !important;
  color: #2eebcf !important;
}

.case-actions table,
.case-list table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 15px;
  margin-top: 10px;
}

.case-actions td,
.case-list td {
  padding: 20px 10px;
  border-bottom: 1px solid #ddd;
  text-align: left;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.case-actions th,
.case-list th {
  color: #0ab4ad;
  padding: 0.7em 0.4em;
  font-size: 18px;
}

td.status {
  display: flex;
  align-items: center;
  gap: 6px;
  line-height: 2.6em;
  border: none!important;
}

td.status img {
  width: 20px;
  height: 20px;
}

#flecha-descendente:hover, #flecha-ascendente:hover, .inl-arrow:hover svg, .options-button:hover g {
	fill: #48DAD4!important;
}
.disabled:hover svg {
	fill: #ccc!important;
}
.more-options {
  text-align: center;
}

.options-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 !important;
  background-color: transparent !important;
}

.options-button img {
  width: 18px;
  height: 18px;
}

td a {
  color: inherit;
  text-decoration: none;
}

td a:hover {
  color: #48dad4;
}

.th-sortable {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}

.sort-icons {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 10px;
}

.sort-icons img {
  width: 12px;
  height: 12px;
}
/* POPUP */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.popup-content {
  background: white;
  padding: 2rem;
  max-width: 90%;
  width: 50vw;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  position: relative;
}

.close-popup {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 28px;
  cursor: pointer;
  background: none;
  border: none;
  background-color: transparent !important;
}

.crear-consulta h2 {
  margin-bottom: 20px;
}

.crear-consulta label {
  display: block;
  margin-bottom: 5px;
  font-weight: 500;
}

.crear-consulta input[type="text"],
.crear-consulta select {
  width: 100%;
  padding: 10px 15px;
  margin-bottom: 15px;
  border: 1px solid #1e2e2a;
  border-radius: 14px;
  font-size: 16px;
  font-family: inherit;
}
.crear-consulta textarea {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #1e2e2a;
  border-radius: 14px;
  font-size: 16px;
  font-family: inherit;
}
.crear-consulta textarea {
  height: 120px;
  resize: vertical;
}

.form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}

.form-row > div {
  flex: 1;
}

.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

select:disabled {
  background-color: #d7d7d7;
  color: black !important;
  cursor: not-allowed;
}

.actions {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.btn-cancelar {
  background-color: #ff2939 !important;
  border: none;
  color: white !important;
  padding: 12px 20px !important;
  border-radius: 14px;
  cursor: pointer;
}

.btn-cancelar:hover {
  background-color: #b7eae5 !important;
  color: #093034 !important;
}

.btn-guardar {
  background-color: #093034;
  border: none;
  color: #2eebcf;
  padding: 12px 20px !important;
  border-radius: 14px;
  cursor: pointer;
}

.required {
  color: red;
  margin-left: 4px;
}

/* MENU CONTEXTUAL */
.menu-container {
  position: relative;
  display: inline-block;
}

.dropdown-menu {
  position: absolute;
  right: 0;
  top: 100%;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  display: none;
  flex-direction: column;
  min-width: 100px;
  z-index: 999;
}

.dropdown-menu button {
  padding: 8px 12px;
  background: none;
  border: none;
  text-align: left;
  width: 100%;
  font-size: 14px;
  cursor: pointer;
}

.dropdown-menu button:hover {
  background-color: #f5f5f5;
}

/* Css pagina interna caso */
.tabs-buttons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin-bottom: 20px;
}
.tabs-buttons button, .page-id-8390 button, .coment-save-button {
  text-transform: unset;
}
.tabs-buttons .tab {
  padding: 35px 20px;
  border-radius: 20px;
  background-color: transparent;
  cursor: pointer;
  border: none;
  font-weight: 400;
  color: #1e2e2a;
}

.tabs-buttons .tab.active {
  background-color: #d9d9d9;
  font-weight: 500;
}

.action-buttons {
  display: flex;
  gap: 10px;
}

.action-buttons button {
  border: none;
  padding: 15px 18px;
  border-radius: 14px;
  cursor: pointer;
}

.edit-btn {
  background-color: #3dd9d3 !important;
  color: #093034 !important;
}
.edit-btn:hover {
  background-color: #b7eae5 !important;
}
.resolve-btn {
  background-color: #093034;
  color: #2eebcf;
}

.case-actions th,
.case-actions td,
.case-list th,
.case-list td {
  padding: 12px 10px;
  text-align: left;
  font-size: 16px;
}
.case-actions tr, .case-list tr {
  border-bottom: 1px solid #e0e0e0!important;
}
td.doc-actions {
  align-items: center;
  border: none;
}
td img.icon {
  width: 18px;
  vertical-align: middle;
}
.table-wrapper {
  max-width: 100%;
  padding-right: 20px;
  max-height: 366px;
  overflow-y: auto;
  overflow-x: auto;
}

.tab-content a:hover path {
  fill: #093034;
}
.coment-textarea {
  width: 100%;
  padding: 15px;
  border-radius: 10px;
  border: 1px solid #1e2e2a;
  resize: vertical;
  min-height: 150px;
}

.coment-button-wrap {
  margin: 10px 0 20px 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}
.btn-adjuntar {
  display: inline-block;
  background-color: #3dd9d3;
  color: #093034;
  padding: 11px 15px;
  font-weight: 500;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  transition: background 0.2s;
	margin-bottom:0px;
}

.btn-adjuntar:hover {
  background-color: #B7EAE5;
}

.coment-save-button {
  border-radius: 14px;
}

.coment-list {
  margin-top: 30px;
}

.coment-item {
  margin: 15px 0;
  border-bottom: 1px solid #e0e0e0;
}

.coment-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  margin-bottom: 5px;
}
.coment-meta,
.coment-text {
  margin-left: 10px;
}
.coment-author {
  font-weight: 500;
  font-size: 15px;
}

.coment-author.fehm {
  color: #00a88f;
}

.coment-time {
  font-size: 12px;
  color: #888;
}

.coment-text p {
  margin-bottom: 15px !important;
  font-size: 14px;
}
.coment-text {
	padding-bottom: 10px;
}
.updates-tab {
  font-family: Arial, sans-serif;
  font-size: 14px;
  color: #222;
  padding: 20px;
}

.update-entry {
  border-bottom: 1px solid #e0e0e0;
  padding: 10px 0;
}

.timestamp {
  color: #888;
  font-size: 13px;
  margin-left: 5px;
}

.update-details {
  margin-top: 4px;
  color: #444;
}

label {
  display: block;
  margin-bottom: 5px;
  font-weight: 500;
}

.crear-consulta input[type="text"],
.crear-consulta select {
  width: 100%;
  padding: 10px 15px;
  margin-bottom: 15px;
  border: 1px solid #1e2e2a;
  border-radius: 14px;
  font-size: 16px;
  font-family: inherit;
}
.crear-consulta textarea {
  width: 100%;
  padding: 10px 15px;
  border: 1px solid #1e2e2a;
  border-radius: 14px;
  font-size: 16px;
  font-family: inherit;
}
.crear-consulta select {
  width: 100%;
  appearance: none;
  background-color: #f5f5f5;
}
    .pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      font-family: sans-serif;
      margin-top: 10px;
    }

    .pagination a,
    .pagination span {
      padding: 6px 12px;
      text-decoration: none;
      color: #1a2b2b;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      font-size: 16px;
      cursor: pointer;
    }
    .inl-arrow {
      width: 35px!important;  
    }
    .pagination .active {
      background-color: #48DAD4;
      color: white;
    font-weight: bold;
}
.pagination .pag-num:hover {
	  background-color: #48DAD4;
      color: white;
      font-weight: bold;
}
    .pagination .disabled {
      fill: #ccc;
      cursor: default;
    }

    .pagination .dots {
      cursor: default;
    }
.crear-consulta textarea {
  height: 120px;
  resize: vertical;
}

.crear-consulta .form-row {
  display: flex;
  gap: 20px;
}

.crear-consulta .form-row > div {
  flex: 1;
}
.attached-file {
    font-size: 14px;
	font-style: italic;
}
.file-name {
    font-size: 14px;
	line-height: 1em;
}
.crear-consulta .actions {
  margin-top: 10px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.crear-consulta .btn-cancelar {
  background-color: #ff2939 !important;
  border: none;
  color: white !important;
  padding: 12px 20px !important;
  border-radius: 14px;
  cursor: pointer;
}
.crear-consulta .btn-cancelar:hover {
  background-color: #b7eae5 !important;
  color: #093034 !important;
}
.crear-consulta .btn-guardar {
  background-color: #093034;
  border: none;
  color: #2eebcf;
  padding: 12px 20px !important;
  border-radius: 14px;
  cursor: pointer;
}
.crear-consulta .status {
  line-height: 2.5em;
}

.crear-consulta select:disabled {
  background-color: #d7d7d7;
  color: black !important;
  cursor: not-allowed;
}

/* Ficha caso */
.desc-icon {
  width: 30px !important;
}
.ult-fila td {
  border: none;
}
.ult-fila a:hover .cls-3 {
  fill: #093034;
}
.ult-fila a {
  padding: 20px;
  padding-left: 0px;
}

.dropdown-item {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #093034;
  font-size: 16px;
}
#popup-resolver .popup-content {
  width: 38vw;
}
.dropdown-item:hover {
  border-radius: 14px;
}
.scroll-limit {
  max-height: 450px;
  overflow-y: auto;
  padding-right: 10px; /* evita que se tape el contenido con la scrollbar */
}
#docs tr {
	border: none;
}
@media (max-width: 1445px) {
.tabs-buttons {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}
  .close-popup {
    width: 60px !important;
  }
	#popup-resolver .popup-content {
		width: 60vw;
	}
  th,
  td {
    font-size: 16px;
  }
  .table-scroll {
    overflow-x: auto;
    width: 100%;
  }
  .table-scroll table {
    width: 100%;
    min-width: 940px; /* ajusta este valor según columnas */
    border-collapse: collapse;
    table-layout: fixed;
  }
  .table-scroll th,
  .table-scroll td {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding: 12px 10px;
  }
  .table-scroll td:last-child {
    overflow: unset;
  }
  .table-scroll td:last-child {
    min-width: 60px; /* fuerza que se vea el botón de los 3 puntos */
    text-align: left;
  }
	.case-list th:nth-child(1), .case-list td:nth-child(1) { width: 150px; } /* Acciones */
	.case-list th:nth-child(2), .case-list td:nth-child(2) { width: 200px; } /* Acciones */
	.case-list th:nth-child(3), .case-list td:nth-child(3) { width: 400px; } /* Asignado a */
	.case-list th:nth-child(4), .case-list td:nth-child(4) { width: 150px; } /* Nombre archivo */
	.case-list th:nth-child(5), .case-list td:nth-child(5) { width: 150px; } /* Nombre archivo */
	.case-list th:nth-child(6), .case-list td:nth-child(6) { width: 70px; } /* Nombre archivo */
}
@media (max-width: 768px) {
 .header {
    flex-direction: column;
    align-items: stretch;
  }
	.tabs-buttons {
    margin-bottom: 0px;
	align-items: self-end;
  }
  .case-grid {
    grid-template-columns: repeat(2, 1fr)!important; /* Móvil: 2 columnas */
  }
.crear-consulta .form-row {
    gap: 0px;
    flex-direction: column;
}
	.header input,
  .header select,
  .header button {
    	width: 100%;
  	}
	.more-options, .case-list th:last-child {
		display: none;
	}
	.btn-adjuntar {
		font-size: 14px;
        line-height: 1.2em;
		text-align: center;
	}
	td.ellipsis {
    	border: none;
	}
	.file-name {
		font-size: 13px;
		line-height: 1.2em;
	}
	svg.file-icon {
    	width: 36px;
	}
	.update-entry {
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
}
  .tabs-buttons {
    flex-direction: column-reverse !important;
  }
  .table-scroll {
    overflow-x: auto;
    width: 100%;
  }
  .table-wrapper button {
    margin-bottom: 5px;
  }
	.tabs-buttons .tab.active  {
		background-color: #efefef;
		border-radius: 20px 20px 0 0;
	}
	.tabs-buttons .tab {
		padding: 30px 15px;
	}
  .status {
    line-height: 2.7em;
  }
	.tab-content {
		padding: 20px;
		background-color: #efefef;
	}
	.tab-content#comentarios {
		border-radius: 0 20px 20px 20px;
	}
	.tab-content#docs {
		border-radius: 20px;
	}
	.tab-content#updates {
		border-radius: 20px 0 20px 20px;
	}
  .options-button img {
    width: 16px;
    height: 16px;
  }
.case-actions table, .case-actions th {
    border: 1px solid transparent;
}
  .sort-icons img {
    width: 8px;
    height: 8px;
  }
  #graph-block.horizontal-scroll {
    display: flex!important;
    flex-wrap: nowrap!important;
    overflow-x: auto!important;
    scroll-snap-type: x mandatory!important; /* opcional para snapping */
    -webkit-overflow-scrolling: touch!important; /* suavidad en iOS */
  }

  #graph-block.horizontal-scroll .elementor-widget-image {
    flex: 0 0 auto!important;
    scroll-snap-align: start!important; /* si usas snapping */
  }

  /* Elimina márgenes que puedan romper el layout */
  #graph-block.horizontal-scroll img {
    max-width: 100%!important;
    height: auto!important;
    display: block!important;
  }
	.scroll-limit {
    max-height: 350px;
    overflow-y: auto;
    padding-right: 10px; /* evita que se tape el contenido con la scrollbar */
  }
	.case-list th:nth-child(1), .case-list td:nth-child(1) { width: 150px; } /* Acciones */
	.case-list th:nth-child(3), .case-list td:nth-child(3) { width: 300px; } /* Asignado a */
	.case-list th:nth-child(4), .case-list td:nth-child(4) { width: 150px; } /* Nombre archivo */
	.case-list th:nth-child(5), .case-list td:nth-child(5) { width: 150px; } /* Nombre archivo */
}
@media (max-width: 480px) {
  .action-buttons {
    margin-left: 0;
	width: 100%;
	justify-content: space-between;
  }
	.edit-btn {
		width: 50%;
	}
  .popup-content, #popup-resolver .popup-content  {
    padding: 4rem 1.5rem 1.5rem 1.5rem;
    width: 90%;
  }
	.tabs-buttons {
     	flex-direction: column;
     	align-items: flex-start;
  	}
	.coment-save-button {
		padding: 21px 20px!important;
	}
}


.case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Escritorio: 3 columnas */
  gap: 10px;
}

.case-item {
  padding: 10px 0;
}

