:root {
  --lessprimary: #bbdefb;
  --lightprimary: #64b5f6;
  --primary: #007AFF;
  --darkprimary: #0040DD;
  --white: #FFFFFF;
  --lessred: #ffb3c1;
  --lightred: #fb747d;
  --red: #FF3B30;
  --darkred: #D70015;
  --lessgreen: #b7e4c7;
  --lightgreen: #6ede8a;
  --green: #34C759;
  --darkgreen: #248A3D;
  --lessblue: #bbdefb;
  --lightblue: #64b5f6;
  --blue: #007AFF;
  --darkblue: #0040DD;
  --lessorange: #fff2b2;
  --lightorange: #FFD426;
  --orange: #FF9500;
  --darkorange: #D84315;
  --lessviolet: #dfd7f1;
  --lightviolet: #B692F6;
  --violet: #7F56D9;
  --darkviolet: #53389E;
  --lessgray: #e9ecef;
  --lightgray: #d8dae5;
  --gray: #8E8E93;
  --darkgray: #48484A;
  --lessblack: #F5F5F5;
  --lightblack: #adb5bd;
  --black: #1A1110;
  --darkblack: #000000;
  --background: rgb(238, 242, 246);
  --backgroundmenu: #FFFFFF;
  --box-shadow: 0rem 0.5rem 1rem -0.25rem #1a1a1a38;
  --box-shadow-light: 0rem 0.1875rem 0.0625rem -0.0625rem #1a1a1a12;
  --font-size-xxxl: 2.2rem;
  --font-size-xxl: 1.8rem;
  --font-size-xl: 1.3rem;
  --font-size-l: 1.15rem;
  --font-size-m: 1rem;
  --font-size-s: 0.9rem;
  --font-size-xs: 0.8rem;
  --range-xxl: 21px;
  --range-xl: 18px;
  --range-l: 15px;
  --range-m: 10px;
  --range-s: 8px;
  --range-xs: 6px;
  --range-xxs: 4px;
  --height-l: 34px;
  --height-m: 30px;
  --height-s: 26px;
  --radius-l: 12px;
  --radius-m: 9px;
  --radius-s: 6px;
}
*::-webkit-scrollbar {
  width: var(--range-xxs);
  height: var(--range-xxs);
}

*::-webkit-scrollbar-track {
  background: var(--lightgray);
}

*::-webkit-scrollbar-thumb {
  background: var(--gray);
  border-radius: 3px;
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--gray);
}
html {
  font-size: 13px;
}
body {
  overflow: hidden;
  background-color: var(--background);
  font-family: 'Inter', 'Roboto', 'Open Sans', sans-serif;
  color: var(--black);
  font-size: var(--font-size-m);
}
a {
  color: var(--primary);
}
a:hover, a:focus {
  color: var(--darkprimary);
}
h1 {
  font-size: var(--font-size-xxl);  
}
h2, h3 {
  font-size: var(--font-size-xl);
}
h4, h5 {
  font-size: var(--font-size-l);
}

h1, h2, h3, h4, h5 {
  color: var(--black);
  margin-top: 0px;
  margin-bottom: 10px;
}
.ti {
  font-size: var(--font-size-l);
}

#header-empty {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 55px;
  width: 100vw;
  background-color: var(--white);
  border-bottom: 1px solid var(--lessgray);
}
.app-login {
  position: relative;
  display: flex;
  background: var(--background);
}
.app-login-form {
  min-width: 500px;
  margin: 0 auto;
  background: var(--white);
  box-shadow: var(--box-shadow);
  padding: 20px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.app-login-header {
  text-align: center;
}
.app-login-header img {
  width: 150px;
  border-radius: 20px;
}
.app-login-header h4 {
  font-size: 28px;
  padding: 10px 0px;
}
.app-login-background {
  display: flex;
  align-items: center;
  justify-content: center;
}
.app-login-background img {
  width: 450px;
}

@media screen and (max-width: 991px) {
  #app-menu {
    display: none;
  }
  #app-header { 
    width: 100%;
    left: 0;
  }
  #app-menu-mobile-icon {
    display: inline-flex;
  }
  #app-menu-desktop-icon {
    display: none;
  }
  .menu-body {
    height: calc(100vh - 55px);
  }
  .app-header-user {
    display: none;
  }
  .app-header-body {
    padding: 0px 0 0 25px;
  }
  .col-md-1, col-md-2, .col-md-3, .col-md-4, col-md-5, .col-md-6, .col-md-8, col-md-9, col-md-10, .col-md-12 {
    padding-left: var(--range-s);
    padding-right: var(--range-s);
  }
  .app-content {
    padding: var(--range-s);
  }
}
@media screen and (min-width: 991px) {
  #app-menu {
    display: block;
  }
  #app-menu-mobile-icon {
    display: none;
  }
  #app-menu-mobile {
    display: none;
  }
  #app-menu-desktop-icon {
    display: flex;
  }
  .menu-body {
    height: calc(100vh - 110px);
  }
  .app-header-user-mobile {
    display: none;
  }
  #app {
    margin-left: 55px;
  }
  .app-header-body {
    padding: 0px var(--range-m);
  }
  .col-md-1, col-md-2, .col-md-3, .col-md-4, col-md-5, .col-md-6, .col-md-8, col-md-9, col-md-10, .col-md-12 {
    padding-left: var(--range-m);
    padding-right: var(--range-m);
  }
  .app-content {
    padding: 0 var(--range-m);
  }
}
#app {
  height: calc(100vh - 55px);
  margin-top: calc(55px + var(--range-m));
  overflow: auto;
}
.app-header-desktop-show {
  width: calc(100vw - 255px);
  left: 255px;
}

#app-header {
  position: fixed;
  top: 0;
  left: 55px;
  z-index: 1000;
  width: calc(100% - 55px);
  background: var(--background);
}
.app-header-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 2560px;
  height: 55px;
  margin: 0 auto;
  background-color: var(--white);
  border-bottom: 1px solid var(--lessgray);
}
.app-header-title {
  display: flex;
  align-items: center;
  text-align: left;
  float: left;
  color: var(--gray);
  font-size: var(--font-size-m);
}

.app-header-title-main{
  display: flex;
  align-items: center;
  color: var(--gray);
}
.app-header-title-main>a{
  color: var(--darkgray);
}
.app-header-title-main>a:hover{
  color: var(--darkprimary);
  text-decoration: none;
  cursor: pointer;
}
.app-header-title-main>i{
  color: var(--primary);
  font-size: var(--font-size-xs);
  margin-left: var(--range-m);
  margin-right: var(--range-m);
}
.app-header-title-page {
  color: var(--darkgray);
  font-size: var(--font-size-m);
}
.app-header-user {
  position: relative;
  text-align: right;
  float: right;
  cursor: pointer;
}
.app-header-user-body {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  padding: var(--range-xxs);
  border-radius: var(--radius-s);
}
.app-header-user-body:hover{
  border: 1px solid var(--lessprimary);
}
.app-header-user-text {
  margin-right: 5px;
}
.app-header-name {
  font-size: var(--font-size-l);
  font-weight: bold;
  text-align: center;
  margin: var(--range-m) 0px;
  max-width: 240px;
  width: 100%;
}

