a {
  text-decoration: none;
  outline: none;
  color: #06c;
}
a:focus-visible,
a:hover {
  text-decoration: underline;
}
.ui-spin {
  animation: 2s linear 0s infinite ui-spin;
}
@keyframes ui-spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ui-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
}
button.ui,
.ui-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  color: #fff;
  background-color: #009000;
  border: none;
  border-radius: 0.25em;
  height: 2em;
  padding: 0 1.5em;
  text-decoration: none;
  outline: none;
  transition: backdrop-filter 0.2s, opacity 0.2s, scale 0.2s;
}
button.ui.icon,
.ui-btn.icon {
  background-color: transparent;
  color: inherit;
  vertical-align: bottom;
  padding: 0;
  width: 2em;
}
button.ui.icon > *,
.ui-btn.icon > * {
  max-width: 80%;
  height: 65%;
}
button.ui.round,
.ui-btn.round {
  vertical-align: bottom;
  border-radius: 50%;
  padding: 0;
  width: 2em;
}
button.ui.round > *,
.ui-btn.round > * {
  max-width: 80%;
  height: 40%;
}
button.ui.outlined,
.ui-btn.outlined {
  border: 1px solid #009000;
  box-sizing: border-box;
  color: #009000;
  background-color: transparent;
}
button.ui:disabled,
.ui-btn:disabled {
  opacity: 0.5;
}
button.ui:not(:disabled),
.ui-btn:not(:disabled) {
  cursor: pointer;
}
button.ui:not(:disabled):focus-visible,
.ui-btn:not(:disabled):focus-visible,
button.ui:not(:disabled):hover,
.ui-btn:not(:disabled):hover {
  text-decoration: none;
  backdrop-filter: invert(10%);
}
button.ui:not(:disabled):focus-visible:not(.icon, .outlined),
.ui-btn:not(:disabled):focus-visible:not(.icon, .outlined),
button.ui:not(:disabled):hover:not(.icon, .outlined),
.ui-btn:not(:disabled):hover:not(.icon, .outlined) {
  opacity: 0.85;
}
button.ui:not(:disabled):active,
.ui-btn:not(:disabled):active {
  backdrop-filter: invert(20%);
  scale: 0.98;
}
.ui-dialog {
  background-color: rgba(0, 0, 0, 0.4);
}
.ui-dialog > .content {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
  background-color: #fff;
  margin: 5% auto;
  box-sizing: border-box;
  padding: 15px;
  width: 500px;
  min-width: calc(360px - 16px);
  max-width: calc(100vw - 16px);
  border-radius: 5px;
}
.ui-dialog > .content > button.close {
  margin: -0.25em -0.25em 0.5em 0.5em;
  float: right;
}
.ui-dialog > .content > h1 {
  font-size: 1.5em;
  margin: 0 0 0.5em;
}
fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
/*!
 * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */
