.a_table__parent {
  --a_table_bg: var(--a_color_white);
  --a_table_th_bg: var(--a_color_gray_300);
  --a_table_th_border_vertical_width: 2px;
  --a_table_th_border_vertical_color: var(--a_color_gray_100);
  --a_table_th_border_horizontal_width: 2px;
  --a_table_th_border_horizontal_color: var(--a_color_gray_100);
  --a_table_th_border_bottom_width: 2px;
  --a_table_th_border_bottom_color: var(--a_color_gray_500);
  --a_table_th_sorting_bg: #d0e3a4;
  --a_table_row_border_bottom_width: 2px;
  --a_table_row_border_bottom_color: var(--a_color_gray_500);
  --a_table_row_hover_bg: #e1f2ff;
  --a_table_row_focus_shadow_size: inset 0 0 1px 3px;
  --a_table_row_focus_shadow_color: var(--a_color_focus);
  --a_table_row_preview_open_bg: #D0DD98;
  --a_table_row_preview_was_open_bg: #ECF1D5;
  --a_table_td_border_vertical_width: 2px;
  --a_table_td_border_vertical_color: var(--a_color_gray_100);
  --a_table_cell_padding_x: .5rem;
  --a_table_cell_padding_y: .5rem;
  --a_table_quick_search_width: 15.625rem;
  --a_table_between_actions_margin: .5rem;
  --a_table_preview_right_padding: .25rem .8rem;
  --a_table_preview_right_width: 18.75rem;
  --a_table_preview_right_bg: #fff;
  --a_table_preview_right_border_width: 0 0 0 1px;
  --a_table_preview_right_border_color: #f1f4f7;
  --a_table_preview_right_header_bg: #f1f4f7;
  --a_table_preview_right_header_font_size: 1.5rem;
  --a_table_preview_right_shadow_size: -2px 0 3px 1px;;
  --a_table_preview_right_shadow_color: var(--a_color_gray_600);
  --a_table_preview_down_border_width: 4px;
  --a_table_preview_down_border_color: var(--a_color_gray_600);
  --a_table_preview_down_padding_y: 1.5rem;
  --a_table_preview_down_padding_left: 1.5rem;
  --a_table_preview_down_padding_right: 1.5rem;
  --a_table_preview_down_border_radius: var(--a_border_radius, 0);
  --a_table_footer_border_top: 2px solid var(--a_color_gray_800);
  --a_table_draggable_color: var(--a_color_primary);
  --a_table_mobile_dt_dd_border_bottom: 1px solid var(--a_color_gray_200);
  --a_table_mobile_dt_width: 0.4;
  --a_table_mobile_dd_width: 0.6;
  --a_table_mobile_dt_padding_left: .5rem;
  --a_table_mobile_dd_padding_right: .5rem;
  --a_table_mobile_row_level_icon_width: 1.25rem;
  --a_table_multiple_border_radius: var(--a_border_radius, 0);
  --a_table_multiple_border: 1px solid var(--a_color_gray_600, #f1f4f7);
  --a_table_multiple_bg: var(--a_color_gray_100, #fff);
  --a_table_multiple_header_text_font_size: 1rem;
  --a_table_multiple_items_selected_border: 1px solid var(--a_table_row_preview_focus_bg);
  --a_table_multiple_items_selected_bg: var(--a_table_row_preview_was_open_bg);
  --a_table_sort_sequence_num_bg: var(--a_color_primary);
  --a_table_sort_sequence_num_color: var(--a_color_white);
  --a_table_dnd_th_bg: var(--a_color_gray_500);
  --a_table_dnd_th_width: 3.125rem;
  --a_table_tree_level_padding_left: 1.2rem;

  width: 100%;
  overflow-x: hidden;
  position: relative;
}
.a_table__parent_scrollable {
  overflow-x: auto;
}
.a_table {

  display: block;
  width: 100%;
  caption-side: bottom;
  border-collapse: collapse;
  vertical-align: top;
  overflow-x: auto;
}
.a_table__body,
.a_table__td,
.a_table__th,
.a_table__head,
.a_table__row {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
.a_table__loading {
  position: relative;
  min-height: 3rem;
}
.a_table__cell {
  padding: var(--a_table_cell_padding_y) var(--a_table_cell_padding_x);
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

.a_table__cell__child {
  width: 100%;
}
.a_table__cell_checkbox {
  --a_table_cell_padding_x: 0;
}

.a_table__empty_text {
  padding: var(--a_table_cell_padding_x) var(--a_table_cell_padding_y);
  background-color: var(--a_table_bg);
  border-bottom-width: 1px;
}
.a_table__cell_click {
  cursor: pointer;
}
.a_table__head {
  display: flex;
  flex-direction: column;
}
.a_table__head_dragstart .a_table__th > * {
  pointer-events: none;
}
.a_table__row {
  display: flex;
  min-width: min-content;
  border-bottom: var(--a_table_row_border_bottom_width) solid var(--a_table_row_border_bottom_color);
  background-color: var(--a_table_bg);
  &:focus {
    outline: none;
    box-shadow: var(--a_table_row_focus_shadow_size) var(--a_table_row_focus_shadow_color);
    .a_table__cell_action_sticky {
      box-shadow: var(--a_table_row_focus_shadow_size) var(--a_table_row_focus_shadow_color);
    }
  }
}
.a_table__row_hide {
  display: none;
}
.a_table__head__row {
  background-color: var(--a_table_th_bg);
  border-bottom: var(--a_table_th_border_bottom_width) solid var(--a_table_th_border_bottom_color);
}

.a_table__th {
  display: flex;
  align-items: center;
  position: relative;
  background-color: inherit;
  padding: 0;
  .a_table__cell__child {
    padding: var(--a_table_cell_padding_y) var(--a_table_cell_padding_x);
  }
  &.a_table__cell_action {
    background-color: inherit;
    padding: var(--a_table_cell_padding_y) var(--a_table_cell_padding_x);
  }
  .a_table__cell__child {
    height: 100%;
  }
}
.a_table__th_group_container {
  display: flex;
  flex-direction: row;
}
.a_table__cell_group {
  height: 100%;
  padding: var(--a_table_cell_padding_y) var(--a_table_cell_padding_x);
}
.a_table__th_child_group {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.a_table__th__btn {
  padding: 0;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: inherit;
  display: flex;
  align-items: center;
  &.a_text_right {
    justify-content: flex-end;
  }
  &.a_text_left {
    justify-content: flex-start;
  }
  &.a_text_center {
    justify-content: center;
  }
}
.a_table__th__btn_sort {
  padding-right: 0.9375rem;
}
.a_table__th__btn_sequence {
  padding-right: 2.8125rem;
}
.a_table__th_draggable {
  cursor: move;
}
.a_table__th_over {
  position: relative;
  &:before {
    content: "";
    display: block;
    width: var(--a_table_dnd_th_width);
    height: 100%;
    background-color: var(--a_table_dnd_th_bg);
  }
}
.a_table__th_over_right {
  &:after {
    content: "";
    display: block;
    width: var(--a_table_dnd_th_width);
    height: 100%;
    background-color: var(--a_table_dnd_th_bg);
  }
}
.a_table__th,
.a_table__th__dropdown__li {
  .a_sr_only,
  .a_sr_only_focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
  }
}

.a_table__th__dropdown__li_invisible {
  .a_dropdown__item_text {
    color: var(--a_color_gray_600);
  }
  .a_table__th__dropdown_item__icon_btn {
    color: var(--a_color_gray_600);
  }
}

.a_table__th__dropdown__li_over {
  &:before {
    content: "";
    display: block;
    height: var(--a_table_draggable_li_height);
    background-color: var(--a_table_dnd_dropdown_li_bg);
  }
}
.a_table__th__dropdown__li_over_right {
  &:after {
    content: "";
    display: block;
    height: var(--a_table_draggable_li_height);
    background-color: var(--a_table_dnd_dropdown_li_bg);
  }
}

.a_table__th_sorting {
  background-color: var(--a_table_th_sorting_bg);
}
.a_table__grandparent:not(.a_table_mobile) {
  .a_table__row_hover:hover,
  .a_table__row_hover:focus-within {
    background-color: var(--a_table_row_hover_bg);
    .a_table__cell_action_sticky {
      background-color: var(--a_table_row_hover_bg);
    }
  }
  .a_table__row.a_table__row_preview_open {
    background-color: var(--a_table_row_preview_open_bg);
    .a_table__cell_action_sticky {
      background-color: var(--a_table_row_preview_open_bg);
    }
  }
  .a_table__row.a_table__row_preview_was_open {
    background-color: var(--a_table_row_preview_was_open_bg);
    .a_table__cell_action_sticky {
      background-color: var(--a_table_row_preview_was_open_bg);
    }
  }
}
.a_table__td {
  display: flex;
  align-items: center;
  overflow-x: auto;
}


.a_table__body,
.a_table__footer {
  display: flex;
  flex-direction: column;
  min-width: min-content;
}

.a_table__footer {
  border-top: var(--a_table_footer_border_top);
}

.a_table__th__icon + .a_table__th__text {
  margin-left: var(--a_table_between_actions_margin, .5rem);
}

.a_table__th__sort {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.a_table__th__sort__box {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  display: flex;
  align-items: center;
}

.a_table__th__sort__sequence_num {
  margin-right: .2rem;
  background-color: var(--a_table_sort_sequence_num_bg);
  color: var(--a_table_sort_sequence_num_color);
  text-underline: none;
  &:hover {
    text-underline: none;
  }
}

.a_table__th__sort__icons {
  display: flex;
  flex-direction: column;
}

.a_table__th__sort__icon {
  width: 0.8125rem;
  height: 0.8125rem;
  line-height: 0;
}

.a_table__cell_action {
  justify-content: flex-end;
  flex-grow: 1;
  min-width: 3.125rem;
  > .a_table__cell__child {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.a_table__cell_action__group {
  margin-left: auto;
  > * + * {
    margin-left: 0.5rem;
  }
  .aloha_group_btn_dropdown .a_btn_group_table {
    width: 100%;
  }
}
.a_table__cell_action_sticky {
  position: sticky;
  right: 0;
  background-color: var(--a_table_bg);
}
.a_table__th__dropdown_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  white-space: nowrap;
}
.a_table__th__dropdown_item__child {
  position: relative;
  flex-grow: 1;
  padding-right: 1.5625rem;
  display: flex;
  align-items: center;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  white-space: normal;
}
.a_table__th__dropdown_item__btn_arrow {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.a_table__th__dropdown__ul {
  --a_table_draggable_color: var(--a_color_primary);
  --a_table_dnd_dropdown_li_bg: var(--a_color_gray_200);
  --a_table_draggable_li_height: 1.875rem;

  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}
.a_table__drag_element {
  opacity: 0.4;
}
.a_table__th__dropdown__ul_dragstart .a_table__th__dropdown__li > * {
  pointer-events: none;
}
.a_table__th__dropdown_item__icon {
  margin-right: var(--a_table_between_actions_margin, .5rem);
}
.a_table__th__dropdown_item__icon_btn {
  padding: 0;
}

.a_table__th__dropdown_item__icon_dnd {
  margin-left: 1rem;
  cursor: move;
}

.a_table__th__dropdown__search {
  padding-top: .75rem;
}

.a_table__top_panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: var(--a_table_between_actions_margin) 0;
}

.a_table__top_panel__label {
  display: inline-block;
  font-size: 1.5rem;
}
.a_table__top_panel__label__count {
  padding-left: var(--a_table_between_actions_margin);
}
.a_table__top_panel__actions {
  margin-left: auto;
  .a_table__action {
    margin-left: var(--a_table_between_actions_margin);
  }
  .aloha_group_btn_dropdown {
    display: inline-block;
  }
}
.a_table__top_panel__actions__quick_search {
  display: inline-block;
  width: var(--a_table_quick_search_width);
  margin-left: var(--a_table_between_actions_margin);
}
.a_table__action {
  position: relative;
  margin-left: var(--a_table_between_actions_margin);
}
.a_table__action__icon + .a_table__action__text{
  margin-left: var(--a_table_between_actions_margin, .5rem);
}

.a_table__row_action {
  position: relative;
}
.a_table__cell_action__additional_icon {
  margin-right: .25rem;
}
.a_table__cell_action__btn {
  --a_btn_padding_y: 0.25rem;
  --a_btn_padding_x: 0.5rem;
  --a_btn_font_size: 0.875rem;
}

.a_table__preview_right {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: var(--a_table_preview_right_width);
  height: 100vh;
  overflow-y: auto;
  background-color: var(--a_table_preview_right_bg);
  border-width: var(--a_table_preview_right_border_width);
  border-style: solid;
  border-color: var(--a_table_preview_right_border_color);
  box-shadow: var(--a_table_preview_right_shadow_size) var(--a_table_preview_right_shadow_color);

  &:focus {
    --a_table_preview_right_shadow_color: var(--a_table_row_focus_shadow_color);
  }
}
.a_table__preview_right__header {
  background-color: var(--a_table_preview_right_header_bg);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: var(--a_table_preview_right_padding);
  font-size: var(--a_table_preview_right_header_font_size);
}
.a_table__preview_right__header__text {
  margin-right: .5rem;
}
.a_table__preview_right__header__icons {
  display: inline-block;
}
.a_table__preview_right__body {
  padding: var(--a_table_preview_right_padding);
}
.a_table__preview_right__btn_close {
  padding: 0;
}
.a_table__preview_right__resizer {
  left: 0;
}



.a_table_mobile {
  .a_table__row {
    flex-direction: column;
    &:first-child {
      border-top: var(--a_table_row_border_bottom_width) solid var(--a_table_row_border_bottom_color);
    }
  }
  .a_table__td {
    border-bottom: none;
  }
  .a_table__cell_action {
    --a_table_th_border_vertical_width: 0;
  }
}

.a_table_mobile__dl__wrapper {
  display: flex;
  width: 100%;
  align-items: center;
  position: relative;
}
//.a_table__row_has_children {
//  .a_table_mobile__dl {
//    dt {
//      width: calc((100% + var(--a_table_mobile_row_level_icon_width)) * var(--a_table_mobile_dt_width) - var(--a_table_mobile_row_level_icon_width));
//    }
//    dd {
//      width: calc((100% + var(--a_table_mobile_row_level_icon_width)) * var(--a_table_mobile_dd_width));
//    }
//  }
//}

.a_table_mobile__dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  dt, dd {
    border-bottom: var(--a_table_mobile_dt_dd_border_bottom);
    display: flex;
    align-items: center;
  }
  dt {
    width: calc(100% * var(--a_table_mobile_dt_width));
    padding-left: var(--a_table_mobile_dt_padding_left);
    font-weight: bolder;
    padding-right: 1rem;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
  }
  dd {
    width: calc(100% * var(--a_table_mobile_dd_width));
    padding-right: var(--a_table_mobile_dd_padding_right);
  }
  .a_table__td {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}
.a_table_mobile__actions_parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: var(--a_table_mobile_dt_padding_left);
  padding-right: var(--a_table_mobile_dd_padding_right);
  .a_table__cell_action {
    flex-grow: unset;
    margin-left: auto;
  }
}
.a_table_mobile__columns_btn_toggle {
  padding: 0;
}

.a_table__multiple_panel {
  padding: 1rem;
  border-radius: var(--a_table_multiple_border_radius);
  border: var(--a_table_multiple_border);
  background-color: var(--a_table_multiple_bg);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5rem;
}
.a_table__multiple_panel__header {
  display: flex;
  flex-direction: column;
}
.a_table__multiple_panel__header__text {
  font-size: var(--a_table_multiple_header_text_font_size);
}
.a_table__multiple_panel__items {
  margin-top: .5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.a_table__multiple_panel__items__selected {
  display: inline-block;
  padding: .25rem .5rem;
  border: var(--a_table_multiple_items_selected_border);
  background-color: var(--a_table_multiple_items_selected_bg);
  border-radius: var(--a_table_multiple_border_radius);
}
.a_table__multiple_panel__btn_all_rows {
  margin-left: .5rem;
}
.a_table__preview_down {
  background-color: #ffffff;
  border: var(--a_table_preview_down_border_width) solid var(--a_table_preview_down_border_color);
  padding: var(--a_table_preview_down_padding_y) var(--a_table_preview_down_padding_left) var(--a_table_preview_down_padding_y) var(--a_table_preview_down_padding_left);
  position: relative;
  min-height: 3.125rem;
  border-radius: var(--a_table_preview_down_border_radius);

  &:focus {
    box-shadow: var(--a_table_row_focus_shadow_size) var(--a_table_row_focus_shadow_color);
  }
  .a_table__preview_down__btn_close {
    line-height: 1;
    padding: 0;
    position: absolute;
    right: .5rem;
    top: .5rem;
  }
}
.a_table_bordered {
  .a_table__body__row {
    border-right: var(--a_table_td_border_vertical_width) solid var(--a_table_td_border_vertical_color);
  }
  .a_table__head__row {
    border-right: var(--a_table_th_border_vertical_width) solid var(--a_table_th_border_vertical_color);
  }
}
.a_table_mobile {
  .a_table_bordered {
    .a_table__body__row {
      border-left: var(--a_table_td_border_vertical_width) solid var(--a_table_td_border_vertical_color);
    }
  }
}
.a_table_bordered,
.a_table_inner_bordered {
  .a_table__td {
    border-left: var(--a_table_td_border_vertical_width) solid var(--a_table_td_border_vertical_color);
  }
  .a_table__th {
    border-left: var(--a_table_th_border_vertical_width) solid var(--a_table_th_border_vertical_color);
  }
  .a_table__th_group {
    &:not(:first-child) {
      .a_table__cell_group,
      .a_table__cell__child_group {
        border-left: var(--a_table_th_border_vertical_width) solid var(--a_table_th_border_vertical_color);
      }
      + .a_table__th {
        border-left: var(--a_table_th_border_vertical_width) solid var(--a_table_th_border_vertical_color);
      }
    }
  }
  .a_table__cell_action {
    border-left: var(--a_table_th_border_vertical_width) solid var(--a_table_th_border_vertical_color);
  }
  .a_table__cell_group {
    border-bottom: var(--a_table_th_border_horizontal_width) solid var(--a_table_th_border_horizontal_color);
  }
}
.a_table__grandparent:not(.a_table_mobile) {
  .a_table_simple.a_table_bordered {
    .a_table__td:last-child {
      border-right: var(--a_table_td_border_vertical_width) solid var(--a_table_td_border_vertical_color);
    }
    .a_table__th:last-child {
      border-right: var(--a_table_td_border_vertical_width) solid var(--a_table_td_border_vertical_color);
    }
    .a_table__body__row,
    .a_table__head__row {
      border-right: none;
    }
  }
}

.a_table__grandparent_without_scroll {
  .a_table__parent {
    overflow-x: unset;
  }
  .a_table {
    overflow-x: unset;
  }
}
.a_table__row_level {
  .a_table__cell:first-child .a_table__cell__child {
    position: relative;
  }
}
.a_table__row_level_1 {
  > .a_table__cell:first-child .a_table__cell__child,
  .a_table_mobile__dl__wrapper {
    padding-left: var(--a_table_tree_level_padding_left);
    .a_table__row_level__icon {
      left: 0;
    }
  }
  .a_table_mobile__dl {
    dt {
      width: calc((100% + var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dt_width) - var(--a_table_tree_level_padding_left));
    }
    dd {
      width: calc((100% + var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dd_width));
    }
  }
}
.a_table__row_level_2 {
  > .a_table__cell:first-child .a_table__cell__child,
  .a_table_mobile__dl__wrapper {
    padding-left: calc(2 * var(--a_table_tree_level_padding_left));
    .a_table__row_level__icon {
      left: var(--a_table_tree_level_padding_left);
    }
  }
  .a_table_mobile__dl {
    dt {
      width: calc((100% + 2 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dt_width) - 2 * var(--a_table_tree_level_padding_left));
    }
    dd {
      width: calc((100% + 2 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dd_width));
    }
  }
}
.a_table__row_level_3 {
  > .a_table__cell:first-child .a_table__cell__child,
  .a_table_mobile__dl__wrapper {
    padding-left: calc(3 * var(--a_table_tree_level_padding_left));
    .a_table__row_level__icon {
      left: calc(2 * var(--a_table_tree_level_padding_left));
    }
  }
  .a_table_mobile__dl {
    dt {
      width: calc((100% + 3 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dt_width) - 3 * var(--a_table_tree_level_padding_left));
    }
    dd {
      width: calc((100% + 3 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dd_width));
    }
  }
}
.a_table__row_level_4 {
  > .a_table__cell:first-child .a_table__cell__child,
  .a_table_mobile__dl__wrapper {
    padding-left: calc(4 * var(--a_table_tree_level_padding_left));
    .a_table__row_level__icon {
      left: calc(3 * var(--a_table_tree_level_padding_left));
    }
  }
  .a_table_mobile__dl {
    dt {
      width: calc((100% + 4 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dt_width) - 4 * var(--a_table_tree_level_padding_left));
    }
    dd {
      width: calc((100% + 4 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dd_width));
    }
  }
}
.a_table__row_level_5 {
  > .a_table__cell:first-child .a_table__cell__child,
  .a_table_mobile__dl__wrapper {
    padding-left: calc(5 * var(--a_table_tree_level_padding_left));
    .a_table__row_level__icon {
      left: calc(4 * var(--a_table_tree_level_padding_left));
    }
  }
  .a_table_mobile__dl {
    dt {
      width: calc((100% + 5 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dt_width) - 5 * var(--a_table_tree_level_padding_left));
    }
    dd {
      width: calc((100% + 5 * var(--a_table_tree_level_padding_left)) * var(--a_table_mobile_dd_width));
    }
  }
}
.a_table__row_level__icon {
  display: inline-block;
  position: absolute;
  left: 0;
}
.a_table_mobile__dl__wrapper {
  .a_table__row_level__icon {
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    background-color: var(--a_color_gray_200);
  }
}
.a_table__row_level_open {
  .a_table__row_level__icon {
    transform: rotate(90deg);
  }
  .a_table_mobile__dl__wrapper {
    .a_table__row_level__icon {
      transform: none;
      .a_icon {
        transform: rotate(90deg);
      }
    }
  }
}
.a_table__pagination_top {
  border-bottom: var(--a_table_row_border_bottom_width) solid var(--a_table_row_border_bottom_color);
}