.app-header-user-avatar {
  background-color: var(--primary);
  color: var(--white);
  font-size: var(--font-size-l);
  text-transform: uppercase;
  height: 35px;
  width: 35px;
  border-radius: var(--radius-m);
  display: flex;
  align-items: center;
  justify-content: center;
}
.app-content {
  display: inline-block;
  width: 100%;
  max-width: 2560px;
  margin: 0 auto;
}
/* start menu */
#app-menu {
  height: 100vh;
  width: 255px;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2001;
  float: left;
  background-color: var(--backgroundmenu)
}
#app-menu-mobile-show {
  display: block;
}
#app-menu-mobile {
  right: 100%;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0px;
  z-index: 1002;
  background-color: var(--white);
  border-bottom: 1px solid var(--lightgray);
}
#app-menu-mobile-icon {
  height: 55px;
  margin: 0 5px;
  align-items: center;
  position: fixed;
  top: 0px;
  z-index: 1001;
}
#app-menu-desktop-icon {
  height: 55px;
  width: 55px;
  justify-content: center;
  align-items: center;
  color: var(--darkgray);
  cursor: pointer;
}
#app-menu-desktop-icon:hover{
  color: var(--primary);
}
.menu-icon {
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  font-size: var(--font-size-xl);
}
.in-active .menu-icon {
  color: var(--primary);
}
.menu-title {
  margin-left: 5px;
}

.show-menu {
  display: block;
}
.hide-menu {
  display: none;
}
.menu-header {
  color: var(--darkgray);
  background-color: var(--white);
  height: 55px;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 0px 5px;
  justify-content: flex-start;
  cursor: pointer;
}
.menu-header > #logo {
  padding-left: 10px;
  margin: 0;
  white-space: nowrap;
  font-size: var(--font-size-xl);
  background-color: var(--white);
}
.menu-header img {
    width: 45px;
    height: 45px;
}
.menu-lock {
  position: absolute;
  right: 5px;
  top: 40px;
}
.menu-main {
  border-right: 1px solid var(--lessgray);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100vh - 55px);
}
.menu-background {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 255px;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.menu-body {
  overflow: auto;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
  height: calc(100vh - 110px);
}
.menu-main ul {
  padding: 0;
}
.menu-main ul li {
  display: block;
  margin: 5px;
}
.menu-main ul li:hover {
  /* border-left: 4px solid var(--white); */
}
.menu-main ul li a{
  color: var(--darkgray);
  font-size: var(--font-size-l);
  display: inline-flex;
  align-items: center;
  padding: 0px 10px;
  width: 100%;
  height: 45px;
  white-space: nowrap;
}
.menu-main ul li a:hover {
  color: var(--primary);
}
.in-active {
  background-color: var(--lessgray);
  border-radius: var(--radius-m);
}
.in-active-sub {
  color: var(--primary) !important;
}
.items-menu {    
  overflow-x: hidden;
  overflow-y: auto;
}
.items-menu-top {
  flex: 1;
  margin-bottom: 0px;
}
.items-menu-foot {
  margin-bottom: 0px;
}
.menu-main ul li a:hover{
  background-color: var(--lessgray);
  transition: all 500ms ease;
  border-radius: var(--radius-m);
  cursor: pointer;
  text-decoration: none;
}
.menu-main ul li a:focus{
  text-decoration: none;
}

.menu-main ul li i{
  
}
.menu-footer {

}
.menu-sub {
  overflow: hidden;
  position: relative;
}
.menu-sub-dropdown {
  position: fixed;
  z-index: 1006;
  left: 60px;
  display: flex;
  flex-direction: column;
  background-color: var(--white);
  border: 1px solid var(--lightgray);
  border-radius: var(--radius-s);
}
.menu-sub-dropdown a:hover{
  border-radius: 0 !important;
}
/* end menu */


/* start box */
.box {
  position: relative;
  display: inline-block;
  min-width: 100%;
  border-radius: var(--radius-m);
  padding: var(--range-s);
  margin-bottom: var(--range-m);
}
.box-header {
  font-size: var(--font-size-l);
  margin-bottom: var(--range-s);
  display: flex;
  justify-content:space-between;
  align-items: center;
  float: left;
  width: 100%;
}
.box-header-legend {
  position: absolute;
  background-color: var(--white);
  padding: 0 var(--range-s);
  margin: 0px;
  top: -12px;
  font-size: var(--font-size-m);
}

.box-white {
  background-color: var(--white);
  box-shadow: var(--box-shadow-light);
}
.box-gray {
  background-color: var(--lessgray);
}
.box-orange {
  background-color: var(--white);
  border: 1px solid var(--orange);
  color: var(--orange);
}
.box-violet {
  background-color: var(--white);
  border: 1px solid var(--violet);
  color: var(--violet);
}
.box-red {
  background-color: var(--white);
  border: 1px solid var(--red);
  color: var(--red);
}
.box-green {
  background-color: var(--white);
  border: 1px solid var(--green);
}
.box-blue {
  background-color: var(--white);
  color: var(--blue);
  border: 1px solid var(--blue);
}
.box-primary {
  background-color: var(--white);
  border: 1px solid var(--primary);
}
.box-select {
  cursor: pointer;
  height: 100%;
}
.box-select:hover{
  box-shadow: var(--box-shadow);
  transition: all 250ms linear;
}
.box-list {
  display: flex;
  flex-flow: row wrap;
}
/* end box */


/* start button */

.button-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  border-radius: var(--radius-s);
  font-size: var(--font-size-l);
  padding: 0px;
  cursor: pointer;
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--primary);
  text-decoration: none;
}
.button-icon:hover {
  background-color: var(--lessgray);
  border: 1px solid transparent;
  color: var(--darkprimary);
  text-decoration: none;
}
.button-icon:focus {
  background-color: var(--lessgray);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lessgray);
  color: var(--darkprimary);
  text-decoration: none;
  outline-offset: 0px;
}
.button-icon[disabled] {
  background-color: var(--lessgray);
  color: var(--gray);
  border: none;
  cursor: not-allowed;
}

.button-default {
  background-color: var(--white);
  border: 1px solid var(--lightgray);
  color: var(--black);
  text-decoration: none;
}
.button-default:hover {
  background-color: var(--white);
  border: 1px solid var(--gray);
  color: var(--black);
  text-decoration: none;
}
.button-default:focus {
  background-color: var(--white);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
  color: var(--black);
  text-decoration: none;
  outline-offset: 0px;
}
.button-default[disabled] {
  background-color: var(--lessgray);
  color: var(--gray);
  border: none;
  cursor: not-allowed;
}
.button-default-outline {
  background-color: var(--white);
  border: 1px solid var(--gray);
  color: var(--black);
  text-decoration: none;
}
.button-default-outline:hover {
  background-color: var(--lightgray);
  border: 1px solid var(--gray);
  color: var(--black);
  text-decoration: none;
}
.button-default-outline:focus {
  background-color: var(--lightgray);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
  color: var(--black);
  text-decoration: none;
  outline-offset: 0px;
}
.button-default-outline[disabled] {
  background-color: var(--lessgray);
  border: 1px solid var(--lightgray);
  color: var(--gray);
  cursor: not-allowed;
}
.button-default-noline {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--black);
  text-decoration: none;
}
.button-default-noline:hover {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--black);
  text-decoration: underline;
}
.button-default-noline:focus {
  background-color: transparent;
  border: 1px solid transparent;
  outline: 1px solid transparent;
  color: var(--black);
  text-decoration: underline;
  outline-offset: 0px;
}
.button-default-noline[disabled] {
  color: var(--gray);
  cursor: not-allowed;
}

.button-primary {
  background-color: var(--primary);
  border: 1px solid transparent;
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}

.button-primary:hover {
  background-color: var(--darkprimary);
  border: 1px solid var(--darkprimary);
  color: var(--white);
  text-decoration: none;
}
.button-primary:focus {
  background-color: var(--darkprimary);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--darkprimary);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.button-primary[disabled] {
  background-color: var(--lightprimary);
  border: none;
  cursor: not-allowed;
}

.button-primary-outline {
  background-color: var(--white);
  border: 1px solid var(--primary);
  color: var(--primary);
}
.button-primary-outline:hover {
  background-color: var(--darkprimary);
  border: 1px solid var(--darkprimary);
  color: var(--white);
  text-decoration: none;
}
.button-primary-outline:focus {
  background-color: var(--darkprimary);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--darkprimary);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.button-primary-outline[disabled] {
  background-color: var(--lessgray);
  border: 1px solid var(--lightgray);
  color: var(--lightprimary);
  cursor: not-allowed;
}
.button-primary-noline {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--primary);
}
.button-primary-noline:hover {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--darkprimary);
  text-decoration: underline;
}
.button-primary-noline:focus {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--darkprimary);
  text-decoration: underline;
}
.button-primary-noline[disabled] {
  color: var(--gray);
  cursor: not-allowed;
}

