/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/global.scss?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
 * App Global CSS
 * ----------------------------------------------------------------------------
 * Put style rules here that you want to apply globally. These styles are for
 * the entire app and not just one component. Additionally, this file can be
 * used as an entry point to import other CSS/Sass files to be included in the
 * output CSS.
 * For more information on global stylesheets, visit the documentation:
 * https://ionicframework.com/docs/layout/global-stylesheets
 */
/* Core CSS required for Ionic components to work properly */
:root {
  --ion-color-primary: #0054e9;
  --ion-color-primary-rgb: 0, 84, 233;
  --ion-color-primary-contrast: #fff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #004acd;
  --ion-color-primary-tint: #1a65eb;
  --ion-color-secondary: #0163aa;
  --ion-color-secondary-rgb: 1, 99, 170;
  --ion-color-secondary-contrast: #fff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #015796;
  --ion-color-secondary-tint: #1a73b3;
  --ion-color-tertiary: #6030ff;
  --ion-color-tertiary-rgb: 96, 48, 255;
  --ion-color-tertiary-contrast: #fff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #542ae0;
  --ion-color-tertiary-tint: #7045ff;
  --ion-color-success: #2dd55b;
  --ion-color-success-rgb: 45, 213, 91;
  --ion-color-success-contrast: #000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #28bb50;
  --ion-color-success-tint: #42d96b;
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb: 255, 196, 9;
  --ion-color-warning-contrast: #000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  --ion-color-danger: #c5000f;
  --ion-color-danger-rgb: 197, 0, 15;
  --ion-color-danger-contrast: #fff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #ad000d;
  --ion-color-danger-tint: #cb1a27;
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb: 244, 245, 248;
  --ion-color-light-contrast: #000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-tint: #f5f6f9;
  --ion-color-medium: #636469;
  --ion-color-medium-rgb: 99, 100, 105;
  --ion-color-medium-contrast: #fff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #57585c;
  --ion-color-medium-tint: #737478;
  --ion-color-dark: #222428;
  --ion-color-dark-rgb: 34, 36, 40;
  --ion-color-dark-contrast: #fff;
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-tint: #383a3e;
}

html.ios {
  --ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif;
}

html.md {
  --ion-default-font: "Roboto", "Helvetica Neue", sans-serif;
}

html {
  --ion-dynamic-font: -apple-system-body;
  --ion-font-family: var(--ion-default-font);
}

body {
  background: var(--ion-background-color);
  color: var(--ion-text-color);
}

body.backdrop-no-scroll {
  overflow: hidden;
}

html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type, html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type, html.ios ion-modal ion-footer ion-toolbar:first-of-type, html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type {
  padding-top: 6px;
}

html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type, html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {
  padding-bottom: 6px;
}

html.ios ion-modal ion-toolbar, html.ios .modal-footer-moving ion-toolbar {
  padding-right: calc(var(--ion-safe-area-right) + 8px);
  padding-left: calc(var(--ion-safe-area-left) + 8px);
}

@media screen and (min-width: 768px) {
  html.ios ion-modal.modal-card:first-of-type {
    --backdrop-opacity: 0.18;
  }
}
ion-modal.modal-default.show-modal ~ ion-modal.modal-default {
  --backdrop-opacity: 0;
  --box-shadow: none;
}

html.ios ion-modal.modal-card .ion-page {
  border-top-left-radius: var(--border-radius);
}

