/* Document Level Styles */

/*
  The imports below are needed to include our light dom css for global styles such as fonts and colors.
  You can comment out any of these imports if you do not need that css. For example, if you have your own
  global font family css then you can comment out the typography.css import.
*/

/** Core CSS required for ionic components to work property */
: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{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{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}}/*# sourceMappingURL=core.css.map */


/** Basic CSS for apps built with Ionic */
audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:bold}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*# 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:not(.hydrated) body{display:none}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 */


/** Optional CSS utils that can be commented out */
.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-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-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}}}/*# sourceMappingURL=float-elements.css.map */

.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}}/*# sourceMappingURL=text-alignment.css.map */

.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}}/*# sourceMappingURL=text-transformation.css.map */

.ion-align-self-start{align-self:flex-start !important}.ion-align-self-end{align-self:flex-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}.ion-wrap{flex-wrap:wrap !important}.ion-nowrap{flex-wrap:nowrap !important}.ion-wrap-reverse{flex-wrap:wrap-reverse !important}.ion-justify-content-start{justify-content:flex-start !important}.ion-justify-content-center{justify-content:center !important}.ion-justify-content-end{justify-content:flex-end !important}.ion-justify-content-around{justify-content:space-around !important}.ion-justify-content-between{justify-content:space-between !important}.ion-justify-content-evenly{justify-content:space-evenly !important}.ion-align-items-start{align-items:flex-start !important}.ion-align-items-center{align-items:center !important}.ion-align-items-end{align-items:flex-end !important}.ion-align-items-stretch{align-items:stretch !important}.ion-align-items-baseline{align-items:baseline !important}/*# sourceMappingURL=flex-utils.css.map */


/*
  The CSS Variables below can be used to theme your app.
  For more info on CSS variables check out:
  https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables

  More info about color theming using Ionic:
  https://ionicframework.com/docs/theming/color-generator
*/

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: bold;
    src: url('../assets/fonts/Ubuntu-Bold.ttf');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: italic;
    font-weight: bold;
    src: url('../assets/fonts/Ubuntu-BoldItalic.ttf');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: italic;
    font-weight: normal;
    src: url('../assets/fonts/Ubuntu-Italic.ttf');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 300;
    src: url('../assets/fonts/Ubuntu-Light.ttf');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: italic;
    font-weight: 300;
    src: url('../assets/fonts/Ubuntu-LightItalic.ttf');
}

/* https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 500;
    src: url('../assets/fonts/Ubuntu-Medium.ttf');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: italic;
    font-weight: 500;
    src: url('../assets/fonts/Ubuntu-MediumItalic.ttf');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: normal;
    src: url('../assets/fonts/Ubuntu-Regular.ttf');
}

/* Set variables for all modes */
:root {
    /* Set the background of the entire app */
    /* --ion-background-color: #ff3700; */

    /* Set the font family of the entire app */
    --ion-font-family: 'Ubuntu';
}

:root {
    --ion-background-color: #ffffff;
    --ion-background-color-rgb: 255, 255, 255;

    --ion-text-color: #3c3c3b;
    --ion-text-color-rgb: 60, 60, 59;

    --ion-color-step-50: #f5f5f5;
    --ion-color-step-100: #ececeb;
    --ion-color-step-150: #e2e2e2;
    --ion-color-step-200: #d8d8d8;
    --ion-color-step-250: #cecece;
    --ion-color-step-300: #c5c5c4;
    --ion-color-step-350: #bbbbba;
    --ion-color-step-400: #b1b1b1;
    --ion-color-step-450: #a7a7a7;
    --ion-color-step-500: #9e9e9d;
    --ion-color-step-550: #949493;
    --ion-color-step-600: #8a8a89;
    --ion-color-step-650: #808080;
    --ion-color-step-700: #777776;
    --ion-color-step-750: #6d6d6c;
    --ion-color-step-800: #636362;
    --ion-color-step-850: #595958;
    --ion-color-step-900: #50504f;
    --ion-color-step-950: #464645;
}

