:root {
  --vtx-header-height: 64px;
  --vtx-sidebar-width: 230px;
  --vtx-logo-width: 116px;
  --vtx-logo-height: 46px;
  --vtx-sidebar-home-height: 48px;
  --vtx-sidebar-section-height: 32px;
  --vtx-sidebar-row-height: 48px;
  --vtx-header-pad-x: 16px;
  --vtx-orange: var(--acc, #f59e0b);
  --vtx-blue: var(--blue, #4a9ac4);
  --vtx-green: var(--grn, #38a86a);
  --vtx-red: var(--red, #e05a44);
  --vtx-surface: var(--surf, #181d25);
  --vtx-bg: var(--bg, #0f1319);
  --vtx-border: var(--bdr, #2a3444);
  --vtx-text: var(--txt, #f8fafc);
  --vtx-muted: var(--mut, #9fb0c7);
  --vtx-heading-font: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --vtx-body-font: "IBM Plex Mono", Consolas, monospace;
  --vtx-header-button-border: 2px;
  --vtx-header-button-bg-mix: 12%;
  --vtx-header-button-hover-mix: 18%;
}

body {
  --vtx-orange: var(--acc, #f59e0b);
  --vtx-blue: var(--blue, #4a9ac4);
  --vtx-green: var(--grn, #38a86a);
  --vtx-red: var(--red, #e05a44);
  --vtx-surface: var(--surf, #181d25);
  --vtx-bg: var(--bg, #0f1319);
  --vtx-border: var(--bdr, #2a3444);
  --vtx-text: var(--txt, #f8fafc);
  --vtx-muted: var(--mut, #9fb0c7);
}

header.vtx-header,
.vtx-header {
  height: var(--vtx-header-height) !important;
  min-height: var(--vtx-header-height) !important;
  max-height: var(--vtx-header-height) !important;
  padding: 0 var(--vtx-header-pad-x) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  background: var(--vtx-surface) !important;
  border-bottom: 1px solid var(--vtx-border) !important;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--vtx-border) 72%, transparent) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

.vtx-header .hdr-logo,
.vtx-header .vtx-logo,
header .hdr-logo,
header .vtx-logo {
  width: var(--vtx-logo-width) !important;
  height: var(--vtx-logo-height) !important;
  max-width: var(--vtx-logo-width) !important;
  max-height: var(--vtx-logo-height) !important;
  object-fit: contain !important;
  display: block !important;
  flex: 0 0 var(--vtx-logo-width) !important;
}

.vtx-title,
.vtx-header h1 {
  font-family: var(--vtx-heading-font) !important;
  font-size: 24px !important;
  line-height: 22px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  color: var(--vtx-text) !important;
  white-space: nowrap !important;
}

.vtx-subtitle,
.vtx-header .subtitle {
  font-family: var(--vtx-body-font) !important;
  font-size: 11px !important;
  line-height: 13px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--vtx-muted) !important;
  white-space: nowrap !important;
}

.vtx-header-actions {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.vtx-account-actions,
.hdr-account-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  width: 78px !important;
  flex: 0 0 78px !important;
}

.vtx-header .hdr-btn,
.vtx-header .hdr-action-btn,
.vtx-header button:not(.hdr-account-btn) {
  min-width: 68px !important;
  height: 30px !important;
  box-sizing: border-box !important;
  border-style: solid !important;
  border-width: var(--vtx-header-button-border) !important;
  padding: 5px 12px !important;
  background: color-mix(in srgb, currentColor var(--vtx-header-button-bg-mix), transparent) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color .14s ease, opacity .14s ease, border-color .14s ease !important;
}

.vtx-header .hdr-action-btn,
.vtx-header .hdr-btn.save,
.vtx-header .hdr-btn.export,
.vtx-header .hdr-btn.import,
.vtx-header .hdr-btn.switch,
.vtx-header .hdr-btn.signout,
.vtx-header .hdr-btn.theme,
.vtx-header .hdr-icon,
.vtx-header .hdr-theme,
.vtx-header .theme,
.vtx-header .btn-icon,
.vtx-header #settingsBtn,
.vtx-header [aria-label="Settings"],
.vtx-header [title="Settings"],
.vtx-header .gear-btn {
  border-color: currentColor !important;
}

.vtx-header .hdr-btn.save {
  color: var(--vtx-orange) !important;
}

.vtx-header .hdr-btn.export {
  color: var(--vtx-green) !important;
}

.vtx-header .hdr-btn.import {
  color: var(--vtx-blue) !important;
}

.vtx-header .hdr-btn.switch {
  color: var(--vtx-blue) !important;
}

.vtx-header .hdr-btn.signout {
  color: var(--vtx-red) !important;
}

.vtx-header .hdr-btn.theme,
.vtx-header .hdr-icon,
.vtx-header .hdr-theme,
.vtx-header .theme,
.vtx-header .btn-icon,
.vtx-header #settingsBtn,
.vtx-header [aria-label="Settings"],
.vtx-header [title="Settings"],
.vtx-header .gear-btn {
  color: #dce6f5 !important;
}

.vtx-header .hdr-btn:hover,
.vtx-header .hdr-action-btn:hover,
.vtx-header button:not(.hdr-account-btn):hover {
  background: color-mix(in srgb, currentColor var(--vtx-header-button-hover-mix), transparent) !important;
  opacity: 1 !important;
}

.vtx-header .hdr-icon,
.vtx-header .hdr-theme,
.vtx-header .theme,
.vtx-header .btn-icon,
.vtx-header #settingsBtn,
.vtx-header [aria-label="Settings"],
.vtx-header [title="Settings"],
.vtx-header .gear-btn {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  flex: 0 0 18px !important;
  height: 18px !important;
  border-width: var(--vtx-header-button-border) !important;
  background: color-mix(in srgb, currentColor var(--vtx-header-button-bg-mix), transparent) !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.vtx-header .sync-status {
  flex: 0 1 clamp(120px, 24vw, 320px) !important;
  max-width: clamp(120px, 24vw, 320px) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.vtx-account-actions button,
.hdr-account-actions button {
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  box-sizing: border-box !important;
  border-style: solid !important;
  border-width: var(--vtx-header-button-border) !important;
  padding: 3px 8px !important;
  font-family: var(--vtx-body-font) !important;
  font-size: 10px !important;
  line-height: 12px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  border-color: currentColor !important;
  background: color-mix(in srgb, currentColor var(--vtx-header-button-bg-mix), transparent) !important;
  box-shadow: none !important;
}

.vtx-shell {
  height: calc(100vh - var(--vtx-header-height)) !important;
  display: grid !important;
  grid-template-columns: var(--vtx-sidebar-width) minmax(0, 1fr) !important;
  min-width: 0 !important;
}

aside.vtx-sidebar,
.vtx-sidebar,
aside.side,
.side {
  width: var(--vtx-sidebar-width) !important;
  min-width: var(--vtx-sidebar-width) !important;
  max-width: var(--vtx-sidebar-width) !important;
  background: var(--vtx-surface) !important;
  border-right: 1px solid var(--vtx-border) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.vtx-sidebar-home,
.side-home,
.aside-home {
  min-height: var(--vtx-sidebar-home-height) !important;
  height: var(--vtx-sidebar-home-height) !important;
  max-height: var(--vtx-sidebar-home-height) !important;
  padding: 9px 14px 9px 11px !important;
  border-left: 3px solid var(--vtx-orange) !important;
  border-bottom: 1px solid var(--vtx-border) !important;
  background: rgba(245, 158, 11, .12) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.vtx-sidebar-home-title,
.side-home-title,
.aside-home-title {
  font-family: var(--vtx-body-font) !important;
  font-size: 13px !important;
  line-height: 16px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--vtx-orange) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.vtx-sidebar-home-sub,
.side-home-sub,
.aside-home-sub {
  display: none !important;
}
.vtx-nav-row,
.vtx-sidebar nav button,
.nav button,
.side-list button,
.employee-list button {
  min-height: var(--vtx-sidebar-row-height) !important;
  height: var(--vtx-sidebar-row-height) !important;
  max-height: var(--vtx-sidebar-row-height) !important;
  padding: 9px 14px 9px 11px !important;
  font-family: var(--vtx-body-font) !important;
  font-size: 13px !important;
  line-height: 16px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 600 !important;
  border-left-width: 3px !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vtx-nav-row > span,
.vtx-sidebar nav button > span,
.nav button > span,
.side-list button > span,
.employee-list button > span {
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.vtx-sidebar-section,
.vtx-sidebar-section-head,
.side-section-head,
.aside-head,
.aside-section-title {
  min-height: var(--vtx-sidebar-section-height) !important;
  box-sizing: border-box !important;
}
.vtx-main {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: auto !important;
}

.vtx-btn-standard {
  height: 30px !important;
  min-width: 68px !important;
  padding: 5px 12px !important;
  font-family: var(--vtx-body-font) !important;
  font-size: 12px !important;
  line-height: 14px !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}

@media (max-width: 720px) {
  header.vtx-header,
  .vtx-header {
    height: auto !important;
    max-height: none !important;
    min-height: var(--vtx-header-height) !important;
    flex-wrap: wrap !important;
    padding: 10px 12px !important;
  }
  .vtx-shell {
    height: auto !important;
    min-height: calc(100vh - var(--vtx-header-height)) !important;
    display: block !important;
  }
  aside.vtx-sidebar,
  .vtx-sidebar,
  aside.side,
  .side {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--vtx-border) !important;
  }
}
