:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: 0.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}ion-modal>.ion-page{position:relative;contain:layout style;min-height:0;height:100%}ion-modal ion-content.content-sizing ion-nav,ion-modal ion-content.content-sizing ion-nav>.ion-page{position:relative;contain:layout style;height:auto}ion-modal ion-content.content-sizing ion-nav{display:grid}ion-modal ion-content.content-sizing ion-nav>.ion-page{grid-row:1;grid-column:1}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none !important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports(padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports(padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate3d(0,  0,  0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.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}}/*# sourceMappingURL=core.css.map */
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}/*# sourceMappingURL=normalize.css.map */
*{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}/*# sourceMappingURL=structure.css.map */
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}/*# sourceMappingURL=typography.css.map */
.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);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end: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);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-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);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end: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);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end: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);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-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);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}/*# sourceMappingURL=padding.css.map */
.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}}/*# sourceMappingURL=flex-utils.css.map */
@media(prefers-color-scheme: dark){:root{--ion-color-primary: #4d8dff;--ion-color-primary-rgb: 77, 141, 255;--ion-color-primary-contrast: #000;--ion-color-primary-contrast-rgb: 0, 0, 0;--ion-color-primary-shade: #447ce0;--ion-color-primary-tint: #5f98ff;--ion-color-secondary: #46b1ff;--ion-color-secondary-rgb: 70, 177, 255;--ion-color-secondary-contrast: #000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #3e9ce0;--ion-color-secondary-tint: #59b9ff;--ion-color-tertiary: #8482fb;--ion-color-tertiary-rgb: 132, 130, 251;--ion-color-tertiary-contrast: #000;--ion-color-tertiary-contrast-rgb: 0, 0, 0;--ion-color-tertiary-shade: #7472dd;--ion-color-tertiary-tint: #908ffb;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffce31;--ion-color-warning-rgb: 255, 206, 49;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0b52b;--ion-color-warning-tint: #ffd346;--ion-color-danger: #f24c58;--ion-color-danger-rgb: 242, 76, 88;--ion-color-danger-contrast: #000;--ion-color-danger-contrast-rgb: 0, 0, 0;--ion-color-danger-shade: #d5434d;--ion-color-danger-tint: #f35e69;--ion-color-light: #222428;--ion-color-light-rgb: 34, 36, 40;--ion-color-light-contrast: #fff;--ion-color-light-contrast-rgb: 255, 255, 255;--ion-color-light-shade: #1e2023;--ion-color-light-tint: #383a3e;--ion-color-medium: #989aa2;--ion-color-medium-rgb: 152, 154, 162;--ion-color-medium-contrast: #000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #86888f;--ion-color-medium-tint: #a2a4ab;--ion-color-dark: #f4f5f8;--ion-color-dark-rgb: 244, 245, 248;--ion-color-dark-contrast: #000;--ion-color-dark-contrast-rgb: 0, 0, 0;--ion-color-dark-shade: #d7d8da;--ion-color-dark-tint: #f5f6f9}:root.ios{--ion-background-color: #000000;--ion-background-color-rgb: 0, 0, 0;--ion-text-color: #ffffff;--ion-text-color-rgb: 255, 255, 255;--ion-background-color-step-50: #0d0d0d;--ion-background-color-step-100: #1a1a1a;--ion-background-color-step-150: #262626;--ion-background-color-step-200: #333333;--ion-background-color-step-250: #404040;--ion-background-color-step-300: #4d4d4d;--ion-background-color-step-350: #595959;--ion-background-color-step-400: #666666;--ion-background-color-step-450: #737373;--ion-background-color-step-500: #808080;--ion-background-color-step-550: #8c8c8c;--ion-background-color-step-600: #999999;--ion-background-color-step-650: #a6a6a6;--ion-background-color-step-700: #b3b3b3;--ion-background-color-step-750: #bfbfbf;--ion-background-color-step-800: #cccccc;--ion-background-color-step-850: #d9d9d9;--ion-background-color-step-900: #e6e6e6;--ion-background-color-step-950: #f2f2f2;--ion-text-color-step-50: #f2f2f2;--ion-text-color-step-100: #e6e6e6;--ion-text-color-step-150: #d9d9d9;--ion-text-color-step-200: #cccccc;--ion-text-color-step-250: #bfbfbf;--ion-text-color-step-300: #b3b3b3;--ion-text-color-step-350: #a6a6a6;--ion-text-color-step-400: #999999;--ion-text-color-step-450: #8c8c8c;--ion-text-color-step-500: #808080;--ion-text-color-step-550: #737373;--ion-text-color-step-600: #666666;--ion-text-color-step-650: #595959;--ion-text-color-step-700: #4d4d4d;--ion-text-color-step-750: #404040;--ion-text-color-step-800: #333333;--ion-text-color-step-850: #262626;--ion-text-color-step-900: #1a1a1a;--ion-text-color-step-950: #0d0d0d;--ion-item-background: #000000;--ion-tab-bar-background-focused: #252525;--ion-card-background: #1c1c1d}:root.ios ion-modal{--ion-background-color: var(--ion-color-step-100, var(--ion-background-color-step-100));--ion-toolbar-background: var(--ion-color-step-150, var(--ion-background-color-step-150));--ion-toolbar-border-color: var(--ion-color-step-250, var(--ion-background-color-step-250))}:root.md{--ion-background-color: #121212;--ion-background-color-rgb: 18, 18, 18;--ion-text-color: #ffffff;--ion-text-color-rgb: 255, 255, 255;--ion-background-color-step-50: #1e1e1e;--ion-background-color-step-100: #2a2a2a;--ion-background-color-step-150: #363636;--ion-background-color-step-200: #414141;--ion-background-color-step-250: #4d4d4d;--ion-background-color-step-300: #595959;--ion-background-color-step-350: #656565;--ion-background-color-step-400: #717171;--ion-background-color-step-450: #7d7d7d;--ion-background-color-step-500: #898989;--ion-background-color-step-550: #949494;--ion-background-color-step-600: #a0a0a0;--ion-background-color-step-650: #acacac;--ion-background-color-step-700: #b8b8b8;--ion-background-color-step-750: #c4c4c4;--ion-background-color-step-800: #d0d0d0;--ion-background-color-step-850: #dbdbdb;--ion-background-color-step-900: #e7e7e7;--ion-background-color-step-950: #f3f3f3;--ion-text-color-step-50: #f3f3f3;--ion-text-color-step-100: #e7e7e7;--ion-text-color-step-150: #dbdbdb;--ion-text-color-step-200: #d0d0d0;--ion-text-color-step-250: #c4c4c4;--ion-text-color-step-300: #b8b8b8;--ion-text-color-step-350: #acacac;--ion-text-color-step-400: #a0a0a0;--ion-text-color-step-450: #949494;--ion-text-color-step-500: #898989;--ion-text-color-step-550: #7d7d7d;--ion-text-color-step-600: #717171;--ion-text-color-step-650: #656565;--ion-text-color-step-700: #595959;--ion-text-color-step-750: #4d4d4d;--ion-text-color-step-800: #414141;--ion-text-color-step-850: #363636;--ion-text-color-step-900: #2a2a2a;--ion-text-color-step-950: #1e1e1e;--ion-item-background: #1e1e1e;--ion-toolbar-background: #1f1f1f;--ion-tab-bar-background: #1f1f1f;--ion-tab-bar-background-focused: #353535;--ion-card-background: #1e1e1e}}/*# sourceMappingURL=dark.system.css.map */
/* ------------------------------------------------------------------
   Bissen – Design-Tokens
   Farben mit berechnetem Kontrast (siehe Plan, Abschnitt 5).
   Hell/Dunkel folgt ausschließlich der Systemeinstellung.
------------------------------------------------------------------- */

:root {
  /* Flächen */
  --b-bg: #f2f2f7;
  --b-card: #ffffff;
  --b-fill: rgba(120, 120, 128, 0.12);
  --b-separator: rgba(60, 60, 67, 0.18);

  /* Text */
  --b-label: #000000;
  --b-label-2: #6c6c70; /* 5,2:1 auf Weiß */

  /* Akzent & Signale */
  --b-accent: #1f7a4d; /* Basilikum, 5,3:1 auf Weiß */
  --b-on-accent: #ffffff;
  --b-protein: #c2410c;
  --b-carbs: #8a5a00;
  --b-fat: #2563eb;
  --b-over: #b42318;

  /* Glas (nur Bedienebene) */
  --b-glass: rgba(255, 255, 255, 0.42);
  --b-glass-fx: blur(9px) saturate(190%) brightness(1.04);
  --b-glass-border: transparent;
  --b-glass-shadow: inset 0 1px 0.5px rgba(255, 255, 255, 0.9), inset 0 -1px 1px rgba(0, 0, 0, 0.04), 0 10px 30px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
  --b-seg: #ffffff;
  --b-lens-rest: rgba(120, 120, 128, 0.16);
  --b-lens-bg: rgba(252, 252, 254, 0.94);
  --b-rim: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.25) 30%, rgba(255, 255, 255, 0.15) 70%, rgba(255, 255, 255, 0.8));
  --bar-h: 62px;
  --bar-left: 20px;
  --bar-right: 20px;
  --bar-bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) - 13px));

  --b-radius: 24px;
  --b-radius-lg: 30px;

  /* Ionic-Anbindung */
  --ion-background-color: var(--b-bg);
  --ion-text-color: var(--b-label);
  --ion-color-primary: var(--b-accent);
  --ion-color-primary-rgb: 31, 122, 77;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #1b6b44;
  --ion-color-primary-tint: #35875f;
  --ion-color-danger: var(--b-over);
  --ion-item-background: var(--b-card);
  --ion-card-background: var(--b-card);
  --ion-toolbar-background: var(--b-bg);
  --ion-font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, 'Segoe UI', Roboto, sans-serif;

  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root,
  :root.ios,
  :root.md {
    --b-bg: #000000;
    --b-card: #1c1c1e;
    --b-fill: rgba(120, 120, 128, 0.24);
    --b-separator: rgba(84, 84, 88, 0.6);
    --b-label: #ffffff;
    --b-label-2: #98989f; /* 5,9:1 auf #1C1C1E */
    --b-accent: #4cc38a; /* 7,7:1 auf #1C1C1E */
    --b-on-accent: #000000;
    --b-protein: #fb8a4c;
    --b-carbs: #f2c14e;
    --b-fat: #7aa7ff;
    --b-over: #ff6b5e;
    --b-seg: #636366;
    --b-lens-rest: rgba(255, 255, 255, 0.13);
    --b-lens-bg: rgba(62, 62, 66, 0.95);
    --b-rim: linear-gradient(135deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.07) 30%, rgba(255, 255, 255, 0.04) 70%, rgba(255, 255, 255, 0.3));
    --b-glass: rgba(30, 30, 33, 0.52);
    --b-glass-fx: blur(9px) saturate(170%) brightness(0.92);
    --b-glass-border: transparent;
    --b-glass-shadow: inset 0 1px 0.5px rgba(255, 255, 255, 0.2), inset 0 -1px 1px rgba(0, 0, 0, 0.2), 0 10px 30px rgba(0, 0, 0, 0.5);

    --ion-color-primary-rgb: 76, 195, 138;
    --ion-color-primary-contrast: #000000;
    --ion-color-primary-contrast-rgb: 0, 0, 0;
    --ion-color-primary-shade: #43ac79;
    --ion-color-primary-tint: #5ec996;
    --ion-background-color-rgb: 0, 0, 0;
    --ion-text-color-rgb: 255, 255, 255;
    --ion-item-background: var(--b-card);
    --ion-toolbar-background: var(--b-bg);
  }
}

