.theme-yellow {
  --main-color: #fff200;
  --sub-color: #fff87f;
  --row-color: #FFFBB2;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-pink {
  --main-color: #e957a7;
  --sub-color: #eb71b4;
  --row-color: #e9a1c9;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-blue {
  --main-color: #3291EF;
  --sub-color: #58a0e9;
  --row-color: #95bce2;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-gray {
  --main-color: #c0c0c0;
  --sub-color: #858383;
  --row-color: #dfdede;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-green {
  --main-color: #66c773;
  --sub-color: #71d871;
  --row-color: #d6f1bf;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-red {
  --main-color: #f06666;
  --sub-color: #e49077;
  --row-color: #dfdede;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-purple {
  --main-color: #9b59b6;
  --sub-color: #af7dc2;
  --row-color: #d7bde2;
  --text-color: #212529;
  --bar-color: #f0f0f0;
}
.theme-dark {
  --bg-color: #495057;
  --table-bg: #28282B;
  --sub-color: #aa9f0a;
  --row-alt-color: #343434;
  --main-color: #EDC001;
  --text-color: #e0e0e0;
  --text-color-dark: #000;
  --bg-color-detail: #28282B;
  --color-inactive: #EDC001;
  --color-active: #aa9f0a;
  --color-link: #e0e0e0;
  ---icon-filter: brightness(0) invert(1) contrast(1.2);
  --partcheck-logo: grayscale(1);
  --bg-color-input: #343434;
  --border-color: 1px solid rgba(255, 255, 255, 0.1);
  --button-color: #414042;
  --text-color-white: #fff;
}
@media print {
  .theme-dark {
    --text-color: #212529;
  }
}
card {
  position: absolute;
}
card .card {
  user-select: none;
  background-color: transparent;
  border: none;
  cursor: default !important;
}
card .card .card-wrapper {
  padding-top: 140%;
  position: relative;
  transition: transform 0.5s;
  transform-style: preserve-3d;
}
card .card .card-wrapper .card-content {
  box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.44);
  -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.44);
  -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.44);
  border-radius: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #fff;
}
card .card .card-wrapper .card-content.back {
  transform: rotateY(180deg);
}
card .card .card-wrapper .card-content .cz-background {
  background: url(https://app.crashzone.com.au/da/jpg/CZ/20240401/unnamed1284764793-removebg-preview1372238733.png);
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
card .card .card-wrapper.is-flipped {
  transform: rotateY(180deg);
}
card.dragged {
  opacity: 0.6;
}
#calendar-page #search-box {
  position: absolute;
  right: 60px;
  top: 37px;
}
#calendar-page #search-box input {
  width: 265px;
  height: 20px;
  border: 1px solid;
  border-radius: 0px;
  padding-left: 2px;
}
#calendar-page #calendar-container {
  width: 100%;
  min-height: 500px;
}
#calendar-page #calendar-container * {
  font-size: 13px !important;
}
#calendar-page #calendar-container .date-controller {
  max-width: 130px;
}
#calendar-page #calendar-container #calendar {
  position: relative;
  background-color: var(--bg-color, none) !important;
}
#calendar-page #calendar-container #calendar .date {
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  background-color: var(--table-bg, #eee);
}
#calendar-page #calendar-container #calendar .sticky-date-header {
  position: sticky;
  top: 0;
  z-index: 1;
}
#calendar-page #calendar-container #calendar .day-of-week {
  font-weight: bold;
  font-size: 13px;
  padding: 5px;
  background-color: var(--main-color);
}
#calendar-page #calendar-container #calendar .day-of-month {
  font-weight: bold;
  font-size: 13px;
  padding: 5px;
}
#calendar-page #calendar-container #calendar .date.Sun .day-of-week,
#calendar-page #calendar-container #calendar .date.Sat .day-of-week,
#calendar-page #calendar-container #calendar .date.Sun .day-of-month,
#calendar-page #calendar-container #calendar .date.Sat .day-of-month {
  filter: brightness(0.8) !important;
}
#calendar-page #calendar-container #calendar .date.Sun .jobs,
#calendar-page #calendar-container #calendar .date.Sat .jobs {
  background-color: var(--row-alt-color, #d8d8d8);
}
#calendar-page #calendar-container #calendar .jobs {
  min-height: 2000px;
  border-right: 1px solid #ddd;
}
#calendar-page #calendar-container #calendar .job-space .badge {
  position: absolute;
  white-space: normal;
  max-width: 100%;
  background-color: var(--sub-color);
  border-radius: 0px !important;
  margin-bottom: 5px;
  font-size: 15px !important;
  font-weight: normal !important;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 6px;
}
#calendar-page #calendar-container #calendar .job-space .badge .drag-icon {
  opacity: 0;
  position: relative;
  top: 2px;
}
#calendar-page #calendar-container #calendar .job-space .badge .hashtag {
  background-color: var(--text-color-dark, --text-color);
  color: var(--main-color);
  padding: 5px;
  border-radius: 25px;
  font-weight: 700;
}
#calendar-page #calendar-container #calendar .job-space .badge.no-date-out {
  background-color: var(--main-color);
}
#calendar-page #calendar-container #calendar .job-space .badge:hover .drag-icon {
  opacity: 1;
}
#calendar-page #calendar-container #calendar .job-space .job-content {
  position: relative;
}
#calendar-page #calendar-container #calendar .job-space .job-content .drag-icon {
  opacity: 0;
  position: absolute;
}
#calendar-page #calendar-container #calendar .job-space .job-content .drag-icon.left {
  top: 2px;
  left: 2px;
}
#calendar-page #calendar-container #calendar .job-space .job-content .drag-icon.right {
  top: 2px;
  right: 2px;
}
.job-popover-wrapper {
  display: inline-block;
  max-width: 90%;
  padding: 2px;
}
.job-popover-trigger {
  cursor: pointer;
}
.job-popover-card {
  position: absolute;
  z-index: 1000;
  width: 200px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  border: 1px solid #e0e0e0;
  animation: popoverFadeIn 0.2s ease-out;
}
.job-popover-card .job-popover-arrow {
  position: absolute;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 1px solid #e0e0e0;
  transform: rotate(45deg);
  bottom: -7px;
  left: 50%;
  margin-left: -6px;
  border-top: none;
  border-left: none;
}
.job-popover-card .job-popover-header {
  padding: 12px 15px;
  background: var(--text-color);
  color: var(--sub-color);
  border-radius: 8px 8px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.job-popover-card .job-popover-header a {
  color: var(--sub-color) !important;
}
.job-popover-card .job-popover-header .job-ref {
  font-weight: 600;
  font-size: 14px;
}
.job-popover-card .job-popover-header .job-rego {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 1px;
}
.job-popover-card .job-popover-body {
  position: relative;
}
.job-popover-card .job-popover-body .job-info {
  position: absolute;
  bottom: -1px;
  width: 100%;
  background-color: var(--sub-color);
  opacity: 0.8;
  padding: 5px;
}
.job-popover-card .job-popover-body .job-info-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}
.job-popover-card .job-popover-body .job-info-row:last-child {
  border-bottom: none;
}
.job-popover-card .job-popover-body .job-info-row .label {
  color: #666;
  font-size: 13px;
}
.job-popover-card .job-popover-body .job-info-row .value {
  font-weight: 500;
  font-size: 13px;
  color: #333;
}
.job-popover-card .job-popover-body .job-info-row .status-badge {
  background: #e8f5e9;
  color: #2e7d32;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
}
.job-popover-card .job-popover-footer {
  padding: 10px 15px;
  border-top: 1px solid #f0f0f0;
  text-align: right;
}
.job-popover-card .job-popover-footer .btn {
  font-size: 12px;
}
@keyframes popoverFadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#card-shop-page {
  background-color: var(--bg-color);
}
#card-shop-page .main-container {
  display: flex;
  align-items: flex-start;
  border: solid 7px var(--main-color);
  border-top: 20px solid var(--main-color);
  border-bottom: 25px solid var(--main-color);
  border-radius: 8px;
  height: calc(100vh - 93px);
  background-color: var(--bg-color);
}
#card-shop-page .modal-header {
  background-color: var(--bg-color);
}
#card-shop-page .user-card {
  width: 150px;
  height: 210px;
}
#card-shop-page .user-card .card-header {
  padding: 4px;
  background-color: var(--bg-color-detail, white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#card-shop-page .user-card .card-footer {
  height: 27px;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .user-card .card-time {
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .user-card .card-body {
  position: relative;
}
#card-shop-page .user-card .card-body .overlay {
  position: absolute;
  width: 100%;
  bottom: 20%;
  left: 0px;
  opacity: 0.6;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .user-card .card-body .thumbnail {
  aspect-ratio: 1;
}
#card-shop-page .job-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  gap: 30px;
  align-items: flex-start;
  height: 100%;
  margin-top: 15px;
  padding-left: 15px;
}
#card-shop-page .job-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
#card-shop-page .user-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#card-shop-page .job-card {
  width: 150px;
  height: 210px;
}
#card-shop-page .job-card .card-date {
  white-space: nowrap;
  font-size: 0.94rem;
  padding: 2px;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .job-card .card-header {
  padding: 2px;
  background-color: var(--bg-color-detail, white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#card-shop-page .job-card .card-footer {
  height: 27px;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .job-card .card-body {
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .job-card .card-body .overlay {
  position: absolute;
  width: 100%;
  bottom: 20%;
  left: 0px;
  opacity: 0.6;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page .job-card .card-body .thumbnail {
  aspect-ratio: 1;
}
#card-shop-page-v3 {
  background-color: var(--bg-color);
  min-width: 1200px;
  min-height: 700px;
}
#card-shop-page-v3 .main-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 1200px;
  height: calc(100vh - 83px);
  min-height: 600px;
  border: solid 7px var(--main-color);
  border-top: 20px solid var(--main-color);
  border-bottom: 25px solid var(--main-color);
  border-radius: 8px;
  background-color: var(--bg-color);
  overflow-x: auto;
  overflow-y: hidden;
}
#card-shop-page-v3 .workflow-row {
  display: flex;
  flex-direction: column;
  width: max-content;
  min-width: 100%;
  flex: 0 0 auto;
  height: 295px;
  min-height: 295px;
  overflow: visible;
}
#card-shop-page-v3 .workflow-title {
  width: 100%;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  padding: 5px 8px;
  font-size: 13px;
  font-weight: bold;
  color: var(--text-color);
  white-space: nowrap;
  flex-shrink: 0;
}
#card-shop-page-v3 .job-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  font-size: 13px;
  align-items: flex-start;
  gap: 10px;
  overflow: visible;
  width: max-content;
  min-width: max-content;
  flex: 0 0 auto;
  padding: 0 7px;
  box-sizing: border-box;
}
#card-shop-page-v3 .job-group {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 5px;
  flex: 0 0 auto;
  min-width: max-content;
}
#card-shop-page-v3 .user-list {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 5px;
  flex: 0 0 auto;
}
#card-shop-page-v3 .job-card {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
  border: 1px solid var(--bg-color-detail, rgba(0, 0, 0, 0.125));
  box-sizing: border-box;
  overflow: hidden;
}
#card-shop-page-v3 .user-card {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
  height: auto;
  flex: 0 0 150px;
  border: 1px solid var(--bg-color-detail, rgba(0, 0, 0, 0.125));
  box-sizing: border-box;
}
#card-shop-page-v3 .card-header {
  padding: 1px;
  font-size: 13px;
  background-color: var(--bg-color-detail, white);
  align-items: center;
  align-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#card-shop-page-v3 .job-rego {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#card-shop-page-v3 .card-body {
  position: relative;
  width: 150px;
  white-space: nowrap;
  overflow: hidden;
  height: 210px;
  background-color: var(--bg-color-detail, white);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