.ui-xmark {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path fill='rgb(51,51,51)' d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/></svg>");
}
input:not([type=checkbox], [type=radio]),
textarea,
select {
  background-color: #fff;
  color: #000;
  font-family: inherit;
  font-size: inherit;
  width: 100%;
  padding-right: 0.5em;
  padding-left: 0.5em;
  border: 1px solid #bbb;
  border-radius: 0.25em;
  box-sizing: border-box;
  outline: none;
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
input:not([type=checkbox], [type=radio]):not(textarea),
textarea:not(textarea),
select:not(textarea) {
  height: 2em;
}
input:not([type=checkbox], [type=radio]):disabled,
textarea:disabled,
select:disabled {
  background-color: #fafafa;
}
input:not([type=checkbox], [type=radio]):focus,
textarea:focus,
select:focus {
  border-color: #009000;
  box-shadow: 0 0 0 1px #009000;
}
input:not([type=checkbox], [type=radio]) + .ui-hint,
textarea + .ui-hint,
select + .ui-hint {
  margin-top: 0.25em;
}
textarea {
  padding-top: 0.375em;
  padding-bottom: 0.375em;
  vertical-align: top;
  resize: vertical;
}
select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 448 512'><path d='M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/></svg>");
  background-position: calc(100% - 0.5em) 50%;
  background-attachment: scroll;
  background-repeat: no-repeat;
}
select:enabled {
  cursor: pointer;
}
input[type=checkbox],
input[type=radio] {
  cursor: pointer;
}
input[type=checkbox] + label,
input[type=radio] + label {
  margin-left: 0.25em;
  cursor: pointer;
}
label {
  display: inline-block;
  -webkit-user-select: none;
  user-select: none;
  margin-top: 1em;
}
:not(input[type=checkbox], input[type=radio]) + label,
label:first-child {
  display: block;
  width: fit-content;
  margin-bottom: 0.25em;
  font-size: 0.875em;
  opacity: 0.8;
}
.ui-notify {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
  max-width: 320px;
  margin: 16px auto;
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
  background-color: #fff;
  padding: 8px 12px;
  border-radius: 5px;
}
.ui-lg {
  font-size: 1.25em;
}
table.ui {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
table.ui tr.clickable {
  cursor: pointer;
}
table.ui thead th {
  border-bottom: 1px solid #ccc;
  font-size: 0.875em;
  padding: calc(0.5em / 0.875);
  color: #555;
}
table.ui tfoot td {
  border-top: 1px solid #ccc;
  font-weight: bold;
}
table.ui tr:hover td {
  background-color: #f5f5f5;
}
table.ui tr:hover td button.ui.icon {
  visibility: visible;
}
table.ui td {
  border-top: 1px solid #eee;
  padding: 0.5em;
}
table.ui td.neg {
  color: #e00;
}
table.ui td:has(button.ui.icon) {
  padding-block: 0;
}
table.ui td button.ui.icon {
  width: 1.5em;
  height: 1.5em;
  visibility: hidden;
}
table.ui th,
table.ui td {
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
table.ui th.right,
table.ui td.right {
  text-align: right;
}
table.ui.dense {
  font-size: 0.875em;
}
table.ui.dense th {
  padding: calc(0.5em / 0.875 - 2px);
}
table.ui.dense td {
  padding: calc(0.5em - 2px);
}
table.ui.disabled {
  pointer-events: none;
}
.ui-hint {
  font-size: 0.75em;
  opacity: 0.5;
}
.autocomplete-menu {
  position: relative;
  top: 6px;
}
.autocomplete-menu > * {
  position: absolute;
  z-index: 10;
  max-height: 50vh;
  overflow-y: scroll;
  width: fit-content;
  background-color: #fff;
  padding: 4px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}
.autocomplete-menu > * > * {
  border-radius: 4px;
  padding: 8px;
  cursor: pointer;
}
.autocomplete-menu > * > *:hover {
  background-color: #eee;
}
.icon-arrow-left {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='rgb(51,51,51)' d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z'/></svg>");
}
.icon-arrow-right {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='rgb(51,51,51)' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/></svg>");
}
.icon-bars {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='rgb(51,51,51)' d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/></svg>");
}
.icon-charging-station {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path fill='rgb(51,51,51)' d='M96 48c-8.8 0-16 7.2-16 16l0 400 192 0 0-400c0-8.8-7.2-16-16-16L96 48zM32 464L32 64C32 28.7 60.7 0 96 0L256 0c35.3 0 64 28.7 64 64l0 192 8 0c48.6 0 88 39.4 88 88l0 28c0 15.5 12.5 28 28 28s28-12.5 28-28l0-103.7c-32.5-10.2-56-40.5-56-76.3l0-40c0-13.3 10.7-24 24-24l8 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 32 0 0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 8 0c13.3 0 24 10.7 24 24l0 40c0 35.8-23.5 66.1-56 76.3L520 372c0 42-34 76-76 76s-76-34-76-76l0-28c0-22.1-17.9-40-40-40l-8 0 0 160 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0-48 0L80 512l-48 0-8 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0zM464 192c0 17.7 14.3 32 32 32s32-14.3 32-32l0-16-64 0 0 16zM222.9 117.9L199.6 176l40.4 0c6.7 0 12.8 4.2 15 10.6s.4 13.4-4.8 17.7l-96 80c-5.6 4.7-13.7 5-19.6 .7s-8.2-12.1-5.5-18.9L152.4 208 112 208c-6.7 0-12.8-4.2-15-10.6s-.4-13.4 4.8-17.7l96-80c5.6-4.7 13.7-5 19.6-.7s8.2 12.1 5.5 18.9z'/></svg>");
}
.icon-charging-station-busy {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path fill='rgb(180, 180, 180)' d='M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z'/></svg>");
}
.icon-charging-station-free {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path fill='rgb(0, 180, 0)' d='M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z'/></svg>");
}
.icon-clipboard {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path fill='rgb(51,51,51)' d='M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 192l160 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z'/></svg>");
}
.icon-clipboard-check {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path fill='rgb(51,51,51)' d='M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/></svg>");
}
.icon-history {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(51,51,51)' d='M75 75L41 41C25.9 25.9 0 36.6 0 57.9L0 168c0 13.3 10.7 24 24 24l110.1 0c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75zm181 53c-13.3 0-24 10.7-24 24l0 104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65 0-94.1c0-13.3-10.7-24-24-24z'/></svg>");
}
.icon-key {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(51,51,51)' d='M208 176c0-70.7 57.3-128 128-128s128 57.3 128 128s-57.3 128-128 128c-10.4 0-20.5-1.2-30.1-3.6c-8.1-2-16.7 .4-22.6 6.4L254.1 336 200 336c-13.3 0-24 10.7-24 24l0 40-40 0c-13.3 0-24 10.7-24 24l0 40-64 0 0-78.1L205.2 228.7c5.9-5.9 8.3-14.5 6.4-22.6c-2.3-9.6-3.6-19.7-3.6-30.1zM336 0C238.8 0 160 78.8 160 176c0 9.5 .7 18.8 2.2 27.9L7 359c-4.5 4.5-7 10.6-7 17L0 488c0 13.3 10.7 24 24 24l112 0c13.3 0 24-10.7 24-24l0-40 40 0c13.3 0 24-10.7 24-24l0-40 40 0c6.4 0 12.5-2.5 17-7l27.2-27.2c9.1 1.4 18.4 2.2 27.9 2.2c97.2 0 176-78.8 176-176S433.2 0 336 0zm32 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/></svg>");
}
.icon-location-dot {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path fill='rgb(119,119,119)' d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/></svg>");
}
.icon-pen {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(51,51,51)' d='M36.4 360.9L13.4 439 1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1L73 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8L492.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L453.3 19.3c-25-25-65.5-25-90.5 0L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4zm46 13.5c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8L321 129 383 191 154.6 419.5c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9L59.4 452.6l16.1-54.8 6.9-23.4z'/></svg>");
}
.icon-play {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'><path fill='rgb(51,51,51)' d='M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z'/></svg>");
}
.icon-spinner {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(51,51,51)' d='M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z'/></svg>");
}
.icon-tag {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='rgb(51,51,51)' d='M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5L0 80C0 53.5 21.5 32 48 32l149.5 0zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7L48 80l0 149.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/></svg>");
}
.popup {
  position: absolute;
  z-index: 1;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  background-color: #fff;
  padding: 3px 0;
  border-radius: 3px;
}
body.receipt {
  margin: 2em auto;
  max-width: 400px;
  padding-inline: 1em;
}
body.receipt img.logo {
  display: block;
  margin: 0 auto;
  height: 4em;
}
body.receipt h1,
body.receipt p {
  text-align: center;
}
body.receipt .details {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.375em 1em;
  margin: 2em 0;
}
body.receipt .details > *:nth-child(odd) {
  color: #666;
}
body.receipt .details > *:nth-child(even) {
  justify-self: end;
}
body.receipt footer {
  text-align: center;
  font-size: 0.875em;
  color: #666;
}
body.static {
  background-color: #fff5ec;
  margin: 12px;
}
body.static main {
  background-color: #fff;
  border-radius: 2em;
  max-width: 450px;
  margin: 2em auto;
  padding: min(2em, 4vw);
}
body.static h1 {
  text-align: center;
}
body.static p {
  color: #333;
}
body.static img.logo {
  display: block;
  margin: 1em auto;
  height: 4em;
}
body.static img.icon {
  height: 16px;
  vertical-align: middle;
}
body.static div.steps {
  display: flex;
  gap: 0.375em;
  justify-content: center;
  align-items: center;
  font-size: 1.25em;
  font-weight: bold;
  color: #009000;
}
body.static div.steps img {
  height: 0.75em;
}
body.static a.ui-btn {
  display: flex;
  margin: 1.5em auto;
  font-size: 1.25em;
  width: 300px;
  padding: 0;
}
body.static img.charger {
  display: block;
  margin: 2em auto;
  height: 275px;
}
body.static .calc.list {
  margin: 0.5em 0 2em;
}
body.static .calc.list > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.static .calc.list > div input {
  text-align: right;
  width: 80px;
  height: unset;
}
body.static details {
  background-color: #fafafa;
  border: 0.5px solid #ccc;
  border-radius: 6px;
  text-align: start;
  margin: 1em 0;
  color: #333;
}
body.static details:hover {
  background-color: #eee;
}
body.static details summary {
  padding: 16px 20px;
  font-weight: bold;
  cursor: pointer;
}
body.static details div {
  padding: 0 20px 16px;
}
body.static p.conditions {
  font-size: 0.75em;
  font-style: italic;
}
body.static div.terms {
  font-size: 0.875em;
  counter-reset: h2c;
}
body.static div.terms h2 {
  counter-reset: pc;
}
body.static div.terms h2::before {
  content: counter(h2c) ". ";
  counter-increment: h2c;
}
body.static div.terms h2 ~ p::before {
  content: counter(h2c) "." counter(pc) " ";
  counter-increment: pc;
}
body.static footer {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.875em;
  margin: 2em auto;
  max-width: 450px;
}
body.static footer a {
  color: #333;
}
#app {
  min-height: 100vh;
}
#app nav {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  gap: 32px;
  height: 64px;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
}
#app nav a {
  display: grid;
  justify-items: center;
  gap: 4px;
}
#app nav a:hover {
  text-decoration: none;
}
#app nav a img {
  height: 28px;
}
#app nav a div {
  color: #646464;
  font-size: 0.75em;
  font-weight: bold;
}
#app nav a.router-link-active div {
  color: #009000;
}
#app nav a img.zev {
  content: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%20127%20127%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3Aserif%3D%22http%3A%2F%2Fwww.serif.com%2F%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%3B%22%3E%0A%20%20%20%20%3Cg%20transform%3D%22matrix(1%2C0%2C0%2C1%2C0%2C-83.2813)%22%3E%0A%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22matrix(1.33333%2C0%2C0%2C1.33333%2C0%2C2.66667e-06)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CclipPath%20id%3D%22_clip1%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M47.254%2C62.461C21.156%2C62.461%200%2C83.617%200%2C109.719C0%2C135.816%2021.156%2C156.973%2047.254%2C156.973C73.352%2C156.973%2094.508%2C135.816%2094.508%2C109.719C94.508%2C83.617%2073.352%2C62.461%2047.254%2C62.461Z%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FclipPath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20clip-path%3D%22url(%23_clip1)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22matrix(1%2C0%2C0%2C1%2C0%2C62)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CclipPath%20id%3D%22_clip2%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M47.254%2C0.461C21.156%2C0.461%200%2C21.617%200%2C47.719C0%2C73.816%2021.156%2C94.973%2047.254%2C94.973C73.352%2C94.973%2094.508%2C73.816%2094.508%2C47.719C94.508%2C21.617%2073.352%2C0.461%2047.254%2C0.461Z%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FclipPath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20clip-path%3D%22url(%23_clip2)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Crect%20x%3D%220%22%20y%3D%220.461%22%20width%3D%2294.508%22%20height%3D%2294.512%22%20style%3D%22fill%3Argb(51%2C51%2C51)%3Bfill-rule%3Anonzero%3B%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22matrix(1.33333%2C0%2C0%2C1.33333%2C0%2C2.66667e-06)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CclipPath%20id%3D%22_clip3%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M34.012%2C70.203L72.254%2C77.395L58.148%2C152.41L19.906%2C145.219L34.012%2C70.203Z%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FclipPath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20clip-path%3D%22url(%23_clip3)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CclipPath%20id%3D%22_clip4%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M3.656%2C46.633L110.297%2C66.688L90.242%2C173.328L-16.398%2C153.273L3.656%2C46.633Z%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FclipPath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20clip-path%3D%22url(%23_clip4)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M64.758%2C108.109L51.75%2C105.664L57.207%2C76.652C57.609%2C74.527%2054.875%2C73.309%2053.555%2C75.027L28.02%2C108.797C27.117%2C110.008%2027.781%2C111.773%2029.281%2C112.059L42.285%2C114.504L36.836%2C143.488C36.438%2C145.613%2039.172%2C146.828%2040.492%2C145.113L66.027%2C111.34C66.93%2C110.133%2066.258%2C108.391%2064.758%2C108.109Z%22%20style%3D%22fill%3Awhite%3Bfill-rule%3Anonzero%3B%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A");
}
#app nav a img.map {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path fill='rgb(100,100,100)' d='M565.6 36.2C572.1 40.7 576 48.1 576 56l0 336c0 10-6.2 18.9-15.5 22.4l-168 64c-5.2 2-10.9 2.1-16.1 .3L192.5 417.5l-160 61c-7.4 2.8-15.7 1.8-22.2-2.7S0 463.9 0 456L0 120c0-10 6.1-18.9 15.5-22.4l168-64c5.2-2 10.9-2.1 16.1-.3L383.5 94.5l160-61c7.4-2.8 15.7-1.8 22.2 2.7zM48 136.5l0 284.6 120-45.7 0-284.6L48 136.5zM360 422.7l0-285.4-144-48 0 285.4 144 48zm48-1.5l120-45.7 0-284.6L408 136.5l0 284.6z'/></svg>");
}
#app nav a.router-link-active img.map {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path fill='rgb(0,144,0)' d='M384 476.1L192 421.2l0-385.3L384 90.8l0 385.3zm32-1.2l0-386.5L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3l0 334.8c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2l0 386.5L32.9 474.5C17.1 480.8 0 469.2 0 452.2L0 117.4c0-9.8 6-18.6 15.1-22.3z'/></svg>");
}
#app nav a img.sites {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(51,51,51)' d='M0 88C0 74.7 10.7 64 24 64l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 112C10.7 112 0 101.3 0 88zM64 248c0-13.3 10.7-24 24-24l400 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L88 272c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24L24 432c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24z'/></svg>");
}
#app nav a.router-link-active img.sites {
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(0,144,0)' d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM64 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L96 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/></svg>");
}
#app .vmap-map {
  height: calc(100vh - 64px);
}
#app > .view {
  max-width: 400px;
  margin-inline: auto;
  padding-inline: 8px;
}
#app > .error {
  text-align: center;
  margin-top: 10em;
}
#app .site h1 {
  font-size: 1.25em;
  margin: 0 0 8px;
}
#app .site .info {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
#app .site .info i {
  font-size: 0.875em;
  font-style: normal;
  color: #777;
}
#app .site .info img {
  height: 13px;
}
.ui-dialog .site-info {
  margin: 20vh auto;
  width: 400px;
}
.ui-dialog .site-info .info {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  justify-content: center;
}
.ui-dialog .site-info .info i {
  font-size: 0.875em;
  font-style: normal;
  color: #777;
}
.ui-dialog .site-info .info img {
  height: 13px;
}
#charge {
  max-width: 400px;
  margin-inline: auto;
  padding-inline: 8px;
  text-align: center;
}
#charge img.logo {
  display: block;
  margin: 1em auto;
  height: 4em;
}
#charge .prices {
  display: flex;
  justify-content: center;
  gap: 16px;
}
#charge form button {
  display: flex;
  width: 100%;
  margin-block: 1.5em;
}
#charge form button.vipps {
  background-color: #ff5b24;
}
#charge > .error {
  margin-top: 2em;
}
#my {
  max-width: 800px;
  margin-bottom: 2em;
  margin-inline: auto;
  padding-inline: 8px;
}
#my > nav {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-block: 12px;
}
#my > nav a img {
  display: block;
  height: 2em;
}
#my > nav h1 {
  margin: 0;
}
#my > nav button.menu {
  font-size: 1.5em;
  margin-left: auto;
}
#my > nav .menu {
  right: 0;
  top: 3em;
}
#my > nav .menu a {
  display: block;
  font-size: 1.125em;
  padding: 0.5em 1em;
  color: inherit;
}
#my > nav .menu a:hover {
  text-decoration: none;
  backdrop-filter: invert(10%);
}
#my .list h2 {
  font-size: 1.125em;
  margin: 0 0 0.5em;
}
#my .list h2 a {
  color: inherit;
  cursor: pointer;
}
#my table.ui {
  margin: 1em 0 2em;
}
#my table.ui tr.no-border td {
  border: none;
}
#my .list i {
  font-size: 0.875em;
  font-style: normal;
  color: #777;
}
#my .list .btns {
  float: right;
  display: grid;
  grid-auto-flow: column;
  gap: 0.5em;
}
#my .list > .site .prices {
  display: flex;
  gap: 12px;
}
#my .list > .charger .state {
  display: flex;
  gap: 0.5em 1em;
  flex-wrap: wrap;
  font-size: 0.875em;
  margin-top: 1em;
}
#my .list > .charger .state > * {
  border-radius: 0.5em;
  padding: 3px 10px;
  color: #fff;
}
#my .list > .charger .state .status {
  background-color: #f70;
}
#my .list > .charger .state .status.Available {
  background-color: #090;
}
#my .list > .charger .state .status.Charging {
  background-color: crimson;
}
#my .list > .charger .state .status.Reserved,
#my .list > .charger .state .status.Unavailable {
  background-color: dodgerblue;
}
#my .list > .charger .state .status.Faulted,
#my .list > .charger .state .status.Offline {
  background-color: #777;
}
#my .list > .charger .state .reserved {
  background-color: dodgerblue;
}
#my .list > .charger .state .err {
  background-color: #777;
}
#my form.site .vmap-map {
  margin-top: 24px;
  height: 400px;
  border-radius: 6px;
}
#my footer {
  margin-top: 2em;
  text-align: center;
}
body {
  font-family: Arial;
  margin: 0;
}
.ui-dialog {
  z-index: 3;
}
.vmap-marker img {
  background-color: rgba(255, 255, 255);
  border-radius: 4px;
  display: block;
  padding: 2px;
  width: 28px;
  height: 28px;
  border: 1px solid #aaa;
}
.mapboxgl-user-location-accuracy-circle {
  pointer-events: none !important;
}
.busy {
  animation: 2s linear 0s infinite ui-spin;
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='rgb(51,51,51)' d='M304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm0 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm464-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM142.9 437A48 48 0 1 0 75 369.1 48 48 0 1 0 142.9 437zm0-294.2A48 48 0 1 0 75 75a48 48 0 1 0 67.9 67.9zM369.1 437A48 48 0 1 0 437 369.1 48 48 0 1 0 369.1 437z'/></svg>");
  margin-top: 4em;
  height: 2em;
  width: 100%;
}
.error {
  color: crimson;
}
form .error {
  margin-block: 0.5em;
  font-size: 0.875em;
  min-height: 1em;
  line-height: 1;
}
.btn-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.btn-row.right {
  justify-content: end;
}
div.list {
  margin-block: 2em;
}
div.list > * {
  background-color: #fafafa;
  border: 0.5px solid #ccc;
  padding: 16px 20px;
}
div.list > *:first-child {
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
}
div.list > *:last-child {
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
div.list > :hover {
  background-color: #eee;
}
/*# sourceMappingURL=chap.css.map */