.button-danger {
  background-color: var(--red);
  border: 1px solid var(--red);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}

.button-danger:hover {
  background-color: var(--darkred);
  border: 1px solid var(--darkred);
  color: var(--white);
  text-decoration: none;
}
.button-danger:focus {
  background-color: var(--darkred);
  outline: 2px solid var(--lessred);
  border: 1px solid var(--darkred);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.button-danger[disabled] {
  background-color: var(--lightred);
  border: none;
  cursor: not-allowed;
}
.button-danger-outline {
  background-color: var(--white);
  border: 1px solid var(--red);
  color: var(--red);
}
.button-danger-outline:hover {
  background-color: var(--darkred);
  border: 1px solid var(--darkred);
  color: var(--white);
  text-decoration: none;
}
.button-danger-outline:focus {
  background-color: var(--darkred);
  outline: 2px solid var(--lessred);
  border: 1px solid var(--darkred);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.button-danger-outline[disabled] {
  background-color: var(--lessgray);
  border: 1px solid var(--lightgray);
  color: var(--lightred);
  cursor: not-allowed;
}
.button-danger-noline {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--red);
}
.button-danger-noline:hover {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--darkred);
  text-decoration: underline;
}
.button-danger-noline:focus {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--darkred);
  text-decoration: underline;
}
.button-danger-noline[disabled] {
  color: var(--gray);
  cursor: not-allowed;
}

.button-success {
  background-color: var(--green);
  border: 1px solid var(--green);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}

.button-success:hover {
  background-color: var(--darkgreen);
  border: 1px solid var(--darkgreen);
  color: var(--white);
  text-decoration: none;
}
.button-success:focus {
  background-color: var(--darkgreen);
  outline: 2px solid var(--lessgreen);
  border: 1px solid var(--darkgreen);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.button-success[disabled] {
  background-color: var(--lightgreen);
  border: none;
  cursor: not-allowed;
}
.button-success-outline {
  background-color: var(--white);
  border: 1px solid var(--green);
  color: var(--green);
}
.button-success-outline:hover {
  background-color: var(--darkgreen);
  border: 1px solid var(--darkgreen);
  color: var(--white);
  text-decoration: none;
}
.button-success-outline:focus {
  background-color: var(--darkgreen);
  outline: 2px solid var(--lessgreen);
  border: 1px solid var(--darkgreen);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.button-success-outline[disabled] {
  background-color: var(--lessgray);
  border: 1px solid var(--lightgray);
  color: var(--lightgreen);
  cursor: not-allowed;
}
.button-success-noline {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--green);
}
.button-success-noline:hover {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--darkgreen);
  text-decoration: underline;
}
.button-success-noline:focus {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--darkgreen);
  text-decoration: underline;
}
.button-success-noline[disabled] {
  color: var(--gray);
  cursor: not-allowed;
}

.button-l {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  border-radius: var(--radius-s);
  font-size: var(--font-size-l);
  height: var(--height-l);
  min-width: var(--height-l);
  padding: 0px var(--range-s);
  cursor: pointer;
}
.button-m {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  border-radius: var(--radius-s);
  font-size: var(--font-size-m);
  height: var(--height-m);
  min-width: var(--height-m);
  padding: 0px var(--range-s);
  cursor: pointer;
}
.button-s {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  border-radius: var(--radius-s);
  font-size: var(--font-size-s);
  height: var(--height-s);
  min-width: var(--height-s);
  padding: 0px var(--range-s);
  cursor: pointer;
}

.button-file {
  background-color: var(--primary);
  border: 1px solid transparent;
  color: var(--white);
}

.button-file:hover {
  background-color: var(--darkprimary);
  border: 1px solid var(--darkprimary);
  color: var(--white);
  text-decoration: none;
}
.button-file:focus {
  background-color: var(--darkprimary);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--darkprimary);
  color: var(--white);
  text-decoration: none;
  outline-offset: 0px;
}
.input-file {
  display: none !important;
}
.form-file {
  border: 1px dashed var(--primary);
  border-radius: var(--radius-m);
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 150px;
  margin-bottom: var(--range-m);
  text-align: center;
}
.button-group {
  display: flex;
}
.button-group > button:focus {
  outline: none;
}
.button-group-item {
  border-radius: 0px !important;
}
.button-group-first {
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}
.button-group-last {
  border-top-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
}
/* end button */

/* start input */
.input-s {
  color: var(--darkgray);
  background-color: var(--white);
  font-size: var(--font-size-s);
  height: var(--height-s);
  padding: 6px 8px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  width: 100%;
  display: block;
}
.input-m {
  color: var(--darkgray);
  background-color: var(--white);
  font-size: var(--font-size-m);
  height: var(--height-m);
  padding: 6px 8px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  width: 100%;
  display: block;
}
.input-l {
  color: var(--darkgray);
  background-color: var(--white);
  line-height: 1.5;
  font-size: var(--font-size-l);
  height: var(--height-l);
  padding: 6px 8px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  width: 100%;
}

.input-s:hover {
  border: 1px solid var(--lightprimary);
}
.input-m:hover {
  border: 1px solid var(--lightprimary);
}
.input-l:hover {
  border: 1px solid var(--lightprimary);
}
.input-s:focus-visible {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}
.input-m:focus-visible {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}
.input-l:focus-visible {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}
.input-s[disabled]{
  background-color: var(--lessgray);
  color: var(--gray);
}
.input-m[disabled]{
  background-color: var(--lessgray);
  color: var(--gray);
}
.input-l[disabled]{
  background-color: var(--lessgray);
  color: var(--gray);
}
.input-search {
  position: relative;
  display: flex;
  flex-direction: row;
  width: 100%;
}
.input-search-text {
  margin-bottom: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.input-search-text:hover {
  border: 1px solid var(--lightprimary);
}
.input-search-text:focus {
  border: 1px solid var(--primary);
  outline: 2px solid var(--lessprimary);
}
.input-search-button-search {
  background-color: transparent;
  color: var(--gray);
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-left: 0px;
  padding-left: var(--range-l);
  padding-right: var(--range-l);
}
.input-search-button-search:hover {
  color: var(--primary);
}
.input-search-button-search:focus {
  color: var(--primary);
  border: 1px solid var(--lightgray);
  outline: 0px;
  border-left: 0px;
}

.input-search-button-clear-search {
  background-color: transparent;
  color: var(--gray);
  width: var(--height-s);
  border-radius: 0px;
  border-left: 0px;
}
.input-search-button-clear-search:hover {
  color: var(--primary);
}
.input-search-button-clear-search:focus {
  color: var(--primary);
  outline: 0px;
  border: 1px solid var(--lightgray);
}

.radio-m {
  height: 15px;
  width: 15px;
  margin: 0px 5px 0px 0px !important;
}
.textarea-m {
  font-size: var(--font-size-m);
  color: var(--darkgray);
  padding: 6px 8px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  width: 100%;
  display: block;
}
.textarea-m:focus-visible {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}
.textarea-m[disabled]{
  background-color: var(--lessgray);
  color: var(--gray);
}
/* end input */

/* start select */

.select-s {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--darkgray);
  height: var(--height-s);
  width: 100%;
  font-size: var(--font-size-s);
  padding: 0px 15px 0px 6px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
}
.select-m {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--darkgray);
  height: var(--height-m);
  width: 100%;
  font-size: var(--font-size-m);
  padding: 0px 15px 0px 6px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
}
.select-l {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--darkgray);
  height: var(--height-l);
  width: 100%;
  font-size: var(--font-size-l);
  padding: 0px 15px 0px 6px;
  margin-bottom: var(--range-m);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
}
.select-s:hover, .select-m:hover, .select-l:hover {
  border: 1px solid var(--lightprimary);
}
.select-s:focus-visible, .select-m:focus-visible, .select-l:focus-visible {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}
.multi-select > .multiSelect > button {
  display: inline-flex;
  justify-content: left;
  align-items: center;
  color: var(--darkgray);
  height: var(--height-m);
  min-height: 36px !important;
  width: 100%;
  padding: 0px 15px 0px 10px;
  border-radius: var(--radius-s);
  background-color: var(--white);
  background-image: none;
  margin-bottom: 13px;
  border: 1px solid var(--lightgray);
}
.multi-select>button:hover {
  background-image: none;
}
.multi-select .caret {
  position: absolute;
  right: 6px;
  top: 17px;
  border-top-color: var(--lightgray);
}
.multi-select .multiSelectItem:hover{
  background-color: var(--darkgreen) !important;
  background-image: none !important;
  color: var(--white) !important;
  border: none !important
}
.multi-select .selected{
  background-color: var(--darkblue) !important;
  background-image: none !important;
  color: var(--white) !important;
  border: none !important;
}
.multiSelect .multiSelectItem {
  min-height: auto !important;
}
.multi-select > .helperContainer > .line {
  display: inline-flex;
  justify-content: left;
  align-items: center;
}
.multi-select > .helperContainer > .line > input {
  width: 100%;
}