/* https://color.adobe.com/es/create */
/* https://ionicframework.com/docs/theming/color-generator */
:root {
    --ion-color-primary: #FFB500;
    --ion-color-primary-rgb: 255, 181, 0;
    --ion-color-primary-contrast: #000000;
    --ion-color-primary-contrast-rgb: 0, 0, 0;
    --ion-color-primary-shade: #e09f00;
    --ion-color-primary-tint: #ffbc1a;

    --ion-color-secondary: #B38000;
    --ion-color-secondary-rgb: 179, 128, 0;
    --ion-color-secondary-contrast: #000000;
    --ion-color-secondary-contrast-rgb: 0, 0, 0;
    --ion-color-secondary-shade: #9e7100;
    --ion-color-secondary-tint: #bb8d1a;

    --ion-color-tertiary: #002FB3;
    --ion-color-tertiary-rgb: 0, 47, 179;
    --ion-color-tertiary-contrast: #ffffff;
    --ion-color-tertiary-contrast-rgb: 255, 255, 255;
    --ion-color-tertiary-shade: #00299e;
    --ion-color-tertiary-tint: #1a44bb;

    --ion-color-success: #19FFB0;
    --ion-color-success-rgb: 25, 255, 176;
    --ion-color-success-contrast: #000000;
    --ion-color-success-contrast-rgb: 0, 0, 0;
    --ion-color-success-shade: #16e09b;
    --ion-color-success-tint: #30ffb8;

    --ion-color-warning: #FFEB0D;
    --ion-color-warning-rgb: 255, 235, 13;
    --ion-color-warning-contrast: #000000;
    --ion-color-warning-contrast-rgb: 0, 0, 0;
    --ion-color-warning-shade: #e0cf0b;
    --ion-color-warning-tint: #ffed25;

    --ion-color-danger: #f04141;
    --ion-color-danger-rgb: 240, 65, 65;
    --ion-color-danger-contrast: #ffffff;
    --ion-color-danger-contrast-rgb: 255, 255, 255;
    --ion-color-danger-shade: #d33939;
    --ion-color-danger-tint: #f25454;

    --ion-color-dark: #222428;
    --ion-color-dark-rgb: 34, 34, 34;
    --ion-color-dark-contrast: #ffffff;
    --ion-color-dark-contrast-rgb: 255, 255, 255;
    --ion-color-dark-shade: #1e2023;
    --ion-color-dark-tint: #383a3e;

    --ion-color-medium: #989aa2;
    --ion-color-medium-rgb: 152, 154, 162;
    --ion-color-medium-contrast: #ffffff;
    --ion-color-medium-contrast-rgb: 255, 255, 255;
    --ion-color-medium-shade: #86888f;
    --ion-color-medium-tint: #a2a4ab;

    --ion-color-light: #f4f5f8;
    --ion-color-light-rgb: 244, 244, 244;
    --ion-color-light-contrast: #000000;
    --ion-color-light-contrast-rgb: 0, 0, 0;
    --ion-color-light-shade: #d7d8da;
    --ion-color-light-tint: #f5f6f9;
}

.dialog-fullscreen {
    --width:100% !important;
    --height:100% !important;
}

/* Cusstom bootstrap classes */

.mx-a{
    margin-left: auto;
    margin-right: auto;
}

.m-0{
    margin: 0;
}

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

.mr-5 {
    margin-right: 5px;
    --margin-right: 5px;
}

.ml-5 {
    margin-left: 5px;
    --margin-left: 5px;
}

.mb-5 {
    margin-bottom: 5px;
    --margin-bottom: 5px;
}

.mt-5 {
    margin-top: 5px;
    --margin-top: 5px;
}

.mr-10 {
    margin-right: 10px;
    --margin-right: 10px;
}

.ml-10 {
    margin-left: 10px;
    --margin-left: 10px;
}

.mb-10 {
    margin-bottom: 10px;
    --margin-bottom: 10px;
}

.mt-10 {
    margin-top: 10px;
    --margin-top: 10px;
}

.mr-10 {
    margin-right: 10px;
    --margin-right: 10px;
}

.ml-15 {
    margin-left: 15px;
    --margin-left: 15px;
}

.mb-15 {
    margin-bottom: 15px;
    --margin-bottom: 15px;
}

.mt-15 {
    margin-top: 15px;
    --margin-top: 15px;
}

.mt-20 {
    margin-top: 20px;
    --margin-top: 20px;
}

.mb-20 {
    margin-bottom: 20px;
    --margin-bottom: 20px;
}

.mr-20 {
    margin-right: 20px;
    --margin-right: 20px;
}

.ml-20 {
    margin-left: 20px;
    --margin-left: 20px;
}