/* Dynamic Type: In iOS-Safari folgt -apple-system-body der Textgröße des Systems. */
html {
  font: -apple-system-body;
  font-family: var(--ion-font-family);
}
@supports not (font: -apple-system-body) {
  html { font-size: 100%; }
}

body {
  background: var(--b-bg);
  color: var(--b-label);
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}

/* Zahlen: SF Pro Rounded, gleich breite Ziffern */
.num {
  font-family: ui-rounded, 'SF Pro Rounded', var(--ion-font-family);
  font-variant-numeric: tabular-nums;
}

/* iOS-Textstile in rem → skalieren mit der Systemschrift (Basis 17 pt) */
.t-large  { font-size: 2rem;      font-weight: 700; letter-spacing: 0.01em; }  /* 34 */
.t-title2 { font-size: 1.294rem;  font-weight: 700; }                          /* 22 */
.t-title3 { font-size: 1.176rem;  font-weight: 600; }                          /* 20 */
.t-head   { font-size: 1rem;      font-weight: 600; }                          /* 17 */
.t-body   { font-size: 1rem; }                                                 /* 17 */
.t-sub    { font-size: 0.882rem; }                                             /* 15 */
.t-foot   { font-size: 0.765rem; }                                             /* 13 */
.t-cap    { font-size: 0.706rem; }                                             /* 12 */
.secondary { color: var(--b-label-2); }

