/* src/global.scss */
:root {
  --color-navy: #1e3a5f;
  --color-sage: #16B8B1;
  --color-terracotta: #E2734C;
  --color-white: #ffffff;
  --color-ink: #4A5A6E;
  --color-mist: #F7F4EF;
  --color-placeholder: #6B7788;
  --ion-color-primary: #1e3a5f;
  --ion-color-primary-rgb:
    30,
    58,
    95;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb:255,
    255,
    255;
  --ion-color-primary-shade: #1a334f;
  --ion-color-primary-tint: #354e72;
  --ion-color-secondary: #16B8B1;
  --ion-color-secondary-rgb:
    22,
    184,
    177;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb:255,
    255,
    255;
  --ion-color-secondary-shade: #13A29C;
  --ion-color-secondary-tint: #2DBFB9;
  --ion-color-tertiary: #E2734C;
  --ion-color-tertiary-rgb:
    226,
    115,
    76;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb:255,
    255,
    255;
  --ion-color-tertiary-shade: #C76543;
  --ion-color-tertiary-tint: #E5815E;
  --ion-color-success: #2dd36f;
  --ion-color-success-rgb:
    45,
    211,
    111;
  --ion-color-success-contrast: #000000;
  --ion-color-success-contrast-rgb:0,
    0,
    0;
  --ion-color-success-shade: #28ba62;
  --ion-color-success-tint: #42d77d;
  --ion-color-warning: #F5A623;
  --ion-color-warning-rgb:
    245,
    166,
    35;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb:0,
    0,
    0;
  --ion-color-warning-shade: #d8921f;
  --ion-color-warning-tint: #f6af39;
  --ion-color-danger: #eb445a;
  --ion-color-danger-rgb:
    235,
    68,
    90;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb:255,
    255,
    255;
  --ion-color-danger-shade: #cf3c4f;
  --ion-color-danger-tint: #ed576b;
  --ion-color-dark: #222428;
  --ion-color-dark-rgb:
    34,
    36,
    40;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb:255,
    255,
    255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-tint: #383a3e;
  --ion-color-medium: #92949c;
  --ion-color-medium-rgb:
    146,
    148,
    156;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb:255,
    255,
    255;
  --ion-color-medium-shade: #808289;
  --ion-color-medium-tint: #9d9fa6;
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb:
    244,
    245,
    248;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb:0,
    0,
    0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-tint: #f5f6f9;
  --ion-background-color: #ffffff;
  --ion-background-color-rgb:
    255,
    255,
    255;
  --ion-text-color: #1e3a5f;
  --ion-text-color-rgb:
    30,
    58,
    95;
  --ion-border-color: #e0e4eb;
  --ion-border-radius: 8px;
  --ion-card-border-radius: 12px;
  --sidebar-width: 260px;
  --ion-toolbar-background: var(--color-navy);
  --ion-toolbar-color: #ffffff;
}
.ion-color-accent {
  --ion-color-base: var(--color-terracotta);
  --ion-color-base-rgb:
    226,
    115,
    76;
  --ion-color-contrast: #ffffff;
  --ion-color-contrast-rgb:
    255,
    255,
    255;
  --ion-color-shade: #C76543;
  --ion-color-tint: #E5815E;
}
:root {
  --ion-font-family:
    "Poppins",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}
