/* Base table cell style */

.ajaxtable_cell {
  color: #666 !important;
  font-size: 13.4px;
}

/* Table cell style for specific formats */

.ajaxtable_cell.ajaxtable_number,
.ajaxtable_cell.ajaxtable_date,
.ajaxtable_cell.ajaxtable_time,
.ajaxtable_cell.ajaxtable_datetime,
.ajaxtable_cell.ajaxtable_onoff,
.ajaxtable_cell.ajaxtable_onoff_date,
.ajaxtable_cell.ajaxtable_small,
div.ajaxtable_container table tr td.ajaxtable_onoff,
div.ajaxtable_container table tr td.ajaxtable_onoff_date,
div.ajaxtable_container table thead th.ajaxtable_number,
div.ajaxtable_container table thead th.ajaxtable_date,
div.ajaxtable_container table thead th.ajaxtable_time,
div.ajaxtable_container table thead th.ajaxtable_datetime,
div.ajaxtable_container table thead th.ajaxtable_onoff,
div.ajaxtable_container table thead th.ajaxtable_onoff_date,
div.ajaxtable_container table thead th.ajaxtable_small {
  width: 1px;
}

.ajaxtable_cell.ajaxtable_div {
  width: 1px;
}

div.ajaxtable_container table tr td.ajaxtable_connectedsystems
  div.ajaxtable_connectedSystemsList {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

div.ajaxtable_container table tr td.ajaxtable_connectedsystems
  div.ajaxtable_connectedSystem {
  display: block;
  white-space: nowrap;
}

div.ajaxtable_container table tr td.ajaxtable_connectedsystems
  div.ajaxtable_connectedSystem a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  min-height: 36px;
  padding: 6px 4px;
  margin: 1px 2px 1px 0;
  box-sizing: border-box;
  border-radius: 4px;
  background-color: var(--lor-color);
  color: white !important;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 0.18s ease;
}

div.ajaxtable_container table tr td.ajaxtable_connectedsystems
  div.ajaxtable_connectedSystem a:hover {
  background-color: var(--lor-color-dark);
  color: white !important;
}

/* Native checkbox toggles keep the legacy icon while using one maintained request path. */

div.ajaxtable_container table tr td.ajaxtable_checkbox {
  width: 1px;
  min-width: 0;
  padding-right: 1px;
  padding-left: 1px;
  text-align: center;
  white-space: nowrap;
}

div.ajaxtable_container table tr td.ajaxtable_checkbox_toggle {
  text-align: left;
}

.ajaxtable_checkboxToggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  vertical-align: middle;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 27px;
  cursor: pointer;
}