/* ---------- Gruppierte Listen im iOS-Stil ---------- */
.group {
  margin: 0 16px 24px;
}
.group-title {
  margin: 0 4px 6px;
  text-transform: uppercase;
  font-size: 0.765rem;
  color: var(--b-label-2);
  letter-spacing: 0.02em;
}
.card {
  background: var(--b-card);
  border-radius: var(--b-radius);
  overflow: hidden;
}
ion-list.inset { margin: 0; border-radius: var(--b-radius); background: var(--b-card); }
ion-list.inset ion-item { --background: var(--b-card); }

/* ==================================================================
   Liquid Glass – nur auf der Bedienebene (Tab-Leiste, Kamera-Button,
   Toolbar-Knöpfe, Hinweis-Kapsel). Inhalte (Karten, Listen) bleiben
   deckend.  → liquid-glass.md › Where the material belongs
   ================================================================== */
.glass,
ion-tab-bar,
.glass-btn {
  background: var(--b-glass);
  backdrop-filter: var(--b-glass-fx);
  -webkit-backdrop-filter: var(--b-glass-fx);
  border: 0.5px solid var(--b-glass-border);
  box-shadow: var(--b-glass-shadow);
}

/* Lichtkante (heller Rand oben links / unten rechts) für alle Glas-Flächen */
.glass,
.glass-btn,
.camera-fab,
.title-pill { position: relative; }
.glass::after,
.glass-btn::after,
.camera-fab::after,
.title-pill::after,
ion-tab-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: var(--b-rim);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* ---------- Schwebende Tab-Leiste (Maße wie iOS 26: 62 pt hoch, 20 pt Rand) ---------- */
ion-tab-bar {
  --border: 0;
  --background: transparent;
  --color: var(--b-label);
  --color-selected: var(--b-accent);
  position: absolute;
  left: var(--bar-left);
  right: var(--bar-right);
  bottom: var(--bar-bottom);
  height: calc(var(--bar-h) - 8px);
  min-height: 0;
  padding: 4px;
  border: 0;
  border-radius: 999px;
  contain: layout style;
  overflow: visible;
}
ion-tab-button {
  position: relative;
  max-width: none;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
  --padding-start: 0;
  --padding-end: 0;
}
ion-tab-button ion-icon { font-size: 25px; margin-top: 4px; }