h1,
.heading-1 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-navy);
  margin: 0 0 0.5rem;
}
h2,
.heading-2 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-navy);
  margin: 0 0 0.5rem;
}
h3,
.heading-3 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 0.25rem;
}
h4,
.heading-4 {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 0.25rem;
}
h5,
.heading-5 {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
}
h6,
.heading-6 {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.body-large {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}
.body-small {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}
.caption {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--ion-color-medium);
}
.label-bold {
  font-size: 0.875rem;
  font-weight: 600;
}
.overline {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ion-color-medium);
}
.brand-name-lowercase {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.brand-name-lowercase::first-letter {
  font-size: 1.1em;
}
.brand-name-uppercase {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
ion-card {
  border-radius: var(--ion-card-border-radius);
  box-shadow: 0 2px 12px rgba(30, 58, 95, 0.08);
}
ion-button {
  --border-radius: var(--ion-border-radius);
  font-weight: 600;
  letter-spacing: 0.02em;
}
ion-item {
  --border-radius: var(--ion-border-radius);
}
ion-input,
ion-select,
ion-textarea {
  --border-radius: var(--ion-border-radius);
}
ion-select::part(text),
ion-select::part(placeholder) {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
ion-select::part(container) {
  overflow: visible;
}
ion-select-popover ion-radio::part(label),
ion-select-popover ion-checkbox::part(label) {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}
ion-select-popover ion-item {
  --min-height: 44px;
}
.establishment-filter-popover {
  --width: 280px;
  --max-width: 320px;
}
ion-modal.fit-content-modal {
  --width: min(560px, calc(100% - 32px));
  --height: fit-content;
  --border-radius: 12px;
}
ion-modal.calendar-modal {
  --width: min(640px, calc(100% - 32px));
  --height: min(92vh, 800px);
  --border-radius: 12px;
}
@media (max-width: 767px) {
  ion-modal.calendar-modal {
    --width: 100%;
    --height: 100%;
    --border-radius: 0;
  }
}
ion-modal.calendar-detail-modal {
  --width: min(520px, calc(100% - 32px));
  --height: auto;
  --max-height: 90vh;
  --border-radius: 12px;
}
ion-modal.calendar-detail-modal .ion-page {
  position: relative;
  display: flex;
  flex-direction: column;
  contain: content;
  max-height: 90vh;
}
@media (max-width: 767px) {
  ion-modal.calendar-detail-modal {
    --width: 100%;
    --border-radius: 16px 16px 0 0;
  }
}
ion-toolbar {
  --background: var(--color-navy);
  --color: #ffffff;
}
ion-split-pane {
  --side-max-width: var(--sidebar-width);
  --side-min-width: var(--sidebar-width);
  --side-width: var(--sidebar-width);
  --border: 1px solid var(--ion-border-color);
}
ion-menu {
  --width: var(--sidebar-width);
  --max-width: var(--sidebar-width);
}
ion-item ion-input,
ion-item ion-select,
ion-item ion-textarea,
ion-input[fill=outline],
ion-select[fill=outline],
ion-textarea[fill=outline] {
  --highlight-color-focused: var(--ion-color-primary);
  --highlight-color-valid: var(--ion-color-primary);
}
ion-note[color=danger] {
  font-size: 0.75rem;
  padding: 2px 16px 4px;
  display: block;
}
.status-active {
  color: var(--ion-color-success);
}
.status-inactive {
  color: var(--ion-color-medium);
}
.status-suspended {
  color: var(--ion-color-danger);
}
.status-pending {
  color: var(--ion-color-warning);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  padding: 12px 16px;
}
.stat-card {
  text-align: center;
  padding: 16px 12px;
}
.stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--color-navy);
  display: block;
}
.stat-card .stat-label {
  font-size: 0.75rem;
  color: var(--ion-color-medium);
  margin-top: 4px;
}
@media print {
  ion-header,
  ion-footer,
  ion-tab-bar,
  ion-menu,
  ion-split-pane ion-menu,
  .no-print,
  ion-button.no-print {
    display: none !important;
  }
  ion-content {
    --overflow: visible;
    overflow: visible;
  }
  .print-only {
    display: block !important;
  }
}
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: var(--ion-color-light);
}
::-webkit-scrollbar-thumb {
  background: rgba(30, 58, 95, 0.3);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(30, 58, 95, 0.5);
}
.filters-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 0 4px;
}
.filters-row .establishment-filter {
  flex: 0 0 260px;
  max-width: 260px;
  --min-height: 40px;
  --background: #ffffff;
  color: var(--color-navy);
  min-height: 44px;
}
.content-filters app-establishment-picker {
  flex: 1 1 200px;
  min-width: 200px;
}
@media (max-width: 767px) {
  .content-filters app-establishment-picker {
    flex-basis: 100%;
  }
}
.filters-row ion-searchbar {
  flex: 1;
  padding: 0;
}
@media (max-width: 768px) {
  .filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
  }
  .filters-row .establishment-filter {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
  }
}
.content-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px 12px;
  padding: 16px 16px 0;
}
.content-filters > .filter-item {
  flex: 1 1 200px;
  min-width: 200px;
}
.content-filters > ion-searchbar {
  flex: 2 1 260px;
  min-width: 200px;
  padding: 0;
  --border-radius: 8px;
  --box-shadow: none;
  --background: #ffffff;
  border: 1px solid var(--ion-color-step-300, #b3b3b3);
  border-radius: 8px;
  min-height: 56px;
}
@media (max-width: 767px) {
  .content-filters > .filter-item,
  .content-filters > ion-searchbar {
    flex-basis: 100%;
  }
}
.full-width {
  width: 100%;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.mt-0 {
  margin-top: 0;
}
.mb-0 {
  margin-bottom: 0;
}
.p-0 {
  padding: 0;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.flex-1 {
  flex: 1;
}
.gap-8 {
  gap: 8px;
}
.gap-12 {
  gap: 12px;
}
.gap-16 {
  gap: 16px;
}
.mt-12 {
  margin-top: 12px;
}
.mt-16 {
  margin-top: 16px;
}
.mt-24 {
  margin-top: 24px;
}
.text-success {
  color: var(--ion-color-success);
}
.text-danger {
  color: var(--ion-color-danger);
}
.text-warning {
  color: var(--ion-color-warning);
}
.form-row {
  display: flex;
  gap: 12px;
}
.form-row > * {
  flex: 1;
}
.receipt-section {
  margin-top: 12px;
}
.receipt-label {
  font-weight: 600;
  margin-bottom: 8px;
}
.receipt-label .required {
  color: var(--ion-color-danger);
}
.receipt-file-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--ion-color-step-200, #ccc);
  border-radius: var(--ion-border-radius, 8px);
  margin-bottom: 8px;
}
.receipt-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.attachment-section {
  margin-top: 12px;
}
.attachment-label {
  font-weight: 600;
  margin-bottom: 8px;
}
.attachment-file-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--ion-color-step-200, #ccc);
  border-radius: var(--ion-border-radius, 8px);
  margin-bottom: 8px;
}
.attachment-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-width: 420px;
  margin-bottom: 8px;
}
.photo-grid .photo-tile {
  position: relative;
  aspect-ratio: 1;
  border: 1px solid var(--ion-color-step-200, #ccc);
  border-radius: var(--ion-border-radius, 8px);
  overflow: hidden;
  background: var(--ion-color-step-50, #f2f2f2);
}
.photo-grid .photo-open {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ion-color-medium);
  font-size: 32px;
  cursor: pointer;
}
.photo-grid .photo-open img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.photo-grid .photo-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  color: var(--ion-color-danger);
  font-size: 24px;
  cursor: pointer;
}
.table-scroll {
  overflow-x: auto;
}
.statement-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.875rem;
  min-width: 480px;
}
.statement-table th {
  padding: 8px;
  background: var(--ion-color-primary);
  color: #fff;
  text-align: left;
  position: sticky;
  top: 0;
}
.statement-table th.text-right {
  text-align: right;
}
.statement-table th.text-center {
  text-align: center;
}
.statement-table td {
  padding: 8px;
  border-bottom: 1px solid var(--ion-color-light);
}
.report-card {
  margin: 16px;
}
.progress-track {
  margin-top: 16px;
  background: var(--ion-color-light);
  border-radius: 8px;
  overflow: hidden;
}
.progress-fill {
  height: 12px;
  background: var(--ion-color-success);
  border-radius: 8px;
}
ion-input,
ion-textarea,
ion-select {
  --placeholder-color: var(--color-placeholder);
  --placeholder-opacity: 1;
}
ion-input:not(.label-floating) .label-text-wrapper,
ion-textarea:not(.label-floating) .label-text-wrapper {
  color: var(--color-placeholder);
}
ion-select:not(.label-floating)::part(label) {
  color: var(--color-placeholder);
}
ion-input[type=date]:not(.has-value) input {
  color: var(--color-placeholder);
}

