/*!***********************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/form.css ***!
  \***********************************************************************************************************************************************/
form {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 0.5rem;
}

/*!**************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/buttons.css ***!
  \**************************************************************************************************************************************************/
button,
.button {
  color: var(--color-contrast-9);
  background-color: var(--color-accent-light);
  border: 2px solid var(--color-accent-light);
  font-weight: 700;
  border-radius: 0.4rem;
  padding: 0 1rem;
  line-height: 1.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  user-select: none;
}

:is(button,.button) * {
    display: block;
  }

[data-ellipsis]:is(button,.button) {
    display: table;
    table-layout: fixed;
    width: 100%;
    white-space: normal;
    overflow: auto;
  }

[data-ellipsis]:is(button,.button) > div {
      display: table-cell;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }

[disabled]:is(button,.button) {
    background-color: var(--color-contrast-9) !important;
    border-color: var(--color-contrast-9);
    color: var(--color-contrast-7);
  }

:is(button,.button):focus {
    border: 2px solid var(--color-accent);
  }

:is(button,.button):hover,:is(button,.button):active {
    background-color: var(--color-accent-lighter);
    color: var(--color-contrast-10);
  }

.button--processing:is(button,.button) {
    background-color: var(--color-contrast-9);
    border-color: var(--color-contrast-7);
    color: transparent;
    position: relative;
  }

.button--processing:is(button,.button)::before {
    border: 2px solid var(--color-contrast-7);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 0.75rem;
    height: 0.75rem;
    margin: auto;
    border-left-color: var(--color-contrast-3);
    border-radius: 100%;
    animation: spin 0.65s infinite linear;
    content: '';
  }

.button--type_confirm:is(button,.button) {
    color: var(--color-contrast-10);
    background-color: var(--color-accent-light);
  }

.button--type_toolbar:is(button,.button) {
    color: var(--color-contrast-1);
    border: 0;
    background: none;
    padding: 0 0.25rem;
    line-height: 1.5rem;
    border-radius: unset;
  }

.button--type_toolbar:is(button,.button):focus {
      color: var(--color-contrast-3);
      border-bottom: 2px solid var(--color-contrast-3);
    }

.button--type_toolbar:is(button,.button):hover,.button--type_toolbar:is(button,.button):active {
      color: var(--color-contrast-7);
      border-bottom: 3px solid var(--color-contrast-7);
      cursor: pointer;
    }

.button--type_link:is(button,.button) {
    padding: 0;
    border: 0;
    background-color: transparent;
    text-decoration: underline;
    color: var(--color-contrast-1);
  }

.button--type_link.button--light:is(button,.button) {
      color: var(--color-contrast-9);
    }

.button--type_link:is(button,.button):focus {
      color: var(--color-contrast-3);
    }

.button--type_link:is(button,.button):hover,.button--type_link:is(button,.button):active {
      color: var(--color-contrast-7);
      cursor: pointer;
    }

.button--type_link[disabled]:is(button,.button) {
      background-color: transparent !important;
      color: var(--color-contrast-7);
      cursor: unset;
    }

.button--type_icon:is(button,.button) {
    display: flex;
    padding: 0;
    border: 0;
    background: none;
    align-items: center;
  }

.button--type_icon:is(button,.button):focus {
      color: var(--color-contrast-3);
    }

.button--type_icon:is(button,.button):hover,.button--type_icon:is(button,.button):active {
      color: var(--color-contrast-7);
      cursor: pointer;
    }

.button--type_icon:is(button,.button):focus svg.icon .line {
      stroke: var(--color-contrast-3);
    }

.button--type_icon:is(button,.button):hover svg.icon .line,.button--type_icon:is(button,.button):active svg.icon .line {
      stroke: var(--color-contrast-7);
    }

.button--type_list-item:is(button,.button) {
    display: block;
    background-color: var(--color-contrast-11);
    color: var(--color-contrast-1);
    padding: 0 0.25rem;
    line-height: 1.5rem;
    border: 0;
    border-radius: unset;
    width: 100%;
    text-align: left;
    font-weight: var(--font-weight);
  }

.button--type_list-item:is(button,.button):focus {
      color: var(--color-contrast-7);
    }

.button--type_list-item:is(button,.button):hover,.button--type_list-item:is(button,.button):active {
      color: var(--color-contrast-3);
      cursor: pointer;
    }

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.buttons {
  padding: 1rem 0.5rem 0.5rem;
}

.buttons > .button {
    margin-right: 0.5rem;
  }

/*!******************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/logout.css ***!
  \******************************************************************************************************************************************/
.logout {
  display: flex;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  font-family: 700;
  font-size: 2rem;
  background-color: var(--color-primary-lighter);
}

/*!******************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/header.css ***!
  \******************************************************************************************************************************************/
.header {
  display: flex;
  justify-content: space-between;
  background-color: var(--color-primary-light);
  width: 100vw;
  line-height: 2rem;
  font-size: 1rem;
  border-bottom: solid 5px var(--color-primary-dark);
}
.header nav.left {
    display: flex;
  }
:is(.header nav.left) a {
      padding: 0 1.5rem;
      text-decoration: none;
      font-weight: 600;
    }
:is(:is(.header nav.left) a):hover,:is(:is(.header nav.left) a):focus {
        background-color: var(--color-primary-lighter);
      }
.selected:is(:is(.header nav.left) a) {
        background-color: var(--color-primary);
      }
.header nav.right {
    display: flex;
  }
:is(.header nav.right) a {
      padding: 0 1.5rem;
      text-decoration: none;
      font-weight: 600;
    }
:is(:is(.header nav.right) a):hover,:is(:is(.header nav.right) a):focus {
        background-color: var(--color-primary-lighter);
      }
.selected:is(:is(.header nav.right) a) {
        background-color: var(--color-primary);
      }

/*!************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/toast.css ***!
  \************************************************************************************************************************************************/
.toast {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  font-weight: 600;
  font-size: 1rem;
}
.toast > div {
    padding: 0 1rem;
    display: flex;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    background-color: var(--color-primary-lighter);
  }
.toast .message {
    padding: 0 1rem 0 0;
    line-height: 2.5rem;
  }

/*!*************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/notice.css ***!
  \*************************************************************************************************************************************************/
.notice {
  background-color: var(--color-primary-lighter);
  border: 2px solid var(--color-primary);
  padding: 0.5rem;
  margin: 0 1rem 1rem;
  font-weight: 600;
  max-width: 50vw;
  max-height: 10rem;
  overflow: auto;
}

