/*!**********************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/core.css ***!
  \**********************************************************************************************************************************************************************************************************************************/
: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-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: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-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,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-reveal{box-shadow:4px 0px 16px rgba(0,0,0,.18)}.md .menu-content-push{box-shadow:4px 0px 16px rgba(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}}

/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/normalize.css ***!
  \***************************************************************************************************************************************************************************************************************************************/
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}

/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/structure.css ***!
  \***************************************************************************************************************************************************************************************************************************************/
*{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}

/*!****************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/typography.css ***!
  \****************************************************************************************************************************************************************************************************************************************/
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}

/*!*************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/display.css ***!
  \*************************************************************************************************************************************************************************************************************************************/
.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}}

/*!*************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/padding.css ***!
  \*************************************************************************************************************************************************************************************************************************************/
.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)}

/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/float-elements.css ***!
  \********************************************************************************************************************************************************************************************************************************************/
.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}}}

/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/text-alignment.css ***!
  \********************************************************************************************************************************************************************************************************************************************/
.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}}

/*!*************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/text-transformation.css ***!
  \*************************************************************************************************************************************************************************************************************************************************/
.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}}

/*!****************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@ionic/angular/css/flex-utils.css ***!
  \****************************************************************************************************************************************************************************************************************************************/
.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}}

/*!*******************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/leaflet/dist/leaflet.css ***!
  \*******************************************************************************************************************************************************************************************************************************/
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

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

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

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

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

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


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

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

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

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

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


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url('layers.ef6db8722c2c3f9a.png');
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url('layers-2x.9859cd1231006a4a.png');
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url('marker-icon.d577052aa271e13f.png');
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

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


/* div icon */

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


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

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

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/*!***************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/leaflet-routing-machine/dist/leaflet-routing-machine.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************/
.leaflet-routing-container, .leaflet-routing-error {
    width: 320px;
    background-color: white;
    padding-top: 4px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.leaflet-control-container .leaflet-routing-container-hide {
    width: 32px;
    height: 32px;
}

.leaflet-routing-container h2 {
    font-size: 14px;
}

.leaflet-routing-container h3 {
    font-size: 12px;
    font-weight: normal;
}

.leaflet-routing-collapsible .leaflet-routing-geocoders {
    margin-top: 20px;
}

.leaflet-routing-alt, .leaflet-routing-geocoders, .leaflet-routing-error {
    padding: 6px;
    margin-top: 2px;
    margin-bottom: 6px;
    border-bottom: 1px solid #ccc;
    max-height: 320px;
    overflow-y: auto;
    transition: all 0.2s ease;
}

.leaflet-control-container .leaflet-routing-container-hide .leaflet-routing-alt, 
.leaflet-control-container .leaflet-routing-container-hide .leaflet-routing-geocoders {
    display: none;
}

.leaflet-bar .leaflet-routing-alt:last-child {
    border-bottom: none;
}

.leaflet-routing-alt-minimized {
    color: #888;
    max-height: 64px;
    overflow: hidden;
    cursor: pointer;
}

.leaflet-routing-alt table {
    border-collapse: collapse;
}

.leaflet-routing-alt tr:hover {
    background-color: #eee;
    cursor: pointer;
}

.leaflet-routing-alt::-webkit-scrollbar {
    width: 8px;
}

.leaflet-routing-alt::-webkit-scrollbar-track {
    border-radius: 2px;
    background-color: #eee;
}

.leaflet-routing-alt::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background-color: #888;
}

.leaflet-routing-icon {
    background-image: url('leaflet.routing.icons.338a66223c3ac2d6.png');
    background-size: 240px 20px;
    background-repeat: no-repeat;
    margin: 0;
    content: '';
    display: inline-block;
    vertical-align: top;
    width: 20px;
    height: 20px;
}

.leaflet-routing-icon-continue         { background-position: 0 0; }
.leaflet-routing-icon-sharp-right      { background-position: -20px 0; }
.leaflet-routing-icon-turn-right       { background-position: -40px 0; }
.leaflet-routing-icon-bear-right       { background-position: -60px 0; }
.leaflet-routing-icon-u-turn           { background-position: -80px 0; }
.leaflet-routing-icon-sharp-left       { background-position: -100px 0; }
.leaflet-routing-icon-turn-left        { background-position: -120px 0; }
.leaflet-routing-icon-bear-left        { background-position: -140px 0; }
.leaflet-routing-icon-depart           { background-position: -160px 0; }
.leaflet-routing-icon-enter-roundabout { background-position: -180px 0; }
.leaflet-routing-icon-arrive           { background-position: -200px 0; }
.leaflet-routing-icon-via              { background-position: -220px 0; }

.leaflet-routing-geocoders div {
    padding: 4px 0px 4px 0px;
}

.leaflet-routing-geocoders input {
    width: 303px;
    width: calc(100% - 4px);
    line-height: 1.67;
    border: 1px solid #ccc;
}

.leaflet-routing-geocoders button {
    font: bold 18px 'Lucida Console', Monaco, monospace;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: white;
    margin: 0;
    margin-right: 3px;
    float: right;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.leaflet-routing-add-waypoint:after {
    content: '+';
}

.leaflet-routing-reverse-waypoints:after {
    font-weight: normal;
    content: '\21c5';
}

.leaflet-routing-geocoders button:hover {
    background-color: #eee;
}

.leaflet-routing-geocoders input,.leaflet-routing-remove-waypoint,.leaflet-routing-geocoder {
    position: relative;
}

.leaflet-routing-geocoder-result {
    font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
    position: absolute;
    max-height: 0;
    overflow: hidden;
    transition: all 0.5s ease;
    z-index: 1000; /* Arbitrary, but try to be above "most" things. */
}

.leaflet-routing-geocoder-result table {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 0 0 4px 4px;
    background-color: white;
    cursor: pointer;
}

.leaflet-routing-geocoder-result-open {
    max-height: 800px;
}

.leaflet-routing-geocoder-selected, .leaflet-routing-geocoder-result tr:hover {
    background-color: #eee;
}

.leaflet-routing-geocoder-no-results {
    font-style: italic;
    color: #888;
}

.leaflet-routing-remove-waypoint {
    background-color: transparent;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.leaflet-routing-remove-waypoint:after {
    position: absolute;
    display: block;
    width: 15px;
    height: 1px;
    z-index: 1;
    right: 1px;
    top: 4px;
    bottom: 0;
    margin: auto;
    padding: 2px;
    font-size: 18px;
    font-weight: bold;
    content: "\00d7";
    text-align: center;
    cursor: pointer;
    color: #ccc;
    background: white;
    padding-bottom: 16px;
    margin-top: -16px;
    padding-right: 4px;
    line-height: 1;
}

.leaflet-routing-remove-waypoint:hover {
    color: black;
}

.leaflet-routing-instruction-distance {
    width: 48px;
}

.leaflet-routing-collapse-btn {
    position: absolute;
    top: 0;
    right: 6px;
    font-size: 24px;
    color: #ccc;
    font-weight: bold;
}

.leaflet-routing-collapse-btn:after {
    content: '\00d7';
}

.leaflet-routing-container-hide .leaflet-routing-collapse-btn {
    position: relative;
    left: 4px;
    top: 4px;
    display: block;
    width: 26px;
    height: 23px;
    background-image: url('routing-icon.c747cfa97eca0f1d.png');
}

.leaflet-routing-container-hide .leaflet-routing-collapse-btn:after {
    content: none;
}

.leaflet-top .leaflet-routing-container.leaflet-routing-container-hide {
    margin-top: 10px !important;
}
.leaflet-right .leaflet-routing-container.leaflet-routing-container-hide {
    margin-right: 10px !important;
}
.leaflet-bottom .leaflet-routing-container.leaflet-routing-container-hide {
    margin-bottom: 10px !important;
}
.leaflet-left .leaflet-routing-container.leaflet-routing-container-hide {
    margin-left: 10px !important;
}

@media only screen and (max-width: 640px) {
    .leaflet-routing-container {
        margin: 0 !important;
        padding: 0 !important;
        width: 100%;
        height: 100%;
    }
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!./src/global.scss?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
 * App Global CSS (Design System Entry)
 * --------------------------------------------------------------------------
 * This file only imports the design system layers.
 */
/* New Uber/Bolt level design system */
/* ============================================
   Design System Baselines (App-level)
   ============================================ */
/* ==========================================================================
   TAXI CDT DESIGN SYSTEM - Uber/Bolt Level Quality
   Version 2.0 - Complete Overhaul
   ========================================================================== */
/* ===== FOUNDATION: SPACING SCALE (8px base, like Uber) ===== */
:root {
  --ds-space-0: 0;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 20px;
  --ds-space-6: 24px;
  --ds-space-8: 32px;
  --ds-space-10: 40px;
  --ds-space-12: 48px;
  --ds-space-16: 64px;
  --ds-space-20: 80px;
  /* ===== TYPOGRAPHY SCALE (Inter/SF Pro inspired) ===== */
  --ds-font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --ds-font-family-mono: "SF Mono", "Fira Code", monospace;
  /* Size scale */
  --ds-text-xs: 11px;
  --ds-text-sm: 13px;
  --ds-text-base: 15px;
  --ds-text-md: 17px;
  --ds-text-lg: 20px;
  --ds-text-xl: 24px;
  --ds-text-2xl: 30px;
  --ds-text-3xl: 36px;
  --ds-text-4xl: 48px;
  /* Line heights */
  --ds-leading-none: 1;
  --ds-leading-tight: 1.2;
  --ds-leading-snug: 1.375;
  --ds-leading-normal: 1.5;
  --ds-leading-relaxed: 1.625;
  /* Font weights */
  --ds-font-normal: 400;
  --ds-font-medium: 500;
  --ds-font-semibold: 600;
  --ds-font-bold: 700;
  /* Letter spacing */
  --ds-tracking-tight: -0.025em;
  --ds-tracking-normal: 0;
  --ds-tracking-wide: 0.025em;
  /* ===== BORDER RADIUS (Uber-style rounded) ===== */
  --ds-radius-none: 0;
  --ds-radius-sm: 6px;
  --ds-radius-md: 10px;
  --ds-radius-lg: 14px;
  --ds-radius-xl: 18px;
  --ds-radius-2xl: 24px;
  --ds-radius-full: 9999px;
  /* ===== TRANSITIONS (smooth, 60fps) ===== */
  --ds-duration-fast: 150ms;
  --ds-duration-normal: 250ms;
  --ds-duration-slow: 350ms;
  --ds-ease-out: cubic-bezier(0.33, 1, 0.68, 1);
  --ds-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ds-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  /* ===== Z-INDEX SCALE ===== */
  --ds-z-dropdown: 100;
  --ds-z-sticky: 200;
  --ds-z-fixed: 300;
  --ds-z-modal-backdrop: 400;
  --ds-z-modal: 500;
  --ds-z-popover: 600;
  --ds-z-tooltip: 700;
  --ds-z-toast: 800;
}

/* ===== LIGHT MODE COLORS ===== */
:root {
  /* Background layers */
  --ds-bg-base: #ffffff;
  --ds-bg-elevated: #ffffff;
  --ds-bg-subtle: #f5f6f8;
  --ds-bg-muted: #eef0f3;
  /* Text colors */
  --ds-text-primary: #1a1a1a;
  --ds-text-secondary: #545454;
  --ds-text-muted: #8a8a8a;
  --ds-text-disabled: #bdbdbd;
  --ds-text-inverse: #ffffff;
  /* Brand colors */
  --ds-brand: #3b82f6;
  --ds-brand-hover: #2563eb;
  --ds-brand-active: #1d4ed8;
  --ds-brand-subtle: rgba(59, 130, 246, 0.08);
  --ds-brand-muted: rgba(59, 130, 246, 0.15);
  /* Semantic colors */
  --ds-success: #22c55e;
  --ds-success-hover: #16a34a;
  --ds-success-subtle: rgba(34, 197, 94, 0.1);
  --ds-warning: #f59e0b;
  --ds-warning-hover: #d97706;
  --ds-warning-subtle: rgba(245, 158, 11, 0.1);
  --ds-danger: #ef4444;
  --ds-danger-hover: #dc2626;
  --ds-danger-subtle: rgba(239, 68, 68, 0.1);
  --ds-info: #0ea5e9;
  --ds-info-hover: #0284c7;
  --ds-info-subtle: rgba(14, 165, 233, 0.1);
  /* Borders */
  --ds-border-light: rgba(0, 0, 0, 0.06);
  --ds-border-default: rgba(0, 0, 0, 0.1);
  --ds-border-strong: rgba(0, 0, 0, 0.15);
  --ds-border-focus: var(--ds-brand);
  /* Shadows (layered, realistic) */
  --ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --ds-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --ds-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --ds-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  --ds-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.16), 0 8px 16px rgba(0, 0, 0, 0.08);
  /* Interactive states */
  --ds-overlay: rgba(0, 0, 0, 0.2);
  --ds-highlight: rgba(0, 0, 0, 0.04);
  --ds-pressed: rgba(0, 0, 0, 0.08);
  /* Skeleton/loading */
  --ds-skeleton-base: #e8ecef;
  --ds-skeleton-shine: #f5f7fa;
  /* Input specific */
  --ds-input-bg: #f5f7fa;
  --ds-input-bg-hover: #e8ecef;
  --ds-input-bg-focus: #ffffff;
}

/* ===== DARK MODE COLORS ===== */
body.dark-mode,
body.dark,
.dark-mode,
:root.dark-mode {
  /* Background layers */
  --ds-bg-base: #1a1a1a;
  --ds-bg-elevated: #1a1a1a;
  --ds-bg-subtle: #1a1a1a;
  --ds-bg-muted: #212121;
  /* Text colors */
  --ds-text-primary: #ffffff;
  --ds-text-secondary: #a0a0a0;
  --ds-text-muted: #6b6b6b;
  --ds-text-disabled: #4a4a4a;
  --ds-text-inverse: #1a1a1a;
  /* Brand colors (slightly brighter for dark) */
  --ds-brand: #60a5fa;
  --ds-brand-hover: #3b82f6;
  --ds-brand-active: #2563eb;
  --ds-brand-subtle: rgba(96, 165, 250, 0.12);
  --ds-brand-muted: rgba(96, 165, 250, 0.2);
  /* Semantic colors (adjusted for dark) */
  --ds-success: #4ade80;
  --ds-success-hover: #22c55e;
  --ds-success-subtle: rgba(74, 222, 128, 0.15);
  --ds-warning: #fbbf24;
  --ds-warning-hover: #f59e0b;
  --ds-warning-subtle: rgba(251, 191, 36, 0.15);
  --ds-danger: #f87171;
  --ds-danger-hover: #ef4444;
  --ds-danger-subtle: rgba(248, 113, 113, 0.15);
  --ds-info: #38bdf8;
  --ds-info-hover: #0ea5e9;
  --ds-info-subtle: rgba(56, 189, 248, 0.15);
  /* Borders */
  --ds-border-light: rgba(255, 255, 255, 0.06);
  --ds-border-default: rgba(255, 255, 255, 0.1);
  --ds-border-strong: rgba(255, 255, 255, 0.15);
  /* Shadows (subtle glow effect for dark) */
  --ds-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
  --ds-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.4), 0 0 1px rgba(255, 255, 255, 0.05);
  --ds-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5), 0 0 1px rgba(255, 255, 255, 0.05);
  --ds-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6), 0 0 1px rgba(255, 255, 255, 0.08);
  --ds-shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.7), 0 0 1px rgba(255, 255, 255, 0.1);
  /* Interactive states */
  --ds-overlay: rgba(0, 0, 0, 0.2);
  --ds-highlight: rgba(255, 255, 255, 0.04);
  --ds-pressed: rgba(255, 255, 255, 0.08);
  /* Skeleton/loading */
  --ds-skeleton-base: #1a1a1a;
  --ds-skeleton-shine: #1a1a1a;
  /* Input specific */
  --ds-input-bg: #1a1a1a;
  --ds-input-bg-hover: #212121;
  --ds-input-bg-focus: #1a1a1a;
}

/* ===== MAP TO IONIC VARIABLES ===== */
:root,
body.dark-mode,
body.dark {
  --ion-background-color: var(--ds-bg-base);
  --ion-text-color: var(--ds-text-primary);
  --ion-card-background: var(--ds-bg-elevated);
  --ion-item-background: var(--ds-bg-elevated);
  --ion-toolbar-background: var(--ds-bg-elevated);
  --ion-tab-bar-background: var(--ds-bg-elevated);
  --ion-border-color: var(--ds-border-default);
  --ion-color-primary: var(--ds-brand);
  --ion-color-primary-shade: var(--ds-brand-hover);
  --ion-color-primary-tint: var(--ds-brand);
  --ion-color-success: var(--ds-success);
  --ion-color-warning: var(--ds-warning);
  --ion-color-danger: var(--ds-danger);
  --ion-color-medium: var(--ds-text-muted);
}

/* ==========================================================================
   TAXI CDT COMPONENTS - Uber/Bolt Level UI Components
   Version 2.0
   ========================================================================== */
/* ===== BUTTONS ===== */
/* Base button reset */
.ds-btn, .ds-btn-icon, .ds-btn-danger, .ds-btn-success, .ds-btn-brand, .ds-btn-ghost, .ds-btn-secondary, .ds-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  padding: var(--ds-space-3) var(--ds-space-5);
  font-family: var(--ds-font-family);
  font-size: var(--ds-text-base);
  font-weight: var(--ds-font-semibold);
  line-height: var(--ds-leading-tight);
  letter-spacing: var(--ds-tracking-normal);
  text-decoration: none;
  border: none;
  border-radius: var(--ds-radius-lg);
  cursor: pointer;
  transition: background-color var(--ds-duration-fast) var(--ds-ease-out), transform var(--ds-duration-fast) var(--ds-ease-out), box-shadow var(--ds-duration-fast) var(--ds-ease-out);
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
          user-select: none;
  /* Icon inside button */
}
.ds-btn:active, .ds-btn-icon:active, .ds-btn-danger:active, .ds-btn-success:active, .ds-btn-brand:active, .ds-btn-ghost:active, .ds-btn-secondary:active, .ds-btn-primary:active {
  transform: scale(0.98);
}
.ds-btn:disabled, .ds-btn-icon:disabled, .ds-btn-danger:disabled, .ds-btn-success:disabled, .ds-btn-brand:disabled, .ds-btn-ghost:disabled, .ds-btn-secondary:disabled, .ds-btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}
.ds-btn ion-icon, .ds-btn-icon ion-icon, .ds-btn-danger ion-icon, .ds-btn-success ion-icon, .ds-btn-brand ion-icon, .ds-btn-ghost ion-icon, .ds-btn-secondary ion-icon, .ds-btn-primary ion-icon,
.ds-btn .icon,
.ds-btn-icon .icon,
.ds-btn-danger .icon,
.ds-btn-success .icon,
.ds-btn-brand .icon,
.ds-btn-ghost .icon,
.ds-btn-secondary .icon,
.ds-btn-primary .icon {
  font-size: 1.25em;
  flex-shrink: 0;
}

/* Primary button (filled) - Main CTA */
.ds-btn-primary {
  background: var(--ds-text-primary);
  color: var(--ds-text-inverse);
}
.ds-btn-primary:hover:not(:disabled) {
  background: var(--ds-text-secondary);
}
.ds-btn-primary:active:not(:disabled) {
  background: var(--ds-text-primary);
}

/* Secondary button (outlined) */
.ds-btn-secondary {
  background: transparent;
  color: var(--ds-text-primary);
  border: 1.5px solid var(--ds-border-strong);
}
.ds-btn-secondary:hover:not(:disabled) {
  background: var(--ds-highlight);
  border-color: var(--ds-text-primary);
}

/* Ghost button (text only) */
.ds-btn-ghost {
  background: transparent;
  color: var(--ds-text-primary);
  padding: var(--ds-space-2) var(--ds-space-3);
}
.ds-btn-ghost:hover:not(:disabled) {
  background: var(--ds-highlight);
}

/* Brand button (blue) */
.ds-btn-brand {
  background: var(--ds-brand);
  color: white;
}
.ds-btn-brand:hover:not(:disabled) {
  background: var(--ds-brand-hover);
}

/* Success button (green) */
.ds-btn-success {
  background: var(--ds-success);
  color: white;
}
.ds-btn-success:hover:not(:disabled) {
  background: var(--ds-success-hover);
}

/* Danger button (red) */
.ds-btn-danger {
  background: var(--ds-danger);
  color: white;
}
.ds-btn-danger:hover:not(:disabled) {
  background: var(--ds-danger-hover);
}

/* Button sizes */
.ds-btn-sm {
  padding: var(--ds-space-2) var(--ds-space-4);
  font-size: var(--ds-text-sm);
  border-radius: var(--ds-radius-md);
}

.ds-btn-lg {
  padding: var(--ds-space-4) var(--ds-space-6);
  font-size: var(--ds-text-md);
  border-radius: var(--ds-radius-xl);
}

.ds-btn-xl {
  padding: var(--ds-space-5) var(--ds-space-8);
  font-size: var(--ds-text-lg);
  border-radius: var(--ds-radius-xl);
}

/* Full width button */
.ds-btn-block {
  width: 100%;
}

/* Icon only button (circular) */
.ds-btn-icon {
  padding: var(--ds-space-3);
  border-radius: var(--ds-radius-full);
  background: var(--ds-highlight);
  color: var(--ds-text-primary);
}
.ds-btn-icon:hover:not(:disabled) {
  background: var(--ds-pressed);
}
.ds-btn-icon.ds-btn-sm {
  padding: var(--ds-space-2);
}
.ds-btn-icon.ds-btn-lg {
  padding: var(--ds-space-4);
}

/* ===== CARDS ===== */
.ds-card, .ds-card-interactive, .ds-card-elevated {
  background: var(--ds-bg-elevated);
  border-radius: var(--ds-radius-xl);
  border: 1px solid var(--ds-border-light);
  overflow: hidden;
  transition: box-shadow var(--ds-duration-normal) var(--ds-ease-out), transform var(--ds-duration-normal) var(--ds-ease-out);
}

.ds-card-elevated {
  box-shadow: var(--ds-shadow-md);
  border: none;
}

.ds-card-interactive {
  cursor: pointer;
}
.ds-card-interactive:hover {
  box-shadow: var(--ds-shadow-lg);
  transform: translateY(-2px);
}
.ds-card-interactive:active {
  transform: translateY(0);
  box-shadow: var(--ds-shadow-sm);
}

.ds-card-header {
  padding: var(--ds-space-4) var(--ds-space-5);
  border-bottom: 1px solid var(--ds-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-3);
}

.ds-card-body {
  padding: var(--ds-space-5);
}

.ds-card-footer {
  padding: var(--ds-space-4) var(--ds-space-5);
  border-top: 1px solid var(--ds-border-light);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ds-space-3);
}

/* Compact card */
.ds-card-compact .ds-card-header,
.ds-card-compact .ds-card-body,
.ds-card-compact .ds-card-footer {
  padding: var(--ds-space-3) var(--ds-space-4);
}

/* ===== INPUTS ===== */
.ds-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
}

.ds-label {
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-font-medium);
  color: var(--ds-text-secondary);
}

.ds-input {
  width: 100%;
  padding: var(--ds-space-3) var(--ds-space-4);
  font-family: var(--ds-font-family);
  font-size: var(--ds-text-base);
  color: var(--ds-text-primary);
  background: var(--ds-input-bg);
  border: 1.5px solid transparent;
  border-radius: var(--ds-radius-lg);
  outline: none;
  transition: background-color var(--ds-duration-fast) var(--ds-ease-out), border-color var(--ds-duration-fast) var(--ds-ease-out), box-shadow var(--ds-duration-fast) var(--ds-ease-out);
}
.ds-input::placeholder {
  color: var(--ds-text-muted);
}
.ds-input:hover:not(:focus):not(:disabled) {
  background: var(--ds-input-bg-hover);
}
.ds-input:focus {
  background: var(--ds-input-bg-focus);
  border-color: var(--ds-brand);
  box-shadow: 0 0 0 3px var(--ds-brand-subtle);
}
.ds-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.ds-input.ds-input-error {
  border-color: var(--ds-danger);
}
.ds-input.ds-input-error:focus {
  box-shadow: 0 0 0 3px var(--ds-danger-subtle);
}

.ds-input-lg {
  padding: var(--ds-space-4) var(--ds-space-5);
  font-size: var(--ds-text-md);
  border-radius: var(--ds-radius-xl);
}

.ds-helper-text {
  font-size: var(--ds-text-xs);
  color: var(--ds-text-muted);
}
.ds-helper-text.ds-helper-error {
  color: var(--ds-danger);
}

/* Search input */
.ds-search {
  position: relative;
}
.ds-search .ds-search-icon {
  position: absolute;
  left: var(--ds-space-4);
  top: 50%;
  transform: translateY(-50%);
  color: var(--ds-text-muted);
  pointer-events: none;
}
.ds-search .ds-input {
  padding-left: calc(var(--ds-space-4) + 24px + var(--ds-space-2));
}

/* ===== BADGES & CHIPS ===== */
.ds-badge, .ds-chip, .ds-badge-danger, .ds-badge-warning, .ds-badge-success, .ds-badge-brand, .ds-badge-default {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
  padding: var(--ds-space-1) var(--ds-space-2);
  font-size: var(--ds-text-xs);
  font-weight: var(--ds-font-semibold);
  border-radius: var(--ds-radius-sm);
  white-space: nowrap;
}

.ds-badge-default {
  background: var(--ds-bg-muted);
  color: var(--ds-text-secondary);
}

.ds-badge-brand {
  background: var(--ds-brand-subtle);
  color: var(--ds-brand);
}

.ds-badge-success {
  background: var(--ds-success-subtle);
  color: var(--ds-success);
}

.ds-badge-warning {
  background: var(--ds-warning-subtle);
  color: var(--ds-warning);
}

.ds-badge-danger {
  background: var(--ds-danger-subtle);
  color: var(--ds-danger);
}

/* Chip (larger, clickable badge) */
.ds-chip {
  padding: var(--ds-space-2) var(--ds-space-3);
  font-size: var(--ds-text-sm);
  border-radius: var(--ds-radius-full);
  cursor: pointer;
  transition: background-color var(--ds-duration-fast) var(--ds-ease-out);
}
.ds-chip:hover {
  background: var(--ds-bg-muted);
}
.ds-chip.active {
  background: var(--ds-text-primary);
  color: var(--ds-text-inverse);
}

/* ===== LISTS ===== */
.ds-list {
  display: flex;
  flex-direction: column;
}

.ds-list-item {
  display: flex;
  align-items: center;
  gap: var(--ds-space-3);
  padding: var(--ds-space-4);
  background: var(--ds-bg-elevated);
  border-bottom: 1px solid var(--ds-border-light);
  transition: background-color var(--ds-duration-fast) var(--ds-ease-out);
}
.ds-list-item:last-child {
  border-bottom: none;
}
.ds-list-item.ds-list-item-interactive {
  cursor: pointer;
}
.ds-list-item.ds-list-item-interactive:hover {
  background: var(--ds-highlight);
}
.ds-list-item.ds-list-item-interactive:active {
  background: var(--ds-pressed);
}

.ds-list-item-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ds-bg-subtle);
  border-radius: var(--ds-radius-md);
  color: var(--ds-text-secondary);
  flex-shrink: 0;
}
.ds-list-item-icon ion-icon {
  font-size: 20px;
}

.ds-list-item-content {
  flex: 1;
  min-width: 0;
}

.ds-list-item-title {
  font-size: var(--ds-text-base);
  font-weight: var(--ds-font-medium);
  color: var(--ds-text-primary);
}

.ds-list-item-subtitle {
  font-size: var(--ds-text-sm);
  color: var(--ds-text-muted);
  margin-top: 2px;
}

.ds-list-item-action {
  flex-shrink: 0;
  color: var(--ds-text-muted);
}

/* ===== STAT CARDS (Dashboard widgets) ===== */
.ds-stat {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
  padding: var(--ds-space-5);
  background: var(--ds-bg-elevated);
  border-radius: var(--ds-radius-xl);
  border: 1px solid var(--ds-border-light);
}

.ds-stat-label {
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-font-medium);
  color: var(--ds-text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ds-tracking-wide);
}

.ds-stat-value {
  font-size: var(--ds-text-3xl);
  font-weight: var(--ds-font-bold);
  color: var(--ds-text-primary);
  line-height: var(--ds-leading-none);
}

.ds-stat-change {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-font-medium);
}
.ds-stat-change.positive {
  color: var(--ds-success);
}
.ds-stat-change.negative {
  color: var(--ds-danger);
}

/* ===== DIVIDERS ===== */
.ds-divider {
  height: 1px;
  background: var(--ds-border-light);
  border: none;
  margin: var(--ds-space-4) 0;
}

.ds-divider-strong {
  background: var(--ds-border-default);
}

.ds-divider-spaced {
  margin: var(--ds-space-6) 0;
}

/* ===== SECTION HEADERS ===== */
.ds-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--ds-space-4);
}

.ds-section-title {
  font-size: var(--ds-text-lg);
  font-weight: var(--ds-font-semibold);
  color: var(--ds-text-primary);
}

.ds-section-subtitle {
  font-size: var(--ds-text-sm);
  color: var(--ds-text-muted);
  margin-top: var(--ds-space-1);
}

/* ===== EMPTY STATE ===== */
.ds-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--ds-space-12) var(--ds-space-6);
  text-align: center;
}

.ds-empty-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ds-bg-subtle);
  border-radius: var(--ds-radius-full);
  color: var(--ds-text-muted);
  margin-bottom: var(--ds-space-4);
}
.ds-empty-icon ion-icon {
  font-size: 32px;
}

.ds-empty-title {
  font-size: var(--ds-text-md);
  font-weight: var(--ds-font-semibold);
  color: var(--ds-text-primary);
  margin-bottom: var(--ds-space-2);
}

.ds-empty-description {
  font-size: var(--ds-text-sm);
  color: var(--ds-text-muted);
  max-width: 280px;
}

/* ===== SKELETON LOADING ===== */
.ds-skeleton, .ds-skeleton-card, .ds-skeleton-circle, .ds-skeleton-title, .ds-skeleton-text {
  background: linear-gradient(90deg, var(--ds-skeleton-base) 0%, var(--ds-skeleton-shine) 50%, var(--ds-skeleton-base) 100%);
  background-size: 200% 100%;
  animation: ds-shimmer 1.5s infinite;
  border-radius: var(--ds-radius-md);
}

.ds-skeleton-text {
  height: 16px;
  width: 100%;
}

.ds-skeleton-title {
  height: 24px;
  width: 60%;
}

.ds-skeleton-circle {
  border-radius: var(--ds-radius-full);
}

.ds-skeleton-card {
  height: 120px;
  width: 100%;
  border-radius: var(--ds-radius-xl);
}

@keyframes ds-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/* ===== AVATARS ===== */
.ds-avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--ds-radius-full);
  background: var(--ds-brand-subtle);
  color: var(--ds-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--ds-font-semibold);
  font-size: var(--ds-text-sm);
  overflow: hidden;
  flex-shrink: 0;
}
.ds-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ds-avatar-sm {
  width: 32px;
  height: 32px;
  font-size: var(--ds-text-xs);
}

.ds-avatar-lg {
  width: 56px;
  height: 56px;
  font-size: var(--ds-text-lg);
}

.ds-avatar-xl {
  width: 80px;
  height: 80px;
  font-size: var(--ds-text-2xl);
}

/* ===== TOGGLE/SWITCH ===== */
.ds-toggle {
  width: 52px;
  height: 32px;
  background: var(--ds-bg-muted);
  border-radius: var(--ds-radius-full);
  position: relative;
  cursor: pointer;
  transition: background-color var(--ds-duration-fast) var(--ds-ease-out);
}
.ds-toggle::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 24px;
  height: 24px;
  background: white;
  border-radius: var(--ds-radius-full);
  box-shadow: var(--ds-shadow-sm);
  transition: transform var(--ds-duration-fast) var(--ds-ease-spring);
}
.ds-toggle.active {
  background: var(--ds-brand);
}
.ds-toggle.active::after {
  transform: translateX(20px);
}
.ds-toggle.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ===== PROGRESS BAR ===== */
.ds-progress {
  height: 6px;
  background: var(--ds-bg-muted);
  border-radius: var(--ds-radius-full);
  overflow: hidden;
}

.ds-progress-bar {
  height: 100%;
  background: var(--ds-brand);
  border-radius: var(--ds-radius-full);
  transition: width var(--ds-duration-slow) var(--ds-ease-out);
}

.ds-progress-bar-success {
  background: var(--ds-success);
}

.ds-progress-bar-warning {
  background: var(--ds-warning);
}

.ds-progress-bar-danger {
  background: var(--ds-danger);
}

/* ===== TABS ===== */
.ds-tabs {
  display: flex;
  gap: var(--ds-space-1);
  padding: var(--ds-space-1);
  background: var(--ds-bg-subtle);
  border-radius: var(--ds-radius-lg);
}

.ds-tab {
  flex: 1;
  padding: var(--ds-space-2) var(--ds-space-4);
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-font-medium);
  color: var(--ds-text-muted);
  background: transparent;
  border: none;
  border-radius: var(--ds-radius-md);
  cursor: pointer;
  transition: color var(--ds-duration-fast) var(--ds-ease-out), background-color var(--ds-duration-fast) var(--ds-ease-out);
}
.ds-tab:hover:not(.active) {
  color: var(--ds-text-secondary);
}
.ds-tab.active {
  color: var(--ds-text-primary);
  background: var(--ds-bg-elevated);
  box-shadow: var(--ds-shadow-xs);
}

/* ===== ALERT/BANNER ===== */
.ds-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-3);
  padding: var(--ds-space-4);
  border-radius: var(--ds-radius-lg);
}
.ds-alert.ds-alert-info {
  background: var(--ds-info-subtle);
  color: var(--ds-info);
}
.ds-alert.ds-alert-success {
  background: var(--ds-success-subtle);
  color: var(--ds-success);
}
.ds-alert.ds-alert-warning {
  background: var(--ds-warning-subtle);
  color: var(--ds-warning);
}
.ds-alert.ds-alert-danger {
  background: var(--ds-danger-subtle);
  color: var(--ds-danger);
}

.ds-alert-icon {
  flex-shrink: 0;
  font-size: 20px;
}

.ds-alert-content {
  flex: 1;
  font-size: var(--ds-text-sm);
  font-weight: var(--ds-font-medium);
}

/* ==========================================================================
   TAXI CDT DESIGN MIXINS - Uber/Bolt Level Helpers
   Version 2.0
   ========================================================================== */
/* ===== DARK MODE MIXIN ===== */
/* Use this instead of scattered :host-context rules */
/* ===== TYPOGRAPHY MIXINS ===== */
/* ===== INTERACTIVE ELEMENT MIXINS ===== */
/* ===== FOCUS STATES ===== */
/* ===== CARD MIXINS ===== */
/* ===== LAYOUT MIXINS ===== */
/* ===== VISUALLY HIDDEN (accessibility) ===== */
/* ===== SCROLLABLE CONTAINER ===== */
/* ===== TRUNCATE TEXT ===== */
/* ===== SAFE AREA ===== */
/* ===== GLASSMORPHISM ===== */
/* ===== SKELETON LOADING ===== */
@keyframes skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/* ===== GRADIENT BACKGROUNDS ===== */
/* ===== MOBILE BREAKPOINTS ===== */
/* ===== REDUCED MOTION ===== */
/* ===== ASPECT RATIO (for images) ===== */
/* ===== ICON SIZE HELPER ===== */
/* ==========================================================================
   TAXI CDT UTILITY CLASSES - Uber/Bolt Level Utilities
   Version 2.0 - Rapid Development Helpers
   ========================================================================== */
/* ===== DISPLAY ===== */
.ds-hidden {
  display: none !important;
}

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

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

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

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

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

/* ===== FLEXBOX ===== */
.ds-flex-row {
  flex-direction: row !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ds-grow-0 {
  flex-grow: 0 !important;
}

/* ===== GAP ===== */
.ds-gap-0 {
  gap: 0 !important;
}

.ds-gap-1 {
  gap: var(--ds-space-1) !important;
}

.ds-gap-2 {
  gap: var(--ds-space-2) !important;
}

.ds-gap-3 {
  gap: var(--ds-space-3) !important;
}

.ds-gap-4 {
  gap: var(--ds-space-4) !important;
}

.ds-gap-5 {
  gap: var(--ds-space-5) !important;
}

.ds-gap-6 {
  gap: var(--ds-space-6) !important;
}

.ds-gap-8 {
  gap: var(--ds-space-8) !important;
}

/* ===== PADDING ===== */
.ds-p-0 {
  padding: 0 !important;
}

.ds-p-1 {
  padding: var(--ds-space-1) !important;
}

.ds-p-2 {
  padding: var(--ds-space-2) !important;
}

.ds-p-3 {
  padding: var(--ds-space-3) !important;
}

.ds-p-4 {
  padding: var(--ds-space-4) !important;
}

.ds-p-5 {
  padding: var(--ds-space-5) !important;
}

.ds-p-6 {
  padding: var(--ds-space-6) !important;
}

.ds-p-8 {
  padding: var(--ds-space-8) !important;
}

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

.ds-px-2 {
  padding-left: var(--ds-space-2) !important;
  padding-right: var(--ds-space-2) !important;
}

.ds-px-3 {
  padding-left: var(--ds-space-3) !important;
  padding-right: var(--ds-space-3) !important;
}

.ds-px-4 {
  padding-left: var(--ds-space-4) !important;
  padding-right: var(--ds-space-4) !important;
}

.ds-px-5 {
  padding-left: var(--ds-space-5) !important;
  padding-right: var(--ds-space-5) !important;
}

.ds-px-6 {
  padding-left: var(--ds-space-6) !important;
  padding-right: var(--ds-space-6) !important;
}

.ds-py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ds-py-2 {
  padding-top: var(--ds-space-2) !important;
  padding-bottom: var(--ds-space-2) !important;
}

.ds-py-3 {
  padding-top: var(--ds-space-3) !important;
  padding-bottom: var(--ds-space-3) !important;
}

.ds-py-4 {
  padding-top: var(--ds-space-4) !important;
  padding-bottom: var(--ds-space-4) !important;
}

.ds-py-5 {
  padding-top: var(--ds-space-5) !important;
  padding-bottom: var(--ds-space-5) !important;
}

.ds-py-6 {
  padding-top: var(--ds-space-6) !important;
  padding-bottom: var(--ds-space-6) !important;
}

/* ===== MARGIN ===== */
.ds-m-0 {
  margin: 0 !important;
}

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

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

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

.ds-mt-1 {
  margin-top: var(--ds-space-1) !important;
}

.ds-mt-2 {
  margin-top: var(--ds-space-2) !important;
}

.ds-mt-3 {
  margin-top: var(--ds-space-3) !important;
}

.ds-mt-4 {
  margin-top: var(--ds-space-4) !important;
}

.ds-mt-5 {
  margin-top: var(--ds-space-5) !important;
}

.ds-mt-6 {
  margin-top: var(--ds-space-6) !important;
}

.ds-mt-8 {
  margin-top: var(--ds-space-8) !important;
}

.ds-mt-auto {
  margin-top: auto !important;
}

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

.ds-mb-1 {
  margin-bottom: var(--ds-space-1) !important;
}

.ds-mb-2 {
  margin-bottom: var(--ds-space-2) !important;
}

.ds-mb-3 {
  margin-bottom: var(--ds-space-3) !important;
}

.ds-mb-4 {
  margin-bottom: var(--ds-space-4) !important;
}

.ds-mb-5 {
  margin-bottom: var(--ds-space-5) !important;
}

.ds-mb-6 {
  margin-bottom: var(--ds-space-6) !important;
}

.ds-mb-8 {
  margin-bottom: var(--ds-space-8) !important;
}

/* ===== WIDTH & HEIGHT ===== */
.ds-w-full {
  width: 100% !important;
}

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

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

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

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

.ds-min-h-0 {
  min-height: 0 !important;
}

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

.ds-max-w-sm {
  max-width: 384px !important;
}

.ds-max-w-md {
  max-width: 448px !important;
}

.ds-max-w-lg {
  max-width: 512px !important;
}

.ds-max-w-xl {
  max-width: 576px !important;
}

/* ===== TEXT ===== */
.ds-text-xs {
  font-size: var(--ds-text-xs) !important;
}

.ds-text-sm {
  font-size: var(--ds-text-sm) !important;
}

.ds-text-base {
  font-size: var(--ds-text-base) !important;
}

.ds-text-md {
  font-size: var(--ds-text-md) !important;
}

.ds-text-lg {
  font-size: var(--ds-text-lg) !important;
}

.ds-text-xl {
  font-size: var(--ds-text-xl) !important;
}

.ds-text-2xl {
  font-size: var(--ds-text-2xl) !important;
}

.ds-text-3xl {
  font-size: var(--ds-text-3xl) !important;
}

.ds-font-normal {
  font-weight: var(--ds-font-normal) !important;
}

.ds-font-medium {
  font-weight: var(--ds-font-medium) !important;
}

.ds-font-semibold {
  font-weight: var(--ds-font-semibold) !important;
}

.ds-font-bold {
  font-weight: var(--ds-font-bold) !important;
}

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

.ds-text-center {
  text-align: center !important;
}

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

.ds-leading-none {
  line-height: var(--ds-leading-none) !important;
}

.ds-leading-tight {
  line-height: var(--ds-leading-tight) !important;
}

.ds-leading-normal {
  line-height: var(--ds-leading-normal) !important;
}

.ds-tracking-tight {
  letter-spacing: var(--ds-tracking-tight) !important;
}

.ds-tracking-normal {
  letter-spacing: var(--ds-tracking-normal) !important;
}

.ds-tracking-wide {
  letter-spacing: var(--ds-tracking-wide) !important;
}

.ds-uppercase {
  text-transform: uppercase !important;
}

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

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

.ds-normal-case {
  text-transform: none !important;
}

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

.ds-line-clamp-1 {
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.ds-line-clamp-2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.ds-line-clamp-3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ===== TEXT COLORS ===== */
.ds-text-primary {
  color: var(--ds-text-primary) !important;
}

.ds-text-secondary {
  color: var(--ds-text-secondary) !important;
}

.ds-text-muted {
  color: var(--ds-text-muted) !important;
}

.ds-text-disabled {
  color: var(--ds-text-disabled) !important;
}

.ds-text-inverse {
  color: var(--ds-text-inverse) !important;
}

.ds-text-brand {
  color: var(--ds-brand) !important;
}

.ds-text-success {
  color: var(--ds-success) !important;
}

.ds-text-warning {
  color: var(--ds-warning) !important;
}

.ds-text-danger {
  color: var(--ds-danger) !important;
}

/* ===== BACKGROUND COLORS ===== */
.ds-bg-base {
  background-color: var(--ds-bg-base) !important;
}

.ds-bg-elevated {
  background-color: var(--ds-bg-elevated) !important;
}

.ds-bg-subtle {
  background-color: var(--ds-bg-subtle) !important;
}

.ds-bg-muted {
  background-color: var(--ds-bg-muted) !important;
}

.ds-bg-brand {
  background-color: var(--ds-brand) !important;
}

.ds-bg-brand-subtle {
  background-color: var(--ds-brand-subtle) !important;
}

.ds-bg-success {
  background-color: var(--ds-success) !important;
}

.ds-bg-success-subtle {
  background-color: var(--ds-success-subtle) !important;
}

.ds-bg-warning {
  background-color: var(--ds-warning) !important;
}

.ds-bg-warning-subtle {
  background-color: var(--ds-warning-subtle) !important;
}

.ds-bg-danger {
  background-color: var(--ds-danger) !important;
}

.ds-bg-danger-subtle {
  background-color: var(--ds-danger-subtle) !important;
}

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

/* ===== BORDER ===== */
.ds-border-0 {
  border: none !important;
}

.ds-border {
  border: 1px solid var(--ds-border-default) !important;
}

.ds-border-light {
  border: 1px solid var(--ds-border-light) !important;
}

.ds-border-strong {
  border: 1px solid var(--ds-border-strong) !important;
}

.ds-border-brand {
  border-color: var(--ds-brand) !important;
}

.ds-border-t {
  border-top: 1px solid var(--ds-border-light) !important;
}

.ds-border-b {
  border-bottom: 1px solid var(--ds-border-light) !important;
}

/* ===== BORDER RADIUS ===== */
.ds-rounded-none {
  border-radius: 0 !important;
}

.ds-rounded-sm {
  border-radius: var(--ds-radius-sm) !important;
}

.ds-rounded-md {
  border-radius: var(--ds-radius-md) !important;
}

.ds-rounded-lg {
  border-radius: var(--ds-radius-lg) !important;
}

.ds-rounded-xl {
  border-radius: var(--ds-radius-xl) !important;
}

.ds-rounded-2xl {
  border-radius: var(--ds-radius-2xl) !important;
}

.ds-rounded-full {
  border-radius: var(--ds-radius-full) !important;
}

/* ===== SHADOWS ===== */
.ds-shadow-none {
  box-shadow: none !important;
}

.ds-shadow-xs {
  box-shadow: var(--ds-shadow-xs) !important;
}

.ds-shadow-sm {
  box-shadow: var(--ds-shadow-sm) !important;
}

.ds-shadow-md {
  box-shadow: var(--ds-shadow-md) !important;
}

.ds-shadow-lg {
  box-shadow: var(--ds-shadow-lg) !important;
}

.ds-shadow-xl {
  box-shadow: var(--ds-shadow-xl) !important;
}

/* ===== OVERFLOW ===== */
.ds-overflow-hidden {
  overflow: hidden !important;
}

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

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

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

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

/* ===== POSITION ===== */
.ds-relative {
  position: relative !important;
}

.ds-absolute {
  position: absolute !important;
}

.ds-fixed {
  position: fixed !important;
}

.ds-sticky {
  position: sticky !important;
}

.ds-inset-0 {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
}

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

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

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

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

/* ===== Z-INDEX ===== */
.ds-z-0 {
  z-index: 0 !important;
}

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

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

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

.ds-z-40 {
  z-index: 40 !important;
}

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

.ds-z-dropdown {
  z-index: var(--ds-z-dropdown) !important;
}

.ds-z-modal {
  z-index: var(--ds-z-modal) !important;
}

.ds-z-toast {
  z-index: var(--ds-z-toast) !important;
}

/* ===== POINTER & CURSOR ===== */
.ds-pointer-events-none {
  pointer-events: none !important;
}

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

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

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

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

.ds-select-none {
  -webkit-user-select: none !important;
          user-select: none !important;
}

.ds-select-text {
  -webkit-user-select: text !important;
          user-select: text !important;
}

/* ===== OPACITY ===== */
.ds-opacity-0 {
  opacity: 0 !important;
}

.ds-opacity-25 {
  opacity: 0.25 !important;
}

.ds-opacity-50 {
  opacity: 0.5 !important;
}

.ds-opacity-75 {
  opacity: 0.75 !important;
}

.ds-opacity-100 {
  opacity: 1 !important;
}

/* ===== TRANSITIONS ===== */
.ds-transition {
  transition-property: color, background-color, border-color, box-shadow, transform, opacity;
  transition-duration: var(--ds-duration-normal);
  transition-timing-function: var(--ds-ease-out);
}

.ds-transition-fast {
  transition-duration: var(--ds-duration-fast) !important;
}

.ds-transition-slow {
  transition-duration: var(--ds-duration-slow) !important;
}

.ds-transition-none {
  transition: none !important;
}

/* ===== TRANSFORMS ===== */
.ds-scale-95 {
  transform: scale(0.95) !important;
}

.ds-scale-100 {
  transform: scale(1) !important;
}

.ds-scale-105 {
  transform: scale(1.05) !important;
}

.ds-rotate-90 {
  transform: rotate(90deg) !important;
}

.ds-rotate-180 {
  transform: rotate(180deg) !important;
}

.ds-rotate-270 {
  transform: rotate(270deg) !important;
}

.ds-translate-y-0 {
  transform: translateY(0) !important;
}

.ds-translate-y-1 {
  transform: translateY(var(--ds-space-1)) !important;
}

.ds-translate-y-2 {
  transform: translateY(var(--ds-space-2)) !important;
}

/* ===== ANIMATIONS ===== */
.ds-animate-none {
  animation: none !important;
}

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

.ds-animate-pulse {
  animation: ds-pulse 2s ease-in-out infinite !important;
}

.ds-animate-bounce {
  animation: ds-bounce 1s infinite !important;
}

@keyframes ds-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes ds-bounce {
  0%, 100% {
    transform: translateY(-5%);
  }
  50% {
    transform: translateY(0);
  }
}
/* ===== VISIBILITY ===== */
.ds-visible {
  visibility: visible !important;
}

.ds-invisible {
  visibility: hidden !important;
}

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

/* ===== RESPONSIVE: MOBILE ONLY ===== */
@media (max-width: 639px) {
  .ds-mobile\:hidden {
    display: none !important;
  }
  .ds-mobile\:block {
    display: block !important;
  }
  .ds-mobile\:flex {
    display: flex !important;
  }
  .ds-mobile\:flex-col {
    flex-direction: column !important;
  }
  .ds-mobile\:w-full {
    width: 100% !important;
  }
  .ds-mobile\:text-center {
    text-align: center !important;
  }
  .ds-mobile\:p-3 {
    padding: var(--ds-space-3) !important;
  }
  .ds-mobile\:p-4 {
    padding: var(--ds-space-4) !important;
  }
  .ds-mobile\:gap-2 {
    gap: var(--ds-space-2) !important;
  }
  .ds-mobile\:gap-3 {
    gap: var(--ds-space-3) !important;
  }
}
/* ===== RESPONSIVE: DESKTOP ONLY ===== */
@media (min-width: 1024px) {
  .ds-desktop\:hidden {
    display: none !important;
  }
  .ds-desktop\:block {
    display: block !important;
  }
  .ds-desktop\:flex {
    display: flex !important;
  }
  .ds-desktop\:grid {
    display: grid !important;
  }
  .ds-desktop\:flex-row {
    flex-direction: row !important;
  }
  .ds-desktop\:gap-4 {
    gap: var(--ds-space-4) !important;
  }
  .ds-desktop\:gap-6 {
    gap: var(--ds-space-6) !important;
  }
  .ds-desktop\:p-6 {
    padding: var(--ds-space-6) !important;
  }
  .ds-desktop\:p-8 {
    padding: var(--ds-space-8) !important;
  }
}
/* ===== DARK MODE VARIANTS ===== */
body.dark-mode .ds-dark\:bg-elevated,
body.dark .ds-dark\:bg-elevated {
  background-color: var(--ds-bg-elevated) !important;
}
body.dark-mode .ds-dark\:text-primary,
body.dark .ds-dark\:text-primary {
  color: var(--ds-text-primary) !important;
}
body.dark-mode .ds-dark\:border-light,
body.dark .ds-dark\:border-light {
  border-color: var(--ds-border-light) !important;
}

/* Legacy theme layers (still needed during migration) */
/* ==========================================================================
   Design System Tokens - Taxi CDT App
   Light mode default, dark mode via body.dark-mode
   ========================================================================== */
:root {
  /* ===== SURFACES (LIGHT MODE DEFAULT) ===== */
  --bg: #f0f2f5;
  --surface: #ffffff;
  --surface-2: #f8f9fa;
  --surface-3: #f1f3f5;
  --surface-hover: #e9ecef;
  /* ===== TEXT (LIGHT MODE DEFAULT) ===== */
  --text: #1f2937;
  --text-secondary: #4b5563;
  --text-muted: #9ca3af;
  /* ===== ACCENT COLORS (voor iconen en highlights) ===== */
  --accent-green: #22c55e;
  --accent-blue: #3b82f6;
  --accent-orange: #f97316;
  --accent-red: #ef4444;
  --accent-purple: #3b82f6;
  /* Override: paars naar blauw voor consistentie */
  --accent-cyan: #06b6d4;
  --accent-yellow: #eab308;
  --accent-pink: #ec4899;
  /* ===== STATUS COLORS ===== */
  --success: #22c55e;
  --danger: #ef4444;
  --warning: #f97316;
  --info: #3b82f6;
  /* ===== PRIMARY (LIGHT MODE) ===== */
  --primary: #1f2937;
  --primary-contrast: #ffffff;
  /* ===== BORDER & DIVIDERS (LIGHT MODE) ===== */
  --border: rgba(0, 0, 0, 0.08);
  --border-strong: rgba(0, 0, 0, 0.15);
  --divider: rgba(0, 0, 0, 0.06);
  /* ===== SHADOWS (LIGHT MODE) ===== */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.16);
  /* ===== RADIUS ===== */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;
  /* ===== SPACING (4px base) ===== */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  /* ===== TYPOGRAPHY ===== */
  --font-xs: 11px;
  --font-sm: 13px;
  --font-md: 15px;
  --font-lg: 17px;
  --font-xl: 20px;
  --font-2xl: 24px;
  --font-3xl: 30px;
  --line-tight: 1.2;
  --line-normal: 1.5;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  /* ===== INPUTS (LIGHT MODE) ===== */
  --input-bg: var(--surface-2);
  --input-border: var(--border);
  --input-text: var(--text);
  --input-placeholder: var(--text-muted);
  --input-focus-ring: rgba(59, 130, 246, 0.3);
  /* ===== CONTENT ===== */
  --content-max: 1100px;
  /* ===== MAP TO IONIC (LIGHT MODE) ===== */
  --ion-background-color: var(--bg);
  --ion-text-color: var(--text);
  --ion-color-primary: var(--accent-blue);
  --ion-color-primary-shade: #2563eb;
  --ion-color-primary-tint: #60a5fa;
  --ion-color-success: var(--success);
  --ion-color-danger: var(--danger);
  --ion-color-warning: var(--warning);
  --ion-color-medium: var(--text-muted);
}

/* ===== DARK MODE OVERRIDES ===== */
body.dark-mode,
body.dark,
.dark-mode {
  --bg: #1a1a1a;
  --surface: #222222;
  --surface-2: #222222;
  --surface-3: #1a1a1a;
  --surface-hover: #1a1a1a;
  --text: #ffffff;
  --text-secondary: #e4e4e7;
  --text-muted: #71717a;
  --primary: #ffffff;
  --primary-contrast: #0a0a0c;
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.15);
  --divider: rgba(255, 255, 255, 0.06);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.6);
  --input-focus-ring: rgba(255, 255, 255, 0.2);
}

/* ==========================================================================
   Design System Mixins
   ========================================================================== */
/* ==========================================================================
   Design System Utilities (aligned to tokens)
   ========================================================================== */
/* Surfaces + background */
.u-bg {
  background: var(--bg);
  color: var(--text);
}

.u-surface {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.u-surface-2 {
  background: var(--surface-2);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

.u-surface-3 {
  background: var(--surface-3);
  color: var(--text);
  border: 1px solid var(--divider);
  border-radius: var(--radius-md);
}

/* Text colors */
.u-text {
  color: var(--text);
}

.u-text-muted {
  color: var(--text-muted);
}

.u-text-primary {
  color: var(--primary);
}

.u-text-success {
  color: var(--success);
}

.u-text-warning {
  color: var(--warning);
}

.u-text-danger {
  color: var(--danger);
}

.u-text-info {
  color: var(--info);
}

/* Shadows */
.u-shadow-sm {
  box-shadow: var(--shadow-sm);
}

.u-shadow {
  box-shadow: var(--shadow);
}

/* Radius */
.u-radius-sm {
  border-radius: var(--radius-sm);
}

.u-radius-md {
  border-radius: var(--radius-md);
}

.u-radius-lg {
  border-radius: var(--radius-lg);
}

.u-radius-xl {
  border-radius: var(--radius-xl);
}

/* Layout */
.u-flex {
  display: flex;
}

.u-inline-flex {
  display: inline-flex;
}

.u-align-center {
  align-items: center;
}

.u-align-start {
  align-items: flex-start;
}

.u-align-end {
  align-items: flex-end;
}

.u-justify-between {
  justify-content: space-between;
}

.u-justify-center {
  justify-content: center;
}

.u-justify-start {
  justify-content: flex-start;
}

.u-justify-end {
  justify-content: flex-end;
}

.u-wrap {
  flex-wrap: wrap;
}

.u-nowrap {
  flex-wrap: nowrap;
}

.u-grow {
  flex: 1 1 auto;
}

.u-shrink-0 {
  flex-shrink: 0;
}

/* Spacing (padding + margin + gap) */
.u-gap-1 {
  gap: var(--space-1);
}

.u-gap-2 {
  gap: var(--space-2);
}

.u-gap-3 {
  gap: var(--space-3);
}

.u-gap-4 {
  gap: var(--space-4);
}

.u-gap-5 {
  gap: var(--space-5);
}

.u-gap-6 {
  gap: var(--space-6);
}

.u-gap-7 {
  gap: var(--space-7);
}

.u-gap-8 {
  gap: var(--space-8);
}

.u-p-1 {
  padding: var(--space-1);
}

.u-p-2 {
  padding: var(--space-2);
}

.u-p-3 {
  padding: var(--space-3);
}

.u-p-4 {
  padding: var(--space-4);
}

.u-p-5 {
  padding: var(--space-5);
}

.u-p-6 {
  padding: var(--space-6);
}

.u-p-7 {
  padding: var(--space-7);
}

.u-p-8 {
  padding: var(--space-8);
}

.u-m-1 {
  margin: var(--space-1);
}

.u-m-2 {
  margin: var(--space-2);
}

.u-m-3 {
  margin: var(--space-3);
}

.u-m-4 {
  margin: var(--space-4);
}

.u-m-5 {
  margin: var(--space-5);
}

.u-m-6 {
  margin: var(--space-6);
}

.u-m-7 {
  margin: var(--space-7);
}

.u-m-8 {
  margin: var(--space-8);
}

.u-px-4 {
  padding-inline: var(--space-4);
}

.u-px-5 {
  padding-inline: var(--space-5);
}

.u-px-6 {
  padding-inline: var(--space-6);
}

.u-py-2 {
  padding-block: var(--space-2);
}

.u-py-3 {
  padding-block: var(--space-3);
}

.u-py-4 {
  padding-block: var(--space-4);
}

/* Width helpers */
.u-full {
  width: 100%;
}

.u-max {
  max-width: var(--content-max);
  margin-inline: auto;
}

/* Borders + dividers */
.u-border {
  border: 1px solid var(--border);
}

.u-divider {
  border-bottom: 1px solid var(--divider);
}

/*
 * 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
 */
/* @use rules MUST come first in SCSS */
:root {
  --fs-100: clamp(0.85rem, 0.82rem + 0.2vw, 0.95rem);
  --fs-200: clamp(0.95rem, 0.9rem + 0.3vw, 1.05rem);
  --fs-300: clamp(1.0rem, 0.95rem + 0.5vw, 1.15rem);
  --fs-400: clamp(1.1rem, 1.0rem + 0.6vw, 1.3rem);
  --fs-500: clamp(1.25rem, 1.1rem + 0.8vw, 1.6rem);
  --fs-600: clamp(1.5rem, 1.3rem + 1.2vw, 2.0rem);
}

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid {
  width: 100%;
  padding-left: 12px;
  padding-right: 12px;
}

.responsive-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 12px;
}
@media (min-width: 480px) {
  .responsive-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) {
  .responsive-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .responsive-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 480px) {
  .hide-sm {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .hide-md {
    display: none !important;
  }
}

.show-sm {
  display: none !important;
}
@media (max-width: 480px) {
  .show-sm {
    display: initial !important;
  }
}

.show-md {
  display: none !important;
}
@media (max-width: 768px) {
  .show-md {
    display: initial !important;
  }
}

.leaflet-top.leaflet-left {
  top: auto !important;
  left: auto !important;
  right: 16px !important;
  bottom: 16px !important;
}

.leaflet-control-zoom {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.leaflet-control-zoom a {
  background: var(--ion-color-primary) !important;
  color: var(--tesla-text-primary) !important;
  border: none !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}
.leaflet-control-zoom a:hover {
  background: var(--ion-color-primary-shade) !important;
}

/*
  =====================================
  CDT TAXI APP - UNIVERSAL SEARCHBAR STYLING
  Standalone file voor alle zoekbalken in de app
  =====================================

  📁 LOCATIE: src/app/shared/standalone-searchbar.scss

  🔧 GEBRUIK BINNEN CDT APP:
  Deze styling wordt automatisch toegepast via _tabs-common.scss
  import in tab3, tab7, en andere tabs.

  🔧 GEBRUIK BUITEN CDT APP (Standalone):
  @import '~src/app/shared/standalone-searchbar.scss';

  📝 HTML OPTIE 1 - Native Search Container (Aanbevolen voor Tab3/Tab7):
  <div class="search-wrapper">
    <div class="native-search-container">
      <ion-icon name="search-outline" class="search-icon"></ion-icon>
      <input type="text" [(ngModel)]="searchTerm" (input)="onSearchChange($event)"
             placeholder="Zoeken..." class="native-search-input" />
      <ion-icon *ngIf="searchTerm" name="close-circle" class="clear-icon"
                (click)="searchTerm = ''; onSearchChange($event)"></ion-icon>
    </div>

    <!-- OPTIONEEL: Filter knop -->
    <div class="status-badge-container">
      <ion-chip (click)="toggleStatusFilter()" class="status-badge">
        <ion-label>{{ activeFilter }} ({{ count }})</ion-label>
        <ion-icon name="chevron-down-outline"></ion-icon>
      </ion-chip>
    </div>
  </div>

  <!-- OPTIONEEL: Dropdown menu -->
  <div class="status-dropdown" *ngIf="showMenu">
    <div class="status-option" (click)="selectOption('all')" [class.active]="filter === 'all'">
      <span class="label">Alle</span>
      <ion-badge>{{ allCount }}</ion-badge>
    </div>
    <!-- More options... -->
  </div>

  📝 HTML OPTIE 2 - Ionic Searchbar (Simpeler maar minder controle):
  <div class="search-wrapper">
    <ion-searchbar [(ngModel)]="searchTerm" placeholder="Zoeken..."></ion-searchbar>
  </div>

  ✅ FEATURES:
  - 🌓 Automatische dark mode support
  - 📱 Responsive design (mobile friendly)
  - 🎨 Tesla-stijl blauw accent (var(--ion-color-primary))
  - ⚡ Clickable filter button met z-index layering
  - 🔍 Clear icon met hover effect
  - 📋 Dropdown menu met smooth animation

  🎨 KLEUREN:
  Light mode: Wit (var(--cdt-light-bg-card)) met grijs (var(--color-gray-500))
  Dark mode: Zwart (#000000) met blauw (var(--ion-color-primary))

  ⚠️ VEREISTEN:
  - Ionic Framework
  - Angular [(ngModel)] voor input binding
  - CSS variabele --tesla-blue (optioneel, fallback: var(--ion-color-primary))
*/
/* CSS Variables voor Light/Dark Mode */
:root {
  --searchbar-bg-light: #f0f2f5;
  --searchbar-bg-dark: #000000;
  --searchbar-text-light: var(--text, #1f2937);
  --searchbar-text-dark: #ffffff;
  --searchbar-placeholder-light: var(--text-muted, #9ca3af);
  --searchbar-placeholder-dark: rgba(255, 255, 255, 0.5);
  --searchbar-border-light: #e9edef;
  --searchbar-border-dark: var(--border-strong);
  --searchbar-icon-light: var(--accent-blue, #3b82f6);
  --searchbar-icon-dark: #3b82f6;
}

/* ===================================== */
/* GLOBAL SEARCHBAR OVERRIDE (UNIFORM)   */
/* ===================================== */
ion-searchbar,
ion-searchbar.custom-searchbar,
.visible-searchbar,
.filters-section ion-searchbar,
.search-wrapper ion-searchbar {
  --background: var(--searchbar-bg, #f0f2f5) !important;
  --color: var(--searchbar-text, var(--text)) !important;
  --placeholder-color: var(--searchbar-placeholder, var(--text-muted)) !important;
  --icon-color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
  --clear-button-color: var(--searchbar-placeholder, var(--text-muted)) !important;
  --box-shadow: none !important;
  --border-radius: 24px !important;
  background: transparent !important;
  border: 1px solid var(--searchbar-border, #e9edef) !important;
  border-radius: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 44px !important;
}

ion-searchbar::part(container),
ion-searchbar::part(native) {
  background: var(--searchbar-bg, #f0f2f5) !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 24px !important;
}

ion-searchbar::part(input),
ion-searchbar::part(text) {
  color: var(--searchbar-text, var(--text)) !important;
  -webkit-text-fill-color: var(--searchbar-text, var(--text)) !important;
  background: transparent !important;
}

ion-searchbar::part(icon),
ion-searchbar::part(clear-button) {
  color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
}

ion-searchbar .searchbar-input-container,
ion-searchbar .searchbar-input {
  background: var(--searchbar-bg, #f0f2f5) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--searchbar-text, var(--text)) !important;
  border-radius: 24px !important;
}

ion-searchbar .searchbar-search-icon,
ion-searchbar .searchbar-clear-button {
  color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
}

.native-search-container,
.search-wrapper .native-search-container {
  display: flex !important;
  align-items: center !important;
  background: var(--searchbar-bg, #f0f2f5) !important;
  border: 1px solid var(--searchbar-border, #e9edef) !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  padding: 12px 24px !important;
}

.native-search-input {
  flex: 1 !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  -webkit-appearance: none;
  color: var(--searchbar-text, var(--text)) !important;
  -webkit-text-fill-color: var(--searchbar-text, var(--text)) !important;
  font-size: 14px !important;
}

.native-search-input::placeholder {
  color: var(--searchbar-placeholder, var(--text-muted)) !important;
}

.search-icon {
  color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
  font-size: 20px !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
}

.clear-icon {
  color: var(--searchbar-placeholder, var(--text-muted)) !important;
  font-size: 20px !important;
  cursor: pointer !important;
}
.clear-icon:hover {
  color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
}

/* ===================================== */
/* UNIVERSAL SEARCH WRAPPER              */
/* ===================================== */
.search-wrapper {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  /* ===================================== */
  /* NATIVE SEARCH CONTAINER (Tab3/Tab7)   */
  /* ===================================== */
  /* ===================================== */
  /* IONIC SEARCHBAR (alternatief)         */
  /* ===================================== */
  /* ===================================== */
  /* FILTER BUTTON (rechts in searchbar)   */
  /* ===================================== */
  /* ===================================== */
  /* FILTER DROPDOWN MENU                  */
  /* ===================================== */
}
.search-wrapper .native-search-container {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--searchbar-bg, #f0f2f5) !important;
  border: 1px solid var(--searchbar-border, #e9edef) !important;
  border-radius: 24px !important;
  padding: 12px 24px !important;
  min-height: 44px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none;
  pointer-events: auto;
}
.search-wrapper .native-search-container .search-icon {
  font-size: 20px;
  color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
  margin-right: 12px;
  flex-shrink: 0;
  pointer-events: none;
}
.search-wrapper .native-search-container .native-search-input {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
  font-size: 14px;
  color: var(--searchbar-text, var(--text)) !important;
  padding: 0;
  pointer-events: auto;
  width: 100% !important;
}
.search-wrapper .native-search-container .native-search-input::placeholder {
  color: var(--searchbar-placeholder, var(--text-muted)) !important;
}
.search-wrapper .native-search-container .clear-icon {
  font-size: 20px;
  color: var(--searchbar-placeholder, var(--text-muted)) !important;
  margin-left: 8px;
  cursor: pointer;
  flex-shrink: 0;
  pointer-events: auto;
  z-index: 10;
}
.search-wrapper .native-search-container .clear-icon:hover {
  color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
}
.search-wrapper ion-searchbar {
  --background: var(--searchbar-bg, #f0f2f5) !important;
  --border-radius: 24px !important;
  --box-shadow: none !important;
  --icon-color: var(--searchbar-icon, var(--accent-blue, #3b82f6)) !important;
  --placeholder-color: var(--searchbar-placeholder, var(--text-muted)) !important;
  --color: var(--searchbar-text, var(--text)) !important;
  --padding-start: 10px;
  --padding-end: 10px;
  padding: 0 !important;
  min-height: 44px !important;
  width: 100% !important;
  border: 1px solid var(--searchbar-border, #e9edef) !important;
  border-radius: 24px !important;
}
.search-wrapper ion-searchbar::part(native) {
  padding: 12px 24px !important;
  border: none !important;
  border-radius: 24px !important;
  min-height: 44px !important;
  background: var(--searchbar-bg, #f0f2f5) !important;
}
.search-wrapper .status-badge-container {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  max-width: 140px;
  pointer-events: auto;
}
.search-wrapper .status-badge-container ion-chip {
  margin: 0;
  height: 30px;
  background: var(--ion-color-primary) !important;
  border: none !important;
  outline: none !important;
  cursor: pointer !important;
  font-size: 0.875rem;
  padding: 0 12px;
  color: var(--cdt-light-bg-card) !important;
  pointer-events: auto !important;
  transition: all 0.2s ease;
  z-index: 1001;
}
.search-wrapper .status-badge-container ion-chip ion-label {
  color: var(--cdt-light-bg-card) !important;
  margin: 0;
  font-weight: 500;
}
.search-wrapper .status-badge-container ion-chip ion-icon {
  color: var(--cdt-light-bg-card) !important;
  margin-left: 4px;
  font-size: 16px;
}
.search-wrapper .status-badge-container ion-chip:hover {
  background: var(--ion-color-primary-shade) !important;
  transform: scale(1.05);
}
.search-wrapper .status-badge-container ion-chip:active {
  transform: scale(0.95);
}
.search-wrapper .status-dropdown {
  position: relative;
  margin-top: 12px;
  background: var(--searchbar-bg-light);
  border-radius: 12px;
  padding: 8px;
  box-shadow: none;
  animation: slideDown 0.2s ease;
  z-index: 1000;
  border: 1px solid var(--searchbar-border-light);
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.search-wrapper .status-dropdown .status-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 4px;
}
.search-wrapper .status-dropdown .status-option:last-child {
  margin-bottom: 0;
}
.search-wrapper .status-dropdown .status-option:hover {
  background: rgba(0, 0, 0, 0.05);
}
.search-wrapper .status-dropdown .status-option.active {
  background: rgba(var(--ion-color-primary-rgb), 0.1);
  border: 2px solid var(--ion-color-primary);
  box-shadow: 0 2px 4px rgba(56, 128, 255, 0.15);
}
.search-wrapper .status-dropdown .status-option .label {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ion-text-color, #1a1a1a);
}
.search-wrapper .status-dropdown .status-option ion-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 12px;
  background: var(--ion-color-primary);
  color: var(--tesla-text-primary);
}

/* ===================================== */
/* DARK MODE STYLING                     */
/* ===================================== */
body.dark .search-wrapper .native-search-container,
body.dark-mode .search-wrapper .native-search-container {
  background: #000000 !important;
  border: 1px solid var(--border-strong) !important;
  box-shadow: none !important;
}
body.dark .search-wrapper .native-search-container .search-icon,
body.dark-mode .search-wrapper .native-search-container .search-icon {
  color: #3b82f6 !important;
}
body.dark .search-wrapper .native-search-container .native-search-input,
body.dark-mode .search-wrapper .native-search-container .native-search-input {
  color: var(--text) !important;
}
body.dark .search-wrapper .native-search-container .native-search-input::placeholder,
body.dark-mode .search-wrapper .native-search-container .native-search-input::placeholder {
  color: var(--text-muted) !important;
}
body.dark .search-wrapper .native-search-container .clear-icon,
body.dark-mode .search-wrapper .native-search-container .clear-icon {
  color: var(--text-muted) !important;
}
body.dark .search-wrapper .native-search-container .clear-icon:hover,
body.dark-mode .search-wrapper .native-search-container .clear-icon:hover {
  color: var(--text) !important;
}
body.dark .search-wrapper ion-searchbar,
body.dark-mode .search-wrapper ion-searchbar {
  --background: var(--surface) !important;
  --icon-color: #3b82f6 !important;
  --placeholder-color: var(--text-muted) !important;
  --color: var(--text) !important;
}
body.dark .search-wrapper ion-searchbar::part(native),
body.dark-mode .search-wrapper ion-searchbar::part(native) {
  border: none !important;
  background: var(--surface) !important;
}
body.dark .search-wrapper .status-badge-container ion-chip,
body.dark-mode .search-wrapper .status-badge-container ion-chip {
  background: var(--ion-color-primary) !important;
  border: 1px solid var(--ion-color-primary-shade) !important;
  color: var(--cdt-light-bg-card) !important;
}
body.dark .search-wrapper .status-badge-container ion-chip ion-label,
body.dark-mode .search-wrapper .status-badge-container ion-chip ion-label {
  color: var(--cdt-light-bg-card) !important;
}
body.dark .search-wrapper .status-badge-container ion-chip ion-icon,
body.dark-mode .search-wrapper .status-badge-container ion-chip ion-icon {
  color: var(--cdt-light-bg-card) !important;
}
body.dark .search-wrapper .status-dropdown,
body.dark-mode .search-wrapper .status-dropdown {
  background: var(--searchbar-bg-dark) !important;
  border: 1px solid var(--searchbar-border-dark) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
body.dark .search-wrapper .status-dropdown .status-option:hover,
body.dark-mode .search-wrapper .status-dropdown .status-option:hover {
  background: var(--border) !important;
}
body.dark .search-wrapper .status-dropdown .status-option.active,
body.dark-mode .search-wrapper .status-dropdown .status-option.active {
  background: var(--border) !important;
  border: 2px solid var(--ion-color-primary) !important;
}
body.dark .search-wrapper .status-dropdown .status-option .label,
body.dark-mode .search-wrapper .status-dropdown .status-option .label {
  color: var(--cdt-light-bg-card) !important;
}
body.dark .search-wrapper .status-dropdown .status-option ion-badge,
body.dark-mode .search-wrapper .status-dropdown .status-option ion-badge {
  background: var(--ion-color-primary) !important;
  color: var(--cdt-light-bg-card) !important;
}
body.dark .status-dropdown,
body.dark-mode .status-dropdown {
  background: var(--searchbar-bg-dark) !important;
  border: 1px solid var(--searchbar-border-dark) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
body.dark .status-dropdown .status-option,
body.dark-mode .status-dropdown .status-option {
  color: var(--cdt-light-bg-card) !important;
}
body.dark .status-dropdown .status-option:hover,
body.dark-mode .status-dropdown .status-option:hover {
  background: var(--border) !important;
}
body.dark .status-dropdown .status-option.active,
body.dark-mode .status-dropdown .status-option.active {
  background: var(--border) !important;
  border: 2px solid var(--ion-color-primary) !important;
}
body.dark .status-dropdown .status-option .label,
body.dark-mode .status-dropdown .status-option .label {
  color: var(--cdt-light-bg-card) !important;
}
body.dark .status-dropdown .status-option ion-badge,
body.dark-mode .status-dropdown .status-option ion-badge {
  background: var(--ion-color-primary) !important;
  color: var(--cdt-light-bg-card) !important;
}

/* ===================================== */
/* MOBILE RESPONSIVE                     */
/* ===================================== */
@media (max-width: 640px) {
  .search-wrapper .native-search-container {
    padding-right: 120px;
  }
  .search-wrapper ion-searchbar::part(native) {
    padding-right: 120px;
  }
  .search-wrapper .status-badge-container {
    max-width: 110px;
  }
  .search-wrapper .status-badge-container ion-chip {
    font-size: 0.8rem;
    padding: 0 8px;
  }
}
.page-header {
  padding: 16px;
  background: transparent;
}

.stats-card {
  background: linear-gradient(135deg, var(--ion-color-primary, #3b82f6) 0%, #60a5fa 100%);
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 8px 32px rgba(59, 130, 246, 0.3);
  border: none;
}
.stats-card.stats-card--3col .stat-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .stats-card.stats-card--3col .stat-grid {
    grid-template-columns: 1fr;
  }
}
.stats-card.stats-card--compact {
  padding: 16px !important;
}
.stats-card.stats-card--compact .stat-box {
  padding: 10px 8px;
}
.stats-card.stats-card--compact .stat-number {
  font-size: 20px;
}
.stats-card.stats-card--compact .stat-label {
  font-size: 10px;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 768px) {
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
@media (max-width: 400px) {
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

.stat-box {
  text-align: center;
  padding: 16px 12px;
  background: var(--border-strong);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  transition: all 0.3s ease;
}
.stat-box.stat-box--clickable {
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.stat-box.stat-box--clickable:hover {
  background: var(--border-strong) !important;
  transform: translateY(-2px);
}
.stat-box.stat-box--clickable:active {
  transform: translateY(0);
}
.stat-box.stat-box--active, .stat-box.active {
  background: var(--border-strong) !important;
  border-color: var(--text-muted) !important;
}

.stat-number {
  font-size: 28px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 4px;
  text-shadow: none;
  width: 100%;
  text-align: center;
  line-height: 1.2;
}
.stat-number.stat-number--positive, .stat-number.positive {
  color: #ffffff !important;
}
.stat-number.stat-number--negative, .stat-number.negative {
  color: #ffffff !important;
}
.stat-number.stat-number--warning {
  color: #ffffff !important;
}

.stat-label {
  font-size: 10px;
  color: var(--text);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  width: 100%;
  text-align: center;
  line-height: 1.3;
}

.stat-icon {
  font-size: 24px;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.9);
}
.stat-icon.stat-icon--green {
  color: #4ade80;
}
.stat-icon.stat-icon--blue {
  color: #60a5fa;
}
.stat-icon.stat-icon--orange {
  color: #fb923c;
}
.stat-icon.stat-icon--red {
  color: #f87171;
}
.stat-icon.stat-icon--purple {
  color: #a78bfa;
}
.stat-icon.stat-icon--cyan {
  color: #22d3ee;
}
.stat-icon.stat-icon--yellow {
  color: #fbbf24;
}
.stat-icon.stat-icon--pink {
  color: #f472b6;
}

@media (max-width: 480px) {
  .stats-card {
    padding: 16px !important;
  }
  .stat-number {
    font-size: 20px;
  }
  .stat-label {
    font-size: 10px;
  }
}
ion-modal .stats-card {
  margin: 16px;
}

:host-context(body.dark-mode) .stats-card,
:host-context(body.dark) .stats-card {
  background: linear-gradient(135deg, var(--ion-color-primary, #3b82f6) 0%, #60a5fa 100%);
  box-shadow: 0 8px 32px rgba(59, 130, 246, 0.4);
  border: none;
}
:host-context(body.dark-mode) .stat-box,
:host-context(body.dark) .stat-box {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--border-strong);
}
:host-context(body.dark-mode) .stat-number,
:host-context(body.dark) .stat-number {
  color: #ffffff;
}
:host-context(body.dark-mode) .stat-label,
:host-context(body.dark) .stat-label {
  color: var(--text);
}

ion-chip,
.filter-chip,
.status-badge,
ion-chip.filter-chip,
ion-chip.status-badge,
.status-badge-container ion-chip,
.filter-wrapper ion-chip,
.filters-section ion-chip {
  --background: var(--ion-color-primary) !important;
  --color: #ffffff !important;
  background: var(--ion-color-primary) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  height: 32px !important;
  padding: 0 14px !important;
  margin: 0 !important;
}
ion-chip ion-label,
.filter-chip ion-label,
.status-badge ion-label,
ion-chip.filter-chip ion-label,
ion-chip.status-badge ion-label,
.status-badge-container ion-chip ion-label,
.filter-wrapper ion-chip ion-label,
.filters-section ion-chip ion-label {
  color: #ffffff !important;
  font-weight: 600 !important;
}
ion-chip ion-icon,
.filter-chip ion-icon,
.status-badge ion-icon,
ion-chip.filter-chip ion-icon,
ion-chip.status-badge ion-icon,
.status-badge-container ion-chip ion-icon,
.filter-wrapper ion-chip ion-icon,
.filters-section ion-chip ion-icon {
  color: #ffffff !important;
  margin-left: 4px !important;
}
ion-chip:hover,
.filter-chip:hover,
.status-badge:hover,
ion-chip.filter-chip:hover,
ion-chip.status-badge:hover,
.status-badge-container ion-chip:hover,
.filter-wrapper ion-chip:hover,
.filters-section ion-chip:hover {
  --background: var(--ion-color-primary-shade) !important;
  background: var(--ion-color-primary-shade) !important;
}

ion-chip.success,
ion-chip[color=success],
.status-badge.success,
.chip-success,
.status-success {
  --background: var(--ion-color-success) !important;
  background: var(--ion-color-success) !important;
  --color: #ffffff !important;
  color: #ffffff !important;
}

ion-chip.warning,
ion-chip[color=warning],
.status-badge.warning,
.chip-warning,
.status-warning {
  --background: var(--ion-color-warning) !important;
  background: var(--ion-color-warning) !important;
  --color: #000000 !important;
  color: #000000 !important;
}
ion-chip.warning ion-label, ion-chip.warning ion-icon,
ion-chip[color=warning] ion-label,
ion-chip[color=warning] ion-icon,
.status-badge.warning ion-label,
.status-badge.warning ion-icon,
.chip-warning ion-label,
.chip-warning ion-icon,
.status-warning ion-label,
.status-warning ion-icon {
  color: #000000 !important;
}

ion-chip.danger,
ion-chip[color=danger],
.status-badge.danger,
.chip-danger,
.status-danger {
  --background: var(--ion-color-danger) !important;
  background: var(--ion-color-danger) !important;
  --color: #ffffff !important;
  color: #ffffff !important;
}

ion-searchbar {
  --background: var(--searchbar-bg) !important;
  --color: var(--text) !important;
  --placeholder-color: var(--text-muted) !important;
  --icon-color: var(--accent-blue) !important;
  --clear-button-color: var(--text-muted) !important;
  --border-radius: 16px !important;
  --box-shadow: none !important;
  background: transparent !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 16px !important;
  min-height: 48px !important;
  width: 100% !important;
}

ion-searchbar::part(native) {
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 16px !important;
}

ion-searchbar .searchbar-input-container {
  background: var(--searchbar-bg) !important;
  border-radius: 16px !important;
}

ion-searchbar .searchbar-input {
  background: transparent !important;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
}

ion-searchbar .searchbar-search-icon {
  color: var(--accent-blue) !important;
}

ion-searchbar .searchbar-clear-button {
  color: var(--text-muted) !important;
}

.native-search-container {
  background: var(--searchbar-bg) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 16px !important;
  padding: 10px 16px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.native-search-container .search-icon {
  color: var(--accent-blue) !important;
  font-size: 20px !important;
}
.native-search-container .native-search-input {
  background: transparent !important;
  border: none !important;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
  font-size: 14px !important;
  flex: 1 !important;
}
.native-search-container .native-search-input::placeholder {
  color: var(--text-muted) !important;
}
.native-search-container .clear-icon {
  color: var(--text-muted) !important;
}

.search-wrapper {
  position: relative;
  width: 100%;
}
.search-wrapper .status-badge-container {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.app-card,
ion-card.app-card {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

ion-card:not(.main-display-card):not(.expense-card) {
  --background: var(--surface);
  --color: var(--text);
  --border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

/* Taximeter main display card baseline (blue) */
ion-card.main-display-card {
  --background: var(--tesla-header-gradient, linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)) !important;
  background: var(--tesla-header-gradient, linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)) !important;
  background-color: var(--tesla-blue, #3b82f6) !important;
  border: none !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
  outline: none !important;
}

.app-btn,
ion-button.app-btn {
  --border-radius: var(--radius-md);
  --box-shadow: none;
  --padding-start: var(--space-4);
  --padding-end: var(--space-4);
  --padding-top: var(--space-2);
  --padding-bottom: var(--space-2);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.2px;
}

ion-button {
  --border-radius: var(--radius-md);
  --box-shadow: none;
  text-transform: none;
  letter-spacing: 0.2px;
}

ion-button[fill=outline] {
  --border-color: var(--border);
  --color: var(--text);
}

ion-button.ion-disabled,
ion-button[disabled] {
  opacity: 0.6;
}

.app-input,
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) {
  --background: var(--input-bg);
  --color: var(--input-text);
  --placeholder-color: var(--input-placeholder);
  --border-color: var(--input-border);
  --highlight-height: 0;
  --padding-start: var(--space-3);
  --inner-padding-end: var(--space-3);
  --min-height: 52px;
  background: var(--input-bg);
  color: var(--input-text);
  border: 1px solid var(--input-border);
  border-radius: var(--radius-md);
  box-shadow: var(--input-shadow);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime).ion-focused,
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime):focus-within {
  --border-color: var(--input-border-focus);
  border-color: var(--input-border-focus);
  box-shadow: var(--input-shadow-focus);
}

ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-label {
  color: var(--input-text);
  font-weight: 600;
  font-size: var(--font-sm);
}

ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-input,
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-textarea,
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-select,
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-datetime {
  --background: transparent;
  --color: var(--input-text);
  --placeholder-color: var(--input-placeholder);
  background: transparent;
  color: var(--input-text);
  font-size: var(--font-md);
}

ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-input::part(native),
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-textarea::part(native) {
  color: var(--input-text);
  -webkit-text-fill-color: var(--input-text);
  caret-color: var(--primary);
}

ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-input::part(placeholder),
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-textarea::part(placeholder) {
  color: var(--input-placeholder);
}

ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-select::part(text),
ion-item:is(.app-input,
.item-label-stacked,
.item-label-floating,
.item-has-input,
.item-has-textarea,
.item-has-select,
.item-has-datetime) ion-select::part(placeholder) {
  color: var(--input-text);
}

ion-item.ion-disabled,
ion-item[disabled] {
  opacity: 0.6;
}

.app-toolbar,
ion-toolbar.app-toolbar,
ion-toolbar:not([color]) {
  --background: var(--surface);
  --color: var(--text);
  --border-color: var(--border);
  background: var(--surface);
  color: var(--text);
}

.app-segment,
ion-segment,
ion-segment.app-segment {
  --background: var(--surface-2);
  --indicator-color: transparent;
  --indicator-height: 0;
  --border-radius: var(--radius-md);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 2px;
}

ion-segment-button {
  --color: var(--text-muted);
  --color-checked: var(--text);
  --background: transparent;
  --background-checked: color-mix(in srgb, var(--primary) 15%, transparent);
  --indicator-height: 0;
  font-weight: 600;
  border-radius: calc(var(--radius-md) - 2px);
}

.app-chip,
ion-chip,
ion-chip.app-chip {
  --background: var(--surface-2);
  --color: var(--text);
  border: 1px solid var(--border);
  border-radius: 999px;
  height: 32px;
  font-weight: 600;
  padding: 0 var(--space-3);
}

ion-chip[outline=true] {
  background: transparent;
}

/* ============================================
   Tab8/Tab9/Tab10 component baseline + dark mode
   ============================================ */
app-tab8 ion-content,
app-tab9 ion-content,
app-tab10 ion-content {
  --background: var(--tesla-black, var(--cdt-bg-primary));
  background: var(--tesla-black, var(--cdt-bg-primary));
  color: var(--tesla-text-primary, var(--cdt-light-text-primary));
}
app-tab8 ion-card:not(.expense-card),
app-tab8 .content-card,
app-tab8 .compact-card,
app-tab9 ion-card:not(.expense-card),
app-tab9 .content-card,
app-tab9 .compact-card,
app-tab10 ion-card:not(.expense-card),
app-tab10 .content-card,
app-tab10 .compact-card {
  background: var(--tesla-card-bg, var(--cdt-light-bg-card));
  color: var(--tesla-text-primary, var(--cdt-light-text-primary));
  border: 1px solid var(--tesla-border, var(--cdt-light-border));
  box-shadow: var(--tesla-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}
app-tab8 ion-item,
app-tab9 ion-item,
app-tab10 ion-item {
  --background: var(--tesla-card-bg, var(--cdt-light-bg-card));
  --color: var(--tesla-text-primary, var(--cdt-light-text-primary));
  --placeholder-color: var(--tesla-text-secondary, var(--cdt-light-text-secondary));
  --border-color: var(--tesla-border, var(--cdt-light-border));
  border: 1px solid var(--tesla-border, var(--cdt-light-border));
  border-radius: 10px;
  margin-bottom: 10px;
}
app-tab8 ion-label,
app-tab9 ion-label,
app-tab10 ion-label {
  color: var(--tesla-text-primary, var(--cdt-light-text-primary));
}
app-tab8 ion-input,
app-tab8 ion-textarea,
app-tab8 ion-select,
app-tab9 ion-input,
app-tab9 ion-textarea,
app-tab9 ion-select,
app-tab10 ion-input,
app-tab10 ion-textarea,
app-tab10 ion-select {
  --color: var(--tesla-text-primary, var(--cdt-light-text-primary));
  --placeholder-color: var(--tesla-text-secondary, var(--cdt-light-text-secondary));
  color: var(--tesla-text-primary, var(--cdt-light-text-primary));
}
app-tab8 ion-list,
app-tab9 ion-list,
app-tab10 ion-list {
  background: transparent;
}
app-tab8 ion-button[fill=outline],
app-tab9 ion-button[fill=outline],
app-tab10 ion-button[fill=outline] {
  --border-color: var(--tesla-border, var(--cdt-light-border));
  --color: var(--tesla-text-primary, var(--cdt-light-text-primary));
}
app-tab8 ion-searchbar,
app-tab9 ion-searchbar,
app-tab10 ion-searchbar {
  --background: var(--searchbar-bg);
  --color: var(--searchbar-text);
  --placeholder-color: var(--searchbar-placeholder);
  --icon-color: var(--searchbar-icon);
  border: 1px solid var(--searchbar-border);
  border-radius: 16px;
  width: 100%;
}

body.dark app-tab8 ion-content,
body.dark app-tab9 ion-content,
body.dark app-tab10 ion-content,
.dark-mode app-tab8 ion-content,
.dark-mode app-tab9 ion-content,
.dark-mode app-tab10 ion-content {
  --background: var(--cdt-bg-primary);
  background: var(--cdt-bg-primary);
  color: var(--cdt-text-primary);
}
body.dark app-tab8 ion-card:not(.expense-card),
body.dark app-tab8 .content-card,
body.dark app-tab8 .compact-card,
body.dark app-tab9 ion-card:not(.expense-card),
body.dark app-tab9 .content-card,
body.dark app-tab9 .compact-card,
body.dark app-tab10 ion-card:not(.expense-card),
body.dark app-tab10 .content-card,
body.dark app-tab10 .compact-card,
.dark-mode app-tab8 ion-card:not(.expense-card),
.dark-mode app-tab8 .content-card,
.dark-mode app-tab8 .compact-card,
.dark-mode app-tab9 ion-card:not(.expense-card),
.dark-mode app-tab9 .content-card,
.dark-mode app-tab9 .compact-card,
.dark-mode app-tab10 ion-card:not(.expense-card),
.dark-mode app-tab10 .content-card,
.dark-mode app-tab10 .compact-card {
  background: var(--cdt-bg-card);
  color: var(--cdt-text-primary);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}
body.dark app-tab8 ion-item,
body.dark app-tab9 ion-item,
body.dark app-tab10 ion-item,
.dark-mode app-tab8 ion-item,
.dark-mode app-tab9 ion-item,
.dark-mode app-tab10 ion-item {
  --background: var(--cdt-bg-card);
  --color: var(--cdt-text-primary);
  --placeholder-color: rgba(255, 255, 255, 0.6);
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--cdt-bg-card);
}
body.dark app-tab8 ion-input,
body.dark app-tab8 ion-textarea,
body.dark app-tab8 ion-select,
body.dark app-tab9 ion-input,
body.dark app-tab9 ion-textarea,
body.dark app-tab9 ion-select,
body.dark app-tab10 ion-input,
body.dark app-tab10 ion-textarea,
body.dark app-tab10 ion-select,
.dark-mode app-tab8 ion-input,
.dark-mode app-tab8 ion-textarea,
.dark-mode app-tab8 ion-select,
.dark-mode app-tab9 ion-input,
.dark-mode app-tab9 ion-textarea,
.dark-mode app-tab9 ion-select,
.dark-mode app-tab10 ion-input,
.dark-mode app-tab10 ion-textarea,
.dark-mode app-tab10 ion-select {
  --background: transparent;
  --color: var(--cdt-text-primary);
  --placeholder-color: rgba(255, 255, 255, 0.55);
  color: var(--cdt-text-primary);
}
body.dark app-tab8 ion-label,
body.dark app-tab9 ion-label,
body.dark app-tab10 ion-label,
.dark-mode app-tab8 ion-label,
.dark-mode app-tab9 ion-label,
.dark-mode app-tab10 ion-label {
  color: var(--cdt-text-primary);
}
body.dark app-tab8 ion-searchbar,
body.dark app-tab9 ion-searchbar,
body.dark app-tab10 ion-searchbar,
.dark-mode app-tab8 ion-searchbar,
.dark-mode app-tab9 ion-searchbar,
.dark-mode app-tab10 ion-searchbar {
  --background: var(--searchbar-bg, var(--surface)) !important;
  --border-radius: 24px !important;
  --color: var(--text) !important;
  --placeholder-color: var(--text-secondary, rgba(0, 0, 0, 0.4)) !important;
  --icon-color: #3b82f6 !important;
  border: 1px solid var(--border) !important;
  border-radius: 24px !important;
}

/* ============================================
   Unified UI primitives: search, stats, empty states
   Applied app-wide where class names are used
   ============================================ */
.search-section {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.search-wrapper {
  width: 100%;
  max-width: 1200px;
  display: flex;
  align-items: center;
  background: transparent !important;
}

/* CDT STANDAARD - Zoekbalk basis definitie */
.native-search-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: var(--searchbar-bg, var(--surface)) !important;
  background-color: var(--searchbar-bg, var(--surface)) !important;
  border-radius: 24px;
  padding: 10px 14px;
  border: 1px solid var(--searchbar-border) !important;
  min-height: 44px;
  box-sizing: border-box;
}

.search-input {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.native-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--searchbar-text);
  -webkit-text-fill-color: var(--searchbar-text);
  font-size: 15px;
}
.native-search-input::placeholder {
  color: var(--searchbar-placeholder);
}

.search-icon {
  color: var(--searchbar-icon) !important;
  font-size: 20px;
}

.clear-icon {
  color: var(--searchbar-placeholder);
  font-size: 20px;
}

/* CDT STANDAARD - Filter knop in zoekbalk */
.status-badge-container {
  display: flex !important;
  align-items: center !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

.status-badge {
  margin: 0;
  height: 30px;
  --background: var(--ion-color-primary);
  --color: var(--cdt-light-bg-card);
  border: none;
  padding: 0 12px;
  font-weight: 600;
  box-shadow: none;
}

.status-dropdown {
  width: 100%;
  max-width: 520px;
  margin-top: 10px;
  background: var(--surface);
  border-radius: 12px;
  padding: 8px;
  border: 1px solid var(--border-strong, rgba(0, 0, 0, 0.12));
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

.status-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--text);
}
.status-option:hover {
  background: rgba(255, 255, 255, 0.04);
}
.status-option.active {
  background: rgba(var(--ion-color-primary-rgb), 0.1);
  border: 1px solid var(--ion-color-primary);
  box-shadow: 0 4px 12px rgba(var(--ion-color-primary-rgb), 0.25);
}
.status-option .label {
  font-weight: 600;
}

/* Stats card: blauwe gradient container, witte semi-transparante kaarten (tab10 stijl) */
.page-header {
  margin-bottom: 0;
}

.stats-card {
  background: linear-gradient(135deg, var(--ion-color-primary, #3b82f6) 0%, #60a5fa 100%);
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 8px 32px rgba(59, 130, 246, 0.3);
  border: none;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.stat-box {
  background: var(--surface);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 16px 12px;
  text-align: center;
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  transition: all 0.3s ease;
}

.stat-box:hover {
  background: var(--surface-2);
  border-color: var(--border-strong);
  transform: translateY(-2px);
}

.stat-number {
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 4px;
  color: var(--text);
}

.stat-label {
  font-size: 10px;
  letter-spacing: 0.6px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  opacity: 1;
  text-transform: uppercase;
}

/* Empty state: unified look */
.empty-state-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
  flex: 1;
  min-height: 50vh;
}

.empty-state-box {
  max-width: 400px;
  width: 90%;
  margin: 0 auto;
  background: transparent;
  padding: 32px 24px;
  border-radius: 16px;
  border: none;
  box-shadow: none;
}

.empty-state-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--cdt-text-primary);
  margin: 0 0 10px 0;
}

.empty-state-subtitle {
  font-size: 0.95rem;
  color: var(--cdt-text-secondary);
  margin: 0 0 20px 0;
  line-height: 1.5;
}

.empty-state-button {
  margin-top: 10px;
}

/* Mobile empty state - bigger padding */
@media (max-width: 640px) {
  .empty-state-box {
    padding: 32px 24px;
    max-width: 90%;
    margin: 16px auto;
  }
}
@media (max-width: 768px) {
  .search-wrapper {
    max-width: 100%;
  }
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .stat-box {
    padding: 12px 8px;
  }
  .stat-number {
    font-size: 24px;
  }
  .stat-label {
    font-size: 9px;
  }
}
@media (max-width: 480px) {
  .stat-grid {
    grid-template-columns: 1fr;
  }
}
/* CDT STANDAARD - Dark mode zoekbalk */
body.dark .native-search-container,
.dark-mode .native-search-container {
  background: #000000 !important;
  background-color: #000000 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

body.dark .status-dropdown,
.dark-mode .status-dropdown {
  background: var(--cdt-bg-card, #222222);
}

body.dark .empty-state-box,
.dark-mode .empty-state-box {
  background: transparent;
  border: none;
  border-color: transparent;
  box-shadow: none;
}

body.dark .empty-state-title,
.dark-mode .empty-state-title {
  color: var(--cdt-text-primary, #ffffff);
}

body.dark .empty-state-subtitle,
.dark-mode .empty-state-subtitle {
  color: rgba(255, 255, 255, 0.7);
}

/* ============================================
    CENTRAAL KLEUREN SYSTEEM - SINGLE SOURCE OF TRUTH
   Alle kleuren in de app komen van hier!
   ============================================ */
:root {
  /* === CDT PRIMAIRE KLEUREN === */
  --cdt-blue-primary: #3b82f6;
  --cdt-blue-shade: #2563eb;
  --cdt-blue-tint: #60a5fa;
  --cdt-blue-light: #dbeafe;
  --cdt-blue-very-light: rgba(59, 130, 246, 0.08);
  /* === GRADIENT === */
  --cdt-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  --cdt-gradient-reverse: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  /* === LAYOUT WIDTHS === */
  --cdt-content-max: 1100px;
  /* === BACKGROUNDS (LIGHT MODE DEFAULT) === */
  --cdt-bg-primary: #ffffff;
  --cdt-bg-card: #ffffff;
  --cdt-bg-elevated: #f8f9fa;
  --cdt-bg-input: #f5f6f8;
  --cdt-bg-hover: #f0f2f5;
  /* === LIGHT MODE BACKGROUNDS (aliassen, blijven gelijk) === */
  --cdt-light-bg-primary: #ffffff;
  --cdt-light-bg-card: #ffffff;
  --cdt-light-bg-elevated: #f8f9fa;
  --cdt-light-bg-input: #f5f6f8;
  --cdt-light-bg-hover: #f0f2f5;
  /* === TEXT KLEUREN (LIGHT MODE DEFAULT) === */
  --cdt-text-primary: #1f2937;
  --cdt-text-secondary: #6b7280;
  --cdt-text-muted: #9ca3af;
  --cdt-text-disabled: #d1d5db;
  /* === TEXT KLEUREN LIGHT ALIASSEN === */
  --cdt-light-text-primary: #1f2937;
  --cdt-light-text-secondary: #6b7280;
  --cdt-light-text-muted: #9ca3af;
  --cdt-light-text-disabled: #d1d5db;
  /* === BORDERS (LIGHT MODE DEFAULT) === */
  --cdt-border: rgba(0, 0, 0, 0.1);
  --cdt-border-strong: rgba(0, 0, 0, 0.2);
  --cdt-light-border: #e5e7eb;
  --cdt-light-border-strong: #d1d5db;
  /* === STATUS KLEUREN === */
  --cdt-success: #10b981;
  --cdt-warning: #f59e0b;
  --cdt-error: #ef4444;
  --cdt-info: #3b82f6;
  /* === MODAL SPECIFIEK (LIGHT MODE DEFAULT) === */
  --cdt-modal-overlay: rgba(0, 0, 0, 0.2);
  --cdt-modal-bg: #ffffff;
  --cdt-light-modal-bg: #ffffff;
  --cdt-modal-content-bg: #f0f2f5;
  --cdt-light-modal-content-bg: #f0f2f5;
}

/* === DARK MODE: OVERRIDE CENTRAAL KLEUREN === */
body.dark-mode,
body.dark,
.dark-mode {
  --cdt-bg-primary: #1a1a1a;
  --cdt-bg-card: #222222;
  --cdt-bg-elevated: #222222;
  --cdt-bg-input: #2a2a2a;
  --cdt-bg-hover: #1a1a1a;
  --cdt-text-primary: #ffffff;
  --cdt-text-secondary: #b0b0b0;
  --cdt-text-muted: #808080;
  --cdt-text-disabled: #606060;
  --cdt-border: rgba(255, 255, 255, 0.1);
  --cdt-border-strong: rgba(255, 255, 255, 0.2);
  --cdt-modal-bg: #1a1a1a;
  --cdt-modal-content-bg: #1a1a1a;
}

/* ============================================
    ULTRA PRIORITY - ION-TITLE CENTERING
   HIGHEST SPECIFICITY - MUST OVERRIDE ALL
   ============================================ */
ion-header ion-toolbar ion-title,
ion-header ion-toolbar ion-title::part(native),
ion-title::shadow .toolbar-title,
ion-header ion-title::shadow .toolbar-title,
ion-header ion-toolbar ion-buttons,
::ng-deep .currency-symbol,
::ng-deep .blue-euro,
.currency-symbol,
.blue-euro {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  color: var(--cdt-blue-primary) !important;
}

/* === FIX VOOR SLOT="START" EURO SYMBOOL === */
::ng-deep ion-input div[slot=start],
::ng-deep ion-input div[slot=start].currency-symbol,
::ng-deep ion-input div[slot=start].blue-euro,
ion-input div[slot=start],
ion-input div[slot=start].currency-symbol,
ion-input div[slot=start].blue-euro {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  color: var(--cdt-blue-primary) !important;
}

/* === EXTRA STERKE FIX VOOR EURO SYMBOOL - VERWIJDER ALLE ACHTERGRONDEN === */
.native-wrapper .currency-symbol,
.native-wrapper .blue-euro,
.native-input ~ .currency-symbol,
.native-input ~ .blue-euro,
div[slot=start].currency-symbol,
div[slot=start].blue-euro {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 6px 0 0 !important;
  margin: 0 !important;
}

/* === ULTRA NUCLEAR - NATIVE WRAPPER OOK TRANSPARENT === */
ion-input .native-wrapper,
ion-input::part(native-wrapper) {
  background: transparent !important;
  background-color: transparent !important;
}

ion-input .native-wrapper div[slot=start],
ion-input .native-wrapper .currency-symbol,
ion-input .native-wrapper .blue-euro {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Verwijder ook pseudo-elements */
div[slot=start].currency-symbol::before,
div[slot=start].currency-symbol::after,
div[slot=start].blue-euro::before,
div[slot=start].blue-euro::after,
.currency-symbol::before,
.currency-symbol::after,
.blue-euro::before,
.blue-euro::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* === NUCLEAR OPTION - ALLE SLOT START ELEMENTEN === */
ion-input::part(native) {
  background: transparent !important;
}

ion-input div[slot=start]::before,
ion-input div[slot=start]::after {
  display: none !important;
}

/* Core CSS required for Ionic components to work properly */
/* Basic CSS for apps built with Ionic */
/* Pin Drop Mode - Verberg cursor globaal */
body.pin-drop-mode-active {
  cursor: none !important;
}
body.pin-drop-mode-active .leaflet-container,
body.pin-drop-mode-active .leaflet-container *,
body.pin-drop-mode-active .leaflet-grab,
body.pin-drop-mode-active .leaflet-dragging,
body.pin-drop-mode-active .leaflet-interactive {
  cursor: none !important;
}
body.pin-drop-mode-active .pin-click-overlay {
  pointer-events: auto !important;
  cursor: none !important;
}

/* ============================================
   FORCE CENTERED HEADER TITLES (ALL TABS)
   ============================================ */
ion-header ion-toolbar ion-title,
ion-header ion-toolbar .toolbar-title {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
}

ion-header ion-toolbar ion-title::part(native) {
  text-align: center !important;
  justify-content: center !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

ion-header ion-toolbar ion-buttons {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}

/* ============================================
   GLOBAL THEME MODE
   ============================================ */
body:not(.dark-mode):not(.dark) {
  color-scheme: light;
}

body.dark-mode,
body.dark,
.dark-mode {
  color-scheme: dark;
}

/* CDT Global Variables */
:root {
  --cdt-blue: #2563eb;
  --cdt-blue-hover: #1d4ed8;
  --cdt-blue-active: #1F31D2;
  /* Tesla Theme - Light Mode (Default) */
  --tesla-black: #f0f2f5;
  --tesla-dark-gray: #f8f9fa;
  --tesla-medium-gray: #e9ecef;
  --tesla-light-gray: #f1f3f5;
  --tesla-card-bg: transparent;
  --tesla-header-bg: #3b82f6;
  --tesla-header-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  --tesla-blue: #3b82f6;
  --tesla-blue-hover: #2563eb;
  --tesla-blue-light: rgba(59, 130, 246, 0.08);
  --tesla-gradient: var(--tesla-gradient);
  --ion-color-primary: #3b82f6;
  --ion-color-primary-rgb: 59, 130, 246;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #2563eb;
  --ion-color-primary-tint: #60a5fa;
  --tesla-success-gradient: var(--tesla-success-gradient);
  --tesla-danger-gradient: var(--tesla-danger-gradient);
  --tesla-white: #ffffff;
  --tesla-text-primary: #1f2937;
  --tesla-text-secondary: #6b7280;
  --tesla-text-muted: #9ca3af;
  --tesla-border: rgba(0, 0, 0, 0.06);
  --tesla-border-strong: rgba(0, 0, 0, 0.1);
  /* Light mode body backgrounds */
  --ion-background-color: #f0f2f5;
  --ion-background-color-rgb: 240, 242, 245;
  --ion-text-color: var(--tesla-text-primary);
  --ion-text-color-rgb: 31, 41, 55;
  /* Ionic color palette for LIGHT mode */
  --ion-color-secondary: #0ea5e9;
  --ion-color-secondary-rgb: 14, 165, 233;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #0c8fcd;
  --ion-color-secondary-tint: #26afeb;
  --ion-color-tertiary: #3b82f6;
  --ion-color-tertiary-rgb: 59, 130, 246;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #2563eb;
  --ion-color-tertiary-tint: #60a5fa;
  --ion-color-success: #10b981;
  --ion-color-success-rgb: 16, 185, 129;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb: 255, 255, 255;
  --ion-color-success-shade: #0ea372;
  --ion-color-success-tint: #28c192;
  --ion-color-warning: #f59e0b;
  --ion-color-warning-rgb: 245, 158, 11;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #d88b0a;
  --ion-color-warning-tint: #f6a823;
  --ion-color-danger: #ef4444;
  --ion-color-danger-rgb: 239, 68, 68;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #d23c3c;
  --ion-color-danger-tint: #f15757;
  --ion-color-light: #f1f3f5;
  --ion-color-light-rgb: 241, 243, 245;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d4d6d8;
  --ion-color-light-tint: #f2f4f6;
  --ion-color-medium: #6b7280;
  --ion-color-medium-rgb: 107, 114, 128;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #5e6470;
  --ion-color-medium-tint: #7a808e;
  --ion-color-dark: #1f2937;
  --ion-color-dark-rgb: 31, 41, 55;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1b2430;
  --ion-color-dark-tint: #35404b;
  /* Ionic card/item backgrounds for LIGHT mode */
  --ion-card-background: #ffffff;
  --ion-item-background: #ffffff;
  --ion-toolbar-background: #ffffff;
  --ion-tab-bar-background: #ffffff;
  /* Border colors for LIGHT mode */
  --ion-border-color: #e5e7eb;
  /* Tesla theme colors */
  --tesla-success: #10b981;
  --tesla-success-light: rgba(16, 185, 129, 0.1);
  --tesla-warning: #f59e0b;
  --tesla-warning-light: rgba(245, 158, 11, 0.1);
  --tesla-danger: #ef4444;
  --tesla-danger-light: rgba(239, 68, 68, 0.1);
  --tesla-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --tesla-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --tesla-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --transition-speed: 0.2s;
  /* Semantic Status Colors - Light Mode */
  --status-success: #10b981;
  --status-success-light: #d1fae5;
  --status-success-dark: #059669;
  --status-warning: #f59e0b;
  --status-warning-light: #fef3c7;
  --status-warning-dark: #d97706;
  --status-danger: #ef4444;
  --status-danger-light: #fee2e2;
  --status-danger-dark: #dc2626;
  --status-info: #3b82f6;
  --status-info-light: #dbeafe;
  --status-info-dark: #2563eb;
  /* Category Badge Colors - Light Mode */
  --category-maintenance: #e6f0ff;
  --category-maintenance-text: #1d4ed8;
  --category-fuel: #e6f0ff;
  --category-fuel-text: #1d4ed8;
  --category-insurance: #e6f0ff;
  --category-insurance-text: #1d4ed8;
  --category-accommodation: #e6f0ff;
  --category-accommodation-text: #1d4ed8;
  --category-travel: #e6f0ff;
  --category-travel-text: #1d4ed8;
  --category-medical: #e6f0ff;
  --category-medical-text: #1d4ed8;
  --category-office: #e6f0ff;
  --category-office-text: #1d4ed8;
  /* Utility Colors - Light Mode */
  --color-orange: #ff9800;
  --color-orange-light: #ffe0b2;
  --color-orange-dark: #e65100;
  --color-gray-100: #f5f5f5;
  --color-gray-200: #e0e0e0;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  /* Tab/Module Accent Colors - Voor gebruikers aanpasbaar */
  --accent-purple: #3b82f6;
  --accent-purple-dark: #2563eb;
  --accent-purple-light: #60a5fa;
  --accent-pink: #ec4899;
  --accent-pink-dark: #db2777;
  --accent-amber: #f59e0b;
  --accent-amber-dark: #d97706;
  --accent-teal: #14b8a6;
  --accent-cyan: #06b6d4;
  --accent-indigo: #3b82f6;
  --accent-lime: #84cc16;
  /* WhatsApp Theme Colors */
  --whatsapp-green: #25d366;
  --whatsapp-green-dark: #00a884;
  --whatsapp-gray: #8696a0;
  --whatsapp-gray-dark: #54656f;
  --whatsapp-bubble: #d9fdd3;
  --whatsapp-bg: #f0f2f5;
  /* Google/Material Design Colors */
  --google-blue: #3367d6;
  --google-blue-hover: #2a56c6;
  --google-red: #d33b2c;
  --google-red-hover: #b52d20;
  --google-green: #00c853;
  --google-green-dark: #2e7d32;
  --google-gray: #5f6368;
  /* Ionic Default Colors (aanpasbaar) */
  --ionic-green: #10dc60;
  --ionic-red: #f04141;
  --ionic-yellow: #ffce00;
  --ionic-light-gray: #f5f5f7;
  /* Specifieke UI Elements */
  --input-border: #dee2e6;
  --input-border-focus: var(--tesla-blue);
  --divider-light: #f1f5f9;
  --divider-medium: #e1e5e9;
  --background-subtle: #fafbfe;
  --background-hover: #f0f7ff;
  --text-subtle: #475569;
  --text-disabled: #adb5bd;
  --text-link: #1557c0;
  --text-link-hover: #1557b0;
}

/* ========================================
    LIGHT MODE - VOLLEDIGE HERDEFINIRING
   ======================================== */
body.light-mode,
html.light-mode,
body:not(.dark-mode):not(.dark) {
  /* Gebruik CDT light mode kleuren */
  --ion-background-color: var(--cdt-light-bg-primary);
  --ion-background-color-rgb: 240, 242, 245;
  --ion-text-color: var(--cdt-light-text-primary);
  --ion-text-color-rgb: 31, 41, 55;
  --ion-card-background: var(--cdt-light-bg-card);
  --ion-item-background: var(--cdt-light-bg-card);
  --ion-toolbar-background: var(--cdt-light-bg-card);
  --ion-tab-bar-background: var(--cdt-light-bg-card);
  --ion-border-color: var(--cdt-light-border);
  --ion-color-primary: var(--cdt-blue-primary);
  --ion-color-primary-rgb: 59, 130, 246;
  /* Background */
  background: var(--cdt-light-bg-primary) !important;
  color: var(--cdt-light-text-primary) !important;
  /* Page background */
  /* Input velden */
  /* Labels */
  /* Cards */
  /* ===== INNER CARDS - Light Mode ===== */
  /* Extra diep geneste cards (3e niveau) */
  /* Lists */
  /* Headers - wit met blauwe tekst */
  /* Searchbar */
  /* Buttons */
  /* OUTLINE BUTTONS - Hover fix */
  /* Tab bar */
  /* Sidebar rail — iconen altijd wit op blauwe achtergrond */
}
body.light-mode ion-content,
html.light-mode ion-content,
body:not(.dark-mode):not(.dark) ion-content {
  --background: var(--cdt-light-bg-primary) !important;
  background: var(--cdt-light-bg-primary) !important;
  --color: var(--cdt-light-text-primary) !important;
}
body.light-mode ion-input,
body.light-mode ion-textarea,
body.light-mode ion-select,
html.light-mode ion-input,
html.light-mode ion-textarea,
html.light-mode ion-select,
body:not(.dark-mode):not(.dark) ion-input,
body:not(.dark-mode):not(.dark) ion-textarea,
body:not(.dark-mode):not(.dark) ion-select {
  --background: var(--cdt-light-bg-input) !important;
  --color: var(--cdt-light-text-primary) !important;
  --placeholder-color: var(--cdt-light-text-muted) !important;
  background: var(--cdt-light-bg-input) !important;
  color: var(--cdt-light-text-primary) !important;
  border: 1px solid var(--cdt-light-border) !important;
  border-radius: 8px !important;
}
body.light-mode ion-input input,
body.light-mode ion-textarea textarea,
html.light-mode ion-input input,
html.light-mode ion-textarea textarea,
body:not(.dark-mode):not(.dark) ion-input input,
body:not(.dark-mode):not(.dark) ion-textarea textarea {
  color: var(--cdt-light-text-primary) !important;
  -webkit-text-fill-color: var(--cdt-light-text-primary) !important;
}
body.light-mode ion-label,
html.light-mode ion-label,
body:not(.dark-mode):not(.dark) ion-label {
  color: var(--cdt-light-text-primary) !important;
}
body.light-mode ion-label[position=stacked],
body.light-mode ion-label[position=floating],
html.light-mode ion-label[position=stacked],
html.light-mode ion-label[position=floating],
body:not(.dark-mode):not(.dark) ion-label[position=stacked],
body:not(.dark-mode):not(.dark) ion-label[position=floating] {
  color: var(--cdt-light-text-secondary) !important;
}
body.light-mode ion-card:not(.main-display-card):not(.expense-card),
html.light-mode ion-card:not(.main-display-card):not(.expense-card),
body:not(.dark-mode):not(.dark) ion-card:not(.main-display-card):not(.expense-card) {
  --background: var(--cdt-light-bg-card) !important;
  background: var(--cdt-light-bg-card) !important;
  border: 1px solid var(--cdt-light-border) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}
body.light-mode ion-card-header,
body.light-mode ion-card-content,
html.light-mode ion-card-header,
html.light-mode ion-card-content,
body:not(.dark-mode):not(.dark) ion-card-header,
body:not(.dark-mode):not(.dark) ion-card-content {
  background: var(--cdt-light-bg-card) !important;
  --background: var(--cdt-light-bg-card) !important;
}
body.light-mode ion-card-title,
html.light-mode ion-card-title,
body:not(.dark-mode):not(.dark) ion-card-title {
  color: var(--cdt-light-text-primary) !important;
}
body.light-mode ion-card-subtitle,
html.light-mode ion-card-subtitle,
body:not(.dark-mode):not(.dark) ion-card-subtitle {
  color: var(--cdt-light-text-secondary) !important;
}
body.light-mode .inner-card,
body.light-mode .nested-card,
body.light-mode .content-card,
body.light-mode .detail-card,
body.light-mode .summary-card,
body.light-mode .quick-action-card,
body.light-mode .action-card,
body.light-mode .metric-card,
body.light-mode .data-card,
body.light-mode .list-card,
body.light-mode .form-card,
body.light-mode .panel-card,
body.light-mode .widget-card,
body.light-mode .feature-card,
body.light-mode .overview-card,
body.light-mode .compact-card,
body.light-mode .expense-item-card,
body.light-mode .trip-card,
body.light-mode .ride-card,
body.light-mode .shift-card,
body.light-mode .driver-card,
body.light-mode .ticket-card,
body.light-mode .notification-card,
body.light-mode .alert-card,
body.light-mode .warning-card,
body.light-mode .success-card,
body.light-mode .error-card,
body.light-mode .accuracy-card,
body.light-mode .fallback-card,
body.light-mode .agenda-form-card,
body.light-mode .day-items-card,
body.light-mode ion-card ion-card,
body.light-mode .card .card,
body.light-mode .tesla-card .card,
body.light-mode .tesla-card ion-card,
html.light-mode .inner-card,
html.light-mode .nested-card,
html.light-mode .content-card,
html.light-mode .detail-card,
html.light-mode .summary-card,
html.light-mode .quick-action-card,
html.light-mode .action-card,
html.light-mode .metric-card,
html.light-mode .data-card,
html.light-mode .list-card,
html.light-mode .form-card,
html.light-mode .panel-card,
html.light-mode .widget-card,
html.light-mode .feature-card,
html.light-mode .overview-card,
html.light-mode .compact-card,
html.light-mode .expense-item-card,
html.light-mode .trip-card,
html.light-mode .ride-card,
html.light-mode .shift-card,
html.light-mode .driver-card,
html.light-mode .ticket-card,
html.light-mode .notification-card,
html.light-mode .alert-card,
html.light-mode .warning-card,
html.light-mode .success-card,
html.light-mode .error-card,
html.light-mode .accuracy-card,
html.light-mode .fallback-card,
html.light-mode .agenda-form-card,
html.light-mode .day-items-card,
html.light-mode ion-card ion-card,
html.light-mode .card .card,
html.light-mode .tesla-card .card,
html.light-mode .tesla-card ion-card,
body:not(.dark-mode):not(.dark) .inner-card,
body:not(.dark-mode):not(.dark) .nested-card,
body:not(.dark-mode):not(.dark) .content-card,
body:not(.dark-mode):not(.dark) .detail-card,
body:not(.dark-mode):not(.dark) .summary-card,
body:not(.dark-mode):not(.dark) .quick-action-card,
body:not(.dark-mode):not(.dark) .action-card,
body:not(.dark-mode):not(.dark) .metric-card,
body:not(.dark-mode):not(.dark) .data-card,
body:not(.dark-mode):not(.dark) .list-card,
body:not(.dark-mode):not(.dark) .form-card,
body:not(.dark-mode):not(.dark) .panel-card,
body:not(.dark-mode):not(.dark) .widget-card,
body:not(.dark-mode):not(.dark) .feature-card,
body:not(.dark-mode):not(.dark) .overview-card,
body:not(.dark-mode):not(.dark) .compact-card,
body:not(.dark-mode):not(.dark) .expense-item-card,
body:not(.dark-mode):not(.dark) .trip-card,
body:not(.dark-mode):not(.dark) .ride-card,
body:not(.dark-mode):not(.dark) .shift-card,
body:not(.dark-mode):not(.dark) .driver-card,
body:not(.dark-mode):not(.dark) .ticket-card,
body:not(.dark-mode):not(.dark) .notification-card,
body:not(.dark-mode):not(.dark) .alert-card,
body:not(.dark-mode):not(.dark) .warning-card,
body:not(.dark-mode):not(.dark) .success-card,
body:not(.dark-mode):not(.dark) .error-card,
body:not(.dark-mode):not(.dark) .accuracy-card,
body:not(.dark-mode):not(.dark) .fallback-card,
body:not(.dark-mode):not(.dark) .agenda-form-card,
body:not(.dark-mode):not(.dark) .day-items-card,
body:not(.dark-mode):not(.dark) ion-card ion-card,
body:not(.dark-mode):not(.dark) .card .card,
body:not(.dark-mode):not(.dark) .tesla-card .card,
body:not(.dark-mode):not(.dark) .tesla-card ion-card {
  --background: #f8f9fa !important;
  background: #f8f9fa !important;
  color: var(--cdt-light-text-primary) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}
body.light-mode .inner-card ion-card-header,
body.light-mode .inner-card .card-header,
body.light-mode .nested-card ion-card-header,
body.light-mode .nested-card .card-header,
body.light-mode .content-card ion-card-header,
body.light-mode .content-card .card-header,
body.light-mode .detail-card ion-card-header,
body.light-mode .detail-card .card-header,
body.light-mode .summary-card ion-card-header,
body.light-mode .summary-card .card-header,
body.light-mode .quick-action-card ion-card-header,
body.light-mode .quick-action-card .card-header,
body.light-mode .action-card ion-card-header,
body.light-mode .action-card .card-header,
body.light-mode .metric-card ion-card-header,
body.light-mode .metric-card .card-header,
body.light-mode .data-card ion-card-header,
body.light-mode .data-card .card-header,
body.light-mode .list-card ion-card-header,
body.light-mode .list-card .card-header,
body.light-mode .form-card ion-card-header,
body.light-mode .form-card .card-header,
body.light-mode .panel-card ion-card-header,
body.light-mode .panel-card .card-header,
body.light-mode .widget-card ion-card-header,
body.light-mode .widget-card .card-header,
body.light-mode .feature-card ion-card-header,
body.light-mode .feature-card .card-header,
body.light-mode .overview-card ion-card-header,
body.light-mode .overview-card .card-header,
body.light-mode .compact-card ion-card-header,
body.light-mode .compact-card .card-header,
body.light-mode .expense-item-card ion-card-header,
body.light-mode .expense-item-card .card-header,
body.light-mode .trip-card ion-card-header,
body.light-mode .trip-card .card-header,
body.light-mode .ride-card ion-card-header,
body.light-mode .ride-card .card-header,
body.light-mode .shift-card ion-card-header,
body.light-mode .shift-card .card-header,
body.light-mode .driver-card ion-card-header,
body.light-mode .driver-card .card-header,
body.light-mode .ticket-card ion-card-header,
body.light-mode .ticket-card .card-header,
body.light-mode .notification-card ion-card-header,
body.light-mode .notification-card .card-header,
body.light-mode .alert-card ion-card-header,
body.light-mode .alert-card .card-header,
body.light-mode .warning-card ion-card-header,
body.light-mode .warning-card .card-header,
body.light-mode .success-card ion-card-header,
body.light-mode .success-card .card-header,
body.light-mode .error-card ion-card-header,
body.light-mode .error-card .card-header,
body.light-mode .accuracy-card ion-card-header,
body.light-mode .accuracy-card .card-header,
body.light-mode .fallback-card ion-card-header,
body.light-mode .fallback-card .card-header,
body.light-mode .agenda-form-card ion-card-header,
body.light-mode .agenda-form-card .card-header,
body.light-mode .day-items-card ion-card-header,
body.light-mode .day-items-card .card-header,
body.light-mode ion-card ion-card ion-card-header,
body.light-mode ion-card ion-card .card-header,
body.light-mode .card .card ion-card-header,
body.light-mode .card .card .card-header,
body.light-mode .tesla-card .card ion-card-header,
body.light-mode .tesla-card .card .card-header,
body.light-mode .tesla-card ion-card ion-card-header,
body.light-mode .tesla-card ion-card .card-header,
html.light-mode .inner-card ion-card-header,
html.light-mode .inner-card .card-header,
html.light-mode .nested-card ion-card-header,
html.light-mode .nested-card .card-header,
html.light-mode .content-card ion-card-header,
html.light-mode .content-card .card-header,
html.light-mode .detail-card ion-card-header,
html.light-mode .detail-card .card-header,
html.light-mode .summary-card ion-card-header,
html.light-mode .summary-card .card-header,
html.light-mode .quick-action-card ion-card-header,
html.light-mode .quick-action-card .card-header,
html.light-mode .action-card ion-card-header,
html.light-mode .action-card .card-header,
html.light-mode .metric-card ion-card-header,
html.light-mode .metric-card .card-header,
html.light-mode .data-card ion-card-header,
html.light-mode .data-card .card-header,
html.light-mode .list-card ion-card-header,
html.light-mode .list-card .card-header,
html.light-mode .form-card ion-card-header,
html.light-mode .form-card .card-header,
html.light-mode .panel-card ion-card-header,
html.light-mode .panel-card .card-header,
html.light-mode .widget-card ion-card-header,
html.light-mode .widget-card .card-header,
html.light-mode .feature-card ion-card-header,
html.light-mode .feature-card .card-header,
html.light-mode .overview-card ion-card-header,
html.light-mode .overview-card .card-header,
html.light-mode .compact-card ion-card-header,
html.light-mode .compact-card .card-header,
html.light-mode .expense-item-card ion-card-header,
html.light-mode .expense-item-card .card-header,
html.light-mode .trip-card ion-card-header,
html.light-mode .trip-card .card-header,
html.light-mode .ride-card ion-card-header,
html.light-mode .ride-card .card-header,
html.light-mode .shift-card ion-card-header,
html.light-mode .shift-card .card-header,
html.light-mode .driver-card ion-card-header,
html.light-mode .driver-card .card-header,
html.light-mode .ticket-card ion-card-header,
html.light-mode .ticket-card .card-header,
html.light-mode .notification-card ion-card-header,
html.light-mode .notification-card .card-header,
html.light-mode .alert-card ion-card-header,
html.light-mode .alert-card .card-header,
html.light-mode .warning-card ion-card-header,
html.light-mode .warning-card .card-header,
html.light-mode .success-card ion-card-header,
html.light-mode .success-card .card-header,
html.light-mode .error-card ion-card-header,
html.light-mode .error-card .card-header,
html.light-mode .accuracy-card ion-card-header,
html.light-mode .accuracy-card .card-header,
html.light-mode .fallback-card ion-card-header,
html.light-mode .fallback-card .card-header,
html.light-mode .agenda-form-card ion-card-header,
html.light-mode .agenda-form-card .card-header,
html.light-mode .day-items-card ion-card-header,
html.light-mode .day-items-card .card-header,
html.light-mode ion-card ion-card ion-card-header,
html.light-mode ion-card ion-card .card-header,
html.light-mode .card .card ion-card-header,
html.light-mode .card .card .card-header,
html.light-mode .tesla-card .card ion-card-header,
html.light-mode .tesla-card .card .card-header,
html.light-mode .tesla-card ion-card ion-card-header,
html.light-mode .tesla-card ion-card .card-header,
body:not(.dark-mode):not(.dark) .inner-card ion-card-header,
body:not(.dark-mode):not(.dark) .inner-card .card-header,
body:not(.dark-mode):not(.dark) .nested-card ion-card-header,
body:not(.dark-mode):not(.dark) .nested-card .card-header,
body:not(.dark-mode):not(.dark) .content-card ion-card-header,
body:not(.dark-mode):not(.dark) .content-card .card-header,
body:not(.dark-mode):not(.dark) .detail-card ion-card-header,
body:not(.dark-mode):not(.dark) .detail-card .card-header,
body:not(.dark-mode):not(.dark) .summary-card ion-card-header,
body:not(.dark-mode):not(.dark) .summary-card .card-header,
body:not(.dark-mode):not(.dark) .quick-action-card ion-card-header,
body:not(.dark-mode):not(.dark) .quick-action-card .card-header,
body:not(.dark-mode):not(.dark) .action-card ion-card-header,
body:not(.dark-mode):not(.dark) .action-card .card-header,
body:not(.dark-mode):not(.dark) .metric-card ion-card-header,
body:not(.dark-mode):not(.dark) .metric-card .card-header,
body:not(.dark-mode):not(.dark) .data-card ion-card-header,
body:not(.dark-mode):not(.dark) .data-card .card-header,
body:not(.dark-mode):not(.dark) .list-card ion-card-header,
body:not(.dark-mode):not(.dark) .list-card .card-header,
body:not(.dark-mode):not(.dark) .form-card ion-card-header,
body:not(.dark-mode):not(.dark) .form-card .card-header,
body:not(.dark-mode):not(.dark) .panel-card ion-card-header,
body:not(.dark-mode):not(.dark) .panel-card .card-header,
body:not(.dark-mode):not(.dark) .widget-card ion-card-header,
body:not(.dark-mode):not(.dark) .widget-card .card-header,
body:not(.dark-mode):not(.dark) .feature-card ion-card-header,
body:not(.dark-mode):not(.dark) .feature-card .card-header,
body:not(.dark-mode):not(.dark) .overview-card ion-card-header,
body:not(.dark-mode):not(.dark) .overview-card .card-header,
body:not(.dark-mode):not(.dark) .compact-card ion-card-header,
body:not(.dark-mode):not(.dark) .compact-card .card-header,
body:not(.dark-mode):not(.dark) .expense-item-card ion-card-header,
body:not(.dark-mode):not(.dark) .expense-item-card .card-header,
body:not(.dark-mode):not(.dark) .trip-card ion-card-header,
body:not(.dark-mode):not(.dark) .trip-card .card-header,
body:not(.dark-mode):not(.dark) .ride-card ion-card-header,
body:not(.dark-mode):not(.dark) .ride-card .card-header,
body:not(.dark-mode):not(.dark) .shift-card ion-card-header,
body:not(.dark-mode):not(.dark) .shift-card .card-header,
body:not(.dark-mode):not(.dark) .driver-card ion-card-header,
body:not(.dark-mode):not(.dark) .driver-card .card-header,
body:not(.dark-mode):not(.dark) .ticket-card ion-card-header,
body:not(.dark-mode):not(.dark) .ticket-card .card-header,
body:not(.dark-mode):not(.dark) .notification-card ion-card-header,
body:not(.dark-mode):not(.dark) .notification-card .card-header,
body:not(.dark-mode):not(.dark) .alert-card ion-card-header,
body:not(.dark-mode):not(.dark) .alert-card .card-header,
body:not(.dark-mode):not(.dark) .warning-card ion-card-header,
body:not(.dark-mode):not(.dark) .warning-card .card-header,
body:not(.dark-mode):not(.dark) .success-card ion-card-header,
body:not(.dark-mode):not(.dark) .success-card .card-header,
body:not(.dark-mode):not(.dark) .error-card ion-card-header,
body:not(.dark-mode):not(.dark) .error-card .card-header,
body:not(.dark-mode):not(.dark) .accuracy-card ion-card-header,
body:not(.dark-mode):not(.dark) .accuracy-card .card-header,
body:not(.dark-mode):not(.dark) .fallback-card ion-card-header,
body:not(.dark-mode):not(.dark) .fallback-card .card-header,
body:not(.dark-mode):not(.dark) .agenda-form-card ion-card-header,
body:not(.dark-mode):not(.dark) .agenda-form-card .card-header,
body:not(.dark-mode):not(.dark) .day-items-card ion-card-header,
body:not(.dark-mode):not(.dark) .day-items-card .card-header,
body:not(.dark-mode):not(.dark) ion-card ion-card ion-card-header,
body:not(.dark-mode):not(.dark) ion-card ion-card .card-header,
body:not(.dark-mode):not(.dark) .card .card ion-card-header,
body:not(.dark-mode):not(.dark) .card .card .card-header,
body:not(.dark-mode):not(.dark) .tesla-card .card ion-card-header,
body:not(.dark-mode):not(.dark) .tesla-card .card .card-header,
body:not(.dark-mode):not(.dark) .tesla-card ion-card ion-card-header,
body:not(.dark-mode):not(.dark) .tesla-card ion-card .card-header {
  --background: #f8f9fa !important;
  background: #f8f9fa !important;
}
body.light-mode .inner-card ion-card-content,
body.light-mode .inner-card .card-content,
body.light-mode .nested-card ion-card-content,
body.light-mode .nested-card .card-content,
body.light-mode .content-card ion-card-content,
body.light-mode .content-card .card-content,
body.light-mode .detail-card ion-card-content,
body.light-mode .detail-card .card-content,
body.light-mode .summary-card ion-card-content,
body.light-mode .summary-card .card-content,
body.light-mode .quick-action-card ion-card-content,
body.light-mode .quick-action-card .card-content,
body.light-mode .action-card ion-card-content,
body.light-mode .action-card .card-content,
body.light-mode .metric-card ion-card-content,
body.light-mode .metric-card .card-content,
body.light-mode .data-card ion-card-content,
body.light-mode .data-card .card-content,
body.light-mode .list-card ion-card-content,
body.light-mode .list-card .card-content,
body.light-mode .form-card ion-card-content,
body.light-mode .form-card .card-content,
body.light-mode .panel-card ion-card-content,
body.light-mode .panel-card .card-content,
body.light-mode .widget-card ion-card-content,
body.light-mode .widget-card .card-content,
body.light-mode .feature-card ion-card-content,
body.light-mode .feature-card .card-content,
body.light-mode .overview-card ion-card-content,
body.light-mode .overview-card .card-content,
body.light-mode .compact-card ion-card-content,
body.light-mode .compact-card .card-content,
body.light-mode .expense-item-card ion-card-content,
body.light-mode .expense-item-card .card-content,
body.light-mode .trip-card ion-card-content,
body.light-mode .trip-card .card-content,
body.light-mode .ride-card ion-card-content,
body.light-mode .ride-card .card-content,
body.light-mode .shift-card ion-card-content,
body.light-mode .shift-card .card-content,
body.light-mode .driver-card ion-card-content,
body.light-mode .driver-card .card-content,
body.light-mode .ticket-card ion-card-content,
body.light-mode .ticket-card .card-content,
body.light-mode .notification-card ion-card-content,
body.light-mode .notification-card .card-content,
body.light-mode .alert-card ion-card-content,
body.light-mode .alert-card .card-content,
body.light-mode .warning-card ion-card-content,
body.light-mode .warning-card .card-content,
body.light-mode .success-card ion-card-content,
body.light-mode .success-card .card-content,
body.light-mode .error-card ion-card-content,
body.light-mode .error-card .card-content,
body.light-mode .accuracy-card ion-card-content,
body.light-mode .accuracy-card .card-content,
body.light-mode .fallback-card ion-card-content,
body.light-mode .fallback-card .card-content,
body.light-mode .agenda-form-card ion-card-content,
body.light-mode .agenda-form-card .card-content,
body.light-mode .day-items-card ion-card-content,
body.light-mode .day-items-card .card-content,
body.light-mode ion-card ion-card ion-card-content,
body.light-mode ion-card ion-card .card-content,
body.light-mode .card .card ion-card-content,
body.light-mode .card .card .card-content,
body.light-mode .tesla-card .card ion-card-content,
body.light-mode .tesla-card .card .card-content,
body.light-mode .tesla-card ion-card ion-card-content,
body.light-mode .tesla-card ion-card .card-content,
html.light-mode .inner-card ion-card-content,
html.light-mode .inner-card .card-content,
html.light-mode .nested-card ion-card-content,
html.light-mode .nested-card .card-content,
html.light-mode .content-card ion-card-content,
html.light-mode .content-card .card-content,
html.light-mode .detail-card ion-card-content,
html.light-mode .detail-card .card-content,
html.light-mode .summary-card ion-card-content,
html.light-mode .summary-card .card-content,
html.light-mode .quick-action-card ion-card-content,
html.light-mode .quick-action-card .card-content,
html.light-mode .action-card ion-card-content,
html.light-mode .action-card .card-content,
html.light-mode .metric-card ion-card-content,
html.light-mode .metric-card .card-content,
html.light-mode .data-card ion-card-content,
html.light-mode .data-card .card-content,
html.light-mode .list-card ion-card-content,
html.light-mode .list-card .card-content,
html.light-mode .form-card ion-card-content,
html.light-mode .form-card .card-content,
html.light-mode .panel-card ion-card-content,
html.light-mode .panel-card .card-content,
html.light-mode .widget-card ion-card-content,
html.light-mode .widget-card .card-content,
html.light-mode .feature-card ion-card-content,
html.light-mode .feature-card .card-content,
html.light-mode .overview-card ion-card-content,
html.light-mode .overview-card .card-content,
html.light-mode .compact-card ion-card-content,
html.light-mode .compact-card .card-content,
html.light-mode .expense-item-card ion-card-content,
html.light-mode .expense-item-card .card-content,
html.light-mode .trip-card ion-card-content,
html.light-mode .trip-card .card-content,
html.light-mode .ride-card ion-card-content,
html.light-mode .ride-card .card-content,
html.light-mode .shift-card ion-card-content,
html.light-mode .shift-card .card-content,
html.light-mode .driver-card ion-card-content,
html.light-mode .driver-card .card-content,
html.light-mode .ticket-card ion-card-content,
html.light-mode .ticket-card .card-content,
html.light-mode .notification-card ion-card-content,
html.light-mode .notification-card .card-content,
html.light-mode .alert-card ion-card-content,
html.light-mode .alert-card .card-content,
html.light-mode .warning-card ion-card-content,
html.light-mode .warning-card .card-content,
html.light-mode .success-card ion-card-content,
html.light-mode .success-card .card-content,
html.light-mode .error-card ion-card-content,
html.light-mode .error-card .card-content,
html.light-mode .accuracy-card ion-card-content,
html.light-mode .accuracy-card .card-content,
html.light-mode .fallback-card ion-card-content,
html.light-mode .fallback-card .card-content,
html.light-mode .agenda-form-card ion-card-content,
html.light-mode .agenda-form-card .card-content,
html.light-mode .day-items-card ion-card-content,
html.light-mode .day-items-card .card-content,
html.light-mode ion-card ion-card ion-card-content,
html.light-mode ion-card ion-card .card-content,
html.light-mode .card .card ion-card-content,
html.light-mode .card .card .card-content,
html.light-mode .tesla-card .card ion-card-content,
html.light-mode .tesla-card .card .card-content,
html.light-mode .tesla-card ion-card ion-card-content,
html.light-mode .tesla-card ion-card .card-content,
body:not(.dark-mode):not(.dark) .inner-card ion-card-content,
body:not(.dark-mode):not(.dark) .inner-card .card-content,
body:not(.dark-mode):not(.dark) .nested-card ion-card-content,
body:not(.dark-mode):not(.dark) .nested-card .card-content,
body:not(.dark-mode):not(.dark) .content-card ion-card-content,
body:not(.dark-mode):not(.dark) .content-card .card-content,
body:not(.dark-mode):not(.dark) .detail-card ion-card-content,
body:not(.dark-mode):not(.dark) .detail-card .card-content,
body:not(.dark-mode):not(.dark) .summary-card ion-card-content,
body:not(.dark-mode):not(.dark) .summary-card .card-content,
body:not(.dark-mode):not(.dark) .quick-action-card ion-card-content,
body:not(.dark-mode):not(.dark) .quick-action-card .card-content,
body:not(.dark-mode):not(.dark) .action-card ion-card-content,
body:not(.dark-mode):not(.dark) .action-card .card-content,
body:not(.dark-mode):not(.dark) .metric-card ion-card-content,
body:not(.dark-mode):not(.dark) .metric-card .card-content,
body:not(.dark-mode):not(.dark) .data-card ion-card-content,
body:not(.dark-mode):not(.dark) .data-card .card-content,
body:not(.dark-mode):not(.dark) .list-card ion-card-content,
body:not(.dark-mode):not(.dark) .list-card .card-content,
body:not(.dark-mode):not(.dark) .form-card ion-card-content,
body:not(.dark-mode):not(.dark) .form-card .card-content,
body:not(.dark-mode):not(.dark) .panel-card ion-card-content,
body:not(.dark-mode):not(.dark) .panel-card .card-content,
body:not(.dark-mode):not(.dark) .widget-card ion-card-content,
body:not(.dark-mode):not(.dark) .widget-card .card-content,
body:not(.dark-mode):not(.dark) .feature-card ion-card-content,
body:not(.dark-mode):not(.dark) .feature-card .card-content,
body:not(.dark-mode):not(.dark) .overview-card ion-card-content,
body:not(.dark-mode):not(.dark) .overview-card .card-content,
body:not(.dark-mode):not(.dark) .compact-card ion-card-content,
body:not(.dark-mode):not(.dark) .compact-card .card-content,
body:not(.dark-mode):not(.dark) .expense-item-card ion-card-content,
body:not(.dark-mode):not(.dark) .expense-item-card .card-content,
body:not(.dark-mode):not(.dark) .trip-card ion-card-content,
body:not(.dark-mode):not(.dark) .trip-card .card-content,
body:not(.dark-mode):not(.dark) .ride-card ion-card-content,
body:not(.dark-mode):not(.dark) .ride-card .card-content,
body:not(.dark-mode):not(.dark) .shift-card ion-card-content,
body:not(.dark-mode):not(.dark) .shift-card .card-content,
body:not(.dark-mode):not(.dark) .driver-card ion-card-content,
body:not(.dark-mode):not(.dark) .driver-card .card-content,
body:not(.dark-mode):not(.dark) .ticket-card ion-card-content,
body:not(.dark-mode):not(.dark) .ticket-card .card-content,
body:not(.dark-mode):not(.dark) .notification-card ion-card-content,
body:not(.dark-mode):not(.dark) .notification-card .card-content,
body:not(.dark-mode):not(.dark) .alert-card ion-card-content,
body:not(.dark-mode):not(.dark) .alert-card .card-content,
body:not(.dark-mode):not(.dark) .warning-card ion-card-content,
body:not(.dark-mode):not(.dark) .warning-card .card-content,
body:not(.dark-mode):not(.dark) .success-card ion-card-content,
body:not(.dark-mode):not(.dark) .success-card .card-content,
body:not(.dark-mode):not(.dark) .error-card ion-card-content,
body:not(.dark-mode):not(.dark) .error-card .card-content,
body:not(.dark-mode):not(.dark) .accuracy-card ion-card-content,
body:not(.dark-mode):not(.dark) .accuracy-card .card-content,
body:not(.dark-mode):not(.dark) .fallback-card ion-card-content,
body:not(.dark-mode):not(.dark) .fallback-card .card-content,
body:not(.dark-mode):not(.dark) .agenda-form-card ion-card-content,
body:not(.dark-mode):not(.dark) .agenda-form-card .card-content,
body:not(.dark-mode):not(.dark) .day-items-card ion-card-content,
body:not(.dark-mode):not(.dark) .day-items-card .card-content,
body:not(.dark-mode):not(.dark) ion-card ion-card ion-card-content,
body:not(.dark-mode):not(.dark) ion-card ion-card .card-content,
body:not(.dark-mode):not(.dark) .card .card ion-card-content,
body:not(.dark-mode):not(.dark) .card .card .card-content,
body:not(.dark-mode):not(.dark) .tesla-card .card ion-card-content,
body:not(.dark-mode):not(.dark) .tesla-card .card .card-content,
body:not(.dark-mode):not(.dark) .tesla-card ion-card ion-card-content,
body:not(.dark-mode):not(.dark) .tesla-card ion-card .card-content {
  --background: #f8f9fa !important;
  background: #f8f9fa !important;
}
body.light-mode .inner-card ion-card-title,
body.light-mode .inner-card .card-title,
body.light-mode .inner-card h1,
body.light-mode .inner-card h2,
body.light-mode .inner-card h3,
body.light-mode .inner-card h4,
body.light-mode .inner-card h5,
body.light-mode .inner-card h6,
body.light-mode .nested-card ion-card-title,
body.light-mode .nested-card .card-title,
body.light-mode .nested-card h1,
body.light-mode .nested-card h2,
body.light-mode .nested-card h3,
body.light-mode .nested-card h4,
body.light-mode .nested-card h5,
body.light-mode .nested-card h6,
body.light-mode .content-card ion-card-title,
body.light-mode .content-card .card-title,
body.light-mode .content-card h1,
body.light-mode .content-card h2,
body.light-mode .content-card h3,
body.light-mode .content-card h4,
body.light-mode .content-card h5,
body.light-mode .content-card h6,
body.light-mode .detail-card ion-card-title,
body.light-mode .detail-card .card-title,
body.light-mode .detail-card h1,
body.light-mode .detail-card h2,
body.light-mode .detail-card h3,
body.light-mode .detail-card h4,
body.light-mode .detail-card h5,
body.light-mode .detail-card h6,
body.light-mode .summary-card ion-card-title,
body.light-mode .summary-card .card-title,
body.light-mode .summary-card h1,
body.light-mode .summary-card h2,
body.light-mode .summary-card h3,
body.light-mode .summary-card h4,
body.light-mode .summary-card h5,
body.light-mode .summary-card h6,
body.light-mode .quick-action-card ion-card-title,
body.light-mode .quick-action-card .card-title,
body.light-mode .quick-action-card h1,
body.light-mode .quick-action-card h2,
body.light-mode .quick-action-card h3,
body.light-mode .quick-action-card h4,
body.light-mode .quick-action-card h5,
body.light-mode .quick-action-card h6,
body.light-mode .action-card ion-card-title,
body.light-mode .action-card .card-title,
body.light-mode .action-card h1,
body.light-mode .action-card h2,
body.light-mode .action-card h3,
body.light-mode .action-card h4,
body.light-mode .action-card h5,
body.light-mode .action-card h6,
body.light-mode .metric-card ion-card-title,
body.light-mode .metric-card .card-title,
body.light-mode .metric-card h1,
body.light-mode .metric-card h2,
body.light-mode .metric-card h3,
body.light-mode .metric-card h4,
body.light-mode .metric-card h5,
body.light-mode .metric-card h6,
body.light-mode .data-card ion-card-title,
body.light-mode .data-card .card-title,
body.light-mode .data-card h1,
body.light-mode .data-card h2,
body.light-mode .data-card h3,
body.light-mode .data-card h4,
body.light-mode .data-card h5,
body.light-mode .data-card h6,
body.light-mode .list-card ion-card-title,
body.light-mode .list-card .card-title,
body.light-mode .list-card h1,
body.light-mode .list-card h2,
body.light-mode .list-card h3,
body.light-mode .list-card h4,
body.light-mode .list-card h5,
body.light-mode .list-card h6,
body.light-mode .form-card ion-card-title,
body.light-mode .form-card .card-title,
body.light-mode .form-card h1,
body.light-mode .form-card h2,
body.light-mode .form-card h3,
body.light-mode .form-card h4,
body.light-mode .form-card h5,
body.light-mode .form-card h6,
body.light-mode .panel-card ion-card-title,
body.light-mode .panel-card .card-title,
body.light-mode .panel-card h1,
body.light-mode .panel-card h2,
body.light-mode .panel-card h3,
body.light-mode .panel-card h4,
body.light-mode .panel-card h5,
body.light-mode .panel-card h6,
body.light-mode .widget-card ion-card-title,
body.light-mode .widget-card .card-title,
body.light-mode .widget-card h1,
body.light-mode .widget-card h2,
body.light-mode .widget-card h3,
body.light-mode .widget-card h4,
body.light-mode .widget-card h5,
body.light-mode .widget-card h6,
body.light-mode .feature-card ion-card-title,
body.light-mode .feature-card .card-title,
body.light-mode .feature-card h1,
body.light-mode .feature-card h2,
body.light-mode .feature-card h3,
body.light-mode .feature-card h4,
body.light-mode .feature-card h5,
body.light-mode .feature-card h6,
body.light-mode .overview-card ion-card-title,
body.light-mode .overview-card .card-title,
body.light-mode .overview-card h1,
body.light-mode .overview-card h2,
body.light-mode .overview-card h3,
body.light-mode .overview-card h4,
body.light-mode .overview-card h5,
body.light-mode .overview-card h6,
body.light-mode .compact-card ion-card-title,
body.light-mode .compact-card .card-title,
body.light-mode .compact-card h1,
body.light-mode .compact-card h2,
body.light-mode .compact-card h3,
body.light-mode .compact-card h4,
body.light-mode .compact-card h5,
body.light-mode .compact-card h6,
body.light-mode .expense-item-card ion-card-title,
body.light-mode .expense-item-card .card-title,
body.light-mode .expense-item-card h1,
body.light-mode .expense-item-card h2,
body.light-mode .expense-item-card h3,
body.light-mode .expense-item-card h4,
body.light-mode .expense-item-card h5,
body.light-mode .expense-item-card h6,
body.light-mode .trip-card ion-card-title,
body.light-mode .trip-card .card-title,
body.light-mode .trip-card h1,
body.light-mode .trip-card h2,
body.light-mode .trip-card h3,
body.light-mode .trip-card h4,
body.light-mode .trip-card h5,
body.light-mode .trip-card h6,
body.light-mode .ride-card ion-card-title,
body.light-mode .ride-card .card-title,
body.light-mode .ride-card h1,
body.light-mode .ride-card h2,
body.light-mode .ride-card h3,
body.light-mode .ride-card h4,
body.light-mode .ride-card h5,
body.light-mode .ride-card h6,
body.light-mode .shift-card ion-card-title,
body.light-mode .shift-card .card-title,
body.light-mode .shift-card h1,
body.light-mode .shift-card h2,
body.light-mode .shift-card h3,
body.light-mode .shift-card h4,
body.light-mode .shift-card h5,
body.light-mode .shift-card h6,
body.light-mode .driver-card ion-card-title,
body.light-mode .driver-card .card-title,
body.light-mode .driver-card h1,
body.light-mode .driver-card h2,
body.light-mode .driver-card h3,
body.light-mode .driver-card h4,
body.light-mode .driver-card h5,
body.light-mode .driver-card h6,
body.light-mode .ticket-card ion-card-title,
body.light-mode .ticket-card .card-title,
body.light-mode .ticket-card h1,
body.light-mode .ticket-card h2,
body.light-mode .ticket-card h3,
body.light-mode .ticket-card h4,
body.light-mode .ticket-card h5,
body.light-mode .ticket-card h6,
body.light-mode .notification-card ion-card-title,
body.light-mode .notification-card .card-title,
body.light-mode .notification-card h1,
body.light-mode .notification-card h2,
body.light-mode .notification-card h3,
body.light-mode .notification-card h4,
body.light-mode .notification-card h5,
body.light-mode .notification-card h6,
body.light-mode .alert-card ion-card-title,
body.light-mode .alert-card .card-title,
body.light-mode .alert-card h1,
body.light-mode .alert-card h2,
body.light-mode .alert-card h3,
body.light-mode .alert-card h4,
body.light-mode .alert-card h5,
body.light-mode .alert-card h6,
body.light-mode .warning-card ion-card-title,
body.light-mode .warning-card .card-title,
body.light-mode .warning-card h1,
body.light-mode .warning-card h2,
body.light-mode .warning-card h3,
body.light-mode .warning-card h4,
body.light-mode .warning-card h5,
body.light-mode .warning-card h6,
body.light-mode .success-card ion-card-title,
body.light-mode .success-card .card-title,
body.light-mode .success-card h1,
body.light-mode .success-card h2,
body.light-mode .success-card h3,
body.light-mode .success-card h4,
body.light-mode .success-card h5,
body.light-mode .success-card h6,
body.light-mode .error-card ion-card-title,
body.light-mode .error-card .card-title,
body.light-mode .error-card h1,
body.light-mode .error-card h2,
body.light-mode .error-card h3,
body.light-mode .error-card h4,
body.light-mode .error-card h5,
body.light-mode .error-card h6,
body.light-mode .accuracy-card ion-card-title,
body.light-mode .accuracy-card .card-title,
body.light-mode .accuracy-card h1,
body.light-mode .accuracy-card h2,
body.light-mode .accuracy-card h3,
body.light-mode .accuracy-card h4,
body.light-mode .accuracy-card h5,
body.light-mode .accuracy-card h6,
body.light-mode .fallback-card ion-card-title,
body.light-mode .fallback-card .card-title,
body.light-mode .fallback-card h1,
body.light-mode .fallback-card h2,
body.light-mode .fallback-card h3,
body.light-mode .fallback-card h4,
body.light-mode .fallback-card h5,
body.light-mode .fallback-card h6,
body.light-mode .agenda-form-card ion-card-title,
body.light-mode .agenda-form-card .card-title,
body.light-mode .agenda-form-card h1,
body.light-mode .agenda-form-card h2,
body.light-mode .agenda-form-card h3,
body.light-mode .agenda-form-card h4,
body.light-mode .agenda-form-card h5,
body.light-mode .agenda-form-card h6,
body.light-mode .day-items-card ion-card-title,
body.light-mode .day-items-card .card-title,
body.light-mode .day-items-card h1,
body.light-mode .day-items-card h2,
body.light-mode .day-items-card h3,
body.light-mode .day-items-card h4,
body.light-mode .day-items-card h5,
body.light-mode .day-items-card h6,
body.light-mode ion-card ion-card ion-card-title,
body.light-mode ion-card ion-card .card-title,
body.light-mode ion-card ion-card h1,
body.light-mode ion-card ion-card h2,
body.light-mode ion-card ion-card h3,
body.light-mode ion-card ion-card h4,
body.light-mode ion-card ion-card h5,
body.light-mode ion-card ion-card h6,
body.light-mode .card .card ion-card-title,
body.light-mode .card .card .card-title,
body.light-mode .card .card h1,
body.light-mode .card .card h2,
body.light-mode .card .card h3,
body.light-mode .card .card h4,
body.light-mode .card .card h5,
body.light-mode .card .card h6,
body.light-mode .tesla-card .card ion-card-title,
body.light-mode .tesla-card .card .card-title,
body.light-mode .tesla-card .card h1,
body.light-mode .tesla-card .card h2,
body.light-mode .tesla-card .card h3,
body.light-mode .tesla-card .card h4,
body.light-mode .tesla-card .card h5,
body.light-mode .tesla-card .card h6,
body.light-mode .tesla-card ion-card ion-card-title,
body.light-mode .tesla-card ion-card .card-title,
body.light-mode .tesla-card ion-card h1,
body.light-mode .tesla-card ion-card h2,
body.light-mode .tesla-card ion-card h3,
body.light-mode .tesla-card ion-card h4,
body.light-mode .tesla-card ion-card h5,
body.light-mode .tesla-card ion-card h6,
html.light-mode .inner-card ion-card-title,
html.light-mode .inner-card .card-title,
html.light-mode .inner-card h1,
html.light-mode .inner-card h2,
html.light-mode .inner-card h3,
html.light-mode .inner-card h4,
html.light-mode .inner-card h5,
html.light-mode .inner-card h6,
html.light-mode .nested-card ion-card-title,
html.light-mode .nested-card .card-title,
html.light-mode .nested-card h1,
html.light-mode .nested-card h2,
html.light-mode .nested-card h3,
html.light-mode .nested-card h4,
html.light-mode .nested-card h5,
html.light-mode .nested-card h6,
html.light-mode .content-card ion-card-title,
html.light-mode .content-card .card-title,
html.light-mode .content-card h1,
html.light-mode .content-card h2,
html.light-mode .content-card h3,
html.light-mode .content-card h4,
html.light-mode .content-card h5,
html.light-mode .content-card h6,
html.light-mode .detail-card ion-card-title,
html.light-mode .detail-card .card-title,
html.light-mode .detail-card h1,
html.light-mode .detail-card h2,
html.light-mode .detail-card h3,
html.light-mode .detail-card h4,
html.light-mode .detail-card h5,
html.light-mode .detail-card h6,
html.light-mode .summary-card ion-card-title,
html.light-mode .summary-card .card-title,
html.light-mode .summary-card h1,
html.light-mode .summary-card h2,
html.light-mode .summary-card h3,
html.light-mode .summary-card h4,
html.light-mode .summary-card h5,
html.light-mode .summary-card h6,
html.light-mode .quick-action-card ion-card-title,
html.light-mode .quick-action-card .card-title,
html.light-mode .quick-action-card h1,
html.light-mode .quick-action-card h2,
html.light-mode .quick-action-card h3,
html.light-mode .quick-action-card h4,
html.light-mode .quick-action-card h5,
html.light-mode .quick-action-card h6,
html.light-mode .action-card ion-card-title,
html.light-mode .action-card .card-title,
html.light-mode .action-card h1,
html.light-mode .action-card h2,
html.light-mode .action-card h3,
html.light-mode .action-card h4,
html.light-mode .action-card h5,
html.light-mode .action-card h6,
html.light-mode .metric-card ion-card-title,
html.light-mode .metric-card .card-title,
html.light-mode .metric-card h1,
html.light-mode .metric-card h2,
html.light-mode .metric-card h3,
html.light-mode .metric-card h4,
html.light-mode .metric-card h5,
html.light-mode .metric-card h6,
html.light-mode .data-card ion-card-title,
html.light-mode .data-card .card-title,
html.light-mode .data-card h1,
html.light-mode .data-card h2,
html.light-mode .data-card h3,
html.light-mode .data-card h4,
html.light-mode .data-card h5,
html.light-mode .data-card h6,
html.light-mode .list-card ion-card-title,
html.light-mode .list-card .card-title,
html.light-mode .list-card h1,
html.light-mode .list-card h2,
html.light-mode .list-card h3,
html.light-mode .list-card h4,
html.light-mode .list-card h5,
html.light-mode .list-card h6,
html.light-mode .form-card ion-card-title,
html.light-mode .form-card .card-title,
html.light-mode .form-card h1,
html.light-mode .form-card h2,
html.light-mode .form-card h3,
html.light-mode .form-card h4,
html.light-mode .form-card h5,
html.light-mode .form-card h6,
html.light-mode .panel-card ion-card-title,
html.light-mode .panel-card .card-title,
html.light-mode .panel-card h1,
html.light-mode .panel-card h2,
html.light-mode .panel-card h3,
html.light-mode .panel-card h4,
html.light-mode .panel-card h5,
html.light-mode .panel-card h6,
html.light-mode .widget-card ion-card-title,
html.light-mode .widget-card .card-title,
html.light-mode .widget-card h1,
html.light-mode .widget-card h2,
html.light-mode .widget-card h3,
html.light-mode .widget-card h4,
html.light-mode .widget-card h5,
html.light-mode .widget-card h6,
html.light-mode .feature-card ion-card-title,
html.light-mode .feature-card .card-title,
html.light-mode .feature-card h1,
html.light-mode .feature-card h2,
html.light-mode .feature-card h3,
html.light-mode .feature-card h4,
html.light-mode .feature-card h5,
html.light-mode .feature-card h6,
html.light-mode .overview-card ion-card-title,
html.light-mode .overview-card .card-title,
html.light-mode .overview-card h1,
html.light-mode .overview-card h2,
html.light-mode .overview-card h3,
html.light-mode .overview-card h4,
html.light-mode .overview-card h5,
html.light-mode .overview-card h6,
html.light-mode .compact-card ion-card-title,
html.light-mode .compact-card .card-title,
html.light-mode .compact-card h1,
html.light-mode .compact-card h2,
html.light-mode .compact-card h3,
html.light-mode .compact-card h4,
html.light-mode .compact-card h5,
html.light-mode .compact-card h6,
html.light-mode .expense-item-card ion-card-title,
html.light-mode .expense-item-card .card-title,
html.light-mode .expense-item-card h1,
html.light-mode .expense-item-card h2,
html.light-mode .expense-item-card h3,
html.light-mode .expense-item-card h4,
html.light-mode .expense-item-card h5,
html.light-mode .expense-item-card h6,
html.light-mode .trip-card ion-card-title,
html.light-mode .trip-card .card-title,
html.light-mode .trip-card h1,
html.light-mode .trip-card h2,
html.light-mode .trip-card h3,
html.light-mode .trip-card h4,
html.light-mode .trip-card h5,
html.light-mode .trip-card h6,
html.light-mode .ride-card ion-card-title,
html.light-mode .ride-card .card-title,
html.light-mode .ride-card h1,
html.light-mode .ride-card h2,
html.light-mode .ride-card h3,
html.light-mode .ride-card h4,
html.light-mode .ride-card h5,
html.light-mode .ride-card h6,
html.light-mode .shift-card ion-card-title,
html.light-mode .shift-card .card-title,
html.light-mode .shift-card h1,
html.light-mode .shift-card h2,
html.light-mode .shift-card h3,
html.light-mode .shift-card h4,
html.light-mode .shift-card h5,
html.light-mode .shift-card h6,
html.light-mode .driver-card ion-card-title,
html.light-mode .driver-card .card-title,
html.light-mode .driver-card h1,
html.light-mode .driver-card h2,
html.light-mode .driver-card h3,
html.light-mode .driver-card h4,
html.light-mode .driver-card h5,
html.light-mode .driver-card h6,
html.light-mode .ticket-card ion-card-title,
html.light-mode .ticket-card .card-title,
html.light-mode .ticket-card h1,
html.light-mode .ticket-card h2,
html.light-mode .ticket-card h3,
html.light-mode .ticket-card h4,
html.light-mode .ticket-card h5,
html.light-mode .ticket-card h6,
html.light-mode .notification-card ion-card-title,
html.light-mode .notification-card .card-title,
html.light-mode .notification-card h1,
html.light-mode .notification-card h2,
html.light-mode .notification-card h3,
html.light-mode .notification-card h4,
html.light-mode .notification-card h5,
html.light-mode .notification-card h6,
html.light-mode .alert-card ion-card-title,
html.light-mode .alert-card .card-title,
html.light-mode .alert-card h1,
html.light-mode .alert-card h2,
html.light-mode .alert-card h3,
html.light-mode .alert-card h4,
html.light-mode .alert-card h5,
html.light-mode .alert-card h6,
html.light-mode .warning-card ion-card-title,
html.light-mode .warning-card .card-title,
html.light-mode .warning-card h1,
html.light-mode .warning-card h2,
html.light-mode .warning-card h3,
html.light-mode .warning-card h4,
html.light-mode .warning-card h5,
html.light-mode .warning-card h6,
html.light-mode .success-card ion-card-title,
html.light-mode .success-card .card-title,
html.light-mode .success-card h1,
html.light-mode .success-card h2,
html.light-mode .success-card h3,
html.light-mode .success-card h4,
html.light-mode .success-card h5,
html.light-mode .success-card h6,
html.light-mode .error-card ion-card-title,
html.light-mode .error-card .card-title,
html.light-mode .error-card h1,
html.light-mode .error-card h2,
html.light-mode .error-card h3,
html.light-mode .error-card h4,
html.light-mode .error-card h5,
html.light-mode .error-card h6,
html.light-mode .accuracy-card ion-card-title,
html.light-mode .accuracy-card .card-title,
html.light-mode .accuracy-card h1,
html.light-mode .accuracy-card h2,
html.light-mode .accuracy-card h3,
html.light-mode .accuracy-card h4,
html.light-mode .accuracy-card h5,
html.light-mode .accuracy-card h6,
html.light-mode .fallback-card ion-card-title,
html.light-mode .fallback-card .card-title,
html.light-mode .fallback-card h1,
html.light-mode .fallback-card h2,
html.light-mode .fallback-card h3,
html.light-mode .fallback-card h4,
html.light-mode .fallback-card h5,
html.light-mode .fallback-card h6,
html.light-mode .agenda-form-card ion-card-title,
html.light-mode .agenda-form-card .card-title,
html.light-mode .agenda-form-card h1,
html.light-mode .agenda-form-card h2,
html.light-mode .agenda-form-card h3,
html.light-mode .agenda-form-card h4,
html.light-mode .agenda-form-card h5,
html.light-mode .agenda-form-card h6,
html.light-mode .day-items-card ion-card-title,
html.light-mode .day-items-card .card-title,
html.light-mode .day-items-card h1,
html.light-mode .day-items-card h2,
html.light-mode .day-items-card h3,
html.light-mode .day-items-card h4,
html.light-mode .day-items-card h5,
html.light-mode .day-items-card h6,
html.light-mode ion-card ion-card ion-card-title,
html.light-mode ion-card ion-card .card-title,
html.light-mode ion-card ion-card h1,
html.light-mode ion-card ion-card h2,
html.light-mode ion-card ion-card h3,
html.light-mode ion-card ion-card h4,
html.light-mode ion-card ion-card h5,
html.light-mode ion-card ion-card h6,
html.light-mode .card .card ion-card-title,
html.light-mode .card .card .card-title,
html.light-mode .card .card h1,
html.light-mode .card .card h2,
html.light-mode .card .card h3,
html.light-mode .card .card h4,
html.light-mode .card .card h5,
html.light-mode .card .card h6,
html.light-mode .tesla-card .card ion-card-title,
html.light-mode .tesla-card .card .card-title,
html.light-mode .tesla-card .card h1,
html.light-mode .tesla-card .card h2,
html.light-mode .tesla-card .card h3,
html.light-mode .tesla-card .card h4,
html.light-mode .tesla-card .card h5,
html.light-mode .tesla-card .card h6,
html.light-mode .tesla-card ion-card ion-card-title,
html.light-mode .tesla-card ion-card .card-title,
html.light-mode .tesla-card ion-card h1,
html.light-mode .tesla-card ion-card h2,
html.light-mode .tesla-card ion-card h3,
html.light-mode .tesla-card ion-card h4,
html.light-mode .tesla-card ion-card h5,
html.light-mode .tesla-card ion-card h6,
body:not(.dark-mode):not(.dark) .inner-card ion-card-title,
body:not(.dark-mode):not(.dark) .inner-card .card-title,
body:not(.dark-mode):not(.dark) .inner-card h1,
body:not(.dark-mode):not(.dark) .inner-card h2,
body:not(.dark-mode):not(.dark) .inner-card h3,
body:not(.dark-mode):not(.dark) .inner-card h4,
body:not(.dark-mode):not(.dark) .inner-card h5,
body:not(.dark-mode):not(.dark) .inner-card h6,
body:not(.dark-mode):not(.dark) .nested-card ion-card-title,
body:not(.dark-mode):not(.dark) .nested-card .card-title,
body:not(.dark-mode):not(.dark) .nested-card h1,
body:not(.dark-mode):not(.dark) .nested-card h2,
body:not(.dark-mode):not(.dark) .nested-card h3,
body:not(.dark-mode):not(.dark) .nested-card h4,
body:not(.dark-mode):not(.dark) .nested-card h5,
body:not(.dark-mode):not(.dark) .nested-card h6,
body:not(.dark-mode):not(.dark) .content-card ion-card-title,
body:not(.dark-mode):not(.dark) .content-card .card-title,
body:not(.dark-mode):not(.dark) .content-card h1,
body:not(.dark-mode):not(.dark) .content-card h2,
body:not(.dark-mode):not(.dark) .content-card h3,
body:not(.dark-mode):not(.dark) .content-card h4,
body:not(.dark-mode):not(.dark) .content-card h5,
body:not(.dark-mode):not(.dark) .content-card h6,
body:not(.dark-mode):not(.dark) .detail-card ion-card-title,
body:not(.dark-mode):not(.dark) .detail-card .card-title,
body:not(.dark-mode):not(.dark) .detail-card h1,
body:not(.dark-mode):not(.dark) .detail-card h2,
body:not(.dark-mode):not(.dark) .detail-card h3,
body:not(.dark-mode):not(.dark) .detail-card h4,
body:not(.dark-mode):not(.dark) .detail-card h5,
body:not(.dark-mode):not(.dark) .detail-card h6,
body:not(.dark-mode):not(.dark) .summary-card ion-card-title,
body:not(.dark-mode):not(.dark) .summary-card .card-title,
body:not(.dark-mode):not(.dark) .summary-card h1,
body:not(.dark-mode):not(.dark) .summary-card h2,
body:not(.dark-mode):not(.dark) .summary-card h3,
body:not(.dark-mode):not(.dark) .summary-card h4,
body:not(.dark-mode):not(.dark) .summary-card h5,
body:not(.dark-mode):not(.dark) .summary-card h6,
body:not(.dark-mode):not(.dark) .quick-action-card ion-card-title,
body:not(.dark-mode):not(.dark) .quick-action-card .card-title,
body:not(.dark-mode):not(.dark) .quick-action-card h1,
body:not(.dark-mode):not(.dark) .quick-action-card h2,
body:not(.dark-mode):not(.dark) .quick-action-card h3,
body:not(.dark-mode):not(.dark) .quick-action-card h4,
body:not(.dark-mode):not(.dark) .quick-action-card h5,
body:not(.dark-mode):not(.dark) .quick-action-card h6,
body:not(.dark-mode):not(.dark) .action-card ion-card-title,
body:not(.dark-mode):not(.dark) .action-card .card-title,
body:not(.dark-mode):not(.dark) .action-card h1,
body:not(.dark-mode):not(.dark) .action-card h2,
body:not(.dark-mode):not(.dark) .action-card h3,
body:not(.dark-mode):not(.dark) .action-card h4,
body:not(.dark-mode):not(.dark) .action-card h5,
body:not(.dark-mode):not(.dark) .action-card h6,
body:not(.dark-mode):not(.dark) .metric-card ion-card-title,
body:not(.dark-mode):not(.dark) .metric-card .card-title,
body:not(.dark-mode):not(.dark) .metric-card h1,
body:not(.dark-mode):not(.dark) .metric-card h2,
body:not(.dark-mode):not(.dark) .metric-card h3,
body:not(.dark-mode):not(.dark) .metric-card h4,
body:not(.dark-mode):not(.dark) .metric-card h5,
body:not(.dark-mode):not(.dark) .metric-card h6,
body:not(.dark-mode):not(.dark) .data-card ion-card-title,
body:not(.dark-mode):not(.dark) .data-card .card-title,
body:not(.dark-mode):not(.dark) .data-card h1,
body:not(.dark-mode):not(.dark) .data-card h2,
body:not(.dark-mode):not(.dark) .data-card h3,
body:not(.dark-mode):not(.dark) .data-card h4,
body:not(.dark-mode):not(.dark) .data-card h5,
body:not(.dark-mode):not(.dark) .data-card h6,
body:not(.dark-mode):not(.dark) .list-card ion-card-title,
body:not(.dark-mode):not(.dark) .list-card .card-title,
body:not(.dark-mode):not(.dark) .list-card h1,
body:not(.dark-mode):not(.dark) .list-card h2,
body:not(.dark-mode):not(.dark) .list-card h3,
body:not(.dark-mode):not(.dark) .list-card h4,
body:not(.dark-mode):not(.dark) .list-card h5,
body:not(.dark-mode):not(.dark) .list-card h6,
body:not(.dark-mode):not(.dark) .form-card ion-card-title,
body:not(.dark-mode):not(.dark) .form-card .card-title,
body:not(.dark-mode):not(.dark) .form-card h1,
body:not(.dark-mode):not(.dark) .form-card h2,
body:not(.dark-mode):not(.dark) .form-card h3,
body:not(.dark-mode):not(.dark) .form-card h4,
body:not(.dark-mode):not(.dark) .form-card h5,
body:not(.dark-mode):not(.dark) .form-card h6,
body:not(.dark-mode):not(.dark) .panel-card ion-card-title,
body:not(.dark-mode):not(.dark) .panel-card .card-title,
body:not(.dark-mode):not(.dark) .panel-card h1,
body:not(.dark-mode):not(.dark) .panel-card h2,
body:not(.dark-mode):not(.dark) .panel-card h3,
body:not(.dark-mode):not(.dark) .panel-card h4,
body:not(.dark-mode):not(.dark) .panel-card h5,
body:not(.dark-mode):not(.dark) .panel-card h6,
body:not(.dark-mode):not(.dark) .widget-card ion-card-title,
body:not(.dark-mode):not(.dark) .widget-card .card-title,
body:not(.dark-mode):not(.dark) .widget-card h1,
body:not(.dark-mode):not(.dark) .widget-card h2,
body:not(.dark-mode):not(.dark) .widget-card h3,
body:not(.dark-mode):not(.dark) .widget-card h4,
body:not(.dark-mode):not(.dark) .widget-card h5,
body:not(.dark-mode):not(.dark) .widget-card h6,
body:not(.dark-mode):not(.dark) .feature-card ion-card-title,
body:not(.dark-mode):not(.dark) .feature-card .card-title,
body:not(.dark-mode):not(.dark) .feature-card h1,
body:not(.dark-mode):not(.dark) .feature-card h2,
body:not(.dark-mode):not(.dark) .feature-card h3,
body:not(.dark-mode):not(.dark) .feature-card h4,
body:not(.dark-mode):not(.dark) .feature-card h5,
body:not(.dark-mode):not(.dark) .feature-card h6,
body:not(.dark-mode):not(.dark) .overview-card ion-card-title,
body:not(.dark-mode):not(.dark) .overview-card .card-title,
body:not(.dark-mode):not(.dark) .overview-card h1,
body:not(.dark-mode):not(.dark) .overview-card h2,
body:not(.dark-mode):not(.dark) .overview-card h3,
body:not(.dark-mode):not(.dark) .overview-card h4,
body:not(.dark-mode):not(.dark) .overview-card h5,
body:not(.dark-mode):not(.dark) .overview-card h6,
body:not(.dark-mode):not(.dark) .compact-card ion-card-title,
body:not(.dark-mode):not(.dark) .compact-card .card-title,
body:not(.dark-mode):not(.dark) .compact-card h1,
body:not(.dark-mode):not(.dark) .compact-card h2,
body:not(.dark-mode):not(.dark) .compact-card h3,
body:not(.dark-mode):not(.dark) .compact-card h4,
body:not(.dark-mode):not(.dark) .compact-card h5,
body:not(.dark-mode):not(.dark) .compact-card h6,
body:not(.dark-mode):not(.dark) .expense-item-card ion-card-title,
body:not(.dark-mode):not(.dark) .expense-item-card .card-title,
body:not(.dark-mode):not(.dark) .expense-item-card h1,
body:not(.dark-mode):not(.dark) .expense-item-card h2,
body:not(.dark-mode):not(.dark) .expense-item-card h3,
body:not(.dark-mode):not(.dark) .expense-item-card h4,
body:not(.dark-mode):not(.dark) .expense-item-card h5,
body:not(.dark-mode):not(.dark) .expense-item-card h6,
body:not(.dark-mode):not(.dark) .trip-card ion-card-title,
body:not(.dark-mode):not(.dark) .trip-card .card-title,
body:not(.dark-mode):not(.dark) .trip-card h1,
body:not(.dark-mode):not(.dark) .trip-card h2,
body:not(.dark-mode):not(.dark) .trip-card h3,
body:not(.dark-mode):not(.dark) .trip-card h4,
body:not(.dark-mode):not(.dark) .trip-card h5,
body:not(.dark-mode):not(.dark) .trip-card h6,
body:not(.dark-mode):not(.dark) .ride-card ion-card-title,
body:not(.dark-mode):not(.dark) .ride-card .card-title,
body:not(.dark-mode):not(.dark) .ride-card h1,
body:not(.dark-mode):not(.dark) .ride-card h2,
body:not(.dark-mode):not(.dark) .ride-card h3,
body:not(.dark-mode):not(.dark) .ride-card h4,
body:not(.dark-mode):not(.dark) .ride-card h5,
body:not(.dark-mode):not(.dark) .ride-card h6,
body:not(.dark-mode):not(.dark) .shift-card ion-card-title,
body:not(.dark-mode):not(.dark) .shift-card .card-title,
body:not(.dark-mode):not(.dark) .shift-card h1,
body:not(.dark-mode):not(.dark) .shift-card h2,
body:not(.dark-mode):not(.dark) .shift-card h3,
body:not(.dark-mode):not(.dark) .shift-card h4,
body:not(.dark-mode):not(.dark) .shift-card h5,
body:not(.dark-mode):not(.dark) .shift-card h6,
body:not(.dark-mode):not(.dark) .driver-card ion-card-title,
body:not(.dark-mode):not(.dark) .driver-card .card-title,
body:not(.dark-mode):not(.dark) .driver-card h1,
body:not(.dark-mode):not(.dark) .driver-card h2,
body:not(.dark-mode):not(.dark) .driver-card h3,
body:not(.dark-mode):not(.dark) .driver-card h4,
body:not(.dark-mode):not(.dark) .driver-card h5,
body:not(.dark-mode):not(.dark) .driver-card h6,
body:not(.dark-mode):not(.dark) .ticket-card ion-card-title,
body:not(.dark-mode):not(.dark) .ticket-card .card-title,
body:not(.dark-mode):not(.dark) .ticket-card h1,
body:not(.dark-mode):not(.dark) .ticket-card h2,
body:not(.dark-mode):not(.dark) .ticket-card h3,
body:not(.dark-mode):not(.dark) .ticket-card h4,
body:not(.dark-mode):not(.dark) .ticket-card h5,
body:not(.dark-mode):not(.dark) .ticket-card h6,
body:not(.dark-mode):not(.dark) .notification-card ion-card-title,
body:not(.dark-mode):not(.dark) .notification-card .card-title,
body:not(.dark-mode):not(.dark) .notification-card h1,
body:not(.dark-mode):not(.dark) .notification-card h2,
body:not(.dark-mode):not(.dark) .notification-card h3,
body:not(.dark-mode):not(.dark) .notification-card h4,
body:not(.dark-mode):not(.dark) .notification-card h5,
body:not(.dark-mode):not(.dark) .notification-card h6,
body:not(.dark-mode):not(.dark) .alert-card ion-card-title,
body:not(.dark-mode):not(.dark) .alert-card .card-title,
body:not(.dark-mode):not(.dark) .alert-card h1,
body:not(.dark-mode):not(.dark) .alert-card h2,
body:not(.dark-mode):not(.dark) .alert-card h3,
body:not(.dark-mode):not(.dark) .alert-card h4,
body:not(.dark-mode):not(.dark) .alert-card h5,
body:not(.dark-mode):not(.dark) .alert-card h6,
body:not(.dark-mode):not(.dark) .warning-card ion-card-title,
body:not(.dark-mode):not(.dark) .warning-card .card-title,
body:not(.dark-mode):not(.dark) .warning-card h1,
body:not(.dark-mode):not(.dark) .warning-card h2,
body:not(.dark-mode):not(.dark) .warning-card h3,
body:not(.dark-mode):not(.dark) .warning-card h4,
body:not(.dark-mode):not(.dark) .warning-card h5,
body:not(.dark-mode):not(.dark) .warning-card h6,
body:not(.dark-mode):not(.dark) .success-card ion-card-title,
body:not(.dark-mode):not(.dark) .success-card .card-title,
body:not(.dark-mode):not(.dark) .success-card h1,
body:not(.dark-mode):not(.dark) .success-card h2,
body:not(.dark-mode):not(.dark) .success-card h3,
body:not(.dark-mode):not(.dark) .success-card h4,
body:not(.dark-mode):not(.dark) .success-card h5,
body:not(.dark-mode):not(.dark) .success-card h6,
body:not(.dark-mode):not(.dark) .error-card ion-card-title,
body:not(.dark-mode):not(.dark) .error-card .card-title,
body:not(.dark-mode):not(.dark) .error-card h1,
body:not(.dark-mode):not(.dark) .error-card h2,
body:not(.dark-mode):not(.dark) .error-card h3,
body:not(.dark-mode):not(.dark) .error-card h4,
body:not(.dark-mode):not(.dark) .error-card h5,
body:not(.dark-mode):not(.dark) .error-card h6,
body:not(.dark-mode):not(.dark) .accuracy-card ion-card-title,
body:not(.dark-mode):not(.dark) .accuracy-card .card-title,
body:not(.dark-mode):not(.dark) .accuracy-card h1,
body:not(.dark-mode):not(.dark) .accuracy-card h2,
body:not(.dark-mode):not(.dark) .accuracy-card h3,
body:not(.dark-mode):not(.dark) .accuracy-card h4,
body:not(.dark-mode):not(.dark) .accuracy-card h5,
body:not(.dark-mode):not(.dark) .accuracy-card h6,
body:not(.dark-mode):not(.dark) .fallback-card ion-card-title,
body:not(.dark-mode):not(.dark) .fallback-card .card-title,
body:not(.dark-mode):not(.dark) .fallback-card h1,
body:not(.dark-mode):not(.dark) .fallback-card h2,
body:not(.dark-mode):not(.dark) .fallback-card h3,
body:not(.dark-mode):not(.dark) .fallback-card h4,
body:not(.dark-mode):not(.dark) .fallback-card h5,
body:not(.dark-mode):not(.dark) .fallback-card h6,
body:not(.dark-mode):not(.dark) .agenda-form-card ion-card-title,
body:not(.dark-mode):not(.dark) .agenda-form-card .card-title,
body:not(.dark-mode):not(.dark) .agenda-form-card h1,
body:not(.dark-mode):not(.dark) .agenda-form-card h2,
body:not(.dark-mode):not(.dark) .agenda-form-card h3,
body:not(.dark-mode):not(.dark) .agenda-form-card h4,
body:not(.dark-mode):not(.dark) .agenda-form-card h5,
body:not(.dark-mode):not(.dark) .agenda-form-card h6,
body:not(.dark-mode):not(.dark) .day-items-card ion-card-title,
body:not(.dark-mode):not(.dark) .day-items-card .card-title,
body:not(.dark-mode):not(.dark) .day-items-card h1,
body:not(.dark-mode):not(.dark) .day-items-card h2,
body:not(.dark-mode):not(.dark) .day-items-card h3,
body:not(.dark-mode):not(.dark) .day-items-card h4,
body:not(.dark-mode):not(.dark) .day-items-card h5,
body:not(.dark-mode):not(.dark) .day-items-card h6,
body:not(.dark-mode):not(.dark) ion-card ion-card ion-card-title,
body:not(.dark-mode):not(.dark) ion-card ion-card .card-title,
body:not(.dark-mode):not(.dark) ion-card ion-card h1,
body:not(.dark-mode):not(.dark) ion-card ion-card h2,
body:not(.dark-mode):not(.dark) ion-card ion-card h3,
body:not(.dark-mode):not(.dark) ion-card ion-card h4,
body:not(.dark-mode):not(.dark) ion-card ion-card h5,
body:not(.dark-mode):not(.dark) ion-card ion-card h6,
body:not(.dark-mode):not(.dark) .card .card ion-card-title,
body:not(.dark-mode):not(.dark) .card .card .card-title,
body:not(.dark-mode):not(.dark) .card .card h1,
body:not(.dark-mode):not(.dark) .card .card h2,
body:not(.dark-mode):not(.dark) .card .card h3,
body:not(.dark-mode):not(.dark) .card .card h4,
body:not(.dark-mode):not(.dark) .card .card h5,
body:not(.dark-mode):not(.dark) .card .card h6,
body:not(.dark-mode):not(.dark) .tesla-card .card ion-card-title,
body:not(.dark-mode):not(.dark) .tesla-card .card .card-title,
body:not(.dark-mode):not(.dark) .tesla-card .card h1,
body:not(.dark-mode):not(.dark) .tesla-card .card h2,
body:not(.dark-mode):not(.dark) .tesla-card .card h3,
body:not(.dark-mode):not(.dark) .tesla-card .card h4,
body:not(.dark-mode):not(.dark) .tesla-card .card h5,
body:not(.dark-mode):not(.dark) .tesla-card .card h6,
body:not(.dark-mode):not(.dark) .tesla-card ion-card ion-card-title,
body:not(.dark-mode):not(.dark) .tesla-card ion-card .card-title,
body:not(.dark-mode):not(.dark) .tesla-card ion-card h1,
body:not(.dark-mode):not(.dark) .tesla-card ion-card h2,
body:not(.dark-mode):not(.dark) .tesla-card ion-card h3,
body:not(.dark-mode):not(.dark) .tesla-card ion-card h4,
body:not(.dark-mode):not(.dark) .tesla-card ion-card h5,
body:not(.dark-mode):not(.dark) .tesla-card ion-card h6 {
  color: var(--cdt-light-text-primary) !important;
}
body.light-mode .inner-card ion-card-subtitle,
body.light-mode .inner-card .card-subtitle,
body.light-mode .inner-card p,
body.light-mode .inner-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .nested-card ion-card-subtitle,
body.light-mode .nested-card .card-subtitle,
body.light-mode .nested-card p,
body.light-mode .nested-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .content-card ion-card-subtitle,
body.light-mode .content-card .card-subtitle,
body.light-mode .content-card p,
body.light-mode .content-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .detail-card ion-card-subtitle,
body.light-mode .detail-card .card-subtitle,
body.light-mode .detail-card p,
body.light-mode .detail-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .summary-card ion-card-subtitle,
body.light-mode .summary-card .card-subtitle,
body.light-mode .summary-card p,
body.light-mode .summary-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .quick-action-card ion-card-subtitle,
body.light-mode .quick-action-card .card-subtitle,
body.light-mode .quick-action-card p,
body.light-mode .quick-action-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .action-card ion-card-subtitle,
body.light-mode .action-card .card-subtitle,
body.light-mode .action-card p,
body.light-mode .action-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .metric-card ion-card-subtitle,
body.light-mode .metric-card .card-subtitle,
body.light-mode .metric-card p,
body.light-mode .metric-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .data-card ion-card-subtitle,
body.light-mode .data-card .card-subtitle,
body.light-mode .data-card p,
body.light-mode .data-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .list-card ion-card-subtitle,
body.light-mode .list-card .card-subtitle,
body.light-mode .list-card p,
body.light-mode .list-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .form-card ion-card-subtitle,
body.light-mode .form-card .card-subtitle,
body.light-mode .form-card p,
body.light-mode .form-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .panel-card ion-card-subtitle,
body.light-mode .panel-card .card-subtitle,
body.light-mode .panel-card p,
body.light-mode .panel-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .widget-card ion-card-subtitle,
body.light-mode .widget-card .card-subtitle,
body.light-mode .widget-card p,
body.light-mode .widget-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .feature-card ion-card-subtitle,
body.light-mode .feature-card .card-subtitle,
body.light-mode .feature-card p,
body.light-mode .feature-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .overview-card ion-card-subtitle,
body.light-mode .overview-card .card-subtitle,
body.light-mode .overview-card p,
body.light-mode .overview-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .compact-card ion-card-subtitle,
body.light-mode .compact-card .card-subtitle,
body.light-mode .compact-card p,
body.light-mode .compact-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .expense-item-card ion-card-subtitle,
body.light-mode .expense-item-card .card-subtitle,
body.light-mode .expense-item-card p,
body.light-mode .expense-item-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .trip-card ion-card-subtitle,
body.light-mode .trip-card .card-subtitle,
body.light-mode .trip-card p,
body.light-mode .trip-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .ride-card ion-card-subtitle,
body.light-mode .ride-card .card-subtitle,
body.light-mode .ride-card p,
body.light-mode .ride-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .shift-card ion-card-subtitle,
body.light-mode .shift-card .card-subtitle,
body.light-mode .shift-card p,
body.light-mode .shift-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .driver-card ion-card-subtitle,
body.light-mode .driver-card .card-subtitle,
body.light-mode .driver-card p,
body.light-mode .driver-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .ticket-card ion-card-subtitle,
body.light-mode .ticket-card .card-subtitle,
body.light-mode .ticket-card p,
body.light-mode .ticket-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .notification-card ion-card-subtitle,
body.light-mode .notification-card .card-subtitle,
body.light-mode .notification-card p,
body.light-mode .notification-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .alert-card ion-card-subtitle,
body.light-mode .alert-card .card-subtitle,
body.light-mode .alert-card p,
body.light-mode .alert-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .warning-card ion-card-subtitle,
body.light-mode .warning-card .card-subtitle,
body.light-mode .warning-card p,
body.light-mode .warning-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .success-card ion-card-subtitle,
body.light-mode .success-card .card-subtitle,
body.light-mode .success-card p,
body.light-mode .success-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .error-card ion-card-subtitle,
body.light-mode .error-card .card-subtitle,
body.light-mode .error-card p,
body.light-mode .error-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .accuracy-card ion-card-subtitle,
body.light-mode .accuracy-card .card-subtitle,
body.light-mode .accuracy-card p,
body.light-mode .accuracy-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .fallback-card ion-card-subtitle,
body.light-mode .fallback-card .card-subtitle,
body.light-mode .fallback-card p,
body.light-mode .fallback-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .agenda-form-card ion-card-subtitle,
body.light-mode .agenda-form-card .card-subtitle,
body.light-mode .agenda-form-card p,
body.light-mode .agenda-form-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .day-items-card ion-card-subtitle,
body.light-mode .day-items-card .card-subtitle,
body.light-mode .day-items-card p,
body.light-mode .day-items-card span:not(.badge):not(.chip):not(.tag),
body.light-mode ion-card ion-card ion-card-subtitle,
body.light-mode ion-card ion-card .card-subtitle,
body.light-mode ion-card ion-card p,
body.light-mode ion-card ion-card span:not(.badge):not(.chip):not(.tag),
body.light-mode .card .card ion-card-subtitle,
body.light-mode .card .card .card-subtitle,
body.light-mode .card .card p,
body.light-mode .card .card span:not(.badge):not(.chip):not(.tag),
body.light-mode .tesla-card .card ion-card-subtitle,
body.light-mode .tesla-card .card .card-subtitle,
body.light-mode .tesla-card .card p,
body.light-mode .tesla-card .card span:not(.badge):not(.chip):not(.tag),
body.light-mode .tesla-card ion-card ion-card-subtitle,
body.light-mode .tesla-card ion-card .card-subtitle,
body.light-mode .tesla-card ion-card p,
body.light-mode .tesla-card ion-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .inner-card ion-card-subtitle,
html.light-mode .inner-card .card-subtitle,
html.light-mode .inner-card p,
html.light-mode .inner-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .nested-card ion-card-subtitle,
html.light-mode .nested-card .card-subtitle,
html.light-mode .nested-card p,
html.light-mode .nested-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .content-card ion-card-subtitle,
html.light-mode .content-card .card-subtitle,
html.light-mode .content-card p,
html.light-mode .content-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .detail-card ion-card-subtitle,
html.light-mode .detail-card .card-subtitle,
html.light-mode .detail-card p,
html.light-mode .detail-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .summary-card ion-card-subtitle,
html.light-mode .summary-card .card-subtitle,
html.light-mode .summary-card p,
html.light-mode .summary-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .quick-action-card ion-card-subtitle,
html.light-mode .quick-action-card .card-subtitle,
html.light-mode .quick-action-card p,
html.light-mode .quick-action-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .action-card ion-card-subtitle,
html.light-mode .action-card .card-subtitle,
html.light-mode .action-card p,
html.light-mode .action-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .metric-card ion-card-subtitle,
html.light-mode .metric-card .card-subtitle,
html.light-mode .metric-card p,
html.light-mode .metric-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .data-card ion-card-subtitle,
html.light-mode .data-card .card-subtitle,
html.light-mode .data-card p,
html.light-mode .data-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .list-card ion-card-subtitle,
html.light-mode .list-card .card-subtitle,
html.light-mode .list-card p,
html.light-mode .list-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .form-card ion-card-subtitle,
html.light-mode .form-card .card-subtitle,
html.light-mode .form-card p,
html.light-mode .form-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .panel-card ion-card-subtitle,
html.light-mode .panel-card .card-subtitle,
html.light-mode .panel-card p,
html.light-mode .panel-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .widget-card ion-card-subtitle,
html.light-mode .widget-card .card-subtitle,
html.light-mode .widget-card p,
html.light-mode .widget-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .feature-card ion-card-subtitle,
html.light-mode .feature-card .card-subtitle,
html.light-mode .feature-card p,
html.light-mode .feature-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .overview-card ion-card-subtitle,
html.light-mode .overview-card .card-subtitle,
html.light-mode .overview-card p,
html.light-mode .overview-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .compact-card ion-card-subtitle,
html.light-mode .compact-card .card-subtitle,
html.light-mode .compact-card p,
html.light-mode .compact-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .expense-item-card ion-card-subtitle,
html.light-mode .expense-item-card .card-subtitle,
html.light-mode .expense-item-card p,
html.light-mode .expense-item-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .trip-card ion-card-subtitle,
html.light-mode .trip-card .card-subtitle,
html.light-mode .trip-card p,
html.light-mode .trip-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .ride-card ion-card-subtitle,
html.light-mode .ride-card .card-subtitle,
html.light-mode .ride-card p,
html.light-mode .ride-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .shift-card ion-card-subtitle,
html.light-mode .shift-card .card-subtitle,
html.light-mode .shift-card p,
html.light-mode .shift-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .driver-card ion-card-subtitle,
html.light-mode .driver-card .card-subtitle,
html.light-mode .driver-card p,
html.light-mode .driver-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .ticket-card ion-card-subtitle,
html.light-mode .ticket-card .card-subtitle,
html.light-mode .ticket-card p,
html.light-mode .ticket-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .notification-card ion-card-subtitle,
html.light-mode .notification-card .card-subtitle,
html.light-mode .notification-card p,
html.light-mode .notification-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .alert-card ion-card-subtitle,
html.light-mode .alert-card .card-subtitle,
html.light-mode .alert-card p,
html.light-mode .alert-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .warning-card ion-card-subtitle,
html.light-mode .warning-card .card-subtitle,
html.light-mode .warning-card p,
html.light-mode .warning-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .success-card ion-card-subtitle,
html.light-mode .success-card .card-subtitle,
html.light-mode .success-card p,
html.light-mode .success-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .error-card ion-card-subtitle,
html.light-mode .error-card .card-subtitle,
html.light-mode .error-card p,
html.light-mode .error-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .accuracy-card ion-card-subtitle,
html.light-mode .accuracy-card .card-subtitle,
html.light-mode .accuracy-card p,
html.light-mode .accuracy-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .fallback-card ion-card-subtitle,
html.light-mode .fallback-card .card-subtitle,
html.light-mode .fallback-card p,
html.light-mode .fallback-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .agenda-form-card ion-card-subtitle,
html.light-mode .agenda-form-card .card-subtitle,
html.light-mode .agenda-form-card p,
html.light-mode .agenda-form-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .day-items-card ion-card-subtitle,
html.light-mode .day-items-card .card-subtitle,
html.light-mode .day-items-card p,
html.light-mode .day-items-card span:not(.badge):not(.chip):not(.tag),
html.light-mode ion-card ion-card ion-card-subtitle,
html.light-mode ion-card ion-card .card-subtitle,
html.light-mode ion-card ion-card p,
html.light-mode ion-card ion-card span:not(.badge):not(.chip):not(.tag),
html.light-mode .card .card ion-card-subtitle,
html.light-mode .card .card .card-subtitle,
html.light-mode .card .card p,
html.light-mode .card .card span:not(.badge):not(.chip):not(.tag),
html.light-mode .tesla-card .card ion-card-subtitle,
html.light-mode .tesla-card .card .card-subtitle,
html.light-mode .tesla-card .card p,
html.light-mode .tesla-card .card span:not(.badge):not(.chip):not(.tag),
html.light-mode .tesla-card ion-card ion-card-subtitle,
html.light-mode .tesla-card ion-card .card-subtitle,
html.light-mode .tesla-card ion-card p,
html.light-mode .tesla-card ion-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .inner-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .inner-card .card-subtitle,
body:not(.dark-mode):not(.dark) .inner-card p,
body:not(.dark-mode):not(.dark) .inner-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .nested-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .nested-card .card-subtitle,
body:not(.dark-mode):not(.dark) .nested-card p,
body:not(.dark-mode):not(.dark) .nested-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .content-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .content-card .card-subtitle,
body:not(.dark-mode):not(.dark) .content-card p,
body:not(.dark-mode):not(.dark) .content-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .detail-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .detail-card .card-subtitle,
body:not(.dark-mode):not(.dark) .detail-card p,
body:not(.dark-mode):not(.dark) .detail-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .summary-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .summary-card .card-subtitle,
body:not(.dark-mode):not(.dark) .summary-card p,
body:not(.dark-mode):not(.dark) .summary-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .quick-action-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .quick-action-card .card-subtitle,
body:not(.dark-mode):not(.dark) .quick-action-card p,
body:not(.dark-mode):not(.dark) .quick-action-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .action-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .action-card .card-subtitle,
body:not(.dark-mode):not(.dark) .action-card p,
body:not(.dark-mode):not(.dark) .action-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .metric-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .metric-card .card-subtitle,
body:not(.dark-mode):not(.dark) .metric-card p,
body:not(.dark-mode):not(.dark) .metric-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .data-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .data-card .card-subtitle,
body:not(.dark-mode):not(.dark) .data-card p,
body:not(.dark-mode):not(.dark) .data-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .list-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .list-card .card-subtitle,
body:not(.dark-mode):not(.dark) .list-card p,
body:not(.dark-mode):not(.dark) .list-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .form-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .form-card .card-subtitle,
body:not(.dark-mode):not(.dark) .form-card p,
body:not(.dark-mode):not(.dark) .form-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .panel-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .panel-card .card-subtitle,
body:not(.dark-mode):not(.dark) .panel-card p,
body:not(.dark-mode):not(.dark) .panel-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .widget-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .widget-card .card-subtitle,
body:not(.dark-mode):not(.dark) .widget-card p,
body:not(.dark-mode):not(.dark) .widget-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .feature-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .feature-card .card-subtitle,
body:not(.dark-mode):not(.dark) .feature-card p,
body:not(.dark-mode):not(.dark) .feature-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .overview-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .overview-card .card-subtitle,
body:not(.dark-mode):not(.dark) .overview-card p,
body:not(.dark-mode):not(.dark) .overview-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .compact-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .compact-card .card-subtitle,
body:not(.dark-mode):not(.dark) .compact-card p,
body:not(.dark-mode):not(.dark) .compact-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .expense-item-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .expense-item-card .card-subtitle,
body:not(.dark-mode):not(.dark) .expense-item-card p,
body:not(.dark-mode):not(.dark) .expense-item-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .trip-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .trip-card .card-subtitle,
body:not(.dark-mode):not(.dark) .trip-card p,
body:not(.dark-mode):not(.dark) .trip-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .ride-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .ride-card .card-subtitle,
body:not(.dark-mode):not(.dark) .ride-card p,
body:not(.dark-mode):not(.dark) .ride-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .shift-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .shift-card .card-subtitle,
body:not(.dark-mode):not(.dark) .shift-card p,
body:not(.dark-mode):not(.dark) .shift-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .driver-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .driver-card .card-subtitle,
body:not(.dark-mode):not(.dark) .driver-card p,
body:not(.dark-mode):not(.dark) .driver-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .ticket-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .ticket-card .card-subtitle,
body:not(.dark-mode):not(.dark) .ticket-card p,
body:not(.dark-mode):not(.dark) .ticket-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .notification-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .notification-card .card-subtitle,
body:not(.dark-mode):not(.dark) .notification-card p,
body:not(.dark-mode):not(.dark) .notification-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .alert-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .alert-card .card-subtitle,
body:not(.dark-mode):not(.dark) .alert-card p,
body:not(.dark-mode):not(.dark) .alert-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .warning-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .warning-card .card-subtitle,
body:not(.dark-mode):not(.dark) .warning-card p,
body:not(.dark-mode):not(.dark) .warning-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .success-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .success-card .card-subtitle,
body:not(.dark-mode):not(.dark) .success-card p,
body:not(.dark-mode):not(.dark) .success-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .error-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .error-card .card-subtitle,
body:not(.dark-mode):not(.dark) .error-card p,
body:not(.dark-mode):not(.dark) .error-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .accuracy-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .accuracy-card .card-subtitle,
body:not(.dark-mode):not(.dark) .accuracy-card p,
body:not(.dark-mode):not(.dark) .accuracy-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .fallback-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .fallback-card .card-subtitle,
body:not(.dark-mode):not(.dark) .fallback-card p,
body:not(.dark-mode):not(.dark) .fallback-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .agenda-form-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .agenda-form-card .card-subtitle,
body:not(.dark-mode):not(.dark) .agenda-form-card p,
body:not(.dark-mode):not(.dark) .agenda-form-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .day-items-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .day-items-card .card-subtitle,
body:not(.dark-mode):not(.dark) .day-items-card p,
body:not(.dark-mode):not(.dark) .day-items-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) ion-card ion-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) ion-card ion-card .card-subtitle,
body:not(.dark-mode):not(.dark) ion-card ion-card p,
body:not(.dark-mode):not(.dark) ion-card ion-card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .card .card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .card .card .card-subtitle,
body:not(.dark-mode):not(.dark) .card .card p,
body:not(.dark-mode):not(.dark) .card .card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .tesla-card .card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .tesla-card .card .card-subtitle,
body:not(.dark-mode):not(.dark) .tesla-card .card p,
body:not(.dark-mode):not(.dark) .tesla-card .card span:not(.badge):not(.chip):not(.tag),
body:not(.dark-mode):not(.dark) .tesla-card ion-card ion-card-subtitle,
body:not(.dark-mode):not(.dark) .tesla-card ion-card .card-subtitle,
body:not(.dark-mode):not(.dark) .tesla-card ion-card p,
body:not(.dark-mode):not(.dark) .tesla-card ion-card span:not(.badge):not(.chip):not(.tag) {
  color: var(--cdt-light-text-secondary) !important;
}
body.light-mode ion-card ion-card ion-card,
body.light-mode .card .card .card,
body.light-mode .inner-card .inner-card,
html.light-mode ion-card ion-card ion-card,
html.light-mode .card .card .card,
html.light-mode .inner-card .inner-card,
body:not(.dark-mode):not(.dark) ion-card ion-card ion-card,
body:not(.dark-mode):not(.dark) .card .card .card,
body:not(.dark-mode):not(.dark) .inner-card .inner-card {
  --background: #f0f2f5 !important;
  background: #f0f2f5 !important;
}
body.light-mode ion-list,
html.light-mode ion-list,
body:not(.dark-mode):not(.dark) ion-list {
  background: var(--cdt-light-bg-card) !important;
}
body.light-mode ion-item,
html.light-mode ion-item,
body:not(.dark-mode):not(.dark) ion-item {
  --background: var(--cdt-light-bg-card) !important;
  --color: var(--cdt-light-text-primary) !important;
  --border-color: var(--cdt-light-border) !important;
}
body.light-mode ion-header ion-toolbar,
html.light-mode ion-header ion-toolbar,
body:not(.dark-mode):not(.dark) ion-header ion-toolbar {
  --background: var(--cdt-light-bg-card) !important;
  --color: var(--cdt-blue-primary) !important;
  background: var(--cdt-light-bg-card) !important;
  border-bottom: 1px solid var(--cdt-light-border) !important;
}
body.light-mode ion-header ion-toolbar ion-title,
html.light-mode ion-header ion-toolbar ion-title,
body:not(.dark-mode):not(.dark) ion-header ion-toolbar ion-title {
  color: var(--cdt-blue-primary) !important;
}
body.light-mode ion-header ion-toolbar ion-button,
body.light-mode ion-header ion-toolbar ion-icon,
body.light-mode ion-header ion-toolbar ion-back-button,
html.light-mode ion-header ion-toolbar ion-button,
html.light-mode ion-header ion-toolbar ion-icon,
html.light-mode ion-header ion-toolbar ion-back-button,
body:not(.dark-mode):not(.dark) ion-header ion-toolbar ion-button,
body:not(.dark-mode):not(.dark) ion-header ion-toolbar ion-icon,
body:not(.dark-mode):not(.dark) ion-header ion-toolbar ion-back-button {
  color: var(--cdt-blue-primary) !important;
  --color: var(--cdt-blue-primary) !important;
}
body.light-mode ion-searchbar,
html.light-mode ion-searchbar,
body:not(.dark-mode):not(.dark) ion-searchbar {
  --background: var(--cdt-light-bg-card) !important;
  --color: var(--cdt-light-text-primary) !important;
  --placeholder-color: var(--cdt-light-text-muted) !important;
  --icon-color: var(--cdt-blue-primary) !important;
  --border-radius: 16px !important;
  border: 1px solid var(--cdt-light-border) !important;
}
body.light-mode ion-button,
html.light-mode ion-button,
body:not(.dark-mode):not(.dark) ion-button {
  --background: var(--cdt-blue-primary) !important;
  --color: #ffffff !important;
}
body.light-mode ion-button:hover,
html.light-mode ion-button:hover,
body:not(.dark-mode):not(.dark) ion-button:hover {
  --background: var(--cdt-blue-shade) !important;
}
body.light-mode ion-button[fill=outline],
html.light-mode ion-button[fill=outline],
body:not(.dark-mode):not(.dark) ion-button[fill=outline] {
  --background: transparent !important;
  --background-hover: var(--ion-color-primary, #3b82f6) !important;
  --background-activated: var(--ion-color-primary, #3b82f6) !important;
  --border-color: var(--ion-color-primary, #3b82f6) !important;
  --color: var(--ion-color-primary, #3b82f6) !important;
}
body.light-mode ion-button[fill=outline]:hover::part(native), body.light-mode ion-button[fill=outline].ion-activated::part(native),
html.light-mode ion-button[fill=outline]:hover::part(native),
html.light-mode ion-button[fill=outline].ion-activated::part(native),
body:not(.dark-mode):not(.dark) ion-button[fill=outline]:hover::part(native),
body:not(.dark-mode):not(.dark) ion-button[fill=outline].ion-activated::part(native) {
  background: var(--ion-color-primary, #3b82f6) !important;
  color: #ffffff !important;
}
body.light-mode ion-button[fill=outline]:hover .button-inner, body.light-mode ion-button[fill=outline].ion-activated .button-inner,
html.light-mode ion-button[fill=outline]:hover .button-inner,
html.light-mode ion-button[fill=outline].ion-activated .button-inner,
body:not(.dark-mode):not(.dark) ion-button[fill=outline]:hover .button-inner,
body:not(.dark-mode):not(.dark) ion-button[fill=outline].ion-activated .button-inner {
  color: #ffffff !important;
}
body.light-mode ion-button[fill=outline]:hover ion-icon, body.light-mode ion-button[fill=outline].ion-activated ion-icon,
html.light-mode ion-button[fill=outline]:hover ion-icon,
html.light-mode ion-button[fill=outline].ion-activated ion-icon,
body:not(.dark-mode):not(.dark) ion-button[fill=outline]:hover ion-icon,
body:not(.dark-mode):not(.dark) ion-button[fill=outline].ion-activated ion-icon {
  color: #ffffff !important;
}
body.light-mode ion-tab-bar,
html.light-mode ion-tab-bar,
body:not(.dark-mode):not(.dark) ion-tab-bar {
  --background: var(--cdt-light-bg-card) !important;
  background: var(--cdt-light-bg-card) !important;
  border-top: 1px solid var(--cdt-light-border) !important;
}
body.light-mode ion-tab-button,
html.light-mode ion-tab-button,
body:not(.dark-mode):not(.dark) ion-tab-button {
  --color: var(--cdt-light-text-muted) !important;
  --color-selected: var(--cdt-blue-primary) !important;
}
body.light-mode .global-side-rail .sbtn,
body.light-mode .global-side-rail .sbtn ion-icon,
html.light-mode .global-side-rail .sbtn,
html.light-mode .global-side-rail .sbtn ion-icon,
body:not(.dark-mode):not(.dark) .global-side-rail .sbtn,
body:not(.dark-mode):not(.dark) .global-side-rail .sbtn ion-icon {
  color: #ffffff !important;
}

/* ========================================
    DARK MODE - VOLLEDIGE HERDEFINIRING
   ======================================== */
body.dark-mode,
html.dark-mode,
body.dark {
  /* Gebruik CDT dark mode kleuren */
  --ion-background-color: var(--cdt-bg-primary);
  --ion-background-color-rgb: 26, 26, 26;
  --ion-text-color: var(--cdt-text-primary);
  --ion-text-color-rgb: 255, 255, 255;
  --ion-card-background: var(--cdt-bg-card);
  --ion-item-background: var(--cdt-bg-card);
  --ion-toolbar-background: var(--cdt-bg-card);
  --ion-tab-bar-background: var(--cdt-bg-card);
  --ion-border-color: var(--cdt-border);
  --ion-color-primary: var(--cdt-blue-primary);
  --ion-color-primary-rgb: 59, 130, 246;
  /* Background */
  background: var(--cdt-bg-primary) !important;
  color: var(--cdt-text-primary) !important;
  /* Page background */
  /* Input velden */
  /* Labels */
  /* Cards */
  /* Lists */
  /* Headers - donker met witte tekst */
  /* OUTLINE BUTTONS - Dark mode hover fix */
  /* Searchbar */
  /* Tab bar */
}
body.dark-mode ion-content,
html.dark-mode ion-content,
body.dark ion-content {
  --background: var(--cdt-bg-primary) !important;
  background: var(--cdt-bg-primary) !important;
  --color: var(--cdt-text-primary) !important;
}
body.dark-mode ion-input,
body.dark-mode ion-textarea,
body.dark-mode ion-select,
html.dark-mode ion-input,
html.dark-mode ion-textarea,
html.dark-mode ion-select,
body.dark ion-input,
body.dark ion-textarea,
body.dark ion-select {
  --background: var(--cdt-bg-input) !important;
  --color: var(--cdt-text-primary) !important;
  --placeholder-color: var(--cdt-text-muted) !important;
  background: var(--cdt-bg-input) !important;
  color: var(--cdt-text-primary) !important;
  border: 1px solid var(--cdt-border) !important;
  border-radius: 8px !important;
}
body.dark-mode ion-input input,
body.dark-mode ion-textarea textarea,
html.dark-mode ion-input input,
html.dark-mode ion-textarea textarea,
body.dark ion-input input,
body.dark ion-textarea textarea {
  color: var(--cdt-text-primary) !important;
  -webkit-text-fill-color: var(--cdt-text-primary) !important;
}
body.dark-mode ion-label,
html.dark-mode ion-label,
body.dark ion-label {
  color: var(--cdt-text-primary) !important;
}
body.dark-mode ion-label[position=stacked],
body.dark-mode ion-label[position=floating],
html.dark-mode ion-label[position=stacked],
html.dark-mode ion-label[position=floating],
body.dark ion-label[position=stacked],
body.dark ion-label[position=floating] {
  color: var(--cdt-text-secondary) !important;
}
body.dark-mode ion-card:not(.main-display-card):not(.expense-card),
html.dark-mode ion-card:not(.main-display-card):not(.expense-card),
body.dark ion-card:not(.main-display-card):not(.expense-card) {
  --background: var(--cdt-bg-card) !important;
  background: var(--cdt-bg-card) !important;
  border: 1px solid var(--cdt-border) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}
body.dark-mode ion-card-header,
body.dark-mode ion-card-content,
html.dark-mode ion-card-header,
html.dark-mode ion-card-content,
body.dark ion-card-header,
body.dark ion-card-content {
  background: var(--cdt-bg-card) !important;
  --background: var(--cdt-bg-card) !important;
}
body.dark-mode ion-card-title,
html.dark-mode ion-card-title,
body.dark ion-card-title {
  color: var(--cdt-text-primary) !important;
}
body.dark-mode ion-card-subtitle,
html.dark-mode ion-card-subtitle,
body.dark ion-card-subtitle {
  color: var(--cdt-text-secondary) !important;
}
body.dark-mode ion-list,
html.dark-mode ion-list,
body.dark ion-list {
  background: var(--cdt-bg-card) !important;
}
body.dark-mode ion-item,
html.dark-mode ion-item,
body.dark ion-item {
  --background: var(--cdt-bg-card) !important;
  --color: var(--cdt-text-primary) !important;
  --border-color: var(--cdt-border) !important;
}
body.dark-mode ion-header ion-toolbar,
html.dark-mode ion-header ion-toolbar,
body.dark ion-header ion-toolbar {
  --background: var(--cdt-bg-card) !important;
  --color: var(--cdt-text-primary) !important;
  background: var(--cdt-bg-card) !important;
  border-bottom: 1px solid var(--cdt-border) !important;
}
body.dark-mode ion-header ion-toolbar ion-title,
html.dark-mode ion-header ion-toolbar ion-title,
body.dark ion-header ion-toolbar ion-title {
  color: var(--cdt-text-primary) !important;
}
body.dark-mode ion-header ion-toolbar ion-button,
body.dark-mode ion-header ion-toolbar ion-icon,
body.dark-mode ion-header ion-toolbar ion-back-button,
html.dark-mode ion-header ion-toolbar ion-button,
html.dark-mode ion-header ion-toolbar ion-icon,
html.dark-mode ion-header ion-toolbar ion-back-button,
body.dark ion-header ion-toolbar ion-button,
body.dark ion-header ion-toolbar ion-icon,
body.dark ion-header ion-toolbar ion-back-button {
  color: var(--cdt-text-primary) !important;
  --color: var(--cdt-text-primary) !important;
}
body.dark-mode ion-button[fill=outline],
html.dark-mode ion-button[fill=outline],
body.dark ion-button[fill=outline] {
  --background: transparent !important;
  --background-hover: var(--ion-color-primary, #3b82f6) !important;
  --background-activated: var(--ion-color-primary, #3b82f6) !important;
  --border-color: var(--ion-color-primary, #3b82f6) !important;
  --color: var(--ion-color-primary, #3b82f6) !important;
}
body.dark-mode ion-button[fill=outline]:hover::part(native), body.dark-mode ion-button[fill=outline].ion-activated::part(native),
html.dark-mode ion-button[fill=outline]:hover::part(native),
html.dark-mode ion-button[fill=outline].ion-activated::part(native),
body.dark ion-button[fill=outline]:hover::part(native),
body.dark ion-button[fill=outline].ion-activated::part(native) {
  background: var(--ion-color-primary, #3b82f6) !important;
  color: #ffffff !important;
}
body.dark-mode ion-button[fill=outline]:hover .button-inner, body.dark-mode ion-button[fill=outline].ion-activated .button-inner,
html.dark-mode ion-button[fill=outline]:hover .button-inner,
html.dark-mode ion-button[fill=outline].ion-activated .button-inner,
body.dark ion-button[fill=outline]:hover .button-inner,
body.dark ion-button[fill=outline].ion-activated .button-inner {
  color: #ffffff !important;
}
body.dark-mode ion-button[fill=outline]:hover ion-icon, body.dark-mode ion-button[fill=outline].ion-activated ion-icon,
html.dark-mode ion-button[fill=outline]:hover ion-icon,
html.dark-mode ion-button[fill=outline].ion-activated ion-icon,
body.dark ion-button[fill=outline]:hover ion-icon,
body.dark ion-button[fill=outline].ion-activated ion-icon {
  color: #ffffff !important;
}
body.dark-mode ion-searchbar,
html.dark-mode ion-searchbar,
body.dark ion-searchbar {
  --background: var(--searchbar-bg, var(--surface)) !important;
  --color: var(--text) !important;
  --placeholder-color: var(--text-secondary, rgba(0, 0, 0, 0.4)) !important;
  --icon-color: #3b82f6 !important;
  --border-radius: 24px !important;
  border: 1px solid var(--border) !important;
  border-radius: 24px !important;
}
body.dark-mode ion-tab-bar,
html.dark-mode ion-tab-bar,
body.dark ion-tab-bar {
  --background: var(--cdt-bg-card) !important;
  background: var(--cdt-bg-card) !important;
  border-top: 1px solid var(--cdt-border) !important;
}
body.dark-mode ion-tab-button,
html.dark-mode ion-tab-button,
body.dark ion-tab-button {
  --color: var(--cdt-text-muted) !important;
  --color-selected: var(--cdt-blue-primary) !important;
}

/* ========================================
   LIGHT MODE MODAL SPECIFIEKE STYLING
   ======================================== */
body.light-mode,
html.light-mode,
body:not(.dark-mode):not(.dark) {
  /* Content achtergrond */
  /* Tekst kleuren */
}
body.light-mode ion-content,
html.light-mode ion-content,
body:not(.dark-mode):not(.dark) ion-content {
  --background: #ffffff !important;
  background: #ffffff !important;
}
body.light-mode h1,
body.light-mode h2,
html.light-mode h1,
html.light-mode h2,
body:not(.dark-mode):not(.dark) h1,
body:not(.dark-mode):not(.dark) h2 {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode h3,
body.light-mode h4,
body.light-mode h5,
body.light-mode h6,
html.light-mode h3,
html.light-mode h4,
html.light-mode h5,
html.light-mode h6,
body:not(.dark-mode):not(.dark) h3,
body:not(.dark-mode):not(.dark) h4,
body:not(.dark-mode):not(.dark) h5,
body:not(.dark-mode):not(.dark) h6 {
  color: #1f2937 !important;
}
body.light-mode p,
html.light-mode p,
body:not(.dark-mode):not(.dark) p {
  color: #4b5563 !important;
}
body.light-mode span:not(.badge):not([class*=color-]),
html.light-mode span:not(.badge):not([class*=color-]),
body:not(.dark-mode):not(.dark) span:not(.badge):not([class*=color-]) {
  color: inherit !important;
}

/* Tesla Theme - Dark Mode */
body.dark-mode,
body.dark,
html.dark-mode,
html.dark {
  --tesla-black: #1a1a1a;
  --tesla-dark-gray: #1a1a1a;
  --tesla-medium-gray: #1a1a1a;
  --tesla-light-gray: #303030;
  --tesla-card-bg: transparent;
  --tesla-header-bg: #3b82f6;
  --tesla-header-gradient: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  --tesla-blue: #3b82f6;
  --tesla-blue-hover: #2563eb;
  --tesla-blue-light: rgba(59, 130, 246, 0.12);
  --tesla-gradient: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  --ion-color-primary: #3b82f6;
  --ion-color-primary-rgb: 59, 130, 246;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #2563eb;
  --ion-color-primary-tint: #60a5fa;
  --tesla-success-gradient: var(--tesla-success-gradient);
  --tesla-danger-gradient: var(--tesla-danger-gradient);
  --tesla-white: #ffffff;
  --tesla-text-primary: #f5f5f5;
  --tesla-text-secondary: #a1a1aa;
  --tesla-text-muted: #71717a;
  --tesla-border: rgba(255, 255, 255, 0.06);
  --tesla-border-strong: rgba(255, 255, 255, 0.1);
  /* Dark mode backgrounds - complete Ionic palette */
  --ion-background-color: #1a1a1a;
  --ion-background-color-rgb: 26, 26, 26;
  --ion-text-color: #f5f5f5;
  --ion-text-color-rgb: 245, 245, 245;
  /* Menu backdrop WEL zichtbaar houden voor ion-menu */
  /* Andere backdrops verbergen - maar NIET ion-menu backdrop */
  /* Ionic color palette for dark mode */
  --ion-color-primary: #3b82f6;
  --ion-color-primary-rgb: 56, 128, 255;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #2563eb;
  --ion-color-primary-tint: #60a5fa;
  --ion-color-secondary: #3dc2ff;
  --ion-color-secondary-rgb: 61, 194, 255;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #36abe0;
  --ion-color-secondary-tint: #50c8ff;
  --ion-color-tertiary: #3b82f6;
  --ion-color-tertiary-rgb: 59, 130, 246;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #2563eb;
  --ion-color-tertiary-tint: #60a5fa;
  --ion-color-success: #2dd36f;
  --ion-color-success-rgb: 45, 211, 111;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb: 255, 255, 255;
  --ion-color-success-shade: #28ba62;
  --ion-color-success-tint: #42d77d;
  --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;
  --ion-color-danger: #eb445a;
  --ion-color-danger-rgb: 235, 68, 90;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #cf3c4f;
  --ion-color-danger-tint: #ed576b;
  --ion-color-light: #1a1a1a;
  --ion-color-light-rgb: 42, 42, 42;
  --ion-color-light-contrast: #ffffff;
  --ion-color-light-contrast-rgb: 255, 255, 255;
  --ion-color-light-shade: #1a1a1a;
  --ion-color-light-tint: #3f3f3f;
  --ion-color-medium: #5c5c5c;
  --ion-color-medium-rgb: 92, 92, 92;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #515151;
  --ion-color-medium-tint: #6c6c6c;
  --ion-color-dark: #f4f4f4;
  --ion-color-dark-rgb: 244, 244, 244;
  --ion-color-dark-contrast: #000000;
  --ion-color-dark-contrast-rgb: 0, 0, 0;
  --ion-color-dark-shade: #d7d7d7;
  --ion-color-dark-tint: #f5f5f5;
  /* Ionic card/item backgrounds for dark mode */
  --ion-card-background: #222222;
  --ion-item-background: #1a1a1a;
  --ion-toolbar-background: #1a1a1a;
  --ion-tab-bar-background: #1a1a1a;
  /* Border colors for dark mode */
  --ion-border-color: #1a1a1a;
  /* FORCE DARK BACKGROUNDS GLOBALLY */
  /* Loading spinner achtergrond */
  /* Tesla theme colors for dark mode */
  --tesla-success: #34d399;
  --tesla-success-light: rgba(52, 211, 153, 0.12);
  --tesla-warning: #fbbf24;
  --tesla-warning-light: rgba(251, 191, 36, 0.12);
  --tesla-danger: #f87171;
  --tesla-danger-light: rgba(248, 113, 113, 0.12);
  --tesla-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --tesla-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
  --tesla-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
  /* Semantic Status Colors - Dark Mode */
  --status-success: #34d399;
  --status-success-light: #064e3b;
  --status-success-dark: #6ee7b7;
  --status-warning: #fbbf24;
  --status-warning-light: #78350f;
  --status-warning-dark: #fde047;
  --status-danger: #f87171;
  --status-danger-light: #7f1d1d;
  --status-danger-dark: #fca5a5;
  --status-info: #60a5fa;
  --status-info-light: #1e3a8a;
  --status-info-dark: #93c5fd;
  /* Category Badge Colors - Dark Mode */
  --category-maintenance: #1e3a8a;
  --category-maintenance-text: #93c5fd;
  --category-fuel: #1e3a8a;
  --category-fuel-text: #93c5fd;
  --category-insurance: #1e3a8a;
  --category-insurance-text: #93c5fd;
  --category-accommodation: #1e3a8a;
  --category-accommodation-text: #93c5fd;
  --category-travel: #1e3a8a;
  --category-travel-text: #93c5fd;
  --category-medical: #1e3a8a;
  --category-medical-text: #93c5fd;
  --category-office: #1e3a8a;
  --category-office-text: #93c5fd;
  /* Utility Colors - Dark Mode */
  --color-orange: #fb923c;
  --color-orange-light: #431407;
  --color-orange-dark: #fed7aa;
  --color-gray-100: #1a1a1a;
  --color-gray-200: #1a1a1a;
  --color-gray-300: #3f3f3f;
  --color-gray-400: #525252;
  --color-gray-500: #737373;
  --color-gray-600: #a3a3a3;
  --color-gray-700: #d4d4d4;
  --color-gray-800: #e5e5e5;
  --color-gray-900: #f5f5f5;
  /* Tab/Module Accent Colors - Dark Mode */
  --accent-purple: #3b82f6;
  --accent-purple-dark: #2563eb;
  --accent-purple-light: #60a5fa;
  --accent-pink: #f9a8d4;
  --accent-pink-dark: #ec4899;
  --accent-amber: #fbbf24;
  --accent-amber-dark: #f59e0b;
  --accent-teal: #2dd4bf;
  --accent-cyan: #22d3ee;
  --accent-indigo: #60a5fa;
  --accent-lime: #a3e635;
  /* WhatsApp Theme - Dark Mode */
  --whatsapp-green: #00a884;
  --whatsapp-green-dark: #00a884;
  --whatsapp-gray: #8696a0;
  --whatsapp-gray-dark: #54656f;
  --whatsapp-bubble: #005c4b;
  --whatsapp-bg: #1a1a1a;
  /* Google/Material - Dark Mode */
  --google-blue: #4285f4;
  --google-blue-hover: #5a95f5;
  --google-red: #ea4335;
  --google-red-hover: #f65c50;
  --google-green: #34a853;
  --google-green-dark: #2e7d32;
  --google-gray: #9aa0a6;
  /* Ionic Colors - Dark Mode */
  --ionic-green: #34d399;
  --ionic-red: #f87171;
  --ionic-yellow: #fbbf24;
  --ionic-light-gray: #3f3f3f;
  /* Specifieke UI Elements - Dark Mode */
  --input-border: #3f3f3f;
  --input-border-focus: var(--tesla-blue);
  --divider-light: #1a1a1a;
  --divider-medium: #3f3f3f;
  --background-subtle: #1a1a1a;
  --background-hover: #1a1a1a;
  --text-subtle: #a1a1aa;
  --text-disabled: #52525b;
  --text-link: #60a5fa;
  --text-link-hover: #93c5fd;
  /* Ion datetime button - white text in dark mode */
}
body.dark-mode ion-app,
body.dark ion-app,
html.dark-mode ion-app,
html.dark ion-app {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
}
body.dark-mode ion-content,
body.dark ion-content,
html.dark-mode ion-content,
html.dark ion-content {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
}
body.dark-mode ion-popover,
body.dark-mode ion-loading,
body.dark-mode ion-toast,
body.dark ion-popover,
body.dark ion-loading,
body.dark ion-toast,
html.dark-mode ion-popover,
html.dark-mode ion-loading,
html.dark-mode ion-toast,
html.dark ion-popover,
html.dark ion-loading,
html.dark ion-toast {
  --background: #1a1a1a !important;
  --ion-background-color: #1a1a1a !important;
}
body.dark-mode .loading-wrapper,
body.dark .loading-wrapper,
html.dark-mode .loading-wrapper,
html.dark .loading-wrapper {
  background: #1a1a1a !important;
}
body.dark-mode ion-datetime-button,
body.dark ion-datetime-button,
html.dark-mode ion-datetime-button,
html.dark ion-datetime-button {
  --ion-text-color: white;
  color: white;
}
body.dark-mode ion-datetime-button::part(native),
body.dark ion-datetime-button::part(native),
html.dark-mode ion-datetime-button::part(native),
html.dark ion-datetime-button::part(native) {
  color: white !important;
}

/* ========================================
   GLOBAL DARK MODE ENFORCEMENT
   Apply dark mode to ALL Ionic components
   EXACT SAME COLORS AS TAB11
   ======================================== */
body.dark-mode,
body.dark,
html.dark-mode,
html.dark {
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode ion-datetime-button,
body.dark ion-datetime-button,
html.dark-mode ion-datetime-button,
html.dark ion-datetime-button {
  --ion-text-color: white !important;
  color: white !important;
}
body.dark-mode ion-datetime-button::part(native),
body.dark ion-datetime-button::part(native),
html.dark-mode ion-datetime-button::part(native),
html.dark ion-datetime-button::part(native) {
  color: white !important;
  background: #1a1a1a;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
body.dark-mode *,
body.dark *,
html.dark-mode *,
html.dark * {
  scrollbar-color: #303030 #1a1a1a;
}
body.dark-mode .page-container,
body.dark-mode .main-content,
body.dark-mode .content-wrapper:not(.minimal),
body.dark-mode .dashboard-container,
body.dark-mode .settings-container,
body.dark-mode ion-page,
body.dark .page-container,
body.dark .main-content,
body.dark .content-wrapper:not(.minimal),
body.dark .dashboard-container,
body.dark .settings-container,
body.dark ion-page,
html.dark-mode .page-container,
html.dark-mode .main-content,
html.dark-mode .content-wrapper:not(.minimal),
html.dark-mode .dashboard-container,
html.dark-mode .settings-container,
html.dark-mode ion-page,
html.dark .page-container,
html.dark .main-content,
html.dark .content-wrapper:not(.minimal),
html.dark .dashboard-container,
html.dark .settings-container,
html.dark ion-page {
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode ion-content,
body.dark ion-content,
html.dark-mode ion-content,
html.dark ion-content {
  --background: #1a1a1a !important;
  --color: #f5f5f5 !important;
  background: #1a1a1a !important;
}
body.dark-mode ion-card:not(.main-display-card):not(.expense-card),
body.dark-mode .card,
body.dark-mode .tesla-card,
body.dark-mode .settings-card,
body.dark-mode .info-card,
body.dark-mode .stat-card,
body.dark-mode .status-card,
body.dark-mode .status-section-card,
body.dark-mode .pending-shifts-card,
body.dark-mode .warnings-card,
body.dark-mode .location-card,
body.dark-mode .week-overview-card,
body.dark-mode .timeline-card,
body.dark-mode .history-card,
body.dark-mode .year-totaal-card,
body.dark-mode .legal-info-card,
body.dark-mode .verification-warning-card,
body.dark ion-card:not(.main-display-card):not(.expense-card),
body.dark .card,
body.dark .tesla-card,
body.dark .settings-card,
body.dark .info-card,
body.dark .stat-card,
body.dark .status-card,
body.dark .status-section-card,
body.dark .pending-shifts-card,
body.dark .warnings-card,
body.dark .location-card,
body.dark .week-overview-card,
body.dark .timeline-card,
body.dark .history-card,
body.dark .year-totaal-card,
body.dark .legal-info-card,
body.dark .verification-warning-card,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card),
html.dark-mode .card,
html.dark-mode .tesla-card,
html.dark-mode .settings-card,
html.dark-mode .info-card,
html.dark-mode .stat-card,
html.dark-mode .status-card,
html.dark-mode .status-section-card,
html.dark-mode .pending-shifts-card,
html.dark-mode .warnings-card,
html.dark-mode .location-card,
html.dark-mode .week-overview-card,
html.dark-mode .timeline-card,
html.dark-mode .history-card,
html.dark-mode .year-totaal-card,
html.dark-mode .legal-info-card,
html.dark-mode .verification-warning-card,
html.dark ion-card:not(.main-display-card):not(.expense-card),
html.dark .card,
html.dark .tesla-card,
html.dark .settings-card,
html.dark .info-card,
html.dark .stat-card,
html.dark .status-card,
html.dark .status-section-card,
html.dark .pending-shifts-card,
html.dark .warnings-card,
html.dark .location-card,
html.dark .week-overview-card,
html.dark .timeline-card,
html.dark .history-card,
html.dark .year-totaal-card,
html.dark .legal-info-card,
html.dark .verification-warning-card {
  --background: #1a1a1a !important;
  --color: #f5f5f5 !important;
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-header,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-header,
body.dark-mode .card ion-card-header,
body.dark-mode .card .card-header,
body.dark-mode .tesla-card ion-card-header,
body.dark-mode .tesla-card .card-header,
body.dark-mode .settings-card ion-card-header,
body.dark-mode .settings-card .card-header,
body.dark-mode .info-card ion-card-header,
body.dark-mode .info-card .card-header,
body.dark-mode .stat-card ion-card-header,
body.dark-mode .stat-card .card-header,
body.dark-mode .status-card ion-card-header,
body.dark-mode .status-card .card-header,
body.dark-mode .status-section-card ion-card-header,
body.dark-mode .status-section-card .card-header,
body.dark-mode .pending-shifts-card ion-card-header,
body.dark-mode .pending-shifts-card .card-header,
body.dark-mode .warnings-card ion-card-header,
body.dark-mode .warnings-card .card-header,
body.dark-mode .location-card ion-card-header,
body.dark-mode .location-card .card-header,
body.dark-mode .week-overview-card ion-card-header,
body.dark-mode .week-overview-card .card-header,
body.dark-mode .timeline-card ion-card-header,
body.dark-mode .timeline-card .card-header,
body.dark-mode .history-card ion-card-header,
body.dark-mode .history-card .card-header,
body.dark-mode .year-totaal-card ion-card-header,
body.dark-mode .year-totaal-card .card-header,
body.dark-mode .legal-info-card ion-card-header,
body.dark-mode .legal-info-card .card-header,
body.dark-mode .verification-warning-card ion-card-header,
body.dark-mode .verification-warning-card .card-header,
body.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-header,
body.dark ion-card:not(.main-display-card):not(.expense-card) .card-header,
body.dark .card ion-card-header,
body.dark .card .card-header,
body.dark .tesla-card ion-card-header,
body.dark .tesla-card .card-header,
body.dark .settings-card ion-card-header,
body.dark .settings-card .card-header,
body.dark .info-card ion-card-header,
body.dark .info-card .card-header,
body.dark .stat-card ion-card-header,
body.dark .stat-card .card-header,
body.dark .status-card ion-card-header,
body.dark .status-card .card-header,
body.dark .status-section-card ion-card-header,
body.dark .status-section-card .card-header,
body.dark .pending-shifts-card ion-card-header,
body.dark .pending-shifts-card .card-header,
body.dark .warnings-card ion-card-header,
body.dark .warnings-card .card-header,
body.dark .location-card ion-card-header,
body.dark .location-card .card-header,
body.dark .week-overview-card ion-card-header,
body.dark .week-overview-card .card-header,
body.dark .timeline-card ion-card-header,
body.dark .timeline-card .card-header,
body.dark .history-card ion-card-header,
body.dark .history-card .card-header,
body.dark .year-totaal-card ion-card-header,
body.dark .year-totaal-card .card-header,
body.dark .legal-info-card ion-card-header,
body.dark .legal-info-card .card-header,
body.dark .verification-warning-card ion-card-header,
body.dark .verification-warning-card .card-header,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-header,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-header,
html.dark-mode .card ion-card-header,
html.dark-mode .card .card-header,
html.dark-mode .tesla-card ion-card-header,
html.dark-mode .tesla-card .card-header,
html.dark-mode .settings-card ion-card-header,
html.dark-mode .settings-card .card-header,
html.dark-mode .info-card ion-card-header,
html.dark-mode .info-card .card-header,
html.dark-mode .stat-card ion-card-header,
html.dark-mode .stat-card .card-header,
html.dark-mode .status-card ion-card-header,
html.dark-mode .status-card .card-header,
html.dark-mode .status-section-card ion-card-header,
html.dark-mode .status-section-card .card-header,
html.dark-mode .pending-shifts-card ion-card-header,
html.dark-mode .pending-shifts-card .card-header,
html.dark-mode .warnings-card ion-card-header,
html.dark-mode .warnings-card .card-header,
html.dark-mode .location-card ion-card-header,
html.dark-mode .location-card .card-header,
html.dark-mode .week-overview-card ion-card-header,
html.dark-mode .week-overview-card .card-header,
html.dark-mode .timeline-card ion-card-header,
html.dark-mode .timeline-card .card-header,
html.dark-mode .history-card ion-card-header,
html.dark-mode .history-card .card-header,
html.dark-mode .year-totaal-card ion-card-header,
html.dark-mode .year-totaal-card .card-header,
html.dark-mode .legal-info-card ion-card-header,
html.dark-mode .legal-info-card .card-header,
html.dark-mode .verification-warning-card ion-card-header,
html.dark-mode .verification-warning-card .card-header,
html.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-header,
html.dark ion-card:not(.main-display-card):not(.expense-card) .card-header,
html.dark .card ion-card-header,
html.dark .card .card-header,
html.dark .tesla-card ion-card-header,
html.dark .tesla-card .card-header,
html.dark .settings-card ion-card-header,
html.dark .settings-card .card-header,
html.dark .info-card ion-card-header,
html.dark .info-card .card-header,
html.dark .stat-card ion-card-header,
html.dark .stat-card .card-header,
html.dark .status-card ion-card-header,
html.dark .status-card .card-header,
html.dark .status-section-card ion-card-header,
html.dark .status-section-card .card-header,
html.dark .pending-shifts-card ion-card-header,
html.dark .pending-shifts-card .card-header,
html.dark .warnings-card ion-card-header,
html.dark .warnings-card .card-header,
html.dark .location-card ion-card-header,
html.dark .location-card .card-header,
html.dark .week-overview-card ion-card-header,
html.dark .week-overview-card .card-header,
html.dark .timeline-card ion-card-header,
html.dark .timeline-card .card-header,
html.dark .history-card ion-card-header,
html.dark .history-card .card-header,
html.dark .year-totaal-card ion-card-header,
html.dark .year-totaal-card .card-header,
html.dark .legal-info-card ion-card-header,
html.dark .legal-info-card .card-header,
html.dark .verification-warning-card ion-card-header,
html.dark .verification-warning-card .card-header {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-content,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-content,
body.dark-mode .card ion-card-content,
body.dark-mode .card .card-content,
body.dark-mode .tesla-card ion-card-content,
body.dark-mode .tesla-card .card-content,
body.dark-mode .settings-card ion-card-content,
body.dark-mode .settings-card .card-content,
body.dark-mode .info-card ion-card-content,
body.dark-mode .info-card .card-content,
body.dark-mode .stat-card ion-card-content,
body.dark-mode .stat-card .card-content,
body.dark-mode .status-card ion-card-content,
body.dark-mode .status-card .card-content,
body.dark-mode .status-section-card ion-card-content,
body.dark-mode .status-section-card .card-content,
body.dark-mode .pending-shifts-card ion-card-content,
body.dark-mode .pending-shifts-card .card-content,
body.dark-mode .warnings-card ion-card-content,
body.dark-mode .warnings-card .card-content,
body.dark-mode .location-card ion-card-content,
body.dark-mode .location-card .card-content,
body.dark-mode .week-overview-card ion-card-content,
body.dark-mode .week-overview-card .card-content,
body.dark-mode .timeline-card ion-card-content,
body.dark-mode .timeline-card .card-content,
body.dark-mode .history-card ion-card-content,
body.dark-mode .history-card .card-content,
body.dark-mode .year-totaal-card ion-card-content,
body.dark-mode .year-totaal-card .card-content,
body.dark-mode .legal-info-card ion-card-content,
body.dark-mode .legal-info-card .card-content,
body.dark-mode .verification-warning-card ion-card-content,
body.dark-mode .verification-warning-card .card-content,
body.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-content,
body.dark ion-card:not(.main-display-card):not(.expense-card) .card-content,
body.dark .card ion-card-content,
body.dark .card .card-content,
body.dark .tesla-card ion-card-content,
body.dark .tesla-card .card-content,
body.dark .settings-card ion-card-content,
body.dark .settings-card .card-content,
body.dark .info-card ion-card-content,
body.dark .info-card .card-content,
body.dark .stat-card ion-card-content,
body.dark .stat-card .card-content,
body.dark .status-card ion-card-content,
body.dark .status-card .card-content,
body.dark .status-section-card ion-card-content,
body.dark .status-section-card .card-content,
body.dark .pending-shifts-card ion-card-content,
body.dark .pending-shifts-card .card-content,
body.dark .warnings-card ion-card-content,
body.dark .warnings-card .card-content,
body.dark .location-card ion-card-content,
body.dark .location-card .card-content,
body.dark .week-overview-card ion-card-content,
body.dark .week-overview-card .card-content,
body.dark .timeline-card ion-card-content,
body.dark .timeline-card .card-content,
body.dark .history-card ion-card-content,
body.dark .history-card .card-content,
body.dark .year-totaal-card ion-card-content,
body.dark .year-totaal-card .card-content,
body.dark .legal-info-card ion-card-content,
body.dark .legal-info-card .card-content,
body.dark .verification-warning-card ion-card-content,
body.dark .verification-warning-card .card-content,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-content,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-content,
html.dark-mode .card ion-card-content,
html.dark-mode .card .card-content,
html.dark-mode .tesla-card ion-card-content,
html.dark-mode .tesla-card .card-content,
html.dark-mode .settings-card ion-card-content,
html.dark-mode .settings-card .card-content,
html.dark-mode .info-card ion-card-content,
html.dark-mode .info-card .card-content,
html.dark-mode .stat-card ion-card-content,
html.dark-mode .stat-card .card-content,
html.dark-mode .status-card ion-card-content,
html.dark-mode .status-card .card-content,
html.dark-mode .status-section-card ion-card-content,
html.dark-mode .status-section-card .card-content,
html.dark-mode .pending-shifts-card ion-card-content,
html.dark-mode .pending-shifts-card .card-content,
html.dark-mode .warnings-card ion-card-content,
html.dark-mode .warnings-card .card-content,
html.dark-mode .location-card ion-card-content,
html.dark-mode .location-card .card-content,
html.dark-mode .week-overview-card ion-card-content,
html.dark-mode .week-overview-card .card-content,
html.dark-mode .timeline-card ion-card-content,
html.dark-mode .timeline-card .card-content,
html.dark-mode .history-card ion-card-content,
html.dark-mode .history-card .card-content,
html.dark-mode .year-totaal-card ion-card-content,
html.dark-mode .year-totaal-card .card-content,
html.dark-mode .legal-info-card ion-card-content,
html.dark-mode .legal-info-card .card-content,
html.dark-mode .verification-warning-card ion-card-content,
html.dark-mode .verification-warning-card .card-content,
html.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-content,
html.dark ion-card:not(.main-display-card):not(.expense-card) .card-content,
html.dark .card ion-card-content,
html.dark .card .card-content,
html.dark .tesla-card ion-card-content,
html.dark .tesla-card .card-content,
html.dark .settings-card ion-card-content,
html.dark .settings-card .card-content,
html.dark .info-card ion-card-content,
html.dark .info-card .card-content,
html.dark .stat-card ion-card-content,
html.dark .stat-card .card-content,
html.dark .status-card ion-card-content,
html.dark .status-card .card-content,
html.dark .status-section-card ion-card-content,
html.dark .status-section-card .card-content,
html.dark .pending-shifts-card ion-card-content,
html.dark .pending-shifts-card .card-content,
html.dark .warnings-card ion-card-content,
html.dark .warnings-card .card-content,
html.dark .location-card ion-card-content,
html.dark .location-card .card-content,
html.dark .week-overview-card ion-card-content,
html.dark .week-overview-card .card-content,
html.dark .timeline-card ion-card-content,
html.dark .timeline-card .card-content,
html.dark .history-card ion-card-content,
html.dark .history-card .card-content,
html.dark .year-totaal-card ion-card-content,
html.dark .year-totaal-card .card-content,
html.dark .legal-info-card ion-card-content,
html.dark .legal-info-card .card-content,
html.dark .verification-warning-card ion-card-content,
html.dark .verification-warning-card .card-content {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-title,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-title,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) h1,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) h2,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) h3,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) h4,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) h5,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) h6,
body.dark-mode .card ion-card-title,
body.dark-mode .card .card-title,
body.dark-mode .card h1,
body.dark-mode .card h2,
body.dark-mode .card h3,
body.dark-mode .card h4,
body.dark-mode .card h5,
body.dark-mode .card h6,
body.dark-mode .tesla-card ion-card-title,
body.dark-mode .tesla-card .card-title,
body.dark-mode .tesla-card h1,
body.dark-mode .tesla-card h2,
body.dark-mode .tesla-card h3,
body.dark-mode .tesla-card h4,
body.dark-mode .tesla-card h5,
body.dark-mode .tesla-card h6,
body.dark-mode .settings-card ion-card-title,
body.dark-mode .settings-card .card-title,
body.dark-mode .settings-card h1,
body.dark-mode .settings-card h2,
body.dark-mode .settings-card h3,
body.dark-mode .settings-card h4,
body.dark-mode .settings-card h5,
body.dark-mode .settings-card h6,
body.dark-mode .info-card ion-card-title,
body.dark-mode .info-card .card-title,
body.dark-mode .info-card h1,
body.dark-mode .info-card h2,
body.dark-mode .info-card h3,
body.dark-mode .info-card h4,
body.dark-mode .info-card h5,
body.dark-mode .info-card h6,
body.dark-mode .stat-card ion-card-title,
body.dark-mode .stat-card .card-title,
body.dark-mode .stat-card h1,
body.dark-mode .stat-card h2,
body.dark-mode .stat-card h3,
body.dark-mode .stat-card h4,
body.dark-mode .stat-card h5,
body.dark-mode .stat-card h6,
body.dark-mode .status-card ion-card-title,
body.dark-mode .status-card .card-title,
body.dark-mode .status-card h1,
body.dark-mode .status-card h2,
body.dark-mode .status-card h3,
body.dark-mode .status-card h4,
body.dark-mode .status-card h5,
body.dark-mode .status-card h6,
body.dark-mode .status-section-card ion-card-title,
body.dark-mode .status-section-card .card-title,
body.dark-mode .status-section-card h1,
body.dark-mode .status-section-card h2,
body.dark-mode .status-section-card h3,
body.dark-mode .status-section-card h4,
body.dark-mode .status-section-card h5,
body.dark-mode .status-section-card h6,
body.dark-mode .pending-shifts-card ion-card-title,
body.dark-mode .pending-shifts-card .card-title,
body.dark-mode .pending-shifts-card h1,
body.dark-mode .pending-shifts-card h2,
body.dark-mode .pending-shifts-card h3,
body.dark-mode .pending-shifts-card h4,
body.dark-mode .pending-shifts-card h5,
body.dark-mode .pending-shifts-card h6,
body.dark-mode .warnings-card ion-card-title,
body.dark-mode .warnings-card .card-title,
body.dark-mode .warnings-card h1,
body.dark-mode .warnings-card h2,
body.dark-mode .warnings-card h3,
body.dark-mode .warnings-card h4,
body.dark-mode .warnings-card h5,
body.dark-mode .warnings-card h6,
body.dark-mode .location-card ion-card-title,
body.dark-mode .location-card .card-title,
body.dark-mode .location-card h1,
body.dark-mode .location-card h2,
body.dark-mode .location-card h3,
body.dark-mode .location-card h4,
body.dark-mode .location-card h5,
body.dark-mode .location-card h6,
body.dark-mode .week-overview-card ion-card-title,
body.dark-mode .week-overview-card .card-title,
body.dark-mode .week-overview-card h1,
body.dark-mode .week-overview-card h2,
body.dark-mode .week-overview-card h3,
body.dark-mode .week-overview-card h4,
body.dark-mode .week-overview-card h5,
body.dark-mode .week-overview-card h6,
body.dark-mode .timeline-card ion-card-title,
body.dark-mode .timeline-card .card-title,
body.dark-mode .timeline-card h1,
body.dark-mode .timeline-card h2,
body.dark-mode .timeline-card h3,
body.dark-mode .timeline-card h4,
body.dark-mode .timeline-card h5,
body.dark-mode .timeline-card h6,
body.dark-mode .history-card ion-card-title,
body.dark-mode .history-card .card-title,
body.dark-mode .history-card h1,
body.dark-mode .history-card h2,
body.dark-mode .history-card h3,
body.dark-mode .history-card h4,
body.dark-mode .history-card h5,
body.dark-mode .history-card h6,
body.dark-mode .year-totaal-card ion-card-title,
body.dark-mode .year-totaal-card .card-title,
body.dark-mode .year-totaal-card h1,
body.dark-mode .year-totaal-card h2,
body.dark-mode .year-totaal-card h3,
body.dark-mode .year-totaal-card h4,
body.dark-mode .year-totaal-card h5,
body.dark-mode .year-totaal-card h6,
body.dark-mode .legal-info-card ion-card-title,
body.dark-mode .legal-info-card .card-title,
body.dark-mode .legal-info-card h1,
body.dark-mode .legal-info-card h2,
body.dark-mode .legal-info-card h3,
body.dark-mode .legal-info-card h4,
body.dark-mode .legal-info-card h5,
body.dark-mode .legal-info-card h6,
body.dark-mode .verification-warning-card ion-card-title,
body.dark-mode .verification-warning-card .card-title,
body.dark-mode .verification-warning-card h1,
body.dark-mode .verification-warning-card h2,
body.dark-mode .verification-warning-card h3,
body.dark-mode .verification-warning-card h4,
body.dark-mode .verification-warning-card h5,
body.dark-mode .verification-warning-card h6,
body.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-title,
body.dark ion-card:not(.main-display-card):not(.expense-card) .card-title,
body.dark ion-card:not(.main-display-card):not(.expense-card) h1,
body.dark ion-card:not(.main-display-card):not(.expense-card) h2,
body.dark ion-card:not(.main-display-card):not(.expense-card) h3,
body.dark ion-card:not(.main-display-card):not(.expense-card) h4,
body.dark ion-card:not(.main-display-card):not(.expense-card) h5,
body.dark ion-card:not(.main-display-card):not(.expense-card) h6,
body.dark .card ion-card-title,
body.dark .card .card-title,
body.dark .card h1,
body.dark .card h2,
body.dark .card h3,
body.dark .card h4,
body.dark .card h5,
body.dark .card h6,
body.dark .tesla-card ion-card-title,
body.dark .tesla-card .card-title,
body.dark .tesla-card h1,
body.dark .tesla-card h2,
body.dark .tesla-card h3,
body.dark .tesla-card h4,
body.dark .tesla-card h5,
body.dark .tesla-card h6,
body.dark .settings-card ion-card-title,
body.dark .settings-card .card-title,
body.dark .settings-card h1,
body.dark .settings-card h2,
body.dark .settings-card h3,
body.dark .settings-card h4,
body.dark .settings-card h5,
body.dark .settings-card h6,
body.dark .info-card ion-card-title,
body.dark .info-card .card-title,
body.dark .info-card h1,
body.dark .info-card h2,
body.dark .info-card h3,
body.dark .info-card h4,
body.dark .info-card h5,
body.dark .info-card h6,
body.dark .stat-card ion-card-title,
body.dark .stat-card .card-title,
body.dark .stat-card h1,
body.dark .stat-card h2,
body.dark .stat-card h3,
body.dark .stat-card h4,
body.dark .stat-card h5,
body.dark .stat-card h6,
body.dark .status-card ion-card-title,
body.dark .status-card .card-title,
body.dark .status-card h1,
body.dark .status-card h2,
body.dark .status-card h3,
body.dark .status-card h4,
body.dark .status-card h5,
body.dark .status-card h6,
body.dark .status-section-card ion-card-title,
body.dark .status-section-card .card-title,
body.dark .status-section-card h1,
body.dark .status-section-card h2,
body.dark .status-section-card h3,
body.dark .status-section-card h4,
body.dark .status-section-card h5,
body.dark .status-section-card h6,
body.dark .pending-shifts-card ion-card-title,
body.dark .pending-shifts-card .card-title,
body.dark .pending-shifts-card h1,
body.dark .pending-shifts-card h2,
body.dark .pending-shifts-card h3,
body.dark .pending-shifts-card h4,
body.dark .pending-shifts-card h5,
body.dark .pending-shifts-card h6,
body.dark .warnings-card ion-card-title,
body.dark .warnings-card .card-title,
body.dark .warnings-card h1,
body.dark .warnings-card h2,
body.dark .warnings-card h3,
body.dark .warnings-card h4,
body.dark .warnings-card h5,
body.dark .warnings-card h6,
body.dark .location-card ion-card-title,
body.dark .location-card .card-title,
body.dark .location-card h1,
body.dark .location-card h2,
body.dark .location-card h3,
body.dark .location-card h4,
body.dark .location-card h5,
body.dark .location-card h6,
body.dark .week-overview-card ion-card-title,
body.dark .week-overview-card .card-title,
body.dark .week-overview-card h1,
body.dark .week-overview-card h2,
body.dark .week-overview-card h3,
body.dark .week-overview-card h4,
body.dark .week-overview-card h5,
body.dark .week-overview-card h6,
body.dark .timeline-card ion-card-title,
body.dark .timeline-card .card-title,
body.dark .timeline-card h1,
body.dark .timeline-card h2,
body.dark .timeline-card h3,
body.dark .timeline-card h4,
body.dark .timeline-card h5,
body.dark .timeline-card h6,
body.dark .history-card ion-card-title,
body.dark .history-card .card-title,
body.dark .history-card h1,
body.dark .history-card h2,
body.dark .history-card h3,
body.dark .history-card h4,
body.dark .history-card h5,
body.dark .history-card h6,
body.dark .year-totaal-card ion-card-title,
body.dark .year-totaal-card .card-title,
body.dark .year-totaal-card h1,
body.dark .year-totaal-card h2,
body.dark .year-totaal-card h3,
body.dark .year-totaal-card h4,
body.dark .year-totaal-card h5,
body.dark .year-totaal-card h6,
body.dark .legal-info-card ion-card-title,
body.dark .legal-info-card .card-title,
body.dark .legal-info-card h1,
body.dark .legal-info-card h2,
body.dark .legal-info-card h3,
body.dark .legal-info-card h4,
body.dark .legal-info-card h5,
body.dark .legal-info-card h6,
body.dark .verification-warning-card ion-card-title,
body.dark .verification-warning-card .card-title,
body.dark .verification-warning-card h1,
body.dark .verification-warning-card h2,
body.dark .verification-warning-card h3,
body.dark .verification-warning-card h4,
body.dark .verification-warning-card h5,
body.dark .verification-warning-card h6,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-title,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-title,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) h1,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) h2,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) h3,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) h4,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) h5,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) h6,
html.dark-mode .card ion-card-title,
html.dark-mode .card .card-title,
html.dark-mode .card h1,
html.dark-mode .card h2,
html.dark-mode .card h3,
html.dark-mode .card h4,
html.dark-mode .card h5,
html.dark-mode .card h6,
html.dark-mode .tesla-card ion-card-title,
html.dark-mode .tesla-card .card-title,
html.dark-mode .tesla-card h1,
html.dark-mode .tesla-card h2,
html.dark-mode .tesla-card h3,
html.dark-mode .tesla-card h4,
html.dark-mode .tesla-card h5,
html.dark-mode .tesla-card h6,
html.dark-mode .settings-card ion-card-title,
html.dark-mode .settings-card .card-title,
html.dark-mode .settings-card h1,
html.dark-mode .settings-card h2,
html.dark-mode .settings-card h3,
html.dark-mode .settings-card h4,
html.dark-mode .settings-card h5,
html.dark-mode .settings-card h6,
html.dark-mode .info-card ion-card-title,
html.dark-mode .info-card .card-title,
html.dark-mode .info-card h1,
html.dark-mode .info-card h2,
html.dark-mode .info-card h3,
html.dark-mode .info-card h4,
html.dark-mode .info-card h5,
html.dark-mode .info-card h6,
html.dark-mode .stat-card ion-card-title,
html.dark-mode .stat-card .card-title,
html.dark-mode .stat-card h1,
html.dark-mode .stat-card h2,
html.dark-mode .stat-card h3,
html.dark-mode .stat-card h4,
html.dark-mode .stat-card h5,
html.dark-mode .stat-card h6,
html.dark-mode .status-card ion-card-title,
html.dark-mode .status-card .card-title,
html.dark-mode .status-card h1,
html.dark-mode .status-card h2,
html.dark-mode .status-card h3,
html.dark-mode .status-card h4,
html.dark-mode .status-card h5,
html.dark-mode .status-card h6,
html.dark-mode .status-section-card ion-card-title,
html.dark-mode .status-section-card .card-title,
html.dark-mode .status-section-card h1,
html.dark-mode .status-section-card h2,
html.dark-mode .status-section-card h3,
html.dark-mode .status-section-card h4,
html.dark-mode .status-section-card h5,
html.dark-mode .status-section-card h6,
html.dark-mode .pending-shifts-card ion-card-title,
html.dark-mode .pending-shifts-card .card-title,
html.dark-mode .pending-shifts-card h1,
html.dark-mode .pending-shifts-card h2,
html.dark-mode .pending-shifts-card h3,
html.dark-mode .pending-shifts-card h4,
html.dark-mode .pending-shifts-card h5,
html.dark-mode .pending-shifts-card h6,
html.dark-mode .warnings-card ion-card-title,
html.dark-mode .warnings-card .card-title,
html.dark-mode .warnings-card h1,
html.dark-mode .warnings-card h2,
html.dark-mode .warnings-card h3,
html.dark-mode .warnings-card h4,
html.dark-mode .warnings-card h5,
html.dark-mode .warnings-card h6,
html.dark-mode .location-card ion-card-title,
html.dark-mode .location-card .card-title,
html.dark-mode .location-card h1,
html.dark-mode .location-card h2,
html.dark-mode .location-card h3,
html.dark-mode .location-card h4,
html.dark-mode .location-card h5,
html.dark-mode .location-card h6,
html.dark-mode .week-overview-card ion-card-title,
html.dark-mode .week-overview-card .card-title,
html.dark-mode .week-overview-card h1,
html.dark-mode .week-overview-card h2,
html.dark-mode .week-overview-card h3,
html.dark-mode .week-overview-card h4,
html.dark-mode .week-overview-card h5,
html.dark-mode .week-overview-card h6,
html.dark-mode .timeline-card ion-card-title,
html.dark-mode .timeline-card .card-title,
html.dark-mode .timeline-card h1,
html.dark-mode .timeline-card h2,
html.dark-mode .timeline-card h3,
html.dark-mode .timeline-card h4,
html.dark-mode .timeline-card h5,
html.dark-mode .timeline-card h6,
html.dark-mode .history-card ion-card-title,
html.dark-mode .history-card .card-title,
html.dark-mode .history-card h1,
html.dark-mode .history-card h2,
html.dark-mode .history-card h3,
html.dark-mode .history-card h4,
html.dark-mode .history-card h5,
html.dark-mode .history-card h6,
html.dark-mode .year-totaal-card ion-card-title,
html.dark-mode .year-totaal-card .card-title,
html.dark-mode .year-totaal-card h1,
html.dark-mode .year-totaal-card h2,
html.dark-mode .year-totaal-card h3,
html.dark-mode .year-totaal-card h4,
html.dark-mode .year-totaal-card h5,
html.dark-mode .year-totaal-card h6,
html.dark-mode .legal-info-card ion-card-title,
html.dark-mode .legal-info-card .card-title,
html.dark-mode .legal-info-card h1,
html.dark-mode .legal-info-card h2,
html.dark-mode .legal-info-card h3,
html.dark-mode .legal-info-card h4,
html.dark-mode .legal-info-card h5,
html.dark-mode .legal-info-card h6,
html.dark-mode .verification-warning-card ion-card-title,
html.dark-mode .verification-warning-card .card-title,
html.dark-mode .verification-warning-card h1,
html.dark-mode .verification-warning-card h2,
html.dark-mode .verification-warning-card h3,
html.dark-mode .verification-warning-card h4,
html.dark-mode .verification-warning-card h5,
html.dark-mode .verification-warning-card h6,
html.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-title,
html.dark ion-card:not(.main-display-card):not(.expense-card) .card-title,
html.dark ion-card:not(.main-display-card):not(.expense-card) h1,
html.dark ion-card:not(.main-display-card):not(.expense-card) h2,
html.dark ion-card:not(.main-display-card):not(.expense-card) h3,
html.dark ion-card:not(.main-display-card):not(.expense-card) h4,
html.dark ion-card:not(.main-display-card):not(.expense-card) h5,
html.dark ion-card:not(.main-display-card):not(.expense-card) h6,
html.dark .card ion-card-title,
html.dark .card .card-title,
html.dark .card h1,
html.dark .card h2,
html.dark .card h3,
html.dark .card h4,
html.dark .card h5,
html.dark .card h6,
html.dark .tesla-card ion-card-title,
html.dark .tesla-card .card-title,
html.dark .tesla-card h1,
html.dark .tesla-card h2,
html.dark .tesla-card h3,
html.dark .tesla-card h4,
html.dark .tesla-card h5,
html.dark .tesla-card h6,
html.dark .settings-card ion-card-title,
html.dark .settings-card .card-title,
html.dark .settings-card h1,
html.dark .settings-card h2,
html.dark .settings-card h3,
html.dark .settings-card h4,
html.dark .settings-card h5,
html.dark .settings-card h6,
html.dark .info-card ion-card-title,
html.dark .info-card .card-title,
html.dark .info-card h1,
html.dark .info-card h2,
html.dark .info-card h3,
html.dark .info-card h4,
html.dark .info-card h5,
html.dark .info-card h6,
html.dark .stat-card ion-card-title,
html.dark .stat-card .card-title,
html.dark .stat-card h1,
html.dark .stat-card h2,
html.dark .stat-card h3,
html.dark .stat-card h4,
html.dark .stat-card h5,
html.dark .stat-card h6,
html.dark .status-card ion-card-title,
html.dark .status-card .card-title,
html.dark .status-card h1,
html.dark .status-card h2,
html.dark .status-card h3,
html.dark .status-card h4,
html.dark .status-card h5,
html.dark .status-card h6,
html.dark .status-section-card ion-card-title,
html.dark .status-section-card .card-title,
html.dark .status-section-card h1,
html.dark .status-section-card h2,
html.dark .status-section-card h3,
html.dark .status-section-card h4,
html.dark .status-section-card h5,
html.dark .status-section-card h6,
html.dark .pending-shifts-card ion-card-title,
html.dark .pending-shifts-card .card-title,
html.dark .pending-shifts-card h1,
html.dark .pending-shifts-card h2,
html.dark .pending-shifts-card h3,
html.dark .pending-shifts-card h4,
html.dark .pending-shifts-card h5,
html.dark .pending-shifts-card h6,
html.dark .warnings-card ion-card-title,
html.dark .warnings-card .card-title,
html.dark .warnings-card h1,
html.dark .warnings-card h2,
html.dark .warnings-card h3,
html.dark .warnings-card h4,
html.dark .warnings-card h5,
html.dark .warnings-card h6,
html.dark .location-card ion-card-title,
html.dark .location-card .card-title,
html.dark .location-card h1,
html.dark .location-card h2,
html.dark .location-card h3,
html.dark .location-card h4,
html.dark .location-card h5,
html.dark .location-card h6,
html.dark .week-overview-card ion-card-title,
html.dark .week-overview-card .card-title,
html.dark .week-overview-card h1,
html.dark .week-overview-card h2,
html.dark .week-overview-card h3,
html.dark .week-overview-card h4,
html.dark .week-overview-card h5,
html.dark .week-overview-card h6,
html.dark .timeline-card ion-card-title,
html.dark .timeline-card .card-title,
html.dark .timeline-card h1,
html.dark .timeline-card h2,
html.dark .timeline-card h3,
html.dark .timeline-card h4,
html.dark .timeline-card h5,
html.dark .timeline-card h6,
html.dark .history-card ion-card-title,
html.dark .history-card .card-title,
html.dark .history-card h1,
html.dark .history-card h2,
html.dark .history-card h3,
html.dark .history-card h4,
html.dark .history-card h5,
html.dark .history-card h6,
html.dark .year-totaal-card ion-card-title,
html.dark .year-totaal-card .card-title,
html.dark .year-totaal-card h1,
html.dark .year-totaal-card h2,
html.dark .year-totaal-card h3,
html.dark .year-totaal-card h4,
html.dark .year-totaal-card h5,
html.dark .year-totaal-card h6,
html.dark .legal-info-card ion-card-title,
html.dark .legal-info-card .card-title,
html.dark .legal-info-card h1,
html.dark .legal-info-card h2,
html.dark .legal-info-card h3,
html.dark .legal-info-card h4,
html.dark .legal-info-card h5,
html.dark .legal-info-card h6,
html.dark .verification-warning-card ion-card-title,
html.dark .verification-warning-card .card-title,
html.dark .verification-warning-card h1,
html.dark .verification-warning-card h2,
html.dark .verification-warning-card h3,
html.dark .verification-warning-card h4,
html.dark .verification-warning-card h5,
html.dark .verification-warning-card h6 {
  color: #f5f5f5 !important;
}
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-subtitle,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-subtitle,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) p,
body.dark-mode ion-card:not(.main-display-card):not(.expense-card) span,
body.dark-mode .card ion-card-subtitle,
body.dark-mode .card .card-subtitle,
body.dark-mode .card p,
body.dark-mode .card span,
body.dark-mode .tesla-card ion-card-subtitle,
body.dark-mode .tesla-card .card-subtitle,
body.dark-mode .tesla-card p,
body.dark-mode .tesla-card span,
body.dark-mode .settings-card ion-card-subtitle,
body.dark-mode .settings-card .card-subtitle,
body.dark-mode .settings-card p,
body.dark-mode .settings-card span,
body.dark-mode .info-card ion-card-subtitle,
body.dark-mode .info-card .card-subtitle,
body.dark-mode .info-card p,
body.dark-mode .info-card span,
body.dark-mode .stat-card ion-card-subtitle,
body.dark-mode .stat-card .card-subtitle,
body.dark-mode .stat-card p,
body.dark-mode .stat-card span,
body.dark-mode .status-card ion-card-subtitle,
body.dark-mode .status-card .card-subtitle,
body.dark-mode .status-card p,
body.dark-mode .status-card span,
body.dark-mode .status-section-card ion-card-subtitle,
body.dark-mode .status-section-card .card-subtitle,
body.dark-mode .status-section-card p,
body.dark-mode .status-section-card span,
body.dark-mode .pending-shifts-card ion-card-subtitle,
body.dark-mode .pending-shifts-card .card-subtitle,
body.dark-mode .pending-shifts-card p,
body.dark-mode .pending-shifts-card span,
body.dark-mode .warnings-card ion-card-subtitle,
body.dark-mode .warnings-card .card-subtitle,
body.dark-mode .warnings-card p,
body.dark-mode .warnings-card span,
body.dark-mode .location-card ion-card-subtitle,
body.dark-mode .location-card .card-subtitle,
body.dark-mode .location-card p,
body.dark-mode .location-card span,
body.dark-mode .week-overview-card ion-card-subtitle,
body.dark-mode .week-overview-card .card-subtitle,
body.dark-mode .week-overview-card p,
body.dark-mode .week-overview-card span,
body.dark-mode .timeline-card ion-card-subtitle,
body.dark-mode .timeline-card .card-subtitle,
body.dark-mode .timeline-card p,
body.dark-mode .timeline-card span,
body.dark-mode .history-card ion-card-subtitle,
body.dark-mode .history-card .card-subtitle,
body.dark-mode .history-card p,
body.dark-mode .history-card span,
body.dark-mode .year-totaal-card ion-card-subtitle,
body.dark-mode .year-totaal-card .card-subtitle,
body.dark-mode .year-totaal-card p,
body.dark-mode .year-totaal-card span,
body.dark-mode .legal-info-card ion-card-subtitle,
body.dark-mode .legal-info-card .card-subtitle,
body.dark-mode .legal-info-card p,
body.dark-mode .legal-info-card span,
body.dark-mode .verification-warning-card ion-card-subtitle,
body.dark-mode .verification-warning-card .card-subtitle,
body.dark-mode .verification-warning-card p,
body.dark-mode .verification-warning-card span,
body.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-subtitle,
body.dark ion-card:not(.main-display-card):not(.expense-card) .card-subtitle,
body.dark ion-card:not(.main-display-card):not(.expense-card) p,
body.dark ion-card:not(.main-display-card):not(.expense-card) span,
body.dark .card ion-card-subtitle,
body.dark .card .card-subtitle,
body.dark .card p,
body.dark .card span,
body.dark .tesla-card ion-card-subtitle,
body.dark .tesla-card .card-subtitle,
body.dark .tesla-card p,
body.dark .tesla-card span,
body.dark .settings-card ion-card-subtitle,
body.dark .settings-card .card-subtitle,
body.dark .settings-card p,
body.dark .settings-card span,
body.dark .info-card ion-card-subtitle,
body.dark .info-card .card-subtitle,
body.dark .info-card p,
body.dark .info-card span,
body.dark .stat-card ion-card-subtitle,
body.dark .stat-card .card-subtitle,
body.dark .stat-card p,
body.dark .stat-card span,
body.dark .status-card ion-card-subtitle,
body.dark .status-card .card-subtitle,
body.dark .status-card p,
body.dark .status-card span,
body.dark .status-section-card ion-card-subtitle,
body.dark .status-section-card .card-subtitle,
body.dark .status-section-card p,
body.dark .status-section-card span,
body.dark .pending-shifts-card ion-card-subtitle,
body.dark .pending-shifts-card .card-subtitle,
body.dark .pending-shifts-card p,
body.dark .pending-shifts-card span,
body.dark .warnings-card ion-card-subtitle,
body.dark .warnings-card .card-subtitle,
body.dark .warnings-card p,
body.dark .warnings-card span,
body.dark .location-card ion-card-subtitle,
body.dark .location-card .card-subtitle,
body.dark .location-card p,
body.dark .location-card span,
body.dark .week-overview-card ion-card-subtitle,
body.dark .week-overview-card .card-subtitle,
body.dark .week-overview-card p,
body.dark .week-overview-card span,
body.dark .timeline-card ion-card-subtitle,
body.dark .timeline-card .card-subtitle,
body.dark .timeline-card p,
body.dark .timeline-card span,
body.dark .history-card ion-card-subtitle,
body.dark .history-card .card-subtitle,
body.dark .history-card p,
body.dark .history-card span,
body.dark .year-totaal-card ion-card-subtitle,
body.dark .year-totaal-card .card-subtitle,
body.dark .year-totaal-card p,
body.dark .year-totaal-card span,
body.dark .legal-info-card ion-card-subtitle,
body.dark .legal-info-card .card-subtitle,
body.dark .legal-info-card p,
body.dark .legal-info-card span,
body.dark .verification-warning-card ion-card-subtitle,
body.dark .verification-warning-card .card-subtitle,
body.dark .verification-warning-card p,
body.dark .verification-warning-card span,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) ion-card-subtitle,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) .card-subtitle,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) p,
html.dark-mode ion-card:not(.main-display-card):not(.expense-card) span,
html.dark-mode .card ion-card-subtitle,
html.dark-mode .card .card-subtitle,
html.dark-mode .card p,
html.dark-mode .card span,
html.dark-mode .tesla-card ion-card-subtitle,
html.dark-mode .tesla-card .card-subtitle,
html.dark-mode .tesla-card p,
html.dark-mode .tesla-card span,
html.dark-mode .settings-card ion-card-subtitle,
html.dark-mode .settings-card .card-subtitle,
html.dark-mode .settings-card p,
html.dark-mode .settings-card span,
html.dark-mode .info-card ion-card-subtitle,
html.dark-mode .info-card .card-subtitle,
html.dark-mode .info-card p,
html.dark-mode .info-card span,
html.dark-mode .stat-card ion-card-subtitle,
html.dark-mode .stat-card .card-subtitle,
html.dark-mode .stat-card p,
html.dark-mode .stat-card span,
html.dark-mode .status-card ion-card-subtitle,
html.dark-mode .status-card .card-subtitle,
html.dark-mode .status-card p,
html.dark-mode .status-card span,
html.dark-mode .status-section-card ion-card-subtitle,
html.dark-mode .status-section-card .card-subtitle,
html.dark-mode .status-section-card p,
html.dark-mode .status-section-card span,
html.dark-mode .pending-shifts-card ion-card-subtitle,
html.dark-mode .pending-shifts-card .card-subtitle,
html.dark-mode .pending-shifts-card p,
html.dark-mode .pending-shifts-card span,
html.dark-mode .warnings-card ion-card-subtitle,
html.dark-mode .warnings-card .card-subtitle,
html.dark-mode .warnings-card p,
html.dark-mode .warnings-card span,
html.dark-mode .location-card ion-card-subtitle,
html.dark-mode .location-card .card-subtitle,
html.dark-mode .location-card p,
html.dark-mode .location-card span,
html.dark-mode .week-overview-card ion-card-subtitle,
html.dark-mode .week-overview-card .card-subtitle,
html.dark-mode .week-overview-card p,
html.dark-mode .week-overview-card span,
html.dark-mode .timeline-card ion-card-subtitle,
html.dark-mode .timeline-card .card-subtitle,
html.dark-mode .timeline-card p,
html.dark-mode .timeline-card span,
html.dark-mode .history-card ion-card-subtitle,
html.dark-mode .history-card .card-subtitle,
html.dark-mode .history-card p,
html.dark-mode .history-card span,
html.dark-mode .year-totaal-card ion-card-subtitle,
html.dark-mode .year-totaal-card .card-subtitle,
html.dark-mode .year-totaal-card p,
html.dark-mode .year-totaal-card span,
html.dark-mode .legal-info-card ion-card-subtitle,
html.dark-mode .legal-info-card .card-subtitle,
html.dark-mode .legal-info-card p,
html.dark-mode .legal-info-card span,
html.dark-mode .verification-warning-card ion-card-subtitle,
html.dark-mode .verification-warning-card .card-subtitle,
html.dark-mode .verification-warning-card p,
html.dark-mode .verification-warning-card span,
html.dark ion-card:not(.main-display-card):not(.expense-card) ion-card-subtitle,
html.dark ion-card:not(.main-display-card):not(.expense-card) .card-subtitle,
html.dark ion-card:not(.main-display-card):not(.expense-card) p,
html.dark ion-card:not(.main-display-card):not(.expense-card) span,
html.dark .card ion-card-subtitle,
html.dark .card .card-subtitle,
html.dark .card p,
html.dark .card span,
html.dark .tesla-card ion-card-subtitle,
html.dark .tesla-card .card-subtitle,
html.dark .tesla-card p,
html.dark .tesla-card span,
html.dark .settings-card ion-card-subtitle,
html.dark .settings-card .card-subtitle,
html.dark .settings-card p,
html.dark .settings-card span,
html.dark .info-card ion-card-subtitle,
html.dark .info-card .card-subtitle,
html.dark .info-card p,
html.dark .info-card span,
html.dark .stat-card ion-card-subtitle,
html.dark .stat-card .card-subtitle,
html.dark .stat-card p,
html.dark .stat-card span,
html.dark .status-card ion-card-subtitle,
html.dark .status-card .card-subtitle,
html.dark .status-card p,
html.dark .status-card span,
html.dark .status-section-card ion-card-subtitle,
html.dark .status-section-card .card-subtitle,
html.dark .status-section-card p,
html.dark .status-section-card span,
html.dark .pending-shifts-card ion-card-subtitle,
html.dark .pending-shifts-card .card-subtitle,
html.dark .pending-shifts-card p,
html.dark .pending-shifts-card span,
html.dark .warnings-card ion-card-subtitle,
html.dark .warnings-card .card-subtitle,
html.dark .warnings-card p,
html.dark .warnings-card span,
html.dark .location-card ion-card-subtitle,
html.dark .location-card .card-subtitle,
html.dark .location-card p,
html.dark .location-card span,
html.dark .week-overview-card ion-card-subtitle,
html.dark .week-overview-card .card-subtitle,
html.dark .week-overview-card p,
html.dark .week-overview-card span,
html.dark .timeline-card ion-card-subtitle,
html.dark .timeline-card .card-subtitle,
html.dark .timeline-card p,
html.dark .timeline-card span,
html.dark .history-card ion-card-subtitle,
html.dark .history-card .card-subtitle,
html.dark .history-card p,
html.dark .history-card span,
html.dark .year-totaal-card ion-card-subtitle,
html.dark .year-totaal-card .card-subtitle,
html.dark .year-totaal-card p,
html.dark .year-totaal-card span,
html.dark .legal-info-card ion-card-subtitle,
html.dark .legal-info-card .card-subtitle,
html.dark .legal-info-card p,
html.dark .legal-info-card span,
html.dark .verification-warning-card ion-card-subtitle,
html.dark .verification-warning-card .card-subtitle,
html.dark .verification-warning-card p,
html.dark .verification-warning-card span {
  color: #a1a1aa !important;
}
body.dark-mode ion-item,
body.dark-mode .item,
body.dark-mode .list-item,
body.dark ion-item,
body.dark .item,
body.dark .list-item,
html.dark-mode ion-item,
html.dark-mode .item,
html.dark-mode .list-item,
html.dark ion-item,
html.dark .item,
html.dark .list-item {
  --background: #1a1a1a !important;
  --color: #ffffff !important;
  --border-color: rgba(255, 255, 255, 0.1) !important;
  background: #1a1a1a !important;
  color: #ffffff !important;
}
body.dark-mode ion-item ion-label,
body.dark-mode .item ion-label,
body.dark-mode .list-item ion-label,
body.dark ion-item ion-label,
body.dark .item ion-label,
body.dark .list-item ion-label,
html.dark-mode ion-item ion-label,
html.dark-mode .item ion-label,
html.dark-mode .list-item ion-label,
html.dark ion-item ion-label,
html.dark .item ion-label,
html.dark .list-item ion-label {
  color: #ffffff !important;
}
body.dark-mode ion-item.item-has-value,
body.dark-mode ion-item.item-interactive,
body.dark ion-item.item-has-value,
body.dark ion-item.item-interactive,
html.dark-mode ion-item.item-has-value,
html.dark-mode ion-item.item-interactive,
html.dark ion-item.item-has-value,
html.dark ion-item.item-interactive {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
}
body.dark-mode .status-cards-grid ion-card:not(.main-display-card),
body.dark-mode .status-cards-grid .card,
body.dark-mode .status-cards-grid .stat-card,
body.dark-mode .status-cards-grid .status-card,
body.dark-mode .stats-grid ion-card:not(.main-display-card),
body.dark-mode .stats-grid .card,
body.dark-mode .stats-grid .stat-card,
body.dark-mode .stats-grid .status-card,
body.dark-mode .grid-container ion-card:not(.main-display-card),
body.dark-mode .grid-container .card,
body.dark-mode .grid-container .stat-card,
body.dark-mode .grid-container .status-card,
body.dark-mode .card-grid ion-card:not(.main-display-card),
body.dark-mode .card-grid .card,
body.dark-mode .card-grid .stat-card,
body.dark-mode .card-grid .status-card,
body.dark .status-cards-grid ion-card:not(.main-display-card),
body.dark .status-cards-grid .card,
body.dark .status-cards-grid .stat-card,
body.dark .status-cards-grid .status-card,
body.dark .stats-grid ion-card:not(.main-display-card),
body.dark .stats-grid .card,
body.dark .stats-grid .stat-card,
body.dark .stats-grid .status-card,
body.dark .grid-container ion-card:not(.main-display-card),
body.dark .grid-container .card,
body.dark .grid-container .stat-card,
body.dark .grid-container .status-card,
body.dark .card-grid ion-card:not(.main-display-card),
body.dark .card-grid .card,
body.dark .card-grid .stat-card,
body.dark .card-grid .status-card,
html.dark-mode .status-cards-grid ion-card:not(.main-display-card),
html.dark-mode .status-cards-grid .card,
html.dark-mode .status-cards-grid .stat-card,
html.dark-mode .status-cards-grid .status-card,
html.dark-mode .stats-grid ion-card:not(.main-display-card),
html.dark-mode .stats-grid .card,
html.dark-mode .stats-grid .stat-card,
html.dark-mode .stats-grid .status-card,
html.dark-mode .grid-container ion-card:not(.main-display-card),
html.dark-mode .grid-container .card,
html.dark-mode .grid-container .stat-card,
html.dark-mode .grid-container .status-card,
html.dark-mode .card-grid ion-card:not(.main-display-card),
html.dark-mode .card-grid .card,
html.dark-mode .card-grid .stat-card,
html.dark-mode .card-grid .status-card,
html.dark .status-cards-grid ion-card:not(.main-display-card),
html.dark .status-cards-grid .card,
html.dark .status-cards-grid .stat-card,
html.dark .status-cards-grid .status-card,
html.dark .stats-grid ion-card:not(.main-display-card),
html.dark .stats-grid .card,
html.dark .stats-grid .stat-card,
html.dark .stats-grid .status-card,
html.dark .grid-container ion-card:not(.main-display-card),
html.dark .grid-container .card,
html.dark .grid-container .stat-card,
html.dark .grid-container .status-card,
html.dark .card-grid ion-card:not(.main-display-card),
html.dark .card-grid .card,
html.dark .card-grid .stat-card,
html.dark .card-grid .status-card {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode ion-toolbar,
body.dark-mode ion-header ion-toolbar,
body.dark-mode .header-toolbar,
body.dark-mode .page-header,
body.dark ion-toolbar,
body.dark ion-header ion-toolbar,
body.dark .header-toolbar,
body.dark .page-header,
html.dark-mode ion-toolbar,
html.dark-mode ion-header ion-toolbar,
html.dark-mode .header-toolbar,
html.dark-mode .page-header,
html.dark ion-toolbar,
html.dark ion-header ion-toolbar,
html.dark .header-toolbar,
html.dark .page-header {
  --background: #3b82f6 !important;
  --color: #ffffff !important;
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%) !important;
  color: #ffffff !important;
}
body.dark-mode ion-toolbar ion-title,
body.dark-mode ion-toolbar h1,
body.dark-mode ion-toolbar h2,
body.dark-mode ion-toolbar h3,
body.dark-mode ion-toolbar h4,
body.dark-mode ion-toolbar h5,
body.dark-mode ion-toolbar h6,
body.dark-mode ion-header ion-toolbar ion-title,
body.dark-mode ion-header ion-toolbar h1,
body.dark-mode ion-header ion-toolbar h2,
body.dark-mode ion-header ion-toolbar h3,
body.dark-mode ion-header ion-toolbar h4,
body.dark-mode ion-header ion-toolbar h5,
body.dark-mode ion-header ion-toolbar h6,
body.dark-mode .header-toolbar ion-title,
body.dark-mode .header-toolbar h1,
body.dark-mode .header-toolbar h2,
body.dark-mode .header-toolbar h3,
body.dark-mode .header-toolbar h4,
body.dark-mode .header-toolbar h5,
body.dark-mode .header-toolbar h6,
body.dark-mode .page-header ion-title,
body.dark-mode .page-header h1,
body.dark-mode .page-header h2,
body.dark-mode .page-header h3,
body.dark-mode .page-header h4,
body.dark-mode .page-header h5,
body.dark-mode .page-header h6,
body.dark ion-toolbar ion-title,
body.dark ion-toolbar h1,
body.dark ion-toolbar h2,
body.dark ion-toolbar h3,
body.dark ion-toolbar h4,
body.dark ion-toolbar h5,
body.dark ion-toolbar h6,
body.dark ion-header ion-toolbar ion-title,
body.dark ion-header ion-toolbar h1,
body.dark ion-header ion-toolbar h2,
body.dark ion-header ion-toolbar h3,
body.dark ion-header ion-toolbar h4,
body.dark ion-header ion-toolbar h5,
body.dark ion-header ion-toolbar h6,
body.dark .header-toolbar ion-title,
body.dark .header-toolbar h1,
body.dark .header-toolbar h2,
body.dark .header-toolbar h3,
body.dark .header-toolbar h4,
body.dark .header-toolbar h5,
body.dark .header-toolbar h6,
body.dark .page-header ion-title,
body.dark .page-header h1,
body.dark .page-header h2,
body.dark .page-header h3,
body.dark .page-header h4,
body.dark .page-header h5,
body.dark .page-header h6,
html.dark-mode ion-toolbar ion-title,
html.dark-mode ion-toolbar h1,
html.dark-mode ion-toolbar h2,
html.dark-mode ion-toolbar h3,
html.dark-mode ion-toolbar h4,
html.dark-mode ion-toolbar h5,
html.dark-mode ion-toolbar h6,
html.dark-mode ion-header ion-toolbar ion-title,
html.dark-mode ion-header ion-toolbar h1,
html.dark-mode ion-header ion-toolbar h2,
html.dark-mode ion-header ion-toolbar h3,
html.dark-mode ion-header ion-toolbar h4,
html.dark-mode ion-header ion-toolbar h5,
html.dark-mode ion-header ion-toolbar h6,
html.dark-mode .header-toolbar ion-title,
html.dark-mode .header-toolbar h1,
html.dark-mode .header-toolbar h2,
html.dark-mode .header-toolbar h3,
html.dark-mode .header-toolbar h4,
html.dark-mode .header-toolbar h5,
html.dark-mode .header-toolbar h6,
html.dark-mode .page-header ion-title,
html.dark-mode .page-header h1,
html.dark-mode .page-header h2,
html.dark-mode .page-header h3,
html.dark-mode .page-header h4,
html.dark-mode .page-header h5,
html.dark-mode .page-header h6,
html.dark ion-toolbar ion-title,
html.dark ion-toolbar h1,
html.dark ion-toolbar h2,
html.dark ion-toolbar h3,
html.dark ion-toolbar h4,
html.dark ion-toolbar h5,
html.dark ion-toolbar h6,
html.dark ion-header ion-toolbar ion-title,
html.dark ion-header ion-toolbar h1,
html.dark ion-header ion-toolbar h2,
html.dark ion-header ion-toolbar h3,
html.dark ion-header ion-toolbar h4,
html.dark ion-header ion-toolbar h5,
html.dark ion-header ion-toolbar h6,
html.dark .header-toolbar ion-title,
html.dark .header-toolbar h1,
html.dark .header-toolbar h2,
html.dark .header-toolbar h3,
html.dark .header-toolbar h4,
html.dark .header-toolbar h5,
html.dark .header-toolbar h6,
html.dark .page-header ion-title,
html.dark .page-header h1,
html.dark .page-header h2,
html.dark .page-header h3,
html.dark .page-header h4,
html.dark .page-header h5,
html.dark .page-header h6 {
  color: #ffffff !important;
}
body.dark-mode ion-toolbar ion-button,
body.dark-mode ion-header ion-toolbar ion-button,
body.dark-mode .header-toolbar ion-button,
body.dark-mode .page-header ion-button,
body.dark ion-toolbar ion-button,
body.dark ion-header ion-toolbar ion-button,
body.dark .header-toolbar ion-button,
body.dark .page-header ion-button,
html.dark-mode ion-toolbar ion-button,
html.dark-mode ion-header ion-toolbar ion-button,
html.dark-mode .header-toolbar ion-button,
html.dark-mode .page-header ion-button,
html.dark ion-toolbar ion-button,
html.dark ion-header ion-toolbar ion-button,
html.dark .header-toolbar ion-button,
html.dark .page-header ion-button {
  --color: #ffffff !important;
}
body.dark-mode ion-toolbar ion-icon,
body.dark-mode ion-header ion-toolbar ion-icon,
body.dark-mode .header-toolbar ion-icon,
body.dark-mode .page-header ion-icon,
body.dark ion-toolbar ion-icon,
body.dark ion-header ion-toolbar ion-icon,
body.dark .header-toolbar ion-icon,
body.dark .page-header ion-icon,
html.dark-mode ion-toolbar ion-icon,
html.dark-mode ion-header ion-toolbar ion-icon,
html.dark-mode .header-toolbar ion-icon,
html.dark-mode .page-header ion-icon,
html.dark ion-toolbar ion-icon,
html.dark ion-header ion-toolbar ion-icon,
html.dark .header-toolbar ion-icon,
html.dark .page-header ion-icon {
  color: #ffffff !important;
}
body.dark-mode ion-header,
body.dark ion-header,
html.dark-mode ion-header,
html.dark ion-header {
  background: #3b82f6 !important;
}
body.dark-mode ion-header ion-toolbar,
body.dark ion-header ion-toolbar,
html.dark-mode ion-header ion-toolbar,
html.dark ion-header ion-toolbar {
  --background: #3b82f6 !important;
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%) !important;
}
body.dark-mode ion-list,
body.dark ion-list,
html.dark-mode ion-list,
html.dark ion-list {
  background: transparent !important;
}
body.dark-mode ion-label,
body.dark ion-label,
html.dark-mode ion-label,
html.dark ion-label {
  color: #f5f5f5 !important;
}
body.dark-mode ion-input,
body.dark-mode ion-textarea,
body.dark-mode ion-select,
body.dark ion-input,
body.dark ion-textarea,
body.dark ion-select,
html.dark-mode ion-input,
html.dark-mode ion-textarea,
html.dark-mode ion-select,
html.dark ion-input,
html.dark ion-textarea,
html.dark ion-select {
  --color: #ffffff !important;
  --placeholder-color: rgba(255, 255, 255, 0.5) !important;
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
body.dark-mode ion-input input,
body.dark-mode ion-textarea textarea,
body.dark ion-input input,
body.dark ion-textarea textarea,
html.dark-mode ion-input input,
html.dark-mode ion-textarea textarea,
html.dark ion-input input,
html.dark ion-textarea textarea {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
}
body.dark-mode ion-input input::placeholder,
body.dark-mode ion-textarea textarea::placeholder,
body.dark ion-input input::placeholder,
body.dark ion-textarea textarea::placeholder,
html.dark-mode ion-input input::placeholder,
html.dark-mode ion-textarea textarea::placeholder,
html.dark ion-input input::placeholder,
html.dark ion-textarea textarea::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
}
body.dark-mode .modal-wrapper,
body.dark .modal-wrapper,
html.dark-mode .modal-wrapper,
html.dark .modal-wrapper {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
}
body.dark-mode .alert-wrapper,
body.dark .alert-wrapper,
html.dark-mode .alert-wrapper,
html.dark .alert-wrapper {
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode ion-button,
body.dark ion-button,
html.dark-mode ion-button,
html.dark ion-button {
  --background: #3b82f6 !important;
  --color: #ffffff !important;
}
body.dark-mode ion-button.button-outline,
body.dark ion-button.button-outline,
html.dark-mode ion-button.button-outline,
html.dark ion-button.button-outline {
  --border-color: #3b82f6 !important;
  --color: #3b82f6 !important;
}
body.dark-mode ion-segment,
body.dark ion-segment,
html.dark-mode ion-segment,
html.dark ion-segment {
  --background: #1a1a1a !important;
}
body.dark-mode ion-segment ion-segment-button,
body.dark ion-segment ion-segment-button,
html.dark-mode ion-segment ion-segment-button,
html.dark ion-segment ion-segment-button {
  --background: transparent !important;
  --color: #a1a1aa !important;
  --indicator-color: #3b82f6 !important;
}
body.dark-mode ion-segment ion-segment-button.segment-button-checked,
body.dark ion-segment ion-segment-button.segment-button-checked,
html.dark-mode ion-segment ion-segment-button.segment-button-checked,
html.dark ion-segment ion-segment-button.segment-button-checked {
  --color: #f5f5f5 !important;
}
body.dark-mode ion-tab-bar,
body.dark ion-tab-bar,
html.dark-mode ion-tab-bar,
html.dark ion-tab-bar {
  --background: #1a1a1a !important;
  --color: #a1a1aa !important;
  background: #1a1a1a !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}
body.dark-mode ion-tab-bar ion-tab-button,
body.dark ion-tab-bar ion-tab-button,
html.dark-mode ion-tab-bar ion-tab-button,
html.dark ion-tab-bar ion-tab-button {
  --color: #a1a1aa !important;
  --color-selected: #3b82f6 !important;
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark h1,
body.dark h2,
body.dark h3,
body.dark h4,
body.dark h5,
body.dark h6,
html.dark-mode h1,
html.dark-mode h2,
html.dark-mode h3,
html.dark-mode h4,
html.dark-mode h5,
html.dark-mode h6,
html.dark h1,
html.dark h2,
html.dark h3,
html.dark h4,
html.dark h5,
html.dark h6 {
  color: #f5f5f5 !important;
}
body.dark-mode p,
body.dark p,
html.dark-mode p,
html.dark p {
  color: #a1a1aa !important;
}
body.dark-mode span,
body.dark span,
html.dark-mode span,
html.dark span {
  color: #a1a1aa !important;
}
body.dark-mode .content-wrapper:not(.minimal),
body.dark-mode .cdt-stats-card,
body.dark-mode .page-wrapper,
body.dark-mode .section-wrapper,
body.dark-mode .container,
body.dark .content-wrapper:not(.minimal),
body.dark .cdt-stats-card,
body.dark .page-wrapper,
body.dark .section-wrapper,
body.dark .container,
html.dark-mode .content-wrapper:not(.minimal),
html.dark-mode .cdt-stats-card,
html.dark-mode .page-wrapper,
html.dark-mode .section-wrapper,
html.dark-mode .container,
html.dark .content-wrapper:not(.minimal),
html.dark .cdt-stats-card,
html.dark .page-wrapper,
html.dark .section-wrapper,
html.dark .container {
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode table,
body.dark-mode .table,
body.dark-mode .table-wrapper,
body.dark-mode .shifts-table,
body.dark-mode .data-table,
body.dark table,
body.dark .table,
body.dark .table-wrapper,
body.dark .shifts-table,
body.dark .data-table,
html.dark-mode table,
html.dark-mode .table,
html.dark-mode .table-wrapper,
html.dark-mode .shifts-table,
html.dark-mode .data-table,
html.dark table,
html.dark .table,
html.dark .table-wrapper,
html.dark .shifts-table,
html.dark .data-table {
  background: #1a1a1a !important;
  color: #f5f5f5 !important;
}
body.dark-mode table th,
body.dark-mode table td,
body.dark-mode .table th,
body.dark-mode .table td,
body.dark-mode .table-wrapper th,
body.dark-mode .table-wrapper td,
body.dark-mode .shifts-table th,
body.dark-mode .shifts-table td,
body.dark-mode .data-table th,
body.dark-mode .data-table td,
body.dark table th,
body.dark table td,
body.dark .table th,
body.dark .table td,
body.dark .table-wrapper th,
body.dark .table-wrapper td,
body.dark .shifts-table th,
body.dark .shifts-table td,
body.dark .data-table th,
body.dark .data-table td,
html.dark-mode table th,
html.dark-mode table td,
html.dark-mode .table th,
html.dark-mode .table td,
html.dark-mode .table-wrapper th,
html.dark-mode .table-wrapper td,
html.dark-mode .shifts-table th,
html.dark-mode .shifts-table td,
html.dark-mode .data-table th,
html.dark-mode .data-table td,
html.dark table th,
html.dark table td,
html.dark .table th,
html.dark .table td,
html.dark .table-wrapper th,
html.dark .table-wrapper td,
html.dark .shifts-table th,
html.dark .shifts-table td,
html.dark .data-table th,
html.dark .data-table td {
  color: #f5f5f5 !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
}
body.dark-mode table thead,
body.dark-mode .table thead,
body.dark-mode .table-wrapper thead,
body.dark-mode .shifts-table thead,
body.dark-mode .data-table thead,
body.dark table thead,
body.dark .table thead,
body.dark .table-wrapper thead,
body.dark .shifts-table thead,
body.dark .data-table thead,
html.dark-mode table thead,
html.dark-mode .table thead,
html.dark-mode .table-wrapper thead,
html.dark-mode .shifts-table thead,
html.dark-mode .data-table thead,
html.dark table thead,
html.dark .table thead,
html.dark .table-wrapper thead,
html.dark .shifts-table thead,
html.dark .data-table thead {
  background: #1a1a1a !important;
}
body.dark-mode .sidebar,
body.dark-mode .tesla-sidebar,
body.dark-mode .side-menu,
body.dark .sidebar,
body.dark .tesla-sidebar,
body.dark .side-menu,
html.dark-mode .sidebar,
html.dark-mode .tesla-sidebar,
html.dark-mode .side-menu,
html.dark .sidebar,
html.dark .tesla-sidebar,
html.dark .side-menu {
  background: #1a1a1a !important;
  border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
}
body.dark-mode .section,
body.dark-mode .settings-group,
body.dark-mode .info-section,
body.dark .section,
body.dark .settings-group,
body.dark .info-section,
html.dark-mode .section,
html.dark-mode .settings-group,
html.dark-mode .info-section,
html.dark .section,
html.dark .settings-group,
html.dark .info-section {
  background: transparent !important;
}
body.dark-mode .inner-card,
body.dark-mode .nested-card,
body.dark-mode .content-card,
body.dark-mode .detail-card,
body.dark-mode .summary-card,
body.dark-mode .quick-action-card,
body.dark-mode .action-card,
body.dark-mode .metric-card,
body.dark-mode .data-card,
body.dark-mode .list-card,
body.dark-mode .form-card,
body.dark-mode .panel-card,
body.dark-mode .widget-card,
body.dark-mode .feature-card,
body.dark-mode .overview-card,
body.dark-mode .compact-card,
body.dark-mode .expense-item-card,
body.dark-mode .trip-card,
body.dark-mode .ride-card,
body.dark-mode .shift-card,
body.dark-mode .driver-card,
body.dark-mode .ticket-card,
body.dark-mode .notification-card,
body.dark-mode .alert-card,
body.dark-mode .warning-card,
body.dark-mode .success-card,
body.dark-mode .error-card,
body.dark-mode .accuracy-card,
body.dark-mode .fallback-card,
body.dark-mode .agenda-form-card,
body.dark-mode .day-items-card,
body.dark-mode ion-card ion-card,
body.dark-mode .card .card,
body.dark-mode .tesla-card .card,
body.dark-mode .tesla-card ion-card,
body.dark .inner-card,
body.dark .nested-card,
body.dark .content-card,
body.dark .detail-card,
body.dark .summary-card,
body.dark .quick-action-card,
body.dark .action-card,
body.dark .metric-card,
body.dark .data-card,
body.dark .list-card,
body.dark .form-card,
body.dark .panel-card,
body.dark .widget-card,
body.dark .feature-card,
body.dark .overview-card,
body.dark .compact-card,
body.dark .expense-item-card,
body.dark .trip-card,
body.dark .ride-card,
body.dark .shift-card,
body.dark .driver-card,
body.dark .ticket-card,
body.dark .notification-card,
body.dark .alert-card,
body.dark .warning-card,
body.dark .success-card,
body.dark .error-card,
body.dark .accuracy-card,
body.dark .fallback-card,
body.dark .agenda-form-card,
body.dark .day-items-card,
body.dark ion-card ion-card,
body.dark .card .card,
body.dark .tesla-card .card,
body.dark .tesla-card ion-card,
html.dark-mode .inner-card,
html.dark-mode .nested-card,
html.dark-mode .content-card,
html.dark-mode .detail-card,
html.dark-mode .summary-card,
html.dark-mode .quick-action-card,
html.dark-mode .action-card,
html.dark-mode .metric-card,
html.dark-mode .data-card,
html.dark-mode .list-card,
html.dark-mode .form-card,
html.dark-mode .panel-card,
html.dark-mode .widget-card,
html.dark-mode .feature-card,
html.dark-mode .overview-card,
html.dark-mode .compact-card,
html.dark-mode .expense-item-card,
html.dark-mode .trip-card,
html.dark-mode .ride-card,
html.dark-mode .shift-card,
html.dark-mode .driver-card,
html.dark-mode .ticket-card,
html.dark-mode .notification-card,
html.dark-mode .alert-card,
html.dark-mode .warning-card,
html.dark-mode .success-card,
html.dark-mode .error-card,
html.dark-mode .accuracy-card,
html.dark-mode .fallback-card,
html.dark-mode .agenda-form-card,
html.dark-mode .day-items-card,
html.dark-mode ion-card ion-card,
html.dark-mode .card .card,
html.dark-mode .tesla-card .card,
html.dark-mode .tesla-card ion-card,
html.dark .inner-card,
html.dark .nested-card,
html.dark .content-card,
html.dark .detail-card,
html.dark .summary-card,
html.dark .quick-action-card,
html.dark .action-card,
html.dark .metric-card,
html.dark .data-card,
html.dark .list-card,
html.dark .form-card,
html.dark .panel-card,
html.dark .widget-card,
html.dark .feature-card,
html.dark .overview-card,
html.dark .compact-card,
html.dark .expense-item-card,
html.dark .trip-card,
html.dark .ride-card,
html.dark .shift-card,
html.dark .driver-card,
html.dark .ticket-card,
html.dark .notification-card,
html.dark .alert-card,
html.dark .warning-card,
html.dark .success-card,
html.dark .error-card,
html.dark .accuracy-card,
html.dark .fallback-card,
html.dark .agenda-form-card,
html.dark .day-items-card,
html.dark ion-card ion-card,
html.dark .card .card,
html.dark .tesla-card .card,
html.dark .tesla-card ion-card {
  --background: #222222 !important;
  background: #222222 !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
body.dark-mode .inner-card ion-card-header,
body.dark-mode .inner-card .card-header,
body.dark-mode .nested-card ion-card-header,
body.dark-mode .nested-card .card-header,
body.dark-mode .content-card ion-card-header,
body.dark-mode .content-card .card-header,
body.dark-mode .detail-card ion-card-header,
body.dark-mode .detail-card .card-header,
body.dark-mode .summary-card ion-card-header,
body.dark-mode .summary-card .card-header,
body.dark-mode .quick-action-card ion-card-header,
body.dark-mode .quick-action-card .card-header,
body.dark-mode .action-card ion-card-header,
body.dark-mode .action-card .card-header,
body.dark-mode .metric-card ion-card-header,
body.dark-mode .metric-card .card-header,
body.dark-mode .data-card ion-card-header,
body.dark-mode .data-card .card-header,
body.dark-mode .list-card ion-card-header,
body.dark-mode .list-card .card-header,
body.dark-mode .form-card ion-card-header,
body.dark-mode .form-card .card-header,
body.dark-mode .panel-card ion-card-header,
body.dark-mode .panel-card .card-header,
body.dark-mode .widget-card ion-card-header,
body.dark-mode .widget-card .card-header,
body.dark-mode .feature-card ion-card-header,
body.dark-mode .feature-card .card-header,
body.dark-mode .overview-card ion-card-header,
body.dark-mode .overview-card .card-header,
body.dark-mode .compact-card ion-card-header,
body.dark-mode .compact-card .card-header,
body.dark-mode .expense-item-card ion-card-header,
body.dark-mode .expense-item-card .card-header,
body.dark-mode .trip-card ion-card-header,
body.dark-mode .trip-card .card-header,
body.dark-mode .ride-card ion-card-header,
body.dark-mode .ride-card .card-header,
body.dark-mode .shift-card ion-card-header,
body.dark-mode .shift-card .card-header,
body.dark-mode .driver-card ion-card-header,
body.dark-mode .driver-card .card-header,
body.dark-mode .ticket-card ion-card-header,
body.dark-mode .ticket-card .card-header,
body.dark-mode .notification-card ion-card-header,
body.dark-mode .notification-card .card-header,
body.dark-mode .alert-card ion-card-header,
body.dark-mode .alert-card .card-header,
body.dark-mode .warning-card ion-card-header,
body.dark-mode .warning-card .card-header,
body.dark-mode .success-card ion-card-header,
body.dark-mode .success-card .card-header,
body.dark-mode .error-card ion-card-header,
body.dark-mode .error-card .card-header,
body.dark-mode .accuracy-card ion-card-header,
body.dark-mode .accuracy-card .card-header,
body.dark-mode .fallback-card ion-card-header,
body.dark-mode .fallback-card .card-header,
body.dark-mode .agenda-form-card ion-card-header,
body.dark-mode .agenda-form-card .card-header,
body.dark-mode .day-items-card ion-card-header,
body.dark-mode .day-items-card .card-header,
body.dark-mode ion-card ion-card ion-card-header,
body.dark-mode ion-card ion-card .card-header,
body.dark-mode .card .card ion-card-header,
body.dark-mode .card .card .card-header,
body.dark-mode .tesla-card .card ion-card-header,
body.dark-mode .tesla-card .card .card-header,
body.dark-mode .tesla-card ion-card ion-card-header,
body.dark-mode .tesla-card ion-card .card-header,
body.dark .inner-card ion-card-header,
body.dark .inner-card .card-header,
body.dark .nested-card ion-card-header,
body.dark .nested-card .card-header,
body.dark .content-card ion-card-header,
body.dark .content-card .card-header,
body.dark .detail-card ion-card-header,
body.dark .detail-card .card-header,
body.dark .summary-card ion-card-header,
body.dark .summary-card .card-header,
body.dark .quick-action-card ion-card-header,
body.dark .quick-action-card .card-header,
body.dark .action-card ion-card-header,
body.dark .action-card .card-header,
body.dark .metric-card ion-card-header,
body.dark .metric-card .card-header,
body.dark .data-card ion-card-header,
body.dark .data-card .card-header,
body.dark .list-card ion-card-header,
body.dark .list-card .card-header,
body.dark .form-card ion-card-header,
body.dark .form-card .card-header,
body.dark .panel-card ion-card-header,
body.dark .panel-card .card-header,
body.dark .widget-card ion-card-header,
body.dark .widget-card .card-header,
body.dark .feature-card ion-card-header,
body.dark .feature-card .card-header,
body.dark .overview-card ion-card-header,
body.dark .overview-card .card-header,
body.dark .compact-card ion-card-header,
body.dark .compact-card .card-header,
body.dark .expense-item-card ion-card-header,
body.dark .expense-item-card .card-header,
body.dark .trip-card ion-card-header,
body.dark .trip-card .card-header,
body.dark .ride-card ion-card-header,
body.dark .ride-card .card-header,
body.dark .shift-card ion-card-header,
body.dark .shift-card .card-header,
body.dark .driver-card ion-card-header,
body.dark .driver-card .card-header,
body.dark .ticket-card ion-card-header,
body.dark .ticket-card .card-header,
body.dark .notification-card ion-card-header,
body.dark .notification-card .card-header,
body.dark .alert-card ion-card-header,
body.dark .alert-card .card-header,
body.dark .warning-card ion-card-header,
body.dark .warning-card .card-header,
body.dark .success-card ion-card-header,
body.dark .success-card .card-header,
body.dark .error-card ion-card-header,
body.dark .error-card .card-header,
body.dark .accuracy-card ion-card-header,
body.dark .accuracy-card .card-header,
body.dark .fallback-card ion-card-header,
body.dark .fallback-card .card-header,
body.dark .agenda-form-card ion-card-header,
body.dark .agenda-form-card .card-header,
body.dark .day-items-card ion-card-header,
body.dark .day-items-card .card-header,
body.dark ion-card ion-card ion-card-header,
body.dark ion-card ion-card .card-header,
body.dark .card .card ion-card-header,
body.dark .card .card .card-header,
body.dark .tesla-card .card ion-card-header,
body.dark .tesla-card .card .card-header,
body.dark .tesla-card ion-card ion-card-header,
body.dark .tesla-card ion-card .card-header,
html.dark-mode .inner-card ion-card-header,
html.dark-mode .inner-card .card-header,
html.dark-mode .nested-card ion-card-header,
html.dark-mode .nested-card .card-header,
html.dark-mode .content-card ion-card-header,
html.dark-mode .content-card .card-header,
html.dark-mode .detail-card ion-card-header,
html.dark-mode .detail-card .card-header,
html.dark-mode .summary-card ion-card-header,
html.dark-mode .summary-card .card-header,
html.dark-mode .quick-action-card ion-card-header,
html.dark-mode .quick-action-card .card-header,
html.dark-mode .action-card ion-card-header,
html.dark-mode .action-card .card-header,
html.dark-mode .metric-card ion-card-header,
html.dark-mode .metric-card .card-header,
html.dark-mode .data-card ion-card-header,
html.dark-mode .data-card .card-header,
html.dark-mode .list-card ion-card-header,
html.dark-mode .list-card .card-header,
html.dark-mode .form-card ion-card-header,
html.dark-mode .form-card .card-header,
html.dark-mode .panel-card ion-card-header,
html.dark-mode .panel-card .card-header,
html.dark-mode .widget-card ion-card-header,
html.dark-mode .widget-card .card-header,
html.dark-mode .feature-card ion-card-header,
html.dark-mode .feature-card .card-header,
html.dark-mode .overview-card ion-card-header,
html.dark-mode .overview-card .card-header,
html.dark-mode .compact-card ion-card-header,
html.dark-mode .compact-card .card-header,
html.dark-mode .expense-item-card ion-card-header,
html.dark-mode .expense-item-card .card-header,
html.dark-mode .trip-card ion-card-header,
html.dark-mode .trip-card .card-header,
html.dark-mode .ride-card ion-card-header,
html.dark-mode .ride-card .card-header,
html.dark-mode .shift-card ion-card-header,
html.dark-mode .shift-card .card-header,
html.dark-mode .driver-card ion-card-header,
html.dark-mode .driver-card .card-header,
html.dark-mode .ticket-card ion-card-header,
html.dark-mode .ticket-card .card-header,
html.dark-mode .notification-card ion-card-header,
html.dark-mode .notification-card .card-header,
html.dark-mode .alert-card ion-card-header,
html.dark-mode .alert-card .card-header,
html.dark-mode .warning-card ion-card-header,
html.dark-mode .warning-card .card-header,
html.dark-mode .success-card ion-card-header,
html.dark-mode .success-card .card-header,
html.dark-mode .error-card ion-card-header,
html.dark-mode .error-card .card-header,
html.dark-mode .accuracy-card ion-card-header,
html.dark-mode .accuracy-card .card-header,
html.dark-mode .fallback-card ion-card-header,
html.dark-mode .fallback-card .card-header,
html.dark-mode .agenda-form-card ion-card-header,
html.dark-mode .agenda-form-card .card-header,
html.dark-mode .day-items-card ion-card-header,
html.dark-mode .day-items-card .card-header,
html.dark-mode ion-card ion-card ion-card-header,
html.dark-mode ion-card ion-card .card-header,
html.dark-mode .card .card ion-card-header,
html.dark-mode .card .card .card-header,
html.dark-mode .tesla-card .card ion-card-header,
html.dark-mode .tesla-card .card .card-header,
html.dark-mode .tesla-card ion-card ion-card-header,
html.dark-mode .tesla-card ion-card .card-header,
html.dark .inner-card ion-card-header,
html.dark .inner-card .card-header,
html.dark .nested-card ion-card-header,
html.dark .nested-card .card-header,
html.dark .content-card ion-card-header,
html.dark .content-card .card-header,
html.dark .detail-card ion-card-header,
html.dark .detail-card .card-header,
html.dark .summary-card ion-card-header,
html.dark .summary-card .card-header,
html.dark .quick-action-card ion-card-header,
html.dark .quick-action-card .card-header,
html.dark .action-card ion-card-header,
html.dark .action-card .card-header,
html.dark .metric-card ion-card-header,
html.dark .metric-card .card-header,
html.dark .data-card ion-card-header,
html.dark .data-card .card-header,
html.dark .list-card ion-card-header,
html.dark .list-card .card-header,
html.dark .form-card ion-card-header,
html.dark .form-card .card-header,
html.dark .panel-card ion-card-header,
html.dark .panel-card .card-header,
html.dark .widget-card ion-card-header,
html.dark .widget-card .card-header,
html.dark .feature-card ion-card-header,
html.dark .feature-card .card-header,
html.dark .overview-card ion-card-header,
html.dark .overview-card .card-header,
html.dark .compact-card ion-card-header,
html.dark .compact-card .card-header,
html.dark .expense-item-card ion-card-header,
html.dark .expense-item-card .card-header,
html.dark .trip-card ion-card-header,
html.dark .trip-card .card-header,
html.dark .ride-card ion-card-header,
html.dark .ride-card .card-header,
html.dark .shift-card ion-card-header,
html.dark .shift-card .card-header,
html.dark .driver-card ion-card-header,
html.dark .driver-card .card-header,
html.dark .ticket-card ion-card-header,
html.dark .ticket-card .card-header,
html.dark .notification-card ion-card-header,
html.dark .notification-card .card-header,
html.dark .alert-card ion-card-header,
html.dark .alert-card .card-header,
html.dark .warning-card ion-card-header,
html.dark .warning-card .card-header,
html.dark .success-card ion-card-header,
html.dark .success-card .card-header,
html.dark .error-card ion-card-header,
html.dark .error-card .card-header,
html.dark .accuracy-card ion-card-header,
html.dark .accuracy-card .card-header,
html.dark .fallback-card ion-card-header,
html.dark .fallback-card .card-header,
html.dark .agenda-form-card ion-card-header,
html.dark .agenda-form-card .card-header,
html.dark .day-items-card ion-card-header,
html.dark .day-items-card .card-header,
html.dark ion-card ion-card ion-card-header,
html.dark ion-card ion-card .card-header,
html.dark .card .card ion-card-header,
html.dark .card .card .card-header,
html.dark .tesla-card .card ion-card-header,
html.dark .tesla-card .card .card-header,
html.dark .tesla-card ion-card ion-card-header,
html.dark .tesla-card ion-card .card-header {
  --background: #222222 !important;
  background: #222222 !important;
  color: #f5f5f5 !important;
}
body.dark-mode .inner-card ion-card-content,
body.dark-mode .inner-card .card-content,
body.dark-mode .nested-card ion-card-content,
body.dark-mode .nested-card .card-content,
body.dark-mode .content-card ion-card-content,
body.dark-mode .content-card .card-content,
body.dark-mode .detail-card ion-card-content,
body.dark-mode .detail-card .card-content,
body.dark-mode .summary-card ion-card-content,
body.dark-mode .summary-card .card-content,
body.dark-mode .quick-action-card ion-card-content,
body.dark-mode .quick-action-card .card-content,
body.dark-mode .action-card ion-card-content,
body.dark-mode .action-card .card-content,
body.dark-mode .metric-card ion-card-content,
body.dark-mode .metric-card .card-content,
body.dark-mode .data-card ion-card-content,
body.dark-mode .data-card .card-content,
body.dark-mode .list-card ion-card-content,
body.dark-mode .list-card .card-content,
body.dark-mode .form-card ion-card-content,
body.dark-mode .form-card .card-content,
body.dark-mode .panel-card ion-card-content,
body.dark-mode .panel-card .card-content,
body.dark-mode .widget-card ion-card-content,
body.dark-mode .widget-card .card-content,
body.dark-mode .feature-card ion-card-content,
body.dark-mode .feature-card .card-content,
body.dark-mode .overview-card ion-card-content,
body.dark-mode .overview-card .card-content,
body.dark-mode .compact-card ion-card-content,
body.dark-mode .compact-card .card-content,
body.dark-mode .expense-item-card ion-card-content,
body.dark-mode .expense-item-card .card-content,
body.dark-mode .trip-card ion-card-content,
body.dark-mode .trip-card .card-content,
body.dark-mode .ride-card ion-card-content,
body.dark-mode .ride-card .card-content,
body.dark-mode .shift-card ion-card-content,
body.dark-mode .shift-card .card-content,
body.dark-mode .driver-card ion-card-content,
body.dark-mode .driver-card .card-content,
body.dark-mode .ticket-card ion-card-content,
body.dark-mode .ticket-card .card-content,
body.dark-mode .notification-card ion-card-content,
body.dark-mode .notification-card .card-content,
body.dark-mode .alert-card ion-card-content,
body.dark-mode .alert-card .card-content,
body.dark-mode .warning-card ion-card-content,
body.dark-mode .warning-card .card-content,
body.dark-mode .success-card ion-card-content,
body.dark-mode .success-card .card-content,
body.dark-mode .error-card ion-card-content,
body.dark-mode .error-card .card-content,
body.dark-mode .accuracy-card ion-card-content,
body.dark-mode .accuracy-card .card-content,
body.dark-mode .fallback-card ion-card-content,
body.dark-mode .fallback-card .card-content,
body.dark-mode .agenda-form-card ion-card-content,
body.dark-mode .agenda-form-card .card-content,
body.dark-mode .day-items-card ion-card-content,
body.dark-mode .day-items-card .card-content,
body.dark-mode ion-card ion-card ion-card-content,
body.dark-mode ion-card ion-card .card-content,
body.dark-mode .card .card ion-card-content,
body.dark-mode .card .card .card-content,
body.dark-mode .tesla-card .card ion-card-content,
body.dark-mode .tesla-card .card .card-content,
body.dark-mode .tesla-card ion-card ion-card-content,
body.dark-mode .tesla-card ion-card .card-content,
body.dark .inner-card ion-card-content,
body.dark .inner-card .card-content,
body.dark .nested-card ion-card-content,
body.dark .nested-card .card-content,
body.dark .content-card ion-card-content,
body.dark .content-card .card-content,
body.dark .detail-card ion-card-content,
body.dark .detail-card .card-content,
body.dark .summary-card ion-card-content,
body.dark .summary-card .card-content,
body.dark .quick-action-card ion-card-content,
body.dark .quick-action-card .card-content,
body.dark .action-card ion-card-content,
body.dark .action-card .card-content,
body.dark .metric-card ion-card-content,
body.dark .metric-card .card-content,
body.dark .data-card ion-card-content,
body.dark .data-card .card-content,
body.dark .list-card ion-card-content,
body.dark .list-card .card-content,
body.dark .form-card ion-card-content,
body.dark .form-card .card-content,
body.dark .panel-card ion-card-content,
body.dark .panel-card .card-content,
body.dark .widget-card ion-card-content,
body.dark .widget-card .card-content,
body.dark .feature-card ion-card-content,
body.dark .feature-card .card-content,
body.dark .overview-card ion-card-content,
body.dark .overview-card .card-content,
body.dark .compact-card ion-card-content,
body.dark .compact-card .card-content,
body.dark .expense-item-card ion-card-content,
body.dark .expense-item-card .card-content,
body.dark .trip-card ion-card-content,
body.dark .trip-card .card-content,
body.dark .ride-card ion-card-content,
body.dark .ride-card .card-content,
body.dark .shift-card ion-card-content,
body.dark .shift-card .card-content,
body.dark .driver-card ion-card-content,
body.dark .driver-card .card-content,
body.dark .ticket-card ion-card-content,
body.dark .ticket-card .card-content,
body.dark .notification-card ion-card-content,
body.dark .notification-card .card-content,
body.dark .alert-card ion-card-content,
body.dark .alert-card .card-content,
body.dark .warning-card ion-card-content,
body.dark .warning-card .card-content,
body.dark .success-card ion-card-content,
body.dark .success-card .card-content,
body.dark .error-card ion-card-content,
body.dark .error-card .card-content,
body.dark .accuracy-card ion-card-content,
body.dark .accuracy-card .card-content,
body.dark .fallback-card ion-card-content,
body.dark .fallback-card .card-content,
body.dark .agenda-form-card ion-card-content,
body.dark .agenda-form-card .card-content,
body.dark .day-items-card ion-card-content,
body.dark .day-items-card .card-content,
body.dark ion-card ion-card ion-card-content,
body.dark ion-card ion-card .card-content,
body.dark .card .card ion-card-content,
body.dark .card .card .card-content,
body.dark .tesla-card .card ion-card-content,
body.dark .tesla-card .card .card-content,
body.dark .tesla-card ion-card ion-card-content,
body.dark .tesla-card ion-card .card-content,
html.dark-mode .inner-card ion-card-content,
html.dark-mode .inner-card .card-content,
html.dark-mode .nested-card ion-card-content,
html.dark-mode .nested-card .card-content,
html.dark-mode .content-card ion-card-content,
html.dark-mode .content-card .card-content,
html.dark-mode .detail-card ion-card-content,
html.dark-mode .detail-card .card-content,
html.dark-mode .summary-card ion-card-content,
html.dark-mode .summary-card .card-content,
html.dark-mode .quick-action-card ion-card-content,
html.dark-mode .quick-action-card .card-content,
html.dark-mode .action-card ion-card-content,
html.dark-mode .action-card .card-content,
html.dark-mode .metric-card ion-card-content,
html.dark-mode .metric-card .card-content,
html.dark-mode .data-card ion-card-content,
html.dark-mode .data-card .card-content,
html.dark-mode .list-card ion-card-content,
html.dark-mode .list-card .card-content,
html.dark-mode .form-card ion-card-content,
html.dark-mode .form-card .card-content,
html.dark-mode .panel-card ion-card-content,
html.dark-mode .panel-card .card-content,
html.dark-mode .widget-card ion-card-content,
html.dark-mode .widget-card .card-content,
html.dark-mode .feature-card ion-card-content,
html.dark-mode .feature-card .card-content,
html.dark-mode .overview-card ion-card-content,
html.dark-mode .overview-card .card-content,
html.dark-mode .compact-card ion-card-content,
html.dark-mode .compact-card .card-content,
html.dark-mode .expense-item-card ion-card-content,
html.dark-mode .expense-item-card .card-content,
html.dark-mode .trip-card ion-card-content,
html.dark-mode .trip-card .card-content,
html.dark-mode .ride-card ion-card-content,
html.dark-mode .ride-card .card-content,
html.dark-mode .shift-card ion-card-content,
html.dark-mode .shift-card .card-content,
html.dark-mode .driver-card ion-card-content,
html.dark-mode .driver-card .card-content,
html.dark-mode .ticket-card ion-card-content,
html.dark-mode .ticket-card .card-content,
html.dark-mode .notification-card ion-card-content,
html.dark-mode .notification-card .card-content,
html.dark-mode .alert-card ion-card-content,
html.dark-mode .alert-card .card-content,
html.dark-mode .warning-card ion-card-content,
html.dark-mode .warning-card .card-content,
html.dark-mode .success-card ion-card-content,
html.dark-mode .success-card .card-content,
html.dark-mode .error-card ion-card-content,
html.dark-mode .error-card .card-content,
html.dark-mode .accuracy-card ion-card-content,
html.dark-mode .accuracy-card .card-content,
html.dark-mode .fallback-card ion-card-content,
html.dark-mode .fallback-card .card-content,
html.dark-mode .agenda-form-card ion-card-content,
html.dark-mode .agenda-form-card .card-content,
html.dark-mode .day-items-card ion-card-content,
html.dark-mode .day-items-card .card-content,
html.dark-mode ion-card ion-card ion-card-content,
html.dark-mode ion-card ion-card .card-content,
html.dark-mode .card .card ion-card-content,
html.dark-mode .card .card .card-content,
html.dark-mode .tesla-card .card ion-card-content,
html.dark-mode .tesla-card .card .card-content,
html.dark-mode .tesla-card ion-card ion-card-content,
html.dark-mode .tesla-card ion-card .card-content,
html.dark .inner-card ion-card-content,
html.dark .inner-card .card-content,
html.dark .nested-card ion-card-content,
html.dark .nested-card .card-content,
html.dark .content-card ion-card-content,
html.dark .content-card .card-content,
html.dark .detail-card ion-card-content,
html.dark .detail-card .card-content,
html.dark .summary-card ion-card-content,
html.dark .summary-card .card-content,
html.dark .quick-action-card ion-card-content,
html.dark .quick-action-card .card-content,
html.dark .action-card ion-card-content,
html.dark .action-card .card-content,
html.dark .metric-card ion-card-content,
html.dark .metric-card .card-content,
html.dark .data-card ion-card-content,
html.dark .data-card .card-content,
html.dark .list-card ion-card-content,
html.dark .list-card .card-content,
html.dark .form-card ion-card-content,
html.dark .form-card .card-content,
html.dark .panel-card ion-card-content,
html.dark .panel-card .card-content,
html.dark .widget-card ion-card-content,
html.dark .widget-card .card-content,
html.dark .feature-card ion-card-content,
html.dark .feature-card .card-content,
html.dark .overview-card ion-card-content,
html.dark .overview-card .card-content,
html.dark .compact-card ion-card-content,
html.dark .compact-card .card-content,
html.dark .expense-item-card ion-card-content,
html.dark .expense-item-card .card-content,
html.dark .trip-card ion-card-content,
html.dark .trip-card .card-content,
html.dark .ride-card ion-card-content,
html.dark .ride-card .card-content,
html.dark .shift-card ion-card-content,
html.dark .shift-card .card-content,
html.dark .driver-card ion-card-content,
html.dark .driver-card .card-content,
html.dark .ticket-card ion-card-content,
html.dark .ticket-card .card-content,
html.dark .notification-card ion-card-content,
html.dark .notification-card .card-content,
html.dark .alert-card ion-card-content,
html.dark .alert-card .card-content,
html.dark .warning-card ion-card-content,
html.dark .warning-card .card-content,
html.dark .success-card ion-card-content,
html.dark .success-card .card-content,
html.dark .error-card ion-card-content,
html.dark .error-card .card-content,
html.dark .accuracy-card ion-card-content,
html.dark .accuracy-card .card-content,
html.dark .fallback-card ion-card-content,
html.dark .fallback-card .card-content,
html.dark .agenda-form-card ion-card-content,
html.dark .agenda-form-card .card-content,
html.dark .day-items-card ion-card-content,
html.dark .day-items-card .card-content,
html.dark ion-card ion-card ion-card-content,
html.dark ion-card ion-card .card-content,
html.dark .card .card ion-card-content,
html.dark .card .card .card-content,
html.dark .tesla-card .card ion-card-content,
html.dark .tesla-card .card .card-content,
html.dark .tesla-card ion-card ion-card-content,
html.dark .tesla-card ion-card .card-content {
  --background: #222222 !important;
  background: #222222 !important;
  color: #f5f5f5 !important;
}
body.dark-mode .inner-card ion-card-title,
body.dark-mode .inner-card .card-title,
body.dark-mode .inner-card h1,
body.dark-mode .inner-card h2,
body.dark-mode .inner-card h3,
body.dark-mode .inner-card h4,
body.dark-mode .inner-card h5,
body.dark-mode .inner-card h6,
body.dark-mode .nested-card ion-card-title,
body.dark-mode .nested-card .card-title,
body.dark-mode .nested-card h1,
body.dark-mode .nested-card h2,
body.dark-mode .nested-card h3,
body.dark-mode .nested-card h4,
body.dark-mode .nested-card h5,
body.dark-mode .nested-card h6,
body.dark-mode .content-card ion-card-title,
body.dark-mode .content-card .card-title,
body.dark-mode .content-card h1,
body.dark-mode .content-card h2,
body.dark-mode .content-card h3,
body.dark-mode .content-card h4,
body.dark-mode .content-card h5,
body.dark-mode .content-card h6,
body.dark-mode .detail-card ion-card-title,
body.dark-mode .detail-card .card-title,
body.dark-mode .detail-card h1,
body.dark-mode .detail-card h2,
body.dark-mode .detail-card h3,
body.dark-mode .detail-card h4,
body.dark-mode .detail-card h5,
body.dark-mode .detail-card h6,
body.dark-mode .summary-card ion-card-title,
body.dark-mode .summary-card .card-title,
body.dark-mode .summary-card h1,
body.dark-mode .summary-card h2,
body.dark-mode .summary-card h3,
body.dark-mode .summary-card h4,
body.dark-mode .summary-card h5,
body.dark-mode .summary-card h6,
body.dark-mode .quick-action-card ion-card-title,
body.dark-mode .quick-action-card .card-title,
body.dark-mode .quick-action-card h1,
body.dark-mode .quick-action-card h2,
body.dark-mode .quick-action-card h3,
body.dark-mode .quick-action-card h4,
body.dark-mode .quick-action-card h5,
body.dark-mode .quick-action-card h6,
body.dark-mode .action-card ion-card-title,
body.dark-mode .action-card .card-title,
body.dark-mode .action-card h1,
body.dark-mode .action-card h2,
body.dark-mode .action-card h3,
body.dark-mode .action-card h4,
body.dark-mode .action-card h5,
body.dark-mode .action-card h6,
body.dark-mode .metric-card ion-card-title,
body.dark-mode .metric-card .card-title,
body.dark-mode .metric-card h1,
body.dark-mode .metric-card h2,
body.dark-mode .metric-card h3,
body.dark-mode .metric-card h4,
body.dark-mode .metric-card h5,
body.dark-mode .metric-card h6,
body.dark-mode .data-card ion-card-title,
body.dark-mode .data-card .card-title,
body.dark-mode .data-card h1,
body.dark-mode .data-card h2,
body.dark-mode .data-card h3,
body.dark-mode .data-card h4,
body.dark-mode .data-card h5,
body.dark-mode .data-card h6,
body.dark-mode .list-card ion-card-title,
body.dark-mode .list-card .card-title,
body.dark-mode .list-card h1,
body.dark-mode .list-card h2,
body.dark-mode .list-card h3,
body.dark-mode .list-card h4,
body.dark-mode .list-card h5,
body.dark-mode .list-card h6,
body.dark-mode .form-card ion-card-title,
body.dark-mode .form-card .card-title,
body.dark-mode .form-card h1,
body.dark-mode .form-card h2,
body.dark-mode .form-card h3,
body.dark-mode .form-card h4,
body.dark-mode .form-card h5,
body.dark-mode .form-card h6,
body.dark-mode .panel-card ion-card-title,
body.dark-mode .panel-card .card-title,
body.dark-mode .panel-card h1,
body.dark-mode .panel-card h2,
body.dark-mode .panel-card h3,
body.dark-mode .panel-card h4,
body.dark-mode .panel-card h5,
body.dark-mode .panel-card h6,
body.dark-mode .widget-card ion-card-title,
body.dark-mode .widget-card .card-title,
body.dark-mode .widget-card h1,
body.dark-mode .widget-card h2,
body.dark-mode .widget-card h3,
body.dark-mode .widget-card h4,
body.dark-mode .widget-card h5,
body.dark-mode .widget-card h6,
body.dark-mode .feature-card ion-card-title,
body.dark-mode .feature-card .card-title,
body.dark-mode .feature-card h1,
body.dark-mode .feature-card h2,
body.dark-mode .feature-card h3,
body.dark-mode .feature-card h4,
body.dark-mode .feature-card h5,
body.dark-mode .feature-card h6,
body.dark-mode .overview-card ion-card-title,
body.dark-mode .overview-card .card-title,
body.dark-mode .overview-card h1,
body.dark-mode .overview-card h2,
body.dark-mode .overview-card h3,
body.dark-mode .overview-card h4,
body.dark-mode .overview-card h5,
body.dark-mode .overview-card h6,
body.dark-mode .compact-card ion-card-title,
body.dark-mode .compact-card .card-title,
body.dark-mode .compact-card h1,
body.dark-mode .compact-card h2,
body.dark-mode .compact-card h3,
body.dark-mode .compact-card h4,
body.dark-mode .compact-card h5,
body.dark-mode .compact-card h6,
body.dark-mode .expense-item-card ion-card-title,
body.dark-mode .expense-item-card .card-title,
body.dark-mode .expense-item-card h1,
body.dark-mode .expense-item-card h2,
body.dark-mode .expense-item-card h3,
body.dark-mode .expense-item-card h4,
body.dark-mode .expense-item-card h5,
body.dark-mode .expense-item-card h6,
body.dark-mode .trip-card ion-card-title,
body.dark-mode .trip-card .card-title,
body.dark-mode .trip-card h1,
body.dark-mode .trip-card h2,
body.dark-mode .trip-card h3,
body.dark-mode .trip-card h4,
body.dark-mode .trip-card h5,
body.dark-mode .trip-card h6,
body.dark-mode .ride-card ion-card-title,
body.dark-mode .ride-card .card-title,
body.dark-mode .ride-card h1,
body.dark-mode .ride-card h2,
body.dark-mode .ride-card h3,
body.dark-mode .ride-card h4,
body.dark-mode .ride-card h5,
body.dark-mode .ride-card h6,
body.dark-mode .shift-card ion-card-title,
body.dark-mode .shift-card .card-title,
body.dark-mode .shift-card h1,
body.dark-mode .shift-card h2,
body.dark-mode .shift-card h3,
body.dark-mode .shift-card h4,
body.dark-mode .shift-card h5,
body.dark-mode .shift-card h6,
body.dark-mode .driver-card ion-card-title,
body.dark-mode .driver-card .card-title,
body.dark-mode .driver-card h1,
body.dark-mode .driver-card h2,
body.dark-mode .driver-card h3,
body.dark-mode .driver-card h4,
body.dark-mode .driver-card h5,
body.dark-mode .driver-card h6,
body.dark-mode .ticket-card ion-card-title,
body.dark-mode .ticket-card .card-title,
body.dark-mode .ticket-card h1,
body.dark-mode .ticket-card h2,
body.dark-mode .ticket-card h3,
body.dark-mode .ticket-card h4,
body.dark-mode .ticket-card h5,
body.dark-mode .ticket-card h6,
body.dark-mode .notification-card ion-card-title,
body.dark-mode .notification-card .card-title,
body.dark-mode .notification-card h1,
body.dark-mode .notification-card h2,
body.dark-mode .notification-card h3,
body.dark-mode .notification-card h4,
body.dark-mode .notification-card h5,
body.dark-mode .notification-card h6,
body.dark-mode .alert-card ion-card-title,
body.dark-mode .alert-card .card-title,
body.dark-mode .alert-card h1,
body.dark-mode .alert-card h2,
body.dark-mode .alert-card h3,
body.dark-mode .alert-card h4,
body.dark-mode .alert-card h5,
body.dark-mode .alert-card h6,
body.dark-mode .warning-card ion-card-title,
body.dark-mode .warning-card .card-title,
body.dark-mode .warning-card h1,
body.dark-mode .warning-card h2,
body.dark-mode .warning-card h3,
body.dark-mode .warning-card h4,
body.dark-mode .warning-card h5,
body.dark-mode .warning-card h6,
body.dark-mode .success-card ion-card-title,
body.dark-mode .success-card .card-title,
body.dark-mode .success-card h1,
body.dark-mode .success-card h2,
body.dark-mode .success-card h3,
body.dark-mode .success-card h4,
body.dark-mode .success-card h5,
body.dark-mode .success-card h6,
body.dark-mode .error-card ion-card-title,
body.dark-mode .error-card .card-title,
body.dark-mode .error-card h1,
body.dark-mode .error-card h2,
body.dark-mode .error-card h3,
body.dark-mode .error-card h4,
body.dark-mode .error-card h5,
body.dark-mode .error-card h6,
body.dark-mode .accuracy-card ion-card-title,
body.dark-mode .accuracy-card .card-title,
body.dark-mode .accuracy-card h1,
body.dark-mode .accuracy-card h2,
body.dark-mode .accuracy-card h3,
body.dark-mode .accuracy-card h4,
body.dark-mode .accuracy-card h5,
body.dark-mode .accuracy-card h6,
body.dark-mode .fallback-card ion-card-title,
body.dark-mode .fallback-card .card-title,
body.dark-mode .fallback-card h1,
body.dark-mode .fallback-card h2,
body.dark-mode .fallback-card h3,
body.dark-mode .fallback-card h4,
body.dark-mode .fallback-card h5,
body.dark-mode .fallback-card h6,
body.dark-mode .agenda-form-card ion-card-title,
body.dark-mode .agenda-form-card .card-title,
body.dark-mode .agenda-form-card h1,
body.dark-mode .agenda-form-card h2,
body.dark-mode .agenda-form-card h3,
body.dark-mode .agenda-form-card h4,
body.dark-mode .agenda-form-card h5,
body.dark-mode .agenda-form-card h6,
body.dark-mode .day-items-card ion-card-title,
body.dark-mode .day-items-card .card-title,
body.dark-mode .day-items-card h1,
body.dark-mode .day-items-card h2,
body.dark-mode .day-items-card h3,
body.dark-mode .day-items-card h4,
body.dark-mode .day-items-card h5,
body.dark-mode .day-items-card h6,
body.dark-mode ion-card ion-card ion-card-title,
body.dark-mode ion-card ion-card .card-title,
body.dark-mode ion-card ion-card h1,
body.dark-mode ion-card ion-card h2,
body.dark-mode ion-card ion-card h3,
body.dark-mode ion-card ion-card h4,
body.dark-mode ion-card ion-card h5,
body.dark-mode ion-card ion-card h6,
body.dark-mode .card .card ion-card-title,
body.dark-mode .card .card .card-title,
body.dark-mode .card .card h1,
body.dark-mode .card .card h2,
body.dark-mode .card .card h3,
body.dark-mode .card .card h4,
body.dark-mode .card .card h5,
body.dark-mode .card .card h6,
body.dark-mode .tesla-card .card ion-card-title,
body.dark-mode .tesla-card .card .card-title,
body.dark-mode .tesla-card .card h1,
body.dark-mode .tesla-card .card h2,
body.dark-mode .tesla-card .card h3,
body.dark-mode .tesla-card .card h4,
body.dark-mode .tesla-card .card h5,
body.dark-mode .tesla-card .card h6,
body.dark-mode .tesla-card ion-card ion-card-title,
body.dark-mode .tesla-card ion-card .card-title,
body.dark-mode .tesla-card ion-card h1,
body.dark-mode .tesla-card ion-card h2,
body.dark-mode .tesla-card ion-card h3,
body.dark-mode .tesla-card ion-card h4,
body.dark-mode .tesla-card ion-card h5,
body.dark-mode .tesla-card ion-card h6,
body.dark .inner-card ion-card-title,
body.dark .inner-card .card-title,
body.dark .inner-card h1,
body.dark .inner-card h2,
body.dark .inner-card h3,
body.dark .inner-card h4,
body.dark .inner-card h5,
body.dark .inner-card h6,
body.dark .nested-card ion-card-title,
body.dark .nested-card .card-title,
body.dark .nested-card h1,
body.dark .nested-card h2,
body.dark .nested-card h3,
body.dark .nested-card h4,
body.dark .nested-card h5,
body.dark .nested-card h6,
body.dark .content-card ion-card-title,
body.dark .content-card .card-title,
body.dark .content-card h1,
body.dark .content-card h2,
body.dark .content-card h3,
body.dark .content-card h4,
body.dark .content-card h5,
body.dark .content-card h6,
body.dark .detail-card ion-card-title,
body.dark .detail-card .card-title,
body.dark .detail-card h1,
body.dark .detail-card h2,
body.dark .detail-card h3,
body.dark .detail-card h4,
body.dark .detail-card h5,
body.dark .detail-card h6,
body.dark .summary-card ion-card-title,
body.dark .summary-card .card-title,
body.dark .summary-card h1,
body.dark .summary-card h2,
body.dark .summary-card h3,
body.dark .summary-card h4,
body.dark .summary-card h5,
body.dark .summary-card h6,
body.dark .quick-action-card ion-card-title,
body.dark .quick-action-card .card-title,
body.dark .quick-action-card h1,
body.dark .quick-action-card h2,
body.dark .quick-action-card h3,
body.dark .quick-action-card h4,
body.dark .quick-action-card h5,
body.dark .quick-action-card h6,
body.dark .action-card ion-card-title,
body.dark .action-card .card-title,
body.dark .action-card h1,
body.dark .action-card h2,
body.dark .action-card h3,
body.dark .action-card h4,
body.dark .action-card h5,
body.dark .action-card h6,
body.dark .metric-card ion-card-title,
body.dark .metric-card .card-title,
body.dark .metric-card h1,
body.dark .metric-card h2,
body.dark .metric-card h3,
body.dark .metric-card h4,
body.dark .metric-card h5,
body.dark .metric-card h6,
body.dark .data-card ion-card-title,
body.dark .data-card .card-title,
body.dark .data-card h1,
body.dark .data-card h2,
body.dark .data-card h3,
body.dark .data-card h4,
body.dark .data-card h5,
body.dark .data-card h6,
body.dark .list-card ion-card-title,
body.dark .list-card .card-title,
body.dark .list-card h1,
body.dark .list-card h2,
body.dark .list-card h3,
body.dark .list-card h4,
body.dark .list-card h5,
body.dark .list-card h6,
body.dark .form-card ion-card-title,
body.dark .form-card .card-title,
body.dark .form-card h1,
body.dark .form-card h2,
body.dark .form-card h3,
body.dark .form-card h4,
body.dark .form-card h5,
body.dark .form-card h6,
body.dark .panel-card ion-card-title,
body.dark .panel-card .card-title,
body.dark .panel-card h1,
body.dark .panel-card h2,
body.dark .panel-card h3,
body.dark .panel-card h4,
body.dark .panel-card h5,
body.dark .panel-card h6,
body.dark .widget-card ion-card-title,
body.dark .widget-card .card-title,
body.dark .widget-card h1,
body.dark .widget-card h2,
body.dark .widget-card h3,
body.dark .widget-card h4,
body.dark .widget-card h5,
body.dark .widget-card h6,
body.dark .feature-card ion-card-title,
body.dark .feature-card .card-title,
body.dark .feature-card h1,
body.dark .feature-card h2,
body.dark .feature-card h3,
body.dark .feature-card h4,
body.dark .feature-card h5,
body.dark .feature-card h6,
body.dark .overview-card ion-card-title,
body.dark .overview-card .card-title,
body.dark .overview-card h1,
body.dark .overview-card h2,
body.dark .overview-card h3,
body.dark .overview-card h4,
body.dark .overview-card h5,
body.dark .overview-card h6,
body.dark .compact-card ion-card-title,
body.dark .compact-card .card-title,
body.dark .compact-card h1,
body.dark .compact-card h2,
body.dark .compact-card h3,
body.dark .compact-card h4,
body.dark .compact-card h5,
body.dark .compact-card h6,
body.dark .expense-item-card ion-card-title,
body.dark .expense-item-card .card-title,
body.dark .expense-item-card h1,
body.dark .expense-item-card h2,
body.dark .expense-item-card h3,
body.dark .expense-item-card h4,
body.dark .expense-item-card h5,
body.dark .expense-item-card h6,
body.dark .trip-card ion-card-title,
body.dark .trip-card .card-title,
body.dark .trip-card h1,
body.dark .trip-card h2,
body.dark .trip-card h3,
body.dark .trip-card h4,
body.dark .trip-card h5,
body.dark .trip-card h6,
body.dark .ride-card ion-card-title,
body.dark .ride-card .card-title,
body.dark .ride-card h1,
body.dark .ride-card h2,
body.dark .ride-card h3,
body.dark .ride-card h4,
body.dark .ride-card h5,
body.dark .ride-card h6,
body.dark .shift-card ion-card-title,
body.dark .shift-card .card-title,
body.dark .shift-card h1,
body.dark .shift-card h2,
body.dark .shift-card h3,
body.dark .shift-card h4,
body.dark .shift-card h5,
body.dark .shift-card h6,
body.dark .driver-card ion-card-title,
body.dark .driver-card .card-title,
body.dark .driver-card h1,
body.dark .driver-card h2,
body.dark .driver-card h3,
body.dark .driver-card h4,
body.dark .driver-card h5,
body.dark .driver-card h6,
body.dark .ticket-card ion-card-title,
body.dark .ticket-card .card-title,
body.dark .ticket-card h1,
body.dark .ticket-card h2,
body.dark .ticket-card h3,
body.dark .ticket-card h4,
body.dark .ticket-card h5,
body.dark .ticket-card h6,
body.dark .notification-card ion-card-title,
body.dark .notification-card .card-title,
body.dark .notification-card h1,
body.dark .notification-card h2,
body.dark .notification-card h3,
body.dark .notification-card h4,
body.dark .notification-card h5,
body.dark .notification-card h6,
body.dark .alert-card ion-card-title,
body.dark .alert-card .card-title,
body.dark .alert-card h1,
body.dark .alert-card h2,
body.dark .alert-card h3,
body.dark .alert-card h4,
body.dark .alert-card h5,
body.dark .alert-card h6,
body.dark .warning-card ion-card-title,
body.dark .warning-card .card-title,
body.dark .warning-card h1,
body.dark .warning-card h2,
body.dark .warning-card h3,
body.dark .warning-card h4,
body.dark .warning-card h5,
body.dark .warning-card h6,
body.dark .success-card ion-card-title,
body.dark .success-card .card-title,
body.dark .success-card h1,
body.dark .success-card h2,
body.dark .success-card h3,
body.dark .success-card h4,
body.dark .success-card h5,
body.dark .success-card h6,
body.dark .error-card ion-card-title,
body.dark .error-card .card-title,
body.dark .error-card h1,
body.dark .error-card h2,
body.dark .error-card h3,
body.dark .error-card h4,
body.dark .error-card h5,
body.dark .error-card h6,
body.dark .accuracy-card ion-card-title,
body.dark .accuracy-card .card-title,
body.dark .accuracy-card h1,
body.dark .accuracy-card h2,
body.dark .accuracy-card h3,
body.dark .accuracy-card h4,
body.dark .accuracy-card h5,
body.dark .accuracy-card h6,
body.dark .fallback-card ion-card-title,
body.dark .fallback-card .card-title,
body.dark .fallback-card h1,
body.dark .fallback-card h2,
body.dark .fallback-card h3,
body.dark .fallback-card h4,
body.dark .fallback-card h5,
body.dark .fallback-card h6,
body.dark .agenda-form-card ion-card-title,
body.dark .agenda-form-card .card-title,
body.dark .agenda-form-card h1,
body.dark .agenda-form-card h2,
body.dark .agenda-form-card h3,
body.dark .agenda-form-card h4,
body.dark .agenda-form-card h5,
body.dark .agenda-form-card h6,
body.dark .day-items-card ion-card-title,
body.dark .day-items-card .card-title,
body.dark .day-items-card h1,
body.dark .day-items-card h2,
body.dark .day-items-card h3,
body.dark .day-items-card h4,
body.dark .day-items-card h5,
body.dark .day-items-card h6,
body.dark ion-card ion-card ion-card-title,
body.dark ion-card ion-card .card-title,
body.dark ion-card ion-card h1,
body.dark ion-card ion-card h2,
body.dark ion-card ion-card h3,
body.dark ion-card ion-card h4,
body.dark ion-card ion-card h5,
body.dark ion-card ion-card h6,
body.dark .card .card ion-card-title,
body.dark .card .card .card-title,
body.dark .card .card h1,
body.dark .card .card h2,
body.dark .card .card h3,
body.dark .card .card h4,
body.dark .card .card h5,
body.dark .card .card h6,
body.dark .tesla-card .card ion-card-title,
body.dark .tesla-card .card .card-title,
body.dark .tesla-card .card h1,
body.dark .tesla-card .card h2,
body.dark .tesla-card .card h3,
body.dark .tesla-card .card h4,
body.dark .tesla-card .card h5,
body.dark .tesla-card .card h6,
body.dark .tesla-card ion-card ion-card-title,
body.dark .tesla-card ion-card .card-title,
body.dark .tesla-card ion-card h1,
body.dark .tesla-card ion-card h2,
body.dark .tesla-card ion-card h3,
body.dark .tesla-card ion-card h4,
body.dark .tesla-card ion-card h5,
body.dark .tesla-card ion-card h6,
html.dark-mode .inner-card ion-card-title,
html.dark-mode .inner-card .card-title,
html.dark-mode .inner-card h1,
html.dark-mode .inner-card h2,
html.dark-mode .inner-card h3,
html.dark-mode .inner-card h4,
html.dark-mode .inner-card h5,
html.dark-mode .inner-card h6,
html.dark-mode .nested-card ion-card-title,
html.dark-mode .nested-card .card-title,
html.dark-mode .nested-card h1,
html.dark-mode .nested-card h2,
html.dark-mode .nested-card h3,
html.dark-mode .nested-card h4,
html.dark-mode .nested-card h5,
html.dark-mode .nested-card h6,
html.dark-mode .content-card ion-card-title,
html.dark-mode .content-card .card-title,
html.dark-mode .content-card h1,
html.dark-mode .content-card h2,
html.dark-mode .content-card h3,
html.dark-mode .content-card h4,
html.dark-mode .content-card h5,
html.dark-mode .content-card h6,
html.dark-mode .detail-card ion-card-title,
html.dark-mode .detail-card .card-title,
html.dark-mode .detail-card h1,
html.dark-mode .detail-card h2,
html.dark-mode .detail-card h3,
html.dark-mode .detail-card h4,
html.dark-mode .detail-card h5,
html.dark-mode .detail-card h6,
html.dark-mode .summary-card ion-card-title,
html.dark-mode .summary-card .card-title,
html.dark-mode .summary-card h1,
html.dark-mode .summary-card h2,
html.dark-mode .summary-card h3,
html.dark-mode .summary-card h4,
html.dark-mode .summary-card h5,
html.dark-mode .summary-card h6,
html.dark-mode .quick-action-card ion-card-title,
html.dark-mode .quick-action-card .card-title,
html.dark-mode .quick-action-card h1,
html.dark-mode .quick-action-card h2,
html.dark-mode .quick-action-card h3,
html.dark-mode .quick-action-card h4,
html.dark-mode .quick-action-card h5,
html.dark-mode .quick-action-card h6,
html.dark-mode .action-card ion-card-title,
html.dark-mode .action-card .card-title,
html.dark-mode .action-card h1,
html.dark-mode .action-card h2,
html.dark-mode .action-card h3,
html.dark-mode .action-card h4,
html.dark-mode .action-card h5,
html.dark-mode .action-card h6,
html.dark-mode .metric-card ion-card-title,
html.dark-mode .metric-card .card-title,
html.dark-mode .metric-card h1,
html.dark-mode .metric-card h2,
html.dark-mode .metric-card h3,
html.dark-mode .metric-card h4,
html.dark-mode .metric-card h5,
html.dark-mode .metric-card h6,
html.dark-mode .data-card ion-card-title,
html.dark-mode .data-card .card-title,
html.dark-mode .data-card h1,
html.dark-mode .data-card h2,
html.dark-mode .data-card h3,
html.dark-mode .data-card h4,
html.dark-mode .data-card h5,
html.dark-mode .data-card h6,
html.dark-mode .list-card ion-card-title,
html.dark-mode .list-card .card-title,
html.dark-mode .list-card h1,
html.dark-mode .list-card h2,
html.dark-mode .list-card h3,
html.dark-mode .list-card h4,
html.dark-mode .list-card h5,
html.dark-mode .list-card h6,
html.dark-mode .form-card ion-card-title,
html.dark-mode .form-card .card-title,
html.dark-mode .form-card h1,
html.dark-mode .form-card h2,
html.dark-mode .form-card h3,
html.dark-mode .form-card h4,
html.dark-mode .form-card h5,
html.dark-mode .form-card h6,
html.dark-mode .panel-card ion-card-title,
html.dark-mode .panel-card .card-title,
html.dark-mode .panel-card h1,
html.dark-mode .panel-card h2,
html.dark-mode .panel-card h3,
html.dark-mode .panel-card h4,
html.dark-mode .panel-card h5,
html.dark-mode .panel-card h6,
html.dark-mode .widget-card ion-card-title,
html.dark-mode .widget-card .card-title,
html.dark-mode .widget-card h1,
html.dark-mode .widget-card h2,
html.dark-mode .widget-card h3,
html.dark-mode .widget-card h4,
html.dark-mode .widget-card h5,
html.dark-mode .widget-card h6,
html.dark-mode .feature-card ion-card-title,
html.dark-mode .feature-card .card-title,
html.dark-mode .feature-card h1,
html.dark-mode .feature-card h2,
html.dark-mode .feature-card h3,
html.dark-mode .feature-card h4,
html.dark-mode .feature-card h5,
html.dark-mode .feature-card h6,
html.dark-mode .overview-card ion-card-title,
html.dark-mode .overview-card .card-title,
html.dark-mode .overview-card h1,
html.dark-mode .overview-card h2,
html.dark-mode .overview-card h3,
html.dark-mode .overview-card h4,
html.dark-mode .overview-card h5,
html.dark-mode .overview-card h6,
html.dark-mode .compact-card ion-card-title,
html.dark-mode .compact-card .card-title,
html.dark-mode .compact-card h1,
html.dark-mode .compact-card h2,
html.dark-mode .compact-card h3,
html.dark-mode .compact-card h4,
html.dark-mode .compact-card h5,
html.dark-mode .compact-card h6,
html.dark-mode .expense-item-card ion-card-title,
html.dark-mode .expense-item-card .card-title,
html.dark-mode .expense-item-card h1,
html.dark-mode .expense-item-card h2,
html.dark-mode .expense-item-card h3,
html.dark-mode .expense-item-card h4,
html.dark-mode .expense-item-card h5,
html.dark-mode .expense-item-card h6,
html.dark-mode .trip-card ion-card-title,
html.dark-mode .trip-card .card-title,
html.dark-mode .trip-card h1,
html.dark-mode .trip-card h2,
html.dark-mode .trip-card h3,
html.dark-mode .trip-card h4,
html.dark-mode .trip-card h5,
html.dark-mode .trip-card h6,
html.dark-mode .ride-card ion-card-title,
html.dark-mode .ride-card .card-title,
html.dark-mode .ride-card h1,
html.dark-mode .ride-card h2,
html.dark-mode .ride-card h3,
html.dark-mode .ride-card h4,
html.dark-mode .ride-card h5,
html.dark-mode .ride-card h6,
html.dark-mode .shift-card ion-card-title,
html.dark-mode .shift-card .card-title,
html.dark-mode .shift-card h1,
html.dark-mode .shift-card h2,
html.dark-mode .shift-card h3,
html.dark-mode .shift-card h4,
html.dark-mode .shift-card h5,
html.dark-mode .shift-card h6,
html.dark-mode .driver-card ion-card-title,
html.dark-mode .driver-card .card-title,
html.dark-mode .driver-card h1,
html.dark-mode .driver-card h2,
html.dark-mode .driver-card h3,
html.dark-mode .driver-card h4,
html.dark-mode .driver-card h5,
html.dark-mode .driver-card h6,
html.dark-mode .ticket-card ion-card-title,
html.dark-mode .ticket-card .card-title,
html.dark-mode .ticket-card h1,
html.dark-mode .ticket-card h2,
html.dark-mode .ticket-card h3,
html.dark-mode .ticket-card h4,
html.dark-mode .ticket-card h5,
html.dark-mode .ticket-card h6,
html.dark-mode .notification-card ion-card-title,
html.dark-mode .notification-card .card-title,
html.dark-mode .notification-card h1,
html.dark-mode .notification-card h2,
html.dark-mode .notification-card h3,
html.dark-mode .notification-card h4,
html.dark-mode .notification-card h5,
html.dark-mode .notification-card h6,
html.dark-mode .alert-card ion-card-title,
html.dark-mode .alert-card .card-title,
html.dark-mode .alert-card h1,
html.dark-mode .alert-card h2,
html.dark-mode .alert-card h3,
html.dark-mode .alert-card h4,
html.dark-mode .alert-card h5,
html.dark-mode .alert-card h6,
html.dark-mode .warning-card ion-card-title,
html.dark-mode .warning-card .card-title,
html.dark-mode .warning-card h1,
html.dark-mode .warning-card h2,
html.dark-mode .warning-card h3,
html.dark-mode .warning-card h4,
html.dark-mode .warning-card h5,
html.dark-mode .warning-card h6,
html.dark-mode .success-card ion-card-title,
html.dark-mode .success-card .card-title,
html.dark-mode .success-card h1,
html.dark-mode .success-card h2,
html.dark-mode .success-card h3,
html.dark-mode .success-card h4,
html.dark-mode .success-card h5,
html.dark-mode .success-card h6,
html.dark-mode .error-card ion-card-title,
html.dark-mode .error-card .card-title,
html.dark-mode .error-card h1,
html.dark-mode .error-card h2,
html.dark-mode .error-card h3,
html.dark-mode .error-card h4,
html.dark-mode .error-card h5,
html.dark-mode .error-card h6,
html.dark-mode .accuracy-card ion-card-title,
html.dark-mode .accuracy-card .card-title,
html.dark-mode .accuracy-card h1,
html.dark-mode .accuracy-card h2,
html.dark-mode .accuracy-card h3,
html.dark-mode .accuracy-card h4,
html.dark-mode .accuracy-card h5,
html.dark-mode .accuracy-card h6,
html.dark-mode .fallback-card ion-card-title,
html.dark-mode .fallback-card .card-title,
html.dark-mode .fallback-card h1,
html.dark-mode .fallback-card h2,
html.dark-mode .fallback-card h3,
html.dark-mode .fallback-card h4,
html.dark-mode .fallback-card h5,
html.dark-mode .fallback-card h6,
html.dark-mode .agenda-form-card ion-card-title,
html.dark-mode .agenda-form-card .card-title,
html.dark-mode .agenda-form-card h1,
html.dark-mode .agenda-form-card h2,
html.dark-mode .agenda-form-card h3,
html.dark-mode .agenda-form-card h4,
html.dark-mode .agenda-form-card h5,
html.dark-mode .agenda-form-card h6,
html.dark-mode .day-items-card ion-card-title,
html.dark-mode .day-items-card .card-title,
html.dark-mode .day-items-card h1,
html.dark-mode .day-items-card h2,
html.dark-mode .day-items-card h3,
html.dark-mode .day-items-card h4,
html.dark-mode .day-items-card h5,
html.dark-mode .day-items-card h6,
html.dark-mode ion-card ion-card ion-card-title,
html.dark-mode ion-card ion-card .card-title,
html.dark-mode ion-card ion-card h1,
html.dark-mode ion-card ion-card h2,
html.dark-mode ion-card ion-card h3,
html.dark-mode ion-card ion-card h4,
html.dark-mode ion-card ion-card h5,
html.dark-mode ion-card ion-card h6,
html.dark-mode .card .card ion-card-title,
html.dark-mode .card .card .card-title,
html.dark-mode .card .card h1,
html.dark-mode .card .card h2,
html.dark-mode .card .card h3,
html.dark-mode .card .card h4,
html.dark-mode .card .card h5,
html.dark-mode .card .card h6,
html.dark-mode .tesla-card .card ion-card-title,
html.dark-mode .tesla-card .card .card-title,
html.dark-mode .tesla-card .card h1,
html.dark-mode .tesla-card .card h2,
html.dark-mode .tesla-card .card h3,
html.dark-mode .tesla-card .card h4,
html.dark-mode .tesla-card .card h5,
html.dark-mode .tesla-card .card h6,
html.dark-mode .tesla-card ion-card ion-card-title,
html.dark-mode .tesla-card ion-card .card-title,
html.dark-mode .tesla-card ion-card h1,
html.dark-mode .tesla-card ion-card h2,
html.dark-mode .tesla-card ion-card h3,
html.dark-mode .tesla-card ion-card h4,
html.dark-mode .tesla-card ion-card h5,
html.dark-mode .tesla-card ion-card h6,
html.dark .inner-card ion-card-title,
html.dark .inner-card .card-title,
html.dark .inner-card h1,
html.dark .inner-card h2,
html.dark .inner-card h3,
html.dark .inner-card h4,
html.dark .inner-card h5,
html.dark .inner-card h6,
html.dark .nested-card ion-card-title,
html.dark .nested-card .card-title,
html.dark .nested-card h1,
html.dark .nested-card h2,
html.dark .nested-card h3,
html.dark .nested-card h4,
html.dark .nested-card h5,
html.dark .nested-card h6,
html.dark .content-card ion-card-title,
html.dark .content-card .card-title,
html.dark .content-card h1,
html.dark .content-card h2,
html.dark .content-card h3,
html.dark .content-card h4,
html.dark .content-card h5,
html.dark .content-card h6,
html.dark .detail-card ion-card-title,
html.dark .detail-card .card-title,
html.dark .detail-card h1,
html.dark .detail-card h2,
html.dark .detail-card h3,
html.dark .detail-card h4,
html.dark .detail-card h5,
html.dark .detail-card h6,
html.dark .summary-card ion-card-title,
html.dark .summary-card .card-title,
html.dark .summary-card h1,
html.dark .summary-card h2,
html.dark .summary-card h3,
html.dark .summary-card h4,
html.dark .summary-card h5,
html.dark .summary-card h6,
html.dark .quick-action-card ion-card-title,
html.dark .quick-action-card .card-title,
html.dark .quick-action-card h1,
html.dark .quick-action-card h2,
html.dark .quick-action-card h3,
html.dark .quick-action-card h4,
html.dark .quick-action-card h5,
html.dark .quick-action-card h6,
html.dark .action-card ion-card-title,
html.dark .action-card .card-title,
html.dark .action-card h1,
html.dark .action-card h2,
html.dark .action-card h3,
html.dark .action-card h4,
html.dark .action-card h5,
html.dark .action-card h6,
html.dark .metric-card ion-card-title,
html.dark .metric-card .card-title,
html.dark .metric-card h1,
html.dark .metric-card h2,
html.dark .metric-card h3,
html.dark .metric-card h4,
html.dark .metric-card h5,
html.dark .metric-card h6,
html.dark .data-card ion-card-title,
html.dark .data-card .card-title,
html.dark .data-card h1,
html.dark .data-card h2,
html.dark .data-card h3,
html.dark .data-card h4,
html.dark .data-card h5,
html.dark .data-card h6,
html.dark .list-card ion-card-title,
html.dark .list-card .card-title,
html.dark .list-card h1,
html.dark .list-card h2,
html.dark .list-card h3,
html.dark .list-card h4,
html.dark .list-card h5,
html.dark .list-card h6,
html.dark .form-card ion-card-title,
html.dark .form-card .card-title,
html.dark .form-card h1,
html.dark .form-card h2,
html.dark .form-card h3,
html.dark .form-card h4,
html.dark .form-card h5,
html.dark .form-card h6,
html.dark .panel-card ion-card-title,
html.dark .panel-card .card-title,
html.dark .panel-card h1,
html.dark .panel-card h2,
html.dark .panel-card h3,
html.dark .panel-card h4,
html.dark .panel-card h5,
html.dark .panel-card h6,
html.dark .widget-card ion-card-title,
html.dark .widget-card .card-title,
html.dark .widget-card h1,
html.dark .widget-card h2,
html.dark .widget-card h3,
html.dark .widget-card h4,
html.dark .widget-card h5,
html.dark .widget-card h6,
html.dark .feature-card ion-card-title,
html.dark .feature-card .card-title,
html.dark .feature-card h1,
html.dark .feature-card h2,
html.dark .feature-card h3,
html.dark .feature-card h4,
html.dark .feature-card h5,
html.dark .feature-card h6,
html.dark .overview-card ion-card-title,
html.dark .overview-card .card-title,
html.dark .overview-card h1,
html.dark .overview-card h2,
html.dark .overview-card h3,
html.dark .overview-card h4,
html.dark .overview-card h5,
html.dark .overview-card h6,
html.dark .compact-card ion-card-title,
html.dark .compact-card .card-title,
html.dark .compact-card h1,
html.dark .compact-card h2,
html.dark .compact-card h3,
html.dark .compact-card h4,
html.dark .compact-card h5,
html.dark .compact-card h6,
html.dark .expense-item-card ion-card-title,
html.dark .expense-item-card .card-title,
html.dark .expense-item-card h1,
html.dark .expense-item-card h2,
html.dark .expense-item-card h3,
html.dark .expense-item-card h4,
html.dark .expense-item-card h5,
html.dark .expense-item-card h6,
html.dark .trip-card ion-card-title,
html.dark .trip-card .card-title,
html.dark .trip-card h1,
html.dark .trip-card h2,
html.dark .trip-card h3,
html.dark .trip-card h4,
html.dark .trip-card h5,
html.dark .trip-card h6,
html.dark .ride-card ion-card-title,
html.dark .ride-card .card-title,
html.dark .ride-card h1,
html.dark .ride-card h2,
html.dark .ride-card h3,
html.dark .ride-card h4,
html.dark .ride-card h5,
html.dark .ride-card h6,
html.dark .shift-card ion-card-title,
html.dark .shift-card .card-title,
html.dark .shift-card h1,
html.dark .shift-card h2,
html.dark .shift-card h3,
html.dark .shift-card h4,
html.dark .shift-card h5,
html.dark .shift-card h6,
html.dark .driver-card ion-card-title,
html.dark .driver-card .card-title,
html.dark .driver-card h1,
html.dark .driver-card h2,
html.dark .driver-card h3,
html.dark .driver-card h4,
html.dark .driver-card h5,
html.dark .driver-card h6,
html.dark .ticket-card ion-card-title,
html.dark .ticket-card .card-title,
html.dark .ticket-card h1,
html.dark .ticket-card h2,
html.dark .ticket-card h3,
html.dark .ticket-card h4,
html.dark .ticket-card h5,
html.dark .ticket-card h6,
html.dark .notification-card ion-card-title,
html.dark .notification-card .card-title,
html.dark .notification-card h1,
html.dark .notification-card h2,
html.dark .notification-card h3,
html.dark .notification-card h4,
html.dark .notification-card h5,
html.dark .notification-card h6,
html.dark .alert-card ion-card-title,
html.dark .alert-card .card-title,
html.dark .alert-card h1,
html.dark .alert-card h2,
html.dark .alert-card h3,
html.dark .alert-card h4,
html.dark .alert-card h5,
html.dark .alert-card h6,
html.dark .warning-card ion-card-title,
html.dark .warning-card .card-title,
html.dark .warning-card h1,
html.dark .warning-card h2,
html.dark .warning-card h3,
html.dark .warning-card h4,
html.dark .warning-card h5,
html.dark .warning-card h6,
html.dark .success-card ion-card-title,
html.dark .success-card .card-title,
html.dark .success-card h1,
html.dark .success-card h2,
html.dark .success-card h3,
html.dark .success-card h4,
html.dark .success-card h5,
html.dark .success-card h6,
html.dark .error-card ion-card-title,
html.dark .error-card .card-title,
html.dark .error-card h1,
html.dark .error-card h2,
html.dark .error-card h3,
html.dark .error-card h4,
html.dark .error-card h5,
html.dark .error-card h6,
html.dark .accuracy-card ion-card-title,
html.dark .accuracy-card .card-title,
html.dark .accuracy-card h1,
html.dark .accuracy-card h2,
html.dark .accuracy-card h3,
html.dark .accuracy-card h4,
html.dark .accuracy-card h5,
html.dark .accuracy-card h6,
html.dark .fallback-card ion-card-title,
html.dark .fallback-card .card-title,
html.dark .fallback-card h1,
html.dark .fallback-card h2,
html.dark .fallback-card h3,
html.dark .fallback-card h4,
html.dark .fallback-card h5,
html.dark .fallback-card h6,
html.dark .agenda-form-card ion-card-title,
html.dark .agenda-form-card .card-title,
html.dark .agenda-form-card h1,
html.dark .agenda-form-card h2,
html.dark .agenda-form-card h3,
html.dark .agenda-form-card h4,
html.dark .agenda-form-card h5,
html.dark .agenda-form-card h6,
html.dark .day-items-card ion-card-title,
html.dark .day-items-card .card-title,
html.dark .day-items-card h1,
html.dark .day-items-card h2,
html.dark .day-items-card h3,
html.dark .day-items-card h4,
html.dark .day-items-card h5,
html.dark .day-items-card h6,
html.dark ion-card ion-card ion-card-title,
html.dark ion-card ion-card .card-title,
html.dark ion-card ion-card h1,
html.dark ion-card ion-card h2,
html.dark ion-card ion-card h3,
html.dark ion-card ion-card h4,
html.dark ion-card ion-card h5,
html.dark ion-card ion-card h6,
html.dark .card .card ion-card-title,
html.dark .card .card .card-title,
html.dark .card .card h1,
html.dark .card .card h2,
html.dark .card .card h3,
html.dark .card .card h4,
html.dark .card .card h5,
html.dark .card .card h6,
html.dark .tesla-card .card ion-card-title,
html.dark .tesla-card .card .card-title,
html.dark .tesla-card .card h1,
html.dark .tesla-card .card h2,
html.dark .tesla-card .card h3,
html.dark .tesla-card .card h4,
html.dark .tesla-card .card h5,
html.dark .tesla-card .card h6,
html.dark .tesla-card ion-card ion-card-title,
html.dark .tesla-card ion-card .card-title,
html.dark .tesla-card ion-card h1,
html.dark .tesla-card ion-card h2,
html.dark .tesla-card ion-card h3,
html.dark .tesla-card ion-card h4,
html.dark .tesla-card ion-card h5,
html.dark .tesla-card ion-card h6 {
  color: #f5f5f5 !important;
}
body.dark-mode .inner-card ion-card-subtitle,
body.dark-mode .inner-card .card-subtitle,
body.dark-mode .inner-card p,
body.dark-mode .inner-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .nested-card ion-card-subtitle,
body.dark-mode .nested-card .card-subtitle,
body.dark-mode .nested-card p,
body.dark-mode .nested-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .content-card ion-card-subtitle,
body.dark-mode .content-card .card-subtitle,
body.dark-mode .content-card p,
body.dark-mode .content-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .detail-card ion-card-subtitle,
body.dark-mode .detail-card .card-subtitle,
body.dark-mode .detail-card p,
body.dark-mode .detail-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .summary-card ion-card-subtitle,
body.dark-mode .summary-card .card-subtitle,
body.dark-mode .summary-card p,
body.dark-mode .summary-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .quick-action-card ion-card-subtitle,
body.dark-mode .quick-action-card .card-subtitle,
body.dark-mode .quick-action-card p,
body.dark-mode .quick-action-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .action-card ion-card-subtitle,
body.dark-mode .action-card .card-subtitle,
body.dark-mode .action-card p,
body.dark-mode .action-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .metric-card ion-card-subtitle,
body.dark-mode .metric-card .card-subtitle,
body.dark-mode .metric-card p,
body.dark-mode .metric-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .data-card ion-card-subtitle,
body.dark-mode .data-card .card-subtitle,
body.dark-mode .data-card p,
body.dark-mode .data-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .list-card ion-card-subtitle,
body.dark-mode .list-card .card-subtitle,
body.dark-mode .list-card p,
body.dark-mode .list-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .form-card ion-card-subtitle,
body.dark-mode .form-card .card-subtitle,
body.dark-mode .form-card p,
body.dark-mode .form-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .panel-card ion-card-subtitle,
body.dark-mode .panel-card .card-subtitle,
body.dark-mode .panel-card p,
body.dark-mode .panel-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .widget-card ion-card-subtitle,
body.dark-mode .widget-card .card-subtitle,
body.dark-mode .widget-card p,
body.dark-mode .widget-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .feature-card ion-card-subtitle,
body.dark-mode .feature-card .card-subtitle,
body.dark-mode .feature-card p,
body.dark-mode .feature-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .overview-card ion-card-subtitle,
body.dark-mode .overview-card .card-subtitle,
body.dark-mode .overview-card p,
body.dark-mode .overview-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .compact-card ion-card-subtitle,
body.dark-mode .compact-card .card-subtitle,
body.dark-mode .compact-card p,
body.dark-mode .compact-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .expense-item-card ion-card-subtitle,
body.dark-mode .expense-item-card .card-subtitle,
body.dark-mode .expense-item-card p,
body.dark-mode .expense-item-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .trip-card ion-card-subtitle,
body.dark-mode .trip-card .card-subtitle,
body.dark-mode .trip-card p,
body.dark-mode .trip-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .ride-card ion-card-subtitle,
body.dark-mode .ride-card .card-subtitle,
body.dark-mode .ride-card p,
body.dark-mode .ride-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .shift-card ion-card-subtitle,
body.dark-mode .shift-card .card-subtitle,
body.dark-mode .shift-card p,
body.dark-mode .shift-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .driver-card ion-card-subtitle,
body.dark-mode .driver-card .card-subtitle,
body.dark-mode .driver-card p,
body.dark-mode .driver-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .ticket-card ion-card-subtitle,
body.dark-mode .ticket-card .card-subtitle,
body.dark-mode .ticket-card p,
body.dark-mode .ticket-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .notification-card ion-card-subtitle,
body.dark-mode .notification-card .card-subtitle,
body.dark-mode .notification-card p,
body.dark-mode .notification-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .alert-card ion-card-subtitle,
body.dark-mode .alert-card .card-subtitle,
body.dark-mode .alert-card p,
body.dark-mode .alert-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .warning-card ion-card-subtitle,
body.dark-mode .warning-card .card-subtitle,
body.dark-mode .warning-card p,
body.dark-mode .warning-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .success-card ion-card-subtitle,
body.dark-mode .success-card .card-subtitle,
body.dark-mode .success-card p,
body.dark-mode .success-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .error-card ion-card-subtitle,
body.dark-mode .error-card .card-subtitle,
body.dark-mode .error-card p,
body.dark-mode .error-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .accuracy-card ion-card-subtitle,
body.dark-mode .accuracy-card .card-subtitle,
body.dark-mode .accuracy-card p,
body.dark-mode .accuracy-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .fallback-card ion-card-subtitle,
body.dark-mode .fallback-card .card-subtitle,
body.dark-mode .fallback-card p,
body.dark-mode .fallback-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .agenda-form-card ion-card-subtitle,
body.dark-mode .agenda-form-card .card-subtitle,
body.dark-mode .agenda-form-card p,
body.dark-mode .agenda-form-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .day-items-card ion-card-subtitle,
body.dark-mode .day-items-card .card-subtitle,
body.dark-mode .day-items-card p,
body.dark-mode .day-items-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode ion-card ion-card ion-card-subtitle,
body.dark-mode ion-card ion-card .card-subtitle,
body.dark-mode ion-card ion-card p,
body.dark-mode ion-card ion-card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .card .card ion-card-subtitle,
body.dark-mode .card .card .card-subtitle,
body.dark-mode .card .card p,
body.dark-mode .card .card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .tesla-card .card ion-card-subtitle,
body.dark-mode .tesla-card .card .card-subtitle,
body.dark-mode .tesla-card .card p,
body.dark-mode .tesla-card .card span:not(.badge):not(.chip):not(.tag),
body.dark-mode .tesla-card ion-card ion-card-subtitle,
body.dark-mode .tesla-card ion-card .card-subtitle,
body.dark-mode .tesla-card ion-card p,
body.dark-mode .tesla-card ion-card span:not(.badge):not(.chip):not(.tag),
body.dark .inner-card ion-card-subtitle,
body.dark .inner-card .card-subtitle,
body.dark .inner-card p,
body.dark .inner-card span:not(.badge):not(.chip):not(.tag),
body.dark .nested-card ion-card-subtitle,
body.dark .nested-card .card-subtitle,
body.dark .nested-card p,
body.dark .nested-card span:not(.badge):not(.chip):not(.tag),
body.dark .content-card ion-card-subtitle,
body.dark .content-card .card-subtitle,
body.dark .content-card p,
body.dark .content-card span:not(.badge):not(.chip):not(.tag),
body.dark .detail-card ion-card-subtitle,
body.dark .detail-card .card-subtitle,
body.dark .detail-card p,
body.dark .detail-card span:not(.badge):not(.chip):not(.tag),
body.dark .summary-card ion-card-subtitle,
body.dark .summary-card .card-subtitle,
body.dark .summary-card p,
body.dark .summary-card span:not(.badge):not(.chip):not(.tag),
body.dark .quick-action-card ion-card-subtitle,
body.dark .quick-action-card .card-subtitle,
body.dark .quick-action-card p,
body.dark .quick-action-card span:not(.badge):not(.chip):not(.tag),
body.dark .action-card ion-card-subtitle,
body.dark .action-card .card-subtitle,
body.dark .action-card p,
body.dark .action-card span:not(.badge):not(.chip):not(.tag),
body.dark .metric-card ion-card-subtitle,
body.dark .metric-card .card-subtitle,
body.dark .metric-card p,
body.dark .metric-card span:not(.badge):not(.chip):not(.tag),
body.dark .data-card ion-card-subtitle,
body.dark .data-card .card-subtitle,
body.dark .data-card p,
body.dark .data-card span:not(.badge):not(.chip):not(.tag),
body.dark .list-card ion-card-subtitle,
body.dark .list-card .card-subtitle,
body.dark .list-card p,
body.dark .list-card span:not(.badge):not(.chip):not(.tag),
body.dark .form-card ion-card-subtitle,
body.dark .form-card .card-subtitle,
body.dark .form-card p,
body.dark .form-card span:not(.badge):not(.chip):not(.tag),
body.dark .panel-card ion-card-subtitle,
body.dark .panel-card .card-subtitle,
body.dark .panel-card p,
body.dark .panel-card span:not(.badge):not(.chip):not(.tag),
body.dark .widget-card ion-card-subtitle,
body.dark .widget-card .card-subtitle,
body.dark .widget-card p,
body.dark .widget-card span:not(.badge):not(.chip):not(.tag),
body.dark .feature-card ion-card-subtitle,
body.dark .feature-card .card-subtitle,
body.dark .feature-card p,
body.dark .feature-card span:not(.badge):not(.chip):not(.tag),
body.dark .overview-card ion-card-subtitle,
body.dark .overview-card .card-subtitle,
body.dark .overview-card p,
body.dark .overview-card span:not(.badge):not(.chip):not(.tag),
body.dark .compact-card ion-card-subtitle,
body.dark .compact-card .card-subtitle,
body.dark .compact-card p,
body.dark .compact-card span:not(.badge):not(.chip):not(.tag),
body.dark .expense-item-card ion-card-subtitle,
body.dark .expense-item-card .card-subtitle,
body.dark .expense-item-card p,
body.dark .expense-item-card span:not(.badge):not(.chip):not(.tag),
body.dark .trip-card ion-card-subtitle,
body.dark .trip-card .card-subtitle,
body.dark .trip-card p,
body.dark .trip-card span:not(.badge):not(.chip):not(.tag),
body.dark .ride-card ion-card-subtitle,
body.dark .ride-card .card-subtitle,
body.dark .ride-card p,
body.dark .ride-card span:not(.badge):not(.chip):not(.tag),
body.dark .shift-card ion-card-subtitle,
body.dark .shift-card .card-subtitle,
body.dark .shift-card p,
body.dark .shift-card span:not(.badge):not(.chip):not(.tag),
body.dark .driver-card ion-card-subtitle,
body.dark .driver-card .card-subtitle,
body.dark .driver-card p,
body.dark .driver-card span:not(.badge):not(.chip):not(.tag),
body.dark .ticket-card ion-card-subtitle,
body.dark .ticket-card .card-subtitle,
body.dark .ticket-card p,
body.dark .ticket-card span:not(.badge):not(.chip):not(.tag),
body.dark .notification-card ion-card-subtitle,
body.dark .notification-card .card-subtitle,
body.dark .notification-card p,
body.dark .notification-card span:not(.badge):not(.chip):not(.tag),
body.dark .alert-card ion-card-subtitle,
body.dark .alert-card .card-subtitle,
body.dark .alert-card p,
body.dark .alert-card span:not(.badge):not(.chip):not(.tag),
body.dark .warning-card ion-card-subtitle,
body.dark .warning-card .card-subtitle,
body.dark .warning-card p,
body.dark .warning-card span:not(.badge):not(.chip):not(.tag),
body.dark .success-card ion-card-subtitle,
body.dark .success-card .card-subtitle,
body.dark .success-card p,
body.dark .success-card span:not(.badge):not(.chip):not(.tag),
body.dark .error-card ion-card-subtitle,
body.dark .error-card .card-subtitle,
body.dark .error-card p,
body.dark .error-card span:not(.badge):not(.chip):not(.tag),
body.dark .accuracy-card ion-card-subtitle,
body.dark .accuracy-card .card-subtitle,
body.dark .accuracy-card p,
body.dark .accuracy-card span:not(.badge):not(.chip):not(.tag),
body.dark .fallback-card ion-card-subtitle,
body.dark .fallback-card .card-subtitle,
body.dark .fallback-card p,
body.dark .fallback-card span:not(.badge):not(.chip):not(.tag),
body.dark .agenda-form-card ion-card-subtitle,
body.dark .agenda-form-card .card-subtitle,
body.dark .agenda-form-card p,
body.dark .agenda-form-card span:not(.badge):not(.chip):not(.tag),
body.dark .day-items-card ion-card-subtitle,
body.dark .day-items-card .card-subtitle,
body.dark .day-items-card p,
body.dark .day-items-card span:not(.badge):not(.chip):not(.tag),
body.dark ion-card ion-card ion-card-subtitle,
body.dark ion-card ion-card .card-subtitle,
body.dark ion-card ion-card p,
body.dark ion-card ion-card span:not(.badge):not(.chip):not(.tag),
body.dark .card .card ion-card-subtitle,
body.dark .card .card .card-subtitle,
body.dark .card .card p,
body.dark .card .card span:not(.badge):not(.chip):not(.tag),
body.dark .tesla-card .card ion-card-subtitle,
body.dark .tesla-card .card .card-subtitle,
body.dark .tesla-card .card p,
body.dark .tesla-card .card span:not(.badge):not(.chip):not(.tag),
body.dark .tesla-card ion-card ion-card-subtitle,
body.dark .tesla-card ion-card .card-subtitle,
body.dark .tesla-card ion-card p,
body.dark .tesla-card ion-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .inner-card ion-card-subtitle,
html.dark-mode .inner-card .card-subtitle,
html.dark-mode .inner-card p,
html.dark-mode .inner-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .nested-card ion-card-subtitle,
html.dark-mode .nested-card .card-subtitle,
html.dark-mode .nested-card p,
html.dark-mode .nested-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .content-card ion-card-subtitle,
html.dark-mode .content-card .card-subtitle,
html.dark-mode .content-card p,
html.dark-mode .content-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .detail-card ion-card-subtitle,
html.dark-mode .detail-card .card-subtitle,
html.dark-mode .detail-card p,
html.dark-mode .detail-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .summary-card ion-card-subtitle,
html.dark-mode .summary-card .card-subtitle,
html.dark-mode .summary-card p,
html.dark-mode .summary-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .quick-action-card ion-card-subtitle,
html.dark-mode .quick-action-card .card-subtitle,
html.dark-mode .quick-action-card p,
html.dark-mode .quick-action-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .action-card ion-card-subtitle,
html.dark-mode .action-card .card-subtitle,
html.dark-mode .action-card p,
html.dark-mode .action-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .metric-card ion-card-subtitle,
html.dark-mode .metric-card .card-subtitle,
html.dark-mode .metric-card p,
html.dark-mode .metric-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .data-card ion-card-subtitle,
html.dark-mode .data-card .card-subtitle,
html.dark-mode .data-card p,
html.dark-mode .data-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .list-card ion-card-subtitle,
html.dark-mode .list-card .card-subtitle,
html.dark-mode .list-card p,
html.dark-mode .list-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .form-card ion-card-subtitle,
html.dark-mode .form-card .card-subtitle,
html.dark-mode .form-card p,
html.dark-mode .form-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .panel-card ion-card-subtitle,
html.dark-mode .panel-card .card-subtitle,
html.dark-mode .panel-card p,
html.dark-mode .panel-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .widget-card ion-card-subtitle,
html.dark-mode .widget-card .card-subtitle,
html.dark-mode .widget-card p,
html.dark-mode .widget-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .feature-card ion-card-subtitle,
html.dark-mode .feature-card .card-subtitle,
html.dark-mode .feature-card p,
html.dark-mode .feature-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .overview-card ion-card-subtitle,
html.dark-mode .overview-card .card-subtitle,
html.dark-mode .overview-card p,
html.dark-mode .overview-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .compact-card ion-card-subtitle,
html.dark-mode .compact-card .card-subtitle,
html.dark-mode .compact-card p,
html.dark-mode .compact-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .expense-item-card ion-card-subtitle,
html.dark-mode .expense-item-card .card-subtitle,
html.dark-mode .expense-item-card p,
html.dark-mode .expense-item-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .trip-card ion-card-subtitle,
html.dark-mode .trip-card .card-subtitle,
html.dark-mode .trip-card p,
html.dark-mode .trip-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .ride-card ion-card-subtitle,
html.dark-mode .ride-card .card-subtitle,
html.dark-mode .ride-card p,
html.dark-mode .ride-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .shift-card ion-card-subtitle,
html.dark-mode .shift-card .card-subtitle,
html.dark-mode .shift-card p,
html.dark-mode .shift-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .driver-card ion-card-subtitle,
html.dark-mode .driver-card .card-subtitle,
html.dark-mode .driver-card p,
html.dark-mode .driver-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .ticket-card ion-card-subtitle,
html.dark-mode .ticket-card .card-subtitle,
html.dark-mode .ticket-card p,
html.dark-mode .ticket-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .notification-card ion-card-subtitle,
html.dark-mode .notification-card .card-subtitle,
html.dark-mode .notification-card p,
html.dark-mode .notification-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .alert-card ion-card-subtitle,
html.dark-mode .alert-card .card-subtitle,
html.dark-mode .alert-card p,
html.dark-mode .alert-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .warning-card ion-card-subtitle,
html.dark-mode .warning-card .card-subtitle,
html.dark-mode .warning-card p,
html.dark-mode .warning-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .success-card ion-card-subtitle,
html.dark-mode .success-card .card-subtitle,
html.dark-mode .success-card p,
html.dark-mode .success-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .error-card ion-card-subtitle,
html.dark-mode .error-card .card-subtitle,
html.dark-mode .error-card p,
html.dark-mode .error-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .accuracy-card ion-card-subtitle,
html.dark-mode .accuracy-card .card-subtitle,
html.dark-mode .accuracy-card p,
html.dark-mode .accuracy-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .fallback-card ion-card-subtitle,
html.dark-mode .fallback-card .card-subtitle,
html.dark-mode .fallback-card p,
html.dark-mode .fallback-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .agenda-form-card ion-card-subtitle,
html.dark-mode .agenda-form-card .card-subtitle,
html.dark-mode .agenda-form-card p,
html.dark-mode .agenda-form-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .day-items-card ion-card-subtitle,
html.dark-mode .day-items-card .card-subtitle,
html.dark-mode .day-items-card p,
html.dark-mode .day-items-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode ion-card ion-card ion-card-subtitle,
html.dark-mode ion-card ion-card .card-subtitle,
html.dark-mode ion-card ion-card p,
html.dark-mode ion-card ion-card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .card .card ion-card-subtitle,
html.dark-mode .card .card .card-subtitle,
html.dark-mode .card .card p,
html.dark-mode .card .card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .tesla-card .card ion-card-subtitle,
html.dark-mode .tesla-card .card .card-subtitle,
html.dark-mode .tesla-card .card p,
html.dark-mode .tesla-card .card span:not(.badge):not(.chip):not(.tag),
html.dark-mode .tesla-card ion-card ion-card-subtitle,
html.dark-mode .tesla-card ion-card .card-subtitle,
html.dark-mode .tesla-card ion-card p,
html.dark-mode .tesla-card ion-card span:not(.badge):not(.chip):not(.tag),
html.dark .inner-card ion-card-subtitle,
html.dark .inner-card .card-subtitle,
html.dark .inner-card p,
html.dark .inner-card span:not(.badge):not(.chip):not(.tag),
html.dark .nested-card ion-card-subtitle,
html.dark .nested-card .card-subtitle,
html.dark .nested-card p,
html.dark .nested-card span:not(.badge):not(.chip):not(.tag),
html.dark .content-card ion-card-subtitle,
html.dark .content-card .card-subtitle,
html.dark .content-card p,
html.dark .content-card span:not(.badge):not(.chip):not(.tag),
html.dark .detail-card ion-card-subtitle,
html.dark .detail-card .card-subtitle,
html.dark .detail-card p,
html.dark .detail-card span:not(.badge):not(.chip):not(.tag),
html.dark .summary-card ion-card-subtitle,
html.dark .summary-card .card-subtitle,
html.dark .summary-card p,
html.dark .summary-card span:not(.badge):not(.chip):not(.tag),
html.dark .quick-action-card ion-card-subtitle,
html.dark .quick-action-card .card-subtitle,
html.dark .quick-action-card p,
html.dark .quick-action-card span:not(.badge):not(.chip):not(.tag),
html.dark .action-card ion-card-subtitle,
html.dark .action-card .card-subtitle,
html.dark .action-card p,
html.dark .action-card span:not(.badge):not(.chip):not(.tag),
html.dark .metric-card ion-card-subtitle,
html.dark .metric-card .card-subtitle,
html.dark .metric-card p,
html.dark .metric-card span:not(.badge):not(.chip):not(.tag),
html.dark .data-card ion-card-subtitle,
html.dark .data-card .card-subtitle,
html.dark .data-card p,
html.dark .data-card span:not(.badge):not(.chip):not(.tag),
html.dark .list-card ion-card-subtitle,
html.dark .list-card .card-subtitle,
html.dark .list-card p,
html.dark .list-card span:not(.badge):not(.chip):not(.tag),
html.dark .form-card ion-card-subtitle,
html.dark .form-card .card-subtitle,
html.dark .form-card p,
html.dark .form-card span:not(.badge):not(.chip):not(.tag),
html.dark .panel-card ion-card-subtitle,
html.dark .panel-card .card-subtitle,
html.dark .panel-card p,
html.dark .panel-card span:not(.badge):not(.chip):not(.tag),
html.dark .widget-card ion-card-subtitle,
html.dark .widget-card .card-subtitle,
html.dark .widget-card p,
html.dark .widget-card span:not(.badge):not(.chip):not(.tag),
html.dark .feature-card ion-card-subtitle,
html.dark .feature-card .card-subtitle,
html.dark .feature-card p,
html.dark .feature-card span:not(.badge):not(.chip):not(.tag),
html.dark .overview-card ion-card-subtitle,
html.dark .overview-card .card-subtitle,
html.dark .overview-card p,
html.dark .overview-card span:not(.badge):not(.chip):not(.tag),
html.dark .compact-card ion-card-subtitle,
html.dark .compact-card .card-subtitle,
html.dark .compact-card p,
html.dark .compact-card span:not(.badge):not(.chip):not(.tag),
html.dark .expense-item-card ion-card-subtitle,
html.dark .expense-item-card .card-subtitle,
html.dark .expense-item-card p,
html.dark .expense-item-card span:not(.badge):not(.chip):not(.tag),
html.dark .trip-card ion-card-subtitle,
html.dark .trip-card .card-subtitle,
html.dark .trip-card p,
html.dark .trip-card span:not(.badge):not(.chip):not(.tag),
html.dark .ride-card ion-card-subtitle,
html.dark .ride-card .card-subtitle,
html.dark .ride-card p,
html.dark .ride-card span:not(.badge):not(.chip):not(.tag),
html.dark .shift-card ion-card-subtitle,
html.dark .shift-card .card-subtitle,
html.dark .shift-card p,
html.dark .shift-card span:not(.badge):not(.chip):not(.tag),
html.dark .driver-card ion-card-subtitle,
html.dark .driver-card .card-subtitle,
html.dark .driver-card p,
html.dark .driver-card span:not(.badge):not(.chip):not(.tag),
html.dark .ticket-card ion-card-subtitle,
html.dark .ticket-card .card-subtitle,
html.dark .ticket-card p,
html.dark .ticket-card span:not(.badge):not(.chip):not(.tag),
html.dark .notification-card ion-card-subtitle,
html.dark .notification-card .card-subtitle,
html.dark .notification-card p,
html.dark .notification-card span:not(.badge):not(.chip):not(.tag),
html.dark .alert-card ion-card-subtitle,
html.dark .alert-card .card-subtitle,
html.dark .alert-card p,
html.dark .alert-card span:not(.badge):not(.chip):not(.tag),
html.dark .warning-card ion-card-subtitle,
html.dark .warning-card .card-subtitle,
html.dark .warning-card p,
html.dark .warning-card span:not(.badge):not(.chip):not(.tag),
html.dark .success-card ion-card-subtitle,
html.dark .success-card .card-subtitle,
html.dark .success-card p,
html.dark .success-card span:not(.badge):not(.chip):not(.tag),
html.dark .error-card ion-card-subtitle,
html.dark .error-card .card-subtitle,
html.dark .error-card p,
html.dark .error-card span:not(.badge):not(.chip):not(.tag),
html.dark .accuracy-card ion-card-subtitle,
html.dark .accuracy-card .card-subtitle,
html.dark .accuracy-card p,
html.dark .accuracy-card span:not(.badge):not(.chip):not(.tag),
html.dark .fallback-card ion-card-subtitle,
html.dark .fallback-card .card-subtitle,
html.dark .fallback-card p,
html.dark .fallback-card span:not(.badge):not(.chip):not(.tag),
html.dark .agenda-form-card ion-card-subtitle,
html.dark .agenda-form-card .card-subtitle,
html.dark .agenda-form-card p,
html.dark .agenda-form-card span:not(.badge):not(.chip):not(.tag),
html.dark .day-items-card ion-card-subtitle,
html.dark .day-items-card .card-subtitle,
html.dark .day-items-card p,
html.dark .day-items-card span:not(.badge):not(.chip):not(.tag),
html.dark ion-card ion-card ion-card-subtitle,
html.dark ion-card ion-card .card-subtitle,
html.dark ion-card ion-card p,
html.dark ion-card ion-card span:not(.badge):not(.chip):not(.tag),
html.dark .card .card ion-card-subtitle,
html.dark .card .card .card-subtitle,
html.dark .card .card p,
html.dark .card .card span:not(.badge):not(.chip):not(.tag),
html.dark .tesla-card .card ion-card-subtitle,
html.dark .tesla-card .card .card-subtitle,
html.dark .tesla-card .card p,
html.dark .tesla-card .card span:not(.badge):not(.chip):not(.tag),
html.dark .tesla-card ion-card ion-card-subtitle,
html.dark .tesla-card ion-card .card-subtitle,
html.dark .tesla-card ion-card p,
html.dark .tesla-card ion-card span:not(.badge):not(.chip):not(.tag) {
  color: #a1a1aa !important;
}
body.dark-mode ion-card ion-card ion-card,
body.dark-mode .card .card .card,
body.dark-mode .inner-card .inner-card,
body.dark ion-card ion-card ion-card,
body.dark .card .card .card,
body.dark .inner-card .inner-card,
html.dark-mode ion-card ion-card ion-card,
html.dark-mode .card .card .card,
html.dark-mode .inner-card .inner-card,
html.dark ion-card ion-card ion-card,
html.dark .card .card .card,
html.dark .inner-card .inner-card {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
}

/* Taximeter stat-cards - FORCE blue gradient, override dark-mode */
body.dark-mode .meter-status-grid .stat-card,
body.dark .meter-status-grid .stat-card,
html.dark-mode .meter-status-grid .stat-card,
html.dark .meter-status-grid .stat-card,
.meter-status-grid .stat-card {
  background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%) !important;
  --background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%) !important;
  border: none !important;
  box-shadow: none !important;
}

body.dark-mode .meter-status-grid,
body.dark .meter-status-grid,
html.dark-mode .meter-status-grid,
html.dark .meter-status-grid,
.meter-status-grid {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* LOGIN THEME LOCK - keep original login colors regardless of user theme */
/* ==========================================================================
   LOGIN THEME LOCK - Forces blue/white on ALL login pages, overrides dark mode
   ========================================================================== */
body.login-theme-lock,
html.login-theme-lock,
body.dark.login-theme-lock,
body.dark-mode.login-theme-lock,
html.dark.login-theme-lock,
html.dark-mode.login-theme-lock {
  --cdt-blue: #2563eb;
  --cdt-blue-hover: #1d4ed8;
  --cdt-blue-active: #1F31D2;
  --tesla-blue: #2563eb;
  --tesla-blue-hover: #1d4ed8;
  --tesla-header-bg: #2563eb;
  --tesla-header-gradient: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
  --tesla-black: #f0f2f5;
  --tesla-card-bg: #ffffff;
  --tesla-text-primary: #1f2937;
  --tesla-text-secondary: #6b7280;
  --tesla-border: rgba(0, 0, 0, 0.06);
  --ion-color-primary: #2563eb;
  --ion-color-primary-rgb: 60, 83, 244;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-background-color: #2563eb;
  --ion-text-color: #ffffff;
  --cdt-bg-primary: #2563eb;
  --cdt-bg-card: #ffffff;
  --cdt-bg-input: #ffffff;
  --cdt-text-primary: #1f2937;
  --cdt-text-muted: #6b7280;
  --cdt-border: rgba(0, 0, 0, 0.1);
  background: #2563eb !important;
  color: #ffffff !important;
  color-scheme: light !important;
}

body.login-theme-lock ion-content,
body.login-theme-lock ion-page,
body.login-theme-lock .page-container,
body.login-theme-lock .content-wrapper,
body.dark.login-theme-lock ion-content,
body.dark.login-theme-lock ion-page,
body.dark.login-theme-lock .page-container,
body.dark.login-theme-lock .content-wrapper,
body.dark-mode.login-theme-lock ion-content,
body.dark-mode.login-theme-lock ion-page,
body.dark-mode.login-theme-lock .page-container,
body.dark-mode.login-theme-lock .content-wrapper {
  --background: #2563eb !important;
  --color: #ffffff !important;
  background: #2563eb !important;
  color: #ffffff !important;
}

body.login-theme-lock ion-router-outlet,
body.login-theme-lock .ion-page,
body.login-theme-lock ion-app,
body.dark.login-theme-lock ion-router-outlet,
body.dark.login-theme-lock .ion-page,
body.dark.login-theme-lock ion-app,
body.dark-mode.login-theme-lock ion-router-outlet,
body.dark-mode.login-theme-lock .ion-page,
body.dark-mode.login-theme-lock ion-app {
  background: #2563eb !important;
}

body.login-theme-lock ion-header ion-toolbar,
body.dark.login-theme-lock ion-header ion-toolbar,
body.dark-mode.login-theme-lock ion-header ion-toolbar {
  --background: var(--tesla-header-gradient) !important;
  --color: #ffffff !important;
  background: var(--tesla-header-gradient) !important;
}

body.login-theme-lock ion-header ion-title,
body.login-theme-lock ion-header ion-button,
body.login-theme-lock ion-header ion-icon,
body.login-theme-lock ion-header ion-back-button,
body.dark.login-theme-lock ion-header ion-title,
body.dark.login-theme-lock ion-header ion-button,
body.dark.login-theme-lock ion-header ion-icon,
body.dark.login-theme-lock ion-header ion-back-button {
  color: #ffffff !important;
  --color: #ffffff !important;
}

body.login-theme-lock ion-card,
body.login-theme-lock .sheet,
body.login-theme-lock .selection-option,
body.dark.login-theme-lock ion-card,
body.dark.login-theme-lock .sheet,
body.dark.login-theme-lock .selection-option,
body.dark-mode.login-theme-lock ion-card,
body.dark-mode.login-theme-lock .sheet,
body.dark-mode.login-theme-lock .selection-option {
  --background: #ffffff !important;
  --color: #1f2937 !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

body.login-theme-lock .sheet h1,
body.login-theme-lock .sheet h2,
body.login-theme-lock .sheet h3,
body.login-theme-lock .sheet h4,
body.login-theme-lock .sheet p,
body.login-theme-lock .sheet span,
body.login-theme-lock .sheet label,
body.login-theme-lock .sheet ion-label,
body.dark.login-theme-lock .sheet h1,
body.dark.login-theme-lock .sheet h2,
body.dark.login-theme-lock .sheet h3,
body.dark.login-theme-lock .sheet h4,
body.dark.login-theme-lock .sheet p,
body.dark.login-theme-lock .sheet span,
body.dark.login-theme-lock .sheet label,
body.dark.login-theme-lock .sheet ion-label,
body.dark-mode.login-theme-lock .sheet h1,
body.dark-mode.login-theme-lock .sheet h2,
body.dark-mode.login-theme-lock .sheet h3,
body.dark-mode.login-theme-lock .sheet h4,
body.dark-mode.login-theme-lock .sheet p,
body.dark-mode.login-theme-lock .sheet span,
body.dark-mode.login-theme-lock .sheet label,
body.dark-mode.login-theme-lock .sheet ion-label {
  color: #1f2937 !important;
}

body.login-theme-lock .sheet ion-item,
body.login-theme-lock .sheet ion-input,
body.login-theme-lock .sheet ion-textarea,
body.login-theme-lock .sheet ion-select,
body.dark.login-theme-lock .sheet ion-item,
body.dark.login-theme-lock .sheet ion-input,
body.dark.login-theme-lock .sheet ion-textarea,
body.dark.login-theme-lock .sheet ion-select,
body.dark-mode.login-theme-lock .sheet ion-item,
body.dark-mode.login-theme-lock .sheet ion-input,
body.dark-mode.login-theme-lock .sheet ion-textarea,
body.dark-mode.login-theme-lock .sheet ion-select {
  --background: #ffffff !important;
  --color: #1f2937 !important;
  --placeholder-color: #6b7280 !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 8px !important;
}

body.login-theme-lock .sheet ion-item ion-label,
body.dark.login-theme-lock .sheet ion-item ion-label,
body.dark-mode.login-theme-lock .sheet ion-item ion-label {
  color: #1f2937 !important;
}

body.login-theme-lock .selection-option .option-title,
body.login-theme-lock .selection-option .option-description,
body.dark.login-theme-lock .selection-option .option-title,
body.dark.login-theme-lock .selection-option .option-description,
body.dark-mode.login-theme-lock .selection-option .option-title,
body.dark-mode.login-theme-lock .selection-option .option-description {
  color: #1f2937 !important;
}

body.login-theme-lock .sheet ion-list,
body.dark.login-theme-lock .sheet ion-list,
body.dark-mode.login-theme-lock .sheet ion-list {
  --ion-item-background: #ffffff !important;
  background: transparent !important;
}

/* Login theme lock: force native input internals white */
body.login-theme-lock .sheet ion-input input,
body.login-theme-lock .sheet ion-textarea textarea,
body.dark.login-theme-lock .sheet ion-input input,
body.dark.login-theme-lock .sheet ion-textarea textarea,
body.dark-mode.login-theme-lock .sheet ion-input input,
body.dark-mode.login-theme-lock .sheet ion-textarea textarea {
  color: #1f2937 !important;
  background: #ffffff !important;
  -webkit-text-fill-color: #1f2937 !important;
}

/* Login theme lock: force PLAIN input/textarea elements (field-wrap pattern) */
body.login-theme-lock .sheet input,
body.login-theme-lock .sheet textarea,
body.login-theme-lock .sheet .field-wrap input,
body.login-theme-lock .sheet .field-wrap textarea,
body.dark.login-theme-lock .sheet input,
body.dark.login-theme-lock .sheet textarea,
body.dark.login-theme-lock .sheet .field-wrap input,
body.dark.login-theme-lock .sheet .field-wrap textarea,
body.dark-mode.login-theme-lock .sheet input,
body.dark-mode.login-theme-lock .sheet textarea,
body.dark-mode.login-theme-lock .sheet .field-wrap input,
body.dark-mode.login-theme-lock .sheet .field-wrap textarea {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  caret-color: #1f2937 !important;
}

body.login-theme-lock .sheet input::placeholder,
body.login-theme-lock .sheet textarea::placeholder,
body.login-theme-lock .sheet .field-wrap input::placeholder,
body.dark.login-theme-lock .sheet input::placeholder,
body.dark.login-theme-lock .sheet textarea::placeholder,
body.dark.login-theme-lock .sheet .field-wrap input::placeholder,
body.dark-mode.login-theme-lock .sheet input::placeholder,
body.dark-mode.login-theme-lock .sheet textarea::placeholder,
body.dark-mode.login-theme-lock .sheet .field-wrap input::placeholder {
  color: #9ca3af !important;
  -webkit-text-fill-color: #9ca3af !important;
}

body.login-theme-lock .sheet ion-label,
body.dark.login-theme-lock .sheet ion-label,
body.dark-mode.login-theme-lock .sheet ion-label {
  color: #1f2937 !important;
}

body.login-theme-lock .sheet .form-group,
body.dark.login-theme-lock .sheet .form-group,
body.dark-mode.login-theme-lock .sheet .form-group {
  color: #1f2937 !important;
}

body.login-theme-lock ion-button,
body.dark.login-theme-lock ion-button,
body.dark-mode.login-theme-lock ion-button {
  --ion-text-color: #ffffff;
}

body.login-theme-lock .cdt-input-item,
body.dark.login-theme-lock .cdt-input-item,
body.dark-mode.login-theme-lock .cdt-input-item {
  --background: #ffffff !important;
  --color: #1f2937 !important;
  background: #ffffff !important;
  color: #1f2937 !important;
  border-color: #cbd5f5 !important;
}

body.login-theme-lock ion-note,
body.dark.login-theme-lock ion-note,
body.dark-mode.login-theme-lock ion-note {
  color: #6b7280 !important;
}

body.login-theme-lock p,
body.login-theme-lock span:not(.button-inner),
body.dark.login-theme-lock p,
body.dark.login-theme-lock span:not(.button-inner),
body.dark-mode.login-theme-lock p,
body.dark-mode.login-theme-lock span:not(.button-inner) {
  color: inherit;
}

/* Login lock uitzondering: uitgave-editor moet donkere velden behouden */
body.login-theme-lock .expense-detail ion-item.form-item,
body.dark.login-theme-lock .expense-detail ion-item.form-item,
body.dark-mode.login-theme-lock .expense-detail ion-item.form-item {
  --background: rgba(10, 16, 34, 0.28) !important;
  background: rgba(10, 16, 34, 0.28) !important;
  --color: #ffffff !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body.login-theme-lock .expense-detail ion-item.form-item ion-input,
body.login-theme-lock .expense-detail ion-item.form-item ion-textarea,
body.dark.login-theme-lock .expense-detail ion-item.form-item ion-input,
body.dark.login-theme-lock .expense-detail ion-item.form-item ion-textarea,
body.dark-mode.login-theme-lock .expense-detail ion-item.form-item ion-input,
body.dark-mode.login-theme-lock .expense-detail ion-item.form-item ion-textarea {
  --background: transparent !important;
  background: transparent !important;
  --color: #ffffff !important;
  --placeholder-color: rgba(255, 255, 255, 0.6) !important;
  color: #ffffff !important;
}

body.login-theme-lock .expense-detail ion-item.form-item ion-input input,
body.login-theme-lock .expense-detail ion-item.form-item ion-textarea textarea,
body.dark.login-theme-lock .expense-detail ion-item.form-item ion-input input,
body.dark.login-theme-lock .expense-detail ion-item.form-item ion-textarea textarea,
body.dark-mode.login-theme-lock .expense-detail ion-item.form-item ion-input input,
body.dark-mode.login-theme-lock .expense-detail ion-item.form-item ion-textarea textarea {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  appearance: none !important;
}

/* FORCE OVERRIDE for stubborn white backgrounds */
body.dark-mode,
body.dark {
  /* EXTRA: Fix alle mogelijke witte achtergronden */
}
body.dark-mode .carplay-bg,
body.dark-mode .dashboard-slides,
body.dark-mode .slide,
body.dark .carplay-bg,
body.dark .dashboard-slides,
body.dark .slide {
  background: #1a1a1a !important;
}
body.dark-mode ion-router-outlet,
body.dark ion-router-outlet {
  background: #1a1a1a !important;
}
body.dark-mode .app-shell,
body.dark .app-shell {
  background: #1a1a1a !important;
}
body.dark-mode ion-page,
body.dark ion-page {
  background: #1a1a1a !important;
}
body.dark-mode .page-content,
body.dark-mode .main-content,
body.dark .page-content,
body.dark .main-content {
  background: #1a1a1a !important;
}

/* GLOBAL SCROLLBAR STYLING - Normal in light mode, hidden in dark mode */
* {
  scrollbar-width: thin;
  scrollbar-color: #c1c1c1 #f0f0f0;
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 4px;
}

*::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

*::-webkit-scrollbar-thumb:hover {
  background: #a1a1a1;
}

*::-webkit-scrollbar-corner {
  background: #f0f0f0;
}

/* Dark mode scrollbar - hidden */
body.dark *,
body.dark-mode * {
  scrollbar-width: none !important;
}

body.dark *::-webkit-scrollbar,
body.dark-mode *::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
}

body.dark *::-webkit-scrollbar-track,
body.dark-mode *::-webkit-scrollbar-track,
body.dark *::-webkit-scrollbar-thumb,
body.dark-mode *::-webkit-scrollbar-thumb,
body.dark *::-webkit-scrollbar-corner,
body.dark-mode *::-webkit-scrollbar-corner {
  background: transparent !important;
}

body.dark,
body.dark-mode {
  scrollbar-color: transparent transparent !important;
}

body.dark-mode,
body.dark {
  background: #1a1a1a !important;
}

body.dark-mode ion-app,
body.dark ion-app,
body.dark-mode ion-router-outlet,
body.dark ion-router-outlet,
body.dark-mode .ion-page,
body.dark .ion-page {
  background: #1a1a1a !important;
}

/* Kill any remaining thin white scrollbar line on the right */
html,
body {
  scrollbar-width: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner {
  background: transparent !important;
}

/* Ion content scrollbar + background cleanup (removes thin right line) */
ion-content::part(scroll) {
  scrollbar-width: none !important;
}

ion-content::part(scroll)::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

ion-content::part(scroll)::-webkit-scrollbar-track,
ion-content::part(scroll)::-webkit-scrollbar-thumb,
ion-content::part(scroll)::-webkit-scrollbar-corner {
  background: transparent !important;
}

ion-content::part(background) {
  background: var(--ion-background-color) !important;
}

/* DISABLE ALL RIPPLE EFFECTS GLOBALLY */
ion-ripple-effect {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

ion-button ion-ripple-effect,
ion-item ion-ripple-effect,
ion-card ion-ripple-effect,
ion-chip ion-ripple-effect,
ion-fab-button ion-ripple-effect,
ion-tab-button ion-ripple-effect,
ion-segment-button ion-ripple-effect {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* =============================================
   GLOBAL FAB BUTTON STYLING - Ronde blauwe cirkels
   ============================================= */
ion-fab {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

ion-fab-button {
  --background: #3880ff !important;
  --background-hover: #3171e0 !important;
  --background-activated: #2c6ad8 !important;
  --background-focused: #2c6ad8 !important;
  --color: #ffffff !important;
  --border-radius: 50% !important;
  --box-shadow: 0 4px 16px rgba(56, 128, 255, 0.5) !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

ion-fab-button::part(native) {
  background: #3880ff !important;
  color: #ffffff !important;
  border-radius: 50% !important;
}

ion-fab-button ion-icon {
  color: #ffffff !important;
}

ion-fab-list ion-fab-button {
  --background: #3880ff !important;
  --box-shadow: 0 3px 12px rgba(56, 128, 255, 0.4) !important;
  width: 48px !important;
  height: 48px !important;
  margin: 8px 4px !important;
}

ion-fab-list ion-fab-button::part(native) {
  background: #3880ff !important;
  color: #ffffff !important;
  border-radius: 50% !important;
}

/* But keep pointer-events on the buttons themselves */
ion-button,
ion-item,
ion-card,
ion-chip,
ion-fab-button,
ion-tab-button,
ion-segment-button {
  pointer-events: auto !important;
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Ensure segment buttons are interactive */
ion-segment-button::part(native) {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Remove ripple from shadow DOM */
ion-button::part(native) ion-ripple-effect,
ion-item::part(native) ion-ripple-effect {
  display: none !important;
}

/* Alternative approach - disable ripple via CSS variables */
ion-button,
ion-item,
ion-card,
ion-chip,
ion-fab-button,
ion-tab-button {
  --ripple-color: transparent !important;
}

/* Force remove any ripple templates */
template[shadowrootmode] {
  display: none !important;
}

/* AGGRESSIVE SCROLLING FIX - Override all Ionic defaults */
ion-content,
ion-content .scroll-content,
ion-content .scroll-y,
.ion-content-scroll-host,
.scroll-content {
  --overflow: auto !important;
  overflow: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  max-height: none !important;
  /* Force scroll capability */
  touch-action: pan-y !important;
  /* NOTE: position: relative was removed - it breaks ion-fab slot="fixed" */
}

/* Allow all touch actions on interactive elements */
ion-button,
ion-segment,
ion-segment-button,
ion-item,
ion-card,
ion-chip,
ion-fab-button,
ion-tab-button,
button,
a[href] {
  touch-action: manipulation !important;
}

/* Specific fixes for tab content */
.dashboard-content,
.financial-content,
ion-tab ion-content,
app-tab1 ion-content,
app-tab8 ion-content {
  --overflow: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  /* Force native scrolling */
  overscroll-behavior: contain !important;
  scroll-behavior: smooth !important;
}

/* Mobile specific fixes */
@media (max-width: 768px) {
  ion-content {
    --overflow: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: 100% !important;
  }
}
/* iOS specific fixes */
@supports (-webkit-touch-callout: none) {
  ion-content {
    --overflow: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}
/* Optional CSS utils that can be commented out */
/* Leaflet CSS for maps - FIXED IMPORTS */
/* Global Operator Location Marker - Tab1 stijl met pulse cirkel */
.leaflet-marker-icon.operator-marker {
  background: transparent !important;
  border: none !important;
}

.operator-marker .operator-location-wrapper,
.operator-location-wrapper {
  position: relative;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.operator-marker .pulse-circle,
.operator-location-wrapper .pulse-circle {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(66, 133, 244, 0.2);
  border: 2px solid rgba(66, 133, 244, 0.4);
  animation: operator-gps-pulse 2.5s ease-out infinite;
}

.operator-marker .pulse-circle.delay,
.operator-location-wrapper .pulse-circle.delay {
  animation-delay: 1.25s;
}

.operator-marker .center-dot,
.operator-location-wrapper .center-dot {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #4285F4;
  border: 3px solid white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 10;
}

@keyframes operator-gps-pulse {
  0% {
    transform: scale(0.3);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
/* Taxi CDT App Global Styles - THEME AWARE (respects dark mode) */
/* NOTE: Background colors are now controlled by the theme system in :root above */
/* These are LIGHT MODE ONLY defaults - Dark mode overrides are in body.dark-mode */
/* Driver status kleuren (gedeeld tussen Navigatie / Dispatch) */
:root {
  --driver-available: #2ecc71;
  --driver-enroute: #3498db;
  --driver-ontrip: #e67e22;
  --driver-break: #9b59b6;
  --driver-offline: #7f8c8d;
  --driver-neutral: #95a5a6;
  --driver-cluster-bg: #2563eb;
  --driver-cluster-text: #ffffff;
  --driver-marker-ring: rgba(255, 255, 255, 0.85);
  --driver-marker-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

/* GLOBAL TEXT AND COMPONENT IMPROVEMENTS */
ion-content {
  --background: var(--tesla-black);
  --color: var(--tesla-text-primary);
  background: var(--tesla-black);
}

/*  CARDS RESPONSIVE TO THEME */
ion-card {
  --background: var(--tesla-card-bg);
  background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
  color: var(--tesla-text-primary);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
}

/* LIGHT MODE CARDS - visible with shadow */
body:not(.dark):not(.dark-mode) ion-card:not(.expense-card),
body:not(.dark):not(.dark-mode) .card,
body:not(.dark):not(.dark-mode) .tesla-card,
body:not(.dark):not(.dark-mode) .info-card,
body:not(.dark):not(.dark-mode) .stat-card {
  background: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Card headers and titles */
ion-card-header {
  --background: var(--tesla-card-bg);
  background: var(--tesla-card-bg);
  --color: var(--tesla-blue);
  color: var(--tesla-blue);
}

ion-card-title {
  color: var(--tesla-blue);
  font-weight: 600;
}

ion-card-content {
  --background: var(--tesla-card-bg);
  background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
  color: var(--tesla-text-primary);
}

/* Force all text elements to proper colors */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--tesla-blue);
}

p {
  color: var(--tesla-text-secondary);
}

ion-label {
  color: var(--tesla-text-primary);
}

/*  GLOBAL DARK MODE FOR MODALS, POPOVERS & ALERTS */
/* Popovers dark mode */
body.dark ion-popover,
.dark-mode ion-popover,
body.dark .popover-content,
.dark-mode .popover-content {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
}
body.dark ion-popover ion-list,
.dark-mode ion-popover ion-list,
body.dark .popover-content ion-list,
.dark-mode .popover-content ion-list {
  background: var(--tesla-card-bg);
}
body.dark ion-popover ion-item,
.dark-mode ion-popover ion-item,
body.dark .popover-content ion-item,
.dark-mode .popover-content ion-item {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
}

/* Alerts dark mode — kleuren via global.scss MASTER ALERT OVERRIDE */
/* Action Sheets dark mode */
body.dark ion-action-sheet,
.dark-mode ion-action-sheet,
body.dark .action-sheet-wrapper,
.dark-mode .action-sheet-wrapper {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
}
body.dark ion-action-sheet .action-sheet-button,
.dark-mode ion-action-sheet .action-sheet-button,
body.dark .action-sheet-wrapper .action-sheet-button,
.dark-mode .action-sheet-wrapper .action-sheet-button {
  color: var(--tesla-text-primary);
}
body.dark ion-action-sheet .action-sheet-button.action-sheet-destructive,
.dark-mode ion-action-sheet .action-sheet-button.action-sheet-destructive,
body.dark .action-sheet-wrapper .action-sheet-button.action-sheet-destructive,
.dark-mode .action-sheet-wrapper .action-sheet-button.action-sheet-destructive {
  color: var(--tesla-danger);
}

/* Toast dark mode */
body.dark ion-toast,
.dark-mode ion-toast,
body.dark .toast-wrapper,
.dark-mode .toast-wrapper {
  --background: #1a1a1a;
  --color: #e2e8f0;
  --border-color: transparent;
  --box-shadow: none;
  border: none;
  box-shadow: none;
  outline: none;
}

/* Loading dark mode - Enhanced styling */
body.dark ion-loading,
.dark-mode ion-loading,
body.dark .loading-wrapper,
.dark-mode .loading-wrapper {
  --background: rgba(17, 24, 39, 0.98);
  --backdrop-opacity: 0.2;
  --spinner-color: #3b82f6;
}
body.dark ion-loading .loading-wrapper,
.dark-mode ion-loading .loading-wrapper,
body.dark .loading-wrapper .loading-wrapper,
.dark-mode .loading-wrapper .loading-wrapper {
  background: rgba(17, 24, 39, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}
body.dark ion-loading .loading-content,
.dark-mode ion-loading .loading-content,
body.dark .loading-wrapper .loading-content,
.dark-mode .loading-wrapper .loading-content {
  color: #ffffff !important;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
body.dark ion-loading .loading-spinner,
.dark-mode ion-loading .loading-spinner,
body.dark .loading-wrapper .loading-spinner,
.dark-mode .loading-wrapper .loading-spinner {
  --color: #3b82f6;
  width: 48px;
  height: 48px;
}

/* Select/Picker dark mode */
body.dark ion-select-popover,
.dark-mode ion-select-popover,
body.dark ion-picker,
.dark-mode ion-picker {
  --background: var(--tesla-card-bg);
}
body.dark ion-select-popover ion-item,
.dark-mode ion-select-popover ion-item,
body.dark ion-picker ion-item,
.dark-mode ion-picker ion-item {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
}

/* Filter Badge ion-select - Remove double background */
ion-select.filter-badge {
  --background: transparent !important;
  --background-hover: transparent !important;
  --background-focused: transparent !important;
}
ion-select.filter-badge::part(container), ion-select.filter-badge::part(text), ion-select.filter-badge::part(icon) {
  background: transparent !important;
}

/* Filter Badge Select Popover - Revenue Reports */
ion-popover.select-popover {
  --background: #1e293b;
  --width: 180px;
}
ion-popover.select-popover ion-select-popover {
  --background: #1e293b;
}
ion-popover.select-popover ion-select-popover ion-list {
  --background: transparent;
  background: transparent !important;
  padding: 8px 0;
}
ion-popover.select-popover ion-select-popover ion-item {
  --background: transparent;
  --color: #ffffff;
  --padding-start: 16px;
  --padding-end: 16px;
  --min-height: 44px;
  font-weight: 500;
  font-size: 14px;
}
ion-popover.select-popover ion-select-popover ion-item:hover {
  --background: rgba(59, 130, 246, 0.15);
}
ion-popover.select-popover ion-select-popover ion-item.item-radio-checked {
  --background: rgba(59, 130, 246, 0.25);
  --color: #3b82f6;
}
ion-popover.select-popover ion-select-popover ion-radio {
  --color: rgba(255, 255, 255, 0.5);
  --color-checked: #3b82f6;
}
ion-popover.select-popover ion-select-popover ion-label {
  color: #ffffff !important;
}

/* Datetime picker dark mode */
body.dark ion-datetime,
.dark-mode ion-datetime {
  --background: var(--tesla-card-bg);
  color: var(--tesla-text-primary);
}

/*  FORM ELEMENTS DARK MODE */
/* Inputs */
body.dark ion-input,
.dark-mode ion-input,
body.dark ion-textarea,
.dark-mode ion-textarea {
  --background: var(--cdt-bg-input);
  --color: var(--cdt-text-primary);
  --placeholder-color: rgba(255, 255, 255, 0.6);
  --border-color: rgba(255, 255, 255, 0.12);
}

/* Input containers (ion-item with input) */
body.dark ion-item.item-input,
body.dark-mode ion-item.item-input {
  --background: var(--cdt-bg-input);
  background: var(--cdt-bg-input);
  --color: var(--cdt-text-primary);
  --border-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
}

body.dark ion-item.item-input.ion-focused,
body.dark-mode ion-item.item-input.ion-focused {
  --border-color: var(--ion-color-primary);
  border-color: var(--ion-color-primary);
  box-shadow: 0 0 0 2px rgba(var(--ion-color-primary-rgb), 0.2);
}

/* DARK MODE - Euro symbool GEEN achtergrond */
body.dark .currency-symbol,
body.dark .blue-euro,
body.dark div[slot=start].currency-symbol,
body.dark div[slot=start].blue-euro,
.dark-mode .currency-symbol,
.dark-mode .blue-euro,
.dark-mode div[slot=start].currency-symbol,
.dark-mode div[slot=start].blue-euro {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

/* Searchbar */
body.dark ion-searchbar,
.dark-mode ion-searchbar {
  --background: #000000 !important;
  background: #000000 !important;
  --color: #ffffff !important;
  --placeholder-color: rgba(255, 255, 255, 0.5) !important;
  --icon-color: #3b82f6 !important;
  --clear-button-color: rgba(255, 255, 255, 0.5) !important;
  --border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 24px !important;
}

/* Buttons in dark mode */
body.dark ion-button,
.dark-mode ion-button {
  --color: var(--tesla-text-primary);
}
body.dark ion-button[fill=outline],
.dark-mode ion-button[fill=outline] {
  --border-color: var(--tesla-border);
}
body.dark ion-button[fill=clear],
.dark-mode ion-button[fill=clear] {
  --color: var(--tesla-blue);
}

/* Checkbox, Radio, Toggle */
body.dark ion-checkbox,
.dark-mode ion-checkbox,
body.dark ion-radio,
.dark-mode ion-radio,
body.dark ion-toggle,
.dark-mode ion-toggle {
  --background-checked: var(--tesla-blue);
  --border-color: var(--tesla-border);
  --border-color-checked: var(--tesla-blue);
}

/* Range slider */
body.dark ion-range,
.dark-mode ion-range {
  --bar-background: var(--tesla-medium-gray);
  --bar-background-active: var(--tesla-blue);
  --knob-background: var(--tesla-blue);
  --pin-background: var(--tesla-blue);
  --pin-color: var(--tesla-white);
}

/* Segment */
body.dark ion-segment,
.dark-mode ion-segment {
  --background: var(--tesla-medium-gray);
}
body.dark ion-segment ion-segment-button,
.dark-mode ion-segment ion-segment-button {
  --color: var(--tesla-text-secondary);
  --color-checked: var(--tesla-blue);
  --indicator-color: var(--tesla-blue);
  --background-checked: var(--tesla-blue-light);
}

/* List items */
body.dark ion-item,
.dark-mode ion-item {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
  --border-color: var(--tesla-border);
  --inner-border-width: 0;
}
body.dark ion-item ion-label,
.dark-mode ion-item ion-label {
  color: var(--tesla-text-primary);
}
body.dark ion-item ion-note,
.dark-mode ion-item ion-note {
  color: var(--tesla-text-secondary);
}

/* List header */
body.dark ion-list-header,
.dark-mode ion-list-header {
  --background: transparent;
  --color: var(--tesla-text-secondary);
}

/* Tabs */
body.dark ion-tab-bar,
.dark-mode ion-tab-bar {
  --background: var(--tesla-card-bg);
  --border: 1px solid var(--tesla-border);
}
body.dark ion-tab-bar ion-tab-button,
.dark-mode ion-tab-bar ion-tab-button {
  --color: var(--tesla-text-secondary);
  --color-selected: var(--tesla-blue);
}

/* Badges */
body.dark ion-badge,
.dark-mode ion-badge {
  --background: var(--tesla-blue);
  --color: var(--tesla-white);
}

/* Chips */
body.dark ion-chip,
.dark-mode ion-chip {
  --background: var(--tesla-medium-gray);
  --color: var(--tesla-text-primary);
}

/* Progress bar */
body.dark ion-progress-bar,
.dark-mode ion-progress-bar {
  --background: var(--tesla-medium-gray);
  --progress-background: var(--tesla-blue);
}

/* Spinner */
body.dark ion-spinner,
.dark-mode ion-spinner {
  --color: var(--tesla-blue);
}

/* CONSISTENT HEADER STYLING FOR ALL LOGIN PAGES */
ion-header {
  box-shadow: none !important;
  /* Ionic default shadow wegwerken */
  /* Specifiek voor primary color toolbar */
  /*  Customizable header colors from theme */
}
ion-header ion-toolbar {
  --box-shadow: none;
  /* Geen shadow lijn */
  --border-width: 0;
  /* Geen border */
}
ion-header ion-toolbar ion-title {
  position: absolute !important;
  /* Absolute positioning voor echte centrering */
  left: 0 !important;
  right: 0 !important;
  text-align: center !important;
  /* Alle titels perfect gecentreerd */
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  /* Consistente font size */
  margin: 0 auto !important;
  z-index: 1 !important;
  /* Boven andere elementen */
}
ion-header ion-toolbar ion-back-button {
  --color: white !important;
  z-index: 2 !important;
  /* Boven titel maar nog steeds zichtbaar */
}
ion-header ion-toolbar ion-button {
  --color: white !important;
  z-index: 2 !important;
}
ion-header ion-toolbar[color=primary] {
  --background: var(--ion-color-primary) !important;
  --color: white !important;
}
ion-header ion-toolbar[color=primary] ion-title {
  color: white !important;
}
ion-header ion-toolbar {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
}

/*  Customizable sidebar colors from theme */
ion-menu {
  --background: var(--tesla-black);
  --color: var(--tesla-text-primary);
  z-index: 999999 !important;
  pointer-events: auto !important;
}
ion-menu ion-header {
  --background: var(--tesla-card-bg);
}
ion-menu ion-content {
  --background: var(--tesla-black);
}
ion-menu ion-list {
  --background: transparent;
}
ion-menu ion-item {
  --background: transparent;
  --color: var(--tesla-text-primary);
}
ion-menu ion-item:hover {
  --background: var(--tesla-blue-light);
}

/* Globale subheader-styling: alle niet-primary toolbars - theme aware */
ion-header ion-toolbar:not([color=primary]) {
  --background: var(--tesla-card-bg);
  --color: var(--ion-color-primary);
  background: var(--tesla-card-bg);
  color: var(--ion-color-primary);
  position: relative;
  --min-height: 48px;
}

/* REMOVED OLD TRANSFORM CENTERING - CONFLICTS WITH FLEX CENTERING
ion-header ion-toolbar:not([color="primary"]) ion-title,
ion-header ion-toolbar:not([color="primary"]) .toolbar-title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  height: auto;
  width: max-content;
  text-align: center;
  color: var(--ion-color-primary);
  font-weight: 700;
}
*/
/* ============================================
   MODAL HEADER STYLING - BLAUWE HEADER MET GECENTREERDE TITEL
   ============================================ */
/* === FORCE ALL TOOLBAR-TITLE ELEMENTS TO CENTER === */
:host ::ng-deep .toolbar-title,
::ng-deep .toolbar-title,
ion-title .toolbar-title,
ion-title::part(native) .toolbar-title,
ion-header ion-toolbar ion-title .toolbar-title,
ion-header ion-toolbar .toolbar-title,
ion-header ion-toolbar ion-title,
ion-header ion-toolbar ion-title::part(native),
ion-header ion-toolbar ion-buttons,
ion-title {
  --color: inherit;
}

ion-title::part(native) {
  text-align: center !important;
  width: 100% !important;
}

/* ============================================
   STATS CARDS - BLAUWE CARDS (LIGHT & DARK MODE)
   ============================================ */
/* ============================================
   EMPTY STATE CARDS - DARK MODE GLOBAL FIX
   ============================================ */
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
body.dark-mode .empty-state-box,
body.dark-mode .empty-state-card,
body.dark-mode .no-data,
body.dark-mode .no-results,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
body.dark .empty-state-box,
body.dark .empty-state-card,
body.dark .no-data,
body.dark .no-results,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
.dark-mode .empty-state-box,
.dark-mode .empty-state-card,
.dark-mode .no-data,
.dark-mode .no-results {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  padding: 24px 20px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  max-width: 440px !important;
  margin: auto !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
body.dark-mode .empty-state-box ion-icon:not([slot]),
body.dark-mode .empty-state-card ion-icon:not([slot]),
body.dark-mode .no-data ion-icon:not([slot]),
body.dark-mode .no-results ion-icon:not([slot]),
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
body.dark .empty-state-box ion-icon:not([slot]),
body.dark .empty-state-card ion-icon:not([slot]),
body.dark .no-data ion-icon:not([slot]),
body.dark .no-results ion-icon:not([slot]),
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
.dark-mode .empty-state-box ion-icon:not([slot]),
.dark-mode .empty-state-card ion-icon:not([slot]),
.dark-mode .no-data ion-icon:not([slot]),
.dark-mode .no-results ion-icon:not([slot]) {
  color: var(--ion-color-primary) !important;
  font-size: 4rem !important;
  margin-bottom: 8px !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) h3,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-title,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .title,
body.dark-mode .empty-state-box h3,
body.dark-mode .empty-state-box .empty-state-title,
body.dark-mode .empty-state-box .title,
body.dark-mode .empty-state-card h3,
body.dark-mode .empty-state-card .empty-state-title,
body.dark-mode .empty-state-card .title,
body.dark-mode .no-data h3,
body.dark-mode .no-data .empty-state-title,
body.dark-mode .no-data .title,
body.dark-mode .no-results h3,
body.dark-mode .no-results .empty-state-title,
body.dark-mode .no-results .title,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) h3,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-title,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .title,
body.dark .empty-state-box h3,
body.dark .empty-state-box .empty-state-title,
body.dark .empty-state-box .title,
body.dark .empty-state-card h3,
body.dark .empty-state-card .empty-state-title,
body.dark .empty-state-card .title,
body.dark .no-data h3,
body.dark .no-data .empty-state-title,
body.dark .no-data .title,
body.dark .no-results h3,
body.dark .no-results .empty-state-title,
body.dark .no-results .title,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) h3,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-title,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .title,
.dark-mode .empty-state-box h3,
.dark-mode .empty-state-box .empty-state-title,
.dark-mode .empty-state-box .title,
.dark-mode .empty-state-card h3,
.dark-mode .empty-state-card .empty-state-title,
.dark-mode .empty-state-card .title,
.dark-mode .no-data h3,
.dark-mode .no-data .empty-state-title,
.dark-mode .no-data .title,
.dark-mode .no-results h3,
.dark-mode .no-results .empty-state-title,
.dark-mode .no-results .title {
  color: var(--ion-color-primary) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-subtitle,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .subtitle,
body.dark-mode .empty-state-box p,
body.dark-mode .empty-state-box .empty-state-subtitle,
body.dark-mode .empty-state-box .subtitle,
body.dark-mode .empty-state-card p,
body.dark-mode .empty-state-card .empty-state-subtitle,
body.dark-mode .empty-state-card .subtitle,
body.dark-mode .no-data p,
body.dark-mode .no-data .empty-state-subtitle,
body.dark-mode .no-data .subtitle,
body.dark-mode .no-results p,
body.dark-mode .no-results .empty-state-subtitle,
body.dark-mode .no-results .subtitle,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-subtitle,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .subtitle,
body.dark .empty-state-box p,
body.dark .empty-state-box .empty-state-subtitle,
body.dark .empty-state-box .subtitle,
body.dark .empty-state-card p,
body.dark .empty-state-card .empty-state-subtitle,
body.dark .empty-state-card .subtitle,
body.dark .no-data p,
body.dark .no-data .empty-state-subtitle,
body.dark .no-data .subtitle,
body.dark .no-results p,
body.dark .no-results .empty-state-subtitle,
body.dark .no-results .subtitle,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-subtitle,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .subtitle,
.dark-mode .empty-state-box p,
.dark-mode .empty-state-box .empty-state-subtitle,
.dark-mode .empty-state-box .subtitle,
.dark-mode .empty-state-card p,
.dark-mode .empty-state-card .empty-state-subtitle,
.dark-mode .empty-state-card .subtitle,
.dark-mode .no-data p,
.dark-mode .no-data .empty-state-subtitle,
.dark-mode .no-data .subtitle,
.dark-mode .no-results p,
.dark-mode .no-results .empty-state-subtitle,
.dark-mode .no-results .subtitle {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-button,
body.dark-mode .empty-state-box ion-button,
body.dark-mode .empty-state-card ion-button,
body.dark-mode .no-data ion-button,
body.dark-mode .no-results ion-button,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-button,
body.dark .empty-state-box ion-button,
body.dark .empty-state-card ion-button,
body.dark .no-data ion-button,
body.dark .no-results ion-button,
.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-button,
.dark-mode .empty-state-box ion-button,
.dark-mode .empty-state-card ion-button,
.dark-mode .no-data ion-button,
.dark-mode .no-results ion-button {
  margin-top: 8px !important;
}
body.dark-mode .empty-state-container,
body.dark .empty-state-container,
.dark-mode .empty-state-container {
  flex: 1 !important;
  min-height: 50vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.dark-mode .empty-state-box,
body.dark .empty-state-box,
.dark-mode .empty-state-box {
  box-shadow: none !important;
}

ion-header ion-toolbar:not([color=primary]) ion-buttons {
  align-items: center;
  z-index: 2;
}

ion-header ion-toolbar:not([color=primary]) ion-back-button {
  --color: var(--ion-color-primary);
}

ion-header ion-toolbar:not([color=primary]) ion-button,
ion-header ion-toolbar:not([color=primary]) ion-icon {
  color: var(--ion-color-primary);
}

/* End-of-page hint overal consistent */
app-end-of-page .eop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 13px;
  margin: 8px 0;
  padding: 12px 0;
  opacity: 1;
}

app-end-of-page .eop ion-icon {
  font-size: 18px;
  color: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.6);
  animation: eop-bounce 1.8s infinite ease-in-out;
}

app-end-of-page .eop p {
  margin: 0;
  font-weight: 500;
  letter-spacing: 0.3px;
}

app-end-of-page .eop.inline {
  margin: 8px 0;
}

@keyframes eop-bounce {
  0%, 100% {
    transform: translateY(0);
    opacity: 0.8;
  }
  50% {
    transform: translateY(6px);
    opacity: 1;
  }
}
/* LIGHT MODE DEFAULTS - These use CSS variables so dark mode can override */
ion-content {
  --background: var(--tesla-black);
  --color: var(--tesla-text-primary);
}

/* Cards use CSS variables - themed automatically */
ion-card {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
  background: var(--tesla-card-bg);
  color: var(--tesla-text-primary);
  border: 1px solid var(--tesla-border);
}
ion-card ion-card-header {
  background: var(--tesla-card-bg);
  color: var(--tesla-blue);
}
ion-card ion-card-header ion-card-title {
  color: var(--tesla-blue);
  font-weight: 600;
}
ion-card ion-card-content {
  background: var(--tesla-card-bg);
  color: var(--tesla-text-primary);
}

/* Items use CSS variables - themed automatically */
ion-item {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-primary);
  background: var(--tesla-card-bg);
  color: var(--tesla-text-primary);
}
ion-item ion-label {
  color: var(--tesla-text-primary);
}

/* Keep white titles only on primary toolbars (e.g., globale blauwe header) */
ion-toolbar[color=primary] ion-title {
  color: white !important;
  font-weight: 600 !important;
}

/* Improved contrast for better readability */
.text-primary {
  color: #2563eb !important;
}

.text-secondary {
  color: #666 !important;
}

.text-success {
  color: #2563eb !important;
}

.text-white {
  color: #ffffff !important;
}

/**
 * Ionic Dark Mode
 * -----------------------------------------------------
 * For more info, please see:
 * https://ionicframework.com/docs/theming/dark-mode
 */
/* @import "@ionic/angular/css/palettes/dark.always.css"; */
/* Global Alert Styling — kleuren via global.scss MASTER ALERT OVERRIDE */
/* Select/time input alert — kleuren via global.scss, alleen layout-specifiek */
ion-alert.select-alert::part(alert-wrapper),
ion-alert.time-input-alert::part(alert-wrapper) {
  max-height: 72vh;
}

ion-alert.select-alert::part(alert-content),
ion-alert.select-alert::part(alert-radio-group) {
  max-height: none;
  overflow: hidden;
}

/* alert-title/message colors via global.scss */
/* radio-label colors via global.scss */
ion-alert.select-alert .alert-radio-label,
ion-alert.select-alert .alert-radio-label.sc-ion-alert-md,
ion-alert.select-alert .alert-radio-label.sc-ion-alert-ios {
  color: var(--cdt-text-primary) !important;
  opacity: 1 !important;
}

ion-alert.select-alert .alert-radio-group {
  padding: 6px 8px;
  border: none;
  border-radius: 8px;
  max-height: none;
  overflow: hidden;
}

ion-alert.select-alert .alert-radio-button {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 6px 10px;
  margin: 4px 0;
  transition: background 0.2s ease, border-color 0.2s ease;
}

ion-alert.select-alert .alert-radio-button[aria-checked=true] {
  background: rgba(59, 130, 246, 0.18);
  border-color: rgba(59, 130, 246, 0.6);
  box-shadow: none;
}

ion-alert.select-alert .alert-radio-button[aria-checked=true] .alert-radio-label {
  color: var(--cdt-text-primary) !important;
}

ion-alert.select-alert .alert-button-group {
  padding-top: 6px;
  margin-top: 4px;
  border-top: none;
}

ion-alert.select-alert .alert-button {
  font-weight: 600;
  letter-spacing: 0.2px;
  font-size: 13px;
}

ion-alert.select-alert .alert-radio-label {
  font-size: 13px;
  line-height: 1.2;
}

/* radio icon colors via global.scss */
/* alert-button colors via global.scss */
/* alert-input colors via global.scss */
/* Global Loading Styling - Theme aware with dark mode support */
ion-loading {
  --background: var(--color-gray-800, rgba(31, 41, 55, 0.95));
  --backdrop-opacity: 0.2;
  --color: var(--tesla-text-primary, #ffffff);
  --spinner-color: var(--ion-color-primary, #3b82f6);
}
ion-loading .loading-wrapper {
  background: var(--color-gray-800, rgba(31, 41, 55, 0.95));
  color: var(--tesla-text-primary, #ffffff);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
          backdrop-filter: blur(10px) saturate(1.2);
  padding: 32px 24px;
}
ion-loading .loading-content {
  color: var(--tesla-text-primary, #ffffff) !important;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
ion-loading .loading-spinner {
  --color: var(--ion-color-primary, #3b82f6);
  width: 48px;
  height: 48px;
}

@media (prefers-color-scheme: dark) {
  ion-loading {
    --background: rgba(17, 24, 39, 0.98);
    --backdrop-opacity: 0.2;
  }
  ion-loading .loading-wrapper {
    background: rgba(17, 24, 39, 0.98);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
  }
}
/* Global Toast Styling - Theme aware */
ion-toast {
  --background: var(--surface, #ffffff);
  --color: var(--text, #1f2937);
  --border: none;
  --box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
ion-toast .toast-wrapper {
  background: var(--surface, #ffffff);
  color: var(--text, #1f2937);
  border-radius: 8px;
  border: 1px solid var(--border, rgba(0, 0, 0, 0.08));
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  outline: none;
}

/* Global Tab Bar Styling - Theme aware */
ion-tab-bar {
  --background: var(--tesla-card-bg);
  --color: var(--tesla-text-secondary);
  --color-selected: var(--tesla-blue);
  --border: 1px solid var(--tesla-border);
}
ion-tab-bar ion-tab-button {
  --color: var(--tesla-text-secondary);
  --color-selected: var(--tesla-blue);
  --background: var(--tesla-card-bg);
}
ion-tab-bar ion-tab-button.tab-selected {
  --color: var(--tesla-blue);
}

/* @import "@ionic/angular/css/palettes/dark.class.css"; */
/* @import "@ionic/angular/css/palettes/dark.system.css"; */
/* THEME SYSTEM - Light mode is default, dark mode controlled by body.dark-mode class */
/* NOTE: Do not force white backgrounds here - let the theme system handle it */
/* Custom Toast Styling - Dark Background */
ion-toast.toast-light {
  --background: #1a1a1a !important;
  --color: #e2e8f0 !important;
  --border: none !important;
  box-shadow: none !important;
}
ion-toast.toast-light .toast-wrapper {
  background: #1a1a1a !important;
  color: #e2e8f0 !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: none !important;
}
ion-toast.toast-light .toast-message {
  color: #e2e8f0 !important;
  font-weight: 500 !important;
}
ion-toast.toast-light .toast-button {
  color: #e2e8f0 !important;
}

/* User Location Marker Styles */
.user-location-marker {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.user-marker-outer {
  width: 20px;
  height: 20px;
  position: relative;
  background: rgba(66, 133, 244, 0.2);
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  animation: pulse-location 2s infinite;
}

.user-marker-inner {
  width: 8px;
  height: 8px;
  background: var(--tesla-blue);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes pulse-location {
  0% {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(66, 133, 244, 0.7);
  }
  70% {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3), 0 0 0 10px rgba(66, 133, 244, 0);
  }
  100% {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3), 0 0 0 0 rgba(66, 133, 244, 0);
  }
}
/* Fullscreen celebration modal - geen breakpoints */
.fullscreen-celebration {
  --height: 100%;
  --width: 100%;
  --border-radius: 0;
}
.fullscreen-celebration .modal-wrapper {
  border-radius: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
.fullscreen-celebration ion-content {
  --background: var(--ion-color-light, #f8f9fb);
}

/* Invoice Preview Alert Styles */
.invoice-preview-alert .alert-wrapper {
  --border-radius: 16px;
  max-width: 350px;
}
.invoice-preview-alert .alert-wrapper .alert-head {
  padding: 20px 20px 10px 20px;
}
.invoice-preview-alert .alert-wrapper .alert-message {
  padding: 10px 20px;
}
.invoice-preview-alert .alert-wrapper .alert-message .invoice-preview-content {
  text-align: left;
}
.invoice-preview-alert .alert-wrapper .alert-message .invoice-preview-content .preview-info {
  background: rgba(76, 175, 80, 0.1);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  border-left: 4px solid #4CAF50;
}
.invoice-preview-alert .alert-wrapper .alert-message .invoice-preview-content .preview-info p {
  margin: 5px 0;
  font-size: 0.9em;
}
.invoice-preview-alert .alert-wrapper .alert-message .invoice-preview-content .preview-message {
  text-align: center;
}
.invoice-preview-alert .alert-wrapper .alert-button-group .alert-button-primary {
  --background: linear-gradient(45deg, #4CAF50, #45a049);
  --color: var(--tesla-white);
  font-weight: 600;
}
.invoice-preview-alert .alert-wrapper .alert-button-group .alert-button-secondary {
  --background: linear-gradient(45deg, #2196F3, #1976D2);
  --color: var(--tesla-white);
  font-weight: 600;
}
.invoice-preview-alert .alert-wrapper .alert-button-group .alert-button-cancel {
  --color: var(--tesla-text-secondary);
}

/* Large Modal Fullscreen Styles */
.large-modal-fullscreen {
  --width: 90vw !important;
  --height: 85vh !important;
  --max-width: 900px !important;
  --max-height: 85vh !important;
  --border-radius: 24px !important;
}
.large-modal-fullscreen .modal-wrapper {
  width: 90vw !important;
  height: 85vh !important;
  max-width: 900px !important;
  max-height: 85vh !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.large-modal-fullscreen .modal-wrapper ion-content {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.large-modal-fullscreen .modal-wrapper ion-content .ion-padding,
.large-modal-fullscreen .modal-wrapper ion-content ion-grid,
.large-modal-fullscreen .modal-wrapper ion-content form {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.large-modal-fullscreen .modal-wrapper ion-header ion-toolbar ion-title {
  text-align: center !important;
  padding: 0 !important;
}

.templates-modal-large .modal-wrapper {
  box-shadow: 0 20px 80px rgba(13, 71, 161, 0.25), 0 8px 32px rgba(13, 71, 161, 0.15) !important;
}

/* Fullscreen Modal Styling */
.fullscreen-modal {
  --width: 100% !important;
  --height: 100% !important;
  --border-radius: 0 !important;
  --box-shadow: none !important;
  --backdrop-opacity: 0.2;
}
.fullscreen-modal .modal-wrapper {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  margin: 0 !important;
  transform: none !important;
}
.fullscreen-modal ion-backdrop {
  opacity: var(--backdrop-opacity) !important;
}

/* ==================== TARIFF CREATOR MODAL BACKDROP ==================== */
.tariff-creator-modal {
  --backdrop-opacity: 0.2 !important;
}
.tariff-creator-modal ion-backdrop {
  --backdrop-opacity: 0.2 !important;
  opacity: 0.2 !important;
  background: rgba(0, 0, 0, 0.2) !important;
}

/* ==================== 2FA SETUP MODAL STYLING ==================== */
.two-factor-setup-modal {
  --width: 90%;
  --max-width: 600px;
  --height: auto;
  --max-height: 85vh;
  --border-radius: 16px;
}
.two-factor-setup-modal .alert-wrapper {
  border-radius: 16px !important;
  overflow: hidden;
}
.two-factor-setup-modal .alert-wrapper .alert-head {
  background: linear-gradient(135deg, #0d47a1 0%, #1976d2 100%);
  color: var(--tesla-white);
  padding: 20px;
}
.two-factor-setup-modal .alert-wrapper .alert-head h2 {
  color: white !important;
  font-weight: 700;
  font-size: 1.2rem;
  margin: 0;
}
.two-factor-setup-modal .alert-wrapper .alert-message {
  padding: 20px !important;
  max-height: calc(85vh - 200px);
  overflow-y: auto;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup h3 {
  color: #0d47a1;
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: 20px;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 2px solid #e3f2fd;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup h4 {
  color: #1976d2;
  font-weight: 600;
  font-size: 1rem;
  margin: 20px 0 10px;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .verification-code-section {
  background: rgba(13, 71, 161, 0.15);
  border-left: 4px solid #0d47a1;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .verification-code-section .verification-code-display {
  font-size: 2rem;
  font-weight: 700;
  color: #0d47a1;
  text-align: center;
  padding: 20px;
  background: var(--tesla-card-bg);
  border-radius: 8px;
  margin: 10px 0;
  letter-spacing: 0.3em;
  font-family: "Courier New", monospace;
  box-shadow: 0 2px 8px rgba(13, 71, 161, 0.15);
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .verification-code-section p {
  text-align: center;
  color: var(--tesla-text-secondary);
  font-size: 0.9rem;
  margin: 10px 0 0;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .qr-section {
  background: var(--tesla-dark-gray);
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
  text-align: center;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .qr-section img {
  border: 2px solid var(--tesla-border);
  border-radius: 8px;
  padding: 10px;
  background: var(--tesla-card-bg);
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .qr-section small {
  display: block;
  color: var(--tesla-text-secondary);
  font-size: 0.75rem;
  margin-top: 10px;
  word-break: break-all;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .backup-codes-section {
  background: rgba(255, 152, 0, 0.12);
  border-left: 4px solid #ff9800;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .backup-codes-section .backup-codes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .backup-codes-section .backup-codes code {
  background: var(--tesla-card-bg);
  padding: 8px 12px;
  border-radius: 6px;
  font-family: "Courier New", monospace;
  font-weight: 600;
  font-size: 0.85rem;
  color: #0d47a1;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .instructions {
  background: var(--tesla-success-light);
  border-left: 4px solid #4caf50;
  padding: 15px;
  border-radius: 8px;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .instructions ol {
  margin: 10px 0 0;
  padding-left: 20px;
}
.two-factor-setup-modal .alert-wrapper .alert-message .two-factor-setup .instructions ol li {
  margin: 8px 0;
  line-height: 1.6;
  color: var(--tesla-text-primary);
}
.two-factor-setup-modal .alert-wrapper .alert-button-group {
  padding: 15px 20px;
  background: var(--tesla-dark-gray);
}
.two-factor-setup-modal .alert-wrapper .alert-button-group button {
  border-radius: 8px !important;
  font-weight: 600;
  text-transform: none;
  padding: 12px 20px;
}
.two-factor-setup-modal .alert-wrapper .alert-button-group button:first-child {
  background: #0d47a1;
  color: var(--tesla-white);
}
.two-factor-setup-modal .alert-wrapper .alert-button-group button:first-child:hover {
  background: #1565c0;
}

/* === GLOBAL SHADOW DOM HEADER FIXES === */
ion-header {
  --box-shadow: none !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}

ion-toolbar {
  --box-shadow: none !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}

/* === GLOBAL SEARCHBAR STYLING - CDT STANDAARD === */
.native-search-container {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--searchbar-bg) !important;
  background-color: var(--searchbar-bg) !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  padding: 10px 14px;
  min-height: 44px;
  width: 100% !important;
  box-shadow: none !important;
}
.native-search-container .search-icon {
  font-size: 18px;
  color: var(--searchbar-icon) !important;
  margin-right: 10px;
  flex-shrink: 0;
}
.native-search-container .native-search-input {
  flex: 1;
  border-bottom: none !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  appearance: none;
  font-size: 13px;
  color: var(--searchbar-text);
  padding: 0;
}
.native-search-container .native-search-input::placeholder {
  color: var(--searchbar-placeholder);
}
.native-search-container .clear-icon {
  font-size: 18px;
  color: var(--searchbar-placeholder);
  margin-left: 8px;
  cursor: pointer;
  flex-shrink: 0;
}
.native-search-container .clear-icon:hover {
  color: var(--searchbar-icon);
}

/* Force native search input background transparent everywhere */
input.native-search-input,
.native-search-input {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* === GLOBAL SEARCHBAR - CDT STANDAARD === */
ion-searchbar,
.visible-searchbar {
  display: block !important;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  --background: var(--searchbar-bg) !important;
  --border-radius: 24px !important;
  --box-shadow: none !important;
  --color: var(--searchbar-text) !important;
  --placeholder-color: var(--searchbar-placeholder) !important;
  --icon-color: var(--searchbar-icon) !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
}
ion-searchbar .searchbar-input-container,
.visible-searchbar .searchbar-input-container {
  height: 44px !important;
  min-height: 44px !important;
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
}
ion-searchbar .searchbar-input,
.visible-searchbar .searchbar-input {
  padding: 0 12px !important;
  font-size: 13px !important;
  color: var(--searchbar-text) !important;
  min-height: 36px !important;
  line-height: 36px !important;
  background: transparent !important;
}
ion-searchbar .searchbar-search-icon,
.visible-searchbar .searchbar-search-icon {
  left: 12px !important;
  width: 21px !important;
  height: 21px !important;
  color: var(--searchbar-icon) !important;
}
ion-searchbar .searchbar-clear-button,
.visible-searchbar .searchbar-clear-button {
  right: 8px !important;
  color: var(--searchbar-placeholder) !important;
}

/* === DARK MODE SEARCHBAR THEME - CDT STANDAARD === */
body.dark-mode ion-searchbar,
body.dark ion-searchbar,
body.dark-mode .visible-searchbar,
body.dark .visible-searchbar {
  --background: #1a1a1a !important;
  --color: #ffffff !important;
  --placeholder-color: rgba(255, 255, 255, 0.5) !important;
  --icon-color: #3b82f6 !important;
  --box-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 24px !important;
  width: 100% !important;
}

body.dark-mode ion-searchbar .searchbar-input-container,
body.dark ion-searchbar .searchbar-input-container,
body.dark-mode .visible-searchbar .searchbar-input-container,
body.dark .visible-searchbar .searchbar-input-container {
  background: #1a1a1a !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 24px !important;
}

body.dark-mode ion-searchbar .searchbar-input,
body.dark ion-searchbar .searchbar-input,
body.dark-mode .visible-searchbar .searchbar-input,
body.dark .visible-searchbar .searchbar-input {
  color: #ffffff !important;
  background: transparent !important;
}

body.dark-mode ion-searchbar .searchbar-search-icon,
body.dark ion-searchbar .searchbar-search-icon,
body.dark-mode .visible-searchbar .searchbar-search-icon,
body.dark .visible-searchbar .searchbar-search-icon {
  color: #3b82f6 !important;
}

/* Searchbar line/outline cleanup - CDT STANDAARD */
ion-searchbar::part(container),
ion-searchbar::part(native),
ion-searchbar::part(input),
ion-searchbar::part(text),
ion-searchbar .searchbar-input-container,
ion-searchbar .searchbar-input {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: var(--searchbar-bg) !important;
}

ion-searchbar .searchbar-input {
  border-bottom: none !important;
  background: transparent !important;
}

ion-item:has(ion-searchbar) {
  --inner-border-width: 0 !important;
  --border-width: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* === CUSTOM SEARCHBAR CLASS - CDT STANDAARD === */
.custom-searchbar {
  --background: var(--searchbar-bg) !important;
  --border-radius: 24px !important;
  --box-shadow: none !important;
  --icon-color: var(--searchbar-icon) !important;
  --placeholder-color: var(--searchbar-placeholder) !important;
  --placeholder-opacity: 0.5;
  --color: var(--searchbar-text) !important;
  --padding-start: 10px;
  --padding-end: 10px;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  width: 100% !important;
  padding: 0;
  min-height: 44px;
  -webkit-font-smoothing: antialiased;
}
.custom-searchbar::part(native) {
  padding-inline-start: 3.4375rem;
  padding-inline-end: 3.4375rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  background-position: left 8px center;
  height: auto;
  font-size: 13px;
  font-weight: 400;
  line-height: 30px;
  border-radius: 24px;
  display: block;
  width: 100%;
}

body.dark-mode .custom-searchbar,
body.dark .custom-searchbar {
  --background: #1a1a1a !important;
  --icon-color: #3b82f6;
  --placeholder-color: rgba(255, 255, 255, 0.5);
  --color: #ffffff;
  --box-shadow: none;
}

/* ===================================
   GLOBAL SEARCHBAR STYLING - CDT STANDAARD
   =================================== */
.filters-section {
  padding: 12px 16px !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  /* CDT STANDAARD - Filter knop in zoekbalk */
}
.filters-section .search-wrapper {
  position: relative !important;
  width: 100% !important;
  background: transparent !important;
}
.filters-section ion-searchbar {
  --background: var(--searchbar-bg) !important;
  --border-radius: 24px !important;
  --box-shadow: none !important;
  --icon-color: var(--searchbar-icon) !important;
  --placeholder-color: var(--searchbar-placeholder) !important;
  --placeholder-opacity: 0.5 !important;
  --color: var(--searchbar-text) !important;
  --padding-start: 10px !important;
  --padding-end: 10px !important;
  padding: 0 !important;
  min-height: 44px !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  width: 100% !important;
}
.filters-section ion-searchbar::part(native) {
  padding-inline-start: 3.4375rem !important;
  padding-inline-end: 10rem !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  background-position: left 12px center !important;
  height: auto !important;
  font-size: 13px !important;
  line-height: 30px !important;
  border-radius: 24px !important;
  border: none !important;
  background: var(--searchbar-bg) !important;
  box-shadow: none !important;
}
.filters-section .status-badge-container {
  display: flex !important;
  align-items: center !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  position: static !important;
  transform: none !important;
}
.filters-section .status-badge-container ion-chip {
  margin: 0 !important;
  height: auto !important;
  background: #3b82f6 !important;
  --background: #3b82f6 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  cursor: pointer !important;
  font-size: 0.75rem !important;
  padding: 6px 12px !important;
  color: #ffffff !important;
  --color: #ffffff !important;
  pointer-events: auto !important;
}
.filters-section .status-badge-container ion-chip ion-label {
  color: #ffffff !important;
  font-size: 0.75rem !important;
}
.filters-section .status-badge-container ion-chip ion-icon {
  color: #ffffff !important;
  font-size: 14px !important;
}
.filters-section .status-badge-container ion-chip:hover {
  background: #2563eb !important;
  --background: #2563eb !important;
}

/* === GLOBAL STATUS DROPDOWN === */
.status-dropdown {
  position: relative;
  margin-top: 12px;
  background: var(--cdt-light-bg-card);
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  border: 1px solid var(--cdt-light-border);
}
.status-dropdown .status-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 4px;
}
.status-dropdown .status-option:last-child {
  margin-bottom: 0;
}
.status-dropdown .status-option:hover {
  background: rgba(0, 0, 0, 0.05);
}
.status-dropdown .status-option.active {
  background: rgba(var(--ion-color-primary-rgb), 0.1);
  border: 2px solid var(--ion-color-primary);
}
.status-dropdown .status-option .label {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--cdt-light-text-primary);
}
.status-dropdown .status-option ion-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 12px;
  background: var(--ion-color-primary);
  color: #ffffff;
}

/* === DARK MODE STATUS DROPDOWN === */
body.dark .status-dropdown,
body.dark-mode .status-dropdown {
  background: var(--cdt-bg-card) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}
body.dark .status-dropdown .status-option:hover,
body.dark-mode .status-dropdown .status-option:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}
body.dark .status-dropdown .status-option.active,
body.dark-mode .status-dropdown .status-option.active {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 2px solid var(--ion-color-primary) !important;
}
body.dark .status-dropdown .status-option .label,
body.dark-mode .status-dropdown .status-option .label {
  color: var(--cdt-light-bg-card) !important;
}
body.dark .status-dropdown .status-option ion-badge,
body.dark-mode .status-dropdown .status-option ion-badge {
  background: var(--ion-color-primary) !important;
  color: #ffffff !important;
}

/* ===================================
   GLOBAL ION-SEGMENT STYLING - IONIC 8 COMPATIBLE
   =================================== */
ion-segment {
  --background: rgba(255, 255, 255, 0.85);
  border-radius: 12px;
  padding: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 48px !important;
  pointer-events: auto !important;
  width: 100% !important;
}
ion-segment ion-segment-button {
  --indicator-color: #2563eb;
  --indicator-color-checked: #2563eb;
  --color: var(--tesla-text-primary);
  --color-checked: white;
  --indicator-box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
  --border-radius: 8px;
  min-height: 44px;
  font-weight: 600;
  border-radius: 8px;
  margin: 2px;
  transition: all 0.3s ease;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  pointer-events: auto !important;
  cursor: pointer !important;
  background: transparent;
  /* Fallback for ::part if supported */
  /* Alternative styling via native */
}
ion-segment ion-segment-button ion-icon {
  font-size: 20px;
  color: var(--tesla-text-primary);
  transition: color 0.3s ease;
  pointer-events: none !important;
}
ion-segment ion-segment-button ion-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--tesla-text-primary);
  transition: color 0.3s ease;
  margin: 0;
  pointer-events: none !important;
}
ion-segment ion-segment-button.segment-button-checked {
  --color-checked: white !important;
  background: #2563eb !important;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
ion-segment ion-segment-button.segment-button-checked ion-icon {
  color: white !important;
}
ion-segment ion-segment-button.segment-button-checked ion-label {
  color: white !important;
  font-weight: 700;
}
ion-segment ion-segment-button::part(indicator-background) {
  background: #2563eb !important;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
ion-segment ion-segment-button::part(native) {
  border-radius: 8px;
  background: transparent;
}

/* Force segment button indicator visibility and clickability */
ion-segment ion-segment-button {
  pointer-events: auto !important;
  cursor: pointer !important;
}
ion-segment ion-segment-button .button-native,
ion-segment ion-segment-button .segment-button-indicator {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
ion-segment ion-segment-button::part(native) {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* ===================================
   FORCE VISIBILITY FIX FOR SEARCHBAR AND SEGMENTS
   =================================== */
.filters-section {
  display: block;
  visibility: visible;
  opacity: 1;
  height: auto;
  overflow: visible;
  z-index: 1;
  position: relative;
}
.filters-section ion-searchbar {
  display: block;
  visibility: visible;
  opacity: 1;
  height: 48px;
  min-height: 48px;
}

ion-segment {
  display: flex;
  visibility: visible;
  opacity: 1;
}
ion-segment ion-segment-button {
  display: flex;
  visibility: visible;
  opacity: 1;
}

/* ===================================
   DEBUG: ULTRA FORCE VISIBILITY  
   =================================== */
.filters-section,
.search-wrapper,
.filters-section ion-searchbar,
ion-searchbar.custom-searchbar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 999 !important;
  overflow: visible !important;
}

ion-searchbar,
ion-searchbar.custom-searchbar {
  min-height: 48px !important;
  height: auto !important;
  margin: 10px 0 !important;
}

ion-segment {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 40px !important;
  pointer-events: auto !important;
}

/* ===================================
   SHADOW DOM LEGACY CLEANUP
   =================================== */
/* Segment buttons - pierce Shadow DOM */
ion-segment-button {
  pointer-events: auto !important;
  cursor: pointer !important;
}

ion-segment-button .button-native {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

ion-segment-button ion-label,
ion-segment-button .segment-button-indicator {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none;
}

ion-segment-button.segment-button-checked {
  background: #2563eb !important;
}
ion-segment-button.segment-button-checked .button-native {
  background: #2563eb !important;
  color: white !important;
}
ion-segment-button.segment-button-checked ion-label {
  color: white !important;
  font-weight: 700 !important;
}
ion-segment-button.segment-button-checked ion-icon {
  color: white !important;
}

/* CSS Variables voor Ionic internals */
ion-searchbar {
  --placeholder-opacity: 1 !important;
  --placeholder-color: #999 !important;
  --color: #333 !important;
  --icon-color: #666 !important;
}

ion-segment-button {
  --color: #333 !important;
  --color-checked: white !important;
  --background-checked: #2563eb !important;
  --indicator-color: transparent !important;
  --indicator-color-checked: #2563eb !important;
}

/* ===================================
   AUTH SEGMENT BUTTON VERTICAL LAYOUT FIX
   =================================== */
.auth-segment ion-segment-button::part(native) {
  flex-direction: column !important;
  gap: 4px !important;
  padding: 8px !important;
}
.auth-segment ion-segment-button ion-icon {
  display: block !important;
  margin: 0 auto 4px auto !important;
  order: 1 !important;
}
.auth-segment ion-segment-button ion-label {
  display: block !important;
  margin: 0 !important;
  order: 2 !important;
  text-align: center !important;
}

/* ===================================
   ROLE-SELECT TELEFOON RESPONSIVE
   =================================== */
@media (max-width: 480px) {
  .content-wrapper.simple {
    padding: 4px !important;
    gap: 8px !important;
  }
  .header-section {
    margin-bottom: 8px !important;
  }
  .page-title {
    font-size: 24px !important;
    margin-bottom: 6px !important;
  }
  .page-subtitle {
    font-size: 14px !important;
  }
  .selection-grid {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 8px !important;
    margin: 12px 0 0 !important;
    align-items: center !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }
  .selection-option,
  button.selection-option {
    width: 96% !important;
    max-width: 96% !important;
    flex: 0 0 96% !important;
    flex-basis: 96% !important;
    height: auto !important;
    min-height: 240px !important;
    padding: 18px !important;
    margin: 0 auto !important;
  }
  .role-card-container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
}
/* GLOBAL GRADIENT HEADERS - Voor alle login/role pages */
app-role-select ion-header ion-toolbar,
app-app-login ion-header ion-toolbar {
  --background: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%) !important;
  background: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%) !important;
  --color: white !important;
}

app-role-select ion-header ion-title,
app-app-login ion-header ion-title {
  color: white !important;
}

/* Credentials Display in Alerts */
.credentials-display .credential-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.credentials-display .credential-row:last-of-type {
  border-bottom: none;
}
.credentials-display .credential-label {
  font-size: 14px;
  color: #888;
}
.credentials-display .credential-value {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-align: right;
  max-width: 60%;
  word-break: break-all;
}
.credentials-display .credential-note {
  font-size: 12px;
  color: var(--tesla-text-secondary);
  text-align: center;
  margin-top: 16px;
  font-style: italic;
}

/* Tab6 - Force hide all headers globally */
app-tab6 ion-header,
body ion-router-outlet app-tab6 ion-header,
.content-wrapper.tab6-fullscreen ion-header,
ion-app app-tab6 ion-header {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.icon-only-button {
  --background: transparent !important;
  --background-activated: transparent !important;
  --background-hover: transparent !important;
  --box-shadow: none !important;
  --border-radius: 0 !important;
  --padding-start: 8px !important;
  --padding-end: 8px !important;
}
.icon-only-button ion-icon {
  font-size: 28px !important;
  color: var(--tesla-blue) !important;
  opacity: 1 !important;
}

ion-header ion-toolbar ion-button ion-icon {
  color: var(--tesla-blue) !important;
  opacity: 1 !important;
  font-size: 26px !important;
}

/* ========================================
    GLOBAL MODAL STYLING - CONSISTENT ACROSS ALL MODALS
   Alle modals in de hele app krijgen dezelfde stijl
   ======================================== */
/* CUSTOM MODAL CLASSES - Ook blauwe headers */
/* SPECIFIEKE MODAL FIXES */
/* Add Booking Modal */
.add-booking-modal ion-header ion-toolbar,
app-add-booking ion-header ion-toolbar {
  background: var(--tesla-header-gradient) !important;
}
.add-booking-modal ion-header ion-toolbar ion-title,
.add-booking-modal ion-header ion-toolbar ion-button,
.add-booking-modal ion-header ion-toolbar ion-icon,
app-add-booking ion-header ion-toolbar ion-title,
app-add-booking ion-header ion-toolbar ion-button,
app-add-booking ion-header ion-toolbar ion-icon {
  color: #ffffff !important;
}

/* Two Factor Auth Modal */
.auth-modal-2fa ion-header ion-toolbar {
  background: var(--tesla-header-gradient) !important;
}
.auth-modal-2fa ion-header ion-toolbar * {
  color: #ffffff !important;
}

/* Invoice Modals */
.invoice-viewer-modal ion-header ion-toolbar,
.invoice-designer-modal ion-header ion-toolbar {
  background: var(--tesla-header-gradient) !important;
}
.invoice-viewer-modal ion-header ion-toolbar ion-title,
.invoice-viewer-modal ion-header ion-toolbar ion-button,
.invoice-viewer-modal ion-header ion-toolbar ion-icon,
.invoice-designer-modal ion-header ion-toolbar ion-title,
.invoice-designer-modal ion-header ion-toolbar ion-button,
.invoice-designer-modal ion-header ion-toolbar ion-icon {
  color: #ffffff !important;
}

/* Register Modal */
.register-modal ion-header ion-toolbar {
  background: var(--tesla-header-gradient) !important;
}
.register-modal ion-header ion-toolbar ion-title,
.register-modal ion-header ion-toolbar ion-button,
.register-modal ion-header ion-toolbar ion-icon {
  color: #ffffff !important;
}

/* Alle andere modals met custom classes */
[class*=-modal] ion-header ion-toolbar,
[class*=-modal] .header,
[class*=-modal] .modal-header,
[class*=modal-] ion-header ion-toolbar,
[class*=modal-] .header,
[class*=modal-] .modal-header {
  background: var(--tesla-header-gradient) !important;
}
[class*=-modal] ion-header ion-toolbar ion-title,
[class*=-modal] ion-header ion-toolbar h1,
[class*=-modal] ion-header ion-toolbar h2,
[class*=-modal] ion-header ion-toolbar h3,
[class*=-modal] ion-header ion-toolbar h4,
[class*=-modal] ion-header ion-toolbar h5,
[class*=-modal] ion-header ion-toolbar h6,
[class*=-modal] ion-header ion-toolbar ion-button,
[class*=-modal] ion-header ion-toolbar ion-icon,
[class*=-modal] ion-header ion-toolbar button,
[class*=-modal] ion-header ion-toolbar .title,
[class*=-modal] ion-header ion-toolbar span,
[class*=-modal] ion-header ion-toolbar p,
[class*=-modal] .header ion-title,
[class*=-modal] .header h1,
[class*=-modal] .header h2,
[class*=-modal] .header h3,
[class*=-modal] .header h4,
[class*=-modal] .header h5,
[class*=-modal] .header h6,
[class*=-modal] .header ion-button,
[class*=-modal] .header ion-icon,
[class*=-modal] .header button,
[class*=-modal] .header .title,
[class*=-modal] .header span,
[class*=-modal] .header p,
[class*=-modal] .modal-header ion-title,
[class*=-modal] .modal-header h1,
[class*=-modal] .modal-header h2,
[class*=-modal] .modal-header h3,
[class*=-modal] .modal-header h4,
[class*=-modal] .modal-header h5,
[class*=-modal] .modal-header h6,
[class*=-modal] .modal-header ion-button,
[class*=-modal] .modal-header ion-icon,
[class*=-modal] .modal-header button,
[class*=-modal] .modal-header .title,
[class*=-modal] .modal-header span,
[class*=-modal] .modal-header p,
[class*=modal-] ion-header ion-toolbar ion-title,
[class*=modal-] ion-header ion-toolbar h1,
[class*=modal-] ion-header ion-toolbar h2,
[class*=modal-] ion-header ion-toolbar h3,
[class*=modal-] ion-header ion-toolbar h4,
[class*=modal-] ion-header ion-toolbar h5,
[class*=modal-] ion-header ion-toolbar h6,
[class*=modal-] ion-header ion-toolbar ion-button,
[class*=modal-] ion-header ion-toolbar ion-icon,
[class*=modal-] ion-header ion-toolbar button,
[class*=modal-] ion-header ion-toolbar .title,
[class*=modal-] ion-header ion-toolbar span,
[class*=modal-] ion-header ion-toolbar p,
[class*=modal-] .header ion-title,
[class*=modal-] .header h1,
[class*=modal-] .header h2,
[class*=modal-] .header h3,
[class*=modal-] .header h4,
[class*=modal-] .header h5,
[class*=modal-] .header h6,
[class*=modal-] .header ion-button,
[class*=modal-] .header ion-icon,
[class*=modal-] .header button,
[class*=modal-] .header .title,
[class*=modal-] .header span,
[class*=modal-] .header p,
[class*=modal-] .modal-header ion-title,
[class*=modal-] .modal-header h1,
[class*=modal-] .modal-header h2,
[class*=modal-] .modal-header h3,
[class*=modal-] .modal-header h4,
[class*=modal-] .modal-header h5,
[class*=modal-] .modal-header h6,
[class*=modal-] .modal-header ion-button,
[class*=modal-] .modal-header ion-icon,
[class*=modal-] .modal-header button,
[class*=modal-] .modal-header .title,
[class*=modal-] .modal-header span,
[class*=modal-] .modal-header p {
  color: #ffffff !important;
}

/* GLOBAL: Remove ALL outlines from ALL elements */
* {
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

ion-item,
ion-input,
ion-select,
ion-textarea,
ion-datetime,
ion-searchbar,
.item-native,
.native-input,
.native-textarea {
  outline: none !important;
  --highlight-height: 0 !important;
  --highlight-color-focused: transparent !important;
  --highlight-color-valid: transparent !important;
  --highlight-color-invalid: transparent !important;
}
ion-item::part(native),
ion-input::part(native),
ion-select::part(native),
ion-textarea::part(native),
ion-datetime::part(native),
ion-searchbar::part(native),
.item-native::part(native),
.native-input::part(native),
.native-textarea::part(native) {
  outline: none !important;
  border: none !important;
}

input,
textarea,
select {
  outline: none !important;
}
input:focus, input:active, input:focus-visible,
textarea:focus,
textarea:active,
textarea:focus-visible,
select:focus,
select:active,
select:focus-visible {
  outline: none !important;
}

.input-outline-start,
.input-outline-notch,
.input-outline-end {
  display: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

ion-action-sheet.poi-search-action-sheet {
  --background: transparent !important;
  --backdrop-opacity: 0.2 !important;
  z-index: 999 !important;
}
ion-action-sheet.poi-search-action-sheet::part(backdrop) {
  background: rgba(0, 0, 0, 0.2) !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-wrapper {
  background: transparent !important;
  z-index: 999 !important;
  position: fixed !important;
  bottom: 10px !important;
  left: 70px !important;
  right: 10px !important;
  top: auto !important;
  max-width: calc(100% - 80px) !important;
  margin: 0 !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-wrapper {
    bottom: 10px !important;
    left: 70px !important;
    right: 10px !important;
    max-width: calc(100% - 80px) !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-container {
  padding: 0 !important;
  background: #000000 !important;
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
  overflow: visible !important;
  max-height: none !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-container {
    border-radius: 16px !important;
    max-height: none !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: none !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-title {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 16px 8px !important;
  text-align: center !important;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.05)) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-title {
    font-size: 13px !important;
    padding: 10px 14px 6px !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-title .action-sheet-sub-title {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  margin-top: 2px !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-title .action-sheet-sub-title {
    font-size: 10px !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button {
  color: #ffffff !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 12px 16px !important;
  min-height: 44px !important;
  max-height: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button {
    font-size: 13px !important;
    padding: 10px 14px !important;
    min-height: 40px !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button:last-child {
  border-bottom: none !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button:hover, ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button:active {
  background: rgba(59, 130, 246, 0.1) !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button .action-sheet-icon {
  color: #3b82f6 !important;
  font-size: 20px !important;
  margin-right: 12px !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button .action-sheet-icon {
    font-size: 18px !important;
    margin-right: 10px !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group .action-sheet-button .action-sheet-button-inner {
  justify-content: flex-start !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel {
  background: #000000 !important;
  border-radius: 0 0 16px 16px !important;
  border: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  display: block !important;
  visibility: visible !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button {
  color: #ef4444 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  min-height: 44px !important;
  background: transparent !important;
  padding: 12px 16px !important;
  display: flex !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button {
    font-size: 13px !important;
    min-height: 40px !important;
    padding: 10px 14px !important;
  }
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button:hover, ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button:active {
  background: rgba(239, 68, 68, 0.1) !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner {
  justify-content: center !important;
}
ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-icon {
  color: #ef4444 !important;
  font-size: 18px !important;
}
@media (max-width: 480px) {
  ion-action-sheet.poi-search-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-icon {
    font-size: 16px !important;
  }
}

ion-action-sheet {
  --backdrop-opacity: 0.2;
}
ion-action-sheet .action-sheet-wrapper {
  background: transparent !important;
}
ion-action-sheet .action-sheet-container {
  padding: 0 12px 12px !important;
  background: transparent !important;
}
ion-action-sheet .action-sheet-group {
  background: rgba(30, 30, 30, 0.92) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-radius: 12px !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  border: none !important;
}
ion-action-sheet .action-sheet-group .action-sheet-title {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 12px 14px 6px !important;
  background: transparent !important;
  border-bottom: none !important;
  text-align: center !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  padding: 10px 14px !important;
  min-height: 36px !important;
  max-height: 44px !important;
  background: transparent !important;
  border-bottom: none !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button:last-child {
  border-bottom: none !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button:hover, ion-action-sheet .action-sheet-group .action-sheet-button:active {
  background: rgba(255, 255, 255, 0.05) !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button .action-sheet-icon {
  color: #888888 !important;
  font-size: 18px !important;
  margin-right: 10px !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button .action-sheet-button-inner {
  justify-content: flex-start !important;
  white-space: normal !important;
  text-align: left !important;
  line-height: 1.3 !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.action-sheet-destructive {
  color: #ff4444 !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.action-sheet-destructive .action-sheet-icon {
  color: #ff4444 !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.action-sheet-selected {
  color: #4285f4 !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.action-sheet-selected .action-sheet-icon {
  color: #4285f4 !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.favorite-item-button .action-sheet-button-inner {
  font-size: 13px !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.modal-close-button {
  color: #4285f4 !important;
  font-weight: 500 !important;
}
ion-action-sheet .action-sheet-group .action-sheet-button.modal-close-button .action-sheet-icon {
  color: #4285f4 !important;
}
ion-action-sheet .action-sheet-group-cancel {
  background: #1a1a1a !important;
  border: none !important;
  border-radius: 12px !important;
}
ion-action-sheet .action-sheet-group-cancel .action-sheet-button {
  color: #4285f4 !important;
  font-weight: 500 !important;
  background: #1a1a1a !important;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group {
  background: #1a1a1a !important;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group .action-sheet-title {
  background: #1a1a1a !important;
  font-size: 16px !important;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group .action-sheet-button {
  background: #1a1a1a !important;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group .action-sheet-button.favorite-item-button {
  padding: 10px 16px !important;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group .action-sheet-button.favorite-item-button .action-sheet-button-inner {
  font-size: 13px !important;
  line-height: 1.4 !important;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group .action-sheet-button.modal-close-button {
  color: #4285f4 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin-top: 4px;
}
ion-action-sheet.favorites-sheet-dark .action-sheet-group-cancel {
  background: #1a1a1a !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group {
  background: rgba(30, 30, 30, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: none !important;
  border-radius: 12px !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-title, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-title {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 14px !important;
  text-transform: none !important;
  font-weight: 600 !important;
  padding: 12px 14px 6px !important;
  text-align: center !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-sub-title, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-sub-title {
  color: #888888 !important;
  font-size: 11px !important;
  padding: 0 14px 8px !important;
  text-align: center !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button {
  background: transparent !important;
  padding: 8px 14px !important;
  border-bottom: none !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button .action-sheet-button-inner {
  font-size: 14px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  color: #ffffff !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button .action-sheet-icon {
  color: #888888 !important;
  font-size: 20px !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button {
  position: relative !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button .action-sheet-icon {
  color: #4285f4 !important;
  font-size: 20px !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button .action-sheet-button-inner {
  position: relative;
  padding-right: 30px !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button .action-sheet-button-inner::after, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-item-button .action-sheet-button-inner::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: #666666;
  opacity: 0.7;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-action-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-action-button .action-sheet-icon {
  color: #4285f4 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.camera-toggle-active, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.camera-toggle-active {
  background: rgba(66, 133, 244, 0.15) !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.camera-toggle-active .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.camera-toggle-active .action-sheet-button-inner {
  color: #4285f4 !important;
  font-weight: 600 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.camera-toggle-inactive .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.camera-toggle-inactive .action-sheet-button-inner {
  color: #888888 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-all-button, ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-button, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-all-button, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-button {
  color: #ff4444 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin-top: 4px;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-all-button .action-sheet-button-inner, ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-button .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-all-button .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-button .action-sheet-button-inner {
  color: #ff4444 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-all-button .action-sheet-icon, ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-all-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-delete-button .action-sheet-icon {
  color: #ff4444 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-cancel-button, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-cancel-button {
  color: #4285f4 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-cancel-button .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-cancel-button .action-sheet-button-inner {
  color: #4285f4 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group .action-sheet-button.pin-cancel-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group .action-sheet-button.pin-cancel-button .action-sheet-icon {
  color: #4285f4 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group-cancel, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group-cancel {
  background: rgba(30, 30, 30, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: none !important;
  border-radius: 12px !important;
  margin-top: 8px !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group-cancel .action-sheet-button, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group-cancel .action-sheet-button {
  background: transparent !important;
  color: #4285f4 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner {
  color: #4285f4 !important;
}
ion-action-sheet.pin-list-sheet-dark .action-sheet-group-cancel .action-sheet-button .action-sheet-icon, ion-action-sheet.pin-edit-sheet-dark .action-sheet-group-cancel .action-sheet-button .action-sheet-icon {
  color: #4285f4 !important;
}

ion-popover {
  --backdrop-opacity: 0.2;
}
ion-popover .popover-content {
  background: #1a1a1a !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
}
ion-popover ion-list {
  background: transparent !important;
}
ion-popover ion-list ion-item {
  --background: transparent !important;
  --color: var(--cdt-text-primary) !important;
  --border-color: rgba(255, 255, 255, 0.05) !important;
}
ion-popover ion-list ion-item:hover {
  --background: rgba(255, 255, 255, 0.05) !important;
}
ion-popover ion-list ion-item ion-icon {
  color: #9ca3af !important;
}

ion-toast {
  --background: #1a1a1a !important;
  --color: var(--cdt-text-primary) !important;
  --border-radius: 12px !important;
  --box-shadow: none !important;
  --button-color: #e2e8f0 !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}

ion-loading {
  --backdrop-opacity: 0.2;
}
ion-loading .loading-wrapper {
  background: #1a1a1a !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
ion-loading .loading-wrapper .loading-content {
  color: var(--cdt-text-primary) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}
ion-loading .loading-wrapper ion-spinner {
  color: #4285f4 !important;
}

.dark-modal-alert {
  --backdrop-opacity: 0.2;
}
.dark-modal-alert .alert-wrapper {
  background: linear-gradient(145deg, #1a1d29 0%, #2d3142 50%, #1a1d29 100%) !important;
  border-radius: 20px !important;
  max-width: 360px !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
  overflow: hidden !important;
}
.dark-modal-alert .alert-head {
  background: linear-gradient(135deg, #2d3142 0%, #3d4259 100%) !important;
  padding: 24px 24px 16px !important;
  border-bottom: 1px solid rgba(74, 144, 226, 0.3) !important;
}
.dark-modal-alert .alert-head .alert-title {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  letter-spacing: -0.3px !important;
}
.dark-modal-alert .alert-head .alert-sub-title {
  color: #b8c5d6 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-top: 6px !important;
}
.dark-modal-alert .alert-message {
  color: #ffffff !important;
  padding: 16px 24px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.dark-modal-alert .alert-radio-group {
  background: transparent !important;
  border: none !important;
  padding: 12px 16px !important;
  max-height: 360px !important;
  overflow-y: auto !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button {
  background: rgba(45, 49, 66, 0.6) !important;
  border-radius: 12px !important;
  margin: 8px 0 !important;
  border: 2px solid rgba(74, 144, 226, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button:hover {
  background: rgba(61, 66, 89, 0.8) !important;
  border-color: rgba(74, 144, 226, 0.4) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.2) !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button.alert-radio-button-checked, .dark-modal-alert .alert-radio-group .alert-radio-button[aria-checked=true] {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  border-color: #4a90e2 !important;
  box-shadow: 0 6px 16px rgba(74, 144, 226, 0.4) !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button.alert-radio-button-checked .alert-radio-label, .dark-modal-alert .alert-radio-group .alert-radio-button[aria-checked=true] .alert-radio-label {
  color: #ffffff !important;
  font-weight: 600 !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button.alert-radio-button-checked .alert-radio-icon, .dark-modal-alert .alert-radio-group .alert-radio-button[aria-checked=true] .alert-radio-icon {
  border-color: #ffffff !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button.alert-radio-button-checked .alert-radio-icon .alert-radio-inner, .dark-modal-alert .alert-radio-group .alert-radio-button[aria-checked=true] .alert-radio-icon .alert-radio-inner {
  background: #ffffff !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button .alert-button-inner {
  padding: 16px 18px !important;
  justify-content: flex-start !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button .alert-radio-icon {
  border-color: #4a90e2 !important;
  border-width: 2px !important;
  background: transparent !important;
  width: 22px !important;
  height: 22px !important;
  margin-right: 16px !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button .alert-radio-icon .alert-radio-inner {
  background: #4a90e2 !important;
  width: 12px !important;
  height: 12px !important;
}
.dark-modal-alert .alert-radio-group .alert-radio-button .alert-radio-label {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  white-space: normal !important;
  line-height: 1.5 !important;
}
.dark-modal-alert .alert-checkbox-group {
  background: transparent !important;
  padding: 12px 16px !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button {
  background: rgba(45, 49, 66, 0.6) !important;
  border-radius: 12px !important;
  margin: 8px 0 !important;
  border: 2px solid rgba(74, 144, 226, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button:hover {
  background: rgba(61, 66, 89, 0.8) !important;
  border-color: rgba(74, 144, 226, 0.4) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.2) !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] {
  background: rgba(74, 144, 226, 0.2) !important;
  border-color: #4a90e2 !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] .alert-checkbox-icon {
  background: #4a90e2 !important;
  border-color: #4285f4 !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] .alert-checkbox-icon .alert-checkbox-inner {
  border-color: #ffffff !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button .alert-button-inner {
  padding: 16px 18px !important;
  justify-content: flex-start !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button .alert-checkbox-icon {
  border: 2px solid #4a90e2 !important;
  border-radius: 6px !important;
  width: 22px !important;
  height: 22px !important;
  margin-right: 16px !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}
.dark-modal-alert .alert-checkbox-group .alert-checkbox-button .alert-checkbox-label {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}
.dark-modal-alert .alert-input-group {
  padding: 8px 20px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  background: transparent !important;
}
.dark-modal-alert .alert-input-group .alert-input-wrapper {
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 12px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  margin-bottom: 0 !important;
  transition: all 0.2s ease !important;
  overflow: hidden !important;
}
.dark-modal-alert .alert-input-group .alert-input-wrapper:focus-within {
  border-color: #4a90e2 !important;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.15) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
.dark-modal-alert .alert-input-group .alert-input-wrapper input.alert-input,
.dark-modal-alert .alert-input-group .alert-input-wrapper textarea.alert-input {
  color: #ffffff !important;
  background: transparent !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  border: none !important;
  outline: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
}
.dark-modal-alert .alert-input-group .alert-input-wrapper input.alert-input::placeholder,
.dark-modal-alert .alert-input-group .alert-input-wrapper textarea.alert-input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
  font-weight: 400 !important;
}
.dark-modal-alert .alert-button-group {
  background: rgba(26, 29, 41, 0.8) !important;
  padding: 12px 20px 20px !important;
  border-top: 1px solid rgba(74, 144, 226, 0.2) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  justify-content: center !important;
  align-items: stretch !important;
}
.dark-modal-alert .alert-button-group .alert-button {
  flex: 1 1 0 !important;
  max-width: 140px !important;
  min-width: 100px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dark-modal-alert .alert-button-group .alert-button .alert-button-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  width: 100% !important;
  color: #ffffff !important;
}
.dark-modal-alert .alert-button-group .alert-button.alert-button-cancel, .dark-modal-alert .alert-button-group .alert-button.alert-button-role-cancel {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  order: -1 !important;
}
.dark-modal-alert .alert-button-group .alert-button.alert-button-cancel:hover, .dark-modal-alert .alert-button-group .alert-button.alert-button-role-cancel:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  transform: translateY(-1px) !important;
}
.dark-modal-alert .alert-button-group .alert-button.alert-button-confirm, .dark-modal-alert .alert-button-group .alert-button.alert-button-primary, .dark-modal-alert .alert-button-group .alert-button:last-child:not(.alert-button-cancel):not(.alert-button-role-cancel) {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3) !important;
}
.dark-modal-alert .alert-button-group .alert-button.alert-button-confirm:hover, .dark-modal-alert .alert-button-group .alert-button.alert-button-primary:hover, .dark-modal-alert .alert-button-group .alert-button:last-child:not(.alert-button-cancel):not(.alert-button-role-cancel):hover {
  background: linear-gradient(135deg, #357abd 0%, #2f6fd6 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(74, 144, 226, 0.4) !important;
}
.dark-modal-alert .alert-button-group .alert-button:active {
  transform: translateY(0px) !important;
}

.camera-settings-alert {
  --backdrop-opacity: 0.2;
}
.camera-settings-alert .alert-wrapper {
  background: #1a1a1a !important;
  border-radius: 12px !important;
  max-width: 240px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
  border: none !important;
  overflow: hidden !important;
}
.camera-settings-alert .alert-head {
  background: transparent !important;
  padding: 14px 14px 8px !important;
  border-bottom: none !important;
  text-align: center !important;
}
.camera-settings-alert .alert-head .alert-title {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  text-align: center !important;
}
.camera-settings-alert .alert-checkbox-group {
  background: transparent !important;
  padding: 0 12px 8px !important;
  border: none !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button {
  background: rgba(255, 255, 255, 0.05) !important;
  border-radius: 6px !important;
  margin: 3px 0 !important;
  border: none !important;
  min-height: 34px !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] {
  background: rgba(66, 133, 244, 0.2) !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] .alert-checkbox-icon {
  background: #4285f4 !important;
  border-color: #4285f4 !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] .alert-checkbox-icon .alert-checkbox-inner {
  border-color: #ffffff !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button[aria-checked=true] .alert-checkbox-label {
  color: #4285f4 !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button .alert-button-inner {
  padding: 8px 10px !important;
  justify-content: flex-start !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button .alert-checkbox-icon {
  border: 1.5px solid #555 !important;
  border-radius: 3px !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 10px !important;
  background: transparent !important;
}
.camera-settings-alert .alert-checkbox-group .alert-checkbox-button .alert-checkbox-label {
  color: #cccccc !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
.camera-settings-alert .alert-button-group {
  background: transparent !important;
  padding: 4px 12px 12px !important;
  border-top: none !important;
  display: flex !important;
  justify-content: center !important;
}
.camera-settings-alert .alert-button-group .alert-button {
  margin: 0 auto !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  min-height: 32px !important;
  max-width: 90px !important;
  padding: 0 20px !important;
  background: #4285f4 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.camera-settings-alert .alert-button-group .alert-button .alert-button-inner {
  justify-content: center !important;
  color: #ffffff !important;
}

ion-action-sheet .action-sheet-group-cancel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 8px !important;
  background: #1a1a1a !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}
ion-action-sheet .action-sheet-group-cancel .action-sheet-button,
ion-action-sheet .action-sheet-group-cancel button {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  justify-content: center !important;
  align-items: center !important;
  background: transparent !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  min-height: 50px !important;
  border: none !important;
  border-radius: 14px !important;
}
ion-action-sheet .action-sheet-group-cancel .action-sheet-button ion-icon,
ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-icon,
ion-action-sheet .action-sheet-group-cancel button ion-icon,
ion-action-sheet .action-sheet-group-cancel button .action-sheet-icon {
  color: #ff3b30 !important;
  margin-right: 8px !important;
  font-size: 20px !important;
}
ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner,
ion-action-sheet .action-sheet-group-cancel button .action-sheet-button-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.section-header,
.card-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom: 1px solid var(--tesla-border, rgba(0, 0, 0, 0.08)) !important;
  padding: 12px 16px !important;
}
.section-header h3,
.section-header h4,
.section-header .section-title,
.card-header h3,
.card-header h4,
.card-header .section-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.section-header h3 ion-icon,
.section-header h4 ion-icon,
.section-header .section-title ion-icon,
.card-header h3 ion-icon,
.card-header h4 ion-icon,
.card-header .section-title ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
  font-size: 1.2rem !important;
}

body.dark-mode .section-header,
body.dark-mode .card-header,
body.dark .section-header,
body.dark .card-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
body.dark-mode .section-header h3,
body.dark-mode .section-header h4,
body.dark-mode .section-header .section-title,
body.dark-mode .card-header h3,
body.dark-mode .card-header h4,
body.dark-mode .card-header .section-title,
body.dark .section-header h3,
body.dark .section-header h4,
body.dark .section-header .section-title,
body.dark .card-header h3,
body.dark .card-header h4,
body.dark .card-header .section-title {
  color: #ffffff !important;
}
body.dark-mode .section-header h3 ion-icon,
body.dark-mode .section-header h4 ion-icon,
body.dark-mode .section-header .section-title ion-icon,
body.dark-mode .card-header h3 ion-icon,
body.dark-mode .card-header h4 ion-icon,
body.dark-mode .card-header .section-title ion-icon,
body.dark .section-header h3 ion-icon,
body.dark .section-header h4 ion-icon,
body.dark .section-header .section-title ion-icon,
body.dark .card-header h3 ion-icon,
body.dark .card-header h4 ion-icon,
body.dark .card-header .section-title ion-icon {
  color: #60a5fa !important;
}

body.dark-mode,
body.dark {
  --ion-background-color: #1a1a1a !important;
  /* GLOBAL EMPTY STATE STYLING - UNIFORM VOOR HELE APP */
  /* Mini voertuigenbeheer - transparante empty state op dashboard */
}
body.dark-mode ion-content,
body.dark-mode ion-page,
body.dark-mode .ion-page,
body.dark ion-content,
body.dark ion-page,
body.dark .ion-page {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
}
body.dark-mode .page-content,
body.dark-mode .modal-content,
body.dark-mode .content-container,
body.dark-mode .dashboard-content,
body.dark-mode .list-container,
body.dark-mode .form-container,
body.dark-mode .invoices-overview,
body.dark-mode .invoices-container,
body.dark-mode .invoices-list-content,
body.dark .page-content,
body.dark .modal-content,
body.dark .content-container,
body.dark .dashboard-content,
body.dark .list-container,
body.dark .form-container,
body.dark .invoices-overview,
body.dark .invoices-container,
body.dark .invoices-list-content {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
}
body.dark-mode ion-card,
body.dark-mode .card,
body.dark-mode .content-card,
body.dark-mode .invoice-card,
body.dark-mode .empty-state-card,
body.dark-mode .no-results,
body.dark-mode .no-data,
body.dark ion-card,
body.dark .card,
body.dark .content-card,
body.dark .invoice-card,
body.dark .empty-state-card,
body.dark .no-results,
body.dark .no-data {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  --background: #1a1a1a !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
body.dark-mode .empty-state-box,
body.dark-mode .empty-state-card,
body.dark-mode .no-data,
body.dark-mode .no-results,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
body.dark .empty-state-box,
body.dark .empty-state-card,
body.dark .no-data,
body.dark .no-results {
  background: #1a1a1a !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 16px !important;
  padding: 24px 20px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  max-width: 440px !important;
  margin: auto !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
body.dark-mode .empty-state-box ion-icon:not([slot]),
body.dark-mode .empty-state-card ion-icon:not([slot]),
body.dark-mode .no-data ion-icon:not([slot]),
body.dark-mode .no-results ion-icon:not([slot]),
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
body.dark .empty-state-box ion-icon:not([slot]),
body.dark .empty-state-card ion-icon:not([slot]),
body.dark .no-data ion-icon:not([slot]),
body.dark .no-results ion-icon:not([slot]) {
  color: var(--ion-color-primary) !important;
  font-size: 4rem !important;
  margin-bottom: 8px !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) h3,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-title,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .title,
body.dark-mode .empty-state-box h3,
body.dark-mode .empty-state-box .empty-state-title,
body.dark-mode .empty-state-box .title,
body.dark-mode .empty-state-card h3,
body.dark-mode .empty-state-card .empty-state-title,
body.dark-mode .empty-state-card .title,
body.dark-mode .no-data h3,
body.dark-mode .no-data .empty-state-title,
body.dark-mode .no-data .title,
body.dark-mode .no-results h3,
body.dark-mode .no-results .empty-state-title,
body.dark-mode .no-results .title,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) h3,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-title,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .title,
body.dark .empty-state-box h3,
body.dark .empty-state-box .empty-state-title,
body.dark .empty-state-box .title,
body.dark .empty-state-card h3,
body.dark .empty-state-card .empty-state-title,
body.dark .empty-state-card .title,
body.dark .no-data h3,
body.dark .no-data .empty-state-title,
body.dark .no-data .title,
body.dark .no-results h3,
body.dark .no-results .empty-state-title,
body.dark .no-results .title {
  color: var(--ion-color-primary) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-subtitle,
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .subtitle,
body.dark-mode .empty-state-box p,
body.dark-mode .empty-state-box .empty-state-subtitle,
body.dark-mode .empty-state-box .subtitle,
body.dark-mode .empty-state-card p,
body.dark-mode .empty-state-card .empty-state-subtitle,
body.dark-mode .empty-state-card .subtitle,
body.dark-mode .no-data p,
body.dark-mode .no-data .empty-state-subtitle,
body.dark-mode .no-data .subtitle,
body.dark-mode .no-results p,
body.dark-mode .no-results .empty-state-subtitle,
body.dark-mode .no-results .subtitle,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .empty-state-subtitle,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) .subtitle,
body.dark .empty-state-box p,
body.dark .empty-state-box .empty-state-subtitle,
body.dark .empty-state-box .subtitle,
body.dark .empty-state-card p,
body.dark .empty-state-card .empty-state-subtitle,
body.dark .empty-state-card .subtitle,
body.dark .no-data p,
body.dark .no-data .empty-state-subtitle,
body.dark .no-data .subtitle,
body.dark .no-results p,
body.dark .no-results .empty-state-subtitle,
body.dark .no-results .subtitle {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}
body.dark-mode .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-button,
body.dark-mode .empty-state-box ion-button,
body.dark-mode .empty-state-card ion-button,
body.dark-mode .no-data ion-button,
body.dark-mode .no-results ion-button,
body.dark .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-button,
body.dark .empty-state-box ion-button,
body.dark .empty-state-card ion-button,
body.dark .no-data ion-button,
body.dark .no-results ion-button {
  margin-top: 8px !important;
}
body.dark-mode mini-voertuigenbeheer .empty-state,
body.dark-mode mini-voertuigenbeheer .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
body.dark-mode mini-voertuigenbeheer .empty-state.empty-state,
body.dark mini-voertuigenbeheer .empty-state,
body.dark mini-voertuigenbeheer .empty-state:not(.empty-state-container):not(.empty-state-wrapper),
body.dark mini-voertuigenbeheer .empty-state.empty-state {
  background: transparent !important;
  background-color: transparent !important;
  --background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  border-radius: 0 !important;
}
body.dark-mode mini-voertuigenbeheer .empty-state ion-icon:not([slot]),
body.dark-mode mini-voertuigenbeheer .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
body.dark-mode mini-voertuigenbeheer .empty-state.empty-state ion-icon:not([slot]),
body.dark mini-voertuigenbeheer .empty-state ion-icon:not([slot]),
body.dark mini-voertuigenbeheer .empty-state:not(.empty-state-container):not(.empty-state-wrapper) ion-icon:not([slot]),
body.dark mini-voertuigenbeheer .empty-state.empty-state ion-icon:not([slot]) {
  font-size: 48px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-bottom: 10px !important;
}
body.dark-mode mini-voertuigenbeheer .empty-state p,
body.dark-mode mini-voertuigenbeheer .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
body.dark-mode mini-voertuigenbeheer .empty-state.empty-state p,
body.dark mini-voertuigenbeheer .empty-state p,
body.dark mini-voertuigenbeheer .empty-state:not(.empty-state-container):not(.empty-state-wrapper) p,
body.dark mini-voertuigenbeheer .empty-state.empty-state p {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
body.dark-mode .empty-state-container,
body.dark .empty-state-container {
  flex: 1 !important;
  min-height: 50vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
body.dark-mode .empty-state-box,
body.dark .empty-state-box {
  box-shadow: none !important;
}
body.dark-mode ion-item,
body.dark ion-item {
  --background: transparent !important;
  background: transparent !important;
}
body.dark-mode ion-input,
body.dark-mode ion-textarea,
body.dark-mode ion-select,
body.dark ion-input,
body.dark ion-textarea,
body.dark ion-select {
  --background: #1a1a1a !important;
  background: #1a1a1a !important;
  --color: #ffffff !important;
  color: #ffffff !important;
}
body.dark-mode ion-searchbar,
body.dark ion-searchbar {
  --background: #000000 !important;
  background: #000000 !important;
  --color: #ffffff !important;
  color: #ffffff !important;
  --icon-color: #3b82f6 !important;
  --placeholder-color: rgba(255, 255, 255, 0.5) !important;
  --box-shadow: none !important;
  --border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 24px !important;
  width: 100% !important;
}
body.dark-mode ion-searchbar .searchbar-input-container,
body.dark-mode ion-searchbar .searchbar-input,
body.dark ion-searchbar .searchbar-input-container,
body.dark ion-searchbar .searchbar-input {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode p,
body.dark-mode span:not(.badge):not(.status-badge),
body.dark-mode ion-label,
body.dark-mode ion-note,
body.dark-mode .title,
body.dark-mode .subtitle,
body.dark-mode .description,
body.dark h1,
body.dark h2,
body.dark h3,
body.dark h4,
body.dark h5,
body.dark h6,
body.dark p,
body.dark span:not(.badge):not(.status-badge),
body.dark ion-label,
body.dark ion-note,
body.dark .title,
body.dark .subtitle,
body.dark .description {
  color: #ffffff !important;
}
body.dark-mode .text-muted,
body.dark-mode .text-secondary,
body.dark-mode .subtitle,
body.dark .text-muted,
body.dark .text-secondary,
body.dark .subtitle {
  color: rgba(255, 255, 255, 0.7) !important;
}

ion-toolbar ion-title {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  text-align: center !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

ion-toolbar ion-buttons {
  z-index: 10 !important;
}

/* ===========================================
   GLOBAL INPUT VISIBILITY (APP-WIDE)
   =========================================== */
body:not(.dark-mode):not(.dark) ion-item.item-input,
body:not(.dark-mode):not(.dark) ion-item.item-select,
body:not(.dark-mode):not(.dark) ion-item.item-textarea {
  --background: var(--cdt-light-bg-input) !important;
  background: var(--cdt-light-bg-input) !important;
  --border-color: var(--cdt-light-border) !important;
  border: 1px solid var(--cdt-light-border) !important;
  border-radius: 10px;
}
body:not(.dark-mode):not(.dark) ion-input,
body:not(.dark-mode):not(.dark) ion-textarea,
body:not(.dark-mode):not(.dark) ion-select {
  --background: var(--cdt-light-bg-input) !important;
  --color: var(--cdt-light-text-primary) !important;
  --placeholder-color: var(--cdt-light-text-muted) !important;
}
body:not(.dark-mode):not(.dark) ion-input::part(native),
body:not(.dark-mode):not(.dark) ion-textarea::part(native) {
  color: var(--cdt-light-text-primary) !important;
  -webkit-text-fill-color: var(--cdt-light-text-primary) !important;
}
body:not(.dark-mode):not(.dark) ion-select::part(text),
body:not(.dark-mode):not(.dark) ion-select::part(placeholder) {
  color: var(--cdt-light-text-primary) !important;
}
body:not(.dark-mode):not(.dark) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),
body:not(.dark-mode):not(.dark) textarea,
body:not(.dark-mode):not(.dark) select {
  background: var(--cdt-light-bg-input) !important;
  color: var(--cdt-light-text-primary) !important;
}

body.dark-mode ion-item.item-input,
body.dark-mode ion-item.item-select,
body.dark-mode ion-item.item-textarea,
body.dark ion-item.item-input,
body.dark ion-item.item-select,
body.dark ion-item.item-textarea {
  --background: var(--cdt-bg-input) !important;
  background: var(--cdt-bg-input) !important;
  --border-color: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 10px;
}
body.dark-mode ion-item.item-input.ion-focused,
body.dark-mode ion-item.item-select.ion-focused,
body.dark-mode ion-item.item-textarea.ion-focused,
body.dark ion-item.item-input.ion-focused,
body.dark ion-item.item-select.ion-focused,
body.dark ion-item.item-textarea.ion-focused {
  --border-color: var(--ion-color-primary) !important;
  border-color: var(--ion-color-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--ion-color-primary-rgb), 0.2) !important;
}
body.dark-mode ion-input,
body.dark-mode ion-textarea,
body.dark-mode ion-select,
body.dark ion-input,
body.dark ion-textarea,
body.dark ion-select {
  --background: var(--cdt-bg-input) !important;
  --color: var(--cdt-light-bg-card) !important;
  --placeholder-color: rgba(255, 255, 255, 0.6) !important;
}
body.dark-mode ion-input::part(native),
body.dark-mode ion-textarea::part(native),
body.dark ion-input::part(native),
body.dark ion-textarea::part(native) {
  color: var(--cdt-light-bg-card) !important;
  -webkit-text-fill-color: var(--cdt-light-bg-card) !important;
}
body.dark-mode ion-select::part(text),
body.dark-mode ion-select::part(placeholder),
body.dark ion-select::part(text),
body.dark ion-select::part(placeholder) {
  color: var(--cdt-light-bg-card) !important;
}
body.dark-mode input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),
body.dark-mode textarea,
body.dark-mode select,
body.dark input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),
body.dark textarea,
body.dark select {
  background: var(--cdt-bg-input) !important;
  color: var(--cdt-light-bg-card) !important;
}

/* ===========================================
   FILTER BUTTONS ALWAYS BLUE
   =========================================== */
.status-badge-container ion-chip,
.filter-dropdown-button,
.filter-button {
  background: var(--ion-color-primary) !important;
  border-color: var(--ion-color-primary-shade) !important;
  color: var(--cdt-light-bg-card) !important;
}

.status-badge-container ion-chip ion-label,
.status-badge-container ion-chip ion-icon {
  color: var(--cdt-light-bg-card) !important;
}

/* Native search input: force transparent bg (override generic input rule) */
body .native-search-container input.native-search-input,
body input.native-search-input,
body input.native-search-input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]) {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  color: var(--text, #1f2937) !important;
  -webkit-text-fill-color: var(--text, #1f2937) !important;
}

body .native-search-container input.native-search-input::placeholder {
  color: var(--text-secondary, rgba(0, 0, 0, 0.4)) !important;
  -webkit-text-fill-color: var(--text-secondary, rgba(0, 0, 0, 0.4)) !important;
}

/* =========================================================
   EMPTY STATE - CLEAN FLAT LOOK
   ========================================================= */
.empty-state,
.empty-state-card,
.empty-state-box,
.no-data,
.no-results,
[class*=empty-state] {
  border: none !important;
  box-shadow: none !important;
}

/* Searchbar - remove any remaining thin lines */
.native-search-container.native-search-container {
  border: none !important;
  box-shadow: none !important;
}

.native-search-container.native-search-container .native-search-input {
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ===========================================
   UNIFIED PROFESSIONAL INPUTS (TAB 8/9/10)
   =========================================== */
body.cdt-unified-inputs {
  --cdt-input-bg: var(--cdt-light-bg-card);
  --cdt-input-border: var(--cdt-light-border);
  --cdt-input-border-hover: rgba(var(--ion-color-primary-rgb), 0.18);
  --cdt-input-border-focus: var(--ion-color-primary);
  --cdt-input-text: var(--cdt-light-text-primary);
  --cdt-input-placeholder: var(--cdt-light-text-muted);
  --cdt-input-label: var(--cdt-light-text-secondary);
  --cdt-input-shadow: 0 2px 10px rgba(17, 24, 39, 0.06);
  --cdt-input-shadow-focus: 0 0 0 3px rgba(var(--ion-color-primary-rgb), 0.18);
}

body.dark-mode.cdt-unified-inputs,
body.dark.cdt-unified-inputs {
  --cdt-input-bg: var(--cdt-bg-input);
  --cdt-input-border: rgba(255, 255, 255, 0.14);
  --cdt-input-border-hover: rgba(255, 255, 255, 0.24);
  --cdt-input-border-focus: var(--ion-color-primary);
  --cdt-input-text: var(--cdt-light-bg-card);
  --cdt-input-placeholder: rgba(255, 255, 255, 0.55);
  --cdt-input-label: rgba(255, 255, 255, 0.82);
  --cdt-input-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
  --cdt-input-shadow-focus: 0 0 0 3px rgba(var(--ion-color-primary-rgb), 0.25);
}

body.cdt-unified-inputs ion-item.form-item,
body.cdt-unified-inputs ion-item.item-label-stacked,
body.cdt-unified-inputs ion-item.item-label-floating,
body.cdt-unified-inputs ion-item.item-has-input,
body.cdt-unified-inputs ion-item.item-has-textarea,
body.cdt-unified-inputs ion-item.item-has-select,
body.cdt-unified-inputs ion-item.item-has-datetime,
body.cdt-unified-inputs ion-item.item-input,
body.cdt-unified-inputs ion-item.item-textarea,
body.cdt-unified-inputs ion-item.item-select {
  --background: var(--cdt-input-bg) !important;
  background: var(--cdt-input-bg) !important;
  --border-color: var(--cdt-input-border) !important;
  border: 1px solid var(--cdt-input-border) !important;
  --border-radius: 12px;
  border-radius: 12px !important;
  --padding-start: 16px;
  --padding-end: 16px;
  --inner-padding-start: 0;
  --inner-padding-end: 0;
  --min-height: 58px;
  margin-bottom: 12px;
  box-shadow: var(--cdt-input-shadow);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.cdt-unified-inputs ion-item.form-item:hover,
body.cdt-unified-inputs ion-item.item-label-stacked:hover,
body.cdt-unified-inputs ion-item.item-label-floating:hover,
body.cdt-unified-inputs ion-item.item-has-input:hover,
body.cdt-unified-inputs ion-item.item-has-textarea:hover,
body.cdt-unified-inputs ion-item.item-has-select:hover,
body.cdt-unified-inputs ion-item.item-has-datetime:hover,
body.cdt-unified-inputs ion-item.item-input:hover,
body.cdt-unified-inputs ion-item.item-textarea:hover,
body.cdt-unified-inputs ion-item.item-select:hover {
  border-color: var(--cdt-input-border-hover) !important;
  transform: translateY(-1px);
}

body.cdt-unified-inputs ion-item.form-item.ion-focused,
body.cdt-unified-inputs ion-item.item-label-stacked.ion-focused,
body.cdt-unified-inputs ion-item.item-label-floating.ion-focused,
body.cdt-unified-inputs ion-item.item-has-input.ion-focused,
body.cdt-unified-inputs ion-item.item-has-textarea.ion-focused,
body.cdt-unified-inputs ion-item.item-has-select.ion-focused,
body.cdt-unified-inputs ion-item.item-has-datetime.ion-focused,
body.cdt-unified-inputs ion-item.item-input.ion-focused,
body.cdt-unified-inputs ion-item.item-textarea.ion-focused,
body.cdt-unified-inputs ion-item.item-select.ion-focused,
body.cdt-unified-inputs ion-item.form-item.item-has-focus,
body.cdt-unified-inputs ion-item.item-label-stacked.item-has-focus,
body.cdt-unified-inputs ion-item.item-label-floating.item-has-focus,
body.cdt-unified-inputs ion-item.item-has-input.item-has-focus,
body.cdt-unified-inputs ion-item.item-has-textarea.item-has-focus,
body.cdt-unified-inputs ion-item.item-has-select.item-has-focus,
body.cdt-unified-inputs ion-item.item-has-datetime.item-has-focus,
body.cdt-unified-inputs ion-item.item-input.item-has-focus,
body.cdt-unified-inputs ion-item.item-textarea.item-has-focus,
body.cdt-unified-inputs ion-item.item-select.item-has-focus,
body.cdt-unified-inputs ion-item.form-item:focus-within,
body.cdt-unified-inputs ion-item.item-label-stacked:focus-within,
body.cdt-unified-inputs ion-item.item-label-floating:focus-within,
body.cdt-unified-inputs ion-item.item-has-input:focus-within,
body.cdt-unified-inputs ion-item.item-has-textarea:focus-within,
body.cdt-unified-inputs ion-item.item-has-select:focus-within,
body.cdt-unified-inputs ion-item.item-has-datetime:focus-within,
body.cdt-unified-inputs ion-item.item-input:focus-within,
body.cdt-unified-inputs ion-item.item-textarea:focus-within,
body.cdt-unified-inputs ion-item.item-select:focus-within {
  border-color: var(--cdt-input-border-focus) !important;
  box-shadow: var(--cdt-input-shadow-focus) !important;
  transform: translateY(0);
}

body.cdt-unified-inputs ion-item.form-item ion-label,
body.cdt-unified-inputs ion-item.item-label-stacked ion-label,
body.cdt-unified-inputs ion-item.item-label-floating ion-label,
body.cdt-unified-inputs ion-item.item-has-input ion-label,
body.cdt-unified-inputs ion-item.item-has-textarea ion-label,
body.cdt-unified-inputs ion-item.item-has-select ion-label,
body.cdt-unified-inputs ion-item.item-has-datetime ion-label,
body.cdt-unified-inputs ion-item.item-input ion-label,
body.cdt-unified-inputs ion-item.item-textarea ion-label,
body.cdt-unified-inputs ion-item.item-select ion-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--cdt-input-label) !important;
  letter-spacing: 0.2px;
}

body.cdt-unified-inputs ion-item.form-item.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-label-stacked.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-label-floating.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-has-input.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-has-textarea.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-has-select.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-has-datetime.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-input.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-textarea.item-has-focus ion-label,
body.cdt-unified-inputs ion-item.item-select.item-has-focus ion-label {
  color: var(--ion-color-primary) !important;
}

body.cdt-unified-inputs ion-item.form-item ion-input,
body.cdt-unified-inputs ion-item.form-item ion-textarea,
body.cdt-unified-inputs ion-item.form-item ion-select,
body.cdt-unified-inputs ion-item.item-label-stacked ion-input,
body.cdt-unified-inputs ion-item.item-label-stacked ion-textarea,
body.cdt-unified-inputs ion-item.item-label-stacked ion-select,
body.cdt-unified-inputs ion-item.item-label-floating ion-input,
body.cdt-unified-inputs ion-item.item-label-floating ion-textarea,
body.cdt-unified-inputs ion-item.item-label-floating ion-select,
body.cdt-unified-inputs ion-item.item-has-input ion-input,
body.cdt-unified-inputs ion-item.item-has-textarea ion-textarea,
body.cdt-unified-inputs ion-item.item-has-select ion-select,
body.cdt-unified-inputs ion-item.item-has-datetime ion-datetime,
body.cdt-unified-inputs ion-item.item-input ion-input,
body.cdt-unified-inputs ion-item.item-textarea ion-textarea,
body.cdt-unified-inputs ion-item.item-select ion-select {
  --color: var(--cdt-input-text) !important;
  --placeholder-color: var(--cdt-input-placeholder) !important;
  --highlight-color: transparent !important;
  --highlight-height: 0 !important;
  font-size: 1rem;
}

body.cdt-unified-inputs ion-item.form-item ion-input::part(native),
body.cdt-unified-inputs ion-item.form-item ion-textarea::part(native),
body.cdt-unified-inputs ion-item.item-label-stacked ion-input::part(native),
body.cdt-unified-inputs ion-item.item-label-stacked ion-textarea::part(native),
body.cdt-unified-inputs ion-item.item-label-floating ion-input::part(native),
body.cdt-unified-inputs ion-item.item-label-floating ion-textarea::part(native),
body.cdt-unified-inputs ion-item.item-has-input ion-input::part(native),
body.cdt-unified-inputs ion-item.item-has-textarea ion-textarea::part(native),
body.cdt-unified-inputs ion-item.item-input ion-input::part(native),
body.cdt-unified-inputs ion-item.item-textarea ion-textarea::part(native) {
  color: var(--cdt-input-text) !important;
  -webkit-text-fill-color: var(--cdt-input-text) !important;
  caret-color: var(--ion-color-primary);
}

body.cdt-unified-inputs ion-item.form-item ion-select::part(text),
body.cdt-unified-inputs ion-item.form-item ion-select::part(placeholder),
body.cdt-unified-inputs ion-item.item-label-stacked ion-select::part(text),
body.cdt-unified-inputs ion-item.item-label-stacked ion-select::part(placeholder),
body.cdt-unified-inputs ion-item.item-label-floating ion-select::part(text),
body.cdt-unified-inputs ion-item.item-label-floating ion-select::part(placeholder),
body.cdt-unified-inputs ion-item.item-has-select ion-select::part(text),
body.cdt-unified-inputs ion-item.item-has-select ion-select::part(placeholder),
body.cdt-unified-inputs ion-item.item-select ion-select::part(text),
body.cdt-unified-inputs ion-item.item-select ion-select::part(placeholder) {
  color: var(--cdt-input-text) !important;
}

/* ============================================
   UNIVERSELE FILTER CHIP / BADGE STYLING
   Zorgt dat alle filter knoppen BLAUW zijn
   ============================================ */
ion-chip,
.filter-chip,
.status-badge,
ion-chip.filter-chip,
ion-chip.status-badge,
.status-badge-container ion-chip,
.filter-wrapper ion-chip,
.filters-section ion-chip {
  --background: var(--ion-color-primary) !important;
  --color: #ffffff !important;
  background: var(--ion-color-primary) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  height: 32px !important;
  padding: 0 14px !important;
  margin: 0 !important;
}
ion-chip ion-label,
.filter-chip ion-label,
.status-badge ion-label,
ion-chip.filter-chip ion-label,
ion-chip.status-badge ion-label,
.status-badge-container ion-chip ion-label,
.filter-wrapper ion-chip ion-label,
.filters-section ion-chip ion-label {
  color: #ffffff !important;
  font-weight: 600 !important;
}
ion-chip ion-icon,
.filter-chip ion-icon,
.status-badge ion-icon,
ion-chip.filter-chip ion-icon,
ion-chip.status-badge ion-icon,
.status-badge-container ion-chip ion-icon,
.filter-wrapper ion-chip ion-icon,
.filters-section ion-chip ion-icon {
  color: #ffffff !important;
  margin-left: 4px !important;
}
ion-chip:hover,
.filter-chip:hover,
.status-badge:hover,
ion-chip.filter-chip:hover,
ion-chip.status-badge:hover,
.status-badge-container ion-chip:hover,
.filter-wrapper ion-chip:hover,
.filters-section ion-chip:hover {
  --background: var(--ion-color-primary-shade) !important;
  background: var(--ion-color-primary-shade) !important;
}

/* Specifieke status chips met kleuren behouden */
ion-chip.success,
ion-chip[color=success],
.status-badge.success,
.chip-success {
  --background: var(--ion-color-success) !important;
  background: var(--ion-color-success) !important;
}

ion-chip.warning,
ion-chip[color=warning],
.status-badge.warning,
.chip-warning {
  --background: var(--ion-color-warning) !important;
  background: var(--ion-color-warning) !important;
  --color: #000000 !important;
  color: #000000 !important;
}
ion-chip.warning ion-label,
ion-chip.warning ion-icon,
ion-chip[color=warning] ion-label,
ion-chip[color=warning] ion-icon,
.status-badge.warning ion-label,
.status-badge.warning ion-icon,
.chip-warning ion-label,
.chip-warning ion-icon {
  color: #000000 !important;
}

ion-chip.danger,
ion-chip[color=danger],
.status-badge.danger,
.chip-danger {
  --background: var(--ion-color-danger) !important;
  background: var(--ion-color-danger) !important;
}

/* ============================================
   UNIVERSELE SEARCHBAR STYLING - auto-switch light/dark
   Zorgt dat alle zoekbalken consistent zijn
   ============================================ */
ion-searchbar {
  --background: var(--searchbar-bg) !important;
  --color: var(--searchbar-text) !important;
  --placeholder-color: var(--searchbar-placeholder) !important;
  --icon-color: var(--searchbar-icon) !important;
  --clear-button-color: var(--searchbar-placeholder) !important;
  --border-radius: 16px !important;
  --box-shadow: none !important;
  background: transparent !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 16px !important;
  min-height: 48px !important;
  width: 100% !important;
}

ion-searchbar::part(native) {
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 16px !important;
}

ion-searchbar .searchbar-input-container {
  background: var(--searchbar-bg) !important;
  border-radius: 16px !important;
}

ion-searchbar .searchbar-input {
  background: transparent !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
}

ion-searchbar .searchbar-search-icon {
  color: var(--searchbar-icon) !important;
}

ion-searchbar .searchbar-clear-button {
  color: var(--searchbar-placeholder) !important;
}

.native-search-container {
  background: var(--searchbar-bg) !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 16px !important;
  padding: 10px 16px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.native-search-container .search-icon {
  color: var(--searchbar-icon) !important;
  font-size: 20px !important;
}
.native-search-container .native-search-input {
  background: transparent !important;
  border: none !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
  font-size: 14px !important;
  flex: 1 !important;
}
.native-search-container .native-search-input::placeholder {
  color: var(--searchbar-placeholder) !important;
}
.native-search-container .clear-icon {
  color: var(--ion-color-primary) !important;
}

/* ============================================
   FORM CARDS - BLAUWE HEADER + GRIJZE BODY
   Voor Nieuwe Uitgave, Nieuwe Factuur, etc.
   ============================================ */
ion-card.form-card {
  background: var(--surface) !important;
  --background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

ion-card.form-card ion-card-header {
  background: #1a1a1a !important;
  --background: #1a1a1a !important;
  padding: 20px 24px 16px !important;
}

ion-card.form-card ion-card-title {
  color: #ffffff !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
}

ion-card.form-card ion-card-title ion-icon {
  color: #ffffff !important;
}

ion-card.form-card ion-card-subtitle {
  color: rgba(255, 255, 255, 0.8) !important;
}

ion-card.form-card ion-card-content {
  background: var(--surface) !important;
  --background: var(--surface) !important;
  padding: 20px 24px !important;
}

ion-card.form-card ion-item {
  --background: var(--cdt-bg-input, #f5f6f7) !important;
  background: var(--cdt-bg-input, #f5f6f7) !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  margin-bottom: 16px !important;
}

ion-card.form-card ion-item ion-label {
  color: var(--text-muted) !important;
}

ion-card.form-card ion-item ion-input,
ion-card.form-card ion-item ion-select,
ion-card.form-card ion-item ion-textarea {
  --color: var(--text) !important;
  color: var(--text) !important;
}

/* ============================================================================
   🔍 MEGA FORCE SEARCHBAR - ALLE ZOEKBALKEN ZWART (#1a1a1a)
   Dit is de laatste override die alle zoekbalken consistent maakt
   ============================================================================ */
ion-searchbar,
ion-searchbar.custom-searchbar,
ion-searchbar.visible-searchbar,
.visible-searchbar,
.filters-section ion-searchbar,
.filter-section ion-searchbar,
.search-section ion-searchbar,
.search-wrapper ion-searchbar {
  --background: var(--searchbar-bg) !important;
  --color: var(--searchbar-text) !important;
  --placeholder-color: var(--searchbar-placeholder) !important;
  --icon-color: var(--searchbar-icon) !important;
  --clear-button-color: var(--searchbar-placeholder) !important;
  --cancel-button-color: var(--searchbar-icon) !important;
  --border-radius: 16px !important;
  --box-shadow: none !important;
  background: transparent !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 16px !important;
  min-height: 48px !important;
  width: 100% !important;
  max-width: 100% !important;
}

ion-searchbar::part(native),
ion-searchbar::part(container) {
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

ion-searchbar .searchbar-input-container {
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 16px !important;
  height: 48px !important;
  min-height: 48px !important;
}

ion-searchbar .searchbar-input {
  background: transparent !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
  font-size: 14px !important;
}

ion-searchbar .searchbar-search-icon {
  color: var(--searchbar-icon) !important;
}

ion-searchbar .searchbar-clear-button {
  color: var(--searchbar-placeholder) !important;
}

/* Native search container - ook zwart */
.native-search-container,
.search-wrapper .native-search-container,
.filters-section .native-search-container,
.filter-section .native-search-container {
  background: #000000 !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  min-height: 44px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: none !important;
}

.native-search-container .search-icon {
  color: var(--searchbar-icon) !important;
}

.native-search-container .native-search-input {
  background: transparent !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
  border: none !important;
}

.native-search-container .native-search-input::placeholder {
  color: var(--searchbar-placeholder) !important;
}

.native-search-container .clear-icon {
  color: var(--searchbar-placeholder) !important;
}

/* =====================================================
   MEGA FORCE OVERRIDE - ZOEKBALK + FILTER BUTTON
   Zwarte zoekbalk, blauwe filter knop BINNEN zoekbalk
   ===================================================== */
/* Search wrapper is de relative container voor absolute badge */
.filters-section .search-wrapper,
.filter-section .search-wrapper,
.search-container .search-wrapper,
.search-wrapper.search-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

/* Native search container - ZWART met ruimte voor badge */
.filters-section .native-search-container,
.filter-section .native-search-container,
.search-wrapper .native-search-container,
.native-search-container.native-search-container.native-search-container {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #000000 !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  padding: 10px 14px !important;
  padding-right: 150px !important;
  width: 100% !important;
  min-height: 44px !important;
  box-shadow: none !important;
  position: relative !important;
}

/* Zoek icon - BLAUW */
.filters-section .native-search-container .search-icon,
.filter-section .native-search-container .search-icon,
.search-wrapper .native-search-container .search-icon,
.native-search-container .search-icon.search-icon {
  color: var(--searchbar-icon) !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
}

/* Input veld */
.filters-section .native-search-container .native-search-input,
.filter-section .native-search-container .native-search-input,
.search-wrapper .native-search-container .native-search-input,
.native-search-container .native-search-input.native-search-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
  font-size: 14px !important;
}

/* Placeholder */
.native-search-container .native-search-input::placeholder {
  color: var(--searchbar-placeholder) !important;
  -webkit-text-fill-color: var(--searchbar-placeholder) !important;
}

/* Badge container - ABSOLUTE BINNEN de search-wrapper */
.filters-section .search-wrapper .status-badge-container,
.filter-section .search-wrapper .status-badge-container,
.search-wrapper .status-badge-container.status-badge-container,
.status-badge-container.status-badge-container.status-badge-container {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important;
  max-width: 140px !important;
}

/* Filter chip - CDT STANDAARD BLAUW */
.filters-section .status-badge-container ion-chip,
.filter-section .status-badge-container ion-chip,
.search-wrapper .status-badge-container ion-chip,
.status-badge-container ion-chip.ion-chip,
.status-badge-container ion-chip {
  --background: #3b82f6 !important;
  background: #3b82f6 !important;
  color: #ffffff !important;
  --color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  height: 34px !important;
  margin: 0 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  border-radius: 17px !important;
  padding: 0 12px !important;
}

/* Ion-chip native element - transparant */
.status-badge-container ion-chip::part(native),
.status-badge-container ion-chip .chip-native {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Chip label en icon - WIT */
.status-badge-container ion-chip ion-label,
.status-badge-container ion-chip ion-icon {
  color: #ffffff !important;
  --color: #ffffff !important;
}

/* =====================================================
   ULTIMATE FORCE OVERRIDE - ALLE ZOEKBALKEN ZWART
   Dit overschrijft ALLES - laatste regel wint
   ===================================================== */
/* ALLE ion-searchbar elementen - auto-switch */
ion-searchbar,
ion-searchbar.ion-searchbar,
.search-wrapper ion-searchbar,
.filters-section ion-searchbar,
.filter-section ion-searchbar,
.search-container ion-searchbar {
  --background: var(--searchbar-bg) !important;
  background: var(--searchbar-bg) !important;
  --color: var(--searchbar-text) !important;
  color: var(--searchbar-text) !important;
  --placeholder-color: var(--searchbar-placeholder) !important;
  --icon-color: var(--searchbar-icon) !important;
  --border-radius: 16px !important;
  --box-shadow: none !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 16px !important;
  min-height: 48px !important;
}

ion-searchbar::part(native),
ion-searchbar::part(container) {
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 16px !important;
}

ion-searchbar .searchbar-input,
ion-searchbar .searchbar-input-container {
  background: var(--searchbar-bg) !important;
  color: var(--searchbar-text) !important;
}

ion-searchbar .searchbar-search-icon {
  color: var(--searchbar-icon) !important;
}

/* ALLE native-search-container elementen - auto-switch */
.native-search-container,
div.native-search-container,
.search-wrapper .native-search-container,
.filters-section .native-search-container,
.filter-section .native-search-container,
.search-container .native-search-container {
  background: var(--searchbar-bg) !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 16px !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

.native-search-container .search-icon,
.search-wrapper .native-search-container .search-icon {
  color: var(--searchbar-icon) !important;
}

.native-search-container .native-search-input,
.search-wrapper .native-search-container .native-search-input {
  background: transparent !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
  border: none !important;
}

/* =====================================================
   NUCLEAR FORCE - ABSOLUTE LAATSTE OVERRIDE
   Dit moet ELKE zoekbalk zwart maken - geen uitzonderingen
   ===================================================== */
/* Reset alle CSS variabelen die naar primary kleuren wijzen voor searchbars */
:root {
  --searchbar-bg: #000000;
  --searchbar-icon: var(--accent-blue, #3b82f6);
  --searchbar-text: var(--text);
  --searchbar-placeholder: var(--text-muted);
  --searchbar-border: var(--border-strong, rgba(0, 0, 0, 0.12));
}

body.dark-mode,
body.dark,
.dark-mode {
  --searchbar-bg: #000000;
  --searchbar-icon: #3b82f6;
  --searchbar-text: #ffffff;
  --searchbar-placeholder: rgba(255, 255, 255, 0.5);
  --searchbar-border: rgba(255, 255, 255, 0.15);
}

/* ALLE MOGELIJKE SEARCHBAR SELECTORS - CDT STANDAARD (auto-switch light/dark) */
ion-searchbar,
.ion-searchbar,
[class*=searchbar],
.search-wrapper ion-searchbar,
.filters-section ion-searchbar,
.filter-section ion-searchbar,
.search-container ion-searchbar,
.filter-bar ion-searchbar,
.filters-container ion-searchbar,
ion-content ion-searchbar,
ion-card ion-searchbar,
.modal-content ion-searchbar,
ion-searchbar::part(native),
ion-searchbar::part(container),
[class*=searchbar]::part(native),
[class*=searchbar]::part(container) {
  background: var(--searchbar-bg) !important;
  border: none !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}

ion-searchbar .searchbar-input-container,
ion-searchbar .searchbar-input,
[class*=searchbar] .searchbar-input-container,
[class*=searchbar] .searchbar-input {
  background: var(--searchbar-bg) !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
}

ion-searchbar .searchbar-search-icon,
[class*=searchbar] .searchbar-search-icon {
  color: var(--searchbar-icon) !important;
}

/* Dark mode body - extra override */
body.dark ion-searchbar,
body.dark-mode ion-searchbar,
html.dark ion-searchbar,
html.dark-mode ion-searchbar,
.dark ion-searchbar,
.dark-mode ion-searchbar {
  --background: #000000 !important;
  background: #000000 !important;
  --color: #ffffff !important;
  --icon-color: #3b82f6 !important;
  --border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 24px !important;
  width: 100% !important;
}

/* Voorkom dat CSS variabelen de kleuren overschrijven */
ion-searchbar[style*=background],
ion-searchbar[style*="--background"] {
  --background: var(--searchbar-bg) !important;
  background: var(--searchbar-bg) !important;
}

/* =====================================================
   ABSOLUTE FINAL - NATIVE SEARCH CONTAINER
   Echte zwarte kleur (#1a1a1a) met volledig ronde hoeken
   Volledige breedte zoals stats cards
   ===================================================== */
.native-search-container,
div.native-search-container,
.search-wrapper .native-search-container,
.filters-section .native-search-container,
.filter-section .native-search-container,
.search-container .native-search-container,
app-tab3 .native-search-container,
app-tab7 .native-search-container,
app-tab10 .native-search-container {
  background: var(--searchbar-bg) !important;
  background-color: var(--searchbar-bg) !important;
  border: 1px solid var(--searchbar-border) !important;
  border-radius: 24px !important;
  min-height: 44px !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* Filters section moet transparant zijn, geen zwarte achtergrond */
.filters-section,
.filter-section,
.search-section {
  background: transparent !important;
  background-color: transparent !important;
  padding: 12px 16px !important;
}

/* CDT STANDAARD - Filter/dropdown knop (solid blue, geen border) */
.filter-dropdown,
.status-badge-container,
.filter-button,
.native-search-container .filter-dropdown,
.native-search-container .status-badge-container {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 17px !important;
  padding: 0 !important;
  color: #ffffff !important;
  --color: #ffffff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin-left: 8px !important;
  height: auto !important;
  min-height: unset !important;
}

.filter-dropdown ion-icon,
.status-badge-container ion-icon,
.filter-button ion-icon,
.filter-dropdown ion-label,
.status-badge-container ion-label,
.filter-button ion-label {
  font-size: 14px !important;
  color: #ffffff !important;
}

.filter-dropdown:hover,
.status-badge-container:hover,
.filter-button:hover {
  background: #2563eb !important;
  --background: #2563eb !important;
}

.native-search-container .search-icon {
  color: var(--searchbar-icon) !important;
}

.native-search-container input,
.native-search-container .native-search-input {
  background: transparent !important;
  color: var(--searchbar-text) !important;
  -webkit-text-fill-color: var(--searchbar-text) !important;
  border: none !important;
}

.native-search-container input::placeholder,
.native-search-container .native-search-input::placeholder {
  color: var(--searchbar-placeholder) !important;
}

/* =====================================================
   ABSOLUTE FINAL - ION-CHIP FILTER KNOP
   Verwijder dubbele achtergrond van ion-chip
   ===================================================== */
.status-badge-container ion-chip,
.status-badge-container ion-chip.status-badge,
ion-chip.status-badge {
  --background: #3b82f6 !important;
  background: #3b82f6 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.status-badge-container ion-chip::part(native),
ion-chip.status-badge::part(native) {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 12px !important;
}

/* =====================================================
   TAXIMETER MAIN DISPLAY CARD - THEME LOCK
   Last rule = highest cascade priority for equal specificity
   ===================================================== */
ion-card.main-display-card,
body.dark ion-card.main-display-card,
body.dark-mode ion-card.main-display-card,
html.dark ion-card.main-display-card,
html.dark-mode ion-card.main-display-card,
body.light-mode ion-card.main-display-card,
body:not(.dark-mode):not(.dark) ion-card.main-display-card {
  --background: var(--tesla-header-gradient, linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)) !important;
  background: var(--tesla-header-gradient, linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)) !important;
  background-color: var(--tesla-blue, #3b82f6) !important;
  border: none !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
  outline: none !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25), 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

ion-card.main-display-card ion-card-content,
body.dark ion-card.main-display-card ion-card-content,
body.dark-mode ion-card.main-display-card ion-card-content,
html.dark ion-card.main-display-card ion-card-content,
html.dark-mode ion-card.main-display-card ion-card-content {
  --background: transparent !important;
  background: transparent !important;
}

/* Hard fallback for Ionic shadow parts (wins over broad dark ion-card rules) */
ion-card.main-display-card::part(native),
body.dark ion-card.main-display-card::part(native),
body.dark-mode ion-card.main-display-card::part(native),
html.dark ion-card.main-display-card::part(native),
html.dark-mode ion-card.main-display-card::part(native) {
  background: var(--tesla-header-gradient, linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)) !important;
  background-color: var(--tesla-blue, #3b82f6) !important;
  border: none !important;
}

ion-card.main-display-card ion-card-content::part(native),
body.dark ion-card.main-display-card ion-card-content::part(native),
body.dark-mode ion-card.main-display-card ion-card-content::part(native),
html.dark ion-card.main-display-card ion-card-content::part(native),
html.dark-mode ion-card.main-display-card ion-card-content::part(native) {
  background: transparent !important;
}

/* ===============================================
   EXPENSE CARD NUCLEAR OVERRIDE
   Blauwe gradient op expense cards,
   overschrijft ALLE globale dark-mode ion-card regels.
   =============================================== */
ion-card.expense-card,
body.dark ion-card.expense-card,
body.dark-mode ion-card.expense-card,
ion-card.expense-card::part(native),
body.dark ion-card.expense-card::part(native),
body.dark-mode ion-card.expense-card::part(native),
ion-card.main-display-card,
ion-card.main-display-card::part(native) {
  border: none !important;
  border-width: 0 !important;
  border-color: transparent !important;
  outline: none !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}

/* =============================================
   ULTRA-HOGE SPECIFICITEIT LIGHT MODE OVERRIDES
   Wint van Angular component-scoped !important regels
   Specificiteit: (0,2,2+) vs component (0,1,1)
   ============================================= */
/* Pagina achtergronden */
html body:not(.dark-mode):not(.dark) {
  /* Validation status bar */
  /* Content containers */
  /* Modal body achtergrond */
  /* Cards */
  /* Zoekbalken */
  /* Ion items */
  /* Headers - blauw in light mode */
  /* Specifiek voor ::ng-deep ion-header in operator components */
}
html body:not(.dark-mode):not(.dark) ion-content {
  --background: var(--ion-background-color, #f0f2f5) !important;
  background: var(--ion-background-color, #f0f2f5) !important;
}
html body:not(.dark-mode):not(.dark) ion-content::part(background) {
  background: var(--ion-background-color, #f0f2f5) !important;
}
html body:not(.dark-mode):not(.dark) ion-content::part(scroll) {
  background: var(--ion-background-color, #f0f2f5) !important;
}
html body:not(.dark-mode):not(.dark) .ion-page {
  --background: var(--ion-background-color, #f0f2f5) !important;
  background: var(--ion-background-color, #f0f2f5) !important;
}
html body:not(.dark-mode):not(.dark) .validation-status-bar {
  background: #3b82f6 !important;
  color: #ffffff !important;
}
html body:not(.dark-mode):not(.dark) .main-content-container,
html body:not(.dark-mode):not(.dark) .content-container,
html body:not(.dark-mode):not(.dark) .page-content,
html body:not(.dark-mode):not(.dark) .page-container,
html body:not(.dark-mode):not(.dark) .operator-page {
  background: var(--ion-background-color, #f0f2f5) !important;
}
html body:not(.dark-mode):not(.dark) .modal-body {
  background: var(--ion-background-color, #f0f2f5) !important;
}
html body:not(.dark-mode):not(.dark) ion-card {
  background: var(--ion-card-background, #ffffff) !important;
  --background: var(--ion-card-background, #ffffff) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}
html body:not(.dark-mode):not(.dark) .section.card,
html body:not(.dark-mode):not(.dark) .card-section {
  background: var(--ion-card-background, #ffffff) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}
html body:not(.dark-mode):not(.dark) ion-searchbar {
  --background: var(--ion-card-background, #ffffff) !important;
  --color: var(--ion-text-color, #1f2937) !important;
  --placeholder-color: #9ca3af !important;
  --icon-color: #6b7280 !important;
}
html body:not(.dark-mode):not(.dark) .native-search-container {
  background: var(--ion-card-background, #ffffff) !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
}
html body:not(.dark-mode):not(.dark) .native-search-container input {
  color: var(--ion-text-color, #1f2937) !important;
  background: transparent !important;
}
html body:not(.dark-mode):not(.dark) ion-item {
  --background: var(--ion-card-background, #ffffff) !important;
  --color: var(--ion-text-color, #1f2937) !important;
}
html body:not(.dark-mode):not(.dark) ion-header ion-toolbar,
html body:not(.dark-mode):not(.dark) .modal-toolbar {
  --background: #3b82f6 !important;
  --color: #ffffff !important;
  --border-color: transparent !important;
  background: #3b82f6 !important;
}
html body:not(.dark-mode):not(.dark) ion-header ion-toolbar ion-title,
html body:not(.dark-mode):not(.dark) .modal-toolbar ion-title {
  color: #ffffff !important;
}
html body:not(.dark-mode):not(.dark) ion-header ion-toolbar ion-button,
html body:not(.dark-mode):not(.dark) .modal-toolbar ion-button {
  --color: #ffffff !important;
}
html body:not(.dark-mode):not(.dark) ion-header {
  background: #3b82f6 !important;
}

/* Extra light-mode overrides voor dropdowns en specifieke componenten */
html body:not(.dark-mode):not(.dark) {
  /* Operator specifiek */
  /* Ride reports / live tracking sectie cards */
  /* Modal sheet backgrounds */
}
html body:not(.dark-mode):not(.dark) .status-dropdown {
  background: var(--ion-card-background, #ffffff) !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}
html body:not(.dark-mode):not(.dark) .status-dropdown ion-item {
  --background: transparent !important;
}
html body:not(.dark-mode):not(.dark) .tab-navigation {
  background: var(--ion-card-background, #ffffff) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}
html body:not(.dark-mode):not(.dark) .filters-section,
html body:not(.dark-mode):not(.dark) .filter-bar,
html body:not(.dark-mode):not(.dark) .toolbar-container {
  background: var(--ion-card-background, #ffffff) !important;
}
html body:not(.dark-mode):not(.dark) .modal-sheet,
html body:not(.dark-mode):not(.dark) .status-text,
html body:not(.dark-mode):not(.dark) .stat-value,
html body:not(.dark-mode):not(.dark) .kpi-value {
  color: var(--ion-text-color, #1f2937) !important;
}

/**
 * Taxi CDT - Professional Animations Library
 * iOS-style animations with smooth easing curves
 * Respects prefers-reduced-motion for accessibility
 */
:root {
  --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-bounce: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
  --duration-slower: 600ms;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideInDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideInLeft {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes scaleOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes popIn {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  70% {
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes bounce {
  0%, 20%, 53%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateY(0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translateY(-15px);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translateY(-7px);
  }
  90% {
    transform: translateY(-3px);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(5px);
  }
}
@keyframes shakeSubtle {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-3px);
  }
  75% {
    transform: translateX(3px);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.02);
  }
}
@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes spinPulse {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.1);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes skeletonPulse {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.7;
  }
}
@keyframes checkmark {
  0% {
    stroke-dashoffset: 100;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes ripple {
  0% {
    transform: scale(0);
    opacity: 0.5;
  }
  100% {
    transform: scale(4);
    opacity: 0;
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
.animate-fade-in {
  animation: fadeIn var(--duration-normal) var(--ease-smooth) forwards;
}

.animate-fade-out {
  animation: fadeOut var(--duration-normal) var(--ease-smooth) forwards;
}

.animate-fade-in-up {
  animation: fadeInUp var(--duration-normal) var(--ease-out-expo) forwards;
}

.animate-fade-in-down {
  animation: fadeInDown var(--duration-normal) var(--ease-out-expo) forwards;
}

.animate-fade-in-left {
  animation: fadeInLeft var(--duration-normal) var(--ease-out-expo) forwards;
}

.animate-fade-in-right {
  animation: fadeInRight var(--duration-normal) var(--ease-out-expo) forwards;
}

.animate-slide-in-up {
  animation: slideInUp var(--duration-slow) var(--ease-out-expo) forwards;
}

.animate-slide-in-down {
  animation: slideInDown var(--duration-slow) var(--ease-out-expo) forwards;
}

.animate-scale-in {
  animation: scaleIn var(--duration-normal) var(--ease-spring) forwards;
}

.animate-pop-in {
  animation: popIn var(--duration-slow) var(--ease-spring) forwards;
}

.animate-bounce {
  animation: bounce 1s ease infinite;
}

.animate-bounce-in {
  animation: bounceIn var(--duration-slow) var(--ease-spring) forwards;
}

.animate-shake {
  animation: shake 0.5s ease-in-out;
}

.animate-shake-subtle {
  animation: shakeSubtle 0.3s ease-in-out;
}

.animate-pulse {
  animation: pulse 2s ease-in-out infinite;
}

.animate-pulse-glow {
  animation: pulseGlow 2s ease-in-out infinite;
}

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

.animate-spin-slow {
  animation: spin 2s linear infinite;
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

.skeleton {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 25%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.1) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: 4px;
}
.skeleton.skeleton-text {
  height: 1em;
  margin-bottom: 0.5em;
}
.skeleton.skeleton-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.skeleton.skeleton-button {
  height: 36px;
  width: 100px;
  border-radius: 8px;
}
.skeleton.skeleton-card {
  height: 120px;
  border-radius: 12px;
}

.light-mode .skeleton,
:root:not(.dark) .skeleton {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.05) 75%);
  background-size: 200% 100%;
}

.hover-lift {
  transition: transform var(--duration-fast) var(--ease-smooth), box-shadow var(--duration-fast) var(--ease-smooth);
}
.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.press-effect {
  transition: transform var(--duration-fast) var(--ease-smooth);
}
.press-effect:active {
  transform: scale(0.97);
}

.card-hover {
  transition: transform var(--duration-normal) var(--ease-smooth), box-shadow var(--duration-normal) var(--ease-smooth);
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.stagger-children > * {
  opacity: 0;
  animation: fadeInUp var(--duration-normal) var(--ease-out-expo) forwards;
}
.stagger-children > *:nth-child(1) {
  animation-delay: 50ms;
}
.stagger-children > *:nth-child(2) {
  animation-delay: 100ms;
}
.stagger-children > *:nth-child(3) {
  animation-delay: 150ms;
}
.stagger-children > *:nth-child(4) {
  animation-delay: 200ms;
}
.stagger-children > *:nth-child(5) {
  animation-delay: 250ms;
}
.stagger-children > *:nth-child(6) {
  animation-delay: 300ms;
}
.stagger-children > *:nth-child(7) {
  animation-delay: 350ms;
}
.stagger-children > *:nth-child(8) {
  animation-delay: 400ms;
}
.stagger-children > *:nth-child(9) {
  animation-delay: 450ms;
}
.stagger-children > *:nth-child(10) {
  animation-delay: 500ms;
}
.stagger-children > *:nth-child(11) {
  animation-delay: 550ms;
}
.stagger-children > *:nth-child(12) {
  animation-delay: 600ms;
}
.stagger-children > *:nth-child(13) {
  animation-delay: 650ms;
}
.stagger-children > *:nth-child(14) {
  animation-delay: 700ms;
}
.stagger-children > *:nth-child(15) {
  animation-delay: 750ms;
}
.stagger-children > *:nth-child(16) {
  animation-delay: 800ms;
}
.stagger-children > *:nth-child(17) {
  animation-delay: 850ms;
}
.stagger-children > *:nth-child(18) {
  animation-delay: 900ms;
}
.stagger-children > *:nth-child(19) {
  animation-delay: 950ms;
}
.stagger-children > *:nth-child(20) {
  animation-delay: 1000ms;
}

.stagger-fast > *:nth-child(1) {
  animation-delay: 30ms;
}
.stagger-fast > *:nth-child(2) {
  animation-delay: 60ms;
}
.stagger-fast > *:nth-child(3) {
  animation-delay: 90ms;
}
.stagger-fast > *:nth-child(4) {
  animation-delay: 120ms;
}
.stagger-fast > *:nth-child(5) {
  animation-delay: 150ms;
}
.stagger-fast > *:nth-child(6) {
  animation-delay: 180ms;
}
.stagger-fast > *:nth-child(7) {
  animation-delay: 210ms;
}
.stagger-fast > *:nth-child(8) {
  animation-delay: 240ms;
}
.stagger-fast > *:nth-child(9) {
  animation-delay: 270ms;
}
.stagger-fast > *:nth-child(10) {
  animation-delay: 300ms;
}
.stagger-fast > *:nth-child(11) {
  animation-delay: 330ms;
}
.stagger-fast > *:nth-child(12) {
  animation-delay: 360ms;
}
.stagger-fast > *:nth-child(13) {
  animation-delay: 390ms;
}
.stagger-fast > *:nth-child(14) {
  animation-delay: 420ms;
}
.stagger-fast > *:nth-child(15) {
  animation-delay: 450ms;
}
.stagger-fast > *:nth-child(16) {
  animation-delay: 480ms;
}
.stagger-fast > *:nth-child(17) {
  animation-delay: 510ms;
}
.stagger-fast > *:nth-child(18) {
  animation-delay: 540ms;
}
.stagger-fast > *:nth-child(19) {
  animation-delay: 570ms;
}
.stagger-fast > *:nth-child(20) {
  animation-delay: 600ms;
}

.page-enter {
  animation: fadeInUp var(--duration-slow) var(--ease-out-expo) forwards;
}

.page-leave {
  animation: fadeOut var(--duration-fast) var(--ease-smooth) forwards;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .skeleton {
    animation: none;
    background: rgba(255, 255, 255, 0.1);
  }
}
/* ============================================
   GLOBAL: Full height chain (html → body → app-root)
   Ionic sets html/body to 100%, but app-root
   needs it too for height:100% to cascade.
   ============================================ */
app-root {
  display: block;
  height: 100%;
  overflow: hidden;
}

/* ============================================
   GLOBAL: Mobile safe-area bottom padding
   Ensures content is never hidden behind the
   phone home indicator bar or browser nav bar.
   24px base padding + device safe-area inset.
   Pages that need 0 (chat, AI, nav) override
   --padding-bottom in their own SCSS.
   ============================================ */
ion-content {
  --padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}

/* ============================================
   GLOBAL: Fix content height inside tabs
   The app uses a global header (52px) in
   app.component.html. The .app-shell is a flex
   column, header auto-sizes, .content-wrapper
   uses flex:1 to fill remaining space.
   ============================================ */
/* Ensure ion-page inside tabs fills available space exactly */
app-tabs .ion-page {
  top: 0 !important;
  height: 100% !important;
  contain: layout size style;
}

/* Hide the phantom tab-bar slot Ionic may reserve space for */
ion-tab-bar[slot=bottom] {
  display: none !important;
}

/* Kill any border between sidebar and content area */
.content-wrapper,
.content-wrapper > ion-router-outlet,
.content-wrapper ion-page,
.content-wrapper ion-tabs,
.content-wrapper ion-content {
  border-left: none !important;
  border-left-color: transparent !important;
}

/* ion-tabs must fill remaining space inside content-wrapper */
app-tabs {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

app-tabs ion-tabs {
  height: 100%;
}

/* ============================================
   GLOBAL: Alert button order (Cancel always bottom)
   ============================================ */
ion-alert .alert-button-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

ion-alert .alert-button-role-cancel {
  order: 999;
}

.global-app-header {
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.08);
}
.global-app-header::after {
  display: none !important;
}

.global-app-header ion-toolbar {
  --background: #3b82f6;
  --color: #ffffff;
  --border-width: 0;
}

.global-app-header ion-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.3px;
}

.global-app-header ion-buttons ion-button {
  --color: #ffffff;
  color: #ffffff;
}

.global-app-header ion-buttons ion-icon {
  color: #ffffff;
}

.global-app-header ion-toolbar .global-page-title::part(native) {
  color: #1f2937 !important;
  text-align: center !important;
}

body.dark .global-app-header ion-toolbar .global-page-title::part(native),
body.dark-mode .global-app-header ion-toolbar .global-page-title::part(native) {
  color: #ffffff !important;
}

.global-app-header .status-dropdown-btn .status-text,
.global-app-header .status-dropdown-btn .chevron-icon {
  color: #ffffff !important;
}

ion-menu {
  --width: 280px !important;
  top: 52px !important;
  bottom: 0 !important;
  height: auto !important;
  max-height: none !important;
  z-index: 999 !important;
}

ion-menu::part(backdrop) {
  top: 52px !important;
}

ion-menu::part(container) {
  top: 52px !important;
  height: calc(100% - 52px) !important;
}

ion-alert {
  --backdrop-opacity: 0.2 !important;
}

/* ============================================
   Toast styling - Donker thema (past bij app dark mode)
   ============================================ */
ion-toast {
  --background: var(--page-bg) !important;
  --color: var(--text) !important;
  --border-radius: 14px !important;
  --box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
  --button-color: var(--text) !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}
ion-toast::part(message) {
  color: var(--text) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  white-space: pre-line !important;
}
ion-toast::part(header) {
  color: #ffffff !important;
  font-weight: 700 !important;
}
ion-toast::part(icon) {
  color: var(--text) !important;
}
ion-toast::part(container) {
  background: var(--page-bg) !important;
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  outline: none !important;
}
ion-toast::part(button) {
  color: var(--text) !important;
}

ion-toast.custom-toast {
  --background: var(--page-bg) !important;
  --color: var(--text) !important;
  --border-radius: 14px !important;
  --box-shadow: none !important;
}

/* ============================================
   Tab4 dark toasts (navigation)
   ============================================ */
ion-toast.tab4-dark-toast,
body.tab4-active ion-toast.tab4-dark-toast,
html.tab4-active ion-toast.tab4-dark-toast {
  --background: var(--page-bg) !important;
  --color: var(--text) !important;
  --border-radius: 14px !important;
  --box-shadow: none !important;
  --button-color: #e5e7eb !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}

ion-toast.tab4-dark-toast::part(container),
body.tab4-active ion-toast.tab4-dark-toast::part(container),
html.tab4-active ion-toast.tab4-dark-toast::part(container) {
  background: var(--page-bg) !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: #e5e7eb !important;
}

ion-toast.tab4-dark-toast::part(message),
body.tab4-active ion-toast.tab4-dark-toast::part(message),
html.tab4-active ion-toast.tab4-dark-toast::part(message) {
  color: #e5e7eb !important;
  font-weight: 600 !important;
}

ion-toast.tab4-dark-toast::part(button),
body.tab4-active ion-toast.tab4-dark-toast::part(button),
html.tab4-active ion-toast.tab4-dark-toast::part(button) {
  color: #e5e7eb !important;
}

ion-toast.tab4-dark-toast-warning,
body.tab4-active ion-toast.tab4-dark-toast-warning,
html.tab4-active ion-toast.tab4-dark-toast-warning {
  --background: var(--page-bg) !important;
  --color: #fde68a !important;
  --border-color: transparent !important;
  --box-shadow: none !important;
}

ion-toast.tab4-dark-toast-warning::part(container),
body.tab4-active ion-toast.tab4-dark-toast-warning::part(container),
html.tab4-active ion-toast.tab4-dark-toast-warning::part(container) {
  background: var(--page-bg) !important;
  border: none !important;
  box-shadow: none !important;
}

ion-toast.tab4-dark-toast-success,
body.tab4-active ion-toast.tab4-dark-toast-success,
html.tab4-active ion-toast.tab4-dark-toast-success {
  --background: var(--page-bg) !important;
  --color: #bbf7d0 !important;
  --border-color: transparent !important;
  --box-shadow: none !important;
}

ion-toast.tab4-dark-toast-success::part(container),
body.tab4-active ion-toast.tab4-dark-toast-success::part(container),
html.tab4-active ion-toast.tab4-dark-toast-success::part(container) {
  background: var(--page-bg) !important;
  border: none !important;
  box-shadow: none !important;
}

/* Document verification toasts (always dark, no white blocks) */
ion-toast.dv-toast {
  --background: var(--page-bg) !important;
  --color: var(--text) !important;
  --border-radius: 14px !important;
  --box-shadow: none !important;
  --button-color: var(--text) !important;
  --border-width: 0 !important;
  --border-style: none !important;
  --border-color: transparent !important;
}

ion-toast.dv-toast::part(container) {
  background: var(--page-bg) !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--text) !important;
}

ion-toast.dv-toast::part(message) {
  color: var(--text) !important;
  font-weight: 600 !important;
}

ion-toast.dv-toast::part(button) {
  color: #bfdbfe !important;
}

ion-toast.dv-toast.toast-color-warning,
ion-toast.dv-toast.toast-color-warning::part(container) {
  --background: var(--warning-bg, #fffbeb) !important;
  --color: var(--status-warning-dark, #92400e) !important;
  border-color: rgba(251, 191, 36, 0.45) !important;
  color: var(--status-warning-dark, #92400e) !important;
}

ion-toast.dv-toast.toast-color-success,
ion-toast.dv-toast.toast-color-success::part(container) {
  --background: var(--success-bg, #ecfdf5) !important;
  --color: var(--status-success-dark, #065f46) !important;
  border-color: rgba(34, 197, 94, 0.45) !important;
  color: var(--status-success-dark, #065f46) !important;
}

ion-toast.dv-toast.toast-color-danger,
ion-toast.dv-toast.toast-color-danger::part(container) {
  --background: var(--danger-bg, #fef2f2) !important;
  --color: var(--status-danger-dark, #991b1b) !important;
  border-color: rgba(239, 68, 68, 0.45) !important;
  color: var(--status-danger-dark, #991b1b) !important;
}

ion-toast.custom-toast::part(container),
ion-toast.toast-light::part(container),
ion-toast::part(container) {
  border-radius: 18px !important;
  overflow: hidden !important;
}

ion-toast .toast-wrapper {
  border-radius: 18px !important;
  overflow: hidden !important;
}

ion-alert.register-welcome-alert .alert-button-group {
  flex-direction: row !important;
  gap: 10px !important;
}

ion-alert.register-welcome-alert .alert-button {
  flex: 1 !important;
}

ion-alert.dc-disconnect-alert .alert-button-group {
  flex-direction: row !important;
  gap: 10px !important;
}

ion-alert.dc-disconnect-alert .alert-button {
  flex: 1 !important;
}

ion-alert.dc-disconnect-alert .alert-button .alert-button-inner {
  width: 100% !important;
  justify-content: center !important;
}

/* ============================================
   GLOBAL: Action Sheet - Dark Mode Fix
   Ensures button text (including "Annuleer") is always visible.
   Action sheets render outside component scope as Ionic overlays.
   ============================================ */
body.dark-mode ion-action-sheet,
body.dark ion-action-sheet {
  /* Cancel button - MUST be visible */
}
body.dark-mode ion-action-sheet .action-sheet-group,
body.dark ion-action-sheet .action-sheet-group {
  background: var(--surface) !important;
}
body.dark-mode ion-action-sheet .action-sheet-title,
body.dark ion-action-sheet .action-sheet-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}
body.dark-mode ion-action-sheet .action-sheet-sub-title,
body.dark ion-action-sheet .action-sheet-sub-title {
  color: var(--text-secondary) !important;
}
body.dark-mode ion-action-sheet .action-sheet-button,
body.dark ion-action-sheet .action-sheet-button {
  color: #3b82f6 !important;
  background: transparent !important;
}
body.dark-mode ion-action-sheet .action-sheet-button .action-sheet-button-inner,
body.dark ion-action-sheet .action-sheet-button .action-sheet-button-inner {
  color: #3b82f6 !important;
}
body.dark-mode ion-action-sheet .action-sheet-button .action-sheet-icon,
body.dark ion-action-sheet .action-sheet-button .action-sheet-icon {
  color: #3b82f6 !important;
}
body.dark-mode ion-action-sheet .action-sheet-button:hover,
body.dark ion-action-sheet .action-sheet-button:hover {
  background: var(--border) !important;
}
body.dark-mode ion-action-sheet .action-sheet-button[data-role=destructive],
body.dark-mode ion-action-sheet .action-sheet-button.action-sheet-destructive,
body.dark ion-action-sheet .action-sheet-button[data-role=destructive],
body.dark ion-action-sheet .action-sheet-button.action-sheet-destructive {
  color: #ef4444 !important;
}
body.dark-mode ion-action-sheet .action-sheet-button[data-role=destructive] .action-sheet-button-inner,
body.dark-mode ion-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-button-inner,
body.dark ion-action-sheet .action-sheet-button[data-role=destructive] .action-sheet-button-inner,
body.dark ion-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-button-inner {
  color: #ef4444 !important;
}
body.dark-mode ion-action-sheet .action-sheet-button[data-role=destructive] .action-sheet-icon,
body.dark-mode ion-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-icon,
body.dark ion-action-sheet .action-sheet-button[data-role=destructive] .action-sheet-icon,
body.dark ion-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-icon {
  color: #ef4444 !important;
}
body.dark-mode ion-action-sheet .action-sheet-group-cancel,
body.dark ion-action-sheet .action-sheet-group-cancel {
  background: var(--surface) !important;
}
body.dark-mode ion-action-sheet .action-sheet-group-cancel .action-sheet-button,
body.dark ion-action-sheet .action-sheet-group-cancel .action-sheet-button {
  color: #ffffff !important;
  font-weight: 600 !important;
}
body.dark-mode ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner,
body.dark ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner {
  color: #ffffff !important;
}
body.dark-mode ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-icon,
body.dark ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-icon {
  color: #ffffff !important;
}

/* ============================================
   UNIVERSAL: Dark Alert Styling via ::part() selectors
   Shadow DOM — alleen ::part() kan hierin.
   Alle kleuren/spacing synchroon met het body ion-alert blok.
   ============================================ */
ion-alert {
  --backdrop-opacity: 0.2 !important;
}

ion-alert::part(alert-wrapper) {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
  overflow: hidden !important;
  max-width: 340px !important;
}

ion-alert::part(alert-head) {
  background: transparent !important;
  padding: 22px 22px 6px !important;
}

ion-alert::part(alert-title) {
  color: var(--text) !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  background: transparent !important;
}

ion-alert::part(alert-sub-title) {
  color: var(--text-secondary) !important;
  text-align: center !important;
  background: transparent !important;
}

ion-alert::part(alert-message) {
  color: var(--text-secondary) !important;
  text-align: center !important;
  line-height: 1.5 !important;
  font-size: 0.88rem !important;
  padding: 6px 22px 14px !important;
  white-space: pre-line !important;
}

ion-alert::part(alert-button-group) {
  background: transparent !important;
  padding: 6px 16px 16px !important;
  justify-content: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

ion-alert::part(alert-button) {
  background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  border-radius: 14px !important;
  min-height: 44px !important;
  text-align: center !important;
  text-transform: none !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
  border: none !important;
}

ion-alert::part(alert-input) {
  background: var(--border) !important;
  color: var(--text) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-size: 1rem !important;
  margin: 4px 0 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

ion-alert::part(alert-input):focus {
  border-color: rgba(59, 130, 246, 0.6) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15) !important;
  background: var(--border-strong) !important;
}

ion-input,
ion-textarea,
ion-select {
  --highlight-height: 0 !important;
  --highlight-color: transparent !important;
  --highlight-color-focused: transparent !important;
  --highlight-color-valid: transparent !important;
  --highlight-color-invalid: transparent !important;
  --border-color: transparent !important;
  --border-width: 0 !important;
  --inner-border-width: 0 !important;
  --show-full-highlight: 0 !important;
  --show-inset-highlight: 0 !important;
}

*,
*::before,
*::after {
  --highlight-height: 0 !important;
  --highlight-color: transparent !important;
  --highlight-color-focused: transparent !important;
  --highlight-color-valid: transparent !important;
  --highlight-color-invalid: transparent !important;
  --show-full-highlight: 0 !important;
  --show-inset-highlight: 0 !important;
}

@keyframes inputFocusPulse {
  0%, 50%, 100% {
    box-shadow: none;
  }
}
ion-item {
  transition: none;
  border-left: none !important;
  border-left-width: 0 !important;
  --highlight-height: 0 !important;
  --highlight-color: transparent !important;
  --highlight-color-focused: transparent !important;
  --highlight-color-valid: transparent !important;
  --highlight-color-invalid: transparent !important;
  --show-full-highlight: 0 !important;
  --show-inset-highlight: 0 !important;
  --border-color: transparent !important;
  --inner-border-width: 0 !important;
}
ion-item.item-has-focus, ion-item.item-interactive.ion-focused, ion-item:focus-within {
  box-shadow: none !important;
  z-index: 2;
  --highlight-color: transparent !important;
  --border-color: transparent !important;
}

ion-item,
ion-card,
ion-card-header,
ion-card-content,
ion-list,
ion-list-header {
  border-left-color: transparent !important;
  border-left-width: 0 !important;
  --highlight-height: 0 !important;
  --highlight-color: transparent !important;
  --highlight-color-focused: transparent !important;
  --highlight-color-valid: transparent !important;
  --highlight-color-invalid: transparent !important;
}

ion-input.has-focus, ion-input:focus-within,
ion-textarea.has-focus,
ion-textarea:focus-within,
ion-select.has-focus,
ion-select:focus-within {
  --background: rgba(var(--ion-color-primary-rgb, 59, 130, 246), 0.03);
  --highlight-color: transparent !important;
  --border-color: transparent !important;
}

ion-item::part(native)::after,
ion-item::part(native)::before,
ion-input::part(native)::after,
ion-input::part(native)::before,
ion-textarea::part(native)::after,
ion-textarea::part(native)::before,
ion-select::part(native)::after,
ion-select::part(native)::before {
  display: none !important;
  background: transparent !important;
  height: 0 !important;
  opacity: 0 !important;
}

.item-highlight,
.item-inner-highlight,
.input-highlight {
  display: none !important;
  background: transparent !important;
  height: 0 !important;
  opacity: 0 !important;
}

html body ion-alert .alert-wrapper {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 20px !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6) !important;
  max-width: 340px !important;
  width: 88vw !important;
  overflow: hidden !important;
}

html body ion-alert .alert-head {
  background: transparent !important;
  padding: 22px 22px 6px !important;
  text-align: center !important;
}

html body ion-alert .alert-title {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  background: transparent !important;
}

html body ion-alert .alert-sub-title {
  color: var(--text-secondary) !important;
  text-align: center !important;
  font-size: 0.82rem !important;
}

html body ion-alert .alert-message {
  color: var(--text-secondary) !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  text-align: center !important;
  padding: 6px 22px 14px !important;
}

html body ion-alert .alert-input-group {
  padding: 8px 20px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

html body ion-alert .alert-input-wrapper {
  background: var(--border) !important;
  border-radius: 12px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.12) !important;
  margin-bottom: 0 !important;
  transition: all 0.2s ease !important;
  overflow: hidden !important;
}

html body ion-alert .alert-input-wrapper:focus-within {
  border-color: #4285f4 !important;
  box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.15) !important;
  background: var(--border) !important;
}

html body ion-alert input.alert-input,
html body ion-alert textarea.alert-input {
  color: #ffffff !important;
  background: transparent !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  border: none !important;
  outline: none !important;
  letter-spacing: 0.2px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
}

html body ion-alert input.alert-input::placeholder,
html body ion-alert textarea.alert-input::placeholder {
  color: rgba(255, 255, 255, 0.35) !important;
  font-weight: 400 !important;
}

html body ion-alert .alert-radio-group,
html body ion-alert .alert-checkbox-group {
  background: transparent !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  max-height: 260px !important;
  padding: 4px 0 !important;
}

html body ion-alert button.alert-radio-button,
html body ion-alert button.alert-tappable {
  min-height: 48px !important;
  padding: 0 16px !important;
  background: transparent !important;
}

html body ion-alert button.alert-radio-button:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

html body ion-alert .alert-radio-label,
html body ion-alert .alert-checkbox-label {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  padding-inline-start: 12px !important;
}

html body ion-alert .alert-radio-icon {
  width: 22px !important;
  height: 22px !important;
  border: 2px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
  background: transparent !important;
  position: relative !important;
  min-width: 22px !important;
}

html body ion-alert .alert-radio-inner {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: transparent !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

html body ion-alert [aria-checked=true] .alert-radio-icon {
  border-color: #3b82f6 !important;
}

html body ion-alert [aria-checked=true] .alert-radio-inner {
  background: #3b82f6 !important;
}

html body ion-alert .alert-checkbox-icon {
  width: 22px !important;
  height: 22px !important;
  border: 2px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 6px !important;
  background: transparent !important;
  min-width: 22px !important;
}

html body ion-alert [aria-checked=true] .alert-checkbox-icon {
  border-color: #3b82f6 !important;
  background: #3b82f6 !important;
}

html body ion-alert .alert-button-group {
  background: transparent !important;
  padding: 8px 20px 20px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  justify-content: center !important;
  align-items: stretch !important;
}

html body ion-alert button.alert-button {
  flex: 1 1 0 !important;
  max-width: 140px !important;
  min-width: 100px !important;
  border-radius: 12px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: none !important;
  margin: 0 !important;
  justify-content: center !important;
  text-align: center !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #4285f4 0%, #357abd 100%) !important;
  border: none !important;
  letter-spacing: 0.3px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(66, 133, 244, 0.3) !important;
}

html body ion-alert button.alert-button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(66, 133, 244, 0.4) !important;
}

html body ion-alert button.alert-button .alert-button-inner {
  justify-content: center !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  width: 100% !important;
  color: #ffffff !important;
}

html body ion-alert button.alert-button:only-child {
  background: linear-gradient(135deg, #4285f4 0%, #357abd 100%) !important;
  color: #ffffff !important;
  max-width: 160px !important;
}

html body ion-alert button.alert-button.alert-button-role-cancel {
  background: var(--border-strong) !important;
  color: var(--text) !important;
  font-weight: 600 !important;
  order: -1 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
  border: 1px solid var(--border-strong) !important;
}

html body ion-alert button.alert-button.alert-button-role-cancel:hover {
  background: var(--border-strong) !important;
}

html body ion-alert button.alert-button.alert-button-role-destructive {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3) !important;
}

html body ion-alert button.alert-button.alert-btn-cancel-red {
  background: transparent !important;
  color: #ef4444 !important;
  font-weight: 600 !important;
}

html body ion-alert button.alert-button.favorite-btn {
  background: rgba(245, 158, 11, 0.15) !important;
  color: #f59e0b !important;
  font-weight: 600 !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
}

html body ion-alert.ilt-compliance-alert .alert-wrapper,
html body ion-alert.app-guide-alert .alert-wrapper {
  max-width: 420px !important;
  width: 92vw !important;
}

html body ion-alert.ilt-compliance-alert .alert-message,
html body ion-alert.app-guide-alert .alert-message {
  max-height: 65vh !important;
  overflow-y: auto !important;
  text-align: left !important;
  white-space: pre-line !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* ===== Modern Vehicle Picker ===== */
/* ===== Vehicle Picker — alleen layout, kleuren via master ===== */
ion-alert.vehicle-picker-modern .alert-message {
  max-height: 55vh !important;
  overflow-y: auto !important;
  text-align: left !important;
}

.vp-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}

.vp-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 2px solid var(--border);
  cursor: pointer;
  transition: all 0.2s ease;
}
.vp-card:active {
  transform: scale(0.98);
}
.vp-card.vp-selected {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.1);
}

.vp-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vp-plate {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.5px;
}

.vp-model {
  font-size: 0.75rem;
  color: var(--text-muted);
  text-transform: capitalize;
}

.vp-star {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: var(--border);
  color: rgba(255, 255, 255, 0.2);
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
.vp-star:active {
  transform: scale(0.9);
}
.vp-star.vp-star-on {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

/* ===== Rit Type Picker — alleen layout, kleuren via master ===== */
ion-alert.rit-type-picker .alert-message {
  max-height: 60vh !important;
  overflow-y: auto !important;
  text-align: left !important;
}

.rt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 8px 0;
}

.rt-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 18px 10px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 2px solid var(--border);
  cursor: pointer;
  transition: all 0.2s ease;
}
.rt-card:active {
  transform: scale(0.96);
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.1);
}

.rt-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rt-label {
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
}

.rt-desc {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* Rit Form Alert */
.header-info-btn {
  --color: var(--text);
  --padding-start: 6px;
  --padding-end: 6px;
  margin-right: 2px;
}
.header-info-btn ion-icon {
  font-size: 22px;
}

ion-alert.betaalwijze-alert .alert-message {
  display: none !important;
}
ion-alert.betaalwijze-alert .alert-button-group {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  padding: 12px 16px 20px !important;
}
ion-alert.betaalwijze-alert button.alert-button {
  min-height: 56px !important;
  font-size: 15px !important;
  background: var(--border) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
ion-alert.betaalwijze-alert button.alert-button:active {
  background: rgba(59, 130, 246, 0.2) !important;
  border-color: #3b82f6 !important;
}

ion-alert.rit-form-alert .alert-message {
  padding: 0 !important;
  max-height: 65vh !important;
  overflow-y: auto !important;
  text-align: left !important;
}

.rf-header {
  padding: 10px 16px;
  border-radius: 0;
  text-align: center;
}

.rf-fields {
  padding: 12px 16px;
}

.rf-row {
  margin-bottom: 12px;
}
.rf-row label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.rf-row input[type=text],
.rf-row input[type=number] {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border-strong);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  font-size: 0.9rem;
  outline: none;
  box-sizing: border-box;
}
.rf-row input[type=text]:focus,
.rf-row input[type=number]:focus {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.05);
}
.rf-row input[type=text]::placeholder,
.rf-row input[type=number]::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

.rf-pay-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.rf-pay {
  padding: 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 2px solid var(--border);
  color: var(--text-secondary);
  font-size: 0.8rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.rf-pay.rf-pay-on {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.12);
  color: #fff;
  font-weight: 600;
}

.portal-side-menu {
  --width: 280px;
  --max-width: 300px;
  --background: #1e3a5f;
  border-right: 1px solid var(--border-strong);
}
.portal-side-menu .portal-menu-toolbar {
  --background: #3b82f6;
  --color: #fff;
}
.portal-side-menu .portal-menu-toolbar ion-title {
  color: #fff !important;
  font-size: 0.95rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.portal-side-menu ion-content {
  --background: #1e3a5f;
}

.portal-header ion-toolbar {
  --background: #3b82f6;
  --color: #fff;
  --border-color: var(--border-strong);
}
.portal-header ion-toolbar ion-menu-button {
  --color: #fff;
}
.portal-header ion-toolbar ion-title {
  font-size: 1rem;
  font-weight: 600;
  color: #fff !important;
}

ion-split-pane {
  height: 100%;
}

body.light-mode ion-content {
  --background: var(--ion-background-color) !important;
}
body.light-mode ion-card {
  --background: var(--ion-card-background) !important;
  background: var(--ion-card-background) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}
body.light-mode ion-modal ion-content {
  --background: #ffffff !important;
}
body.light-mode ion-modal::part(content) {
  background: #ffffff !important;
}
body.light-mode ion-modal .section.card,
body.light-mode ion-modal .edit-section,
body.light-mode ion-modal .detail-card,
body.light-mode ion-modal .form-card,
body.light-mode ion-modal .section-card,
body.light-mode ion-modal .info-card,
body.light-mode ion-modal .form-section,
body.light-mode ion-modal ion-card {
  background: #f8f9fa !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: none !important;
}
body.light-mode ion-modal .field-wrap,
body.light-mode ion-modal .edit-field-wrap {
  background: #f5f6f8 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}
body.light-mode ion-modal .modal-footer,
body.light-mode ion-modal ion-footer {
  background: #ffffff !important;
  --background: #ffffff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}
body.light-mode ion-modal .upload-zone {
  background: #f8f9fa !important;
  border: 2px dashed rgba(0, 0, 0, 0.15) !important;
}
body.light-mode ion-list {
  --ion-item-background: #ffffff !important;
  background: #ffffff !important;
}
body.light-mode ion-item {
  --background: #ffffff !important;
  --border-color: rgba(0, 0, 0, 0.06) !important;
}
body.light-mode ion-tab-bar {
  --background: #ffffff !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}
body.light-mode ion-toolbar {
  --background: #ffffff !important;
  --border-color: rgba(0, 0, 0, 0.06) !important;
}
body.light-mode ion-segment {
  --background: rgba(0, 0, 0, 0.04) !important;
}
body.light-mode ion-segment-button {
  --color: #6b7280 !important;
  --color-checked: var(--ion-color-primary) !important;
  --indicator-color: #ffffff !important;
}
body.light-mode ion-action-sheet .action-sheet-group {
  background: #ffffff !important;
}
body.light-mode ion-action-sheet .action-sheet-title {
  color: #1f2937 !important;
  font-weight: 700 !important;
}
body.light-mode ion-action-sheet .action-sheet-sub-title {
  color: rgba(0, 0, 0, 0.5) !important;
}
body.light-mode ion-action-sheet .action-sheet-button {
  color: #2563eb !important;
  background: transparent !important;
}
body.light-mode ion-action-sheet .action-sheet-button .action-sheet-button-inner {
  color: #2563eb !important;
}
body.light-mode ion-action-sheet .action-sheet-button .action-sheet-icon {
  color: #2563eb !important;
}
body.light-mode ion-action-sheet .action-sheet-button:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}
body.light-mode ion-action-sheet .action-sheet-button[data-role=destructive],
body.light-mode ion-action-sheet .action-sheet-button.action-sheet-destructive {
  color: #ef4444 !important;
}
body.light-mode ion-action-sheet .action-sheet-button[data-role=destructive] .action-sheet-button-inner,
body.light-mode ion-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-button-inner {
  color: #ef4444 !important;
}
body.light-mode ion-action-sheet .action-sheet-button[data-role=destructive] .action-sheet-icon,
body.light-mode ion-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-icon {
  color: #ef4444 !important;
}
body.light-mode ion-action-sheet .action-sheet-group-cancel {
  background: #f8f9fa !important;
}
body.light-mode ion-action-sheet .action-sheet-group-cancel .action-sheet-button {
  color: #1f2937 !important;
  font-weight: 600 !important;
}
body.light-mode ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-button-inner {
  color: #1f2937 !important;
}
body.light-mode ion-action-sheet .action-sheet-group-cancel .action-sheet-button .action-sheet-icon {
  color: #1f2937 !important;
}
body.light-mode .portal-side-menu {
  --background: #1e3a5f !important;
}
body.light-mode .portal-side-menu .portal-menu-toolbar {
  --background: #3b82f6 !important;
}
body.light-mode .portal-header ion-toolbar {
  --background: #3b82f6 !important;
  --color: #fff !important;
}
body.light-mode .portal-header ion-toolbar ion-menu-button {
  --color: #fff !important;
}
body.light-mode .portal-header ion-toolbar ion-title {
  color: #fff !important;
}
body.light-mode .filters-section ion-searchbar,
body.light-mode .filter-section ion-searchbar {
  --background: var(--ion-card-background) !important;
  --color: var(--ion-text-color) !important;
  --placeholder-color: rgba(0, 0, 0, 0.2) !important;
  --icon-color: var(--ion-color-primary) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}
body.light-mode .rf-pay {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
  color: #4b5563 !important;
}
body.light-mode .rf-pay.rf-pay-on {
  border-color: #3b82f6 !important;
  background: rgba(59, 130, 246, 0.1) !important;
  color: #1d4ed8 !important;
}
body.light-mode ion-menu {
  --background: var(--ion-background-color) !important;
}
body.light-mode ion-menu ion-content {
  --background: var(--ion-background-color) !important;
}
body.light-mode ion-popover {
  --background: var(--ion-card-background) !important;
}

body.light-mode ion-alert::part(alert-wrapper) {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12) !important;
}

body.light-mode ion-alert::part(alert-title) {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-alert::part(alert-sub-title) {
  color: rgba(0, 0, 0, 0.5) !important;
}

body.light-mode ion-alert::part(alert-message) {
  color: rgba(0, 0, 0, 0.65) !important;
}

body.light-mode ion-alert::part(alert-input) {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #1f2937 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
}

body.light-mode ion-alert::part(alert-input):focus {
  border-color: rgba(59, 130, 246, 0.5) !important;
  background: rgba(0, 0, 0, 0.02) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;
}

body.light-mode .validation-status-bar {
  background: var(--ion-card-background) !important;
  color: var(--tesla-text-primary) !important;
  border-bottom: 1px solid var(--tesla-border) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important;
}

body.light-mode ion-content {
  --background: var(--ion-background-color) !important;
  --offset-bottom: 0px !important;
}

body.light-mode .operator-page,
body.light-mode .page-container,
body.light-mode .page-content,
body.light-mode .content-container {
  background: var(--ion-background-color) !important;
}

body.light-mode .status-dropdown,
body.light-mode .native-search-container {
  background: var(--ion-card-background) !important;
  border-color: var(--tesla-border-strong) !important;
}

body.light-mode .native-search-input,
body.light-mode .native-search-container input {
  color: var(--tesla-text-primary) !important;
  -webkit-text-fill-color: var(--tesla-text-primary) !important;
}

body.light-mode .native-search-input::placeholder,
body.light-mode .native-search-container input::placeholder {
  color: var(--tesla-text-muted) !important;
}

body.light-mode ion-card {
  background: var(--ion-card-background) !important;
  --background: var(--ion-card-background) !important;
  border: 1px solid var(--tesla-border) !important;
  color: var(--tesla-text-primary) !important;
}
body.light-mode ion-card ion-card-title,
body.light-mode ion-card ion-card-subtitle {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode ion-card::after {
  background: var(--tesla-border) !important;
}

body.light-mode ion-item {
  --background: var(--ion-card-background) !important;
  --color: var(--tesla-text-primary) !important;
  --border-color: var(--tesla-border) !important;
}

body.light-mode ion-label,
body.light-mode .field-label {
  color: var(--tesla-text-primary) !important;
}

body.light-mode h4 {
  color: var(--tesla-text-primary) !important;
}

body.light-mode ion-modal h1,
body.light-mode ion-modal h2,
body.light-mode ion-modal ion-card-title,
body.light-mode ion-modal .section-title,
body.light-mode ion-modal .modal-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-modal h3 {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-modal ion-icon:not([color]) {
  color: var(--cdt-blue-primary, #3b82f6);
}

body.light-mode ion-input,
body.light-mode ion-select,
body.light-mode ion-textarea {
  --background: var(--ion-card-background) !important;
  --color: var(--tesla-text-primary) !important;
  --placeholder-color: var(--tesla-text-muted) !important;
  color: var(--tesla-text-primary) !important;
}

body.light-mode .section.card,
body.light-mode .driver-modal-content,
body.light-mode .modal-body {
  background: var(--ion-card-background) !important;
  border: 1px solid var(--tesla-border) !important;
}
body.light-mode .section.card h3,
body.light-mode .driver-modal-content h3,
body.light-mode .modal-body h3 {
  color: var(--cdt-blue-primary, #3b82f6) !important;
  border-bottom-color: var(--tesla-border) !important;
}

body.light-mode ion-header ion-toolbar,
body.light-mode .modal-toolbar {
  --background: var(--cdt-blue-primary, #3b82f6) !important;
  --color: #ffffff !important;
}
body.light-mode ion-header ion-toolbar ion-title,
body.light-mode ion-header ion-toolbar ion-back-button,
body.light-mode ion-header ion-toolbar ion-button,
body.light-mode ion-header ion-toolbar ion-icon,
body.light-mode .modal-toolbar ion-title,
body.light-mode .modal-toolbar ion-back-button,
body.light-mode .modal-toolbar ion-button,
body.light-mode .modal-toolbar ion-icon {
  color: #ffffff !important;
  --color: #ffffff !important;
}

body.light-mode ion-searchbar {
  --background: var(--searchbar-bg, var(--ion-card-background)) !important;
  --color: var(--tesla-text-primary) !important;
  --placeholder-color: var(--tesla-text-muted) !important;
  --icon-color: var(--ion-color-primary) !important;
  border-color: var(--tesla-border-strong) !important;
  background: var(--searchbar-bg, var(--ion-card-background)) !important;
}

body.light-mode ion-toggle {
  --background: rgba(0, 0, 0, 0.1) !important;
}

body.light-mode ion-segment {
  --background: rgba(0, 0, 0, 0.06) !important;
}

body.light-mode ion-segment-button {
  --color: var(--tesla-text-secondary) !important;
  --color-checked: var(--ion-color-primary) !important;
}

body.light-mode h1,
body.light-mode h2,
body.light-mode .page-title,
body.light-mode .section-title,
body.light-mode .header-title,
body.light-mode .tab-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-card-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-card-subtitle {
  color: var(--cdt-blue-shade, #2563eb) !important;
}

body.light-mode ion-icon:not([color]):not(.status-icon) {
  color: var(--cdt-blue-primary, #3b82f6);
}

body.light-mode ion-icon[color=danger] {
  color: var(--ion-color-danger) !important;
}

body.light-mode ion-icon[color=success] {
  color: var(--ion-color-success) !important;
}

body.light-mode ion-icon[color=warning] {
  color: var(--ion-color-warning) !important;
}

body.light-mode ion-icon[color=primary] {
  color: var(--ion-color-primary) !important;
}

body.light-mode .section-header h2,
body.light-mode .section-header h3,
body.light-mode .section-header ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-card ion-card-header ion-card-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .stat-label,
body.light-mode .stat-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .stat-number,
body.light-mode .stat-value {
  color: #1e293b !important;
}

body.light-mode ion-tab-bar ion-tab-button.tab-selected ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-toolbar ion-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-header ion-toolbar ion-title,
body.light-mode ion-header ion-toolbar ion-button,
body.light-mode ion-header ion-toolbar ion-icon,
body.light-mode ion-header ion-toolbar ion-back-button {
  color: #ffffff !important;
}

body.light-mode ion-list-header ion-label {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

/* ============================================
   GLOBAL: Action Sheet with Icons
   ============================================ */
.ride-action-sheet {
  --background: var(--page-bg);
  --color: var(--text);
}
.ride-action-sheet .action-sheet-group {
  background: var(--page-bg) !important;
}
.ride-action-sheet .action-sheet-title {
  color: white !important;
  font-weight: 600;
  background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important;
  padding: 16px !important;
}
.ride-action-sheet .action-sheet-sub-title {
  color: var(--text-secondary) !important;
}
.ride-action-sheet .action-sheet-button {
  color: var(--text) !important;
  background: var(--page-bg) !important;
  font-size: 16px !important;
  padding: 14px 16px !important;
}
.ride-action-sheet .action-sheet-button:hover {
  background: var(--surface) !important;
}
.ride-action-sheet .action-sheet-button .action-sheet-icon {
  color: #3b82f6 !important;
  font-size: 22px !important;
  margin-right: 16px !important;
}
.ride-action-sheet .action-sheet-button.action-sheet-destructive {
  color: #ef4444 !important;
}
.ride-action-sheet .action-sheet-button.action-sheet-destructive .action-sheet-icon {
  color: #ef4444 !important;
}
.ride-action-sheet .action-sheet-button.action-sheet-cancel {
  color: var(--text-secondary) !important;
  background: var(--page-bg) !important;
}
.ride-action-sheet .action-sheet-button.action-sheet-cancel .action-sheet-icon {
  color: var(--text-muted) !important;
}

/* ============================================
   SINGLE SOURCE — ALL MODAL STYLING
   Matches trip-start-modal exactly.
   No other file should contain ion-modal rules.
   ============================================ */
ion-modal {
  --background: transparent;
  --border-radius: 20px 20px 0 0;
  --backdrop-opacity: 0.2 !important;
  align-items: flex-end !important;
}
ion-modal::part(handle) {
  background: var(--text-muted);
  width: 36px;
  height: 4px;
  border-radius: 2px;
  margin-top: 8px;
}
ion-modal::part(backdrop) {
  background: rgba(0, 0, 0, 0.2);
  opacity: 1;
}
ion-modal::part(content) {
  border-radius: 20px 20px 0 0;
  background: var(--page-bg);
}

@media (max-width: 768px) {
  ion-modal::part(content) {
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media (min-width: 769px) {
  ion-modal::part(content) {
    max-width: 600px !important;
    margin: 0 auto !important;
  }
}
ion-modal ion-header {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
}
ion-modal ion-header::after {
  display: none !important;
}

ion-modal ion-header ion-toolbar {
  --background: transparent !important;
  background: transparent !important;
  --border-width: 0 !important;
  border-bottom: none !important;
  --min-height: 44px !important;
  --padding-top: 4px !important;
  --padding-bottom: 4px !important;
}

ion-modal ion-header ion-toolbar ion-title {
  color: #fff !important;
  --color: #fff !important;
  font-weight: 600 !important;
  font-size: 17px !important;
}

ion-modal ion-header ion-toolbar ion-button,
ion-modal ion-header ion-toolbar ion-icon,
ion-modal ion-header ion-toolbar ion-back-button,
ion-modal ion-header ion-buttons ion-button {
  color: #fff !important;
  --color: #fff !important;
}

ion-modal ion-content {
  --background: var(--page-bg) !important;
}
ion-modal ion-content::part(scroll) {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

ion-modal .section.card,
ion-modal .edit-section,
ion-modal .detail-card,
ion-modal .form-card,
ion-modal .section-card,
ion-modal .info-card,
ion-modal .form-section,
ion-modal ion-card {
  background: var(--surface) !important;
  --background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  box-shadow: none !important;
}

ion-modal h3 {
  color: var(--text) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 0 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

ion-modal h3 ion-icon {
  color: #3b82f6 !important;
  font-size: 20px !important;
}

ion-modal .field-label,
ion-modal .edit-field-label,
ion-modal label,
ion-modal h4 {
  color: #3b82f6 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: block !important;
  margin: 0 0 8px 0 !important;
}

ion-modal ion-label {
  color: var(--text) !important;
  --color: var(--text) !important;
}

ion-modal .field-wrap,
ion-modal .edit-field-wrap {
  background: var(--surface-2) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 12px !important;
}

ion-modal ion-input,
ion-modal ion-textarea,
ion-modal ion-select {
  --background: transparent !important;
  background: transparent !important;
  --color: var(--text) !important;
  color: var(--text) !important;
  --placeholder-color: var(--text-muted) !important;
  border: none !important;
  font-size: 15px !important;
}

ion-modal .field-wrap ion-select {
  width: 100% !important;
  min-height: 48px !important;
  --padding-start: 14px !important;
  --padding-end: 14px !important;
  display: flex !important;
  align-items: center !important;
}

ion-modal input,
ion-modal textarea {
  color: var(--text) !important;
  background: transparent !important;
  -webkit-text-fill-color: var(--text) !important;
  border: none !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  width: 100% !important;
  outline: none !important;
}
ion-modal input::placeholder,
ion-modal textarea::placeholder {
  color: var(--text-muted) !important;
  -webkit-text-fill-color: var(--text-muted) !important;
}

ion-modal ion-item {
  --background: transparent !important;
  background: transparent !important;
  --color: var(--text) !important;
  --border-color: transparent !important;
  --inner-border-width: 0 !important;
}

ion-modal ion-select::part(text) {
  color: var(--text) !important;
}

ion-modal ion-select::part(placeholder) {
  color: var(--text-muted) !important;
}

ion-modal ion-select::part(icon) {
  color: var(--text-muted) !important;
}

ion-modal .card-header,
ion-modal .detail-card-header,
ion-modal ion-card-header {
  color: var(--text) !important;
}

ion-modal ion-card-content {
  color: var(--text) !important;
}

ion-modal .modal-body,
ion-modal .modal-content,
ion-modal .edit-modal-body,
ion-modal .detail-content,
ion-modal .page-content {
  background: var(--page-bg) !important;
  padding: 16px !important;
  padding-bottom: 100px !important;
}

ion-modal .two-col,
ion-modal .edit-two-col,
ion-modal .detail-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

ion-modal .info-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 0 !important;
}
ion-modal .info-row:not(:last-child) {
  border-bottom: 1px solid var(--border) !important;
}

ion-modal .info-label {
  font-size: 14px !important;
  color: var(--text-muted) !important;
}

ion-modal .info-value {
  font-size: 14px !important;
  color: var(--text) !important;
  font-weight: 500 !important;
}

ion-modal .submit-btn,
ion-modal .edit-submit-btn,
ion-modal ion-button[type=submit] {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  margin: 0 auto !important;
  height: 52px !important;
  --background: #3b82f6 !important;
  --border-radius: 26px !important;
  --box-shadow: none !important;
  font-weight: 600 !important;
  color: #fff !important;
}

ion-modal .btn-cancel,
ion-modal .edit-btn-cancel {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  color: var(--text-secondary) !important;
  padding: 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-align: center !important;
}

ion-modal .form-actions,
ion-modal .edit-form-actions {
  padding: 16px 0 !important;
  background: transparent !important;
}

ion-modal .optional-badge {
  color: var(--text-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
}

ion-modal .error {
  color: #ef4444 !important;
  font-size: 12px !important;
}

ion-modal .modal-footer,
ion-modal ion-footer {
  background: var(--page-bg) !important;
  --background: var(--page-bg) !important;
  border-top: 1px solid var(--border) !important;
  padding: 16px 20px !important;
}

ion-modal .upload-zone {
  background: var(--surface-2) !important;
  border: 2px dashed var(--border-strong) !important;
  border-radius: 14px !important;
  padding: 28px 20px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}
ion-modal .upload-zone .upload-icon {
  font-size: 40px !important;
  color: #3b82f6 !important;
  margin-bottom: 8px !important;
  display: block !important;
}
ion-modal .upload-zone .upload-text {
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin: 4px 0 !important;
}
ion-modal .upload-zone .upload-hint {
  color: var(--text-muted) !important;
  font-size: 12px !important;
  margin: 0 !important;
}
ion-modal .upload-zone:hover {
  border-color: #3b82f6 !important;
  background: rgba(59, 130, 246, 0.05) !important;
}

ion-modal .section-subtitle {
  color: var(--text-secondary) !important;
  font-size: 13px !important;
  margin: -6px 0 14px !important;
}

ion-modal .required {
  color: #ef4444 !important;
}

ion-modal .action-btns {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 8px !important;
  align-items: center !important;
}

ion-modal .btn-block {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 88% !important;
  max-width: 400px !important;
  height: 46px !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
ion-modal .btn-block--primary {
  background: #3b82f6 !important;
  color: #fff !important;
}
ion-modal .btn-block--warning {
  background: transparent !important;
  border: 2px solid #f59e0b !important;
  color: #f59e0b !important;
}
ion-modal .btn-block--outline {
  background: transparent !important;
  border: 2px solid var(--border-strong) !important;
  color: var(--text) !important;
}

ion-modal .btn-outline {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 10px !important;
  margin-top: 6px !important;
  background: transparent !important;
  border: 1px dashed var(--border-strong) !important;
  border-radius: 10px !important;
  color: #60a5fa !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

ion-modal .inline-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

ion-modal .icon-btn {
  width: 38px !important;
  height: 38px !important;
  border: none !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  background: rgba(239, 68, 68, 0.12) !important;
  color: #ef4444 !important;
}

ion-modal .save-button {
  --background: #3b82f6 !important;
  --border-radius: 26px !important;
  height: 52px !important;
  font-weight: 600 !important;
  --box-shadow: none !important;
}

ion-modal .cancel-button {
  --color: var(--text-secondary) !important;
  font-weight: 600 !important;
}

body.light-mode ion-content {
  --color: #1f2937 !important;
  color: #1f2937 !important;
}

body.light-mode ion-item {
  --color: #1f2937 !important;
  color: #1f2937 !important;
}

body.light-mode ion-label {
  color: #1f2937 !important;
}

body.light-mode ion-card {
  color: #1f2937 !important;
  --color: #1f2937 !important;
}

body.light-mode ion-card-content {
  color: #374151 !important;
}

body.light-mode p,
body.light-mode span:not(.badge):not([class*=status-]):not([class*=chip]):not([class*=sbtn-label]),
body.light-mode div:not([class*=gradient]):not([class*=header]):not([class*=toolbar]):not(.sbtn):not([class*=rail]) {
  color: inherit;
}

body.light-mode .setting-label,
body.light-mode .setting-description,
body.light-mode .setting-info,
body.light-mode .stat-label,
body.light-mode .detail-label,
body.light-mode .detail-value,
body.light-mode .info-label,
body.light-mode .info-value,
body.light-mode .field-label,
body.light-mode .field-value {
  color: #1f2937 !important;
}

body.light-mode .tariff-card,
body.light-mode .tariff-info,
body.light-mode .tariff-details,
body.light-mode .tariff-name,
body.light-mode .tariff-price {
  color: #1f2937 !important;
}

body.light-mode .native-search-input,
body.light-mode .native-search-container input {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
}

body.light-mode .native-search-input::placeholder,
body.light-mode .native-search-container input::placeholder {
  color: rgba(0, 0, 0, 0.4) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0.4) !important;
}

body.light-mode ion-icon {
  color: var(--cdt-blue-primary, #3b82f6);
}

body.light-mode ion-header ion-icon,
body.light-mode ion-header ion-back-button,
body.light-mode .global-app-header ion-icon,
body.light-mode .global-side-rail ion-icon,
body.light-mode ion-tab-bar ion-icon,
body.light-mode [class*=gradient] ion-icon,
body.light-mode .main-display-card ion-icon {
  color: inherit !important;
}

body.light-mode ion-icon[color=danger] {
  color: var(--ion-color-danger) !important;
}

body.light-mode ion-icon[color=success] {
  color: var(--ion-color-success) !important;
}

body.light-mode ion-icon[color=warning] {
  color: var(--ion-color-warning) !important;
}

body.light-mode ion-icon[color=primary] {
  color: var(--ion-color-primary) !important;
}

body.light-mode h1,
body.light-mode h2,
body.light-mode ion-card-title,
body.light-mode .section-title,
body.light-mode .page-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-header ion-toolbar ion-title,
body.light-mode ion-header ion-toolbar ion-button,
body.light-mode ion-header ion-toolbar ion-icon,
body.light-mode ion-header ion-toolbar ion-back-button {
  color: #ffffff !important;
  --color: #ffffff !important;
}

body.light-mode .main-display-card,
body.light-mode .main-display-card * {
  color: #ffffff !important;
}

body.light-mode ion-button[color=primary],
body.light-mode ion-button[fill=solid] {
  --color: #ffffff !important;
}

body.light-mode .global-side-rail .sbtn,
body.light-mode .global-side-rail .sbtn-label,
body.light-mode .global-side-rail ion-icon {
  color: inherit !important;
}

body.light-mode .operator-feature-wrapper,
body.light-mode .operator-content {
  color: #1f2937 !important;
}

body.light-mode td,
body.light-mode th {
  color: #1f2937 !important;
}

body.light-mode .badge,
body.light-mode ion-badge {
  color: inherit !important;
}

body.light-mode ion-alert .alert-button {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-action-sheet .action-sheet-title {
  color: #1f2937 !important;
}

body.light-mode ion-action-sheet .action-sheet-button .action-sheet-button-inner {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-modal {
  --color: #1f2937 !important;
  color: #1f2937 !important;
}

body.light-mode ion-modal p,
body.light-mode ion-modal span,
body.light-mode ion-modal div,
body.light-mode ion-modal ion-label,
body.light-mode ion-modal ion-note {
  color: #374151 !important;
}

body.light-mode ion-modal h1,
body.light-mode ion-modal h2,
body.light-mode ion-modal h3,
body.light-mode ion-modal ion-card-title {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-modal ion-header ion-toolbar {
  --background: var(--cdt-blue-primary, #3b82f6) !important;
  --color: #ffffff !important;
}

body.light-mode ion-modal ion-header ion-toolbar ion-title,
body.light-mode ion-modal ion-header ion-toolbar ion-button,
body.light-mode ion-modal ion-header ion-toolbar ion-icon {
  color: #ffffff !important;
}

.toggle-btn.active, .toggle-btn.active *:not(ion-badge):not(.badge):not(.dot),
.chip.active,
.chip.active *:not(ion-badge):not(.badge):not(.dot),
.filter-pill.active,
.filter-pill.active *:not(ion-badge):not(.badge):not(.dot),
.status-card,
.status-card *:not(ion-badge):not(.badge):not(.dot),
.day-pill.today,
.day-pill.today *:not(ion-badge):not(.badge):not(.dot),
.week-day-header,
.week-day-header *:not(ion-badge):not(.badge):not(.dot),
[style*="background: #3b82f6"],
[style*="background: #3b82f6"] *:not(ion-badge):not(.badge):not(.dot),
[style*="background:#3b82f6"],
[style*="background:#3b82f6"] *:not(ion-badge):not(.badge):not(.dot),
[style*="background-color: #3b82f6"],
[style*="background-color: #3b82f6"] *:not(ion-badge):not(.badge):not(.dot),
[style*="background: linear-gradient"],
[style*="background: linear-gradient"] *:not(ion-badge):not(.badge):not(.dot) {
  color: #ffffff;
}
.toggle-btn.active ion-icon,
.chip.active ion-icon,
.filter-pill.active ion-icon,
.status-card ion-icon,
.day-pill.today ion-icon,
.week-day-header ion-icon,
[style*="background: #3b82f6"] ion-icon,
[style*="background:#3b82f6"] ion-icon,
[style*="background-color: #3b82f6"] ion-icon,
[style*="background: linear-gradient"] ion-icon {
  color: #ffffff !important;
}

body.light-mode ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-header ion-icon,
body.light-mode ion-header ion-back-button,
body.light-mode .global-app-header ion-icon,
body.light-mode .global-side-rail ion-icon,
body.light-mode .global-side-rail .sbtn ion-icon,
body.light-mode ion-tab-bar ion-icon,
body.light-mode [class*=gradient]:not(.period-toggle):not(.period-nav) ion-icon,
body.light-mode .main-display-card ion-icon,
body.light-mode .stats-card ion-icon,
body.light-mode .stat-box ion-icon,
body.light-mode .toggle-btn.active ion-icon,
body.light-mode .day-pill.today ion-icon,
body.light-mode ion-button[color=primary] ion-icon,
body.light-mode ion-button[fill=solid] ion-icon,
body.light-mode .cdt-fab-main ion-icon,
body.light-mode .cdt-fab-sub ion-icon,
body.light-mode .active-trip-card ion-icon,
body.light-mode .booking-item-desktop ion-icon {
  color: inherit !important;
}

body.light-mode .toggle-btn:not(.active) ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .period-nav ion-button ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .native-search-container ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .status-badge ion-icon,
body.light-mode ion-chip[color] ion-icon {
  color: inherit !important;
}

body.light-mode ion-icon[color=danger],
body.light-mode ion-icon[color=destructive] {
  color: var(--ion-color-danger, #ef4444) !important;
}

body.light-mode ion-icon[color=success] {
  color: var(--ion-color-success, #10b981) !important;
}

body.light-mode ion-icon[color=warning] {
  color: var(--ion-color-warning, #f59e0b) !important;
}

body.light-mode ion-icon[color=primary] {
  color: var(--ion-color-primary, #3b82f6) !important;
}

body.light-mode ion-icon[color=medium] {
  color: var(--ion-color-medium, #6b7280) !important;
}

body.light-mode .week-selector .day-pill:not(.today) ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .month-grid ion-icon,
body.light-mode .year-grid ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .info-row ion-icon,
body.light-mode .detail-row ion-icon,
body.light-mode .trip-info-clean ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-item:not([class*=status-]) ion-icon:not([color]) {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-action-sheet ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-alert ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-icon {
  color: var(--cdt-blue-primary, #3b82f6);
}

body.light-mode ion-header ion-icon,
body.light-mode ion-header ion-back-button,
body.light-mode .global-app-header ion-icon,
body.light-mode .global-side-rail ion-icon,
body.light-mode ion-tab-bar ion-tab-button.tab-selected ion-icon,
body.light-mode [class*=gradient] ion-icon,
body.light-mode .main-display-card ion-icon,
body.light-mode .summary-stat ion-icon,
body.light-mode .stat-box ion-icon,
body.light-mode .day-pill.today ion-icon,
body.light-mode .toggle-btn.active ion-icon,
body.light-mode .chip.active ion-icon,
body.light-mode ion-fab-button ion-icon,
body.light-mode .cdt-fab-main ion-icon,
body.light-mode .cdt-fab-sub ion-icon,
body.light-mode ion-button[color=primary] ion-icon,
body.light-mode ion-button[fill=solid]:not([color=light]) ion-icon,
body.light-mode .round-control-btn ion-icon,
body.light-mode .active-trip-card ion-icon,
body.light-mode .booking-item-desktop ion-icon,
body.light-mode .modal-header ion-icon,
body.light-mode .ride-badge ion-icon,
body.light-mode .status-chip.active ion-icon,
body.light-mode .close-btn ion-icon {
  color: inherit !important;
}

body.light-mode ion-card:not([class*=gradient]):not(.main-display-card) ion-icon:not([color]),
body.light-mode .card:not([class*=gradient]) ion-icon:not([color]),
body.light-mode .rit-card ion-icon:not([color]),
body.light-mode .dienst-header ion-icon,
body.light-mode .dienst-info ion-icon,
body.light-mode .dienst-stats > ion-icon,
body.light-mode .ride-route ion-icon,
body.light-mode .ride-action-btn ion-icon,
body.light-mode .meta-item ion-icon,
body.light-mode .pagination ion-icon,
body.light-mode .empty-state ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .search-icon,
body.light-mode .clear-icon,
body.light-mode .input-icon,
body.light-mode .field-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .modal-content ion-icon:not([color]),
body.light-mode .modal-body ion-icon:not([color]),
body.light-mode .modal-section ion-icon:not([color]) {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode ion-popover ion-icon:not([color]),
body.light-mode ion-select-popover ion-icon,
body.light-mode .dropdown-item ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .section-label,
body.light-mode .field-label,
body.light-mode .form-label {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .edit-section h3 {
  color: var(--cdt-light-text-primary, #1f2937) !important;
}

body.light-mode .edit-section h3 ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}

body.light-mode .loading-overlay {
  background: rgba(255, 255, 255, 0.85) !important;
}
body.light-mode .loading-container {
  background: #ffffff !important;
  border: 1px solid var(--cdt-light-border, #e5e7eb) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
}
body.light-mode .loading-text {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode .loading-subtext {
  color: var(--cdt-light-text-secondary, #6b7280) !important;
}
body.light-mode .loading-spinner {
  border-color: rgba(59, 130, 246, 0.15) !important;
  border-left-color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode ion-spinner {
  color: var(--cdt-blue-primary, #3b82f6) !important;
  --color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode ion-skeleton-text {
  --background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%) !important;
  --background-rgb: 229, 231, 235 !important;
}
body.light-mode .toggle-buttons,
body.light-mode .period-toggle .toggle-buttons {
  background: var(--cdt-light-bg-card, #ffffff) !important;
  border: 1px solid var(--cdt-light-border, #e5e7eb) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}
body.light-mode .toggle-btn:not(.active) {
  background: transparent !important;
  color: var(--cdt-light-text-secondary, #6b7280) !important;
}
body.light-mode .toggle-btn:not(.active) ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode .toggle-btn:not(.active) span {
  color: var(--cdt-light-text-secondary, #6b7280) !important;
}
body.light-mode .search-container,
body.light-mode .native-search-container {
  background: var(--cdt-light-bg-card, #ffffff) !important;
  border: 1px solid var(--cdt-light-border, #e5e7eb) !important;
}
body.light-mode .search-container ion-icon,
body.light-mode .native-search-container ion-icon {
  color: var(--cdt-blue-primary, #3b82f6) !important;
}
body.light-mode .search-container input::placeholder,
body.light-mode .native-search-container input::placeholder {
  color: rgba(0, 0, 0, 0.4) !important;
}
body.light-mode ion-checkbox {
  --background: #ffffff;
  --background-checked: var(--cdt-blue-primary, #3b82f6);
  --border-color: var(--cdt-light-border, #d1d5db);
  --border-color-checked: var(--cdt-blue-primary, #3b82f6);
  --checkmark-color: #ffffff;
}
body.light-mode .day-pill:not(.today) {
  background: var(--cdt-light-bg-card, #ffffff) !important;
  border: 1px solid var(--cdt-light-border, #e5e7eb) !important;
}
body.light-mode .day-pill:not(.today) .day-name {
  color: var(--cdt-light-text-secondary, #6b7280) !important;
}
body.light-mode .day-pill:not(.today) .day-num {
  color: var(--cdt-light-text-primary, #1f2937) !important;
}
body.light-mode .select-all-checkbox,
body.light-mode .select-checkbox {
  background: var(--cdt-light-bg-card, #ffffff) !important;
}
body.light-mode .select-all-checkbox ion-checkbox,
body.light-mode .select-checkbox ion-checkbox {
  --background: #ffffff;
  --border-color: var(--cdt-light-border, #d1d5db);
}

/* .cache-bust-1775489501 { display: none; } */
.cache-bust-1775490059 {
  visibility: hidden;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[5].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].rules[1].use[1]!./src/theme/variables.scss?ngGlobalStyle ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --ion-dynamic-font: -apple-system-body;
  --ion-font-family: var(--ion-default-font);
  --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));
  /* Global header height used by layout calculations */
  --cdt-global-header-height: 52px;
  --fs-100: clamp(0.85rem, 0.82rem + 0.2vw, 0.95rem);
  --fs-200: clamp(0.95rem, 0.9rem + 0.3vw, 1.05rem);
  --fs-300: clamp(1.0rem, 0.95rem + 0.5vw, 1.15rem);
  --fs-400: clamp(1.1rem, 1.0rem + 0.6vw, 1.3rem);
  --fs-500: clamp(1.25rem, 1.1rem + 0.8vw, 1.6rem);
  --fs-600: clamp(1.5rem, 1.3rem + 1.2vw, 2.0rem);
  --transition-speed: 0.2s;
  --driver-available: #2ecc71;
  --driver-enroute: #3498db;
  --driver-ontrip: #e67e22;
  --driver-break: #9b59b6;
  --driver-offline: #7f8c8d;
  --driver-neutral: #95a5a6;
  --driver-cluster-bg: var(--cdt-blue-shade);
  --driver-cluster-text: var(--cdt-light-bg-card);
  --driver-marker-ring: rgba(255, 255, 255, 0.85);
  --driver-marker-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  --ion-default-font: "Roboto", "Helvetica Neue", sans-serif;
  /* CDT / Tesla Theme - Light Mode (default) */
  --cdt-card-bg: var(--cdt-light-bg-card);
  --cdt-header-bg: var(--cdt-blue-primary);
  --cdt-primary-gradient: linear-gradient(180deg, var(--cdt-blue-primary) 0%, var(--cdt-blue-shade) 85%);
  --tesla-accent: var(--cdt-blue-primary);
  --tesla-black: var(--cdt-light-bg-primary);
  --tesla-dark-gray: #f8f9fa;
  --tesla-medium-gray: #e9ecef;
  --tesla-light-gray: #f1f3f5;
  --tesla-card-bg: transparent;
  --tesla-header-bg: var(--cdt-blue-primary);
  --tesla-header-gradient: linear-gradient(135deg, var(--cdt-blue-shade) 0%, var(--cdt-blue-primary) 100%);
  --tesla-blue: var(--cdt-blue-primary);
  --tesla-blue-hover: var(--cdt-blue-shade);
  --tesla-blue-light: rgba(59, 130, 246, 0.08);
  --cdt-blue-light-fade: rgba(59, 130, 246, 0.08);
  --cdt-background-fade: rgba(59, 130, 246, 0.03);
  --tesla-gradient: linear-gradient(135deg, var(--cdt-blue-primary) 0%, var(--cdt-blue-tint) 100%);
  --tesla-white: #ffffff;
  --tesla-text-primary: #1f2937;
  --tesla-text-secondary: var(--cdt-light-text-secondary);
  --tesla-text-muted: var(--cdt-light-text-muted);
  --tesla-border: rgba(0, 0, 0, 0.06);
  --tesla-border-strong: rgba(0, 0, 0, 0.1);
  --ion-background-color: var(--cdt-light-bg-primary);
  --ion-background-color-rgb: 255, 255, 255;
  --ion-text-color: #1f2937;
  --ion-text-color-rgb: 31, 41, 55;
  --ion-color-primary: var(--cdt-blue-primary);
  --ion-color-primary-rgb: 59, 130, 246;
  --ion-color-primary-contrast: var(--cdt-light-bg-card);
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: var(--cdt-blue-shade);
  --ion-color-primary-tint: var(--cdt-blue-tint);
  --ion-color-secondary: #0ea5e9;
  --ion-color-secondary-rgb: 14, 165, 233;
  --ion-color-secondary-contrast: var(--cdt-light-bg-card);
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #0c8fcd;
  --ion-color-secondary-tint: #26afeb;
  --ion-color-tertiary: var(--cdt-blue-primary);
  --ion-color-tertiary-rgb: 59, 130, 246;
  --ion-color-tertiary-contrast: var(--cdt-light-bg-card);
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: var(--cdt-blue-shade);
  --ion-color-tertiary-tint: var(--cdt-blue-tint);
  --ion-color-success: #10b981;
  --ion-color-success-rgb: 16, 185, 129;
  --ion-color-success-contrast: var(--cdt-light-bg-card);
  --ion-color-success-contrast-rgb: 255, 255, 255;
  --ion-color-success-shade: #0ea372;
  --ion-color-success-tint: #28c192;
  --ion-color-warning: #f59e0b;
  --ion-color-warning-rgb: 245, 158, 11;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #d88b0a;
  --ion-color-warning-tint: #f6a823;
  --ion-color-danger: #ef4444;
  --ion-color-danger-rgb: 239, 68, 68;
  --ion-color-danger-contrast: var(--cdt-light-bg-card);
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #d23c3c;
  --ion-color-danger-tint: #f15757;
  --ion-color-light: #f1f3f5;
  --ion-color-light-rgb: 241, 243, 245;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d4d6d8;
  --ion-color-light-tint: #f2f4f6;
  --ion-color-medium: var(--cdt-light-text-secondary);
  --ion-color-medium-rgb: 107, 114, 128;
  --ion-color-medium-contrast: var(--cdt-light-bg-card);
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #5e6470;
  --ion-color-medium-tint: #7a808e;
  --ion-color-dark: #1f2937;
  --ion-color-dark-rgb: 31, 41, 55;
  --ion-color-dark-contrast: var(--cdt-light-bg-card);
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1b2430;
  --ion-color-dark-tint: #35404b;
  --ion-card-background: var(--cdt-light-bg-card);
  --ion-item-background: var(--cdt-light-bg-card);
  --ion-toolbar-background: var(--cdt-light-bg-card);
  --ion-tab-bar-background: var(--cdt-light-bg-card);
  --ion-border-color: #e5e7eb;
  --tesla-success: #10b981;
  --tesla-success-light: rgba(16, 185, 129, 0.1);
  --tesla-success-gradient: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  --tesla-warning: #f59e0b;
  --tesla-warning-light: rgba(245, 158, 11, 0.1);
  --tesla-danger: #ef4444;
  --tesla-danger-light: rgba(239, 68, 68, 0.1);
  --tesla-danger-gradient: linear-gradient(135deg, #ef4444 0%, #f87171 100%);
  --tesla-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --tesla-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --tesla-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --status-success: #10b981;
  --status-success-light: #a7f3d0;
  --status-success-dark: #047857;
  --status-warning: #f59e0b;
  --status-warning-light: #fde68a;
  --status-warning-dark: #b45309;
  --status-danger: #ef4444;
  --status-danger-light: #fecaca;
  --status-danger-dark: #b91c1c;
  --status-info: var(--cdt-blue-primary);
  --status-info-light: #bfdbfe;
  --status-info-dark: #1d4ed8;
  --category-maintenance: #1e3a8a;
  --category-maintenance-text: #93c5fd;
  --category-fuel: #1e3a8a;
  --category-fuel-text: #93c5fd;
  --category-insurance: #1e3a8a;
  --category-insurance-text: #93c5fd;
  --category-accommodation: #1e3a8a;
  --category-accommodation-text: #93c5fd;
  --category-travel: #1e3a8a;
  --category-travel-text: #93c5fd;
  --category-medical: #1e3a8a;
  --category-medical-text: #93c5fd;
  --category-office: #1e3a8a;
  --category-office-text: #93c5fd;
  --color-orange: #fb923c;
  --color-orange-light: #fed7aa;
  --color-orange-dark: #9a3412;
  --color-gray-100: #f9fafb;
  --color-gray-200: #f3f4f6;
  --color-gray-300: #e5e7eb;
  --color-gray-400: #d1d5db;
  --color-gray-500: var(--cdt-light-text-muted);
  --color-gray-600: var(--cdt-light-text-secondary);
  --color-gray-700: #4b5563;
  --color-gray-800: #374151;
  --color-gray-900: #111827;
  --accent-purple: var(--cdt-blue-primary);
  --accent-purple-dark: var(--cdt-blue-shade);
  --accent-purple-light: var(--cdt-blue-tint);
  --accent-pink: #f9a8d4;
  --accent-pink-dark: #ec4899;
  --accent-amber: #fbbf24;
  --accent-amber-dark: #f59e0b;
  --accent-teal: #2dd4bf;
  --accent-cyan: #22d3ee;
  --accent-indigo: var(--cdt-blue-tint);
  --accent-lime: #a3e635;
  --whatsapp-green: #00a884;
  --whatsapp-green-dark: #00a884;
  --whatsapp-gray: #8696a0;
  --whatsapp-gray-dark: #54656f;
  --whatsapp-bubble: #dff6f1;
  --whatsapp-bg: var(--cdt-light-bg-primary);
  --google-blue: #4285f4;
  --google-blue-hover: #5a95f5;
  --google-red: #ea4335;
  --google-red-hover: #f65c50;
  --google-green: #34a853;
  --google-green-dark: #2e7d32;
  --google-gray: #9aa0a6;
  --ionic-green: #34d399;
  --ionic-red: #f87171;
  --ionic-yellow: #fbbf24;
  --ionic-light-gray: #e5e7eb;
  --input-border: #e5e7eb;
  --input-border-focus: var(--tesla-blue);
  --divider-light: #e5e7eb;
  --divider-medium: #cbd5e1;
  --background-subtle: #f8fafc;
  --background-hover: #f1f5f9;
  --text-subtle: var(--cdt-light-text-secondary);
  --text-disabled: var(--cdt-light-text-muted);
  --text-link: var(--cdt-blue-shade);
  --text-link-hover: #1d4ed8;
  --cdt-blue: var(--tesla-blue);
  --cdt-blue-hover: var(--tesla-blue-hover);
  --cdt-blue-active: #1f31d2;
  --cdt-blue-shade: var(--tesla-blue-hover);
  --cdt-blue-tint: var(--ion-color-primary);
  --cdt-blue-rgb: 60, 83, 244;
  --taxi-primary: var(--cdt-blue);
  --taxi-primary-dark: var(--cdt-blue-shade);
  --taxi-secondary: var(--cdt-blue-tint);
  --taxi-accent: var(--cdt-blue-hover);
  --success: var(--status-success);
  --success-light: var(--status-success);
  --success-bg: rgba(16, 185, 129, 0.1);
  --warning: var(--status-warning);
  --warning-light: var(--status-warning);
  --warning-bg: rgba(245, 158, 11, 0.1);
  --danger: var(--status-danger);
  --danger-light: var(--status-danger);
  --danger-bg: rgba(239, 68, 68, 0.1);
  --info: var(--cdt-blue);
  --info-light: var(--cdt-blue-tint);
  --info-bg: rgba(59, 130, 246, 0.1);
  --dark: var(--color-gray-700);
  --dark-secondary: var(--color-gray-600);
  --dark-tertiary: var(--color-gray-500);
  --white-alpha: rgba(255, 255, 255, 0.98);
  --shadow-sm: 0 1px 3px rgba(113, 128, 150, 0.1), 0 1px 2px rgba(113, 128, 150, 0.06);
  --shadow-md: 0 4px 6px rgba(113, 128, 150, 0.1), 0 2px 4px rgba(113, 128, 150, 0.06);
  --shadow-lg: 0 10px 15px rgba(113, 128, 150, 0.1), 0 4px 6px rgba(113, 128, 150, 0.05);
  --shadow-xl: 0 20px 25px rgba(113, 128, 150, 0.1), 0 10px 10px rgba(113, 128, 150, 0.04);
  --shadow-cdt: 0 10px 40px rgba(59, 130, 246, 0.3);
  --shadow-success: 0 8px 25px rgba(16, 185, 129, 0.25);
  --shadow-danger: 0 8px 25px rgba(239, 68, 68, 0.25);
  --spacing-xs: 8px;
  --spacing-sm: 16px;
  --spacing-md: 24px;
  --spacing-lg: 32px;
  --spacing-xl: 48px;
  --spacing-2xl: 64px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --transition-fast: all 0.15s ease-out;
  --transition-normal: all 0.25s ease-out;
  --transition-slow: all 0.35s ease-out;
  /* Generic aliases used as var(--surface, ...) / var(--bg, ...) fallbacks */
  --bg: var(--ion-background-color);
  --surface: var(--ion-card-background);
  --surface-2: var(--ion-card-background);
  --card-bg: var(--ion-card-background);
  --searchbar-bg: var(--ion-card-background);
  --page-bg: var(--ion-background-color);
  --accent-blue: var(--tesla-blue);
  --text: var(--tesla-text-primary);
  --text-muted: var(--tesla-text-muted);
  --text-secondary: var(--tesla-text-secondary);
  --border: var(--tesla-border);
  --border-strong: var(--tesla-border-strong);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.dark-mode,
body.dark,
.dark-mode {
  --cdt-card-bg: var(--cdt-bg-card);
  --cdt-header-bg: var(--cdt-blue-primary);
  --cdt-primary-gradient: linear-gradient(180deg, var(--cdt-blue-primary) 0%, var(--cdt-blue-shade) 85%);
  --tesla-black: var(--cdt-bg-primary);
  --tesla-dark-gray: var(--cdt-bg-primary);
  --tesla-medium-gray: #1a1a1a;
  --tesla-light-gray: #303030;
  --cdt-blue-light-fade: rgba(59, 130, 246, 0.14);
  --cdt-background-fade: rgba(59, 130, 246, 0.06);
  --tesla-card-bg: var(--cdt-bg-card);
  --tesla-header-bg: var(--cdt-blue-primary);
  --tesla-header-gradient: linear-gradient(135deg, var(--cdt-blue-primary) 0%, var(--cdt-blue-tint) 100%);
  --tesla-blue: var(--cdt-blue-primary);
  --tesla-blue-hover: var(--cdt-blue-shade);
  --tesla-blue-light: rgba(59, 130, 246, 0.12);
  --tesla-gradient: linear-gradient(135deg, var(--cdt-blue-primary) 0%, var(--cdt-blue-tint) 100%);
  --tesla-text-primary: #f5f5f5;
  --tesla-text-secondary: #a1a1aa;
  --tesla-text-muted: #71717a;
  --tesla-border: rgba(255, 255, 255, 0.06);
  --tesla-border-strong: rgba(255, 255, 255, 0.1);
  --ion-background-color: var(--cdt-bg-primary);
  --ion-background-color-rgb: 26, 26, 26;
  --ion-text-color: #f5f5f5;
  --ion-text-color-rgb: 245, 245, 245;
  --ion-color-light: var(--cdt-bg-input);
  --ion-color-light-rgb: 42, 42, 42;
  --ion-color-light-contrast: var(--cdt-light-bg-card);
  --ion-color-light-contrast-rgb: 255, 255, 255;
  --ion-color-light-shade: var(--cdt-bg-elevated);
  --ion-color-light-tint: #3f3f3f;
  --ion-color-medium: #5c5c5c;
  --ion-color-medium-rgb: 92, 92, 92;
  --ion-color-medium-contrast: var(--cdt-light-bg-card);
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #515151;
  --ion-color-medium-tint: #6c6c6c;
  --ion-color-dark: #f4f4f4;
  --ion-color-dark-rgb: 244, 244, 244;
  --ion-color-dark-contrast: #000000;
  --ion-color-dark-contrast-rgb: 0, 0, 0;
  --ion-color-dark-shade: #d7d7d7;
  --ion-color-dark-tint: #f5f5f5;
  --ion-card-background: var(--cdt-bg-card);
  --ion-item-background: var(--cdt-bg-card);
  --ion-toolbar-background: var(--cdt-bg-primary);
  --ion-tab-bar-background: var(--cdt-bg-primary);
  --ion-border-color: var(--cdt-bg-input);
  --tesla-success: #34d399;
  --tesla-success-light: rgba(52, 211, 153, 0.12);
  --tesla-success-gradient: linear-gradient(135deg, #34d399 0%, #6ee7b7 100%);
  --tesla-warning: #fbbf24;
  --tesla-warning-light: rgba(251, 191, 36, 0.12);
  --tesla-danger: #f87171;
  --tesla-danger-light: rgba(248, 113, 113, 0.12);
  --tesla-danger-gradient: linear-gradient(135deg, #f87171 0%, #fca5a5 100%);
  --tesla-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --tesla-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
  --tesla-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
  --status-success: #34d399;
  --status-success-light: #064e3b;
  --status-success-dark: #6ee7b7;
  --status-warning: #fbbf24;
  --status-warning-light: #78350f;
  --status-warning-dark: #fde047;
  --status-danger: #f87171;
  --status-danger-light: #7f1d1d;
  --status-danger-dark: #fca5a5;
  --status-info: var(--cdt-blue-tint);
  --status-info-light: #1e3a8a;
  --status-info-dark: #93c5fd;
  --whatsapp-green: #00a884;
  --whatsapp-green-dark: #00a884;
  --whatsapp-gray: #8696a0;
  --whatsapp-gray-dark: #54656f;
  --whatsapp-bubble: #005c4b;
  --whatsapp-bg: var(--cdt-bg-primary);
  --color-orange: #fb923c;
  --color-orange-light: #431407;
  --color-orange-dark: #fed7aa;
  --color-gray-100: var(--cdt-bg-card);
  --color-gray-200: var(--cdt-bg-input);
  --color-gray-300: #3f3f3f;
  --color-gray-400: #525252;
  --color-gray-500: #737373;
  --color-gray-600: #a3a3a3;
  --color-gray-700: #d4d4d4;
  --color-gray-800: #e5e5e5;
  --color-gray-900: #f5f5f5;
  --ionic-light-gray: #3f3f3f;
  --input-border: #3f3f3f;
  --divider-light: var(--cdt-bg-input);
  --divider-medium: #3f3f3f;
  --background-subtle: var(--cdt-bg-primary);
  --background-hover: var(--cdt-bg-elevated);
  --text-subtle: #a1a1aa;
  --text-disabled: #52525b;
  --text-link: var(--cdt-blue-tint);
  --text-link-hover: #93c5fd;
  /* Generic aliases — dark overrides */
  --bg: #1a1a1a;
  --surface: #222222;
  --surface-2: #222222;
  --card-bg: var(--cdt-bg-card);
  --searchbar-bg: #000000;
  --page-bg: #1a1a1a;
  --accent-blue: var(--tesla-blue);
  --text: #f5f5f5;
  --text-muted: var(--tesla-text-muted);
  --text-secondary: var(--tesla-text-secondary);
  --border: var(--tesla-border);
  --border-strong: var(--tesla-border-strong);
  --icon-filter: invert(1);
}

/* Celebration modal custom grootte */
.celebration-modal .modal-wrapper,
.celebration-modal .ion-overlay-wrapper {
  --width: 640px;
  max-width: 640px;
}
/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].rules[0].oneOf[0].use[2]!./node_modules/leaflet/dist/leaflet.css?ngGlobalStyle ***!
  \*********************************************************************************************************************************************************************************************************************************************/
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

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

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

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

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

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


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

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

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

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

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


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url('layers.ef6db8722c2c3f9a.png');
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url('layers-2x.9859cd1231006a4a.png');
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url('marker-icon.d577052aa271e13f.png');
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

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


/* div icon */

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


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

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

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

