/* TABLE */
ul.table {
  list-style: none;
  padding: 0;
  margin: auto;
  width: 100%;
  display: table; /* Explicitly set display: table */
  table-layout: fixed; /* Ensure consistent column widths */
  border-collapse: collapse;
  box-sizing: border-box; /* Prevent padding/margin issues */
  max-width: 1200px;
}
ul.table li {
  display: table-row;
  background-color: var(--item-bg-color);
  border-bottom: 1px solid var(--background-color);
}
ul.table li a {
  display: contents;
  text-decoration: none;
  color: inherit;
}
ul.table li span {
  display: table-cell;
  padding: 12px;
  vertical-align: middle;
}
/* Optional: Add header styles for first row */
ul.table li:first-child {
  background: none;
  /* font-weight: bold; */
}
/* Hover effect for clickable rows */
ul.table li a:hover > span {
  background-color: var(--item-hover-color);
}
/* Ensure accessibility */
ul.table li a:focus {
  outline: 2px solid #007bff;
  outline-offset: -2px;
}
ul.table span.sortable {
    cursor: pointer;
    position: relative;
}
ul.table span.sortable.asc::after {
    content: '↑';
    position: absolute;
    right: 5px;
}
ul.table span.sortable.desc::after {
    content: '↓';
    position: absolute;
    right: 5px;
}
@media screen and (max-width: 768px) {
  ul.table {
    display: block; /* Reset table layout for mobile */
    background:none;
  }
  ul.table li:first-child {
    display:none;

  }
  ul.table li {
    display: block;
    margin: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
  ul.table li a {
    display: block;
    width: 100%;
  }
  ul.table li span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid var(--background-color);
  }
  ul.table li span:last-child {
    border-bottom: none;
  }
  ul.table li:first-child {
    background: none;
    font-weight: normal;
  }
  ul.table li span::before {
    content: attr(data-label);
    text-align: left;
    width: 40%;
  }
  ul.table li span {
    text-align: right;
  }
  ul.table li:first-child span::before {
    display: none;
  }
  ul.table li:first-child span {
    text-align: left;
  }
}

/* HEADER STYLE LIST */
ul.hdr > li {
    background-color: transparent;
    display: flex;
    flex-direction: column;
}
ul.hdr > li span {
    padding:5px;
}

/* VERTICAL STYLE LIST */
ul.vertical {
    list-style: none;
    display:block;
    max-width:600px;
    margin:auto;
    background-color: var(--item-bg-color);
    box-sizing: border-box;
    padding:10px;
}
ul.vertical > li {
    border:solid thin var(--item-bg-color);
    padding:5px;
    margin:5px;
}

/* LINKS STYLE LIST */
/* NOT SURE WHY THIS WORKS. SETTINGS LST DOESN"T HAVE SPAN */
ul.links {
  list-style: none;
  padding: 0;
  margin: auto;
  width: 100%;
  display: table; /* Explicitly set display: table */
  table-layout: fixed; /* Ensure consistent column widths */
  border-collapse: collapse;
  box-sizing: border-box; /* Prevent padding/margin issues */
  max-width: 600px;
}
ul.links li {
  display: table-row;
  background-color: var(--item-bg-color);
  border-bottom: 1px solid var(--background-color);
}
ul.links li a {
  display: contents;
  text-decoration: none;
  color: inherit;
}
ul.links li span {
  display: table-cell;
  padding: 12px;
  vertical-align: middle;
}
/* Hover effect for clickable rows */
ul.links li:hover {
  background-color: var(--item-hover-color);
}
/* Ensure accessibility */
ul.links li a:focus {
  outline: 2px solid #007bff;
  outline-offset: -2px;
}

/* TEMPLATE PNTS*/
ul.pnts-template {
    display:block;
    max-width:600px;
    margin:auto;
    background-color: var(--item-bg-color);
    padding:5px;
}
ul.pnts-template > li {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    border:solid thin var(--item-bg-color);
    padding:5px;
    transition:  0.3s ease-in-out;
    margin:5px;
    cursor: pointer;
}
ul.pnts-template > li:hover {
    border:solid thin white;
    box-shadow:
        1px 1px 3px rgba(0, 0, 0, 0.2),
        0px 2px 5px rgba(0, 0, 0, 0.15),
        0px 4px 10px rgba(0, 0, 0, 0.1);
}
ul.pnts-template > li  * {
    cursor: pointer !important;
}
ul.pnts-template > li span:first-child {
    flex: 0 0 auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    width: 50px;
    padding:0px;
}
ul.pnts-template > li span:nth-child(2) {
    flex: 1 1 auto;
    min-width: 0;
}
ul.pnts-template > li span:nth-child(3) {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    width: 50px;
    padding:0px;
}

/* DRAGGABLE ROWS */
li.dragging {
    opacity: 0.6;
    background-color: #f0f0f0;
    border: 2px dashed #666;
    cursor: move;
    outline: 4px dashed #666;
    /* transition: opacity 0.3s ease; */
}
li.drag-over {
    background-color: #e6f3ff;
    border: 2px solid #007bff;
    transition: background-color 0.2s ease;
    outline: 4px dashed #007bff;
}