.ajaxtable_checkboxToggle .onoff_clickable {
  display: block;
  width: 27px;
  height: 27px;
  color: var(--lor-color) !important;
  font-size: 27px;
  line-height: 27px;
  transform: scale(1);
  transform-origin: center;
  transition: color 0.3s ease, transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

.ajaxtable_checkboxToggle:hover .onoff_clickable {
  color: var(--lor-color-dark) !important;
  transform: scale(1.1);
}

.ajaxtable_checkboxToggle .onoff_clickable.green {
  color: green !important;
}

.ajaxtable_checkboxToggle .onoff_clickable.ajaxtable_checkboxToggleHovering {
  color: var(--lor-color-dark) !important;
  transform: scale(1.1);
}

.ajaxtable_checkboxToggle .onoff_clickable.ajaxtable_checkboxTogglePressing {
  color: var(--lor-color-dark) !important;
  transform: scale(0.9);
}

.ajaxtable_checkboxToggle .onoff_clickable.ajaxtable_checkboxToggleSpringFromPress {
  color: var(--lor-color-dark) !important;
  animation: ajaxtableCheckboxToggleSpringFromPress 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.ajaxtable_checkboxToggle .onoff_clickable.ajaxtable_checkboxToggleSpringFromHover {
  color: var(--lor-color-dark) !important;
  animation: ajaxtableCheckboxToggleSpringFromHover 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes ajaxtableCheckboxToggleSpringFromPress {
  0% {
    transform: scale(0.9);
  }

  58% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes ajaxtableCheckboxToggleSpringFromHover {
  0% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

.ajaxtable_checkboxToggle_pending {
  opacity: 0.55;
  cursor: wait;
}

.ajaxtable_toggleError {
  margin: 6px 0;
  padding: 6px 8px;
  border: 1px solid #d99;
  border-radius: 4px;
  background-color: #fff4f4;
  color: #900;
}

.ajaxtable_cell.ajaxtable_images {
  min-width: 180px;
}

.ajaxtable_cell.ajaxtable_number,
.ajaxtable_cell.ajaxtable_date,
.ajaxtable_cell.ajaxtable_time,
.ajaxtable_cell.ajaxtable_datetime,
.ajaxtable_cell.ajaxtable_onoff,
.ajaxtable_cell.ajaxtable_onoff_date,
.ajaxtable_cell.ajaxtable_small,
div.ajaxtable_container table tr td.ajaxtable_onoff,
div.ajaxtable_container table tr td.ajaxtable_onoff_date,
div.ajaxtable_container table thead th.ajaxtable_number,
div.ajaxtable_container table thead th.ajaxtable_date,
div.ajaxtable_container table thead th.ajaxtable_time,
div.ajaxtable_container table thead th.ajaxtable_datetime,
div.ajaxtable_container table thead th.ajaxtable_onoff,
div.ajaxtable_container table thead th.ajaxtable_onoff_date,
div.ajaxtable_container table thead th.ajaxtable_small {
  white-space: nowrap;
}

.ajaxtable_cell.ajaxtable_nowrap {
  white-space: nowrap;
}

div.ajaxtable_container table tr td.ajaxtable_onoff > span.ajaxtable_onoff > i,
div.ajaxtable_container table tr td.ajaxtable_onoff > span.ajaxtable_onoff > svg {
  display: inline-block;
  font-size: 1.6em !important;
  line-height: 1;
  vertical-align: middle;
}

div.ajaxtable_container table tr td.ajaxtable_onoff_date,
div.ajaxtable_container table thead th.ajaxtable_onoff_date {
  min-width: 100px;
}

div.ajaxtable_container table tr td.ajaxtable_onoff_date {
  text-align: left;
}

div.ajaxtable_container table tr td.ajaxtable_onoff_date > span.ajaxtable_onoff-date.hasDate > i,
div.ajaxtable_container table tr td.ajaxtable_onoff_date > span.ajaxtable_onoff-date.hasDate > svg {
  margin-right: 5px !important;
}

/* Keep icon-only link actions as visible and responsive as onoff icons. */

div.ajaxtable_container table tr td.ajaxtable_link.ajaxtables_link_with_icon span.ajaxtable_icon > i,
div.ajaxtable_container table tr td.ajaxtable_link.ajaxtables_link_with_icon span.ajaxtable_icon > svg {
  display: inline-block;
  font-size: 1.6em !important;
  line-height: 1;
  vertical-align: middle;
  transform: scale(1);
  transform-origin: center;
  transition: color 0.3s ease, transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

div.ajaxtable_container table tr td.ajaxtable_link.ajaxtables_link_with_icon a:hover span.ajaxtable_icon > i,
div.ajaxtable_container table tr td.ajaxtable_link.ajaxtables_link_with_icon a:hover span.ajaxtable_icon > svg {
  color: var(--ajaxtable-color-text-link-hover) !important;
  transform: scale(1.1);
}

div.ajaxtable_container table tr td.ajaxtable_link.ajaxtables_link_with_icon a:hover span.ajaxtable_icon > i.red,
div.ajaxtable_container table tr td.ajaxtable_link.ajaxtables_link_with_icon a:hover span.ajaxtable_icon > svg.red {
  color: darkred !important;
}

div.ajaxtable_container table tr td.ajaxtables_icon_only_link,
div.ajaxtable_container table tr th.ajaxtables_icon_only_link {
  width: 1px;
  min-width: 40px;
  padding-right: 1px;
  padding-left: 1px;
  text-align: center;
  white-space: nowrap;
}

div.ajaxtable_container table tr td.ajaxtables_icon_only_link span.ajaxtable_icon {
  margin-right: 0;
}

span.ajaxtable_number_separator {
  display: inline-block;
  white-space: pre;
}

span.ajaxtable_nobreak,
span.ajaxtable_dot,
span.ajaxtable_comma {
  width: 4px;
}

span.ajaxtable_dot,
span.ajaxtable_comma,
span.ajaxtable_nobreak {
  text-align: center;
}

span.ajaxtable_number_separator::before {
  content: attr(data-separator);
}

span.ajaxtable_nobreak::before {
  content: ' ';
}

span.ajaxtable_dot::before {
  content: '.';
}

span.ajaxtable_comma::before {
  content: ',';
}

/* Icons */

.ajaxtable_cell.ajaxtables_cell_with_icon span.ajaxtable_icon {
  margin-right: 8px;
}

.ajaxtable_cell.ajaxtables_cell_with_icon.ajaxtable_partnerid span.ajaxtable_icon {
  display: none;
}

/* Link */

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink {
  display: inline-block;
  width: auto;
  max-width: 100%;
  text-decoration: none !important;
}

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink .ajaxtable_cell_content {
  border-top: 1px solid transparent;
  color: var(--ajaxtable-color-text-link);
  border-radius: 0;
  transition: color 0.18s ease;
}

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink:hover .ajaxtable_cell_content {
  color: var(--ajaxtable-color-text-link-hover);
}

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink:not(:has(> .ajaxtable_cell_content)) {
  border-top: 1px solid transparent;
  transition: color 0.18s ease;
}

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink:not(:has(> .ajaxtable_cell_content)):hover {
  color: var(--ajaxtable-color-text-link-hover);
}

.ajaxtable_cell.ajaxtable_link.ajaxtable_div a.ajaxtable_internalLink,
.ajaxtable_cell.ajaxtable_link.ajaxtable_div a.ajaxtable_internalLink:hover {
  color: inherit;
  text-decoration: none;
}

div.ajaxtable_container a:hover {
  text-decoration: none !important;
}

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink span.linkSpan {
  color: var(--ajaxtable-color-text-link);
  cursor: pointer;
  border-bottom: 1px solid transparent;
  transition: border-bottom-color 0.18s ease, color 0.18s ease;
}

.ajaxtable_cell.ajaxtable_link a.ajaxtable_internalLink span.linkSpan:hover {
  color: var(--ajaxtable-color-text-link-hover);
  border-bottom: 1px solid var(--ajaxtable-color-text-link-hover);
}

.ajaxtable_cell.ajaxtables_icon_only_link a.ajaxtable_internalLink span.linkSpan,
.ajaxtable_cell.ajaxtables_icon_only_link a.ajaxtable_internalLink span.linkSpan:hover {
  border-bottom-color: transparent !important;
}

.ajaxtable_cell.ajaxtable_link.ajaxtable_div a.ajaxtable_internalLink .ajaxtable_divElement {
  transition: background-color 0.18s ease, color 0.18s ease;
}

.ajaxtable_cell.ajaxtable_link.ajaxtable_div a.ajaxtable_internalLink:hover .ajaxtable_divElement {
  background-color: var(--lor-color-dark);
}

/* Keep serial-number action buttons and following icon-link actions on one 20px box. */

div.ajaxtable_container table tr td.ajaxtable_sn.hasButton span.dataChangeButton span.awfClass,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.hasButton span.dataChangeButton span.awfClass,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.ajaxtables_icon_only_link > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  padding: 0;
  line-height: 1;
  vertical-align: middle;
}

div.ajaxtable_container table tr td.ajaxtable_sn.hasButton span.dataChangeButton span.awfClass,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.hasButton span.dataChangeButton span.awfClass {
  top: calc(50% - 10px);
}

div.ajaxtable_container table tr td.ajaxtable_sn.hasButton span.dataChangeButton span.awfClass > i.dataButtonIcon,
div.ajaxtable_container table tr td.ajaxtable_sn.hasButton span.dataChangeButton span.awfClass > svg.dataButtonIcon,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.hasButton span.dataChangeButton span.awfClass > i.dataButtonIcon,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.hasButton span.dataChangeButton span.awfClass > svg.dataButtonIcon,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.ajaxtables_icon_only_link span.ajaxtable_icon > i,
div.ajaxtable_container table tr td.ajaxtable_sn ~ td.ajaxtables_icon_only_link span.ajaxtable_icon > svg {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  font-size: 20px !important;
  line-height: 20px;
  position: static;
  float: none;
}

div.ajaxtable_container table tr td.ajaxtable_div {
  padding: 6px;
}

.ajaxtable_divElement {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  min-height: 36px;
  padding: 6px 4px;
  margin: 1px 2px 1px 0;
  box-sizing: border-box;
  border-radius: 4px;
  background-color: var(--ajaxtable-color-text-link);
  color: #fff;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
  vertical-align: middle;
}

/* Keep legacy subdiv badges readable inside maintained table cells. */

div.ajaxtable_container table tr td div.subdiv {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 4px;
  border-radius: 4px;
  background-color: var(--lor-color);
  color: #fff;
  text-decoration: none !important;
}

div.ajaxtable_container table tr td div.subdiv.red {
  background-color: red;
}

.ajaxtable_imageGallery {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] {
  position: relative;
  align-items: flex-start;
  padding: 10px 10px 10px 24px;
  margin: -10px -10px -10px -24px;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] .ajaxtable_imageItem[data-ajaxtable-sortable-item="1"] {
  cursor: move;
}

.ajaxtable_imageGallery img.ajaxtable_image {
  display: block;
  max-width: none;
  border-radius: 8px;
  cursor: pointer;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16), 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] img.ajaxtable_image {
  cursor: move;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"].ajaxtable_isSorting .ajaxtable_imageItem[data-ajaxtable-sortable-item="1"] .ajaxtable_image {
  box-shadow: 0 0 0 1px var(--lor-color-dark-08);
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] .ajaxtable_imageItem.ui-sortable-helper {
  display: inline-flex;
  align-items: flex-start;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] .ajaxtable_imageItem.ui-sortable-helper .ajaxtable_image {
  transform: scale(1.03);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  opacity: 0.96;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] .ajaxtable_imagePlaceholder {
  position: relative;
  display: inline-flex;
  min-width: 90px;
  min-height: 90px;
  border: 1px solid rgba(90, 90, 90, 0.24);
  border-radius: 8px;
  background: linear-gradient(
    135deg,
    rgba(120, 120, 120, 0.18) 0%,
    rgba(170, 170, 170, 0.3) 100%
  );
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
  box-sizing: border-box;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] .ajaxtable_imagePlaceholder::before {
  content: 'drop here';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 6px 10px;
  border-radius: 999px;
  background-color: var(--lor-color);
  box-shadow: 0 0 0 3px var(--lor-color-12);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.ajaxtable_imageGallery[data-ajaxtable-sortable-gallery="1"] .ajaxtable_imagePlaceholder::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 6px;
  border: 2px dashed var(--lor-color);
  box-shadow: inset 0 0 0 1px var(--lor-color-08);
}

.ajaxtable_uppercase {
  text-transform: uppercase;
}

.ajaxtable_lowercase {
  text-transform: lowercase;
}

.ajaxtable_bold {
  font-weight: bold;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_sn {
  min-width: 150px;
  width: 150px;
  white-space: nowrap;
  font-family: Consolas, 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', Monaco, 'Courier New', monospace;
}

/* Keep maintained serial-number badges visually compatible with legacy deviceSpan output. */

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_sn span.deviceSpan {
  padding: 1px 4px !important;
  color: var(--lor-color);
  background-color: #fafafa;
  border-radius: 4px;
  font-family: Consolas, 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', Monaco, 'Courier New', monospace;
  font-size: 14px;
  position: relative;
}

div.ajaxtable_container table.ajaxtable_table tr:hover td.ajaxtable_sn span.deviceSpan {
  background-color: white;
  color: #333;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_sn a:hover span.deviceSpan {
  background-color: var(--lor-color);
  color: white;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_sn span.incompleteSerialMarker {
  color: red;
}

.ajaxtable_commId {
  white-space: nowrap;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId span.ajaxtable_commIdContent {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  vertical-align: middle;
}

/* Keep SIM/satellite status badges compatible with the legacy commId format. */

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList li {
  background-color: var(--lor-color);
  background-image: none !important;
  border-radius: 3px;
  color: white;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  line-height: 1;
  margin: 1px !important;
  min-height: 36px;
  min-width: 45px;
  padding: 0 5px !important;
  position: relative;
  text-align: center;
  white-space: nowrap !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  margin-left: auto !important;
  position: static;
  width: auto;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes li i,
div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes li svg {
  margin-right: 8px !important;
  position: static;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes li.noText {
  padding: 0 !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes li.noText i,
div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes li.noText svg {
  margin-right: 0 !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes.disabled li {
  background-color: #ccc !important;
  color: white !important;
}

div.ajaxtable_container table.ajaxtable_table tr:hover td.ajaxtable_commId ul.divList.commIdAttributes.disabled li {
  background-color: #999 !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes.error li,
div.ajaxtable_container table.ajaxtable_table tr:hover td.ajaxtable_commId ul.divList.commIdAttributes.error li {
  background-color: red !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId ul.divList.commIdAttributes.active li {
  background-color: green !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId
  ul.divList.commIdAttributes li[data-ajaxtable-commid-refresh="1"] {
  cursor: pointer;
  transition: background-color 0.18s ease;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId
  ul.divList.commIdAttributes li[data-ajaxtable-commid-refresh="1"]:hover {
  background-color: var(--lor-color-dark) !important;
  color: white !important;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId
  ul.divList.commIdAttributes li.taskState.ajaxtable_commId_refreshing {
  cursor: wait;
}

div.ajaxtable_commIdRefreshError {
  background-color: #fff3f3;
  border: 1px solid red;
  color: red;
  margin: 5px;
  padding: 8px 10px;
}

div.ajaxtable_container table.ajaxtable_table td.ajaxtable_commId span.deviceSpan {
  display: inline-block;
  flex: 0 0 auto;
  background-color: #fafafa;
  border-radius: 4px;
  color: var(--lor-color);
  font-family: Consolas, 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', Monaco, 'Courier New', monospace;
  font-size: 14px;
  padding: 1px 4px !important;
}

div.ajaxtable_container table.ajaxtable_table tr:hover td.ajaxtable_commId span.deviceSpan {
  background-color: white;
  color: #333;
}