/* [project]/node_modules/leaflet/dist/leaflet.css [app-client] (css) */
.leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer {
  position: absolute;
  top: 0;
  left: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.leaflet-tile::selection {
  background: none;
}

.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

.leaflet-safari .leaflet-tile-container {
  -webkit-transform-origin: 0 0;
  width: 1600px;
  height: 1600px;
}

.leaflet-marker-icon, .leaflet-marker-shadow {
  display: block;
}

.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img, .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer, .leaflet-container .leaflet-tile {
  width: auto;
  padding: 0;
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container img.leaflet-tile {
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: #33b5e566;
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  box-sizing: border-box;
  z-index: 800;
  width: 0;
  height: 0;
}

.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url("#default#VML");
  display: inline-block;
  position: absolute;
}

.leaflet-control {
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
  position: relative;
}

.leaflet-top, .leaflet-bottom {
  z-index: 1000;
  pointer-events: none;
  position: absolute;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity .2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0, 0, .25, 1);
  transition: transform .25s cubic-bezier(0, 0, .25, 1);
}

.leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile {
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair, .leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane, .leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive, svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-container {
  outline-offset: 1px;
  background: #ddd;
}

.leaflet-container a {
  color: #0078a8;
}

.leaflet-zoom-box {
  background: #ffffff80;
  border: 2px dotted #38f;
}

.leaflet-container {
  font-family: Helvetica Neue, Arial, Helvetica, sans-serif;
  font-size: .75rem;
  line-height: 1.5;
}

.leaflet-bar {
  border-radius: 4px;
  box-shadow: 0 1px 5px #000000a6;
}

.leaflet-bar a {
  text-align: center;
  color: #000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-decoration: none;
  display: block;
}

.leaflet-bar a, .leaflet-control-layers-toggle {
  background-position: 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover, .leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom: none;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  color: #bbb;
  background-color: #f4f4f4;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.leaflet-control-zoom-in, .leaflet-control-zoom-out {
  text-indent: 1px;
  font: bold 18px Lucida Console, Monaco, monospace;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

.leaflet-control-layers {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 1px 5px #0006;
}

.leaflet-control-layers-toggle {
  background-image: url("../media/layers.3muxcl8sz6330.png");
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("../media/layers-2x.23wrxu3xxu9-i.png");
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  color: #333;
  background: #fff;
  padding: 6px 10px 6px 6px;
}

.leaflet-control-layers-scrollbar {
  padding-right: 5px;
  overflow: hidden scroll;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  font-size: 1.08333em;
  display: block;
}

.leaflet-control-layers-separator {
  border-top: 1px solid #ddd;
  height: 0;
  margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
  background-image: url("../media/marker-icon.1le94j_pe_ih1.png");
}

.leaflet-container .leaflet-control-attribution {
  background: #fffc;
  margin: 0;
}

.leaflet-control-attribution, .leaflet-control-scale-line {
  color: #333;
  padding: 0 5px;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover, .leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  width: 1em;
  height: .6669em;
  vertical-align: baseline !important;
  display: inline !important;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  white-space: nowrap;
  box-sizing: border-box;
  text-shadow: 1px 1px #fff;
  background: #fffc;
  border: 2px solid #777;
  border-top: none;
  padding: 2px 5px 1px;
  line-height: 1.1;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  background-clip: padding-box;
  border: 2px solid #0003;
}

.leaflet-popup {
  text-align: center;
  margin-bottom: 20px;
  position: absolute;
}

.leaflet-popup-content-wrapper {
  text-align: left;
  border-radius: 12px;
  padding: 1px;
}

.leaflet-popup-content {
  min-height: 1px;
  margin: 13px 24px 13px 20px;
  font-size: 1.08333em;
  line-height: 1.3;
}

.leaflet-popup-content p {
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  pointer-events: none;
  width: 40px;
  height: 20px;
  margin-top: -1px;
  margin-left: -20px;
  position: absolute;
  left: 50%;
  overflow: hidden;
}

.leaflet-popup-tip {
  pointer-events: auto;
  width: 17px;
  height: 17px;
  margin: -10px auto 0;
  padding: 1px;
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  color: #333;
  background: #fff;
  box-shadow: 0 3px 14px #0006;
}

.leaflet-container a.leaflet-popup-close-button {
  text-align: center;
  color: #757575;
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  font: 16px / 24px Tahoma, Verdana, sans-serif;
  text-decoration: none;
  position: absolute;
  top: 0;
  right: 0;
}

.leaflet-container a.leaflet-popup-close-button:hover, .leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  width: 24px;
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);
  margin: 0 auto;
}

.leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

.leaflet-tooltip {
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 6px;
  position: absolute;
  box-shadow: 0 1px 3px #0006;
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  pointer-events: none;
  content: "";
  background: none;
  border: 6px solid #0000;
  position: absolute;
}

.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before {
  margin-left: -6px;
  left: 50%;
}

.leaflet-tooltip-top:before {
  border-top-color: #fff;
  margin-bottom: -12px;
  bottom: 0;
}

.leaflet-tooltip-bottom:before {
  border-bottom-color: #fff;
  margin-top: -12px;
  margin-left: -6px;
  top: 0;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  margin-top: -6px;
  top: 50%;
}

.leaflet-tooltip-left:before {
  border-left-color: #fff;
  margin-right: -12px;
  right: 0;
}

.leaflet-tooltip-right:before {
  border-right-color: #fff;
  margin-left: -12px;
  left: 0;
}