/* src/theme/variables.scss */
:root {
  --color-navy: #1e3a5f;
  --color-sage: #16B8B1;
  --color-terracotta: #E2734C;
  --color-white: #ffffff;
  --color-ink: #4A5A6E;
  --color-mist: #F7F4EF;
  --color-placeholder: #6B7788;
  --ion-color-primary: #1e3a5f;
  --ion-color-primary-rgb:
    30,
    58,
    95;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb:255,
    255,
    255;
  --ion-color-primary-shade: #1a334f;
  --ion-color-primary-tint: #354e72;
  --ion-color-secondary: #16B8B1;
  --ion-color-secondary-rgb:
    22,
    184,
    177;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb:255,
    255,
    255;
  --ion-color-secondary-shade: #13A29C;
  --ion-color-secondary-tint: #2DBFB9;
  --ion-color-tertiary: #E2734C;
  --ion-color-tertiary-rgb:
    226,
    115,
    76;
  --ion-color-tertiary-contrast: #ffffff;
  --ion-color-tertiary-contrast-rgb:255,
    255,
    255;
  --ion-color-tertiary-shade: #C76543;
  --ion-color-tertiary-tint: #E5815E;
  --ion-color-success: #2dd36f;
  --ion-color-success-rgb:
    45,
    211,
    111;
  --ion-color-success-contrast: #000000;
  --ion-color-success-contrast-rgb:0,
    0,
    0;
  --ion-color-success-shade: #28ba62;
  --ion-color-success-tint: #42d77d;
  --ion-color-warning: #F5A623;
  --ion-color-warning-rgb:
    245,
    166,
    35;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb:0,
    0,
    0;
  --ion-color-warning-shade: #d8921f;
  --ion-color-warning-tint: #f6af39;
  --ion-color-danger: #eb445a;
  --ion-color-danger-rgb:
    235,
    68,
    90;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb:255,
    255,
    255;
  --ion-color-danger-shade: #cf3c4f;
  --ion-color-danger-tint: #ed576b;
  --ion-color-dark: #222428;
  --ion-color-dark-rgb:
    34,
    36,
    40;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb:255,
    255,
    255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-tint: #383a3e;
  --ion-color-medium: #92949c;
  --ion-color-medium-rgb:
    146,
    148,
    156;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb:255,
    255,
    255;
  --ion-color-medium-shade: #808289;
  --ion-color-medium-tint: #9d9fa6;
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb:
    244,
    245,
    248;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb:0,
    0,
    0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-tint: #f5f6f9;
  --ion-background-color: #ffffff;
  --ion-background-color-rgb:
    255,
    255,
    255;
  --ion-text-color: #1e3a5f;
  --ion-text-color-rgb:
    30,
    58,
    95;
  --ion-border-color: #e0e4eb;
  --ion-border-radius: 8px;
  --ion-card-border-radius: 12px;
  --sidebar-width: 260px;
  --ion-toolbar-background: var(--color-navy);
  --ion-toolbar-color: #ffffff;
}
.ion-color-accent {
  --ion-color-base: var(--color-terracotta);
  --ion-color-base-rgb:
    226,
    115,
    76;
  --ion-color-contrast: #ffffff;
  --ion-color-contrast-rgb:
    255,
    255,
    255;
  --ion-color-shade: #C76543;
  --ion-color-tint: #E5815E;
}

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