/*!**************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./src/components/App/App.scss ***!
  \**************************************************************************************************************************************************/
.Container {
  display: flex;
  flex-flow: column;
  height: 100%;
  background: #f6f6f6;
}

.LeftNavContainer {
  display: flex;
  height: 100%;
  background: #f6f6f6;
  padding-top: 63px;
}

.main {
  padding: 0 10px;
  width: 100%;
}

.LeftNavContainer {
  display: flex;
  height: 100%;
  background: #f6f6f6;
  padding-top: 63px;
}

.App {
  flex-grow: 1;
  display: flex;
  flex-flow: column;
  overflow: hidden !important;
  overflow-y: auto !important;
  height: 100%;
}

.y_flow {
  overflow-y: scroll;
}

.Auth {
  background: url(/assets/fcf19e7accdf3d50e4b9.png);
  background-size: cover;
  background-position: center;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: -webkit-fill-available;
}

.fab-action {
  position: fixed !important;
  bottom: 5vmin;
  right: 5vmin;
}

.iframe {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
}

.public-content {
  background: #ffffff;
  margin: 0;
  padding: 0;
  height: 100vh;
}

.error-boundary {
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  background-color: #1c1c20;
  color: #fff;
}
.error-boundary__body {
  flex: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.error-boundary__body img {
  width: 82px;
  height: 82px;
}
.error-boundary__body button {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  margin-top: 10px;
  background-color: #2b518e;
  padding: 4px 16px;
  text-transform: capitalize;
}
.error-boundary__body button:hover {
  color: #fff;
  background-color: #2b518e;
}
.error-boundary__body button.Mui-disabled {
  background-color: #838383;
  color: #fff;
}
.error-boundary__body button.Mui-disabled:hover {
  color: #fff;
  background-color: #838383;
}
.error-boundary__title {
  color: #4f4f4f;
  margin: 20px 0px 10px;
  font-size: 20px;
  text-align: center;
  font-weight: 600;
}
.error-boundary__sub-title {
  color: #828282;
  font-size: 16px;
  max-width: 500px;
  text-align: center;
}
.error-boundary__email {
  color: #4a9ed7 !important;
}
/*!****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./src/components/App/toast.scss ***!
  \****************************************************************************************************************************************************/
.Toastify__toast-container--top-right {
  right: 60px !important;
  max-width: calc(100vw - 48px);
}

.appToast {
  position: relative;
  border-radius: 14px !important;
  padding: 12px !important;
  width: 360px;
  background: rgba(28, 32, 36, 0.92) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25), 0 6px 18px rgba(0, 0, 0, 0.18);
}
.appToast::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 6px;
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
  background: var(--accent);
}

.appToast__body {
  padding: 0 !important;
  margin: 0 !important;
}

.Toastify__toast-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--accent) !important;
  margin-right: 12px !important;
}

.appToast__muiIcon {
  font-size: 20px !important;
}

.appToast--success {
  --accent: #2ecc71;
}

.appToast--warning {
  --accent: #f1c40f;
}

.appToast--error {
  --accent: #ff4d4f;
}

.appToast--default {
  --accent: #95a5a6;
}

.appToast2__wrap {
  display: flex;
  flex-direction: column;
}

.appToast2__title {
  font-size: 16px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.1;
}

.appToast2__msg {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.3;
}
/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./src/index.scss ***!
  \*************************************************************************************************************************************/
@charset "UTF-8";
body {
  margin: 0;
  font-family: "Roboto", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  --color-primary: #f26b42;
  --color-primary-1: #ef4820;
}

:root {
  --color-transparent: transparent;
  --doc-height: 100vh;
  --color-orange-50: #fff3ed;
  --color-orange-100: #fef4ee;
  --color-orange-150: #fbe5d7;
  --color-orange-400: #f26b42;
  --color-orange-500: #ff6739;
  --color-red-400: #fd4a4d;
  /* ⚪ WHITE / GRAY SCALE */
  --color-white: #ffffff;
  --color-gray-30: #e9ecf1;
  --color-gray-35: #f1f1f1;
  --color-gray-40: #f0f0f0;
  --color-gray-45: #f7f7f7;
  --color-gray-50: #f7f7f8;
  --color-gray-90: #f5f5f5;
  --color-gray-100: #f6f6f6;
  --color-gray-125: #f8f9fa;
  --color-gray-150: #f2f3f680;
  --color-gray-200: #eeeef0;
  --color-gray-225: #e2e2e2;
  --color-gray-250: #e9ecef;
  --color-gray-275: #e7e7e7;
  --color-gray-300: #e5e5e9;
  --color-gray-350: #d9d9de;
  --color-gray-375: #dbdbdb;
  --color-gray-400: #d1d1d1;
  --color-gray-425: #444444;
  --color-gray-450: #ccc;
  --color-gray-475: #c2c2c2;
  --color-gray-500: #b7b7c2;
  --color-gray-515: #555;
  --color-dark-525: #56667c;
  --color-gray-535: #5c5d6d;
  --color-gray-550: #aaa;
  --color-gray-600: #9091a0;
  --color-gray-650: #818181;
  --color-gray-675: #727485;
  --color-gray-700: #6d6d6d;
  --color-gray-750: #5c5c5c;
  --color-gray-800: #4f4f4f;
  --color-gray-825: #41424a;
  --color-gray-850: #4b4c59;
  --color-gray-875: #494949;
  --color-gray-900: #41424b;
  --color-gray-950: #333333;
  /* ⚫ DARK / BLACK SCALE */
  --color-dark-90: #2f2f2f;
  --color-dark-100: #2e2e32;
  --color-dark-150: #2e2e3a;
  --color-dark-200: #2b2b2b;
  --color-dark-250: #2b2b31;
  --color-dark-300: #1e1e1e;
  --color-dark-350: #1d1d21;
  --color-dark-400: #1c1c20;
  --color-dark-450: #1c1c24;
  --color-dark-500: #19212b;
  --color-dark-550: #1d2429;
  --color-dark-600: #393941;
  --color-dark-700: #41424b;
  --color-black: #000000;
  --color-black-200: #141414;
  --color-black-300: #0e0e0e;
  --color-brown-700: #673b1f;
  --color-brown-800: #602600;
  /* ⚫ MINT / MINT SCALE */
  --color-mint-bg: rgb(134 219 205 / 28%);
  --color-mint-500: #31a890;
  /* 🌫 TRANSPARENT / RGBA */
  --color-overlay-dark: #1e1e1e80;
  --color-overlay-gray: #ffffffd9;
  --color-blue-500: #2b518e;
}

html {
  height: 100%;
  width: 100%;
}

body {
  position: relative;
  height: 100%;
  width: 100%;
  background: #faf7f3;
  overflow: hidden;
}

#main {
  overflow-y: auto;
}

main {
  height: var(--doc-height);
}

a {
  text-decoration: none;
  color: #2b518e;
}
a:visited {
  color: #2b518e !important;
}

* {
  box-sizing: border-box;
}

.MuiBadge-colorSecondary {
  background: #ffa630;
}

.MuiButton-contained.Mui-disabled {
  background: rgba(0, 0, 0, 0.12) !important;
}

.MuiMenu-list {
  overflow-y: auto;
  max-height: 450px;
}

/* width */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
  cursor: pointer;
}

/* Track */
::-webkit-scrollbar-track {
  background: var(--global-color-scrollbar-track);
  border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--global-color-scrollbar-thumb);
  border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--global-color-scrollbar-thumb);
}

.pdf-viewer {
  max-width: 100%; /* Set the maximum width based on your requirements */
}

.smart-watch-table__content__missing-data {
  font-size: 14px;
  color: #bdbdbd;
}

.smart-lock-table__content__missing-data {
  font-size: 0.5rem;
  color: #bdbdbd;
}

.clear-filter {
  color: #e02f16;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: right;
  cursor: pointer;
}

.reactour__popover:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  top: var(--rtp-arrow-top, auto);
  right: var(--rtp-arrow-right, auto);
  bottom: var(--rtp-arrow-bottom, auto);
  left: var(--rtp-arrow-left, auto);
  border-top: var(--rtp-arrow-border-top);
  border-right: var(--rtp-arrow-border-right);
  border-bottom: var(--rtp-arrow-border-bottom);
  border-left: var(--rtp-arrow-border-left);
}

[data-required=true]:after {
  content: "*";
  color: #eb5355;
  padding-left: 4px;
}

.cursor {
  cursor: pointer;
}

/**
Common classes
**/
.center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.space-between {
  display: flex;
  justify-content: space-between;
}

.flex-grow {
  display: flex;
  flex-grow: 1;
  justify-content: space-evenly;
}

.highlighted {
  background-color: #ffa630;
}

.page-header {
  display: flex;
  font-size: 1.5em;
  min-height: 50px;
}
.page-header .page-title {
  line-height: 1.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.2px;
  font-size: 1.1em;
}
.page-header .page-title .MuiSvgIcon-root {
  margin-top: 0.3em;
}
.page-header .page-title a {
  font-size: 1.2rem;
  line-height: 1.4em;
}
.page-header .page-title .inactive {
  color: #333;
}
.page-header .page-info b {
  font-weight: 800;
}
.page-header .page-info span {
  color: #ffa630;
}

/** 
Dont over ride or reuser wrapper class
used to maintain padding from bottom on pages
**/
.box {
  background: #ffffff;
  border-radius: 20px;
  padding: 5px;
}

.icon {
  transition: all 0.5s;
}

.box-shadow {
  box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.25);
  margin: 5px;
  transition: all 0.5s;
  border-radius: 5px;
}
.box-shadow.icon {
  border-radius: 15px;
}
.box-shadow.hover {
  cursor: pointer;
}
.box-shadow.hover:hover {
  box-shadow: 0px 0px 0px #ddd;
  background: #ffa630;
}
.box-shadow.hover:hover.user-2 {
  background: #ff6b35;
}
.box-shadow.hover:hover.user-1 {
  background: #53a2be;
}
.box-shadow.hover:hover * {
  color: #ffffff !important;
}