@media print {
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* [project]/src/app/globals.css [app-client] (css) */
:root {
  --ink: #11110f;
  --muted: #6d6b67;
  --line: #e9e6df;
  --gold: #c58a24;
  --gold-light: #f3c85a;
  --cream: #f7f6f3;
  --surface: #fff;
  --surface-soft: #faf9f7;
}

:root[data-theme="dark"] {
  --ink: #f2efe9;
  --muted: #aaa59c;
  --line: #34312c;
  --cream: #171614;
  --surface: #211f1c;
  --surface-soft: #282521;
}

* {
  box-sizing: border-box;
}

html, body {
  min-height: 100%;
}

body {
  background: var(--cream);
  color: var(--ink);
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif;
}

button, a {
  font: inherit;
}

button {
  cursor: pointer;
}

.brand {
  color: #fff;
  flex-direction: column;
  width: max-content;
  text-decoration: none;
  display: inline-flex;
}

.brand-name {
  letter-spacing: -1.6px;
  font-size: 27px;
  font-weight: 300;
  line-height: 1;
}

.brand-name strong {
  color: var(--gold-light);
  font-weight: 800;
}

.brand-tagline {
  color: var(--gold-light);
  align-self: flex-end;
  margin: 4px 3px 0 0;
  font-size: 7px;
  font-style: italic;
}

.eyebrow {
  color: var(--gold-light);
  letter-spacing: .15em;
  font-size: 11px;
  font-weight: 800;
}

.eyebrow.dark {
  color: #aa7011;
}

.login-page {
  background: #050505;
  grid-template-columns: minmax(420px, 42%) 1fr;
  min-height: 100vh;
  display: grid;
}

.login-panel {
  z-index: 2;
  background: #050505;
  flex-direction: column;
  min-height: 100vh;
  padding: 42px clamp(34px, 5vw, 84px);
  display: flex;
  position: relative;
}

.login-brand {
  border-bottom: 1px solid #2b2519;
  padding-bottom: 35px;
}

.login-content {
  max-width: 430px;
  margin: auto 0;
}

.login-content h1 {
  color: #fff;
  letter-spacing: -.055em;
  margin: 18px 0;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.04;
}

.login-content p {
  color: #aaa8a4;
  margin: 0 0 32px;
  font-size: 15px;
  line-height: 1.7;
}

.login-error {
  color: #f0b0a7;
  background: #bc3f311f;
  border: 1px solid #e8655359;
  border-radius: 7px;
  margin: -14px 0 20px;
  padding: 11px 13px;
  font-size: 12px;
  line-height: 1.5;
}

.login-error code {
  color: #ffd0c9;
  font-size: 11px;
}

.credentials-login {
  gap: 15px;
  display: grid;
}

.credentials-login label {
  gap: 7px;
  display: grid;
}

.credentials-login label span {
  color: #d2cec7;
  letter-spacing: .04em;
  font-size: 11px;
  font-weight: 700;
}

.credentials-login input {
  color: #fff;
  background: #11100e;
  border: 1px solid #39342b;
  border-radius: 8px;
  outline: 0;
  width: 100%;
  height: 50px;
  padding: 0 14px;
  font-size: 14px;
}

.credentials-login input:focus {
  border-color: #c99738;
  box-shadow: 0 0 0 3px #c9973826;
}

.credentials-login .login-error {
  margin: 0;
}

.local-login-button {
  color: #fff;
  background: linear-gradient(135deg, #d39b35, #b77b17);
  border: 1px solid #e6b555;
  border-radius: 8px;
  min-height: 52px;
  font-weight: 800;
}

.local-login-button:hover {
  filter: brightness(1.08);
}

.local-login-button:disabled {
  cursor: wait;
  opacity: .7;
}

.login-divider {
  color: #6f6b63;
  text-transform: uppercase;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  font-size: 10px;
  display: flex;
}

.login-divider:before, .login-divider:after {
  content: "";
  background: #2b2822;
  flex: 1;
  height: 1px;
}

.login-content > small {
  color: #696864;
  margin-top: 24px;
  font-size: 10px;
  display: block;
}

.microsoft-button {
  color: #fff;
  background: linear-gradient(135deg, #d39b35, #b77b17);
  border: 1px solid #e6b555;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 53px;
  padding: 0 24px;
  font-weight: 700;
  transition: transform .2s, filter .2s;
  display: flex;
}

.microsoft-button:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.microsoft-button:disabled {
  cursor: wait;
  opacity: .75;
}

.microsoft-button svg {
  width: 20px;
  height: 20px;
}

.test-dashboard-link {
  color: #e9e4da;
  border: 1px solid #3a352b;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  display: flex;
}

.test-dashboard-link:hover {
  background: #15130f;
  border-color: #6a552d;
}

.login-footer {
  color: #55534f;
  margin: 0;
  font-size: 11px;
}

.login-visual {
  background: radial-gradient(circle at 58% 45%, #282013 0, #0d0c0a 35%, #050505 72%);
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.login-visual:before {
  content: "";
  background-image: linear-gradient(#ffffff06 1px, #0000 1px), linear-gradient(90deg, #ffffff06 1px, #0000 1px);
  background-size: 42px 42px;
  position: absolute;
  inset: 0;
}

.gold-orbit {
  border: 1px solid #daa43c40;
  border-radius: 50%;
  position: absolute;
  transform: rotate(-16deg);
}

.orbit-one {
  width: 590px;
  height: 590px;
}

.orbit-two {
  border-color: #daa43c1a;
  width: 830px;
  height: 830px;
}

.visual-copy {
  color: #fff;
  text-align: center;
  z-index: 1;
  position: relative;
}

.visual-copy > span {
  color: var(--gold-light);
  letter-spacing: .55em;
  margin-left: .55em;
  font-size: 10px;
  display: block;
}

.visual-copy strong {
  letter-spacing: -.1em;
  text-shadow: 0 10px 70px #c58a2433;
  font-size: clamp(120px, 17vw, 240px);
  line-height: .95;
  display: block;
}

.visual-copy p {
  color: #8b8984;
  font-size: 13px;
}

.app-shell {
  grid-template-columns: 230px 1fr;
  min-height: 100vh;
  display: grid;
}

.sidebar {
  color: #fff;
  background: #050505;
  flex-direction: column;
  min-height: 100vh;
  display: flex;
  position: sticky;
  top: 0;
}

.sidebar-brand {
  padding: 29px 26px 25px;
}

.portal-label {
  color: var(--gold-light);
  border-top: 1px solid #282318;
  border-bottom: 1px solid #282318;
  padding: 14px 26px;
  font-size: 10px;
  font-weight: 700;
}

.sidebar nav {
  padding: 18px 12px;
}

.nav-item {
  color: #f8f7f5;
  border: 1px solid #0000;
  border-radius: 7px;
  align-items: center;
  gap: 13px;
  padding: 12px;
  font-size: 14px;
  text-decoration: none;
  display: flex;
}

.nav-item svg {
  width: 19px;
  height: 19px;
}

.nav-item.active {
  background: linear-gradient(110deg, #d29c41, #b97b16);
  box-shadow: 0 7px 28px #c58a242e;
}

.sidebar-bottom {
  border: 1px solid #2c2519;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  margin: auto 12px 18px;
  padding: 12px;
  display: flex;
}

.sidebar-bottom > span {
  background: #2b2112;
  border: 1px solid #805c25;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  font-size: 11px;
  display: flex;
}

.sidebar-bottom div {
  flex-direction: column;
  display: flex;
}

.sidebar-bottom strong {
  font-size: 12px;
}

.sidebar-bottom small {
  color: #8a8884;
  margin-top: 3px;
  font-size: 9px;
}

.app-main {
  min-width: 0;
}

.topbar {
  border-bottom: 1px solid var(--line);
  z-index: 10;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #ffffffeb;
  justify-content: flex-end;
  align-items: center;
  height: 74px;
  padding: 0 clamp(20px, 3vw, 44px);
  display: flex;
  position: sticky;
  top: 0;
}

.theme-toggle {
  border: 1px solid var(--line);
  color: #665f55;
  background: #f5f2ec;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  margin-right: 12px;
  transition: background .18s, color .18s, transform .18s;
  display: flex;
}

.theme-toggle:hover {
  color: #8d5b0c;
  background: #ede6d9;
  transform: translateY(-1px);
}

.theme-toggle svg {
  width: 18px;
  height: 18px;
}

.theme-icon {
  align-items: center;
  display: flex;
}

.theme-icon.sun, :root[data-theme="dark"] .theme-icon.moon {
  display: none;
}

:root[data-theme="dark"] .theme-icon.sun {
  display: flex;
}

.topbar-spacer {
  flex: 1;
}

.mobile-brand {
  display: none;
}

.user-menu {
  position: relative;
}

.user-trigger {
  background: none;
  border: 0;
  align-items: center;
  gap: 11px;
  padding: 4px;
  display: flex;
}

.avatar {
  color: #fff;
  background: #090909 center / cover;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 39px;
  height: 39px;
  font-size: 11px;
  display: flex;
}

.avatar.has-photo {
  color: #0000;
}

.user-copy {
  text-align: left;
  flex-direction: column;
  max-width: 210px;
  display: flex;
}

.user-copy strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.user-copy small {
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
  font-size: 10px;
  overflow: hidden;
}

.chevron {
  width: 16px;
  height: 16px;
  margin-left: 4px;
}

.user-popover {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  min-width: 245px;
  padding: 15px;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  box-shadow: 0 18px 50px #18140e21;
}

.user-popover p {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.user-popover > span {
  color: var(--muted);
  text-overflow: ellipsis;
  margin: 3px 0 14px;
  font-size: 11px;
  display: block;
  overflow: hidden;
}

.user-popover a, .user-popover button {
  color: var(--ink);
  background: #f7f6f3;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 10px 11px;
  font-size: 12px;
  text-decoration: none;
  display: flex;
}

.user-popover a {
  margin-bottom: 7px;
}

.user-popover a:hover, .user-popover button:hover {
  background: #efede8;
}

.user-popover svg {
  width: 16px;
  height: 16px;
}

.content {
  padding: clamp(28px, 4vw, 56px);
}

.users-page {
  gap: 18px;
  display: grid;
}

.management-notice {
  border: 1px solid;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 12px;
}

.management-notice.error {
  color: #9b351b;
  background: #fff0eb;
  border-color: #e9b4a5;
}

.management-notice.success {
  color: #246344;
  background: #e5f3ea;
  border-color: #b9dac5;
}

.user-management-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px #251e1109;
}

.user-management-card > header {
  border-bottom: 1px solid var(--line);
  padding: 18px 20px;
}

.user-management-card h2 {
  margin: 0 0 4px;
  font-size: 16px;
}

.user-management-card header p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
}

.create-user-form {
  grid-template-columns: 1fr 1.25fr 1.2fr .7fr auto;
  align-items: end;
  gap: 12px;
  padding: 18px 20px;
  display: grid;
}

.create-user-form label {
  gap: 6px;
  display: grid;
}

.create-user-form label span {
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 800;
}

.create-user-form input, .create-user-form select, .users-table input, .users-table select {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 7px;
  outline: 0;
  height: 40px;
  padding: 0 10px;
}

.create-user-form input:focus, .create-user-form select:focus, .users-table input:focus, .users-table select:focus {
  border-color: #c99738;
  box-shadow: 0 0 0 3px #c9973821;
}

.create-user-form > button, .users-table form button {
  color: #fff;
  white-space: nowrap;
  background: #16130e;
  border: 0;
  border-radius: 7px;
  min-height: 40px;
  padding: 0 13px;
  font-size: 10px;
  font-weight: 750;
}

.users-table-wrap {
  overflow-x: auto;
}

.users-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 1100px;
  font-size: 11px;
}

.users-table th {
  background: var(--surface-soft);
  color: var(--muted);
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
  padding: 11px 14px;
  font-size: 9px;
}

.users-table td {
  border-top: 1px solid var(--line);
  padding: 13px 14px;
}

.users-table td:first-child strong, .users-table td:first-child small {
  display: block;
}

.users-table td:first-child small {
  color: var(--muted);
  margin-top: 3px;
}

.users-table form {
  align-items: center;
  gap: 7px;
  display: flex;
}

.users-table form select {
  min-width: 105px;
}

.users-table form input {
  min-width: 165px;
}

.users-table form button.status-active {
  color: #246344;
  background: #d8eddf;
}

.users-table form button.status-blocked {
  color: #983923;
  background: #f6d7d0;
}

.dashboard-page {
  width: 100%;
  max-width: none;
  margin: 0;
}

.page-heading h1 {
  letter-spacing: -.045em;
  margin: 10px 0 7px;
  font-size: clamp(28px, 3.4vw, 44px);
}

.page-heading p {
  color: var(--muted);
  margin: 0;
  font-size: 14px;
}

.tracker-page-heading {
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  display: flex;
}

.tracker-page-heading h1 {
  margin: 6px 0 0;
  font-size: clamp(27px, 2.5vw, 36px);
}

.tracker-page-heading p {
  text-align: right;
  padding-bottom: 4px;
}

.tracker-page-title {
  align-items: center;
  gap: 15px;
  display: flex;
}

.tracker-page-icon {
  color: #efc866;
  background: #080706;
  border: 2px solid #d7ad4b;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 58px;
  height: 58px;
  display: flex;
  box-shadow: 0 5px 18px #b7791333, inset 0 0 0 1px #ffe58a1f;
}

.tracker-page-icon svg {
  filter: drop-shadow(0 1px 2px #d7ad4b47);
  width: 29px;
  height: 29px;
}

.report-tabs {
  background: linear-gradient(135deg, #11100e, #050505);
  border: 1px solid #332714;
  border-radius: 10px;
  gap: 5px;
  width: 100%;
  max-width: none;
  margin: -20px 0 30px;
  padding: 5px;
  display: flex;
  overflow-x: auto;
  box-shadow: 0 8px 25px #1610081a;
}

.report-tabs a {
  color: #aaa39a;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 7px;
  padding: 10px 15px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: background .16s, color .16s, transform .16s;
}

.report-tabs a:hover {
  color: #efc866;
  background: #211a10;
  transform: translateY(-1px);
}

.report-tabs a.active {
  color: #181107;
  background: linear-gradient(120deg, #e0b952, #ad7113);
  border-color: #f0d578;
  box-shadow: inset 0 1px #ffffff4d, 0 4px 13px #b97b1638;
}

.empty-state {
  border: 1px solid var(--line);
  text-align: center;
  background: #fff;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: min(550px, 100vh - 250px);
  margin-top: 34px;
  padding: 50px;
  display: flex;
  box-shadow: 0 12px 40px #251e1109;
}

.empty-mark {
  background: #080807;
  border: 5px solid #f2eee5;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 82px;
  height: 82px;
  margin-bottom: 23px;
  display: flex;
  box-shadow: 0 0 0 1px #d5c7a7;
}

.empty-mark span {
  color: var(--gold-light);
  letter-spacing: -.05em;
  font-size: 18px;
  font-weight: 800;
}

.empty-mark svg {
  color: var(--gold-light);
  width: 30px;
  height: 30px;
}

.empty-state h2 {
  margin: 0 0 8px;
  font-size: 19px;
}

.empty-state p {
  color: var(--muted);
  max-width: 420px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.tracker-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
  display: grid;
}

.tracker-stats.revenue-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tracker-stats.revenue-summary article:first-child {
  background: #d2f0e2;
  border-color: #9fd8bd;
}

.tracker-stats.revenue-summary article:first-child strong {
  color: #126846;
}

.tracker-stats.revenue-summary article:nth-child(2) {
  background: #d9e2ff;
  border-color: #aebfed;
}

.tracker-stats.revenue-summary article:nth-child(2) strong {
  color: #294b9b;
}

.tracker-stats article {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 11px;
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 13px 15px;
  display: flex;
}

.tracker-stats span, .tracker-stats small {
  color: var(--muted);
  font-size: 11px;
  display: block;
}

.tracker-stats strong {
  letter-spacing: -.04em;
  margin: 5px 0;
  font-size: 25px;
  line-height: 1;
  display: block;
}

.tracker-stats .revenue-deviation-stat.good {
  background: #ccebd9;
  border-color: #98d2b1;
}

.tracker-stats .revenue-deviation-stat.good strong {
  color: #24704d;
}

.tracker-stats .revenue-deviation-stat.medium {
  background: #fff8d6;
  border-color: #f2df8b;
}

.tracker-stats .revenue-deviation-stat.medium strong {
  color: #3f3900;
}

.tracker-stats .revenue-deviation-stat.high {
  background: #ffcfc7;
  border-color: #e9a69b;
}

.tracker-stats .revenue-deviation-stat.high strong {
  color: #a33d2d;
}

.stat-icon {
  color: #a76e12;
  background: #f5efe3;
  border-radius: 9px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
}

.stat-icon.danger {
  color: #b64722;
  background: #fff0eb;
}

.stat-icon.warning {
  color: #a8720e;
  background: #fff7df;
}

.stat-icon svg {
  width: 21px;
  height: 21px;
}

.tracker-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  margin-top: 14px;
  overflow: hidden;
  box-shadow: 0 12px 40px #251e1109;
}

.tracker-panel-heading {
  border-bottom: 1px solid var(--line);
  align-items: center;
  gap: 12px;
  padding: 18px;
  display: flex;
}

.panel-heading-icon {
  color: var(--gold-light);
  background: #12110f;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: flex;
}

.panel-heading-icon svg {
  width: 19px;
  height: 19px;
}

.tracker-panel-heading h2 {
  margin: 0 0 3px;
  font-size: 15px;
}

.tracker-panel-heading p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
}

.tracker-toolbar {
  grid-template-columns: minmax(230px, 1.35fr) minmax(175px, 1fr) minmax(105px, .52fr) minmax(155px, .8fr) minmax(150px, .75fr) minmax(145px, .65fr) minmax(145px, .65fr);
  align-items: end;
  gap: 12px;
  padding: 18px;
  display: grid;
}

.report-toolbar {
  grid-template-columns: minmax(230px, 1.35fr) minmax(170px, 1fr) minmax(105px, .55fr) minmax(170px, 1fr);
}

.tracker-toolbar label {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.tracker-toolbar label > span {
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.tracker-toolbar input, .tracker-toolbar select {
  color: var(--ink);
  background: #faf9f7;
  border: 1px solid #dedbd4;
  border-radius: 7px;
  outline: none;
  width: 100%;
  height: 42px;
  padding: 0 12px;
}

.revenue-filter-panel {
  padding: 18px 20px;
}

.revenue-store-filter, .revenue-store-filter label {
  gap: 7px;
  max-width: 320px;
  display: grid;
}

.revenue-store-filter span {
  color: #6f6a62;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.revenue-store-filter select {
  color: var(--ink);
  background: #faf9f7;
  border: 1px solid #dedbd4;
  border-radius: 7px;
  outline: none;
  width: 100%;
  height: 42px;
  padding: 0 12px;
}

.revenue-store-filter select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px #c58a241f;
}

.revenue-day-cards {
  grid-template-columns: repeat(7, minmax(185px, 1fr));
  gap: 12px;
  padding: 0 20px 20px;
  display: grid;
  overflow-x: auto;
}

.revenue-day-card {
  background: #faf9f7;
  border: 1px solid #e5e1da;
  border-radius: 10px;
  min-width: 185px;
  overflow: hidden;
}

.revenue-day-card header {
  background: #f4eee2;
  border-bottom: 1px solid #e5e1da;
  gap: 2px;
  padding: 13px 14px;
  display: grid;
}

.revenue-day-card header strong {
  color: var(--ink);
  text-transform: capitalize;
  font-size: 15px;
}

.revenue-day-card header small {
  color: #817b72;
  font-size: 11px;
}

.revenue-day-card dl {
  margin: 0;
  padding: 7px 14px 11px;
}

.revenue-day-card dl div {
  border-bottom: 1px solid #ece8e1;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 9px 0;
  display: flex;
}

.revenue-day-card dl div:last-child {
  border-bottom: 0;
}

.revenue-day-card dt {
  color: #746e65;
  font-size: 12px;
}

.revenue-day-card dd {
  color: var(--ink);
  white-space: nowrap;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.revenue-all-stores {
  overflow: hidden;
}

.revenue-table-controls {
  border-bottom: 1px solid var(--line);
  background: #fbfaf7;
  grid-template-columns: minmax(220px, 1.3fr) minmax(160px, .7fr) minmax(240px, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 15px 18px;
  display: grid;
}

.revenue-date-filter {
  background: linear-gradient(135deg, #11100e, #050505);
  border: 1px solid #332714;
  border-radius: 11px;
  grid-template-columns: minmax(170px, 1fr) minmax(165px, .7fr) minmax(165px, .7fr) auto;
  align-items: end;
  gap: 14px;
  padding: 15px 17px;
  display: grid;
  box-shadow: 0 8px 25px #1610081a;
}

.revenue-date-filter > div {
  align-self: center;
}

.revenue-date-filter-label {
  color: #efc866;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 850;
  display: block;
}

.revenue-date-filter > div strong {
  color: #f4efe6;
  font-size: 14px;
}

.revenue-date-filter label {
  gap: 6px;
  display: grid;
}

.revenue-date-filter label span {
  color: #aaa39a;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 800;
}

.revenue-date-filter input {
  color: #f4efe6;
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  background: #201d18;
  border: 1px solid #4b3c24;
  border-radius: 7px;
  outline: 0;
  height: 40px;
  padding: 0 10px;
}

.revenue-date-filter input:focus {
  border-color: #d7ad4b;
  box-shadow: 0 0 0 3px #d7ad4b2e;
}

.revenue-date-filter button {
  color: #181107;
  background: linear-gradient(120deg, #e0b952, #ad7113);
  border: 1px solid #f0d578;
  border-radius: 7px;
  height: 40px;
  padding: 0 16px;
  font-size: 11px;
  font-weight: 850;
}

.revenue-date-filter button:hover {
  filter: brightness(1.08);
}

.revenue-table-controls label {
  gap: 6px;
  display: grid;
}

.revenue-table-controls label > span {
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.revenue-table-controls input, .revenue-table-controls select {
  color: var(--ink);
  background: #fff;
  border: 1px solid #d7d2c9;
  border-radius: 7px;
  outline: 0;
  width: 100%;
  height: 40px;
  padding: 0 11px;
}

.revenue-table-controls input:focus, .revenue-table-controls select:focus {
  border-color: #d7b131;
  box-shadow: 0 0 0 3px #ffd0002e;
}

.revenue-filter-result {
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  display: flex;
}

.revenue-filter-result strong {
  font-size: 17px;
}

.revenue-filter-result span {
  color: var(--muted);
  font-size: 11px;
}

.revenue-filter-result button {
  color: #3f3900;
  background: #fff3ad;
  border: 0;
  border-radius: 6px;
  margin-left: 5px;
  padding: 7px 9px;
  font-size: 10px;
  font-weight: 750;
}

.revenue-store-row {
  border-top: 1px solid #e8e4dc;
  padding: 18px 0 2px;
}

.revenue-store-row h3 {
  color: var(--ink);
  margin: 0 20px 12px;
  font-size: 16px;
}

.revenue-overview-table {
  border-collapse: separate;
  border-spacing: 0;
  isolation: isolate;
  table-layout: fixed;
  width: 3578px;
  min-width: 3578px;
  font-size: 13px;
  line-height: 1.4;
}

.revenue-overview-table th {
  text-transform: none;
}

.revenue-overview-table .number-column {
  width: 44px;
}

.revenue-overview-table .type-column {
  width: 64px;
}

.revenue-overview-table .place-column {
  width: 190px;
}

.revenue-overview-table .forecast-column, .revenue-overview-table .actual-column {
  width: 140px;
}

.revenue-overview-table .deviation-column {
  width: 130px;
}

.revenue-heading {
  justify-content: space-between;
}

.revenue-page-title {
  align-items: center;
  gap: 15px;
  display: flex;
}

.revenue-page-icon {
  color: #efc866;
  background: #080706;
  border: 2px solid #d7ad4b;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 58px;
  height: 58px;
  display: flex;
  box-shadow: 0 5px 18px #b7791333, inset 0 0 0 1px #ffe58a1f;
}

.revenue-page-icon svg {
  filter: drop-shadow(0 1px 2px #d7ad4b47);
  width: 29px;
  height: 29px;
}

.revenue-page-title h1 {
  margin-bottom: 0;
}

.styled-tooltip {
  outline: 0;
  position: relative;
}

.styled-tooltip:before, .styled-tooltip:after {
  opacity: 0;
  pointer-events: none;
  z-index: 120;
  transition: opacity .16s, transform .16s;
  position: absolute;
}

.styled-tooltip:before {
  color: #f2d27a;
  content: attr(data-tooltip);
  letter-spacing: .015em;
  text-align: center;
  white-space: nowrap;
  background: linear-gradient(135deg, #17130d, #050505);
  border: 1px solid #b98932;
  border-radius: 8px;
  max-width: 230px;
  padding: 8px 10px;
  font-size: 10px;
  font-weight: 700;
  bottom: calc(100% + 11px);
  left: 50%;
  transform: translate(-50%, 5px);
  box-shadow: 0 10px 30px #00000047, inset 0 1px #ffe58a1f;
}

.styled-tooltip:after {
  content: "";
  border-top: 6px solid #b98932;
  border-left: 5px solid #0000;
  border-right: 5px solid #0000;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 5px);
}

.styled-tooltip:hover:before, .styled-tooltip:hover:after, .styled-tooltip:focus-visible:before, .styled-tooltip:focus-visible:after {
  opacity: 1;
  transform: translate(-50%);
}

.styled-tooltip:focus-visible {
  box-shadow: 0 0 0 3px #d7ad4b4d;
}

.revenue-legend {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.revenue-legend span {
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 750;
}

.revenue-legend .forecast-key {
  color: #294b9b;
  background: #d9e2ff;
}

.revenue-legend .actual-key {
  color: #126846;
  background: #d2f0e2;
}

.revenue-legend .deviation-good {
  color: #14623d;
  background: #ccebd9;
}

.revenue-legend .deviation-medium {
  color: #3f3900;
  background: #fff8d6;
}

.revenue-legend .deviation-high {
  color: #94291d;
  background: #ffcfc7;
}

.revenue-overview-table thead tr:first-child th {
  color: #3e3932;
  letter-spacing: .055em;
  text-align: center;
  background: #eee9df;
  border-bottom: 1px solid #d8d2c8;
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 11px;
  font-weight: 800;
}

.revenue-overview-table thead th {
  border-left: 1px solid #c8c4bc;
  border-right: 1px solid #c8c4bc;
}

.revenue-overview-table thead tr:first-child th[rowspan], .revenue-overview-table thead tr:last-child th {
  border-bottom: 3px solid #ffd000;
}

.revenue-overview-table thead tr:first-child th[colspan] {
  border-left: 2px solid #57534d;
}

.revenue-overview-table thead tr:last-child th {
  letter-spacing: .045em;
  white-space: normal;
  max-width: 135px;
  padding: 12px 14px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
}

.revenue-overview-table thead tr:last-child th:nth-child(3n+1) {
  border-left: 2px solid #57534d;
}

.revenue-overview-table thead tr:first-child th:last-child {
  color: #302d00;
  background: #fff5bd;
  font-size: 12px;
}

.revenue-overview-table thead tr:last-child th:nth-last-child(-n+3) {
  box-shadow: inset 0 3px #ffd000;
}

.revenue-overview-table thead tr:last-child th:nth-last-child(3) {
  border-left: 4px solid #ffd000;
}

.revenue-overview-table .forecast-head {
  color: #294b9b;
  background: #d9e2ff;
}

.revenue-overview-table .actual-head {
  color: #126846;
  background: #d2f0e2;
}

.revenue-overview-table .deviation-head {
  color: #3f3900;
  background: #fff8d6;
}

.revenue-overview-table tbody th {
  color: #292621;
  letter-spacing: -.01em;
  text-align: left;
  background: #fff;
  font-size: 13px;
  font-weight: 750;
}

.revenue-overview-table tbody td, .revenue-overview-table tbody th {
  height: 52px;
  padding: 13px 14px;
}

.revenue-overview-table tbody tr > td, .revenue-overview-table tbody tr > th {
  border: 1px solid #c8c4bc;
  border-bottom-width: 2px;
}

.revenue-overview-table tbody tr:nth-child(odd) td, .revenue-overview-table tbody tr:nth-child(odd) th {
  background-color: #e9e7e2;
}

.revenue-overview-table tbody tr:nth-child(2n) td, .revenue-overview-table tbody tr:nth-child(2n) th {
  background-color: #fff;
}

.revenue-overview-table tbody tr:hover td, .revenue-overview-table tbody tr:hover th {
  background-color: #f6f0e4;
}

.revenue-overview-table tbody .revenue-clickable-row {
  cursor: pointer;
}

.revenue-overview-table tbody .revenue-clickable-row:focus {
  outline-offset: -3px;
  outline: 3px solid #d7b131;
}

.revenue-overview-table tbody td {
  color: #292621;
  font-variant-numeric: tabular-nums;
}

.revenue-overview-table tbody td:nth-child(n+4) {
  text-align: right;
  white-space: nowrap;
  font-weight: 650;
}

.revenue-overview-table tbody td:nth-child(3n+4) {
  border-left: 2px solid #57534d;
}

.revenue-overview-table tbody td:nth-last-child(-n+3) {
  font-weight: 850;
  box-shadow: inset 0 2px #ffd000, inset 0 -2px #ffd000;
}

.revenue-overview-table tbody td:nth-last-child(3) {
  border-left: 4px solid #ffd000;
}

.revenue-overview-table tbody tr:nth-child(13) td, .revenue-overview-table tbody tr:nth-child(13) th {
  border-bottom: 3px solid var(--gold);
}

.revenue-overview-table .forecast-cell {
  color: #294b9b;
}

.revenue-overview-table .actual-cell {
  color: #126846;
  font-weight: 750;
}

.revenue-overview-table .deviation-cell {
  font-size: 12px;
  font-weight: 850;
  text-align: center !important;
}

.revenue-overview-table .deviation-cell.good {
  color: #14623d;
  background: #ccebd9;
}

.revenue-overview-table .deviation-cell.medium {
  color: #3f3900;
  background: #fff8d6;
}

.revenue-overview-table .deviation-cell.high {
  color: #94291d;
  background: #ffcfc7;
}

.revenue-overview-table .deviation-cell.empty {
  color: #aaa49b;
}

.revenue-overview-table thead tr:first-child > th:first-child, .revenue-overview-table tbody td:first-child {
  z-index: 20;
  width: 44px;
  min-width: 44px;
  position: sticky;
  left: 0;
}

.revenue-overview-table thead tr:first-child > th:nth-child(2), .revenue-overview-table tbody td:nth-child(2) {
  z-index: 20;
  width: 64px;
  min-width: 64px;
  position: sticky;
  left: 44px;
}

.revenue-overview-table thead tr:first-child > th:nth-child(-n+3), .revenue-overview-table tbody td:nth-child(-n+2), .revenue-overview-table tbody th:nth-child(3) {
  background-clip: padding-box;
  box-shadow: inset -1px 0 #a9a49b, inset 0 -2px #cbc7bf;
}

.revenue-overview-table thead tr:first-child > th:nth-child(3), .revenue-overview-table tbody th:nth-child(3) {
  z-index: 20;
  border-right: 2px solid #57534d;
  width: 190px;
  min-width: 190px;
  position: sticky;
  left: 108px;
  box-shadow: inset -2px 0 #57534d, inset 0 -2px #cbc7bf, 7px 0 12px #29231924;
}

.revenue-overview-table thead th {
  z-index: 10;
  position: sticky;
  top: 0;
}

.revenue-overview-table thead tr:first-child > th:nth-child(-n+3) {
  z-index: 30;
}

.revenue-all-stores .tracker-table-wrap {
  scrollbar-color: #b9914d #eee9df;
  scrollbar-width: thin;
}

.revenue-all-stores .tracker-table-wrap::-webkit-scrollbar {
  height: 12px;
}

.revenue-all-stores .tracker-table-wrap::-webkit-scrollbar-track {
  background: #eee9df;
}

.revenue-all-stores .tracker-table-wrap::-webkit-scrollbar-thumb {
  background: #b9914d;
  border: 3px solid #eee9df;
  border-radius: 999px;
}

.revenue-chart-dialog {
  flex-direction: column;
  max-width: 1280px;
  height: min(980px, 100vh - 20px);
  max-height: calc(100vh - 20px);
  display: flex;
  overflow: hidden;
}

.revenue-chart-dialog > header {
  color: #fff;
  background: radial-gradient(circle at 18% -30%, #3a2b12 0, #15110a 34%, #050505 75%);
  border-bottom: 3px solid #d7ad4b;
  padding: 24px 26px;
  position: relative;
  overflow: visible;
}

.revenue-chart-dialog > header, .revenue-chart-totals {
  flex: none;
}

.revenue-chart-dialog > header:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffe58ab8, #0000);
  height: 1px;
  position: absolute;
  bottom: -3px;
  left: 18%;
  right: 18%;
}

.revenue-chart-dialog > header h2 {
  color: #fffaf0;
  letter-spacing: -.025em;
  margin-top: 7px;
  font-size: 25px;
}

.revenue-chart-dialog > header p {
  color: #b9b0a2;
  font-size: 12px;
}

.revenue-chart-dialog > header .eyebrow {
  color: #e8bd59;
}

.revenue-chart-dialog > header .dialog-close {
  color: #f2d27a;
  background: #ffffff14;
  border: 1px solid #efc86647;
  transition: background .16s, border-color .16s, transform .16s;
}

.revenue-chart-dialog > header .dialog-close:hover {
  background: #efc86629;
  border-color: #d7ad4b;
  transform: rotate(5deg);
}

.revenue-dialog-heading {
  align-items: center;
  gap: 13px;
  display: flex;
}

.revenue-dialog-store-icon {
  color: #efc866;
  background: linear-gradient(145deg, #181109, #020202);
  border: 2px solid #d7ad4b;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  display: flex;
  box-shadow: 0 0 0 4px #d7ad4b1a, 0 9px 25px #00000059, inset 0 1px #ffeaa421;
}

.revenue-dialog-store-icon svg {
  width: 24px;
  height: 24px;
}

.revenue-dialog-kicker {
  align-items: center;
  gap: 8px;
  display: flex;
}

.revenue-dialog-kicker .eyebrow {
  margin: 0;
}

.revenue-dialog-kicker .tracker-store-type {
  min-width: 32px;
  height: 25px;
}

.badge-tooltip {
  display: inline-flex;
}

.revenue-chart-dialog .styled-tooltip:before {
  top: calc(100% + 11px);
  bottom: auto;
  transform: translate(-50%, -5px);
}

.revenue-chart-dialog .styled-tooltip:after {
  border-top: 0;
  border-bottom: 6px solid #b98932;
  top: calc(100% + 5px);
  bottom: auto;
  transform: translate(-50%, -5px);
}

.revenue-chart-dialog .styled-tooltip:hover:before, .revenue-chart-dialog .styled-tooltip:hover:after, .revenue-chart-dialog .styled-tooltip:focus-visible:before, .revenue-chart-dialog .styled-tooltip:focus-visible:after {
  transform: translate(-50%);
}

.revenue-chart-totals {
  border-bottom: 1px solid var(--line);
  background: #f4f0e8;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 22px;
  display: grid;
}

.revenue-chart-totals > div {
  background: linear-gradient(145deg, #fff, #f8f5ef);
  border: 1px solid #ddd5c8;
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 14px 15px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 20px #372a140e, inset 0 1px #fff;
}

.revenue-chart-totals > div:after {
  content: "";
  background: linear-gradient(#e5bd59, #a66b10);
  width: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.revenue-chart-totals span:not(.revenue-total-icon) {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-size: 9px;
  font-weight: 850;
  display: block;
}

.revenue-chart-totals strong {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  font-size: 18px;
  display: block;
}

.revenue-chart-totals small {
  color: #938b80;
  margin-top: 4px;
  font-size: 8px;
  display: block;
}

.revenue-total-icon {
  background: #0a0907;
  border: 1px solid #c99534;
  border-radius: 9px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-weight: 900;
  color: #e7bd59 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  margin: 0 !important;
  font-size: 10px !important;
  display: flex !important;
}

.revenue-chart-totals .forecast strong {
  color: #111;
}

.revenue-chart-totals .actual strong {
  color: #b77913;
}

.revenue-chart-totals .actual {
  background: linear-gradient(145deg, #fffaf0, #f6ead0);
  border-color: #dfc98f;
}

.revenue-chart-totals .accuracy.good:after {
  background: #3c9a6c;
}

.revenue-chart-totals .accuracy.medium:after {
  background: linear-gradient(#e5bd59, #a66b10);
}

.revenue-chart-totals .accuracy.high:after {
  background: #c85a3f;
}

.revenue-chart-wrap {
  flex-direction: column;
  flex: 410px;
  min-height: 290px;
  padding: 12px 16px 3px;
  display: flex;
  overflow: hidden;
}

.revenue-chart-legend {
  justify-content: flex-end;
  gap: 16px;
  padding: 0 8px 4px;
  display: flex;
}

.revenue-chart-legend span {
  color: var(--muted);
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 750;
  display: inline-flex;
}

.revenue-chart-legend span:before {
  content: "";
  border-radius: 3px;
  width: 10px;
  height: 10px;
}

.revenue-chart-legend .forecast:before {
  background: #090909;
  box-shadow: inset 0 0 0 1px #d4aa43;
}

.revenue-chart-legend .actual:before {
  background: linear-gradient(135deg, #fff0a3, #bd7e19 65%, #f0cf70);
  box-shadow: 0 0 8px #d7ad4b59;
}

.revenue-week-chart {
  flex: auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  overflow: visible;
}

.chart-grid {
  stroke: #dedad2;
  stroke-width: 1px;
}

.chart-axis-label, .chart-day-label {
  fill: #77736c;
  font-family: inherit;
  font-size: 10px;
}

.chart-day-label {
  text-transform: capitalize;
  font-weight: 700;
}

.chart-bar {
  transform-box: fill-box;
  transform-origin: bottom;
  transition: opacity .15s, filter .15s;
  animation: .65s cubic-bezier(.2, .75, .25, 1) both revenue-bar-rise;
}

.chart-bar.forecast {
  fill: #090909;
  stroke: #d4aa43;
  stroke-width: .8px;
}

.chart-bar.actual {
  fill: url("#revenue-actual-gold");
  filter: drop-shadow(0 2px 3px #a4650847);
  stroke: #9e650e;
  stroke-width: .7px;
}

.chart-bar:hover {
  opacity: .78;
}

.chart-bar:focus {
  filter: drop-shadow(0 0 5px #d7ad4bd9);
  opacity: .9;
  outline: none;
}

.revenue-svg-tooltip {
  pointer-events: none;
}

.revenue-tooltip-bg {
  fill: #090807;
  stroke: #c99534;
  stroke-width: 1.2px;
}

.revenue-tooltip-pointer {
  fill: #c99534;
}

.revenue-tooltip-icon {
  stroke-width: 1px;
}

.revenue-tooltip-icon.ai {
  fill: #d5a844;
  stroke: #ffe79a;
}

.revenue-tooltip-icon.actual {
  fill: #2b2418;
  stroke: #d5a844;
}

.revenue-tooltip-icon-text {
  fill: #080706;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
}

.revenue-tooltip-icon.actual + .revenue-tooltip-icon-text {
  fill: #f2cd70;
  font-size: 13px;
}

.revenue-tooltip-date {
  fill: #fff;
  text-transform: capitalize;
  font-family: inherit;
  font-size: 10px;
  font-weight: 650;
}

.revenue-tooltip-label {
  fill: #e5c269;
  letter-spacing: .025em;
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
}

.revenue-tooltip-value {
  fill: #fff8e7;
  font-family: inherit;
  font-size: 15px;
  font-weight: 850;
}

.revenue-tooltip-divider {
  stroke: #3c3120;
  stroke-width: 1px;
}

.revenue-tooltip-meta {
  fill: #fff;
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 650;
}

.revenue-tooltip-difference {
  fill: #d9aa4c;
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 750;
}

@keyframes revenue-bar-rise {
  from {
    opacity: 0;
    transform: scaleY(0);
  }

  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

.revenue-chart-detail {
  color: #171511;
  scrollbar-color: #b98a31 #f0ece4;
  scrollbar-width: thin;
  background: #fff;
  border-top: 2px solid #d8ad49;
  flex: 0 0 clamp(190px, 24vh, 250px);
  min-height: 190px;
  max-height: none;
  overflow: auto;
}

.revenue-chart-detail table {
  border-collapse: separate;
  border-spacing: 0;
  color: #171511;
  background: #fff;
  width: 100%;
  font-size: 12px;
}

.revenue-chart-detail th, .revenue-chart-detail td {
  color: #171511;
  font-variant-numeric: tabular-nums;
  text-align: right;
  border-bottom: 1px solid #e7e1d7;
  padding: 13px 18px;
}

.revenue-chart-detail tbody tr:nth-child(2n) th, .revenue-chart-detail tbody tr:nth-child(2n) td {
  background: #faf8f4;
}

.revenue-chart-detail tbody tr:hover th, .revenue-chart-detail tbody tr:hover td {
  background: #fff5d8;
}

.revenue-chart-detail tbody th {
  text-transform: capitalize;
  font-weight: 750;
}

.revenue-chart-detail thead th {
  color: #5e5549;
  letter-spacing: .075em;
  text-transform: uppercase;
  z-index: 2;
  background: #f3efe7;
  font-size: 9px;
  font-weight: 850;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 8px #2a1f0e14;
}

.revenue-chart-detail th:first-child {
  text-align: left;
  padding-left: 22px;
}

.revenue-chart-detail td:last-child, .revenue-chart-detail th:last-child {
  padding-right: 22px;
}

:root[data-theme="dark"] .topbar {
  background: #1d1b18eb;
}

:root[data-theme="dark"] .theme-toggle {
  color: #f3c85a;
  background: #2b2823;
}

:root[data-theme="dark"] .theme-toggle:hover {
  background: #373229;
}

:root[data-theme="dark"] .tracker-panel, :root[data-theme="dark"] .tracker-stats article, :root[data-theme="dark"] .empty-state, :root[data-theme="dark"] .user-popover, :root[data-theme="dark"] .gps-dialog {
  background: var(--surface);
  box-shadow: 0 12px 40px #0000002e;
}

:root[data-theme="dark"] .user-popover a, :root[data-theme="dark"] .user-popover button, :root[data-theme="dark"] .tracker-toolbar input, :root[data-theme="dark"] .tracker-toolbar select, :root[data-theme="dark"] .revenue-store-filter select {
  background: var(--surface-soft);
  color: var(--ink);
}

:root[data-theme="dark"] .tracker-table th {
  color: #b9b3a9;
  background: #2b2823;
}

:root[data-theme="dark"] .tracker-table td {
  color: #d1ccc3;
}

:root[data-theme="dark"] .tracker-table tbody tr:hover {
  background: #2a2722;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:first-child th {
  color: #e3ddd3;
  background: #302c25;
}

:root[data-theme="dark"] .revenue-overview-table thead th {
  border-left-color: #575149;
  border-right-color: #575149;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:first-child th[rowspan], :root[data-theme="dark"] .revenue-overview-table thead tr:last-child th {
  border-bottom-color: #ffe033;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:first-child th[colspan], :root[data-theme="dark"] .revenue-overview-table thead tr:last-child th:nth-child(3n+1) {
  border-left-color: #777168;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:first-child th:last-child {
  color: #302d00;
  background: #fff5bd;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:last-child th:nth-last-child(-n+3) {
  box-shadow: inset 0 3px #ffe033;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:last-child th:nth-last-child(3), :root[data-theme="dark"] .revenue-overview-table tbody td:nth-last-child(3) {
  border-left-color: #ffe033;
}

:root[data-theme="dark"] .revenue-overview-table .forecast-head {
  color: #d4deff;
  background: #30477f;
}

:root[data-theme="dark"] .revenue-overview-table .actual-head {
  color: #b9f0d7;
  background: #245642;
}

:root[data-theme="dark"] .revenue-overview-table .deviation-head {
  color: #302d00;
  background: #fff8d6;
}

:root[data-theme="dark"] .revenue-overview-table tbody th {
  color: #f2efe9;
  background: #211f1c;
}

:root[data-theme="dark"] .revenue-overview-table tbody tr:nth-child(odd) td, :root[data-theme="dark"] .revenue-overview-table tbody tr:nth-child(odd) th {
  background-color: #34312d;
}

:root[data-theme="dark"] .revenue-overview-table tbody tr:nth-child(2n) td, :root[data-theme="dark"] .revenue-overview-table tbody tr:nth-child(2n) th {
  background-color: #211f1c;
}

:root[data-theme="dark"] .revenue-overview-table tbody tr > td, :root[data-theme="dark"] .revenue-overview-table tbody tr > th {
  border-color: #575149 #575149 #686159;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:first-child > th:nth-child(-n+3), :root[data-theme="dark"] .revenue-overview-table tbody td:nth-child(-n+2) {
  box-shadow: inset -1px 0 #6f6960, inset 0 -2px #686159;
}

:root[data-theme="dark"] .revenue-overview-table thead tr:first-child > th:nth-child(3), :root[data-theme="dark"] .revenue-overview-table tbody th:nth-child(3) {
  box-shadow: inset -2px 0 #8a847b, inset 0 -2px #686159, 7px 0 12px #0000004d;
}

:root[data-theme="dark"] .revenue-overview-table tbody td {
  color: #ebe7df;
}

:root[data-theme="dark"] .revenue-overview-table tbody tr:hover td, :root[data-theme="dark"] .revenue-overview-table tbody tr:hover th {
  background-color: #302b23;
}

:root[data-theme="dark"] .revenue-overview-table tbody td:nth-child(3n+4) {
  border-left-color: #777168;
}

:root[data-theme="dark"] .revenue-overview-table tbody td:nth-last-child(-n+3) {
  box-shadow: inset 0 2px #ffe033, inset 0 -2px #ffe033;
}

:root[data-theme="dark"] .revenue-overview-table tbody td:nth-child(3n+4):nth-last-child(3) {
  border-left-color: #ffe033;
}

:root[data-theme="dark"] .revenue-overview-table .forecast-cell {
  color: #bdcbff;
}

:root[data-theme="dark"] .revenue-overview-table .actual-cell {
  color: #a9e8ca;
}

:root[data-theme="dark"] .revenue-overview-table .deviation-cell.good {
  color: #b9f0d7;
  background: #285c45;
}

:root[data-theme="dark"] .revenue-overview-table .deviation-cell.medium {
  color: #302d00;
  background: #f4e8a9;
}

:root[data-theme="dark"] .revenue-overview-table .deviation-cell.high {
  color: #ffc1b8;
  background: #71352e;
}

:root[data-theme="dark"] .revenue-overview-table .deviation-cell.empty {
  color: #777168;
}

:root[data-theme="dark"] .tracker-stats.revenue-summary article:first-child {
  background: #245642;
  border-color: #38755d;
}

:root[data-theme="dark"] .tracker-stats.revenue-summary article:first-child strong {
  color: #b9f0d7;
}

:root[data-theme="dark"] .tracker-stats.revenue-summary article:nth-child(2) {
  background: #30477f;
  border-color: #4963a0;
}

:root[data-theme="dark"] .tracker-stats.revenue-summary article:nth-child(2) strong {
  color: #d4deff;
}

:root[data-theme="dark"] .tracker-stats .revenue-deviation-stat.good {
  background: #285c45;
  border-color: #39775b;
}

:root[data-theme="dark"] .tracker-stats .revenue-deviation-stat.medium {
  background: #f4e8a9;
  border-color: #dcc96b;
}

:root[data-theme="dark"] .tracker-stats .revenue-deviation-stat.high {
  background: #71352e;
  border-color: #91473e;
}

:root[data-theme="dark"] .store-options {
  background: var(--surface);
}

:root[data-theme="dark"] .store-options button {
  color: var(--ink);
}

:root[data-theme="dark"] .store-options button:hover {
  background: #332d24;
}

:root[data-theme="dark"] .revenue-table-controls {
  background: #25231f;
}

:root[data-theme="dark"] .revenue-table-controls input, :root[data-theme="dark"] .revenue-table-controls select {
  color: var(--ink);
  background: #302d28;
  border-color: #514c44;
}

:root[data-theme="dark"] .revenue-all-stores .tracker-table-wrap {
  scrollbar-color: #a77a31 #2a2722;
}

:root[data-theme="dark"] .revenue-all-stores .tracker-table-wrap::-webkit-scrollbar-track {
  background: #2a2722;
}

:root[data-theme="dark"] .revenue-all-stores .tracker-table-wrap::-webkit-scrollbar-thumb {
  background: #a77a31;
  border-color: #2a2722;
}

:root[data-theme="dark"] .revenue-chart-totals > div, :root[data-theme="dark"] .revenue-chart-detail thead th {
  color: #5e5549;
  background: #f3efe7;
  border-color: #e7e1d7;
}

:root[data-theme="dark"] .revenue-chart-totals .forecast strong {
  color: #f2efe8;
}

:root[data-theme="dark"] .chart-grid {
  stroke: #4b463f;
}

:root[data-theme="dark"] .chart-axis-label, :root[data-theme="dark"] .chart-day-label {
  fill: #aaa39a;
}

:root[data-theme="dark"] .revenue-chart-detail, :root[data-theme="dark"] .revenue-chart-detail table {
  color: #171511;
  background: #fff;
}

:root[data-theme="dark"] .revenue-chart-detail th, :root[data-theme="dark"] .revenue-chart-detail td {
  color: #171511;
  border-color: #e7e1d7;
}

:root[data-theme="dark"] .revenue-chart-detail tbody tr:nth-child(2n) th, :root[data-theme="dark"] .revenue-chart-detail tbody tr:nth-child(2n) td {
  background: #faf8f4;
}

:root[data-theme="dark"] .revenue-chart-detail tbody tr:hover th, :root[data-theme="dark"] .revenue-chart-detail tbody tr:hover td {
  background: #fff5d8;
}

.input-with-icon, .select-with-icon {
  position: relative;
}

.input-with-icon svg, .select-with-icon svg {
  color: #8a857c;
  pointer-events: none;
  z-index: 1;
  width: 17px;
  height: 17px;
  position: absolute;
  top: 12px;
  left: 12px;
}

.input-with-icon input, .select-with-icon select {
  padding-left: 38px;
}

.store-combobox {
  z-index: 4;
}

.store-combobox input {
  cursor: pointer;
  padding-right: 38px;
}

.input-with-icon .combobox-chevron {
  transition: transform .18s;
  left: auto;
  right: 12px;
}

.input-with-icon .combobox-chevron.open {
  transform: rotate(180deg);
}

.store-options {
  background: #fff;
  border: 1px solid #dedbd4;
  border-radius: 8px;
  max-height: 272px;
  padding: 5px;
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: 0 14px 35px #1c171024;
}

.store-options button {
  color: #33302c;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 6px;
  width: 100%;
  padding: 10px 11px;
  font-size: 12px;
  display: block;
}

.store-options button:hover, .store-options button[aria-selected="true"] {
  color: #8f5d0d;
  background: #f4eee2;
}

.store-options > span {
  color: var(--muted);
  padding: 12px;
  font-size: 12px;
  display: block;
}

.tracker-toolbar input:focus, .tracker-toolbar select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px #c58a241f;
}

.tracker-result-bar {
  border-top: 1px solid var(--line);
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  min-height: 44px;
  padding: 8px 18px;
  font-size: 12px;
  display: flex;
}

.tracker-result-bar strong {
  color: var(--ink);
}

.tracker-result-bar button {
  color: #9a6411;
  background: none;
  border: 0;
  padding: 6px;
  font-size: 11px;
  font-weight: 700;
}

.tracker-table-wrap {
  overflow-x: auto;
}

.tracker-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 1050px;
  font-size: 11px;
}

.tracker-table th {
  color: #77736c;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
  background: #f5f3ee;
  padding: 11px 14px;
  font-size: 9px;
}

.tracker-table th:has(button) {
  padding: 0;
}

.tracker-table th button {
  color: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  background: none;
  border: 0;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 11px 14px;
  font-weight: 700;
  display: flex;
}

.tracker-table th button:hover, .tracker-table th button.active {
  color: #76500f;
  background: #ece8df;
}

.tracker-table th button span {
  letter-spacing: 0;
  font-size: 12px;
}

.tracker-table td {
  color: #4f4c47;
  vertical-align: middle;
  border-top: 1px solid #efede8;
  padding: 12px 14px;
}

.tracker-table td strong {
  color: var(--ink);
}

.tracker-table tbody tr:hover {
  background: #fcfbf8;
}

.report-table {
  min-width: 1180px;
}

.store-day-table {
  min-width: 820px;
}

.rank-cell {
  font-variant-numeric: tabular-nums;
  width: 42px;
  color: #aaa49b !important;
}

.report-count {
  font-size: 14px;
  color: #9a6411 !important;
}

.report-bar {
  background: #eeeae1;
  border-radius: 999px;
  width: 100%;
  min-width: 110px;
  height: 7px;
  overflow: hidden;
}

.report-bar span {
  border-radius: inherit;
  background: linear-gradient(90deg, #d39b35, #b77b17);
  height: 100%;
  display: block;
}

.status-pill {
  white-space: nowrap;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  font-size: 9px;
  font-weight: 750;
  display: inline-flex;
}

.status-pill.warning {
  color: #a33d16;
  background: #fff0e8;
}

.status-pill.neutral {
  color: #625e57;
  background: #f0eee9;
}

.status-dot {
  background: currentColor;
  border-radius: 50%;
  width: 5px;
  height: 5px;
}

.problem-cell {
  font-weight: 700;
  color: #b1441d !important;
}

.delivery-early-cell {
  font-weight: 700;
  color: #237052 !important;
}

.delivery-difference {
  color: #625e57;
  white-space: nowrap;
  background: #f1eee7;
  border: 1px solid #d9d3c8;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 58px;
  padding: 5px 9px;
  font-weight: 750;
  display: inline-flex;
}

.delivery-difference.late {
  color: #9c351f;
  background: #f9d3ca;
  border-color: #e8a797;
}

.delivery-difference.early {
  color: #237052;
  background: #d7ecdf;
  border-color: #a9d3b8;
}

.delivery-difference.early-warning {
  color: #925b0c;
  background: #ffe3bd;
  border-color: #e7b96d;
}

.vehicle-plate {
  color: #171717;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #f6c900;
  border: 2px solid #252525;
  border-radius: 5px;
  align-items: stretch;
  min-height: 25px;
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #ffffff4d;
}

.vehicle-plate > span:last-child {
  align-items: center;
  padding: 5px 8px;
  display: inline-flex;
}

.vehicle-plate-nl {
  color: #fff;
  letter-spacing: 0;
  background: #174a9c;
  justify-content: center;
  align-items: flex-end;
  padding: 0 3px 3px;
  font-size: 6px;
  display: inline-flex;
  position: relative;
}

.vehicle-plate-nl:before {
  color: #ffd52d;
  content: "✦";
  font-size: 7px;
  position: absolute;
  top: 3px;
  left: 50%;
  transform: translateX(-50%);
}

.time-pill {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 92px;
  padding: 5px 9px;
  display: inline-flex;
}

.time-pill-date {
  opacity: .68;
  font-size: 8px;
  font-weight: 650;
}

.time-pill-time {
  letter-spacing: .01em;
  font-size: 13px;
  font-weight: 800;
}

.time-pill-empty {
  font-size: 10px;
  font-weight: 700;
}

.time-pill.promised {
  color: #36568f;
  background: #e8eefb;
  border-color: #c8d5f0;
}

.time-pill.departed {
  color: #625b50;
  background: #eeeae2;
  border-color: #d9d2c5;
}

.time-pill.delivered {
  color: #245f66;
  background: #d9eef0;
  border-color: #add4d8;
}

.time-pill.gps {
  color: #665184;
  background: #ece7f5;
  border-color: #d3c7e7;
}

.time-pill.problem {
  color: #9c351f;
  background: #f9d3ca;
  border-color: #e8a797;
}

.tracker-store-name {
  align-items: center;
  gap: 9px;
  display: flex;
}

.tracker-store-type {
  color: #6f4d0b;
  letter-spacing: .025em;
  text-shadow: 0 -1px #5b39009e, 0 1px #fff1aee0;
  white-space: nowrap;
  background: #dfbd60;
  border: 1px solid #bd9837;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  min-width: 38px;
  height: 28px;
  padding: 0 8px;
  font-size: 9px;
  font-weight: 900;
  display: inline-flex;
  box-shadow: inset 0 1px #ffffff47;
}

.tracker-store-type.owned, .tracker-store-type.franchise {
  background: linear-gradient(115deg, #c99f3d 0%, #ddb957 28%, #f3da8a 45%, #d4aa43 62%, #e5c66d 80%, #c99f3d 100%) 0 0 / 260% 100%;
  border-color: #e2c66f;
  animation: 5s ease-in-out infinite franchise-gold-shimmer;
  box-shadow: inset 0 1px 1px #ffffff6b, 0 1px 2px #be8f1924;
}

@keyframes franchise-gold-shimmer {
  0%, 72%, 100% {
    filter: saturate() brightness();
    background-position: 100%;
    transform: scale(1);
  }

  82% {
    filter: saturate(1.06) brightness(1.07);
    background-position: 0;
    transform: scale(1.02);
  }

  92% {
    filter: saturate(1.02) brightness(1.02);
    background-position: 35%;
    transform: scale(1.005);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tracker-store-type.owned, .tracker-store-type.franchise, .chart-bar {
    animation: none;
  }
}

.bon-link {
  color: #9a6411;
  text-underline-offset: 3px;
  background: none;
  border: 0;
  padding: 3px 0;
  font-weight: 750;
  -webkit-text-decoration: underline #9a641159;
  text-decoration: underline #9a641159;
}

.bon-link:hover {
  color: #6f4608;
  text-decoration-color: currentColor;
}

.tracker-pagination {
  border-top: 1px solid var(--line);
  color: var(--muted);
  justify-content: space-between;
  align-items: center;
  padding: 13px 18px;
  font-size: 11px;
  display: flex;
}

.tracker-pagination div {
  gap: 7px;
  display: flex;
}

.tracker-pagination button {
  color: var(--ink);
  background: #fff;
  border: 1px solid #dcd8d0;
  border-radius: 6px;
  padding: 7px 11px;
}

.tracker-pagination button:disabled {
  cursor: default;
  opacity: .4;
}

.gps-dialog-backdrop {
  z-index: 100;
  background: #08070694;
  justify-content: center;
  align-items: center;
  padding: 24px;
  display: flex;
  position: fixed;
  inset: 0;
}

.gps-dialog {
  background: #fff;
  border-radius: 14px;
  width: 100%;
  max-width: 850px;
  max-height: min(760px, 100vh - 48px);
  overflow: hidden;
  box-shadow: 0 24px 90px #00000047;
}

.gps-dialog > header {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: flex-start;
  padding: 21px 23px;
  display: flex;
}

.gps-dialog h2 {
  margin: 6px 0 4px;
  font-size: 21px;
}

.gps-dialog header p {
  color: var(--muted);
  margin: 0;
  font-size: 11px;
}

.gps-vehicle-details {
  border-bottom: 1px solid var(--line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 23px;
  display: grid;
}

.gps-vehicle-details span {
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-size: 9px;
  font-weight: 700;
  display: block;
}

.gps-vehicle-details strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  display: block;
  overflow: hidden;
}

.dialog-close {
  color: #4d4942;
  background: #f3f1ec;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  font-size: 22px;
  line-height: 1;
  display: flex;
}

.gps-dialog-summary {
  border-bottom: 1px solid var(--line);
  background: #faf7f0;
  align-items: center;
  gap: 10px;
  padding: 13px 23px;
  display: flex;
}

.gps-dialog-summary strong {
  color: #9a6411;
  font-size: 21px;
}

.gps-dialog-summary span {
  color: var(--muted);
  font-size: 12px;
}

.gps-dialog-state {
  color: var(--muted);
  text-align: center;
  padding: 50px 24px;
  font-size: 13px;
}

.gps-dialog-state.error {
  color: #a33d16;
}

.gps-route-map {
  border-bottom: 1px solid var(--line);
  z-index: 0;
  width: 100%;
  height: 300px;
}

.gps-points-wrap {
  max-height: 270px;
  overflow: auto;
}

.store-day-tickets-wrap {
  max-height: 390px;
  overflow: auto;
}

.gps-points {
  border-collapse: collapse;
  width: 100%;
  font-size: 12px;
}

.gps-points th {
  color: #77736c;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
  background: #f5f3ee;
  padding: 10px 15px;
  font-size: 9px;
  position: sticky;
  top: 0;
}

.gps-points td {
  border-top: 1px solid #efede8;
  padding: 10px 15px;
}

.gps-points a {
  color: #8d5b0c;
  text-decoration: none;
}

.gps-points a:hover {
  text-decoration: underline;
}

.maps-link {
  align-items: center;
  gap: 6px;
  font-weight: 700;
  display: inline-flex;
}

.maps-link svg {
  width: 15px;
  height: 15px;
}

@media (min-width: 1440px) {
  .content {
    padding: 48px 56px;
  }

  .dashboard-page, .report-tabs {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 760px) {
  .login-page {
    display: block;
  }

  .login-panel {
    padding: 28px 24px;
  }

  .login-visual {
    display: none;
  }

  .login-content {
    width: 100%;
    margin: auto;
  }

  .app-shell {
    display: block;
  }

  .sidebar {
    z-index: 20;
    width: 100%;
    min-height: auto;
    position: fixed;
    top: auto;
    bottom: 0;
  }

  .sidebar-brand, .portal-label, .sidebar-bottom {
    display: none;
  }

  .sidebar nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 8px 14px;
    display: grid;
  }

  .nav-item {
    justify-content: center;
    padding: 10px;
  }

  .topbar {
    height: 66px;
    padding: 0 18px;
  }

  .mobile-brand {
    display: block;
  }

  .mobile-brand .brand-name {
    color: #171511;
    font-size: 21px;
  }

  .user-copy {
    display: none;
  }

  .content {
    padding: 26px 18px 100px;
  }

  .empty-state {
    min-height: 390px;
    padding: 32px 20px;
  }

  .tracker-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tracker-page-heading {
    align-items: flex-start;
    display: block;
  }

  .tracker-page-heading p {
    text-align: left;
    margin-top: 7px;
    padding: 0;
  }

  .tracker-toolbar, .revenue-table-controls, .revenue-date-filter {
    grid-template-columns: 1fr;
  }

  .revenue-filter-result {
    justify-content: space-between;
  }

  .revenue-chart-totals {
    grid-template-columns: 1fr;
  }

  .revenue-chart-wrap {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: auto;
  }

  .revenue-week-chart {
    min-width: 680px;
  }

  .report-tabs {
    margin-top: -12px;
  }
}

@media (max-width: 440px) {
  .tracker-stats {
    grid-template-columns: 1fr;
  }

  .gps-dialog-backdrop {
    padding: 10px;
  }

  .gps-dialog-summary {
    align-items: flex-start;
  }

  .gps-vehicle-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*# sourceMappingURL=_1eso6nj._.css.map*/