/* Sichtbare Schicht der Leiste (WebGL): Icons, Beschriftung und die ziehbare Glas-Linse */
.tab-lens-track {
  position: fixed;
  left: var(--bar-left);
  right: var(--bar-right);
  bottom: var(--bar-bottom);
  height: var(--bar-h);
  z-index: 11;
  border-radius: 999px;
  touch-action: none;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.tab-lens-track.no-gl { pointer-events: none; }
.gl-layer {
  position: absolute;
  left: calc(-1 * var(--m));
  top: calc(-1 * var(--m));
  width: calc(100% + 2 * var(--m));
  height: calc(100% + 2 * var(--m));
  pointer-events: none;
}
html.gl-tabs ion-tab-button ion-icon,
html.gl-tabs ion-tab-button ion-label { opacity: 0; }
/* Ersatz ohne WebGL: einfache gleitende Kapsel */
ion-tab-button { z-index: 1; }
html:not(.gl-tabs) ion-tab-bar::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: calc((100% - 8px) / 4);
  border-radius: 999px;
  background: var(--b-lens-rest);
  transform: translateX(calc(var(--tab-i, 0) * 100%));
  transition: transform 0.45s cubic-bezier(0.3, 1.35, 0.5, 1);
}

/* ---------- Kamera-Button: schwebt rechts über der Leiste ---------- */
.camera-fab {
  position: fixed;
  right: var(--bar-right);
  bottom: calc(var(--bar-bottom) + var(--bar-h) + 12px);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--b-accent) 88%, transparent);
  backdrop-filter: var(--b-glass-fx);
  -webkit-backdrop-filter: var(--b-glass-fx);
  color: var(--b-on-accent);
  border: 0;
  box-shadow: inset 0 1px 0.5px rgba(255, 255, 255, 0.35), 0 10px 28px rgba(0, 0, 0, 0.28);
  z-index: 20;
  cursor: pointer;
  transition: transform 0.35s cubic-bezier(0.3, 1.7, 0.5, 1), filter 0.2s;
}
.camera-fab:active { transform: scale(1.12); filter: brightness(1.12); }
.camera-fab ion-icon { font-size: 27px; }
.camera-fab:focus-visible { outline: 3px solid var(--b-label); outline-offset: 3px; }