.notice[data-level='warning'] {
  background-color: var(--color-warning-lighter);
  border: 2px solid var(--color-warning);
}

.notice[data-level='accent'] {
  background-color: var(--color-accent-lighter);
  border: 2px solid var(--color-accent);
}

.notice[data-level='error'] {
  background-color: var(--color-error-lighter);
  border: 2px solid var(--color-error);
}

/*!************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/modal.css ***!
  \************************************************************************************************************************************************/
#modal-root.show {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-contrast-1-alpha-50);
  justify-content: center;
  align-items: center;
}
#modal-root.show .modal {
    background-color: var(--color-contrast-11);
    border-radius: 0.4rem;
  }
.size_xlarge:is(#modal-root.show .modal) {
      min-width: 50rem;
      max-width: 60rem;
    }
.size_large:is(#modal-root.show .modal) {
      min-width: 40rem;
      max-width: 50rem;
    }
.size_medium:is(#modal-root.show .modal) {
      min-width: 30rem;
      max-width: 40rem;
    }
.size_small:is(#modal-root.show .modal) {
      min-width: 20rem;
      max-width: 30rem;
    }
:is(#modal-root.show .modal) header {
      display: flex;
      justify-content: space-between;
      border-top-left-radius: 0.4rem;
      border-top-right-radius: 0.4rem;
      line-height: 2rem;
      font-weight: 700;
      padding: 0 0.5rem;
      margin-bottom: 1rem;
      border-bottom: 2px solid var(--color-primary-dark);
      background-color: var(--color-primary-lighter);
    }
:is(:is(#modal-root.show .modal) header) span {
        margin-right: 1rem;
      }
:is(#modal-root.show .modal) > .notice {
      margin-left: 0.5rem;
      margin-right: 0.5rem;
    }
:is(#modal-root.show .modal) .content {
      padding: 0 0.5rem;
      max-height: calc(100vh - 20rem);
      overflow: auto;
    }

/*!***************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/calendar.css ***!
  \***************************************************************************************************************************************************/

  .calendar_input > input {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid transparent;
    background-color: var(--color-contrast-10);
    border-radius: 0.25rem;
    padding: 0 0.5rem;
    line-height: var(--line-height);
  }

:is(.calendar_input > input):hover,:is(.calendar_input > input):active,:is(.calendar_input > input):focus {
      background-color: var(--color-contrast-10);
    }

.calendar_input .calendar_input__drop {
    display: none;
    position: absolute;
    background-color: var(--color-contrast-7);
    padding: 0.5rem 2px;
    border-top-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    top: calc(var(--line-height) + 2px);
    box-shadow: var(--color-contrast-1-alpha-20) 0 0.5rem 0.5rem;
  }

.calendar_input.expanded {
    position: relative;
  }

.calendar_input.expanded > input {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      background-color: var(--color-contrast-7);
      color: var(--color-contrast-10);
    }

.calendar_input.expanded .calendar_input__drop {
      display: block;
    }

.calendar {
  background-color: var(--color-contrast-11);
  user-select: none;
}

.calendar .calendar__month_header {
    text-align: center;
    width: 100%;
  }

:is(.calendar .calendar__month_header):focus {
      background-color: var(--color-contrast-10);
    }

.calendar .calendar__year_header {
    text-align: center;
    width: 100%;
  }

:is(.calendar .calendar__year_header):focus {
      background-color: var(--color-contrast-10);
    }

.calendar .calendar__header {
    display: flex;
  }

:is(.calendar .calendar__header) :nth-child(1) {
      flex: 0 0 1.25rem;
      border: 0;
      padding: 0;
      background-color: transparent;
    }

:is(.calendar .calendar__header) :nth-child(2) {
      flex: 1 0 0;
    }

:is(.calendar .calendar__header) :nth-child(3) {
      flex: 0 0 1.25rem;
      border: 0;
      padding: 0;
      background-color: transparent;
    }

.calendar .calendar__month_grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(5, 1fr);
    grid-column-gap: 0.25rem;
    grid-row-gap: 0.25rem;
    padding: 0.25rem;
    width: 14rem;
  }

.calendar .calendar__day {
    text-align: center;
    border-radius: 0.25rem;
    line-height: 1.5rem;
    border: 2px solid transparent;
    background-color: var(--color-contrast-10);
  }

:is(.calendar .calendar__day):hover,:is(.calendar .calendar__day):active,:is(.calendar .calendar__day):focus {
      background-color: var(--color-contrast-7);
      cursor: pointer;
    }

.calendar .calendar__day_odd {
    background-color: var(--color-contrast-10);
  }

.calendar .calendar__day_cursor {
    border-color: var(--color-accent-darker);
  }

.calendar .calendar__day_date {
    background-color: var(--color-contrast-3);
    color: var(--color-contrast-10);
  }

.calendar .calendar__day_today {
    color: var(--color-contrast-10);
    background-color: var(--color-accent-lighter);
  }

:is(.calendar .calendar__day_today):hover,:is(.calendar .calendar__day_today):active,:is(.calendar .calendar__day_today):focus {
      background-color: var(--color-accent-lighter);
    }

.calendar__day_cursor:is(.calendar .calendar__day_today) {
      background-color: var(--color-accent);
    }

.calendar .calendar__day_start_date {
    position: relative;
    background-color: var(--color-accent-light);
  }

:is(.calendar .calendar__day_start_date)::after {
      content: '';
      position: absolute;
      border-top: 0.5rem solid transparent;
      border-bottom: 0.5rem solid transparent;
      border-left: 0.35rem solid var(--color-accent-darker);
      top: 0.25rem;
      left: -2px;
    }

.calendar .calendar__day_end_date {
    position: relative;
    background-color: var(--color-accent-light);
  }

:is(.calendar .calendar__day_end_date)::after {
      content: '';
      position: absolute;
      border-top: 0.5rem solid transparent;
      border-bottom: 0.5rem solid transparent;
      border-right: 0.35rem solid var(--color-accent-darker);
      top: 0.25rem;
      right: -2px;
    }

.calendar .calendar__day_between {
    background-color: var(--color-accent-lighter);
  }

/*!*****************************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/assets/asset_value_edit_modal.css ***!
  \*****************************************************************************************************************************************************************/
