*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(66 153 225 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(66 153 225 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #b0b0b0;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Aeonik, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: AeonikMono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #797979;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #797979;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 93.75rem) {
  .\!container {
    max-width: 93.75rem !important;
  }

  .container {
    max-width: 93.75rem;
  }
}

@media (min-width: 540px) {
  .\!container {
    max-width: 540px !important;
  }

  .container {
    max-width: 540px;
  }
}

@media (min-width: 720px) {
  .\!container {
    max-width: 720px !important;
  }

  .container {
    max-width: 720px;
  }
}

@media (min-width: 960px) {
  .\!container {
    max-width: 960px !important;
  }

  .container {
    max-width: 960px;
  }
}

@media (min-width: 1140px) {
  .\!container {
    max-width: 1140px !important;
  }

  .container {
    max-width: 1140px;
  }
}

.ec-container {
  margin-left: auto;
  margin-right: auto;
  height: auto;
  max-width: 100rem;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  position: relative;
}

@media (min-width: 93.75rem) {
  .ec-container {
    overflow: visible;
  }
}

.\!ec-base-btn {
  height: auto;
  width: auto;
  background-color: unset;
}

/* Avoid name conflict with Bootstrap's hidden class */

.ec-hidden {
  display: none !important;
}

/* Avoid name conflict with Bootstrap's show class */

.ec-show {
  display: inherit !important;
  left: 0px !important;
}

/*.tailwind-form {*/

/*  display: inline;*/

/*}*/

.tailwind-form label {
  font-weight: bold;
  text-transform: uppercase;
}

.tailwind-form input {
  padding: 10px;
  border: 1px solid #B2B2B2;
}

/* change border when text is entered */

.tailwind-form input:required:valid {
  border: 1px solid black;
}

/* change border when text is entered */

.tailwind-form input:optional:valid:not(:-moz-placeholder-shown):not([type="submit"]) {
  border: 1px solid black;
}

.tailwind-form input:optional:valid:not(:placeholder-shown):not([type="submit"]) {
  border: 1px solid black;
}

.tailwind-form input[type="submit"] {
  border-radius: 0;
  border: none;
  background: #00A398;
  font-weight: 400;
  letter-spacing: 1.25px;
  font-family: AeonikMono;
}

.tailwind-form input[type="submit"]:hover {
  background: #509594;
}

.tailwind-form input[type="radio"] {
  padding-top: 2px;
}

.tailwind-form input[type="radio"]:checked {
  background-color: black !important;
  color: black !important;
  accent-color: black;
}

.tailwind-form input[type="checkbox"] {
  border-radius: 20px;
  width: 17px;
  height: 17px;
}

.tailwind-form input[type="checkbox"]:checked {
  border-radius: 20px;
  background-color: black !important;
  color: white;
  accent-color: black;
}

.tailwind-form input[type="checkbox"]:before {
  border-radius: 20px;
}

.tailwind-form button {
  background-color: black;
  color: white !important;
  font-weight: 400;
  letter-spacing: 1.25px;
  height: 56px;
  width: 180px;
}

.gray {
  color: #B2B2B2 !important;
}

.error-input {
  border: 1px solid #E32900 !important;
}

.error-message {
  color: #E32900;
  font-size: 14px;
}

a.ec-link {
  color: #B2B2B2;
  text-decoration: underline;
}

a.teal-link {
  color: #00A398;
  text-decoration: underline;
}

a.teal-link:hover {
  color: black;
  text-decoration: underline;
}

body {
  font-family: Aeonik, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

.grecaptcha-badge {
  visibility: hidden;
  opacity: 0;
}

.invisible {
  visibility: hidden;
}

.inline-block {
  display: inline-block;
}

.hidden {
  display: none !important;
}

.tight-letter-spacing {
  letter-spacing: 0.1px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border-width: 0 !important;
}

.not-sr-only {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

.pointer-events-none {
  pointer-events: none !important;
}

.pointer-events-auto {
  pointer-events: auto !important;
}

.static {
  position: static !important;
}

.fixed {
  position: fixed !important;
}

.absolute {
  position: absolute !important;
}

.relative {
  position: relative !important;
}

.sticky {
  position: sticky !important;
}

.inset-0 {
  inset: 0px !important;
}

.inset-y-0 {
  top: 0px !important;
  bottom: 0px !important;
}

.-right-2 {
  right: -0.5rem !important;
}

.-top-2 {
  top: -0.5rem !important;
}

.bottom-0 {
  bottom: 0px !important;
}

.bottom-6 {
  bottom: 1.5rem !important;
}

.bottom-8 {
  bottom: 2rem !important;
}

.bottom-full {
  bottom: 100% !important;
}

.end-2\.5 {
  inset-inline-end: 0.625rem !important;
}

.left-0 {
  left: 0px !important;
}

.left-0\.5 {
  left: 0.125rem !important;
}

.left-1\/2 {
  left: 50% !important;
}

.left-5 {
  left: 1.25rem !important;
}

.left-6 {
  left: 1.5rem !important;
}

.left-full {
  left: 100% !important;
}

.right-0 {
  right: 0px !important;
}

.right-1 {
  right: 0.25rem !important;
}

.right-100 {
  right: 25rem !important;
}

.right-2 {
  right: 0.5rem !important;
}

.right-5 {
  right: 1.25rem !important;
}

.right-6 {
  right: 1.5rem !important;
}

.top-0 {
  top: 0px !important;
}

.top-0\.5 {
  top: 0.125rem !important;
}

.top-1\/2 {
  top: 50% !important;
}

.top-2 {
  top: 0.5rem !important;
}

.top-2\.5 {
  top: 0.625rem !important;
}

.top-5 {
  top: 1.25rem !important;
}

.top-\[170px\] {
  top: 170px !important;
}

.top-\[30vh\] {
  top: 30vh !important;
}

.top-\[50px\] {
  top: 50px !important;
}

.top-\[8rem\] {
  top: 8rem !important;
}

.isolate {
  isolation: isolate !important;
}

.isolation-auto {
  isolation: auto !important;
}

.-z-10 {
  z-index: -10 !important;
}

.z-10 {
  z-index: 10 !important;
}

.z-20 {
  z-index: 20 !important;
}

.z-30 {
  z-index: 30 !important;
}

.z-50 {
  z-index: 50 !important;
}

.z-\[100\] {
  z-index: 100 !important;
}

.z-\[9999\] {
  z-index: 9999 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-none {
  order: 0 !important;
}

.col-auto {
  grid-column: auto !important;
}

.col-span-1 {
  grid-column: span 1 / span 1 !important;
}

.col-span-2 {
  grid-column: span 2 / span 2 !important;
}

.col-span-3 {
  grid-column: span 3 / span 3 !important;
}

.col-span-4 {
  grid-column: span 4 / span 4 !important;
}

.col-span-5 {
  grid-column: span 5 / span 5 !important;
}

.col-span-7 {
  grid-column: span 7 / span 7 !important;
}

.float-start {
  float: inline-start !important;
}

.float-end {
  float: inline-end !important;
}

.float-right {
  float: right !important;
}

.float-left {
  float: left !important;
}

.float-none {
  float: none !important;
}

.clear-start {
  clear: inline-start !important;
}

.clear-end {
  clear: inline-end !important;
}

.clear-left {
  clear: left !important;
}

.clear-right {
  clear: right !important;
}

.clear-both {
  clear: both !important;
}

.clear-none {
  clear: none !important;
}

.-m-2 {
  margin: -0.5rem !important;
}

.m-0 {
  margin: 0px !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 0.75rem !important;
}

.m-4 {
  margin: 1rem !important;
}

.m-\[14px\] {
  margin: 14px !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.mx-3 {
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-5 {
  margin-left: 1.25rem !important;
  margin-right: 1.25rem !important;
}

.mx-6 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.mx-8 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-10 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.my-16 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.my-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-5 {
  margin-top: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.my-8 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.-mb-px {
  margin-bottom: -1px !important;
}

.-ml-4 {
  margin-left: -1rem !important;
}

.-ml-8 {
  margin-left: -2rem !important;
}

.-mt-1 {
  margin-top: -0.25rem !important;
}

.-mt-2 {
  margin-top: -0.5rem !important;
}

.-mt-25 {
  margin-top: -6.25rem !important;
}

.-mt-4 {
  margin-top: -1rem !important;
}

.-mt-5 {
  margin-top: -1.25rem !important;
}

.-mt-6 {
  margin-top: -1.5rem !important;
}

.-mt-8 {
  margin-top: -2rem !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-10 {
  margin-bottom: 2.5rem !important;
}

.mb-12 {
  margin-bottom: 3rem !important;
}

.mb-14 {
  margin-bottom: 3.5rem !important;
}

.mb-16 {
  margin-bottom: 4rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-20 {
  margin-bottom: 5rem !important;
}

.mb-24 {
  margin-bottom: 6rem !important;
}

.mb-3 {
  margin-bottom: 0.75rem !important;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.mb-5 {
  margin-bottom: 1.25rem !important;
}

.mb-6 {
  margin-bottom: 1.5rem !important;
}

.mb-8 {
  margin-bottom: 2rem !important;
}

.mb-\[15px\] {
  margin-bottom: 15px !important;
}

.mb-\[6px\] {
  margin-bottom: 6px !important;
}

.me-1\.5 {
  margin-inline-end: 0.375rem !important;
}

.me-2 {
  margin-inline-end: 0.5rem !important;
}

.me-2\.5 {
  margin-inline-end: 0.625rem !important;
}

.me-3 {
  margin-inline-end: 0.75rem !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.ml-10 {
  margin-left: 2.5rem !important;
}

.ml-12 {
  margin-left: 3rem !important;
}

.ml-16 {
  margin-left: 4rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.ml-2\.5 {
  margin-left: 0.625rem !important;
}

.ml-4 {
  margin-left: 1rem !important;
}

.ml-40 {
  margin-left: 10rem !important;
}

.ml-52 {
  margin-left: 13rem !important;
}

.ml-6 {
  margin-left: 1.5rem !important;
}

.ml-8 {
  margin-left: 2rem !important;
}

.ml-\[-50px\] {
  margin-left: -50px !important;
}

.ml-\[155px\] {
  margin-left: 155px !important;
}

.ml-\[180px\] {
  margin-left: 180px !important;
}

.ml-\[1rem\] {
  margin-left: 1rem !important;
}

.ml-\[85px\] {
  margin-left: 85px !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mr-10 {
  margin-right: 2.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mr-3 {
  margin-right: 0.75rem !important;
}

.mr-4 {
  margin-right: 1rem !important;
}

.mr-5 {
  margin-right: 1.25rem !important;
}

.mr-6 {
  margin-right: 1.5rem !important;
}

.mr-8 {
  margin-right: 2rem !important;
}

.mr-\[115px\] {
  margin-right: 115px !important;
}

.mr-auto {
  margin-right: auto !important;
}

.ms-3 {
  margin-inline-start: 0.75rem !important;
}

.ms-auto {
  margin-inline-start: auto !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-10 {
  margin-top: 2.5rem !important;
}

.mt-12 {
  margin-top: 3rem !important;
}

.mt-16 {
  margin-top: 4rem !important;
}

.mt-19 {
  margin-top: 4.688rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-24 {
  margin-top: 6rem !important;
}

.mt-25 {
  margin-top: 6.25rem !important;
}

.mt-3 {
  margin-top: 0.75rem !important;
}

.mt-32 {
  margin-top: 8rem !important;
}

.mt-4 {
  margin-top: 1rem !important;
}

.mt-5 {
  margin-top: 1.25rem !important;
}

.mt-6 {
  margin-top: 1.5rem !important;
}

.mt-8 {
  margin-top: 2rem !important;
}

.mt-96 {
  margin-top: 24rem !important;
}

.mt-\[-42px\] {
  margin-top: -42px !important;
}

.mt-\[2px\] {
  margin-top: 2px !important;
}

.mt-\[2rem\] {
  margin-top: 2rem !important;
}

.mt-\[40px\] {
  margin-top: 40px !important;
}

.box-border {
  box-sizing: border-box !important;
}

.box-content {
  box-sizing: content-box !important;
}

.block {
  display: block !important;
}

.inline-block {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.flex {
  display: flex !important;
}

.inline-flex {
  display: inline-flex !important;
}

.table {
  display: table !important;
}

.inline-table {
  display: inline-table !important;
}

.table-caption {
  display: table-caption !important;
}

.table-cell {
  display: table-cell !important;
}

.table-column {
  display: table-column !important;
}

.table-column-group {
  display: table-column-group !important;
}

.table-footer-group {
  display: table-footer-group !important;
}

.table-header-group {
  display: table-header-group !important;
}

.table-row-group {
  display: table-row-group !important;
}

.table-row {
  display: table-row !important;
}

.flow-root {
  display: flow-root !important;
}

.grid {
  display: grid !important;
}

.inline-grid {
  display: inline-grid !important;
}

.contents {
  display: contents !important;
}

.list-item {
  display: list-item !important;
}

.hidden {
  display: none !important;
}

.h-0 {
  height: 0px !important;
}

.h-10 {
  height: 2.5rem !important;
}

.h-100 {
  height: 25rem !important;
}

.h-12 {
  height: 3rem !important;
}

.h-135 {
  height: 32rem !important;
}

.h-14 {
  height: 3.5rem !important;
}

.h-146 {
  height: 36.5rem !important;
}

.h-16 {
  height: 4rem !important;
}

.h-19 {
  height: 4.688rem !important;
}

.h-20 {
  height: 5rem !important;
}

.h-22 {
  height: 5.5rem !important;
}

.h-24 {
  height: 6rem !important;
}

.h-3 {
  height: 0.75rem !important;
}

.h-3\/4 {
  height: 75% !important;
}

.h-4 {
  height: 1rem !important;
}

.h-5 {
  height: 1.25rem !important;
}

.h-5\/6 {
  height: 83.333333% !important;
}

.h-6 {
  height: 1.5rem !important;
}

.h-68 {
  height: 17rem !important;
}

.h-8 {
  height: 2rem !important;
}

.h-80 {
  height: 20rem !important;
}

.h-88 {
  height: 22rem !important;
}

.h-\[100vh\] {
  height: 100vh !important;
}

.h-\[12rem\] {
  height: 12rem !important;
}

.h-\[14rem\] {
  height: 14rem !important;
}

.h-\[20px\] {
  height: 20px !important;
}

.h-\[28px\] {
  height: 28px !important;
}

.h-\[2rem\] {
  height: 2rem !important;
}

.h-\[30px\] {
  height: 30px !important;
}

.h-\[32px\] {
  height: 32px !important;
}

.h-\[3rem\] {
  height: 3rem !important;
}

.h-\[400px\] {
  height: 400px !important;
}

.h-\[48px\] {
  height: 48px !important;
}

.h-\[95vh\] {
  height: 95vh !important;
}

.h-\[calc\(100\%-1rem\)\] {
  height: calc(100% - 1rem) !important;
}

.h-auto {
  height: auto !important;
}

.h-fit {
  height: -moz-fit-content !important;
  height: fit-content !important;
}

.h-full {
  height: 100% !important;
}

.h-screen {
  height: 100vh !important;
}

.max-h-16 {
  max-height: 4rem !important;
}

.max-h-\[80\%\] {
  max-height: 80% !important;
}

.max-h-full {
  max-height: 100% !important;
}

.max-h-screen {
  max-height: 100vh !important;
}

.min-h-100 {
  min-height: 25rem !important;
}

.min-h-16 {
  min-height: 4rem !important;
}

.min-h-88 {
  min-height: 22rem !important;
}

.min-h-\[50rem\] {
  min-height: 50rem !important;
}

.min-h-fit {
  min-height: -moz-fit-content !important;
  min-height: fit-content !important;
}

.min-h-screen {
  min-height: 100vh !important;
}

.w-1\/12 {
  width: 8.333333% !important;
}

.w-1\/2 {
  width: 50% !important;
}

.w-1\/3 {
  width: 33.333333% !important;
}

.w-1\/4 {
  width: 25% !important;
}

.w-1\/5 {
  width: 20% !important;
}

.w-10 {
  width: 2.5rem !important;
}

.w-100 {
  width: 25rem !important;
}

.w-11 {
  width: 2.80rem !important;
}

.w-12 {
  width: 3rem !important;
}

.w-146 {
  width: 36.5rem !important;
}

.w-2 {
  width: 0.5rem !important;
}

.w-2\/12 {
  width: 16.666667% !important;
}

.w-2\/3 {
  width: 66.666667% !important;
}

.w-20 {
  width: 5rem !important;
}

.w-24 {
  width: 6rem !important;
}

.w-25 {
  width: 6.25rem !important;
}

.w-3 {
  width: 0.75rem !important;
}

.w-3\/12 {
  width: 25% !important;
}

.w-3\/5 {
  width: 60% !important;
}

.w-32 {
  width: 8rem !important;
}

.w-4 {
  width: 1rem !important;
}

.w-4\/12 {
  width: 33.333333% !important;
}

.w-40 {
  width: 10rem !important;
}

.w-44 {
  width: 11rem !important;
}

.w-5 {
  width: 1.25rem !important;
}

.w-6 {
  width: 1.5rem !important;
}

.w-6\/12 {
  width: 50% !important;
}

.w-8 {
  width: 2rem !important;
}

.w-8\/12 {
  width: 66.666667% !important;
}

.w-80 {
  width: 20rem !important;
}

.w-88 {
  width: 22rem !important;
}

.w-\[100\%\] {
  width: 100% !important;
}

.w-\[100px\] {
  width: 100px !important;
}

.w-\[110px\] {
  width: 110px !important;
}

.w-\[120px\] {
  width: 120px !important;
}

.w-\[200px\] {
  width: 200px !important;
}

.w-\[20px\] {
  width: 20px !important;
}

.w-\[250px\] {
  width: 250px !important;
}

.w-\[30px\] {
  width: 30px !important;
}

.w-\[320px\] {
  width: 320px !important;
}

.w-\[325px\] {
  width: 325px !important;
}

.w-\[32px\] {
  width: 32px !important;
}

.w-\[375px\] {
  width: 375px !important;
}

.w-\[50rem\] {
  width: 50rem !important;
}

.w-\[60\%\] {
  width: 60% !important;
}

.w-\[75\%\] {
  width: 75% !important;
}

.w-\[800px\] {
  width: 800px !important;
}

.w-auto {
  width: auto !important;
}

.w-full {
  width: 100% !important;
}

.w-screen {
  width: 100vw !important;
}

.min-w-56 {
  min-width: 14rem !important;
}

.min-w-\[100px\] {
  min-width: 100px !important;
}

.min-w-\[150px\] {
  min-width: 150px !important;
}

.min-w-\[200px\] {
  min-width: 200px !important;
}

.min-w-full {
  min-width: 100% !important;
}

.max-w-2xl {
  max-width: 42rem !important;
}

.max-w-3xl {
  max-width: 48rem !important;
}

.max-w-7xl {
  max-width: 80rem !important;
}

.max-w-\[1200px\] {
  max-width: 1200px !important;
}

.max-w-\[180px\] {
  max-width: 180px !important;
}

.max-w-\[200px\] {
  max-width: 200px !important;
}

.max-w-\[250px\] {
  max-width: 250px !important;
}

.max-w-\[420px\] {
  max-width: 420px !important;
}

.max-w-\[800px\] {
  max-width: 800px !important;
}

.max-w-full {
  max-width: 100% !important;
}

.max-w-lg {
  max-width: 32rem !important;
}

.max-w-none {
  max-width: none !important;
}

.max-w-xl {
  max-width: 36rem !important;
}

.flex-1 {
  flex: 1 1 0% !important;
}

.flex-auto {
  flex: 1 1 auto !important;
}

.flex-initial {
  flex: 0 1 auto !important;
}

.flex-none {
  flex: none !important;
}

.flex-shrink {
  flex-shrink: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.shrink {
  flex-shrink: 1 !important;
}

.shrink-0 {
  flex-shrink: 0 !important;
}

.flex-grow {
  flex-grow: 1 !important;
}

.grow {
  flex-grow: 1 !important;
}

.basis-1\/4 {
  flex-basis: 25% !important;
}

.basis-auto {
  flex-basis: auto !important;
}

.basis-full {
  flex-basis: 100% !important;
}

.table-auto {
  table-layout: auto !important;
}

.table-fixed {
  table-layout: fixed !important;
}

.caption-top {
  caption-side: top !important;
}

.caption-bottom {
  caption-side: bottom !important;
}

.border-collapse {
  border-collapse: collapse !important;
}

.border-separate {
  border-collapse: separate !important;
}

.border-spacing-2 {
  --tw-border-spacing-x: 0.5rem !important;
  --tw-border-spacing-y: 0.5rem !important;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y) !important;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.-translate-x-\[30\%\] {
  --tw-translate-x: -30% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.-translate-y-1\/2 {
  --tw-translate-y: -50% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.-translate-y-\[90\%\] {
  --tw-translate-y: -90% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.translate-x-full {
  --tw-translate-x: 100% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.-rotate-90 {
  --tw-rotate: -90deg !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.scale-100 {
  --tw-scale-x: 1 !important;
  --tw-scale-y: 1 !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.scale-75 {
  --tw-scale-x: .75 !important;
  --tw-scale-y: .75 !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.transform-cpu {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.transform-gpu {
  transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.transform-none {
  transform: none !important;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite !important;
}

.cursor-default {
  cursor: default !important;
}

.cursor-not-allowed {
  cursor: not-allowed !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.touch-pinch-zoom {
  --tw-pinch-zoom: pinch-zoom !important;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom) !important;
}

.resize-none {
  resize: none !important;
}

.resize-y {
  resize: vertical !important;
}

.resize-x {
  resize: horizontal !important;
}

.resize {
  resize: both !important;
}

.snap-none {
  scroll-snap-type: none !important;
}

.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory !important;
}

.snap-proximity {
  --tw-scroll-snap-strictness: proximity !important;
}

.snap-start {
  scroll-snap-align: start !important;
}

.snap-end {
  scroll-snap-align: end !important;
}

.snap-center {
  scroll-snap-align: center !important;
}

.snap-align-none {
  scroll-snap-align: none !important;
}

.snap-normal {
  scroll-snap-stop: normal !important;
}

.snap-always {
  scroll-snap-stop: always !important;
}

.list-inside {
  list-style-position: inside !important;
}

.list-outside {
  list-style-position: outside !important;
}

.list-disc {
  list-style-type: disc !important;
}

.list-none {
  list-style-type: none !important;
}

.appearance-none {
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
}

.appearance-auto {
  -webkit-appearance: auto !important;
     -moz-appearance: auto !important;
          appearance: auto !important;
}

.auto-cols-max {
  grid-auto-columns: max-content !important;
}

.grid-flow-row {
  grid-auto-flow: row !important;
}

.grid-flow-col {
  grid-auto-flow: column !important;
}

.grid-flow-dense {
  grid-auto-flow: dense !important;
}

.grid-flow-row-dense {
  grid-auto-flow: row dense !important;
}

.grid-flow-col-dense {
  grid-auto-flow: column dense !important;
}

.auto-rows-max {
  grid-auto-rows: max-content !important;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.grid-rows-3 {
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-col {
  flex-direction: column !important;
}

.flex-col-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.place-content-center {
  place-content: center !important;
}

.place-content-start {
  place-content: start !important;
}

.place-content-end {
  place-content: end !important;
}

.place-content-between {
  place-content: space-between !important;
}

.place-content-around {
  place-content: space-around !important;
}

.place-content-evenly {
  place-content: space-evenly !important;
}

.place-content-baseline {
  place-content: baseline !important;
}

.place-content-stretch {
  place-content: stretch !important;
}

.place-items-start {
  place-items: start !important;
}

.place-items-end {
  place-items: end !important;
}

.place-items-center {
  place-items: center !important;
}

.place-items-baseline {
  place-items: baseline !important;
}

.place-items-stretch {
  place-items: stretch !important;
}

.content-normal {
  align-content: normal !important;
}

.content-center {
  align-content: center !important;
}

.content-start {
  align-content: flex-start !important;
}

.content-end {
  align-content: flex-end !important;
}

.content-between {
  align-content: space-between !important;
}

.content-around {
  align-content: space-around !important;
}

.content-evenly {
  align-content: space-evenly !important;
}

.content-baseline {
  align-content: baseline !important;
}

.content-stretch {
  align-content: stretch !important;
}

.items-start {
  align-items: flex-start !important;
}

.items-end {
  align-items: flex-end !important;
}

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

.items-baseline {
  align-items: baseline !important;
}

.items-stretch {
  align-items: stretch !important;
}

.justify-normal {
  justify-content: normal !important;
}

.justify-start {
  justify-content: flex-start !important;
}

.justify-end {
  justify-content: flex-end !important;
}

.justify-center {
  justify-content: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

.justify-around {
  justify-content: space-around !important;
}

.justify-evenly {
  justify-content: space-evenly !important;
}

.justify-stretch {
  justify-content: stretch !important;
}

.justify-items-start {
  justify-items: start !important;
}

.justify-items-end {
  justify-items: end !important;
}

.justify-items-center {
  justify-items: center !important;
}

.justify-items-stretch {
  justify-items: stretch !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 0.75rem !important;
}

.gap-4 {
  gap: 1rem !important;
}

.gap-6 {
  gap: 1.5rem !important;
}

.gap-x-0 {
  -moz-column-gap: 0px !important;
       column-gap: 0px !important;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem !important;
       column-gap: 0.5rem !important;
}

.gap-x-4 {
  -moz-column-gap: 1rem !important;
       column-gap: 1rem !important;
}

.gap-x-8 {
  -moz-column-gap: 2rem !important;
       column-gap: 2rem !important;
}

.gap-y-0 {
  row-gap: 0px !important;
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0 !important;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse)) !important;
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))) !important;
}

.space-x-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0 !important;
  margin-right: calc(3rem * var(--tw-space-x-reverse)) !important;
  margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse))) !important;
}

.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0 !important;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse)) !important;
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))) !important;
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0 !important;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))) !important;
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)) !important;
}

.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0 !important;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse))) !important;
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse)) !important;
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0 !important;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))) !important;
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)) !important;
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0 !important;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))) !important;
  margin-bottom: calc(1rem * var(--tw-space-y-reverse)) !important;
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0 !important;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))) !important;
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)) !important;
}

.space-y-reverse > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 1 !important;
}

.space-x-reverse > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 1 !important;
}

.divide-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0 !important;
  border-right-width: calc(1px * var(--tw-divide-x-reverse)) !important;
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))) !important;
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0 !important;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))) !important;
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse)) !important;
}

.divide-y-reverse > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 1 !important;
}

.divide-x-reverse > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 1 !important;
}

.place-self-auto {
  place-self: auto !important;
}

.place-self-start {
  place-self: start !important;
}

.place-self-end {
  place-self: end !important;
}

.place-self-center {
  place-self: center !important;
}

.place-self-stretch {
  place-self: stretch !important;
}

.self-auto {
  align-self: auto !important;
}

.self-start {
  align-self: flex-start !important;
}

.self-end {
  align-self: flex-end !important;
}

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

.self-stretch {
  align-self: stretch !important;
}

.self-baseline {
  align-self: baseline !important;
}

.justify-self-auto {
  justify-self: auto !important;
}

.justify-self-start {
  justify-self: start !important;
}

.justify-self-end {
  justify-self: end !important;
}

.justify-self-center {
  justify-self: center !important;
}

.justify-self-stretch {
  justify-self: stretch !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.scroll-auto {
  scroll-behavior: auto !important;
}

.scroll-smooth {
  scroll-behavior: smooth !important;
}

.truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.overflow-ellipsis {
  text-overflow: ellipsis !important;
}

.text-ellipsis {
  text-overflow: ellipsis !important;
}

.text-clip {
  text-overflow: clip !important;
}

.hyphens-none {
  -webkit-hyphens: none !important;
          hyphens: none !important;
}

.hyphens-manual {
  -webkit-hyphens: manual !important;
          hyphens: manual !important;
}

.hyphens-auto {
  -webkit-hyphens: auto !important;
          hyphens: auto !important;
}

.whitespace-normal {
  white-space: normal !important;
}

.whitespace-nowrap {
  white-space: nowrap !important;
}

.whitespace-pre {
  white-space: pre !important;
}

.whitespace-pre-line {
  white-space: pre-line !important;
}

.whitespace-pre-wrap {
  white-space: pre-wrap !important;
}

.whitespace-break-spaces {
  white-space: break-spaces !important;
}

.text-wrap {
  text-wrap: wrap !important;
}

.text-nowrap {
  text-wrap: nowrap !important;
}

.text-balance {
  text-wrap: balance !important;
}

.text-pretty {
  text-wrap: pretty !important;
}

.break-normal {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.break-words {
  overflow-wrap: break-word !important;
}

.break-all {
  word-break: break-all !important;
}

.break-keep {
  word-break: keep-all !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-2xl {
  border-radius: 1rem !important;
}

.rounded-\[3px\] {
  border-radius: 3px !important;
}

.rounded-\[4px\] {
  border-radius: 4px !important;
}

.rounded-full {
  border-radius: 9999px !important;
}

.rounded-lg {
  border-radius: 0.5rem !important;
}

.rounded-md {
  border-radius: 0.375rem !important;
}

.rounded-none {
  border-radius: 0px !important;
}

.rounded-xl {
  border-radius: 0.75rem !important;
}

.rounded-b {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-b-md {
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}

.rounded-e {
  border-start-end-radius: 0.25rem !important;
  border-end-end-radius: 0.25rem !important;
}

.rounded-e-lg {
  border-start-end-radius: 0.5rem !important;
  border-end-end-radius: 0.5rem !important;
}

.rounded-l {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-l-\[2px\] {
  border-top-left-radius: 2px !important;
  border-bottom-left-radius: 2px !important;
}

.rounded-l-md {
  border-top-left-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}

.rounded-r {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-r-\[2px\] {
  border-top-right-radius: 2px !important;
  border-bottom-right-radius: 2px !important;
}

.rounded-s {
  border-start-start-radius: 0.25rem !important;
  border-end-start-radius: 0.25rem !important;
}

.rounded-s-lg {
  border-start-start-radius: 0.5rem !important;
  border-end-start-radius: 0.5rem !important;
}

.rounded-t {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-t-lg {
  border-top-left-radius: 0.5rem !important;
  border-top-right-radius: 0.5rem !important;
}

.rounded-t-md {
  border-top-left-radius: 0.375rem !important;
  border-top-right-radius: 0.375rem !important;
}

.rounded-bl {
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-br {
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-ee {
  border-end-end-radius: 0.25rem !important;
}

.rounded-es {
  border-end-start-radius: 0.25rem !important;
}

.rounded-se {
  border-start-end-radius: 0.25rem !important;
}

.rounded-ss {
  border-start-start-radius: 0.25rem !important;
}

.rounded-tl {
  border-top-left-radius: 0.25rem !important;
}

.rounded-tr {
  border-top-right-radius: 0.25rem !important;
}

.border {
  border-width: 1px !important;
}

.border-0 {
  border-width: 0px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-x {
  border-left-width: 1px !important;
  border-right-width: 1px !important;
}

.border-y {
  border-top-width: 1px !important;
  border-bottom-width: 1px !important;
}

.border-b {
  border-bottom-width: 1px !important;
}

.border-b-0 {
  border-bottom-width: 0px !important;
}

.border-b-2 {
  border-bottom-width: 2px !important;
}

.border-b-\[1px\] {
  border-bottom-width: 1px !important;
}

.border-e {
  border-inline-end-width: 1px !important;
}

.border-l {
  border-left-width: 1px !important;
}

.border-r {
  border-right-width: 1px !important;
}

.border-r-0 {
  border-right-width: 0px !important;
}

.border-s {
  border-inline-start-width: 1px !important;
}

.border-t {
  border-top-width: 1px !important;
}

.border-t-2 {
  border-top-width: 2px !important;
}

.border-solid {
  border-style: solid !important;
}

.border-dashed {
  border-style: dashed !important;
}

.border-dotted {
  border-style: dotted !important;
}

.border-double {
  border-style: double !important;
}

.border-hidden {
  border-style: hidden !important;
}

.border-none {
  border-style: none !important;
}

.border-\[rgba\(0\2c 164\2c 153\2c 1\)\] {
  border-color: rgba(0,164,153,1) !important;
}

.border-black {
  --tw-border-opacity: 1 !important;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1)) !important;
}

.border-blue-200 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(190 227 248 / var(--tw-border-opacity, 1)) !important;
}

.border-blue-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(66 153 225 / var(--tw-border-opacity, 1)) !important;
}

.border-gray-100 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(208 208 208 / var(--tw-border-opacity, 1)) !important;
}

.border-gray-200 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(176 176 176 / var(--tw-border-opacity, 1)) !important;
}

.border-gray-300 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(144 144 144 / var(--tw-border-opacity, 1)) !important;
}

.border-gray-400 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(121 121 121 / var(--tw-border-opacity, 1)) !important;
}

.border-gray-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(244 244 244 / var(--tw-border-opacity, 1)) !important;
}

.border-green-700 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(47 133 90 / var(--tw-border-opacity, 1)) !important;
}

.border-red-200 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(254 215 215 / var(--tw-border-opacity, 1)) !important;
}

.border-red-300 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(254 178 178 / var(--tw-border-opacity, 1)) !important;
}

.border-red-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(245 101 101 / var(--tw-border-opacity, 1)) !important;
}

.border-teal-400 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(0 255 193 / var(--tw-border-opacity, 1)) !important;
}

.border-teal-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(0 163 152 / var(--tw-border-opacity, 1)) !important;
}

.border-transparent {
  border-color: transparent !important;
}

.border-white {
  --tw-border-opacity: 1 !important;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1)) !important;
}

.border-yellow-300 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(252 211 108 / var(--tw-border-opacity, 1)) !important;
}

.border-b-white {
  --tw-border-opacity: 1 !important;
  border-bottom-color: rgb(255 255 255 / var(--tw-border-opacity, 1)) !important;
}

.bg-\[\#f4f4f4\] {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1)) !important;
}

.bg-\[rgba\(0\2c 0\2c 0\2c 0\.42\)\] {
  background-color: rgba(0,0,0,0.42) !important;
}

.bg-\[rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  background-color: rgba(0,0,0,0.5) !important;
}

.bg-\[rgba\(0\2c 0\2c 0\2c 0\.9\)\] {
  background-color: rgba(0,0,0,0.9) !important;
}

.bg-black {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(235 248 255 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(190 227 248 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(144 205 244 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(99 179 237 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-500 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(66 153 225 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-600 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(49 130 206 / var(--tw-bg-opacity, 1)) !important;
}

.bg-blue-700 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(43 108 176 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(208 208 208 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(176 176 176 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(144 144 144 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(121 121 121 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-50 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-600 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(89 89 89 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-75 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(241 242 242 / var(--tw-bg-opacity, 1)) !important;
}

.bg-gray-800 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(69 69 69 / var(--tw-bg-opacity, 1)) !important;
}

.bg-green-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(198 246 213 / var(--tw-bg-opacity, 1)) !important;
}

.bg-green-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(154 230 180 / var(--tw-bg-opacity, 1)) !important;
}

.bg-green-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(104 211 145 / var(--tw-bg-opacity, 1)) !important;
}

.bg-green-400\/10 {
  background-color: rgb(104 211 145 / 0.1) !important;
}

.bg-green-600 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(56 161 105 / var(--tw-bg-opacity, 1)) !important;
}

.bg-orange-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 250 240 / var(--tw-bg-opacity, 1)) !important;
}

.bg-orange-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 235 200 / var(--tw-bg-opacity, 1)) !important;
}

.bg-orange-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(246 173 85 / var(--tw-bg-opacity, 1)) !important;
}

.bg-purple-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(233 216 253 / var(--tw-bg-opacity, 1)) !important;
}

.bg-red-200 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 215 215 / var(--tw-bg-opacity, 1)) !important;
}

.bg-red-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 178 178 / var(--tw-bg-opacity, 1)) !important;
}

.bg-red-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(252 129 129 / var(--tw-bg-opacity, 1)) !important;
}

.bg-red-400\/10 {
  background-color: rgb(252 129 129 / 0.1) !important;
}

.bg-red-500 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(245 101 101 / var(--tw-bg-opacity, 1)) !important;
}

.bg-red-600 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(229 62 62 / var(--tw-bg-opacity, 1)) !important;
}

.bg-teal-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(230 255 250 / var(--tw-bg-opacity, 1)) !important;
}

.bg-teal-300 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(129 230 217 / var(--tw-bg-opacity, 1)) !important;
}

.bg-teal-500 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 163 152 / var(--tw-bg-opacity, 1)) !important;
}

.bg-teal-600 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(49 151 149 / var(--tw-bg-opacity, 1)) !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.bg-white {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
}

.bg-yellow-100 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 236 192 / var(--tw-bg-opacity, 1)) !important;
}

.bg-yellow-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(252 201 77 / var(--tw-bg-opacity, 1)) !important;
}

.bg-opacity-50 {
  --tw-bg-opacity: 0.5 !important;
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important;
}

.bg-none {
  background-image: none !important;
}

.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

.decoration-slice {
  -webkit-box-decoration-break: slice !important;
          box-decoration-break: slice !important;
}

.decoration-clone {
  -webkit-box-decoration-break: clone !important;
          box-decoration-break: clone !important;
}

.box-decoration-slice {
  -webkit-box-decoration-break: slice !important;
          box-decoration-break: slice !important;
}

.box-decoration-clone {
  -webkit-box-decoration-break: clone !important;
          box-decoration-break: clone !important;
}

.bg-auto {
  background-size: auto !important;
}

.bg-contain {
  background-size: contain !important;
}

.bg-cover {
  background-size: cover !important;
}

.bg-fixed {
  background-attachment: fixed !important;
}

.bg-local {
  background-attachment: local !important;
}

.bg-scroll {
  background-attachment: scroll !important;
}

.bg-clip-border {
  background-clip: border-box !important;
}

.bg-clip-padding {
  background-clip: padding-box !important;
}

.bg-clip-content {
  background-clip: content-box !important;
}

.bg-clip-text {
  -webkit-background-clip: text !important;
          background-clip: text !important;
}

.bg-bottom {
  background-position: bottom !important;
}

.bg-center {
  background-position: center !important;
}

.bg-left {
  background-position: left !important;
}

.bg-left-bottom {
  background-position: left bottom !important;
}

.bg-left-top {
  background-position: left top !important;
}

.bg-right {
  background-position: right !important;
}

.bg-right-bottom {
  background-position: right bottom !important;
}

.bg-right-top {
  background-position: right top !important;
}

.bg-top {
  background-position: top !important;
}

.bg-repeat {
  background-repeat: repeat !important;
}

.bg-no-repeat {
  background-repeat: no-repeat !important;
}

.bg-repeat-x {
  background-repeat: repeat-x !important;
}

.bg-repeat-y {
  background-repeat: repeat-y !important;
}

.bg-repeat-round {
  background-repeat: round !important;
}

.bg-repeat-space {
  background-repeat: space !important;
}

.bg-origin-border {
  background-origin: border-box !important;
}

.bg-origin-padding {
  background-origin: padding-box !important;
}

.bg-origin-content {
  background-origin: content-box !important;
}

.fill-current {
  fill: currentColor !important;
}

.fill-none {
  fill: none !important;
}

.fill-yellow-600 {
  fill: #faba28 !important;
}

.stroke-none {
  stroke: none !important;
}

.object-contain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.object-cover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.object-fill {
  -o-object-fit: fill !important;
     object-fit: fill !important;
}

.object-none {
  -o-object-fit: none !important;
     object-fit: none !important;
}

.object-scale-down {
  -o-object-fit: scale-down !important;
     object-fit: scale-down !important;
}

.object-left-bottom {
  -o-object-position: left bottom !important;
     object-position: left bottom !important;
}

.object-left-top {
  -o-object-position: left top !important;
     object-position: left top !important;
}

.object-right-bottom {
  -o-object-position: right bottom !important;
     object-position: right bottom !important;
}

.object-right-top {
  -o-object-position: right top !important;
     object-position: right top !important;
}

.p-0 {
  padding: 0px !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-1\.5 {
  padding: 0.375rem !important;
}

.p-10 {
  padding: 2.5rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-2\.5 {
  padding: 0.625rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.p-5 {
  padding: 1.25rem !important;
}

.p-6 {
  padding: 1.5rem !important;
}

.p-8 {
  padding: 2rem !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.px-10 {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
}

.px-12 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.px-2\.5 {
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
}

.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.px-32 {
  padding-left: 8rem !important;
  padding-right: 8rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-5 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.px-6 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.px-8 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.px-\[5px\] {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-2\.5 {
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-6 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-8 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pb-12 {
  padding-bottom: 3rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 0.75rem !important;
}

.pb-32 {
  padding-bottom: 8rem !important;
}

.pb-4 {
  padding-bottom: 1rem !important;
}

.pb-5 {
  padding-bottom: 1.25rem !important;
}

.pb-6 {
  padding-bottom: 1.5rem !important;
}

.pb-\[15px\] {
  padding-bottom: 15px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.pl-12 {
  padding-left: 3rem !important;
}

.pl-14 {
  padding-left: 3.5rem !important;
}

.pl-16 {
  padding-left: 4rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.pl-20 {
  padding-left: 5rem !important;
}

.pl-3 {
  padding-left: 0.75rem !important;
}

.pl-4 {
  padding-left: 1rem !important;
}

.pl-5 {
  padding-left: 1.25rem !important;
}

.pl-6 {
  padding-left: 1.5rem !important;
}

.pl-8 {
  padding-left: 2rem !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pr-12 {
  padding-right: 3rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.pr-4 {
  padding-right: 1rem !important;
}

.pr-6 {
  padding-right: 1.5rem !important;
}

.pr-8 {
  padding-right: 2rem !important;
}

.pr-\[40px\] {
  padding-right: 40px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-12 {
  padding-top: 3rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-24 {
  padding-top: 6rem !important;
}

.pt-4 {
  padding-top: 1rem !important;
}

.pt-6 {
  padding-top: 1.5rem !important;
}

.pt-7 {
  padding-top: 1.75rem !important;
}

.pt-8 {
  padding-top: 2rem !important;
}

.pt-\[15px\] {
  padding-top: 15px !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

.text-start {
  text-align: start !important;
}

.text-end {
  text-align: end !important;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-sub {
  vertical-align: sub !important;
}

.align-super {
  vertical-align: super !important;
}

.font-mono {
  font-family: AeonikMono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

.font-sans {
  font-family: Aeonik, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

.text-2xl {
  font-size: 1.6rem !important;
  line-height: 2rem !important;
}

.text-3xl {
  font-size: 2rem !important;
  line-height: 2.25rem !important;
}

.text-4xl {
  font-size: 2.5rem !important;
  line-height: 2.5rem !important;
}

.text-\[1\.125rem\] {
  font-size: 1.125rem !important;
}

.text-\[10px\] {
  font-size: 10px !important;
}

.text-\[11px\] {
  font-size: 11px !important;
}

.text-\[12px\] {
  font-size: 12px !important;
}

.text-\[14px\] {
  font-size: 14px !important;
}

.text-\[15px\] {
  font-size: 15px !important;
}

.text-\[16px\] {
  font-size: 16px !important;
}

.text-\[17px\] {
  font-size: 17px !important;
}

.text-\[18px\] {
  font-size: 18px !important;
}

.text-\[1rem\] {
  font-size: 1rem !important;
}

.text-\[20px\] {
  font-size: 20px !important;
}

.text-\[22px\] {
  font-size: 22px !important;
}

.text-\[24px\] {
  font-size: 24px !important;
}

.text-\[32px\] {
  font-size: 32px !important;
}

.text-\[48px\] {
  font-size: 48px !important;
}

.text-\[7px\] {
  font-size: 7px !important;
}

.text-\[8px\] {
  font-size: 8px !important;
}

.text-base {
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

.text-lg {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
}

.text-sm {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}

.text-xl {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}

.text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

.font-\[500\] {
  font-weight: 500 !important;
}

.font-black {
  font-weight: 900 !important;
}

.font-bold {
  font-weight: 700 !important;
}

.font-light {
  font-weight: 300 !important;
}

.font-medium {
  font-weight: 500 !important;
}

.font-normal {
  font-weight: 400 !important;
}

.font-semibold {
  font-weight: 600 !important;
}

.uppercase {
  text-transform: uppercase !important;
}

.lowercase {
  text-transform: lowercase !important;
}

.capitalize {
  text-transform: capitalize !important;
}

.normal-case {
  text-transform: none !important;
}

.italic {
  font-style: italic !important;
}

.not-italic {
  font-style: normal !important;
}

.normal-nums {
  font-variant-numeric: normal !important;
}

.ordinal {
  --tw-ordinal: ordinal !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.slashed-zero {
  --tw-slashed-zero: slashed-zero !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.lining-nums {
  --tw-numeric-figure: lining-nums !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.oldstyle-nums {
  --tw-numeric-figure: oldstyle-nums !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.proportional-nums {
  --tw-numeric-spacing: proportional-nums !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.diagonal-fractions {
  --tw-numeric-fraction: diagonal-fractions !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.stacked-fractions {
  --tw-numeric-fraction: stacked-fractions !important;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction) !important;
}

.leading-4 {
  line-height: 1rem !important;
}

.leading-6 {
  line-height: 1.5rem !important;
}

.leading-none {
  line-height: 1 !important;
}

.leading-relaxed {
  line-height: 1.625 !important;
}

.leading-snug {
  line-height: 1.375 !important;
}

.leading-tight {
  line-height: 1.25 !important;
}

.tracking-wide {
  letter-spacing: 0.025em !important;
}

.tracking-wider {
  letter-spacing: 0.05em !important;
}

.text-\[\#00A399\] {
  --tw-text-opacity: 1 !important;
  color: rgb(0 163 153 / var(--tw-text-opacity, 1)) !important;
}

.text-\[\#8B0000\] {
  --tw-text-opacity: 1 !important;
  color: rgb(139 0 0 / var(--tw-text-opacity, 1)) !important;
}

.text-\[\#F8485E\] {
  --tw-text-opacity: 1 !important;
  color: rgb(248 72 94 / var(--tw-text-opacity, 1)) !important;
}

.text-\[3\.5\] {
  color: 3.5 !important;
}

.text-\[RGBA\(255\2c 255\2c 255\2c 0\.5\)\] {
  color: RGBA(255,255,255,0.5) !important;
}

.text-\[rgba\(0\2c 164\2c 153\2c 1\)\] {
  color: rgba(0,164,153,1) !important;
}

.text-black {
  --tw-text-opacity: 1 !important;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1)) !important;
}

.text-blue-300 {
  --tw-text-opacity: 1 !important;
  color: rgb(144 205 244 / var(--tw-text-opacity, 1)) !important;
}

.text-blue-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(49 130 206 / var(--tw-text-opacity, 1)) !important;
}

.text-blue-700 {
  --tw-text-opacity: 1 !important;
  color: rgb(43 108 176 / var(--tw-text-opacity, 1)) !important;
}

.text-blue-800 {
  --tw-text-opacity: 1 !important;
  color: rgb(44 82 130 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-100 {
  --tw-text-opacity: 1 !important;
  color: rgb(208 208 208 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-200 {
  --tw-text-opacity: 1 !important;
  color: rgb(176 176 176 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-300 {
  --tw-text-opacity: 1 !important;
  color: rgb(144 144 144 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-400 {
  --tw-text-opacity: 1 !important;
  color: rgb(121 121 121 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-50 {
  --tw-text-opacity: 1 !important;
  color: rgb(249 250 251 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(244 244 244 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(89 89 89 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-700 {
  --tw-text-opacity: 1 !important;
  color: rgb(79 79 79 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-75 {
  --tw-text-opacity: 1 !important;
  color: rgb(241 242 242 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-800 {
  --tw-text-opacity: 1 !important;
  color: rgb(69 69 69 / var(--tw-text-opacity, 1)) !important;
}

.text-gray-900 {
  --tw-text-opacity: 1 !important;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1)) !important;
}

.text-green-400 {
  --tw-text-opacity: 1 !important;
  color: rgb(104 211 145 / var(--tw-text-opacity, 1)) !important;
}

.text-green-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(56 161 105 / var(--tw-text-opacity, 1)) !important;
}

.text-orange-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(237 137 54 / var(--tw-text-opacity, 1)) !important;
}

.text-orange-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(221 107 32 / var(--tw-text-opacity, 1)) !important;
}

.text-purple-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(128 90 213 / var(--tw-text-opacity, 1)) !important;
}

.text-red-400 {
  --tw-text-opacity: 1 !important;
  color: rgb(252 129 129 / var(--tw-text-opacity, 1)) !important;
}

.text-red-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(245 101 101 / var(--tw-text-opacity, 1)) !important;
}

.text-red-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(229 62 62 / var(--tw-text-opacity, 1)) !important;
}

.text-red-bright {
  --tw-text-opacity: 1 !important;
  color: rgb(255 0 0 / var(--tw-text-opacity, 1)) !important;
}

.text-teal-500 {
  --tw-text-opacity: 1 !important;
  color: rgb(0 163 152 / var(--tw-text-opacity, 1)) !important;
}

.text-teal-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(49 151 149 / var(--tw-text-opacity, 1)) !important;
}

.text-teal-700 {
  --tw-text-opacity: 1 !important;
  color: rgb(44 122 123 / var(--tw-text-opacity, 1)) !important;
}

.text-teal-800 {
  --tw-text-opacity: 1 !important;
  color: rgb(40 94 97 / var(--tw-text-opacity, 1)) !important;
}

.text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.text-yellow-600 {
  --tw-text-opacity: 1 !important;
  color: rgb(250 186 40 / var(--tw-text-opacity, 1)) !important;
}

.text-yellow-900 {
  --tw-text-opacity: 1 !important;
  color: rgb(248 156 17 / var(--tw-text-opacity, 1)) !important;
}

.underline {
  text-decoration-line: underline !important;
}

.overline {
  text-decoration-line: overline !important;
}

.line-through {
  text-decoration-line: line-through !important;
}

.no-underline {
  text-decoration-line: none !important;
}

.decoration-solid {
  text-decoration-style: solid !important;
}

.decoration-double {
  text-decoration-style: double !important;
}

.decoration-dotted {
  text-decoration-style: dotted !important;
}

.decoration-dashed {
  text-decoration-style: dashed !important;
}

.decoration-wavy {
  text-decoration-style: wavy !important;
}

.decoration-0 {
  text-decoration-thickness: 0px !important;
}

.decoration-auto {
  text-decoration-thickness: auto !important;
}

.decoration-from-font {
  text-decoration-thickness: from-font !important;
}

.antialiased {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.subpixel-antialiased {
  -webkit-font-smoothing: auto !important;
  -moz-osx-font-smoothing: auto !important;
}

.accent-auto {
  accent-color: auto !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.opacity-30 {
  opacity: 0.3 !important;
}

.opacity-95 {
  opacity: 0.95 !important;
}

.mix-blend-plus-darker {
  mix-blend-mode: plus-darker !important;
}

.mix-blend-plus-lighter {
  mix-blend-mode: plus-lighter !important;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05) !important;
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}

.outline-none {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.outline {
  outline-style: solid !important;
}

.outline-dashed {
  outline-style: dashed !important;
}

.outline-dotted {
  outline-style: dotted !important;
}

.outline-double {
  outline-style: double !important;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}

.ring-inset {
  --tw-ring-inset: inset !important;
}

.blur {
  --tw-blur: blur(8px) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06)) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.drop-shadow-none {
  --tw-drop-shadow: drop-shadow(0 0 #0000) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.grayscale {
  --tw-grayscale: grayscale(100%) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.invert {
  --tw-invert: invert(100%) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.sepia {
  --tw-sepia: sepia(100%) !important;
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.\!filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important;
}

.backdrop-blur {
  --tw-backdrop-blur: blur(8px) !important;
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
}

.backdrop-grayscale {
  --tw-backdrop-grayscale: grayscale(100%) !important;
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
}

.backdrop-invert {
  --tw-backdrop-invert: invert(100%) !important;
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
}

.backdrop-sepia {
  --tw-backdrop-sepia: sepia(100%) !important;
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
}

.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important;
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.transition-all {
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.transition-transform {
  transition-property: transform !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.duration-500 {
  transition-duration: 500ms !important;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.will-change-\[filter\] {
  will-change: filter !important;
}

.will-change-auto {
  will-change: auto !important;
}

.will-change-contents {
  will-change: contents !important;
}

.will-change-scroll {
  will-change: scroll-position !important;
}

.will-change-transform {
  will-change: transform !important;
}

.contain-none {
  contain: none !important;
}

.contain-content {
  contain: content !important;
}

.contain-strict {
  contain: strict !important;
}

.contain-size {
  --tw-contain-size: size !important;
  contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style) !important;
}

.contain-inline-size {
  --tw-contain-size: inline-size !important;
  contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style) !important;
}

.contain-layout {
  --tw-contain-layout: layout !important;
  contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style) !important;
}

.contain-paint {
  --tw-contain-paint: paint !important;
  contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style) !important;
}

.contain-style {
  --tw-contain-style: style !important;
  contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style) !important;
}

.content-none {
  --tw-content: none !important;
  content: var(--tw-content) !important;
}

.forced-color-adjust-auto {
  forced-color-adjust: auto !important;
}

.forced-color-adjust-none {
  forced-color-adjust: none !important;
}

/* visibility corePlugin disabled in tailwind.config.js — restore .visible / .invisible only (omit .collapse). */

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

body {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.3px;
  margin: 0;
  min-width: 320px;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: none;
  height: 100%;
  min-height: calc(100vh);
}

body footer {
  position: relative !important;
  bottom: 0;
}

.flash {
  animation-name: flash;
  animation-duration: 50ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.ec-portal a {
  color: black;
  text-decoration: underline;
}

.ec-portal a:hover {
  text-decoration: none;
}

input[type="email"],
input[type="search"],
input[type="text"],
input[type="password"],
input[type="file"],
input[type="email"],
input[type="search"],
input[type="text"],
input[type="password"],
input[type="file"],
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

.form-control,
input[type="email"],
input[type="search"],
input[type="text"],
input[type="password"],
input[type="file"],
.form-control,
input[type="email"],
input[type="search"],
input[type="text"],
input[type="password"],
input[type="file"],
textarea {
  background: white;
  border: 1px solid RGBA(190, 190, 190, 1);
  border-radius: 0px;
  font-size: 15px;
  font-weight: 400;
  height: 47px;
  width: 100%;
}

.form-control-label {
  margin-right: 4px;
}

.form-control::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="search"]::-webkit-input-placeholder,
input[type="text"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
input[type="file"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control:-moz-placeholder,
input[type="email"]:-moz-placeholder,
input[type="search"]:-moz-placeholder,
input[type="text"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
input[type="file"]:-moz-placeholder,
textarea:-moz-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="search"]::-moz-placeholder,
input[type="text"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
input[type="file"]::-moz-placeholder,
textarea::-moz-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="search"]:-ms-input-placeholder,
input[type="text"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
input[type="file"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="file"]:focus,
textarea:focus {
  background: white;
  border-color: black;
}

.form-control:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="text"]:hover,
input[type="password"]:hover,
input[type="file"]:hover,
textarea:hover {
  background: white;
  border-color: black;
}

.form-control.invalid-indicator,
input.invalid-indicator[type="email"],
input.invalid-indicator[type="search"],
input.invalid-indicator[type="text"],
input.invalid-indicator[type="password"],
input.invalid-indicator[type="file"],
textarea.invalid-indicator {
  border: 1px solid red;
}

.form-control.customer-signup,
input.customer-signup[type="email"],
input.customer-signup[type="search"],
input.customer-signup[type="text"],
input.customer-signup[type="password"],
input.customer-signup[type="file"],
textarea.customer-signup {
  height: 25px;
  margin-top: 11px;
  width: 100%;
}

.form-control::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="search"]::-webkit-input-placeholder,
input[type="text"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
input[type="file"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control:-moz-placeholder,
input[type="email"]:-moz-placeholder,
input[type="search"]:-moz-placeholder,
input[type="text"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
input[type="file"]:-moz-placeholder,
textarea:-moz-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="search"]::-moz-placeholder,
input[type="text"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
input[type="file"]::-moz-placeholder,
textarea::-moz-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="search"]:-ms-input-placeholder,
input[type="text"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
input[type="file"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: RGBA(190, 190, 190, 1);
}

.form-control:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="file"]:focus,
textarea:focus {
  background: white;
  border-color: black;
}

.form-control:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="text"]:hover,
input[type="password"]:hover,
input[type="file"]:hover,
textarea:hover {
  background: white;
  border-color: black;
}

.form-control.invalid-indicator,
input.invalid-indicator[type="email"],
input.invalid-indicator[type="search"],
input.invalid-indicator[type="text"],
input.invalid-indicator[type="password"],
input.invalid-indicator[type="file"],
textarea.invalid-indicator {
  border: 1px solid red;
}

.form-control.customer-signup,
input.customer-signup[type="email"],
input.customer-signup[type="search"],
input.customer-signup[type="text"],
input.customer-signup[type="password"],
input.customer-signup[type="file"],
textarea.customer-signup {
  height: 25px;
  margin-top: 11px;
}

input[type="text"],
input[type="password"] {
  height: 48px;
}

input[type="text"]:focus,
input[type="password"]:focus {
  background: white;
  border-color: black;
}

input[type="submit"] {
  text-shadow: none;
}

input[type="checkbox"],
input[type="radio"] {
  border: none;
  box-shadow: none;
}

input[type="checkbox"]:focus,
input[type="checkbox"]:active,
input[type="radio"]:focus,
input[type="radio"]:active {
  box-shadow: none;
  outline: none;
}

input[type="checkbox"]:hover,
input[type="radio"]:hover {
  cursor: pointer;
}

label[for="state"] {
  word-wrap: break-word;
}

.alert {
  border-radius: 0px;
  margin-bottom: 12px;
  padding: 10px;
  position: fixed;
  left: 0;
  right: 0;
  z-index: 100;
}

.alert-info,
.alert-danger {
  background-image: none;
}

.alert.alert-payment {
  position: unset;
}

.form-group {
  margin-bottom: 15px;
  margin-top: 0px;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.form-group label {
  font-weight: 400;
  margin-bottom: 0;
  font-size: 1.1em;
}

.form-group label:hover {
  cursor: pointer;
}

.form-group .error {
  color: RGBA(248, 72, 94, 1);
  font-size: 14px;
  margin-top: 5px;
}

#webhook-inline-fields .form-group {
  display: block;
}

/*
 * Flask-Admin inline models ("Add Charger", etc.): .form-inline on an ancestor makes
 * .form-group a flex row and Select2 width:resolve becomes a fixed pixel width — fields overlap.
 * Force block layout and full-width controls inside the inline field container.
 * Include #fa_modal_window — dialog can be reparented under body, outside #content.ec-admin.
 */

#content.ec-admin .inline-field .inline-form-field .form-group,
#fa_modal_window .inline-field .inline-form-field .form-group,
.modal .inline-field .inline-form-field .form-group {
  display: block !important;
  width: 100%;
  max-width: 100%;
  flex: none !important;
  margin-bottom: 1rem;
}

#content.ec-admin .inline-field .inline-form-field .form-group > label.col-form-label,
#fa_modal_window .inline-field .inline-form-field .form-group > label.col-form-label,
.modal .inline-field .inline-form-field .form-group > label.col-form-label {
  float: none;
  display: block;
  width: 100%;
  max-width: 100%;
  padding-bottom: 0.25rem;
}

#content.ec-admin .inline-field .inline-form-field .form-group > .form-control,
#fa_modal_window .inline-field .inline-form-field .form-group > .form-control,
.modal .inline-field .inline-form-field .form-group > .form-control {
  width: 100%;
  max-width: 100%;
}

#content.ec-admin .inline-field .inline-form-field .select2-container,
#fa_modal_window .inline-field .inline-form-field .select2-container,
.modal .inline-field .inline-form-field .select2-container {
  width: 100% !important;
  max-width: 100%;
}

/* Flask-admin .admin-form: BS4 horizontal grid (lib.render_field). Global .form-group flex
   + missing .row breaks column gutters and label alignment vs .form-control / Select2. */

.admin-form .form-group.row {
  flex-wrap: wrap;
  align-items: flex-start;
}

/*
 * Bootstrap 4 Select2 multi-select: chips use float:left. Global .select2-selection__choice rules
 * (fixed height / margins) and a non-wrapping BFC break containment so tags paint outside the box.
 * flow-root contains floats; height auto lets the field grow with each row of tags.
 */

#content.ec-admin .admin-form .select2-container--bootstrap4 .select2-selection--multiple {
  display: flow-root;
  height: auto !important;
  min-height: calc(1.5em + 0.75rem + 2px);
}

#content.ec-admin
  .admin-form
  .select2-container--bootstrap4
  .select2-selection--multiple
  .select2-selection__rendered {
  display: block;
  width: 100%;
}

/* Select2 3.x in admin: classic gradients from vendor/select2/select2.css (select2-bootstrap4.css strips them). */

.admin-form .select2-container .select2-choice {
  height: calc(1.5em + 1.75rem + 2px) !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid #aaa;
  border-radius: 4px;
  color: #444;
  line-height: calc(1.5em + 0.75rem + 2px);
  background-color: #fff;
  background-clip: padding-box;
  background-image: linear-gradient(to top, #eee 0%, #fff 50%);
  box-shadow: none;
}

.admin-form .select2-container-active .select2-choice {
  border: 1px solid #5897fb;
  outline: none;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.admin-form .select2-dropdown-open .select2-choice {
  border-bottom-color: transparent;
  box-shadow: 0 1px 0 #fff inset;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #eee;
  background-image: linear-gradient(to top, #fff 0%, #eee 50%);
}

.admin-form .select2-dropdown-open.select2-drop-above .select2-choice {
  border: 1px solid #5897fb;
  border-top-color: transparent;
  background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
}

.admin-form .select2-container .select2-choice .select2-chosen,
.admin-form .select2-container .select2-choice > span:first-child {
  margin-right: 30px;
  padding-left: 8px !important;
  padding-right: 0 !important;
  line-height: inherit !important;
  font-size: 1rem !important;
}

.admin-form .select2-container.select2-allowclear .select2-choice .select2-chosen,
.admin-form .select2-container.select2-allowclear .select2-choice > span:first-child {
  margin-right: 42px;
}

.admin-form .select2-container .select2-choice .select2-arrow {
  width: 26px;
  border-left: 1px solid #aaa;
  border-radius: 0 4px 4px 0;
  background-clip: padding-box;
  background-color: #ccc;
  background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
}

.admin-form .select2-dropdown-open .select2-choice .select2-arrow {
  background: transparent;
  border-left: none;
  filter: none;
}

.admin-form .select2-dropdown-open .select2-choice .select2-arrow b {
  background-position: -18px 1px;
}

.input-group-addon {
  border-radius: 0px;
}

.modal-content {
  border-radius: 0;
}

#render-chart-modal .modal-dialog {
  width: 1170px;
}

select#car_form-car:hover {
  cursor: pointer;
}

.pagination {
  margin-top: 0;
  margin-bottom: 0;
}

.pagination li {
  margin-top: 0;
  margin-bottom: 0;
  padding: 8px 16px;
  border-left: 1px solid #ddd;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  align-items: center;
  justify-content: center;
}

.pagination li.active {
  background-color: #00A398;
  color: white;
}

.pagination li:last-child {
  border-right: 1px solid #ddd;
}

.pagination li>a {
  margin-top: 0;
  margin-bottom: 0;
}

.pager {
  font-size: 0.875em;
  text-align: left;
  display: inline-flex;
}

.pager li>a {
  background-color: transparent;
  border: none;
  border-radius: 0px;
  padding: 0 5px;
}

.pager .disabled>a {
  background-color: transparent;
  cursor: default;
  opacity: 0.3;
  text-decoration: none !important;
}

.pager .disabled>a:hover {
  background-color: transparent;
  cursor: default;
}

.admin-form.row, .ec-admin.row {
  margin-top: 10px;
}

.ec-admin .nav-tabs:not(.actions-nav) {
  margin-top: 10px;
  margin-left: 10px;
  border-bottom: 2px solid #00A398;
}

.ec-admin .nav-tabs:not(.actions-nav) li {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 4px;
  display: inline-block;
}

.ec-admin .nav-tabs:not(.actions-nav) li > a {
  display: block;
  padding: 8px 16px;
  text-decoration: none;
  background-color: #ffffff;
  color: #00a398;
  border-radius: 4px 4px 0 0;
  border: 1px solid #00A398;
  border-bottom: none;
}

.ec-admin .nav-tabs:not(.actions-nav) li > a:hover {
  background-color: rgba(0, 163, 152, 0.1);
  color: #007a72;
}

/*
 * Bootstrap 4 tabs: .active moves between tab controls only; <li class="active"> is never cleared.
 * Do not use li.active > a for role=tab lists or the previous tab stays visually "selected".
 * Static subnav (List / Create / Edit) uses li.active without role="tab" on the link — keep that path.
 */

.ec-admin .nav-tabs:not(.actions-nav) li > a.active[role="tab"] {
  background-color: #00A398 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border: 1px solid #00A398 !important;
  border-bottom: 2px solid #ffffff !important;
  margin-bottom: -2px;
}

.ec-admin .nav-tabs:not(.actions-nav) li.active > a:not([role="tab"]) {
  background-color: #00A398 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border: 1px solid #00A398 !important;
  border-bottom: 2px solid #ffffff !important;
  margin-bottom: -2px;
}

.ec-admin .nav-tabs:not(.actions-nav) li > a.active[role="tab"]:hover,
.ec-admin .nav-tabs:not(.actions-nav) li.active > a:not([role="tab"]):hover {
  background-color: #007a72 !important;
  color: #ffffff !important;
}

.ec-def-button,
a.ec-button-teal-border,
.submit-row a.btn-danger,
button.ec-button-teal-border,
input.ec-button-teal-border,
a.ec-button-white-border,
button.ec-button-white-border,
input.ec-button-white-border,
.ec-button-teal,
input[type="submit"],
a.ec-button-teal,
.box-filter .ec-button-text-link {
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1em;
  margin-top: 14px;
  min-height: 58px;
  padding: 18px 20px;
  text-align: center;
  text-transform: uppercase;
}

input[type="submit"].cancel-button {
  border: 2px solid darkred;
  background: -webkit-gradient(linear,
      left top,
      left bottom,
      color-stop(0.05, RGBA(176, 55, 55, 1)),
      color-stop(1, darkred));
  box-shadow: inset 0px 1px 0px 0px darkred;
}

input[type="submit"].cancel-button:hover {
  border: 2px solid darkred;
  box-shadow: inset 0px 1px 0px 0px darkred;
  background: -webkit-gradient(linear,
      left top,
      left bottom,
      color-stop(0.05, darkred),
      color-stop(1, RGBA(176, 55, 55, 1)));
}

a.ec-button-teal-border,
.submit-row a.btn-danger,
button.ec-button-teal-border,
input.ec-button-teal-border {
  box-shadow: inset 0px 1px 0px 0px white;
  background: linear-gradient(to bottom, white 5%, #f6f6f6 100%);
  border: 2px solid RGBA(0, 164, 153, 1);
  color: RGBA(0, 164, 153, 1);
  display: inline-block;
}

a.ec-button-teal-border:hover,
.submit-row a.btn-danger:hover,
button.ec-button-teal-border:hover,
input.ec-button-teal-border:hover {
  box-shadow: inset 0px 1px 0px 0px #f6f6f6;
  background: linear-gradient(to bottom, #f6f6f6 5%, white 100%);
  text-decoration: none;
}

a.ec-button-white-border,
button.ec-button-white-border,
input.ec-button-white-border {
  background-color: transparent;
  border: 2px solid white;
  color: white;
}

a.ec-text-link {
  color: RGBA(0, 164, 153, 1);
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-transform: uppercase;
}

a.ec-text-link:hover {
  color: black;
  cursor: pointer;
}

button.ec-button-text-link {
  background-color: transparent;
  border: 0px;
  color: black;
  font-size: 0.875em;
  font-weight: 400;
  padding: 0;
  text-decoration: underline;
}

button.ec-button-text-link:active {
  outline: none;
}

button.ec-button-text-link:hover {
  text-decoration: none;
}

button.ec-button-text-link.red {
  color: RGBA(248, 72, 94, 1);
}

.ec-button-teal,
input[type="submit"],
a.ec-button-teal {
  box-shadow: inset 0px 1px 0px 0px RGBA(0, 164, 153, 1);
  background: linear-gradient(to bottom, RGBA(0, 164, 153, 1) 5%, #008474 100%);
  border: 2px solid #008474;
  color: white;
}

.ec-button-teal:hover,
input[type="submit"]:hover,
a.ec-button-teal:hover {
  box-shadow: inset 0px 1px 0px 0px #008474;
  background: linear-gradient(to bottom, #008474 5%, RGBA(0, 164, 153, 1) 100%);
  border-color: #008474;
  cursor: pointer;
  text-decoration: none;
}

.ec-button-teal:disabled,
input[type="submit"]:disabled,
a.ec-button-teal:disabled {
  opacity: 0.3;
}

.ec-button-teal:disabled:hover,
input[type="submit"]:disabled:hover,
a.ec-button-teal:disabled:hover {
  background: RGBA(0, 164, 153, 1);
}

.no-padding-right {
  padding-right: 0;
}

.block {
  display: block;
  width: 100%;
}

.relative {
  position: relative;
}

.ven-button {
  font-weight: 600;
  border: 0;
}

.disabled-button {
  opacity: 30%;
}

.ec-box-border {
  background: white;
  border: 1px dotted black;
  margin-bottom: 10px;
  padding: 15px;
}

.ec-box-white {
  background: white;
  padding: 20px;
}

.ec-stretch-teal {
  background: RGBA(0, 164, 153, 1);
  padding-bottom: 50px;
  padding-top: 40px;
}

.ec-stretch-teal h1 {
  color: RGBA(255, 255, 255, 0.7);
  letter-spacing: -1px;
}

.ec-stretch-lt-teal {
  background: RGBA(0, 164, 153, 0.3);
  padding-bottom: 40px;
  padding-top: 40px;
}

.ec-stretch-white {
  background: white;
  padding-bottom: 40px;
  padding-top: 40px;
}

.ec-stretch-border-top {
  border-top: 1px solid RGBA(190, 190, 190, 1);
  padding-bottom: 40px;
  padding-top: 40px;
}

.service-log-entry {
  background: white;
  border: 1px dotted black;
  margin-bottom: 10px;
  padding: 10px;
  overflow: auto;
}

h1 {
  font-size: 3em;
  font-weight: 800;
  letter-spacing: 0px;
  margin-bottom: 20px;
  margin-top: 0;
}

h1.small {
  font-size: 2.2em;
}

h2 {
  color: RGBA(0, 164, 153, 1);
  font-size: 1.625em;
  font-weight: 700;
  letter-spacing: 0px;
  margin-bottom: 22px;
  margin-top: 0;
}

h3 {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.3em;
  margin-bottom: 16px;
  margin-top: 0;
}

h4 {
  color: RGBA(128, 128, 128, 1);
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-size: 1.1em;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  margin-top: 0;
  text-transform: uppercase;
}

h5 {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.1em;
}

p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 10px;
  margin-top: 0;
}

ol {
  font-size: 14px;
  line-height: 1.2em;
  margin-bottom: 35px;
}

ol li {
  margin-bottom: 10px;
  padding-left: 1em;
}

.li-match-case li {
  font-size: 14px;
  margin-left: 10px;
}

.error {
  color: RGBA(248, 72, 94, 1);
  font-size: 14px;
  margin-top: 5px;
}

.ec-grey {
  color: RGBA(128, 128, 128, 1);
}

.ec-red {
  color: RGBA(248, 72, 94, 1);
}

.ec-teal {
  color: RGBA(0, 164, 153, 1);
}

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

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-shadow {
  text-shadow: 2px 2px 7px RGBA(0, 0, 0, 0.6);
}

.white {
  color: white !important;
}

.red {
  color: red !important;
}

.ec-zero {
  margin: 0 !important;
}

hr {
  background-color: RGBA(237, 237, 237, 1);
  border: none;
  color: RGBA(237, 237, 237, 1);
  height: 2px;
  margin-top: 10px;
  margin-bottom: 15px;
}

hr.ec-hr-extra {
  margin-bottom: 20px;
  margin-top: 20px;
}

hr.ec-hr-extra-extra {
  margin-bottom: 40px;
  margin-top: 40px;
}

.extra-bottom-sm {
  margin-bottom: 20px !important;
}

.extra-bottom-md {
  margin-bottom: 40px !important;
}

.extra-bottom-lg {
  margin-bottom: 60px !important;
}

.toggle-icon {
  cursor: pointer;
}

/* Connector enable/disable: compact badge-sized control (BS4 has no .label). */

.enabled-toggle.label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em 0.55em;
  border-radius: 0.25em;
  font-size: 0.875em;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid transparent;
  vertical-align: baseline;
  box-sizing: border-box;
}

.enabled-toggle.label:focus {
  outline: none;
}

.enabled-toggle.label-success:focus-visible {
  box-shadow: 0 0 0 2px rgba(0, 163, 152, 0.4);
}

.enabled-toggle.label-danger:focus-visible {
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.4);
}

.enabled-toggle.label-default:focus-visible {
  box-shadow: 0 0 0 2px rgba(108, 117, 125, 0.4);
}

.enabled-toggle.label-success {
  color: #fff !important;
  border-color: rgba(0, 0, 0, 0.08);
  background-color: #28a745;
}

.enabled-toggle.label-success:hover {
  border-color: rgba(0, 0, 0, 0.12);
  background-color: #218838;
}

.enabled-toggle.label-danger {
  color: #fff !important;
  border-color: rgba(0, 0, 0, 0.08);
  background-color: #dc3545;
}

.enabled-toggle.label-danger:hover {
  border-color: rgba(0, 0, 0, 0.12);
  background-color: #c82333;
}

.enabled-toggle.label-default {
  color: #fff !important;
  border-color: rgba(0, 0, 0, 0.08);
  background-color: #6c757d;
}

.enabled-toggle.label-default:hover {
  border-color: rgba(0, 0, 0, 0.12);
  background-color: #5a6268;
}

.enabled-toggle.label > span:first-of-type {
  pointer-events: none;
}

.enabled-toggle.label .fa.toggle-spin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin-left: 0;
  display: none;
  font-size: 0.85em;
  color: rgba(255, 255, 255, 0.95);
}

/* Read-only charging state: same badge look as .enabled-toggle but not interactive (BS4 has no .label). */

.charger-enable-static.label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em 0.55em;
  border-radius: 0.25em;
  font-size: 0.875em;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid transparent;
  vertical-align: baseline;
  box-sizing: border-box;
}

.charger-enable-static.label-success {
  color: #fff !important;
  border-color: rgba(0, 0, 0, 0.08);
  background-color: #28a745;
}

.charger-enable-static.label-danger {
  color: #fff !important;
  border-color: rgba(0, 0, 0, 0.08);
  background-color: #dc3545;
}

.charger-enable-static.label-default {
  color: #fff !important;
  border-color: rgba(0, 0, 0, 0.08);
  background-color: #6c757d;
}

.toggle-opacity {
  opacity: 30%;
}

.charge-chart-spinner-container {
  text-align: center;
  padding: 200px 0;
}

.charge-chart-spinner {
  color: #00a499;
  display: inline-block;
}

.urgent-notification {
  color: red;
}

.select2-search-field {
  width: 150px;
}

.select2-search__field {
  width: 150px;
  background-image: none !important;
}

.select2-result-label {
  width: 100% !important;
}

.editable:empty:before {
  content: "\2014";
}

.fa-times-circle {
  color: darkred;
}

.fa-check-circle {
  color: green;
}

.fa-plus-circle {
  color: green;
}

.yellow-triangle {
  color: RGBA(255, 195, 0, 1);
}

#start_datetime {
  height: 48px;
  border: 1px solid RGBA(190, 190, 190, 1);
}

.invalid-indicator {
  border: red;
}

.charge-event-timestamp {
  width: 210px;
}

.event-log-dropdown {
  color: black;
  font-size: 0.875em;
  font-weight: normal;
}

.cls-company.col-buildings {
  max-width: 70vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

td.col-buildings {
  cursor: pointer;
}

td.cls-company.allow-overflow {
  white-space: normal;
}

.cls-user.col-demo {
  min-width: 75px;
  max-width: 75px;
  text-align: center;
}

.cls-rawchargerdata.col-manually_created {
  min-width: 100px;
  max-width: 100px;
}

.cls-rawchargerdata.col-energy,
.cls-rawchargerdata.col-raw_energy {
  min-width: 125px;
  max-width: 125px;
}

.cls-plugsession.col-permanently_incomplete {
  min-width: 100px;
  max-width: 100px;
}

.cls-plugsession.col-migrated,
.cls-plugsession.col-data_complete {
  min-width: 80px;
  max-width: 80px;
}

.cls-plugsession.col-charge_uuids {
  min-width: 315px;
  max-width: 315px;
}

.cls-mobilecharge.col-kwh_rate,
.cls-mobilecharge.col-cost_for_charge,
.cls-mobilecharge.col-billed_amount {
  min-width: 80px;
  max-width: 80px;
}

.cls-mobilecharge.col-charge_session_id {
  min-width: 90px;
  max-width: 90px;
}

.fa-minus-circle,
.glyphicon-minus {
  color: RGBA(248, 72, 94, 1);
}

.ec-server-msg-wrap {
  margin-bottom: -50px;
  margin-top: 50px;
}

.ec-server-msg-wrap.alert {
  padding: 15px;
  text-align: center;
}

.ec-server-msg-wrap.alert-message {
  background: RGBA(178, 224, 225, 0.6);
}

.ec-server-msg-wrap.alert-error {
  background: RGBA(248, 72, 94, 0.6);
}

.ec-server-msg-wrap.alert-dismissable .close,
.ec-server-msg-wrap.alert-dismissible .close {
  opacity: 0.5;
  right: 21px;
  text-shadow: none;
  top: 0;
}

.ec-banner-text {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -40%);
}

.ec-banner {
  margin-bottom: 40px;
  margin-top: -40px;
  min-height: auto;
  position: relative;
  text-align: center;
}

.ec-banner.signup {
  background: url(../images/building-6-md.jpg) no-repeat;
  background-size: 100%;
  color: white;
  height: 240px;
}

.ec-banner.ec-stretch-teal {
  min-height: 160px;
}

#content {
  margin-top: 65px;
  padding-bottom: 80px;
  padding-top: 40px;
  max-width: 100vw;
}

.ec-grey-wrap {
  background: RGBA(237, 237, 237, 1);
}

.ec-wa-box-white-border {
  background: white;
  border: 1px solid RGBA(190, 190, 190, 1);
  margin-bottom: 20px;
  padding: 20px;
}

table.table {
  background: white;
  border: 1px solid RGBA(190, 190, 190, 1);
  font-size: 0.875em;
  margin-bottom: 15px;
}

table.table p.ec-tr-description {
  color: RGBA(128, 128, 128, 1);
  font-size: 0.875em;
  margin-bottom: 0;
  white-space: pre-wrap;
}

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th {
  border-top: 1px solid RGBA(190, 190, 190, 1);
  padding: 6px;
}

.table>tbody>tr>td.borderless,
.table>tbody>tr>th.borderless,
.table>tfoot>tr>td.borderless,
.table>tfoot>tr>th.borderless,
.table>thead>tr>td.borderless,
.table>thead>tr>th.borderless {
  border-top: 0px;
  padding-top: 0;
}

.table>thead>tr>th {
  background-color: RGBA(205, 205, 205, 1);
  border-color: RGBA(190, 190, 190, 1);
  color: RGBA(60, 60, 60, 1);
  font-weight: 500;
}

.table>thead>tr>th i.fa {
  margin-left: 5px;
}

.table>thead>tr>th i.fa.fa-question-circle:hover {
  cursor: pointer;
}

.table>thead>tr>th a {
  text-decoration: none;
}

#quote-items-table.table tr.subtotal {
  background-color: #efefef;
}

.table>tfoot.total {
  background: RGBA(0, 164, 153, 1);
  color: white;
  font-size: 1.2em;
  font-weight: 500;
}

tr.clickable-row:hover {
  background: RGBA(237, 237, 237, 1);
  cursor: pointer;
}

.charger_rule_date {
  width: 15%;
}

.charger_rule-util-on_off {
  width: 10%;
}

.table.table-responsive .api_log-time {
  width: 150px;
}

.table.table-responsive .api_log-payload,
.table.table-responsive .api_log-response {
  max-width: 15vw;
}

.table.table-responsive .api_log-payload>div,
.table.table-responsive .api_log-response>div {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.table.table-responsive .api_log-payload>div.expandable,
.table.table-responsive .api_log-response>div.expandable {
  cursor: pointer;
}

.table.table-responsive .api_log-payload>div.expandable.allow-overflow,
.table.table-responsive .api_log-response>div.expandable.allow-overflow {
  white-space: normal;
}

.table.table-responsive .service-log-timestamp {
  width: 20%;
}

.table.table-responsive .utilization-table-row {
  text-align: right;
  min-width: 85px;
}

.table.table-responsive .utilization-table-name-row {
  text-align: left;
  min-width: 150px;
}

.table-hover>tbody>tr.deleted-row,
.table-hover>tbody>tr.deleted-row:hover,
table>tbody>tr.deleted-row,
table>tbody>tr.deleted-row:hover {
  background-color: RGBA(255, 204, 204, 0.4);
}

.table-hover>tbody>tr.invoice-error-row,
.table-hover>tbody>tr.invoice-error-row:hover,
table>tbody>tr.invoice-error-row,
table>tbody>tr.invoice-error-row:hover {
  background-color: RGBA(255, 204, 204, 0.4);
}

.table-hover>tbody>tr.invoice-warning-row,
.table-hover>tbody>tr.invoice-warning-row:hover,
table>tbody>tr.invoice-warning-row,
table>tbody>tr.invoice-warning-row:hover {
  background-color: RGBA(255, 250, 200, 0.8);
}

.deleted-inline-form {
  background-color: RGBA(255, 204, 204, 0.4);
  background-image: None;
}

.table-hover>tbody>tr.api_log-error,
.table-hover>tbody>tr.api_log-error:hover,
table>tbody>tr.api_log-error,
table>tbody>tr.api_log-error:hover {
  background-color: #ffcccc;
}

.cls-chargerapilog.col-charger_serial {
  width: 10%;
}

.cls-chargerapilog.col-created_at {
  min-width: 100px;
}

.cls-chargerapilog.col-method {
  width: 6%;
}

.cls-chargerapilog.col-command,
.cls-chargerapilog.col-response {
  max-width: 20vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cls-accesslog.col-timestamp {
  width: 160px;
}

.cls-accesslog.col-submitted_data {
  max-width: 20vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

td.cls-accesslog.allow-overflow {
  white-space: normal;
}

td.artifact-value {
  max-width: 20vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

td.artifact-value.allow-overflow {
  white-space: normal;
}

.table td.payout-value {
  max-width: 20vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.table td.payout-value br {
  display: none !important;
}

.table td.payout-value.allow-overflow {
  white-space: normal !important;
  overflow: visible !important;
}

.table td.payout-value.allow-overflow br {
  display: block !important;
}

td.col-command,
td.col-response {
  cursor: pointer;
}

td.cls-rolepermission.col-permission_grant_to {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  min-width: 850px;
  max-width: 850px;
}

td.cls-rolepermission.col-permission_grant_to.allow-overflow {
  white-space: normal;
}

td.cls-chargerapilog.allow-overflow {
  white-space: normal;
}

.scrollable-table-row {
  max-height: 150px;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
}

.scrollable-manager-list-tab,
.scrollable-buildings,
.scrollable-chargers {
  max-height: 150px;
  width: 100%;
  overflow: auto;
  font-size: 14px;
  margin-top: -15px;
}

.scrollable-public-charge-tab {
  max-height: 260px;
  width: 100%;
  overflow: auto;
  font-size: 14px;
  margin-top: -15px;
}

.scrollable-payment-notifications,
.scrollable-manager-list,
.scrollable-preauth-garages,
.scrollable-qr-access-pin-list,
.scrollable-building-note {
  max-height: 300px;
  width: 100%;
  overflow: auto;
}

.scrollable-public-disable,
.scrollable-suspension-activities,
.payout-details-scrollable{
  max-height: 500px;
  width: 100%;
  overflow: auto;
}

.idle-time-board-scrollable {
  max-height: 600px;
  width: 100%;
  overflow: auto;
}

.scrollable-not-included {
  max-height: 150px;
  width: 50%;
  margin: 0;
  padding: 0;
  overflow: auto;
}

.user-form-scrollable {
  max-height: 100px;
  padding-left: 20px;
  padding-top: 5px;
  overflow: auto;
}

.horizontal-scrolling {
  overflow: auto;
  white-space: nowrap;
}

.scrollable-event-table {
  overflow: auto;
  max-height: 550px;
}

.item-heading {
  width: 140px;
}

.cls-curtailmentruleset.col-garages,
.cls-curtailmentruleset.col-rules,
.cls-curtailmentruleset.col-description,
.cls-timeofuseruleset.col-rules,
.cls-timeofuseruleset.col-rule_tags,
.cls-timeofuseruleset.col-description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

.cls-curtailmentruleset.col-garages.allow-overflow,
.cls-curtailmentruleset.col-rules.allow-overflow,
.cls-curtailmentruleset.col-description.allow-overflow,
.cls-timeofuseruleset.col-rules.allow-overflow,
.cls-timeofuseruleset.col-rule_tags.allow-overflow,
.cls-timeofuseruleset.col-description.allow-overflow {
  white-space: normal;
}

.cls-curtailmentruleset.col-description,
.cls-timeofuseruleset.col-description,
.cls-timeofuseruleset.col-config_set_tags {
  max-width: 10vw;
}

.cls-curtailmentruleset.col-garages,
.cls-curtailmentruleset.col-rules,
.cls-timeofuseruleset.col-rules {
  max-width: 25vw;
}

.cls-curtailmentruleset.col-created_at,
.cls-timeofuseruleset.col-created_at {
  min-width: 6vw;
}

td.cls-user.col-buildings {
  min-width: 15vw;
  max-width: 15vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}

td.cls-user.col-buildings.allow-overflow {
  white-space: normal;
}

li.ui-state-default {
  color: RGBA(0, 164, 153, 1);
  background-color: white;
  cursor: pointer;
  font-size: 15px;
  margin-bottom: 5px;
  padding-top: 2px;
  padding-bottom: 2px;
}

ul>li.ui-state-default {
  list-style: none;
}

ol>li.ui-state-default {
  list-style-position: inside;
}

.connected-sortable {
  margin-top: 10px;
  padding-left: 0;
}

.connected-sortable-empty {
  min-height: 40px;
  border: RGBA(190, 190, 190, 1) 1px dashed;
}

nav a.navbar-brand {
  padding: 10px;
  max-height: -moz-fit-content;
  max-height: fit-content;
}

nav .header_logo {
  height: 30px;
  margin-left: 12px;
}

nav .navbar-fixed-top,
nav.navbar.fixed-top {
  border-width: 0;
}

nav.navbar-default {
  background: RGBA(60, 60, 60, 1);
  background-image: none;
  border-color: RGBA(60, 60, 60, 1);
}

nav.navbar-default ul.navbar-nav>li>a {
  color: white;
  font-weight: 400;
  text-shadow: none;
}

nav.navbar-default ul.navbar-nav>li>a:active,
nav.navbar-default ul.navbar-nav>li>a:focus,
nav.navbar-default ul.navbar-nav>li>a:hover {
  background: RGBA(255, 255, 255, 0.15);
  color: white;
}

nav.navbar-default .navbar-nav>.active>a {
  background: RGBA(0, 164, 153, 1);
  color: white;
}

nav.navbar-default .navbar-nav>.active>a:active,
nav.navbar-default .navbar-nav>.active>a:focus,
nav.navbar-default .navbar-nav>.active>a:hover {
  background: RGBA(255, 255, 255, 0.15);
  color: white;
}

nav.navbar-default .navbar-toggle {
  background-color: RGBA(60, 60, 60, 1);
  border-color: transparent;
  border-radius: 0;
  margin: 0;
  padding: 17px;
}

/* BS4 admin/portal: .ec-navbar + brand cluster + env badge spacing */

.admin-form {
  margin-left: 10px;
  margin-right: 10px;
  padding: 10px;
  color: #333;
  font-size: 16px;
}

nav.ec-navbar {
  z-index: 1030;
  min-height: 50px;
}

/* Narrow viewports: keep brand + toggler on the first row (BS wraps the collapse below via flex-basis). */

nav.ec-navbar .ec-navbar-brand-cluster {
  min-height: 50px;
  margin-right: 1rem;
  min-width: 0;
  /* Shrink-only, and absorb ALL row-overage here. Without the large shrink
     factor the overage is distributed proportionally to flex-basis, which
     leaves the collapse to shrink — that forces .ec-navbar-primary below
     its content width and its rightmost <li>s paint under the secondary UL
     (breaking clicks on Tools/Rate Info/Payouts in e2e). */
  flex: 0 9999 auto;
  max-width: 100%;
  flex-wrap: nowrap;
  overflow: hidden;
}

nav.ec-navbar .navbar-brand {
  min-width: 0;
  flex: 0 0 auto;
}

nav.ec-navbar .header_logo {
  max-width: 100%;
  height: auto;
  max-height: 30px;
}

nav.ec-navbar .dev-marker {
  align-items: center;
  /* Informational pill: shrinks and clips BEFORE the collapse does, so it
     never steals width from the primary/secondary nav ULs. */
  flex: 0 9999 auto;
  min-width: 0;
  overflow: hidden;
}

nav.ec-navbar .dev-marker>span {
  margin-top: 0;
  margin-left: 0;
  height: auto;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.65rem;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

nav.ec-navbar .navbar-toggler {
  background-color: RGBA(60, 60, 60, 1);
  border-color: RGBA(255, 255, 255, 0.35);
  border-radius: 0;
  flex-shrink: 0;
  margin: 0;
  padding: 0.5rem 0.65rem;
}

nav.ec-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (min-width: 992px) {
  /* Collapse keeps its full content width; any row-overage is absorbed by
     the brand cluster (which clips .dev-marker) instead of the primary UL. */

  nav.ec-navbar>.container-fluid>.ec-navbar-collapse {
    flex: 1 0 auto;
    min-width: 0;
  }

  /* Keep primary + secondary ULs on a single row; the env pill is informational
     and clips via .dev-marker overflow rules rather than pushing items to row 2. */

  nav.ec-navbar.navbar-expand-lg .navbar-collapse.collapse {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
  }

  /* Override the utility .flex-wrap class on the primary UL so its nav-items
     never wrap and grow the navbar vertically. flex-shrink:0 (on the UL and
     its items) guarantees the UL never narrows below its content, so the
     rightmost dropdowns can never be painted under .ec-navbar-secondary. */

  nav.ec-navbar .ec-navbar-primary {
    flex-wrap: nowrap !important;
    flex-shrink: 0;
  }

  nav.ec-navbar .ec-navbar-primary > .nav-item {
    flex-shrink: 0;
  }
}

/* Brand + dev-marker stay on one row; marker uses leftover width and clips (Bootstrap 3 floats otherwise wrap). */

nav.navbar-default.navbar-fixed-top .navbar-header {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0;
}

nav.navbar-default.navbar-fixed-top .navbar-header .navbar-toggle,
nav.navbar-default.navbar-fixed-top .navbar-header .navbar-brand {
  flex-shrink: 0;
}

@media (min-width: 768px) {
  nav.navbar-default.navbar-fixed-top > .container-fluid {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: 0;
  }

  nav.navbar-default.navbar-fixed-top .navbar-header {
    float: none !important;
    flex: 1 1 0;
    overflow-x: hidden;
  }

  nav.navbar-default.navbar-fixed-top .navbar-collapse {
    float: none !important;
    flex: 0 0 auto;
  }
}

@media (max-width: 767px) {
  nav.navbar-default.navbar-fixed-top .navbar-header {
    max-width: 100%;
    overflow-x: hidden;
  }
}

nav .dropdown-menu > .active > a,
nav .dropdown-menu > .active > a:focus,
nav .dropdown-menu > .active > a:hover {
  background: RGBA(237, 237, 237, 1);
  color: inherit;
}

nav .dropdown-menu .dropdown-item.active,
nav .dropdown-menu .dropdown-item:active,
nav .dropdown-menu .dropdown-item:focus,
nav .dropdown-menu .dropdown-item:hover {
  background: RGBA(237, 237, 237, 1);
  color: inherit;
}

@media (max-width: 991px) {
  .ec-navbar .navbar-collapse {
    max-height: none;
  }
}

@media (max-width: 767px) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: none;
  }
}

footer {
  background: RGBA(60, 60, 60, 1);
  bottom: 0;
  color: white;
  height: 221px;
  line-height: 1em;
  position: absolute;
  width: 100%;
}

footer .container {
  padding: 0 0 11px 0;
}

footer .footer-list a {
  color: RGBA(190, 190, 190, 1);
  display: block;
  font-size: 13px;
  margin-bottom: 3px;
}

footer .footer-list a:hover {
  background: none;
  text-decoration: underline;
}

footer .footer-legal a {
  color: RGBA(0, 164, 153, 1);
  font-size: 13px;
  margin-bottom: 3px;
  margin-right: 20px;
}

footer .footer-legal a:hover {
  background: none;
  text-decoration: underline;
}

footer i {
  color: white;
  font-size: 1.4em;
  margin: 0 5px 5px 0;
}

footer h5 {
  margin-top: 24px;
}

#payment-form .form-group label {
  font-size: 0.875em;
  font-weight: 600;
  margin-bottom: 5px;
}

#payment-form button.ec-button-teal {
  margin-bottom: 20px;
}

.ec-payment-summary p {
  margin-bottom: 0;
}

.ec-dash-chart-wrap {
  background-color: white;
  border: 1px solid RGBA(190, 190, 190, 1);
  margin-bottom: 40px;
  padding: 20px;
  position: relative;
}

.ec-dash-chart-wrap h2 {
  float: left;
}

.ec-dash-chart-wrap #ec-dash-charges {
  font-size: 0.875em;
  height: 400px;
  margin: 0 auto;
  width: 100%;
}

.ec-dash-chart-filters {
  position: absolute;
  right: 0;
  top: 0;
}

.ec-dash-chart-filters a {
  background-color: RGBA(237, 237, 237, 1);
  border-bottom: 1px solid RGBA(190, 190, 190, 1);
  border-left: 1px solid RGBA(190, 190, 190, 1);
  display: block;
  float: left;
  font-size: 0.875em;
  margin: 0;
  padding: 15px 25px;
  text-decoration: none;
}

.ec-dash-chart-filters a:hover {
  background-color: white;
}

.ec-dash-chart-filters a.active {
  background-color: white;
  color: RGBA(0, 164, 153, 1);
  font-weight: 600;
}

.ec-box-teal {
  background: RGBA(0, 164, 153, 1);
  color: white;
  margin-bottom: 20px;
  padding: 20px;
}

.ec-box-teal .ec-button-white-border:focus,
.ec-box-teal .ec-button-white-border:hover {
  background-color: RGBA(255, 255, 255, 0.1);
}

.ec-box-teal h4 {
  opacity: 0.7;
}

.ec-box-border-only {
  border: 1px solid RGBA(190, 190, 190, 1);
  margin-bottom: 20px;
  padding: 20px;
}

#new-customer-request .new-customer-access-cards {
  gap: 15px;
}

#new-customer-request .new-customer-access-cards .form-control {
  flex: 1;
  min-width: 0;
}

.ec-box-border-only.red {
  border-color: red;
}

.ec-carbon-saved {
  background-image: url(../images/bkgnd-carbon-saved.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
  margin-bottom: 20px;
  padding: 20px;
  text-shadow: 2px 2px 7px RGBA(0, 0, 0, 0.6);
}

.ec-date-range {
  display: inline-block;
  margin-right: 10px;
  width: 36%;
}

.ec-invoice-detail table+table {
  margin-bottom: 0;
}

.modal-content .custom-list-actions-nav-title {
  margin: unset;
}

.custom-list-actions-nav-title {
  margin: -25px 10px 15px 23px;
}

.custom-list-actions-nav-title h1.list-page-title {
  display: inline-block;
  font-size: 1.2em;
  font-weight: 600;
  margin: 0 10px 0 0;
}

.custom-list-actions-nav-title h1.list-page-title .count {
  color: RGBA(128, 128, 128, 1);
  font-weight: 400;
}

/* Inset matches .custom-list-actions-nav-title (23px left) without width overflow */

.custom-list-actions-nav {
  box-sizing: border-box;
  clear: left;
  padding-left: 23px;
  padding-right: 12px;
}

.custom-list-actions-nav ul.nav-tabs.actions-nav {
  align-items: center;
  background: white;
  border: 0;
  flex-wrap: nowrap;
  float: none;
  margin: 0 0 12px 0;
  text-transform: initial;
  width: 100%;
}

/* BS4 .nav is flex + flex-wrap; keep toolbar controls on one row with horizontal scroll if needed */

.custom-list-actions-nav ul.nav-tabs.actions-nav > li {
  flex-shrink: 0;
  margin-right: 14px;
}

.custom-list-actions-nav ul.nav-tabs.actions-nav > li:last-child {
  margin-right: 0;
}

.custom-list-actions-nav ul.nav-tabs.actions-nav > li > a,
.custom-list-actions-nav ul.nav-tabs.actions-nav > li.dropdown > a {
  white-space: nowrap;
}

/* Many filters: tall scrollable menu; min width so labels stay on one line */

#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav ul.dropdown-menu.field-filters {
  max-height: min(70vh, 24rem);
  min-width: 14rem;
  overflow-x: hidden;
  overflow-y: auto;
}

/* Full-row clickable filter items with hover highlight */

ul.dropdown-menu.field-filters li a.filter {
  cursor: pointer;
  display: block;
  padding: 3px 20px;
  width: 100%;
}

ul.dropdown-menu.field-filters li:hover {
  background-color: #f5f5f5;
}

.custom-list-actions-nav ul.nav-tabs.actions-nav a {
  background-color: transparent;
  border: none;
  color: black;
  font-size: 16px;
  font-weight: 400;
  padding: 4px 10px;
}

.custom-list-actions-nav ul.nav-tabs.actions-nav a:hover,
.custom-list-actions-nav ul.nav-tabs.actions-nav a:focus,
.custom-list-actions-nav ul.nav-tabs.actions-nav a:active {
  background-color: transparent;
  border: none;
  color: RGBA(128, 128, 128, 1);
  text-decoration: underline;
}

#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.dropdown>a>.caret {
  margin-left: 5px;
}

#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav ul.dropdown-menu>li>a {
  font-size: 14px;
  height: auto;
  padding: 5px 15px;
  text-decoration: none;
  white-space: nowrap;
}

/* "With selected" uses div.dropdown-menu + a.dropdown-item (Bootstrap 4) */

#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav .dropdown-menu .dropdown-item {
  font-size: 14px;
  white-space: nowrap;
}

#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create>a {
  background-color: RGBA(0, 164, 153, 1);
  border-radius: 1em;
  color: white;
  display: inline-block;
  font-size: 15px;
  margin: 0;
  padding: 6px 16px;
  text-decoration: none;
}

#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create>a:hover,
#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create>a:focus,
#content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create>a:active {
  background-color: RGBA(0, 89, 79, 1);
  border: none;
  color: white;
  text-decoration: none;
}

.custom-list-actions-nav .custom-list-search i.fa-search {
  color: RGBA(190, 190, 190, 1);
}

.custom-list-actions-nav .custom-list-search .form-inline {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  margin: 0;
  padding: 2px 0 0 0;
}

.custom-list-actions-nav .custom-list-search .form-group {
  margin-bottom: 0;
}

.custom-list-actions-nav .custom-list-search input {
  background: transparent;
  border: none;
  border-bottom: 1px solid RGBA(190, 190, 190, 1);
  box-shadow: none;
  height: 20px;
  line-height: 1.25;
  margin-bottom: 0;
  padding: 2px 0 4px;
}

.custom-list-actions-nav .custom-list-search input:hover,
.custom-list-actions-nav .custom-list-search input:focus {
  border-bottom-color: black;
}

#content.ec-admin .custom-list-actions-nav .custom-list-search input[type="text"] {
  color: black;
  font-size: 16px;
}

#content.ec-admin .custom-list-actions-nav .custom-list-search form.navbar-form {
  margin: 0;
}

ul.nav-tabs.actions-nav li.active a {
  background-color: transparent;
  border: none;
  color: RGBA(0, 164, 153, 1);
  cursor: pointer;
  font-weight: 600;
}

/* Space below floated actions nav; same horizontal inset as title */

.custom-list-filter {
  clear: left;
  margin-top: 4px;
  padding-right: 12px;
}

.custom-list-filter #filter_form {
  margin-left: 23px;
  margin-right: 0;
}

.custom-list-filter #filter_form table.filters {
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  max-width: 100%;
  /* Shrink to filter controls instead of stretching one column across the viewport */
  width: auto;
}

/* inline-block td shrink-wraps cells and squeezes Select2; use real table layout */

.custom-list-filter #filter_form table.filters tr td {
  display: table-cell;
  padding: 8px 0px 8px 0;
  vertical-align: middle;
  width: auto;
}

/* Default: don’t force width (value column links, etc.) */

.custom-list-filter #filter_form table.filters tr td a {
  display: inline-block;
  max-width: 100%;
  text-align: left;
  width: auto;
}

.custom-list-filter #filter_form table.filters tr td:first-child {
  white-space: nowrap;
  width: 1%;
}

.custom-list-filter #filter_form table.filters tr td:nth-child(2) {
  width: 1%;
}

/* Value column: table auto-layout ignores td max-width — cap widgets below instead */

.custom-list-filter #filter_form table.filters tr td:last-child {
  min-width: 0;
  vertical-align: middle;
  width: auto;
}

/*
 * Select2 sets width from the cell; 100% of a stretched column = full page.
 * Hard-cap container width so boolean / short-option filters stay compact.
 */

#content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child .select2-container {
  box-sizing: border-box !important;
  max-width: min(36rem, calc(100vw - 4rem)) !important;
  min-width: 10rem !important;
  width: min(19rem, calc(100vw - 4rem)) !important;
}

#content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child select.filter-val {
  box-sizing: border-box;
  max-width: min(36rem, calc(100vw - 4rem));
  width: auto;
}

/* Operation dropdown stays compact */

#content.ec-admin .custom-list-filter #filter_form table.filters tr td:nth-child(2) .select2-container {
  max-width: 16rem;
  min-width: 8.5rem;
  width: auto !important;
}

/* Global admin rule forces 48px single Select2; shrink operator row to match tag multiselect / inputs */

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:nth-child(2)
  .select2-selection--single {
  align-items: center;
  display: flex;
  height: 40px !important;
  line-height: 1.35 !important;
  margin-bottom: 0 !important;
  min-height: 40px !important;
  position: relative;
}

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:nth-child(2)
  .select2-selection--single
  .select2-selection__rendered {
  line-height: 1.35 !important;
  padding-left: 8px;
  padding-right: 24px;
  width: 100%;
}

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:nth-child(2)
  .select2-selection--single
  .select2-selection__arrow {
  height: 100%;
  min-height: 38px;
  top: 0;
}

/* Value Select2: match operator column + .remove-filter row (40px), not global 48px / BS4 calc() */

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:last-child
  .select2-selection--single {
  align-items: center;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex;
  height: 40px !important;
  line-height: 1.35 !important;
  margin-bottom: 0 !important;
  min-height: 40px !important;
  position: relative;
}

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:last-child
  .select2-selection--single
  .select2-selection__rendered {
  line-height: 1.35 !important;
  padding-left: 8px;
  padding-right: 24px;
  width: 100%;
}

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:last-child
  .select2-selection--single
  .select2-selection__arrow {
  height: 100%;
  min-height: 38px;
  top: 0;
}

#content.ec-admin
  .custom-list-filter
  #filter_form
  table.filters
  tr
  td:last-child
  .select2-container--bootstrap4.select2-container--focus
  .select2-selection--single {
  box-shadow: none !important;
}

/* Select2 4.x tag chips — flex row so × never overlaps label (avoids absolute+padding vs BS4 theme fights) */

#content.ec-admin .custom-list-filter .select2-selection--multiple {
  display: flow-root;
  height: auto !important;
  margin-bottom: 0;
  min-height: 34px;
  padding: 4px 6px 6px;
}

#content.ec-admin .custom-list-filter .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  display: block;
  padding: 0;
  width: 100%;
}

#content.ec-admin .custom-list-filter .select2-selection--multiple .select2-selection__choice {
  align-items: center;
  background-color: RGBA(237, 237, 237, 1);
  border: 1px solid RGBA(190, 190, 190, 1);
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  float: none;
  /* Legacy admin rule: .select2-container:not(.bootstrap4) .select2-selection__choice uses fixed
     height/line-height/margin with !important — breaks flex chip layout and vertical label alignment. */
  height: auto !important;
  line-height: normal !important;
  margin-bottom: 0 !important;
  margin-left: 5px;
  margin-top: 5px;
  margin-right: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  position: relative;
  vertical-align: bottom;
  white-space: nowrap;
}

#content.ec-admin .custom-list-filter .select2-selection--multiple .select2-selection__choice__display {
  align-items: center;
  color: rgb(0, 144, 133);
  cursor: default;
  display: flex;
  flex: 1 1 auto;
  font-weight: 500;
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  padding: 5px 10px 5px 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#content.ec-admin .custom-list-filter .select2-selection--multiple .select2-selection__choice__remove {
  align-items: center;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-bottom-left-radius: 4px;
  border-right: 1px solid RGBA(190, 190, 190, 1);
  border-top-left-radius: 4px;
  color: rgb(0, 120, 110);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  float: none !important;
  font-size: 1em;
  font-weight: bold;
  justify-content: center;
  line-height: 1;
  margin: 0;
  padding: 4px 8px 4px 10px;
  position: static !important;
}

#content.ec-admin
  .custom-list-filter
  .select2-selection--multiple
  .select2-selection__choice__remove:hover,
#content.ec-admin
  .custom-list-filter
  .select2-selection--multiple
  .select2-selection__choice__remove:focus {
  background-color: RGBA(220, 220, 220, 1);
  color: #111;
  outline: none;
}

/* Span full first column so short labels still meet the operator control (shared col width). */

.ec-admin .custom-list-filter #filter_form table.filters .remove-filter {
  align-items: center;
  background-color: RGBA(237, 237, 237, 1);
  background-image: none;
  border: 1px solid RGBA(190, 190, 190, 1);
  border-radius: 0px;
  border-right: 0px;
  box-shadow: none;
  box-sizing: border-box;
  color: black;
  display: flex;
  font-weight: 400;
  justify-content: flex-start;
  line-height: 1.35;
  margin-bottom: 0;
  min-height: 40px;
  padding: 6px 12px;
  text-decoration: none;
  text-shadow: none;
  vertical-align: middle;
  width: 100%;
}

#content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter:hover {
  background-color: RGBA(190, 190, 190, 1);
}

#content.ec-admin .custom-list-filter #filter_form table.filters .select2-choice {
  border: 1px solid RGBA(190, 190, 190, 1);
  box-shadow: none;
  color: black;
  font-size: 14px;
  font-weight: 400;
  height: 34px;
  margin-left: -1px;
  padding: 0;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
}

#content.ec-admin .custom-list-filter #filter_form table.filters .select2-choice .select2-arrow {
  padding-top: 0;
}

#content.ec-admin .custom-list-filter #filter_form table.filters .select2-choice:hover {
  background-color: RGBA(237, 237, 237, 1);
}

#content.ec-admin .custom-list-filter #filter_form table.filters input.filter-val {
  border: 1px solid RGBA(190, 190, 190, 1);
  border-left: 0px;
  box-shadow: none;
  font-size: 14px;
  height: 40px;
  max-width: 100%;
  box-sizing: border-box;
}

.custom-list-filter #filter_form .ec-text-link {
  display: inline-block;
  margin: 10px 15px 18px 0;
}

#content div.filter-val {
  max-width: min(36rem, calc(100vw - 4rem));
  min-width: 200px;
}

.table-responsive {
  width: 100%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.table-responsive>table {
  box-shadow: 1rem .5rem .5rem rgba(0, 0, 0, 0.05);
}

textarea {
  margin-bottom: 10px;
  padding: 15px;
}

.form-group a.btn.btn-default {
  margin-bottom: 20px;
}

.form-group input[name="_add_another"],
.form-group input[name="_continue_editing"] {
  display: none;
}

.submit-row .btn {
  min-width: 200px;
}

.submit-row a.btn-danger {
  text-decoration: none;
  text-shadow: none;
}

a.ec-button-teal-border.filter,
button.ec-button-teal-border.filter {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  margin: 0;
  min-height: 48px;
  padding-bottom: 5px;
  padding-top: 5px;
  vertical-align: top;
}

.select2-container .select2-choice {
  border-radius: 0;
  height: 48px;
  padding: 8px 0;
  text-decoration: none;
}

.select2-container .select2-choice:hover {
  border-color: black;
}

.select2-container .select2-choice .select2-arrow {
  padding-top: 8px;
}

#s2id_tags>ul>li.select2-search-choice.select2-locked>div>span {
  filter: opacity(0.5);
}

.cord-type-selection .select2-container .select2-choice {
  width: 125px;
}

.select2-result-label {
  width: 200px;
}

.ec-button-round-sm {
  background-color: RGBA(41, 143, 198, 1);
  border-radius: 2em;
  color: white;
  display: inline-block;
  font-size: 14px;
  margin: 0 5px;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
}

.ec-button-round-sm i {
  margin-left: 10px;
}

.ec-button-round-sm:hover {
  background-color: black;
}

.ec-button-round-sm.delete {
  background-color: darkred;
  font-weight: 600;
  border: 0;
}

.ec-button-round-sm.delete:disabled {
  opacity: 20%;
}

.ec-button-round-sm.delete:disabled:hover {
  background-color: darkred;
}

.ec-button-round-sm.delete:hover {
  background-color: black;
}

.ec-button-round-sm.add-cord {
  border: 0;
}

.ec-button-round-sm.reset-selections {
  border: 0;
  font-weight: 600;
}

.ec-button-round-sm.submit-selections {
  border: 0;
  font-weight: 600;
}

.ec-button-round-sm.upload-file {
  border: 0;
  font-weight: 600;
}

.ec-button-round-sm.add-service-log {
  border: 0;
  font-weight: 600;
}

.ec-button-round-sm.push-rules {
  border: 0;
  font-weight: 600;
}

.ec-button-round-sm.clear-rules {
  border: 0;
  font-weight: 600;
}

.ec-button-round-sm.rules-button {
  border: 0;
  font-weight: 600;
}

.email-support {
  background-color: RGBA(41, 143, 198, 1);
  border-radius: 2em;
  color: white;
  display: inline-block;
  font-size: 14px;
  margin: 0 5px;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
}

.email-support i {
  margin-left: 10px;
}

.email-support:hover {
  background-color: black;
}

.out-of-service {
  background-color: black;
  border-radius: 2em;
  color: white;
  display: inline-block;
  font-size: 14px;
  margin: 0 5px;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
}

.out-of-service i {
  margin-left: 10px;
}

.out-of-service:hover {
  background-color: black;
  color: white
}

.update-out-of-service {
  background-color: darkred;
  border-radius: 2em;
  color: white;
  display: inline-block;
  font-size: 14px;
  margin: 0 5px;
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
}

.update-out-of-service:hover {
  color: white;
}

.update-out-of-service a:focus {
  color: white;
}

.table-hover>tbody>tr.out-of-service-warning,
.table-hover>tbody>tr.out-of-service-warning:hover,
table>tbody>tr.out-of-service-warning,
table>tbody>tr.out-of-service-warning:hover {
  background-color: #FFF9E5;
}

h3 {
  color: RGBA(128, 128, 128, 1);
  font-weight: 600;
}

a {
  color: RGBA(0, 164, 153, 1);
  font-weight: 500;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

table a.secondary {
  color: RGBA(128, 128, 128, 1);
  font-weight: 400;
}

a.icon,
button.icon,
form.icon {
  color: black;
  margin-left: 0;
  margin-right: 10px;
  text-decoration: none;
  background: transparent;
  border: 0;
  padding: 0;
}

a.icon:hover,
button.icon:hover,
form.icon:hover {
  color: RGBA(41, 143, 198, 1);
  cursor: pointer;
}

a .clear-filter,
form .clear-filter {
  cursor: pointer;
  margin-left: 10px;
  text-decoration: underline;
}

a.ec-text-link,
button.ec-text-link {
  background: transparent;
  border: 0;
  color: RGBA(0, 164, 153, 1);
  font-size: 14px;
  font-weight: 600;
  line-height: 1em;
  padding: 0;
  text-decoration: underline;
  text-transform: none;
}

a.ec-text-link:hover,
button.ec-text-link:hover {
  color: black;
  cursor: pointer;
}

.disabled-button-link {
  pointer-events: none;
  text-decoration: none;
  background-color: gray;
}

.ec-cust-general-info p {
  margin-bottom: 15px;
}

td p {
  margin-bottom: 0;
}

table#total-usage-table {
  font-size: inherit;
}

table#total-usage-table p.total-usage-title {
  margin-bottom: 1px;
}

table#total-usage-table p.total-usage-value {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0;
}

.create-usage-list {
  display: none;
}

.fa-line-chart {
  color: RGBA(0, 164, 153, 1);
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

.fa-line-chart:hover {
  text-decoration: none;
}

.doc-icon {
  color: RGBA(128, 128, 128, 1);
}

.ec-stats.ec-stretch-lt-grey {
  background-color: RGBA(237, 237, 237, 1);
  margin-bottom: -80px;
  margin-top: -40px;
  padding: 40px;
}

.ec-stats .ec-stats-box {
  background-color: white;
  margin-bottom: 40px;
  padding: 15px;
}

.ec-stats .ec-stats-box h3 {
  color: black;
}

.ec-stats .ec-stats-box table {
  border: 0px;
  margin-bottom: 0;
}

.ec-stats .ec-general-stats-box .header {
  background: RGBA(190, 190, 190, 1);
  padding: 10px 15px;
}

.ec-stats .ec-general-stats-box .header h3 {
  color: black;
  display: inline-block;
  margin-bottom: 0px;
}

.ec-stats .ec-general-stats-box .header .filters {
  display: inline-block;
}

#content.ec-admin .ec-stats .ec-general-stats-box .header .filters .dropdown-menu {
  left: auto;
  right: 0px;
}

.ec-stats .ec-general-stats-box .sys-stats-body {
  background: RGBA(60, 60, 60, 1);
  margin: 0;
  position: relative;
}

.ec-stats .ec-general-stats-box .sys-stats-body .stat-large {
  color: white;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large.customers {
  left: 17%;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large.charging {
  left: 25%;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large h1 {
  color: white;
  font-size: 3.5em;
  font-weight: 100;
  margin-bottom: 4px;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large h1 small {
  color: white;
  font-size: 16px;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large h1 a {
  color: white;
  font-weight: 100;
  text-decoration: none;
}

.ec-stats .ec-general-stats-box .sys-stats-body table {
  margin-bottom: 0;
}

.ec-stats .ec-general-stats-box .sys-stats-body .stat-rows {
  padding: 0;
  float: right;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-rows .stat {
  background: white;
  border-bottom: solid 1px RGBA(190, 190, 190, 1);
  border-left: solid 1px RGBA(190, 190, 190, 1);
  padding: 10px 15px;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-rows .stat p {
  margin-bottom: 0;
}

#content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-rows .stat.last {
  border-bottom: 0;
}

.ec-stats .stats-num {
  text-align: right;
}

/* Avoid position/top % — flex-stretched columns give a definite height and break overlap with the next .row. */

.stat-overview {
  background: RGBA(60, 60, 60, 1);
  color: white;
  text-align: center;
  margin: 0;
  padding-top: 70px;
  height: 240px;
}

.stat-overview.alarm {
  background: #a94442;
}

.stat-overview.offline {
  background: slategray;
}

.stat-overview h1 {
  color: white;
  font-size: 3.5em;
  font-weight: 100;
  margin-bottom: 4px;
}

.stat-overview h1 a {
  color: white;
  font-weight: 100;
  text-decoration: none;
}

.co2-saved,
.spent-charging,
.kw-used {
  background-position: center center;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding: 35px 0;
}

.co2-saved h2,
.spent-charging h2,
.kw-used h2 {
  font-weight: 600;
  margin-bottom: 5px;
}

.co2-saved {
  background-image: url(../images/img-co2saved.jpg);
}

.spent-charging {
  background-image: url(../images/img-spentcharging.jpg);
}

.kw-used {
  background-image: url(../images/img-kwused.jpg);
}

.container.ec-wiki h2,
#content .ec-admin .container.ec-wiki h2 {
  margin-top: 30px;
}

.container.ec-wiki h2 strong,
#content .ec-admin .container.ec-wiki h2 strong {
  color: black;
}

.container.ec-wiki h3,
#content .ec-admin .container.ec-wiki h3 {
  color: black;
  margin-top: 28px;
}

.container.ec-wiki p,
#content .ec-admin .container.ec-wiki p {
  margin-bottom: 20px;
}

.container.ec-wiki ul,
#content .ec-admin .container.ec-wiki ul {
  list-style: none;
  font-size: 14px;
  line-height: 1.2em;
  margin-left: 12px;
  padding-left: 0;
}

.container.ec-wiki ul li,
#content .ec-admin .container.ec-wiki ul li {
  color: RGBA(60, 60, 60, 1);
  list-style-type: none;
  list-style-image: none;
  margin-bottom: 5px;
  padding-left: 1em;
  position: relative;
}

.container.ec-wiki ul li:before,
#content .ec-admin .container.ec-wiki ul li:before {
  content: "\02022";
  left: 0;
  padding-top: 0;
  position: absolute;
}

.container.ec-wiki ul li p,
#content .ec-admin .container.ec-wiki ul li p {
  margin-bottom: 0;
}

.container.ec-wiki ol,
#content .ec-admin .container.ec-wiki ol {
  font-size: 14px;
  line-height: 1.2em;
}

.container.ec-wiki ol li,
#content .ec-admin .container.ec-wiki ol li {
  margin-bottom: 10px;
  padding-left: 1em;
}

.container.ec-wiki .table,
#content .ec-admin .container.ec-wiki .table {
  margin-top: 40px;
}

.container.ec-wiki.ec-release-notes ul li,
#content .ec-admin .container.ec-wiki.ec-release-notes ul li {
  padding-left: 6px;
  position: unset;
}

.container.ec-wiki.ec-release-notes ul li:before,
#content .ec-admin .container.ec-wiki.ec-release-notes ul li:before {
  content: unset;
  left: unset;
  padding-top: unset;
  position: unset;
}

.debug {
  background-color: #ffe0e0;
}

.debug .collapsed {
  border-color: #a03030;
}

.debug .collapsed:before {
  content: "[+] ";
  display: inline-block;
}

.debug .collapsed>.short {
  display: inline-block;
}

.debug .collapsed>.long {
  display: none;
  padding-left: 32px;
}

.debug .collapsed.uncollapsed:before {
  content: "[-] ";
}

.debug .collapsed.uncollapsed>.long {
  display: block;
}

@media only screen and (min-width: 1600px) {
  .ec-stats .container-fluid {
    max-width: 1700px;
  }
}

@media only screen and (max-width: 992px) {
  .ec-banner-text {
    width: 90%;
  }

  .ec-banner.signup {
    background-size: auto 220px;
    height: 220px;
  }

  .table>thead>tr>th {
    font-size: 14px;
  }

  .ec-dash-chart-wrap h2 {
    float: none;
  }

  .ec-dash-chart-wrap #ec-dash-charges {
    height: 280px;
  }

  .ec-dash-chart-filters {
    position: relative;
    right: auto;
    top: auto;
  }

  .ec-dash-chart-filters a {
    border: 1px solid RGBA(190, 190, 190, 1);
    margin-bottom: 20px;
    padding: 10px 15px;
  }

  .ec-box-teal.dash-total-balance h1 {
    font-size: 2.3em;
    margin-bottom: 12px;
  }

  .ec-box-teal.dash-total-balance h2 {
    margin-bottom: 0;
  }

  .ec-box-teal.dash-total-balance h4 {
    margin-bottom: 7px;
  }
}

@media only screen and (max-width: 767px) {
  body {
    margin-bottom: 460px;
  }

  .ec-banner-text {
    width: 90%;
  }

  .ec-banner.signup {
    background-size: auto 210px;
    height: 210px;
  }

  .ec-box-teal.dash-total-balance h1 {
    font-size: 2em;
    margin-bottom: 8px;
  }

  .ec-box-teal.dash-total-balance h4 {
    margin-bottom: 5px;
  }

  .tab-content,
  #content .ec-admin .tab-content {
    overflow-y: scroll;
  }

  .ec-stats .ec-general-stats-box .sys-stats-body .stat-large,
  #content .ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large {
    border-bottom: solid 1px RGBA(190, 190, 190, 1);
    padding: 8px 0;
    position: relative;
    text-align: center;
    top: auto;
    transform: none;
  }

  #content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large.customers,
  #content .ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large.customers {
    left: auto;
  }

  #content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large.charging,
  #content .ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-large.charging {
    left: auto;
  }

  #content.ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-rows .stat,
  #content .ec-admin .ec-stats .ec-general-stats-box .sys-stats-body .stat-rows .stat {
    border-left: 0;
  }

  footer {
    height: 460px;
  }

  footer .container {
    padding: 0 18px 9px 18px;
  }
}

.op-wrapper+.op-wrapper {
  margin-top: 0.5em;
}

.op-wrapper.op-input-wrapper {
  padding: 0 0 0.5em 0;
}

.op-wrapper.op-input-wrapper #op-arguments {
  display: inline-block;
  vertical-align: bottom;
}

.op-wrapper.op-input-wrapper #op-arguments .op-argument {
  display: inline-block;
}

.op-wrapper.op-input-wrapper #op-arguments .op-argument label {
  text-align: center;
}

.op-wrapper.op-input-wrapper #op-arguments .op-argument * {
  display: block;
}

.op-wrapper.op-input-wrapper #op-arguments .op-argument+.op-argument {
  margin-left: 0.2em;
}

.op-wrapper.op-input-wrapper #op-hints {
  margin-top: 0.5em;
  color: #333;
  font-style: italic;
  font-size: 0.9em;
}

.op-wrapper.op-output-wrapper {
  height: 15em;
  padding: 0.5em 0 0 0;
}

.op-wrapper.op-output-wrapper .op-output {
  resize: none;
  height: 15em;
  font-size: inherit;
}

.upload-area {
  min-width: 200px;
}

.upload-box {
  display: none;
  width: 600px;
  height: 400px;
  position: absolute;
  left: 200px;
  top: 20px;
  background: RGBA(0, 164, 153, 1);
  border: 1px solid RGBA(190, 190, 190, 1);
  z-index: 9999;
  border-radius: 4px;
}

input[type="range"]:before {
  content: attr(min) "%";
}

input[type="range"]:after {
  content: attr(max) "%";
}

.full-circle {
  width: 30px;
  height: 30px;
  border: 1px solid;
  border-radius: 50%;
}

.full-circle-red {
  background-color: red;
}

.full-circle-green {
  background-color: green;
}

.full-circle-blue {
  background-color: blue;
}

.full-circle-yellow {
  background-color: yellow;
}

.full-circle-gray {
  background-color: gray;
}

.full-circle-purple {
  background-color: purple;
}

.update-company {
  display: inline-block;
  width: 15%;
  vertical-align: top;
  margin-left: 10px;
}

.update-building {
  display: inline-block;
  width: 40%;
  vertical-align: top;
}

.no-company {
  margin-left: 10px;
}

.update {
  display: inline-block;
  margin-top: 4px;
  margin-bottom: 10px;
  text-decoration: none;
  text-shadow: none;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1em;
  min-height: 58px;
  padding: 18px 20px;
  text-align: center;
  text-transform: uppercase;
}

.update.submit {
  box-shadow: inset 0px 1px 0px 0px RGBA(0, 164, 153, 1);
  background: linear-gradient(to bottom, RGBA(0, 164, 153, 1) 5%, #008474 100%);
  border: 2px solid #008474;
  background-color: RGBA(0, 164, 153, 1);
  color: white;
}

.update.submit:hover {
  box-shadow: inset 0px 1px 0px 0px #008474;
  background: linear-gradient(to bottom, #008474 5%, RGBA(0, 164, 153, 1) 100%);
}

.update.cancel {
  box-shadow: inset 0px 1px 0px 0px white;
  background: linear-gradient(to bottom, white 5%, #f6f6f6 100%);
  border: 2px solid RGBA(0, 164, 153, 1);
  color: RGBA(0, 164, 153, 1);
}

.update.cancel:hover {
  box-shadow: inset 0px 1px 0px 0px #f6f6f6;
  background: linear-gradient(to bottom, #f6f6f6 5%, white 100%);
}

.generic-spinner-container {
  text-align: center;
  padding: 200px 0;
}

.generic-update-spinner {
  color: #00a499;
  display: inline-block;
}

.firmware-dropdown-col {
  margin-right: 50px;
}

.firmware-col {
  padding: 0;
}

input.firmware-input {
  height: 25px;
}

#btn_firmware_file {
  margin-top: 1em;
}

#btn_update_meshbox {
  margin-top: 1em;
}

.rule-bullet {
  font-size: 14px;
  margin-left: 15px;
}

.rule-col {
  padding: 0;
}

.rule-dropdown-col {
  margin-right: 50px;
}

.update-rule-spinner-container {
  text-align: center;
  padding: 200px 0;
}

.update-rule-spinner {
  color: #00a499;
  display: inline-block;
}

.col-name {
  min-width: 20%;
}

td.cls-weekrule.allow-overflow {
  white-space: normal;
}

#rule-dropdown-div {
  padding-right: 20px;
  margin-top: -5px;
  min-width: 450px;
}

input[type="range"].reduction-input {
  display: inline-block;
  padding: 0;
}

input[type="range"].reduction-input:before,
input[type="range"].reduction-input:after {
  content: unset;
}

.utilization>div {
  vertical-align: middle;
}

.utilization-field {
  width: 80%;
  display: inline-block;
}

.utilization-field>input[type="range"].reduction-input {
  display: block;
  margin: unset;
}

.reduction-display {
  width: 15%;
  display: inline-block;
}

.rules-datetime-delete {
  align-content: center;
}

.rules-datetime-delete input[type="checkbox"] {
  width: auto;
  margin: auto;
}

h3.rules-datetime-delete {
  text-align: center;
}

#max_session_length {
  padding: 0 5px;
}

.dow-table .dow-cell-text {
  font-size: 11px !important;
}

.dow-rule-list {
  padding: unset;
}

.dow-rule-list ul {
  list-style: none;
  padding-left: 5px;
  margin-bottom: 10px;
}

.dow-rule-list ul li {
  margin-top: 5px;
}

.dow-rule-list ul li .rule-util-range {
  padding: 0;
  margin-top: 7px;
}

.dow-rule-list ul li .rule-util-range .reduction-display {
  width: 35px;
}

.dow-rule-list ul li .rule-util-range input[type="range"] {
  width: calc(100% - 45px);
}

.dow-rule-list ul li .rule-session {
  padding: 2px;
}

.dow-rule-list ul li .rule-session input[type="number"] {
  padding: 0 5px;
  height: 30px;
  font-size: 14px;
  width: 100%;
}

.dow-rule-list ul li .rule-interval {
  display: inline-block;
  white-space: normal;
  width: calc(100% - 30px);
  word-wrap: break-word;
}

.dow-rule-list ul li .rule-delete {
  display: inline-block;
  vertical-align: top;
  width: 20px;
}

.dow-rule-list ul li .rule-delete .dow-remove-rule {
  margin: auto;
  width: 20px;
}

.dow-rule-list .rule-reduction {
  white-space: nowrap;
  overflow: hidden;
  line-height: 24px;
  border-radius: 5px;
}

.dow-rule-list .rule-reduction>div {
  padding: 5px;
}

.dow-rule-list .rule-reduction .dow-remove-rule {
  font-size: 20px;
  color: red;
  cursor: pointer;
  margin-top: 2px;
  float: right;
}

.rule-update-error {
  background-color: #ffcccc;
}

.col-membership_amount,
.col-charging_amount {
  max-width: 100px;
}

.filter-dropdown {
  display: inline-block;
  width: 350px;
}

.deposit-filter-dropdown {
  display: inline-block;
  width: 100px;
  margin-right: 10px;
}

.filter-label.control-label {
  vertical-align: top;
}

#billing-preview-clear-filter,
#reimbursement-breakdown-clear-filter {
  vertical-align: top;
}

.tag-label {
  font-weight: 400;
}

.tag-div {
  margin-bottom: 10px;
}

#save-tags {
  color: #5cb85c;
  cursor: pointer;
}

#cancel-tag-changes {
  color: darkred;
  cursor: pointer;
}

#parent-tag-display-div {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  display: inline-block;
  vertical-align: middle;
}

#parent-tag-display-div.parent-tag-display--no-tags {
  padding: 0.35rem 0.9rem;
  border-radius: 9999px;
  background-color: #00a398;
  color: white;
  font-size: 0.875rem;
  line-height: 1.4;
  margin-left: 0.6rem;
}

.config-heading {
  margin-bottom: 2px;
  font-size: 1.4em;
  font-weight: 700;
  display: block;
  color: #808080;
}

.sp-replacer.sp-light {
  height: 30px;
  width: 60px;
}

.col-membership_amount,
.col-charging_amount,
.col-total_amount {
  max-width: 100px;
}

.col-pubic-charge-breakdown {
  max-width: 115px;
}

.filter-label.control-label {
  vertical-align: top;
}

#billing-preview-clear-filter {
  vertical-align: top;
}

#scanner_container {
  text-align: center;
  margin: 0;
}

#qr-canvas {
  margin: auto;
  width: calc(100% - 20px);
  max-width: 400px;
}

#btn-scan-qr {
  cursor: pointer;
}

#btn-scan-qr img {
  height: 10em;
  padding: 15px;
  margin: 15px;
  background: white;
}

#qr-result {
  font-size: 1.2em;
  margin: 20px auto;
  padding: 20px;
  max-width: 700px;
  background-color: white;
}

.tos_div {
  overflow: auto;
  border: 1px solid #ccc;
  height: 200px;
}

.fa-camera {
  color: RGBA(0, 164, 153, 1);
}

.circuits-error {
  color: red;
  font-weight: 600;
}

#circuits {
  margin-bottom: 20px;
}

body.ec-net {
  font-family: "Work Sans", sans-serif;
  margin-bottom: 0;
  min-width: 100%;
  letter-spacing: unset;
}

.ec-net a {
  padding: 0px;
  margin: 0px;
  outline: none;
  color: #00a499;
  text-decoration: none;
  transition: all 0.3s;
}

.ec-net ul {
  list-style: none;
  padding: 0px;
  margin: 0px;
}

.ec-net ul li {
  padding: 0px;
  margin: 0px;
}

.ec-net h1,
.ec-net h2,
.ec-net h3,
.ec-net h4,
.ec-net h5,
.ec-net h6 {
  padding: 0px;
  margin: 0px;
}

.ec-net h1 {
  line-height: 70px;
}

.ec-net a:hover,
.ec-net :focus {
  outline: none;
  text-decoration: none;
}

.ec-net .container {
  max-width: 1200px;
}

.ec-net .container.clearfix {
  width: auto;
}

.ec-net .ec-net-footer {
  background: black;
  padding: 250px 0 50px 0;
  color: #fff;
}

.ec-net .ec-net-footer-col {
  margin-bottom: 30px;
}

.ec-net .ec-net-footer-logo {
  max-width: 100%;
}

.ec-net .ec-net-footer-logo img {
  max-width: 100%;
}

.ec-net .ec-net-footer-social-media {
  margin-top: 20px;
}

.ec-net .ec-net-footer-col .ec-net-footer-social-media ul li {
  display: inline-block;
  vertical-align: middle;
  padding: 0 8px 0 0;
  margin: 0;
}

.ec-net .ec-net-footer-col .ec-net-footer-social-media ul li a {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #ffffff;
  font-size: 24px;
  color: #fff;
  line-height: 40px;
  text-align: center;
}

.ec-net .ec-net-footer-col .ec-net-footer-social-media ul li a i {
  padding-right: 0;
}

.ec-net .ec-net-footer-col .ec-net-footer-social-media ul li a:hover {
  border: 1px solid #00a499;
  background: #00a499;
  color: #fff;
}

.ec-net .ec-net-footer-col p {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  line-height: 1.4em;
  padding-bottom: 10px;
}

.ec-net .ec-net-footer-col h3 {
  display: block;
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4em;
  padding-bottom: 20px;
}

.ec-net .ec-net-footer-col ul li {
  display: block;
}

.ec-net .ec-net-footer-col ul li a {
  display: inline-block;
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.2em;
}

.ec-net .ec-net-footer-col ul li a i {
  padding-right: 5px;
}

.ec-net .ec-net-footer-col ul li a:hover {
  color: #00a499;
}

.ec-net .ec-net-footer-bottom {
  text-align: center;
}

.ec-net .ec-net-footer-bottom p {
  text-align: center;
  padding: 20px 0 0;
  font-size: 16px;
}

.ec-net .pageheader {
  position: relative;
  width: 100%;
  padding: 0;
  z-index: 99;
  background-color: #fff;
}

.ec-net .pageheader .container {
  padding: 0;
}

.ec-net .primary-nav {
  display: none;
  position: absolute;
  top: 100%;
  background-color: #00a499;
  width: 100%;
  padding: 0 0;
}

.ec-net .primary-nav ul li {
  color: black;
  border-bottom: 1px solid #18bcb1;
  padding: 8px 15px;
  font-size: 16px;
}

.ec-net .primary-nav ul li:last-child {
  border-bottom: none;
}

.ec-net .primary-nav ul li a {
  color: black;
}

.ec-net .primary-nav ul li:hover a {
  color: #333333;
}

.ec-net .nav-bttn {
  float: right;
  padding: 10px 15px 10px 0;
  font-size: 28px;
  color: #00a499;
  cursor: pointer;
}

.ec-net .nav-bttn:hover {
  color: #333333;
}

.ec-net .logo {
  padding: 10px 0 10px 15px;
  float: left;
}

.ec-net .logo img {
  display: block;
}

.ec-net .login-sign-up-other {
  background-color: #00a499;
  padding: 0 15px;
}

.ec-net .login-sign-up-other ul {
  text-align: center;
}

.ec-net .login-sign-up-other li {
  float: left;
  width: 50%;
  border-right: 1px solid #18bcb1;
  padding: 8px 0;
  font-size: 16px;
}

.ec-net .login-sign-up-other li:last-child {
  border: none;
}

.ec-net .login-sign-up-other li a {
  color: #fff;
  display: block;
}

.ec-net .login-sign-up-other li:hover a {
  color: #333333;
}

.footer-list {
  font-size: 3.5rem;
  line-height: 17px;
  font-weight: 500;
}

@media (min-width: 768px) {
  .ec-net .logo {
    padding: 15px;
  }

  .ec-net .nav-bttn {
    display: none;
  }

  .ec-net .pageheader .primary-nav {
    display: block;
  }

  .ec-net .primary-nav {
    display: block;
    position: relative;
    top: auto;
    background-color: transparent;
    width: auto;
    padding: 15px 0;
    float: right;
  }

  .ec-net .primary-nav ul li {
    color: #333;
    border-bottom: none;
    padding: 5px 15px;
    float: left;
  }

  .ec-net .primary-nav ul li a {
    color: #333;
  }

  .ec-net .primary-nav ul li:hover a {
    color: #00a499;
  }

  .ec-net .ec-net-footer-logo {
    float: left;
  }

  .ec-net .ec-net-footer-social-media {
    float: right;
    margin: 0;
  }

  .ec-net .ec-net-footer-col {
    margin-bottom: 50px;
  }

  .ec-net .ec-net-footer-social-media p {
    display: inline-block;
    vertical-align: middle;
    padding: 0 15px 0 0;
  }

  .ec-net .ec-net-footer-social-media ul {
    display: inline-block;
    vertical-align: middle;
  }

  .ec-net .green-content .bttn-secondary {
    display: inline-block;
    padding: 22px 45px;
  }
}

@media (min-width: 992px) {
  .ec-net .ec-net-footer-logo {
    float: none;
  }

  .ec-net .ec-net-footer-social-media {
    float: none;
    margin: 95px 0 0;
  }

  .ec-net .ec-net-footer-col {
    margin-bottom: 90px;
  }

  .ec-net .ec-net-footer-social-media p {
    display: block;
    padding: 0 0 16px 0;
  }

  .ec-net .ec-net-footer-social-media ul {
    display: block;
  }

  .ec-net .ec-net-footer {
    padding: 90px 0 90px;
  }

  .ec-net .half-and-half-img .receipt-width {
    width: 70%;
  }
}

@media (min-width: 1025px) {
  .ec-net .pageheader {
    position: absolute;
    background-color: transparent;
    padding: 25px 0;
  }

  .ec-net .pageheader .container {
    padding: 0 15px;
  }

  .ec-net .logo {
    padding: 10px 0;
  }

  .ec-net .primary-nav {
    padding: 0 0;
  }

  .ec-net .login-sign-up-other {
    background-color: transparent;
    padding: 0 0;
    float: right;
  }

  .ec-net .primary-nav ul li {
    padding: 0 0;
  }

  .ec-net .primary-nav ul li a {
    padding: 13px 15px;
  }

  .ec-net .login-sign-up-other ul li {
    padding: 0;
    width: auto;
    border: none;
  }

  .ec-net .login-sign-up-other ul li a {
    color: #333333;
    padding: 13px 15px;
  }

  .ec-net .login-sign-up-other ul li:hover a {
    color: #000;
  }

  .ec-net .primary-nav ul li:hover a {
    color: #000;
  }

  .ec-net .login-sign-up-other ul li:last-child a {
    font-weight: 600;
    background-color: #00a499;
    color: white;
    border-radius: 10px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .ec-net .login-sign-up-other ul li:last-child:hover a {
    background-color: #fff;
    color: #00a499;
  }

  .ec-net .login-sign-up-other ul li:last-child {
    margin-left: 15px;
  }

  .ec-net .inner-pageheader .login-sign-up-other ul li:last-child a {
    font-weight: 600;
    background-color: #00a499;
    border-radius: 10px;
    padding-left: 30px;
    padding-right: 30px;
    color: #ffffff;
    border: 1px solid #00a499;
  }

  .ec-net .inner-pageheader:hover a {
    background-color: #ffffff;
    color: #00a499;
    border: 1px solid #00a499;
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.ec-loading-indicator {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #00a499;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 2s linear infinite;
  margin: 10px auto 68px auto;
}

.dev-marker {
  display: flex;
  flex-direction: row;
  flex: 1 1 0;
  min-width: 0;
  overflow-x: hidden;
  min-height: 100%;
}

.dev-marker>span {
  margin-top: 10px;
  margin-left: 10px;
  height: 100%;
  min-height: 100%;
  display: block;
  padding: 9px;
  border-radius: 0.5em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  min-width: 0;
}

.footer-logo {
  margin-top: 20px;
}

.charger-id {
  white-space: nowrap;
}

.charger-col {
  max-width: 310px;
}

.vehicle-status,
.vehicle-amps,
.vehicle-soc {
  width: 16vmin;
  text-align: right;
}

.charger-as-of-date {
  font-weight: normal;
  text-align: right;
}

.connector-status,
.connector-current {
  width: 16vmin;
  text-align: right;
}

.connector-kwh {
  width: 14vmin;
  text-align: right;
}

.field-errors {
  list-style: none;
  padding-left: 20px;
}

.autocomplete-input {
  position: absolute;
  z-index: 9999;
  display: block;
  margin: -42px 0 0 10px;
  width: 50%;
}

#page-container {
  position: relative;
  min-height: 100vh;
}

.select2-search__field {
  background-image: none !important;
}

td.cls-charger>.label {
  font-size: 100%;
  font-weight: 300;
}

/* Legacy Select2 single only — fixed height breaks multi/tag mode (choice pills need auto height). */

.select2-container:not(.select2-container--bootstrap4) .select2-selection--single {
  border-radius: 0px !important;
  height: 48px !important;
  line-height: 2.48 !important;
  margin-bottom: 7px !important;
}

.select2-container:not(.select2-container--bootstrap4) .select2-selection--multiple {
  border-radius: 4px;
  /* Must stay auto: a fixed height (previously 20px + min-height) capped the box ~34px and
     clipped multiple rows of tags. */
  height: auto !important;
  line-height: normal !important;
  margin-bottom: 7px;
  min-height: 34px !important;
  padding: 4px 6px;
}

/* Legacy / default theme multi-select only — not BS4 (float chips + different metrics). */

.select2-container:not(.select2-container--bootstrap4) .select2-selection__choice {
  margin-top: 0px !important;
  line-height: 20px !important;
  height: 25px !important;
  margin-bottom: 15px !important;
}

.select2-container:not(.select2-container--bootstrap4)
  .select2-search--dropdown
  .select2-search__field {
  border: 1px solid #ccc !important;
  border-radius: 0px !important;
  height: 48px !important;
  line-height: 2.48 !important;
  margin-bottom: 7px !important;
}

.col-md-10>hr {
  margin-top: 6px;
  margin-bottom: 12px;
}

input[name="search"].form-control {
  margin-top: 0;
  margin-bottom: 0;
  height: 18px;
  padding-bottom: 12px;
  padding-top: 10px;
}

input[type="checkbox"].form-control {
  height: 12px;
  min-height: 27px;
  padding-top: 7px;
  margin-top: 0;
  margin-bottom: 0;
  width: 30px;
}

.select2-container {
  width: 100% !important;
}

.select2-chosen {
  font-size: 15px !important;
  font-weight: 400;
  padding-left: 10px;
  vertical-align: middle;
}

.select2-search-choice div {
  line-height: 20px;
  color: rgb(0, 144, 133) !important;
  font-weight: 500;
}

.collapse.in {
  display: block !important;
  visibility: visible !important;
}

.model-list a.icon:first-child {
  margin-left: 0px !important;
}

.select2-search-field {
  max-height: 34px !important;
  height: 34px !important;
}

.footer-list {
  margin-top: 10px;
}

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

#toast-container {
  opacity: 0.9 !important;
}

.editable-submit {
  background-color: rgba(0, 164, 153, 1) !important;
}

.editable-cancel {
  background-color: rgba(187, 85, 68, 1) !important;
  color: white;
  border: 1px solid #900 !important;
}

.editable-submit:hover {
  transition: all 0.3s ease;
  background-color: rgba(0, 164, 153, 0.8) !important;
}

.editable-cancel:hover {
  transition: all 0.3s ease;
  background-color: rgba(187, 85, 68, 0.8) !important;
  color: white !important;
}

.bright-red-font {
  color: red;
}

.change-password-row {
  height: 48px;
  padding-left: 12px;
  padding-top: 6px;
  padding-bottom: 6px;
  justify-content: center;
  margin-bottom: 10px;
  margin-left: 0;
}

.toast {
  opacity: 1 !important;
}

/* Operations: style only the tab control’s .active (same <li.active> pitfall as ec-admin nav-tabs). */

#operationsTab li.mr-2 > button.active[role="tab"] {
  border-bottom: 2px solid #00a499 !important;
  border-bottom-color: #00a499 !important;
  color: #00a499 !important;
  font-weight: 600 !important;
}

/* Match Bootstrap 4 stacking (1050/1040). Values like 20/10 sit under .ec-navbar (1030) and break
   flask-admin modals when the dialog is not reparented to body. */

.modal {
  top: 55px;
  z-index: 1050;
}

.modal-header {
  flex-direction: row-reverse;
  background-color: #00A398;
  color: white;
  padding: 10px;
  border-radius: 2px 2px 0 0;
  border-left: 2px solid #009388;
  border-right: 2px solid #009388;
  border-top: 2px solid #009388;
  border-bottom: none;
}

.modal-header h3 {
  color: white;
}

/* Global h4 rule (gray) wins over .modal-header { color: white } for titles that use <h4>. */

.modal-header h4,
.modal-header .modal-title {
  color: #fff;
}

.modal-header button {
  color: white;
  margin-bottom: 3px;
}

/* Footer actions: avoid full-width .block inside narrow grid columns (building portal nickname modal). */

.modal-footer.d-flex > .ec-button-teal,
.modal-footer.d-flex > .ec-button-teal-border,
.modal-footer.d-flex > input[type="submit"].ec-button-teal,
.modal-footer.d-flex > button.ec-button-teal-border {
  margin-top: 0;
  min-width: 7.5rem;
  width: auto;
}

.modal-backdrop {
  z-index: 1040;
}

/* Flask-admin AJAX modal (#fa_modal_window): default BS4 .modal-dialog is 500px — too narrow for
   create/edit/detail forms with label + control columns. ~2× default; cap to viewport on small screens. */

/* Match BS4 modal-xl usable width — keeps col-md-2 labels wide enough in px that they don’t wrap
   (narrower dialogs made “Approximate Cost” / “Charger Size” stack). */

#fa_modal_window .modal-dialog {
  max-width: min(1140px, calc(100vw - 2rem));
}

/* Flask-admin AJAX modal: center labels with controls; stock .admin-form .form-group.row uses flex-start. */

#fa_modal_window .admin-form .form-group.row {
  align-items: center;
}

#fa_modal_window .admin-form .form-group.row > label.col-form-label strong {
  display: inline;
}

.pac-container {
  z-index: 10000 !important;
}

.manual-tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.manual-tooltip .tooltiptext {
  visibility: hidden;
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 15px;
  position: absolute;
  z-index: 1;
  bottom: 150%;
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 12px;
}

.manual-tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

/* */

/* Signup: street address line 2 confirmation modal (vehicle_shipping_block.html) */

#street-address2-unit-modal-panel .unit-modal-equal-buttons {
  align-items: stretch;
}

#street-address2-unit-modal-panel .unit-modal-equal-buttons > button {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  min-height: 56px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  padding: 12px 14px;
  line-height: 1.25;
  cursor: pointer;
}

#street-address2-unit-modal-panel .unit-modal-teal-action {
  border-radius: 0;
  border: none;
  background: #00A398;
  color: white !important;
  font-weight: 400;
  letter-spacing: 1.25px;
  font-family: AeonikMono, monospace;
  text-transform: uppercase;
}

#street-address2-unit-modal-panel .unit-modal-teal-action:hover {
  background: #509594;
}

#ec-net-footer a {
  color: white;
}

#ec-net-footer a:hover {
  color: #00a398;
}

#ec-net-header a {
  color: unset !important;
}

#ec-form .select2-container .select2-choice {
  background-image: none;
}

#ec-form .select2-choice {
  height: 48px;
  padding: 7px;
  border-radius: 0;
  border: 1px solid black;
  vertical-align: middle;
  font-size: 14px;
  font-family: "Aeonik";
}

#ec-form .select2-container:not(.select2-dropdown-open) .select2-arrow {
  background-image: url("/images/down-arrow.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  margin-right: 10px;
  background-color: unset;
  border-left: none;
}

#ec-form .select2-dropdown-open .select2-arrow {
  background-image: url("/images/up-arrow.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  margin-right: 10px;
}

#ec-form .select2-arrow>b {
  display: none;
}

#ec-form .select2-container-disabled .select2-choice {
  color: #b2b2b2;
  background-color: white;
  border: 1px solid #B2B2B2;
  font-size: 14px;
  font-family: "Aeonik";
}

.warning {
  background-color: #FFF9E5;
  padding: 15px;
}

.note {
  color: #ccc;
  margin-top: -15px;
}

.dark-grey {
  color: #555555
}

/* ------------------------------------------------- */

/* Checkbox */

/* ------------------------------------------------- */

/* Customize the label (the container) */

.ec-checkbox-container {
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  cursor: pointer;
  display: block;
  font-size: 16px;
  /* font-weight: unset !important; */
  margin-bottom: 12px;
  padding-left: 30px;
  position: relative;
  user-select: none;
}

/* Hide the browser's default checkbox */

.ec-checkbox-container input {
  cursor: pointer;
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

/* Create a custom checkbox */

.ec-checkbox-checkmark {
  border-radius: 0;
  border-width: 1px;
  height: 20px;
  left: 0;
  position: absolute;
  top: 0;
  width: 20px;
}

/* On mouse-over, add a grey background color */

.ec-checkbox-container:hover input~.ec-checkbox-checkmark {
  background-color: white;
}

/* When the  checkbox is selected, add a black background */

.ec-checkbox-container input:checked~.ec-checkbox-checkmark {
  background-color: black;
  border-width: 0;
}

/* Create the indicator (hidden when not checked) */

.ec-checkbox-checkmark:after {
  content: "";
  display: none;
  position: absolute;
}

/* Show the indicator when checked */

.ec-checkbox-container input:checked~.ec-checkbox-checkmark:after {
  display: flex;
  justify-content: center;
}

/* Style the indicator */

.ec-checkbox-container .ec-checkbox-checkmark:after {
  color: white;
  content: '✓';
  height: 20px;
  text-align: center;
  width: 20px;
}

/* Styling after field is submitted and disabled */

.check-box-gray {
  background-color: #b2b2b2 !important;
}

.ec-checkbox-container.member-terms-checkbox-error .ec-checkbox-checkmark {
  outline: 2px solid #c53030;
  outline-offset: 1px;
}

h1#signup-complete {
  margin-bottom: 6px;
}

#signup-complete-message {
  background-color: #3C3C3C;
  text-align: center;
  padding: 50px;
}

.disabled {
  cursor: default;
  color: #999;
}

.col-external {
  white-space: nowrap;
}

.dropdown {
  cursor: pointer;
}

#report_exporting {
  transform: translateX(100%);
  transition: transform ease-out 0.5s;
}

#report_exporting.show {
  transform: translateX(0);
}

.link-button {
  background: none;
  border: none;
  color: rgb(0, 163, 153);
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
}

.link-button:hover {
  color: darkblue;
}

.invert_svg_color {
  filter: invert(1);
}

a:hover .invert_svg_color {
  filter: invert(50%) sepia(100%) saturate(1000%) hue-rotate(136deg) brightness(75%) contrast(100%);
}

/* Base styles for the link */

a.animated-underline {
  position: relative;
  text-decoration: none;
  /* Remove default underline */
  color: black;
  /* Link color */
}

/* Create the underline using the ::after pseudo-element */

a.animated-underline::after {
  content: '';
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 0;
  width: 0;
  height: 2px;
  /* Underline thickness */
  background-color: #00A398;
  transition: width 0.3s ease;
  /* Animation duration and easing */
}

/* On hover, expand the underline */

a.animated-underline:hover::after {
  width: 90%;
  /* Expand the underline to full width minus left/right padding */
}

a.top-dropdown::after {
  bottom: 20px !important;
}

/* Base styles for the angle icon */

#level-2-angle {
  transition: transform 0.3s ease;
  /* Smooth rotation animation */
}

/* Rotate the angle icon when the parent button is hovered */

#level-2-products-button:hover #level-2-angle {
  transform: rotate(180deg);
  /* Rotate 180 degrees clockwise */
}

.mobile-selected-link {
  color: #00A398;
  text-decoration: underline;
}

.mobile-selected-link::after {
  content: '';
  position: absolute;
  left: 5%;
  right: 5%;
  width: 0;
  height: 2px;
  /* Underline thickness */
  background-color: #00A398;
  transition: width 0.3s ease;
  /* Animation duration and easing */
}

.access-setting-column {
  min-width: 250px;
  max-width: 250px;
  text-align: left;
  font-size: 14px;
}

.access-checkbox-column {
  width: 75px;
  text-align: center;
}

/* -------------------------------------------------------------------------- */

/* GLANCE UI v2 — app shell (sidebar + dashboard canvas)                      */

/* -------------------------------------------------------------------------- */

:root {
  --glance-v2-accent: #00A398;
  --glance-v2-accent-dark: #007a72;
  --glance-v2-accent-bright: #00FFC1;
  --glance-v2-accent-soft: rgba(0, 163, 152, 0.18);
  --glance-v2-header-h: 64px;
  --glance-v2-sidebar-w: 260px;
  --glance-v2-sidebar-w-collapsed: 72px;
  --glance-v2-sidebar-w-active: var(--glance-v2-sidebar-w);
  /* Responsive tiers (match Bootstrap d-sm/md/lg/xl in templates): sm 576, md 768, lg 992, xl 1200 */
}

body.glance-v2 {
  --glance-v2-sidebar-bg: #ffffff;
  --glance-v2-sidebar-text: #64748b;
  --glance-v2-sidebar-text-active: #14353C;
  --glance-v2-sidebar-icon: #00A398;
  --glance-v2-sidebar-border: #e2e8f0;
  --glance-v2-sidebar-hover-bg: rgba(0, 163, 152, 0.08);
  --glance-v2-sidebar-shadow: 1px 0 0 #e2e8f0;
  --glance-v2-nav-heading: #334155;
  --glance-v2-nav-subheading: #94a3b8;
  --glance-v2-canvas: #e4eaea;
  --glance-v2-card: #ffffff;
  --glance-v2-ink: #14353C;
  --glance-v2-muted: #64748b;
  --glance-v2-border: #e2e8f0;
  font-family: 'Inter', 'Aeonik', ui-sans-serif, system-ui, sans-serif;
  background: var(--glance-v2-canvas);
}

html.glance-v2-theme-dark body.glance-v2 {
  --glance-v2-sidebar-bg: #14353C;
  --glance-v2-sidebar-text: #8fb8b4;
  --glance-v2-sidebar-text-active: #ffffff;
  --glance-v2-sidebar-icon: #00FFC1;
  --glance-v2-sidebar-border: rgba(143, 184, 180, 0.15);
  --glance-v2-sidebar-hover-bg: rgba(255, 255, 255, 0.06);
  --glance-v2-sidebar-shadow: 2px 0 12px rgba(20, 53, 60, 0.25);
  --glance-v2-nav-heading: #cbd5e1;
  --glance-v2-nav-subheading: #64748b;
  --glance-v2-canvas: #0f1a1d;
  --glance-v2-card: #1a2e35;
  --glance-v2-ink: #e8f0f2;
  --glance-v2-muted: #94a3b8;
  --glance-v2-border: #2d454c;
  --glance-v2-accent-dark: var(--glance-v2-accent-bright);
  --glance-v2-accent-soft: rgba(0, 255, 193, 0.1);
  --glance-v2-input-bg: rgba(0, 0, 0, 0.25);
  --glance-v2-surface-raised: rgba(0, 0, 0, 0.15);
  --glance-v2-row-stripe: rgba(0, 0, 0, 0.12);
  color: var(--glance-v2-ink);
}

body.glance-v2 #page-container {
  display: none !important;
}

.glance-v2-app {
  display: flex;
  min-height: 100vh;
  background: var(--glance-v2-canvas);
}

.glance-v2-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  display: flex;
  flex-direction: column;
  width: var(--glance-v2-sidebar-w-active);
  height: 100vh;
  background: var(--glance-v2-sidebar-bg);
  color: var(--glance-v2-sidebar-text);
  box-shadow: var(--glance-v2-sidebar-shadow);
  transition: width 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) {
  --glance-v2-sidebar-w-active: var(--glance-v2-sidebar-w-collapsed);
}

/* Collapsed peek: full nav slides over content; main column stays on the icon rail. */

@media (min-width: 992px) {
  .glance-v2-app--sidebar-collapsed.glance-v2-app--sidebar-peek {
    --glance-v2-sidebar-w-active: var(--glance-v2-sidebar-w);
  }

  .glance-v2-app--sidebar-collapsed.glance-v2-app--sidebar-peek .glance-v2-main {
    margin-left: var(--glance-v2-sidebar-w-collapsed);
  }

  .glance-v2-app--sidebar-collapsed.glance-v2-app--sidebar-peek .glance-v2-sidebar {
    box-shadow: 4px 0 28px rgba(20, 53, 60, 0.4);
  }
}

.glance-v2-sidebar__brand {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  padding: 1.25rem 1rem 1rem;
  border-bottom: 1px solid var(--glance-v2-sidebar-border);
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__brand {
  align-items: center;
  padding-left: 0.65rem;
  padding-right: 0.65rem;
}

.glance-v2-sidebar__logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__logo-link {
  width: auto;
}

.glance-v2-sidebar__logo-full {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.glance-v2-sidebar__logo-symbol {
  display: none;
  width: 2rem;
  height: auto;
}

/* Expanded sidebar — one full logo for the active theme */

.glance-v2-sidebar__logo--light.glance-v2-sidebar__logo-full {
  display: block;
}

.glance-v2-sidebar__logo--dark {
  display: none;
}

html.glance-v2-theme-dark .glance-v2-sidebar__logo--light {
  display: none;
}

html.glance-v2-theme-dark
  .glance-v2-app:not(.glance-v2-app--sidebar-collapsed)
  .glance-v2-sidebar__logo--dark.glance-v2-sidebar__logo-full,
html.glance-v2-theme-dark
  .glance-v2-app.glance-v2-app--sidebar-peek
  .glance-v2-sidebar__logo--dark.glance-v2-sidebar__logo-full {
  display: block;
}

/* Collapsed sidebar — one symbol for the active theme */

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__logo-full {
  display: none;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__logo--light.glance-v2-sidebar__logo-symbol {
  display: block;
}

html.glance-v2-theme-dark .glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__logo--light.glance-v2-sidebar__logo-symbol {
  display: none;
}

html.glance-v2-theme-dark .glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__logo--dark.glance-v2-sidebar__logo-symbol {
  display: block;
}

.glance-v2-env-badge {
  display: inline-block;
  align-self: flex-start;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__brand .glance-v2-env-badge {
  display: none;
}

.glance-v2-header__version {
  display: flex;
  align-items: center;
}

.glance-v2-header__version .glance-v2-env-badge {
  align-self: center;
  white-space: nowrap;
}

.glance-v2-env-badge--danger {
  background: #dc2626;
  color: #fff;
}

.glance-v2-env-badge--warn {
  background: #f59e0b;
  color: #1e293b;
}

.glance-v2-env-badge--info {
  background: #0ea5e9;
  color: #fff;
}

.glance-v2-sidebar__nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.5rem 0.5rem 0.75rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}

.glance-v2-nav-section {
  position: relative;
  margin-bottom: 0.15rem;
}

.glance-v2-nav-section__toggle {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  margin: 0.1rem 0;
  padding: 0.5rem 0.75rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--glance-v2-nav-heading);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.glance-v2-nav-section__toggle:hover {
  background: var(--glance-v2-sidebar-hover-bg);
  color: var(--glance-v2-sidebar-text-active);
}

.glance-v2-nav-section--open .glance-v2-nav-section__toggle {
  color: var(--glance-v2-sidebar-text-active);
}

/* Keep section open via --active, but leave highlight to the nested link. */

.glance-v2-nav-section--active .glance-v2-nav-section__toggle {
  background: transparent;
  color: var(--glance-v2-nav-heading);
}

.glance-v2-nav-section--active > .glance-v2-nav-section__toggle .glance-v2-nav-icon {
  color: var(--glance-v2-sidebar-icon);
  opacity: 0.92;
}

.glance-v2-nav-section--open:has(.glance-v2-nav-link--active) > .glance-v2-nav-section__toggle {
  color: var(--glance-v2-nav-heading);
}

.glance-v2-nav-section--open:has(.glance-v2-nav-link--active) > .glance-v2-nav-section__toggle .glance-v2-nav-icon {
  color: var(--glance-v2-sidebar-icon);
  opacity: 0.92;
}

.glance-v2-nav-section__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.glance-v2-nav-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.32rem;
  height: 1.32rem;
  color: var(--glance-v2-sidebar-icon);
  opacity: 0.92;
}

.glance-v2-nav-icon .fa {
  width: 1.15rem;
  font-size: 1.09rem;
  line-height: 1;
  text-align: center;
}

.glance-v2-nav-section--open .glance-v2-nav-icon,
.glance-v2-nav-link--active .glance-v2-nav-icon {
  color: var(--glance-v2-accent);
  opacity: 1;
}

.glance-v2-nav-section__chevron {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin-left: auto;
  opacity: 0.7;
  transition: transform 0.15s ease;
}

.glance-v2-nav-section--open .glance-v2-nav-section__chevron {
  transform: rotate(90deg);
}

.glance-v2-nav-section__items {
  display: none;
  padding: 0 0 0.25rem;
}

.glance-v2-nav-section--open .glance-v2-nav-section__items {
  display: block;
}

/* Align subnav icons with the right edge of the parent section icon. */

.glance-v2-nav-section__items .glance-v2-nav-link {
  padding-left: calc(0.75rem + 1.32rem);
  font-size: 0.8125rem;
}

.glance-v2-nav-subgroup__heading {
  margin: 0.45rem 0 0.15rem;
  padding: 0 0.75rem 0 2.35rem;
  color: var(--glance-v2-nav-subheading);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}

.glance-v2-nav-subgroup__heading:first-child {
  margin-top: 0.15rem;
}

.glance-v2-nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0.1rem 0;
  padding: 0.55rem 0.75rem;
  border-radius: 8px;
  border-left: 3px solid transparent;
  color: var(--glance-v2-sidebar-text);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.glance-v2-nav-link__label {
  flex: 1;
  min-width: 0;
}

.glance-v2-nav-link .glance-v2-nav-icon .fa {
  opacity: 0.9;
}

.glance-v2-nav-link:hover {
  background: var(--glance-v2-sidebar-hover-bg);
  color: var(--glance-v2-sidebar-text-active);
}

.glance-v2-nav-link--active {
  background: var(--glance-v2-accent-soft);
  border-left-color: var(--glance-v2-accent);
  color: var(--glance-v2-sidebar-text-active);
}

.glance-v2-nav-link__badge {
  margin-left: auto;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
}

.glance-v2-sidebar__footer {
  border-top: 1px solid var(--glance-v2-sidebar-border);
}

.glance-v2-sidebar__status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  padding: 0.85rem 1rem 0.5rem;
  font-size: 0.75rem;
  color: var(--glance-v2-muted);
}

.glance-v2-sidebar__collapse {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 1rem);
  margin: 0.35rem 0.5rem 0.65rem;
  padding: 0.45rem;
  border: 1px solid var(--glance-v2-sidebar-border);
  border-radius: 8px;
  background: transparent;
  color: var(--glance-v2-sidebar-text);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.glance-v2-sidebar__collapse:hover {
  background: var(--glance-v2-sidebar-hover-bg);
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-sidebar-text-active);
}

.glance-v2-sidebar__collapse-icon {
  width: 1.1rem;
  height: 1.1rem;
}

.glance-v2-sidebar__collapse-icon--collapsed {
  display: none;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__collapse-icon--expanded {
  display: none;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__collapse-icon--collapsed {
  display: block;
}

.glance-v2-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--glance-v2-accent);
  box-shadow: 0 0 0 4px rgba(0, 163, 152, 0.2);
  animation: glance-v2-pulse 2s ease-in-out infinite;
}

html.glance-v2-theme-dark .glance-v2-status-dot {
  background: var(--glance-v2-accent-bright);
  box-shadow: 0 0 0 4px rgba(0, 255, 193, 0.2);
}

@keyframes glance-v2-pulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: 0.55;
  }
}

.glance-v2-status-label {
  margin-left: auto;
  color: var(--glance-v2-accent-dark);
  font-weight: 600;
}

html.glance-v2-theme-dark .glance-v2-status-label {
  color: var(--glance-v2-accent-bright);
}

.glance-v2-main {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  margin-left: var(--glance-v2-sidebar-w-active);
  min-height: 100vh;
  transition: margin-left 0.2s ease;
}

/* Collapsed sidebar — icon rail (hidden labels until peek) */

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-section__title,
.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-section__chevron,
.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-link__label,
.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-link__badge,
.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__status-text,
.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-status-label {
  display: none;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-section__toggle,
.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-link {
  justify-content: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  gap: 0;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-link {
  border-left-width: 0;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-link--active {
  border-left-width: 0;
  box-shadow: inset 3px 0 0 var(--glance-v2-accent);
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-nav-section--open .glance-v2-nav-section__items {
  display: none;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__status {
  justify-content: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) .glance-v2-sidebar__collapse {
  width: calc(100% - 0.75rem);
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}

.glance-v2-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  display: flex;
  align-items: center;
  gap: 1rem;
  height: var(--glance-v2-header-h);
  padding: 0 1.5rem;
  background: var(--glance-v2-card);
  border-bottom: 1px solid var(--glance-v2-border);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.glance-v2-header__left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.glance-v2-header__titles {
  min-width: 0;
}

.glance-v2-header__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  line-height: 1.2;
}

.glance-v2-header__subtitle {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  font-weight: 400;
  color: #64748b;
}

.glance-v2-header__center {
  flex: 1;
  max-width: 420px;
  margin: 0 auto;
}

.glance-v2-search {
  position: relative;
  width: 100%;
}

.glance-v2-search__field {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0.5rem 0.85rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: #64748b;
  cursor: text;
}

.glance-v2-search__field:focus-within {
  border-color: var(--glance-v2-accent);
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft);
  background: #fff;
}

.glance-v2-search__field input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font-size: 0.875rem;
  color: var(--glance-v2-ink);
  outline: none;
}

.glance-v2-search__field input::-moz-placeholder {
  color: #94a3b8;
}

.glance-v2-search__field input::placeholder {
  color: #94a3b8;
}

.glance-v2-search-results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 1060;
  max-height: min(70vh, 420px);
  overflow-y: auto;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.15);
}

.glance-v2-search-group {
  padding: 0.5rem 0.85rem 0.25rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  background: #f8fafc;
  border-top: 1px solid #f1f5f9;
}

.glance-v2-search-group:first-child {
  border-top: 0;
}

.glance-v2-search-result {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.55rem 0.85rem;
  color: var(--glance-v2-ink);
  text-decoration: none !important;
  border-bottom: 1px solid #f8fafc;
}

.glance-v2-search-result:hover,
.glance-v2-search-result--active {
  background: #eff6ff;
}

.glance-v2-search-result__label {
  font-size: 0.875rem;
  font-weight: 600;
}

.glance-v2-search-result__meta {
  font-size: 0.75rem;
  color: #64748b;
}

.glance-v2-search-empty {
  padding: 1rem 0.85rem;
  font-size: 0.85rem;
  color: #64748b;
}

.glance-v2-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.glance-v2-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #475569;
  position: relative;
}

.glance-v2-icon-btn:hover {
  background: #f1f5f9;
  color: var(--glance-v2-ink);
}

.glance-v2-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}

.glance-v2-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
  border-radius: 999px;
  color: var(--glance-v2-ink) !important;
  text-decoration: none !important;
}

.glance-v2-user-chip:hover {
  background: #f1f5f9;
}

.glance-v2-user-chip__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--glance-v2-accent), var(--glance-v2-accent-bright));
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
}

.glance-v2-user-chip__name {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 600;
}

.glance-v2-content-wrap {
  flex: 1;
  padding: 0;
}

.glance-v2-content {
  padding: 0.75rem 1.25rem 1.25rem;
  background: var(--glance-v2-canvas);
}

.glance-v2-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1rem;
  padding: 0.35rem 1.25rem;
  border-top: 1px solid var(--glance-v2-border);
  background: var(--glance-v2-card);
  color: var(--glance-v2-muted);
  font-size: 0.75rem;
  line-height: 1.25;
  /* Override legacy site footer (footer { height: 221px; position: absolute; }) */
  position: static !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
}

.glance-v2-footer__meta {
  color: #94a3b8;
}

.glance-v2-footer__links {
  margin-left: auto;
  display: flex;
  gap: 1rem;
}

.glance-v2-footer__links a {
  color: var(--glance-v2-accent);
}

.glance-v2-sidebar-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1035;
  background: rgba(15, 23, 42, 0.45);
}

/* Dashboard */

.glance-v2-dashboard {
  max-width: 1600px;
}

.glance-v2-dashboard--ops {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.glance-v2-dashboard__ops-sections {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.glance-v2-dashboard__ops-sections .glance-v2-section-title {
  margin: 0;
}

.glance-v2-dashboard__ops-sections .glance-v2-ops-grid,
.glance-v2-dashboard__ops-sections .glance-v2-grid {
  gap: 1.25rem;
}

.glance-v2-dashboard__charts .glance-v2-section-title {
  margin-bottom: 0;
}

.glance-v2-dashboard__charts-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(280px, 1fr);
  gap: 1rem;
  align-items: stretch;
  margin-top: 0.35rem;
}

.glance-v2-dashboard__charts-row .glance-v2-card--actions {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.glance-v2-dashboard__charts-row .glance-v2-action-list {
  flex: 1;
  max-height: 320px;
}

.glance-v2-scrollbar-autohide {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}

.glance-v2-scrollbar-autohide.is-scrolling {
  scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}

.glance-v2-scrollbar-autohide::-webkit-scrollbar {
  width: 6px;
}

.glance-v2-scrollbar-autohide::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 999px;
}

.glance-v2-scrollbar-autohide.is-scrolling::-webkit-scrollbar-thumb {
  background-color: rgba(148, 163, 184, 0.45);
}

html.glance-v2-theme-dark .glance-v2-scrollbar-autohide.is-scrolling {
  scrollbar-color: rgba(148, 163, 184, 0.35) transparent;
}

html.glance-v2-theme-dark .glance-v2-scrollbar-autohide.is-scrolling::-webkit-scrollbar-thumb {
  background-color: rgba(148, 163, 184, 0.35);
}

.glance-v2-dashboard__charts .glance-v2-chart--bars {
  height: 260px;
}

@media (max-width: 1199px) {
  .glance-v2-dashboard__charts-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .glance-v2-dashboard__charts-row .glance-v2-card--actions {
    grid-column: 1 / -1;
    max-height: none;
  }

  .glance-v2-dashboard__charts-row .glance-v2-action-list {
    max-height: none;
  }
}

@media (max-width: 767px) {
  .glance-v2-dashboard__charts-row {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .glance-v2-dashboard__mobile-only {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .glance-v2-dashboard__desktop-only {
    display: none !important;
  }

  .glance-v2-dashboard--ops {
    gap: 0;
    padding-bottom: 1rem;
  }
}

/* Mobile executive landing */

.glance-v2-mobile-landing {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.glance-v2-mobile-hero {
  padding: 1.15rem 1.1rem 1rem;
  border-radius: 14px;
  background: linear-gradient(145deg, #14353c 0%, #0d2429 55%, #14353c 100%);
  color: #fff;
  box-shadow: 0 12px 32px rgba(20, 53, 60, 0.28);
}

.glance-v2-mobile-hero__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #00ffc1;
}

.glance-v2-mobile-hero__headline {
  margin: 0 0 0.35rem;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #fff;
}

.glance-v2-mobile-hero__subtext {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
}

.glance-v2-mobile-graphs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

.glance-v2-mobile-graph {
  padding: 0.75rem 0.8rem 0.7rem;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: var(--glance-v2-card);
  box-shadow: 0 4px 14px rgba(20, 53, 60, 0.06);
  min-height: 8.5rem;
}

.glance-v2-mobile-graph--sessions {
  background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 70%);
  border-color: #99f6e4;
}

.glance-v2-mobile-graph--energy {
  background: linear-gradient(180deg, #ecfeff 0%, #ffffff 70%);
  border-color: #a5f3fc;
}

.glance-v2-mobile-graph__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
}

.glance-v2-mobile-graph__label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.glance-v2-mobile-graph__value {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
  color: var(--glance-v2-accent-dark);
  letter-spacing: -0.02em;
}

.glance-v2-mobile-graph__value small {
  font-size: 0.62rem;
  font-weight: 700;
  margin-left: 0.1rem;
  color: #64748b;
}

.glance-v2-mini-bars {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 3.25rem;
  margin-bottom: 0.35rem;
}

.glance-v2-mini-bars span {
  flex: 1 1 0;
  min-width: 3px;
  border-radius: 3px 3px 0 0;
  min-height: 2px;
  transform-origin: bottom center;
  animation: glance-v2-mini-bar-rise 0.55s ease-out backwards;
}

.glance-v2-mini-bars span:nth-child(1) {
  animation-delay: 0.04s;
}

.glance-v2-mini-bars span:nth-child(2) {
  animation-delay: 0.08s;
}

.glance-v2-mini-bars span:nth-child(3) {
  animation-delay: 0.12s;
}

.glance-v2-mini-bars span:nth-child(4) {
  animation-delay: 0.16s;
}

.glance-v2-mini-bars span:nth-child(5) {
  animation-delay: 0.2s;
}

.glance-v2-mini-bars span:nth-child(6) {
  animation-delay: 0.24s;
}

.glance-v2-mini-bars span:nth-child(7) {
  animation-delay: 0.28s;
}

@keyframes glance-v2-mini-bar-rise {
  from {
    transform: scaleY(0);
    opacity: 0.35;
  }

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

.glance-v2-mini-bars--sessions span {
  background: linear-gradient(180deg, #2dd4bf 0%, #0d9488 100%);
  box-shadow: 0 0 8px rgba(45, 212, 191, 0.35);
}

.glance-v2-mini-bars--energy span {
  background: linear-gradient(180deg, #00ffc1 0%, #00a398 100%);
  box-shadow: 0 0 8px rgba(0, 255, 193, 0.3);
}

.glance-v2-mini-bars__empty {
  margin: 0;
  font-size: 0.75rem;
  color: #94a3b8;
}

.glance-v2-mobile-graph__delta {
  display: block;
  font-size: 0.68rem;
  font-weight: 600;
  color: #64748b;
}

.glance-v2-metric-card__delta--up,
.glance-v2-mobile-graph__delta.glance-v2-metric-card__delta--up {
  color: #059669;
}

.glance-v2-metric-card__delta--down,
.glance-v2-mobile-graph__delta.glance-v2-metric-card__delta--down {
  color: #dc2626;
}

.glance-v2-mobile-pulse {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.glance-v2-mobile-pulse__stat {
  padding: 0.7rem 0.55rem;
  border-radius: 10px;
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  text-align: center;
}

.glance-v2-mobile-pulse__value {
  display: block;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-mobile-pulse__label {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.25;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.glance-v2-mobile-pulse__stat--highlight {
  background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);
  border-color: #99f6e4;
}

.glance-v2-mobile-pulse__stat--highlight .glance-v2-mobile-pulse__value {
  color: #0d9488;
}

.glance-v2-charge-feed {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: var(--glance-v2-card);
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(20, 53, 60, 0.06);
}

.glance-v2-charge-feed__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #f1f5f9;
}

.glance-v2-charge-feed__header h2 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-charge-feed__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.glance-v2-charge-feed__item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #f1f5f9;
}

.glance-v2-charge-feed__item:last-child {
  border-bottom: 0;
}

.glance-v2-charge-feed__avatar {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 800;
  color: #14353c;
  background: linear-gradient(135deg, #00ffc1 0%, #5eead4 100%);
}

.glance-v2-charge-feed__body {
  flex: 1 1 auto;
  min-width: 0;
}

.glance-v2-charge-feed__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}

.glance-v2-charge-feed__driver {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  text-decoration: none;
}

.glance-v2-charge-feed__kwh {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  text-decoration: none;
  white-space: nowrap;
}

.glance-v2-charge-feed__meta {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.glance-v2-charge-feed__meta a {
  color: #64748b;
  text-decoration: none;
}

.glance-v2-charge-feed__empty {
  padding: 1rem;
  list-style: none;
}

.glance-v2-mobile-triage-jump {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  background: var(--glance-v2-card);
  color: var(--glance-v2-accent-dark);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(20, 53, 60, 0.08);
}

.glance-v2-mobile-triage-jump__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #f97316;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.glance-v2-mobile-triage-jump__chevron {
  font-size: 0.9rem;
  opacity: 0.65;
}

.glance-v2-mobile-triage {
  scroll-margin-top: calc(var(--glance-v2-header-h, 64px) + 0.75rem);
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.glance-v2-mobile-triage__header h2 {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-mobile-triage__summary {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #64748b;
}

.glance-v2-mobile-triage__link {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--glance-v2-accent-dark);
  text-decoration: none;
}

body.glance-v2 {
  scroll-behavior: smooth;
}

.glance-v2-site-cards--compact {
  padding: 0.65rem 0 0;
  gap: 0.5rem;
}

.glance-v2-site-cards {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.glance-v2-site-card {
  padding: 0.85rem 1rem;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fafbfc;
}

.glance-v2-site-card--critical {
  border-color: #fecaca;
  background: #fef2f2;
}

.glance-v2-site-card--warning {
  border-color: #fed7aa;
  background: #fff7ed;
}

.glance-v2-site-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.glance-v2-site-card__name {
  font-weight: 700;
  color: var(--glance-v2-ink);
  text-decoration: none;
  font-size: 0.92rem;
}

.glance-v2-site-card__action {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #475569;
}

.glance-v2-bars--energy span {
  background: linear-gradient(180deg, #00FFC1 0%, #00A398 100%);
}

@media (min-width: 768px) {
  .glance-v2-nav-link--hide-mobile,
  .glance-v2-site-nav__item--hide-mobile {
    display: list-item;
  }
}

@media (max-width: 767px) {
  .glance-v2-nav-link--hide-mobile {
    display: none !important;
  }

  .glance-v2-site-nav__item--hide-mobile {
    display: none !important;
  }
}

html.glance-v2-theme-dark .glance-v2-mobile-hero {
  background: linear-gradient(145deg, #0a1c20 0%, #14353c 50%, #0d2429 100%);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

html.glance-v2-theme-dark .glance-v2-mobile-graph--sessions {
  background: linear-gradient(180deg, rgba(0, 255, 193, 0.08) 0%, var(--glance-v2-card) 70%);
  border-color: rgba(0, 255, 193, 0.2);
}

html.glance-v2-theme-dark .glance-v2-mobile-graph--energy {
  background: linear-gradient(180deg, rgba(0, 163, 152, 0.1) 0%, var(--glance-v2-card) 70%);
  border-color: rgba(0, 163, 152, 0.25);
}

html.glance-v2-theme-dark .glance-v2-charge-feed,
html.glance-v2-theme-dark .glance-v2-mobile-pulse__stat,
html.glance-v2-theme-dark .glance-v2-mobile-graph,
html.glance-v2-theme-dark .glance-v2-mobile-triage,
html.glance-v2-theme-dark .glance-v2-mobile-triage-jump {
  border-color: rgba(143, 184, 180, 0.2);
}

html.glance-v2-theme-dark .glance-v2-mobile-triage {
  background: rgba(20, 53, 60, 0.35);
}

html.glance-v2-theme-dark .glance-v2-site-card {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(143, 184, 180, 0.2);
}

html.glance-v2-theme-dark .glance-v2-site-card--critical {
  background: rgba(248, 113, 113, 0.1);
}

html.glance-v2-theme-dark .glance-v2-site-card--warning {
  background: rgba(251, 146, 60, 0.1);
}

.glance-v2-story {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.glance-v2-story__headline {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-story__subtext {
  margin: 0;
  max-width: 52rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #64748b;
}

.glance-v2-story--warning {
  padding: 1rem 1.15rem;
  border-radius: 10px;
  background: #fffbeb;
  border: 1px solid #fde68a;
}

.glance-v2-story--warning .glance-v2-story__headline {
  color: #92400e;
}

.glance-v2-story--warning .glance-v2-story__subtext {
  color: #a16207;
}

.glance-v2-story--warning .glance-v2-link-muted {
  color: #b45309;
}

.glance-v2-section-title {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
}

.glance-v2-kpi-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
}

@media (max-width: 1199px) {
  .glance-v2-kpi-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .glance-v2-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .glance-v2-kpi-row {
    grid-template-columns: 1fr;
  }
}

.glance-v2-kpi {
  padding: 1rem 1.1rem;
  background: var(--glance-v2-card);
  border-radius: 10px;
  border: 1px solid #eef2f6;
  box-shadow: none;
}

.glance-v2-kpi__label {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

.glance-v2-kpi__value {
  margin: 0.35rem 0 0.15rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--glance-v2-ink);
}

.glance-v2-kpi__detail {
  margin: 0;
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.35;
}

.glance-v2-kpi--green .glance-v2-kpi__value {
  color: #15803d;
}

.glance-v2-kpi--amber .glance-v2-kpi__value {
  color: #c2410c;
}

.glance-v2-kpi--red .glance-v2-kpi__value {
  color: #b91c1c;
}

.glance-v2-kpi--teal .glance-v2-kpi__value {
  color: var(--glance-v2-accent-dark);
}

.glance-v2-kpi--drillable {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.glance-v2-kpi--drillable:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(20, 53, 60, 0.08);
  transform: translateY(-1px);
}

.glance-v2-kpi--drillable:focus-visible {
  outline: 2px solid var(--glance-v2-accent);
  outline-offset: 2px;
}

.glance-v2-drillable__hint {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--glance-v2-accent);
  opacity: 0;
  transition: opacity 0.15s ease;
}

.glance-v2-kpi--drillable:hover .glance-v2-drillable__hint,
.glance-v2-kpi--drillable:focus-visible .glance-v2-drillable__hint {
  opacity: 1;
}

.glance-v2-stat-list dd a:not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline, rgba(0, 163, 152, 0.45));
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.glance-v2-stat-list dd a:not(.glance-v2-link):not(.glance-v2-site-link):hover,
.glance-v2-stat-list dd a:not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent);
  text-decoration-color: currentColor;
  outline: none;
}

.glance-v2-focus-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(280px, 1fr);
  gap: 1rem;
  align-items: start;
}

@media (max-width: 991px) {
  .glance-v2-focus-grid {
    grid-template-columns: 1fr;
  }
}

.glance-v2-card--flush {
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.glance-v2-card--flush .glance-v2-card__header {
  padding: 1rem 1.15rem 0.65rem;
  margin-bottom: 0;
}

.glance-v2-card--actions {
  min-height: 0;
}

.glance-v2-card--span-full {
  grid-column: 1 / -1;
}

.glance-v2-table-wrap {
  overflow-x: auto;
}

.glance-v2-exception-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.glance-v2-exception-table th,
.glance-v2-exception-table td {
  padding: 0.7rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  text-align: left;
  vertical-align: top;
}

.glance-v2-exception-table th {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
  background: #fafbfc;
}

.glance-v2-exception-table tbody tr:hover td {
  background: #f8fafc;
}

.glance-v2-exception-table__site {
  font-weight: 600;
  color: var(--glance-v2-ink);
}

.glance-v2-health {
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.glance-v2-health--critical {
  background: #fee2e2;
  color: #b91c1c;
}

.glance-v2-health--warning {
  background: #ffedd5;
  color: #c2410c;
}

.glance-v2-health--healthy {
  background: #dcfce7;
  color: #15803d;
}

.glance-v2-severity {
  font-weight: 600;
}

.glance-v2-severity--high {
  color: #b91c1c;
}

.glance-v2-severity--medium {
  color: #c2410c;
}

.glance-v2-severity--low {
  color: #64748b;
}

.glance-v2-action-list {
  margin: 0;
  padding: 0 0 0 1.15rem;
  list-style: decimal;
}

.glance-v2-action-list__item {
  margin-bottom: 0.85rem;
  padding-left: 0.25rem;
  font-size: 0.85rem;
  line-height: 1.45;
  color: #334155;
}

.glance-v2-action-list__item a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--glance-v2-accent);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-action-underline, rgba(0, 163, 152, 0.4));
  text-decoration-style: dotted;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.glance-v2-action-list__item a::before {
  content: '';
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.55;
}

.glance-v2-action-list__item a:hover,
.glance-v2-action-list__item a:focus-visible {
  color: var(--glance-v2-accent-dark);
  text-decoration-color: currentColor;
  text-decoration-style: solid;
  outline: none;
}

.glance-v2-action-list__item--critical {
  color: #991b1b;
}

.glance-v2-action-list__item--warning {
  color: #9a3412;
}

.glance-v2-action-list__item--healthy {
  color: #64748b;
  list-style: none;
  margin-left: -1.15rem;
}

/* Dark mode — dashboard readability */

html.glance-v2-theme-dark .glance-v2-story--warning {
  background: rgba(251, 191, 36, 0.12);
  border-color: rgba(251, 191, 36, 0.35);
}

html.glance-v2-theme-dark .glance-v2-story--warning .glance-v2-story__headline {
  color: #fde68a;
}

html.glance-v2-theme-dark .glance-v2-story--warning .glance-v2-story__subtext {
  color: #fcd34d;
}

html.glance-v2-theme-dark .glance-v2-story--warning .glance-v2-link-muted {
  color: #fbbf24;
}

html.glance-v2-theme-dark .glance-v2-story__subtext,
html.glance-v2-theme-dark .glance-v2-kpi__label,
html.glance-v2-theme-dark .glance-v2-kpi__detail,
html.glance-v2-theme-dark .glance-v2-card__footnote,
html.glance-v2-theme-dark .glance-v2-section-title,
html.glance-v2-theme-dark .glance-v2-link-muted {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-kpi {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-kpi--drillable:hover {
  border-color: #3d5a63;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

html.glance-v2-theme-dark .glance-v2-kpi--green .glance-v2-kpi__value {
  color: #4ade80;
}

html.glance-v2-theme-dark .glance-v2-kpi--amber .glance-v2-kpi__value {
  color: #fb923c;
}

html.glance-v2-theme-dark .glance-v2-kpi--red .glance-v2-kpi__value {
  color: #f87171;
}

html.glance-v2-theme-dark .glance-v2-kpi--teal .glance-v2-kpi__value {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-search__field {
  border-color: var(--glance-v2-border);
  background: rgba(0, 0, 0, 0.25);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-search__field:focus-within {
  background: rgba(0, 0, 0, 0.35);
}

html.glance-v2-theme-dark .glance-v2-search-results {
  border-color: var(--glance-v2-border);
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark .glance-v2-search-result:hover,
html.glance-v2-theme-dark .glance-v2-search-result--active {
  background: var(--glance-v2-sidebar-hover-bg);
}

html.glance-v2-theme-dark .glance-v2-exception-table th,
html.glance-v2-theme-dark .glance-v2-exception-table td {
  color: var(--glance-v2-ink);
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-exception-table th {
  background: rgba(0, 0, 0, 0.2);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-exception-table tbody tr:hover td {
  background: rgba(255, 255, 255, 0.04);
}

html.glance-v2-theme-dark .glance-v2-severity--high {
  color: #f87171;
}

html.glance-v2-theme-dark .glance-v2-severity--medium {
  color: #fb923c;
}

html.glance-v2-theme-dark .glance-v2-severity--low {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-action-list__item {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-action-list__item--critical {
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-action-list__item--warning {
  color: #fdba74;
}

html.glance-v2-theme-dark .glance-v2-action-list__item--healthy {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-card__header {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-mini-table td {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-mini-table a:not(.glance-v2-link):not(.glance-v2-site-link):hover,
html.glance-v2-theme-dark .glance-v2-mini-table a:not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-stat-list dd a:not(.glance-v2-link):not(.glance-v2-site-link):hover,
html.glance-v2-theme-dark .glance-v2-stat-list dd a:not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-chart__plot {
  border-left-color: var(--glance-v2-border);
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-chart__y-tick,
html.glance-v2-theme-dark .glance-v2-chart__x-tick,
html.glance-v2-theme-dark .glance-v2-chart__x-label,
html.glance-v2-theme-dark .glance-v2-chart__y-label {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-stat-list dt {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-ops-panel--critical .glance-v2-card__header h3 {
  color: #f87171;
}

html.glance-v2-theme-dark .glance-v2-ops-panel--warning .glance-v2-card__header h3 {
  color: #fb923c;
}

html.glance-v2-theme-dark body.glance-v2 .text-muted {
  color: var(--glance-v2-muted) !important;
}

.glance-v2-grid--energy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 767px) {
  .glance-v2-grid--energy {
    grid-template-columns: 1fr;
  }
}

.glance-v2-bars--cost span {
  background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
}

.glance-v2-hour-bars {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 140px;
  padding-top: 0.5rem;
}

.glance-v2-hour-bars__bar {
  flex: 1 1 0;
  min-width: 4px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(180deg, #fb923c 0%, #ea580c 100%);
}

.glance-v2-stat-list {
  margin: 0;
  display: grid;
  gap: 0.85rem;
}

.glance-v2-stat-list div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}

.glance-v2-stat-list dt {
  margin: 0;
  font-size: 0.82rem;
  color: #64748b;
}

.glance-v2-stat-list dd {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  white-space: nowrap;
}

.glance-v2-ops-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

@media (max-width: 1199px) {
  .glance-v2-ops-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .glance-v2-ops-grid {
    grid-template-columns: 1fr;
  }
}

.glance-v2-ops-panel--critical .glance-v2-card__header h3 {
  color: #b91c1c;
}

.glance-v2-ops-panel--warning .glance-v2-card__header h3 {
  color: #c2410c;
}

.glance-v2-card__header h3 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.glance-v2-toolbar__filters {
  display: flex;
  gap: 0.5rem;
}

.glance-v2-pill {
  padding: 0.4rem 0.9rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 0.8rem;
  font-weight: 600;
}

.glance-v2-pill--active {
  border-color: var(--glance-v2-accent);
  background: var(--glance-v2-accent-soft);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-link-muted {
  font-size: 0.8rem;
  color: #64748b;
}

.glance-v2-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.glance-v2-metric-card {
  display: flex;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  background: var(--glance-v2-card);
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.glance-v2-metric-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
}

.glance-v2-metric-card__icon--blue {
  background: rgba(0, 163, 152, 0.15);
  color: var(--glance-v2-accent);
}

.glance-v2-metric-card__icon--green {
  background: #dcfce7;
  color: #16a34a;
}

.glance-v2-metric-card__icon--purple {
  background: #ede9fe;
  color: #7c3aed;
}

.glance-v2-metric-card__icon--orange {
  background: #ffedd5;
  color: #ea580c;
}

.glance-v2-metric-card__label {
  margin: 0;
  font-size: 0.8rem;
  color: #64748b;
}

.glance-v2-metric-card__value {
  margin: 0.15rem 0;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  line-height: 1.1;
}

.glance-v2-metric-card__delta {
  margin: 0;
  font-size: 0.75rem;
  color: #94a3b8;
}

.glance-v2-metric-card__delta--up {
  color: #16a34a;
}

.glance-v2-metric-card__delta--down {
  color: #dc2626;
}

.glance-v2-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.glance-v2-card {
  background: var(--glance-v2-card);
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  padding: 1rem 1.15rem 1.15rem;
  min-height: 280px;
}

.glance-v2-card--auto {
  min-height: 0;
}

.glance-v2-card--donut {
  display: flex;
  flex-direction: column;
}

.glance-v2-card--donut .glance-v2-donut-wrap {
  flex: 1 1 0;
  min-height: 10rem;
  container-type: size;
  container-name: charger-donut;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.25rem;
  padding: 0.25rem 0;
}

.glance-v2-card--donut .glance-v2-donut {
  width: min(88cqmin, 13.75rem);
  height: min(88cqmin, 13.75rem);
  flex-shrink: 0;
}

.glance-v2-card--donut .glance-v2-donut::after {
  width: 58%;
  height: 58%;
}

.glance-v2-card--donut .glance-v2-donut__center {
  font-size: clamp(0.8rem, 5.5cqmin, 1.35rem);
  line-height: 1.1;
  max-width: 52%;
  text-align: center;
  word-break: break-all;
}

.glance-v2-card--donut .glance-v2-legend {
  flex: 0 1 auto;
  align-self: center;
}

.glance-v2-card__footnote {
  margin: 0.65rem 0 0;
  font-size: 0.75rem;
  color: #64748b;
}

.glance-v2-subheading {
  margin: 1rem 0 0.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.glance-v2-network-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.glance-v2-network-stat {
  padding: 0.75rem;
  border-radius: 8px;
  background: #f8fafc;
  text-align: center;
}

.glance-v2-network-stat__value {
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-network-stat__label {
  font-size: 0.7rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.glance-v2-state-bars {
  list-style: none;
  margin: 0;
  padding: 0;
}

.glance-v2-state-bars li {
  display: grid;
  grid-template-columns: 3rem 1fr 2.5rem;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
}

.glance-v2-state-bars__label {
  font-weight: 600;
  color: #334155;
}

.glance-v2-state-bars__track {
  height: 8px;
  border-radius: 4px;
  background: #e2e8f0;
  overflow: hidden;
}

.glance-v2-state-bars__fill {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--glance-v2-accent), var(--glance-v2-accent-bright));
}

.glance-v2-state-bars__count {
  text-align: right;
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

.glance-v2-mini-table {
  width: 100%;
  font-size: 0.85rem;
}

.glance-v2-mini-table td {
  padding: 0.4rem 0;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
}

.glance-v2-mini-table td:last-child {
  text-align: right;
  font-weight: 600;
  white-space: nowrap;
}

.glance-v2-mini-table tr:last-child td {
  border-bottom: 0;
}

.glance-v2-mini-table a:not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline, rgba(0, 163, 152, 0.45));
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.glance-v2-mini-table a:not(.glance-v2-link):not(.glance-v2-site-link):hover,
.glance-v2-mini-table a:not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent);
  text-decoration-color: currentColor;
  outline: none;
}

.glance-v2-card--span-2 {
  grid-column: span 2;
}

.glance-v2-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid #f1f5f9;
}

.glance-v2-card__header h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-card__action {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--glance-v2-accent);
}

.glance-v2-map-placeholder {
  position: relative;
  height: 220px;
  border-radius: 8px;
  background: linear-gradient(180deg, #e8f4fc 0%, #dbeafe 100%);
  overflow: hidden;
}

.glance-v2-map-cluster {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.glance-v2-map-cluster--green {
  background: #22c55e;
  top: 30%;
  left: 25%;
}

.glance-v2-map-cluster--blue {
  background: var(--glance-v2-accent);
  top: 45%;
  left: 55%;
}

.glance-v2-map-cluster--orange {
  background: #f97316;
  top: 60%;
  left: 35%;
}

.glance-v2-donut-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding: 0.5rem 0;
  min-height: 0;
}

.glance-v2-donut {
  --p-online: 70;
  --p-fault: 10;
  --p-offline: 20;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: conic-gradient(
    #22c55e 0 calc(var(--p-online) * 1%),
    #f97316 calc(var(--p-online) * 1%) calc((var(--p-online) + var(--p-fault)) * 1%),
    #cbd5e1 calc((var(--p-online) + var(--p-fault)) * 1%) 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.glance-v2-donut::after {
  content: '';
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
}

.glance-v2-donut__center {
  position: relative;
  z-index: 1;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-legend {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  color: #475569;
}

.glance-v2-legend li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.glance-v2-legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.glance-v2-legend__dot--green {
  background: #22c55e;
}

.glance-v2-legend__dot--orange {
  background: #f97316;
}

.glance-v2-legend__dot--gray {
  background: #cbd5e1;
}

.glance-v2-chart--bars {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  grid-template-rows: 1fr 1.35rem auto;
  -moz-column-gap: 0.35rem;
       column-gap: 0.35rem;
  height: 200px;
}

.glance-v2-chart__y {
  grid-row: 1;
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 0 0.25rem 0.45rem 0;
  min-height: 0;
}

.glance-v2-chart__y-label {
  flex: 0 0 auto;
  padding-bottom: 0.35rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #94a3b8;
  line-height: 1.2;
  text-align: right;
}

.glance-v2-chart__y-ticks {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  min-height: 0;
}

.glance-v2-chart__y-tick,
.glance-v2-chart__x-tick {
  font-size: 0.65rem;
  font-weight: 500;
  color: #64748b;
  line-height: 1.2;
  white-space: nowrap;
}

.glance-v2-chart__plot {
  grid-row: 1;
  grid-column: 2;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0.15rem 0 0 0.35rem;
  border-left: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
}

.glance-v2-chart__x {
  grid-row: 2;
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.35rem;
  padding-top: 0.3rem;
}

.glance-v2-chart__x-label {
  grid-row: 3;
  grid-column: 2;
  padding-top: 0.15rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #94a3b8;
  text-align: center;
  line-height: 1.2;
}

.glance-v2-chart__empty {
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
}

.glance-v2-bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  flex: 1;
  min-height: 0;
}

.glance-v2-bars span {
  flex: 1;
  min-width: 4px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(180deg, #5cc9be, var(--glance-v2-accent));
}

.glance-v2-chart--line {
  height: 200px;
}

.glance-v2-sparkline__svg {
  display: block;
  width: 100%;
  height: 100%;
}

.glance-v2-chart__axis {
  stroke: #cbd5e1;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.glance-v2-chart__tick {
  fill: #64748b;
  font-size: 9px;
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  font-weight: 500;
}

.glance-v2-sparkline__line {
  fill: none;
  stroke: var(--glance-v2-accent);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.glance-v2-activity {
  list-style: none;
  margin: 0;
  padding: 0;
}

.glance-v2-activity li {
  display: flex;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid #f1f5f9;
}

.glance-v2-activity__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
}

.glance-v2-activity__icon--info {
  background: rgba(0, 163, 152, 0.15);
  color: var(--glance-v2-accent);
}

.glance-v2-activity__icon--warn {
  background: #ffedd5;
  color: #ea580c;
}

.glance-v2-activity__text {
  margin: 0;
  font-size: 0.875rem;
  color: #334155;
}

.glance-v2-activity__time {
  font-size: 0.75rem;
  color: #94a3b8;
}

.glance-v2-quick-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.glance-v2-btn {
  display: block;
  text-align: center;
  padding: 0.55rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none !important;
}

.glance-v2-btn--primary {
  background: var(--glance-v2-accent);
  color: #fff !important;
}

.glance-v2-btn--secondary {
  background: var(--glance-v2-ink);
  color: #fff !important;
}

.glance-v2-btn--ghost {
  background: #f1f5f9;
  color: #334155 !important;
}

/* Flask-Admin inside v2 canvas — drop legacy #content navbar offset */

body.glance-v2 #content.glance-v2-content.ec-admin {
  margin-top: 0;
  padding-top: 0.75rem;
  padding-bottom: 1.25rem;
}

body.glance-v2 .glance-v2-content .table {
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .table {
  color: var(--glance-v2-ink);
  background: transparent;
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .table > thead > tr > th,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .table > tbody > tr > td,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .table > tfoot > tr > td {
  border-color: var(--glance-v2-border);
}

body.glance-v2 .glance-v2-content .admin-form,
body.glance-v2 .glance-v2-content .container-fluid.admin-form {
  background: var(--glance-v2-card);
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

body.glance-v2 .glance-v2-content .container {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.glance-v2 .glance-v2-form-page-title {
  margin: 0;
  color: var(--glance-v2-accent);
  font-size: 1.5rem;
  font-weight: 600;
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-form-page-title {
  color: var(--glance-v2-sidebar-icon);
}

/* GLANCE v2 — content links (admin, site detail, customer portal) */

body.glance-v2 {
  --glance-v2-link-underline: rgba(0, 163, 152, 0.45);
  --glance-v2-link-action-underline: rgba(0, 163, 152, 0.4);
  --glance-v2-circuit-stroke: #1e293b;
}

html.glance-v2-theme-dark body.glance-v2 {
  --glance-v2-link-underline: rgba(0, 255, 193, 0.35);
  --glance-v2-link-action-underline: rgba(0, 255, 193, 0.35);
  --glance-v2-circuit-stroke: #8fb8b4;
}

.glance-v2-link,
.glance-v2-site-link,
.glance-v2-customer-link,
.glance-v2-customer-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  color: var(--glance-v2-accent);
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-action-underline);
  text-decoration-style: dotted;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.glance-v2-link::before,
.glance-v2-site-link::before,
.glance-v2-customer-link::before,
.glance-v2-customer-inline-link::before {
  content: '';
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.55;
}

.glance-v2-link:hover,
.glance-v2-link:focus-visible,
.glance-v2-site-link:hover,
.glance-v2-site-link:focus-visible,
.glance-v2-customer-link:hover,
.glance-v2-customer-link:focus-visible,
.glance-v2-customer-inline-link:hover,
.glance-v2-customer-inline-link:focus-visible {
  color: var(--glance-v2-accent-dark);
  text-decoration-color: currentColor;
  text-decoration-style: solid;
  outline: none;
}

html.glance-v2-theme-dark .glance-v2-link,
html.glance-v2-theme-dark .glance-v2-site-link,
html.glance-v2-theme-dark .glance-v2-customer-link:not(.glance-v2-customer-link--accent),
html.glance-v2-theme-dark .glance-v2-customer-inline-link {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-link:hover,
html.glance-v2-theme-dark .glance-v2-link:focus-visible,
html.glance-v2-theme-dark .glance-v2-site-link:hover,
html.glance-v2-theme-dark .glance-v2-site-link:focus-visible,
html.glance-v2-theme-dark .glance-v2-customer-link:not(.glance-v2-customer-link--accent):hover,
html.glance-v2-theme-dark .glance-v2-customer-link:not(.glance-v2-customer-link--accent):focus-visible,
html.glance-v2-theme-dark .glance-v2-customer-inline-link:hover,
html.glance-v2-theme-dark .glance-v2-customer-inline-link:focus-visible {
  color: #fff;
}

body.glance-v2 #content.glance-v2-content :where(
  .glance-v2-detail-body,
  .glance-v2-dashboard,
  .glance-v2-customer-dashboard-wrap,
  .glance-v2-customer-page,
  .glance-v2-customer-card,
  .glance-v2-card,
  .glance-v2-site-summary,
  .glance-v2-focus-grid,
  .admin-form,
  .tab-content,
  .ec-admin-detail,
  .container.ec-admin-detail,
  .help-container
) :where(p, dd, td, li, label, h1, h2, h3, h4, h5, h6) a:not(.glance-v2-link):not(.glance-v2-site-link):not(.glance-v2-customer-link):not(.glance-v2-customer-inline-link):not(.icon):not(.decoration-0):not(.ec-button-round-sm):not([role="tab"]) {
  color: var(--glance-v2-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline);
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

body.glance-v2 #content.glance-v2-content :where(
  .glance-v2-detail-body,
  .glance-v2-dashboard,
  .glance-v2-customer-dashboard-wrap,
  .glance-v2-customer-page,
  .glance-v2-customer-card,
  .glance-v2-card,
  .glance-v2-site-summary,
  .glance-v2-focus-grid,
  .admin-form,
  .tab-content,
  .ec-admin-detail,
  .container.ec-admin-detail,
  .help-container
) :where(p, dd, td, li, label, h1, h2, h3, h4, h5, h6) a:not(.glance-v2-link):not(.glance-v2-site-link):not(.glance-v2-customer-link):not(.glance-v2-customer-inline-link):not(.icon):not(.decoration-0):not(.ec-button-round-sm):not([role="tab"]):hover,
body.glance-v2 #content.glance-v2-content :where(
  .glance-v2-detail-body,
  .glance-v2-dashboard,
  .glance-v2-customer-dashboard-wrap,
  .glance-v2-customer-page,
  .glance-v2-customer-card,
  .glance-v2-card,
  .glance-v2-site-summary,
  .glance-v2-focus-grid,
  .admin-form,
  .tab-content,
  .ec-admin-detail,
  .container.ec-admin-detail,
  .help-container
) :where(p, dd, td, li, label, h1, h2, h3, h4, h5, h6) a:not(.glance-v2-link):not(.glance-v2-site-link):not(.glance-v2-customer-link):not(.glance-v2-customer-inline-link):not(.icon):not(.decoration-0):not(.ec-button-round-sm):not([role="tab"]):focus-visible {
  color: var(--glance-v2-accent);
  text-decoration-color: currentColor;
  outline: none;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content :where(
  .glance-v2-detail-body,
  .glance-v2-dashboard,
  .glance-v2-customer-dashboard-wrap,
  .glance-v2-customer-page,
  .glance-v2-customer-card,
  .glance-v2-card,
  .glance-v2-site-summary,
  .glance-v2-focus-grid,
  .admin-form,
  .tab-content,
  .ec-admin-detail,
  .container.ec-admin-detail,
  .help-container
) :where(p, dd, td, li, label, h1, h2, h3, h4, h5, h6) a:not(.glance-v2-link):not(.glance-v2-site-link):not(.glance-v2-customer-link):not(.glance-v2-customer-inline-link):not(.icon):not(.decoration-0):not(.ec-button-round-sm):not([role="tab"]):hover,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content :where(
  .glance-v2-detail-body,
  .glance-v2-dashboard,
  .glance-v2-customer-dashboard-wrap,
  .glance-v2-customer-page,
  .glance-v2-customer-card,
  .glance-v2-card,
  .glance-v2-site-summary,
  .glance-v2-focus-grid,
  .admin-form,
  .tab-content,
  .ec-admin-detail,
  .container.ec-admin-detail,
  .help-container
) :where(p, dd, td, li, label, h1, h2, h3, h4, h5, h6) a:not(.glance-v2-link):not(.glance-v2-site-link):not(.glance-v2-customer-link):not(.glance-v2-customer-inline-link):not(.icon):not(.decoration-0):not(.ec-button-round-sm):not([role="tab"]):focus-visible {
  color: var(--glance-v2-accent-bright);
}

/* GLANCE v2 — flask-admin / Bootstrap modals */

body.glance-v2 .modal-content {
  border: 1px solid var(--glance-v2-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(20, 53, 60, 0.18);
}

body.glance-v2 .modal-header {
  flex-direction: row-reverse;
  align-items: center;
  background-color: var(--glance-v2-card);
  color: var(--glance-v2-accent);
  padding: 1rem 1.25rem;
  border: none;
  border-bottom: 1px solid var(--glance-v2-border);
  border-radius: 0;
}

body.glance-v2 .modal-header h3,
body.glance-v2 .modal-header h4,
body.glance-v2 .modal-header .modal-title {
  margin: 0;
  color: var(--glance-v2-accent);
  font-size: 1.125rem;
  font-weight: 600;
}

body.glance-v2 .modal-header button,
body.glance-v2 .modal-header .close {
  color: var(--glance-v2-muted);
  opacity: 1;
  text-shadow: none;
}

body.glance-v2 .modal-header button:hover,
body.glance-v2 .modal-header .close:hover {
  color: var(--glance-v2-ink);
}

body.glance-v2 .modal-body {
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark body.glance-v2 .modal-header h3,
html.glance-v2-theme-dark body.glance-v2 .modal-header h4,
html.glance-v2-theme-dark body.glance-v2 .modal-header .modal-title {
  color: var(--glance-v2-sidebar-icon);
}

body.glance-v2 .glance-v2-content .nav-tabs:not(.actions-nav) {
  border-bottom-color: #e2e8f0;
}

body.glance-v2 .glance-v2-content .nav-tabs:not(.actions-nav) li > a.active[role="tab"] {
  background: var(--glance-v2-accent);
  border-color: var(--glance-v2-accent);
}

body.glance-v2 .glance-v2-content .breadcrumb {
  background: transparent;
  padding-left: 0;
}

/* GLANCE v2 — admin detail / info pages */

body.glance-v2 #content.glance-v2-content.ec-admin .ec-admin-detail {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.06);
  padding: 1rem 1.25rem;
  margin-bottom: 0.75rem;
  width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .glance-v2-detail-section,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .row,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .col-sm-12,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .container-fluid {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.06);
  padding: 1rem 1.25rem;
  margin: 0;
  width: 100%;
  max-width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .col-sm-12 {
  flex: none;
}

/* Hide empty section shells (e.g. optional notification row with no content) */

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .glance-v2-detail-section:not(:has(p, form, table, h1, h2, h3, h4, ul, ol, input, select, textarea, label, .select2-container, .bootstrap-tagsinput, [class*="tag"])) {
  display: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .row:not(:has(p, form, table, h1, h2, h3, h4, ul, ol, input, select, textarea, label, .select2-container, .bootstrap-tagsinput, [class*="tag"])):not(.glance-v2-detail-section) {
  display: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-section > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card--masthead .row:last-child {
  margin-bottom: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card--masthead .row.extra-bottom-md {
  margin-bottom: 0.65rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card--masthead h1.small {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  margin: 0 0 0.35rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card--masthead a.decoration-0 {
  color: var(--glance-v2-accent-dark);
  font-weight: 500;
  text-decoration: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card--masthead a.decoration-0:hover {
  color: var(--glance-v2-accent);
  text-decoration: underline;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body .nav-tabs:not(.actions-nav) {
  margin-left: 0;
  margin-top: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body .tab-content {
  padding-top: 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body .table {
  background: transparent;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table thead th {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: var(--glance-v2-ink);
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 12px 0.65rem;
  line-height: 1.2;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody td,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tfoot td {
  padding: 12px 0.65rem;
  line-height: 1.2;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table.table-striped > tbody > tr:nth-of-type(odd) > td {
  background: #fff;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table.table-striped > tbody > tr:nth-of-type(even) > td {
  background: #f1f5f9;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table.table-hover > tbody > tr:hover > td {
  background: rgba(0, 163, 152, 0.08) !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link),
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline, rgba(0, 163, 152, 0.45));
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent);
  text-decoration-color: currentColor;
  outline: none;
}

/* GLANCE v2 — site detail page */

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail {
  width: 100%;
  max-width: 100%;
  padding: 0;
  --glance-v2-site-text-2xs: 0.75rem;
  --glance-v2-site-text-xs: 0.8125rem;
  --glance-v2-site-text-sm: 0.9rem;
  --glance-v2-site-text-md: 1rem;
  --glance-v2-site-text-lg: 1.05rem;
  --glance-v2-site-text-title: 1.85rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-detail-body {
  gap: 0;
}

.glance-v2-site-header {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.35rem 1.6rem;
  margin-bottom: 1rem;
}

.glance-v2-site-header__main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.glance-v2-site-header__lead {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1 1 auto;
  min-width: 0;
}

.glance-v2-site-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: 0.2rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.glance-v2-site-back svg {
  width: 1.25rem;
  height: 1.25rem;
}

.glance-v2-site-back:hover,
.glance-v2-site-back:focus-visible {
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
  background: rgba(0, 163, 152, 0.08);
  outline: none;
}

.glance-v2-site-header__title {
  margin: 0 0 0.35rem;
  font-size: var(--glance-v2-site-text-title, 1.85rem);
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-site-header__address {
  margin: 0 0 0.75rem;
  font-size: var(--glance-v2-site-text-md, 1rem);
  color: #64748b;
}

.glance-v2-site-header__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.glance-v2-site-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: var(--glance-v2-site-text-xs, 0.8125rem);
  font-weight: 600;
}

.glance-v2-site-badge--active {
  background: rgba(0, 163, 152, 0.12);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-site-badge--muted {
  background: #f1f5f9;
  color: #64748b;
}

.glance-v2-site-badge--type {
  background: #f1f5f9;
  color: #475569;
}

.glance-v2-site-badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--glance-v2-accent);
}

.glance-v2-site-badge--muted .glance-v2-site-badge__dot {
  background: #94a3b8;
}

.glance-v2-site-header__actions {
  display: flex;
  align-items: center;
  align-self: flex-start;
  flex-shrink: 0;
  gap: 0.65rem;
}

.glance-v2-site-header__actions form {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
}

.glance-v2-site-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  box-sizing: border-box;
  height: 2.35rem;
  margin: 0;
  padding: 0 1rem;
  border-radius: 8px;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
}

.glance-v2-site-btn svg {
  display: block;
  flex-shrink: 0;
}

.glance-v2-site-btn--ghost {
  background: #fff;
  border-color: #e2e8f0;
  color: #334155;
}

.glance-v2-site-btn--ghost:hover {
  border-color: #cbd5e1;
  color: var(--glance-v2-ink);
}

.glance-v2-site-btn--primary {
  background: var(--glance-v2-accent);
  color: #fff;
}

.glance-v2-site-btn--danger {
  background: #fff;
  border-color: #fecaca;
  color: #b91c1c;
}

.glance-v2-site-btn--danger:hover {
  border-color: #fca5a5;
  color: #991b1b;
  background: #fef2f2;
}

.glance-v2-garage-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.glance-v2-garage-actions > form {
  margin: 0;
}

.glance-v2-site-actions-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.glance-v2-site-actions-dropdown__select {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
}

.glance-v2-site-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.glance-v2-site-nav-mobile {
  display: none;
}

@media (max-width: 991px) {
  .glance-v2-site-layout {
    grid-template-columns: 1fr;
  }

  .glance-v2-site-nav {
    display: none;
  }

  .glance-v2-site-nav-mobile {
    display: block;
    position: sticky;
    top: 0;
    z-index: 20;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0 0.65rem;
    background: var(--glance-v2-canvas);
  }

  .glance-v2-site-nav-mobile__label {
    display: block;
    margin: 0 0 0.35rem;
    font-size: var(--glance-v2-site-text-2xs, 0.75rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--glance-v2-muted);
  }

  .glance-v2-site-nav-mobile__select {
    width: 100%;
    padding: 0.65rem 2.25rem 0.65rem 0.85rem;
    font-size: var(--glance-v2-site-text-md, 1rem);
    font-weight: 500;
    line-height: 1.3;
    color: var(--glance-v2-ink);
    background-color: var(--glance-v2-card);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
  }

  .glance-v2-site-nav-mobile__select:focus {
    outline: 2px solid rgba(0, 163, 152, 0.35);
    outline-offset: 1px;
    border-color: var(--glance-v2-accent);
  }
}

.glance-v2-site-nav {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.75rem 0;
  position: sticky;
  top: 1rem;
}

.glance-v2-site-nav__group {
  padding: 0.35rem 0;
  border-bottom: 1px solid #f1f5f9;
}

.glance-v2-site-nav__group:last-child {
  border-bottom: 0;
}

.glance-v2-site-nav__group--active {
  background: rgba(0, 163, 152, 0.06);
}

.glance-v2-site-nav__heading {
  margin: 0;
  padding: 0.35rem 1rem 0.25rem;
  font-size: var(--glance-v2-site-text-xs, 0.8125rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--glance-v2-muted);
}

.glance-v2-site-nav__list {
  margin: 0 0 0 0.25rem;
  padding: 0;
  list-style: none;
}

.glance-v2-site-nav__list a {
  display: block;
  padding: 0.48rem 1rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 500;
  color: var(--glance-v2-ink);
  text-decoration: none;
}

.glance-v2-site-nav__list a:hover {
  color: var(--glance-v2-accent-dark);
  background: rgba(0, 163, 152, 0.06);
}

.glance-v2-site-nav__list a.active {
  color: var(--glance-v2-accent-dark);
  font-weight: 700;
  background: rgba(0, 163, 152, 0.1);
}

.glance-v2-site-main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.glance-v2-site-summary {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.glance-v2-site-panel {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}

.glance-v2-site-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  cursor: pointer;
  list-style: none;
}

.glance-v2-site-panel__header::-webkit-details-marker {
  display: none;
}

.glance-v2-site-panel[open] .glance-v2-site-panel__chevron {
  transform: rotate(180deg);
}

.glance-v2-site-panel__chevron {
  color: #94a3b8;
  transition: transform 0.15s ease;
}

.glance-v2-site-panel__body {
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid #f1f5f9;
}

.glance-v2-site-panel__body--split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
  gap: 1.75rem;
}

@media (max-width: 767px) {
  .glance-v2-site-panel__body--split {
    grid-template-columns: 1fr;
  }
}

.glance-v2-site-fields {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.5rem;
}

.glance-v2-site-fields__item--full {
  grid-column: 1 / -1;
}

.glance-v2-site-fields__item dt {
  margin: 0 0 0.25rem;
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--glance-v2-accent-dark);
}

.glance-v2-site-fields__item dd {
  margin: 0;
  font-size: var(--glance-v2-site-text-md, 1rem);
  font-weight: 600;
  color: var(--glance-v2-ink);
  line-height: 1.45;
}

.glance-v2-site-summary .glance-v2-link,
.glance-v2-site-summary .glance-v2-site-link {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
}

.glance-v2-site-fields__link {
  margin-top: 0.35rem;
}

.glance-v2-site-timeline {
  margin: 0;
  padding: 0.25rem 0 0;
  list-style: none;
}

.glance-v2-site-timeline__item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 0.65rem;
  padding-bottom: 1rem;
  position: relative;
}

.glance-v2-site-timeline__item:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 14px;
  bottom: 0;
  width: 2px;
  background: #e2e8f0;
}

.glance-v2-site-timeline__dot {
  width: 12px;
  height: 12px;
  margin-top: 3px;
  border-radius: 50%;
  border: 2px solid var(--glance-v2-accent);
  background: #fff;
  z-index: 1;
}

.glance-v2-site-timeline__dot--muted {
  border-color: #cbd5e1;
}

.glance-v2-site-timeline__item strong {
  display: block;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  color: var(--glance-v2-ink);
}

.glance-v2-site-timeline__meta {
  margin: 0.15rem 0 0;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  color: #64748b;
}

.glance-v2-site-timeline__meta--warn {
  color: #c2410c;
}

.glance-v2-site-timeline__date {
  display: block;
  margin-top: 0.15rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  color: #94a3b8;
}

.glance-v2-site-signup {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
}

.glance-v2-site-signup__ok {
  color: var(--glance-v2-accent-dark);
  font-weight: 700;
}

.glance-v2-site-alert {
  padding: 0.75rem 0.95rem;
  border-radius: 8px;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  margin-bottom: 0.5rem;
}

.glance-v2-site-alert--warn {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
}

.glance-v2-site-alert--critical {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.glance-v2-site-tags__label {
  margin: 0 0 0.5rem;
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--glance-v2-accent-dark);
}

.glance-v2-site-tags .tag-div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem 0.65rem;
  align-items: center;
  margin-bottom: 0;
}

.glance-v2-site-tags .tag-label {
  display: none;
}

.glance-v2-site-tags .tag-div > .flex-grow {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  margin-right: 0 !important;
}

.glance-v2-site-tags .tag-div > div:last-child {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container {
  width: 100% !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  min-height: 2.5rem !important;
  height: auto !important;
  margin-bottom: 0 !important;
  padding: 0.3rem 0.45rem !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__rendered {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.3rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-search--inline {
  float: none !important;
  margin: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  height: 1.5rem !important;
  margin: 0 !important;
  min-width: 2.5rem !important;
  padding: 0 0.15rem !important;
  font-size: var(--glance-v2-site-text-sm, 0.9rem) !important;
  color: var(--glance-v2-ink);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container:not(.select2-container--bootstrap4) .select2-selection__choice {
  height: auto !important;
  line-height: normal !important;
  margin: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  min-height: 1.65rem !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(0, 163, 152, 0.35) !important;
  border-radius: 6px !important;
  background: var(--glance-v2-accent-soft) !important;
  line-height: 1.2 !important;
  overflow: hidden;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__display {
  padding: 0.25rem 0.55rem 0.25rem 0.4rem !important;
  color: var(--glance-v2-accent-dark) !important;
  font-size: var(--glance-v2-site-text-xs, 0.8125rem) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__display [class*="tag-color-"] {
  color: inherit !important;
  border-bottom-width: 2px;
  padding-bottom: 1px;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__remove {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 0.4rem !important;
  border: none !important;
  border-right: 1px solid rgba(0, 163, 152, 0.25) !important;
  border-radius: 6px 0 0 6px !important;
  background: transparent !important;
  color: var(--glance-v2-accent-dark) !important;
  font-weight: 700 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
  background: rgba(0, 163, 152, 0.12) !important;
  color: #0f766e !important;
}

.glance-v2-site-charge-stop-form__label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 500;
  margin: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-hidden {
  display: none !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-main > .glance-v2-site-tabs-section.row {
  /* Bootstrap .row negative margins shift the tab card left of the summary panels above. */
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section > .col-sm-12 {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.15rem 1.25rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content > .tab-pane > .row {
  margin-left: 0;
  margin-right: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content .table-responsive {
  width: 100%;
  max-width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content .table {
  width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-detail-body table.table thead th {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  padding: 13px 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-detail-body table.table tbody td,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-detail-body table.table tfoot td {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  padding: 13px 0.75rem;
  line-height: 1.4;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section .tab-content h3 {
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  margin: 1.25rem 0 0.65rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section .tab-content p {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.55;
}

/* GLANCE v2 — site Members tab */

body.glance-v2 #content.glance-v2-content #tab-residents .form-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.5rem 0.75rem;
}

body.glance-v2 #content.glance-v2-content #tab-residents #members-search-form .input-group {
  display: flex;
  align-items: stretch;
  min-width: min(100%, 18rem);
}

body.glance-v2 #content.glance-v2-content #tab-residents #members-search-form .input-group .form-control {
  border-radius: 6px 0 0 6px;
  min-height: 48px;
}

body.glance-v2 #content.glance-v2-content #tab-residents #members-search-form .input-group-btn {
  display: flex;
}

body.glance-v2 #content.glance-v2-content #tab-residents #members-search-form .input-group-btn .ec-button-teal-border.filter {
  border-radius: 0 6px 6px 0;
  margin-left: -2px;
  min-width: 48px;
  padding-left: 0.85rem;
  padding-right: 0.85rem;
}

body.glance-v2 #content.glance-v2-content #tab-residents #members-connector-select {
  min-height: 48px;
  min-width: 12rem;
}

body.glance-v2 #content.glance-v2-content #tab-residents #residents-table tbody td {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  vertical-align: top;
}

body.glance-v2 #content.glance-v2-content #tab-residents #residents-table tbody td small {
  color: var(--glance-v2-muted, #64748b);
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
}

body.glance-v2 #content.glance-v2-content #tab-residents #residents-table tbody td p {
  margin: 0 0 0.35rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.4;
}

body.glance-v2 #content.glance-v2-content #tab-residents #residents-table tbody td p:last-child {
  margin-bottom: 0;
}

body.glance-v2 #content.glance-v2-content #tab-residents .glance-v2-members-export {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.75rem;
}

body.glance-v2 #content.glance-v2-content #tab-residents .export-report {
  margin-top: 0;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-residents #residents-table tbody td small {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-residents .pager li > a {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-residents .pager li > a:hover {
  color: #fff;
}

/* GLANCE v2 — EVSE site map tab */

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content #tab-evse-sitemap .glance-v2-evse-sitemap.evse-sitemap-container {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  height: min(56rem, calc(100vh - 14rem));
  overflow: hidden;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content #tab-evse-sitemap .evse-sitemap-map-container {
  height: 100%;
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-container {
  background: rgba(241, 245, 249, 0.96);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-form {
  background: var(--glance-v2-card, #fff);
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-label-map-name {
  color: var(--glance-v2-ink, #14353c);
  font-size: 1.125rem;
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-input-map-name {
  background: #fff;
  border: 1px solid #cbd5e1;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-input-map-name:focus {
  outline: 2px solid rgba(0, 163, 152, 0.35);
  outline-offset: 1px;
  border-color: var(--glance-v2-accent);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-help-text {
  color: var(--glance-v2-muted, #64748b);
  margin-top: 0.35rem;
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-toggle-label {
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-public-url__text {
  margin: 0;
  font-size: 0.9rem;
  color: var(--glance-v2-muted, #64748b);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-public-url__text a {
  color: var(--glance-v2-accent-dark);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(0, 163, 152, 0.45);
  text-underline-offset: 0.15em;
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-loading-indicator-container {
  background: rgba(255, 255, 255, 0.94);
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-dropdown {
  background: #fff;
  border-color: #cbd5e1;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content .evse-sitemap-dropdown-arrow-container {
  color: var(--glance-v2-muted, #64748b);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content #tab-evse-sitemap .glance-v2-evse-sitemap.evse-sitemap-container {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-container {
  background: rgba(15, 26, 29, 0.94);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-form {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-label-map-name,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-input-map-name,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-toggle-label,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-loading-indicator-container {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-input-map-name {
  background: var(--glance-v2-input-bg, rgba(0, 0, 0, 0.25));
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-help-text,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-public-url__text {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-public-url__text a {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-loading-indicator-container {
  background: rgba(15, 26, 29, 0.94);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-dropdown {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-dropdown-arrow-container {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-toggle-slider {
  background-color: #4b5563;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .evse-sitemap-upload-map-form {
  color-scheme: dark;
}

/* Shared drag/drop file upload (site map, documents, CSV/PDF uploads, etc.) */

.ec-file-dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0 0 1.5rem;
  padding: 2rem 1.25rem;
  border: 2px dashed #cbd5e1;
  border-radius: 10px;
  background: #f8fafc;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.ec-file-dropzone:focus-visible {
  outline: 2px solid rgba(0, 163, 152, 0.45);
  outline-offset: 2px;
}

.ec-file-dropzone__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}

.ec-file-dropzone__icon {
  color: var(--glance-v2-accent-dark, #00a398);
  margin-bottom: 0.25rem;
}

.ec-file-dropzone__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-ink, #14353c);
  line-height: 1.35;
}

.ec-file-dropzone__hint {
  margin: 0;
  font-size: 0.9rem;
  color: var(--glance-v2-muted, #64748b);
}

.ec-file-dropzone__browse {
  color: var(--glance-v2-accent-dark, #00a398);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(0, 163, 152, 0.45);
  text-underline-offset: 0.15em;
}

.ec-file-dropzone__formats {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: var(--glance-v2-muted, #94a3b8);
}

.ec-file-dropzone__filename {
  margin: 0.65rem 0 0;
  padding: 0.45rem 0.75rem;
  border-radius: 6px;
  background: rgba(0, 163, 152, 0.1);
  color: var(--glance-v2-accent-dark, #0f766e);
  font-size: 0.85rem;
  font-weight: 600;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ec-file-dropzone--dragover {
  border-color: var(--glance-v2-accent, #00a398);
  background: rgba(0, 163, 152, 0.08);
  box-shadow: inset 0 0 0 1px rgba(0, 163, 152, 0.2);
}

.ec-file-dropzone--has-file {
  border-style: solid;
  border-color: var(--glance-v2-accent, #00a398);
}

.ec-file-dropzone--error {
  border-color: #f87171;
  background: rgba(248, 113, 113, 0.08);
}

.ec-file-dropzone--error .ec-file-dropzone__filename {
  background: rgba(248, 113, 113, 0.15);
  color: #b91c1c;
}

html.glance-v2-theme-dark .ec-file-dropzone {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .ec-file-dropzone__icon {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .ec-file-dropzone__title {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .ec-file-dropzone__hint,
html.glance-v2-theme-dark .ec-file-dropzone__formats {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .ec-file-dropzone__browse {
  color: var(--glance-v2-accent-bright);
  text-decoration-color: rgba(0, 255, 193, 0.35);
}

html.glance-v2-theme-dark .ec-file-dropzone__filename {
  background: rgba(0, 255, 193, 0.12);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .ec-file-dropzone--dragover {
  border-color: var(--glance-v2-accent-bright);
  background: rgba(0, 255, 193, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 255, 193, 0.25);
}

html.glance-v2-theme-dark .ec-file-dropzone--has-file {
  border-color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .ec-file-dropzone--error {
  border-color: #fca5a5;
  background: rgba(248, 113, 113, 0.12);
}

html.glance-v2-theme-dark .ec-file-dropzone--error .ec-file-dropzone__filename {
  background: rgba(248, 113, 113, 0.18);
  color: #fca5a5;
}

.ec-document-upload-dropzone .ec-file-dropzone {
  margin-bottom: 0.75rem;
  min-width: min(100%, 22rem);
}

body.glance-v2 #content.glance-v2-content #tab-evse-sitemap .evse-sitemap-container:not(.glance-v2-evse-sitemap) p,
body.glance-v2 #content.glance-v2-content #tab-evse-sitemap > .evse-sitemap-container p {
  color: var(--glance-v2-muted, #64748b);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-evse-sitemap > p {
  color: var(--glance-v2-muted);
}

/* GLANCE v2 — site Rules tab */

.glance-v2-rules-garage {
  display: block;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}

.glance-v2-rules-garage:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.glance-v2-rules-garage__title {
  margin: 0 0 0.85rem;
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  line-height: 1.3;
}

.glance-v2-rules-garage__message,
.glance-v2-rules-garage__empty {
  margin: 0;
  padding: 1rem 1.15rem;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: var(--glance-v2-muted, #64748b);
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
}

body.glance-v2 #content.glance-v2-content #tab-rules .glance-v2-rules-garage__content h3 {
  margin: 0 0 0.65rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-rules .glance-v2-rules-garage__content p {
  margin: 0 0 0.75rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
  color: var(--glance-v2-muted, #64748b);
}

body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) {
  margin-left: 0;
  margin-top: 0;
  border-bottom: 2px solid #e2e8f0;
}

body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li > a {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li > a:hover {
  background: rgba(0, 163, 152, 0.08);
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li > a.active[role="tab"],
body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li.active > a:not([role="tab"]) {
  border-bottom-color: var(--glance-v2-card, #fff) !important;
}

body.glance-v2 #content.glance-v2-content #tab-rules .tab-content {
  padding-top: 1rem;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-rules #max_session_length,
body.glance-v2 #content.glance-v2-content #tab-rules .dow-rule-list input[type="number"],
body.glance-v2 #content.glance-v2-content #tab-rules .rules-datetime-rows input,
body.glance-v2 #content.glance-v2-content #tab-rules .rules-datetime-rows select {
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: var(--glance-v2-ink, #14353c);
  font-size: 0.9rem;
}

body.glance-v2 #content.glance-v2-content #tab-rules #max_session_length {
  padding: 0.35rem 0.5rem;
  min-width: 6rem;
}

body.glance-v2 #content.glance-v2-content #tab-rules .dow-column {
  border-color: #cbd5e1;
}

body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell {
  border-top-color: #e2e8f0;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell.dow-hour,
body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell.dow-title.dow-top-left {
  border-left-color: #cbd5e1;
}

body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell.dow-title {
  background: #f1f5f9;
  font-weight: 600;
}

body.glance-v2 #content.glance-v2-content #tab-rules .dow-rule-list .rule-reduction {
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-rules .rules-datetime-rows .form-group {
  display: block;
}

body.glance-v2 #content.glance-v2-content #tab-rules .rules-datetime-rows h3 {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--glance-v2-muted, #64748b);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

html.glance-v2-theme-dark .glance-v2-rules-garage {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-rules-garage__title {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-rules-garage__message,
html.glance-v2-theme-dark .glance-v2-rules-garage__empty {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .glance-v2-rules-garage__content h3,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .tab-content,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-rule-list .rule-reduction {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .glance-v2-rules-garage__content p {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li > a:not(.active) {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li > a.active[role="tab"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .nav-tabs:not(.actions-nav) li.active > a:not([role="tab"]) {
  border-bottom-color: var(--glance-v2-card) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules #max_session_length,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-rule-list input[type="number"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .rules-datetime-rows input,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .rules-datetime-rows select {
  background: var(--glance-v2-input-bg, rgba(0, 0, 0, 0.25));
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-column {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell.dow-hour,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell.dow-title.dow-top-left {
  border-left-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .dow-cell.dow-title {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.22));
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-rules .rule-update-error {
  background-color: rgba(248, 113, 113, 0.2);
}

/* GLANCE v2 — site Mesh Info tab */

.glance-v2-mesh-garage {
  display: block;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #e2e8f0;
}

.glance-v2-mesh-garage:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.glance-v2-mesh-garage__title {
  margin: 0 0 0.75rem;
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  line-height: 1.3;
}

.glance-v2-mesh-garage__empty {
  margin: 0;
  padding: 1rem 1.15rem;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: var(--glance-v2-muted, #64748b);
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
}

.glance-v2-mesh-garage__graph {
  min-height: 200px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  overflow: hidden;
}

html.glance-v2-theme-dark .glance-v2-mesh-garage {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-mesh-garage__title {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-mesh-garage__empty {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-mesh-garage__graph {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
}

/* GLANCE v2 — site Site Access tab */

.glance-v2-site-access {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.glance-v2-site-access__grid {
  display: grid;
  grid-template-columns: minmax(200px, 0.85fr) minmax(0, 1.35fr);
  gap: 1rem;
  align-items: stretch;
}

.glance-v2-site-access__grid--with-managers {
  grid-template-columns: minmax(180px, 0.75fr) minmax(0, 1.2fr) minmax(220px, 0.95fr);
}

@media (max-width: 991px) {
  .glance-v2-site-access__grid,
  .glance-v2-site-access__grid--with-managers {
    grid-template-columns: 1fr;
  }
}

.glance-v2-site-access__card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
}

.glance-v2-site-access__title {
  margin: 0;
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  line-height: 1.3;
}

.glance-v2-site-access__status {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 5.5rem;
  padding: 0.75rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.glance-v2-site-access__status-label {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.glance-v2-site-access__status-label--enabled {
  color: #15803d;
}

.glance-v2-site-access__status-label--disabled {
  color: #b91c1c;
}

.glance-v2-site-access__body {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 0;
}

.glance-v2-site-access__message {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e2e8f0;
  color: var(--glance-v2-muted, #64748b);
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
}

body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body p {
  margin: 0;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body p.italic {
  color: var(--glance-v2-accent-dark);
  font-style: italic;
}

body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body table {
  width: 100%;
  margin: 0.15rem 0 0;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  border-collapse: collapse;
}

body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body table td {
  padding: 0.35rem 0;
  vertical-align: top;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body table td:first-child {
  width: 6.5rem;
  padding-right: 0.75rem;
  font-weight: 600;
  color: var(--glance-v2-muted, #64748b);
  white-space: nowrap;
}

.glance-v2-site-access__managers {
  margin-top: 0;
  max-height: 220px;
}

.glance-v2-site-access__manager-table {
  width: 100%;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  border-collapse: collapse;
}

.glance-v2-site-access__manager-table td {
  padding: 0.45rem 0;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
  color: var(--glance-v2-ink, #14353c);
}

.glance-v2-site-access__manager-table tr:last-child td {
  border-bottom: 0;
}

.glance-v2-site-access__manager-name {
  font-weight: 600;
}

.glance-v2-site-access__manager-status {
  width: 2.5rem;
  text-align: center;
}

.glance-v2-site-access__manager-history {
  text-align: right;
  white-space: nowrap;
}

.glance-v2-site-access__footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.25rem;
}

html.glance-v2-theme-dark .glance-v2-site-access__card {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-access__title {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-site-access__status {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-access__status-label--enabled {
  color: #86efac;
}

html.glance-v2-theme-dark .glance-v2-site-access__status-label--disabled {
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-site-access__message {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body p,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body table td {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body p.italic {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__body table td:first-child {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-site-access__manager-table td {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

/* GLANCE v2 — site Public Charging tab */

.glance-v2-public-charge {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.glance-v2-public-charge__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.glance-v2-public-charge__grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.glance-v2-public-charge__grid--status {
  grid-template-columns: minmax(200px, 0.85fr) minmax(0, 1fr);
}

.glance-v2-public-charge__grid--status-with-disbursement {
  grid-template-columns: minmax(200px, 0.75fr) minmax(0, 1fr);
}

@media (max-width: 991px) {
  .glance-v2-public-charge__grid,
  .glance-v2-public-charge__grid--three,
  .glance-v2-public-charge__grid--status,
  .glance-v2-public-charge__grid--status-with-disbursement {
    grid-template-columns: 1fr;
  }
}

.glance-v2-public-charge__card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
}

.glance-v2-public-charge__title {
  margin: 0;
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  line-height: 1.3;
}

.glance-v2-public-charge__scroll {
  margin-top: 0;
  max-height: 260px;
}

.glance-v2-public-charge__entry {
  margin-bottom: 0.85rem;
}

.glance-v2-public-charge__entry:last-child {
  margin-bottom: 0;
}

.glance-v2-public-charge__entry-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}

.glance-v2-public-charge__entry-label {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 700;
  color: var(--glance-v2-ink, #14353c);
}

.glance-v2-public-charge__entry-value {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
  color: var(--glance-v2-ink, #14353c);
}

.glance-v2-public-charge__entry-value--prominent {
  font-size: var(--glance-v2-site-text-base, 1rem);
  font-weight: 700;
}

.glance-v2-public-charge__entry-value strong {
  font-weight: 700;
}

.glance-v2-public-charge__subsection {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid #e2e8f0;
}

.glance-v2-public-charge__subsection-label {
  margin-bottom: 0.65rem;
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--glance-v2-muted, #64748b);
}

.glance-v2-public-charge__garage {
  margin-bottom: 0.75rem;
  padding-left: 0.65rem;
  border-left: 2px solid #e2e8f0;
}

.glance-v2-public-charge__garage:last-child {
  margin-bottom: 0;
}

.glance-v2-public-charge__meta {
  display: block;
  margin-top: 0.2rem;
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 600;
  color: var(--glance-v2-muted, #64748b);
}

.glance-v2-public-charge__delete {
  margin-left: 0.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #b91c1c;
  cursor: pointer;
}

.glance-v2-public-charge__delete:hover,
.glance-v2-public-charge__delete:focus-visible {
  color: #991b1b;
  outline: none;
}

.glance-v2-public-charge__toggle-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid #e2e8f0;
}

.glance-v2-public-charge__toggle-label {
  flex: 1 1 100%;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 700;
  color: var(--glance-v2-ink, #14353c);
}

.glance-v2-public-charge__toggle-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.glance-v2-public-charge__toggle-text {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 700;
}

.glance-v2-public-charge__toggle-text--on {
  color: #15803d;
}

.glance-v2-public-charge__toggle-text--off {
  color: #b91c1c;
}

.glance-v2-action-btn-compact {
  min-height: 0;
  padding: 0.15rem 0.55rem;
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  line-height: 1.35;
}

.glance-v2-public-charge__history-inline {
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 600;
}

.glance-v2-public-charge__status {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 5.5rem;
  padding: 0.75rem;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.glance-v2-public-charge__status-label {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.glance-v2-public-charge__status-label--enabled {
  color: #15803d;
}

.glance-v2-public-charge__status-label--disabled {
  color: #b91c1c;
}

.glance-v2-public-charge__disbursement-struck {
  margin: 0;
  font-size: var(--glance-v2-site-text-base, 1rem);
  font-weight: 700;
  color: var(--glance-v2-muted, #64748b);
  text-decoration: line-through;
}

.glance-v2-public-charge__alert {
  margin: 0;
  padding: 0.75rem 0.9rem;
  border-radius: 8px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
}

.glance-v2-public-charge__footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.25rem;
}

body.glance-v2 #content.glance-v2-content #tab-public-charging .glance-v2-public-charge__entry-header a:not(.glance-v2-link),
body.glance-v2 #content.glance-v2-content #tab-public-charging .glance-v2-public-charge__entry-header .glance-v2-action-btn-compact,
body.glance-v2 #content.glance-v2-content #tab-member-rates .glance-v2-public-charge__entry-header .glance-v2-action-btn-compact,
body.glance-v2 #content.glance-v2-content #tab-site-admin .glance-v2-site-access__manager-history .glance-v2-action-btn-compact {
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 600;
}

html.glance-v2-theme-dark .glance-v2-public-charge__card {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-public-charge__title {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-public-charge__entry-label,
html.glance-v2-theme-dark .glance-v2-public-charge__entry-value,
html.glance-v2-theme-dark .glance-v2-public-charge__toggle-label {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-public-charge__subsection,
html.glance-v2-theme-dark .glance-v2-public-charge__toggle-row {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-public-charge__subsection-label,
html.glance-v2-theme-dark .glance-v2-public-charge__meta,
html.glance-v2-theme-dark .glance-v2-public-charge__disbursement-struck {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-public-charge__garage {
  border-left-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-public-charge__status {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-public-charge__status-label--enabled,
html.glance-v2-theme-dark .glance-v2-public-charge__toggle-text--on {
  color: #86efac;
}

html.glance-v2-theme-dark .glance-v2-public-charge__status-label--disabled,
html.glance-v2-theme-dark .glance-v2-public-charge__toggle-text--off {
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-public-charge__alert {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-public-charge__delete {
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-public-charge__delete:hover,
html.glance-v2-theme-dark .glance-v2-public-charge__delete:focus-visible {
  color: #fff;
}

/* GLANCE v2 — site Member Rates tab */

.glance-v2-member-rates {
  display: block;
}

.glance-v2-member-rates__card {
  max-width: 42rem;
}

.glance-v2-member-rates__content {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.glance-v2-member-rates__override-group {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px dashed #e2e8f0;
}

.glance-v2-member-rates__override-label {
  margin-bottom: 0.5rem;
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--glance-v2-muted, #64748b);
}

.glance-v2-member-rates__override-item {
  margin-bottom: 0.65rem;
  padding-left: 0.5rem;
}

.glance-v2-member-rates__override-item:last-child {
  margin-bottom: 0;
}

.glance-v2-member-rates__override-name {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  margin-bottom: 0.2rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 600;
  color: var(--glance-v2-ink, #14353c);
}

.glance-v2-member-rates__override-name a:not(.glance-v2-member-rates__history-link) {
  color: var(--glance-v2-ink, #14353c);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline, rgba(0, 163, 152, 0.45));
  text-underline-offset: 0.18em;
}

.glance-v2-member-rates__history-link {
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 600;
}

.glance-v2-member-rates__override-value {
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.45;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content #tab-member-rates .glance-v2-public-charge__entry-header a:not(.glance-v2-link) {
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 600;
}

html.glance-v2-theme-dark .glance-v2-member-rates__override-group {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-member-rates__override-label {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-member-rates__override-name,
html.glance-v2-theme-dark .glance-v2-member-rates__override-value {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-member-rates__override-name a:not(.glance-v2-member-rates__history-link) {
  color: var(--glance-v2-accent-bright);
  text-decoration-color: rgba(0, 255, 193, 0.35);
}

html.glance-v2-theme-dark .glance-v2-member-rates__override-name a:not(.glance-v2-member-rates__history-link):hover,
html.glance-v2-theme-dark .glance-v2-member-rates__override-name a:not(.glance-v2-member-rates__history-link):focus-visible {
  color: #fff;
}

/* GLANCE v2 — site Notes tab */

.glance-v2-site-notes {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 52rem;
}

.glance-v2-site-notes__header {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.glance-v2-site-notes__title {
  margin: 0;
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  line-height: 1.3;
}

.glance-v2-site-notes__add {
  margin: 0;
}

.glance-v2-site-notes__list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.glance-v2-site-notes .scrollable-building-note {
  margin-bottom: 0;
  max-height: none;
  padding: 1rem 1.15rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
}

.glance-v2-site-notes .scrollable-building-note > .ec-grey {
  margin: 0 0 0.5rem;
  color: var(--glance-v2-muted, #64748b);
}

.glance-v2-site-notes .scrollable-building-note > .ec-grey small {
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
}

.glance-v2-site-notes .scrollable-building-note > .whitespace-pre-wrap {
  margin: 0 0 0.75rem;
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  line-height: 1.5;
  color: var(--glance-v2-ink, #14353c);
  word-break: break-word;
}

.glance-v2-site-notes .scrollable-building-note > form {
  display: inline;
  margin: 0;
}

.glance-v2-site-notes .scrollable-building-note > button.ec-button-teal-border {
  margin-right: 0.5rem;
}

html.glance-v2-theme-dark .glance-v2-site-notes__title {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-site-notes .scrollable-building-note {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-notes .scrollable-building-note > .ec-grey {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-site-notes .scrollable-building-note > .whitespace-pre-wrap {
  color: var(--glance-v2-ink);
}

/* GLANCE v2 — site analytics page */

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-dash-chart-wrap {
  background: var(--glance-v2-card);
  border-color: #e2e8f0;
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-dash-chart-wrap > p strong {
  font-size: var(--glance-v2-site-text-lg, 1.05rem);
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) {
  border-bottom-color: #e2e8f0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) li > a:not(.active) {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) li > a.active[role="tab"] {
  border-bottom-color: var(--glance-v2-card) !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-analytics-radio-group-label,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-analytics-radio-group-label i {
  color: var(--glance-v2-muted, #64748b);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-analytics-radio-label {
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-demand-summary-bar {
  border-color: #e2e8f0;
  background: #f8fafc;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-demand-summary-bar .total-usage-title {
  color: var(--glance-v2-muted, #64748b);
  font-size: var(--glance-v2-site-text-2xs, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-demand-summary-bar .total-usage-value {
  color: var(--glance-v2-ink, #14353c);
  font-size: var(--glance-v2-site-text-sm, 0.9rem);
  font-weight: 700;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .clear-filter {
  color: var(--glance-v2-accent);
  cursor: pointer;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .tab-content {
  color: var(--glance-v2-ink, #14353c);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .tab-content > .tab-pane > .row > .col-sm-12 > p {
  color: var(--glance-v2-muted, #64748b);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-dash-chart-wrap {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-dash-chart-wrap > p strong {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) li > a:not(.active) {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.15));
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) li > a:not(.active):hover {
  background: rgba(0, 255, 193, 0.08);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #site-analytics-tablist.nav-tabs:not(.actions-nav) li > a.active[role="tab"] {
  border-bottom-color: var(--glance-v2-card) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-analytics-radio-group-label,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-analytics-radio-group-label i {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-analytics-radio-label {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-demand-summary-bar {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-demand-summary-bar .total-usage-title {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-demand-summary-bar .total-usage-value {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .clear-filter {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .tab-content,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .tab-content > .tab-pane > .row > .col-sm-12 > p {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .help-container {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .help-container h4 {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics .ec-hr-extra {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #panel-table-div table {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #panel-table-div table td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-analytics #panel-table-div table th {
  border-color: var(--glance-v2-border);
}

/* GLANCE v2 — Garages charger / circuit layout */

.circuit-node__sublink {
  color: #334155;
  text-decoration: underline;
  text-decoration-color: rgba(0, 163, 152, 0.45);
  text-underline-offset: 0.12em;
}

.circuit-node__sublink:hover,
.circuit-node__sublink:focus-visible {
  color: var(--glance-v2-accent-dark);
  text-decoration-color: currentColor;
  outline: none;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container [id^="node-"] {
  background: var(--glance-v2-surface-raised, rgba(0, 0, 0, 0.22));
  border-color: var(--glance-v2-border) !important;
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container [id^="node-"] .fa {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container .circuit-node__sublink,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container [id^="node-"] a.text-gray-800 {
  color: var(--glance-v2-accent-bright) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container .circuit-node__sublink:hover,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container .circuit-node__sublink:focus-visible,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container [id^="node-"] a.text-gray-800:hover {
  color: #fff !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container img[src*="circuit_icons"] {
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container .connectionsSVG line {
  stroke: var(--glance-v2-circuit-stroke);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container .badge.bg-blue-100 {
  background: rgba(59, 130, 246, 0.28) !important;
  color: #dbeafe !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .circuit-container .badge.bg-orange-100 {
  background: rgba(251, 146, 60, 0.28) !important;
  color: #ffedd5 !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content label:has(#circuit-view-toggle) > span {
  color: var(--glance-v2-muted);
}

/* Legacy tree-root charger layout (old circuits view) */

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .limit-inner {
  background: var(--glance-v2-card);
  color: var(--glance-v2-ink);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .limit-outer {
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .limit-outer:not(.phase-ab):not(.phase-bc):not(.phase-ac):not(.phase-3p) {
  background: #3d4f56;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .limit-outer.phase-3p {
  background: #0f172a;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .charger-id,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .charger-id a {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .first-child,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .middle-child,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .last-child,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .only-child,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view .cont {
  filter: invert(1) brightness(1.35);
  opacity: 0.75;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view input.text-radio + * > * {
  border-bottom-color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content .old-circuit-view input.text-radio:checked + * {
  background: #3d4f56;
  color: var(--glance-v2-ink);
}

/* GLANCE v2 — customer portal (sidebar shell + dashboard content) */

body.glance-v2.glance-v2-customer-portal,
body.glance-v2-customer-portal {
  background: var(--glance-v2-canvas);
  font-family: 'Inter', 'Aeonik', ui-sans-serif, system-ui, sans-serif;
  color: var(--glance-v2-ink);
}

body.glance-v2.glance-v2-customer-portal #content.glance-v2-content,
body.glance-v2-customer-portal #content {
  padding-top: 1.25rem;
  background: transparent;
}

body.glance-v2.glance-v2-customer-portal .glance-v2-footer__meta {
  display: none;
}

.glance-v2-customer-dashboard-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.25rem 2rem;
}

.glance-v2-customer-dashboard__hero {
  margin-bottom: 1.25rem;
}

.glance-v2-customer-dashboard__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-customer-dashboard__subtitle {
  margin: 0.35rem 0 0;
  color: #64748b;
  font-size: 0.95rem;
}

.glance-v2-customer-dashboard__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
  gap: 1rem;
  align-items: start;
}

.glance-v2-customer-dashboard__main,
.glance-v2-customer-dashboard__rail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.glance-v2-customer-card {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.06);
  padding: 1.1rem 1.25rem;
}

.glance-v2-customer-card--compact {
  padding: 1rem 1.15rem;
}

.glance-v2-customer-card__header {
  margin-bottom: 0.85rem;
}

.glance-v2-customer-card__header--split {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.glance-v2-customer-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-accent);
}

.glance-v2-customer-card__subtitle {
  margin: 0.25rem 0 0;
  color: #64748b;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.glance-v2-customer-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid #eef2f6;
  color: #64748b;
  font-size: 0.8125rem;
  /* Override legacy site footer (footer { height: 221px; background: #3c3c3c; }) */
  position: static !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  line-height: inherit;
}

.glance-v2-customer-card__footer--split {
  flex-wrap: wrap;
}

.glance-v2-customer-card__footer-actions {
  display: flex;
  gap: 0.5rem;
}

.glance-v2-customer-card__links {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid #eef2f6;
}

.glance-v2-customer-link--accent {
  color: #c2410c;
  text-decoration-color: rgba(194, 65, 12, 0.4);
}

.glance-v2-customer-link--accent:hover,
.glance-v2-customer-link--accent:focus-visible {
  color: #9a3412;
  text-decoration-color: currentColor;
}

.glance-v2-customer-link--strong {
  font-weight: 700;
}

.glance-v2-customer-inline-link {
  font-size: 0.875rem;
}

.glance-v2-customer-table-wrap {
  overflow-x: auto;
}

.glance-v2-customer-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.glance-v2-customer-table thead th {
  padding: 0.55rem 0.65rem;
  border-bottom: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
}

.glance-v2-customer-table tbody td {
  padding: 0.75rem 0.65rem;
  border-bottom: 1px solid #eef2f6;
  vertical-align: middle;
}

.glance-v2-customer-table tbody tr:nth-child(even) td {
  background: #f8fafc;
}

.glance-v2-customer-table tbody tr:last-child td {
  border-bottom: none;
}

.glance-v2-customer-table__amount {
  width: 6.5rem;
  font-weight: 600;
  white-space: nowrap;
}

.glance-v2-customer-table__actions {
  width: 9rem;
  white-space: nowrap;
}

.glance-v2-customer-table__actions .glance-v2-customer-link + .glance-v2-customer-link {
  margin-left: 0.65rem;
}

.glance-v2-customer-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.glance-v2-customer-badge--paid {
  background: rgba(0, 163, 152, 0.14);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-customer-badge--unpaid {
  background: #ffedd5;
  color: #c2410c;
}

.glance-v2-customer-badge--danger {
  background: #fee2e2;
  color: #b91c1c;
}

.glance-v2-customer-balance-card {
  padding: 1.15rem 1.2rem;
  border-radius: 12px;
  background: linear-gradient(135deg, #00a398 0%, #007a72 100%);
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 122, 114, 0.22);
}

.glance-v2-customer-balance-card__label {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}

.glance-v2-customer-balance-card__amount {
  margin: 0.35rem 0 0.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}

.glance-v2-customer-balance-card__meta {
  margin: 0 0 0.85rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  opacity: 0.95;
}

.glance-v2-customer-balance-card__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}

.glance-v2-customer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.glance-v2-customer-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.glance-v2-customer-btn--primary {
  background: var(--glance-v2-accent);
  color: #fff;
}

.glance-v2-customer-btn--ghost {
  background: #fff;
  border-color: #cbd5e1;
  color: #334155;
}

.glance-v2-customer-btn--light {
  width: 100%;
  background: #fff;
  color: var(--glance-v2-accent-dark);
}

.glance-v2-customer-btn--outline-light {
  width: 100%;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.75);
  color: #fff;
}

.glance-v2-customer-balance-card__actions form {
  margin: 0;
}

.glance-v2-customer-reminders-card .glance-v2-customer-card__title {
  color: var(--glance-v2-accent);
}

.glance-v2-customer-reminders {
  list-style: none;
  margin: 0.65rem 0 0;
  padding: 0;
}

.glance-v2-customer-reminders__item {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #eef2f6;
}

.glance-v2-customer-reminders__item:first-child {
  padding-top: 0;
}

.glance-v2-customer-reminders__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.glance-v2-customer-reminders__body {
  min-width: 0;
}

.glance-v2-customer-reminders__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  background: rgba(0, 163, 152, 0.12);
  color: var(--glance-v2-accent-dark);
  flex-shrink: 0;
  font-size: 0.95rem;
}

.glance-v2-customer-reminders__icon--warn {
  background: #ffedd5;
  color: #c2410c;
}

.glance-v2-customer-reminders__icon--info {
  background: #dbeafe;
  color: #1d4ed8;
}

.glance-v2-customer-reminders__icon--due {
  background: #dcfce7;
  color: #15803d;
}

.glance-v2-customer-reminders__title {
  margin: 0 0 0.2rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--glance-v2-ink);
  line-height: 1.35;
}

.glance-v2-customer-reminders__meta {
  margin: 0;
  font-size: 0.8125rem;
  color: #64748b;
  line-height: 1.35;
}

.glance-v2-customer-reminders__meta-link {
  color: #64748b;
  text-decoration: none;
}

.glance-v2-customer-reminders__meta-link:hover {
  color: var(--glance-v2-accent-dark);
  text-decoration: underline;
}

.glance-v2-customer-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
  margin: 0.65rem 0 0;
}

.glance-v2-customer-account-grid dt {
  margin: 0 0 0.2rem;
  color: var(--glance-v2-accent);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.glance-v2-customer-account-grid dd {
  margin: 0;
  color: #334155;
  font-size: 0.875rem;
  line-height: 1.45;
}

.glance-v2-customer-co2-card {
  padding: 1.1rem 1.15rem;
  border-radius: 12px;
  background: linear-gradient(145deg, #14353c 0%, #0f2a30 55%, #123b35 100%);
  color: #fff;
  box-shadow: 0 8px 24px rgba(20, 53, 60, 0.25);
}

.glance-v2-customer-co2-card__label {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}

.glance-v2-customer-co2-card__value {
  margin: 0.35rem 0 0.45rem;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
}

.glance-v2-customer-co2-card__meta {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.glance-v2-customer-impact-card__viewport {
  position: relative;
  min-height: 7.5rem;
}

.glance-v2-customer-impact-card__slide {
  animation: glance-v2-customer-impact-fade-in 0.35s ease;
}

.glance-v2-customer-impact-card__slide[hidden] {
  display: none;
}

.glance-v2-customer-impact-card__heading {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.glance-v2-customer-impact-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.1);
  color: #7eece0;
  font-size: 0.85rem;
}

.glance-v2-customer-impact-card__dots {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.85rem;
}

.glance-v2-customer-impact-card__dot {
  width: 0.45rem;
  height: 0.45rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}

.glance-v2-customer-impact-card__dot--active {
  background: #fff;
  transform: scale(1.15);
}

@keyframes glance-v2-customer-impact-fade-in {
  from {
    opacity: 0;
    transform: translateY(0.35rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.glance-v2-customer-segmented {
  display: inline-flex;
  padding: 0.2rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  flex-shrink: 0;
}

.glance-v2-customer-segmented__btn {
  padding: 0.35rem 0.65rem;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.glance-v2-customer-segmented__btn--active {
  background: var(--glance-v2-accent);
  color: #fff;
}

.glance-v2-customer-schedule {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.glance-v2-customer-schedule__row {
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(0, 1.2fr);
  gap: 1rem;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid #eef2f6;
}

.glance-v2-customer-schedule__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.glance-v2-customer-schedule__label-wrap {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.glance-v2-customer-schedule__toggle {
  position: relative;
  width: 2.4rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #cbd5e1;
}

.glance-v2-customer-schedule__toggle--on {
  background: var(--glance-v2-accent);
}

.glance-v2-customer-schedule__toggle--on::after {
  content: "";
  position: absolute;
  top: 2px;
  right: 2px;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background: #fff;
}

.glance-v2-customer-schedule__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--glance-v2-ink);
}

.glance-v2-customer-schedule__times {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.glance-v2-customer-schedule__field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

.glance-v2-customer-schedule__field input {
  min-height: 2.35rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: 0.875rem;
  font-weight: 500;
  text-transform: none;
}

.glance-v2-customer-schedule__note {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #64748b;
  font-size: 0.8125rem;
}

.glance-v2-customer-alert {
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  font-size: 0.875rem;
}

.glance-v2-customer-alert--danger {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.glance-v2-customer-empty,
.glance-v2-customer-help-link {
  margin: 0;
  color: #64748b;
  font-size: 0.875rem;
}

.glance-v2-customer-text-warn {
  color: #b91c1c;
  font-weight: 600;
}

/* GLANCE v2 — customer help / FAQ */

.glance-v2-customer-help {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 920px;
}

.glance-v2-customer-help__intro .glance-v2-customer-card__title {
  font-size: 1.35rem;
}

.glance-v2-customer-help__shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.glance-v2-customer-help__shortcut {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--glance-v2-accent-dark);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.glance-v2-customer-help__shortcut:hover {
  background: rgba(0, 163, 152, 0.08);
  border-color: rgba(0, 163, 152, 0.35);
  color: var(--glance-v2-accent);
  text-decoration: none;
}

.glance-v2-customer-help__faq {
  padding: 0;
  overflow: hidden;
}

.glance-v2-customer-help__topics {
  display: flex;
  flex-direction: column;
}

.glance-v2-customer-help__topic {
  border-bottom: 1px solid #eef2f6;
}

.glance-v2-customer-help__topic:last-child {
  border-bottom: none;
}

.glance-v2-customer-help__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--glance-v2-ink);
  transition: background 0.15s ease, color 0.15s ease;
}

.glance-v2-customer-help__summary::-webkit-details-marker {
  display: none;
}

.glance-v2-customer-help__summary:hover {
  background: #f8fafc;
}

.glance-v2-customer-help__topic[open] > .glance-v2-customer-help__summary {
  color: var(--glance-v2-accent);
  background: rgba(0, 163, 152, 0.05);
}

.glance-v2-customer-help__chevron {
  color: #94a3b8;
  font-size: 0.75rem;
  transition: transform 0.15s ease, color 0.15s ease;
}

.glance-v2-customer-help__topic[open] .glance-v2-customer-help__chevron {
  transform: rotate(180deg);
  color: var(--glance-v2-accent);
}

.glance-v2-customer-help__body {
  padding: 0 1.25rem 1.15rem;
}

.glance-v2-customer-help__subheading {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--glance-v2-accent);
}

.glance-v2-customer-help__subheading:not(:first-child) {
  margin-top: 1rem;
}

.glance-v2-customer-help__text {
  margin: 0 0 0.65rem;
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.55;
}

.glance-v2-customer-help__steps {
  margin: 0;
  padding-left: 1.2rem;
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.55;
}

.glance-v2-customer-help__steps li + li {
  margin-top: 0.45rem;
}

.glance-v2-customer-help__callout {
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.8125rem;
}

/* GLANCE v2 — customer portal list / detail / form pages */

.glance-v2-customer-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1.25rem 2rem;
}

.glance-v2-customer-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 1rem;
  align-items: start;
}

.glance-v2-customer-page__main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.glance-v2-customer-page__aside {
  min-width: 0;
}

.glance-v2-customer-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr);
  gap: 1rem;
  align-items: start;
}

.glance-v2-customer-detail-layout__rail {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.glance-v2-customer-detail-header {
  margin-bottom: 0.25rem;
}

.glance-v2-customer-detail-header__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-customer-detail-header__meta {
  margin: 0.35rem 0 0;
  color: #64748b;
  font-size: 0.875rem;
  line-height: 1.45;
}

.glance-v2-customer-detail-header__meta + .glance-v2-customer-detail-header__meta {
  margin-top: 0.15rem;
}

.glance-v2-customer-alert__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
}

.glance-v2-customer-alert__text {
  margin: 0.35rem 0 0;
  line-height: 1.45;
}

.glance-v2-customer-page .pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #64748b;
  font-size: 0.8125rem;
}

.glance-v2-customer-page .pager a {
  color: var(--glance-v2-accent-dark);
  font-weight: 500;
  text-decoration: none;
}

.glance-v2-customer-page .pager a:hover {
  color: var(--glance-v2-accent);
  text-decoration: underline;
}

.glance-v2-customer-page .pager li.disabled a {
  color: #94a3b8;
  pointer-events: none;
}

.glance-v2-customer-table tbody tr.glance-v2-customer-table__row--clickable {
  cursor: pointer;
}

.glance-v2-customer-table tbody tr.glance-v2-customer-table__row--clickable:hover td {
  background: rgba(0, 163, 152, 0.06);
}

.glance-v2-customer-table__row--danger td {
  background: #fef2f2 !important;
}

.glance-v2-customer-table__row--warn td {
  background: #fffbeb !important;
}

.glance-v2-customer-filter__form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 0.65rem;
}

.glance-v2-customer-filter__check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  color: var(--glance-v2-ink);
  font-size: 0.875rem;
  cursor: pointer;
}

.glance-v2-customer-filter__dates {
  margin: 0;
  padding: 0;
  border: 0;
}

.glance-v2-customer-filter__legend {
  margin: 0 0 0.5rem;
  padding: 0;
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.glance-v2-customer-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.55rem;
}

.glance-v2-customer-field__label {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 600;
}

.glance-v2-customer-field__input {
  width: 100%;
  padding: 0.45rem 0.6rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: var(--glance-v2-ink);
  font-size: 0.875rem;
}

.glance-v2-customer-field__input:focus {
  border-color: var(--glance-v2-accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 163, 152, 0.15);
}

.glance-v2-customer-filter__submit {
  width: 100%;
}

.glance-v2-customer-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.glance-v2-customer-inline-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.65rem;
}

.glance-v2-customer-inline-filters .glance-v2-customer-field {
  margin-bottom: 0;
  min-width: 10rem;
}

.glance-v2-customer-inline-filters__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.glance-v2-customer-summary__download {
  width: 100%;
  text-align: center;
}

.glance-v2-customer-balance-card__actions--single {
  grid-template-columns: 1fr;
}

.glance-v2-customer-line-items {
  overflow-x: auto;
}

.glance-v2-customer-line-items .table {
  width: 100%;
  margin-bottom: 0.75rem;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.glance-v2-customer-line-items .table thead th {
  padding: 0.5rem 0.55rem;
  border-bottom: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: bottom;
}

.glance-v2-customer-line-items .table tbody td,
.glance-v2-customer-line-items .table tfoot td {
  padding: 0.55rem;
  border-bottom: 1px solid #eef2f6;
  vertical-align: top;
}

.glance-v2-customer-line-items .table tfoot.total td {
  font-weight: 700;
  border-top: 2px solid #e2e8f0;
}

.glance-v2-customer-payment-split {
  margin: 1rem 0;
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.glance-v2-customer-stripe-card {
  margin-top: 0.5rem;
}

.glance-v2-customer-stripe-card .form-group {
  margin-bottom: 0.85rem;
}

.glance-v2-customer-stripe-card label {
  color: #475569;
  font-size: 0.8125rem;
  font-weight: 600;
}

.glance-v2-customer-stripe-card .form-control,
.glance-v2-customer-stripe-card #card-element {
  border-radius: 8px;
}

.glance-v2-customer-stripe-card #submit-payment,
.glance-v2-customer-stripe-card .ec-button-teal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 1rem;
  border: 0;
  border-radius: 8px;
  background: var(--glance-v2-accent);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
}

.glance-v2-customer-page__section-title {
  margin: 0 0 0.65rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-customer-page__section-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.65rem;
}

.glance-v2-customer-page__footnote {
  margin: 1rem 0 0;
  color: #64748b;
  font-size: 0.875rem;
  line-height: 1.45;
}

.glance-v2-customer-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.glance-v2-customer-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.glance-v2-customer-stat {
  padding: 0.85rem;
  border-radius: 10px;
  background: #f8fafc;
  text-align: center;
}

.glance-v2-customer-stat__value {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
}

.glance-v2-customer-stat__label {
  margin: 0.35rem 0 0;
  color: #64748b;
  font-size: 0.75rem;
  line-height: 1.35;
}

.glance-v2-customer-embedded-legacy .ec-box-white,
.glance-v2-customer-embedded-legacy .ec-wa-box-white-border,
.glance-v2-customer-embedded-legacy .ec-box-border-only {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table thead th {
  padding: 0.5rem 0.55rem;
  border-bottom: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table tbody td,
body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table tfoot td {
  padding: 0.55rem;
  border-bottom: 1px solid #eef2f6;
}

.glance-v2-customer-card .form-control {
  border-radius: 8px;
  border-color: #cbd5e1;
  font-size: 0.875rem;
}

.glance-v2-customer-card .ec-button-teal,
.glance-v2-customer-card .ec-button-teal-border {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.9rem;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}

.glance-v2-customer-card .ec-button-teal {
  background: var(--glance-v2-accent);
  border-color: var(--glance-v2-accent);
  color: #fff;
}

.glance-v2-customer-card .ec-button-teal-border {
  background: #fff;
  border: 1px solid var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-customer-table--compact tbody td {
  padding: 0.4rem 0.55rem;
  font-size: 0.8125rem;
}

@media (max-width: 991px) {
  .glance-v2-customer-dashboard__layout {
    grid-template-columns: 1fr;
  }

  .glance-v2-customer-card__header--split {
    flex-direction: column;
  }

  .glance-v2-customer-account-grid {
    grid-template-columns: 1fr;
  }

  .glance-v2-customer-schedule__row {
    grid-template-columns: 1fr;
  }

  .glance-v2-customer-page__layout,
  .glance-v2-customer-detail-layout {
    grid-template-columns: 1fr;
  }

  .glance-v2-customer-detail-layout__rail {
    order: -1;
  }

  .glance-v2-customer-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .glance-v2-customer-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* GLANCE v2 — Flask-Admin list pages (toolbar, filters, tables)
   Use #content.ec-admin so these beat legacy #content.ec-admin list rules. */

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav-title {
  margin: 0 0 0.65rem;
  padding: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav-title h1.list-page-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.01em;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav-title h1.list-page-title .count {
  color: #64748b;
  font-weight: 500;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav {
  clear: both;
  margin-bottom: 0.75rem;
  padding: 0.65rem 0.85rem;
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.06);
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav {
  align-items: center;
  background: transparent;
  gap: 0.45rem;
  margin: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li {
  margin-right: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li > a,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li.dropdown > a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.8rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: var(--glance-v2-ink);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none !important;
  white-space: nowrap;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li > a:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li > a:focus,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li.dropdown > a:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li.dropdown > a:focus {
  background: var(--glance-v2-accent-soft);
  border-color: rgba(0, 163, 152, 0.35);
  color: var(--glance-v2-accent-dark);
  text-decoration: none !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create > a {
  background: var(--glance-v2-accent);
  border-color: var(--glance-v2-accent);
  color: #fff;
  font-weight: 600;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create > a:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav li.create > a:focus {
  background: var(--glance-v2-accent-dark);
  border-color: var(--glance-v2-accent-dark);
  color: #fff;
}

body.glance-v2 #content.glance-v2-content.ec-admin ul.nav-tabs.actions-nav li.active > a {
  background: var(--glance-v2-accent-soft);
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
  font-weight: 600;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(20, 53, 60, 0.12);
  padding: 0.35rem 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu .dropdown-item,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu > li > a {
  font-size: 0.8125rem;
  color: #334155;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu .dropdown-item:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu > li > a:hover {
  background: var(--glance-v2-accent-soft);
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content.ec-admin ul.dropdown-menu.field-filters li:hover {
  background: var(--glance-v2-accent-soft);
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search .form-inline {
  gap: 0.45rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search i.fa-search {
  color: #94a3b8;
  font-size: 0.875rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search input,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search input[type="text"] {
  min-width: 11rem;
  height: auto;
  padding: 0.42rem 0.75rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: var(--glance-v2-ink);
  font-size: 0.8125rem;
  box-shadow: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search input:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search input:focus {
  border-color: var(--glance-v2-accent);
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft);
  outline: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter {
  clear: both;
  margin: 0 0 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.04);
}

/* Filter form shell is always in DOM for JS; hide the empty card until a filter row exists */

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter:not(:has(table.filters tr)) {
  display: none;
  margin: 0;
  padding: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form {
  margin-left: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td a {
  color: var(--glance-v2-accent-dark);
  font-weight: 500;
  text-decoration: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td a:hover {
  color: var(--glance-v2-accent);
  text-decoration: underline;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters input.filter-val {
  padding: 0.35rem 0.55rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 0.8125rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters input.filter-val:focus {
  border-color: var(--glance-v2-accent);
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft);
  outline: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .select2-choice {
  border-color: #cbd5e1 !important;
  border-radius: 8px !important;
  min-height: 34px;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter {
  color: #64748b;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter:hover {
  color: #dc2626;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form .ec-text-link {
  display: inline-block;
  margin: 0.65rem 0 0;
  color: var(--glance-v2-accent-dark);
  font-size: 0.8125rem;
  font-weight: 500;
}

/* Flask-Admin active filters — flex rows so segments touch (table cell padding caused gaps) */

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tbody {
  display: block;
  width: auto;
  max-width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0.5rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr:last-child {
  margin-bottom: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td {
  display: block;
  padding: 0 !important;
  width: auto !important;
  vertical-align: middle;
  flex: 0 0 auto;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child {
  flex: 1 1 auto;
  min-width: 9rem;
  max-width: 22rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter {
  align-items: center;
  display: inline-flex;
  gap: 0.35rem;
  width: auto !important;
  min-height: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid #cbd5e1 !important;
  border-right: 0 !important;
  border-radius: 8px 0 0 8px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  color: #475569 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter .close-icon {
  color: #94a3b8;
  font-size: 1.1rem;
  line-height: 1;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter:hover {
  background: #fee2e2 !important;
  border-color: #fecaca !important;
  color: #b91c1c !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter:hover .close-icon {
  color: #b91c1c;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container {
  margin: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:nth-child(2) .select2-container {
  width: 6.75rem !important;
  min-width: 6.75rem !important;
  max-width: 6.75rem !important;
  margin-left: -1px !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child .select2-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-left: -1px !important;
}

/* Override legacy admin fixed widths inside the v2 filter bar */

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child select.filter-val {
  width: 100% !important;
  max-width: none !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  min-height: 2.5rem !important;
  height: 2.5rem !important;
  margin-bottom: 0 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  line-height: 1.25 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:nth-child(2) .select2-selection--single {
  border-left: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child .select2-selection--single,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td:last-child select.filter-val {
  border-radius: 0 8px 8px 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single .select2-selection__rendered,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  padding-left: 0.65rem !important;
  padding-right: 1.75rem !important;
  color: #334155 !important;
  font-size: 0.8125rem !important;
  line-height: 1.25 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single .select2-selection__arrow,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0 !important;
  right: 0 !important;
  width: 1.75rem !important;
  height: 100% !important;
  min-height: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single .select2-selection__arrow b,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #64748b transparent transparent transparent;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #64748b transparent;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .select2-choice .select2-arrow {
  background: transparent !important;
  background-image: none !important;
  border-left: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters input.filter-val {
  height: 2.5rem !important;
  border-radius: 0 8px 8px 0 !important;
  border-left: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  min-height: 2.5rem !important;
  height: auto !important;
  margin-bottom: 0 !important;
  padding: 0.2rem 0.4rem !important;
  border: 1px solid #cbd5e1 !important;
  border-left: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-selection__rendered,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.25rem;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-search--inline,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline {
  float: none !important;
  margin: 0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field {
  height: 1.5rem !important;
  margin: 0 !important;
  min-width: 2.5rem !important;
  padding: 0 0.15rem !important;
  font-size: 0.8125rem !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-selection__choice,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  height: 1.65rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(0, 163, 152, 0.35) !important;
  border-radius: 6px !important;
  background: var(--glance-v2-accent-soft) !important;
  line-height: 1 !important;
  overflow: hidden;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-selection__choice__display,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__display {
  padding: 0 0.5rem 0 0.35rem !important;
  color: var(--glance-v2-accent-dark) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-selection__choice__remove,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 0.4rem !important;
  border: none !important;
  border-right: 1px solid rgba(0, 163, 152, 0.25) !important;
  border-radius: 6px 0 0 6px !important;
  background: transparent !important;
  color: var(--glance-v2-accent-dark) !important;
  font-weight: 700 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple .select2-selection__choice__remove:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover {
  background: rgba(0, 163, 152, 0.12) !important;
  color: #0f766e !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--open,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--focus {
  position: relative;
  z-index: 2;
}

body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--open .select2-selection--single,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--open .select2-selection--multiple,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--focus .select2-selection--single,
body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--focus .select2-selection--multiple {
  border-color: var(--glance-v2-accent) !important;
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft) !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .table-responsive {
  margin-bottom: 0.75rem;
  padding: 0.75rem 1rem 1rem;
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.06);
  overflow: auto;
}

body.glance-v2 #content.glance-v2-content.ec-admin .table-responsive > table.model-list {
  box-shadow: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table {
  margin-bottom: 0;
  border: none;
  font-size: 0.8125rem;
  background: transparent;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-bordered > thead > tr > th,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-bordered > tbody > tr > td {
  border-color: #eef2f6;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.table > thead > tr > th,
body.glance-v2 #content.glance-v2-content.ec-admin table.table > tbody > tr > td,
body.glance-v2 #content.glance-v2-content.ec-admin table.table > tfoot > tr > th,
body.glance-v2 #content.glance-v2-content.ec-admin table.table > tfoot > tr > td {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list thead th {
  background: #f1f5f9;
  border-top: none;
  border-bottom: 1px solid #e2e8f0;
  color: var(--glance-v2-ink);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.5rem 0.75rem;
  vertical-align: middle;
  white-space: normal;
  line-height: 1.2;
  overflow-wrap: break-word;
  word-break: normal;
  -webkit-hyphens: none;
          hyphens: none;
}

.glance-v2-cell-truncate {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.col-full_address,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.col-full_address {
  width: 1%;
  max-width: 8.5rem;
  white-space: nowrap;
  line-height: 1.2;
  vertical-align: middle;
  overflow: hidden;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list thead th.list-checkbox-column,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-checkbox-column,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list thead th.col-list-buttons-column,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column {
  width: 1% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  white-space: nowrap;
  vertical-align: middle;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column a.icon,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column button.icon,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column form.icon {
  display: inline-block;
  margin-left: 0;
  margin-right: 0.35rem;
  vertical-align: middle;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column a.icon:last-child,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column button.icon:last-child,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td.list-buttons-column form.icon:last-child {
  margin-right: 0;
}

/* Compact count / status columns so more fit at ~1440px */

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th[class*="_count"],
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td[class*="_count"],
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th[class$="_charger_html"],
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td[class$="_charger_html"],
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.col-is_activation_date_verified,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.col-is_activation_date_verified,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.col-public_charge_activated,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.col-public_charge_activated {
  width: 1%;
  max-width: 6.5rem;
  min-width: 3.5rem;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  text-align: center;
  vertical-align: middle;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th[class*="_count"] a,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th[class$="_charger_html"] a {
  display: inline-block;
  max-width: 100%;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.col-last_reimbursement,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.col-last_reimbursement,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.col-site_activation_date,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.col-site_activation_date {
  width: 1%;
  max-width: 7rem;
  text-align: center;
  white-space: normal;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td[class*="_count"],
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td[class$="_charger_html"] {
  white-space: nowrap;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list thead th a {
  color: var(--glance-v2-ink);
  text-decoration: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list thead th a:hover {
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td {
  color: #334155;
  padding: 0.5rem 0.75rem;
  vertical-align: middle;
  line-height: 1.2;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-striped > tbody > tr:nth-of-type(odd) > td {
  background: #fff;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-striped > tbody > tr:nth-of-type(even) > td {
  background: #f1f5f9;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr:hover {
  background-color: transparent !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr:hover > td {
  background: rgba(0, 163, 152, 0.08) !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list > tbody > tr.out-of-service-warning > td,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr.out-of-service-warning:hover > td {
  background: #fff9e5 !important;
  color: #334155;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody tr.deleted-row > td {
  background: #fef2f2 !important;
  color: #94a3b8;
}

/* GLANCE v2 — admin list column visibility (see glance_v2_list_responsive.py) */

@media (max-width: 991px) {
  body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.glance-v2-col-hide-md,
  body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.glance-v2-col-hide-md {
    display: none;
  }
}

@media (max-width: 767px) {
  body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.glance-v2-col-hide-sm,
  body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.glance-v2-col-hide-sm {
    display: none;
  }
}

@media (max-width: 575px) {
  body.glance-v2 #content.glance-v2-content.ec-admin table.model-list th.glance-v2-col-hide-xs,
  body.glance-v2 #content.glance-v2-content.ec-admin table.model-list td.glance-v2-col-hide-xs {
    display: none;
  }
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline, rgba(0, 163, 152, 0.45));
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent);
  text-decoration-color: currentColor;
  outline: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list a.icon {
  color: #64748b;
}

body.glance-v2 #content.glance-v2-content.ec-admin table.model-list a.icon:hover {
  color: var(--glance-v2-accent);
}

/* Flask-admin list pagination (« < 1 2 3 > ») */

body.glance-v2 #content.glance-v2-content.ec-admin .pagination {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li:last-child {
  border: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0.35rem 0.55rem;
  border: none;
  border-radius: 6px;
  color: var(--glance-v2-accent-dark);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li > a:hover {
  background: var(--glance-v2-accent-soft);
  color: var(--glance-v2-accent);
  text-decoration: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li.active {
  background: transparent;
  border: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li.active > a,
body.glance-v2 #content.glance-v2-content.ec-admin .pagination li.active > a:hover {
  background: var(--glance-v2-accent);
  color: #fff;
  cursor: default;
  pointer-events: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pagination li.disabled > a,
body.glance-v2 #content.glance-v2-content.ec-admin .pagination li.disabled > a:hover {
  background: transparent;
  color: #94a3b8;
  opacity: 0.65;
  cursor: default;
  pointer-events: none;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .pagination li > a {
  color: var(--glance-v2-sidebar-icon);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .pagination li > a:hover {
  color: #fff;
}

select.glance-v2-select {
  color: var(--glance-v2-ink);
}

/* Prev/Next pager on detail tabs and custom lists */

body.glance-v2 #content.glance-v2-content.ec-admin .pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  color: var(--glance-v2-muted);
  font-size: 0.8125rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pager li {
  display: inline-flex;
  align-items: center;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pager li > a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--glance-v2-accent-dark);
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pager li > a:hover {
  background: var(--glance-v2-accent-soft);
  color: var(--glance-v2-accent);
  text-decoration: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .pager li.disabled > a,
body.glance-v2 #content.glance-v2-content.ec-admin .pager li.disabled > a:hover {
  background: transparent;
  color: #94a3b8;
  opacity: 0.65;
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

/* Dark mode — Flask-Admin lists, forms, detail pages, customer portal */

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .nav-tabs:not(.actions-nav) {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .breadcrumb-item,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .breadcrumb-item a {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .breadcrumb-item.active {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-btn--ghost {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-ink) !important;
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-pill {
  border-color: var(--glance-v2-border);
  background: var(--glance-v2-input-bg);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-network-stat {
  background: var(--glance-v2-surface-raised);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-state-bars__label {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-state-bars__track {
  background: var(--glance-v2-border);
}

/* Shared form controls */

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .form-control,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin input[type="text"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin input[type="search"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin input[type="email"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin input[type="number"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin input[type="password"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin input[type="date"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin select,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin textarea {
  background: var(--glance-v2-input-bg);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content label,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .admin-form label,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .control-label,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .col-form-label {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .select2-container--bootstrap4 .select2-selection,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .select2-container .select2-selection--single,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .select2-container .select2-selection--multiple {
  background: var(--glance-v2-input-bg) !important;
  border-color: var(--glance-v2-border) !important;
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .select2-container .select2-selection__rendered {
  color: var(--glance-v2-ink) !important;
}

/* Flask-Admin list toolbar + filters */

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav-title h1.list-page-title .count {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .table-responsive {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li > a,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav > li.dropdown > a {
  border-color: var(--glance-v2-border);
  background: var(--glance-v2-input-bg);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu .dropdown-item,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav .dropdown-menu > li > a {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search input,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-search input[type="text"],
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters input.filter-val {
  background: var(--glance-v2-input-bg);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter {
  background: var(--glance-v2-surface-raised) !important;
  border-color: var(--glance-v2-border) !important;
  color: var(--glance-v2-muted) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter:hover {
  background: rgba(248, 113, 113, 0.15) !important;
  border-color: rgba(248, 113, 113, 0.35) !important;
  color: #fca5a5 !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters .remove-filter:hover .close-icon {
  color: #fca5a5;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--single,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--multiple,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--multiple {
  background: var(--glance-v2-input-bg) !important;
  border-color: var(--glance-v2-border) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single .select2-selection__rendered,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  color: var(--glance-v2-ink) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container .select2-selection--single .select2-selection__arrow b,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--glance-v2-muted) transparent transparent transparent;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--glance-v2-muted) transparent;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple {
  background: var(--glance-v2-input-bg) !important;
  border-color: var(--glance-v2-border) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  color: var(--glance-v2-ink) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice {
  background: var(--glance-v2-accent-soft) !important;
  border-color: rgba(0, 255, 193, 0.3) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__display,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__display [class*="tag-color-"] {
  color: var(--glance-v2-accent-bright) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__remove {
  border-right-color: rgba(0, 255, 193, 0.25) !important;
  color: var(--glance-v2-accent-bright) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container .select2-selection--multiple .select2-selection__choice__remove:hover {
  background: rgba(0, 255, 193, 0.12) !important;
  color: var(--glance-v2-accent-bright) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags .select2-container.select2-container--disabled .select2-selection--multiple .select2-selection__choice {
  opacity: 0.72;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags #save-tags {
  color: #86efac;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tags #cancel-tag-changes {
  color: #fca5a5;
}

/* Flask-Admin list tables */

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-bordered > thead > tr > th,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-bordered > tbody > tr > td {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list thead th {
  background: var(--glance-v2-surface-raised);
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody td {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-striped > tbody > tr:nth-of-type(odd) > td {
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-striped > tbody > tr:nth-of-type(even) > td {
  background: var(--glance-v2-row-stripe);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody tr.deleted-row > td {
  background: rgba(248, 113, 113, 0.1) !important;
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr:hover {
  background-color: transparent !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr:hover > td {
  background: var(--glance-v2-accent-soft) !important;
  color: var(--glance-v2-ink) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list > tbody > tr.out-of-service-warning > td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr.out-of-service-warning:hover > td {
  background: rgba(251, 191, 36, 0.14) !important;
  color: var(--glance-v2-ink) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody tr.out-of-service-warning .ec-grey,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr:hover .ec-grey {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list.table-hover > tbody > tr:hover a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-accent-bright);
}

/* Admin detail / site pages */

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-card,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .glance-v2-detail-section,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .row,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .col-sm-12,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body > .container-fluid,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-header {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table thead th,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table thead th {
  background: var(--glance-v2-surface-raised);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tfoot td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table tbody td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table tfoot td {
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table.table-striped > tbody > tr:nth-of-type(odd) > td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table.table-striped > tbody > tr:nth-of-type(odd) > td {
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table.table-striped > tbody > tr:nth-of-type(even) > td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table.table-striped > tbody > tr:nth-of-type(even) > td {
  background: var(--glance-v2-row-stripe);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table.table-hover > tbody > tr:hover > td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table.table-hover > tbody > tr:hover > td {
  background: var(--glance-v2-accent-soft) !important;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link),
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link),
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-accent-bright);
  text-decoration-color: rgba(0, 255, 193, 0.35);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .glance-v2-site-tabs-section table.table tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: #fff;
  text-decoration-color: currentColor;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):hover,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin table.model-list tbody a:not(.icon):not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-action-list__item a {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-action-list__item a:hover,
html.glance-v2-theme-dark .glance-v2-action-list__item a:focus-visible {
  color: #fff;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-detail-body table.table tbody tr.deleted-row > td,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail table.table tbody tr.deleted-row > td {
  background: rgba(248, 113, 113, 0.1) !important;
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-tabs-section .tab-content {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-panel {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-panel__body {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-nav {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-nav__group {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-nav-mobile__select {
  border-color: var(--glance-v2-border);
  background-color: var(--glance-v2-card);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

html.glance-v2-theme-dark .glance-v2-site-timeline__item:not(:last-child)::before {
  background: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-site-timeline__dot {
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark .glance-v2-site-timeline__meta,
html.glance-v2-theme-dark .glance-v2-site-timeline__date {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-site-alert--warn {
  background: rgba(251, 146, 60, 0.12);
  border-color: rgba(251, 146, 60, 0.35);
  color: #fdba74;
}

html.glance-v2-theme-dark .glance-v2-site-alert--critical {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fca5a5;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .ec-bool-status--yes {
  background: rgba(34, 197, 94, 0.18);
  color: #86efac;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .ec-bool-status--no {
  background: rgba(248, 113, 113, 0.18);
  color: #fca5a5;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .ec-bool-status--empty {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-site-detail .ec-bool-status--active {
  background: rgba(0, 255, 193, 0.12);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .glance-v2-site-back,
html.glance-v2-theme-dark .glance-v2-site-btn--ghost {
  background: var(--glance-v2-input-bg);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-site-btn--danger {
  background: rgba(248, 113, 113, 0.1);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-site-btn--danger:hover {
  background: rgba(248, 113, 113, 0.18);
  border-color: rgba(248, 113, 113, 0.5);
  color: #fecaca;
}

html.glance-v2-theme-dark .glance-v2-site-header__address {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-site-badge--muted,
html.glance-v2-theme-dark .glance-v2-site-badge--type {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-muted);
}

/* Customer portal */

html.glance-v2-theme-dark .glance-v2-customer-card,
html.glance-v2-theme-dark .glance-v2-customer-dashboard__subtitle,
html.glance-v2-theme-dark .glance-v2-customer-card__subtitle,
html.glance-v2-theme-dark .glance-v2-customer-card__footer,
html.glance-v2-theme-dark .glance-v2-customer-detail-header__meta,
html.glance-v2-theme-dark .glance-v2-customer-filter__legend,
html.glance-v2-theme-dark .glance-v2-customer-field__label,
html.glance-v2-theme-dark .glance-v2-customer-empty,
html.glance-v2-theme-dark .glance-v2-customer-help-link,
html.glance-v2-theme-dark .glance-v2-customer-page .pager {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-customer-card {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-customer-card__footer,
html.glance-v2-theme-dark .glance-v2-customer-card__links {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-customer-table thead th {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-customer-table tbody td {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-customer-table tbody tr:nth-child(even) td {
  background: var(--glance-v2-row-stripe);
}

html.glance-v2-theme-dark .glance-v2-customer-table__row--danger td {
  background: rgba(248, 113, 113, 0.1) !important;
}

html.glance-v2-theme-dark .glance-v2-customer-table__row--warn td {
  background: rgba(251, 191, 36, 0.1) !important;
}

html.glance-v2-theme-dark .glance-v2-customer-badge--unpaid {
  background: rgba(251, 146, 60, 0.2);
  color: #fdba74;
}

html.glance-v2-theme-dark .glance-v2-customer-badge--danger {
  background: rgba(248, 113, 113, 0.15);
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-customer-alert--danger {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

html.glance-v2-theme-dark .glance-v2-customer-text-warn {
  color: #fdba74;
}

html.glance-v2-theme-dark .glance-v2-customer-link--accent {
  color: #fdba74;
  text-decoration-color: rgba(253, 186, 116, 0.45);
}

html.glance-v2-theme-dark .glance-v2-customer-link--accent:hover,
html.glance-v2-theme-dark .glance-v2-customer-link--accent:focus-visible {
  color: #fb923c;
  text-decoration-color: currentColor;
}

html.glance-v2-theme-dark .glance-v2-customer-field__input,
html.glance-v2-theme-dark .glance-v2-customer-card .form-control {
  background: var(--glance-v2-input-bg);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

/* Dark mode — legacy EverCharge buttons (app-wide in GLANCE v2) */

html.glance-v2-theme-dark body.glance-v2 a.ec-button-teal-border,
html.glance-v2-theme-dark body.glance-v2 button.ec-button-teal-border,
html.glance-v2-theme-dark body.glance-v2 input.ec-button-teal-border,
html.glance-v2-theme-dark body.glance-v2 .export-report.ec-button-teal-border {
  background: var(--glance-v2-input-bg) !important;
  border-color: var(--glance-v2-accent-bright) !important;
  color: var(--glance-v2-accent-bright) !important;
  box-shadow: none !important;
}

html.glance-v2-theme-dark body.glance-v2 a.ec-button-teal-border:hover,
html.glance-v2-theme-dark body.glance-v2 button.ec-button-teal-border:hover,
html.glance-v2-theme-dark body.glance-v2 input.ec-button-teal-border:hover,
html.glance-v2-theme-dark body.glance-v2 .export-report.ec-button-teal-border:hover {
  background: rgba(0, 255, 193, 0.12) !important;
  border-color: var(--glance-v2-accent-bright) !important;
  color: #fff !important;
  box-shadow: none !important;
  text-decoration: none;
}

html.glance-v2-theme-dark body.glance-v2 .ec-button-teal,
html.glance-v2-theme-dark body.glance-v2 a.ec-button-teal,
html.glance-v2-theme-dark body.glance-v2 button.ec-button-teal,
html.glance-v2-theme-dark body.glance-v2 input[type="submit"].ec-button-teal,
html.glance-v2-theme-dark body.glance-v2 input[type="submit"]:not(.ec-button-teal-border):not(.cancel-button) {
  background: var(--glance-v2-accent) !important;
  border-color: var(--glance-v2-accent-bright) !important;
  color: #0b2a28 !important;
  box-shadow: none !important;
}

html.glance-v2-theme-dark body.glance-v2 .ec-button-teal:hover,
html.glance-v2-theme-dark body.glance-v2 a.ec-button-teal:hover,
html.glance-v2-theme-dark body.glance-v2 button.ec-button-teal:hover,
html.glance-v2-theme-dark body.glance-v2 input[type="submit"].ec-button-teal:hover,
html.glance-v2-theme-dark body.glance-v2 input[type="submit"]:not(.ec-button-teal-border):not(.cancel-button):hover {
  background: var(--glance-v2-accent-bright) !important;
  border-color: var(--glance-v2-accent-bright) !important;
  color: #0b2a28 !important;
  box-shadow: none !important;
}

html.glance-v2-theme-dark body.glance-v2 .ec-button-round-sm:not(.delete) {
  background-color: var(--glance-v2-accent);
  color: #0b2a28;
}

html.glance-v2-theme-dark body.glance-v2 .ec-button-round-sm:not(.delete):hover {
  background-color: var(--glance-v2-accent-bright);
  color: #0b2a28;
}

html.glance-v2-theme-dark body.glance-v2 a.ec-text-link,
html.glance-v2-theme-dark body.glance-v2 button.ec-text-link {
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2 a.ec-text-link:hover,
html.glance-v2-theme-dark body.glance-v2 button.ec-text-link:hover {
  color: #fff;
}

html.glance-v2-theme-dark body.glance-v2 .clear-filter,
html.glance-v2-theme-dark body.glance-v2 button.clear-filter {
  color: var(--glance-v2-accent-bright);
  background: transparent;
  border: 0;
}

html.glance-v2-theme-dark body.glance-v2 .clear-filter:hover,
html.glance-v2-theme-dark body.glance-v2 button.clear-filter:hover {
  color: #fff;
}

html.glance-v2-theme-dark .glance-v2-customer-card .ec-button-teal-border {
  background: var(--glance-v2-input-bg);
  border-color: var(--glance-v2-accent-bright);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table thead th {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table tbody td,
html.glance-v2-theme-dark body.glance-v2-customer-portal .glance-v2-customer-embedded-legacy .table tfoot td {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .glance-v2-customer-help__shortcut {
  border-color: var(--glance-v2-border);
  background: var(--glance-v2-input-bg);
}

html.glance-v2-theme-dark .glance-v2-customer-help__topic {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-customer-help__summary:hover {
  background: var(--glance-v2-surface-raised);
}

html.glance-v2-theme-dark .glance-v2-customer-help__text,
html.glance-v2-theme-dark .glance-v2-customer-help__steps {
  color: var(--glance-v2-muted);
}

/* Dark mode — header user + notification dropdowns */

html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu {
  background: var(--glance-v2-card);
  border: 1px solid var(--glance-v2-border);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
  padding: 0.35rem 0;
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu .dropdown-item,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu > li > a,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu button.dropdown-item {
  color: var(--glance-v2-ink);
  background: transparent;
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu .dropdown-item:hover,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu .dropdown-item:focus,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu > li > a:hover,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu > li > a:focus,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu button.dropdown-item:hover,
html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-menu button.dropdown-item:focus {
  background: var(--glance-v2-sidebar-hover-bg);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-divider {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-header .dropdown-toggle::after {
  border-top-color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-icon-btn {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-icon-btn:hover {
  background: var(--glance-v2-sidebar-hover-bg);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-user-chip:hover {
  background: var(--glance-v2-sidebar-hover-bg);
}

/* Dark mode — Fleetview / system statistics */

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .stat-overview {
  background: var(--glance-v2-card);
  border: 1px solid var(--glance-v2-border);
  border-top-width: 3px;
  border-top-color: var(--glance-v2-accent);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .ec-stats .ec-stats-box {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .ec-stats .ec-general-stats-box .header {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .ec-stats .ec-general-stats-box .header h3 {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark body.glance-v2 .glance-v2-content .ec-stats .table thead th {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .fleetview-header-btn--outline {
  border-color: var(--glance-v2-border);
  background: var(--glance-v2-input-bg);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .fleetview-header-btn--outline:hover {
  background: var(--glance-v2-accent-soft);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .fleetview-header-btn--primary:hover {
  background: var(--glance-v2-accent-bright);
  border-color: var(--glance-v2-accent-bright);
  color: #0f1a1d;
}

html.glance-v2-theme-dark .fleetview-header-actions .dropdown-menu {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .fleetview-header-actions .dropdown-item {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .fleetview-header-actions .dropdown-item.active {
  background: var(--glance-v2-accent-soft);
  color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .fleetview-kpi-card {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .fleetview-kpi-card:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

html.glance-v2-theme-dark .fleetview-kpi-card--alarm-active {
  background: rgba(248, 113, 113, 0.1);
  border-color: rgba(248, 113, 113, 0.35);
  border-top-color: #f87171;
}

html.glance-v2-theme-dark .fleetview-kpi-card--alarm-active .fleetview-kpi-card__value {
  color: #f87171;
}

html.glance-v2-theme-dark .fleetview-kpi-card__meta {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .fleetview-alarm-panel {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.08);
}

html.glance-v2-theme-dark .fleetview-alarm-panel__header {
  border-bottom-color: rgba(248, 113, 113, 0.25);
}

html.glance-v2-theme-dark .fleetview-alarm-panel__title {
  color: #f87171;
}

html.glance-v2-theme-dark .fleetview-alarm-panel__close:hover {
  background: rgba(248, 113, 113, 0.15);
  color: #fca5a5;
}

html.glance-v2-theme-dark .fleetview-alarm-table thead th {
  background: var(--glance-v2-surface-raised);
  border-bottom-color: rgba(248, 113, 113, 0.25);
}

html.glance-v2-theme-dark .fleetview-alarm-table tbody td {
  border-bottom-color: rgba(248, 113, 113, 0.15);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .fleetview-severity--critical {
  background: rgba(248, 113, 113, 0.2);
  color: #fca5a5;
}

html.glance-v2-theme-dark .fleetview-severity--warning {
  background: rgba(251, 146, 60, 0.2);
  color: #fdba74;
}

html.glance-v2-theme-dark .fleetview-severity--info {
  background: rgba(56, 189, 248, 0.15);
  color: #7dd3fc;
}

html.glance-v2-theme-dark .fleetview-status-dot {
  color: #f87171;
}

html.glance-v2-theme-dark .fleetview-alarm-panel__footer {
  border-top-color: rgba(248, 113, 113, 0.25);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .fleetview-charging,
html.glance-v2-theme-dark .fleetview-time-of-day {
  border-color: var(--glance-v2-border);
  background: var(--glance-v2-card);
}

html.glance-v2-theme-dark .fleetview-charging__hero {
  background: linear-gradient(180deg, var(--glance-v2-card) 0%, rgba(0, 163, 152, 0.12) 100%);
  border-right-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .fleetview-charging__hero-caption,
html.glance-v2-theme-dark .fleetview-time-of-day__legend {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .fleetview-charging-table thead th {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .fleetview-charging-table tbody td {
  border-bottom-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .fleetview-charging-table__row--active {
  background: var(--glance-v2-accent-soft);
}

html.glance-v2-theme-dark .fleetview-time-of-day__header {
  border-bottom-color: var(--glance-v2-border);
}

/* Dark mode — Select2 dropdowns (rendered on document.body) */

html.glance-v2-theme-dark .select2-dropdown {
  background: var(--glance-v2-card);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .select2-search--dropdown .select2-search__field {
  background: var(--glance-v2-input-bg);
  border-color: var(--glance-v2-border) !important;
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .select2-container--bootstrap4.select2-container--focus .select2-selection {
  border-color: var(--glance-v2-accent) !important;
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft) !important;
}

html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-dropdown {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above {
  border-top-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-results__option {
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-results__option[aria-selected="true"] {
  color: var(--glance-v2-ink);
  background-color: var(--glance-v2-surface-raised);
}

html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-results__option--highlighted,
html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected="true"] {
  color: #0f1a1d;
  background-color: var(--glance-v2-accent-bright);
}

html.glance-v2-theme-dark .select2-container--bootstrap4 .select2-results__group {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .select2-container--bootstrap4.select2-container--disabled .select2-selection,
html.glance-v2-theme-dark .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection {
  background-color: var(--glance-v2-surface-raised) !important;
  border-color: var(--glance-v2-border) !important;
}

html.glance-v2-theme-dark .select2-container--default .select2-results__option--selected {
  background-color: var(--glance-v2-surface-raised);
  color: var(--glance-v2-ink);
}

html.glance-v2-theme-dark .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--glance-v2-accent);
  color: #fff;
}

html.glance-v2-theme-dark .select2-container--default .select2-results__option--disabled {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .select2-container--default .select2-results__group {
  color: var(--glance-v2-muted);
}

/* GLANCE v2 — responsive layout (sm 576 / md 768 / lg 992 / xl 1200) */

@media (max-width: 1199px) {
  .glance-v2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .glance-v2-card--span-2 {
    grid-column: span 2;
  }

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

@media (max-width: 991px) {
  .glance-v2-app--sidebar-collapsed:not(.glance-v2-app--sidebar-peek) {
    --glance-v2-sidebar-w-active: var(--glance-v2-sidebar-w);
  }

  .glance-v2-sidebar {
    transform: translateX(-100%);
    transition: transform 0.2s ease, width 0.2s ease;
  }

  .glance-v2-sidebar.glance-v2-sidebar--open {
    transform: translateX(0);
  }

  .glance-v2-main {
    margin-left: 0;
  }

  .glance-v2-sidebar__collapse {
    display: none;
  }

  .glance-v2-grid {
    grid-template-columns: 1fr;
  }

  .glance-v2-card--span-2 {
    grid-column: span 1;
  }

  .glance-v2-header {
    gap: 0.65rem;
    padding: 0 1rem;
  }

  .glance-v2-header__actions {
    flex-shrink: 0;
  }

  .glance-v2-user-chip__name {
    display: none;
  }

  .glance-v2-story__headline {
    font-size: 1.2rem;
  }
}

@media (max-width: 767px) {
  .glance-v2-header {
    flex-wrap: wrap;
    height: auto;
    min-height: var(--glance-v2-header-h);
    padding: 0.65rem 0.85rem;
  }

  .glance-v2-header__left {
    flex: 1 1 auto;
    min-width: 0;
  }

  .glance-v2-header__title {
    font-size: 1.05rem;
  }

  .glance-v2-header__actions {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }

  .glance-v2-content {
    padding: 0.65rem 0.85rem 1rem;
  }

  .glance-v2-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
  }

  .glance-v2-footer__links {
    margin-left: 0;
    width: 100%;
    justify-content: flex-start;
  }

  .glance-v2-network-stats {
    grid-template-columns: 1fr;
  }

  .glance-v2-story {
    flex-direction: column;
    gap: 0.75rem;
  }

  .glance-v2-story__headline {
    font-size: 1.1rem;
  }

  .glance-v2-customer-dashboard-wrap,
  .glance-v2-customer-page {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }

  .glance-v2-customer-dashboard__title {
    font-size: 1.35rem;
  }

  .glance-v2-customer-balance-card__amount {
    font-size: 1.65rem;
  }

  .glance-v2-customer-inline-filters {
    flex-direction: column;
    align-items: stretch;
  }

  .glance-v2-customer-inline-filters .glance-v2-customer-field {
    min-width: 0;
    width: 100%;
  }

  body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav {
    padding: 0.55rem 0.65rem;
  }

  body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-actions-nav ul.nav-tabs.actions-nav {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters {
    display: block;
    width: 100%;
  }

  body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr,
  body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td {
    display: block;
    width: 100%;
  }

  body.glance-v2 #content.glance-v2-content.ec-admin .custom-list-filter #filter_form table.filters tr td {
    padding: 0.35rem 0;
  }

  .glance-v2-ec-header__title {
    font-size: 1.35rem;
  }

  .glance-v2-auth__header {
    padding: 0.85rem 1rem;
  }

  .glance-v2-auth__main {
    padding: 1.25rem 0.85rem 2rem;
  }
}

@media (max-width: 575px) {
  .glance-v2-header__version {
    display: none;
  }

  .glance-v2-customer-balance-card__actions {
    grid-template-columns: 1fr;
  }

  .glance-v2-customer-schedule__times {
    grid-template-columns: 1fr;
  }

  .glance-v2-metric-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .glance-v2-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .glance-v2-toolbar__filters {
    flex-wrap: wrap;
  }
}

/* Fleetview / system statistics inside GLANCE v2 */

body.glance-v2 .glance-v2-content .ec-stats.ec-stretch-lt-grey {
  background: transparent;
  margin: 0;
  padding: 0;
}

body.glance-v2 .glance-v2-content .stat-overview {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 140px;
  padding: 1.25rem 1rem;
  border-radius: 10px;
  background: var(--glance-v2-ink);
  border-top: 3px solid var(--glance-v2-accent);
  box-shadow: 0 2px 8px rgba(20, 53, 60, 0.12);
}

body.glance-v2 .glance-v2-content .stat-overview h1 {
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

body.glance-v2 .glance-v2-content .stat-overview p {
  margin-bottom: 0;
  color: #a8c9c5;
  font-size: 0.85rem;
}

body.glance-v2 .glance-v2-content .stat-overview.alarm {
  background: #a94442;
  border-top-color: #f97316;
}

body.glance-v2 .glance-v2-content .stat-overview.offline {
  background: #4a5f66;
  border-top-color: #94a3b8;
}

body.glance-v2 .glance-v2-content .ec-stats .ec-stats-box {
  border-radius: 10px;
  border-left: 4px solid var(--glance-v2-accent);
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.1);
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
}

body.glance-v2 .glance-v2-content .ec-stats .ec-stats-box h3 {
  color: var(--glance-v2-ink);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

body.glance-v2 .glance-v2-content .ec-stats .ec-general-stats-box {
  margin-bottom: 1.25rem;
}

body.glance-v2 .glance-v2-content .ec-stats .ec-general-stats-box .header {
  background: var(--glance-v2-ink);
  border-radius: 10px 10px 0 0;
  color: #fff;
}

body.glance-v2 .glance-v2-content .ec-stats .ec-general-stats-box .header h3 {
  color: #fff;
}

body.glance-v2 .glance-v2-content .ec-stats .table thead th {
  border-bottom-color: rgba(0, 163, 152, 0.25);
  color: var(--glance-v2-ink);
}

body.glance-v2 .glance-v2-content .ec-stats .table tbody td a:not(.glance-v2-link):not(.glance-v2-site-link) {
  color: var(--glance-v2-ink);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--glance-v2-link-underline, rgba(0, 163, 152, 0.45));
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

body.glance-v2 .glance-v2-content .ec-stats .table tbody td a:not(.glance-v2-link):not(.glance-v2-site-link):hover,
body.glance-v2 .glance-v2-content .ec-stats .table tbody td a:not(.glance-v2-link):not(.glance-v2-site-link):focus-visible {
  color: var(--glance-v2-accent);
  text-decoration-color: currentColor;
  outline: none;
}

/* Fleet Overview (GLANCE v2 fleet users) */

.fleetview-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.fleetview-header-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.fleetview-header-btn--outline {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
}

.fleetview-header-btn--outline:hover {
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
  background: #f8fffe;
}

.fleetview-header-btn--primary {
  border: 1px solid var(--glance-v2-accent);
  background: var(--glance-v2-accent);
  color: #fff;
}

.fleetview-header-btn--primary:hover {
  background: var(--glance-v2-accent-dark);
  border-color: var(--glance-v2-accent-dark);
}

.fleetview-header-btn--loading {
  opacity: 0.7;
  pointer-events: none;
}

.fleetview-header-actions .dropdown-item.active {
  background: #f0fdfa;
  color: var(--glance-v2-accent-dark);
  font-weight: 600;
}

.fleetview-overview {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.fleetview-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.85rem;
}

.fleetview-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-height: 118px;
  padding: 0.9rem 1rem 0.85rem;
  border: 1px solid #e2e8f0;
  border-top-width: 3px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  text-decoration: none !important;
  color: inherit;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.fleetview-kpi-card:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.fleetview-kpi-card--teal {
  border-top-color: var(--glance-v2-accent);
}

.fleetview-kpi-card--alarm {
  border-top-color: #f87171;
}

.fleetview-kpi-card--alarm-active {
  background: #fff5f5;
  border-color: #fecaca;
  border-top-color: #ef4444;
}

.fleetview-kpi-card--alarm-active .fleetview-kpi-card__value {
  color: #dc2626;
}

.fleetview-kpi-card--offline {
  border-top-color: #94a3b8;
}

.fleetview-kpi-card--offline-active {
  border-top-color: #64748b;
}

.fleetview-kpi-card__label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--glance-v2-accent-dark);
}

.fleetview-kpi-card__value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--glance-v2-ink);
}

.fleetview-kpi-card__meta {
  font-size: 0.78rem;
  color: #64748b;
}

.fleetview-alarm-panel {
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fff7f7;
  overflow: hidden;
}

.fleetview-alarm-panel--dismissed {
  display: none;
}

.fleetview-alarm-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #fecaca;
}

.fleetview-alarm-panel__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #dc2626;
}

.fleetview-alarm-panel__title h2 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}

.fleetview-alarm-panel__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
}

.fleetview-alarm-panel__close:hover {
  background: rgba(220, 38, 38, 0.08);
  color: #dc2626;
}

.fleetview-alarm-panel__table-wrap {
  overflow-x: auto;
}

.fleetview-alarm-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.fleetview-alarm-table thead th {
  padding: 0.65rem 1rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
  color: var(--glance-v2-accent-dark);
  background: #fff;
  border-bottom: 1px solid #fecaca;
  white-space: nowrap;
}

.fleetview-alarm-table tbody td {
  padding: 0.7rem 1rem;
  border-bottom: 1px solid #fee2e2;
  color: #334155;
  vertical-align: middle;
}

.fleetview-alarm-table tbody tr:last-child td {
  border-bottom: 0;
}

.fleetview-alarm-table a {
  color: var(--glance-v2-accent-dark);
  font-weight: 600;
  text-decoration: none;
}

.fleetview-alarm-table a:hover {
  text-decoration: underline;
}

.fleetview-severity {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.fleetview-severity--critical {
  background: #fee2e2;
  color: #b91c1c;
}

.fleetview-severity--warning {
  background: #ffedd5;
  color: #c2410c;
}

.fleetview-severity--info {
  background: #e0f2fe;
  color: #0369a1;
}

.fleetview-status-dot {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  color: #dc2626;
}

.fleetview-status-dot::before {
  content: '';
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: currentColor;
}

.fleetview-alarm-panel__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid #fecaca;
  font-size: 0.8rem;
  color: #64748b;
  /* Override legacy site footer (footer { height: 221px; background: #3c3c3c; }) */
  position: static !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  line-height: inherit;
}

.fleetview-alarm-panel__footer p {
  margin: 0;
}

.fleetview-alarm-panel__footer a {
  color: var(--glance-v2-accent-dark);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.fleetview-alarm-panel__footer a:hover {
  text-decoration: underline;
}

.fleetview-charging {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.fleetview-charging__header {
  padding: 0.9rem 1.1rem 0;
}

.fleetview-charging__header h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
}

.fleetview-charging__body {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 0;
}

.fleetview-charging__hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
  padding: 1.25rem 1.1rem;
  background: linear-gradient(180deg, #fff 0%, #f0fdfa 100%);
  border-right: 1px solid #e2e8f0;
}

.fleetview-charging__hero-label {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--glance-v2-accent-dark);
}

.fleetview-charging__hero h1 {
  margin: 0;
  font-size: 2.35rem;
  font-weight: 700;
  line-height: 1.05;
  color: var(--glance-v2-accent-dark);
}

.fleetview-charging__hero-caption {
  margin: 0;
  font-size: 0.78rem;
  color: #64748b;
}

.fleetview-charging__table-wrap {
  padding: 0.5rem 0.75rem 0.75rem;
}

.fleetview-charging-table {
  margin: 0;
  font-size: 0.8125rem;
}

.fleetview-charging-table thead th {
  padding: 0.55rem 0.75rem;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--glance-v2-accent-dark);
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
}

.fleetview-charging-table tbody td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid #f1f5f9;
  color: #334155;
}

.fleetview-charging-table tbody tr:last-child td {
  border-bottom: 0;
}

.fleetview-charging-table__row--active {
  background: #f0fdfa;
}

.fleetview-charging-table__row--active td {
  font-weight: 600;
}

.fleetview-time-of-day {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.fleetview-time-of-day__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1.1rem 0.75rem;
  border-bottom: 1px solid #f1f5f9;
}

.fleetview-time-of-day__header h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
}

.fleetview-time-of-day__legend {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  color: #64748b;
  white-space: nowrap;
}

.fleetview-time-of-day__legend-swatch {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 2px;
  background: #00A398;
}

.fleetview-time-of-day__chart {
  width: 100%;
  height: 300px;
}

.fleetview-time-of-day__chart .amcharts-chart-div {
  width: 100% !important;
}

@media (max-width: 1199px) {
  .fleetview-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .fleetview-header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

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

  .fleetview-charging__body {
    grid-template-columns: 1fr;
  }

  .fleetview-charging__hero {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }
}

@media (max-width: 575px) {
  .fleetview-kpi-grid {
    grid-template-columns: 1fr;
  }

  .fleetview-charging__hero h1 {
    font-size: 1.85rem;
  }

  .fleetview-alarm-panel__footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* -------------------------------------------------------------------------- */

/* GLANCE v2 — auth pages (login, etc.)                                       */

/* -------------------------------------------------------------------------- */

body.glance-v2-auth {
  font-family: 'Inter', 'Aeonik', ui-sans-serif, system-ui, sans-serif;
  background: var(--glance-v2-canvas);
}

.glance-v2-auth {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--glance-v2-canvas);
}

.glance-v2-auth__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  background: var(--glance-v2-sidebar-bg);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.glance-v2-auth__brand {
  display: inline-flex;
  align-items: center;
}

.glance-v2-auth__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem 3rem;
}

.glance-v2-auth-card {
  width: 100%;
  max-width: 420px;
}

/* HTTP error pages (404 / 500) in GLANCE v2 skin */

.glance-v2-error-card {
  padding: 2.5rem 2rem;
  border-radius: 12px;
  background: var(--glance-v2-card);
  box-shadow: 0 4px 24px rgba(20, 53, 60, 0.1);
  text-align: center;
}

.glance-v2-error-card__code {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--glance-v2-muted, #64748b);
}

.glance-v2-error-card__title {
  margin: 0 0 0.75rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-error-card__message {
  margin: 0 0 1.5rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--glance-v2-muted, #64748b);
}

.glance-v2-error-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.glance-v2-error-card__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0 1.25rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.glance-v2-error-card__btn--primary {
  background: var(--glance-v2-accent);
  color: #fff;
}

.glance-v2-error-card__btn--primary:hover {
  background: var(--glance-v2-accent-hover, #0d4a52);
  color: #fff;
  text-decoration: none;
}

.glance-v2-error-card__btn--ghost {
  border-color: #cbd5e1;
  background: #fff;
  color: var(--glance-v2-ink);
}

.glance-v2-error-card__btn--ghost:hover {
  border-color: #94a3b8;
  background: #f8fafc;
}

.glance-v2-auth-form__fields {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 2rem;
  border: 0;
  border-radius: 12px;
  background: var(--glance-v2-card);
  box-shadow: 0 4px 24px rgba(20, 53, 60, 0.1);
}

.glance-v2-auth-form__title {
  margin: 0 0 0.25rem;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--glance-v2-accent);
  letter-spacing: -0.02em;
}

.glance-v2-auth-input {
  box-sizing: border-box;
  width: 100%;
  height: 3rem;
  padding: 0 1rem;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: var(--glance-v2-ink);
  font-size: 1rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.glance-v2-auth-input:focus {
  outline: none;
  border-color: var(--glance-v2-accent);
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft);
}

.glance-v2-auth-input.border-red-500 {
  border-color: #ef4444;
}

.glance-v2-auth-form__error {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: #ef4444;
}

.glance-v2-auth-form__error--block {
  padding: 0.65rem 0.85rem;
  border-radius: 8px;
  background: #fef2f2;
}

.glance-v2-auth-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 8px;
  background: var(--glance-v2-accent);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s ease;
}

.glance-v2-auth-btn:hover:not(:disabled) {
  background: var(--glance-v2-accent-dark);
}

.glance-v2-auth-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--glance-v2-accent-soft);
}

.glance-v2-auth-btn:disabled {
  opacity: 0.85;
  cursor: wait;
}

.glance-v2-auth-btn .ec-loading-indicator {
  width: 24px;
  height: 24px;
  margin: 0;
  border-width: 3px;
}

.glance-v2-auth-form__links {
  margin: 0;
  text-align: center;
  font-size: 0.875rem;
}

.glance-v2-auth-form__links a,
.glance-v2-auth-form__signup a {
  color: var(--glance-v2-accent);
  font-weight: 500;
  text-decoration: none;
}

.glance-v2-auth-form__links a:hover,
.glance-v2-auth-form__signup a:hover {
  color: var(--glance-v2-accent-dark);
  text-decoration: underline;
}

.glance-v2-auth-form__signup {
  margin: 0;
  text-align: center;
  font-size: 0.875rem;
  color: #64748b;
}

.glance-v2-auth-form__divider {
  width: 100%;
  margin: 0.25rem 0;
  border: 0;
  border-top: 1px solid #e2e8f0;
}

.glance-v2-auth-oauth {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.glance-v2-auth-oauth--google {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: var(--glance-v2-ink);
}

.glance-v2-auth-oauth--google:hover {
  background: #f8fafc;
  color: var(--glance-v2-ink);
  text-decoration: none;
}

.glance-v2-auth-oauth--apple {
  border: 1px solid #000;
  background: #000;
  color: #fff;
}

.glance-v2-auth-oauth--apple:hover {
  background: #1a1a1a;
  color: #fff;
  text-decoration: none;
}

.glance-v2-auth-oauth__icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.glance-v2-auth__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  padding: 0.85rem 1.5rem;
  border-top: 1px solid #e2e8f0;
  background: var(--glance-v2-card);
  color: #64748b;
  font-size: 0.8rem;
}

.glance-v2-auth__footer-links {
  display: flex;
  gap: 1rem;
}

.glance-v2-auth__footer-links a {
  color: var(--glance-v2-accent);
  text-decoration: none;
}

.glance-v2-auth__footer-links a:hover {
  text-decoration: underline;
}

.glance-v2-auth-modal-backdrop {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(20, 53, 60, 0.45) !important;
}

.glance-v2-auth-modal {
  width: 100%;
  max-width: 24rem;
  padding: 1.5rem;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(20, 53, 60, 0.2);
}

.glance-v2-auth-modal__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--glance-v2-ink);
}

.glance-v2-auth-modal__text {
  margin: 0;
  color: #64748b;
  font-size: 0.95rem;
}

/* GLANCE v2 — EverConnect device detail */

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-ec-device {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.glance-v2-ec-device {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.glance-v2-ec-alert {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
}

.glance-v2-ec-alert--error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}

.glance-v2-ec-alert--success {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
}

.glance-v2-ec-header {
  background: var(--glance-v2-card);
  border: 1px solid var(--glance-v2-border);
  border-radius: 10px;
  padding: 1.15rem 1.35rem 1.25rem;
}

.glance-v2-ec-back {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
  color: var(--glance-v2-accent-dark);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}

.glance-v2-ec-back svg {
  width: 1rem;
  height: 1rem;
}

.glance-v2-ec-back:hover {
  color: var(--glance-v2-accent);
  text-decoration: underline;
}

.glance-v2-ec-header__main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.glance-v2-ec-header__title {
  margin: 0 0 0.35rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-ec-header__subtitle {
  margin: 0 0 0.75rem;
  color: var(--glance-v2-muted);
  font-size: 0.9rem;
}

.glance-v2-ec-header__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.glance-v2-ec-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}

.glance-v2-ec-badge--online {
  background: rgba(0, 163, 152, 0.12);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-ec-badge--offline {
  background: #fef2f2;
  color: #b91c1c;
}

.glance-v2-ec-badge--muted {
  background: #f1f5f9;
  color: #64748b;
}

.glance-v2-ec-badge__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--glance-v2-accent);
}

.glance-v2-ec-badge--offline .glance-v2-ec-badge__dot {
  background: #ef4444;
}

.glance-v2-ec-header__actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.glance-v2-ec-actions-dropdown {
  position: relative;
  display: inline-flex;
}

.glance-v2-ec-actions-dropdown__select {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.glance-v2-ec-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.glance-v2-ec-card {
  background: var(--glance-v2-card);
  border: 1px solid var(--glance-v2-border);
  border-radius: 10px;
  padding: 1rem 1.15rem 1.1rem;
  min-height: 0;
}

.glance-v2-ec-card--logs {
  grid-column: 1 / -1;
}

.glance-v2-ec-card__header {
  margin-bottom: 0.85rem;
}

.glance-v2-ec-card__header--split {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.glance-v2-ec-card__title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--glance-v2-accent);
}

.glance-v2-ec-card__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--glance-v2-accent);
  flex-shrink: 0;
}

.glance-v2-ec-card__utc {
  margin-left: 0.35rem;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.glance-v2-ec-card__loader {
  margin-left: 0.35rem;
}

.glance-v2-ec-fields {
  display: grid;
  gap: 0.65rem;
  margin: 0;
}

.glance-v2-ec-fields--stacked {
  gap: 0.75rem;
}

.glance-v2-ec-fields__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 0.75rem;
  align-items: baseline;
}

.glance-v2-ec-fields__item dt {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--glance-v2-accent);
}

.glance-v2-ec-fields__item dd {
  margin: 0;
  text-align: right;
  color: var(--glance-v2-ink);
  font-size: 0.875rem;
  word-break: break-word;
}

.glance-v2-ec-fields__value {
  text-align: right;
}

.glance-v2-ec-link {
  color: var(--glance-v2-accent-dark);
  font-weight: 500;
  text-decoration: none;
}

.glance-v2-ec-link:hover {
  color: var(--glance-v2-accent);
  text-decoration: underline;
}

.glance-v2-ec-interfaces {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.glance-v2-ec-interface__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.glance-v2-ec-interface__name {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.glance-v2-ec-interface__badge {
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.glance-v2-ec-interface__badge--active {
  background: rgba(0, 163, 152, 0.12);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-ec-interface__badge--inactive {
  background: #f1f5f9;
  color: #64748b;
}

.glance-v2-ec-interface__ip {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--glance-v2-ink);
}

.glance-v2-ec-interface__empty,
.glance-v2-ec-interface__uptime {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  color: var(--glance-v2-muted);
}

.glance-v2-ec-card--led .glance-v2-ec-led__body {
  display: flex;
  justify-content: center;
  padding: 0.5rem 0 0.25rem;
}

.glance-v2-ec-led__pattern {
  margin: 0.75rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--glance-v2-border);
  color: var(--glance-v2-accent-dark);
  font-size: 0.82rem;
  font-weight: 600;
  text-align: center;
}

.glance-v2-ec-neighbor__host {
  margin: 0 0 0.5rem;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
  letter-spacing: -0.02em;
}

.glance-v2-ec-neighbor__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.glance-v2-ec-neighbor__meta {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--glance-v2-border);
}

.glance-v2-ec-neighbor__meta div {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 0.5rem;
  font-size: 0.82rem;
}

.glance-v2-ec-neighbor__meta dt {
  margin: 0;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
}

.glance-v2-ec-neighbor__meta dd {
  margin: 0;
  color: var(--glance-v2-ink);
}

.glance-v2-ec-firmware-ok {
  color: var(--glance-v2-accent-dark);
  font-weight: 700;
}

.glance-v2-ec-firmware-error {
  color: #dc2626;
  font-weight: 700;
}

.glance-v2-ec-controls {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.glance-v2-ec-control-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.7rem 1rem;
  border: 1px solid var(--glance-v2-border);
  border-radius: 8px;
  background: #fff;
  color: var(--glance-v2-ink);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}

.glance-v2-ec-control-btn svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.glance-v2-ec-control-btn:hover {
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
  background: rgba(0, 163, 152, 0.05);
}

.glance-v2-ec-control-btn--danger {
  color: #dc2626;
}

.glance-v2-ec-control-btn--danger:hover {
  border-color: #fca5a5;
  color: #b91c1c;
  background: #fef2f2;
}

.glance-v2-ec-logs-download {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--glance-v2-border);
  border-radius: 8px;
  background: #fff;
  color: var(--glance-v2-ink);
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
}

.glance-v2-ec-logs-download svg {
  width: 0.95rem;
  height: 0.95rem;
}

.glance-v2-ec-logs-download:hover {
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
}

.glance-v2-ec-logs {
  max-height: 22rem;
  overflow: auto;
  padding: 0.85rem 1rem;
  border-radius: 8px;
  background: #0f172a;
  color: #e2e8f0;
  font-family: 'AeonikMono', ui-monospace, monospace;
  font-size: 0.75rem;
  line-height: 1.5;
}

.glance-v2-ec-log-line {
  padding: 0.15rem 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.glance-v2-ec-panel {
  background: var(--glance-v2-card);
  border: 1px solid var(--glance-v2-border);
  border-radius: 10px;
}

.glance-v2-ec-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.15rem;
  cursor: pointer;
  list-style: none;
}

.glance-v2-ec-panel__header::-webkit-details-marker {
  display: none;
}

.glance-v2-ec-panel__title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--glance-v2-accent);
}

.glance-v2-ec-panel__chevron {
  color: #64748b;
  transition: transform 0.2s ease;
}

.glance-v2-ec-panel[open] .glance-v2-ec-panel__chevron {
  transform: rotate(180deg);
}

.glance-v2-ec-panel__body {
  padding: 0 1.15rem 1.15rem;
}

.glance-v2-ec-help-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}

.glance-v2-ec-help-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(0, 163, 152, 0.35);
  border-radius: 8px;
  background: rgba(0, 163, 152, 0.06);
  color: var(--glance-v2-accent-dark);
  font-size: 0.82rem;
  font-weight: 500;
  text-decoration: none;
}

.glance-v2-ec-help-link svg {
  width: 0.95rem;
  height: 0.95rem;
}

.glance-v2-ec-help-link:hover {
  background: rgba(0, 163, 152, 0.12);
  color: var(--glance-v2-accent);
}

.glance-v2-ec-help__heading {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.glance-v2-ec-pattern-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.glance-v2-ec-pattern-card {
  display: flex;
  gap: 0.75rem;
  padding: 0.85rem;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #eef2f6;
}

.glance-v2-ec-pattern-card__title {
  margin: 0 0 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--glance-v2-ink);
}

.glance-v2-ec-pattern-card__desc {
  margin: 0;
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.45;
}

.glance-v2-ec-footer-meta {
  margin: 0;
  text-align: center;
  color: #64748b;
  font-size: 0.8rem;
}

.glance-v2-ec-empty {
  margin: 0;
  color: var(--glance-v2-muted);
  font-size: 0.875rem;
}

.glance-v2-ec-device .loading-throbber,
.glance-v2-ec-device .log-loading-throbber {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  border-top-color: var(--glance-v2-accent);
  animation: glance-v2-ec-throbber 0.8s linear infinite;
}

.glance-v2-ec-device .loading-throbber.hidden,
.glance-v2-ec-device .log-loading-throbber.hidden {
  display: none;
}

@keyframes glance-v2-ec-throbber {
  to {
    transform: rotate(360deg);
  }
}

/* LED panel (functional; card chrome styled above) */

.glance-v2-ec-device .panel {
  width: 220px;
  height: 220px;
  background-color: #f4f4f4;
  border-radius: 15px;
  position: relative;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.08);
}

.glance-v2-ec-device .mounting-hole {
  width: 10px;
  height: 10px;
  background-color: #94a3b8;
  border-radius: 50%;
  position: absolute;
}

.glance-v2-ec-device .mounting-hole.top-left {
  top: 12px;
  left: 12px;
}

.glance-v2-ec-device .mounting-hole.top-right {
  top: 12px;
  right: 12px;
}

.glance-v2-ec-device .mounting-hole.bottom-left {
  bottom: 12px;
  left: 12px;
}

.glance-v2-ec-device .mounting-hole.bottom-right {
  bottom: 12px;
  right: 12px;
}

.glance-v2-ec-device .led-container {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.glance-v2-ec-device .led {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #333;
}

.glance-v2-ec-device .led-red {
  background-color: #ff4444;
  box-shadow: 0 0 5px #ff4444;
}

.glance-v2-ec-device .led-yellow {
  background-color: #ffbb33;
  box-shadow: 0 0 5px #ffbb33;
}

.glance-v2-ec-device .led-green {
  background-color: #00C851;
  box-shadow: 0 0 5px #00C851;
}

.glance-v2-ec-device .led-pattern-visual {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  background: #333;
  padding: 8px;
  border-radius: 4px;
  width: 24px;
  flex-shrink: 0;
}

.glance-v2-ec-device .led-doc {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #666;
}

.glance-v2-ec-device .led-doc.led-red {
  background-color: #ff4444;
  box-shadow: 0 0 3px #ff4444;
}

.glance-v2-ec-device .led-doc.led-yellow {
  background-color: #ffbb33;
  box-shadow: 0 0 3px #ffbb33;
}

.glance-v2-ec-device .led-doc.led-green {
  background-color: #00C851;
  box-shadow: 0 0 3px #00C851;
}

.glance-v2-ec-device .breathe {
  animation: glance-v2-ec-breathe 2s infinite;
}

.glance-v2-ec-device .walk-1 {
  animation: glance-v2-ec-walk-1 3s infinite;
}

.glance-v2-ec-device .walk-2 {
  animation: glance-v2-ec-walk-2 3s infinite;
}

.glance-v2-ec-device .walk-3 {
  animation: glance-v2-ec-walk-3 3s infinite;
}

.glance-v2-ec-device .error-blink {
  animation: glance-v2-ec-error-blink 1s infinite;
}

.glance-v2-ec-device .accumulate-1 {
  animation: glance-v2-ec-accumulate-1 2s infinite;
}

.glance-v2-ec-device .accumulate-2 {
  animation: glance-v2-ec-accumulate-2 2s infinite;
}

.glance-v2-ec-device .accumulate-3 {
  animation: glance-v2-ec-accumulate-3 2s infinite;
}

.glance-v2-ec-device .alternate-1 {
  animation: glance-v2-ec-alternate-1 2s infinite;
}

.glance-v2-ec-device .alternate-2 {
  animation: glance-v2-ec-alternate-2 2s infinite;
}

.glance-v2-ec-device .sequence {
  animation: glance-v2-ec-sequence 2s infinite;
}

@keyframes glance-v2-ec-breathe {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: 0.3;
  }
}

@keyframes glance-v2-ec-walk-1 {
  0%, 100% {
    opacity: 1;
  }

  33%, 66% {
    opacity: 0.2;
  }
}

@keyframes glance-v2-ec-walk-2 {
  0%, 100% {
    opacity: 0.2;
  }

  33% {
    opacity: 1;
  }

  66% {
    opacity: 0.2;
  }
}

@keyframes glance-v2-ec-walk-3 {
  0%, 33% {
    opacity: 0.2;
  }

  66%, 100% {
    opacity: 1;
  }
}

@keyframes glance-v2-ec-error-blink {
  0%, 25%, 50%, 75% {
    opacity: 1;
  }

  12.5%, 37.5%, 62.5%, 87.5% {
    opacity: 0.3;
  }
}

@keyframes glance-v2-ec-accumulate-1 {
  0% {
    opacity: 1;
  }

  25%, 100% {
    opacity: 1;
  }
}

@keyframes glance-v2-ec-accumulate-2 {
  0%, 25% {
    opacity: 0.2;
  }

  50%, 100% {
    opacity: 1;
  }
}

@keyframes glance-v2-ec-accumulate-3 {
  0%, 50% {
    opacity: 0.2;
  }

  75%, 100% {
    opacity: 1;
  }
}

@keyframes glance-v2-ec-alternate-1 {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: 0.2;
  }
}

@keyframes glance-v2-ec-alternate-2 {
  0%, 100% {
    opacity: 0.2;
  }

  50% {
    opacity: 1;
  }
}

@keyframes glance-v2-ec-sequence {
  0% {
    background-color: #00C851;
  }

  25% {
    background-color: #ffbb33;
  }

  50% {
    background-color: #ff4444;
  }

  75% {
    background-color: #666;
  }
}

.glance-v2-ec-device .signal-display {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.glance-v2-ec-device .signal-bars {
  display: inline-flex;
  align-items: flex-end;
  height: 16px;
  gap: 2px;
}

.glance-v2-ec-device .signal-bar {
  width: 3px;
  background-color: #e2e8f0;
  border-radius: 1px;
}

.glance-v2-ec-device .signal-bar.active {
  background-color: var(--glance-v2-accent);
}

.glance-v2-ec-device .signal-bar:nth-child(1) {
  height: 25%;
}

.glance-v2-ec-device .signal-bar:nth-child(2) {
  height: 50%;
}

.glance-v2-ec-device .signal-bar:nth-child(3) {
  height: 75%;
}

.glance-v2-ec-device .signal-bar:nth-child(4) {
  height: 100%;
}

.glance-v2-ec-device .signal-info {
  color: var(--glance-v2-muted);
  font-size: 0.75rem;
}

/* EverConnect device detail — dark theme */

html.glance-v2-theme-dark .glance-v2-ec-alert--error {
  background: rgba(248, 113, 113, 0.12);
  border-color: rgba(248, 113, 113, 0.35);
  color: #fecaca;
}

html.glance-v2-theme-dark .glance-v2-ec-alert--success {
  background: rgba(52, 211, 153, 0.12);
  border-color: rgba(52, 211, 153, 0.35);
  color: #6ee7b7;
}

html.glance-v2-theme-dark .glance-v2-ec-badge--muted {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-ec-badge--offline {
  background: rgba(248, 113, 113, 0.15);
  color: #fca5a5;
}

html.glance-v2-theme-dark .glance-v2-ec-card__utc {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-ec-interface__badge--inactive {
  background: var(--glance-v2-surface-raised);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-ec-control-btn,
html.glance-v2-theme-dark .glance-v2-ec-logs-download {
  background: var(--glance-v2-input-bg);
  color: var(--glance-v2-ink);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-ec-control-btn:hover,
html.glance-v2-theme-dark .glance-v2-ec-logs-download:hover {
  border-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-bright);
  background: var(--glance-v2-accent-soft);
}

html.glance-v2-theme-dark .glance-v2-ec-control-btn--danger {
  color: #f87171;
}

html.glance-v2-theme-dark .glance-v2-ec-control-btn--danger:hover {
  border-color: rgba(248, 113, 113, 0.5);
  color: #fca5a5;
  background: rgba(248, 113, 113, 0.1);
}

html.glance-v2-theme-dark .glance-v2-ec-pattern-card {
  background: var(--glance-v2-surface-raised);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-ec-pattern-card__desc,
html.glance-v2-theme-dark .glance-v2-ec-help__heading,
html.glance-v2-theme-dark .glance-v2-ec-footer-meta {
  color: var(--glance-v2-muted);
}

/* LED hardware panel stays white (physical device representation) */

html.glance-v2-theme-dark .glance-v2-ec-device .panel {
  background-color: #f4f4f4;
}

@media (max-width: 1199px) {
  .glance-v2-ec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .glance-v2-ec-header__main {
    flex-direction: column;
    align-items: stretch;
  }

  .glance-v2-ec-header__actions {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .glance-v2-ec-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .glance-v2-ec-pattern-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .glance-v2-ec-fields__item {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .glance-v2-ec-fields__item dd {
    text-align: left;
  }

  .glance-v2-ec-card__header--split {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* GLANCE v2 — connector detail page */

.glance-v2-connector-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 0.75rem;
  align-items: start;
}

@media (max-width: 991px) {
  .glance-v2-connector-overview-grid {
    grid-template-columns: 1fr;
  }
}

.glance-v2-connector-panel--live .glance-v2-site-panel__header {
  color: var(--glance-v2-accent-dark);
}

.glance-v2-connector-fields--horizontal {
  grid-template-columns: 1fr;
  gap: 0;
}

.glance-v2-connector-fields--horizontal .glance-v2-site-fields__item {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
  gap: 0.5rem 0.85rem;
  align-items: baseline;
  padding: 0.45rem 0;
  border-bottom: 1px solid #f1f5f9;
}

.glance-v2-connector-fields--horizontal .glance-v2-site-fields__item:last-child {
  border-bottom: none;
}

.glance-v2-connector-fields--horizontal .glance-v2-site-fields__item dt {
  margin: 0;
}

.glance-v2-connector-fields--horizontal .glance-v2-site-fields__item dd {
  margin: 0;
  text-align: right;
  justify-self: end;
}

.glance-v2-connector-fields__item--highlight dt {
  color: var(--glance-v2-accent);
}

.glance-v2-connector-fields__item--highlight dd {
  font-size: 1.05rem;
  font-weight: 700;
}

.glance-v2-connector-section-title__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.glance-v2-connector-note-hint {
  margin: 0.65rem 0 0;
  font-size: 0.875rem;
  color: var(--glance-v2-muted);
}

.glance-v2-connector-operations-panel {
  margin-top: 0.25rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-detail-body {
  gap: 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-main {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-summary {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-main > .glance-v2-detail-section,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-main > .row.glance-v2-detail-section {
  background: var(--glance-v2-card);
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(20, 53, 60, 0.06);
  padding: 1rem 1.25rem;
  margin: 0;
}

.glance-v2-connector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.glance-v2-connector-section-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0 0 0.85rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
}

.glance-v2-connector-status-asof {
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
}

.glance-v2-connector-status-badges {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.glance-v2-connector-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 0.35rem;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.glance-v2-connector-badge--warn {
  background: #fff7ed;
  border: 1px solid #fdba74;
  color: #c2410c;
}

.glance-v2-connector-badge--muted {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #64748b;
}

.glance-v2-connector-oos-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
}

.glance-v2-connector-oos-reason {
  color: inherit;
  opacity: 0.9;
}

.glance-v2-connector-note {
  padding: 0.85rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.glance-v2-connector-chart .alert-info {
  border-radius: 8px;
  margin-bottom: 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs {
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs > li > a {
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: #64748b;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.65rem 0.85rem;
  margin-right: 0.15rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs > li > a:hover,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs > li > a:focus {
  background: transparent;
  border-bottom-color: #cbd5e1;
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs > li > a.active {
  background: transparent;
  border-bottom-color: var(--glance-v2-accent);
  color: var(--glance-v2-accent-dark);
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-tabs-section .tab-content {
  padding-top: 0.85rem;
  border-top: none;
}

/* Overview content lives in the summary above; hide tab shell until another section is selected */

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-tabs-section[data-hide-on-tab="#tab-connector-overview"] {
  display: none;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail #tab-connector-overview:empty {
  display: none;
  padding: 0;
  margin: 0;
  min-height: 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-tabs-section .tab-content h2 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--glance-v2-accent-dark);
  margin: 0 0 0.75rem;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations .text-teal-500.border-b {
  border-color: #e2e8f0 !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations #operationsTab {
  background: #f8fafc;
  border-radius: 8px 8px 0 0;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations #operationsTab button {
  font-size: 0.8125rem !important;
  padding: 0.55rem 0.75rem !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations #operationsTab button.active {
  color: var(--glance-v2-accent-dark) !important;
  border-bottom-color: var(--glance-v2-accent) !important;
}

body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations #operation_response,
body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations textarea[name="operation_response"] {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #0f172a;
  color: #e2e8f0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.8125rem;
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-main > .glance-v2-detail-section,
html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-site-main > .row.glance-v2-detail-section {
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark .glance-v2-connector-badge--warn {
  background: rgba(251, 146, 60, 0.12);
  border-color: rgba(251, 146, 60, 0.35);
  color: #fdba74;
}

html.glance-v2-theme-dark .glance-v2-connector-badge--muted {
  background: var(--glance-v2-surface-raised);
  border-color: var(--glance-v2-border);
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark .glance-v2-connector-note {
  background: var(--glance-v2-surface-raised);
  border-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs {
  border-bottom-color: var(--glance-v2-border);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-detail .glance-v2-connector-tabs > li > a {
  color: var(--glance-v2-muted);
}

html.glance-v2-theme-dark body.glance-v2 #content.glance-v2-content.ec-admin .glance-v2-connector-operations #operationsTab {
  background: var(--glance-v2-surface-raised);
}

html.glance-v2-theme-dark .glance-v2-connector-fields--horizontal .glance-v2-site-fields__item {
  border-bottom-color: var(--glance-v2-border);
}

.after\:inline-block::after {
  content: var(--tw-content);
  display: inline-block;
}

@media (min-width: 720px) {
  .md\:ec-hidden {
    display: none !important;
  }
}

.after\:inline-block::after {
  content: var(--tw-content) !important;
  display: inline-block !important;
}

.after\:h-1::after {
  content: var(--tw-content) !important;
  height: 0.25rem !important;
}

.after\:w-full::after {
  content: var(--tw-content) !important;
  width: 100% !important;
}

.after\:border-4::after {
  content: var(--tw-content) !important;
  border-width: 4px !important;
}

.after\:border-b::after {
  content: var(--tw-content) !important;
  border-bottom-width: 1px !important;
}

.after\:border-blue-600::after {
  content: var(--tw-content) !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(49 130 206 / var(--tw-border-opacity, 1)) !important;
}

.after\:border-gray-100::after {
  content: var(--tw-content) !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(208 208 208 / var(--tw-border-opacity, 1)) !important;
}

.even\:bg-gray-75:nth-child(even) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(241 242 242 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:border-spacing-2:hover {
  --tw-border-spacing-x: 0.5rem !important;
  --tw-border-spacing-y: 0.5rem !important;
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y) !important;
}

.hover\:overflow-x-auto:hover {
  overflow-x: auto !important;
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1 !important;
  border-color: rgb(144 144 144 / var(--tw-border-opacity, 1)) !important;
}

.hover\:border-green-600:hover {
  --tw-border-opacity: 1 !important;
  border-color: rgb(56 161 105 / var(--tw-border-opacity, 1)) !important;
}

.hover\:border-teal-400:hover {
  --tw-border-opacity: 1 !important;
  border-color: rgb(0 255 193 / var(--tw-border-opacity, 1)) !important;
}

.hover\:bg-blue-300:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(144 205 244 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(43 108 176 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-blue-800:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(44 82 130 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(176 176 176 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-gray-300:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(144 144 144 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-gray-75:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(241 242 242 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-green-200:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(198 246 213 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-green-300:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(154 230 180 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-purple-300:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(214 188 250 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-red-300:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 178 178 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-red-400:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(252 129 129 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(229 62 62 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(197 48 48 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-teal-500:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 163 152 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-teal-600:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(49 151 149 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-teal-700:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(44 122 123 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-teal-800:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(40 94 97 / var(--tw-bg-opacity, 1)) !important;
}

.hover\:text-blue-700:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(43 108 176 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(244 244 244 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(89 89 89 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(79 79 79 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-red-800:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(155 44 44 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-teal-600:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(49 151 149 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-teal-800:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(40 94 97 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-white:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.hover\:outline-none:hover {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.focus\:z-10:focus {
  z-index: 10 !important;
}

.focus\:border-blue-500:focus {
  --tw-border-opacity: 1 !important;
  border-color: rgb(66 153 225 / var(--tw-border-opacity, 1)) !important;
}

.focus\:text-teal-600:focus {
  --tw-text-opacity: 1 !important;
  color: rgb(49 151 149 / var(--tw-text-opacity, 1)) !important;
}

.focus\:no-underline:focus {
  text-decoration-line: none !important;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}

.focus\:ring-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
}

.focus\:ring-blue-300:focus {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(144 205 244 / var(--tw-ring-opacity, 1)) !important;
}

.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(66 153 225 / var(--tw-ring-opacity, 1)) !important;
}

.focus\:ring-gray-500:focus {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(244 244 244 / var(--tw-ring-opacity, 1)) !important;
}

.focus\:ring-red-300:focus {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(254 178 178 / var(--tw-ring-opacity, 1)) !important;
}

.focus\:ring-red-500:focus {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(245 101 101 / var(--tw-ring-opacity, 1)) !important;
}

.focus\:ring-teal-500:focus {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(0 163 152 / var(--tw-ring-opacity, 1)) !important;
}

.focus\:ring-opacity-50:focus {
  --tw-ring-opacity: 0.5 !important;
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px !important;
}

.active\:scale-95:active {
  --tw-scale-x: .95 !important;
  --tw-scale-y: .95 !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.active\:text-gray-400:active {
  --tw-text-opacity: 1 !important;
  color: rgb(121 121 121 / var(--tw-text-opacity, 1)) !important;
}

.disabled\:bg-\[\#aaa\]:disabled {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(170 170 170 / var(--tw-bg-opacity, 1)) !important;
}

.group:hover .group-hover\:block {
  display: block !important;
}

.peer:checked ~ .peer-checked\:translate-x-full {
  --tw-translate-x: 100% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}

.peer:checked ~ .peer-checked\:bg-blue-600 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(49 130 206 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:border-gray-600:is(.dark *) {
  --tw-border-opacity: 1 !important;
  border-color: rgb(89 89 89 / var(--tw-border-opacity, 1)) !important;
}

.dark\:border-gray-900:is(.dark *) {
  --tw-border-opacity: 1 !important;
  border-color: rgb(51 51 51 / var(--tw-border-opacity, 1)) !important;
}

.dark\:bg-blue-600:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(49 130 206 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:bg-gray-700:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(79 79 79 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:text-gray-600:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(89 89 89 / var(--tw-text-opacity, 1)) !important;
}

.dark\:text-teal-400:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(0 255 193 / var(--tw-text-opacity, 1)) !important;
}

.dark\:text-white:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.dark\:after\:border-blue-800:is(.dark *)::after {
  content: var(--tw-content) !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(44 82 130 / var(--tw-border-opacity, 1)) !important;
}

.dark\:after\:border-gray-700:is(.dark *)::after {
  content: var(--tw-content) !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(79 79 79 / var(--tw-border-opacity, 1)) !important;
}

.dark\:hover\:bg-blue-700:hover:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(43 108 176 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:hover\:bg-gray-600:hover:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(89 89 89 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.dark\:focus\:ring-blue-800:focus:is(.dark *) {
  --tw-ring-opacity: 1 !important;
  --tw-ring-color: rgb(44 82 130 / var(--tw-ring-opacity, 1)) !important;
}

@media (min-width: 540px) {
  .sm\:order-1 {
    order: 1 !important;
  }

  .sm\:order-2 {
    order: 2 !important;
  }

  .sm\:w-40 {
    width: 10rem !important;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sm\:flex-row {
    flex-direction: row !important;
  }

  .sm\:justify-end {
    justify-content: flex-end !important;
  }

  .sm\:px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .sm\:px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  .sm\:pl-7 {
    padding-left: 1.75rem !important;
  }
}

@media (min-width: 720px) {
  .md\:inset-0 {
    inset: 0px !important;
  }

  .md\:flex {
    display: flex !important;
  }

  .md\:grid {
    display: grid !important;
  }

  .md\:h-auto {
    height: auto !important;
  }

  .md\:h-full {
    height: 100% !important;
  }

  .md\:min-h-\[34\.85rem\] {
    min-height: 34.85rem !important;
  }

  .md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .md\:flex-row {
    flex-direction: row !important;
  }

  .md\:p-5 {
    padding: 1.25rem !important;
  }

  .md\:px-20 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }

  .md\:pt-32 {
    padding-top: 8rem !important;
  }
}

@media (min-width: 960px) {
  .lg\:col-span-1 {
    grid-column: span 1 / span 1 !important;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2 !important;
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4 !important;
  }

  .lg\:col-span-6 {
    grid-column: span 6 / span 6 !important;
  }

  .lg\:col-start-4 {
    grid-column-start: 4 !important;
  }

  .lg\:my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  .lg\:mb-0 {
    margin-bottom: 0px !important;
  }

  .lg\:mt-4 {
    margin-top: 1rem !important;
  }

  .lg\:h-12 {
    height: 3rem !important;
  }

  .lg\:h-120 {
    height: 30rem !important;
  }

  .lg\:h-92 {
    height: 23rem !important;
  }

  .lg\:w-12 {
    width: 3rem !important;
  }

  .lg\:w-2\/3 {
    width: 66.666667% !important;
  }

  .lg\:w-202 {
    width: 50.5rem !important;
  }

  .lg\:flex-grow {
    flex-grow: 1 !important;
  }

  .lg\:-translate-y-\[25\%\] {
    --tw-translate-y: -25% !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
  }

  .lg\:-translate-y-\[65\%\] {
    --tw-translate-y: -65% !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
  }

  .lg\:scale-100 {
    --tw-scale-x: 1 !important;
    --tw-scale-y: 1 !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
  }

  .lg\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  }

  .lg\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  }

  .lg\:grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr)) !important;
  }

  .lg\:flex-row {
    flex-direction: row !important;
  }

  .lg\:px-28 {
    padding-left: 7rem !important;
    padding-right: 7rem !important;
  }

  .lg\:px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  .lg\:pb-16 {
    padding-bottom: 4rem !important;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem !important;
  }
}

@media (min-width: 1140px) {
  .xl\:h-120 {
    height: 30rem !important;
  }

  .xl\:h-150 {
    height: 37.5rem !important;
  }

  .xl\:-translate-y-\[65\%\] {
    --tw-translate-y: -65% !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
  }

  .xl\:gap-x-16 {
    -moz-column-gap: 4rem !important;
         column-gap: 4rem !important;
  }

  .xl\:px-32 {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
}