@media (min-width: 600px) {
  :root { --bar-left: calc(50% - 196px); --bar-right: calc(50% - 196px); }
}

/* ---------- Glas-Knöpfe in Toolbars (Kreis / Kapsel) ---------- */
.glass-btn {
  appearance: none;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 4px;
  padding: 0;
  border-radius: 999px;
  color: var(--b-label);
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.35s cubic-bezier(0.3, 1.7, 0.5, 1), opacity 0.2s, filter 0.2s;
  border: 0;
}
.glass-btn ion-icon { font-size: 22px; }
.glass-btn.text { width: auto; padding: 0 18px; }
.glass-btn.prominent {
  background: var(--b-accent);
  color: var(--b-on-accent);
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: inset 0 1px 0.5px rgba(255, 255, 255, 0.4), 0 4px 14px rgba(0, 0, 0, 0.14);
}
.glass-btn:active { transform: scale(1.12); filter: brightness(1.15); }
.glass-btn:disabled { opacity: 0.4; cursor: default; transform: none; }
.glass-btn:focus-visible { outline: 3px solid var(--b-accent); outline-offset: 2px; }

/* ---------- Scroll-Edge: Inhalt blendet weich unter die Leiste aus ---------- */
ion-header ion-toolbar {
  --background: linear-gradient(color-mix(in srgb, var(--b-bg) 92%, transparent) 30%, color-mix(in srgb, var(--b-bg) 60%, transparent) 70%, transparent);
  --border-width: 0 !important;
  --opacity: 1;
  --min-height: 52px;
}
ion-header .header-background {
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  -webkit-mask-image: linear-gradient(#000 60%, transparent);
  mask-image: linear-gradient(#000 60%, transparent);
}
ion-header::after { display: none; }
ion-title.title-large { font-family: ui-rounded, 'SF Pro Rounded', var(--ion-font-family); font-weight: 700; }

/* ---------- Buttons: Kapselform, federndes Drücken ---------- */
ion-button {
  --border-radius: 999px;
  font-weight: 600;
  transition: transform 0.25s cubic-bezier(0.3, 1.5, 0.5, 1);
}
ion-button { position: relative; border-radius: 999px; }
ion-button:active { transform: scale(1.03); }
ion-button[expand='block'] { min-height: 52px; margin-inline: 0; }
ion-button[expand='block']:not([fill='clear']):not([fill='outline']) {
  --box-shadow: inset 0 1px 0.5px rgba(255, 255, 255, 0.35), 0 6px 18px rgba(var(--ion-color-primary-rgb), 0.28);
}
button.chip { transition: transform 0.2s cubic-bezier(0.3, 1.5, 0.5, 1); color: var(--b-label); min-height: 36px !important; padding: 6px 14px; }
button.chip { position: relative; overflow: hidden; }
button.chip:active { transform: scale(1.06); }

/* ---------- Segmente & Suche: Kapseln ---------- */
.gseg {
  position: relative;
  display: flex;
  height: 40px;
  padding: 3px;
  border-radius: 999px;
  background: var(--b-fill);
  font-size: 0.8rem;
  font-weight: 600;
  touch-action: pan-y;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.gseg-opt {
  flex: 1;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: none;
  font: inherit;
  color: transparent; /* der Text wird von der Glas-Schicht gezeichnet */
  cursor: pointer;
}
.gseg-opt:focus-visible { outline: 2px solid var(--b-accent); outline-offset: -2px; }
.gseg.no-gl .gseg-opt { color: var(--b-label); }
.gseg.no-gl .gseg-opt[aria-checked='true'] { background: var(--b-seg); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); }
.seg-row { padding: 10px 16px; }

.gslider {
  position: relative;
  height: 44px;
  touch-action: pan-y;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}
.gslider input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; pointer-events: none; }
.gslider:focus-within { outline: 2px solid var(--b-accent); outline-offset: 2px; border-radius: 14px; }
.gslider.no-gl input { opacity: 1; pointer-events: auto; accent-color: var(--b-accent); }
ion-searchbar { --border-radius: 999px; --background: var(--b-fill); padding-inline: 16px; }

/* ---------- Sheets ---------- */
ion-modal { --border-radius: 34px; --background: var(--b-bg); }
ion-modal ion-header ion-toolbar { --background: transparent; padding-top: 10px; }
ion-modal ion-header { box-shadow: none; background: transparent; }
ion-modal::part(handle) { width: 40px; height: 5px; background: var(--b-separator); }
ion-modal ion-content { --background: transparent; }

/* ---------- Hinweis-Kapsel (Toast) ---------- */
ion-toast {
  --background: var(--b-glass);
  --color: var(--b-label);
  --button-color: var(--b-accent);
  --border-radius: 999px;
  --box-shadow: var(--b-glass-shadow);
}
ion-toast::part(container) {
  backdrop-filter: var(--b-glass-fx);
  -webkit-backdrop-filter: var(--b-glass-fx);
  border: 0.5px solid var(--b-glass-border);
  padding-inline: 8px;
}

/* ---------- Bedienungshilfen ---------- */
@media (prefers-reduced-transparency: reduce) {
  .glass, ion-tab-bar, .glass-btn, ion-toast::part(container) { background: var(--b-card); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .camera-fab { background: var(--b-accent); backdrop-filter: none; -webkit-backdrop-filter: none; }
  }
@media (prefers-contrast: more) {
  :root { --b-separator: rgba(60, 60, 67, 0.5); --b-label-2: #3a3a3c; }
  .glass, ion-tab-bar, .glass-btn { background: var(--b-card); border: 1px solid var(--b-label); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .camera-fab { background: var(--b-accent); border: 1px solid var(--b-label); }
}
@media (prefers-contrast: more) and (prefers-color-scheme: dark) {
  :root { --b-label-2: #c7c7cc; }
}

.visually-hidden { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; left: 0; bottom: 0; }

/* Platz unter dem Inhalt, damit der Button nichts verdeckt */
.fab-spacer { height: calc(var(--bar-h) + var(--bar-bottom) + 96px); }

/* ---------- Makros ---------- */
.macro-p { color: var(--b-protein); }
.macro-c { color: var(--b-carbs); }
.macro-f { color: var(--b-fat); }

.chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--b-fill);
  font-size: 0.765rem;
  font-weight: 600;
}

/* Etiketten auf dem Foto */
.photo-wrap { position: relative; border-radius: var(--b-radius); overflow: hidden; background: var(--b-fill); }
.photo-wrap img { display: block; width: 100%; height: auto; max-height: 46vh; object-fit: cover; }
.photo-label {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.765rem;
  font-weight: 600;
  white-space: nowrap;
  color: #000;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  min-height: 28px;
}
.photo-label.unsure { outline: 1.5px dashed rgba(0, 0, 0, 0.55); outline-offset: -3px; }
.photo-label:focus-visible { outline: 3px solid var(--b-accent); }

.ai-note {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--b-label-2);
  font-size: 0.765rem;
}

/* Unsichere Einträge in der Liste */
.unsure-row { border-left: 3px dashed var(--b-carbs); }

/* Leerer Zustand */
.empty {
  text-align: center;
  padding: 32px 24px;
  color: var(--b-label-2);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Sekundärtext in Listen mit ausreichendem Kontrast */
ion-label p { color: var(--b-label-2) !important; }
ion-toast { --background: var(--b-card); --color: var(--b-label); --button-color: var(--b-accent); --box-shadow: 0 8px 28px rgba(0,0,0,.18); }

/* Sheet, das so hoch ist wie sein Inhalt */
ion-modal.auto-sheet { --height: auto; }
ion-modal.auto-sheet ion-content { min-height: 340px; }


/* ---------- Titel als Glas-Kapsel in der eingeklappten Kopfzeile ---------- */
.title-pill {
  display: inline-block;
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--b-glass);
  backdrop-filter: var(--b-glass-fx);
  -webkit-backdrop-filter: var(--b-glass-fx);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.2;
}

/* ---------- Menüs, Dialoge, Auswahl: Glas statt Standard-Flächen ---------- */
ion-popover {
  --background: var(--b-glass);
  --backdrop-opacity: 0.08;
  --box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3);
  --width: min(320px, calc(100vw - 40px));
}
ion-popover::part(content) {
  border-radius: 28px;
  backdrop-filter: blur(36px) saturate(170%);
  -webkit-backdrop-filter: blur(36px) saturate(170%);
  border: 0.5px solid var(--b-separator);
}
ion-popover::part(arrow) { display: none; }
ion-popover ion-list,
ion-popover ion-item,
ion-popover ion-radio-group { --background: transparent; background: transparent; }
ion-popover ion-item { --min-height: 50px; font-size: 0.94rem; --color: var(--b-label); }
ion-alert { --background: var(--b-card); --max-width: 300px; }
ion-alert .alert-wrapper { border-radius: 30px !important; }
ion-alert .alert-title, ion-alert .alert-message { color: var(--b-label) !important; }
ion-alert .alert-button { color: var(--b-accent) !important; border-color: var(--b-separator) !important; }
ion-alert .alert-button.alert-button-role-destructive { color: var(--b-over) !important; }
ion-action-sheet { --background: var(--b-card); --button-background: var(--b-card); --color: var(--b-label-2); --button-color: var(--b-label); }
ion-action-sheet .action-sheet-group { border-radius: 26px !important; }

/* ---------- Eingaben & Listen: Farben an die eigenen Tokens binden ---------- */
ion-item { --color: var(--b-label); --border-color: var(--b-separator); --background: var(--b-card); --min-height: 52px; }
ion-note { color: var(--b-label-2); }
ion-input, ion-select { --color: var(--b-label); --placeholder-color: var(--b-label-2); --placeholder-opacity: 1; --highlight-color-focused: var(--b-accent); }
ion-searchbar { --color: var(--b-label); --placeholder-color: var(--b-label-2); --placeholder-opacity: 1; --icon-color: var(--b-label-2); --clear-button-color: var(--b-label-2); }
ion-range { --bar-background: var(--b-fill); --bar-background-active: var(--b-accent); --knob-background: #fff; }
ion-spinner { color: var(--b-label-2); }
ion-back-button { --color: var(--b-label); }

@media (prefers-color-scheme: dark) {
  /* Sheets liegen im Dunkelmodus eine Stufe heller als der Hintergrund */
  ion-modal { --b-bg: #1c1c1e; --b-card: #2c2c2e; --background: #1c1c1e; --ion-background-color: #1c1c1e; --ion-item-background: #2c2c2e; }
  ion-modal::part(content) { box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.08); }
  .photo-label { background: rgba(30, 30, 32, 0.78); color: #fff; }
  .photo-label.unsure { outline-color: rgba(255, 255, 255, 0.6); }
  ion-range { --knob-background: #e5e5ea; }
}
@media (prefers-reduced-transparency: reduce) {
  .title-pill, ion-popover::part(content) { background: var(--b-card); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Unterer Scroll-Edge: Inhalt blendet unter der schwebenden Leiste weich aus */
ion-tabs::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(var(--bar-bottom) + var(--bar-h) + 24px);
  background: linear-gradient(transparent, color-mix(in srgb, var(--b-bg) 55%, transparent));
  z-index: 5;
  pointer-events: none;
}
ion-popover::part(content) { overflow: hidden; }

/* Glanzlicht unter dem Finger (Position kommt aus main.tsx über --px/--py) */
.glass-btn::before,
.camera-fab::before,
button.chip::before,
ion-button::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle 64px at var(--px, 50%) var(--py, 50%), rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 72%);
  opacity: 0;
  transition: opacity 0.5s ease;
}
.glass-btn:active::before,
.camera-fab:active::before,
button.chip:active::before,
ion-button:active::after { opacity: 1; transition-duration: 0.05s; }
.glass-btn:disabled::before { display: none; }

.no-gl > .gl-layer { display: none; }