.value_quantity_inputs {
  display: flex;
}
.value_quantity_inputs input:nth-child(1) {
    flex-grow: 1;
  }
.value_quantity_inputs svg {
    padding: 0.6rem 0.5rem 0;
  }
.value_quantity_inputs input:nth-child(3) {
    max-width: 7rem;
  }

/*!*************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/assets/assets.css ***!
  \*************************************************************************************************************************************************/
.asset_value_table {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1em 2em 1em;
}
.asset_value_table > header {
    border-bottom: solid 2px var(--color-contrast-7);
    display: flex;
    justify-content: space-between;
    line-height: 2rem;
  }
:is(.asset_value_table > header) .title {
      font-size: 1.2rem;
    }
:is(.asset_value_table > header) .list_filters {
      display: flex;
    }
:is(.asset_value_table > header) .list_actions button {
      border: 0;
      background: none;
      padding: 0 0.25rem;
    }
:is(:is(.asset_value_table > header) .list_actions button):hover,:is(:is(.asset_value_table > header) .list_actions button):active,:is(:is(.asset_value_table > header) .list_actions button):focus {
        background-color: var(--color-contrast-10);
        border-bottom: 1px solid var(--color-contrast-7);
      }
.asset_value_table > .grid {
    overflow: auto;
    display: grid;
    grid-template-columns: auto repeat(20, minmax(120px, 1fr));
    column-gap: 0.5rem;
  }
:is(.asset_value_table > .grid) > header,:is(.asset_value_table > .grid) > .row {
      display: grid;
      grid-column: 1 / -1;

      grid-template-columns: subgrid;
    }
:is(.asset_value_table > .grid) > * > :first-child {
      white-space: nowrap;
    }
:is(.asset_value_table > .grid) > header {
      background-color: var(--color-contrast-9);
    }
:is(.asset_value_table > .grid) > .row:nth-child(odd) {
      background-color: var(--color-contrast-10);
    }
:is(.asset_value_table > .grid) > * > :not(:first-child) {
      text-align: right;
    }