#card-shop-page-v3 .thumbnail {
  aspect-ratio: 1;
  width: 149px;
  font-size: 13px;
}
#card-shop-page-v3 .office-notes {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  align-items: center;
  align-content: center;
  font-size: 13px;
  background-color: var(--bg-color-detail, white);
}
#card-shop-page-v3 .job-header,
#card-shop-page-v3 .office-notes {
  height: 30px;
  box-sizing: border-box;
  width: 150px;
}
#card-shop-page-v3 .user-header,
#card-shop-page-v3 .card-time {
  height: 30px;
  box-sizing: border-box;
  width: 150px;
}
#card-shop-page-v3 .user-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
  width: 145px;
}
#card-shop-page-v3 .user-details {
  width: 150px;
  font-size: 13px;
  line-height: 1.2;
  padding: 1px ;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-all;
}
#card-shop-page-v3 .user-header.has-role .user-details {
  font-size: 13px;
  width: 150px;
}
#card-shop-page-v3 .job-ref,
#card-shop-page-v3 .job-rego {
  font-size: 13px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
#card-shop-page-v3 .job-header.has-rego .job-details {
  font-size: 13px;
}
#card-shop-page-v3 .job-header {
  position: relative;
  font-size: 13px;
  padding-right: 8px;
}
#card-shop-page-v3 .job-details {
  width: 150px;
  font-size: 13px;
  line-height: 1.12;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-all;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#card-shop-page-v3 .job-number {
  position: absolute;
  right: 5px;
  top: 29%;
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  border: 2px solid var(--main-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: bold;
  color: var(--text-color-dark, --text-color);
  background: white;
}
#card-shop-page-v3 .job-rego {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#card-shop-page-v3 .card-time {
  font-size: 13px;
  align-items: center;
  align-content: center;
  background-color: var(--bg-color-detail, white);
}
#user-page-management {
  z-index: 1060;
  inset: 0;
}
#user-page-management .modal-header {
  background-color: var(--bg-color);
}
#user-page-management .main-container {
  display: flex;
  align-items: flex-start;
  border: solid 7px var(--main-color);
  border-top: 20px solid var(--main-color);
  border-bottom: 25px solid var(--main-color);
  border-radius: 8px;
  height: calc(100vh - 82px);
  background-color: var(--bg-color);
  overflow-y: auto;
  overflow-x: hidden;
}
#user-page-management .back-setting-btn {
  position: absolute;
  top: 10px;
  right: 5px;
  z-index: 9999;
  pointer-events: auto;
  cursor: pointer;
}
#user-page-management .user-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px;
  width: 100vw;
  margin: 0 auto;
  min-width: 378px;
  pointer-events: auto;
  overflow: visible;
}
#user-page-management .suspended {
  opacity: 0.5;
  filter: grayscale(100%);
}
#user-page-management .info-card-user {
  box-sizing: border-box;
  width: 358px;
  height: 225px;
  border-radius: 5px;
  border: 3.5px solid gray;
  color: var(--text-color);
  overflow-y: auto;
}
#user-page-management .info-card-user .qr-container {
  height: auto;
  display: flex;
  align-items: center;
  position: absolute;
  top: 82px;
}
#user-page-management .info-card-user .qr-container .job-working-info {
  width: 131px !important;
  height: 131px !important;
  padding-top: 2px;
  position: relative;
  border: 1px solid black;
}
#user-page-management .info-card-user .qr-container .overlay {
  position: absolute;
  width: 100%;
  bottom: 20%;
  left: 0;
  opacity: 0.6;
  background-color: var(--bg-color-detail, #fff);
  color: var(--text-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#user-page-management .info-card-user .qr-container .first-photo {
  width: 100%;
  height: 127px;
  background-size: cover;
}
#user-page-management .info-card-user .qr-container .card-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  background: var(--bg-color-detail, #fff);
  color: var(--text-color);
  font-size: 11px;
  padding: 2px 0;
  border: none;
  border-bottom: 1px solid black;
}
#user-page-management .info-card-user .qr-container canvas {
  width: 131px !important;
  height: 131px !important;
  padding-top: 2px;
}
#user-page-management .info-card-user .date {
  /* padding: 7px; */
  font-size: 12px;
  color: var(--text-color);
}
#user-page-management .info-card-user .info {
  height: 50%;
  font-size: 12px;
  /* background-color: rgb(140, 192, 192); */
  align-content: center;
  padding: 15px;
  padding-top: 25px;
}
#user-page-management .info-card-user .kpi {
  align-content: center;
}
#user-page-management .info-card-user .avatar {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
#user-page-management .info-card-user .working-avatar {
  border: 5px solid var(--main-color);
}
#user-page-management .info-card-user .user-id {
  font-size: 13px;
  color: var(--text-color);
  padding-left: 0px !important;
}
#user-page-management .info-card-user .card-body {
  padding: 1px;
  background-color: var(--bg-color-detail);
  position: relative;
  /* padding: 1px; */
  /* padding-bottom: 0px; */
}
#user-page-management .info-card-user .fullname {
  font-size: 23px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  width: 100%;
}
#user-page-management .info-card-user .fullname-container {
  height: 34px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