.select-box {
  position: relative;
  margin-bottom: var(--range-m);
}


.select-box-s > .select-box-input {
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  height: var(--height-s);
  font-size: var(--font-size-s);
  border: 1px solid var(--lightgray);
  border-radius: var(--radius-s);
  padding: 0 10px;
  color: var(--darkgray);
  cursor: pointer;
  position: relative;
}
.select-box-m > .select-box-input {
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  height: var(--height-m);
  font-size: var(--font-size-m);
  border: 1px solid var(--lightgray);
  border-radius: var(--radius-s);
  padding: 0 10px;
  color: var(--darkgray);
  cursor: pointer;
  position: relative;
}
.select-box-l > .select-box-input {
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  height: var(--height-l);
  font-size: var(--font-size-l);
  border: 1px solid var(--lightgray);
  border-radius: var(--radius-s);
  padding: 0 10px;
  color: var(--darkgray);
  cursor: pointer;
  position: relative;
}
.select-box-input > span {
  white-space: nowrap;
}
.select-box-input:hover {
  border: 1px solid var(--lightprimary);
}
.select-box-input:focus {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}

.select-box-list {
  position: fixed;
  z-index: 1998;
  padding: var(--range-xxs);
  min-width: 200px;
  border: 1px solid var(--lightgray);
  border-radius: var(--radius-s);
  background-color: var(--white);
  box-shadow: var(--box-shadow);
}
.select-box-list-top {
  bottom: 100%;
  margin-bottom: 5px;
}
.select-box-list-bottom {
  top: 100%;
  margin-top: 5px;
}
.select-box-list-left-top {
  bottom: 0;
  right: 100%;
  margin-right: 5px;
}
.select-box-list-left-bottom {
  top: 0;
  right: 100%;
  margin-right: 5px;
}
.select-box-list-right-top {
  bottom: 0;
  left: 100%;
  margin-left: 5px;
}
.select-box-list-right-bottom {
  top: 0;
  left: 100%;
  margin-left: 5px;
}

.select-options {
  padding: 4px;
  margin: 0px;
  max-height: 200px;
  overflow-x: auto;
}
.select-button-bottom {
  padding: 4px;
  text-align: right;
}

.select-option {
  font-size: var(--font-size-m);
  list-style: none;
  padding: var(--range-xxs);
  width: 100%;
  min-height: var(--height-s);
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.select-option:hover {
  background-color: var(--lessprimary);
  color: var(--primary);
}
.select-option-title {
  display: flex;
  flex-direction: column;
}
.select-option-title-sub {
  color: var(--gray);
  font-size: var(--font-size-xs);
}
.selected-option {
  background-color: var(--primary);
  color: var(--white);
}
.select-option-empty {
  text-align: center;
  padding: 15px 10px;
  color: var(--gray);
}
.select-option-image {
  width: 50px;
  max-height: 50px;
}
.select-options-selected {
  max-height: 75px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--range-xs);
}
.select-button {
  display: flex;
  justify-content: space-between;
  padding: var(--range-xs);
  border-bottom: 1px solid var(--lightgray);
}
.select-search {
  width: 100%;
  padding: var(--range-xs);
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--lightgray);
}
.select-title {
  padding: var(--range-xs);
  white-space: nowrap;
}
/* end select */

/* start checkbox */
.input-checkbox {
  display: inline-flex;
  align-items: center;
  text-align: left;
  margin-top: 0px;
  margin-left: 0px;
  margin-bottom: var(--range-s);
  margin-right: var(--range-s);
}
.checkbox-icon{
  cursor: pointer;
  font-size: var(--font-size-l);
}
.checkbox-icon>.check{
  color: var(--primary);
}
.checkbox-icon>.check:hover{
  color: var(--darkprimary);
}
.checkbox-icon>.uncheck{
  color: var(--gray);
}
.checkbox-icon>.uncheck:hover{
  color: var(--darkprimary);
}
.checkbox-icon>.disable{
  color: var(--lightgray);
}
.input-checkbox-name {
  margin-left: var(--range-s);
  cursor: pointer;
}
.switch {
  display: inline-flex;
  align-items: center;
  text-align: left;
  margin: 0px 15px 10px 0px;
}
.switch-input{
  cursor: pointer;
}
.switch-input>.check{
  color: var(--primary);
}
.switch-input>.uncheck{
  color: var(--gray);
}
.switch-input>.disable{
  color: var(--lightgray);
}
.switch-s > .switch-input {
  font-size: var(--font-size-xl);
  margin-right: var(--range-xs);
}
.switch-s > .switch-name {
  font-size: var(--font-size-s);
}
.switch-m > .switch-input {
  font-size: var(--font-size-xxl);
  margin-right: var(--range-s);
}
.switch-m > .switch-name {
  font-size: var(--font-size-m);
}
.switch-l > .switch-input {
  font-size: var(--font-size-xxxl);
  margin-right: var(--range-m);
}
.switch-l > .switch-name {
  font-size: var(--font-size-l);
}


.radiogroups {
  margin-bottom: 10px;
}
.radiogroups-body {
  margin-left: 10px;
}

.radiogroup {
  display: inline-flex;
  align-items: center;
  text-align: left;
  margin-right: 15px;
}
.radiogroup-input{
  cursor: pointer;
  margin-right: 7px;
  font-size: var(--font-size-m);
}
.radiogroups-name {
  margin-bottom: 10px;
}
.radiogroup-input>.check{
  color: var(--blue);
}
.radiogroup-input>.uncheck{
  color: var(--gray);
}
.radiogroup-input>.disable{
  color: var(--lightgray);
}
.radiogroup-name {
  cursor: pointer;
}
/* end checkbox */



/* start datetime picker */
.datetime-selectbox {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--range-m);
}
.datetime-selectbox > input {
  color: var(--darkgray);
  height: var(--height-m);
  padding: 6px 38px 6px 8px;
  border-radius: var(--radius-s);
  font-size: var(--font-size-m);
  border: 1px solid var(--lightgray);
  width: 100%;
  display: block;
}
.datetime-selectbox > input:hover {
  border: 1px solid var(--lightprimary);
}
.datetime-selectbox > input:focus-visible {
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--lightprimary);
}
.datetime-selectbox > .dropdown-menu {
  min-width: 100%;
  margin-top: 5px;
  border-radius: var(--radius-s);
  padding: 5px 0px 0px 0px;
  border: 1px solid var(--lightgray);
  box-shadow: var(--box-shadow);
}