:is(:is(.asset_value_table > .grid) > .row) > .change-positive-1 {
        background-color: var(--color-magnitude-p1);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-positive-2 {
        background-color: var(--color-magnitude-p2);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-positive-3 {
        background-color: var(--color-magnitude-p3);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-positive-4 {
        background-color: var(--color-magnitude-p4);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-positive-5 {
        background-color: var(--color-magnitude-p5);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-negative-1 {
        background-color: var(--color-magnitude-n1);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-negative-2 {
        background-color: var(--color-magnitude-n2);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-negative-3 {
        background-color: var(--color-magnitude-n3);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-negative-4 {
        background-color: var(--color-magnitude-n4);
      }
:is(:is(.asset_value_table > .grid) > .row) > .change-negative-5 {
        background-color: var(--color-magnitude-n5);
      }

/*!****************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/tag_input.css ***!
  \****************************************************************************************************************************************************/
.badge_list {
  --gap: 0.5rem;
  display: inline-flex;
  flex-wrap: wrap;
  margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
}

.badge_list > .tag_badge {
    margin: var(--gap) 0 0 var(--gap);
  }

.tag_badge {
  display: flex;
  background-color: var(--color-contrast-10);
  line-height: 1.5rem;
  border-radius: 0.25rem;
  padding: 0 0.5rem;
  font-size: 0.75rem;
}

.tag_badge > * {
    margin-right: 0.25rem;
  }

:is(.tag_badge > *):last-child {
      margin-right: 0;
    }

.tag_badge.tag_badge--md {
    max-width: max-content;
  }

.tag_badge.tag_badge--sm {
    height: 1.25rem;
    width: 0;
    border-radius: 0;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }

.tag_badge.tag_badge--sm label {
      display: none;
    }

/*!**********************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/search_dropdown.css ***!
  \**********************************************************************************************************************************************************/

  .search_dropdown .search_header {
    display: flex;
    justify-content: space-between;
    border: 2px solid transparent;
    background-color: var(--color-contrast-10);
    border-radius: 0.25rem;
    padding: 0 0.5rem;
    line-height: var(--line-height);
    box-sizing: border-box;
    height: calc(var(--line-height) + 2px);
  }
:is(.search_dropdown .search_header):focus-within,.is_active:is(.search_dropdown .search_header) {
      border: 2px solid var(--color-accent-lighter);
    }
:is(.search_dropdown .search_header) button:first-child {
      border: 0;
      background-color: initial;
      border-radius: 0;
      padding: 0;
      height: initial;
      line-height: initial;
      font-weight: initial;
      color: var(--color-contrast-7);
      width: 100%;
      text-align: left;
    }
.has_value:is(.search_dropdown .search_header) {
      padding-right: 0.3rem;
    }
.has_value:is(.search_dropdown .search_header) button:first-child {
        color: inherit;
      }
:is(.search_dropdown .search_header) input {
      border: 0;
      background-color: initial;
      border-radius: 0;
      padding: 0;
      height: initial;
      width: 100%;
    }
:is(:is(.search_dropdown .search_header) input):focus {
        border: 0;
      }
.search_dropdown.expanded {
    position: relative;
  }
.search_dropdown .dropdown {
    position: fixed;
    background-color: var(--color-contrast-7);
    padding: 0.25rem 0.1rem;
    border-bottom-left-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
:is(.search_dropdown .dropdown) > div,:is(.search_dropdown .dropdown) > button {
      background-color: var(--color-contrast-11);
      padding: 0 0.25rem;
      line-height: 1.5rem;
    }
.selected:is(:is(.search_dropdown .dropdown) > div,:is(.search_dropdown .dropdown) > button) {
        background-color: var(--color-contrast-9);
      }

/*!*****************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/team_input.css ***!
  \*****************************************************************************************************************************************************/
.current_teams {
  display: flex;
  flex-wrap: wrap;
  margin-top: -0.5rem;
  grid-column: 2 / 5;
}

.team_badge {
  display: flex;
  background-color: var(--color-contrast-10);
  line-height: var(--line-height);
  padding: 0 0.5rem;
  border-radius: 0.25rem;
  margin-top: 0.5rem;
}

.team_badge > * {
    margin-right: 0.25rem;
  }

:is(.team_badge > *):last-child {
      margin-right: 0;
    }

.team_badge:not(:last-child) {
    margin-right: 0.5rem;
  }

/*!*************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/dialog.css ***!
  \*************************************************************************************************************************************************/

#dialog-root.show {
  position: absolute;
  top: 0;
  left: 0;
}
#dialog-root.show > div {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100vw;
    height: 100vh;
    background-color: var(--color-contrast-1-alpha-50);
    justify-content: center;
    align-items: center;
  }
:is(#dialog-root.show > div) > .dialog {
      background-color: var(--color-contrast-11);
      border-radius: 0.4rem;
    }
.size-xlarge:is(:is(#dialog-root.show > div) > .dialog) {
        min-width: 50rem;
        max-width: 60rem;
      }
.size-large:is(:is(#dialog-root.show > div) > .dialog) {
        min-width: 40rem;
        max-width: 50rem;
      }
.size-medium:is(:is(#dialog-root.show > div) > .dialog) {
        min-width: 30rem;
        max-width: 40rem;
      }
.size-small:is(:is(#dialog-root.show > div) > .dialog) {
        min-width: 20rem;
        max-width: 30rem;
      }
.size-xsmall:is(:is(#dialog-root.show > div) > .dialog) {
        min-width: 10rem;
        max-width: 20rem;
      }
:is(:is(#dialog-root.show > div) > .dialog) > header {
        display: flex;
        justify-content: space-between;
        border-top-left-radius: 0.4rem;
        border-top-right-radius: 0.4rem;
        line-height: 2rem;
        font-weight: 700;
        padding: 0 0.5rem;
        margin-bottom: 1rem;
        border-bottom: 2px solid var(--color-primary-dark);
        background-color: var(--color-primary-lighter);
      }
:is(:is(:is(#dialog-root.show > div) > .dialog) > header) span {
          margin-right: 1rem;
        }
:is(:is(#dialog-root.show > div) > .dialog) > .notice {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
      }
:is(:is(#dialog-root.show > div) > .dialog) .content {
        padding: 0 0.5rem;
        max-height: calc(100vh - 20rem);
        overflow: auto;
      }

/*!*****************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/sort_modal.css ***!
  \*****************************************************************************************************************************************************/

    :is(.sort_modal .sort_list) > * {
      display: flex;
      gap: 1rem;
      margin-bottom: 1rem;
    }

/*!***********************************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/transactions/transaction_edit_modal.css ***!
  \***********************************************************************************************************************************************************************/

  .transaction_edit_modal .item_table {
    grid-column: 1 / 5;
    display: grid;
    grid-template-columns: 4fr 3fr 6fr 2fr 2fr 1rem;
    gap: 0.5rem;
  }
:is(.transaction_edit_modal .item_table) .item_table__header {
      grid-column: 1 / 7;
      display: grid;
      grid-template-columns: subgrid;
    }
:is(.transaction_edit_modal .item_table) .item_table__row {
      grid-column: 1 / 7;
      display: grid;
      grid-template-columns: subgrid;
    }
:is(:is(.transaction_edit_modal .item_table) .item_table__row) > * {
        width: 100%;
      }
:is(:is(.transaction_edit_modal .item_table) .item_table__row) .item_table__row__notes {
        padding: 0 0.5rem;
        line-height: var(--line-height);
        height: calc(var(--line-height) + 2px);
        overflow: hidden;
      }
:is(.transaction_edit_modal .item_table) .item_table__row--error {
      grid-column: 1 / 6;
      text-align: end;
    }
:is(.transaction_edit_modal .item_table) .item_table__footer {
      grid-column: 1 / 6;
      text-align: end;
    }

/*!*****************************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/transactions/transaction_list.css ***!
  \*****************************************************************************************************************************************************************/

  .transaction_list > .list {
    --recorded-start: calc(var(--select-end) + 1);
    --description-start: 15;
    --account-start: 45;
    --amount-start: 60;
    --category-start: 68;
    --notes-start: 80;
  }
:is(:is(.transaction_list > .list) > *) > .recorded {
        text-align: right;
        grid-column: var(--recorded-start) / calc(var(--description-start) - 1);
      }
:is(:is(.transaction_list > .list) > *) > .description {
        grid-column: var(--description-start) / calc(var(--account-start) - 1);
      }
:is(:is(.transaction_list > .list) > *) > .account {
        grid-column: var(--account-start) / calc(var(--amount-start) - 1);
      }
:is(:is(.transaction_list > .list) > *) > .amount {
        text-align: right;
        grid-column: var(--amount-start) / calc(var(--category-start) - 1);
      }
:is(:is(.transaction_list > .list) > *) > .category {
        grid-column: var(--category-start) / calc(var(--notes-start) - 1);
      }
:is(:is(.transaction_list > .list) > *) > .notes {
        grid-column: var(--notes-start) / end;
      }
:is(:is(.transaction_list > .list) .row) ul {
        margin: 0;
        padding: 0;
        list-style: none;
      }
:is(:is(.transaction_list > .list) .row) .description {
        display: flex;
      }
:is(:is(:is(.transaction_list > .list) .row) .description) > .just_description {
          flex: 1 1 min-content;
          margin-right: 0.5rem;
        }
:is(:is(:is(.transaction_list > .list) .row) .description) > .tag_summary {
          flex: 0 1 min-content;
          display: flex;
          margin-top: 0.15rem;
          margin-right: 0.5rem;
          cursor: pointer;
        }
:is(:is(:is(:is(.transaction_list > .list) .row) .description) > .tag_summary) .tag_extra {
            height: 1.25rem;
            min-width: 1.25rem;
            padding: 0 0.125rem;
            text-align: center;
          }


/*!******************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/omni_filter.css ***!
  \******************************************************************************************************************************************************/
.omni_filter {
  display: flex;
  border: 1px solid var(--color-contrast-3);
  border-radius: 0.25rem;
  margin-bottom: 0.5rem;
  /* height: 2.125rem; */
  flex-wrap: wrap;
}
.omni_filter .filter_summary {
    display: flex;
    margin: 0.25rem;
    flex-wrap: wrap;
    gap: 0.25rem;
  }
:is(.omni_filter .filter_summary) > div {
      display: flex;
      line-height: 1.25rem;
      font-size: 0.75rem;
      border: 1px solid var(--color-contrast-3);
      background-color: var(--color-contrast-10);
      margin-right: 0.25rem;
      padding: 0 0.25rem;
      border-radius: 0.25rem;
    }
:is(:is(.omni_filter .filter_summary) > div) .button {
        padding-left: 0.25rem;
      }
:is(:is(.omni_filter .filter_summary) > div):last-child {
        margin-right: 0;
      }
.omni_filter > .filter_input {
    display: flex;
    flex-grow: 1;
  }
:is(.omni_filter > .filter_input) > .filter_input__filter_type_display {
      margin-left: 0.25rem;
    }
:is(.omni_filter > .filter_input) .dropdown {
      position: fixed;
      background-color: var(--color-contrast-10);
      /* padding: 0.25rem 0.1rem; */
      border-bottom-left-radius: 0.25rem;
      border-bottom-right-radius: 0.25rem;
      border: 2px solid var(--color-contrast-7);
    }
:is(:is(.omni_filter > .filter_input) .dropdown) > .button--type_list-item {
        background-color: var(--color-contrast-11);
        padding: 0 0.25rem;
        line-height: 1.5rem;
      }
.selected:is(:is(:is(.omni_filter > .filter_input) .dropdown) > .button--type_list-item) {
          background-color: var(--color-contrast-9);
        }
:is(:is(:is(.omni_filter > .filter_input) .dropdown) > .button--type_list-item):hover {
          background-color: var(--color-contrast-10);
        }
:is(:is(.omni_filter > .filter_input) .dropdown) > .dropdown__header {
        display: flex;
        justify-content: space-between;
        margin-left: 0.25rem;
        margin-right: 0.25rem;
      }
:is(:is(.omni_filter > .filter_input) .dropdown) > .dropdown__footer {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
      }
:is(.omni_filter > .filter_input) > input {
      border: 0;
      outline: 0;
      border-radius: 0.25rem;
      font-size: 1.125rem;
      padding: 0 0.25rem 0;
      background-color: unset;
      height: unset;
      flex-grow: 1;
    }
:is(:is(.omni_filter > .filter_input) > input):focus {
        border: 0;
      }

/*!****************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/list_page.css ***!
  \****************************************************************************************************************************************************/
.list_page {
  display: grid;
  grid-template-rows: min-content auto min-content;
  height: 100vh;
  padding: 0.5rem 2rem 0.5rem;
  box-sizing: ;
  overflow: hidden;
}
.list_page > header {
    grid-column: 1;
    grid-row: 1 / 2;
    border-bottom: solid 2px var(--color-contrast-7);
    display: flex;
    justify-content: space-between;
    line-height: 2rem;
    align-items: flex-start;
    gap: 0.5rem;
  }
:is(.list_page > header) .title {
      font-size: 1.2rem;
    }
:is(.list_page > header) .omni_filter {
      flex: 1 0 50%;
    }
:is(.list_page > header) .list_actions {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: flex-end;
    }
.list_page > .list_middle {
    grid-column: 1;
    grid-row: 2 / 3;
    flex: 1;
  }
.list_page > .list_loading {
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-contrast-11-alpha-80);
  }
.list_page > .no_data {
    text-align: center;
  }
.list_page > .list {
    display: grid;
    grid-template-columns: repeat(100, 1fr);
    align-content: start;
    width: 100%;
    overflow: auto;
    --select-start: 1;
    --select-end: 2;
  }
:is(.list_page > .list) > * {
      display: grid;
      grid-column: 1 / end;
      grid-template-columns: subgrid;
      padding: 0 0.25rem;
    }
:is(:is(.list_page > .list) > *) > .select {
        grid-column: var(--select-start) / var(--select-end);
      }
:is(.list_page > .list) > header {
      line-height: 2rem;
    }
:is(:is(.list_page > .list) > header) div .button {
        font-size: 1rem;
      }
:is(.list_page > .list) > .row {
      line-height: 1.5rem;
      border-bottom: solid 1px var(--color-contrast-9);
    }
:is(:is(.list_page > .list) > .row):hover {
        background-color: var(--color-contrast-10);
      }
:is(:is(.list_page > .list) > .row) .select {
        flex: 0 0 var(--select-width);
      }
:is(:is(.list_page > .list) > .row) ul {
        margin: 0;
        padding: 0;
        list-style: none;
      }
.list_page footer {
    grid-column: 1;
    grid-row: 3 / 4;
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
  }
:is(.list_page footer) > div:first-child {
      display: flex;
    }
:is(:is(.list_page footer) > div:first-child) .paginate_page {
        color: var(--color-contrast-3);
        margin-right: 0.5rem;
        margin-left: 0.5rem;
      }
:is(:is(.list_page footer) > div:first-child) .paginate_current_page {
        color: var(--color-contrast-1);
        font-weight: 700;
        font-size: 1.2rem;
      }
:is(:is(.list_page footer) > div:first-child) .paginate_ellipsis {
        line-height: var(--checkbox-width);
        padding-top: 0.2rem;
      }

/*!***********************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/stats/stats.css ***!
  \***********************************************************************************************************************************************/
.statistics_page {
  padding: 2rem;
  overflow: auto;
  display: flex;
  box-sizing: border-box;
}
.statistics_page .nav {
    width: 13rem;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
  }
:is(.statistics_page .nav) > a {
      line-height: 2.5rem;
      color: var(--color-contrast-3);
    }
[data-selected]:is(:is(.statistics_page .nav) > a) {
        color: inherit;
      }
.statistics_page .panel {
    overflow: auto;
    width: 100%;
  }
.statistics_page .net_worth_chart {
    height: 30rem;
  }
:is(.statistics_page .net_worth_chart) text {
      fill: var(--color-contrast-1);
    }
:is(.statistics_page .net_worth_chart) .v_guides path {
      stroke: var(--color-contrast-9);
      fill: none;
    }
:is(.statistics_page .net_worth_chart) .h_guides path {
      stroke: var(--color-contrast-10);
      fill: none;
    }
:is(.statistics_page .net_worth_chart) .labels text {
      text-anchor: end;
    }
:is(.statistics_page .net_worth_chart) .lines path {
      stroke-width: 3px;
    }
:is(:is(.statistics_page .net_worth_chart) .lines path):hover {
        stroke-width: 5px;
      }
:is(.statistics_page .net_worth_chart) .lines path.total_value {
      stroke: var(--color-error-lighter);
    }
:is(:is(.statistics_page .net_worth_chart) .lines path.total_value):hover {
        stroke: var(--color-error-light);
      }
:is(.statistics_page .net_worth_chart) .lines path.linear_line {
      stroke: var(--color-success-light);
    }
:is(:is(.statistics_page .net_worth_chart) .lines path.linear_line):hover {
        stroke: var(--color-success);
      }
:is(.statistics_page .net_worth_chart) .lines path.power_line {
      stroke: var(--color-accent-light);
    }
:is(:is(.statistics_page .net_worth_chart) .lines path.power_line):hover {
        stroke: var(--color-accent);
      }
:is(.statistics_page .net_worth_chart) .lines path.log_line {
      stroke: var(--color-warning-darker);
    }
:is(:is(.statistics_page .net_worth_chart) .lines path.log_line):hover {
        stroke: var(--color-warning-dark);
      }
:is(.statistics_page .net_worth_chart) path.edge {
      stroke: var(--color-contrast-7);
      fill: none;
      stroke-width: 2px;
    }
:is(.statistics_page .transaction_report_by_year_table) table {
      border-collapse: separate;
      border-spacing: 0;
    }
.statistics_page .transaction_report_by_year_table {

    --font-size: 1.5rem;
    --line-height: 2rem;
  }
:is(.statistics_page .transaction_report_by_year_table) thead th {
      position: sticky;
      top: 0;
      z-index: 1;
      background: var(--color-contrast-11);
      text-align: right;
      padding-right: 0.5rem;
    }
:is(.statistics_page .transaction_report_by_year_table) thead th:first-child {
      position: sticky;
      left: 0;
      z-index: 2;
      text-align: left;
    }
:is(.statistics_page .transaction_report_by_year_table) tbody th {
      position: sticky;
      left: 0;
      background: var(--color-contrast-11);
      z-index: 1;
      text-align: left;
      padding-left: 4rem;
      font-weight: var(--font-weight);
    }
:is(.statistics_page .transaction_report_by_year_table) tbody td {
      text-align: right;
      padding-right: 0.5rem;
    }
:is(.statistics_page .transaction_report_by_year_table) tbody tr > * {
      font-size: calc(calc(10 / 16) * var(--font-size));
      line-height: calc(calc(10 / 16) * var(--line-height));
      border-bottom: 1px solid var(--color-contrast-10);
    }
:is(.statistics_page .transaction_report_by_year_table) tr[data-level='0'] > * {
      font-size: var(--font-size);
      line-height: var(--line-height);
      border-bottom-width: 4px;
    }
:is(:is(.statistics_page .transaction_report_by_year_table) tr[data-level='0'] > *):first-child {
        padding-left: 0;
      }
:is(.statistics_page .transaction_report_by_year_table) tr[data-level='1'] > * {
      font-size: calc(calc(14 / 16) * var(--font-size));
      line-height: calc(calc(14 / 16) * var(--line-height));
      border-bottom-width: 3px;
    }
:is(:is(.statistics_page .transaction_report_by_year_table) tr[data-level='1'] > *):first-child {
        padding-left: 1rem;
      }
:is(.statistics_page .transaction_report_by_year_table) tr[data-level='2'] > * {
      font-size: calc(calc(12 / 16) * var(--font-size));
      line-height: calc(calc(12 / 16) * var(--line-height));
      border-bottom-width: 2px;
    }
:is(:is(.statistics_page .transaction_report_by_year_table) tr[data-level='2'] > *):first-child {
        padding-left: 2rem;
      }
:is(:is(.statistics_page .transaction_report_by_year_table) tr[data-level='3'] > *):first-child {
        padding-left: 3rem;
      }
.statistics_page .stock_performance_chart {
    height: 30rem;
  }
:is(.statistics_page .stock_performance_chart) .chart__background {
      fill: none;
    }
:is(.statistics_page .stock_performance_chart) .v_guides path {
      stroke: var(--color-contrast-9);
      fill: none;
    }
:is(.statistics_page .stock_performance_chart) .h_guides path {
      stroke: var(--color-contrast-10);
      fill: none;
    }
:is(.statistics_page .stock_performance_chart) .labels text {
      text-anchor: end;
    }

/*!***************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/common/nav_list.css ***!
  \***************************************************************************************************************************************************/
.nav_list {
  border-right: 1px solid black;
  height: 100%;
  overflow: auto;
}
.nav_list > h3 {
    line-height: 3rem;
    text-align: center;
  }
.nav_list > nav {
    display: flex;
    flex-direction: column;
  }
:is(.nav_list > nav) > a {
      line-height: 2.5rem;
      padding: 0 1rem;
    }
.selected:is(:is(.nav_list > nav) > a) {
        background-color: var(--color-contrast-9);
        color: var(--color-contrast-11);
      }
.sub_section:is(:is(.nav_list > nav) > a) {
        line-height: 2.5rem;
        text-align: center;
        font-weight: bold;
      }

/*!***************************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/settings/user/user_settings.css ***!
  \***************************************************************************************************************************************************************/
.user_settings {
  padding: 2rem 1rem 0;
}

/*!*****************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/settings/settings.css ***!
  \*****************************************************************************************************************************************************/
.settings {
  display: flex;
  height: 100%;
  overflow: hidden;
}
.settings .detail_form {
    overflow: auto;
  }
:is(.settings .detail_form) > h3 {
      line-height: 3rem;
      padding: 0 1rem 0.75rem;
    }
:is(.settings .detail_form) > form {
      padding: 0 1rem;
    }
:is(.settings .detail_form) > .buttons {
      padding-left: 1rem;
    }

/*!***************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js!./src/app.css ***!
  \***************************************************************************************************************************************/
:root {
  /* https://coolors.co/e8de76-8cba80-c16a6a-222123-49a0b6 */
  --color-success-hs: 108, 30%;
  --color-success-lum: 69%;
  --color-success-lighter: hsl(var(--color-success-hs), calc(var(--color-success-lum) + 20%));
  --color-success-light: hsl(var(--color-success-hs), calc(var(--color-success-lum) + 10%));
  --color-success: hsl(var(--color-success-hs), var(--color-success-lum));
  --color-success-dark: hsl(var(--color-success-hs), calc(var(--color-success-lum) - 10%));
  --color-success-darker: hsl(var(--color-success-hs), calc(var(--color-success-lum) - 20%));

  --color-warning-hs: 55, 71%;
  --color-warning-lum: 69%;
  --color-warning-lighter: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) + 20%));
  --color-warning-light: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) + 10%));
  --color-warning: hsl(var(--color-warning-hs), var(--color-warning-lum));
  --color-warning-dark: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) - 10%));
  --color-warning-darker: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) - 20%));

  --color-error-hs: 0, 41%;
  --color-error-lum: 59%;
  --color-error-lighter: hsl(var(--color-error-hs), calc(var(--color-error-lum) + 20%));
  --color-error-light: hsl(var(--color-error-hs), calc(var(--color-error-lum) + 10%));
  --color-error: hsl(var(--color-error-hs), var(--color-error-lum));
  --color-error-dark: hsl(var(--color-error-hs), calc(var(--color-error-lum) - 10%));
  --color-error-darker: hsl(var(--color-error-hs), calc(var(--color-error-lum) - 20%));

  --color-primary-hs: 108, 30%;
  --color-primary-lum: 52%;
  --color-primary-lighter: hsl(var(--color-primary-hs), calc(var(--color-primary-lum) + 20%));
  --color-primary-light: hsl(var(--color-primary-hs), calc(var(--color-primary-lum) + 10%));
  --color-primary: hsl(var(--color-primary-hs), var(--color-primary-lum));
  --color-primary-dark: hsl(var(--color-primary-hs), calc(var(--color-primary-lum) - 10%));
  --color-primary-darker: hsl(var(--color-primary-hs), calc(var(--color-primary-lum) - 20%));

  --color-accent-hs: 192, 43%;
  --color-accent-lum: 35%;
  --color-accent-lighter: hsl(var(--color-accent-hs), calc(var(--color-accent-lum) + 20%));
  --color-accent-light: hsl(var(--color-accent-hs), calc(var(--color-accent-lum) + 10%));
  --color-accent: hsl(var(--color-accent-hs), var(--color-accent-lum));
  --color-accent-dark: hsl(var(--color-accent-hs), calc(var(--color-accent-lum) - 10%));
  --color-accent-darker: hsl(var(--color-accent-hs), calc(var(--color-accent-lum) - 20%));

  --color-contrast-hs: 270, 3%;
  --color-contrast-lum: 15%;
  --color-contrast-11: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 80%));
  --color-contrast-10: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 72%));
  --color-contrast-9: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 64%));
  --color-contrast-8: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 56%));
  --color-contrast-7: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 48%));
  --color-contrast-6: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 40%));
  --color-contrast-5: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 32%));
  --color-contrast-4: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 24%));
  --color-contrast-3: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 16%));
  --color-contrast-2: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 8%));
  --color-contrast-1: hsl(var(--color-contrast-hs), var(--color-contrast-lum));
  --color-contrast-1-alpha-50: hsla(var(--color-contrast-hs), var(--color-contrast-lum), 50%);
  --color-contrast-1-alpha-20: hsla(var(--color-contrast-hs), var(--color-contrast-lum), 20%);
  --color-contrast-11-alpha-80: hsla(var(--color-contrast-hs), calc(var(--color-contrast-lum) + 80%), 80%);

  --color-magnitude-p1: hsla(var(--color-success-hs), var(--color-success-lum), 16%);
  --color-magnitude-p2: hsla(var(--color-success-hs), var(--color-success-lum), 32%);
  --color-magnitude-p3: hsla(var(--color-success-hs), var(--color-success-lum), 48%);
  --color-magnitude-p4: hsla(var(--color-success-hs), var(--color-success-lum), 64%);
  --color-magnitude-p5: hsla(var(--color-success-hs), var(--color-success-lum), 80%);
  --color-magnitude-n1: hsla(var(--color-error-hs), var(--color-error-lum), 20%);
  --color-magnitude-n2: hsla(var(--color-error-hs), var(--color-error-lum), 40%);
  --color-magnitude-n3: hsla(var(--color-error-hs), var(--color-error-lum), 60%);
  --color-magnitude-n4: hsla(var(--color-error-hs), var(--color-error-lum), 80%);
  --color-magnitude-n5: hsla(var(--color-error-hs), var(--color-error-lum), 100%);

  --line-height: 1.75rem;
  --line-height-lg: 2.5rem;
  --line-height-sm: 0.75rem;
  --font-weight: 500;
  --font-family-fixed: Roboto Mono Web,Bitstream Vera Sans Mono,Consolas,Courier,monospace;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-primary-lum: 32%;
    --color-accent-lum: 55%;

    --color-success-lighter: hsl(var(--color-success-hs), calc(var(--color-success-lum) - 20%));
    --color-success-light: hsl(var(--color-success-hs), calc(var(--color-success-lum) - 10%));
    --color-success: hsl(var(--color-success-hs), var(--color-success-lum));
    --color-success-dark: hsl(var(--color-success-hs), calc(var(--color-success-lum) + 10%));
    --color-success-darker: hsl(var(--color-success-hs), calc(var(--color-success-lum) + 20%));

    --color-warning-lum: 50%;
    --color-warning-lighter: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) - 20%));
    --color-warning-light: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) - 10%));
    --color-warning: hsl(var(--color-warning-hs), var(--color-warning-lum));
    --color-warning-dark: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) + 10%));
    --color-warning-darker: hsl(var(--color-warning-hs), calc(var(--color-warning-lum) + 20%));

    --color-error-lighter: hsl(var(--color-error-hs), calc(var(--color-error-lum) - 20%));
    --color-error-light: hsl(var(--color-error-hs), calc(var(--color-error-lum) - 10%));
    --color-error: hsl(var(--color-error-hs), var(--color-error-lum));
    --color-error-dark: hsl(var(--color-error-hs), calc(var(--color-error-lum) + 10%));
    --color-error-darker: hsl(var(--color-error-hs), calc(var(--color-error-lum) + 20%));

    --color-contrast-lum: 95%;
    --color-contrast-11: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 80%));
    --color-contrast-10: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 72%));
    --color-contrast-9: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 64%));
    --color-contrast-8: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 56%));
    --color-contrast-7: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 48%));
    --color-contrast-6: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 40%));
    --color-contrast-5: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 32%));
    --color-contrast-4: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 24%));
    --color-contrast-3: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 16%));
    --color-contrast-2: hsl(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 8%));
    --color-contrast-1: hsl(var(--color-contrast-hs), var(--color-contrast-lum));
    --color-contrast-1-alpha-50: hsla(var(--color-contrast-hs), var(--color-contrast-lum), 50%);
    --color-contrast-1-alpha-20: hsla(var(--color-contrast-hs), var(--color-contrast-lum), 20%);
    --color-contrast-11-alpha-80: hsla(var(--color-contrast-hs), calc(var(--color-contrast-lum) - 80%), 80%);
  }
}