#user-page-management .info-card-user .fullname-input {
  width: 90%;
  height: 34px;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 23px;
  font-weight: bold;
  line-height: 34px;
  outline: none;
  border: 0.5px solid black;
  color: var(--text-color);
}
#user-page-management .info-card-user .email-container {
  height: 34px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 55px;
  margin: 0 0 0 0 ;
  width: 90%;
}
#user-page-management .info-card-user .email-container p {
  margin: 0 0 0 0 ;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  width: 100%;
}
#user-page-management .info-card-user .email-input {
  width: 100%;
  height: 15px;
  padding: 0;
  background: transparent;
  font-size: 12px;
  line-height: 34px;
  outline: none;
  border: 1px solid black;
  color: var(--text-color);
}
#user-page-management .info-card-user .role-container {
  height: 34px;
  display: flex;
  top: 33px;
  align-items: center;
  position: absolute;
}
#user-page-management .info-card-user .role-input {
  width: 100%;
  height: 23px;
  padding: 0;
  background: transparent;
  font-size: 15px;
  line-height: 34px;
  outline: none;
  border: 1px solid black;
  color: var(--text-color);
}
#user-page-management .info-card-user canvas[id^="qr-canvas-"] {
  filter: var(---icon-filter);
}
#user-page-management .info-card-user .left {
  width: 58%;
  position: relative;
}
#user-page-management .info-card-user .right {
  width: 42%;
}
#user-page-management .info-card-user .right .delete-icon {
  position: absolute;
  top: 8px;
  right: 5px;
  cursor: pointer;
  z-index: 3;
}
#user-page-management .info-card-user .right .edit-icon {
  position: absolute !important;
  top: 8px;
  right: 20px;
  cursor: pointer;
  z-index: 3;
}
#user-page-management .info-card-user .right .login-icon {
  position: absolute !important;
  top: 8px;
  right: 40px;
  cursor: pointer;
  z-index: 5;
  filter: var(---icon-filter);
}
#user-page-management .info-card-user .right .save-icon {
  position: absolute !important;
  top: 8px;
  right: 20px;
  cursor: pointer;
  z-index: 5;
}
#user-page-management .info-card-user .right .cancel-icon {
  position: absolute;
  top: 8px;
  right: 5px;
  cursor: pointer;
  z-index: 3;
}
#user-page-management .info-card-user .right .login-icon-admin {
  position: absolute;
  top: 8px;
  right: 5px;
  cursor: pointer;
  z-index: 3;
}
#user-page-management .info-card-user .role {
  font-size: 15px;
}
#custom-page {
  position: relative;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* ========================= */
  /* GROUP */
  /* ========================= */
  /* ========================= */
  /* ITEM */
  /* ========================= */
  /* ========================= */
  /* BUTTON */
  /* ========================= */
}
#custom-page .modal-header {
  border-bottom: none;
  padding-top: 3px !important;
  padding-bottom: 26px !important;
  position: relative;
}
#custom-page .main-container {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border: solid 7px var(--main-color);
  border-top: 20px solid var(--main-color);
  border-bottom: 17px solid var(--main-color);
  border-radius: 8px;
  height: calc(100vh - 94px);
  position: absolute;
  top: 93px;
  width: 100%;
  overflow: hidden;
  font-size: 12px !important;
}
#custom-page .choice-list-header {
  position: absolute;
  display: flex;
  background: transparent;
  top: 66px;
  left: 0;
  right: 0;
  overflow: hidden;
}
#custom-page .choice-list-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  box-sizing: border-box;
}
#custom-page .group-panel-wrapper {
  flex: 0 0 clamp(197px, 20vw, 329px);
  width: clamp(197px, 20vw, 329px);
  height: 100%;
  box-sizing: border-box;
}
#custom-page .item-panel-wrapper {
  flex: 1 1 0%;
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
#custom-page .choice-list-container > .choice-list-panel {
  width: 50%;
  min-width: 0;
  box-sizing: border-box;
}
#custom-page .choice-list-panel .panel {
  width: 100% !important;
  height: 100%;
  margin-bottom: 0;
}
#custom-page .choice-list-editor {
  width: 100%;
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
#custom-page .choice-list-title {
  margin: 5px 0;
}
#custom-page .choice-list-area {
  padding: 12px 15px;
  margin-bottom: 15px;
  background: #f7f7f7;
  border: 1px solid #ddd;
}
#custom-page .choice-list-area label {
  margin-right: 10px;
}
#custom-page .group-panel {
  padding: 0;
  min-height: 450px;
  border-right: 1px solid black;
  max-width: 329px;
  min-width: 197px;
  overflow-y: auto;
  height: calc(100vh - 147px);
}
#custom-page .group-row {
  display: flex;
  align-items: center;
  height: 12px;
  padding: 12px 12px;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
  background: #fff;
  transition: background-color 0.2s ease;
}
#custom-page .group-row.is-selected,
#custom-page .group-row.is-selected:hover {
  background-color: var(--sub-color) !important;
}
#custom-page .group-row .group-name {
  flex: 1;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#custom-page .group-row input[type="text"] {
  background-color: var(--bg-color-input, #fff);
  border: 1px solid black;
  color: var(--text-color, #000);
  height: 20px;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
}
#custom-page .new-group-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background-color: #f9f9f9;
  border-bottom: 1px solid #ddd;
}
#custom-page .new-group-row input[type="text"] {
  flex: 1;
  height: 20px;
  padding: 2px 8px;
  border: 1px solid #000;
  border-radius: 4px;
  background-color: var(--bg-color-input, #fff);
  color: var(--text-color, #000);
  box-sizing: border-box;
}
#custom-page .new-group-row input[type="text"]:focus {
  border-color: #666;
  outline: none;
}
#custom-page .group-row:hover {
  background: #f5f5f5;
}
#custom-page .group-row.active {
  background: #337ab7;
  color: #fff;
}
#custom-page .new-group-row input[type="text"]:focus {
  border: 1px solid #000;
  background-color: #fff;
  outline: none;
}
#custom-page .new-group-row.is-disabled-row input[type="text"] {
  border: 1px solid transparent !important;
  background-color: transparent !important;
  opacity: 0.4;
}
#custom-page .group-drag {
  width: 25px;
  color: #999;
  cursor: move;
}
#custom-page .group-row.active .group-drag {
  color: #fff;
}
#custom-page .group-name {
  flex: 1;
  font-weight: 500;
}
#custom-page .group-actions {
  margin-left: 10px;
}
#custom-page .group-actions .btn {
  opacity: 0.8;
}
#custom-page .empty-group {
  padding: 30px;
  text-align: center;
  color: #999;
}
#custom-page .table thead th {
  vertical-align: unset;
  border-bottom: 1px solid #ddd;
  padding-bottom: 9px;
  line-height: 1;
}
#custom-page .table thead tr {
  display: table-row;
  vertical-align: inherit;
  unicode-bidi: isolate;
  border-color: inherit;
  height: auto;
}
#custom-page .table tbody tr {
  background-color: #ffffff;
  border-bottom: 1px solid #ddd;
}
#custom-page .table tbody tr:nth-child(even) {
  background-color: var(--table-bg, #f0f0f0);
}
#custom-page .table tbody[dnd-list] .dndPlaceholder {
  background-color: #eee;
  width: 100%;
  display: table-row !important;
  min-height: 30px;
  min-width: 400px;
  margin-left: 5px;
}
#custom-page .item-panel {
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  height: calc(100vh - 147px);
  overflow-y: auto;
}
#custom-page .selected-group-title {
  padding: 8px 10px;
  margin-bottom: 10px;
  background: var(--bar-color);
  font-weight: bold;
  border: 1px solid #ddd;
}
#custom-page .item-table {
  margin-bottom: 0;
  width: 100%;
}
#custom-page .item-table th {
  background: var(--bar-color);
  white-space: nowrap;
}
#custom-page .item-table td span {
  display: block;
  min-height: 24px;
  line-height: 24px;
  cursor: pointer;
  padding: 0 0 0 6px;
}
#custom-page .item-table td {
  vertical-align: middle !important;
  padding: 4px 6px;
}
#custom-page .quick-add-item-row input {
  background-color: #fefefe;
}
#custom-page .quick-add-item-row input:focus {
  border: 1px solid #4a90e2 !important;
  background-color: #fff;
}
#custom-page .item-table input.form-control,
#custom-page .item-table input[type="text"],
#custom-page .item-table input[type="number"] {
  width: 100%;
  box-sizing: border-box;
  height: 20px;
  background-color: var(--bg-color-input, #fff);
  border: 1px solid #ccc;
  color: var(--text-color, #000);
  border-radius: 4px;
  padding: 2px 6px;
}
#custom-page .item-table input:disabled {
  background-color: #eee;
  cursor: not-allowed;
  border-color: #ddd;
}
#custom-page .drag-handle {
  text-align: center;
  color: #999;
  cursor: move;
}
#custom-page .empty-item {
  padding: 40px;
  text-align: center;
  color: #999;
}
#custom-page .choice-list-header .btn {
  margin-left: 5px;
}
#custom-page .selected-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  margin-bottom: 10px;
  background: #f5f5f5;
  border: 1px solid #ddd;
}
#custom-page .tab-area {
  width: 100%;
  padding-left: clamp(15px, 20vw, 330px) !important;
  font-size: 13px !important;
  position: relative;
  box-sizing: border-box;
  transition: padding-left 0.2s ease;
}
#custom-page .tab-area .nav-tabs {
  border-bottom: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 2px;
}
#custom-page .tab-area .nav-tabs .nav-item {
  flex-shrink: 0;
}
#custom-page .tab-area .nav-tabs .nav-link {
  background-color: var(--sub-color);
  border: none;
  padding: 5px 15px;
  color: var(--text-color);
}
#custom-page .tab-area .nav-tabs .nav-link.active {
  background-color: var(--main-color);
  font-weight: bold;
}
#custom-page .tab-area .nav-tabs .btn {
  white-space: nowrap;
}
#custom-page .quick-add-item-row input:focus {
  border: 1px solid #000 !important;
  background-color: #fff;
}
#custom-page .quick-add-item-row.is-disabled-row input {
  border: 1px solid transparent !important;
  background-color: transparent !important;
  opacity: 0.4;
}
#custom-page .quick-add-item-row.is-disabled-row .btn {
  opacity: 0.4;
}
.no-select {
  user-select: none;
  /* Standard */
  -webkit-user-select: none;
  /* Chrome / Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE / Edge legacy */
}
.main-color {
  background-color: var(--main-color) !important;
}
.sub-color {
  background-color: var(--sub-color) !important;
}
.row-color {
  background-color: var(--row-color) !important;
}
.text-color {
  background-color: var(--text-color) !important;
}
.bar-color {
  background-color: var(--bar-color) !important;
}
.text-dark {
  color: var(--text-color) !important;
}
.theme-transparent {
  --row-color: transparent;
}
.theme-transparent .container-modal .modal-content,
.theme-transparent .container-modal .modal-header {
  background: transparent;
}
.theme-transparent .list-group-item {
  background-color: transparent !important;
}
body.theme-transparent {
  background-image: url(https://plus.unsplash.com/premium_photo-1721170788107-0775e55de402?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);
}
body.theme-transparent .tr {
  background-color: transparent !important;
}
body.modal-open {
  overflow: hidden !important;
  height: 100vh !important;
}
body.theme-transparent:before {
  opacity: 0.6;
}
body,
.table {
  color: var(--text-color);
}
.table th {
  color: #000;
  border-radius: 0px !important;
}
.table-stripped th {
  color: var(--text-color, none);
}
.progress {
  background-color: transparent;
}
body {
  overflow-x: hidden;
}
.hide-scrollbar {
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */
  scrollbar-width: none;
  /* Firefox */
}
.bg-crashzone {
  background-color: var(--main-color);
}
.bg-dark {
  background-color: #414042 !important;
}
.hidden {
  visibility: hidden;
}
.bg-unselect {
  background-color: #c9c9c9;
}
.fa-chevron-up {
  color: var(--text-color-dark, none);
}
.fa-chevron-down {
  color: var(--text-color-dark, none);
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
  /* Safari and Chrome */
}
.pointer {
  cursor: pointer !important;
}
.underline {
  text-decoration: underline;
}
.toast-success {
  background-color: var(--main-color);
}
.toast-success * {
  color: #333 !important;
}
.toast-error {
  background-color: #333;
}
.toast-error * {
  color: #fff !important;
}
.setting-page.setting-active {
  overflow: hidden !important;
  height: 100vh !important;
}
#alpha-notice-bar {
  position: absolute;
  top: 30px;
  left: 158px;
  padding: 3px;
  box-sizing: border-box;
  background: #ffb2b2;
  border-radius: 6px;
  text-align: center;
  z-index: 9999;
  font-size: 13px;
}
#alpha-notice-bar.hide {
  transform: translate(-50%, -100%);
  opacity: 0;
}
.loading-toast {
  position: fixed;
  top: 10px;
  right: 10px;
  background: #333;
  z-index: 1000;
  border-radius: 7px;
  color: #fff;
  font-size: 13px;
  padding: 4px 8px;
}
.nav-links {
  font-size: 13px;
  padding-right: 35px;
  position: absolute;
  top: 10px;
  right: 10px;
}
.nav-links a {
  color: var(--color-link, --text-color) !important;
}
.czPayment-link a {
  color: var(--color-link, #fff) !important;
}
.nav-buttons {
  position: absolute;
  bottom: 5px;
  left: 15px;
  display: flex;
  color: var(--text-color-white, #fff);
}
.nav-buttons.options.zoom-150 {
  height: 30px;
}
em-emoji-picker {
  display: none;
  position: absolute;
  z-index: 2000;
  top: 0px;
  left: 0px;
}
.ng-flat-datepicker-wrapper {
  width: 100%;
}
.ng-flat-datepicker table tbody {
  width: 290px !important;
}
.btn-xs {
  font-size: 12px !important;
  padding: 0px 5px;
  height: 20px;
  font-weight: bold;
}
.btn-dark {
  background-color: #414042;
}
.btn-deleted {
  text-decoration: line-through;
  opacity: 0.8;
}
#detail-page input[type=text],
#quote-editor input[type=text],
#view-page input[type=text],
#main-page input[type=text],
#report input[type=text],
#setting-modal input[type=text],
#note-modal input[type=text],
#detail-page input[type=password],
#quote-editor input[type=password],
#view-page input[type=password],
#main-page input[type=password],
#report input[type=password],
#setting-modal input[type=password],
#note-modal input[type=password],
#detail-page textarea,
#quote-editor textarea,
#view-page textarea,
#main-page textarea,
#report textarea,
#setting-modal textarea,
#note-modal textarea,
#detail-page select,
#quote-editor select,
#view-page select,
#main-page select,
#report select,
#setting-modal select,
#note-modal select {
  color: var(--text-color);
  background-color: var(--bg-color-input, #fff);
  border: var(--border-color, 1px solid #767676);
}
.photos {
  max-width: 200px;
  padding-right: 5px;
}
.photos .photo-wrapper {
  position: relative;
  min-height: 100px;
  overflow: hidden;
  border: 1px solid black;
  margin-bottom: -1px;
}
.photos .photo-wrapper .actions {
  font-size: 11px;
  position: absolute;
  bottom: 2px;
  right: 2px;
  color: var(--text-color-dark, none);
}
.photos .photo-wrapper .gallery {
  color: var(--text-color-dark, none);
}
.photos .photo-wrapper .photo-index {
  position: absolute;
  bottom: 0px;
  left: 0px;
  border-radius: 0px;
  background: var(--main-color);
  color: var(--text-color-dark, none);
}
.photos .photo-wrapper .photo-group-count {
  font-size: 15px !important;
  padding: 11px;
}
.photos .photo-wrapper.selected-photo {
  border: 3px dashed gold;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.7);
}
.photos .worker-photo img {
  filter: invert(100%);
}
.photos .worker-photo .photo-index {
  background-color: #000;
  color: var(--main-color);
}
.photos.zoom-150 {
  max-width: 450px !important;
}
.photos.zoom-120 {
  max-width: 320px !important;
}
#accounting-dropdown .dropdown-item {
  padding: 0px 10px;
  font-size: 15px;
}
#accounting-dropdown .dropdown-menu {
  background-color: var(--bg-color-detail, white);
}
#quote-editor zoom-100,
#main-page zoom-100,
#detail-page zoom-100,
#view-page zoom-100 {
  zoom: 1;
}
#quote-editor zoom-120,
#main-page zoom-120,
#detail-page zoom-120,
#view-page zoom-120 {
  zoom: 1.2;
}
#quote-editor zoom-150,
#main-page zoom-150,
#detail-page zoom-150,
#view-page zoom-150 {
  zoom: 1.5;
}
#quote-editor,
#main-page,
#detail-page,
#view-page,
#calendar-page {
  padding-top: 0px;
  opacity: 1;
  z-index: 1000;
}
#quote-editor .container-modal,
#main-page .container-modal,
#detail-page .container-modal,
#view-page .container-modal,
#calendar-page .container-modal {
  max-width: none;
  width: 100vw;
  max-height: none;
  margin: 0px;
}
#quote-editor .container-modal .modal-content,
#main-page .container-modal .modal-content,
#detail-page .container-modal .modal-content,
#view-page .container-modal .modal-content,
#calendar-page .container-modal .modal-content {
  border-radius: 0px;
  max-width: none;
  width: 100vw;
  max-height: none;
  height: 100vh;
  border: none;
}
#quote-editor .container-modal .modal-header,
#main-page .container-modal .modal-header,
#detail-page .container-modal .modal-header,
#view-page .container-modal .modal-header,
#calendar-page .container-modal .modal-header {
  border-bottom: none !important;
  padding-top: 3px !important;
  padding-bottom: 35px !important;
  position: relative;
  background-color: var(--bg-color);
}
#quote-editor .container-modal .modal-header.zoom-100,
#main-page .container-modal .modal-header.zoom-100,
#detail-page .container-modal .modal-header.zoom-100,
#view-page .container-modal .modal-header.zoom-100,
#calendar-page .container-modal .modal-header.zoom-100 {
  zoom: 1;
}
#quote-editor .container-modal .modal-header.zoom-120,
#main-page .container-modal .modal-header.zoom-120,
#detail-page .container-modal .modal-header.zoom-120,
#view-page .container-modal .modal-header.zoom-120,
#calendar-page .container-modal .modal-header.zoom-120 {
  zoom: 1.2;
}
#quote-editor .container-modal .modal-header.zoom-150,
#main-page .container-modal .modal-header.zoom-150,
#detail-page .container-modal .modal-header.zoom-150,
#view-page .container-modal .modal-header.zoom-150,
#calendar-page .container-modal .modal-header.zoom-150 {
  zoom: 1.5;
}
#quote-editor .container-modal .modal-body,
#main-page .container-modal .modal-body,
#detail-page .container-modal .modal-body,
#view-page .container-modal .modal-body,
#calendar-page .container-modal .modal-body {
  background: var(--bg-color, none);
}
#quote-editor .container-modal .modal-body .nav-link,
#main-page .container-modal .modal-body .nav-link,
#detail-page .container-modal .modal-body .nav-link,
#view-page .container-modal .modal-body .nav-link,
#calendar-page .container-modal .modal-body .nav-link {
  color: #111;
}
#quote-editor .content,
#main-page .content,
#detail-page .content,
#view-page .content,
#calendar-page .content {
  border: solid 7px var(--main-color);
  border-top: 16px solid var(--main-color);
  border-bottom: 17px solid var(--main-color);
  border-radius: 8px;
  background-color: var(--bg-color-detail, none);
}
#quote-editor .content .job-navigation,
#main-page .content .job-navigation,
#detail-page .content .job-navigation,
#view-page .content .job-navigation,
#calendar-page .content .job-navigation {
  position: absolute;
  right: 30px;
  top: -25px;
}
#quote-editor .content .job-navigation .nav-tabs,
#main-page .content .job-navigation .nav-tabs,
#detail-page .content .job-navigation .nav-tabs,
#view-page .content .job-navigation .nav-tabs,
#calendar-page .content .job-navigation .nav-tabs {
  border-bottom: none;
}
#quote-editor .content .job-navigation .nav-tabs .nav-item,
#main-page .content .job-navigation .nav-tabs .nav-item,
#detail-page .content .job-navigation .nav-tabs .nav-item,
#view-page .content .job-navigation .nav-tabs .nav-item,
#calendar-page .content .job-navigation .nav-tabs .nav-item {
  margin: 0px 2px;
}
#quote-editor .content .job-navigation .nav-tabs .nav-item .nav-link,
#main-page .content .job-navigation .nav-tabs .nav-item .nav-link,
#detail-page .content .job-navigation .nav-tabs .nav-item .nav-link,
#view-page .content .job-navigation .nav-tabs .nav-item .nav-link,
#calendar-page .content .job-navigation .nav-tabs .nav-item .nav-link {
  background-color: var(--sub-color);
  font-size: 13px;
  border: none;
  padding: 3px 8px;
}
#quote-editor .content .job-navigation .active,
#main-page .content .job-navigation .active,
#detail-page .content .job-navigation .active,
#view-page .content .job-navigation .active,
#calendar-page .content .job-navigation .active {
  background-color: var(--main-color) !important;
  font-weight: bold;
}
#quote-editor .content .job-navigation.zoom-100,
#main-page .content .job-navigation.zoom-100,
#detail-page .content .job-navigation.zoom-100,
#view-page .content .job-navigation.zoom-100,
#calendar-page .content .job-navigation.zoom-100 {
  zoom: 1;
}
#quote-editor .content .job-navigation.zoom-120,
#main-page .content .job-navigation.zoom-120,
#detail-page .content .job-navigation.zoom-120,
#view-page .content .job-navigation.zoom-120,
#calendar-page .content .job-navigation.zoom-120 {
  zoom: 1.2;
}
#quote-editor .content .job-navigation.zoom-150,
#main-page .content .job-navigation.zoom-150,
#detail-page .content .job-navigation.zoom-150,
#view-page .content .job-navigation.zoom-150,
#calendar-page .content .job-navigation.zoom-150 {
  zoom: 1.5;
}
#quote-editor {
  overflow-x: hidden;
  overflow-y: hidden;
}
#quote-editor #editor-setting-panel {
  position: fixed;
  width: 800px;
  min-height: 600px;
  left: auto;
  right: 0px;
  top: 33px;
  z-index: 1000;
  background: #fff;
  padding-bottom: 15px;
}
#quote-editor #partscheck-panel {
  position: fixed;
  left: 0%;
  right: 0%;
  top: 0px;
  z-index: 1000;
  background: #bcbcbc;
  padding-bottom: 15px;
  height: 100vh;
  padding-top: 20px;
  font-size: 13px;
}
#quote-editor #partscheck-panel .card {
  margin: auto;
  width: 800px;
  min-height: 600px;
  max-height: 100vh;
}
#quote-editor #partscheck-panel .card-body {
  height: 85%;
  overflow-y: auto;
  overflow-x: hidden;
}
#quote-editor #partscheck-panel table th,
#quote-editor #partscheck-panel table td {
  padding: 5px;
  font-size: 12px !important;
}
#quote-editor .reporting-quote {
  background-color: #d3d3d3;
}
#quote-editor .reporting-quote tr * {
  background-color: #d3d3d3 !important;
  cursor: pointer !important;
}
#quote-editor .reporting-quote tr:hover {
  opacity: 0.8;
}
#quote-editor .reporting-quote tr:hover * {
  font-weight: bold;
}
#quote-editor .editor {
  display: flex;
}
#quote-editor .editor * {
  font-size: 12px;
}
#quote-editor .editor .nav-tabs {
  border-bottom: none;
}
#quote-editor .editor .nav-tabs .nav-item {
  margin: 0px 2px;
}
#quote-editor .editor .nav-tabs .nav-item .nav-link {
  background-color: var(--sub-color);
  font-size: 13px;
  border: none;
  padding: 5px 15px;
}
#quote-editor .editor .nav-tabs .nav-item .nav-link.active {
  background-color: var(--main-color);
  font-weight: bold;
}
#quote-editor .editor .area-picker-column {
  width: 165px;
}
#quote-editor .editor .item-picker-column {
  width: 245px;
}
#quote-editor .editor .quote-item-column {
  margin-top: -50px;
  width: calc(100vw - 645px);
  position: relative;
}
#quote-editor .editor .quote-item-column #large-photo {
  position: fixed;
  bottom: 15px;
  right: 225px;
  width: 715px;
  max-width: 100vw;
}
#quote-editor .editor .quote-item-column .orm-alert {
  position: absolute;
  bottom: 0px;
  left: 15px;
  width: 100%;
  background: var(--main-color);
  color: #000000;
  font-size: 13px;
}
#quote-editor .editor .photo-column {
  width: 215px;
}
#quote-editor .editor .photo-column.zoom-120 {
  width: 350px !important;
}
#quote-editor .editor .photo-column.zoom-150 {
  width: 450px !important;
}
#quote-editor .editor.zoom-120 * {
  font-size: 14px !important;
}
#quote-editor .editor.zoom-150 * {
  font-size: 16px !important;
}
#quote-editor .orm-blocking {
  position: absolute;
  width: calc(100vw - 259px);
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 100;
  background: #eee;
  opacity: 0.25;
}
#quote-editor #authority-mode-alert {
  position: fixed;
  bottom: 18px;
  left: 0px;
  width: 100%;
  background-color: #333;
}
#quote-editor .pick-list {
  overflow-x: hidden;
  border-right: 1px solid #000;
}
#quote-editor .pick-list .picked {
  background-color: var(--sub-color) !important;
  font-weight: bold;
}
#quote-editor .pick-list .list-group-item {
  padding: 0px 10px;
  cursor: pointer;
  border: 1px solid #ddd;
  border-right: none;
  border-left: none;
  border-top: none;
  border-bottom: 1px solid #ddd;
  margin-bottom: 1px !important;
  background-color: var(--row-alt-color, none);
  white-space: nowrap;
}
#quote-editor .pick-list .list-group-item:hover {
  background-color: var(--bar-color);
}
#quote-editor .pick-list .list-group-item:first-child {
  border-top-right-radius: 0px;
}
#quote-editor .quote-items .quote-header {
  color: var(--text-color-dark, none);
}
#quote-editor .quote-items table {
  table-layout: auto;
  width: 100%;
  line-height: 27px;
  border-collapse: collapse;
}
#quote-editor .quote-items table tr.active {
  border-left: 4px solid var(--main-color);
}
#quote-editor .quote-items table th,
#quote-editor .quote-items table td {
  margin-bottom: 2px;
  cursor: default;
  height: calc(100% - 2px);
}
#quote-editor .quote-items table tr td {
  border-bottom: 0.5px solid #ddd;
}
#quote-editor .quote-items table td.part-markup {
  max-width: 60px;
}
#quote-editor .quote-items table td.part-markup span {
  display: block;
  max-width: 60px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 6px;
}
#quote-editor .quote-items table td.part-markup input {
  display: block;
  width: 60px !important;
}
#quote-editor .quote-items table td.part-number {
  max-width: 155px;
}
#quote-editor .quote-items table td.part-number span {
  display: block;
  max-width: 155px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 6px;
}
#quote-editor .quote-items table td.part-number input {
  display: block;
  width: 155px !important;
}
#quote-editor .quote-items table td.part-qty {
  max-width: 50px;
}
#quote-editor .quote-items table td.part-qty span {
  display: block;
  max-width: 50px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#quote-editor .quote-items table td.part-qty input {
  width: 50px !important;
  max-width: 70px;
}
#quote-editor .quote-items table td.part-cost {
  max-width: 60px;
}
#quote-editor .quote-items table td.part-cost span {
  display: block;
  max-width: 60px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-right: 1px;
}
#quote-editor .quote-items table td.part-amount {
  max-width: 60px;
}
#quote-editor .quote-items table td.part-amount span {
  display: block;
  max-width: 60px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#quote-editor .quote-items table td.document {
  max-width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#quote-editor .quote-items table td.document span {
  max-width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#quote-editor .quote-items table td.part-amount input {
  width: 60px !important;
  max-width: 60px;
}
#quote-editor .quote-items table td.selected {
  outline: 1px solid #8d8d8d;
}
#quote-editor .quote-items table tr:nth-child(even) > td {
  background-color: var(--table-bg, #F0F0F0);
}
#quote-editor .quote-items table tr.has-custom-color > td {
  background-color: inherit !important;
}
#quote-editor .quote-items table input {
  width: 100%;
  height: calc(100% - 2px);
  margin-left: -3px;
}
#quote-editor .quote-items table tbody[dnd-list] .dndPlaceholder {
  background-color: #eee;
  width: 100%;
  display: table-row !important;
  min-height: 30px;
  min-width: 400px;
  margin-left: 5px;
}
#quote-editor .quote-items table thead {
  position: sticky;
  top: 0px;
}
#quote-editor .quote-items .comment {
  padding-left: 5px;
}
#quote-editor .item-setting-toggle {
  opacity: 0.5;
}
#quote-editor #editor-setting {
  text-align: right;
  position: absolute;
  right: 10px;
  top: 0px;
  font-size: 25px;
}
#quote-editor .has-error {
  border: 2px dashed;
}
#quote-editor .scrollable {
  height: calc(100vh - 147px);
  overflow-y: auto;
}
#quote-editor .caculator-section {
  position: fixed;
  right: 1.5em;
  bottom: 0;
  width: auto;
  z-index: 999;
}
#quote-editor .caculator-section .tags {
  flex-wrap: wrap;
  gap: 8px;
}
#quote-editor .caculator-section .tags .tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text-color-dark, none);
}
#quote-editor .caculator-section .tags .tag .label {
  font-weight: normal;
  font-size: 14px !important;
  transform: translateY(4px);
}
#quote-editor .caculator-section .tags .tag .label.boldText {
  font-weight: bold;
  color: var(--text-color-dark, none);
}
#quote-editor .caculator-section .tags .tag .value {
  transform: translateY(4px);
  font-size: 14px !important;
}
#quote-editor .caculator-section .tags .tag .value.boldText {
  font-weight: bold;
  color: var(--text-color-dark, none);
}
#quote-editor #context-menu {
  background-color: transparent;
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 1000;
  top: 0px;
  left: 0px;
  border-radius: 10px;
}
#quote-editor #context-menu ul {
  top: 200px;
  left: 200px;
  position: fixed;
  border-radius: 10px;
  background-color: #414042;
}
#quote-editor #context-menu ul * {
  color: #fff;
}
#quote-editor #context-menu li {
  padding: 5px;
  cursor: pointer;
  background-color: #414042;
}
#quote-editor #context-menu li:hover {
  background-color: var(--main-color);
  color: #000;
}
#quote-editor #search-box {
  position: absolute;
  right: 60px;
  top: 37px;
}
#quote-editor #search-box input {
  width: 265px;
  height: 20px;
  border: 1px solid;
  border-radius: 0px;
  padding-left: 2px;
}
#detail-page input[type="text"],
#detail-page input[type="date"],
#detail-page select {
  border-radius: 5px;
  border: var(--border-color, 1px solid #767676);
  outline: none;
}
#detail-page input[type="text"]:focus,
#detail-page input[type="date"]:focus,
#detail-page select:focus {
  background-color: var(--bg-color-input, #fff) !important;
}
#detail-page .non-edit-box {
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 0px 3px;
  background: var(--bar-color);
}
#detail-page .followup {
  font-size: 17px !important;
  position: relative;
  top: -3px;
  cursor: pointer;
}
#detail-page .copy-quote-panel {
  position: absolute;
  z-index: 10;
  background: #eee;
  font-size: 13px;
  padding: 5px;
  border: 1px solid #333;
  top: 25px;
  left: 295px;
}
#detail-page .copy-photos-panel {
  position: absolute;
  z-index: 10;
  background: #eee;
  font-size: 13px;
  padding: 5px;
  border: 1px solid #333;
  top: 25px;
  left: 384px;
}
#detail-page .ac-container {
  top: unset !important;
  left: unset !important;
}
#detail-page .ac-container .ac-menu-item {
  line-height: unset;
  background-color: #fff87f;
}
#detail-page .ac-container .ac-menu-item:hover {
  background-color: var(--main-color);
}
#detail-page .content {
  overflow-y: auto;
}
#detail-page input[type=text] {
  height: 20px;
  margin-bottom: 5px;
}
#detail-page .job-detail {
  display: flex;
  transition: filter 0.3s ease;
  background-color: var(--bg-color-detail, none);
}
#detail-page .job-detail * {
  font-size: 13px;
  border-radius: 5px;
}
#detail-page .job-detail .logo-partcheck {
  filter: var(--partcheck-logo, none);
}
#detail-page .job-detail .detail-column {
  position: relative;
  width: calc(100vw - 215px);
  /* Icon */
  /* Tooltip */
  /* Hover */
}
#detail-page .job-detail .detail-column.blurred .detail-wrapper {
  filter: blur(10px);
  pointer-events: none;
}
#detail-page .job-detail .detail-column .blur-message {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9998;
  pointer-events: none;
  text-align: center;
}
#detail-page .job-detail .detail-column .blur-message h1 {
  margin: 0;
  font-size: 20px;
  font-weight: bold;
  color: black;
  background: #fff87f;
  padding: 20px 40px;
}
#detail-page .job-detail .detail-column .blur-buttons {
  margin-top: 16px;
  display: flex;
  gap: 12px;
  pointer-events: auto;
}
#detail-page .job-detail .detail-column .photo-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  overflow-y: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
#detail-page .job-detail .detail-column .photo-overlay > div {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  width: 90%;
  max-width: 1000px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