.datetime-selectbox > button {
  background-color: transparent;
  color: var(--darkgray);
  height: var(--height-m);
  width: 36px;
  padding: 0px 10px;
  cursor: pointer;
  position: absolute;
  border-left: 1px solid transparent;
  border-right: none;
  border-bottom: none;
  border-top: none;
  right: 0;
}
.datetime-selectbox > button:hover{
  color: var(--primary);
}
.datetime-selectbox td {
  text-align: center;
  margin: 5px;
}
.datetime-selectbox td>input {
  display: inline-block;
}
.datetime-selectbox .text-info {
  color: var(--primary);
}
.datetime-selectbox .text-muted {
  color: var(--gray);
}
.datetime-selectbox .btn-default {
  background-color: var(--white);
  border-radius: var(--radius-s);
  border: 1px solid transparent;
  box-shadow: none;
}
.datetime-selectbox .btn-group .btn-default {
  background-color: var(--white);
  border-radius: var(--radius-s);
  color: var(--darkgray);
  border: 1px solid var(--lightgray);
  box-shadow: none;
}
.datetime-selectbox .btn-default:hover {
  background-color: var(--lightgray);
  border: 1px solid var(--lightgray);
  color: var(--darkgray);
  transition: background-color 100ms ease-in;
}
.datetime-selectbox .btn-default:focus {
  background-color: var(--lessgray);
  border: 1px solid var(--lightprimary);
  outline: 1px solid transparent;
  outline-offset: 0px;
  color: var(--darkgray);
}
.datetime-selectbox .btn-link {
  height: var(--height-m);
  background-color: var(--white);
  border-radius: var(--radius-s);
  color: var(--primary);
  border: 1px solid transparent;
  box-shadow: none;
}
.datetime-selectbox .btn-link:hover {
  background-color: var(--lightgray);
  border: 1px solid var(--lightgray);
  color: var(--darkprimary);
  transition: background-color 100ms ease-in;
}
.datetime-selectbox .btn-link:focus {
  background-color: var(--lessgray);
  outline: 2px solid var(--lessprimary);
  border: 1px solid var(--darkprimary);
  outline-offset: 0px;
  color: var(--darkprimary);
}
.datetime-selectbox .uib-timepicker input {
  color: var(--darkgray);
  background-color: var(--white);
  font-size: var(--font-size-m);
  height: var(--height-m);
  padding: 6px 8px;
  margin-top: var(--range-s);
  margin-bottom: var(--range-s);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  width: 100%;
  display: block;
  box-shadow: none
}
.datetime-selectbox .uib-timepicker input:hover {
  border: 1px solid var(--lightprimary);
}
.datetime-selectbox .uib-timepicker input:focus-visible {
  outline: 2px solid var(--lightprimary);
  border: 1px solid transparent;
}
.datetime-selectbox .btn-info {
  background-color: var(--white);
  border-radius: var(--radius-s);
  color: var(--primary);
  border: 1px solid var(--primary);
  box-shadow: none;
}
.datetime-selectbox .uib-separator {
  padding-left: var(--range-xxs);
  padding-right: var(--range-xxs);
}
.datetime-selectbox table {
  width: 100%;
}
/* end datetime picker */

/* start pagination */
.pagination-body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding-left: 0px;
  margin-top: 12px;
  margin-bottom: 0px;
  border-radius: 0;
}
.pagination-offset {
  min-width: 150px;
}
.pagination-items {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.pagination-items > p {
  margin-bottom: 0px;
  white-space: nowrap;
}
.pagination-items > ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding-left: 20px;
  margin-bottom: 0px;
}
.pagination-items > ul > li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: var(--height-m);
  height: var(--height-m);
  font-size: var(--font-size-m);
  border-radius: var(--radius-s);
  padding: var(--range-xs);
  list-style: none;
  cursor: pointer;
}
.pagination-select {
  background-color: var(--white);
  border: 1px solid var(--lightgray);
  color: var(--darkgray);
}
.pagination-select:hover {
  background-color: var(--white);
  border: 1px solid var(--primary);
  color: var(--primary);
}
.pagination-selected {
  background-color: var(--primary);
  border: 1px solid var(--primary);
  color: var(--white);
}
.app-pagination {
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
}
.app-pagination > select {
  width: min-content !important;
}