* {
  margin: 0;
}

*,*::before,*::after {
    box-sizing: border-box;
  }

body {
  font-family: 'Public Sans', sans-serif;
  font-weight: var(--font-weight);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  color: var(--color-contrast-1);
  background-color: var(--color-contrast-11);
}

/* Improve media defaults */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

/* Remove built-in form typography styles */
input, button, textarea, select {
  font: inherit;
}

/* Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

button::-moz-focus-inner,
input[type='reset']::-moz-focus-inner,
input[type='button']::-moz-focus-inner,
input[type='submit']::-moz-focus-inner,
select::-moz-focus-inner,
input[type='file'] > input[type='button']::-moz-focus-inner {
  outline: 0 !important;
  border: 0;
}

button:focus,
a:focus,
a:active {
  outline: 0;
}

a,
a:visited,
a:active,
a:focus {
  color: var(--color-contrast-1);
}

input[type='text'],
input[type='password'],
input[type='email'],
input[type='color'],
input[type='submit'] {
  color: var(--color-contrast-1);
  border: 2px solid transparent;
  background-color: var(--color-contrast-10);
  border-radius: 0.25rem;
  padding: 0 0.5rem;
  line-height: var(--line-height);
  box-sizing: border-box;
  height: calc(var(--line-height) + 2px);
  outline: 0 !important;
}

input[type='text']:focus,
input[type='password']:focus,
input[type='email']:focus,
input[type='color']:focus,
input[type='submit']:focus {
  border: 2px solid var(--color-accent-lighter);
}

strong {
  font-weight: 800;
}

pre {
  font-family: var(--font-family-fixed);
}

textarea {
  color: var(--color-contrast-1);
  border: 2px solid transparent;
  background-color: var(--color-contrast-10);
  border-radius: 0.25rem;
  padding: 0.5rem;
  outline: 0 !important;
}

textarea:focus {
  border: 2px solid var(--color-accent-lighter);
}

/* Create a root stacking context */
#root, #modal-root {
  isolation: isolate;
}