.mb-30 {
    margin-bottom: 30px;
    --margin-bottom: 30px;
}

.mt-30 {
    margin-top: 30px;
    --margin-top: 30px;
}

.mr-30 {
    margin-right: 30px;
    --margin-right: 30px;
}

.ml-30 {
    margin-left: 30px;
    --margin-left: 30px;
}

.mt-40 {
    margin-top: 40px;
    --margin-top: 40px;
}

.mb-40 {
    margin-bottom: 40px;
    --margin-bottom: 40px;
}

.ml-40 {
    margin-left: 40px;
    --margin-left: 40px;
}

.mr-40 {
    margin-right: 40px;
    --margin-right: 40px;
}

.mt-50 {
    margin-top: 50px;
    --margin-top: 50px;
}

.mb-50 {
    margin-bottom: 50px;
    --margin-bottom: 50px;
}

.mb-60 {
    margin-bottom: 60px;
    --margin-bottom: 60px;
}

.mb-70 {
    margin-bottom: 70px;
    --margin-bottom: 70px;
}

.mb-100 {
    margin-bottom: 100px;
    --margin-bottom: 100px;
}

.ml-50{
    margin-left: 50px;
    --margin-left: 50px;
}

.mr-50 {
    margin-right: 50px;
    --margin-right: 50px;
}

.pt-5 {
    padding-top: 5px;
}

.pb-5 {
    padding-bottom: 5px;
}

.pl-5 {
    padding-left: 5px;
}

.pr-5 {
    padding-right: 5px;
}

.pt-10 {
    padding-top: 10px;
}

.pb-10 {
    padding-bottom: 10px;
}

.pl-10 {
    padding-left: 10px;
}

.pr-10 {
    padding-right: 10px;
}

.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

.vh-40 {
    height: 40vh;
}

.vh-50 {
    height: 50vh;
}

.vh-60 {
    height: 60vh;
}

.pointer {
    cursor: pointer;
}

.underline {
    text-decoration: underline;
}

.pl-16 {
    padding-left: 16px !important;
}
/* ******** */


.display-flex-center {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

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

.centered{
    margin-left: auto;
    margin-right: auto;
}

/*********** filters style customization *********************/
.sub-filter{
    --width: 380px;
    margin-top: 10px; 
    --backdrop-opacity: 0;
}

ion-datetime.clear{
    --background: var(--ion-background-color);
}

.sub-filter .search-bar{
    --icon-color: var(--ion-text-color);
    --color: var(--ion-text-color);
    --clear-button-color: var(--ion-text-color);
    --cancel-button-color: var(--ion-text-color);
    --box-shadow: none;
    padding: 0px;
}

.sub-filter .search-bar .searchbar-input{
    border: 1px solid var(--ion-color-light-shade);
    border-radius: 10px;
    color: var(--ion-text-color);
}

.sub-filter ion-checkbox{
    --checkbox-background-checked: var(--ion-color-primary-shade);
    --size: 1.3rem;
    &::part(container){
        border-radius: 50%;
        border: 2px solid var(--ion-color-primary-shade);
    }
}

.subfilter-title{
    color: var(--ion-text-color);
    margin: 0px;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 1rem;
}

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

/************ filters style customization END *********************/

.noitems-message {
    cursor: default;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    letter-spacing: 0.7px !important;
    text-align: center;
    width: 100%;
    color: var(--ion-color-medium) !important;
    padding-top: 10px;
}

:host {
  display: block;
}

.button-expanded {
  width: 100% !important;
}

.header-row {
  position: sticky;
  top: 0;
  z-index: 10;

  font-weight: bold;
  background: white; /* IMPORTANTE: necesita fondo sólido */
  border-bottom: 2px solid #ddd;
  padding: 8px 0;
}


.header-col{
  font-weight: bold;
  color: #2c3e50;
}

.sortable-header {
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 8px 4px !important;
  border-radius: 4px;
  user-select: none;
}

.sortable-header:hover {
  background-color: rgba(0, 123, 255, 0.1);
  transform: translateY(-1px);
}

.sortable-header:active {
  transform: translateY(0);
}

.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2c3e50;
}

.header-content .sort-icon {
  color: #6c757d;
  transition: color 0.2s ease;
}

.sortable-header:hover .header-content .sort-icon {
  color: #007bff;
}

