@charset "UTF-8";

/* node_modules/@ionic/angular/css/core.css */
:root {
  --ion-color-primary: #0054e9;
  --ion-color-primary-rgb:
    0,
    84,
    233;
  --ion-color-primary-contrast: #fff;
  --ion-color-primary-contrast-rgb:
    255,
    255,
    255;
  --ion-color-primary-shade: #004acd;
  --ion-color-primary-tint: #1a65eb;
  --ion-color-secondary: #0163aa;
  --ion-color-secondary-rgb:
    1,
    99,
    170;
  --ion-color-secondary-contrast: #fff;
  --ion-color-secondary-contrast-rgb:
    255,
    255,
    255;
  --ion-color-secondary-shade: #015796;
  --ion-color-secondary-tint: #1a73b3;
  --ion-color-tertiary: #6030ff;
  --ion-color-tertiary-rgb:
    96,
    48,
    255;
  --ion-color-tertiary-contrast: #fff;
  --ion-color-tertiary-contrast-rgb:
    255,
    255,
    255;
  --ion-color-tertiary-shade: #542ae0;
  --ion-color-tertiary-tint: #7045ff;
  --ion-color-success: #2dd55b;
  --ion-color-success-rgb:
    45,
    213,
    91;
  --ion-color-success-contrast: #000;
  --ion-color-success-contrast-rgb:
    0,
    0,
    0;
  --ion-color-success-shade: #28bb50;
  --ion-color-success-tint: #42d96b;
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb:
    255,
    196,
    9;
  --ion-color-warning-contrast: #000;
  --ion-color-warning-contrast-rgb:
    0,
    0,
    0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  --ion-color-danger: #c5000f;
  --ion-color-danger-rgb:
    197,
    0,
    15;
  --ion-color-danger-contrast: #fff;
  --ion-color-danger-contrast-rgb:
    255,
    255,
    255;
  --ion-color-danger-shade: #ad000d;
  --ion-color-danger-tint: #cb1a27;
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb:
    244,
    245,
    248;
  --ion-color-light-contrast: #000;
  --ion-color-light-contrast-rgb:
    0,
    0,
    0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-tint: #f5f6f9;
  --ion-color-medium: #636469;
  --ion-color-medium-rgb:
    99,
    100,
    105;
  --ion-color-medium-contrast: #fff;
  --ion-color-medium-contrast-rgb:
    255,
    255,
    255;
  --ion-color-medium-shade: #57585c;
  --ion-color-medium-tint: #737478;
  --ion-color-dark: #222428;
  --ion-color-dark-rgb:
    34,
    36,
    40;
  --ion-color-dark-contrast: #fff;
  --ion-color-dark-contrast-rgb:
    255,
    255,
    255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-tint: #383a3e;
}
html.ios {
  --ion-default-font:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Roboto",
    sans-serif;
}
html.md {
  --ion-default-font:
    "Roboto",
    "Helvetica Neue",
    sans-serif;
}
html {
  --ion-dynamic-font: -apple-system-body;
  --ion-font-family: var(--ion-default-font);
}
body {
  background: var(--ion-background-color);
  color: var(--ion-text-color);
}
body.backdrop-no-scroll {
  overflow: hidden;
}
html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,
html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,
html.ios ion-modal ion-footer ion-toolbar:first-of-type,
html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type {
  padding-top: 6px;
}
html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,
html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {
  padding-bottom: 6px;
}
html.ios ion-modal ion-toolbar,
html.ios .modal-footer-moving ion-toolbar {
  padding-right: calc(var(--ion-safe-area-right) + 8px);
  padding-left: calc(var(--ion-safe-area-left) + 8px);
}
@media screen and (min-width: 768px) {
  html.ios ion-modal.modal-card:first-of-type {
    --backdrop-opacity: 0.18;
  }
}
ion-modal.modal-default.show-modal ~ ion-modal.modal-default {
  --backdrop-opacity: 0;
  --box-shadow: none;
}
html.ios ion-modal.modal-card .ion-page {
  border-top-left-radius: var(--border-radius);
}
.ion-color-primary {
  --ion-color-base: var(--ion-color-primary, #0054e9) !important;
  --ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;
  --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;
  --ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important;
}
.ion-color-secondary {
  --ion-color-base: var(--ion-color-secondary, #0163aa) !important;
  --ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;
  --ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;
  --ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important;
}
.ion-color-tertiary {
  --ion-color-base: var(--ion-color-tertiary, #6030ff) !important;
  --ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;
  --ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;
  --ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important;
}
.ion-color-success {
  --ion-color-base: var(--ion-color-success, #2dd55b) !important;
  --ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;
  --ion-color-contrast: var(--ion-color-success-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;
  --ion-color-tint: var(--ion-color-success-tint, #42d96b) !important;
}
.ion-color-warning {
  --ion-color-base: var(--ion-color-warning, #ffc409) !important;
  --ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;
  --ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;
  --ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important;
}
.ion-color-danger {
  --ion-color-base: var(--ion-color-danger, #c5000f) !important;
  --ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;
  --ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;
  --ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important;
}
.ion-color-light {
  --ion-color-base: var(--ion-color-light, #f4f5f8) !important;
  --ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;
  --ion-color-contrast: var(--ion-color-light-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;
  --ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important;
}
.ion-color-medium {
  --ion-color-base: var(--ion-color-medium, #636469) !important;
  --ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;
  --ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;
  --ion-color-tint: var(--ion-color-medium-tint, #737478) !important;
}
.ion-color-dark {
  --ion-color-base: var(--ion-color-dark, #222428) !important;
  --ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;
  --ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;
  --ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important;
}
.ion-page {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  position: absolute;
  flex-direction: column;
  justify-content: space-between;
  contain: layout size style;
  z-index: 0;
}
.ion-page.ion-page-overlay-passthrough {
  pointer-events: none;
}
ion-modal > .ion-page {
  position: relative;
  contain: layout style;
  height: 100%;
}
.split-pane-visible > .ion-page.split-pane-main {
  position: relative;
}
ion-route,
ion-route-redirect,
ion-router,
ion-select-option,
ion-nav-controller,
ion-menu-controller,
ion-action-sheet-controller,
ion-alert-controller,
ion-loading-controller,
ion-modal-controller,
ion-picker-controller,
ion-popover-controller,
ion-toast-controller,
.ion-page-hidden {
  display: none !important;
}
.ion-page-invisible {
  opacity: 0;
}
.can-go-back > ion-header ion-back-button {
  display: block;
}
html.plt-ios.plt-hybrid,
html.plt-ios.plt-pwa {
  --ion-statusbar-padding: 20px;
}
@supports (padding-top: 20px) {
  html {
    --ion-safe-area-top: var(--ion-statusbar-padding);
  }
}
@supports (padding-top: env(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));
    --ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));
    --ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));
    --ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right));
  }
}
ion-card.ion-color .ion-inherit-color,
ion-card-header.ion-color .ion-inherit-color {
  color: inherit;
}
.menu-content {
  transform: translate3d(0, 0, 0);
}
.menu-content-open {
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: none;
  overflow-y: hidden;
}
.menu-content-open ion-content {
  --overflow: hidden;
}
.menu-content-open .ion-content-scroll-host {
  overflow: hidden;
}
.ios .menu-content-reveal {
  box-shadow: -8px 0 42px rgba(0, 0, 0, .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;
  }
}

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

/* node_modules/@ionic/angular/css/structure.css */
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
html {
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html.ion-ce body {
  display: block;
}
html.plt-pwa {
  height: 100vh;
}
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  transform: translateZ(0);
  text-rendering: optimizeLegibility;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-user-drag: none;
  -ms-content-zooming: none;
  word-wrap: break-word;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* node_modules/@ionic/angular/css/typography.css */
html {
  font-family: var(--ion-font-family);
}
@supports (-webkit-touch-callout: none) {
  html {
    font: var(--ion-dynamic-font, 16px var(--ion-font-family));
  }
}
a {
  background-color: transparent;
  color: var(--ion-color-primary, #0054e9);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.2;
}
h1 {
  margin-top: 20px;
  font-size: 1.625rem;
}
h2 {
  margin-top: 18px;
  font-size: 1.5rem;
}
h3 {
  font-size: 1.375rem;
}
h4 {
  font-size: 1.25rem;
}
h5 {
  font-size: 1.125rem;
}
h6 {
  font-size: 1rem;
}
small {
  font-size: 75%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}

/* node_modules/@ionic/angular/css/display.css */
.ion-hide {
  display: none !important;
}
.ion-hide-up {
  display: none !important;
}
.ion-hide-down {
  display: none !important;
}
@media (min-width: 576px) {
  .ion-hide-sm-up {
    display: none !important;
  }
}
@media (max-width: 575.98px) {
  .ion-hide-sm-down {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .ion-hide-md-up {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .ion-hide-md-down {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .ion-hide-lg-up {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .ion-hide-lg-down {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-hide-xl-up {
    display: none !important;
  }
}
@media (max-width: 1199.98px) {
  .ion-hide-xl-down {
    display: none !important;
  }
}
.ion-display-none {
  display: none !important;
}
@media (min-width: 576px) {
  .ion-display-sm-none {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-none {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-none {
    display: none !important;
  }
}
.ion-display-inline {
  display: inline !important;
}
@media (min-width: 576px) {
  .ion-display-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline {
    display: inline !important;
  }
}
.ion-display-inline-block {
  display: inline-block !important;
}
@media (min-width: 576px) {
  .ion-display-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline-block {
    display: inline-block !important;
  }
}
.ion-display-block {
  display: block !important;
}
@media (min-width: 576px) {
  .ion-display-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-block {
    display: block !important;
  }
}
.ion-display-flex {
  display: flex !important;
}
@media (min-width: 576px) {
  .ion-display-sm-flex {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-flex {
    display: flex !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-flex {
    display: flex !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-flex {
    display: flex !important;
  }
}
.ion-display-inline-flex {
  display: inline-flex !important;
}
@media (min-width: 576px) {
  .ion-display-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline-flex {
    display: inline-flex !important;
  }
}
.ion-display-grid {
  display: grid !important;
}
@media (min-width: 576px) {
  .ion-display-sm-grid {
    display: grid !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-grid {
    display: grid !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-grid {
    display: grid !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-grid {
    display: grid !important;
  }
}
.ion-display-inline-grid {
  display: inline-grid !important;
}
@media (min-width: 576px) {
  .ion-display-sm-inline-grid {
    display: inline-grid !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-inline-grid {
    display: inline-grid !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-inline-grid {
    display: inline-grid !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-inline-grid {
    display: inline-grid !important;
  }
}
.ion-display-table {
  display: table !important;
}
@media (min-width: 576px) {
  .ion-display-sm-table {
    display: table !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-table {
    display: table !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-table {
    display: table !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-table {
    display: table !important;
  }
}
.ion-display-table-cell {
  display: table-cell !important;
}
@media (min-width: 576px) {
  .ion-display-sm-table-cell {
    display: table-cell !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-table-cell {
    display: table-cell !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-table-cell {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-table-cell {
    display: table-cell !important;
  }
}
.ion-display-table-row {
  display: table-row !important;
}
@media (min-width: 576px) {
  .ion-display-sm-table-row {
    display: table-row !important;
  }
}
@media (min-width: 768px) {
  .ion-display-md-table-row {
    display: table-row !important;
  }
}
@media (min-width: 992px) {
  .ion-display-lg-table-row {
    display: table-row !important;
  }
}
@media (min-width: 1200px) {
  .ion-display-xl-table-row {
    display: table-row !important;
  }
}

/* node_modules/@ionic/angular/css/padding.css */
.ion-no-padding {
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.ion-padding {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  -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);
}

/* node_modules/@ionic/angular/css/float-elements.css */
.ion-float-left {
  float: left !important;
}
.ion-float-right {
  float: right !important;
}
.ion-float-start {
  float: left !important;
}
:host-context([dir=rtl]) .ion-float-start {
  float: right !important;
}
[dir=rtl] .ion-float-start {
  float: right !important;
}
@supports selector(:dir(rtl)) {
  .ion-float-start:dir(rtl) {
    float: right !important;
  }
}
.ion-float-end {
  float: right !important;
}
:host-context([dir=rtl]) .ion-float-end {
  float: left !important;
}
[dir=rtl] .ion-float-end {
  float: left !important;
}
@supports selector(:dir(rtl)) {
  .ion-float-end:dir(rtl) {
    float: left !important;
  }
}
@media (min-width: 576px) {
  .ion-float-sm-left {
    float: left !important;
  }
  .ion-float-sm-right {
    float: right !important;
  }
  .ion-float-sm-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-sm-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-sm-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-sm-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-sm-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-sm-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-sm-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-sm-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 768px) {
  .ion-float-md-left {
    float: left !important;
  }
  .ion-float-md-right {
    float: right !important;
  }
  .ion-float-md-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-md-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-md-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-md-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-md-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-md-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-md-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-md-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 992px) {
  .ion-float-lg-left {
    float: left !important;
  }
  .ion-float-lg-right {
    float: right !important;
  }
  .ion-float-lg-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-lg-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-lg-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-lg-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-lg-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-lg-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-lg-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-lg-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 1200px) {
  .ion-float-xl-left {
    float: left !important;
  }
  .ion-float-xl-right {
    float: right !important;
  }
  .ion-float-xl-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-xl-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-xl-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-xl-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-xl-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-xl-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-xl-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-xl-end:dir(rtl) {
      float: left !important;
    }
  }
}

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

/* node_modules/@ionic/angular/css/text-transformation.css */
.ion-text-uppercase {
  text-transform: uppercase !important;
}
.ion-text-lowercase {
  text-transform: lowercase !important;
}
.ion-text-capitalize {
  text-transform: capitalize !important;
}
@media (min-width: 576px) {
  .ion-text-sm-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-sm-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-sm-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-md-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-md-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-lg-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-lg-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-xl-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-xl-capitalize {
    text-transform: capitalize !important;
  }
}

/* node_modules/@ionic/angular/css/flex-utils.css */
.ion-align-content-start {
  align-content: flex-start !important;
}
.ion-align-content-end {
  align-content: flex-end !important;
}
.ion-align-content-center {
  align-content: center !important;
}
.ion-align-content-between {
  align-content: space-between !important;
}
.ion-align-content-around {
  align-content: space-around !important;
}
.ion-align-content-stretch {
  align-content: stretch !important;
}
@media (min-width: 576px) {
  .ion-align-content-sm-start {
    align-content: flex-start !important;
  }
  .ion-align-content-sm-end {
    align-content: flex-end !important;
  }
  .ion-align-content-sm-center {
    align-content: center !important;
  }
  .ion-align-content-sm-between {
    align-content: space-between !important;
  }
  .ion-align-content-sm-around {
    align-content: space-around !important;
  }
  .ion-align-content-sm-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 768px) {
  .ion-align-content-md-start {
    align-content: flex-start !important;
  }
  .ion-align-content-md-end {
    align-content: flex-end !important;
  }
  .ion-align-content-md-center {
    align-content: center !important;
  }
  .ion-align-content-md-between {
    align-content: space-between !important;
  }
  .ion-align-content-md-around {
    align-content: space-around !important;
  }
  .ion-align-content-md-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 992px) {
  .ion-align-content-lg-start {
    align-content: flex-start !important;
  }
  .ion-align-content-lg-end {
    align-content: flex-end !important;
  }
  .ion-align-content-lg-center {
    align-content: center !important;
  }
  .ion-align-content-lg-between {
    align-content: space-between !important;
  }
  .ion-align-content-lg-around {
    align-content: space-around !important;
  }
  .ion-align-content-lg-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-content-xl-start {
    align-content: flex-start !important;
  }
  .ion-align-content-xl-end {
    align-content: flex-end !important;
  }
  .ion-align-content-xl-center {
    align-content: center !important;
  }
  .ion-align-content-xl-between {
    align-content: space-between !important;
  }
  .ion-align-content-xl-around {
    align-content: space-around !important;
  }
  .ion-align-content-xl-stretch {
    align-content: stretch !important;
  }
}
.ion-align-items-start {
  align-items: start !important;
}
.ion-align-items-end {
  align-items: end !important;
}
.ion-align-items-center {
  align-items: center !important;
}
.ion-align-items-stretch {
  align-items: stretch !important;
}
.ion-align-items-baseline {
  align-items: baseline !important;
}
@media (min-width: 576px) {
  .ion-align-items-sm-start {
    align-items: start !important;
  }
  .ion-align-items-sm-end {
    align-items: end !important;
  }
  .ion-align-items-sm-center {
    align-items: center !important;
  }
  .ion-align-items-sm-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-sm-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 768px) {
  .ion-align-items-md-start {
    align-items: start !important;
  }
  .ion-align-items-md-end {
    align-items: end !important;
  }
  .ion-align-items-md-center {
    align-items: center !important;
  }
  .ion-align-items-md-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-md-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 992px) {
  .ion-align-items-lg-start {
    align-items: start !important;
  }
  .ion-align-items-lg-end {
    align-items: end !important;
  }
  .ion-align-items-lg-center {
    align-items: center !important;
  }
  .ion-align-items-lg-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-lg-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-items-xl-start {
    align-items: start !important;
  }
  .ion-align-items-xl-end {
    align-items: end !important;
  }
  .ion-align-items-xl-center {
    align-items: center !important;
  }
  .ion-align-items-xl-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-xl-baseline {
    align-items: baseline !important;
  }
}
.ion-align-self-start {
  align-self: start !important;
}
.ion-align-self-end {
  align-self: end !important;
}
.ion-align-self-center {
  align-self: center !important;
}
.ion-align-self-stretch {
  align-self: stretch !important;
}
.ion-align-self-baseline {
  align-self: baseline !important;
}
.ion-align-self-auto {
  align-self: auto !important;
}
@media (min-width: 576px) {
  .ion-align-self-sm-start {
    align-self: start !important;
  }
  .ion-align-self-sm-end {
    align-self: end !important;
  }
  .ion-align-self-sm-center {
    align-self: center !important;
  }
  .ion-align-self-sm-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-sm-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-sm-auto {
    align-self: auto !important;
  }
}
@media (min-width: 768px) {
  .ion-align-self-md-start {
    align-self: start !important;
  }
  .ion-align-self-md-end {
    align-self: end !important;
  }
  .ion-align-self-md-center {
    align-self: center !important;
  }
  .ion-align-self-md-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-md-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-md-auto {
    align-self: auto !important;
  }
}
@media (min-width: 992px) {
  .ion-align-self-lg-start {
    align-self: start !important;
  }
  .ion-align-self-lg-end {
    align-self: end !important;
  }
  .ion-align-self-lg-center {
    align-self: center !important;
  }
  .ion-align-self-lg-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-lg-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-lg-auto {
    align-self: auto !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-self-xl-start {
    align-self: start !important;
  }
  .ion-align-self-xl-end {
    align-self: end !important;
  }
  .ion-align-self-xl-center {
    align-self: center !important;
  }
  .ion-align-self-xl-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-xl-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-xl-auto {
    align-self: auto !important;
  }
}
.ion-justify-content-start {
  justify-content: flex-start !important;
}
.ion-justify-content-end {
  justify-content: flex-end !important;
}
.ion-justify-content-center {
  justify-content: center !important;
}
.ion-justify-content-between {
  justify-content: space-between !important;
}
.ion-justify-content-around {
  justify-content: space-around !important;
}
.ion-justify-content-evenly {
  justify-content: space-evenly !important;
}
@media (min-width: 576px) {
  .ion-justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-sm-center {
    justify-content: center !important;
  }
  .ion-justify-content-sm-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-sm-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 768px) {
  .ion-justify-content-md-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-md-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-md-center {
    justify-content: center !important;
  }
  .ion-justify-content-md-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-md-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 992px) {
  .ion-justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-lg-center {
    justify-content: center !important;
  }
  .ion-justify-content-lg-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-lg-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1200px) {
  .ion-justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-xl-center {
    justify-content: center !important;
  }
  .ion-justify-content-xl-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-xl-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
}
.ion-flex-row {
  flex-direction: row !important;
}
.ion-flex-row-reverse {
  flex-direction: row-reverse !important;
}
.ion-flex-column {
  flex-direction: column !important;
}
.ion-flex-column-reverse {
  flex-direction: column-reverse !important;
}
@media (min-width: 576px) {
  .ion-flex-sm-row {
    flex-direction: row !important;
  }
  .ion-flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-sm-column {
    flex-direction: column !important;
  }
  .ion-flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-row {
    flex-direction: row !important;
  }
  .ion-flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-md-column {
    flex-direction: column !important;
  }
  .ion-flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-row {
    flex-direction: row !important;
  }
  .ion-flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-lg-column {
    flex-direction: column !important;
  }
  .ion-flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-row {
    flex-direction: row !important;
  }
  .ion-flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-xl-column {
    flex-direction: column !important;
  }
  .ion-flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
}
.ion-wrap {
  flex-wrap: wrap !important;
}
.ion-nowrap {
  flex-wrap: nowrap !important;
}
.ion-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.ion-flex-wrap {
  flex-wrap: wrap !important;
}
.ion-flex-nowrap {
  flex-wrap: nowrap !important;
}
.ion-flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
@media (min-width: 576px) {
  .ion-flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
.ion-flex-1 {
  flex: 1 !important;
}
.ion-flex-auto {
  flex: auto !important;
}
.ion-flex-initial {
  flex: initial !important;
}
.ion-flex-none {
  flex: none !important;
}
@media (min-width: 576px) {
  .ion-flex-sm-1 {
    flex: 1 !important;
  }
  .ion-flex-sm-auto {
    flex: auto !important;
  }
  .ion-flex-sm-initial {
    flex: initial !important;
  }
  .ion-flex-sm-none {
    flex: none !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-1 {
    flex: 1 !important;
  }
  .ion-flex-md-auto {
    flex: auto !important;
  }
  .ion-flex-md-initial {
    flex: initial !important;
  }
  .ion-flex-md-none {
    flex: none !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-1 {
    flex: 1 !important;
  }
  .ion-flex-lg-auto {
    flex: auto !important;
  }
  .ion-flex-lg-initial {
    flex: initial !important;
  }
  .ion-flex-lg-none {
    flex: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-1 {
    flex: 1 !important;
  }
  .ion-flex-xl-auto {
    flex: auto !important;
  }
  .ion-flex-xl-initial {
    flex: initial !important;
  }
  .ion-flex-xl-none {
    flex: none !important;
  }
}
.ion-flex-grow-0 {
  flex-grow: 0 !important;
}
.ion-flex-grow-1 {
  flex-grow: 1 !important;
}
.ion-flex-shrink-0 {
  flex-shrink: 0 !important;
}
.ion-flex-shrink-1 {
  flex-shrink: 1 !important;
}
@media (min-width: 576px) {
  .ion-flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
}
.ion-order-first {
  order: -1 !important;
}
.ion-order-0 {
  order: 0 !important;
}
.ion-order-1 {
  order: 1 !important;
}
.ion-order-2 {
  order: 2 !important;
}
.ion-order-3 {
  order: 3 !important;
}
.ion-order-4 {
  order: 4 !important;
}
.ion-order-5 {
  order: 5 !important;
}
.ion-order-6 {
  order: 6 !important;
}
.ion-order-7 {
  order: 7 !important;
}
.ion-order-8 {
  order: 8 !important;
}
.ion-order-9 {
  order: 9 !important;
}
.ion-order-10 {
  order: 10 !important;
}
.ion-order-11 {
  order: 11 !important;
}
.ion-order-12 {
  order: 12 !important;
}
.ion-order-last {
  order: 13 !important;
}
@media (min-width: 576px) {
  .ion-order-sm-first {
    order: -1 !important;
  }
  .ion-order-sm-0 {
    order: 0 !important;
  }
  .ion-order-sm-1 {
    order: 1 !important;
  }
  .ion-order-sm-2 {
    order: 2 !important;
  }
  .ion-order-sm-3 {
    order: 3 !important;
  }
  .ion-order-sm-4 {
    order: 4 !important;
  }
  .ion-order-sm-5 {
    order: 5 !important;
  }
  .ion-order-sm-6 {
    order: 6 !important;
  }
  .ion-order-sm-7 {
    order: 7 !important;
  }
  .ion-order-sm-8 {
    order: 8 !important;
  }
  .ion-order-sm-9 {
    order: 9 !important;
  }
  .ion-order-sm-10 {
    order: 10 !important;
  }
  .ion-order-sm-11 {
    order: 11 !important;
  }
  .ion-order-sm-12 {
    order: 12 !important;
  }
  .ion-order-sm-last {
    order: 13 !important;
  }
}
@media (min-width: 768px) {
  .ion-order-md-first {
    order: -1 !important;
  }
  .ion-order-md-0 {
    order: 0 !important;
  }
  .ion-order-md-1 {
    order: 1 !important;
  }
  .ion-order-md-2 {
    order: 2 !important;
  }
  .ion-order-md-3 {
    order: 3 !important;
  }
  .ion-order-md-4 {
    order: 4 !important;
  }
  .ion-order-md-5 {
    order: 5 !important;
  }
  .ion-order-md-6 {
    order: 6 !important;
  }
  .ion-order-md-7 {
    order: 7 !important;
  }
  .ion-order-md-8 {
    order: 8 !important;
  }
  .ion-order-md-9 {
    order: 9 !important;
  }
  .ion-order-md-10 {
    order: 10 !important;
  }
  .ion-order-md-11 {
    order: 11 !important;
  }
  .ion-order-md-12 {
    order: 12 !important;
  }
  .ion-order-md-last {
    order: 13 !important;
  }
}
@media (min-width: 992px) {
  .ion-order-lg-first {
    order: -1 !important;
  }
  .ion-order-lg-0 {
    order: 0 !important;
  }
  .ion-order-lg-1 {
    order: 1 !important;
  }
  .ion-order-lg-2 {
    order: 2 !important;
  }
  .ion-order-lg-3 {
    order: 3 !important;
  }
  .ion-order-lg-4 {
    order: 4 !important;
  }
  .ion-order-lg-5 {
    order: 5 !important;
  }
  .ion-order-lg-6 {
    order: 6 !important;
  }
  .ion-order-lg-7 {
    order: 7 !important;
  }
  .ion-order-lg-8 {
    order: 8 !important;
  }
  .ion-order-lg-9 {
    order: 9 !important;
  }
  .ion-order-lg-10 {
    order: 10 !important;
  }
  .ion-order-lg-11 {
    order: 11 !important;
  }
  .ion-order-lg-12 {
    order: 12 !important;
  }
  .ion-order-lg-last {
    order: 13 !important;
  }
}
@media (min-width: 1200px) {
  .ion-order-xl-first {
    order: -1 !important;
  }
  .ion-order-xl-0 {
    order: 0 !important;
  }
  .ion-order-xl-1 {
    order: 1 !important;
  }
  .ion-order-xl-2 {
    order: 2 !important;
  }
  .ion-order-xl-3 {
    order: 3 !important;
  }
  .ion-order-xl-4 {
    order: 4 !important;
  }
  .ion-order-xl-5 {
    order: 5 !important;
  }
  .ion-order-xl-6 {
    order: 6 !important;
  }
  .ion-order-xl-7 {
    order: 7 !important;
  }
  .ion-order-xl-8 {
    order: 8 !important;
  }
  .ion-order-xl-9 {
    order: 9 !important;
  }
  .ion-order-xl-10 {
    order: 10 !important;
  }
  .ion-order-xl-11 {
    order: 11 !important;
  }
  .ion-order-xl-12 {
    order: 12 !important;
  }
  .ion-order-xl-last {
    order: 13 !important;
  }
}

/* src/global.scss */
ion-toolbar {
  --background: var(--ion-toolbar-background);
  --color: var(--ion-color-primary);
  --border-width: 0 0 0.55px 0;
  --border-color: rgba(var(--ion-color-primary-rgb), 0.12);
  --min-height: 52px;
}
ion-modal.paciente-archivo-origen-modal {
  --width: min(400px, calc(100% - 32px));
  --height: auto;
  --max-height: 90%;
  --border-radius: 16px;
  --box-shadow: var(--trinity-shadow);
  --background: #fff;
  align-items: center;
}
ion-modal.confirmar-eliminar-paciente-modal,
ion-modal.decision-facturacion-papelera-modal,
ion-modal.confirmar-archivar-paciente-modal,
ion-modal.confirmar-restaurar-paciente-modal,
ion-modal.confirmar-descartar-cambios-modal,
ion-modal.confirmacion-destructiva-modal,
ion-modal.trinity-feedback-modal,
ion-modal.mis-ingresos-form-modal,
ion-modal.mis-ingresos-sheet-modal,
ion-modal.mis-ingresos-selector-modal,
ion-modal.mis-ingresos-periodo-modal,
ion-modal.mis-ingresos-confirm-modal,
ion-modal.calendario-ingresos-modal,
ion-modal.compra-registrar-modal,
ion-modal.compra-eliminar-modal,
ion-modal.compra-periodo-modal,
ion-modal.resolver-senia-modal,
ion-modal.senia-eliminar-modal,
ion-modal.ingresos-totales-modal {
  --width: min(400px, calc(100% - 32px));
  --height: auto;
  --max-height: 90%;
  --border-radius: 16px;
  --box-shadow: var(--trinity-shadow);
  --background: #fff;
  align-items: center;
}
ion-modal.mis-ingresos-periodo-modal {
  --width: min(360px, calc(100% - 28px));
  --max-height: min(82vh, 680px);
}
ion-modal.calendario-ingresos-modal {
  --width: min(420px, calc(100% - 24px));
  --max-height: min(90vh, 760px);
}
ion-modal.mis-ingresos-selector-modal {
  --width: min(380px, calc(100% - 28px));
  --max-height: min(70vh, 520px);
}
app-turno-detalle .acciones-senia-form {
  display: flex;
  gap: 8px;
  padding: 8px 16px 4px;
  align-items: stretch;
}
app-turno-detalle .acciones-senia-form ion-button {
  flex: 1 1 0;
  margin: 0;
  text-transform: none;
  font-weight: 600;
  font-size: 0.88rem;
  min-height: 40px;
  --border-radius: var(--trinity-radius-sm, 10px);
}
app-turno-detalle .lista-cargar-senia {
  margin: 4px 0;
}
app-turno-detalle .acciones-senia-card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2px;
}
app-turno-detalle .divisor-acciones-senia {
  width: 1px;
  height: 18px;
  margin: 0 14px;
  background: rgba(var(--ion-color-medium-rgb), 0.28);
}
app-turno-detalle .bloque-senia .btn-confirmar-senia {
  --border-radius: var(--trinity-radius-sm, 10px);
  text-transform: none;
  font-weight: 600;
  font-size: 0.88rem;
  min-height: 40px;
}
app-turno-detalle .bloque-senia .btn-cancelar-senia {
  --border-radius: var(--trinity-radius-sm, 10px);
  --border-width: 1px;
  text-transform: none;
  font-weight: 600;
  font-size: 0.88rem;
  min-height: 40px;
}
app-turno-detalle .btn-confirmar-senia--habilitado {
  --background: var(--ion-color-primary);
  --background-activated: var(--ion-color-primary-shade);
  --background-hover: var(--ion-color-primary-tint);
  --color: #fff;
  --border-color: var(--ion-color-primary);
  --box-shadow: none;
}
app-turno-detalle .btn-confirmar-senia--deshabilitado {
  --background: #eceff1;
  --background-activated: #eceff1;
  --background-focused: #eceff1;
  --background-hover: #eceff1;
  --color: #9aa3a8;
  --border-color: #d5dbe0;
  --border-width: 1px;
  --box-shadow: none;
  opacity: 1;
}
app-turno-detalle .btn-confirmar-senia--deshabilitado::part(native) {
  opacity: 1;
  cursor: not-allowed;
}
app-turno-detalle .btn-editar-turno {
  margin-bottom: 2px;
  --border-width: 1px;
  --border-radius: var(--trinity-radius-sm, 10px);
  text-transform: none;
  font-weight: 600;
  font-size: 0.9rem;
  min-height: 40px;
}
app-turno-detalle .btn-enviar-mensaje {
  margin-top: 0;
  margin-bottom: 2px;
  --background: transparent;
  --background-hover: rgba(var(--ion-color-primary-rgb), 0.08);
  --background-activated: rgba(var(--ion-color-primary-rgb), 0.12);
  --background-focused: rgba(var(--ion-color-primary-rgb), 0.08);
  --box-shadow: none;
  --border-width: 0;
  --border-radius: var(--trinity-radius-sm, 10px);
  text-transform: none;
  font-weight: 500;
  font-size: 0.9rem;
  min-height: 40px;
}
app-turno-detalle .separador-senia {
  margin: 10px 0 8px;
  border: 0;
  border-top: 1px solid rgba(var(--ion-color-medium-rgb), 0.2);
}
app-turno-detalle .btn-editar-senia,
app-turno-detalle .btn-eliminar-senia {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0 0;
  border: 0;
  background: transparent;
  font: 600 0.85rem inherit;
  cursor: pointer;
}
app-turno-detalle .btn-editar-senia ion-icon,
app-turno-detalle .btn-eliminar-senia ion-icon {
  font-size: 1rem;
}
app-turno-detalle .btn-editar-senia {
  color: var(--ion-color-primary);
}
app-turno-detalle .btn-eliminar-senia {
  color: var(--ion-color-danger, #c0392b);
}
app-cierre-atencion .pagina {
  max-width: 720px;
  margin: 0 auto;
  padding: 8px 16px calc(96px + env(safe-area-inset-bottom, 0px));
}
app-cierre-atencion .tarjeta {
  margin: 0 0 14px;
  border-radius: var(--trinity-radius);
  background: var(--ion-item-background);
  box-shadow: var(--trinity-shadow);
  overflow: hidden;
}
app-cierre-atencion .seccion-pastel {
  border: 1px solid transparent;
}
app-cierre-atencion .seccion-pastel > h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 14px 8px;
  font-size: 0.92rem;
  font-weight: 700;
}
app-cierre-atencion .seccion-pastel > h2 ion-icon {
  flex: 0 0 auto;
  font-size: 1.1rem;
  color: var(--ion-color-primary);
}
app-cierre-atencion .seccion-pastel > h2 > span:first-of-type {
  flex: 1 1 auto;
  min-width: 0;
}
app-cierre-atencion .seccion-resumen {
  background: #f3f8fd;
  border-color: rgba(59, 130, 246, 0.1);
}
app-cierre-atencion .seccion-resumen > h2 ion-icon {
  color: #3b82f6;
}
app-cierre-atencion .seccion-total {
  background: #f1faf8;
  border-color: rgba(var(--ion-color-primary-rgb), 0.12);
}
app-cierre-atencion .seccion-tratamientos {
  background: #f7f4fc;
  border-color: rgba(139, 92, 246, 0.1);
}
app-cierre-atencion .seccion-tratamientos > h2 ion-icon {
  color: #7c6bb5;
}
app-cierre-atencion .seccion-nota {
  background: #faf7f0;
  border-color: rgba(180, 140, 60, 0.12);
}
app-cierre-atencion .seccion-nota .bloque-icono {
  color: #b8860b;
}
app-cierre-atencion .seccion-planes {
  background: #eef9f7;
  border-color: rgba(var(--ion-color-primary-rgb), 0.14);
}
app-cierre-atencion .paciente {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
}
app-cierre-atencion .paciente-avatar {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(var(--ion-color-primary-rgb), 0.12);
  color: var(--ion-color-primary);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
app-cierre-atencion .paciente-texto {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
app-cierre-atencion .paciente strong {
  font-size: 1rem;
  font-weight: 700;
}
app-cierre-atencion .paciente span {
  font-size: 0.8rem;
  color: var(--ion-color-medium);
  text-transform: capitalize;
}
app-cierre-atencion .aviso {
  margin: 0 4px 14px;
  padding: 10px 12px;
  border-radius: var(--trinity-radius-sm);
  background: rgba(var(--ion-color-primary-rgb), 0.08);
  color: var(--ion-color-primary-shade);
  font-size: 0.82rem;
  line-height: 1.35;
}
app-cierre-atencion .campos,
app-cierre-atencion .seccion-resumen .campo,
app-cierre-atencion .seccion-total .campo {
  padding: 0 14px 10px;
}
app-cierre-atencion .seccion-resumen .campo,
app-cierre-atencion .seccion-total .campo {
  margin-bottom: 4px;
}
app-cierre-atencion .campo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
app-cierre-atencion .campo > span {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ion-color-medium);
}
app-cierre-atencion .campo small {
  align-self: flex-end;
  color: var(--ion-color-medium);
  font-size: 0.72rem;
}
app-cierre-atencion .input-linea {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 4px;
  border-bottom: 1px solid var(--ion-item-border-color);
}
app-cierre-atencion .input-linea input,
app-cierre-atencion .campo textarea {
  flex: 1;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ion-text-color);
  font: inherit;
  font-size: 0.95rem;
}
app-cierre-atencion .input-linea ion-icon,
app-cierre-atencion .input-linea input::placeholder,
app-cierre-atencion .campo textarea::placeholder {
  color: var(--ion-color-medium);
}
app-cierre-atencion .input-linea.monto .prefijo {
  font-weight: 700;
  color: var(--ion-color-primary);
}
app-cierre-atencion .campo textarea {
  min-height: 96px;
  padding: 10px 0;
  resize: vertical;
}
app-cierre-atencion .desfase,
app-cierre-atencion .aviso-diferencia-total {
  margin: -2px 14px 12px;
  font-size: 0.75rem;
  color: var(--ion-color-medium);
  line-height: 1.35;
}
app-cierre-atencion .fila-total-personalizado {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 10px;
  margin: 6px 14px 10px;
  padding: 5px 8px;
  border-radius: 8px;
  background: #f7f1e4;
  line-height: 1.25;
}
app-cierre-atencion .fila-total-personalizado-texto {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.72rem;
  font-weight: 500;
  color: #5b6b6e;
}
app-cierre-atencion .fila-total-personalizado-accion {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--ion-color-primary, #287d84);
  cursor: pointer;
}
app-cierre-atencion .bloques {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
app-cierre-atencion .tratamientos h2,
app-cierre-atencion .tratamientos h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 14px 8px;
  font-size: 0.92rem;
  font-weight: 700;
}
app-cierre-atencion .tratamientos h2 ion-icon {
  color: #7c6bb5;
  font-size: 1.1rem;
}
app-cierre-atencion .tratamientos h3 {
  padding-top: 16px;
  border-top: 1px solid var(--ion-item-border-color);
  color: var(--ion-color-medium);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
app-cierre-atencion .buscador {
  padding: 0 10px 8px;
}
app-cierre-atencion .buscador-toggle,
app-cierre-atencion .item-catalogo,
app-cierre-atencion .ocultar,
app-cierre-atencion .agregar-libre,
app-cierre-atencion .borrar,
app-cierre-atencion .editar-plan,
app-cierre-atencion .bloque-cabecera,
app-cierre-atencion .btn-agregar-plan,
app-cierre-atencion .btn-agregar-otro,
app-cierre-atencion .btn-cancelar-plan,
app-cierre-atencion .btn-cerrar-plan,
app-cierre-atencion .overlay-plan-backdrop {
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
app-cierre-atencion .buscador-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 0 10px;
  border-radius: var(--trinity-radius-sm);
  background: rgba(255, 255, 255, 0.72);
}
app-cierre-atencion .buscador-toggle span {
  flex: 1;
  color: var(--ion-color-medium);
  font-size: 0.9rem;
}
app-cierre-atencion .buscador-toggle ion-icon {
  color: var(--ion-color-medium);
  font-size: 1.1rem;
}
app-cierre-atencion .filtro {
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.18);
  border-radius: var(--trinity-radius-sm);
  background: #fff;
  color: var(--ion-text-color);
  font: inherit;
  font-size: 0.9rem;
}
app-cierre-atencion .filtro:focus {
  outline: none;
  border-color: rgba(var(--ion-color-primary-rgb), 0.45);
  box-shadow: 0 0 0 2px rgba(var(--ion-color-primary-rgb), 0.1);
}
app-cierre-atencion .catalogo-desplegado {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 10px 14px;
  padding: 12px;
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.14);
  border-radius: var(--trinity-radius-sm);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 3px rgba(var(--ion-color-primary-rgb), 0.06);
}
app-cierre-atencion .catalogo-desplegado .ocultar {
  width: 100%;
  margin: 0;
  padding: 6px 4px 2px;
}
app-cierre-atencion .bloque {
  margin: 0 0 14px;
}
app-cierre-atencion .bloque-cabecera {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  padding: 8px 14px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
app-cierre-atencion .bloque-icono {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  color: var(--ion-color-primary);
  font-size: 1.15rem;
}
app-cierre-atencion .bloque-titulo {
  flex: 1;
  font-size: 0.92rem;
  font-weight: 600;
}
app-cierre-atencion .mas {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--ion-color-medium);
  line-height: 1;
}
app-cierre-atencion .bloque-cuerpo {
  padding: 0 14px 12px;
}
app-cierre-atencion .catalogo {
  max-height: 280px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 0;
  padding: 4px 0;
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.1);
  border-radius: var(--trinity-radius-sm);
  background: rgba(255, 255, 255, 0.72);
}
app-cierre-atencion .subtitulo {
  margin: 8px 12px 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ion-color-medium);
}
app-cierre-atencion .categoria {
  margin: 8px 12px 2px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ion-color-primary);
}
app-cierre-atencion .item-catalogo {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--ion-item-border-color);
}
app-cierre-atencion .item-catalogo:last-child {
  border-bottom: 0;
}
app-cierre-atencion .item-catalogo .nombre {
  flex: 1;
  min-width: 0;
  font-size: 0.9rem;
  font-weight: 600;
}
app-cierre-atencion .precio {
  flex-shrink: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ion-color-primary);
  white-space: nowrap;
}
app-cierre-atencion .mas-item {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--ion-color-primary-rgb), 0.12);
  color: var(--ion-color-primary);
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
}
app-cierre-atencion .vacio {
  margin: 0;
  padding: 14px 12px;
  color: var(--ion-color-medium);
  font-size: 0.86rem;
}
app-cierre-atencion .filas {
  list-style: none;
  margin: 0 8px 8px;
  padding: 0;
}
app-cierre-atencion .fila-tratamiento {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 6px;
  border-bottom: 1px solid var(--ion-item-border-color);
}
app-cierre-atencion .fila-tratamiento .nombre,
app-cierre-atencion .fila-tratamiento .importe input {
  border: 0;
  background: transparent;
  font: inherit;
}
app-cierre-atencion .fila-tratamiento .nombre {
  flex: 1;
  min-width: 0;
  font-size: 0.88rem;
  font-weight: 600;
}
app-cierre-atencion .fila-tratamiento .importe {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 96px;
  color: var(--ion-color-primary);
  font-weight: 700;
}
app-cierre-atencion .fila-tratamiento .importe input {
  width: 100%;
  color: inherit;
  text-align: right;
}
app-cierre-atencion .borrar,
app-cierre-atencion .editar-plan {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--ion-color-medium);
}
app-cierre-atencion .fila-plan-draft .borrar {
  color: var(--ion-color-danger);
}
app-cierre-atencion .agregar-libre,
app-cierre-atencion .ocultar {
  width: calc(100% - 20px);
  margin: 0 10px;
  padding: 8px 6px;
  color: var(--ion-color-primary);
  font-size: 0.85rem;
  font-weight: 600;
}
app-cierre-atencion .agregar-libre {
  margin-top: 2px;
  margin-bottom: 4px;
}
app-cierre-atencion .error {
  margin: 8px 6px 0;
  font-size: 0.82rem;
  color: var(--ion-color-danger);
}
app-cierre-atencion .acciones {
  margin-top: 4px;
  padding: 16px 0 8px;
}
app-cierre-atencion .acciones ion-button {
  --border-radius: var(--trinity-radius-sm);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
app-cierre-atencion .overlay-selector {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  background: rgba(42, 51, 54, 0.34);
}
app-cierre-atencion .panel-selector {
  width: 100%;
  max-width: 100%;
  max-height: min(90vh, 560px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 20px max(20px, env(safe-area-inset-bottom, 20px));
  border: 0;
  border-radius: var(--trinity-radius) var(--trinity-radius) 0 0;
  background: #fff;
  box-shadow: 0 -6px 28px rgba(42, 51, 54, 0.14);
}
app-cierre-atencion .panel-selector::before {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  margin: 0 auto 18px;
  border-radius: 999px;
  background: rgba(var(--ion-color-medium-rgb), 0.32);
}
app-cierre-atencion .panel-selector h2 {
  margin: 0 0 16px;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ion-text-color);
}
app-cierre-atencion .panel-selector .referencia {
  margin: 0 0 20px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ion-color-medium);
  line-height: 1.5;
}
app-cierre-atencion .panel-selector .referencia strong {
  display: block;
  margin-top: 5px;
  color: var(--ion-color-primary);
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
app-cierre-atencion .panel-selector .campo-importe {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}
app-cierre-atencion .panel-selector .campo-importe > span {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--ion-color-medium);
}
app-cierre-atencion .panel-selector .input-linea.monto {
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.26);
  border-bottom: 1px solid rgba(var(--ion-color-primary-rgb), 0.26);
  border-radius: var(--trinity-radius-sm);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
app-cierre-atencion .panel-selector .input-linea.monto:focus-within {
  border-color: rgba(var(--ion-color-primary-rgb), 0.55);
  box-shadow: 0 0 0 2px rgba(var(--ion-color-primary-rgb), 0.1);
}
app-cierre-atencion .panel-selector .input-linea.monto .prefijo {
  flex-shrink: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ion-color-primary);
}
app-cierre-atencion .panel-selector .input-linea.monto input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--ion-text-color);
  font: inherit;
  font-size: 1.05rem;
  font-weight: 600;
  -webkit-appearance: none;
  appearance: none;
}
app-cierre-atencion .panel-selector .input-linea.monto input:focus,
app-cierre-atencion .panel-selector .input-linea.monto input:focus-visible {
  outline: none;
  box-shadow: none;
}
app-cierre-atencion .panel-selector .input-linea.monto input::placeholder {
  color: rgba(var(--ion-color-medium-rgb), 0.65);
  font-weight: 500;
}
app-cierre-atencion .panel-selector .aviso-rango {
  margin: 6px 0 16px;
  padding: 0;
  background: transparent;
  font-size: 0.72rem;
  color: var(--ion-color-medium);
  line-height: 1.45;
}
app-cierre-atencion .panel-selector .sugerencias-rango {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
app-cierre-atencion .panel-selector .sugerencias-rango button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 12px 8px;
  border: 1px solid rgba(var(--ion-color-medium-rgb), 0.22);
  border-radius: var(--trinity-radius-sm);
  background: #fff;
  color: var(--ion-text-color);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 0.15s ease, border-color 0.15s ease;
}
app-cierre-atencion .panel-selector .sugerencias-rango button.activa {
  background: rgba(var(--ion-color-primary-rgb), 0.07);
  border-color: rgba(var(--ion-color-primary-rgb), 0.42);
}
app-cierre-atencion .panel-selector .sugerencias-rango button span {
  color: var(--ion-color-medium);
  font-weight: 700;
}
app-cierre-atencion .panel-selector .sugerencias-rango button.activa span {
  color: var(--ion-color-medium);
}
app-cierre-atencion .panel-selector .sugerencias-rango strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ion-color-primary);
  letter-spacing: 0;
  text-transform: none;
}
app-cierre-atencion .panel-selector .acciones-selector {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid rgba(var(--ion-color-medium-rgb), 0.16);
}
app-cierre-atencion .panel-selector .btn-cancelar-rango {
  margin: 0;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: var(--ion-color-primary);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
}
app-cierre-atencion .panel-selector .btn-agregar-rango {
  margin: 0;
  min-height: 44px;
  --padding-start: 22px;
  --padding-end: 22px;
  --border-radius: var(--trinity-radius-sm);
  --box-shadow: 0 2px 8px rgba(var(--ion-color-primary-rgb), 0.2);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
app-cierre-atencion .panel-selector .btn-agregar-rango[disabled] {
  opacity: 0.5;
}
app-cierre-atencion .planes-cierre h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 14px 4px;
  font-size: 0.92rem;
  font-weight: 700;
}
app-cierre-atencion .planes-cierre h2 ion-icon {
  color: var(--ion-color-primary);
  font-size: 1.1rem;
}
app-cierre-atencion .badge-planes {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--ion-color-primary);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}
app-cierre-atencion .ayuda-planes {
  margin: 0;
  padding: 2px 14px 10px;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--ion-color-medium);
}
app-cierre-atencion .btn-agregar-plan {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 28px);
  min-height: 44px;
  margin: 0 14px 14px;
  padding: 10px 12px;
  border: 1.5px solid var(--ion-color-primary);
  border-radius: var(--trinity-radius-sm);
  background: #fff;
  color: var(--ion-color-primary);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
}
app-cierre-atencion .btn-agregar-otro {
  display: block;
  width: calc(100% - 28px);
  margin: 0 14px 12px;
  padding: 6px 4px 10px;
  color: var(--ion-color-primary);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
app-cierre-atencion .lista-planes-draft {
  list-style: none;
  margin: 0 8px 4px;
  padding: 0;
}
app-cierre-atencion .fila-plan-draft {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  padding: 10px 6px;
  border-bottom: 1px solid rgba(var(--ion-color-medium-rgb), 0.14);
}
app-cierre-atencion .fila-plan-draft:last-child {
  border-bottom: 0;
}
app-cierre-atencion .fila-plan-draft > div {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-cierre-atencion .fila-plan-draft strong {
  font-size: 0.9rem;
}
app-cierre-atencion .fila-plan-draft span {
  font-size: 0.78rem;
  color: var(--ion-color-medium);
  overflow-wrap: anywhere;
}
app-cierre-atencion .overlay-plan-draft {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(42, 51, 54, 0.4);
}
app-cierre-atencion .overlay-plan-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
app-cierre-atencion .panel-plan-draft {
  position: relative;
  z-index: 1;
  width: min(400px, 100%);
  max-height: min(90vh, 560px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px 16px 16px;
  border-radius: var(--trinity-radius);
  background: #fff;
  box-shadow: var(--trinity-shadow);
}
app-cierre-atencion .panel-plan-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
}
app-cierre-atencion .panel-plan-header > div {
  flex: 1 1 0;
  min-width: 0;
}
app-cierre-atencion .panel-plan-header h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ion-text-color);
}
app-cierre-atencion .panel-plan-header p {
  margin: 4px 0 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--ion-color-medium);
}
app-cierre-atencion .btn-cerrar-plan {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--ion-color-medium);
  font-size: 1.25rem;
  cursor: pointer;
}
app-cierre-atencion .panel-plan-cuerpo .campo {
  margin-bottom: 14px;
}
app-cierre-atencion .panel-plan-cuerpo .input-linea {
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid rgba(var(--ion-color-medium-rgb), 0.22);
  border-radius: var(--trinity-radius-sm);
}
app-cierre-atencion .panel-plan-cuerpo textarea {
  min-height: 84px;
  padding: 10px;
  border: 1px solid rgba(var(--ion-color-medium-rgb), 0.22);
  border-radius: var(--trinity-radius-sm);
  background: #fff;
}
app-cierre-atencion .panel-plan-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  padding-top: 12px;
}
app-cierre-atencion .btn-cancelar-plan {
  padding: 10px 12px;
  color: var(--ion-color-medium);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
}
app-cierre-atencion .panel-plan-footer ion-button {
  margin: 0;
  min-height: 40px;
  --border-radius: var(--trinity-radius-sm);
  font-weight: 600;
  text-transform: none;
}
ion-action-sheet.menu-acciones-paciente .accion-destructiva-separada {
  margin-top: 8px;
  border-top: 1px solid rgba(var(--ion-color-medium-rgb), 0.22);
  color: var(--ion-color-danger);
}
ion-action-sheet.menu-acciones-paciente .accion-destructiva-separada .action-sheet-icon,
ion-action-sheet.menu-acciones-paciente .accion-destructiva-separada.action-sheet-destructive {
  color: var(--ion-color-danger);
}
app-paciente-detalle .badge-archivado {
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(var(--ion-color-medium-rgb), 0.16);
  color: var(--ion-color-medium);
  font-size: 0.75rem;
  font-weight: 600;
}
app-paciente-detalle .chip-os {
  display: inline-block;
  margin-top: 8px;
  max-width: 100%;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(var(--ion-color-primary-rgb), 0.12);
  color: var(--ion-color-primary);
  font-size: 0.72rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-paciente-detalle .ultima header .chevron {
  margin-left: auto;
  color: var(--ion-color-medium);
}
app-paciente-detalle .ultima:not(.vacia) {
  padding-bottom: 8px;
}
app-paciente-detalle .fecha-hora,
app-paciente-detalle .meta-clinica {
  margin: 0;
  padding: 4px 14px 0;
  font-size: 0.82rem;
  color: var(--ion-color-medium);
}
app-paciente-detalle .fecha-hora {
  font-weight: 600;
}
app-paciente-detalle .meta-clinica {
  font-size: 0.75rem;
  padding: 2px 14px 8px;
}
app-paciente-detalle .resumen-fila {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
  padding: 4px 14px 8px;
}
app-paciente-detalle .resumen-trat,
app-paciente-detalle .total {
  font-size: 0.95rem;
  font-weight: 700;
}
app-paciente-detalle .resumen-trat {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-paciente-detalle .total {
  flex: 0 0 auto;
  color: var(--ion-color-success);
  white-space: nowrap;
}
app-paciente-detalle .evolucion {
  margin: 0 14px 14px;
  padding: 10px 12px;
  border-radius: var(--trinity-radius-sm);
  background: rgba(var(--ion-color-primary-rgb), 0.06);
}
app-paciente-detalle .evolucion span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--ion-color-primary);
}
app-paciente-detalle .evolucion p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
app-paciente-detalle .resumen-clinico {
  margin: 16px 16px 0;
}
app-paciente-detalle .bloque-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
app-paciente-detalle .bloque-header h2 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  min-width: 0;
}
app-paciente-detalle .bloque-header a {
  flex-shrink: 0;
  color: var(--ion-color-primary);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
}
app-paciente-detalle .bloque-header.interno {
  padding: 12px 14px 8px;
  margin-bottom: 0;
}
app-paciente-detalle .metricas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
app-paciente-detalle .metrica {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 72px;
  padding: 10px 4px;
  border: 0;
  border-radius: var(--trinity-radius-sm);
  color: inherit;
  text-decoration: none;
  font: inherit;
  cursor: default;
  text-align: center;
}
app-paciente-detalle a.metrica,
app-paciente-detalle button.metrica {
  cursor: pointer;
}
app-paciente-detalle .metrica strong {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.1;
}
app-paciente-detalle .metrica span {
  font-size: 0.62rem;
  line-height: 1.15;
  color: var(--ion-color-medium);
  overflow-wrap: anywhere;
}
app-paciente-detalle .metricas > :nth-child(1) {
  background: rgba(var(--ion-color-primary-rgb), 0.12);
}
app-paciente-detalle .metricas > :nth-child(2) {
  background: rgba(var(--ion-color-success-rgb), 0.14);
}
app-paciente-detalle .metricas > :nth-child(3) {
  background: rgba(var(--ion-color-warning-rgb), 0.16);
}
app-paciente-detalle .metricas > :nth-child(4) {
  background: rgba(var(--ion-color-tertiary-rgb), 0.16);
}
app-paciente-detalle .ver-detalles {
  flex-shrink: 0;
  color: var(--ion-color-primary);
  font-size: 0.78rem;
  font-weight: 600;
}
app-paciente-detalle .info-lista {
  background: transparent;
  padding: 0 0 8px;
}
app-paciente-detalle .info-lista ion-item {
  --padding-start: 14px;
  --inner-padding-end: 14px;
}
app-paciente-detalle .dato-tel {
  color: var(--ion-color-primary);
  font-weight: 600;
  text-decoration: none;
}
@media (max-width: 360px) {
  app-paciente-detalle .ver-detalles {
    display: none;
  }
}
ion-title {
  font-weight: 600;
  letter-spacing: 0.01em;
}
ion-header.tab-root-header > ion-toolbar:first-of-type {
  --background: var(--trinity-header-background);
  --color: #ffffff;
  --border-width: 0;
  --border-color: transparent;
}
ion-header.tab-root-header > ion-toolbar:first-of-type ion-title {
  color: #ffffff;
}
ion-header.tab-root-header > ion-toolbar:first-of-type ion-button {
  --color: #ffffff;
}
ion-header.tab-root-header > ion-toolbar:first-of-type ion-icon {
  color: #ffffff;
}
ion-header.tab-root-header > ion-toolbar:first-of-type ion-back-button {
  --color: #ffffff;
  color: #ffffff;
}
ion-header.tab-root-header > ion-toolbar:first-of-type ion-back-button::part(icon),
ion-header.tab-root-header > ion-toolbar:first-of-type ion-back-button::part(native) {
  color: #ffffff;
}
ion-back-button {
  --color: var(--ion-color-primary);
}
ion-button {
  --border-radius: var(--trinity-radius-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
}
ion-button[expand=block] {
  min-height: 48px;
}
ion-card {
  --background: var(--ion-card-background);
  border-radius: var(--trinity-radius);
  box-shadow: var(--trinity-shadow);
}
ion-list[inset] {
  border-radius: var(--trinity-radius);
}
ion-item {
  --background: var(--ion-item-background);
  --border-color: var(--ion-item-border-color);
}
ion-item-divider {
  --background: var(--ion-background-color);
  --color: var(--ion-color-primary);
  font-weight: 600;
}
ion-searchbar {
  --background: var(--ion-item-background);
  --border-radius: var(--trinity-radius-sm);
  --box-shadow: none;
}
ion-tab-bar {
  --background: var(--ion-tab-bar-background);
  --color: var(--ion-color-medium);
  --color-selected: var(--ion-color-primary);
  --border: 0.55px solid rgba(var(--ion-color-primary-rgb), 0.12);
}
ion-tab-button {
  --color-selected: var(--ion-color-primary);
  font-weight: 500;
}
ion-chip {
  font-weight: 500;
}
ion-chip.ion-color:not(.chip-outline) {
  --background: rgba(var(--ion-color-rgb), 0.16);
  --color: var(--ion-color-base);
}
ion-list-header ion-label {
  color: var(--ion-color-primary);
  font-weight: 600;
}
ion-checkbox {
  --checkbox-background-checked: var(--ion-color-primary);
  --border-color-checked: var(--ion-color-primary);
}
ion-card.stat-card,
ion-card.nota-resumen {
  margin: 0;
  margin-inline: 0;
  width: 100%;
}
ion-card.stat-card {
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
  --background: #ffffff;
}
ion-card.stat-card ion-card-content {
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-inline-start: 12px;
  padding-inline-end: 32px;
  -webkit-padding-start: 12px;
  -webkit-padding-end: 32px;
  min-height: 52px;
  font-size: 0.8125rem;
  line-height: 1.2;
}
ion-card.stat-card.proximo ion-card-content {
  min-height: 58px;
}
.stat-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ion-color-primary);
}
.stat-icon ion-icon {
  width: 22px;
  height: 22px;
  font-size: 22px;
}
.stat-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
}
.stat-label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--ion-color-medium);
}
ion-card.stat-card strong {
  display: block;
  margin: 0;
  font-size: 1.34rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ion-color-primary);
}
ion-card.stat-card.requiere-atencion {
  --background: rgba(var(--ion-color-primary-rgb), 0.07);
  box-shadow: 0 1px 3px rgba(var(--ion-color-primary-rgb), 0.14);
}
ion-card.stat-card.requiere-atencion .stat-label {
  color: var(--ion-color-primary-shade, var(--ion-color-primary));
}
ion-card.stat-card p {
  margin: 0;
  font-size: 0.6875rem;
  line-height: 1.2;
  color: var(--ion-color-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-card {
  margin: 0 0 14px;
}
.nav-card-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 56px;
}
.nav-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--trinity-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(var(--ion-color-primary-rgb), 0.12);
  color: var(--ion-color-primary);
}
.nav-icon ion-icon {
  font-size: 24px;
}
.nav-icon.agenda {
  background: rgba(var(--ion-color-primary-rgb), 0.08);
}
.nav-icon.tratamientos {
  background: rgba(var(--ion-color-primary-rgb), 0.1);
}
.nav-icon.compras {
  background: rgba(var(--ion-color-primary-rgb), 0.16);
}
.nav-text {
  flex: 1;
  min-width: 0;
}
.nav-text h2 {
  margin: 0 0 2px;
  font-size: 1.1rem;
  font-weight: 600;
}
.nav-text p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ion-color-medium);
}
.nav-chevron {
  font-size: 20px;
  color: var(--ion-color-medium);
}
app-historial ion-header.tab-root-header ion-back-button,
app-historial-motivos ion-header.tab-root-header ion-back-button,
app-facturacion ion-header.tab-root-header ion-back-button {
  --color: #fff;
}
app-historial .historial,
app-historial-motivos .historial,
app-facturacion .historial {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px 28px;
  overflow-x: hidden;
}
app-historial .filtros,
app-historial-motivos .filtros,
app-facturacion .filtros {
  display: flex;
  gap: 6px;
  padding: 2px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-historial .filtros button,
app-historial-motivos .filtros button,
app-facturacion .filtros button {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 7px 4px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ion-color-medium);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
app-historial .filtros button.activo,
app-historial-motivos .filtros button.activo,
app-facturacion .filtros button.activo {
  background: var(--ion-color-primary);
  color: #fff;
}
app-historial .periodo,
app-historial-motivos .periodo,
app-facturacion .periodo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 14px 0 12px;
}
app-historial .periodo.sin-flechas,
app-historial-motivos .periodo.sin-flechas,
app-facturacion .periodo.sin-flechas {
  justify-content: center;
}
app-historial .nav-btn,
app-historial-motivos .nav-btn,
app-facturacion .nav-btn {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--ion-color-primary);
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-historial .nav-btn ion-icon,
app-historial-motivos .nav-btn ion-icon,
app-facturacion .nav-btn ion-icon {
  font-size: 18px;
}
app-historial .periodo-texto,
app-historial-motivos .periodo-texto,
app-facturacion .periodo-texto {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
app-historial .periodo-texto strong,
app-historial-motivos .periodo-texto strong,
app-facturacion .periodo-texto strong {
  font-size: 1.05rem;
  color: var(--ion-text-color);
  text-transform: capitalize;
}
app-historial .periodo-texto span,
app-historial .meta,
app-historial .hint,
app-historial .error,
app-historial-motivos .periodo-texto span,
app-historial-motivos .meta,
app-historial-motivos .hint,
app-historial-motivos .error,
app-facturacion .periodo-texto span,
app-facturacion .meta,
app-facturacion .hint,
app-facturacion .error {
  font-size: 0.75rem;
  color: var(--ion-color-medium);
}
app-historial .periodo-texto span,
app-historial-motivos .periodo-texto span,
app-facturacion .periodo-texto span {
  margin-top: 2px;
}
app-historial .error,
app-historial-motivos .error,
app-facturacion .error {
  margin: 0;
  color: var(--ion-color-danger);
}
app-historial .card,
app-historial .kpi,
app-historial-motivos .card,
app-historial-motivos .kpi,
app-facturacion .card,
app-facturacion .kpi {
  background: #fff;
  border-radius: var(--trinity-radius);
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-historial .card,
app-historial-motivos .card,
app-facturacion .card {
  margin: 0 0 12px;
  padding: 14px 14px 12px;
}
app-historial .card h2,
app-historial-motivos .card h2,
app-facturacion .card h2 {
  margin: 0 0 12px;
  font-size: 0.95rem;
  font-weight: 600;
}
app-historial .card-leyenda,
app-historial-motivos .card-leyenda,
app-facturacion .card-leyenda {
  margin: -8px 0 12px;
  font-size: 0.72rem;
  line-height: 1.35;
  color: var(--ion-color-medium);
  font-weight: 400;
}
app-historial .personalizado,
app-historial-motivos .personalizado,
app-facturacion .personalizado {
  display: grid;
  gap: 10px;
}
app-historial .personalizado label,
app-historial-motivos .personalizado label,
app-facturacion .personalizado label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ion-color-medium);
}
app-historial .personalizado ion-input,
app-historial-motivos .personalizado ion-input,
app-facturacion .personalizado ion-input {
  --padding-start: 10px;
  --background: var(--ion-background-color);
  --border-radius: 10px;
}
app-historial .stats,
app-historial-motivos .stats,
app-facturacion .stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
app-historial .kpi,
app-historial-motivos .kpi,
app-facturacion .kpi {
  position: relative;
  min-width: 0;
  padding: 12px 12px 10px;
}
app-historial .kpi-dot,
app-historial-motivos .kpi-dot,
app-facturacion .kpi-dot {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
app-historial .kpi-label,
app-historial-motivos .kpi-label,
app-facturacion .kpi-label {
  display: block;
  font-size: 0.7rem;
  color: var(--ion-color-medium);
  padding-inline-end: 14px;
}
app-historial .kpi strong,
app-historial-motivos .kpi strong,
app-facturacion .kpi strong {
  display: block;
  margin-top: 4px;
  font-size: 1.34rem;
  font-weight: 600;
  line-height: 1.2;
}
app-historial .vacio,
app-historial-motivos .vacio,
app-facturacion .vacio {
  text-align: center;
}
app-historial .vacio p,
app-historial .meta,
app-historial .hint,
app-historial-motivos .vacio p,
app-historial-motivos .meta,
app-historial-motivos .hint,
app-facturacion .vacio p,
app-facturacion .meta,
app-facturacion .hint {
  margin: 0;
}
app-historial .hint,
app-historial .meta,
app-historial-motivos .hint,
app-historial-motivos .meta,
app-facturacion .hint,
app-facturacion .meta {
  margin-top: 8px;
}
app-historial .donut-row,
app-historial-motivos .donut-row,
app-facturacion .donut-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
app-historial .donut,
app-historial-motivos .donut,
app-facturacion .donut {
  flex: 0 0 132px;
  width: 132px;
  height: 132px;
}
app-historial .donut-track,
app-historial-motivos .donut-track,
app-facturacion .donut-track {
  fill: none;
  stroke: #ece8e2;
  stroke-width: 14;
}
app-historial .donut-n,
app-historial-motivos .donut-n,
app-facturacion .donut-n {
  font-size: 18px;
  font-weight: 700;
  fill: var(--ion-text-color);
}
app-historial .donut-sub,
app-historial-motivos .donut-sub,
app-facturacion .donut-sub {
  font-size: 8px;
  fill: #6e7f82;
}
app-historial .leyenda,
app-historial .tabla,
app-historial .hbarras,
app-historial-motivos .leyenda,
app-historial-motivos .tabla,
app-historial-motivos .hbarras,
app-facturacion .leyenda,
app-facturacion .tabla,
app-facturacion .hbarras {
  margin: 0;
  padding: 0;
  list-style: none;
}
app-historial .leyenda,
app-historial-motivos .leyenda,
app-facturacion .leyenda {
  flex: 1 1 0;
  min-width: 0;
}
app-historial .leyenda li,
app-historial-motivos .leyenda li,
app-facturacion .leyenda li {
  margin: 0 0 8px;
}
app-historial .leyenda li:last-child,
app-historial .hbarras li:last-child,
app-historial .tabla li:last-child,
app-historial-motivos .leyenda li:last-child,
app-historial-motivos .hbarras li:last-child,
app-historial-motivos .tabla li:last-child,
app-facturacion .leyenda li:last-child,
app-facturacion .hbarras li:last-child,
app-facturacion .tabla li:last-child {
  margin: 0;
  border: 0;
}
app-historial .leyenda li,
app-historial .leyenda button,
app-historial .tabla li,
app-historial .hbarras li,
app-historial-motivos .leyenda li,
app-historial-motivos .leyenda button,
app-historial-motivos .tabla li,
app-historial-motivos .hbarras li,
app-facturacion .leyenda li,
app-facturacion .leyenda button,
app-facturacion .tabla li,
app-facturacion .hbarras li {
  display: flex;
  align-items: center;
  gap: 8px;
}
app-historial .leyenda button,
app-historial-motivos .leyenda button,
app-facturacion .leyenda button {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
}
app-historial .swatch,
app-historial-motivos .swatch,
app-facturacion .swatch {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
app-historial .leyenda-txt,
app-historial .hbar-label,
app-historial .tabla:not(.tabla-atenciones) span,
app-historial-motivos .leyenda-txt,
app-historial-motivos .hbar-label,
app-historial-motivos .tabla:not(.tabla-atenciones) span,
app-facturacion .leyenda-txt,
app-facturacion .hbar-label,
app-facturacion .tabla:not(.tabla-atenciones) span {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.78rem;
}
app-historial .leyenda-n,
app-historial .tabla strong,
app-historial .hbarras strong,
app-historial .pct,
app-historial-motivos .leyenda-n,
app-historial-motivos .tabla strong,
app-historial-motivos .hbarras strong,
app-historial-motivos .pct,
app-facturacion .leyenda-n,
app-facturacion .tabla strong,
app-facturacion .hbarras strong,
app-facturacion .pct {
  flex-shrink: 0;
  font-size: 0.72rem;
  color: var(--ion-color-medium);
}
app-historial .linea,
app-historial-motivos .linea,
app-facturacion .linea {
  display: block;
  width: 100%;
  height: auto;
}
app-historial .eje,
app-historial-motivos .eje,
app-facturacion .eje {
  stroke: #ece8e2;
  stroke-width: 1;
}
app-historial .area,
app-historial-motivos .area,
app-facturacion .area {
  fill: rgba(var(--ion-color-primary-rgb), 0.12);
}
app-historial .trazo,
app-historial-motivos .trazo,
app-facturacion .trazo {
  fill: none;
  stroke: var(--ion-color-primary);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
app-historial .punto,
app-historial-motivos .punto,
app-facturacion .punto {
  fill: var(--ion-color-primary);
}
app-historial .eje-txt,
app-historial-motivos .eje-txt,
app-facturacion .eje-txt {
  font-size: 9px;
  fill: #6e7f82;
}
app-historial .barras,
app-historial-motivos .barras,
app-facturacion .barras {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 132px;
}
app-historial .barra,
app-historial-motivos .barra,
app-facturacion .barra {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
app-historial .barra-col,
app-historial-motivos .barra-col,
app-facturacion .barra-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  min-height: 0;
}
app-historial .barra-n,
app-historial-motivos .barra-n,
app-facturacion .barra-n {
  font-size: 0.68rem;
  color: var(--ion-color-medium);
  margin-bottom: 4px;
}
app-historial .barra-fill,
app-historial-motivos .barra-fill,
app-facturacion .barra-fill {
  width: 58%;
  min-height: 4px;
  border-radius: 8px 8px 4px 4px;
  background: var(--ion-color-primary);
}
app-historial .barra-label,
app-historial-motivos .barra-label,
app-facturacion .barra-label {
  margin-top: 6px;
  font-size: 0.68rem;
  color: var(--ion-color-medium);
}
app-historial .hbarras li,
app-historial-motivos .hbarras li,
app-facturacion .hbarras li {
  margin: 0 0 10px;
}
app-historial .hbar-track,
app-historial-motivos .hbar-track,
app-facturacion .hbar-track {
  flex: 1 1 90px;
  height: 8px;
  border-radius: 999px;
  background: #ece8e2;
  overflow: hidden;
}
app-historial .hbar-fill,
app-historial-motivos .hbar-fill,
app-facturacion .hbar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--ion-color-primary);
}
app-historial .motivos .pct,
app-historial-motivos .motivos .pct,
app-facturacion .motivos .pct {
  width: 2.4em;
  text-align: right;
}
app-historial .link,
app-historial-motivos .link,
app-facturacion .link {
  margin: 10px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ion-color-primary);
  font-size: 0.78rem;
  font-weight: 600;
}
app-historial .link-toggle,
app-historial-motivos .link-toggle,
app-facturacion .link-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
app-historial .link-toggle ion-icon,
app-historial-motivos .link-toggle ion-icon,
app-facturacion .link-toggle ion-icon {
  font-size: 16px;
}
app-historial .detalle-pacientes,
app-historial-motivos .detalle-pacientes,
app-facturacion .detalle-pacientes {
  margin-top: 12px;
  padding-top: 4px;
  border-top: 1px solid rgba(var(--ion-color-primary-rgb), 0.1);
}
app-historial .grupo-pacientes,
app-historial-motivos .grupo-pacientes,
app-facturacion .grupo-pacientes {
  margin-top: 12px;
}
app-historial .grupo-pacientes:first-child,
app-historial-motivos .grupo-pacientes:first-child,
app-facturacion .grupo-pacientes:first-child {
  margin-top: 8px;
}
app-historial .grupo-pacientes h3,
app-historial-motivos .grupo-pacientes h3,
app-facturacion .grupo-pacientes h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 600;
}
app-historial .vacio-grupo,
app-historial-motivos .vacio-grupo,
app-facturacion .vacio-grupo {
  margin: 0;
  font-size: 0.75rem;
  color: var(--ion-color-medium);
}
app-historial .lista-pacientes,
app-historial-motivos .lista-pacientes,
app-facturacion .lista-pacientes {
  margin: 0;
  padding: 0;
  list-style: none;
}
app-historial .lista-pacientes li,
app-historial-motivos .lista-pacientes li,
app-facturacion .lista-pacientes li {
  border-bottom: 1px solid rgba(var(--ion-color-primary-rgb), 0.08);
}
app-historial .lista-pacientes li:last-child,
app-historial-motivos .lista-pacientes li:last-child,
app-facturacion .lista-pacientes li:last-child {
  border-bottom: 0;
}
app-historial .fila-paciente,
app-historial-motivos .fila-paciente,
app-facturacion .fila-paciente {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 8px 0;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
}
app-historial .fila-paciente span,
app-historial-motivos .fila-paciente span,
app-facturacion .fila-paciente span {
  flex: 1 1 0;
  min-width: 0;
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
app-historial .fila-paciente ion-icon,
app-historial-motivos .fila-paciente ion-icon,
app-facturacion .fila-paciente ion-icon {
  flex-shrink: 0;
  font-size: 16px;
  color: var(--ion-color-medium);
}
app-historial .tabla li,
app-historial-motivos .tabla li,
app-facturacion .tabla li {
  padding: 6px 0;
  border-bottom: 1px solid rgba(var(--ion-color-primary-rgb), 0.08);
}
@media (max-width: 360px) {
  app-historial .filtros button,
  app-historial-motivos .filtros button,
  app-facturacion .filtros button {
    font-size: 0.62rem;
    padding: 7px 2px;
  }
  app-historial .donut,
  app-historial-motivos .donut,
  app-facturacion .donut {
    flex-basis: 112px;
    width: 112px;
    height: 112px;
  }
  app-historial .kpi strong,
  app-historial-motivos .kpi strong,
  app-facturacion .kpi strong {
    font-size: 1.2rem;
  }
}
app-facturacion {
}
app-facturacion .selector-paciente-wrap {
  margin-bottom: 12px;
  padding: 0;
  overflow: hidden;
}
app-facturacion .selector-paciente {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
app-facturacion .selector-paciente-label {
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ion-color-medium);
}
app-facturacion .selector-paciente-valor {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: right;
}
app-facturacion .selector-paciente ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-facturacion .pacientes-desplegado {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 12px 12px;
  padding: 12px;
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.14);
  border-radius: var(--trinity-radius-sm);
  background: rgba(var(--ion-color-primary-rgb), 0.05);
  box-shadow: 0 1px 3px rgba(var(--ion-color-primary-rgb), 0.06);
}
app-facturacion .pacientes-desplegado .filtro {
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.18);
  border-radius: var(--trinity-radius-sm);
  background: #fff;
  color: var(--ion-text-color);
  font: inherit;
  font-size: 0.9rem;
}
app-facturacion .pacientes-desplegado .filtro:focus {
  outline: none;
  border-color: rgba(var(--ion-color-primary-rgb), 0.45);
  box-shadow: 0 0 0 2px rgba(var(--ion-color-primary-rgb), 0.1);
}
app-facturacion .item-paciente,
app-facturacion .ocultar-pacientes {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 8px 4px;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 500;
}
app-facturacion .item-paciente span {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-facturacion .item-paciente ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
}
app-facturacion .ocultar-pacientes {
  justify-content: center;
  padding-top: 4px;
  color: var(--ion-color-primary);
  font-size: 0.8rem;
  font-weight: 600;
}
app-facturacion .pacientes-vacio {
  margin: 0;
  padding: 4px;
  text-align: center;
}
app-facturacion .ingresos-hero {
  margin-bottom: 8px;
  padding: 16px 14px 14px;
  background: rgba(var(--ion-color-primary-rgb), 0.06);
}
app-facturacion .manual-excepcional {
  margin-bottom: 12px;
}
app-facturacion .manual-excepcional .meta {
  margin: 0 0 10px;
  font-size: 0.88rem;
  color: #5a6a70;
  line-height: 1.4;
}
app-facturacion .manual-excepcional .btn-manual {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: var(--ion-color-primary);
  color: #fff;
  font: 600 0.88rem inherit;
  cursor: pointer;
}
app-facturacion .ingresos-hero-cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
app-facturacion .ver-detalle-btn {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ion-color-primary);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
app-facturacion .ingresos-hero-monto {
  display: block;
  margin-top: 8px;
  font-size: 2.05rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ion-color-primary);
  letter-spacing: -0.02em;
  word-break: break-word;
}
app-facturacion .stats-secundarios {
  margin-bottom: 8px;
}
app-facturacion .card-pending {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-bottom: 12px;
  padding: 14px;
  border: 0;
  text-align: left;
  color: inherit;
  cursor: pointer;
  background: rgba(245, 158, 11, 0.08);
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.06);
}
app-facturacion .card-pending-cuerpo {
  flex: 1 1 0;
  min-width: 0;
}
app-facturacion .card-pending-titulo {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #9a6b2e;
}
app-facturacion .card-pending-monto {
  display: block;
  margin-top: 4px;
  font-size: 1.2rem;
  font-weight: 700;
  color: #b45309;
}
app-facturacion .card-pending-sub {
  display: block;
  margin-top: 2px;
  font-size: 0.72rem;
  color: var(--ion-color-medium);
}
app-facturacion .card-pending ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-facturacion .grafico-barras {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: auto;
  margin-top: 8px;
  overflow-x: auto;
  overflow-y: visible;
  padding: 8px 2px 4px;
  -webkit-overflow-scrolling: touch;
}
app-facturacion .grafico-barras-scroll {
  scrollbar-width: thin;
}
app-facturacion .grafico-barras-rango {
  gap: 0;
  min-height: 0;
}
app-facturacion .grafico-barras-anios {
  align-items: flex-end;
  min-height: 0;
}
app-facturacion .barra-anio-grupo {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1 1 0;
  min-width: 0;
  height: auto;
  padding: 0 2px;
}
app-facturacion .grafico-barras-rango .barra-anio-grupo {
  flex: 0 0 auto;
  min-width: max-content;
  margin-right: 10px;
  padding: 0;
  border: 0;
}
app-facturacion .grafico-barras-rango .barra-anio-grupo:last-child {
  margin-right: 0;
}
app-facturacion .barra-anio-cols {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  flex: 0 0 auto;
  min-height: 0;
}
app-facturacion .barra-anio-label {
  flex: 0 0 auto;
  margin-top: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--ion-color-medium);
  text-align: center;
}
app-facturacion .barra-col {
  position: relative;
  flex: 1 1 0;
  min-width: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
app-facturacion .barra-col-fija {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  max-width: 36px;
}
app-facturacion .grafico-barras-rango .barra-col {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  max-width: 36px;
}
app-facturacion .barra-track {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  width: 100%;
  height: 100px;
  overflow: visible;
}
app-facturacion .barra-fill {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58%;
  min-height: 0;
  border-radius: 6px 6px 2px 2px;
  background: var(--ion-color-primary);
  overflow: visible;
}
app-facturacion .barra-fill-tooltip {
  z-index: 3;
}
app-facturacion .barra-valor {
  display: block;
  flex: 0 0 auto;
  max-width: 100%;
  min-height: 1.1em;
  margin-bottom: 4px;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.1;
  color: var(--ion-color-medium);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-facturacion .barra-valor-vacio {
  visibility: hidden;
}
app-facturacion .barra-valor-oculto {
  visibility: hidden;
}
app-facturacion .barra-etiqueta {
  flex: 0 0 auto;
  margin-top: 4px;
  font-size: 0.62rem;
  color: var(--ion-color-medium);
  text-align: center;
  white-space: nowrap;
}
app-facturacion .barra-tooltip {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 0;
  max-width: min(120px, 55vw);
  margin: 0;
  padding: 6px 10px;
  border-radius: 8px;
  background: #1f2937;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  pointer-events: none;
  transform: translate(-50%, -50%);
}
app-facturacion .barra-tooltip::after {
  content: none;
  display: none;
}
app-facturacion .barra-tooltip-arriba,
app-facturacion .barra-tooltip-cero {
  top: 0;
  bottom: auto;
}
app-facturacion .barra-tooltip-cero {
  top: auto;
  bottom: 0;
}
app-facturacion .barra-tooltip-periodo {
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.15;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
app-facturacion .barra-tooltip-monto {
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
app-facturacion .tabla-atenciones li {
  display: block;
  padding: 0;
  border-bottom: 0;
}
app-facturacion .tabla-atenciones .fila-meta,
app-facturacion .tabla-atenciones .fila-titulo {
  flex: none;
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-facturacion .tabla-atenciones .fila-meta {
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--ion-color-medium);
}
app-facturacion .tabla-atenciones .fila-titulo {
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
  color: inherit;
}
app-facturacion .tabla-atenciones .fila-monto {
  flex-shrink: 0;
  color: var(--ion-color-primary);
  font-size: 0.92rem;
  font-weight: 700;
}
app-facturacion .fila-atencion {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(var(--ion-color-medium-rgb), 0.12);
  background: transparent;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: pointer;
  box-sizing: border-box;
}
app-facturacion .tabla-atenciones li:last-child .fila-atencion {
  border-bottom: 0;
}
app-facturacion .fila-atencion-cuerpo {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-facturacion .fila-meta {
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--ion-color-medium);
}
app-facturacion .fila-titulo {
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-facturacion .fila-monto {
  flex: 0 0 auto;
  font-size: 0.92rem;
  color: var(--ion-color-primary);
  font-weight: 700;
  white-space: nowrap;
}
app-facturacion .fila-atencion ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-facturacion .fila-atencion.fila-manual {
  min-height: calc(20px + 0.936rem + 2px + 1.1rem);
  padding: 10px 0;
  border-radius: 0;
  background: rgba(var(--ion-color-primary-rgb), 0.07);
  border-bottom: 1px solid rgba(var(--ion-color-medium-rgb), 0.12);
  cursor: default;
}
app-facturacion .fila-atencion.fila-paciente-eliminado {
  min-height: calc(20px + 0.936rem + 2px + 1.1rem);
  padding: 10px 0;
  border-radius: 0;
  background: rgba(148, 120, 168, 0.1);
  border-bottom: 1px solid rgba(var(--ion-color-medium-rgb), 0.12);
  cursor: default;
}
app-facturacion .tabla-movimientos li:last-child .fila-atencion.fila-manual,
app-facturacion .tabla-movimientos li:last-child .fila-atencion.fila-paciente-eliminado {
  border-bottom: 0;
}
app-facturacion .fila-titulo-placeholder {
  display: block;
  min-height: 1.1rem;
  visibility: hidden;
  pointer-events: none;
}
app-facturacion .fila-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}
app-facturacion .fila-meta-row .fila-meta {
  flex: 0 1 auto;
  width: auto;
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--ion-color-medium);
}
app-facturacion .badge-ingreso-manual {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(var(--ion-color-primary-rgb), 0.16);
  color: var(--ion-color-primary);
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
app-facturacion .badge-paciente-eliminado {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(148, 120, 168, 0.18);
  color: #6b5a78;
  font-size: 0.62rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
app-facturacion .fila-nota-manual {
  display: block;
  font-size: 0.72rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--ion-color-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-facturacion .fila-manual-menu {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ion-color-medium);
  cursor: pointer;
}
app-facturacion .fila-manual-menu ion-icon {
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-facturacion .facturacion {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px 28px;
  overflow-x: hidden;
}
app-facturacion .facturacion > .card:has(.grafico-barras) {
  overflow: visible;
}
app-senias-pendientes ion-header.tab-root-header ion-back-button {
  --color: #fff;
}
app-senias-pendientes .senias-pendientes {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px 28px;
}
app-senias-pendientes .banner-pending {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: var(--trinity-radius-sm, 10px);
  background: rgba(245, 158, 11, 0.1);
  font-size: 0.78rem;
  line-height: 1.4;
  color: #9a6b2e;
}
app-senias-pendientes .lista-pending {
  margin: 0;
  padding: 0;
  list-style: none;
}
app-senias-pendientes .fila-pending {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 8px;
  padding: 12px 14px;
  border: 0;
  border-radius: var(--trinity-radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
  text-align: left;
  color: inherit;
  cursor: pointer;
}
app-senias-pendientes .fila-pending-cuerpo {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-senias-pendientes .fila-motivo {
  font-size: 0.75rem;
  color: var(--ion-color-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-senias-pendientes .fila-pending-monto {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
app-senias-pendientes .fila-pending-monto strong {
  font-size: 0.92rem;
  color: #b45309;
}
app-senias-pendientes .badge-pending {
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(245, 158, 11, 0.15);
  color: #9a6b2e;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
app-senias-pendientes .fila-pending ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-senias-pendientes .vacio {
  margin: 48px 0 0;
  text-align: center;
  font-size: 0.88rem;
  color: var(--ion-color-medium);
}
app-turnos-por-cerrar ion-header.tab-root-header ion-back-button {
  --color: #fff;
}
app-turnos-por-cerrar .turnos-por-cerrar {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px 28px;
}
app-turnos-por-cerrar .banner-info {
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: var(--trinity-radius-sm, 10px);
  background: rgba(var(--ion-color-primary-rgb), 0.08);
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--ion-color-primary-shade, #0f766e);
}
app-turnos-por-cerrar .grupo-titulo {
  margin: 16px 0 8px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ion-text-color);
}
app-turnos-por-cerrar .grupo-titulo:first-of-type {
  margin-top: 0;
}
app-turnos-por-cerrar .grupo-count {
  font-weight: 600;
  color: var(--ion-color-medium);
}
app-turnos-por-cerrar .lista-pending {
  margin: 0;
  padding: 0;
  list-style: none;
}
app-turnos-por-cerrar .fila-pending {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 8px;
  padding: 12px 14px;
  border: 0;
  border-radius: var(--trinity-radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
  text-align: left;
  color: inherit;
  cursor: pointer;
}
app-turnos-por-cerrar .fila-pending-cuerpo {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-turnos-por-cerrar .fila-titulo {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ion-text-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-turnos-por-cerrar .fila-meta {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ion-color-primary);
}
app-turnos-por-cerrar .fila-motivo {
  font-size: 0.75rem;
  color: var(--ion-color-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-turnos-por-cerrar .fila-pending-estado {
  flex: 0 0 auto;
}
app-turnos-por-cerrar .fila-pending ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-turnos-por-cerrar .vacio-caja {
  margin-top: 28px;
  padding: 24px 16px;
  text-align: center;
}
app-turnos-por-cerrar .vacio-titulo {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ion-color-primary);
}
app-turnos-por-cerrar .vacio-texto {
  margin: 0;
  font-size: 0.88rem;
  color: var(--ion-color-medium);
}
app-inicio {
  --inicio-gutter: 16px;
  --home-radius: 16px;
  --home-shadow: 0 2px 10px rgba(42, 51, 54, 0.07);
}
app-inicio .inicio {
  padding: calc(8px + env(safe-area-inset-top, 0px)) var(--inicio-gutter) calc(28px + env(safe-area-inset-bottom, 0px));
  max-width: 720px;
  margin: 0 auto;
  overflow-x: hidden;
}
app-inicio .hero {
  text-align: center;
  padding: 8px 12px 12px;
}
app-inicio .hero-logo {
  display: block;
  width: min(58vw, 200px);
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
app-inicio .hero-subtitle {
  margin: 4px 0 0;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: var(--ion-color-medium);
}
app-inicio .avisos-dinamicos:empty {
  display: none;
}
app-inicio .update-card {
  margin: 0 0 14px;
  border-radius: var(--home-radius);
  box-shadow: var(--home-shadow);
}
app-inicio .update-kicker {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--ion-color-primary);
}
app-inicio .update-acciones {
  display: flex;
  justify-content: flex-end;
}
app-inicio .inicio-bloque {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
}
app-inicio .stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 4px 0;
  align-items: stretch;
}
app-inicio .home-stat {
  margin: 0;
  border-radius: var(--home-radius);
  box-shadow: var(--home-shadow);
  overflow: hidden;
}
app-inicio .home-stat ion-card-content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 6px;
  min-height: 102px;
  padding: 14px 12px 12px;
  overflow: hidden;
}
app-inicio .home-stat-hoy {
  --background: #e7f7f4;
  background: #e7f7f4;
  --wm: rgba(15, 118, 110, 0.14);
  --chevron-bg: #1a9a8f;
  --chevron-fg: #ffffff;
}
app-inicio .home-stat-proximo {
  --background: #e8f2fb;
  background: #e8f2fb;
  --wm: rgba(37, 99, 235, 0.14);
  --chevron-bg: #5b9be8;
  --chevron-fg: #ffffff;
}
app-inicio .home-stat-proximo ion-card-content {
  box-sizing: border-box;
  height: 102px;
  min-height: 102px;
  max-height: 102px;
  padding: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-start: 0;
  --padding-end: 0;
  overflow: hidden;
}
app-inicio .home-stat-proximo .stat-text {
  padding: 14px 12px 12px;
  padding-inline-end: 40px;
  gap: 1px;
}
app-inicio .home-stat-proximo .stat-watermark-reloj {
  right: -26px;
  bottom: -37px;
  display: block;
  box-sizing: border-box;
  width: 5.5rem;
  height: 5.5rem;
  font-size: 5.5rem;
  border: 0.4rem solid currentColor;
  border-radius: 50%;
  background: transparent;
}
app-inicio .home-stat-proximo .stat-watermark-reloj::before,
app-inicio .home-stat-proximo .stat-watermark-reloj::after {
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 999px;
  pointer-events: none;
}
app-inicio .home-stat-proximo .stat-watermark-reloj::before {
  left: 50%;
  top: 50%;
  width: 0.4rem;
  height: 1.55rem;
  transform: translate(-50%, -100%);
}
app-inicio .home-stat-proximo .stat-watermark-reloj::after {
  left: 50%;
  top: 50%;
  width: 1.85rem;
  height: 0.4rem;
  transform: translate(0, -50%);
}
app-inicio .home-stat-cerrar {
  --background: #f8efe6;
  background: #f8efe6;
  --wm: rgba(194, 65, 12, 0.14);
  --chevron-bg: #f0a05a;
  --chevron-fg: #ffffff;
}
app-inicio .home-stat-planes {
  --background: #efeaf8;
  background: #efeaf8;
  --wm: rgba(124, 58, 237, 0.14);
  --chevron-bg: #a97dcc;
  --chevron-fg: #ffffff;
}
app-inicio .stat-watermark {
  position: absolute;
  right: -6px;
  bottom: -10px;
  font-size: 4.4rem;
  width: 4.4rem;
  height: 4.4rem;
  color: var(--wm, rgba(15, 118, 110, 0.12));
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
app-inicio .home-stat .stat-text {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding-inline-end: 36px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-inicio .home-stat .stat-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ion-color-medium-shade, #5b6b6e);
}
app-inicio .home-stat strong {
  display: block;
  margin: 0;
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ion-text-color);
}
app-inicio .home-stat.proximo strong {
  font-size: 1.25rem;
}
app-inicio .proximo-dia-pill {
  display: inline-block;
  align-self: flex-start;
  margin-top: 1px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: #2563eb;
  background: rgba(37, 99, 235, 0.12);
}
app-inicio .proximo-dia-fecha {
  display: block;
  margin-top: 1px;
  max-width: 100%;
  font-size: 0.68rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--ion-color-medium-shade, #5b6b6e);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-inicio .home-stat p {
  margin: 0;
  max-width: 100%;
  font-size: 0.72rem;
  line-height: 1.25;
  color: var(--ion-color-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-inicio .stat-chevron {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: var(--chevron-bg, #1a9a8f);
  color: var(--chevron-fg, #ffffff);
  pointer-events: none;
}
app-inicio .stat-chevron ion-icon {
  font-size: 0.78rem;
  width: 0.78rem;
  height: 0.78rem;
}
app-inicio .home-stat.requiere-atencion {
  box-shadow: 0 2px 12px rgba(var(--ion-color-primary-rgb), 0.16);
}
app-inicio .seccion {
  margin: 18px 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ion-text-color);
}
app-inicio .seccion-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
app-inicio .seccion-row .seccion {
  margin-bottom: 8px;
}
app-inicio .ver-todas {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ion-color-primary);
  text-decoration: none;
  white-space: nowrap;
}
app-inicio .vacio {
  margin: 0 0 12px;
  color: var(--ion-color-medium);
  font-size: 0.9rem;
}
app-inicio .proximos-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
app-inicio .proximo-fila {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 12px 10px 12px 14px;
  border-radius: var(--home-radius);
  background: #fff;
  box-shadow: var(--home-shadow);
  border-left: 4px solid var(--ion-color-primary);
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
app-inicio .hora-box {
  flex: 0 0 auto;
  width: 4.6rem;
  min-width: 3.6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
app-inicio .hora-box span,
app-inicio .hora-box small {
  white-space: nowrap;
}
app-inicio .hora-box span {
  font-weight: 700;
  font-size: 0.98rem;
  color: var(--ion-color-primary);
}
app-inicio .hora-box small {
  color: var(--ion-color-medium);
  text-transform: capitalize;
  font-size: 0.7rem;
  line-height: 1.2;
}
app-inicio .turno-info {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}
app-inicio .turno-paciente {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ion-text-color);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
app-inicio .turno-motivo {
  margin: 2px 0 0;
  font-size: 0.78rem;
  line-height: 1.2;
  color: var(--ion-color-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-inicio .turno-estado {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  flex: 0 0 auto;
  gap: 2px;
  margin-inline-start: 4px;
}
app-inicio .turno-estado ion-chip {
  height: 24px;
  font-size: 0.68rem;
  --padding-start: 7px;
  --padding-end: 7px;
}
app-inicio .sena-monto {
  font-size: 0.7rem;
  line-height: 1.2;
  color: var(--ion-color-medium);
  max-width: 5.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-inicio .fila-chevron {
  flex: 0 0 auto;
  font-size: 0.95rem;
  color: rgba(var(--ion-color-medium-rgb), 0.7);
}
app-inicio .compras-pendientes {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  margin: 12px 0 2px;
  padding: 0 14px;
  border-radius: var(--trinity-radius-sm, 12px);
  background: #f0f4f8;
  box-shadow: 0 1px 2px rgba(42, 51, 54, 0.05);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}
app-inicio .compras-icono {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #607d8b;
}
app-inicio .compras-icono ion-icon {
  font-size: 1.2rem;
}
app-inicio .fila-secundaria-texto {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
app-inicio .fila-secundaria-label {
  font-size: 0.92rem;
  font-weight: 600;
  color: #1f2937;
}
app-inicio .fila-secundaria-count {
  font-size: 0.95rem;
  font-weight: 600;
  color: #374151;
}
app-inicio .compras-pendientes > ion-icon:last-child {
  flex: 0 0 auto;
  font-size: 1rem;
  color: #9ca3af;
}
app-inicio .notas-inicio {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
app-inicio .nota-resumen {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  text-align: left;
  border: 0;
  border-radius: var(--home-radius);
  min-width: 0;
  background: #ffffff;
  box-shadow: var(--home-shadow);
  color: inherit;
}
app-inicio .nota-resumen.nota-alt {
  background: #faf7f2;
}
app-inicio .nota-resumen-main {
  flex: 1 1 0;
  min-width: 0;
}
app-inicio .nota-creada {
  flex: 0 0 6.6em;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.25;
  color: #6e7f82;
  text-align: right;
  white-space: nowrap;
}
app-inicio .nota-recordatorio {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0;
  font-size: 0.78rem;
  color: var(--ion-color-primary);
}
app-inicio .nota-recordatorio ion-icon {
  font-size: 14px;
}
app-inicio .nota-titulo {
  margin: 0;
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 360px) {
  app-inicio .hora-box {
    width: 3.7rem;
    min-width: 3.2rem;
  }
  app-inicio .hora-box small {
    font-size: 0.66rem;
  }
  app-inicio .proximo-fila {
    padding-inline-start: 10px;
    gap: 6px;
  }
  app-inicio .home-stat ion-card-content {
    min-height: 92px;
  }
  app-inicio .home-stat-proximo ion-card-content {
    height: 92px;
    min-height: 92px;
    max-height: 92px;
  }
  app-inicio .stat-watermark {
    font-size: 3.8rem;
    width: 3.8rem;
    height: 3.8rem;
  }
  app-inicio .home-stat-proximo .stat-watermark-reloj {
    right: -22px;
    bottom: -33px;
    width: 4.8rem;
    height: 4.8rem;
    font-size: 4.8rem;
    border-width: 0.36rem;
  }
  app-inicio .home-stat-proximo .stat-watermark-reloj::before {
    width: 0.36rem;
    height: 1.35rem;
  }
  app-inicio .home-stat-proximo .stat-watermark-reloj::after {
    width: 1.6rem;
    height: 0.36rem;
  }
}
@media (min-width: 400px) {
  app-inicio .hora-box {
    width: 4.9rem;
  }
}
app-planes-paciente ion-header.tab-root-header ion-back-button,
app-planes-pendientes ion-header.tab-root-header ion-back-button {
  --color: #fff;
}
app-planes-paciente .planes-paciente,
app-planes-paciente .planes-pendientes,
app-planes-pendientes .planes-paciente,
app-planes-pendientes .planes-pendientes {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px calc(88px + env(safe-area-inset-bottom, 0px));
}
app-planes-paciente .acciones,
app-planes-pendientes .acciones {
  margin-bottom: 12px;
}
app-planes-paciente .btn-nuevo-plan,
app-planes-pendientes .btn-nuevo-plan {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 700;
  --border-radius: var(--trinity-radius-sm, 10px);
}
app-planes-paciente .banner-info,
app-planes-pendientes .banner-info {
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: var(--trinity-radius-sm, 10px);
  background: rgba(var(--ion-color-primary-rgb), 0.08);
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--ion-color-primary-shade, #0f766e);
}
app-planes-paciente .filtros,
app-planes-pendientes .filtros {
  display: flex;
  gap: 6px;
  margin: 0 0 14px;
  padding: 3px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-planes-paciente .filtros button,
app-planes-pendientes .filtros button {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 8px 6px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ion-color-medium);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
app-planes-paciente .filtros button.activo,
app-planes-pendientes .filtros button.activo {
  background: var(--ion-color-primary);
  color: #fff;
}
app-planes-paciente .lista-pending,
app-planes-pendientes .lista-pending {
  margin: 0;
  padding: 0;
  list-style: none;
}
app-planes-paciente .fila-pending,
app-planes-pendientes .fila-pending {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 10px;
  padding: 12px 12px;
  border: 0;
  border-radius: var(--trinity-radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
  text-align: left;
  color: inherit;
  cursor: pointer;
}
app-planes-paciente .fila-icono,
app-planes-pendientes .fila-icono {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(var(--ion-color-primary-rgb), 0.1);
  color: var(--ion-color-primary);
  font-size: 1.1rem;
}
app-planes-paciente .fila-pending-cuerpo,
app-planes-pendientes .fila-pending-cuerpo {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-planes-paciente .fila-titulo,
app-planes-pendientes .fila-titulo {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ion-text-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-planes-paciente .fila-meta,
app-planes-pendientes .fila-meta {
  font-size: 0.76rem;
  font-weight: 500;
  color: var(--ion-color-medium);
}
app-planes-paciente .fila-motivo,
app-planes-pendientes .fila-motivo {
  font-size: 0.82rem;
  color: var(--ion-color-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
app-planes-paciente .badge-estado,
app-planes-pendientes .badge-estado {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(245, 158, 11, 0.16);
  color: #9a6b2e;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
app-planes-paciente .badge-estado.realizado,
app-planes-pendientes .badge-estado.realizado {
  background: rgba(var(--ion-color-primary-rgb), 0.12);
  color: var(--ion-color-primary-shade, #0f766e);
}
app-planes-paciente .fila-pending > ion-icon,
app-planes-pendientes .fila-pending > ion-icon {
  flex: 0 0 auto;
  font-size: 1rem;
  color: var(--ion-color-medium);
}
app-planes-paciente .vacio-caja,
app-planes-pendientes .vacio-caja {
  margin-top: 36px;
  padding: 24px 16px;
  text-align: center;
}
app-planes-paciente .vacio-icono,
app-planes-pendientes .vacio-icono {
  display: block;
  margin: 0 auto 12px;
  font-size: 2.2rem;
  color: rgba(var(--ion-color-medium-rgb), 0.55);
}
app-planes-paciente .vacio-titulo,
app-planes-pendientes .vacio-titulo {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ion-text-color);
}
app-planes-paciente .vacio-texto,
app-planes-pendientes .vacio-texto {
  margin: 0 auto;
  max-width: 280px;
  font-size: 0.88rem;
  line-height: 1.4;
  color: var(--ion-color-medium);
}
app-plan-detalle .plan-detalle {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px calc(96px + env(safe-area-inset-bottom, 0px));
}
app-plan-detalle .card-resumen,
app-plan-detalle .card-info {
  margin: 0 0 12px;
  padding: 14px;
  border-radius: var(--trinity-radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-plan-detalle .card-resumen {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
app-plan-detalle .resumen-icono {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(var(--ion-color-primary-rgb), 0.1);
  color: var(--ion-color-primary);
  font-size: 1.2rem;
}
app-plan-detalle .resumen-cuerpo {
  flex: 1 1 0;
  min-width: 0;
}
app-plan-detalle .resumen-titulo-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
app-plan-detalle .resumen-titulo-row h1 {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
}
app-plan-detalle .resumen-meta {
  margin: 6px 0 0;
  font-size: 0.8rem;
  color: var(--ion-color-medium);
}
app-plan-detalle .badge-estado {
  flex: 0 0 auto;
  display: inline-block;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(245, 158, 11, 0.16);
  color: #9a6b2e;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
app-plan-detalle .badge-estado.realizado {
  background: rgba(var(--ion-color-primary-rgb), 0.12);
  color: var(--ion-color-primary-shade, #0f766e);
}
app-plan-detalle .info-fila {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(var(--ion-color-medium-rgb), 0.12);
}
app-plan-detalle .info-fila-nav {
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid rgba(var(--ion-color-medium-rgb), 0.12);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
app-plan-detalle .info-fila-origen .origen-cuerpo {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
app-plan-detalle .chip-origen {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(var(--ion-color-primary-rgb), 0.1);
  color: var(--ion-color-primary-shade, #0f766e);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
}
app-plan-detalle .origen-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
app-plan-detalle .origen-meta strong,
app-plan-detalle .origen-fecha {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ion-text-color);
}
app-plan-detalle .info-nav-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ion-color-primary);
  white-space: nowrap;
}
app-plan-detalle .info-nav-label ion-icon {
  font-size: 0.95rem;
  color: var(--ion-color-primary);
}
app-plan-detalle .info-fila:first-child {
  padding-top: 2px;
}
app-plan-detalle .info-fila:last-child {
  padding-bottom: 2px;
  border-bottom: 0;
}
app-plan-detalle .info-fila > ion-icon {
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 1.15rem;
  color: var(--ion-color-primary);
}
app-plan-detalle .info-fila > div {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-plan-detalle .info-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ion-color-medium);
}
app-plan-detalle .info-fila strong {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ion-text-color);
}
app-plan-detalle .nota {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-weight: 500;
}
app-plan-detalle .acciones {
  padding: 12px 0 0;
}
app-plan-detalle .acciones ion-button {
  --border-radius: var(--trinity-radius-sm, 10px);
  text-transform: none;
  font-weight: 600;
}
app-plan-detalle .vacio {
  margin: 48px 16px 0;
  text-align: center;
  color: var(--ion-color-medium);
}
app-plan-form .plan-form {
  box-sizing: border-box;
  max-width: 720px;
  margin: 0 auto;
  padding: 12px 16px calc(96px + env(safe-area-inset-bottom, 0px));
}
app-plan-form .card-info {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 12px;
  padding: 14px;
  border-radius: var(--trinity-radius);
  background: rgba(var(--ion-color-primary-rgb), 0.08);
  box-shadow: none;
}
app-plan-form .card-info ion-icon {
  flex: 0 0 auto;
  margin-top: 1px;
  font-size: 1.25rem;
  color: var(--ion-color-primary);
}
app-plan-form .card-info strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ion-color-primary-shade, #0f766e);
}
app-plan-form .card-info p {
  margin: 4px 0 0;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--ion-color-medium);
}
app-plan-form .card-formulario {
  margin: 0 0 12px;
  padding: 14px;
  border-radius: var(--trinity-radius);
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-plan-form .campo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}
app-plan-form .campo:last-child {
  margin-bottom: 0;
}
app-plan-form .campo > span {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ion-color-medium);
}
app-plan-form .campo ion-input,
app-plan-form .campo ion-textarea {
  --background: #fff;
  --padding-start: 12px;
  --padding-end: 12px;
  --border-radius: var(--trinity-radius-sm, 10px);
  --border-color: rgba(var(--ion-color-medium-rgb), 0.22);
  --highlight-color-focused: var(--ion-color-primary);
}
app-plan-form .campo ion-textarea {
  min-height: 96px;
}
app-plan-form .contador {
  align-self: flex-end;
  font-size: 0.72rem;
  color: var(--ion-color-medium);
}
app-plan-form .campo-error,
app-plan-form .error {
  margin: 0;
  font-size: 0.8rem;
  color: var(--ion-color-danger);
}
app-plan-form .ayuda-form {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: var(--trinity-radius-sm, 10px);
  background: rgba(59, 130, 246, 0.08);
  font-size: 0.78rem;
  line-height: 1.4;
  color: #3b6ea5;
}
app-plan-form .ayuda-form ion-icon {
  flex: 0 0 auto;
  margin-top: 1px;
  font-size: 1.05rem;
}
app-plan-form .acciones {
  padding: 4px 0 8px;
}
app-plan-form .acciones ion-button {
  --border-radius: var(--trinity-radius-sm, 10px);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 700;
}
app-plantillas .filtros-toolbar,
app-variables .filtros-toolbar {
  --padding-top: 0;
  --padding-bottom: 8px;
  --min-height: 0;
}
app-plantillas .filtros,
app-variables .filtros {
  display: flex;
  gap: 6px;
  width: 100%;
  padding: 2px 12px;
  box-sizing: border-box;
}
app-plantillas .filtros button,
app-variables .filtros button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 7px 8px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(var(--ion-color-medium-rgb), 0.1);
  color: var(--ion-color-medium);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-plantillas .filtros button.activo,
app-variables .filtros button.activo {
  background: var(--ion-color-primary);
  color: #fff;
}
@media (max-width: 360px) {
  app-plantillas .filtros button,
  app-variables .filtros button {
    font-size: 0.68rem;
    padding: 7px 6px;
  }
}
app-variables .filtros button {
  padding: 7px 4px;
  font-size: 0.64rem;
  letter-spacing: 0;
}
@media (max-width: 360px) {
  app-variables .filtros button {
    font-size: 0.58rem;
    padding: 7px 2px;
  }
}
app-paciente-historial .filtros-toolbar {
  --padding-top: 0;
  --padding-bottom: 8px;
  --min-height: 0;
}
app-paciente-historial .filtros {
  display: flex;
  gap: 6px;
  width: 100%;
  padding: 2px 12px 4px;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
app-paciente-historial .filtros::-webkit-scrollbar {
  display: none;
}
app-paciente-historial .filtros button {
  flex: 0 0 auto;
  margin: 0;
  padding: 7px 12px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(var(--ion-color-medium-rgb), 0.1);
  color: var(--ion-color-medium);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  white-space: nowrap;
}
app-paciente-historial .filtros button.activo {
  background: var(--ion-color-primary);
  color: #fff;
}
app-compras .resumen {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px 16px 4px;
}
app-compras .resumen .kpi {
  background: #fff;
  border-radius: var(--trinity-radius-sm);
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
  padding: 10px 12px;
  position: relative;
}
app-compras .resumen .kpi.gasto {
  grid-column: 1/-1;
}
app-compras .resumen .kpi-clic {
  width: 100%;
  text-align: left;
  border: 0;
  cursor: pointer;
  padding-right: 28px;
  font: inherit;
  color: inherit;
}
app-compras .resumen .kpi-clic:active {
  background: #f8fafa;
}
app-compras .resumen .kpi-chevron {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #c8d0d4;
  font-size: 16px;
  pointer-events: none;
}
app-compras .resumen .kpi-periodo {
  display: block;
  margin-top: 2px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ion-color-primary);
}
app-compras .resumen .kpi-sub {
  display: block;
  font-size: 0.72rem;
  color: var(--ion-color-medium);
}
app-compras .resumen strong.sin-dato {
  color: var(--ion-color-medium);
}
app-compras .resumen .kpi-label {
  display: block;
  font-size: 0.7rem;
  color: var(--ion-color-medium);
}
app-compras .resumen strong {
  display: block;
  margin-top: 2px;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ion-color-primary);
}
app-compras .filtros {
  display: flex;
  gap: 6px;
  margin: 8px 16px 4px;
  padding: 2px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(42, 51, 54, 0.08);
}
app-compras .filtros button {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 8px 6px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ion-color-medium);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
app-compras .filtros button.activo {
  background: var(--ion-color-primary);
  color: #fff;
}
app-mis-ingresos .mis-ingresos {
  padding: 12px 16px 32px;
}
app-mis-ingresos .filtros {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  background: #f0f4f5;
  border-radius: 10px;
  padding: 4px;
}
app-mis-ingresos .filtros button {
  flex: 1;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 7px 4px;
  font: 600 0.8rem inherit;
  color: #9aa3a8;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
app-mis-ingresos .filtros button.activo {
  background: #fff;
  color: var(--ion-color-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
app-mis-ingresos .periodo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
app-mis-ingresos .periodo.sin-flechas {
  justify-content: center;
}
app-mis-ingresos .periodo .periodo-texto {
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
app-mis-ingresos .periodo .periodo-texto strong {
  font-size: 0.95rem;
  color: #1e2b30;
}
app-mis-ingresos .periodo .periodo-texto span {
  font-size: 0.75rem;
  color: #9aa3a8;
}
app-mis-ingresos .periodo .periodo-texto-btn {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
  font: inherit;
}
app-mis-ingresos .periodo .periodo-texto-btn:active {
  background: rgba(var(--ion-color-primary-rgb), 0.06);
}
app-mis-ingresos .nav-btn {
  border: 0;
  background: transparent;
  color: var(--ion-color-primary);
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 6px;
}
app-mis-ingresos .card {
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  margin-bottom: 10px;
}
app-mis-ingresos .card-titulo {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1e2b30;
  margin: 0 0 12px;
}
app-mis-ingresos .card-titulo-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
app-mis-ingresos .card-titulo-row .card-titulo {
  margin: 0;
}
app-mis-ingresos .card-titulo-row .grafico-contexto {
  font-size: 0.75rem;
  color: #9aa3a8;
  font-weight: 500;
  white-space: nowrap;
}
app-mis-ingresos .personalizado {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
app-mis-ingresos .personalizado label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #5a6a70;
}
app-mis-ingresos .personalizado .error {
  color: var(--ion-color-danger, #c0392b);
  font-size: 0.8rem;
  margin: 0;
}
app-mis-ingresos .personalizado ion-button {
  --border-radius: 8px;
  text-transform: none;
  font-weight: 600;
  font-size: 0.88rem;
}
app-mis-ingresos .selector-consultorio-wrap {
  padding: 0;
}
app-mis-ingresos .selector-consultorio {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  gap: 8px;
}
app-mis-ingresos .selector-consultorio .selector-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #9aa3a8;
  margin-right: 4px;
}
app-mis-ingresos .selector-consultorio .selector-valor {
  flex: 1;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e2b30;
  text-align: left;
}
app-mis-ingresos .selector-consultorio ion-icon {
  color: #9aa3a8;
  font-size: 18px;
}
app-mis-ingresos .consultorio-desplegado {
  border-top: 1px solid #f0f4f5;
  padding: 4px 0;
}
app-mis-ingresos .item-consultorio {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem;
  color: #1e2b30;
}
app-mis-ingresos .item-consultorio:hover {
  background: #f8fafb;
}
app-mis-ingresos .consultorio-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
app-mis-ingresos .ingresos-hero {
  text-align: center;
  padding: 20px 16px;
}
app-mis-ingresos .ingresos-monto {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--ion-color-primary);
  margin-top: 4px;
}
app-mis-ingresos .kpi-label {
  font-size: 0.78rem;
  color: #9aa3a8;
  font-weight: 500;
}
app-mis-ingresos .lista-consultorios {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
app-mis-ingresos .item-consultorio-desglose {
  display: flex;
  align-items: center;
  gap: 10px;
}
app-mis-ingresos .c-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
app-mis-ingresos .c-nombre {
  flex: 1;
  font-size: 0.9rem;
  color: #1e2b30;
}
app-mis-ingresos .c-monto {
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e2b30;
}
app-mis-ingresos .c-pct {
  font-size: 0.78rem;
  color: #9aa3a8;
  min-width: 34px;
  text-align: right;
}
app-mis-ingresos .stats-secundarios {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
app-mis-ingresos .stats-dias {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
app-mis-ingresos .kpi {
  flex: 1;
  min-width: 0;
  background: #fff;
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
  border: 0;
  text-align: left;
  font: inherit;
  color: inherit;
}
app-mis-ingresos .kpi .kpi-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-bottom: 2px;
}
app-mis-ingresos .kpi .kpi-icono {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
app-mis-ingresos .kpi .kpi-icono ion-icon {
  font-size: 15px;
}
app-mis-ingresos .kpi .kpi-label {
  font-size: 0.72rem;
  line-height: 1.25;
  max-width: 100%;
  overflow-wrap: anywhere;
}
app-mis-ingresos .kpi .kpi-chevron {
  position: absolute;
  right: 8px;
  top: 12px;
  transform: none;
  color: #c8d0d4;
  font-size: 14px;
}
app-mis-ingresos .kpi strong {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 2px;
  word-break: break-word;
}
app-mis-ingresos .kpi.kpi-clickable {
  cursor: pointer;
  padding-right: 24px;
}
app-mis-ingresos .kpi.kpi-clickable:active {
  background: #f8fafa;
}
app-mis-ingresos .grafico-barras {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  min-height: 140px;
  overflow-x: auto;
  padding-bottom: 4px;
  margin-bottom: 8px;
}
app-mis-ingresos .barra-grupo {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 36px;
}
app-mis-ingresos .grupo-total {
  font-size: 0.64rem;
  font-weight: 700;
  color: #5a6a70;
  text-align: center;
  margin-bottom: 4px;
  white-space: nowrap;
  min-height: 14px;
}
app-mis-ingresos .grupo-total.grupo-total-vacio {
  visibility: hidden;
}
app-mis-ingresos .grupo-barras {
  display: flex;
  gap: 3px;
  align-items: flex-end;
  height: 100px;
  width: 100%;
  justify-content: center;
}
app-mis-ingresos .barra-v {
  width: 10px;
  border-radius: 3px 3px 0 0;
  min-height: 0;
  transition: height 0.2s ease;
}
app-mis-ingresos .barra-v.vacia {
  min-height: 0;
  height: 0 !important;
  background: transparent !important;
}
app-mis-ingresos .barra-etiqueta {
  font-size: 0.65rem;
  color: #9aa3a8;
  text-align: center;
  margin-top: 4px;
  line-height: 1.1;
}
app-mis-ingresos .barra-etiqueta-sec {
  font-size: 0.58rem;
  color: #c0c8cc;
  text-align: center;
  line-height: 1.1;
}
app-mis-ingresos .leyenda-grafico {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
app-mis-ingresos .leyenda-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  color: #5a6a70;
}
app-mis-ingresos .leyenda-dot {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
app-mis-ingresos .seccion-header {
  margin-bottom: 8px;
}
app-mis-ingresos .seccion-header .card-titulo {
  margin: 0;
}
app-mis-ingresos .link-ver-todos {
  border: 0;
  background: transparent;
  color: var(--ion-color-primary);
  font: 600 0.82rem inherit;
  cursor: pointer;
  padding: 0;
  white-space: nowrap;
}
app-mis-ingresos .link-ver-todos:active {
  opacity: 0.7;
}
app-mis-ingresos .lista-ingresos {
  list-style: none;
  margin: 0;
  padding: 0;
}
app-mis-ingresos .ingreso-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f0f4f5;
}
app-mis-ingresos .ingreso-item:last-child {
  border-bottom: 0;
}
app-mis-ingresos .ingreso-item .c-dot {
  margin-top: 3px;
}
app-mis-ingresos .ingreso-item.ingreso-item-tap {
  cursor: pointer;
}
app-mis-ingresos .ingreso-item.ingreso-item-tap:active {
  background: rgba(0, 0, 0, 0.02);
}
app-mis-ingresos .ingreso-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
app-mis-ingresos .ingreso-nombre {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1e2b30;
}
app-mis-ingresos .ingreso-meta {
  font-size: 0.76rem;
  color: #9aa3a8;
}
app-mis-ingresos .ingreso-motivo {
  font-size: 0.78rem;
  color: #9aa3a8;
  overflow-wrap: anywhere;
}
app-mis-ingresos .ingreso-nota {
  font-size: 0.78rem;
  color: #5a6a70;
  font-style: italic;
  overflow-wrap: anywhere;
}
app-mis-ingresos .ingreso-monto {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1e2b30;
  white-space: nowrap;
}
app-mis-ingresos .fab-registrar {
  display: none;
}
app-mis-ingresos .btn-registrar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 0;
  margin-bottom: 10px;
  background: var(--ion-color-primary);
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 14px 20px;
  font: 600 0.95rem inherit;
  cursor: pointer;
}
app-mis-ingresos .btn-registrar ion-icon {
  font-size: 18px;
}
app-mis-ingresos .meta {
  color: #9aa3a8;
  font-size: 0.88rem;
  text-align: center;
  padding: 16px 0;
  margin: 0;
}
app-ingresos-registrados .ingresos-registrados {
  padding: 12px 16px var(--app-mis-ingresos-list-pad-bottom);
}
app-ingresos-registrados .filtros {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  background: #f0f4f5;
  border-radius: 10px;
  padding: 4px;
}
app-ingresos-registrados .filtros button {
  flex: 1;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 7px 4px;
  font: 600 0.8rem inherit;
  color: #9aa3a8;
  cursor: pointer;
  white-space: nowrap;
}
app-ingresos-registrados .filtros button.activo {
  background: #fff;
  color: var(--ion-color-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
app-ingresos-registrados .periodo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
app-ingresos-registrados .periodo.sin-flechas {
  justify-content: center;
}
app-ingresos-registrados .periodo .periodo-texto {
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
app-ingresos-registrados .periodo .periodo-texto strong {
  font-size: 0.95rem;
  color: #1e2b30;
}
app-ingresos-registrados .periodo .periodo-texto span {
  font-size: 0.75rem;
  color: #9aa3a8;
}
app-ingresos-registrados .periodo .periodo-texto-btn {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
  font: inherit;
}
app-ingresos-registrados .periodo .periodo-texto-btn:active {
  background: rgba(var(--ion-color-primary-rgb), 0.06);
}
app-ingresos-registrados .nav-btn {
  border: 0;
  background: transparent;
  color: var(--ion-color-primary);
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 6px;
}
app-ingresos-registrados .card {
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  margin-bottom: 10px;
}
app-ingresos-registrados .personalizado {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
app-ingresos-registrados .personalizado label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #5a6a70;
}
app-ingresos-registrados .personalizado .error {
  color: var(--ion-color-danger, #c0392b);
  font-size: 0.8rem;
  margin: 0;
}
app-ingresos-registrados .personalizado ion-button {
  --border-radius: 8px;
  text-transform: none;
  font-weight: 600;
  font-size: 0.88rem;
}
app-ingresos-registrados .selector-consultorio-wrap {
  padding: 0;
}
app-ingresos-registrados .selector-consultorio {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  gap: 8px;
}
app-ingresos-registrados .selector-consultorio .selector-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #9aa3a8;
  margin-right: 4px;
}
app-ingresos-registrados .selector-consultorio .selector-valor {
  flex: 1;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e2b30;
  text-align: left;
}
app-ingresos-registrados .selector-consultorio ion-icon {
  color: #9aa3a8;
  font-size: 18px;
}
app-ingresos-registrados .consultorio-desplegado {
  border-top: 1px solid #f0f4f5;
  padding: 4px 0;
}
app-ingresos-registrados .item-consultorio {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.9rem;
  color: #1e2b30;
}
app-ingresos-registrados .item-consultorio:hover {
  background: #f8fafb;
}
app-ingresos-registrados .consultorio-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
app-ingresos-registrados .grupo-anio {
  margin-bottom: 8px;
}
app-ingresos-registrados .anio-titulo {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e2b30;
  margin: 8px 4px 10px;
}
app-ingresos-registrados .mes-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f4f5;
}
app-ingresos-registrados .mes-titulo {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1e2b30;
}
app-ingresos-registrados .mes-total {
  font-size: 0.88rem;
  color: var(--ion-color-primary);
}
app-ingresos-registrados .lista-ingresos {
  list-style: none;
  margin: 0;
  padding: 0;
}
app-ingresos-registrados .ingreso-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f0f4f5;
}
app-ingresos-registrados .ingreso-item:last-child {
  border-bottom: 0;
}
app-ingresos-registrados .ingreso-item .c-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 3px;
}
app-ingresos-registrados .ingreso-item.ingreso-item-tap {
  cursor: pointer;
}
app-ingresos-registrados .ingreso-item.ingreso-item-tap:active {
  background: rgba(0, 0, 0, 0.02);
}
app-ingresos-registrados .ingreso-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
app-ingresos-registrados .ingreso-nombre {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1e2b30;
}
app-ingresos-registrados .ingreso-meta {
  font-size: 0.76rem;
  color: #9aa3a8;
}
app-ingresos-registrados .ingreso-motivo {
  font-size: 0.78rem;
  color: #9aa3a8;
  overflow-wrap: anywhere;
}
app-ingresos-registrados .ingreso-nota {
  font-size: 0.78rem;
  color: #5a6a70;
  font-style: italic;
  overflow-wrap: anywhere;
}
app-ingresos-registrados .ingreso-monto {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1e2b30;
  white-space: nowrap;
}
app-ingresos-registrados .ingreso-acciones {
  display: flex;
  align-items: center;
  gap: 2px;
}
app-ingresos-registrados .btn-accion {
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 4px;
  font-size: 18px;
}
app-ingresos-registrados .btn-accion.btn-editar {
  color: #0d9488;
}
app-ingresos-registrados .btn-accion.btn-eliminar {
  color: #e11d48;
}
app-ingresos-registrados .meta {
  color: #9aa3a8;
  font-size: 0.88rem;
  text-align: center;
  padding: 16px 0;
  margin: 0;
}

/* src/theme/variables.scss */
:root {
  --ion-color-primary: #287d84;
  --ion-color-primary-rgb:
    40,
    125,
    132;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb:
    255,
    255,
    255;
  --ion-color-primary-shade: #236e74;
  --ion-color-primary-tint: #3e8a90;
  --ion-color-secondary: #5a9aa0;
  --ion-color-secondary-rgb:
    90,
    154,
    160;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb:
    255,
    255,
    255;
  --ion-color-secondary-shade: #4f878d;
  --ion-color-secondary-tint: #6ba4a9;
  --ion-color-tertiary: #6b9b96;
  --ion-color-tertiary-rgb:
    107,
    155,
    150;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb:
    255,
    255,
    255;
  --ion-color-tertiary-shade: #5e8884;
  --ion-color-tertiary-tint: #7aa5a1;
  --ion-color-success: #5a8f80;
  --ion-color-success-rgb:
    90,
    143,
    128;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb:
    255,
    255,
    255;
  --ion-color-success-shade: #4f7e71;
  --ion-color-success-tint: #6b9a8d;
  --ion-color-warning: #b89a5e;
  --ion-color-warning-rgb:
    184,
    154,
    94;
  --ion-color-warning-contrast: #2a3336;
  --ion-color-warning-contrast-rgb:
    42,
    51,
    54;
  --ion-color-warning-shade: #a28753;
  --ion-color-warning-tint: #bfa46e;
  --ion-color-danger: #b56b6b;
  --ion-color-danger-rgb:
    181,
    107,
    107;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb:
    255,
    255,
    255;
  --ion-color-danger-shade: #9f5e5e;
  --ion-color-danger-tint: #bd7a7a;
  --ion-color-dark: #2a3336;
  --ion-color-dark-rgb:
    42,
    51,
    54;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb:
    255,
    255,
    255;
  --ion-color-dark-shade: #252d30;
  --ion-color-dark-tint: #3f474a;
  --ion-color-medium: #6e7f82;
  --ion-color-medium-rgb:
    110,
    127,
    130;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb:
    255,
    255,
    255;
  --ion-color-medium-shade: #617072;
  --ion-color-medium-tint: #7d8c8e;
  --ion-color-light: #f3f1ed;
  --ion-color-light-rgb:
    243,
    241,
    237;
  --ion-color-light-contrast: #2a3336;
  --ion-color-light-contrast-rgb:
    42,
    51,
    54;
  --ion-color-light-shade: #d6d4d0;
  --ion-color-light-tint: #f4f3ef;
  --ion-background-color: #f6f4f1;
  --ion-background-color-rgb:
    246,
    244,
    241;
  --ion-text-color: #2a3336;
  --ion-text-color-rgb:
    42,
    51,
    54;
  --ion-toolbar-background: #fbf9f7;
  --ion-toolbar-color: var(--ion-color-primary);
  --ion-tab-bar-background: #ffffff;
  --ion-item-background: #ffffff;
  --ion-card-background: #ffffff;
  --ion-item-border-color: rgba(var(--ion-color-primary-rgb), 0.1);
  --ion-color-step-50: #f3f1ee;
  --ion-color-step-100: #ebe8e4;
  --ion-color-step-150: #e4e0db;
  --ion-color-step-200: #dcd8d3;
  --ion-color-step-250: #d5d0cb;
  --ion-color-step-300: #cdc8c2;
  --ion-color-step-350: #c6c0ba;
  --ion-color-step-400: #beb8b1;
  --ion-color-step-450: #b7b0a9;
  --ion-color-step-500: #afa8a1;
  --ion-color-step-550: #8c8680;
  --ion-color-step-600: #6e7f82;
  --ion-color-step-650: #5c6b6e;
  --ion-color-step-700: #4a5658;
  --ion-color-step-750: #3d4749;
  --ion-color-step-800: #2a3336;
  --ion-color-step-850: #232b2d;
  --ion-color-step-900: #1c2224;
  --ion-color-step-950: #161a1c;
  --trinity-radius: 16px;
  --trinity-radius-sm: 12px;
  --trinity-shadow: 0 4px 18px rgba(var(--ion-color-primary-rgb), 0.08);
  --trinity-header-background: #3b9399;
  --app-tab-bar-height: 56px;
  --app-mis-ingresos-list-pad-bottom: calc( var(--app-tab-bar-height) + env(safe-area-inset-bottom, 0px) + 16px );
  --app-bp-md: 768px;
  --app-bp-lg: 1024px;
  --app-content-max: 720px;
  --app-content-wide: 1120px;
  --app-desktop-rail-width: 220px;
  --app-desktop-page-pad: 28px;
}
@media (min-width: 1024px) {
  :root {
    --app-tab-bar-height: 0px;
  }
}

/* src/theme/responsive.scss */
.app-page {
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}
.app-desktop-rail {
  display: none;
}
@media (min-width: 768px) {
  .app-page {
    max-width: var(--app-content-max);
  }
  .app-page--wide {
    max-width: var(--app-content-wide);
  }
  ion-content.app-content-centered {
    --padding-start: max(16px, calc((100% - var(--app-content-max)) / 2));
    --padding-end: max(16px, calc((100% - var(--app-content-max)) / 2));
  }
  ion-content.app-content-centered--wide {
    --padding-start: max(16px, calc((100% - var(--app-content-wide)) / 2));
    --padding-end: max(16px, calc((100% - var(--app-content-wide)) / 2));
  }
  .app-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}
@media (min-width: 1024px) {
  .app-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
}
.app-tabs-shell--desktop {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  position: relative;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.app-tabs-shell--desktop .app-desktop-rail {
  display: flex;
  flex-direction: column;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--app-desktop-rail-width, 220px);
  gap: 0;
  padding: 14px 10px 12px;
  box-sizing: border-box;
  background: #fff;
  border-right: 0.55px solid rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.12);
  z-index: 1000;
}
.app-tabs-shell--desktop .app-desktop-rail__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0 0 6px;
  padding: 4px 8px 12px;
  border: none;
  border-bottom: 0.55px solid rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.1);
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.app-tabs-shell--desktop .app-desktop-rail__brand:focus-visible {
  outline: 2px solid var(--ion-color-primary);
  outline-offset: 2px;
  border-radius: var(--trinity-radius-sm, 12px);
}
.app-tabs-shell--desktop .app-desktop-rail__brand img {
  display: block;
  width: 112px;
  height: auto;
  object-fit: contain;
}
.app-tabs-shell--desktop .app-desktop-rail__brand-sub {
  margin: 6px 0 0;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ion-color-medium);
  text-align: center;
}
.app-tabs-shell--desktop .app-desktop-rail__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: 8px;
}
.app-tabs-shell--desktop .app-desktop-rail__section {
  margin: 14px 8px 4px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ion-color-medium);
}
.app-tabs-shell--desktop .app-desktop-rail__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 9px 10px;
  border: none;
  border-radius: var(--trinity-radius-sm, 12px);
  background: transparent;
  color: var(--ion-color-medium);
  cursor: pointer;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  box-sizing: border-box;
}
.app-tabs-shell--desktop .app-desktop-rail__item ion-icon {
  flex: 0 0 auto;
  font-size: 20px;
}
.app-tabs-shell--desktop .app-desktop-rail__item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-tabs-shell--desktop .app-desktop-rail__badge {
  margin-left: auto;
  min-width: 18px;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--ion-color-danger);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.app-tabs-shell--desktop .app-desktop-rail__item--active {
  color: var(--ion-color-primary);
  background: rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.12);
  font-weight: 600;
}
.app-tabs-shell--desktop .app-desktop-rail__item:hover {
  background: rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.06);
  color: var(--ion-color-primary);
}
.app-tabs-shell--desktop .app-desktop-rail__item--active:hover {
  background: rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.14);
}
.app-tabs-shell--desktop .app-desktop-rail__item:focus-visible {
  outline: 2px solid var(--ion-color-primary);
  outline-offset: 2px;
}
.app-tabs-shell--desktop .app-desktop-rail__user {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 10px 8px;
  border-top: 0.55px solid rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.1);
  text-decoration: none;
  color: inherit;
  border-radius: var(--trinity-radius-sm, 12px);
}
.app-tabs-shell--desktop .app-desktop-rail__user:hover {
  background: rgba(var(--ion-color-primary-rgb, 40, 125, 132), 0.06);
}
.app-tabs-shell--desktop .app-desktop-rail__avatar {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ion-color-primary);
  color: var(--ion-color-primary-contrast);
  font-size: 0.72rem;
  font-weight: 700;
}
.app-tabs-shell--desktop .app-desktop-rail__user-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.app-tabs-shell--desktop .app-desktop-rail__user-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ion-text-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-tabs-shell--desktop .app-desktop-rail__user-role {
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--ion-color-medium);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-tabs-shell--desktop .app-desktop-rail__user > ion-icon {
  flex: 0 0 auto;
  font-size: 16px;
  color: var(--ion-color-medium);
}
.app-tabs-shell--desktop > ion-tabs {
  left: var(--app-desktop-rail-width, 220px) !important;
  width: calc(100% - var(--app-desktop-rail-width, 220px)) !important;
  right: 0 !important;
}
.app-tab-bar-slot--hidden {
  display: none !important;
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
