@charset "UTF-8";
/***
    The new CSS reset - version 1.8.5 (last updated 14.6.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" attribute is exclud, because otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
/* line 12, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
*:where(:not(html, iframe, canvas, img, svg, video, audio, strong, em, u):not(svg *, symbol *)) {
  all: unset;
  display: revert; }

/* Preferred box-sizing value */
/* line 18, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Reapply the pointer cursor for anchor tags */
/* line 25, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
a, button {
  cursor: revert; }

/* Remove list styles (bullets/numbers) */
/* line 30, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
ol, ul, menu {
  list-style: none; }

/* For images to not be able to exceed their container */
/* line 35, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
img {
  max-inline-size: 100%;
  max-block-size: 100%; }

/* removes spacing between cells in tables */
/* line 41, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
table {
  border-collapse: collapse; }

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
/* line 46, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
input, textarea {
  -webkit-user-select: auto; }

/* line 49, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
input[type="checkbox"] {
  appearance: auto; }

/* revert the 'white-space' property for textarea elements on Safari */
/* line 54, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
textarea {
  white-space: revert; }

/* minimum style to allow to style meter element */
/* line 59, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
meter {
  -webkit-appearance: revert;
  appearance: revert; }

/* preformatted text - use only for this feature */
/* line 65, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
:where(pre) {
  all: revert; }

/* reset default text opacity of input placeholder */
/* line 70, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
::placeholder {
  color: unset; }

/* remove default dot (•) sign */
/* line 75, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
::marker {
  content: initial; }

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
/* line 81, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
:where([hidden]) {
  display: none; }

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element */
/* line 88, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto; }

/* apply back the draggable feature - exist only in Chromium and Safari */
/* line 97, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
:where([draggable="true"]) {
  -webkit-user-drag: element; }

/* Revert Modal native behavior */
/* line 102, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/reset.scss */
:where(dialog:modal) {
  all: revert; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/input.scss */
input {
  border: 1px solid var(--input-border-color);
  background-color: #fff; }

/* line 5, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/input.scss */
select {
  border: 1px solid #ccc;
  background-color: #fff; }

/* line 2, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
button.mst-btn {
  border: 1px solid var(--button-border-color);
  border-radius: 0.25rem;
  cursor: pointer; }
  /* line 6, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn i {
    margin-right: 5px; }
  /* line 10, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn:active {
    border: 1px solid #555; }
  /* line 13, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn:hover, button.mst-btn.is--active, button.mst-btn.is-active {
    background-color: var(--button-primary);
    color: #fff; }
  /* line 19, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn.is--primary, button.mst-btn.is-primary {
    background-color: var(--button-primary) !important;
    color: #fff; }
  /* line 24, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn.is--ok, button.mst-btn.is-ok {
    background-color: var(--button-ok);
    color: #fff; }
  /* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn.is--cancel, button.mst-btn.is-cancel {
    background-color: var(--button-cancel);
    color: #555; }
  /* line 34, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn.is--warning, button.mst-btn.is-warning {
    background-color: var(--button-warning);
    color: #fff; }
  /* line 39, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn.is--error, button.mst-btn.is-error {
    background-color: var(--button-error);
    color: #fff; }
  /* line 44, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-btn.is--reversed, button.mst-btn.is-reversed {
    background-color: var(--button-primary-light);
    color: var(--button-primary); }

/* line 51, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
button.mst-tool-btn {
  color: var(--grid-header-background);
  cursor: pointer;
  text-align: center;
  background-color: var(--button-cancel);
  height: 30px;
  max-height: 30px;
  width: 30px;
  max-width: 30px;
  min-width: 30px;
  cursor: pointer; }
  /* line 65, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.xs {
    height: 20px;
    max-height: 20px;
    width: 20px;
    max-width: 20px;
    min-width: 20px; }
  /* line 72, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn:hover, button.mst-tool-btn.is-active {
    background-color: var(--button-primary);
    color: #fff !important; }
    /* line 76, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    button.mst-tool-btn:hover i, button.mst-tool-btn.is-active i {
      color: #fff !important; }
  /* line 81, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.is--primary, button.mst-tool-btn.is-primary {
    background-color: var(--button-primary);
    color: #fff; }
  /* line 86, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.is--ok, button.mst-tool-btn.is-ok {
    background-color: var(--button-ok);
    color: #fff; }
  /* line 91, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.is--cancel, button.mst-tool-btn.is-cancel {
    background-color: var(--button-cancel);
    color: #555; }
  /* line 96, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.is--warning, button.mst-tool-btn.is-warning {
    background-color: var(--button-warning);
    color: #fff; }
  /* line 101, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.is--error, button.mst-tool-btn.is-error {
    background-color: var(--button-error);
    color: #fff; }
  /* line 106, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  button.mst-tool-btn.is--reversed, button.mst-tool-btn.is-reversed {
    background-color: var(--button-primary-light);
    color: var(--button-primary); }

/* line 112, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
.mst-btn-group {
  display: flex; }
  /* line 114, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  .mst-btn-group .mst-btn {
    cursor: pointer;
    background-color: var(--button-cancel);
    color: #555;
    line-height: 18px;
    flex: 1; }
    /* line 121, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-btn:first-child {
      border-radius: 0.25rem 0rem 0rem 0.25rem; }
    /* line 124, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-btn:nth-child {
      border-radius: 0px; }
    /* line 127, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-btn:last-child {
      border-radius: 0rem 0.25rem 0.25rem 0rem; }
  /* line 131, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  .mst-btn-group .mst-tool-btn {
    background-color: var(--button-cancel);
    border: 0px;
    flex: 1;
    height: 30px;
    max-height: 30px;
    width: 30px;
    max-width: 30px;
    cursor: pointer; }
    /* line 141, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-tool-btn:first-child {
      border-radius: 0.25rem 0rem 0rem 0.25rem; }
    /* line 144, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-tool-btn:nth-child {
      border-radius: 0px; }
    /* line 147, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-tool-btn:last-child {
      border-radius: 0rem 0.25rem 0.25rem 0rem; }
    /* line 150, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
    .mst-btn-group .mst-tool-btn i {
      font-size: 20px;
      margin-top: 5px; }

/* line 156, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
.mst-dropdown-btn {
  cursor: pointer;
  background-color: var(--button-cancel);
  border: 0px;
  color: #555;
  flex: 1;
  height: 30px;
  max-height: 30px;
  width: 30px;
  max-width: 30px;
  min-width: 30px; }
  /* line 167, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/button.scss */
  .mst-dropdown-btn:after {
    font-family: "FontAwesome";
    content: "\f078"; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
ul.mst-dropdown {
  position: absolute;
  display: none;
  border-right: 1px solid #555;
  border-bottom: 1px solid #555;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  min-width: 150px;
  background-color: #f1f1f1; }
  /* line 11, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
  ul.mst-dropdown.is-active {
    display: block;
    top: 30px;
    left: 0px;
    z-index: 100; }
  /* line 17, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
  ul.mst-dropdown li {
    min-width: auto;
    max-width: initial;
    min-height: 30px;
    max-height: 30px;
    display: flex;
    flex-direction: row;
    padding-right: 10px;
    padding: 2px 10px 0px 10px;
    border: 1px solid #f1f1f1;
    cursor: pointer;
    user-select: none; }
    /* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
    ul.mst-dropdown li:hover {
      border-right: 1px solid #555;
      border-bottom: 1px solid #555;
      border-left: 1px solid #fff;
      border-top: 1px solid #fff; }
      /* line 34, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
      ul.mst-dropdown li:hover i {
        color: rgba(47, 110, 225, 0.5) !important; }
    /* line 38, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
    ul.mst-dropdown li:active {
      border-left: 1px solid #555;
      border-top: 1px solid #555;
      border-right: 1px solid #fff;
      border-bottom: 1px solid #fff; }
      /* line 43, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
      ul.mst-dropdown li:active i {
        color: rgba(47, 110, 225, 0.5) !important; }
    /* line 47, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
    ul.mst-dropdown li i {
      font-size: 14px !important;
      flex: 1;
      margin-top: 5px;
      margin-right: 5px;
      width: 100%;
      text-align: center;
      min-width: 25px;
      max-width: 25px;
      width: 25px;
      color: #555 !important; }
    /* line 59, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/dropdown.scss */
    ul.mst-dropdown li label {
      white-space: nowrap;
      font-size: 12px;
      flex: 2;
      text-align: left;
      display: inline-block;
      width: 100%;
      text-align: left;
      font-weight: normal;
      margin-top: 4px; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
.form-group {
  display: flex;
  margin: 0.5rem; }
  /* line 6, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-group .form-row {
    flex: 1; }
    /* line 8, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-group .form-row label {
      min-width: initial; }
    /* line 11, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-group .form-row input {
      width: 100%; }

/* line 17, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
.form-row {
  display: flex;
  max-height: 40px;
  height: 40px; }
  /* line 21, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row.fcol {
    max-height: initial;
    height: auto;
    margin-right: 1rem;
    flex-direction: column; }
    /* line 26, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row.fcol label {
      flex: 1; }
    /* line 30, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row.fcol input {
      flex: 1; }
  /* line 34, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row label {
    flex: 1;
    padding: 0.25rem;
    overflow-x: hidden;
    white-space: nowrap; }
    /* line 39, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row label.w50 {
      min-width: 50px;
      width: 50px; }
    /* line 40, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row label.w100 {
      min-width: 100px;
      width: 100px; }
    /* line 41, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row label.w150 {
      min-width: 150px;
      width: 150px; }
    /* line 42, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row label.w200 {
      min-width: 200px;
      width: 200px; }
  /* line 44, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row textarea {
    border-radius: 0.25rem;
    border: 1px solid #ccc;
    padding: 0.25rem; }
  /* line 49, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row select,
  .form-row input {
    flex: 2;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    padding: 0.25rem;
    height: 30px;
    max-height: 30px;
    min-height: 30px;
    width: 100%; }
    /* line 59, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row select:last-child,
    .form-row input:last-child {
      border-top-right-radius: 0.25rem;
      border-bottom-right-radius: 0.25rem; }
    /* line 63, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row select:read-only,
    .form-row input:read-only {
      background-color: lightyellow; }
  /* line 67, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row > span, .form-row > div {
    flex: 2; }
  /* line 71, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row div.input-group {
    display: flex; }
    /* line 73, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row div.input-group input {
      flex: 10; }
    /* line 76, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
    .form-row div.input-group button.mst-tool-btn {
      flex: 1;
      height: 30px;
      max-height: 30px;
      width: 30px;
      min-width: 30px;
      max-width: 30px;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
      /* line 85, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
      .form-row div.input-group button.mst-tool-btn:last-child {
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem; }
      /* line 89, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
      .form-row div.input-group button.mst-tool-btn i {
        color: var(--grid-header-background); }
  /* line 97, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus, .form-row button:focus {
    box-shadow: 0 0 5px #ffd96655, 0 0 2px #ffd96655;
    border-color: #ffd966; }

/* line 105, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
.checkbox-row {
  margin: 3px;
  display: flex;
  cursor: pointer; }
  /* line 109, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .checkbox-row div.mst-checkbox {
    flex: 1; }
  /* line 112, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/form.scss */
  .checkbox-row label {
    user-select: none;
    flex: 2;
    margin-left: 10px;
    padding-top: 5px; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
.mst-box {
  border: 0.1rem solid #dedede;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  position: relative;
  display: flex;
  flex-direction: column; }
  /* line 13, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
  .mst-box .mst-box-title {
    border-bottom: 1px solid var(--mst-box-line-color);
    background-color: var(--mst-box-title-background);
    border-top: 4px solid #0067b8;
    padding: 10px;
    height: 45px;
    max-height: 45px;
    display: flex;
    flex: 1; }
    /* line 21, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
    .mst-box .mst-box-title h3 {
      flex: 3;
      font-weight: normal;
      line-height: 1rem; }
    /* line 26, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
    .mst-box .mst-box-title .mst-tool-btn {
      flex: 1;
      max-width: 30px;
      width: 30px;
      height: 30px;
      margin-top: -6px; }
  /* line 35, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
  .mst-box .mst-box-content {
    min-height: 50px;
    flex: 3;
    background-color: #fff; }
  /* line 41, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
  .mst-box .mst-box-footer {
    border-top: 1px solid var(--mst-box-line-color);
    height: 3rem; }
    /* line 44, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
    .mst-box .mst-box-footer .buttons {
      display: flex;
      float: right; }
      /* line 47, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/box.scss */
      .mst-box .mst-box-footer .buttons button {
        flex: 1; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
.mst-backdrop {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2200;
  background-color: rgba(29, 39, 56, 0.2);
  align-items: center;
  justify-content: center; }
  /* line 9, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
  .mst-backdrop.top {
    z-index: 2202; }
  /* line 15, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
  .mst-backdrop.is--visible {
    display: flex; }
  /* line 18, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
  .mst-backdrop .mst-modal {
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
    min-height: 5rem;
    max-height: calc(100vh - 50px);
    min-width: 10rem;
    max-width: calc(100vw - 50px);
    background-color: #fff;
    display: flex;
    flex-direction: column; }
    /* line 28, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop .mst-modal.is--fullscreen {
      box-shadow: initial; }
    /* line 33, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop .mst-modal .mst-modal-header {
      border-bottom: 1px solid var(--mst-box-line-color);
      border-top: 4px solid #0067b8;
      background-color: var(--mst-modal-header-background);
      position: relative;
      color: #fff;
      align-items: center;
      display: flex;
      user-select: none;
      flex: 1;
      max-height: 3rem;
      height: 3rem;
      padding: 0.5rem; }
      /* line 49, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
      .mst-backdrop .mst-modal .mst-modal-header.is--movable {
        cursor: move; }
      /* line 53, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
      .mst-backdrop .mst-modal .mst-modal-header h4 {
        font-weight: 600;
        font-size: 1.2rem;
        color: #555 !important;
        margin: 6px 15px 0px 0px;
        line-height: 1;
        padding: 0px 0px 5px 5px;
        flex: 1;
        text-align: left;
        background-color: initial; }
        /* line 63, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
        .mst-backdrop .mst-modal .mst-modal-header h4:before {
          margin-right: 15px; }
    /* line 84, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop .mst-modal .mst-modal-content {
      flex: 10;
      min-height: 1rem;
      overflow-y: overlay; }
    /* line 89, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop .mst-modal .mst-modal-footer {
      height: 3rem;
      max-height: 3rem;
      padding: 0.5rem;
      flex: 1; }
      /* line 94, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
      .mst-backdrop .mst-modal .mst-modal-footer .buttons {
        display: flex;
        float: right; }
        /* line 97, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
        .mst-backdrop .mst-modal .mst-modal-footer .buttons button.mst-btn {
          flex: 1;
          text-align: center;
          min-width: 6rem;
          margin-left: 0.5rem; }
  /* line 107, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
  .mst-backdrop div.camera__content {
    position: relative;
    width: 100%;
    height: 100%; }
    /* line 111, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop div.camera__content canvas#canvas {
      position: absolute;
      visibility: hidden; }
    /* line 117, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop div.camera__content video {
      position: absolute;
      max-width: 100%;
      max-height: 100%; }
    /* line 122, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop div.camera__content div.gallery {
      position: absolute;
      top: 30px;
      right: 30px;
      max-height: calc(100% - 125px);
      height: calc(100% - 125px);
      overflow-y: overlay; }
      /* line 129, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
      .mst-backdrop div.camera__content div.gallery div.photo {
        position: relative; }
        /* line 131, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
        .mst-backdrop div.camera__content div.gallery div.photo button.delete {
          position: absolute;
          left: 10px;
          top: 10px;
          height: 25px;
          width: 25px;
          color: rgba(47, 110, 225, 0.8);
          text-align: center;
          border: 1px solid #ddd;
          background-color: #eee; }
    /* line 144, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop div.camera__content div.top__buttons {
      position: absolute;
      top: 0px;
      left: 0px;
      margin: 10px;
      width: 100%; }
      /* line 150, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
      .mst-backdrop div.camera__content div.top__buttons button.camera__button {
        position: absolute; }
        /* line 152, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
        .mst-backdrop div.camera__content div.top__buttons button.camera__button.back {
          left: 0px;
          top: 0px; }
        /* line 156, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
        .mst-backdrop div.camera__content div.top__buttons button.camera__button.close {
          right: 20px;
          top: 0px;
          left: initial; }
    /* line 163, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
    .mst-backdrop div.camera__content button.camera__button {
      position: absolute;
      bottom: 100px;
      height: 60px;
      width: 60px;
      left: calc(50% - 40px);
      text-align: center;
      z-index: 2110;
      border: 1px solid #555;
      border-radius: 20px;
      background-color: #ddd; }
      /* line 174, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/modal.scss */
      .mst-backdrop div.camera__content button.camera__button i {
        color: rgba(47, 110, 225, 0.8);
        font-size: 40px;
        line-height: 60px; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
.mst-grid {
  border: 1px solid var(--grid-line-color);
  display: flex;
  flex-direction: column;
  font-size: 14px;
  overflow: hidden;
  max-height: 100%;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc; }

/* line 12, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
.mst-grid-header {
  flex: 1;
  height: 32px;
  max-height: 32px; }
  /* line 19, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-header.vertical-medium {
    height: 60px;
    max-height: 60px;
    min-height: 60px; }
    /* line 23, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-header.vertical-medium .mst-grid-row {
      height: 60px;
      max-height: 60px;
      min-height: 60px; }
      /* line 26, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header.vertical-medium .mst-grid-row .mst-grid-cell span {
        line-height: 90px; }
  /* line 33, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-header.vertical-high {
    height: 130px;
    max-height: 130px;
    min-height: 130px; }
    /* line 37, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-header.vertical-high .mst-grid-row {
      height: 130px;
      max-height: 130px;
      min-height: 130px; }
      /* line 40, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header.vertical-high .mst-grid-row .mst-grid-cell span {
        line-height: 220px; }
  /* line 48, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-header.r315 {
    height: 60px;
    max-height: 60px;
    min-height: 60px;
    /* height: 100%; */ }
    /* line 52, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-header.r315 .mst-grid-row {
      height: 60px;
      max-height: 60px;
      min-height: 60px; }
      /* line 55, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header.r315 .mst-grid-row .mst-grid-cell span {
        margin-top: 50px;
        line-height: 16px;
        /* writing-mode: vertical-lr; */
        text-align: left;
        transform-origin: top left;
        transform: rotate(315deg); }
  /* line 67, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-header .mst-grid-row {
    display: flex;
    background-color: var(--grid-header-background);
    overflow: hidden;
    height: 32px;
    max-height: 32px; }
    /* line 73, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-header .mst-grid-row .mst-grid-cell {
      flex: 1;
      user-select: none;
      white-space: nowrap;
      overflow: hidden;
      position: relative;
      cursor: pointer;
      color: var(--grid-header-text-color); }
      /* line 81, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell span {
        margin: 8px 0 7px 0 !important; }
      /* line 84, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell i.sort-icon {
        display: none;
        background-color: var(--grid-header-background); }
      /* line 88, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell.is--sorted {
        font-weight: bolder; }
        /* line 90, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell.is--sorted i.sort-icon {
          display: block;
          position: absolute;
          top: 0.5rem;
          right: 0.5rem; }
        /* line 98, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell.is--sorted.asc i.sort-icon:before {
          content: "\f15e"; }
        /* line 105, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell.is--sorted.desc i.sort-icon:before {
          content: "\f881"; }
      /* line 112, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell.is--selected {
        background-color: var(--grid-column-selected) !important; }
      /* line 115, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell div.divider {
        position: absolute;
        height: 100%;
        width: 2px;
        border: 1px solid var(--grid-line-color);
        cursor: col-resize;
        left: -1px;
        top: 0px; }
        /* line 123, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell div.divider.right {
          left: initial;
          right: 1px; }
      /* line 128, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell span {
        display: inline-block;
        width: 100%;
        overflow: hidden;
        font-size: 13px;
        font-weight: 500;
        line-height: 13px; }
        /* line 135, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell span.r270 {
          line-height: 32px;
          writing-mode: vertical-lr;
          text-align: left;
          transform: rotate(180deg);
          height: 120px; }
      /* line 143, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell:not(:last-child) {
        border-right: 1px solid var(--grid-line-color); }
      /* line 147, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell.is--sortable {
        cursor: pointer; }
      /* line 163, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-header .mst-grid-row .mst-grid-cell.is--primary {
        width: 50px;
        min-width: 50px;
        max-width: 50px; }
        /* line 167, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell.is--primary span {
          margin: 0 !important; }
        /* line 170, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-header .mst-grid-row .mst-grid-cell.is--primary i.filter-icon {
          margin: 8px;
          display: none; }
          /* line 173, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
          .mst-grid-header .mst-grid-row .mst-grid-cell.is--primary i.filter-icon.has--filters {
            color: orange;
            display: block; }

/* line 182, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
.mst-grid-search {
  flex: 1;
  width: 100%;
  overflow-x: hidden;
  height: 2rem;
  min-height: 2rem;
  max-height: 2rem; }
  /* line 191, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-search .mst-grid-row .mst-grid-cell input {
    width: 100%; }

/* line 198, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
.mst-grid-content {
  flex: 10;
  overflow-y: scroll;
  width: 100%;
  overflow-x: hidden; }
  /* line 203, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-content.no-scroll {
    overflow: hidden !important; }
  /* line 206, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-content > .mst-grid-row {
    display: flex;
    height: 1.75rem;
    max-height: 1.75rem;
    background-color: var(--grid-row-even-background-color); }
    /* line 211, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-content > .mst-grid-row.dual {
      height: 4rem; }
    /* line 214, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-content > .mst-grid-row:nth-child(odd) {
      background-color: var(--grid-row-odd-background-color); }
    /* line 217, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-content > .mst-grid-row:hover {
      cursor: pointer;
      background-color: var(--grid-row-hover); }
    /* line 221, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-content > .mst-grid-row.is--selected {
      background-color: var(--grid-row-selected-background-color);
      color: var(--grid-row-selected-color); }
      /* line 224, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell {
        background-color: transparent !important; }
        /* line 226, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell .input-group {
          display: flex; }
          /* line 228, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
          .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell .input-group input {
            flex: 10; }
          /* line 231, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
          .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell .input-group button {
            flex: 1; }
        /* line 237, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell .mst-grid-cell-group.selected-only select, .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell .mst-grid-cell-group.selected-only input {
          border: initial !important;
          color: #fff; }
        /* line 242, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row.is--selected .mst-grid-cell .mst-grid-cell-group.selected-only button {
          display: block !important; }
    /* line 249, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-content > .mst-grid-row.is--highlighted {
      background-color: var(--grid-row-highlighted-background-color); }
      /* line 252, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row.is--highlighted .mst-grid-cell {
        background-color: transparent !important; }
    /* line 256, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-content > .mst-grid-row > .mst-grid-cell {
      overflow: hidden;
      user-select: none;
      flex: 1;
      border-top: 1px solid var(--grid-line-color);
      white-space: nowrap;
      padding: 0 !important; }
      /* line 265, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-checkbox {
        margin: 0.2rem; }
      /* line 268, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell.is--header {
        background-color: var(--grid-header-background);
        color: var(--grid-header-text-color); }
      /* line 272, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell.is--header-light {
        background-color: var(--grid-header-background-light);
        color: var(--grid-header-text-color); }
      /* line 277, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group {
        display: flex; }
        /* line 281, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group select, .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group input {
          flex: 2; }
        /* line 284, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group .mst-tool-btn {
          flex: 1;
          max-width: 25px;
          min-width: 25px;
          color: var(--grid-header-background); }
          /* line 289, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
          .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group .mst-tool-btn:before {
            color: var(--grid-header-background); }
          /* line 292, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
          .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group .mst-tool-btn:hover {
            background-color: var(--grid-header-background); }
        /* line 297, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group.selected-only select, .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group.selected-only input {
          border: 0;
          background-color: transparent; }
        /* line 301, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell .mst-grid-cell-group.selected-only button {
          display: none; }
      /* line 306, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell.is--selected {
        background-color: var(--grid-column-selected) !important; }
        /* line 308, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell.is--selected span {
          color: #fff !important; }
      /* line 312, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell:not(:last-child) {
        border-right: 1px solid var(--grid-line-color); }
      /* line 315, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell > span {
        display: inline-block;
        line-height: 1.25rem;
        width: 100%;
        overflow: hidden;
        font-size: 13px;
        font-weight: 400;
        padding: 0.2rem 0.4rem !important; }
      /* line 325, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell select {
        -webkit-appearance: listbox; }
      /* line 328, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell textarea {
        width: calc(100% - 0.25rem);
        margin: 0.125rem;
        padding: 0rem 0.2rem 0rem 0.2rem;
        border-radius: 0.25rem;
        border: 1px solid #ccc;
        background-color: #fff; }
      /* line 337, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="checkbox"] {
        height: 15px;
        width: 15px;
        cursor: pointer; }
      /* line 343, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell select,
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="text"], .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="number"] {
        height: 23px;
        max-height: 23px;
        padding: 0rem 0.2rem 0rem 0.2rem;
        color: #000;
        margin: 0.125rem;
        width: calc(100% - 0.25rem);
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem; }
        /* line 356, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell select:last-child,
        .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="text"]:last-child, .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="number"]:last-child {
          border-top-right-radius: 0.25rem;
          border-bottom-right-radius: 0.25rem; }
      /* line 361, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input {
        cursor: text; }
      /* line 364, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input::-webkit-outer-spin-button,
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0; }
      /* line 369, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="number"] {
        -moz-appearance: textfield; }
      /* line 372, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell input[type="color"] {
        width: calc(100% - 0.25rem);
        height: calc(100% - 0.25rem);
        cursor: pointer;
        padding: 0.35rem; }
      /* line 379, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell button.mst-tool-btn {
        margin-top: 1px;
        width: 25px;
        max-width: 25px;
        min-width: 25px;
        height: 25px;
        cursor: pointer;
        text-align: center;
        background-color: #fff; }
        /* line 388, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell button.mst-tool-btn i {
          color: var(--grid-header-background); }
      /* line 400, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-content > .mst-grid-row > .mst-grid-cell.is--primary {
        width: 50px;
        min-width: 50px;
        max-width: 50px; }
        /* line 404, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
        .mst-grid-content > .mst-grid-row > .mst-grid-cell.is--primary span {
          font-size: 11px; }

/* line 412, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
.mst-grid-footer {
  flex: 1;
  height: 32px;
  max-height: 32px; }
  /* line 416, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
  .mst-grid-footer .mst-grid-row {
    display: flex;
    border-top: 1px solid #222;
    overflow: hidden;
    height: 32px;
    max-height: 32px; }
    /* line 423, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
    .mst-grid-footer .mst-grid-row .mst-grid-cell {
      flex: 1;
      user-select: none;
      white-space: nowrap;
      overflow: hidden;
      position: relative;
      cursor: pointer; }
      /* line 430, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/grid.scss */
      .mst-grid-footer .mst-grid-row .mst-grid-cell span {
        display: inline-block;
        width: 100%;
        overflow: hidden;
        margin: 8px 0 7px 0 !important;
        font-weight: bold; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
context-menu {
  display: none; }
  /* line 3, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
  context-menu.is--visible {
    display: block; }

/* line 8, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
.mst-ctxm {
  min-width: 100px;
  min-height: 20px;
  background-color: #fff;
  border: 1px solid #ccc;
  position: fixed;
  margin: .5rem 0 1rem 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  z-index: 2201; }
  /* line 17, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
  .mst-ctxm .mst-ctxm-header {
    width: 100%;
    text-align: center;
    padding: 3px;
    background-color: #2f6eb1;
    color: #fff;
    margin-bottom: 5px; }
  /* line 25, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
  .mst-ctxm .mst-ctxm-body {
    height: auto;
    display: block !important;
    max-width: 300px;
    font-size: 12px; }
    /* line 34, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
    .mst-ctxm .mst-ctxm-body.extend__left ul li ul {
      right: calc(100% - 5px);
      left: initial !important; }
    /* line 44, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
    .mst-ctxm .mst-ctxm-body.extend__top ul li ul {
      bottom: 0;
      top: initial !important; }
    /* line 51, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
    .mst-ctxm .mst-ctxm-body ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: block;
      height: 100%;
      max-width: 100%;
      width: 100%; }
      /* line 59, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
      .mst-ctxm .mst-ctxm-body ul li {
        max-width: 100%;
        width: 100%;
        padding: 5px;
        color: #000;
        position: relative;
        white-space: nowrap;
        cursor: pointer; }
        /* line 69, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li span {
          color: #000; }
        /* line 73, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li div.mst-btn-group {
          display: flex; }
          /* line 75, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li div.mst-btn-group button.mst-btn {
            border: 0px;
            padding: 0.5rem; }
        /* line 81, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li.mst-ctxm-group {
          border-top: 1px solid #ddd; }
        /* line 84, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li label {
          width: 100%;
          display: inline-block;
          font-style: italic;
          text-align: center; }
        /* line 90, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li.hr {
          border-top: 1px solid #ddd;
          margin-top: 3px;
          padding-bottom: 3px;
          height: 7px; }
        /* line 97, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li > ul {
          display: none;
          position: absolute;
          left: calc(100% - 5px);
          top: 2px;
          width: auto; }
          /* line 104, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li > ul li > ul {
            display: none;
            position: absolute;
            left: calc(100% - 5px);
            top: 2px;
            width: auto; }
        /* line 113, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li:hover {
          background-color: #2f6ee1; }
          /* line 114, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li:hover label,
          .mst-ctxm .mst-ctxm-body ul li:hover > span {
            color: #fff; }
          /* line 118, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li:hover.mst-ctxm-group, .mst-ctxm .mst-ctxm-body ul li:hover.hr {
            background-color: #fff;
            color: #000;
            cursor: default; }
            /* line 123, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
            .mst-ctxm .mst-ctxm-body ul li:hover.mst-ctxm-group label,
            .mst-ctxm .mst-ctxm-body ul li:hover.mst-ctxm-group span, .mst-ctxm .mst-ctxm-body ul li:hover.hr label,
            .mst-ctxm .mst-ctxm-body ul li:hover.hr span {
              color: #000; }
          /* line 129, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li:hover > ul {
            display: block !important;
            box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
            height: auto;
            background-color: #fff;
            border: 1px solid #ccc; }
            /* line 135, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
            .mst-ctxm .mst-ctxm-body ul li:hover > ul.workbreaks {
              top: unset;
              bottom: 0px; }
            /* line 140, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
            .mst-ctxm .mst-ctxm-body ul li:hover > ul li > ul {
              display: block !important;
              box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
              height: auto;
              background-color: #fff;
              border: 1px solid #ccc; }
        /* line 151, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li.mst-ctxm-filter {
          display: flex; }
          /* line 153, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li.mst-ctxm-filter > div {
            flex: 1; }
          /* line 156, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
          .mst-ctxm .mst-ctxm-body ul li.mst-ctxm-filter > span {
            flex: 1; }
        /* line 160, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/contextmenu.scss */
        .mst-ctxm .mst-ctxm-body ul li span {
          display: block;
          max-width: 100%;
          width: 100%;
          text-overflow: ellipsis;
          overflow: hidden; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
.mst-menu-bar {
  height: 62px;
  max-height: 62px;
  font-size: 14px;
  user-select: none; }
  /* line 7, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar div.filter-group {
    flex: 1;
    margin-left: 2px;
    margin-right: 2px; }
  /* line 21, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar div.button-group {
    padding-top: 0px;
    padding: 5px;
    display: flex; }
    /* line 25, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.button-group button {
      max-height: 30px;
      width: auto; }
    /* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.button-group .menu-bar-button {
      flex: 1;
      margin-right: 5px;
      border: 1px solid transparent;
      min-width: auto;
      max-width: initial;
      min-height: 30px;
      max-height: 30px;
      display: flex;
      flex-direction: row;
      padding-right: 10px;
      padding: 2px 10px 0px 10px; }
      /* line 33, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.button-group .menu-bar-button.mst-dropdown {
        position: relative; }
        /* line 35, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.button-group .menu-bar-button.mst-dropdown:after {
          font-family: "FontAwesome";
          content: "\f0d7";
          margin-top: 3px;
          margin-left: 10px; }
      /* line 42, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.button-group .menu-bar-button:hover {
        border-right: 1px solid #555;
        border-bottom: 1px solid #555;
        border-left: 1px solid #fff;
        border-top: 1px solid #fff;
        cursor: pointer; }
        /* line 48, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.button-group .menu-bar-button:hover i {
          color: rgba(47, 110, 225, 0.5); }
      /* line 52, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.button-group .menu-bar-button.is-active, .mst-menu-bar div.button-group .menu-bar-button:active {
        border-left: 1px solid #555;
        border-top: 1px solid #555;
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff; }
        /* line 58, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.button-group .menu-bar-button.is-active i, .mst-menu-bar div.button-group .menu-bar-button:active i {
          color: rgba(47, 110, 225, 0.8); }
      /* line 70, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.button-group .menu-bar-button i {
        font-size: 14px;
        flex: 1;
        margin-top: 5px;
        margin-right: 5px;
        width: 100%;
        text-align: center;
        color: #555; }
      /* line 81, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.button-group .menu-bar-button label {
        font-size: 12px;
        flex: 2;
        text-align: left;
        display: inline-block;
        width: 100%;
        text-align: left;
        font-weight: normal;
        margin-top: 4px;
        overflow: initial; }
  /* line 95, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar div.item__title {
    position: absolute;
    width: 100%;
    text-align: center;
    top: 2px;
    color: #fff;
    font-size: 20px;
    pointer-events: none; }
    /* line 103, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.item__title span {
      pointer-events: all; }
      /* line 105, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.item__title span.is--edited {
        font-style: italic; }
        /* line 107, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.item__title span.is--edited:before {
          content: "* "; }
      /* line 111, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.item__title span:hover {
        cursor: pointer; }
      /* line 114, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.item__title span:after {
        font-family: "FontAwesome";
        content: "\f044";
        margin-left: 10px;
        font-size: 14px; }
  /* line 122, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar label {
    text-transform: initial;
    font-weight: normal;
    color: #555;
    text-align: center;
    margin: 0; }
  /* line 130, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar input[type="number"],
  .mst-menu-bar input[type="text"] {
    height: 22px;
    background-color: #fff;
    padding: 2px;
    margin: 0;
    font-size: 12px; }
  /* line 138, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar input[type="number"] {
    max-width: 50px; }
  /* line 141, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar div.simple__header__bar {
    height: 35px;
    background-color: rgba(47, 110, 225, 0.8);
    margin: 0;
    padding: 0px 0px 0px 10px;
    position: relative; }
    /* line 147, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.simple__header__bar.has--file_menu {
      padding: 0; }
    /* line 151, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.simple__header__bar ul.menu__top__tabs {
      height: 35px;
      list-style: none;
      margin: 0;
      padding: 0px 0px 0px 10px; }
      /* line 156, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.simple__header__bar ul.menu__top__tabs li.menu__top__tab {
        margin: 10px 0px 0px 0px;
        height: 25px;
        float: left;
        cursor: pointer;
        padding: 2px 8px 0px 8px;
        margin-right: 3px;
        border-top: 1px solid transparent;
        border-left: 1px solid transparent;
        border-right: 1px solid transparent;
        color: #fff; }
        /* line 167, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.simple__header__bar ul.menu__top__tabs li.menu__top__tab.is--selected {
          border-top: 0px;
          background-color: #f1f1f1;
          border-top: 1px solid rgba(47, 110, 225, 0.05);
          border-left: 1px solid rgba(47, 110, 225, 0.05);
          border-right: 1px solid rgba(47, 110, 225, 0.05);
          color: #2f6ee1; }
  /* line 178, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar div.date_select {
    display: flex; }
    /* line 180, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.date_select button {
      flex: 1;
      width: 25px;
      height: 25px;
      max-width: 25px;
      max-height: 25px;
      font-family: "FontAwesome"; }
      /* line 187, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.date_select button.previous {
        border-radius: 5px 0px 0px 5px; }
        /* line 189, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.date_select button.previous:before {
          content: "\f0d9"; }
      /* line 193, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-menu-bar div.date_select button.next {
        border-radius: 0px 5px 5px 0px; }
        /* line 195, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
        .mst-menu-bar div.date_select button.next:before {
          content: "\f0da"; }
    /* line 200, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar div.date_select select,
    .mst-menu-bar div.date_select input {
      flex: 3;
      max-height: 25px;
      height: 25px; }

/* line 211, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
.mst-menu-bar-content {
  height: 62px;
  max-height: 62px;
  background-color: #f1f1f1;
  border-bottom: 1px solid #ddd;
  display: flex; }
  /* line 217, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar-content div.content-box {
    border-right: 1px solid #ddd; }
  /* line 222, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-menu-bar-content .caption {
    background-color: #eaf0fc;
    padding: 2px;
    border-bottom: 1px solid #2f6ee1; }
    /* line 226, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-menu-bar-content .caption span {
      color: #2f6ee1;
      display: block;
      text-align: center; }

/* line 234, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
.mst-simple-side-bar {
  height: 100%;
  min-width: 120px;
  max-width: 120px;
  background-color: #f1f1f1;
  box-shadow: rgba(0, 0, 0, 0.4) 0px 10px 10px; }
  /* line 240, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-simple-side-bar .mst-side-bar-button-group {
    display: flex;
    flex-wrap: wrap; }
    /* line 243, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button-group .mst-button-group-header {
      border-top: 4px solid #0067b8;
      padding-bottom: 3px;
      width: 100%;
      text-align: center;
      background-color: var(--mst-box-title-background); }
      /* line 249, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button-group .mst-button-group-header label {
        text-transform: uppercase;
        font-size: 12px;
        line-height: 12px; }
    /* line 256, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button-group .mst-button-group {
      width: 100%; }
    /* line 259, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button-group input {
      max-width: 100%; }
  /* line 263, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-simple-side-bar .left-right-filter {
    display: flex;
    width: 100%; }
    /* line 266, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .left-right-filter .mst-btn {
      margin-left: 5px;
      margin-right: 5px;
      flex: 1;
      text-align: center; }
    /* line 271, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .left-right-filter input, .mst-simple-side-bar .left-right-filter select {
      flex: 3; }
  /* line 275, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-simple-side-bar .mst-side-bar-button {
    width: calc(100% - 10px);
    height: 25px;
    margin: 5px 5px 5px 5px;
    text-align: center;
    display: flex;
    flex-direction: row;
    cursor: pointer; }
    /* line 283, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button > i {
      margin-top: 3px;
      font-size: 1rem;
      flex: 1; }
    /* line 288, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button label {
      flex: 2;
      margin-top: 3px;
      text-align: left;
      font-size: 0.75rem; }
    /* line 301, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button:hover i {
      color: rgba(47, 110, 225, 0.5); }
    /* line 305, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button.is-active, .mst-simple-side-bar .mst-side-bar-button:active {
      border-left: 1px solid #555;
      border-top: 1px solid #555;
      border-right: 1px solid #fff;
      border-bottom: 1px solid #fff; }
      /* line 311, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button.is-active i, .mst-simple-side-bar .mst-side-bar-button:active i {
        color: rgba(47, 110, 225, 0.8);
        margin-top: 5px;
        margin-left: 2px; }
    /* line 318, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button:disabled {
      border: 1px solid transparent !important; }
      /* line 320, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button:disabled i, .mst-simple-side-bar .mst-side-bar-button:disabled label {
        color: lightgray !important; }
      /* line 321, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button:disabled i {
        margin-top: 3px !important;
        margin-left: 0px !important; }
    /* line 327, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar .mst-side-bar-button.mst-dropdown {
      display: flex;
      flex-direction: row;
      position: relative; }
      /* line 332, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button.mst-dropdown ul {
        margin-top: 0px;
        margin-left: 0px; }
      /* line 337, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button.mst-dropdown li label {
        text-align: left; }
      /* line 341, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar .mst-side-bar-button.mst-dropdown:after {
        font-family: "FontAwesome";
        content: "\f0d7";
        margin-top: 3px;
        text-align: right; }
  /* line 351, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
  .mst-simple-side-bar.top {
    max-width: initial;
    min-width: initial;
    height: 62px;
    max-height: 62px;
    display: flex;
    box-shadow: initial;
    background-color: var(--mst-box-title-background);
    border-bottom: 1px solid #e0e0e0; }
    /* line 360, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar.top .mst-side-bar-button-group {
      display: block;
      flex: 1; }
    /* line 364, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
    .mst-simple-side-bar.top .mst-button-group {
      display: flex; }
      /* line 366, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/menu_bar.scss */
      .mst-simple-side-bar.top .mst-button-group button {
        flex: 1;
        max-width: 125px; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
.tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  background-color: #f1f1f1;
  margin: 10px; }
  /* line 7, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
  .tabs .tab {
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    margin-right: 0.0625rem;
    cursor: pointer;
    background-color: #000;
    color: #fff;
    border-bottom: 4px solid #000;
    order: 1; }
    /* line 22, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
    .tabs .tab label {
      color: #fff;
      font-size: 14px; }
    /* line 26, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
    .tabs .tab.is-active {
      background-color: #fff;
      color: #0067b8;
      border-top: 4px solid #0067b8;
      box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
      border-bottom: none; }
      /* line 32, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
      .tabs .tab.is-active label {
        color: #000; }
  /* line 38, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
  .tabs .tabs-container {
    flex-grow: 1;
    width: 100%;
    height: calc(100% - 35px);
    max-height: calc(100% - 35px);
    padding: 0.5rem;
    color: #000;
    background-color: #fff;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
    order: 9; }
    /* line 48, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
    .tabs .tabs-container .tab-page {
      height: calc(100%);
      max-height: calc(100%); }
  /* line 54, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
  .tabs.inline {
    margin: 0;
    padding: 0; }
    /* line 57, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
    .tabs.inline .tab {
      box-shadow: initial; }
    /* line 60, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tabs.scss */
    .tabs.inline .tabs-container {
      box-shadow: initial;
      padding: 0; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
.mst-page1 {
  display: flex;
  height: calc(100vh - 50px);
  max-height: calc(100vh - 50px);
  min-height: calc(100vh - 50px); }
  /* line 6, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
  .mst-page1.inline {
    height: calc(100%);
    max-height: calc(100%);
    min-height: calc(100%); }
    /* line 10, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1.inline .mst-page-container {
      width: calc(100% - 120px) !important;
      min-width: calc(100% - 120px) !important;
      max-width: calc(100% - 120px) !important; }
  /* line 16, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
  .mst-page1.vertical {
    flex-direction: column; }
    /* line 18, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1.vertical .mst-page-container {
      width: calc(100%) !important;
      min-width: calc(100%) !important;
      max-width: calc(100%) !important; }
    /* line 23, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1.vertical > .mst-simple-side-bar {
      width: calc(100%) !important;
      min-width: calc(100%) !important;
      max-width: calc(100%) !important;
      height: 70px; }
    /* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1.vertical .mst-page-container {
      height: calc(100% - 70px);
      min-height: calc(100% - 70px);
      max-height: calc(100% - 70px); }
  /* line 35, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
  .mst-page1 > .mst-simple-side-bar {
    flex: 1;
    max-width: 120px;
    min-width: 120px;
    width: 120px; }
    /* line 40, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1 > .mst-simple-side-bar.large {
      max-width: 200px;
      min-width: 200px;
      width: 200px; }
  /* line 47, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
  .mst-page1 .mst-page-container {
    flex: 11;
    width: calc(100vw - 120px);
    min-width: calc(100vw - 120px);
    max-width: calc(100vw - 120px);
    display: flex;
    flex-direction: column; }
    /* line 55, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1 .mst-page-container.large-side-bar {
      width: calc(100vw - 200px);
      min-width: calc(100vw - 200px);
      max-width: calc(100vw - 200px); }
    /* line 62, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1 .mst-page-container.vertical {
      flex-direction: row; }
    /* line 65, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1 .mst-page-container .mst-page-grid-content {
      flex: 5;
      overflow-x: overlay; }
    /* line 69, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1 .mst-page-container .mst-divider.h {
      flex: 2; }
    /* line 73, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1 .mst-page-container .mst-page-detail-content {
      flex: 5; }
      /* line 75, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
      .mst-page1 .mst-page-container .mst-page-detail-content .tabs {
        height: calc(100% - 20px);
        max-height: calc(100% - 20px); }
  /* line 81, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
  .mst-page1.full-width {
    width: calc(100%) !important;
    min-width: calc(100%) !important;
    max-width: calc(100%) !important; }
    /* line 85, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
    .mst-page1.full-width .mst-page-container {
      width: calc(100%) !important;
      min-width: calc(100%) !important;
      max-width: calc(100%) !important; }

/* line 94, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/page.scss */
.mst-scroll-container.h {
  margin-left: 5px;
  margin-right: 5px;
  width: calc(100% - 10px);
  max-width: calc(100% - 10px);
  min-width: calc(100% - 10px);
  height: 100%;
  max-height: 100%;
  min-height: 100%;
  overflow-x: scroll; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
.mst-tree {
  background-color: #fff;
  height: 100%;
  max-height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #ccc; }
  /* line 9, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
  .mst-tree .header {
    flex: 1;
    max-height: 35px;
    height: 35px;
    border-top: 4px solid #0067b8;
    padding: 5px;
    width: 100%;
    text-align: center;
    background-color: #f5f5f5;
    font-weight: bolder; }
  /* line 20, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
  .mst-tree ul {
    flex: 11;
    overflow-y: overlay; }
    /* line 26, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
    .mst-tree ul li {
      cursor: pointer;
      width: 100%;
      position: relative; }
      /* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
      .mst-tree ul li a {
        width: 100%;
        display: inline-block;
        padding: 10px; }
        /* line 33, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
        .mst-tree ul li a.is-selected {
          background-color: var(--grid-row-selected-background-color);
          color: var(--grid-row-selected-color); }
      /* line 63, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
      .mst-tree ul li > ul li a {
        padding-left: 20px; }
      /* line 68, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/tree.scss */
      .mst-tree ul li > ul li > ul li a {
        padding-left: 40px; }

/* line 3, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/keypad.scss */
.mst-keypad .mst-keypad-row {
  display: flex; }
  /* line 5, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/keypad.scss */
  .mst-keypad .mst-keypad-row .mst-keypad-key {
    flex: 1;
    text-align: center;
    width: 50px;
    height: 50px;
    margin: 2px;
    border-radius: 5px;
    border: 1px solid #ccc; }
    /* line 13, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/keypad.scss */
    .mst-keypad .mst-keypad-row .mst-keypad-key:active {
      background-color: blue;
      color: #fff; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notifications-container {
  position: fixed;
  bottom: 20px;
  height: calc(100vh - 20px);
  right: 0;
  display: flex;
  flex-direction: column-reverse;
  overflow: hidden;
  width: 350px;
  user-select: none;
  pointer-events: none;
  z-index: 10000; }

/* line 15, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.notification-enter-active,
.notification-leave-active {
  transition: opacity 0.5s ease; }

/* line 20, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.notification-enter-from,
.notification-leave-to {
  opacity: 0; }

/* line 24, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.v-enter-active,
.v-leave-active {
  transition: opacity 0.5s ease; }

/* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.v-enter-from,
.v-leave-to {
  opacity: 0; }

/* line 33, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
:root {
  --mst-color-success: green;
  --mst-color-error: red;
  --mst-box-shadow-light: #ccc;
  --mst-border-color-lighter: #ccc;
  --mst-font-size-base: 12px;
  --mst-text-color-regular: #222;
  --mst-text-color-primary: #555;
  --mst-text-color-secondary: #555; }

/* line 43, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification {
  --mst-notification-width: 330px;
  --mst-notification-padding: 8px;
  --mst-notification-radius: 8px;
  --mst-notification-shadow: var(--mst-box-shadow-light);
  --mst-notification-border-color: var(--mst-border-color-lighter);
  --mst-notification-icon-size: 24px;
  --mst-notification-close-font-size: var(--mst-message-close-size, 16px);
  --mst-notification-group-margin-left: 13px;
  --mst-notification-group-margin-right: 8px;
  --mst-notification-content-font-size: var(--mst-font-size-base);
  --mst-notification-content-color: var(--mst-text-color-regular);
  --mst-notification-title-font-size: 16px;
  --mst-notification-title-color: var(--mst-text-color-primary);
  --mst-notification-close-color: var(--mst-text-color-secondary);
  --mst-notification-close-hover-color: var(--mst-text-color-regular)
; }

/* line 61, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification {
  flex: 1;
  margin: 10px;
  display: flex;
  right: 20px;
  width: var(--mst-notification-width);
  padding: var(--mst-notification-padding);
  border-radius: var(--mst-notification-radius);
  box-sizing: border-box;
  border: 1px solid var(--mst-notification-border-color);
  height: 60px;
  min-height: 60px;
  max-height: 60px;
  background-color: var(--mst-bg-color-overlay);
  box-shadow: var(--mst-notification-shadow);
  transition: opacity var(--mst-transition-duration), transform var(--mst-transition-duration), left var(--mst-transition-duration), right var(--mst-transition-duration), top 0.4s, bottom var(--mst-transition-duration);
  overflow-wrap: anywhere;
  overflow: hidden;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.5s; }
  /* line 84, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
  .mst-notification.is--visible {
    opacity: 1; }

/* line 89, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification__group {
  margin-left: var(--mst-notification-group-margin-left);
  margin-right: var(--mst-notification-group-margin-right); }

/* line 94, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification__title {
  font-weight: 700;
  font-size: var(--mst-notification-title-font-size);
  line-height: var(--mst-notification-icon-size);
  color: var(--mst-notification-title-color);
  margin: 0; }

/* line 102, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification__content {
  font-size: var(--mst-notification-content-font-size);
  line-height: 24px;
  margin: 0px 0 0;
  color: var(--mst-notification-content-color);
  text-align: justify; }

/* line 110, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification__content p {
  margin: 0; }

/* line 114, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification .mst-notification__icon {
  height: var(--mst-notification-icon-size);
  width: var(--mst-notification-icon-size);
  font-size: var(--mst-notification-icon-size); }

/* line 120, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification .mst-notification__closeBtn {
  position: absolute;
  top: 18px;
  right: 15px;
  cursor: pointer;
  color: var(--mst-notification-close-color);
  font-size: var(--mst-notification-close-font-size); }

/* line 129, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification .mst-notification__closeBtn:hover {
  color: var(--mst-notification-close-hover-color); }

/* line 134, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification .mst-notification-icon {
  width: 36px;
  height: 36px;
  border-radius: 18px;
  font-size: 25px;
  padding-left: 7px;
  padding-top: 4px;
  margin-right: 10px; }
  /* line 142, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
  .mst-notification .mst-notification-icon:before {
    font-family: "FontAwesome"; }

/* line 146, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification.success {
  border-color: green;
  background-color: #22ee2255;
  --mst-notification-icon-color: var(--mst-color-success);
  color: var(--mst-notification-icon-color); }
  /* line 152, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
  .mst-notification.success .mst-notification-icon {
    background-color: #33cc33AA; }
    /* line 154, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
    .mst-notification.success .mst-notification-icon:before {
      content: "\f00c"; }

/* line 160, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification.info {
  --mst-notification-icon-color: var(--mst-color-info);
  color: var(--mst-notification-icon-color); }

/* line 164, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification.warning {
  --mst-notification-icon-color: var(--mst-color-warning);
  color: var(--mst-notification-icon-color); }

/* line 168, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification.error {
  border-color: red;
  background-color: #ff555555;
  --mst-notification-icon-color: var(--mst-color-error);
  color: var(--mst-notification-icon-color); }
  /* line 173, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
  .mst-notification.error .mst-notification-icon {
    background-color: #ff555555; }
    /* line 175, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
    .mst-notification.error .mst-notification-icon:before {
      content: "\f00d"; }

/* line 183, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification-fade-enter-from.right {
  right: 0;
  transform: translate(100%);
  transition: right 0.5s; }

/* line 189, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification-fade-enter-from.left {
  left: 0;
  transform: translate(-100%); }

/* line 194, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/notification.scss */
.mst-notification-fade-leave-to {
  opacity: 0; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
.month-calendar {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  background-color: #333;
  color: #fff; }
  /* line 7, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
  .month-calendar .month-calendar-week {
    display: flex;
    width: 100%;
    height: 16%;
    border-top: 1px solid #888;
    position: relative; }
    /* line 13, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
    .month-calendar .month-calendar-week .month-calendar-year-month-title {
      position: absolute;
      top: -15px;
      left: 10px;
      opacity: 0;
      pointer-events: none;
      transition: all 0.5s linear; }
      /* line 20, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
      .month-calendar .month-calendar-week .month-calendar-year-month-title span.month {
        font-weight: bold;
        font-size: 200%; }
      /* line 24, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
      .month-calendar .month-calendar-week .month-calendar-year-month-title span.year {
        font-weight: bolder;
        font-size: 200%; }
    /* line 29, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
    .month-calendar .month-calendar-week .month-calendar-week-day {
      flex: 1;
      width: 14%;
      height: 100%;
      padding: 2px;
      border-right: 1px solid #888; }
      /* line 35, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
      .month-calendar .month-calendar-week .month-calendar-week-day div.month-calendar-week-day-header {
        position: relative;
        height: 25px; }
        /* line 38, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
        .month-calendar .month-calendar-week .month-calendar-week-day div.month-calendar-week-day-header span.week {
          position: absolute;
          left: 5px;
          top: 5px; }
        /* line 43, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
        .month-calendar .month-calendar-week .month-calendar-week-day div.month-calendar-week-day-header span.day {
          position: absolute;
          right: 5px;
          top: 5px; }
      /* line 49, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
      .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection {
        display: flex;
        flex-direction: column;
        height: calc(100% - 25px);
        overflow-y: overlay; }
        /* line 54, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
        .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection div.item {
          margin: 1px;
          display: flex;
          cursor: pointer; }
          /* line 58, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
          .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection div.item div.color {
            flex: 1;
            display: flex;
            max-width: 45px; }
            /* line 62, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
            .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection div.item div.color div.color-item {
              flex: 1;
              width: 6px;
              max-width: 6px;
              margin-right: 2px;
              height: 100%;
              border-radius: 3px; }
          /* line 71, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
          .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection div.item span {
            display: block;
            font-size: 80%; }
            /* line 74, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
            .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection div.item span.title {
              white-space: nowrap;
              max-width: calc(100% - 100px);
              overflow: hidden; }
            /* line 79, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
            .month-calendar .month-calendar-week .month-calendar-week-day div.item-collection div.item span.time {
              max-width: 50px; }
  /* line 88, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/calendar.scss */
  .month-calendar.has--scrolled .month-calendar-year-month-title {
    opacity: 1; }

/* line 1, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/week-selector.scss */
.week-selector {
  margin-left: auto;
  margin-right: auto;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  display: flex; }
  /* line 8, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/week-selector.scss */
  .week-selector button.mst-btn {
    color: #222;
    background-color: #fff;
    font-size: 14px;
    flex: 1;
    width: 30px;
    max-width: 30px;
    height: 30px; }
  /* line 17, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/components/week-selector.scss */
  .week-selector span {
    flex: 2;
    display: block;
    text-align: center;
    line-height: 30px; }

/* line 19, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
html, body {
  width: 100vw;
  height: 100vh;
  overflow: hidden; }

/* line 25, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
body {
  font-family: "Inter var";
  font-size: 12px;
  -webkit-font-smoothing: antialiased;
  background-color: #f1f1f1; }

/* line 31, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
select {
  -webkit-appearance: listbox;
  overflow-y: scroll; }

@font-face {
  font-family: "FontAwesome";
  font-weight: 900;
  font-style: normal;
  src: url("/static/fonts/mystique/fa-solid-900.woff2?v=6.5.1&37c10aaf2e28") format("woff2"), url("/static/fonts/mystique/fa-solid-900.ttf?v=6.5.1&37c10aaf2e28") format("truetype"); }

@font-face {
  font-family: "FontAwesomeRegular";
  font-weight: 400;
  font-style: normal;
  src: url("/static/fonts/mystique/fa-regular-400.woff2?v=6.5.1&37c10aaf2e28") format("woff2"), url("/static/fonts/mystique/fa-regular-400.ttf?v=6.5.1&37c10aaf2e28") format("truetype"); }

/* line 51, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.fa, .fas {
  font-family: "FontAwesome"; }

/* line 54, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.far {
  font-family: "FontAwesomeRegular" !important; }

/* line 58, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.center {
  text-align: center; }

/* line 59, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.italic {
  font-style: italic; }

/* line 60, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.bold {
  font-weight: bold !important; }

/* line 61, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.bolder {
  font-weight: bolder !important; }

/* line 62, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.p0, .p-0 {
  padding: 0px; }

/* line 63, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.p1, .p-1 {
  padding: 2px; }

/* line 64, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.p2, .p-2 {
  padding: 5px; }

/* line 65, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.p3, .p-3 {
  padding: 6px; }

/* line 66, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.p4, .p-4 {
  padding: 7px; }

/* line 67, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.p5, .p-5 {
  padding: 10px; }

/* line 70, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.px0, .px-0 {
  padding-left: 0px;
  padding-right: 0px; }

/* line 71, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.px1, .px-1 {
  padding-left: 2px;
  padding-right: 2px; }

/* line 72, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.px2, .px-2 {
  padding-left: 5px;
  padding-right: 5px; }

/* line 73, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.px3, .px-3 {
  padding-left: 7px;
  padding-right: 7px; }

/* line 74, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.px4, .px-4 {
  padding-left: 10px;
  padding-right: 10px; }

/* line 76, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.pl0, .pl-0 {
  padding-left: 0px; }

/* line 77, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.pl1, .pl-1 {
  padding-left: 2px; }

/* line 78, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.pl2, .pl-2 {
  padding-left: 5px; }

/* line 79, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.pl3, .pl-3 {
  padding-left: 7px; }

/* line 80, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.pl4, .pl-4 {
  padding-left: 10px; }

/* line 82, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.py1, .py-1 {
  padding-top: 2px;
  padding-bottom: 2px; }

/* line 83, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.py2, .py-2 {
  padding-top: 5px;
  padding-bottom: 5px; }

/* line 84, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.py3, .py-3 {
  padding-top: 7px;
  padding-bottom: 7px; }

/* line 85, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.py4, .py-4 {
  padding-top: 10px;
  padding-bottom: 10px; }

/* line 87, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.m0, .m-0 {
  margin: 0rem; }

/* line 88, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.m1, .m-1 {
  margin: 0.25rem; }

/* line 89, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.m2, .m-2 {
  margin: 0.5rem; }

/* line 90, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.m3, .m-3 {
  margin: 0.75rem; }

/* line 91, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.m4, .m-4 {
  margin: 1rem; }

/* line 93, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.ml1, .ml-1 {
  margin-left: 2px; }

/* line 94, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.ml2, .ml-2 {
  margin-left: 5px; }

/* line 95, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.ml3, .ml-3 {
  margin-left: 7px; }

/* line 96, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.ml4, .ml-4 {
  margin-left: 10px; }

/* line 98, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mr1, .mr-1 {
  margin-right: 2px; }

/* line 99, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mr2, .mr-2 {
  margin-right: 5px; }

/* line 100, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mr3, .mr-3 {
  margin-right: 7px; }

/* line 101, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mr4, .mr-4 {
  margin-right: 10px; }

/* line 103, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mx1, .mx-1 {
  margin-left: 2px;
  margin-right: 2px; }

/* line 104, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mx2, .mx-2 {
  margin-left: 5px;
  margin-right: 5px; }

/* line 105, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mx3, .mx-3 {
  margin-left: 7px;
  margin-right: 7px; }

/* line 106, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.mx4, .mx-4 {
  margin-left: 10px;
  margin-right: 10px; }

/* line 108, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.my1, .my-1 {
  margin-top: 2px;
  margin-bottom: 2px; }

/* line 109, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.my2, .my-2 {
  margin-top: 5px;
  margin-bottom: 5px; }

/* line 110, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.my3, .my-3 {
  margin-top: 7px;
  margin-bottom: 7px; }

/* line 111, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.my4, .my-4 {
  margin-top: 10px;
  margin-bottom: 10px; }

/* line 113, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.br1, .br-1 {
  border-radius: 0.25rem; }

/* line 114, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.br2, .br-2 {
  border-radius: 0.5rem; }

/* line 115, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.br3, .br-3 {
  border-radius: 0.75rem; }

/* line 116, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.br4, .br-4 {
  border-radius: 1rem; }

/* line 118, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f1 {
  flex: 1 !important; }

/* line 119, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f2 {
  flex: 2 !important; }

/* line 120, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f3 {
  flex: 3 !important; }

/* line 121, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f4 {
  flex: 4 !important; }

/* line 122, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f5 {
  flex: 5 !important; }

/* line 123, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f6 {
  flex: 6 !important; }

/* line 124, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f7 {
  flex: 7 !important; }

/* line 125, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f8 {
  flex: 8 !important; }

/* line 126, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f9 {
  flex: 9 !important; }

/* line 127, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f10 {
  flex: 10 !important; }

/* line 128, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f11 {
  flex: 11 !important; }

/* line 129, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.f12 {
  flex: 12 !important; }

/* line 131, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.flex {
  display: flex; }

/* line 132, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.stretch {
  flex-direction: stretch; }

/* line 133, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.fcol {
  flex-direction: column; }

/* line 134, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.frow {
  flex-direction: row; }

/* line 135, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.maxh {
  height: 100%;
  max-height: 100%; }

/* line 136, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
.maxw {
  width: 100%;
  max-width: 100%; }

/* line 137, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
input[type="radio"] {
  width: 16px;
  height: 16px;
  border-radius: 7px; }

/* line 142, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
input::placeholder {
  opacity: 0.5; }

/* line 146, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
input.unselectable {
  background-color: lightyellow; }

/* line 156, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
div.mst-checkbox {
  width: 1.25rem;
  max-width: 1.25rem;
  height: 1.25rem;
  max-height: 1.25rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  cursor: pointer;
  background-color: #fff;
  margin: 3px; }
  /* line 167, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
  div.mst-checkbox.is--checked:before {
    display: block;
    content: "";
    background-color: green;
    margin: 3px;
    width: 0.75rem;
    max-width: 0.75rem;
    height: 0.75rem;
    max-height: 0.75rem; }

/* line 181, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
div.mst-divider {
  background-color: #ccc;
  border: 1px solid #aaa; }
  /* line 184, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
  div.mst-divider.h {
    width: 100%;
    height: 3px;
    max-height: 5px;
    min-height: 5px;
    cursor: row-resize; }
  /* line 191, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
  div.mst-divider.v {
    width: 3px;
    max-width: 3px;
    min-width: 3px;
    height: 100%;
    cursor: col-resize; }

/* line 201, virtual/lib/python3.12/site-packages/mystique/static/scss/mystique/style.scss */
h2 {
  display: inline-block;
  margin: 10px 0px 5px 0px;
  padding: 3px;
  font-size: 110%; }