.ion-color-primary {
  --ion-color-base: var(--ion-color-primary, #0054e9) !important;
  --ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;
  --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;
  --ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important;
}

.ion-color-secondary {
  --ion-color-base: var(--ion-color-secondary, #0163aa) !important;
  --ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;
  --ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;
  --ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important;
}

.ion-color-tertiary {
  --ion-color-base: var(--ion-color-tertiary, #6030ff) !important;
  --ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;
  --ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;
  --ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important;
}

.ion-color-success {
  --ion-color-base: var(--ion-color-success, #2dd55b) !important;
  --ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;
  --ion-color-contrast: var(--ion-color-success-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;
  --ion-color-tint: var(--ion-color-success-tint, #42d96b) !important;
}

.ion-color-warning {
  --ion-color-base: var(--ion-color-warning, #ffc409) !important;
  --ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;
  --ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;
  --ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important;
}

.ion-color-danger {
  --ion-color-base: var(--ion-color-danger, #c5000f) !important;
  --ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;
  --ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;
  --ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important;
}

.ion-color-light {
  --ion-color-base: var(--ion-color-light, #f4f5f8) !important;
  --ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;
  --ion-color-contrast: var(--ion-color-light-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;
  --ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important;
}

.ion-color-medium {
  --ion-color-base: var(--ion-color-medium, #636469) !important;
  --ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;
  --ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;
  --ion-color-tint: var(--ion-color-medium-tint, #737478) !important;
}

.ion-color-dark {
  --ion-color-base: var(--ion-color-dark, #222428) !important;
  --ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;
  --ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;
  --ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important;
}

.ion-page {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  position: absolute;
  flex-direction: column;
  justify-content: space-between;
  contain: layout size style;
  z-index: 0;
}

.ion-page.ion-page-overlay-passthrough {
  pointer-events: none;
}

ion-modal > .ion-page {
  position: relative;
  contain: layout style;
  height: 100%;
}

.split-pane-visible > .ion-page.split-pane-main {
  position: relative;
}

ion-route, ion-route-redirect, ion-router, ion-select-option, ion-nav-controller, ion-menu-controller, ion-action-sheet-controller, ion-alert-controller, ion-loading-controller, ion-modal-controller, ion-picker-controller, ion-popover-controller, ion-toast-controller, .ion-page-hidden {
  display: none !important;
}

.ion-page-invisible {
  opacity: 0;
}

.can-go-back > ion-header ion-back-button {
  display: block;
}

html.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {
  --ion-statusbar-padding: 20px;
}

@supports (padding-top: 20px) {
  html {
    --ion-safe-area-top: var(--ion-statusbar-padding);
  }
}
@supports (padding-top: env(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));
    --ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));
    --ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));
    --ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right));
  }
}
ion-card.ion-color .ion-inherit-color, ion-card-header.ion-color .ion-inherit-color {
  color: inherit;
}

.menu-content {
  transform: translate3d(0, 0, 0);
}

.menu-content-open {
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: none;
  overflow-y: hidden;
}

.menu-content-open ion-content {
  --overflow: hidden;
}

.menu-content-open .ion-content-scroll-host {
  overflow: hidden;
}

.ios .menu-content-reveal {
  box-shadow: -8px 0 42px rgba(0, 0, 0, 0.08);
}

[dir=rtl].ios .menu-content-reveal {
  box-shadow: 8px 0 42px rgba(0, 0, 0, 0.08);
}

.md .menu-content-reveal {
  box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);
}

.md .menu-content-push {
  box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);
}

ion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

ion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

ion-accordion-group > ion-accordion:last-of-type ion-item[slot=header] {
  --border-width: 0px;
}

ion-accordion.accordion-animated > [slot=header] .ion-accordion-toggle-icon {
  transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);
}

@media (prefers-reduced-motion: reduce) {
  ion-accordion .ion-accordion-toggle-icon {
    transition: none !important;
  }
}
ion-accordion.accordion-expanding > [slot=header] .ion-accordion-toggle-icon, ion-accordion.accordion-expanded > [slot=header] .ion-accordion-toggle-icon {
  transform: rotate(180deg);
}

ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=header] {
  --border-width: 0px;
  --inner-border-width: 0px;
}

ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type, ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {
  margin-top: 0;
}

ion-input input::-webkit-date-and-time-value {
  text-align: start;
}

.ion-datetime-button-overlay {
  --width: fit-content;
  --height: fit-content;
}

.ion-datetime-button-overlay ion-datetime.datetime-grid {
  width: 320px;
  min-height: 320px;
}

[ion-last-focus], header[tabindex="-1"]:focus, [role=banner][tabindex="-1"]:focus, main[tabindex="-1"]:focus, [role=main][tabindex="-1"]:focus, h1[tabindex="-1"]:focus, [role=heading][aria-level="1"][tabindex="-1"]:focus {
  outline: none;
}

.popover-viewport:has(> ion-content) {
  overflow: hidden;
}

@supports not selector(:has(> ion-content)) {
  .popover-viewport {
    overflow: hidden;
  }
} 
/* Basic CSS for apps built with Ionic */
audio, canvas, progress, video {
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

b, strong {
  font-weight: bold;
}

img {
  max-width: 100%;
}

hr {
  height: 1px;
  border-width: 0;
  box-sizing: content-box;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

label, input, select, textarea {
  font-family: inherit;
  line-height: normal;
}

textarea {
  overflow: auto;
  height: auto;
  font: inherit;
  color: inherit;
}

textarea::placeholder {
  padding-left: 2px;
}

form, input, optgroup, select {
  margin: 0;
  font: inherit;
  color: inherit;
}

html input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}

a, a div, a span, a ion-icon, a ion-label, button, button div, button span, button ion-icon, button ion-label, .ion-tappable, [tappable], [tappable] div, [tappable] span, [tappable] ion-icon, [tappable] ion-label, input, textarea {
  touch-action: manipulation;
}

a ion-label, button ion-label {
  pointer-events: none;
}

button {
  padding: 0;
  border: 0;
  border-radius: 0;
  font-family: inherit;
  font-style: inherit;
  font-variant: inherit;
  line-height: 1;
  text-transform: none;
  cursor: pointer;
  -webkit-appearance: button;
}

[tappable] {
  cursor: pointer;
}

a[disabled], button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
} 
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

html {
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html.ion-ce body {
  display: block;
}

html.plt-pwa {
  height: 100vh;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  transform: translateZ(0);
  text-rendering: optimizeLegibility;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-user-drag: none;
  -ms-content-zooming: none;
  word-wrap: break-word;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
} 
html {
  font-family: var(--ion-font-family);
}

@supports (-webkit-touch-callout: none) {
  html {
    font: var(--ion-dynamic-font, 16px var(--ion-font-family));
  }
}
a {
  background-color: transparent;
  color: var(--ion-color-primary, #0054e9);
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  margin-top: 20px;
  font-size: 1.625rem;
}

h2 {
  margin-top: 18px;
  font-size: 1.5rem;
}

h3 {
  font-size: 1.375rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

small {
  font-size: 75%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
} 
.ion-hide {
  display: none !important;
}

.ion-hide-up {
  display: none !important;
}

.ion-hide-down {
  display: none !important;
}

@media (min-width: 576px) {
  .ion-hide-sm-up {
    display: none !important;
  }
}
@media (max-width: 575.98px) {
  .ion-hide-sm-down {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .ion-hide-md-up {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .ion-hide-md-down {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .ion-hide-lg-up {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .ion-hide-lg-down {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-hide-xl-up {
    display: none !important;
  }
}
@media (max-width: 1199.98px) {
  .ion-hide-xl-down {
    display: none !important;
  }
}
.ion-display-none {
  display: none !important;
}

@media (min-width: 576px) {
  .ion-display-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-none {
    display: none !important;
  }
}
.ion-display-inline {
  display: inline !important;
}

@media (min-width: 576px) {
  .ion-display-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline {
    display: inline !important;
  }
}
.ion-display-inline-block {
  display: inline-block !important;
}

@media (min-width: 576px) {
  .ion-display-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline-block {
    display: inline-block !important;
  }
}
.ion-display-block {
  display: block !important;
}

@media (min-width: 576px) {
  .ion-display-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-block {
    display: block !important;
  }
}
.ion-display-flex {
  display: flex !important;
}

@media (min-width: 576px) {
  .ion-display-sm-flex {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-flex {
    display: flex !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-flex {
    display: flex !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-flex {
    display: flex !important;
  }
}
.ion-display-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .ion-display-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline-flex {
    display: inline-flex !important;
  }
}
.ion-display-grid {
  display: grid !important;
}

@media (min-width: 576px) {
  .ion-display-sm-grid {
    display: grid !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-grid {
    display: grid !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-grid {
    display: grid !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-grid {
    display: grid !important;
  }
}
.ion-display-inline-grid {
  display: inline-grid !important;
}

@media (min-width: 576px) {
  .ion-display-sm-inline-grid {
    display: inline-grid !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline-grid {
    display: inline-grid !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline-grid {
    display: inline-grid !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline-grid {
    display: inline-grid !important;
  }
}
.ion-display-table {
  display: table !important;
}

@media (min-width: 576px) {
  .ion-display-sm-table {
    display: table !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-table {
    display: table !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-table {
    display: table !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-table {
    display: table !important;
  }
}
.ion-display-table-cell {
  display: table-cell !important;
}

@media (min-width: 576px) {
  .ion-display-sm-table-cell {
    display: table-cell !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-table-cell {
    display: table-cell !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-table-cell {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-table-cell {
    display: table-cell !important;
  }
}
.ion-display-table-row {
  display: table-row !important;
}

@media (min-width: 576px) {
  .ion-display-sm-table-row {
    display: table-row !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-table-row {
    display: table-row !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-table-row {
    display: table-row !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-table-row {
    display: table-row !important;
  }
} 
/* Optional CSS utils that can be commented out */
.ion-no-padding {
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.ion-padding {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-inline-start: var(--ion-padding, 16px);
  padding-inline-end: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-top {
  --padding-top: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
}

.ion-padding-start {
  --padding-start: var(--ion-padding, 16px);
  padding-inline-start: var(--ion-padding, 16px);
}

.ion-padding-end {
  --padding-end: var(--ion-padding, 16px);
  padding-inline-end: var(--ion-padding, 16px);
}

.ion-padding-bottom {
  --padding-bottom: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-vertical {
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-horizontal {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  padding-inline-start: var(--ion-padding, 16px);
  padding-inline-end: var(--ion-padding, 16px);
}

.ion-no-margin {
  --margin-start: 0;
  --margin-end: 0;
  --margin-top: 0;
  --margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.ion-margin {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-inline-start: var(--ion-margin, 16px);
  margin-inline-end: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-top {
  --margin-top: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
}

.ion-margin-start {
  --margin-start: var(--ion-margin, 16px);
  margin-inline-start: var(--ion-margin, 16px);
}

.ion-margin-end {
  --margin-end: var(--ion-margin, 16px);
  margin-inline-end: var(--ion-margin, 16px);
}

.ion-margin-bottom {
  --margin-bottom: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-vertical {
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-horizontal {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  margin-inline-start: var(--ion-margin, 16px);
  margin-inline-end: var(--ion-margin, 16px);
} 
.ion-float-left {
  float: left !important;
}

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

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

:host-context([dir=rtl]) .ion-float-start {
  float: right !important;
}

[dir=rtl] .ion-float-start {
  float: right !important;
}

@supports selector(:dir(rtl)) {
  .ion-float-start:dir(rtl) {
    float: right !important;
  }
}
.ion-float-end {
  float: right !important;
}

:host-context([dir=rtl]) .ion-float-end {
  float: left !important;
}

[dir=rtl] .ion-float-end {
  float: left !important;
}

@supports selector(:dir(rtl)) {
  .ion-float-end:dir(rtl) {
    float: left !important;
  }
}
@media (min-width: 576px) {
  .ion-float-sm-left {
    float: left !important;
  }
  .ion-float-sm-right {
    float: right !important;
  }
  .ion-float-sm-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-sm-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-sm-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-sm-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-sm-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-sm-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-sm-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-sm-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 768px) {
  .ion-float-md-left {
    float: left !important;
  }
  .ion-float-md-right {
    float: right !important;
  }
  .ion-float-md-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-md-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-md-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-md-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-md-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-md-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-md-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-md-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 992px) {
  .ion-float-lg-left {
    float: left !important;
  }
  .ion-float-lg-right {
    float: right !important;
  }
  .ion-float-lg-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-lg-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-lg-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-lg-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-lg-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-lg-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-lg-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-lg-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 1200px) {
  .ion-float-xl-left {
    float: left !important;
  }
  .ion-float-xl-right {
    float: right !important;
  }
  .ion-float-xl-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-xl-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-xl-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-xl-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-xl-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-xl-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-xl-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-xl-end:dir(rtl) {
      float: left !important;
    }
  }
} 
.ion-text-center {
  text-align: center !important;
}

.ion-text-justify {
  text-align: justify !important;
}

.ion-text-start {
  text-align: start !important;
}

.ion-text-end {
  text-align: end !important;
}

.ion-text-left {
  text-align: left !important;
}

.ion-text-right {
  text-align: right !important;
}

.ion-text-nowrap {
  white-space: nowrap !important;
}

.ion-text-wrap {
  white-space: normal !important;
}

@media (min-width: 576px) {
  .ion-text-sm-center {
    text-align: center !important;
  }
  .ion-text-sm-justify {
    text-align: justify !important;
  }
  .ion-text-sm-start {
    text-align: start !important;
  }
  .ion-text-sm-end {
    text-align: end !important;
  }
  .ion-text-sm-left {
    text-align: left !important;
  }
  .ion-text-sm-right {
    text-align: right !important;
  }
  .ion-text-sm-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-sm-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-center {
    text-align: center !important;
  }
  .ion-text-md-justify {
    text-align: justify !important;
  }
  .ion-text-md-start {
    text-align: start !important;
  }
  .ion-text-md-end {
    text-align: end !important;
  }
  .ion-text-md-left {
    text-align: left !important;
  }
  .ion-text-md-right {
    text-align: right !important;
  }
  .ion-text-md-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-md-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-center {
    text-align: center !important;
  }
  .ion-text-lg-justify {
    text-align: justify !important;
  }
  .ion-text-lg-start {
    text-align: start !important;
  }
  .ion-text-lg-end {
    text-align: end !important;
  }
  .ion-text-lg-left {
    text-align: left !important;
  }
  .ion-text-lg-right {
    text-align: right !important;
  }
  .ion-text-lg-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-lg-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-center {
    text-align: center !important;
  }
  .ion-text-xl-justify {
    text-align: justify !important;
  }
  .ion-text-xl-start {
    text-align: start !important;
  }
  .ion-text-xl-end {
    text-align: end !important;
  }
  .ion-text-xl-left {
    text-align: left !important;
  }
  .ion-text-xl-right {
    text-align: right !important;
  }
  .ion-text-xl-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-xl-wrap {
    white-space: normal !important;
  }
} 
.ion-text-uppercase {
  text-transform: uppercase !important;
}

.ion-text-lowercase {
  text-transform: lowercase !important;
}

.ion-text-capitalize {
  text-transform: capitalize !important;
}

@media (min-width: 576px) {
  .ion-text-sm-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-sm-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-sm-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-md-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-md-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-lg-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-lg-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-xl-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-xl-capitalize {
    text-transform: capitalize !important;
  }
} 
.ion-align-content-start {
  align-content: flex-start !important;
}

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

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

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

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

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

@media (min-width: 576px) {
  .ion-align-content-sm-start {
    align-content: flex-start !important;
  }
  .ion-align-content-sm-end {
    align-content: flex-end !important;
  }
  .ion-align-content-sm-center {
    align-content: center !important;
  }
  .ion-align-content-sm-between {
    align-content: space-between !important;
  }
  .ion-align-content-sm-around {
    align-content: space-around !important;
  }
  .ion-align-content-sm-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 768px) {
  .ion-align-content-md-start {
    align-content: flex-start !important;
  }
  .ion-align-content-md-end {
    align-content: flex-end !important;
  }
  .ion-align-content-md-center {
    align-content: center !important;
  }
  .ion-align-content-md-between {
    align-content: space-between !important;
  }
  .ion-align-content-md-around {
    align-content: space-around !important;
  }
  .ion-align-content-md-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 992px) {
  .ion-align-content-lg-start {
    align-content: flex-start !important;
  }
  .ion-align-content-lg-end {
    align-content: flex-end !important;
  }
  .ion-align-content-lg-center {
    align-content: center !important;
  }
  .ion-align-content-lg-between {
    align-content: space-between !important;
  }
  .ion-align-content-lg-around {
    align-content: space-around !important;
  }
  .ion-align-content-lg-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-content-xl-start {
    align-content: flex-start !important;
  }
  .ion-align-content-xl-end {
    align-content: flex-end !important;
  }
  .ion-align-content-xl-center {
    align-content: center !important;
  }
  .ion-align-content-xl-between {
    align-content: space-between !important;
  }
  .ion-align-content-xl-around {
    align-content: space-around !important;
  }
  .ion-align-content-xl-stretch {
    align-content: stretch !important;
  }
}
.ion-align-items-start {
  align-items: start !important;
}

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

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

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

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

@media (min-width: 576px) {
  .ion-align-items-sm-start {
    align-items: start !important;
  }
  .ion-align-items-sm-end {
    align-items: end !important;
  }
  .ion-align-items-sm-center {
    align-items: center !important;
  }
  .ion-align-items-sm-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-sm-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 768px) {
  .ion-align-items-md-start {
    align-items: start !important;
  }
  .ion-align-items-md-end {
    align-items: end !important;
  }
  .ion-align-items-md-center {
    align-items: center !important;
  }
  .ion-align-items-md-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-md-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 992px) {
  .ion-align-items-lg-start {
    align-items: start !important;
  }
  .ion-align-items-lg-end {
    align-items: end !important;
  }
  .ion-align-items-lg-center {
    align-items: center !important;
  }
  .ion-align-items-lg-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-lg-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-items-xl-start {
    align-items: start !important;
  }
  .ion-align-items-xl-end {
    align-items: end !important;
  }
  .ion-align-items-xl-center {
    align-items: center !important;
  }
  .ion-align-items-xl-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-xl-baseline {
    align-items: baseline !important;
  }
}
.ion-align-self-start {
  align-self: start !important;
}

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

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

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

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

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

@media (min-width: 576px) {
  .ion-align-self-sm-start {
    align-self: start !important;
  }
  .ion-align-self-sm-end {
    align-self: end !important;
  }
  .ion-align-self-sm-center {
    align-self: center !important;
  }
  .ion-align-self-sm-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-sm-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-sm-auto {
    align-self: auto !important;
  }
}
@media (min-width: 768px) {
  .ion-align-self-md-start {
    align-self: start !important;
  }
  .ion-align-self-md-end {
    align-self: end !important;
  }
  .ion-align-self-md-center {
    align-self: center !important;
  }
  .ion-align-self-md-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-md-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-md-auto {
    align-self: auto !important;
  }
}
@media (min-width: 992px) {
  .ion-align-self-lg-start {
    align-self: start !important;
  }
  .ion-align-self-lg-end {
    align-self: end !important;
  }
  .ion-align-self-lg-center {
    align-self: center !important;
  }
  .ion-align-self-lg-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-lg-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-lg-auto {
    align-self: auto !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-self-xl-start {
    align-self: start !important;
  }
  .ion-align-self-xl-end {
    align-self: end !important;
  }
  .ion-align-self-xl-center {
    align-self: center !important;
  }
  .ion-align-self-xl-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-xl-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-xl-auto {
    align-self: auto !important;
  }
}
.ion-justify-content-start {
  justify-content: flex-start !important;
}

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

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

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

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

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

@media (min-width: 576px) {
  .ion-justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-sm-center {
    justify-content: center !important;
  }
  .ion-justify-content-sm-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-sm-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 768px) {
  .ion-justify-content-md-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-md-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-md-center {
    justify-content: center !important;
  }
  .ion-justify-content-md-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-md-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 992px) {
  .ion-justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-lg-center {
    justify-content: center !important;
  }
  .ion-justify-content-lg-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-lg-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1200px) {
  .ion-justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-xl-center {
    justify-content: center !important;
  }
  .ion-justify-content-xl-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-xl-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
}
.ion-flex-row {
  flex-direction: row !important;
}

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

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

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

@media (min-width: 576px) {
  .ion-flex-sm-row {
    flex-direction: row !important;
  }
  .ion-flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-sm-column {
    flex-direction: column !important;
  }
  .ion-flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-row {
    flex-direction: row !important;
  }
  .ion-flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-md-column {
    flex-direction: column !important;
  }
  .ion-flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-row {
    flex-direction: row !important;
  }
  .ion-flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-lg-column {
    flex-direction: column !important;
  }
  .ion-flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-row {
    flex-direction: row !important;
  }
  .ion-flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-xl-column {
    flex-direction: column !important;
  }
  .ion-flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
}
.ion-wrap {
  flex-wrap: wrap !important;
}

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

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

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

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

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

@media (min-width: 576px) {
  .ion-flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
.ion-flex-1 {
  flex: 1 !important;
}

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

.ion-flex-initial {
  flex: initial !important;
}

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

@media (min-width: 576px) {
  .ion-flex-sm-1 {
    flex: 1 !important;
  }
  .ion-flex-sm-auto {
    flex: auto !important;
  }
  .ion-flex-sm-initial {
    flex: initial !important;
  }
  .ion-flex-sm-none {
    flex: none !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-1 {
    flex: 1 !important;
  }
  .ion-flex-md-auto {
    flex: auto !important;
  }
  .ion-flex-md-initial {
    flex: initial !important;
  }
  .ion-flex-md-none {
    flex: none !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-1 {
    flex: 1 !important;
  }
  .ion-flex-lg-auto {
    flex: auto !important;
  }
  .ion-flex-lg-initial {
    flex: initial !important;
  }
  .ion-flex-lg-none {
    flex: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-1 {
    flex: 1 !important;
  }
  .ion-flex-xl-auto {
    flex: auto !important;
  }
  .ion-flex-xl-initial {
    flex: initial !important;
  }
  .ion-flex-xl-none {
    flex: none !important;
  }
}
.ion-flex-grow-0 {
  flex-grow: 0 !important;
}

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

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

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

@media (min-width: 576px) {
  .ion-flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
}
.ion-order-first {
  order: -1 !important;
}

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

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

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

.ion-order-3 {
  order: 3 !important;
}

.ion-order-4 {
  order: 4 !important;
}

.ion-order-5 {
  order: 5 !important;
}

.ion-order-6 {
  order: 6 !important;
}

.ion-order-7 {
  order: 7 !important;
}

.ion-order-8 {
  order: 8 !important;
}

.ion-order-9 {
  order: 9 !important;
}

.ion-order-10 {
  order: 10 !important;
}

.ion-order-11 {
  order: 11 !important;
}

.ion-order-12 {
  order: 12 !important;
}

.ion-order-last {
  order: 13 !important;
}

@media (min-width: 576px) {
  .ion-order-sm-first {
    order: -1 !important;
  }
  .ion-order-sm-0 {
    order: 0 !important;
  }
  .ion-order-sm-1 {
    order: 1 !important;
  }
  .ion-order-sm-2 {
    order: 2 !important;
  }
  .ion-order-sm-3 {
    order: 3 !important;
  }
  .ion-order-sm-4 {
    order: 4 !important;
  }
  .ion-order-sm-5 {
    order: 5 !important;
  }
  .ion-order-sm-6 {
    order: 6 !important;
  }
  .ion-order-sm-7 {
    order: 7 !important;
  }
  .ion-order-sm-8 {
    order: 8 !important;
  }
  .ion-order-sm-9 {
    order: 9 !important;
  }
  .ion-order-sm-10 {
    order: 10 !important;
  }
  .ion-order-sm-11 {
    order: 11 !important;
  }
  .ion-order-sm-12 {
    order: 12 !important;
  }
  .ion-order-sm-last {
    order: 13 !important;
  }
}
@media (min-width: 768px) {
  .ion-order-md-first {
    order: -1 !important;
  }
  .ion-order-md-0 {
    order: 0 !important;
  }
  .ion-order-md-1 {
    order: 1 !important;
  }
  .ion-order-md-2 {
    order: 2 !important;
  }
  .ion-order-md-3 {
    order: 3 !important;
  }
  .ion-order-md-4 {
    order: 4 !important;
  }
  .ion-order-md-5 {
    order: 5 !important;
  }
  .ion-order-md-6 {
    order: 6 !important;
  }
  .ion-order-md-7 {
    order: 7 !important;
  }
  .ion-order-md-8 {
    order: 8 !important;
  }
  .ion-order-md-9 {
    order: 9 !important;
  }
  .ion-order-md-10 {
    order: 10 !important;
  }
  .ion-order-md-11 {
    order: 11 !important;
  }
  .ion-order-md-12 {
    order: 12 !important;
  }
  .ion-order-md-last {
    order: 13 !important;
  }
}
@media (min-width: 992px) {
  .ion-order-lg-first {
    order: -1 !important;
  }
  .ion-order-lg-0 {
    order: 0 !important;
  }
  .ion-order-lg-1 {
    order: 1 !important;
  }
  .ion-order-lg-2 {
    order: 2 !important;
  }
  .ion-order-lg-3 {
    order: 3 !important;
  }
  .ion-order-lg-4 {
    order: 4 !important;
  }
  .ion-order-lg-5 {
    order: 5 !important;
  }
  .ion-order-lg-6 {
    order: 6 !important;
  }
  .ion-order-lg-7 {
    order: 7 !important;
  }
  .ion-order-lg-8 {
    order: 8 !important;
  }
  .ion-order-lg-9 {
    order: 9 !important;
  }
  .ion-order-lg-10 {
    order: 10 !important;
  }
  .ion-order-lg-11 {
    order: 11 !important;
  }
  .ion-order-lg-12 {
    order: 12 !important;
  }
  .ion-order-lg-last {
    order: 13 !important;
  }
}
@media (min-width: 1200px) {
  .ion-order-xl-first {
    order: -1 !important;
  }
  .ion-order-xl-0 {
    order: 0 !important;
  }
  .ion-order-xl-1 {
    order: 1 !important;
  }
  .ion-order-xl-2 {
    order: 2 !important;
  }
  .ion-order-xl-3 {
    order: 3 !important;
  }
  .ion-order-xl-4 {
    order: 4 !important;
  }
  .ion-order-xl-5 {
    order: 5 !important;
  }
  .ion-order-xl-6 {
    order: 6 !important;
  }
  .ion-order-xl-7 {
    order: 7 !important;
  }
  .ion-order-xl-8 {
    order: 8 !important;
  }
  .ion-order-xl-9 {
    order: 9 !important;
  }
  .ion-order-xl-10 {
    order: 10 !important;
  }
  .ion-order-xl-11 {
    order: 11 !important;
  }
  .ion-order-xl-12 {
    order: 12 !important;
  }
  .ion-order-xl-last {
    order: 13 !important;
  }
} 
/* Темна палітра Ionic: вмикається класом `ion-palette-dark` на `html` */
.ion-palette-dark {
  --ion-color-primary: #4d8dff;
  --ion-color-primary-rgb: 77, 141, 255;
  --ion-color-primary-contrast: #000;
  --ion-color-primary-contrast-rgb: 0, 0, 0;
  --ion-color-primary-shade: #447ce0;
  --ion-color-primary-tint: #5f98ff;
  --ion-color-secondary: #46b1ff;
  --ion-color-secondary-rgb: 70, 177, 255;
  --ion-color-secondary-contrast: #000;
  --ion-color-secondary-contrast-rgb: 0, 0, 0;
  --ion-color-secondary-shade: #3e9ce0;
  --ion-color-secondary-tint: #59b9ff;
  --ion-color-tertiary: #8482fb;
  --ion-color-tertiary-rgb: 132, 130, 251;
  --ion-color-tertiary-contrast: #000;
  --ion-color-tertiary-contrast-rgb: 0, 0, 0;
  --ion-color-tertiary-shade: #7472dd;
  --ion-color-tertiary-tint: #908ffb;
  --ion-color-success: #2dd55b;
  --ion-color-success-rgb: 45, 213, 91;
  --ion-color-success-contrast: #000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #28bb50;
  --ion-color-success-tint: #42d96b;
  --ion-color-warning: #ffce31;
  --ion-color-warning-rgb: 255, 206, 49;
  --ion-color-warning-contrast: #000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0b52b;
  --ion-color-warning-tint: #ffd346;
  --ion-color-danger: #f24c58;
  --ion-color-danger-rgb: 242, 76, 88;
  --ion-color-danger-contrast: #000;
  --ion-color-danger-contrast-rgb: 0, 0, 0;
  --ion-color-danger-shade: #d5434d;
  --ion-color-danger-tint: #f35e69;
  --ion-color-light: #222428;
  --ion-color-light-rgb: 34, 36, 40;
  --ion-color-light-contrast: #fff;
  --ion-color-light-contrast-rgb: 255, 255, 255;
  --ion-color-light-shade: #1e2023;
  --ion-color-light-tint: #383a3e;
  --ion-color-medium: #989aa2;
  --ion-color-medium-rgb: 152, 154, 162;
  --ion-color-medium-contrast: #000;
  --ion-color-medium-contrast-rgb: 0, 0, 0;
  --ion-color-medium-shade: #86888f;
  --ion-color-medium-tint: #a2a4ab;
  --ion-color-dark: #f4f5f8;
  --ion-color-dark-rgb: 244, 245, 248;
  --ion-color-dark-contrast: #000;
  --ion-color-dark-contrast-rgb: 0, 0, 0;
  --ion-color-dark-shade: #d7d8da;
  --ion-color-dark-tint: #f5f6f9;
}

.ion-palette-dark.ios {
  --ion-background-color: #000000;
  --ion-background-color-rgb: 0, 0, 0;
  --ion-text-color: #ffffff;
  --ion-text-color-rgb: 255, 255, 255;
  --ion-background-color-step-50: #0d0d0d;
  --ion-background-color-step-100: #1a1a1a;
  --ion-background-color-step-150: #262626;
  --ion-background-color-step-200: #333333;
  --ion-background-color-step-250: #404040;
  --ion-background-color-step-300: #4d4d4d;
  --ion-background-color-step-350: #595959;
  --ion-background-color-step-400: #666666;
  --ion-background-color-step-450: #737373;
  --ion-background-color-step-500: #808080;
  --ion-background-color-step-550: #8c8c8c;
  --ion-background-color-step-600: #999999;
  --ion-background-color-step-650: #a6a6a6;
  --ion-background-color-step-700: #b3b3b3;
  --ion-background-color-step-750: #bfbfbf;
  --ion-background-color-step-800: #cccccc;
  --ion-background-color-step-850: #d9d9d9;
  --ion-background-color-step-900: #e6e6e6;
  --ion-background-color-step-950: #f2f2f2;
  --ion-text-color-step-50: #f2f2f2;
  --ion-text-color-step-100: #e6e6e6;
  --ion-text-color-step-150: #d9d9d9;
  --ion-text-color-step-200: #cccccc;
  --ion-text-color-step-250: #bfbfbf;
  --ion-text-color-step-300: #b3b3b3;
  --ion-text-color-step-350: #a6a6a6;
  --ion-text-color-step-400: #999999;
  --ion-text-color-step-450: #8c8c8c;
  --ion-text-color-step-500: #808080;
  --ion-text-color-step-550: #737373;
  --ion-text-color-step-600: #666666;
  --ion-text-color-step-650: #595959;
  --ion-text-color-step-700: #4d4d4d;
  --ion-text-color-step-750: #404040;
  --ion-text-color-step-800: #333333;
  --ion-text-color-step-850: #262626;
  --ion-text-color-step-900: #1a1a1a;
  --ion-text-color-step-950: #0d0d0d;
  --ion-item-background: #000000;
  --ion-tab-bar-background-focused: #252525;
  --ion-card-background: #1c1c1d;
}

.ion-palette-dark.ios ion-modal {
  --ion-background-color: var(--ion-color-step-100, var(--ion-background-color-step-100));
  --ion-toolbar-background: var(--ion-color-step-150, var(--ion-background-color-step-150));
  --ion-toolbar-border-color: var(--ion-color-step-250, var(--ion-background-color-step-250));
}

.ion-palette-dark.md {
  --ion-background-color: #121212;
  --ion-background-color-rgb: 18, 18, 18;
  --ion-text-color: #ffffff;
  --ion-text-color-rgb: 255, 255, 255;
  --ion-background-color-step-50: #1e1e1e;
  --ion-background-color-step-100: #2a2a2a;
  --ion-background-color-step-150: #363636;
  --ion-background-color-step-200: #414141;
  --ion-background-color-step-250: #4d4d4d;
  --ion-background-color-step-300: #595959;
  --ion-background-color-step-350: #656565;
  --ion-background-color-step-400: #717171;
  --ion-background-color-step-450: #7d7d7d;
  --ion-background-color-step-500: #898989;
  --ion-background-color-step-550: #949494;
  --ion-background-color-step-600: #a0a0a0;
  --ion-background-color-step-650: #acacac;
  --ion-background-color-step-700: #b8b8b8;
  --ion-background-color-step-750: #c4c4c4;
  --ion-background-color-step-800: #d0d0d0;
  --ion-background-color-step-850: #dbdbdb;
  --ion-background-color-step-900: #e7e7e7;
  --ion-background-color-step-950: #f3f3f3;
  --ion-text-color-step-50: #f3f3f3;
  --ion-text-color-step-100: #e7e7e7;
  --ion-text-color-step-150: #dbdbdb;
  --ion-text-color-step-200: #d0d0d0;
  --ion-text-color-step-250: #c4c4c4;
  --ion-text-color-step-300: #b8b8b8;
  --ion-text-color-step-350: #acacac;
  --ion-text-color-step-400: #a0a0a0;
  --ion-text-color-step-450: #949494;
  --ion-text-color-step-500: #898989;
  --ion-text-color-step-550: #7d7d7d;
  --ion-text-color-step-600: #717171;
  --ion-text-color-step-650: #656565;
  --ion-text-color-step-700: #595959;
  --ion-text-color-step-750: #4d4d4d;
  --ion-text-color-step-800: #414141;
  --ion-text-color-step-850: #363636;
  --ion-text-color-step-900: #2a2a2a;
  --ion-text-color-step-950: #1e1e1e;
  --ion-item-background: #1e1e1e;
  --ion-toolbar-background: #1f1f1f;
  --ion-tab-bar-background: #1f1f1f;
  --ion-tab-bar-background-focused: #353535;
  --ion-card-background: #1e1e1e;
} 
/** Ionic CSS Variables **/
:root {
  /** Каса самообслуговування: єдиний відступ і заокруглення робочої області **/
  --self-service-gap: 8px;
  --self-service-radius: 8px;
  /*
   * Тло й текст світлої теми
   * 
   * Палітра Ionic задає їх лише для темної теми,
   * а компоненти Ionic підставляють ці значення запасними 
   * 
   * Без явного визначення `var(--ion-background-color)`
   * у наших стилях не працює
   */
  --ion-background-color: #ffffff;
  --ion-background-color-rgb: 255, 255, 255;
  --ion-text-color: #000000;
  --ion-text-color-rgb: 0, 0, 0;
  /** primary **/
  --ion-color-primary: #eb1d39;
  --ion-color-primary-rgb: 235, 29, 57;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #cf1a32;
  --ion-color-primary-tint: #ed344d;
  /** secondary **/
  --ion-color-secondary: #00d127;
  --ion-color-secondary-rgb: 0, 209, 39;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #00b822;
  --ion-color-secondary-tint: #1ad63d;
  /** tertiary **/
  --ion-color-tertiary: #2980b9;
  --ion-color-tertiary-rgb: 41, 128, 185;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #2471a3;
  --ion-color-tertiary-tint: #3e8dc0;
  /** success **/
  --ion-color-success: #33dc77;
  --ion-color-success-rgb: 51, 220, 119;
  --ion-color-success-contrast: #000000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #2dc269;
  --ion-color-success-tint: #47e085;
  /** warning **/
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb: 255, 196, 9;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  /** danger **/
  --ion-color-danger: #f53d3d;
  --ion-color-danger-rgb: 245, 61, 61;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #d83636;
  --ion-color-danger-tint: #f65050;
  /** dark **/
  --ion-color-dark: #232323;
  --ion-color-dark-rgb: 35, 35, 35;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1f1f1f;
  --ion-color-dark-tint: #393939;
  /** medium **/
  --ion-color-medium: #92949c;
  --ion-color-medium-rgb: 146, 148, 156;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #808289;
  --ion-color-medium-tint: #9d9fa6;
  /** light **/
  --ion-color-light: #f6f8fc;
  --ion-color-light-rgb: 246, 248, 252;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d8dade;
  --ion-color-light-tint: #f7f9fc;
  /** Стала темна поверхня: шапка, сітка товарів, екран клієнта **/
  --surface-dark: #232323;
  --surface-dark-rgb: 35, 35, 35;
  --surface-dark-tint: #393939;
  /** Текст і лінії на ній **/
  --on-surface-dark: #f6f8fc;
  --on-surface-dark-rgb: 246, 248, 252;
  /**
   * Тло стану: успіх, попередження, помилка
   *
   * Колір змішується з тлом застосунку, а не накладається прозорим шаром:
   * інакше крізь вікно просвічує те, що під ним
   **/
  --surface-success: color-mix(
    in srgb,
    var(--ion-color-success) 16%,
    var(--ion-background-color)
  );
  --surface-warning: color-mix(
    in srgb,
    var(--ion-color-warning) 24%,
    var(--ion-background-color)
  );
  --surface-danger: color-mix(
    in srgb,
    var(--ion-color-danger) 14%,
    var(--ion-background-color)
  );
  /** table-header **/
  --ion-color-table-header: #e9e9e9;
  --ion-color-table-header-rgb: 233, 233, 233;
  --ion-color-table-header-contrast: #000000;
  --ion-color-table-header-contrast-rgb: 0, 0, 0;
  --ion-color-table-header-shade: #cdcdcd;
  --ion-color-table-header-tint: #ebebeb;
  /** highlight-row **/
  --ion-color-highlight-row: #e9e9e9;
  --ion-color-highlight-row-rgb: 233, 233, 233;
  --ion-color-highlight-row-contrast: #000000;
  --ion-color-highlight-row-contrast-rgb: 0, 0, 0;
  --ion-color-highlight-row-shade: #cdcdcd;
  --ion-color-highlight-row-tint: #ebebeb;
}

/*
   * Dark Colors
   * -------------------------------------------
   */
.ion-palette-dark {
  color-scheme: dark;
  /** primary **/
  --ion-color-primary: #eb1d39;
  --ion-color-primary-rgb: 235, 29, 57;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #cf1a32;
  --ion-color-primary-tint: #ed344d;
  /** secondary **/
  --ion-color-secondary: #00d127;
  --ion-color-secondary-rgb: 0, 209, 39;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #00b822;
  --ion-color-secondary-tint: #1ad63d;
  /** tertiary **/
  --ion-color-tertiary: #2980b9;
  --ion-color-tertiary-rgb: 41, 128, 185;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #2471a3;
  --ion-color-tertiary-tint: #3e8dc0;
  /** success **/
  --ion-color-success: #33dc77;
  --ion-color-success-rgb: 51, 220, 119;
  --ion-color-success-contrast: #000000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #2dc269;
  --ion-color-success-tint: #47e085;
  /** warning **/
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb: 255, 196, 9;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  /** danger **/
  --ion-color-danger: #f53d3d;
  --ion-color-danger-rgb: 245, 61, 61;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #d83636;
  --ion-color-danger-tint: #f65050;
  /** dark **/
  --ion-color-dark: #ffffff;
  --ion-color-dark-rgb: 255, 255, 255;
  --ion-color-dark-contrast: #000000;
  --ion-color-dark-contrast-rgb: 0, 0, 0;
  --ion-color-dark-shade: #e0e0e0;
  --ion-color-dark-tint: #ffffff;
  /** medium **/
  --ion-color-medium: #92949c;
  --ion-color-medium-rgb: 146, 148, 156;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #808289;
  --ion-color-medium-tint: #9d9fa6;
  /**
   * light: на крок світліший за тло, як у палітрах Ionic,
   * інакше елементи кольору light зливаються з тлом
   **/
  --ion-color-light: #2e2e2e;
  --ion-color-light-rgb: 46, 46, 46;
  --ion-color-light-contrast: #ffffff;
  --ion-color-light-contrast-rgb: 255, 255, 255;
  --ion-color-light-shade: #292929;
  --ion-color-light-tint: #434343;
  /** table-header **/
  --ion-color-table-header: #393939;
  --ion-color-table-header-rgb: 57, 57, 57;
  --ion-color-table-header-contrast: #ffffff;
  --ion-color-table-header-contrast-rgb: 255, 255, 255;
  --ion-color-table-header-shade: #323232;
  --ion-color-table-header-tint: #4d4d4d;
  /** highlight-row **/
  --ion-color-highlight-row: #393939;
  --ion-color-highlight-row-rgb: 57, 57, 57;
  --ion-color-highlight-row-contrast: #ffffff;
  --ion-color-highlight-row-contrast-rgb: 255, 255, 255;
  --ion-color-highlight-row-shade: #323232;
  --ion-color-highlight-row-tint: #4d4d4d;
  /* Решту тла, тексту й відтінків дає палітра Ionic */
  --ion-border-color: #92949c;
}

/*
   * Темна тема Material: тло застосунку, а не типове від Ionic
   * -------------------------------------------
   */
.ion-palette-dark.md {
  --ion-background-color: #232323;
  --ion-background-color-rgb: 35, 35, 35;
  --ion-text-color: #ffffff;
  --ion-text-color-rgb: 255, 255, 255;
  /* Крок — тло, змішане з текстом на n‰; текстовий ряд дзеркальний */
  --ion-background-color-step-50: #2e2e2e;
  --ion-background-color-step-100: #393939;
  --ion-background-color-step-150: #444444;
  --ion-background-color-step-200: #4f4f4f;
  --ion-background-color-step-250: #5a5a5a;
  --ion-background-color-step-300: #656565;
  --ion-background-color-step-350: #707070;
  --ion-background-color-step-400: #7b7b7b;
  --ion-background-color-step-450: #868686;
  --ion-background-color-step-500: #919191;
  --ion-background-color-step-550: #9c9c9c;
  --ion-background-color-step-600: #a7a7a7;
  --ion-background-color-step-650: #b2b2b2;
  --ion-background-color-step-700: #bdbdbd;
  --ion-background-color-step-750: #c8c8c8;
  --ion-background-color-step-800: #d3d3d3;
  --ion-background-color-step-850: #dedede;
  --ion-background-color-step-900: #e9e9e9;
  --ion-background-color-step-950: #f4f4f4;
  --ion-text-color-step-50: #f4f4f4;
  --ion-text-color-step-100: #e9e9e9;
  --ion-text-color-step-150: #dedede;
  --ion-text-color-step-200: #d3d3d3;
  --ion-text-color-step-250: #c8c8c8;
  --ion-text-color-step-300: #bdbdbd;
  --ion-text-color-step-350: #b2b2b2;
  --ion-text-color-step-400: #a7a7a7;
  --ion-text-color-step-450: #9c9c9c;
  --ion-text-color-step-500: #919191;
  --ion-text-color-step-550: #868686;
  --ion-text-color-step-600: #7b7b7b;
  --ion-text-color-step-650: #707070;
  --ion-text-color-step-700: #656565;
  --ion-text-color-step-750: #5a5a5a;
  --ion-text-color-step-800: #4f4f4f;
  --ion-text-color-step-850: #444444;
  --ion-text-color-step-900: #393939;
  --ion-text-color-step-950: #2e2e2e;
  /* Сімейство до Ionic 8: його читає більшість стилів компонентів */
  --ion-color-step-50: #2e2e2e;
  --ion-color-step-100: #393939;
  --ion-color-step-150: #444444;
  --ion-color-step-200: #4f4f4f;
  --ion-color-step-250: #5a5a5a;
  --ion-color-step-300: #656565;
  --ion-color-step-350: #707070;
  --ion-color-step-400: #7b7b7b;
  --ion-color-step-450: #868686;
  --ion-color-step-500: #919191;
  --ion-color-step-550: #9c9c9c;
  --ion-color-step-600: #a7a7a7;
  --ion-color-step-650: #b2b2b2;
  --ion-color-step-700: #bdbdbd;
  --ion-color-step-750: #c8c8c8;
  --ion-color-step-800: #d3d3d3;
  --ion-color-step-850: #dedede;
  --ion-color-step-900: #e9e9e9;
  --ion-color-step-950: #f4f4f4;
  --ion-item-background: #232323;
  --ion-toolbar-background: #232323;
  --ion-tab-bar-background: #2f2f2f;
  --ion-card-background: #2e2e2e;
}

ion-col ion-icon {
  font-size: 20px;
}

/*
 * На Android (cordova-android) WebView уже вписаний у безпечну зону між
 * системними панелями, а Ionic усе одно додає env() як padding у ion-header
 * (зверху) та ion-footer (знизу) через --ion-safe-area-*
 *
 * Це дублювало відступ і давало порожні смуги
 *
 * Обнуляємо змінні для Android; iOS (виріз) не чіпаємо
 */
.plt-android {
  --ion-safe-area-top: 0px;
  --ion-safe-area-bottom: 0px;
  --ion-safe-area-left: 0px;
  --ion-safe-area-right: 0px;
}

ion-header ion-toolbar {
  --background: var(--surface-dark);
  --color: var(--on-surface-dark);
}
ion-header ion-toolbar ion-buttons.ios {
  align-self: center;
  min-height: 32px;
}
ion-header ion-toolbar ion-button,
ion-header ion-toolbar ion-back-button {
  --color: var(--on-surface-dark);
}
ion-header ion-toolbar ion-button ion-icon,
ion-header ion-toolbar ion-back-button ion-icon {
  font-size: 24px;
}

ion-footer ion-toolbar {
  --background: var(--surface-dark);
  --color: var(--on-surface-dark);
  text-align: center;
}
ion-footer ion-toolbar ion-button.one-button {
  width: 90%;
  max-width: calc(100% - 40px);
}
ion-footer ion-toolbar ion-button.two-buttons {
  width: 45%;
  min-width: 150px;
  padding: 0px 20px;
}

ion-item > ion-icon[slot=start],
ion-item > bk-icon[slot=start] {
  margin-inline-end: 16px;
}

/* Список налаштувань: рядок з підписом ліворуч і значенням праворуч
 *
 * Підпис над значенням залишається класом Ionic `ion-text-start` 
 */
.settings ion-item {
  --padding-start: 16px;
}
.settings.ios ion-item {
  --padding-start: 20px;
}
.settings ion-input,
.settings ion-select {
  text-align: right;
}

/* Заголовок групи всередині списку: сам по собі `ion-list-header` не читається
 * як заголовок, а його власна висота й поля `ion-label` відсувають підпис
 * угору, до пунктів, яких заголовок не стосується
 */
ion-list-header.group-header {
  --min-height: auto;
  margin-top: 1.5rem;
  padding-bottom: 0;
}
ion-list-header.group-header ion-label {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--ion-color-dark);
  font-size: 1rem;
  font-weight: 700;
}

/* Підпис, якому потрібні два рядки */
.multiline-label {
  display: flex;
  flex-direction: column;
  white-space: normal;
}

/* Незаповнене обов'язкове значення */
.required {
  color: var(--ion-color-danger);
}

/* Рядок із хибним значенням */
.invalid-value {
  --background: var(--surface-danger);
}

/* Пояснення до хибного значення поля */
.error-form-note {
  padding-bottom: 4px;
  color: var(--ion-color-danger);
}

/* Пояснення до хибного значення блока: значок і текст одним рядком */
.error-message {
  display: flex;
  color: var(--ion-color-danger);
  font-size: 14px;
  margin: 8px 0px 4px;
}
.error-message ion-icon[slot=start] {
  min-width: 14px;
  margin-inline-end: 8px;
}

/* Пояснення до хибного значення. Місце під нього зайняте завжди, тому поява
   повідомлення не зсуває вміст вікна */
.value-error {
  visibility: hidden;
  flex-shrink: 0;
  margin-top: 6px;
  text-align: center;
  color: var(--ion-color-danger);
  font-size: 14px;
  line-height: 18px;
}
.value-error--shown {
  visibility: visible;
}
.value-error__title {
  margin: 0px;
}
.value-error__list {
  margin: 2px 0px 0px;
  padding: 0px;
  list-style: none;
}

.code-value {
  font-family: monospace;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

/* Шапка діалогу: призначення ліворуч, значення товару праворуч */
.dialog-title {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

/* Підпис читається як звичайний текст: верхній регістр малює md-режим */
ion-button.md,
ion-button.ios,
ion-segment-button.md,
ion-segment-button.ios,
ion-alert.md .alert-button,
ion-alert.ios .alert-button {
  text-transform: none;
}

/* Розмір задається самому підпису: від шрифту кнопки Ionic рахує ще й іконку */
ion-button.md ion-label,
ion-button.ios ion-label {
  font-size: 20px;
}

/* Панель із рядком пошуку в ios: Ionic обнуляє їй власні відступи, і рядок
   торкається країв. Повертаємо їх панелі, беручи типові 3px Ionic */
.toolbar-searchbar.ios {
  padding-top: var(--padding-top, 3px);
  padding-bottom: var(--padding-bottom, 3px);
}

.logo-container {
  display: flex;
  justify-content: center;
}
.logo-container .header-logo {
  max-height: 24px;
}

.period-container {
  --background: var(--surface-dark);
  --color: var(--on-surface-dark);
  --min-height: 32px;
  text-align: center;
  font-weight: bold;
}

/* Сторінка редактора документа: форма займає всю висоту, тому реквізити
   й пошук лишаються на місці, а прокрутка дістається переліку рядків */
ion-content.doc-page::part(scroll) {
  display: flex;
  flex-direction: column;
}
ion-content.doc-page > form {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}

/* Редактор документа складу: форма займає висоту сторінки, прокручується лише
   перелік рядків, а шапка таблиці прилипає до його початку */
.doc {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}
.doc ion-content {
  flex: 1;
  min-height: 0;
}
.doc ion-content::part(scroll) {
  display: flex;
  flex-direction: column;
}
.doc .table-header {
  min-height: 40px;
  position: sticky;
  top: 0;
  z-index: 3;
}

/* Реквізити документа: рядком в альбомній орієнтації, стовпцем у портретній */
.doc__header {
  display: flex;
  min-height: 48px;
  flex-direction: row;
  padding-bottom: 4px;
}
@media (orientation: portrait) {
  .doc__header {
    flex-direction: column;
  }
}
.doc__header > ion-item {
  --padding-start: 0px;
  --inner-padding-end: 0px;
  --min-height: 0px;
  height: 48px;
  margin: 0px 8px;
}
.doc__header > ion-item::part(native) {
  height: 100%;
}
.doc__header > ion-item.ios {
  --padding-start: 4px;
  --padding-end: 4px;
}
.doc__header bk-select-row {
  margin: 0px 8px;
}

/* Сплачено або отримано більше, ніж у документі, і менше — тобто з боргом */
.amount-over {
  color: var(--ion-color-success);
  font-weight: bold;
}

.amount-short {
  color: var(--ion-color-danger);
  font-weight: bold;
}

/* Кількість у рядку документа: поле без власних відступів, з межею знизу */
.doc .column-input {
  text-align: center;
  width: 64px;
}
.doc .column-input ion-item {
  --min-height: 44px;
  --inner-padding-end: 0px;
  --padding-start: 0px;
  --padding-end: 0px;
  border-bottom: 1px solid var(--ion-color-medium);
  margin-bottom: 4px;
}
.doc .column-input ion-item ion-input {
  --padding-end: 0px;
  text-align: center;
}

/* Кнопки редактора: підпис «Відкласти» чи «Створити» довший за типову кнопку */
ion-footer.doc-footer ion-toolbar ion-button {
  width: 150px;
  min-width: 100px;
  padding: 0px 5px;
}

/* Порожня сторінка або її розділ: напис по центру вільного місця.
   Порожній рядок усередині списку — це `ion-item` з `ion-note` */
div.no-data {
  display: flex;
  flex: 1;
  height: 100%;
}
div.no-data span {
  font-size: 18px;
  font-weight: 500;
  margin: auto;
  text-align: center;
  white-space: break-spaces;
}

ion-input.md,
ion-input.ios,
ion-textarea.md,
ion-textarea.ios {
  --highlight-color-focused: var(--ion-text-color);
  --highlight-color-valid: var(--ion-text-color);
}

/*
 * Рядки в тексті тосту розділяє \n:
 * Ionic 5 використовував `--white-space: pre-wrap`,
 * а в Ionic 8 типово `normal` і рядки зливаються
 *
 * pre-line, а не pre-wrap, щоб відступи багаторядкових шаблонних рядків
 * у коді не потрапляли на екран
 */
ion-toast {
  --white-space: pre-line;
  --toast-stack-offset: 0px;
  transform: translateY(var(--toast-stack-offset));
  transition: transform 200ms ease-out;
}

.default-toast,
.success-toast,
.warning-toast,
.error-toast,
.update-toast {
  --toast-level-color: var(--ion-color-light);
  --background: var(--ion-color-dark);
  --color: var(--ion-color-light);
  --box-shadow: 0 0 0 2px var(--toast-level-color);
}
.default-toast::part(icon),
.success-toast::part(icon),
.warning-toast::part(icon),
.error-toast::part(icon),
.update-toast::part(icon) {
  color: var(--toast-level-color);
  font-size: 36px;
}
.default-toast::part(button),
.success-toast::part(button),
.warning-toast::part(button),
.error-toast::part(button),
.update-toast::part(button) {
  --button-color: var(--ion-color-light);
  height: 40px;
  width: 40px;
}
@media (any-hover: hover) {
  .default-toast::part(button):hover,
  .success-toast::part(button):hover,
  .warning-toast::part(button):hover,
  .error-toast::part(button):hover,
  .update-toast::part(button):hover {
    background-color: rgba(var(--ion-color-light-rgb), 0.08);
  }
}

.default-toast.ios::part(button),
.success-toast.ios::part(button),
.warning-toast.ios::part(button),
.error-toast.ios::part(button),
.update-toast.ios::part(button) {
  padding: 0px;
}

.success-toast {
  --toast-level-color: var(--ion-color-success);
}

.warning-toast {
  --toast-level-color: var(--ion-color-warning);
}

.error-toast {
  --toast-level-color: var(--ion-color-danger);
}

.warning-toast::part(header),
.error-toast::part(header) {
  color: var(--toast-level-color);
  font-weight: bold;
}

.medium-toast,
.large-toast {
  --toast-button-size: 48px;
  --toast-font-size: 1.2rem;
}
.medium-toast::part(header), .medium-toast::part(message),
.large-toast::part(header),
.large-toast::part(message) {
  font-size: var(--toast-font-size);
}
.medium-toast::part(header),
.large-toast::part(header) {
  line-height: 1.25;
}
.medium-toast::part(button),
.large-toast::part(button) {
  width: var(--toast-button-size);
  height: var(--toast-button-size);
  font-size: var(--toast-font-size);
  padding: calc((var(--toast-button-size) - 1.4em) / 2);
}

.medium-toast::part(container) {
  padding-block: 4px;
}

.large-toast {
  --toast-button-size: 56px;
  --toast-font-size: 1.4rem;
  --min-height: 72px;
  --border-radius: var(--self-service-radius);
  transform: translateY(calc(var(--toast-stack-offset) - 16px));
}
.large-toast::part(header) {
  margin-bottom: 0;
}

.update-toast::part(header) {
  color: var(--ion-color-success);
  font-weight: bold;
}
.update-toast::part(button) {
  height: auto;
  width: auto;
}

@media (orientation: landscape) {
  .printer-select-option .alert-wrapper,
  .scales-select-option .alert-wrapper,
  .usb-device-select-option .alert-wrapper,
  .connection-protocol-select-option .alert-wrapper {
    min-width: 60%;
  }
}
@media (orientation: portrait) {
  .printer-select-option .alert-wrapper,
  .scales-select-option .alert-wrapper,
  .usb-device-select-option .alert-wrapper,
  .connection-protocol-select-option .alert-wrapper {
    min-width: 90%;
  }
}
.printer-select-option .alert-radio-label,
.scales-select-option .alert-radio-label,
.usb-device-select-option .alert-radio-label,
.connection-protocol-select-option .alert-radio-label {
  display: flex;
  align-items: center;
  flex-direction: row;
}
.printer-select-option .alert-radio-label ion-icon,
.scales-select-option .alert-radio-label ion-icon,
.usb-device-select-option .alert-radio-label ion-icon,
.connection-protocol-select-option .alert-radio-label ion-icon {
  padding-right: 4px;
  min-width: 16px;
}

@media (orientation: landscape) {
  .terminal-merchant-select-option .alert-wrapper {
    min-width: 60%;
  }
}
@media (orientation: portrait) {
  .terminal-merchant-select-option .alert-wrapper {
    min-width: 90%;
  }
}
.terminal-merchant-select-option .alert-radio-label {
  white-space: normal;
}

.finance-expense-select-option button[disabled],
.new-product-select-option button[disabled] {
  background: var(--ion-color-table-header);
}
.finance-expense-select-option button[disabled] .alert-radio-icon,
.new-product-select-option button[disabled] .alert-radio-icon {
  display: none;
}
.finance-expense-select-option button[disabled] .alert-radio-label,
.new-product-select-option button[disabled] .alert-radio-label {
  padding-left: 22px;
  font-weight: 500;
}

@media (orientation: landscape) {
  .move-select-option .alert-wrapper {
    min-width: 60%;
  }
}
@media (orientation: portrait) {
  .move-select-option .alert-wrapper {
    min-width: 80%;
  }
}

@media (orientation: landscape) {
  .qtsp-select-option .alert-wrapper {
    min-width: 70%;
  }
}
@media (orientation: portrait) {
  .qtsp-select-option .alert-wrapper {
    min-width: 90%;
  }
}
.qtsp-select-option .alert-radio-label {
  white-space: normal;
  padding-top: 6px;
  padding-bottom: 6px;
}

/*
 * Alert вікна з `AlertService` і ті, які Ionic створює для `ion-select`
 *
 * У вікні вибору кнопки не мають наших класів,
 * тому їх колір задано нижче, за роллю
 */
.confirm-dialog-alert,
.select-alert {
  --dialog-min-width: 360px;
  --dialog-title-height: 56px;
  --dialog-message-padding-top: 0px;
  --dialog-buttons-height: 56px;
  --dialog-button-height: 36px;
  --dialog-button-font-size: 20px;
}
.confirm-dialog-alert .alert-wrapper,
.select-alert .alert-wrapper {
  --alert-frame-color: var(--ion-color-medium);
  margin: auto;
  min-width: var(--dialog-min-width);
  box-shadow: 0 0 0 2px var(--alert-frame-color);
}
.confirm-dialog-alert .alert-head,
.select-alert .alert-head {
  padding: 0px;
  padding-bottom: 12px;
  flex-shrink: 0;
}
.confirm-dialog-alert .alert-head .alert-title,
.select-alert .alert-head .alert-title {
  background: var(--surface-dark);
  color: var(--on-surface-dark);
  height: var(--dialog-title-height);
  padding: 16px 12px;
}
.confirm-dialog-alert .alert-head .alert-sub-title,
.select-alert .alert-head .alert-sub-title {
  font-weight: 500;
  padding: 12px;
}
.confirm-dialog-alert .alert-message,
.select-alert .alert-message {
  max-height: 480px;
  padding: var(--dialog-message-padding-top) 12px 0px;
  color: var(--ion-text-color);
}
.confirm-dialog-alert .alert-message p:first-child,
.select-alert .alert-message p:first-child {
  margin-top: 0px;
  margin-bottom: 4px;
}
.confirm-dialog-alert .alert-message p:last-child,
.select-alert .alert-message p:last-child {
  margin-bottom: 0px;
}
.confirm-dialog-alert .alert-message ul,
.select-alert .alert-message ul {
  margin: 4px 0px;
}
.confirm-dialog-alert .alert-message li,
.select-alert .alert-message li {
  padding: 4px 0px;
}
.confirm-dialog-alert .alert-message .message-danger,
.select-alert .alert-message .message-danger {
  color: var(--ion-color-danger);
}
.confirm-dialog-alert .alert-input-group,
.select-alert .alert-input-group {
  padding: 0px 12px;
  font-size: 24px;
}
.confirm-dialog-alert .alert-checkbox-group,
.select-alert .alert-checkbox-group {
  margin-top: 12px;
}
.confirm-dialog-alert .alert-button-group,
.select-alert .alert-button-group {
  background: var(--surface-dark);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 12px;
  margin-top: 12px;
  height: var(--dialog-buttons-height);
  flex-shrink: 0;
}
.confirm-dialog-alert .alert-button-group .alert-button,
.select-alert .alert-button-group .alert-button {
  font-weight: 500;
  font-size: var(--dialog-button-font-size);
  margin: 0;
  height: var(--dialog-button-height);
  width: 45%;
  min-width: 132px;
  border-radius: 4px;
}
.confirm-dialog-alert .alert-button-group .alert-button span,
.select-alert .alert-button-group .alert-button span {
  justify-content: center;
}
.confirm-dialog-alert .alert-button-group .alert-button:only-child,
.select-alert .alert-button-group .alert-button:only-child {
  width: 100%;
}
.confirm-dialog-alert .alert-button-group .alert-button.primary,
.select-alert .alert-button-group .alert-button.primary {
  background: var(--ion-color-primary);
  color: var(--on-surface-dark);
}
.confirm-dialog-alert .alert-button-group .alert-button.tertiary,
.select-alert .alert-button-group .alert-button.tertiary {
  background: var(--ion-color-tertiary);
  color: var(--on-surface-dark);
}
.confirm-dialog-alert .alert-button-group .alert-button.ion-focused,
.select-alert .alert-button-group .alert-button.ion-focused {
  outline: 2px solid var(--on-surface-dark);
  outline-offset: 2px;
}

.select-alert .alert-button.alert-button-role-cancel {
  background: var(--ion-color-tertiary);
  color: var(--on-surface-dark);
}
.select-alert .alert-button:not(.alert-button-role-cancel) {
  background: var(--ion-color-primary);
  color: var(--on-surface-dark);
}

.confirm-dialog-alert--warning .alert-wrapper {
  --alert-frame-color: var(--ion-color-warning);
  background: var(--surface-warning);
}
.confirm-dialog-alert--error .alert-wrapper {
  --alert-frame-color: var(--ion-color-danger);
  background: var(--surface-danger);
}

.customer-alert {
  --dialog-min-width: 480px;
  --dialog-title-height: 64px;
  --dialog-message-padding-top: 16px;
  --dialog-buttons-height: 72px;
  --dialog-button-height: 56px;
  --dialog-button-font-size: 1.4rem;
}
.customer-alert .alert-head .alert-title {
  font-size: 1.4rem;
}
.customer-alert .alert-message {
  font-size: 1.2rem;
}

.terminal-receipt-alert {
  --width: 92vw;
  --max-width: 440px;
}
.terminal-receipt-alert .alert-message {
  max-height: 60vh;
  scrollbar-width: thin;
}
.terminal-receipt-alert .alert-message::-webkit-scrollbar {
  width: 4px;
}
.terminal-receipt-alert .alert-message::-webkit-scrollbar-thumb {
  background: var(--ion-color-medium);
  border-radius: 2px;
}

.terminal-receipt {
  width: fit-content;
  margin: 0px auto;
  color: var(--ion-color-dark);
  font-family: monospace;
  font-size: 12px;
  line-height: 1.35;
  white-space: pre;
}

.confirm-dialog {
  --background: rgba(0, 0, 0, 0.6);
  --width: 100%;
  --height: 100%;
}
.confirm-dialog .ion-page {
  display: flex;
  align-items: center;
  justify-content: center;
}

ion-modal.choose-dialog {
  --width: 360px;
  --max-width: calc(100vw - 32px);
  --height: auto;
  --border-radius: 4px;
  --box-shadow: 0 0 0 2px var(--ion-color-medium);
}
ion-modal.choose-dialog .ion-page {
  position: relative;
  display: block;
  contain: content;
}

ion-header ion-toolbar.landscape-toolbar {
  padding: 8px 8px 4px;
}

.landscape-toolbar {
  --min-height: 0;
}
.landscape-toolbar ion-buttons {
  align-self: stretch;
  align-items: stretch;
  margin: 0;
}
.landscape-toolbar ion-buttons ion-button {
  margin: 0;
}
.landscape-toolbar .path {
  display: flex;
  align-items: stretch;
  gap: 4px;
  padding-inline-end: 12px;
}
.landscape-toolbar .path ion-button {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
}
.landscape-toolbar ion-button {
  height: auto;
  min-height: 36px;
}
.landscape-toolbar ion-button ion-label {
  font-size: 16px;
  line-height: 16px;
  white-space: normal;
}

.menu-popover {
  --width: 240px;
  --max-width: calc(100vw - 32px);
}

.payment-dialog {
  --width: 100%;
  --height: 100%;
  --border-radius: 0;
}

.self-service-pin-dialog {
  --width: 360px;
  --height: 560px;
  --max-width: 100%;
  --max-height: 100%;
}

.self-service-pin-value {
  margin-bottom: 12px;
  color: var(--ion-color-primary);
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 8px;
  text-align: center;
}

/* Вікно, розтягнуте на всю висоту екрана:
   правило перекриває розміри картки, які Ionic задає селектором :host */
ion-modal.expanded-dialog {
  --height: 100%;
}

/* Кнопка розгортання потрібна лише там, де Ionic робить вікно карткою:
   нижче цієї межі воно й так на весь екран */
.expand-button {
  display: none;
}

@media only screen and (min-width: 768px) and (min-height: 600px) {
  .expand-button {
    display: block;
  }
}
@media only screen and (min-width: 768px) and (min-height: 600px) {
  .last-shift-totals {
    --width: 720px;
  }
}

.loading-service {
  --background: var(--ion-background-color);
}
.loading-service .loading-wrapper {
  padding: 0px;
}
.loading-service .warning-message {
  color: var(--ion-color-danger);
  font-weight: bold;
}

.toolbar-search,
.barcode-search,
.create-sale-searchbar,
.payment-searchbar {
  z-index: 105;
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  padding: 0;
  box-shadow: 0 1px 5px 0;
}

.toolbar-search.ios,
.barcode-search.ios,
.create-sale-searchbar.ios,
.payment-searchbar.ios {
  --background: var(--ion-background-color);
}

.create-sale-searchbar,
.payment-searchbar {
  top: 8px;
}

.create-sale-searchbar.ios,
.payment-searchbar.ios {
  top: 10px;
}

.search-anchor {
  position: relative;
}
.search-anchor > .search-select-list {
  top: 100%;
}

.search-select-list {
  z-index: 50;
  position: absolute;
  overflow-y: scroll;
  left: 0;
  right: 0;
  padding: 0;
  margin: 0 auto;
  box-shadow: 0 1px 15px 0;
  max-height: 50vh;
  height: fit-content;
  width: 100%;
}
.search-select-list ion-list-header,
.search-select-list ion-item {
  --inner-padding-end: 0px;
  --padding-end: 16px;
}
.search-select-list ion-list-header .name,
.search-select-list ion-item .name {
  display: flex;
  flex-direction: column;
  margin: 8px 0px 7px;
}
.search-select-list ion-list-header .name ion-note,
.search-select-list ion-item .name ion-note {
  font-size: 12px;
  color: var(--ion-color-medium);
}
.search-select-list ion-list-header .price,
.search-select-list ion-item .price {
  text-align: right;
}

/* Фільтр категорії над переліком сировини */
.ingredients-filters {
  display: flex;
  flex-direction: column;
}
.ingredients-filters bk-select-row {
  margin: 0px 8px;
}

.table-header {
  background: var(--ion-color-table-header);
  border-bottom: 1px solid var(--ion-color-medium);
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  min-height: 32px;
  padding: 0px 8px;
}

.table-data {
  padding: 0px;
}
.table-data ion-item {
  --inner-padding-end: 0px;
  --padding-start: 0px;
  --padding-end: 0px;
}
.table-data-row {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0px 8px;
  min-height: 32px;
}

.table-data ion-item.clickable {
  cursor: pointer;
}

.column-menu {
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
  width: 40px;
}
.column-menu ion-button {
  margin: 0;
}

.column-chevron {
  flex-shrink: 0;
  width: 24px;
  font-size: 20px;
  color: var(--ion-color-medium);
}

div.even-row:nth-child(2n),
div.odd-row:nth-child(2n+1) {
  background: var(--ion-color-highlight-row);
}
div.even-row:nth-child(2n) ion-item,
div.odd-row:nth-child(2n+1) ion-item {
  --background: auto;
}

.ngx-printer {
  background-color: #fff;
  color: #000;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  z-index: 1000000;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/theme/variables.scss?ngGlobalStyle ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/** Ionic CSS Variables **/
:root {
  /** Каса самообслуговування: єдиний відступ і заокруглення робочої області **/
  --self-service-gap: 8px;
  --self-service-radius: 8px;
  /*
   * Тло й текст світлої теми
   * 
   * Палітра Ionic задає їх лише для темної теми,
   * а компоненти Ionic підставляють ці значення запасними 
   * 
   * Без явного визначення `var(--ion-background-color)`
   * у наших стилях не працює
   */
  --ion-background-color: #ffffff;
  --ion-background-color-rgb: 255, 255, 255;
  --ion-text-color: #000000;
  --ion-text-color-rgb: 0, 0, 0;
  /** primary **/
  --ion-color-primary: #eb1d39;
  --ion-color-primary-rgb: 235, 29, 57;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #cf1a32;
  --ion-color-primary-tint: #ed344d;
  /** secondary **/
  --ion-color-secondary: #00d127;
  --ion-color-secondary-rgb: 0, 209, 39;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #00b822;
  --ion-color-secondary-tint: #1ad63d;
  /** tertiary **/
  --ion-color-tertiary: #2980b9;
  --ion-color-tertiary-rgb: 41, 128, 185;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #2471a3;
  --ion-color-tertiary-tint: #3e8dc0;
  /** success **/
  --ion-color-success: #33dc77;
  --ion-color-success-rgb: 51, 220, 119;
  --ion-color-success-contrast: #000000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #2dc269;
  --ion-color-success-tint: #47e085;
  /** warning **/
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb: 255, 196, 9;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  /** danger **/
  --ion-color-danger: #f53d3d;
  --ion-color-danger-rgb: 245, 61, 61;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #d83636;
  --ion-color-danger-tint: #f65050;
  /** dark **/
  --ion-color-dark: #232323;
  --ion-color-dark-rgb: 35, 35, 35;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1f1f1f;
  --ion-color-dark-tint: #393939;
  /** medium **/
  --ion-color-medium: #92949c;
  --ion-color-medium-rgb: 146, 148, 156;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #808289;
  --ion-color-medium-tint: #9d9fa6;
  /** light **/
  --ion-color-light: #f6f8fc;
  --ion-color-light-rgb: 246, 248, 252;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d8dade;
  --ion-color-light-tint: #f7f9fc;
  /** Стала темна поверхня: шапка, сітка товарів, екран клієнта **/
  --surface-dark: #232323;
  --surface-dark-rgb: 35, 35, 35;
  --surface-dark-tint: #393939;
  /** Текст і лінії на ній **/
  --on-surface-dark: #f6f8fc;
  --on-surface-dark-rgb: 246, 248, 252;
  /**
   * Тло стану: успіх, попередження, помилка
   *
   * Колір змішується з тлом застосунку, а не накладається прозорим шаром:
   * інакше крізь вікно просвічує те, що під ним
   **/
  --surface-success: color-mix(
    in srgb,
    var(--ion-color-success) 16%,
    var(--ion-background-color)
  );
  --surface-warning: color-mix(
    in srgb,
    var(--ion-color-warning) 24%,
    var(--ion-background-color)
  );
  --surface-danger: color-mix(
    in srgb,
    var(--ion-color-danger) 14%,
    var(--ion-background-color)
  );
  /** table-header **/
  --ion-color-table-header: #e9e9e9;
  --ion-color-table-header-rgb: 233, 233, 233;
  --ion-color-table-header-contrast: #000000;
  --ion-color-table-header-contrast-rgb: 0, 0, 0;
  --ion-color-table-header-shade: #cdcdcd;
  --ion-color-table-header-tint: #ebebeb;
  /** highlight-row **/
  --ion-color-highlight-row: #e9e9e9;
  --ion-color-highlight-row-rgb: 233, 233, 233;
  --ion-color-highlight-row-contrast: #000000;
  --ion-color-highlight-row-contrast-rgb: 0, 0, 0;
  --ion-color-highlight-row-shade: #cdcdcd;
  --ion-color-highlight-row-tint: #ebebeb;
}

/*
   * Dark Colors
   * -------------------------------------------
   */
.ion-palette-dark {
  color-scheme: dark;
  /** primary **/
  --ion-color-primary: #eb1d39;
  --ion-color-primary-rgb: 235, 29, 57;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #cf1a32;
  --ion-color-primary-tint: #ed344d;
  /** secondary **/
  --ion-color-secondary: #00d127;
  --ion-color-secondary-rgb: 0, 209, 39;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #00b822;
  --ion-color-secondary-tint: #1ad63d;
  /** tertiary **/
  --ion-color-tertiary: #2980b9;
  --ion-color-tertiary-rgb: 41, 128, 185;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #2471a3;
  --ion-color-tertiary-tint: #3e8dc0;
  /** success **/
  --ion-color-success: #33dc77;
  --ion-color-success-rgb: 51, 220, 119;
  --ion-color-success-contrast: #000000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #2dc269;
  --ion-color-success-tint: #47e085;
  /** warning **/
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb: 255, 196, 9;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  /** danger **/
  --ion-color-danger: #f53d3d;
  --ion-color-danger-rgb: 245, 61, 61;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #d83636;
  --ion-color-danger-tint: #f65050;
  /** dark **/
  --ion-color-dark: #ffffff;
  --ion-color-dark-rgb: 255, 255, 255;
  --ion-color-dark-contrast: #000000;
  --ion-color-dark-contrast-rgb: 0, 0, 0;
  --ion-color-dark-shade: #e0e0e0;
  --ion-color-dark-tint: #ffffff;
  /** medium **/
  --ion-color-medium: #92949c;
  --ion-color-medium-rgb: 146, 148, 156;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #808289;
  --ion-color-medium-tint: #9d9fa6;
  /**
   * light: на крок світліший за тло, як у палітрах Ionic,
   * інакше елементи кольору light зливаються з тлом
   **/
  --ion-color-light: #2e2e2e;
  --ion-color-light-rgb: 46, 46, 46;
  --ion-color-light-contrast: #ffffff;
  --ion-color-light-contrast-rgb: 255, 255, 255;
  --ion-color-light-shade: #292929;
  --ion-color-light-tint: #434343;
  /** table-header **/
  --ion-color-table-header: #393939;
  --ion-color-table-header-rgb: 57, 57, 57;
  --ion-color-table-header-contrast: #ffffff;
  --ion-color-table-header-contrast-rgb: 255, 255, 255;
  --ion-color-table-header-shade: #323232;
  --ion-color-table-header-tint: #4d4d4d;
  /** highlight-row **/
  --ion-color-highlight-row: #393939;
  --ion-color-highlight-row-rgb: 57, 57, 57;
  --ion-color-highlight-row-contrast: #ffffff;
  --ion-color-highlight-row-contrast-rgb: 255, 255, 255;
  --ion-color-highlight-row-shade: #323232;
  --ion-color-highlight-row-tint: #4d4d4d;
  /* Решту тла, тексту й відтінків дає палітра Ionic */
  --ion-border-color: #92949c;
}

/*
   * Темна тема Material: тло застосунку, а не типове від Ionic
   * -------------------------------------------
   */
.ion-palette-dark.md {
  --ion-background-color: #232323;
  --ion-background-color-rgb: 35, 35, 35;
  --ion-text-color: #ffffff;
  --ion-text-color-rgb: 255, 255, 255;
  /* Крок — тло, змішане з текстом на n‰; текстовий ряд дзеркальний */
  --ion-background-color-step-50: #2e2e2e;
  --ion-background-color-step-100: #393939;
  --ion-background-color-step-150: #444444;
  --ion-background-color-step-200: #4f4f4f;
  --ion-background-color-step-250: #5a5a5a;
  --ion-background-color-step-300: #656565;
  --ion-background-color-step-350: #707070;
  --ion-background-color-step-400: #7b7b7b;
  --ion-background-color-step-450: #868686;
  --ion-background-color-step-500: #919191;
  --ion-background-color-step-550: #9c9c9c;
  --ion-background-color-step-600: #a7a7a7;
  --ion-background-color-step-650: #b2b2b2;
  --ion-background-color-step-700: #bdbdbd;
  --ion-background-color-step-750: #c8c8c8;
  --ion-background-color-step-800: #d3d3d3;
  --ion-background-color-step-850: #dedede;
  --ion-background-color-step-900: #e9e9e9;
  --ion-background-color-step-950: #f4f4f4;
  --ion-text-color-step-50: #f4f4f4;
  --ion-text-color-step-100: #e9e9e9;
  --ion-text-color-step-150: #dedede;
  --ion-text-color-step-200: #d3d3d3;
  --ion-text-color-step-250: #c8c8c8;
  --ion-text-color-step-300: #bdbdbd;
  --ion-text-color-step-350: #b2b2b2;
  --ion-text-color-step-400: #a7a7a7;
  --ion-text-color-step-450: #9c9c9c;
  --ion-text-color-step-500: #919191;
  --ion-text-color-step-550: #868686;
  --ion-text-color-step-600: #7b7b7b;
  --ion-text-color-step-650: #707070;
  --ion-text-color-step-700: #656565;
  --ion-text-color-step-750: #5a5a5a;
  --ion-text-color-step-800: #4f4f4f;
  --ion-text-color-step-850: #444444;
  --ion-text-color-step-900: #393939;
  --ion-text-color-step-950: #2e2e2e;
  /* Сімейство до Ionic 8: його читає більшість стилів компонентів */
  --ion-color-step-50: #2e2e2e;
  --ion-color-step-100: #393939;
  --ion-color-step-150: #444444;
  --ion-color-step-200: #4f4f4f;
  --ion-color-step-250: #5a5a5a;
  --ion-color-step-300: #656565;
  --ion-color-step-350: #707070;
  --ion-color-step-400: #7b7b7b;
  --ion-color-step-450: #868686;
  --ion-color-step-500: #919191;
  --ion-color-step-550: #9c9c9c;
  --ion-color-step-600: #a7a7a7;
  --ion-color-step-650: #b2b2b2;
  --ion-color-step-700: #bdbdbd;
  --ion-color-step-750: #c8c8c8;
  --ion-color-step-800: #d3d3d3;
  --ion-color-step-850: #dedede;
  --ion-color-step-900: #e9e9e9;
  --ion-color-step-950: #f4f4f4;
  --ion-item-background: #232323;
  --ion-toolbar-background: #232323;
  --ion-tab-bar-background: #2f2f2f;
  --ion-card-background: #2e2e2e;
}

/*# sourceMappingURL=styles.css.map*/