.sortable-header.active {
  background-color: rgba(0, 123, 255, 0.15);
  border: 1px solid rgba(0, 123, 255, 0.3);
}

.sortable-header.active .header-content {
  color: #0056b3;
  font-weight: 700;
}

.sortable-header.active .header-content .sort-icon {
  color: #0056b3;
}

.contact-row {
  align-items: center;
  border-bottom: 1px solid #eee;
  padding: 8px 0;
  transition: background-color 0.2s ease;
  animation: fadeIn 0.3s ease-out;
}

.contact-row:hover {
  background-color: rgba(0, 123, 255, 0.05);
}

.contact-row:nth-child(even) {
  background-color: rgba(248, 249, 250, 0.8);
}

.contact-col {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #495057;
  padding: 4px 8px;
  font-size: 0.875rem;
}

.status_red {
  color: #dc3545;
  font-weight: 600;
}

.status_gray {
  color: gray;
  font-weight: 600;
}

.status_yellow {
  color: #ffc107;
  font-weight: 600;
  text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5);
}

.status_green {
  color: #28a745;
  font-weight: 600;
}

.filter-column {
  display: flex;
  flex-direction: row;
}

@keyframes fadeIn {
  from { 
    opacity: 0; 
    transform: translateY(10px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

@media (max-width: 768px) {
  .header-content {
    font-size: 0.8rem;
  }
  
  .contact-col {
    font-size: 0.8rem;
    padding: 2px 4px;
  }
}

ion-button[data-desc] {
    position: relative;
    --background: transparent;
    --box-shadow: none;
    --border-width: 0;
    --border-style: none;
    --border-radius: 0;
    --padding-start: 0;
    --padding-end: 0;
    --padding-top: 0;
    --padding-bottom: 0;
    box-shadow: none !important;
    border: none !important;
    background: none;
    outline: none !important;
    min-width: unset !important;
    min-height: unset !important;
    height: auto !important;
    width: auto !important;
    color: inherit !important;
}

ion-button[data-desc] {
    position: relative;
}

ion-button[data-desc]::after {
    visibility: hidden;
    position: fixed !important; /* ← CLAVE */
    content: attr(data-desc);
    z-index: 999999 !important;

    /* Ajuste dinámico */
    transform: translate(-100%, -10px);

    /* DISEÑO */
    font-size: 1.15rem;
    color: var(--ion-color-primary-contrast);
    background-color: white !important;
    padding: 14px 40px;
    border-radius: 12px;
    max-width: 170px;
    white-space: pre-line;
    box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

ion-button.list[data-desc]::after {
    visibility: hidden;
    position: fixed !important; /* ← CLAVE para evitar que lo tape el header */
    content: attr(data-desc);
    z-index: 999999 !important;

    /* Se ajusta dinámicamente debajo del cursor */
    transform: translate(-50%, -10px);

    /* ESTILOS DEL TOOLTIP */
    font-size: 1.15rem;
    color: var(--ion-color-primary-contrast);
    background-color: white !important;
    padding: 14px 40px;
    border-radius: 12px;
    max-width: 170px;
    white-space: pre-line;
    box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

/* Mostrar el tooltip */
ion-button[data-desc]:hover::after {
    visibility: visible;
}




/* ============================
   FILTROS (Toolbar)
   ============================ */
.toolbar-row {
    background: var(--ion-color-light);
    padding: 8px 0;
    border-bottom: 1px solid #e0e0e0;
    position: sticky;
    top: 0;
    z-index: 50;
}

.toolbar-col {
    display: flex;
    align-items: center;
}

.toolbar-filter {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Estilo del searchbar */
.toolbar-filter ion-searchbar {
    --background: #ffffff;
    --border-radius: 10px;
    --box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    --placeholder-color: #888;
    --color: #333;
    padding: 0;
}

/* Select */
.toolbar-filter ion-select {
    --placeholder-color: #888;
    --color: #333;
    --padding-start: 12px;
    --padding-end: 12px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #dedede;
    height: 42px;
    display: flex;
    align-items: center;
}

/* Checkbox */
.toolbar-filter ion-item {
    --background: transparent;
    --inner-padding-end: 0;
}

.toolbar-filter ion-checkbox {
    font-size: 14px;
    color: #333;
}

/* Botón Importar (o acción principal) */
.toolbar-filter ion-button {
    --border-radius: 8px;
}