.app-pagination-page .pagination {
  margin: auto;
}
.app-pagination-page {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.app-pagination-page li>a{
 color: var(--primary);
}
.app-pagination-page .active a{
 background-color: var(--primary) !important;
 color: var(--white) !important;
 border-color: var(--primary) !important;
}
.app-pagination-page .active a:focus{
 background-color: var(--primary) !important;
}
/* end pagination */


/* start table */
.app-table {
  overflow: visible;
  position: relative;
  margin-bottom: var(--range-m);
  background-color: var(--white);
  width: 100%;
  float: left;
}
.app-table>table {
  background-color: var(--white);
  width: 100%;
  max-width: 100%;
  border-radius: var(--radius-m);
}
.app-table>table>thead>tr>th{
  vertical-align: bottom;
  border-bottom: 1px solid var(--lightgray);
  padding: var(--range-xs) var(--range-xxs) var(--range-xs) var(--range-xxs) ;
  color: var(--darkblack);
  font-weight: normal;
  white-space: nowrap;
}
.app-table>table>thead>tr>th:hover{
  background-color: var(--lessblack);
  transition: background-color 150ms ease-in;
}
.app-table>table>tbody>tr{
  border-bottom: 1px solid var(--lessgray);
  line-height: normal;
}
.app-table>table>tbody>.even{
  background-color: var(--lessgray);
}
.app-table>table>tbody>tr:hover{
  background-color: var(--lessblack);
  transition: background-color 150ms ease-in;
}
.app-table>table>tbody>tr>td {
  position: relative;
  vertical-align: top;
  padding: var(--range-s) var(--range-xs);
  font-size: var(--font-size-m);
}
.app-table>table>tbody>tr>td>p {
  margin: 0;
}
.app-table-s>table>tbody>tr>td {
  position: relative;
  vertical-align: top;
  padding: var(--range-xs) var(--range-xxs);
  font-size: var(--font-size-m);
}
.app-table-middle>table>thead>tr>th {
  vertical-align: middle;
}
.app-table-middle>table>tbody>tr>td {
  vertical-align: middle;
}
/* end table */
.m-t-l {
  margin-top: var(--range-l);
}
.m-r-l {
  margin-right: var(--range-l);
}
.m-b-l {
  margin-bottom: var(--range-l);
}
.m-l-l {
  margin-left: var(--range-l);
}
.m-t {
  margin-top: var(--range-m);
}
.m-r {
  margin-right: var(--range-m);
}
.m-b {
  margin-bottom: var(--range-m);
}
.m-l {
  margin-left: var(--range-m);
}
.m-t-s {
  margin-top: var(--range-s);
}
.m-r-s {
  margin-right: var(--range-s);
}
.m-b-s {
  margin-bottom: var(--range-s);
}
.m-l-s {
  margin-left: var(--range-s);
}
.m-t-xs {
  margin-top: var(--range-xs);
}
.m-r-xs {
  margin-right: var(--range-xs);
}
.m-b-xs {
  margin-bottom: var(--range-xs);
}
.m-l-xs {
  margin-left: var(--range-xs);
}
.m-t-xxs {
  margin-top: var(--range-xxs);
}
.m-r-xxs {
  margin-right: var(--range-xxs);
}
.m-b-xxs {
  margin-bottom: var(--range-xxs);
}
.m-l-xxs {
  margin-left: var(--range-xxs);
}
.m-none {
  margin: 0px !important;
}
.m-t-none {
  margin-top: 0px !important;
}
.m-r-none {
  margin-right: 0px !important;
}
.m-b-none {
  margin-bottom: 0px !important;
}
.m-l-none {
  margin-left: 0px !important;
}

.p-t-l {
  padding-top: var(--range-l);
}
.p-r-l {
  padding-right: var(--range-l);
}
.p-b-l {
  padding-bottom: var(--range-l);
}
.p-l-l {
  padding-left: var(--range-l);
}
.p-t-l {
  padding-top: var(--range-l);
}
.p-r {
  padding-right: var(--range-m);
}
.p-b {
  padding-bottom: var(--range-m);
}
.p-l {
  padding-left: var(--range-m);
}
.p-t-s {
  padding-top: var(--range-s);
}
.p-r-s {
  padding-right: var(--range-s);
}
.p-b-s {
  padding-bottom: var(--range-s);
}
.p-l-s {
  padding-left: var(--range-s);
}
.p-t-xs {
  padding-top: var(--range-xs);
}
.p-r-xs {
  padding-right: var(--range-xs);
}
.p-b-xs {
  padding-bottom: var(--range-xs);
}
.p-l-xs {
  padding-left: var(--range-xs);
}
.p-t-xxs {
  padding-top: var(--range-xxs);
}
.p-r-xxs {
  padding-right: var(--range-xxs);
}
.p-b-xxs {
  padding-bottom: var(--range-xxs);
}
.p-l-xxs {
  padding-left: var(--range-xxs);
}
.p-none {
  padding: 0px !important;
}
.p-t-none {
  padding-top: 0px !important;
}
.p-r-none {
  padding-right: 0px !important;
}
.p-b-none {
  padding-bottom: 0px !important;
}
.p-l-none {
  padding-left: 0px !important;
}
.gap-l {
  gap: var(--range-l);
}
.gap-m {
  gap: var(--range-m);
}
.gap-s {
  gap: var(--range-s);
}
.gap-xs {
  gap: var(--range-xs);
}
.gap-xxs {
  gap: var(--range-xxs);
}
.left {
  float: left;
}
.right {
  float: right;
}

.position-bottom-right {
  top: 100%;
  right: 0;
  margin-top: var(--range-xs);
}

.position-bottom-left {
  top: 100%;
  left: 0;
  margin-top: var(--range-xs);
}
.position-top-right {
  bottom: 100%;
  right: 0;
  margin-bottom: var(--range-xs);
}

.position-top-left {
  bottom: 100%;
  left: 0;
  margin-bottom: var(--range-xs);
}

.position-left-top {
  bottom: 0;
  right: 100%;
  margin-right: var(--range-xs);
}
.position-left-bottom {
  top: 0;
  right: 100%;
  margin-right: var(--range-xs);
}
.position-right-top {
  bottom: 0;
  left: 100%;
  margin-left: var(--range-xs);
}
.position-right-bottom {
  top: 0;
  left: 100%;
  margin-left: var(--range-xs);
}


/* loader */
.loading-full {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 10001;
  display: none;
}
.on-loading {
  display: block;
}
.app-loading {
  position: fixed;
  top: 0px;
  width: 100%;
  height: 4px;
  z-index: 1000;
  background-color: var(--lightprimary);

}
.app-loading:after {
  top: 1px;
  z-index: 1000;
  content: "";
  position: fixed;
  width: 35%;
  height: 2px;
  background-color: var(--darkprimary);
  animation: app-loading 1s linear infinite;
}
@keyframes app-loading {
  0% {
    left: 0%;
  }
  100% {
    left: 100%;
  }
}
/* end loader */ 

/* start export loading */
progress {
  border-radius: var(--radius-s); 
  width: 100%;
  height: 10px;
}
.app-progress::-webkit-progress-bar {
  background-color: var(--lightgray);
  border-radius: var(--radius-s); 
}
.app-progress::-webkit-progress-value {
  background-color: var(--primary);
  border-radius: var(--radius-s); 
}
.progress-element {
  width: 100%;
}

.progress-container {
  position: relative;
  height: 45px;
  border-radius: var(--radius-s);
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.progress-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: var(--green);
}

/* end export loading */

/* start message */

@media screen and (max-width: 991px) {
  #app-message {
    bottom: 10px;
    width: 95%;
    left: 50%;
    transform: translate(-50%, 0%);
  }
  .toast-message {
    width: 100%;
  }
  .toast-message-body {
    min-height: 35px;
    font-size: var(--font-size-s);
  }
}
@media screen and (min-width: 991px) {
  #app-message {
    right: 10px;
    bottom: 10px;
  }
  .toast-message {
    width: 400px;
  }
  .toast-message-body {
    min-height: 45px;
    font-size: var(--font-size-m);
  }
}
#app-message {
  position: fixed;
  z-index: 3999;
}
.toast-message {
  margin-top: 5px;
  display: none;
}
.toast-message-body {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  padding: var(--range-xs);
  border-radius: var(--radius-m);
}
.toast-message-info {
  background-color: var(--green);
  color: var(--white);
}
.toast-message-success {
  background-color: var(--green);
  color: var(--white);
}
.toast-message-error {
  background-color: var(--red);
  color: var(--white);
}

/* start toggle */
.dropdown-list {
  display: inline-block;
  position: relative;
}
.dropdown-list-body {
  text-align: left;
  position: absolute;
  z-index: 999;
  padding: var(--range-xs);
  width: max-content;
  background-color: var(--white);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  box-shadow: var(--box-shadow);
}
.dropdown-list-items {
  display: grid;
  padding: 0;
  margin: 0;
}
.dropdown-list-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: var(--range-xs);
  min-height: var(--height-m);
}
.dropdown-list-item:hover {
  background-color: var(--primary);
  color: var(--white);
  cursor: pointer;
  transition: background-color 150ms ease-in;
}
/* end toggle */

/* start dropdown box */

.dropdown-box {
  display: block;
  position: relative;
}
.dropdown-box-body {
  text-align: left;
  position: fixed;
  z-index: 1998;
  padding: var(--range-s);
  min-width: 180px;
  background-color: var(--white);
  border-radius: var(--radius-s);
  border: 1px solid var(--lightgray);
  box-shadow: var(--box-shadow);
}
/* end dropdown box */

/* start tooltip */
.position-relative {
  position: relative;
}
.app-tooltip {
  display: block;
  position: absolute;
  border-radius: var(--radius-s);
  z-index: 999;
  min-height: var(--height-l);
  width: max-content;
  padding: var(--range-xs);
  background-color: var(--white);
  border: 1px solid var(--lightgray);
  box-shadow: var(--box-shadow);
}
.app-tooltip-top {
  position: absolute;
  top: -10px;
  left: 50%;
}
.app-tooltip-body-top{
  transform: translate(-50%, -100%);
}
.app-tooltip-body-top::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  border-top: 8px solid var(--white);
  position: absolute;
  z-index: 999;
  bottom: -8px;
  transform: translateX(-50%);
  left: 50%;
}
.app-tooltip-body-top::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 9px solid var(--lightgray);
  position: absolute;
  z-index: 999;
  bottom: -9px;
  transform: translateX(-50%);
  left: 50%;
}
.app-tooltip-bottom {
  position: absolute;
  bottom: -10px;
  left: 50%;
}
.app-tooltip-body-bottom{
  transform: translate(-50%, 0%);
}
.app-tooltip-body-bottom::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  border-bottom: 8px solid var(--white);
  position: absolute;
  z-index: 999;
  top: -8px;
  transform: translateX(-50%);
  left: 50%;
}
.app-tooltip-body-bottom::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-bottom: 9px solid var(--lightgray);
  position: absolute;
  z-index: 999;
  top: -9px;
  transform: translateX(-50%);
  left: 50%;
}
.app-tooltip-right {
  position: absolute;
  right: -10px;
  top: 50%;
}
.app-tooltip-body-right{
  transform: translate(0%, -50%);
}
.app-tooltip-body-right::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 8px solid var(--white);
  position: absolute;
  z-index: 999;
  top: 50%;
  transform: translateY(-50%);
  left: -8px;
}
.app-tooltip-body-right::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 9px solid var(--lightgray);
  position: absolute;
  z-index: 999;
  top: 50%;
  transform: translateY(-50%);
  left: -9px;
}
.app-tooltip-left {
  position: absolute;
  left: -10px;
  top: 50%;
}
.app-tooltip-body-left{
  transform: translate(-100%, -50%);
}
.app-tooltip-body-left::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid var(--white);
  position: absolute;
  z-index: 999;
  top: 50%;
  transform: translateY(-50%);
  right: -8px;
}
.app-tooltip-body-left::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 9px solid var(--lightgray);
  position: absolute;
  z-index: 999;
  top: 50%;
  transform: translateY(-50%);
  right: -9px;
}
/* end tooltip */