#detail-page .job-detail .detail-column .overlay-actions {
  position: fixed;
  bottom: 20px;
  right: 40px;
  z-index: 1100;
  display: flex;
  gap: 10px;
}
#detail-page .job-detail .detail-column .confirm-popup {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
}
#detail-page .job-detail .detail-column .popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
#detail-page .job-detail .detail-column .popup-content {
  position: relative;
  background: white;
  padding: 20px 30px;
  border-radius: 10px;
  text-align: center;
  z-index: 2001;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
#detail-page .job-detail .detail-column .popup-buttons {
  margin-top: 15px;
  display: flex;
  justify-content: space-around;
}
#detail-page .job-detail .detail-column .popup-buttons .btn {
  min-width: 100px;
}
#detail-page .job-detail .detail-column .detail-wrapper {
  width: 800px;
}
#detail-page .job-detail .detail-column #large-photo {
  position: fixed;
  bottom: 15px;
  right: 215px;
  width: 715px;
  max-width: 100vw;
}
#detail-page .job-detail .detail-column .help-icon {
  cursor: pointer;
  vertical-align: middle;
}
#detail-page .job-detail .detail-column .custom-tooltip {
  position: absolute;
  top: 50%;
  left: 110%;
  transform: translateY(-50%);
  min-width: 600px;
  max-width: 1000px;
  padding: 8px 12px;
  background: #fff;
  color: #333;
  font-size: 13px;
  border-radius: 6px;
  white-space: normal;
  text-align: left;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 9999;
}
#detail-page .job-detail .detail-column .tooltip-wrapper:hover .custom-tooltip {
  opacity: 1;
  visibility: visible;
}
#detail-page .job-detail .detail-column.zoom-100 {
  zoom: 1;
}
#detail-page .job-detail .detail-column.zoom-120 {
  zoom: 1.2;
}
#detail-page .job-detail .detail-column.zoom-150 {
  zoom: 1.5;
}
#detail-page .job-detail .photo-column {
  width: 215px;
}
#detail-page .job-detail .photo-column.zoom-100 {
  zoom: 1;
}
#detail-page .job-detail .photo-column.zoom-120 {
  zoom: 2;
}
#detail-page .job-detail .photo-column.zoom-150 {
  zoom: 3;
}
#detail-page .detail-card {
  border: 1px solid #868686;
}
#detail-page .detail-card h6 {
  font-weight: bold;
}
#detail-page .detail-card .detail {
  padding: 10px;
}
#detail-page .detail-card .label {
  font-size: 13px;
}
#detail-page .ntar-search .ac-container {
  width: 455px !important;
}
#detail-page .ntar-search .ac-container .ac-menu-item {
  background-color: #f1f1f1;
}
#detail-page .ntar-search .ac-container .ac-menu-item:nth-child(even) {
  background-color: #dcdcdc;
}
#detail-page .ntar-search .ac-container .ac-menu-item:hover {
  background-color: #f1f1f1 !important;
}
#detail-page .notes td {
  border-bottom: 1px solid #868686;
  border-radius: 0px !important;
}
#detail-page .notes .notes-wrapper {
  background: var(--bg-color-detail, none);
}
#detail-page .notes .notes-table {
  border: none !important;
}
#detail-page .notes a {
  color: var(--color-link, var(--text-color));
}
#detail-page .notes .notes-table thead tr {
  border-bottom: 1px solid #ddd;
  background-color: #eee;
}
#detail-page .notes .notes-table thead tr th {
  color: var(var(--text-color-dark), var(--text-color));
  background-color: #eee;
}
#detail-page .notes .notes-table tbody tr {
  border-bottom: 1px solid #eee;
}
#detail-page .notes .tr-deleted {
  text-decoration: line-through;
}
#detail-page .notes .tr-pin {
  background-color: #302e33 !important;
  color: #fff !important;
}
#detail-page .notes .tr-followup {
  background-color: var(--main-color) !important;
  color: var(--text-color-dark, --text-color) !important;
}
#detail-page .notes .notes-table .badge {
  background-color: var(--button-color, #414042);
  color: var(--text-color-dark, #EEEEEE);
}
#detail-page .notes .notes-table .badge-dark {
  background-color: var(--button-color, #EEEEEE);
  color: var(--text-color, #EEEEEE);
}
#detail-page .notes .notes-table img {
  width: 25px;
  filter: none;
}
#detail-page .notes .notes-table.pinned img {
  filter: brightness(0) invert(1) contrast(1.2);
}
#detail-page .notes .notes-table img.allow-filter {
  filter: none;
}
.theme-dark #detail-page .notes .notes-table img.allow-filter {
  filter: var(--icon-filter, brightness(0) invert(1) contrast(1.2));
}
#detail-page .notes .notes-table img.allow-filter.pinned,
.tr-pin #detail-page .notes .notes-table img.allow-filter {
  filter: brightness(0) invert(1) contrast(1.2) !important;
}
#detail-page .notes .notes-table tbody td {
  font-size: 16px;
}
#detail-page .notes .pin-icon img {
  width: 20px;
  transition: 0.2s;
}
#detail-page .notes .pin-icon.pinned img {
  filter: brightness(0) invert(1) contrast(1.2);
}
#detail-page .notes td img {
  width: 20px;
  transition: 0.2s;
}
#detail-page .notes td img.pinned {
  filter: brightness(0) invert(1) contrast(1.2);
}
#detail-page .notes .tags-list.active {
  background-color: var(--color-active, #d9d9d9);
  color: var(--text-color-dark, --text-color);
}
#detail-page .notes .tags-list.inactive {
  background-color: var(--color-inactive, #414042);
  color: var(--text-color-dark, #fff);
}
#detail-page .notes .note-text {
  margin-right: 2px;
}
#detail-page .sms-panel {
  position: absolute;
  width: 100%;
  z-index: 1;
  right: 0px;
  background-color: #fff;
  border: 1px solid #868686;
  padding: 5px;
  top: 25px;
}
#detail-page label {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 0px;
}
#detail-page #save-job-detail {
  position: fixed;
  right: 225px;
  bottom: 25px;
}
#detail-page table.invoice-table {
  width: 100%;
}
#detail-page table.invoice-table * {
  font-size: 13px !important;
}
#detail-page table.invoice-table th,
#detail-page table.invoice-table td {
  border: 1px solid #868686;
}
#detail-page table.invoice-table a {
  color: var(--color-link, var(--text-color));
}
#detail-page table.invoice-table tr.Deleted td {
  text-decoration: line-through;
}
#detail-page table.invoice-table tr.Deleted td i {
  display: none;
}
#detail-page #note-modal * {
  font-size: 18px;
  color: var(--text-color);
}
#detail-page #note-modal {
  background: rgba(0, 0, 0, 0.4);
}
#detail-page #note-modal .modal-content {
  backdrop-filter: blur(5px);
}
#detail-page #note-modal input {
  font-size: 18px;
  font-weight: 600;
  background-color: var(--bg-color-input, #fff);
}
#detail-page #note-modal textarea {
  font-size: 20px;
  padding: 10px;
}
#detail-page #note-modal .modal-dialog {
  max-width: 800px;
}
#detail-page #note-modal .modal-content {
  border-radius: 10px;
  padding: 10px;
  background-color: var(--bg-color, #fff);
}
#detail-page .has-error {
  border: 2px dashed;
}
#detail-page .error-label.text-danger {
  color: var(--text-color) !important;
}
#detail-page #search-box {
  position: absolute;
  right: 60px;
  top: 37px;
}
#detail-page #search-box input {
  width: 265px;
  height: 20px;
  border: 1px solid;
  border-radius: 0px;
  padding-left: 2px;
}
#setting-modal {
  background-color: var(--bg-color, #ccc);
}
#setting-modal .modal-body,
#setting-modal .modal-footer {
  background-color: var(--bg-color-detail);
}
#setting-modal .modal-body a {
  color: var(--color-link, var(--text-color));
}
#setting-modal .modal-dialog {
  max-width: none !important;
  width: 100vw !important;
  position: relative;
}
#setting-modal .modal-dialog .modal-content {
  position: absolute;
  top: 0px;
  right: 20px;
  max-width: 700px;
  margin: auto;
}
#setting-modal .modal-dialog .modal-content .setting-content {
  max-width: 100%;
}
#setting-modal .modal-dialog .modal-content.zoom-100 {
  zoom: 1;
}
#setting-modal .modal-dialog .modal-content.zoom-120 {
  zoom: 1.2;
}
#setting-modal .modal-dialog .modal-content.zoom-150 {
  zoom: 1.5;
}
#setting-modal * {
  font-size: 12px !important;
}
#setting-modal .nav-tabs {
  border-bottom: none;
}
#setting-modal .nav-tabs .nav-item {
  margin: 0px 2px;
}
#setting-modal .nav-tabs .nav-item .nav-link {
  background-color: var(--main-color);
  font-size: 13px;
  border: none;
  padding: 5px 15px;
  color: var(--text-color-dark, none);
}
#setting-modal .nav-tabs .nav-item .nav-link.active {
  background-color: var(--color-active, #c9c9c9);
  font-weight: bold;
}
#setting-modal .nav-tabs .nav-item a {
  color: #000;
}
#setting-modal .setting-content {
  border: 1px solid #333;
}
#setting-modal .setting-content input[type=text],
#setting-modal .setting-content input[type=password],
#setting-modal .setting-content input[type=number] {
  background-color: var(--bg-color-input, none);
  height: 21px;
  color: var(--text-color);
  border: var(--border-color, 1px solid #767676);
}
#setting-modal .has-error,
#setting-modal .ng-invalid {
  border: 2px dashed red;
}
#setting-modal .user-management {
  left: 100px;
}
#setting-modal .user-management .suspended {
  text-decoration: line-through;
}
#setting-modal .user-management input[type=text],
#setting-modal .user-management input[type=email],
#setting-modal .user-management select {
  height: 21px;
}
.bg-black {
  background-color: #000 !important;
}
.mini-card {
  width: 35px;
  background: #fff;
  border-radius: 5px;
  text-align: center;
  align-content: center;
}
.mini-card .card-number {
  color: #000;
}
.mini-card .card-icon {
  position: relative;
  top: -4px;
}
.card-number.diamond,
.card-number.heart {
  color: #f44336;
}
.game-header {
  align-content: center;
  height: 60px;
}
.workspace {
  position: relative;
  width: 100vw;
  background-color: #2a2c2b;
  overflow: hidden;
}
.workspace .control-panel {
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.workspace .card {
  font-size: 15px;
}
.workspace .card .card-body {
  height: 100%;
  align-content: center;
}
.workspace .card .card-content {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #fff;
}
.workspace .card .card-header {
  background-color: #fff;
  position: absolute;
  top: 0px;
  width: 100%;
  border: none;
  font-size: 17px;
}
.workspace .card .card-footer {
  background-color: #fff;
  position: absolute;
  bottom: 0px;
  width: 100%;
  border: none;
  font-size: 17px;
}
.workspace .job-card {
  color: #000;
}
.workspace .job-card .rego {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  max-width: 100px;
  margin: auto;
  background: #a8a8a8;
  opacity: 0.85;
  color: white;
}
.workspace .job-card .first-photo {
  aspect-ratio: 1 / 0.75;
  background-repeat: no-repeat;
  background-size: cover;
  width: 88%;
  margin: auto;
}
.workspace .user-card .user-photo {
  aspect-ratio: 1 / 0.75;
  background-repeat: no-repeat;
  background-size: cover;
  width: 88%;
  margin: auto;
}
.workspace .date-card .date {
  color: #fff;
  position: absolute;
  top: -30px;
  text-align: center;
  width: 100%;
  background: none;
  background-color: unset !important;
  font-weight: bold;
  font-size: 19px;
}
.workspace .can-drop div {
  background-color: #db8989 !important;
}
.workspace .card-icon {
  position: relative;
  left: -3px;
  top: -3px;
}
#card-program #setting-button,
#card-program #mode-button {
  position: fixed;
  bottom: 15px;
  right: 10px;
  font-size: 30px;
}
#card-program #detailed-timers table td {
  align-content: center;
}
.calendar-game #search-box {
  position: absolute;
  width: 160px;
  left: 10px;
  top: 7px;
  height: 25px;
}
#main-page #job-table {
  table-layout: fixed;
}
@media only screen and (max-width: 650px) {
  #main-page #job-table .owner-column {
    max-width: 100px !important;
    width: 0px !important;
    visibility: hidden;
  }
}
#main-page #job-table .office-notes:hover {
  background-color: var(--main-color);
}
#main-page #job-table.zoom-100 {
  zoom: 1;
}
#main-page #job-table.zoom-120 {
  zoom: 1.2;
}
#main-page #job-table.zoom-150 {
  zoom: 1.5;
}
#main-page .content {
  border-top: none !important;
  min-height: 50vh;
}
#main-page .content .pic-container {
  flex-flow: wrap;
  max-width: 90vw;
  background-color: var(--bg-color-detail, none);
}
#main-page .content .pic {
  position: relative;
  padding: 2px;
}
#main-page .content .pic img {
  width: 144px;
  height: 105px;
  border: 1px solid #333;
}
#main-page .content .pic .car-detail {
  position: absolute;
  width: 200px;
  background-color: var(--sub-color);
  top: 0px;
  left: 90%;
  z-index: 1000;
  padding: 3px;
  border: 1px solid #333;
  line-height: 17px;
  display: none;
}
#main-page .content .pic .car-rego {
  position: absolute;
  bottom: 2px;
  left: 2px;
  background-color: var(--main-color);
  color: #000;
  text-align: center;
  width: 97%;
  font-size: 16px;
}
#main-page .content .pic:hover .car-detail {
  display: block !important;
  color: var(--text-color-dark, none);
}
#main-page .content .bottom-pagination {
  font-size: 12px;
  font-weight: bold;
  position: absolute;
  right: 20px;
  bottom: -19px;
}
#main-page .content .bottom-pagination a {
  color: #000;
}
#main-page .controls .pagination {
  width: 200px;
  float: left;
  margin-top: -25px;
  margin-left: 75px;
}
#main-page .controls #search-box {
  position: absolute;
  right: 60px;
  top: -57px;
}
#main-page .controls #search-box input {
  width: 265px;
  height: 20px;
  border: 1px solid;
  border-radius: 0px;
  padding-left: 2px;
}
#main-page .controls .nav {
  width: 375px;
  /* float: right; */
  margin-top: -25px;
  position: absolute;
  right: 0px;
}
#main-page .controls .nav-tabs {
  border-bottom: none;
}
#main-page .controls .nav-tabs .nav-item {
  margin: 0px 2px;
}
#main-page .controls .nav-tabs .nav-item .nav-link {
  background-color: var(--sub-color);
  font-size: 13px;
  border: none;
  padding: 3px 8px;
}
#main-page .controls .nav-tabs .nav-item .nav-link.active {
  background-color: var(--main-color);
  font-weight: bold;
}
#main-page .controls.zoom-100 {
  zoom: 1;
}
#main-page .controls.zoom-120 {
  zoom: 1.2;
}
#main-page .controls.zoom-150 {
  zoom: 1.5;
}
#main-page table {
  background: var(--table-bg);
  color: var(--text-color);
  border-collapse: collapse;
}
#main-page table th {
  border: none;
  padding: 2px 5px;
  font-size: 13px !important;
}
#main-page table td {
  padding: 1px;
  border-color: #a09fa0;
  font-size: 13px !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#main-page table tr:first-child td {
  border-top: none !important;
}
#main-page table thead {
  position: sticky;
  top: 0px;
}
#main-page table thead tr {
  background-color: var(--main-color);
}
#main-page table tbody tr {
  cursor: pointer;
  background: var(--row-color);
}
#main-page table tbody tr:nth-child(odd) {
  background-color: var(--row-color);
  background: var(--row-alt-color);
}
#report-page {
  max-width: 1000px;
  margin: auto;
}
#report-page header {
  width: 100%;
  padding: 7px;
  background-color: #414042;
}
#report-page header button {
  min-width: 55px;
}
#view-page .ac-container {
  top: unset !important;
}
#view-page .ac-container .ac-menu-item {
  line-height: unset;
  background-color: #fff87f;
  text-align: left;
}
#view-page .ac-container .ac-menu-item:hover {
  background-color: var(--main-color);
}
#view-page .job-detail {
  display: flex;
  margin-top: -12px;
}
#view-page .job-detail .view-column {
  position: relative;
  width: calc(100vw - 215px);
  background-color: var(--bg-color-detail, #fff);
  color: var(--text-color, none);
}
#view-page .job-detail .photo-column {
  width: 215px;
}
#view-page .options {
  font-size: 12px !important;
  text-align: right;
  background-color: var(--main-color);
  padding-bottom: 5px;
  position: relative;
  color: var(--text-color-dark, none);
  top: -12px;
}
#view-page .options a {
  color: var(--text-color-dark, var(--text-color));
}
#view-page .options a.active {
  font-weight: bold;
}
#view-page .options .email-editor {
  position: absolute;
  right: 339px;
  padding: 6px;
  background: #f3f2f2;
  border: solid 1px #bfbfbf;
  width: 500px;
  top: 28px;
  z-index: 1000;
}
#view-page .options.zoom-100 {
  zoom: 1;
}
#view-page .options.zoom-120 {
  zoom: 1.2;
}
#view-page .options.zoom-150 {
  zoom: 1.5;
}
#view-page .parts-options {
  position: absolute;
  right: 20px;
  top: 40px;
  color: var(--text-color, black);
  z-index: 1000;
}
#view-page .parts-options a {
  color: var(--text-color, black);
  cursor: pointer;
}
#view-page .parts-options a.active {
  font-weight: bold;
}
#view-page input[type=checkbox] {
  position: relative;
  top: 2px;
}
#view-page input[type=text] {
  height: 20px;
}
#view-page .quote-selection {
  position: relative;
  top: 1px;
}
#view-page .quote-selection select {
  border: 1px solid;
}
#view-page #report * {
  line-height: normal;
  color: var(--text-color, #212529);
}
#view-page #report.zoom-100 {
  zoom: 1;
}
#view-page #report.zoom-120 {
  zoom: 1.2;
}
#view-page #report.zoom-150 {
  zoom: 1.5;
}
#view-page #select-images-modal {
  background-color: #fff;
  position: absolute;
  min-height: 3000px;
  height: auto;
}
#view-page #select-images-modal .modal-dialog {
  margin: 0px;
}
#view-page #select-images-modal .modal-dialog .modal-content {
  border: none;
}
#view-page #select-images-modal .modal-dialog .modal-content .photo {
  border: solid 1px black;
  cursor: pointer;
}
#view-page #select-images-modal .modal-dialog .modal-content .photo.selected {
  border: 3px solid red !important;
}
#view-page #search-box {
  position: absolute;
  right: 60px;
  top: 37px;
}
#view-page #search-box input {
  width: 265px;
  height: 20px;
  border: 1px solid;
  border-radius: 0px;
  padding-left: 2px;
}
#private-login-page {
  width: 100vw;
  height: 100vh;
  background: url(https://plus.unsplash.com/premium_photo-1661886008804-9e5b219fc587?q=80&w=1803&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
#private-login-page .login-form {
  position: absolute;
  width: 100%;
  top: 25%;
}
#xero-page input[type="date"] {
  background-color: var(--bg-color-input, #fff);
  border: 1px solid #d1d5db;
  color: var(--text-color, #000);
}
#xero-page select {
  color: var(--text-color);
  background-color: var(--bg-color-input, #fff);
  border: var(--border-color, 1px solid #767676);
}
#xero-page {
  background-color: var(--bg-color, --sub-color);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /* Filter Section for Retro Look */
  /* Information Box for Xero */
  /* Badge/Status styles */
  /* Responsive cho mobile */
}
#xero-page .modal-header {
  background-color: var(--bg-color, none);
  color: var(--text-color, none);
}
#xero-page #search-box {
  position: absolute;
  right: 60px;
  top: 37px;
}
#xero-page #search-box input {
  width: 265px;
  height: 20px;
  border: 1px solid;
  border-radius: 0px;
  padding-left: 2px;
}
#xero-page body {
  background-color: #ffff;
  font-family: "Tahoma", "Geneva", "Verdana", sans-serif;
  font-size: 16px;
  color: var(--text-color);
  margin: 0;
  padding: 20px;
}
#xero-page h1 {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--text-color);
  text-shadow: 1px 1px 0px #fff;
}
#xero-page .filter-box {
  background: var(--main-color);
  color: var(--text-color-dark, --text-color);
  border: 1px solid #333;
  padding: 10px;
  margin-bottom: 15px;
  font-size: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