.app {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.app .loading {
    display: flex;
    width: 100vw;
    height: 100vh;
    justify-content: center;
    align-items: center;
    font-weight: 800;
    font-size: 2rem;
    background-color: var(--color-primary-lighter);
  }

.app .page_loading,.app .no_data {
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

.error {
  color: var(--color-error);
}

[data-ellipsis] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.flex {
  display: flex;
}

.align-content-center {
  align-content: center;
}

.border-bottom-low {
  border-bottom: 1px solid var(--color-contrast-9);
}

.no-color {
  color: inherit !important;
}

.currency {
  font-family: monospace;
  font-size: 0.75rem;
  /* vertical-align: top; */
}

.value--negative {
  color: var(--color-error-dark);
}

.value--positive {
  color: var(--color-contrast-2);
}

.svg-inline {
  overflow: visible;
  box-sizing: content-box;
  display: inline-block;
  height: 1em;
}

svg.icon .line {
  fill: none;
  stroke: var(--color-contrast-1);
  stroke-width: 20;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/**
 * Margins
 */
.margin-top-2 {
  margin-top: 2rem;
}

.margin-top-1_5 {
  margin-top: 1.5rem;
}

.margin-top-1 {
  margin-top: 1rem;
}

.margin-top-0_75 {
  margin-top: 0.75rem;
}

.margin-top-0_5 {
  margin-top: 0.5rem;
}

.margin-top-0_25 {
  margin-top: 0.25rem;
}

.margin-right-2 {
  margin-right: 2rem;
}

.margin-right-1_5 {
  margin-right: 1.5rem;
}

.margin-right-1 {
  margin-right: 1rem;
}

.margin-right-0_75 {
  margin-right: 0.75rem;
}

.margin-right-0_5 {
  margin-right: 0.5rem;
}

.margin-right-0_25 {
  margin-right: 0.25rem;
}

.margin-bottom-2 {
  margin-bottom: 2rem;
}

.margin-bottom-1_5 {
  margin-bottom: 1.5rem;
}

.margin-bottom-1 {
  margin-bottom: 1rem;
}

.margin-bottom-0_75 {
  margin-bottom: 0.75rem;
}

.margin-bottom-0_5 {
  margin-bottom: 0.5rem;
}

.margin-bottom-0_25 {
  margin-bottom: 0.25rem;
}

.margin-left-2 {
  margin-left: 2rem;
}

.margin-left-1_5 {
  margin-left: 1.5rem;
}

.margin-left-1 {
  margin-left: 1rem;
}

.margin-left-0_75 {
  margin-left: 0.75rem;
}

.margin-left-0_5 {
  margin-left: 0.5rem;
}

.margin-left-0_25 {
  margin-left: 0.25rem;
}

/**
 * Paddings
 */
.padding-top-2 {
  padding-top: 2rem;
}

.padding-top-1_5 {
  padding-top: 1.5rem;
}

.padding-top-1 {
  padding-top: 1rem;
}

.padding-top-0_75 {
  padding-top: 0.75rem;
}

.padding-top-0_5 {
  padding-top: 0.5rem;
}

.padding-top-0_25 {
  padding-top: 0.25rem;
}

.padding-right-2 {
  padding-right: 2rem;
}

.padding-right-1_5 {
  padding-right: 1.5rem;
}

.padding-right-1 {
  padding-right: 1rem;
}

.padding-right-0_75 {
  padding-right: 0.75rem;
}

.padding-right-0_5 {
  padding-right: 0.5rem;
}

.padding-right-0_25 {
  padding-right: 0.25rem;
}

.padding-bottom-2 {
  padding-bottom: 2rem;
}

.padding-bottom-1_5 {
  padding-bottom: 1.5rem;
}

.padding-bottom-1 {
  padding-bottom: 1rem;
}

.padding-bottom-0_75 {
  padding-bottom: 0.75rem;
}

.padding-bottom-0_5 {
  padding-bottom: 0.5rem;
}

.padding-bottom-0_25 {
  padding-bottom: 0.25rem;
}

.padding-left-2 {
  padding-left: 2rem;
}

.padding-left-1_5 {
  padding-left: 1.5rem;
}

.padding-left-1 {
  padding-left: 1rem;
}

.padding-left-0_75 {
  padding-left: 0.75rem;
}

.padding-left-0_5 {
  padding-left: 0.5rem;
}

.padding-left-0_25 {
  padding-left: 0.25rem;
}