/* start text */
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-white {
  color: var(--white);
}
.text-primary {
  color: var(--primary);
}
.text-gray {
  color: var(--gray);
}
.text-orange {
  color: var(--orange);
}
.text-blue {
  color: var(--blue);
}
.text-green {
  color: var(--green);
}
.text-red {
  color: var(--red);
}
.text-violet {
  color: var(--violet);
}
.text-bold {
  font-weight: bold;
}
.text-italic {
  font-style: italic;
}
.fz-xs {
  font-size: var(--font-size-xs);
}
.fz-s {
  font-size: var(--font-size-s);
}
.fz-m {
  font-size: var(--font-size-m);
}
.fz-l {
  font-size: var(--font-size-l);
}
.fz-xl {
  font-size: var(--font-size-xl);
}
.fz-xxl {
  font-size: var(--font-size-xxl);
}
/* end text */

/* start border */
.border-white {
  border: 1px solid var(--white);
}
.border-primary {
  border: 1px solid var(--lightprimary);
}
.border-gray {
  border: 1px solid var(--lightgray);
}
.border-orange {
  border: 1px solid var(--lightorange);
}
.border-blue {
  border: 1px solid var(--lightblue);
}
.border-green {
  border: 1px solid var(--lightgreen);
}
.border-red {
  border: 1px solid var(--lightred);
}
.border-violet {
  border: 1px solid var(--lightviolet);
}
.border-radius-none {
  border-radius: 0px;
}
.border-radius-l {
  border-radius: var(--radius-l);
} 
.border-radius-m {
  border-radius: var(--radius-m);
} 
.border-radius-s {
  border-radius: var(--radius-s);
} 
/* end text */

/* start lable */
label {
  font-weight: normal;
  margin-left: 4px;
  margin-bottom: 1px;
  font-size: var(--font-size-m);
}

.label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-s);
  font-size: var(--font-size-m);
  height: var(--height-s);
  min-width: var(--height-s);
  cursor: pointer;
  padding: 0 8px;
  font-weight: normal;
  margin-bottom: 5px;
}

.label-s {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-s);
  font-size: var(--font-size-s);
  min-width: var(--height-s);
  cursor: pointer;
  padding: 0 var(--range-s);
  font-weight: normal;
  margin-bottom: 5px;
  white-space: nowrap;
}

.label-m {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-m);
  font-size: var(--font-size-m);
  min-width: var(--height-m);
  cursor: pointer;
  padding: 0 var(--range-m);
  font-weight: normal;
  margin-bottom: 5px;
  white-space: nowrap;
}

.label-l {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-l);
  font-size: var(--font-size-l);
  min-width: var(--height-l);
  cursor: pointer;
  padding: 0 var(--range-l);
  font-weight: normal;
  margin-bottom: 5px;
  white-space: nowrap;
}

.label-primary {
  background-color: var(--lessprimary);
  color: var(--darkprimary);
}
.label-primary:hover {
  background-color: var(--lessprimary);
  color: var(--darkprimary);
}
.label-primary.selected {
  background-color: var(--primary);
  color: var(--white);
}


.label-default {
  background-color: var(--white);
  color: var(--black);
  border: 1px solid var(--lightgray);
}
.label-default:hover {
  background-color: var(--white);
  color: var(--black);
  border: 1px solid var(--primary);
}
.label-default.selected {
  background-color: var(--white);
  color: var(--black);
  border: 1px solid var(--primary);
}

.label-gray {
  background-color: var(--lessgray);
  color: var(--darkgray);
}
.label-gray:hover {
  background-color: var(--lessgray);
  color: var(--darkgray);
}
.label-gray.selected {
  background-color: var(--gray);
  color: var(--white);
}

.label-orange {
  background-color: var(--lessorange);
  color: var(--darkorange);
}
.label-orange:hover {
  background-color: var(--lessorange);
  color: var(--darkorange);
}
.label-orange.selected {
  background-color: var(--orange);
  color: var(--white);
}

.label-blue {
  background-color: var(--lessblue);
  color: var(--darkblue);
}
.label-blue:hover {
  background-color: var(--lessblue);
  color: var(--darkblue);
}
.label-blue.selected {
  background-color: var(--blue);
  color: var(--white);
}

.label-green {
  background-color: var(--lessgreen);
  color: var(--darkgreen);
}
.label-green:hover {
  background-color: var(--lessgreen);
  color: var(--darkgreen);
}
.label-green.selected {
  background-color: var(--green);
  color: var(--white);
}

.label-red {
  background-color: var(--lessred);
  color: var(--darkred);
}
.label-red:hover {
  background-color: var(--lessred);
  color: var(--darkred);
}
.label-red.selected {
  background-color: var(--red);
  color: var(--white);
}

.label-violet {
  background-color: var(--lessviolet);
  color: var(--darkviolet);
}
.label-violet:hover {
  background-color: var(--violet);
  color: var(--darkviolet);
}
.label-violet.selected {
  background-color: var(--lessviolet);
  color: var(--white);
}
/* end lable */
/* start popup */
.popup {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 3001;
  top: 0;
  left: 0;
  overflow: auto;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.popup-content {
  position: relative;
  margin: 0 auto;
  top: 60px;
  z-index: 999;
  padding-top: var(--range-m);
  padding-bottom: var(--range-m);
  background-color: var(--white);
  border-radius: var(--radius-m);
  animation: fadeIn 0.5s;
}

.popup-header {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: start;
  text-align: center;
  width: 100%;
  color: var(--primary);
  text-transform: capitalize;
  font-size: var(--font-size-l);
  padding-left: var(--range-s);
  padding-right: var(--range-s);
  padding-bottom: var(--range-s);
}
.popup-header-icon {
  font-size: var(--font-size-l);
  color: var(--primary);
  cursor: pointer;
  position: absolute;
  top: 0px;
  right: var(--range-m);
}
.popup-header-icon:hover {
  color: var(--darkprimary);
}
.popup-body {
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 40px;
  max-height: calc(100vh - 130px);
  position: relative;
  padding-left: var(--range-m);
  padding-right: var(--range-m);
}
.popup-button {
  position: sticky;
  bottom: 0px;
  padding-top: var(--range-m);
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 2px;
  background: var(--white);
  float: left;
  text-align: right;
  width: 100%;
}
.popup-footer {
  display: flex;
  align-items: center;
  justify-content: end;
  width: 100%;
}
.popup-background {
  background-color: var(--darkgray);
  opacity: .4;
  position: fixed;
  z-index: 998;
  top: 0;
  height: 100%;
  width: 100%;
}

.popup-size-full {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0px;
}

.popup-size-full > .popup-body {
  max-height: calc(100vh - 45px);
}

@media screen and (max-width: 991px) {
  .popup-size-xs {
    width: 95%;
  }
  .popup-size-s {
    width: 95%;
  }
  .popup-size-m {
    width: 95%;
  }
  .popup-size-l {
    width: 95%;
  }

}
@media screen and (min-width: 991px) {
  .popup-size-s {
    width: 470px;
  }
  .popup-size-m {
    width: 700px;
  }
  .popup-size-l {
    width: 1200px;
  }
}
.popup-confirmation-body {
  width: 100%;
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.popup-confirmation-description {
  text-align: center;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 20px;
}

/* end popup */

/* start tag */
.tag {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--lightgray);
  border-radius: var(--radius-s);
  
}

.tag-s {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-s);
  font-size: var(--font-size-s);
  min-height: var(--height-s);
  min-width: var(--height-s);
  cursor: pointer;
  padding: 0 8px;
  font-weight: normal;
  margin-bottom: 5px;
  white-space: normal;
  word-break: break-word;
}