.DataPanel {
  display: block;
  background: white;
  border-radius: 10px;
  margin: 5px;
  flex-flow: column;
}
.DataPanel .page-info {
  text-align: center;
  font-size: 1.5em;
  font-weight: 700;
  background: #ffa630;
  border-radius: 10px 10px 0px 0;
  padding: 1em;
  width: 100%;
  color: white;
}

.DateFilter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.DateFilter .filter-section {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.DateFilter .form-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.DateFilter .form-flex .formWrapper .MuiFormControl-root {
  width: 200px;
}
.DateFilter .MuiFormControl-root {
  margin-left: 5px;
  margin-top: 10px;
}
.DateFilter .chips {
  display: flex;
  flex-wrap: wrap;
}
.DateFilter .chips-select {
  min-width: 120px;
}
.DateFilter .chip {
  margin: 2;
}
.DateFilter .MuiSelect-select.MuiSelect-select {
  margin: 0 15px;
}

.progress-count {
  font-size: 25px;
  line-height: 29px;
  display: flex;
  align-items: center;
  color: #2b518e;
  padding-left: 10px;
  justify-content: center;
}

.truck-count {
  font-size: 25px;
  line-height: 29px;
  display: flex;
  align-items: center;
  color: #2b518e;
  padding-left: 10px;
}

.DateFilter,
.DatePeriodFilter {
  margin: 1em;
  margin-left: 0px;
  margin-right: 0px;
}
.DateFilter span,
.DatePeriodFilter span {
  cursor: pointer;
}
.DateFilter span:hover, .DateFilter span.active,
.DatePeriodFilter span:hover,
.DatePeriodFilter span.active {
  color: #ffa630;
}

.DatePeriodFilter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1em;
}
.DatePeriodFilter .today-week {
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-size: 1.3em;
}

.Chart {
  display: block;
  flex: 1;
  flex-flow: column;
  max-height: 200px;
}
.Chart .recharts-responsive-container {
  flex-grow: 1;
}
.Chart .title {
  text-align: center;
  display: block;
  font-size: 1.5em;
  font-weight: 600;
  margin: 1vmin 0em;
}
.Chart .navigation {
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  font-size: 1.5em;
}
.Chart .navigation .active, .Chart .navigation:hover {
  opacity: 1;
  font-weight: 600;
}
.Chart .navigation a {
  opacity: 0.4;
  padding: 0.5em 1em;
}

.Clips {
  padding: 1em;
  color: #2b518e !important;
  height: 80%;
  overflow-y: auto;
}

.form {
  width: 40vmax;
  display: flex;
  flex-flow: column;
  overflow-y: auto;
}
.form .MuiFormControl-root {
  width: 100%;
  margin: 0.5em 0;
}
.form .submit-button {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}

.project-settings {
  margin-left: 0.5em;
}

.range-periods {
  display: flex;
  flex-flow: row;
}

.GenericEngine {
  overflow: hidden;
  position: relative;
  color: #2b518e;
  display: flex;
  flex-flow: column;
}
.GenericEngine .generic-cameras {
  display: flex;
  flex-flow: column;
}
.GenericEngine .generic-cameras .MuiOutlinedInput-root {
  border-radius: 3em;
  background: #ebebeb;
}
.GenericEngine .page-title {
  text-align: left;
  line-height: 1em;
  display: flex;
  align-items: center;
  font-size: 1.3em;
  margin-bottom: 1em;
}
.GenericEngine .box {
  position: relative;
  background-color: #fff;
  text-align: center;
  padding: 20px;
}

.EditProject {
  flex-grow: 1;
}

.PreviewVideo .video-player {
  width: 80vmax;
}

.cameras {
  padding-top: 0;
}

#upload {
  visibility: hidden;
  width: 0;
  height: 0;
}

.upload {
  color: #3f51b5;
  cursor: pointer;
}

.comment-modal {
  max-height: 350px;
  overflow-y: auto;
}

.MuiButton-containedPrimary {
  background-color: #00c2ff !important;
  font-weight: 700 !important;
}

.MuiButton-containedSecondary {
  color: #2b518e !important;
  background: white !important;
}

.recharts-default-legend {
  text-transform: capitalize;
}

.trend {
  font-size: 2em;
}

@media (max-width: 599.95px) {
  .MuiPickersDateRangePickerInput-root {
    align-items: center !important;
    flex-direction: row !important;
  }
}
.CommentModal .MuiList-root {
  height: 222px !important;
  width: 380px;
}
@media only screen and (max-width: 600px) {
  .CommentModal .MuiList-root {
    width: 85vw !important;
    height: 80vh !important;
  }
}

@media only screen and (max-width: 600px) {
  .PreviewVideo .video-player {
    width: 45vmax !important;
  }
}
.add_comm {
  padding: 1px !important;
}

.com_text textarea {
  width: 185px;
  margin-right: 10px !important;
  border: 0px solid;
  resize: none;
  outline: none;
  height: 20px;
}
.com_text .MuiPaper-elevation1 {
  box-shadow: 0px 0px 0px 0px !important;
}
.com_text button {
  padding: 2px;
  font-size: 12px;
}

.MuiButton-outlinedPrimary {
  color: #2b518e;
}

.MuiSelect-outlined.MuiSelect-outlined {
  font-size: 12px;
}

.centerText {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50vh;
  font-size: 20px;
  font-weight: bolder;
}

.cursor-pointer {
  cursor: pointer;
}

#react-refresh-overlay,
#webpack-dev-server-client-overlay {
  display: none !important;
}

.modal-mobile-filter {
  width: 100%;
  padding: 10px;
}
.modal-mobile-filter__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}
.modal-mobile-filter__controls {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 1rem;
}
.modal-mobile-filter__controls__realtime > div {
  padding: 0;
}
.modal-mobile-filter__controls__date {
  border-radius: 5px;
  width: 100%;
}
.modal-mobile-filter__controls__date .MuiSelect-root {
  padding: 5px 32px 5px 16px;
}
.modal-mobile-filter__controls__date .date-container > div {
  flex-wrap: nowrap;
}
.modal-mobile-filter__controls__date__select {
  width: 100%;
}

.tab-right-contents {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  column-gap: 12px;
}

.text-required::after {
  content: "*";
  color: red;
  margin-left: 4px;
}

button.primary-button {
  background-color: #f26b42;
  color: white;
  text-transform: capitalize;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}