#xero-page .login-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
#xero-page .login-box img {
  max-width: 180px;
}
#xero-page .info-box {
  background: var(--row-color);
  border: 1px dashed #333;
  padding: 12px;
  margin-bottom: 15px;
  font-size: 15px;
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  /* Gap between items: 10px vertical, 20px horizontal */
}
#xero-page .info-box b {
  color: var(--text-color);
}
#xero-page .img-button {
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
#xero-page .img-button img {
  max-width: 200px;
  display: block;
}
#xero-page .img-button:hover img {
  opacity: 0.85;
}
#xero-page .img-button:active img {
  transform: scale(0.95);
}
#xero-page .filter-box label {
  font-weight: bold;
}
#xero-page .filter-box input {
  border: 1px solid #777;
  padding: 2px;
  font-size: 14px;
  background-color: var(--bg-color-detail, white);
  color: var(--text-color);
}
#xero-page .main-container {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border: solid 7px var(--main-color);
  border-top: 20px solid var(--main-color);
  border-bottom: 17px solid var(--main-color);
  border-radius: 8px;
}
#xero-page .table-section {
  flex: 1;
  padding: 15px;
  margin-top: 10px;
  margin-bottom: 20px;
}
#xero-page .xero-center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 400px;
  background-color: #fff;
  border: none;
}
#xero-page .section-title {
  padding: 5px 10px;
  margin-top: -25px;
  margin-bottom: 15px;
  display: inline-block;
  font-weight: bold;
  text-transform: uppercase;
}
#xero-page table {
  width: 100%;
  border-collapse: collapse;
  background: var(--table-bg, #fff);
  border: 1px solid #000;
}
#xero-page th {
  background-color: var(--main-color, #EEEEEE);
  border: 1px solid #000;
  padding: 8px;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  color: var(--text-color-dark, --text-color);
}
#xero-page td {
  border: 1px solid #ccc;
  padding: 6px 8px;
  font-size: 14px;
  text-align: center;
}
#xero-page tr:nth-child(even) {
  background-color: var(--row-color, var(--row-alt-color));
}
#xero-page tr:hover {
  background-color: var(--sub-color) !important;
  cursor: pointer;
  color: var(--text-color-dark, --text-color);
}
#xero-page .status {
  padding: 2px 5px;
  font-size: 10px;
  text-transform: uppercase;
  border: 1px solid #000;
  font-weight: bold;
}
@media (max-width: 1024px) {
  #xero-page .main-container {
    flex-direction: column;
  }
}
#xero-page #sendToXeroModal {
  inset: 0;
  z-index: 1050;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.5);
}
#xero-page #sendToXeroModal input[type=text] {
  background-color: var(--bg-color-input, #fff);
  border: 1px solid black;
  color: var(--text-color, #000);
  height: 20px;
  border-radius: 5px;
}
#xero-page #sendToXeroModal .custom-group {
  width: 100%;
  padding: 2px;
}
#xero-page #sendToXeroModal .header-title {
  background-color: var(--main-color, #EEEEEE);
  color: var(--text-color-dark, none);
  font-weight: bold;
}
#xero-page #sendToXeroModal .footer {
  background-color: var(--main-color, #EEEEEE);
  color: var(--text-color-dark, none);
  font-weight: bold;
}
#history-page .modal-header {
  border-bottom: none;
}
#history-page .main-container {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border: solid 7px var(--main-color);
  border-top: 20px solid var(--main-color);
  border-bottom: 17px solid var(--main-color);
  border-radius: 8px;
}
#history-page .table-section {
  flex: 1;
  padding: 15px;
  margin-top: 10px;
  margin-bottom: 20px;
  min-width: 0;
}
#history-page .history-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}
#history-page .section-title {
  margin-top: -25px;
  margin-bottom: 8px;
  display: inline-block;
  font-weight: bold;
  text-transform: uppercase;
}
#history-page .history-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 14px;
}
#history-page .history-section {
  background: var(--table-bg, #fff);
  border: 1px solid #ccc;
  margin-bottom: 20px;
  padding: 12px;
}
#history-page .integration-cost-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 10px;
}
#history-page .integration-cost-header .section-title {
  margin-top: 0;
  margin-bottom: 8px;
}
#history-page .integration-cost-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 14px;
}
#history-page .history-message {
  background: var(--table-bg, #fff);
  border: 1px solid #ccc;
  padding: 18px;
  text-align: center;
  font-weight: bold;
}
#history-page .history-message.error {
  color: #a60000;
}
#history-page .history-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
#history-page table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--main-color);
  min-width: 920px;
}
#history-page th {
  background-color: var(--main-color, #EEEEEE);
  padding: 8px;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  color: var(--text-color-dark, --text-color);
}
#history-page td {
  border-bottom: 1px solid #ccc;
  padding: 5px;
  font-size: 14px;
  text-align: center;
  white-space: nowrap;
}
#history-page td.text-left {
  text-align: left;
  white-space: normal;
}
#history-page tr:nth-child(even) {
  background-color: var(--row-color);
}
#history-page tr:hover {
  background-color: var(--sub-color) !important;
  color: var(--text-color-dark, --text-color);
}
@media (max-width: 1024px) {
  #history-page .main-container,
  #history-page .history-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}
/* Print styles */
@media print {
  /* Hide all content by default */
  body * {
    visibility: hidden;
  }
  /* Show only the specific div */
  #report {
    zoom: 1.5;
    visibility: visible;
    position: absolute;
    top: -100px;
    left: 0;
    z-index: 10000;
  }
  #report * {
    visibility: visible;
  }
}
.pulsate-bck {
  -webkit-animation: pulsate-bck 0.5s ease-in-out infinite both;
  animation: pulsate-bck 0.5s ease-in-out infinite both;
}
/* ----------------------------------------------
 * Generated by Animista on 2025-2-14 9:10:18
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation pulsate-bck
 * ----------------------------------------
 */
@-webkit-keyframes pulsate-bck {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes pulsate-bck {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