.tag-blue {
  background-color: var(--lessblue);
  color: var(--blue);
  border: 1px solid var(--blue);
}
.tag-blue.selected {
  background-color: var(--darkblue);
  color: var(--white);
  border: 1px solid var(--darkblue);
}
/* end tag */
/* start steps */
.step-items {
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.step-item {
  display: flex;
  justify-content: center;
  align-items: center;

}
.step-item-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: 30px;
  border-radius: var(--radius-s);
  background-color: var(--lightgray);
  color: var(--gray);
  margin-right: var(--range-s);
}
.step-done {
  color: var(--primary);
  transition: color 1000ms ease;
}
.step-active {
  background-color: var(--primary);
  color: var(--white);
  transition: background-color 1000ms ease;
}
/* end steps */

/* start timeline */
.timeline {
  display: flex;
  flex-direction: column;
}
.timeline-item {
  display: flex;
  flex-direction: row;
}
.timeline-line {
  position: relative;
  width: 24px;
}
.timeline-item-line {
  background-color: var(--gray);
  width: 2px;
  height: calc(100% + 10px);
  position: absolute;
  z-index: 1;
  top: -10px;
  left: 11px;
}

.timeline-item-dot {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  color: var(--primary);
  font-size: var(--font-size-m);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
}
.timeline-item-datetime {
  font-size: var(--font-size-s);
  color: var(--gray);
  margin-top: var(--range-xxs);
  margin-bottom: 0px;
}
.timeline-cards {
  width: 100%;
  margin-left: var(--range-s);
}
.timeline-item-title {
  padding: var(--range-s);
  margin-bottom: 0px;
  font-size: var(--font-size-s);
  white-space: normal;
  word-break: break-word;
}
/* end timeline */

/* start groups */
.group-input-and-select {
  display: flex;
}
.group-input-and-select > input {
  border-radius: var(--radius-s) 0 0 var(--radius-s);
}
.group-input-and-select > .select-box > .select-box-input {
  border-radius: 0 var(--radius-s) var(--radius-s) 0;
  border-left: 0px
}
.group-input-and-select > select {
  border-radius: 0 var(--radius-s) var(--radius-s) 0;
  border-left: 0px
}
/* end groups */

/* start mobile preview */
.mobile-preview {
}
.mobile-preview-body {
  position: relative;
  width: 308px;
  height: 640px;
  margin: auto;
  border: 7px var(--black) solid;
  border-radius: 34px;
}
.mobile-preview-body:before {
  content: '';
  display: block;
  width: 90px;
  height: 15px;
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--black);
  border-radius: 10px;
}
.mobile-preview-body:after {
  content: '';
  display: block;
  width: 120px;
  height: 5px;
  position: absolute;
  left: 50%;
  bottom: 5px;
  transform: translate(-50%, -50%);
  background: var(--gray);
  border-radius: 10px;
}
.mobile-preview-iframe {
  width:100%;
  margin-top: 30px;
  height: calc(100% - 55px);
  padding: var(--range-xxs);
  /* border: 1px dotted var(--lightgray); */
  overflow: auto;
  background-color: var(--white);
}
/* end  mobile preview */
/* start loading zone */
.app-loading-zone {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100px;
}
.app-loading-zone-content {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  background-color: transparent;
  width: 100%;
  height: 100%;
  min-height: 100px;
}
.app-loading-zone-icon-spinner {
  font-size: var(--font-size-xl);
  color: var(--primary);
}

@keyframes placeHolderShimmer{
  0%{
      background-position: -468px 0
  }
  100%{
      background-position: 468px 0
  }
}

.app-loading-zone-holder-shimmer {
  animation-duration: 1.25s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: placeHolderShimmer;
  animation-timing-function: linear;
  background: darkgray;
  background: linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);
  background-size: 800px 104px;
  height: var(--height-l);
  width: 100%;
  position: relative;
  margin-bottom: var(--range-xxs);
}
/* end loading zone */

.disabled {
  background: var(--lessgray) !important;
  color: var(--gray) !important;
}
.opening {
  outline: 2px solid var(--lessprimary) !important;
  border: 1px solid var(--lightprimary) !important;
}

.display-center {
  display: flex;
  align-items: center;
}
.display-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.display-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.display-content-center {
  display: inline-flex;
  justify-content: center;
}

.has-error input,
.has-error textarea,
.has-error select {
  border: 2px solid var(--red) !important;
}

.flex {
  display: flex;
}

.flex-1 {
  flex: 1;
}

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

.full-width {
  width: 100%;
}

.no-wrap {
  white-space: nowrap;
}

.word-wrap {
  white-space: normal;
  word-break: break-word;
}

.cursor-pointer {
  cursor: pointer;
}

.button-group-right {
  position: sticky;
  z-index: 100;
  top: 0;
  display: flex;
  justify-content: end;
  background: var(--background);
  padding-top: 1px;
  padding-bottom: var(--range-m);
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.message-error {
  position: absolute;
  display: inline-block;
  line-height: normal;
  margin: 0;
  padding: 0;
  bottom: -3px;
  font-size: var(--font-size-xs);
  color: var(--red);
}
.fit-layout {
  display: flex;
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
}

/* filter page */
.filter-tabs {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--lessgray);
}
.filter-tabs > div {
  padding-top: var(--range-xs);
  padding-bottom: var(--range-xs);
  padding-left: var(--range-m);
  padding-right: var(--range-m);
  margin-bottom: var(--range-s);
  margin-right: var(--range-s);
  border-radius: var(--radius-s);
}
.filter-tabs > div:hover {
  background-color: var(--lessgray);
  color: var(--black);
  cursor: pointer;
}
.filter-tabs > .active {
  background-color: var(--lessprimary);
  color: var(--primary);
}
.filter-tabs-options {
  display: flex;
  justify-content: space-around;
}

.filter-items {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.filter-item {
  margin-top: var(--range-s);
  margin-right: var(--range-s);
}
.filter-item-select-multi {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  max-height: 180px;
  overflow: auto;
}
.filter-body {
  display: block;
}
.filter-primary-input {
  display: flex;
  flex-wrap: nowrap;
  margin-top: var(--range-s);
}


/* filter page */

/* address select box */
.address-select-box-header {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: var(--range-s);
}

.address-select-box-title {
  cursor: pointer;
  width: 100%;
  border: 1px solid var(--lightgray);
  border-radius: var(--radius-s);
  padding: var(--range-s);
  height: var(--height-m);
  display: flex;
  align-items: center;
}

.address-select-box-error > .select-box-input {
  border-radius: var(--radius-s);
  border: 1px solid var(--red);
  outline: 3px solid var(--lessred);
}
/* address select box */

@media screen and (max-width: 991px) {
  .padding-responsive-right{
    padding-left: var(--range-m) !important;
    padding-right: var(--range-m) !important;
  }
  .padding-responsive-left{
    padding-left: var(--range-m) !important;
    padding-right: var(--range-m) !important;
  }
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    padding-left: var(--range-s);
    padding-right: var(--range-s);
  }

}
@media screen and (min-width: 991px) {
  .padding-responsive-right {
    float: right;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .padding-responsive-left{
    padding-left: 0px !important;
    padding-right: var(--range-m) !important;
  }
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    padding-left: var(--range-m);
    padding-right: var(--range-m);
  }
}