button.primary-button:hover {
  background-color: #f26b42;
}
button.primary-button:disabled, button.primary-button.disabled {
  background-color: var(--page-color-bg-secondary, #838383);
  color: var(--page-color-text-secondary, #bdbdbd);
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
button.primary-button:disabled:hover, button.primary-button.disabled:hover {
  background-color: var(--page-color-bg-secondary, #838383);
  color: var(--page-color-text-secondary, #bdbdbd);
}

button.primary-text-button {
  background-color: transparent;
  color: #f26b42;
  text-transform: capitalize;
  font-size: 1rem;
  cursor: pointer;
}
button.primary-text-button:hover {
  background-color: transparent;
}

input[type=time]::-webkit-calendar-picker-indicator {
  filter: brightness(0) invert(1);
  cursor: pointer;
  background: none;
  background-color: transparent;
}

html[data-theme=dark] input[type=time] {
  color-scheme: dark;
}
html[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator {
  filter: brightness(0) invert(1);
  background: none !important;
  background-color: transparent !important;
  cursor: pointer;
  color: #ffffff;
}
html[data-theme=dark] input[type=time]::-webkit-datetime-edit {
  background-color: #41424b !important;
  color: #ffffff !important;
}
html[data-theme=dark] input[type=time]::-webkit-datetime-edit-fields-wrapper {
  background-color: #41424b !important;
  color: #ffffff !important;
}
html[data-theme=dark] input[type=time]::-webkit-datetime-edit-hour-field, html[data-theme=dark] input[type=time]::-webkit-datetime-edit-minute-field {
  background-color: #41424b !important;
  color: #ffffff !important;
}
html[data-theme=dark] .rdrMonthAndYearPickers select {
  color: #fff;
  background-color: #333;
  cursor: pointer;
}
html[data-theme=dark] .rdrMonthAndYearPickers select option {
  color: #fff;
  background-color: #333;
}

button.cancel-button {
  background-color: var(--button-color-bg-cancel, #c8c8c8);
  color: var(--button-color-text-default, #5b5b5b);
  text-transform: capitalize;
  font-size: 1rem;
  cursor: pointer;
  border: transparent;
}
button.cancel-button:hover {
  background-color: var(--button-color-bg-cancel-hover, #c8c8c8);
}

.clear-filter {
  color: #e02f16 !important;
}

.popover-action-cell__full-width {
  width: 100% !important;
}

.chart-empty-image {
  width: 120px !important;
  height: 100px !important;
}

.text-underline-pointer {
  text-decoration: underline;
  cursor: pointer;
}

.flex {
  display: flex;
}

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

.w-100 {
  width: 100%;
}

.cursor-pointer {
  cursor: pointer;
}

/**
Blink animation
**/
.blinking {
  -webkit-animation: 1s blink ease infinite;
  -moz-animation: 1s blink ease infinite;
  -ms-animation: 1s blink ease infinite;
  -o-animation: 1s blink ease infinite;
  animation: 1s blink ease infinite;
}

@keyframes blink {
  from, to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-moz-keyframes blink {
  from, to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-webkit-keyframes blink {
  from, to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-ms-keyframes blink {
  from, to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-o-keyframes blink {
  from, to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
/**
  Page transition
  **/
.fade-enter {
  opacity: 0;
  z-index: 1;
}

.fade-enter.fade-enter-active {
  opacity: 1;
  transition: opacity 250ms ease-in;
}

/**
Media Query
**/
@media only screen and (min-width: 768px) {
  body {
    font-size: 15px;
  }
  .Chart {
    font-size: 11px;
  }
  .sitemap {
    grid-column: 1;
    grid-row: 2;
  }
  .login-wrapper {
    width: 380px;
  }
  .CardListPanel {
    max-height: 88vh;
    height: 100%;
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
  }
  .DumpTruck .wrapper,
  .SoilRemoved .wrapper,
  .TruckActivity .wrapper {
    display: grid;
    grid-template-columns: 20% 20% 60%;
    grid-template-rows: 50% 50%;
    grid-row-end: 10px;
    flex-grow: 1;
  }
  .DumpTruck .wrapper .DataPanel,
  .SoilRemoved .wrapper .DataPanel,
  .TruckActivity .wrapper .DataPanel {
    grid-row: 1/3;
  }
  .Login,
  .SignUp {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .GenericEngine {
    display: grid;
    grid-template-columns: 70% 30%;
    grid-template-rows: 100%;
  }
  .summary-group {
    grid-column: 1;
    grid-row: 1;
  }
  .all-summary-group {
    grid-column: 1;
    grid-row: 2;
  }
  .forecast {
    grid-column: 1/3;
    grid-row: 1;
  }
  .cameras {
    grid-column: 1/3;
    grid-row: 2;
  }
  .links {
    grid-column: 3;
    grid-row: 1/3;
  }
  .overview {
    grid-column: 1/3;
    grid-row: 1;
  }
}
@media only screen and (max-width: 600px) {
  body {
    font-size: 12px;
  }
  .Chart {
    font-size: 10px;
  }
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 12px;
  }
  #navbar {
    z-index: 1302;
  }
  .GenericEngine {
    display: grid;
    grid-template-columns: 1fr;
  }
  .DumpTruck .wrapper,
  .SoilRemoved .wrapper,
  .TruckActivity .wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-row-end: 10px;
    flex-grow: 1;
  }
  .forecast {
    grid-column: 1/3;
    grid-row: 1;
    min-height: 200px;
  }
  .cameras {
    grid-column: 1/3;
    grid-row: 2/3;
    height: 300px;
  }
  .links {
    grid-column: 1/3;
    grid-row: 3/5;
  }
  .links .box {
    min-height: 150px;
  }
  .user-table {
    width: 768px;
    overflow-y: auto;
  }
  .overview {
    grid-column: 1/3;
    grid-row: 1;
    height: 300px;
  }
  .App {
    overflow: auto;
  }
  .DatePeriodFilter {
    grid-template-columns: 1fr;
  }
}
@media only screen and (orientation: landscape) {
  .App .GenericEngine {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .summary-group {
    grid-column: 1;
    grid-row: 1;
  }
  .all-summary-group {
    grid-column: 1;
    grid-row: 2;
  }
  .user-table {
    width: 730px;
    overflow-y: auto;
  }
  .Home .box {
    width: 98%;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .Home .box {
    width: 97%;
  }
  .Action {
    flex-flow: column;
  }
  .Clock {
    display: none;
  }
  .user-table {
    width: 720px;
    overflow-y: auto;
  }
}
body {
  /* Never get smaller than this */
  font-size: 12px;
}

@media only screen and (min-width: 400px) and (max-width: 499px) {
  .user-table {
    width: 368px;
    overflow: scroll;
  }
}
@media only screen and (min-width: 350px) and (max-width: 399px) {
  .user-table {
    width: 350px;
    overflow: scroll;
  }
}
@media only screen and (max-width: 349px) {
  .user-table {
    width: 290px;
    overflow: scroll;
  }
}
.box-template-1 {
  display: flex;
  flex-flow: column;
}
.box-template-1 .header .title {
  font-weight: 800;
  font-size: 1.5em;
}

.box-template-2 {
  display: flex;
  flex-flow: column;
  padding: 1vmin;
}
.box-template-2 .header .title {
  font-weight: 500;
  font-size: 1.5em;
}

.data-template-1 {
  display: flex;
  flex-flow: column;
  justify-content: space-around;
  text-align: center;
  letter-spacing: 0.2px;
}
.data-template-1 .box-title {
  font-weight: 600;
  font-size: 1.8em;
}
.data-template-1 .box-subtitle {
  font-size: 1rem;
  font-weight: 500;
}
.data-template-1 .box-count {
  font-weight: 600;
  font-size: 3.2em;
}
.data-template-1 .box-summary {
  color: #ffa630;
  font-size: 1.5em;
}

.data-template-2 {
  display: flex;
  flex-flow: column;
  justify-content: space-evenly !important;
  text-align: center;
  letter-spacing: 0.2px;
}
.data-template-2 .box-title {
  font-weight: 600;
  font-size: 1.6em;
  text-align: center;
}
.data-template-2 .box-count {
  font-weight: 600;
  font-size: 3.2em;
  align-self: center;
}

.data-template-3 {
  flex-grow: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  text-align: left;
}
.data-template-3 .box-data-1 {
  font-weight: 400;
  font-size: 4.5em;
  align-self: center;
  grid-column: 1/3;
  text-align: left;
  grid-row: 1;
}
.data-template-3 .box-data-1 .text {
  font-size: 1.3rem;
}
.data-template-3 .box-data-3 {
  font-weight: 400;
  font-size: 4.2em;
  align-self: center;
}
.data-template-3 .box-data-3 .text {
  font-size: 1.3rem;
}
.data-template-3 .box-data-4 {
  font-weight: 400;
  font-size: 3.2em;
  align-self: center;
  text-align: center;
}
.data-template-3 .box-data-4 .icon {
  font-size: 0.8em;
}
.data-template-3 .box-data-4 .text {
  font-size: 0.4em;
}

.data-template-4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  text-align: left;
}
.data-template-4 .box-data-1 {
  font-weight: 400;
  font-size: 3em;
  align-self: center;
  text-align: center;
}
.data-template-4 .box-data-1 .text {
  font-size: 1rem;
}
.data-template-4 .box-data-2 {
  font-weight: 400;
  font-size: 3.5em;
  align-self: center;
  text-align: center;
}
.data-template-4 .box-data-2 .icon {
  font-size: 0.7 em;
}
.data-template-4 .box-data-2 .text {
  font-size: 1.2rem;
}
.data-template-4 .box-data-3,
.data-template-4 .box-data-4 {
  font-weight: 400;
  font-size: 1.6em;
  align-self: center;
  text-align: center;
}
.data-template-4 .box-data-3 .text,
.data-template-4 .box-data-4 .text {
  font-size: 2rem;
  font-weight: 600;
}

/* fallback */
@font-face {
  font-family: "Material Icons";
  font-style: normal;
  font-weight: 400;
  src: url(/assets/492281ee665018c943b7.woff2) format("woff2");
}
@font-face {
  font-family: "icomoon";
  src: url(data:application/vnd.ms-fontobject;base64,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);
  src: url(data:application/vnd.ms-fontobject;base64,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#iefix) format("embedded-opentype"), url(data:font/ttf;base64,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) format("truetype"), url(data:font/woff;base64,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) format("woff"), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+R2VuZXJhdGVkIGJ5IEljb01vb248L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9Imljb21vb24iIGhvcml6LWFkdi14PSIxMDI0Ij4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSIxMDI0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjA7IiBob3Jpei1hZHYteD0iNTEyIiBkPSIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlOTAwOyIgZ2x5cGgtbmFtZT0id29ya2VyIiBkPSJNNzEyIDEwMmMtMTEuMDQwIDAtMjAtOC45Ni0yMC0yMHM4Ljk2LTIwIDIwLTIwYzExLjA0MCAwIDIwIDguOTYgMjAgMjBzLTguOTYgMjAtMjAgMjB6TTMxMiAxMDJjLTExLjA0MCAwLTIwLTguOTYtMjAtMjBzOC45Ni0yMCAyMC0yMCAyMCA4Ljk2IDIwIDIwYzAgMTEuMDQwLTguOTYgMjAtMjAgMjB6TTg5NS4yOSAyMDUuNThjLTIyLjUxNCAzNC44NDgtNTMuNDUyIDYyLjUzOC04OS42OTQgODAuNDItMy4wNTYgMi44MzgtNi45ODYgNC43NC0xMS4zNTYgNS4yMjYtMjYuMjE0IDExLjEyOC01My44NDYgMTYuNzc0LTgyLjI0IDE2Ljc3NGgtNjB2NTIuNzY2YzM0LjcyMiAyOS43OTIgNTkuNjg0IDY5LjI1MiA3MS43ODggMTEzLjIzNGg4LjIxMmM0NC4xMTIgMCA4MCAzNS44ODggODAgODAgMCAyMC45MDQtOC4wNjggMzkuOTUyLTIxLjI0NCA1NC4yMiAxLjI1OCAxLjA2OCAyLjQ4NiAyLjE4IDMuNjY2IDMuMzU4IDExLjMzNiAxMS4zMzYgMTcuNTc4IDI2LjQwMiAxNy41NzggNDIuNDIyIDAgMjYuMzI2LTE3LjA1MiA0OC43MzItNDAuNjg2IDU2Ljc5Mi03LjA2NiA5MS45NjgtNzEuNjEyIDE3MC41Ni0xNjAuNDgyIDE5NS4xOTItNS4yNjYgMjcuNTA0LTI3Ljk2NCA1NC4wMTYtNTguODMyIDU0LjAxNmgtODBjLTMwLjg2OCAwLTUzLjU2Ni0yNi41MTItNTguODMyLTU0LjAxNi04OC44NjItMjQuNjMtMTUzLjQwMi0xMDMuMjA4LTE2MC40OC0xOTUuMTY0LTguNjA0LTIuOTE4LTE2LjQ5NC03Ljc4NC0yMy4xMS0xNC4zOTgtMTEuMzM2LTExLjMzNi0xNy41NzgtMjYuNDAyLTE3LjU3OC00Mi40MjIgMC0xOC4zMjYgOC4yNjgtMzQuNzUgMjEuMjYtNDUuNzY0LTEzLjE4NC0xNC4yNjgtMjEuMjYtMzMuMzI0LTIxLjI2LTU0LjIzNiAwLTQ0LjExMiAzNS44ODgtODAgODAtODBoOC4xNTZjMTAuMTA0LTM2LjcxNCAyOS4yNjItNzAuNDIgNTUuOTg4LTk4LjI2MiA1LjAyMi01LjIzNiAxMC4zNDYtMTAuMjI0IDE1Ljg1Ni0xNC45NTZ2LTUyLjc4MmgtNjBjLTI4LjM5NiAwLTU2LjAyOC01LjY0Ni04Mi4yNC0xNi43NzItNC4zNjgtMC40ODgtOC4zLTIuMzg4LTExLjM1NC01LjIyNi0zNi4yNDYtMTcuODg0LTY3LjE4Mi00NS41NzQtODkuNjk2LTgwLjQyLTI0LjAxNi0zNy4xNzQtMzYuNzEtNzkuOTA4LTM2LjcxLTEyMy41ODJ2LTEyNmMwLTExLjA0NCA4Ljk1NC0yMCAyMC0yMGg4MDBjMTEuMDQ2IDAgMjAgOC45NTYgMjAgMjB2MTI2YzAgNDMuNjc0LTEyLjY5NCA4Ni40MDgtMzYuNzEgMTIzLjU4ek0yMTItMjRoLTgwdjEwNmMwIDYwLjgzNCAzMS4xNjQgMTE5LjE0MiA4MCAxNTMuNzU2di0yNTkuNzU2ek03MzIgNTE0aC0wLjkxMmMwLjU5NiA2LjY1NCAwLjkxMiAxMy4zMzIgMC45MTIgMjB2NjBjMjIuMDU2IDAgNDAtMTcuOTQ0IDQwLTQwcy0xNy45NDQtNDAtNDAtNDB6TTQxMiA4NjMuNzIydi04OS43MjJjMC0xMS4wNDYgOC45NTQtMjAgMjAtMjBzMjAgOC45NTQgMjAgMjB2MTE1Ljg3NGMwIDAuMDUyIDAgMC4xMDQgMCAwLjE1NnYzLjk3YzAgMTIuMzkyIDEwLjQ2OCAyNiAyMCAyNmg4MGM5LjUzMiAwIDIwLTEzLjYwOCAyMC0yNnYtMy45N2MwLTAuMDUyIDAtMC4xMDQgMC0wLjE1NnYtMTE1Ljg3NGMwLTExLjA0NiA4Ljk1NC0yMCAyMC0yMHMyMCA4Ljk1NCAyMCAyMHY4OS43MjJjNjQuNTgtMjIuODU0IDExMS4yLTgxLjI5NCAxMTguODgyLTE0OS43MjJoLTQzNy43NjRjNy42ODIgNjguNDI4IDU0LjMwMiAxMjYuODY4IDExOC44ODIgMTQ5LjcyMnpNMjkyIDUxNGMtMjIuMDU2IDAtNDAgMTcuOTQ0LTQwIDQwczE3Ljk0NCA0MCA0MCA0MHYtNjBjMC02LjY2OCAwLjMxNi0xMy4zNDggMC45MTItMjBoLTAuOTEyek0yOTIgNjM0aC0yMGMtMTEuMDI4IDAtMjAgOC45NzItMjAgMjAgMCA1LjMzNiAyLjA4MiAxMC4zNTggNS44NjIgMTQuMTM2IDMuNzgyIDMuNzgyIDguODAyIDUuODY0IDE0LjEzOCA1Ljg2NGg0ODBjMTEuMDI4IDAgMjAtOC45NzIgMjAtMjAgMC01LjMzNi0yLjA4Mi0xMC4zNTgtNS44NjItMTQuMTM2LTMuNzgtMy43ODItOC44MDItNS44NjQtMTQuMTM4LTUuODY0aC00NjB6TTMzNS42MzQgNDk3LjYzNGMtMC4wNDAgMC4yMTgtMC4wNzggMC40MzQtMC4xMjYgMC42NDgtMi4zMjIgMTEuNzM4LTMuNTA4IDIzLjc1Mi0zLjUwOCAzNS43MTh2NjBoMzYwdi02MGMwLTExLjk1Ni0xLjE4Ni0yMy45NjItMy41MDgtMzUuNzEtMC4wNDgtMC4yMTYtMC4wODYtMC40MzQtMC4xMjYtMC42NTItOC45MzgtNDQuNjE0LTMzLjY3NC04NC41NS02OS42OTQtMTEyLjQ4Mi0zMS4yOTItMjQuMzA4LTY4LjE3OC0zNy4xNTYtMTA2LjY3Mi0zNy4xNTZzLTc1LjM4IDEyLjg0OC0xMDYuNzAyIDM3LjE3OGMtNy4xNyA1LjU0OC0xMy45OTQgMTEuNjg2LTIwLjI5IDE4LjI1Mi0yNS4yMyAyNi4yODQtNDIuMjk0IDU4Ljg0Ni00OS4zNzQgOTQuMjA0ek00OTItMjRoLTE2MHY0NmMwIDExLjA0Ni04Ljk1NCAyMC0yMCAyMHMtMjAtOC45NTQtMjAtMjB2LTQ2aC00MHYyODEuMDUyYzEyLjk4IDQuODk0IDI2LjM1MiA4LjE1NiA0MCA5Ljc2NHYtMTI0LjgxNmMwLTExLjA0NiA4Ljk1NC0yMCAyMC0yMHMyMCA4Ljk1NCAyMCAyMHYxMjZoNTEuNDNsMTA4LjU3LTExNHYtMTc4ek00MTIgMjk2djM3LjI1MmMzMC44NjItMTYuNTkgNjQuODU0LTI1LjI1MiAxMDAtMjUuMjUyIDM1LjE0OCAwIDY5LjE0MiA4LjY2NCAxMDAgMjUuMjV2LTM3LjI1bC0xMDAtMTA1LTEwMCAxMDV6TTc3Mi0yNGgtNDB2NDZjMCAxMS4wNDYtOC45NTQgMjAtMjAgMjBzLTIwLTguOTU0LTIwLTIwdi00NmgtMTYwdjE3OGwxMDguNTcgMTE0aDUxLjQzdi0xMjZjMC0xMS4wNDYgOC45NTQtMjAgMjAtMjBzMjAgOC45NTQgMjAgMjB2MTI0LjgxNmMxMy42NDgtMS42MDggMjcuMDE4LTQuODcyIDQwLTkuNzY2di0yODEuMDUwek04OTItMjRoLTgwdjI1OS43NThjNDguODM2LTM0LjYxNCA4MC05Mi45MjIgODAtMTUzLjc1OHYtMTA2eiIgLz4KPC9mb250PjwvZGVmcz48L3N2Zz4=#icomoon) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 35px;
  letter-spacing: normal;
  font-weight: bold;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.icon-worker:before {
  content: "\e900";
  font-size: 1.45rem;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

:root {
  --d-bg-primary: #ffffff;
  --d-bg-secondary: #f8f9fa;
  --d-bg-chip: #e8eaed;
  --d-bg-button: #f1f3f4;
  --d-bg-button-hover: rgba(0, 0, 0, 0.08);
  --d-bg-overlay: rgba(0, 0, 0, 0.5);
  --d-text-primary: #1a1a1a;
  --d-text-secondary: #5f6368;
  --d-text-muted: #9aa0a6;
  --d-text-button: #1a1a1a;
  --d-text-link: #1a73e8;
  --d-text-action: #137333;
  --d-text-remove: #d93025;
  --d-text-config: #d93025;
  --d-border-primary: #dadce0;
  --d-border-secondary: #e8eaed;
  --d-border-dashed: #dadce0;
  --d-border-input: rgba(0, 0, 0, 0.23);
  --d-border-remove: #f1f3f4;
  --d-status-connected: #137333;
  --d-status-disconnected: #d93025;
  --d-status-first: #1a73e8;
  --d-btn-primary-bg: #1a73e8;
  --d-btn-primary-text: #ffffff;
  --d-btn-outlined-border: #1a73e8;
  --d-btn-outlined-text: #1a73e8;
  --d-btn-discard-text: #ffffff;
  --d-icon-primary: #5f6368;
  --d-icon-secondary: #9aa0a6;
  --d-icon-action: #137333;
  --d-form-label: #1a1a1a;
  --d-form-link: #1a73e8;
  --d-form-input-border: rgba(0, 0, 0, 0.23);
  --d-divider: #e8eaed;
  --d-separator: #f1f3f4;
  --d-shadow-light: rgba(0, 0, 0, 0.1);
  --d-shadow-medium: rgba(0, 0, 0, 0.2);
  --d-shadow-heavy: rgba(0, 0, 0, 0.3);
  --d-bg-tab: #fef7e0;
  --d-bg-tab-active: #fbbc04;
  --d-text-tab-active: #fbbc04;
  --d-border-tab-active: #fbbc04;
  --d-bg-action: rgba(0, 0, 0, 0.6);
  --d-text-action-alt: #ea4335;
  --dt-bg-primary: var(--d-bg-primary);
  --dt-bg-secondary: var(--d-bg-secondary);
  --dt-bg-overlay: var(--d-bg-overlay);
  --dt-bg-button: var(--d-bg-button);
  --dt-bg-button-hover: var(--d-bg-button-hover);
  --dt-text-primary: var(--d-text-primary);
  --dt-text-secondary: var(--d-text-secondary);
  --dt-text-muted: var(--d-text-muted);
  --dt-text-button: var(--d-text-button);
  --dt-text-link: var(--d-text-link);
  --dt-text-action: var(--d-text-action);
  --dt-text-config: var(--d-text-config);
  --dt-border-primary: var(--d-border-primary);
  --dt-border-secondary: var(--d-border-secondary);
  --dt-border-dashed: var(--d-border-dashed);
  --dt-border-input: var(--d-border-input);
  --dt-border-timeline: var(--d-text-secondary);
  --dt-border-timeline-dash: var(--d-text-muted);
  --dt-status-connected: var(--d-status-connected);
  --dt-status-disconnected: var(--d-status-disconnected);
  --dt-status-first: var(--d-status-first);
  --dt-timeline-dot-bg: var(--d-bg-primary);
  --dt-timeline-dot-border: var(--d-text-secondary);
  --dt-timeline-dot-first-bg: var(--d-status-first);
  --dt-timeline-dot-first-border: var(--d-status-first);
  --dt-timeline-connector: var(--d-text-muted);
  --dt-btn-primary-bg: var(--d-btn-primary-bg);
  --dt-btn-primary-text: var(--d-btn-primary-text);
  --dt-btn-outlined-border: var(--d-btn-outlined-border);
  --dt-btn-outlined-text: var(--d-btn-outlined-text);
  --dt-btn-discard-text: var(--d-btn-discard-text);
  --dt-icon-primary: var(--d-icon-primary);
  --dt-icon-secondary: var(--d-icon-secondary);
  --dt-icon-action: var(--d-icon-action);
  --dt-form-label: var(--d-form-label);
  --dt-form-link: var(--d-form-link);
  --dt-form-input-border: var(--d-form-input-border);
  --dt-divider: var(--d-divider);
  --dt-separator: var(--d-separator);
  --dt-shadow-light: var(--d-shadow-light);
  --dt-shadow-medium: var(--d-shadow-medium);
  --dt-shadow-heavy: var(--d-shadow-heavy);
  --sw-bg-primary: var(--d-bg-primary);
  --sw-bg-card: var(--d-bg-secondary);
  --sw-bg-chip: var(--d-bg-chip);
  --sw-text-primary: var(--d-text-primary);
  --sw-text-secondary: var(--d-text-secondary);
  --sw-bg-secondary: var(--d-bg-secondary);
  --sw-text-link: var(--d-text-link);
  --sw-text-action: var(--d-text-action-alt);
  --sw-text-remove: var(--d-text-remove);
  --sw-border-primary: var(--d-border-primary);
  --sw-border-secondary: var(--d-border-secondary);
  --sw-border-remove: var(--d-border-remove);
  --sw-status-connected: var(--d-status-connected);
  --sw-status-disconnected: var(--d-status-disconnected);
  --sw-btn-primary-bg: var(--d-btn-primary-bg);
  --sw-btn-primary-text: var(--d-btn-primary-text);
  --gs-bg-primary: var(--d-bg-primary);
  --gs-bg-tab: var(--d-bg-tab);
  --gs-bg-tab-active: var(--d-bg-tab-active);
  --gs-text-primary: var(--d-text-primary);
  --gs-text-secondary: var(--d-text-secondary);
  --gs-text-link: var(--d-text-link);
  --gs-text-action: var(--d-text-action-alt);
  --gs-text-remove: var(--d-text-remove);
  --gs-text-tab-active: var(--d-text-tab-active);
  --gs-border-secondary: var(--d-border-secondary);
  --gs-border-remove: var(--d-border-remove);
  --gs-border-tab-active: var(--d-border-tab-active);
  --gs-status-connected: var(--d-status-connected);
  --gs-status-disconnected: var(--d-status-disconnected);
  --gs-bg-secondary: var(--d-bg-secondary);
  --pd-bg-primary: var(--d-bg-primary);
  --pd-bg-chip: var(--d-bg-secondary);
  --pd-bg-button: var(--d-bg-tab);
  --pd-text-primary: var(--d-text-primary);
  --pd-text-secondary: var(--d-text-secondary);
  --pd-text-button: var(--d-bg-tab-active);
  --pd-border-primary: var(--d-border-primary);
  --cd-bg-primary: var(--d-bg-primary);
  --cd-bg-secondary: var(--d-bg-secondary);
  --cd-bg-chip: var(--d-bg-chip);
  --cd-bg-action: var(--d-bg-action);
  --cd-text-primary: var(--d-text-primary);
  --cd-text-secondary: var(--d-text-secondary);
  --cd-text-button: var(--d-text-link);
  --cd-border-primary: var(--d-border-primary);
  --cd-status-connected: var(--d-status-connected);
  --cd-status-disconnected: var(--d-status-disconnected);
  --cd-status-chip-connected: var(--d-status-connected);
  --cd-status-chip-disconnected: var(--d-status-disconnected);
  --cp-bg-page: #f5f5f5;
  --cp-bg-surface: #ffffff;
  --cp-bg-surface-secondary: #f5f5f5;
  --cp-bg-placeholder: #e0e0e0;
  --cp-bg-placeholder-alt: #eceff4;
  --cp-text-primary: #1e1e1e;
  --cp-text-secondary: #494949;
  --cp-text-body: #333333;
  --cp-text-muted: #666666;
  --cp-text-empty: #9e9e9e;
  --cp-text-timeline-label: #97a0af;
  --cp-text-timeline-date: #5d6473;
  --cp-border-primary: #e0e0e0;
  --cp-border-timeline: #e4e7ee;
  --cp-border-track: #cfd4df;
  --cp-border-grid: #b9c1d0;
  --cp-rail-line: #dde1e9;
  --cp-timeline-surface: #ffffff;
  --cp-zoom-icon: #9aa0ad;
  --cp-zoom-rail: #dde1e9;
  --cp-scrollbar-thumb: rgba(130, 139, 155, 0.35);
  --cp-tick-major: #c4cad5;
  --cp-ruler-bg: #ffffff;
  --cp-ruler-tick-unselected: rgba(120, 120, 140, 0.55);
  --cp-ruler-tick-short-unselected: rgba(120, 120, 140, 0.35);
  --cp-ruler-label-unselected: rgba(120, 120, 140, 0.75);
  --cp-hover-bg: rgba(0, 0, 0, 0.04);
  --cp-dialog-header-bg: #f5f5f5;
  --cp-input-text: #666666;
  --cp-storage-bar-bg: #e0e0e0;
  --cp-slider-rail: #e0e0e0;
  --cp-thumbnail-bg: #f5f5f5;
  --cp-clip-placeholder-text: #7a8192;
  --cp-clip-loading-text: #6f7785;
  --cp-timeline-ruler-tick: #999999;
  --cp-timeline-ruler-label: #666666;
  --cp-preset-border: #e0e0e0;
  --cp-preset-text: #666666;
  --cp-dialog-border: rgba(0, 0, 0, 0.12);
}

[data-theme=dark] {
  --d-bg-primary: #1a1a1a;
  --d-bg-secondary: #2d2d2d;
  --d-bg-chip: #3c4043;
  --d-bg-button: #3c4043;
  --d-bg-button-hover: rgba(255, 255, 255, 0.1);
  --d-bg-overlay: rgba(0, 0, 0, 0.8);
  --d-text-primary: #e8eaed;
  --d-text-secondary: #9aa0a6;
  --d-text-muted: #5f6368;
  --d-text-button: #e8eaed;
  --d-text-link: #8ab4f8;
  --d-text-action: #81c995;
  --d-text-remove: #f28b82;
  --d-text-config: #f28b82;
  --d-border-primary: #3c4043;
  --d-border-secondary: #5f6368;
  --d-border-dashed: #5f6368;
  --d-border-input: rgba(255, 255, 255, 0.23);
  --d-border-remove: #5f6368;
  --d-status-connected: #81c995;
  --d-status-disconnected: #f28b82;
  --d-status-first: #8ab4f8;
  --d-btn-primary-bg: #8ab4f8;
  --d-btn-primary-text: #1a1a1a;
  --d-btn-outlined-border: #8ab4f8;
  --d-btn-outlined-text: #8ab4f8;
  --d-btn-discard-text: #e8eaed;
  --d-icon-primary: #e8eaed;
  --d-icon-secondary: #9aa0a6;
  --d-icon-action: #81c995;
  --d-form-label: #e8eaed;
  --d-form-link: #8ab4f8;
  --d-form-input-border: rgba(255, 255, 255, 0.23);
  --d-divider: #5f6368;
  --d-separator: #3c4043;
  --d-shadow-light: rgba(0, 0, 0, 0.3);
  --d-shadow-medium: rgba(0, 0, 0, 0.5);
  --d-shadow-heavy: rgba(0, 0, 0, 0.7);
  --d-bg-tab: #2d2d2d;
  --d-bg-tab-active: #fbbc04;
  --d-text-tab-active: #fbbc04;
  --d-border-tab-active: #fbbc04;
  --d-bg-action: rgba(0, 0, 0, 0.8);
  --d-text-action-alt: #f28b82;
  --dt-bg-primary: var(--d-bg-primary);
  --dt-bg-secondary: var(--d-bg-secondary);
  --dt-bg-overlay: var(--d-bg-overlay);
  --dt-bg-button: var(--d-bg-button);
  --dt-bg-button-hover: var(--d-bg-button-hover);
  --dt-text-primary: var(--d-text-primary);
  --dt-text-secondary: var(--d-text-secondary);
  --dt-text-muted: var(--d-text-muted);
  --dt-text-button: var(--d-text-button);
  --dt-text-link: var(--d-text-link);
  --dt-text-action: var(--d-text-action);
  --dt-text-config: var(--d-text-config);
  --dt-border-primary: var(--d-border-primary);
  --dt-border-secondary: var(--d-border-secondary);
  --dt-border-dashed: var(--d-border-dashed);
  --dt-border-input: var(--d-border-input);
  --dt-border-timeline: var(--d-text-secondary);
  --dt-border-timeline-dash: var(--d-text-muted);
  --dt-status-connected: var(--d-status-connected);
  --dt-status-disconnected: var(--d-status-disconnected);
  --dt-status-first: var(--d-status-first);
  --dt-timeline-dot-bg: var(--d-bg-primary);
  --dt-timeline-dot-border: var(--d-text-secondary);
  --dt-timeline-dot-first-bg: var(--d-status-first);
  --dt-timeline-dot-first-border: var(--d-status-first);
  --dt-timeline-connector: var(--d-text-muted);
  --dt-btn-primary-bg: var(--d-btn-primary-bg);
  --dt-btn-primary-text: var(--d-btn-primary-text);
  --dt-btn-outlined-border: var(--d-btn-outlined-border);
  --dt-btn-outlined-text: var(--d-btn-outlined-text);
  --dt-btn-discard-text: var(--d-btn-discard-text);
  --dt-icon-primary: var(--d-icon-primary);
  --dt-icon-secondary: var(--d-icon-secondary);
  --dt-icon-action: var(--d-icon-action);
  --dt-form-label: var(--d-form-label);
  --dt-form-link: var(--d-form-link);
  --dt-form-input-border: var(--d-form-input-border);
  --dt-divider: var(--d-divider);
  --dt-separator: var(--d-separator);
  --dt-shadow-light: var(--d-shadow-light);
  --dt-shadow-medium: var(--d-shadow-medium);
  --dt-shadow-heavy: var(--d-shadow-heavy);
  --sw-bg-primary: var(--d-bg-primary);
  --sw-bg-secondary: var(--d-bg-secondary);
  --sw-bg-card: var(--d-bg-secondary);
  --sw-bg-chip: var(--d-bg-chip);
  --sw-text-primary: var(--d-text-primary);
  --sw-text-secondary: var(--d-text-secondary);
  --sw-text-link: var(--d-text-link);
  --sw-text-action: var(--d-text-action-alt);
  --sw-text-remove: var(--d-text-remove);
  --sw-border-primary: var(--d-border-primary);
  --sw-border-secondary: var(--d-border-secondary);
  --sw-border-remove: var(--d-border-remove);
  --sw-status-connected: var(--d-status-connected);
  --sw-status-disconnected: var(--d-status-disconnected);
  --sw-btn-primary-bg: var(--d-btn-primary-bg);
  --sw-btn-primary-text: var(--d-btn-primary-text);
  --gs-bg-primary: var(--d-bg-primary);
  --gs-bg-tab: var(--d-bg-tab);
  --gs-bg-tab-active: var(--d-bg-tab-active);
  --gs-text-primary: var(--d-text-primary);
  --gs-text-secondary: var(--d-text-secondary);
  --gs-text-link: var(--d-text-link);
  --gs-text-action: var(--d-text-action-alt);
  --gs-text-remove: var(--d-text-remove);
  --gs-text-tab-active: var(--d-text-tab-active);
  --gs-border-secondary: var(--d-border-secondary);
  --gs-border-remove: var(--d-border-remove);
  --gs-border-tab-active: var(--d-border-tab-active);
  --gs-status-connected: var(--d-status-connected);
  --gs-status-disconnected: var(--d-status-disconnected);
  --gs-bg-secondary: var(--d-bg-secondary);
  --pd-bg-primary: var(--d-bg-primary);
  --pd-bg-chip: var(--d-bg-secondary);
  --pd-bg-button: var(--d-bg-tab);
  --pd-text-primary: var(--d-text-primary);
  --pd-text-secondary: var(--d-text-secondary);
  --pd-text-button: var(--d-bg-tab-active);
  --pd-border-primary: var(--d-border-primary);
  --cd-bg-primary: var(--d-bg-primary);
  --cd-bg-secondary: var(--d-bg-secondary);
  --cd-bg-chip: var(--d-bg-chip);
  --cd-bg-action: var(--d-bg-action);
  --cd-text-primary: var(--d-text-primary);
  --cd-text-secondary: var(--d-text-secondary);
  --cd-text-button: var(--d-text-link);
  --cd-border-primary: var(--d-border-primary);
  --cd-status-connected: var(--d-status-connected);
  --cd-status-disconnected: var(--d-status-disconnected);
  --cd-status-chip-connected: var(--d-status-connected);
  --cd-status-chip-disconnected: var(--d-status-disconnected);
  --cp-bg-page: #121212;
  --cp-bg-surface: #1e1e1e;
  --cp-bg-surface-secondary: #2a2a2a;
  --cp-bg-placeholder: #3c4043;
  --cp-bg-placeholder-alt: #2d2d2d;
  --cp-text-primary: #e8eaed;
  --cp-text-secondary: #9aa0a6;
  --cp-text-body: #c8cad0;
  --cp-text-muted: #9aa0a6;
  --cp-text-empty: #6f7785;
  --cp-text-timeline-label: #7a8192;
  --cp-text-timeline-date: #9aa0a6;
  --cp-border-primary: #3c4043;
  --cp-border-timeline: #3c4043;
  --cp-border-track: #4a4e57;
  --cp-border-grid: #4a4e57;
  --cp-rail-line: #3c4043;
  --cp-timeline-surface: #1e1e1e;
  --cp-zoom-icon: #7a8192;
  --cp-zoom-rail: #3c4043;
  --cp-scrollbar-thumb: rgba(200, 200, 220, 0.25);
  --cp-tick-major: #4a4e57;
  --cp-ruler-bg: #1e1e1e;
  --cp-ruler-tick-unselected: rgba(200, 200, 220, 0.4);
  --cp-ruler-tick-short-unselected: rgba(200, 200, 220, 0.25);
  --cp-ruler-label-unselected: rgba(200, 200, 220, 0.6);
  --cp-hover-bg: rgba(255, 255, 255, 0.08);
  --cp-dialog-header-bg: #2a2a2a;
  --cp-input-text: #9aa0a6;
  --cp-storage-bar-bg: #3c4043;
  --cp-slider-rail: #3c4043;
  --cp-thumbnail-bg: #2a2a2a;
  --cp-clip-placeholder-text: #7a8192;
  --cp-clip-loading-text: #7a8192;
  --cp-timeline-ruler-tick: #5f6368;
  --cp-timeline-ruler-label: #9aa0a6;
  --cp-preset-border: #3c4043;
  --cp-preset-text: #9aa0a6;
  --cp-dialog-border: rgba(255, 255, 255, 0.12);
}

/**
 * 🎨 CSS COLOR NAMING CONVENTION
 * Format: --<feature>-color-<role>-<state?>
 *
 * ✅ feature: Component or context where the color is used
 *    - global: for global variables
 *    - button, input, card, navbar, sidebar, dialog, toast, alert...
 *
 * ✅ role: The purpose or function of the color
 *    - bg        → background color
 *    - text      → text or label color
 *    - border    → border or outline color
 *    - icon      → icon fill or stroke color
 *    - shadow    → box-shadow color
 *    - overlay   → overlay or backdrop color
 *
 * 🔹 <state> (optional)
 *    Represents the variant, tone, or interaction state of the color.
 *
 *    🧩 Semantic & variant states:
 *      - primary: main brand or key color
 *      - secondary: supporting color
 *      - accent: highlight or emphasis color
 *      - neutral: gray or neutral tone
 *
 *    🖱 Interaction states:
 *      - hover: when hovered
 *      - active: when clicked or selected
 *      - focus: when focused
 *      - disabled: when unavailable
 *
 *    ⚠️ Semantic meaning states:
 *      - error: for errors or failures (red)
 *      - success: for completed or positive actions (green)
 *      - warning: for cautionary actions (orange/yellow)
 *      - info: for general information (blue)
 *
 *    🌗 Tone or theme states:
 *      - light: lighter variant (for light mode or highlight)
 *      - dark: darker variant (for dark mode or shadow)
 *      - inverse: used when background/text contrast is inverted
 *
 * 💡 Examples:
 *    --global-color-bg-primary: var(--color-white);
 *    --global-color-text-primary: var(--color-gray-850);
 *    --button-color-bg-hover: var(--color-orange-400);
 *    --input-color-border-error: var(--color-red-400);
 *    --dialog-color-overlay-dark: var(--color-overlay-dark);
 */
:root {
  --global-color-border-primary: var(--color-gray-200);
  --global-color-bg-primary: var(--color-white);
  --global-color-text-primary: var(--color-gray-850);
  --global-color-scrollbar-track: var(--color-gray-100);
  --global-color-scrollbar-thumb: var(--color-gray-400);
  --global-color-card-bg-primary: var(--color-white);
  --left-nav-color-text-category: var(--color-gray-675);
  --left-nav-color-text-default: var(--color-gray-850);
  --left-nav-color-bg-default: var(--color-white);
  --left-nav-color-bg-active: var(--color-orange-50);
  --left-nav-color-text-active: var(--color-orange-500);
  --project-select-color-text-title: var(--color-gray-700);
  --project-select-color-text-default: var(--color-gray-875);
  --left-nav-color-text-account: var(--color-dark-600);
  --left-nav-color-bg-account-hover: var(--color-gray-200);
  --left-nav-color-scroll-thumb: var(--color-gray-400);
  --project-select-color-text-default: var(--color-gray-800);
  --notification-color-bg-count: var(--color-red-400);
  --account-setting-color-text-danger: var(--color-red-400);
  --account-setting-color-bg-default: var(--color-white);
  --switch-theme-color-bg-default: var(--color-gray-200);
  --switch-theme-color-bg-slider: var(--color-white);
  --page-header-title-color: var(--color-gray-875);
  --left-nav-submenu-color-border-default: var(--color-gray-350);
  --left-nav-submenu-color-border-active: var(--color-orange-500);
  --page-color-bg-default: var(--color-white);
  --page-color-bg-secondary: var(--color-gray-50);
  --box-color-bg-default: var(--color-white);
  --box-color-bg-default-2: var(--color-white);
  --page-color-text-default: var(--color-dark-525);
  --page-color-text-secondary: var(--color-white);
  --page-color-text-tertiary: var(--color-dark-400);
  --page-color-text-active: var(--color-dark-500);
  --page-color-border-default: var(--color-gray-250);
  --page-color-shadow-default: var(--color-gray-150);
  --box-color-bg-secondary: var(--color-gray-30);
  --date-color-bg-default: var(--color-white);
  --date-color-bg-surface: var(--color-gray-45);
  --date-color-border-default: var(--color-gray-225);
  --date-color-text-default: var(--color-dark-550);
  --date-color-text-default-active: var(--color-overlay-gray);
  --date-color-text-secondary: var(--color-gray-515);
  --date-color-bg-hover: var(--color-gray-40);
  --date-color-accent-primary: var(--color-orange-400);
  --date-color-text-disabled: var(--color-gray-450);
  --color-date-bg: var(--color-white);
  --date-color-bg-button: var(--color-dark-525);
  --date-color-bg-range: var(--color-gray-800);
  --table-color-bg-default: var(--color-gray-50);
  --table-color-bg-default-2: var(--color-white);
  --table-color-bg-tertiary: var(--color-gray-200);
  --table-color-text-default: var(--color-gray-275);
  --table-color-bg-hover: var(--color-gray-100);
  --table-column-text-color: var(--color-gray-200);
  --tabs-color-border-active: var(--color-blue-500);
  --smartwatch-color-input-bg: var(--color-gray-35);
  --smartwatch-color-overview-text: var(--color-gray-50);
  --smartwatch-color-overview-tab-bg: var(--color-gray-90);
  --button-color-bg-cancel: var(--color-gray-200);
  --button-color-bg-cancel-hover: var(--color-gray-250);
  --button-color-bg-outline-primary: var(--color-orange-100);
  --button-color-bg-outline-primary-hover: var(--color-orange-150);
  --text-color-required: var(--color-red-400);
  --text-color-default: var(--color-gray-950);
  --text-color-secondary: var(--gray-3);
  --camera-color-box-bg: var(--color-gray-50);
  --camera-color-box-engine-bg: var(--color-gray-350);
  --live-view-color-box-bg: var(--color-white);
  --permit-color-text-default: var(--color-gray-800);
  --permit-status-count-bg: var(--color-gray-125);
  --ios-switch-color-track: var(--color-gray-375);
  --analytics-color-bg-default: var(--color-gray-100);
  --video-detection-track-progress-color-bg-default: var(--color-white);
  --video-detection-progress-color-bg-completed: var(--color-mint-bg);
  --video-detection-progress-color-text-completed: var(--color-mint-500);
  --notification-bell-color-bg-default: var(--color-gray-250);
  --notification-bell-color-text-default: var(--color-gray-425);
  --rb-color-bg-default: var(--color-white);
  --rb-color-bg-secondary: var(--color-gray-50);
  --rb-color-bg-tertiary: var(--color-gray-125);
  --rb-color-bg-hover: var(--color-gray-100);
  --rb-color-text-heading: var(--color-dark-400);
  --rb-color-text-primary: var(--color-gray-850);
  --rb-color-text-secondary: var(--color-gray-700);
  --rb-color-text-muted: var(--color-gray-675);
  --rb-color-text-disabled: var(--color-gray-600);
  --rb-color-border-default: var(--color-gray-200);
  --rb-color-border-strong: var(--color-gray-400);
  --rb-color-border-subtle: var(--color-gray-350);
  --ai-agents-color-bg-page: var(--color-white);
  --ai-agents-color-text-heading: #1a1a2e;
  --ai-agents-color-text-error: #e74c3c;
  --ai-agents-color-text-empty: #999;
  --ai-agents-color-bg-card: var(--color-white);
  --ai-agents-color-border-card: #eee;
  --ai-agents-color-shadow-card: rgba(0, 0, 0, 0.08);
  --ai-agents-color-shadow-card-hover: rgba(0, 0, 0, 0.12);
  --ai-agents-color-text-name: #1a1a2e;
  --ai-agents-color-text-model: #888;
  --ai-agents-color-text-description: #555;
  --ai-agents-color-border-footer: #f0f0f0;
  --ai-agents-color-bg-status-active: #e6f7ed;
  --ai-agents-color-bg-status-inactive: #fef3e6;
  --ai-agents-color-text-meta: #aaa;
  --ai-agents-color-bg-tag: #f0f2f5;
  --ai-agents-color-text-tag: #666;
  --agent-chat-color-bg-page: #f7f8fa;
  --agent-chat-color-bg-header: var(--color-white);
  --agent-chat-color-border: #eee;
  --agent-chat-color-text-name: #1a1a2e;
  --agent-chat-color-text-meta: #888;
  --agent-chat-color-text-divider: #ccc;
  --agent-chat-color-text-empty: #999;
  --agent-chat-color-bg-sidebar: var(--color-white);
  --agent-chat-color-text-sidebar-header: #666;
  --agent-chat-color-border-sidebar-item: #f5f5f5;
  --agent-chat-color-bg-sidebar-hover: #f7f8fa;
  --agent-chat-color-bg-sidebar-active: #eef2ff;
  --agent-chat-color-border-sidebar-active: #4a6cf7;
  --agent-chat-color-text-sidebar-title: #1a1a2e;
  --agent-chat-color-text-sidebar-preview: #999;
  --agent-chat-color-text-sidebar-meta: #bbb;
  --agent-chat-color-bg-bubble-user: #4a6cf7;
  --agent-chat-color-text-bubble-user: var(--color-white);
  --agent-chat-color-bg-bubble-assistant: var(--color-white);
  --agent-chat-color-text-bubble-assistant: #333;
  --agent-chat-color-shadow-bubble: rgba(0, 0, 0, 0.06);
  --agent-chat-color-text-error: #e74c3c;
  --agent-chat-color-bg-error-banner: #fef2f2;
  --agent-chat-color-border-error-banner: #fecaca;
  --agent-chat-color-bg-input: var(--color-white);
  --agent-chat-color-border-input: #ddd;
  --agent-chat-color-border-input-focus: #4a6cf7;
  --agent-chat-color-bg-input-disabled: #f5f5f5;
  --agent-chat-color-thinking-dot: #bbb;
  --agent-chat-color-bg-rename-input-border: #4a6cf7;
  --agent-chat-color-text-delete-confirm: #e74c3c;
  --wc-color-bg-panel: #ffffff;
  --wc-color-bg-surface: #f7f7f8;
  --wc-color-bg-canvas: #f0f0f0;
  --wc-color-border: #eeeef0;
  --wc-color-border-strong: #d0d0d0;
  --wc-color-text-primary: #1c1c20;
  --wc-color-text-secondary: #9091a0;
  --wc-color-text-hint: #888888;
  --wc-color-bg-hover: #f5f5f5;
  --wc-color-bg-row-hover: #fafafa;
  --wc-color-bg-selected: #FFE8E1;
  --wc-color-skeleton-from: #f0f0f0;
  --wc-color-skeleton-to: #e0e0e0;
  --wc-color-status-bg: #f0f0f0;
  --wc-color-input-bg: #ffffff;
  --wc-color-input-border: #d1d1d1;
  --wc-color-btn-bg: #ffffff;
  --wc-color-drag-handle: #c0c0c8;
  --wc-color-table-header-bg: #f7f7f8;
  --wc-color-table-header-text: #5c5d6d;
  --wc-color-icon-default: #1c1c20;
}

/**
 * 🎨 CSS COLOR NAMING CONVENTION
 * Format: --<feature>-color-<role>-<state?>
 *
 * ✅ feature: Component or context where the color is used
 *    - global: for global variables
 *    - button, input, card, navbar, sidebar, dialog, toast, alert...
 *
 * ✅ role: The purpose or function of the color
 *    - bg        → background color
 *    - text      → text or label color
 *    - border    → border or outline color
 *    - icon      → icon fill or stroke color
 *    - shadow    → box-shadow color
 *    - overlay   → overlay or backdrop color
 *
 * 🔹 <state> (optional)
 *    Represents the variant, tone, or interaction state of the color.
 *
 *    🧩 Semantic & variant states:
 *      - primary: main brand or key color
 *      - secondary: supporting color
 *      - accent: highlight or emphasis color
 *      - neutral: gray or neutral tone
 *
 *    🖱 Interaction states:
 *      - hover: when hovered
 *      - active: when clicked or selected
 *      - focus: when focused
 *      - disabled: when unavailable
 *
 *    ⚠️ Semantic meaning states:
 *      - error: for errors or failures (red)
 *      - success: for completed or positive actions (green)
 *      - warning: for cautionary actions (orange/yellow)
 *      - info: for general information (blue)
 *
 *    🌗 Tone or theme states:
 *      - light: lighter variant (for light mode or highlight)
 *      - dark: darker variant (for dark mode or shadow)
 *      - inverse: used when background/text contrast is inverted
 *
 * 💡 Examples:
 *    --global-color-bg-primary: var(--color-white);
 *    --global-color-text-primary: var(--color-gray-850);
 *    --button-color-bg-hover: var(--color-orange-400);
 *    --input-color-border-error: var(--color-red-400);
 *    --dialog-color-overlay-dark: var(--color-overlay-dark);
 */
html[data-theme=dark] {
  --global-color-border-primary: var(--color-gray-900);
  --global-color-border-secondary: var(--color-gray-475);
  --global-color-bg-primary: var(--color-dark-450);
  --global-color-text-primary: var(--color-gray-350);
  --global-color-scrollbar-track: var(--color-dark-100);
  --global-color-scrollbar-thumb: var(--color-gray-600);
  --global-color-card-bg-primary: var(--color-black-200);
  --left-nav-color-text-category: var(--color-gray-600);
  --left-nav-color-text-default: var(--color-gray-300);
  --left-nav-color-bg-default: var(--color-dark-400);
  --left-nav-color-bg-active: var(--color-dark-150);
  --left-nav-color-text-active: var(--color-orange-500);
  --left-nav-color-text-account: var(--color-white);
  --left-nav-color-bg-account-hover: var(--color-dark-150);
  --left-nav-color-scroll-thumb: var(--color-gray-600);
  --project-select-color-text-default: var(--color-gray-50);
  --project-select-color-text-title: var(--color-gray-600);
  --notification-color-bg-count: var(--color-red-400);
  --account-setting-color-text-danger: var(--color-red-400);
  --account-setting-color-bg-default: var(--color-dark-600);
  --switch-theme-color-bg-default: var(--color-gray-850);
  --switch-theme-color-bg-slider: var(--color-gray-675);
  /* LEFT NAV SUBMENU */
  --left-nav-submenu-color-border-default: var(--color-gray-350);
  --left-nav-submenu-color-border-active: var(--color-orange-500);
  /* ========== PAGE ========== */
  --page-color-bg-default: var(--color-dark-400);
  --page-color-bg-secondary: var(--color-black);
  --page-color-border-default: var(--color-gray-900);
  --page-color-shadow-default: var(--color-overlay-dark);
  --page-color-text-default: var(--color-gray-350);
  --page-color-text-secondary: var(--color-gray-200);
  --page-color-text-tertiary: var(--color-white);
  --page-color-text-active: var(--color-white);
  /* ========== BOX ========== */
  --box-color-bg-default: var(--color-dark-350);
  --box-color-bg-secondary: var(--color-gray-825);
  --box-color-bg-default-2: var(--color-gray-700);
  --date-color-bg-default: var(--color-dark-300);
  --date-color-bg-surface: var(--color-dark-200);
  --date-color-border-default: var(--color-gray-425);
  --date-color-text-default: var(--color-gray-35);
  --date-color-text-secondary: var(--color-gray-550);
  --date-color-bg-hover: var(--color-dark-90);
  --date-color-accent-primary: var(--color-orange-400);
  --date-color-text-disabled: var(--color-gray-515);
  --color-date-bg: var(--color-dark-300);
  --date-color-bg-button: var(--color-gray-200);
  --date-color-bg-range: var(--color-gray-800);
  --text-color-required: var(--color-red-400);
  --text-color-default: var(--color-white);
  --text-color-secondary: var(--color-white);
  --icon-color-default: var(--color-white);
  --table-color-bg-default: var(--color-dark-250);
  --table-color-bg-default-2: var(--color-dark-350);
  --table-color-bg-tertiary: var(--color-gray-825);
  --table-color-text-default: var(--color-gray-600);
  --table-color-bg-hover: var(--color-dark-600);
  --table-column-text-color: var(--color-white);
  --tabs-color-border-active: var(--color-orange-500);
  --smartwatch-color-input-bg: var(--color-gray-550);
  --smartwatch-color-overview-text: var(--color-gray-50);
  --smartwatch-color-overview-tab-bg: var(--color-gray-700);
  --button-color-bg-cancel: var(--color-gray-535);
  --button-color-bg-cancel-hover: var(--color-gray-600);
  --button-color-bg-default: var(--color-dark-700);
  --button-color-text-default: var(--color-white);
  --checkbox-color-selected: var(--color-orange-500);
  --toggle-switch-color-selected: var(--color-orange-500);
  --button-color-bg-outline-primary: var(--color-brown-700);
  --button-color-bg-outline-primary-hover: var(--color-brown-800);
  --input-color-border-default: var(--color-gray-850);
  --camera-color-box-bg: var(--color-dark-250);
  --camera-color-box-engine-bg: var(--color-gray-425);
  --live-view-color-box-bg: var(--color-gray-850);
  --permit-color-text-default: var(--color-gray-350);
  --permit-select-template-color-text-default: var(--color-white);
  --permit-color-text-secondary: var(--color-gray-500);
  --permit-select-template-color-bg-hover: var(--color-dark-700);
  --permit-detail-section-bg: var(--color-dark-400);
  --permit-control-hover-bg: var(--color-dark-400);
  --permit-color-tab-text-active: var(--color-white);
  --permit-status-count-bg: var(--color-dark-250);
  --permit-status-count-text-default: var(--color-white);
  --permit-location-color-text: var(--color-gray-500);
  --permit-template-section-bg: var(--color-dark-250);
  --permit-template-switch-checked-color: var(--color-orange-400);
  --permit-template-status-chip-bg: var(--color-dark-700);
  --ios-switch-color-track: var(--color-gray-535);
  --toggle-switch-color-selected: var(--color-orange-500);
  --analytics-color-bg-default: var(--color-black-300);
  --sw-legend-bg-color: var(--color-dark-600);
  --sw-legend-text-label-color: var(--color-gray-200);
  --sw-legend-text-value-color: var(--color-white);
  --sw-select-bg-color: var(--color-transparent);
  --camera-color-engine-bg: var(--color-dark-600);
  --camera-color-engine-text-label: var(--color-gray-200);
  --camera-color-engine-text-value: var(--color-white);
  --smart-lock-status-bg-color: var(--color-dark-600);
  --smart-lock-status-text-color: var(--color-gray-200);
  --analytic-card-color-bg-default: var(--color-dark-400);
  --digital-tracking-count-bg-default: var(--color-dark-250);
  --digital-tracking-count-border-default: var(--color-gray-900);
  --digital-tracking-attachment-bg-color: var(--color-dark-600);
  --gas-sensor-color-box-bg: var(--color-dark-600);
  --video-detection-track-progress-color-bg-default: var(--color-gray-500);
  --video-detection-progress-color-bg-completed: var(--color-gray-825);
  --video-detection-progress-color-text-completed: var(--color-white);
  --smart-gate-status-chip-bg: var(--color-dark-700);
  --notification-bell-color-bg-default: var(--color-gray-825);
  --notification-bell-color-text-default: var(--color-gray-40);
  --rb-color-bg-default: var(--color-black-300);
  --rb-color-bg-secondary: var(--color-black-300);
  --rb-color-bg-tertiary: var(--color-dark-600);
  --rb-color-bg-hover: var(--color-dark-600);
  --rb-color-text-heading: var(--color-gray-300);
  --rb-color-text-primary: var(--color-gray-500);
  --rb-color-text-secondary: var(--color-gray-600);
  --rb-color-text-muted: var(--color-gray-600);
  --rb-color-text-disabled: var(--color-gray-650);
  --rb-color-border-default: var(--color-gray-900);
  --rb-color-border-strong: var(--color-gray-825);
  --rb-color-border-subtle: var(--color-gray-825);
  --rb-color-bg-card: var(--page-color-bg-default);
  --rb-color-bg-toolbar: var(--color-dark-600);
  --ai-agents-color-bg-page: var(--color-dark-400);
  --ai-agents-color-text-heading: var(--color-gray-200);
  --ai-agents-color-text-error: var(--color-red-400);
  --ai-agents-color-text-empty: var(--color-gray-600);
  --ai-agents-color-bg-card: var(--color-dark-350);
  --ai-agents-color-border-card: var(--color-gray-900);
  --ai-agents-color-shadow-card: rgba(0, 0, 0, 0.2);
  --ai-agents-color-shadow-card-hover: rgba(0, 0, 0, 0.35);
  --ai-agents-color-text-name: var(--color-gray-200);
  --ai-agents-color-text-model: var(--color-gray-600);
  --ai-agents-color-text-description: var(--color-gray-500);
  --ai-agents-color-border-footer: var(--color-gray-900);
  --ai-agents-color-bg-status-active: rgba(39, 174, 96, 0.15);
  --ai-agents-color-bg-status-inactive: rgba(243, 156, 18, 0.15);
  --ai-agents-color-text-meta: var(--color-gray-600);
  --ai-agents-color-bg-tag: var(--color-dark-600);
  --ai-agents-color-text-tag: var(--color-gray-500);
  --agent-chat-color-bg-page: var(--color-dark-450);
  --agent-chat-color-bg-header: var(--color-dark-350);
  --agent-chat-color-border: var(--color-gray-900);
  --agent-chat-color-text-name: var(--color-gray-200);
  --agent-chat-color-text-meta: var(--color-gray-600);
  --agent-chat-color-text-divider: var(--color-gray-825);
  --agent-chat-color-text-empty: var(--color-gray-600);
  --agent-chat-color-bg-sidebar: var(--color-dark-350);
  --agent-chat-color-text-sidebar-header: var(--color-gray-600);
  --agent-chat-color-border-sidebar-item: var(--color-gray-900);
  --agent-chat-color-bg-sidebar-hover: var(--color-dark-400);
  --agent-chat-color-bg-sidebar-active: rgba(74, 108, 247, 0.1);
  --agent-chat-color-border-sidebar-active: #4a6cf7;
  --agent-chat-color-text-sidebar-title: var(--color-gray-200);
  --agent-chat-color-text-sidebar-preview: var(--color-gray-600);
  --agent-chat-color-text-sidebar-meta: var(--color-gray-700);
  --agent-chat-color-bg-bubble-user: #4a6cf7;
  --agent-chat-color-text-bubble-user: var(--color-white);
  --agent-chat-color-bg-bubble-assistant: var(--color-dark-350);
  --agent-chat-color-text-bubble-assistant: var(--color-gray-300);
  --agent-chat-color-shadow-bubble: rgba(0, 0, 0, 0.15);
  --agent-chat-color-text-error: var(--color-red-400);
  --agent-chat-color-bg-error-banner: rgba(231, 76, 60, 0.1);
  --agent-chat-color-border-error-banner: rgba(231, 76, 60, 0.25);
  --agent-chat-color-bg-input: var(--color-dark-350);
  --agent-chat-color-border-input: var(--color-gray-825);
  --agent-chat-color-border-input-focus: #4a6cf7;
  --agent-chat-color-bg-input-disabled: var(--color-dark-600);
  --agent-chat-color-thinking-dot: var(--color-gray-600);
  --agent-chat-color-bg-rename-input-border: #4a6cf7;
  --agent-chat-color-text-delete-confirm: var(--color-red-400);
  --wc-color-bg-panel: var(--color-dark-350);
  --wc-color-bg-surface: var(--color-dark-600);
  --wc-color-bg-canvas: var(--color-dark-600);
  --wc-color-border: var(--color-gray-900);
  --wc-color-border-strong: var(--color-gray-800);
  --wc-color-text-primary: var(--color-gray-300);
  --wc-color-text-secondary: var(--color-gray-600);
  --wc-color-text-hint: var(--color-gray-600);
  --wc-color-bg-hover: var(--color-dark-400);
  --wc-color-bg-row-hover: var(--color-dark-400);
  --wc-color-bg-selected: rgba(255, 103, 57, 0.15);
  --wc-color-skeleton-from: var(--color-dark-600);
  --wc-color-skeleton-to: var(--color-dark-400);
  --wc-color-status-bg: var(--color-dark-600);
  --wc-color-input-bg: var(--color-dark-350);
  --wc-color-input-border: var(--color-gray-850);
  --wc-color-btn-bg: var(--color-dark-250);
  --wc-color-drag-handle: var(--color-gray-700);
  --wc-color-table-header-bg: var(--color-dark-600);
  --wc-color-table-header-text: var(--color-gray-600);
  --wc-color-icon-default: var(--color-white);
}
