/* apps/Accounting-Frontend-V2/src/styles.scss */
:root {
  --brand-light: #22B469;
  --brand-dark: #22ac65;
  --error-light: #ef4444;
  --error-dark: #dc2626;
  --info-light: #3b82f6;
  --info-dark: #2563eb;
  --success-light: #10b981;
  --success-dark: #059669;
  --warn-light: #f59e0b;
  --warn-dark: #d97706;
  --neutral-0: #000000;
  --neutral-1: #0A0A0A;
  --neutral-2: #141414;
  --neutral-3: #1A1A1A;
  --neutral-4: #262626;
  --neutral-5: #404040;
  --neutral-6: #525252;
  --neutral-7: #737373;
  --neutral-8: #8A8A8A;
  --neutral-9: #A3A3A3;
  --neutral-10: #D1D5DB;
  --neutral-11: #CBD5E1;
  --neutral-12: #E2E8F0;
  --neutral-13: #EDF2F7;
  --neutral-14: #F1F5F9;
  --neutral-15: #FFFFFF;
  --primary-text: light-dark(#111827, #FFFFFF);
  --secondary-text: light-dark(#4B5563, #A1A1AA);
  --mat-sys-info: light-dark(var(--info-dark), var(--info-light));
  --mat-sys-success: light-dark(var(--success-dark), var(--success-light));
  --mat-sys-warn: light-dark(var(--warn-dark), var(--warn-light));
}
:root {
  --sys-form-field-size-large: 48px;
  --sys-form-field-size-mid: 36px;
  --sys-form-field-size-small: 28px;
  --sys-form-field-spacing-small: 0.75rem;
  --sys-option-height: 42px;
  --sys-option-padding-x: var(--sys-spacing-md);
  --sys-option-padding-y: var(--sys-spacing-md);
  --sys-form-field-shape: var(--mat-sys-corner-small);
  --sys-form-field-background-color: var(--sys-input-bgr);
  --mat-form-field-container-height: var(--sys-form-field-size-mid);
  --mat-form-field-container-vertical-padding: var(--sys-spacing-sm);
  --mat-form-field-filled-with-label-container-padding-top: var(--sys-spacing-sm);
  --mat-form-field-filled-with-label-container-padding-bottom: var(--sys-spacing-sm);
  --mat-form-field-outlined-label-text-size: var(--mat-sys-body-medium-size);
  --mat-form-field-container-text-size: var(--mat-sys-body-medium-size);
  --mat-form-field-outlined-container-shape: var(--sys-form-field-shape);
  --mat-form-field-filled-container-shape: var(--sys-form-field-shape);
  --mat-form-field-outlined-label-text-weight: 500;
  --mat-form-field-outlined-label-text-color: var(--primary-text);
  --mat-select-panel-background-color: var(--sys-container-surface);
  --mat-select-trigger-text-size: var(--mat-sys-body-medium-size);
}
:root .mat-mdc-text-field-wrapper {
  background-color: var(--sys-form-field-background-color);
  border-radius: var(--sys-form-field-shape);
}
:root .mdc-text-field--filled:not(.mdc-text-field--disabled) {
  background-color: var(--sys-form-field-background-color);
}
:root .mat-mdc-text-field-wrapper,
:root .mat-mdc-notch-piece,
:root .mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input {
  transition-property:
    background-color,
    border-color,
    opacity;
  transition-duration: 0.15s;
  transition-timing-function: ease-out;
}
:root .mat-focused .mat-mdc-text-field-wrapper {
  background-color: var(--sys-container-surface);
}
:root .mat-mdc-form-field:has(label) {
  margin-top: var(--sys-spacing-lg);
}
:root mat-label.uppercase {
  text-transform: uppercase;
}
:root .mat-mdc-option {
  --mat-option-selected-state-layer-color: var(--mat-sys-secondary-container);
  --mat-option-hover-state-layer-color: var(--mat-sys-primary-container);
  --mat-option-label-text-size: var(--mat-sys-body-medium-size);
  --mat-option-label-text-line-height: var(--mat-sys-body-medium-line-height);
  --mat-option-label-text-weight: 500;
  border-radius: var(--mat-sys-corner-small);
}
:root .mat-mdc-option:hover:not(.mdc-list-item--disabled) {
  background-color: var(--mat-sys-surface-container-high);
}
:root .mat-mdc-option {
  margin: 2px var(--sys-spacing-sm);
  padding: 0 var(--sys-option-padding-x);
  min-height: var(--sys-option-height);
}
:root .mat-mdc-option .mdc-list-item__primary-text {
  padding: var(--sys-option-padding-y) 0;
}
:root .mat-mdc-option.button-option {
  border: 1px dashed var(--mat-sys-outline);
  margin-top: var(--sys-spacing-sm);
  padding: var(--sys-spacing-xs);
  background-color: var(--mat-sys-surface-container-lowest);
}
:root .mat-mdc-option.button-option .mdc-list-item__primary-text {
  width: 100%;
}
:root .mat-mdc-option.button-option .mat-icon {
  margin-right: 0;
}
:root .mat-mdc-form-field.field-size-large,
:root .mat-mdc-form-field[size=large] {
  --mat-form-field-container-height: var(--sys-form-field-size-large);
  --mat-form-field-container-vertical-padding: 0.75rem;
  --mat-form-field-filled-with-label-container-padding-top: 0.75rem;
  --mat-form-field-filled-with-label-container-padding-bottom: 0.75rem;
  --mat-select-trigger-text-size: var(--mat-sys-body-large-size);
}
:root .mat-mdc-form-field.field-size-small,
:root .mat-mdc-form-field[size=small] {
  --mat-form-field-container-height: var(--sys-form-field-size-small);
  --mat-form-field-container-vertical-padding: var(--sys-spacing-xs);
  --mat-form-field-filled-with-label-container-padding-top: var(--sys-spacing-xs);
  --mat-form-field-filled-with-label-container-padding-bottom: var(--sys-spacing-xs);
  --mat-form-field-outlined-label-text-size: var(--mat-sys-body-small-size);
  --mat-form-field-container-text-size: var(--mat-sys-body-small-size);
  --mat-select-trigger-text-size: var(--mat-sys-body-small-size);
}
:root .mat-mdc-form-field.field-size-small .mdc-text-field--outlined,
:root .mat-mdc-form-field.field-size-small .mdc-text-field--filled,
:root .mat-mdc-form-field.field-size-small .mdc-text-field,
:root .mat-mdc-form-field[size=small] .mdc-text-field--outlined,
:root .mat-mdc-form-field[size=small] .mdc-text-field--filled,
:root .mat-mdc-form-field[size=small] .mdc-text-field {
  padding-right: var(--sys-form-field-spacing-small);
  padding-left: var(--sys-form-field-spacing-small);
}
:root .mat-mdc-form-field.field-size-small .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,
:root .mat-mdc-form-field[size=small] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  width: var(--sys-spacing-sm);
}
:root .mat-mdc-form-field.field-size-small .mat-mdc-form-field-icon-prefix,
:root .mat-mdc-form-field.field-size-small .mat-mdc-form-field-icon-suffix,
:root .mat-mdc-form-field[size=small] .mat-mdc-form-field-icon-prefix,
:root .mat-mdc-form-field[size=small] .mat-mdc-form-field-icon-suffix {
  --icon-size: 1.1rem;
}
:root .mat-mdc-form-field.field-size-small .mat-mdc-form-field-icon-prefix .mat-icon,
:root .mat-mdc-form-field.field-size-small .mat-mdc-form-field-icon-suffix .mat-icon,
:root .mat-mdc-form-field[size=small] .mat-mdc-form-field-icon-prefix .mat-icon,
:root .mat-mdc-form-field[size=small] .mat-mdc-form-field-icon-suffix .mat-icon {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
  padding: 0;
}
:root .mat-mdc-form-field.field-size-small .mat-mdc-form-field-icon-prefix .mat-icon.pointer,
:root .mat-mdc-form-field.field-size-small .mat-mdc-form-field-icon-suffix .mat-icon.pointer,
:root .mat-mdc-form-field[size=small] .mat-mdc-form-field-icon-prefix .mat-icon.pointer,
:root .mat-mdc-form-field[size=small] .mat-mdc-form-field-icon-suffix .mat-icon.pointer {
  cursor: pointer;
}
:root .mat-mdc-form-field.field-size-small .mat-mdc-option,
:root .mat-mdc-form-field[size=small] .mat-mdc-option {
  --sys-option-height: 32px;
  --sys-option-padding-x: var(--sys-spacing-sm);
  --sys-option-padding-y: var(--sys-spacing-xs);
  --mat-option-label-text-size: var(--mat-sys-body-small-size);
  --mat-option-label-text-line-height: var(--mat-sys-body-small-line-height);
}
:root .mat-mdc-form-field.field-size-small .mat-mdc-option .mat-pseudo-checkbox,
:root .mat-mdc-form-field[size=small] .mat-mdc-option .mat-pseudo-checkbox {
  width: 12px;
  height: 12px;
  margin-left: 8px;
}
:root .mat-mdc-form-field.field-size-small .mat-mdc-option .mat-pseudo-checkbox.mat-pseudo-checkbox-checked::after,
:root .mat-mdc-form-field[size=small] .mat-mdc-option .mat-pseudo-checkbox.mat-pseudo-checkbox-checked::after {
  width: 10px;
  height: 5px;
}
:root .mat-mdc-form-field-hint {
  font-size: var(--mat-sys-label-small-size);
  line-height: var(--mat-sys-label-small-line-height);
  color: var(--mat-sys-on-surface-variant);
  font-style: italic;
}
:root {
  --mat-label-top: -26px;
}
:root .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-floating-label.mdc-floating-label {
  top: var(--mat-label-top);
}
:root .mdc-text-field--outlined.mdc-text-field--focused .mdc-floating-label {
  top: calc(var(--mat-label-top) - 1px);
}
:root .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  --mat-mdc-form-field-label-transform: none;
}
:root .mdc-notched-outline--notched .mdc-notched-outline__notch {
  border-top: 1px solid;
}
:root .mat-mdc-select-panel.mat-select-panel-animations-enabled.mat-select-panel-exit {
  animation-fill-mode: forwards;
}
:root {
  --checkbox-small-size: 1rem;
}
:root .mat-mdc-checkbox[size=small] {
  --mat-checkbox-state-layer-size: var(--checkbox-small-size);
  --mat-checkbox-touch-target-size: calc(var(--checkbox-small-size) + 4px);
  --mat-checkbox-label-text-size: var(--mat-sys-body-medium-size);
  --mat-checkbox-label-text-line-height: var(--mat-sys-body-medium-line-height);
}
:root .mat-mdc-checkbox[size=small] .mdc-checkbox {
  width: var(--checkbox-small-size);
  height: var(--checkbox-small-size);
  flex: 0 0 var(--checkbox-small-size);
}
:root .mat-mdc-checkbox[size=small] .mdc-checkbox__background {
  width: var(--checkbox-small-size);
  height: var(--checkbox-small-size);
  border-radius: 4px;
}
:root {
  --mat-tab-divider-color: var(--sys-panel-border-color);
  --mat-tab-inactive-label-text-color: var(--secondary-text);
  --mat-tab-active-hover-label-text-color: var(--primary-text);
}
:root .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label {
  font-weight: var(--mat-sys-title-small-weight);
}
:root .mat-mdc-tab-group.hidden .mat-mdc-tab-header {
  visibility: hidden;
  height: 0;
}
:root .pill-tabs {
  --mat-tab-active-indicator-shape: var(--mat-sys-corner-medium);
  --mat-tab-active-indicator-color: var(--mat-sys-primary);
  --mat-tab-active-label-text-color: var(--mat-sys-primary);
  --mat-tab-active-focus-label-text-color: var(--mat-sys-primary);
  --mat-tab-active-indicator-height: 1px;
  --mat-tab-divider-height: 0;
}
:root .pill-tabs .mat-mdc-tab:hover .mdc-tab__ripple::before {
  opacity: 0;
}
:root .pill-tabs .mat-mdc-tab:hover .mdc-tab__text-label {
  color: var(--mat-sys-primary);
}
:root .pill-tabs .mat-mdc-tab-labels {
  gap: var(--sys-spacing-md);
  padding: var(--sys-spacing-xs);
  border-radius: var(--mat-sys-corner-medium);
  background-color: var(--sys-container-surface);
  border: 1px solid var(--sys-panel-border-color);
}
:root .pill-tabs .mat-mdc-tab,
:root .pill-tabs .mdc-tab__ripple::before,
:root .pill-tabs .mat-mdc-tab-ripple.mat-mdc-tab-ripple {
  border-radius: var(--mat-sys-corner-medium);
}
:root .pill-tabs .mdc-tab-indicator__content--underline {
  align-self: auto;
  background-color: var(--sys-input-bgr);
  border: 1px solid var(--mat-sys-primary);
}
:root {
  --mat-card-outlined-container-color: var(--sys-container-surface);
  --mat-card-elevated-container-color: var(--sys-container-surface);
  --mat-card-filled-container-color: var(--sys-container-surface);
  --mat-card-outlined-outline-color: var(--mat-sys-outline);
}
:root .mat-mdc-card-content {
  padding: var(--sys-spacing-lg);
}
:root .mat-mdc-card-content:first-child {
  padding-top: var(--sys-spacing-lg);
}
:root .mat-mdc-card-content:last-child {
  padding-bottom: var(--sys-spacing-lg);
}
:root .mat-mdc-card-header {
  border-bottom: 1px solid var(--mat-sys-outline);
  padding-bottom: var(--sys-spacing-md);
  align-items: center;
}
:root .mat-mdc-card-header.stretch,
:root .mat-mdc-card-header[align=stretch] {
  justify-content: space-between;
}
:root .mat-mdc-card-actions {
  border-top: 1px solid var(--mat-sys-outline);
  padding: var(--sys-spacing-lg);
}
:root .mat-mdc-card-actions.stretch {
  --actions-height: 3rem;
  min-height: var(--actions-height);
  padding: 0;
  margin-top: var(--sys-spacing-lg);
  border-top: 1px solid var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));
}
:root .mat-mdc-card-actions.stretch button,
:root .mat-mdc-card-actions.stretch .mdc-button {
  flex: 1 1 auto;
  border-radius: 0;
  height: var(--actions-height);
}
:root .mat-mdc-card-actions.stretch button:first-child,
:root .mat-mdc-card-actions.stretch .mdc-button:first-child {
  border-bottom-left-radius: var(--mat-sys-corner-medium);
}
:root .mat-mdc-card-actions.stretch button:last-child,
:root .mat-mdc-card-actions.stretch .mdc-button:last-child {
  border-bottom-right-radius: var(--mat-sys-corner-medium);
}
:root {
  --buttons-shape: var(--mat-sys-corner-small);
  --button-size: 40px;
  --button-padding-x: 24px;
  --button-text-size: var(--mat-sys-label-large-size);
  --button-line-height: var(--mat-sys-label-medium-line-height);
  --icon-size: 1.375rem;
  --icon-btn-size: 2rem;
  --mat-button-filled-container-shape: var(--buttons-shape);
  --mat-button-outlined-container-shape: var(--buttons-shape);
  --mat-button-protected-container-shape: var(--buttons-shape);
  --mat-button-text-container-shape: var(--buttons-shape);
  --mat-button-tonal-container-shape: var(--buttons-shape);
  --mat-button-filled-container-height: var(--button-size);
  --mat-button-outlined-container-height: var(--button-size);
  --mat-button-tonal-container-height: var(--button-size);
  --mat-button-text-container-height: var(--button-size);
  --mat-button-filled-label-text-size: var(--button-text-size);
  --mat-button-outlined-label-text-size: var(--button-text-size);
  --mat-button-tonal-label-text-size: var(--button-text-size);
  --mat-button-text-label-text-size: var(--button-text-size);
  --mat-button-filled-progress-active-indicator-color: var(--mat-sys-primary);
  --mat-button-outlined-horizontal-padding: var(--button-padding-x);
  --mat-button-filled-horizontal-padding: var(--button-padding-x);
  --mat-button-text-horizontal-padding: var(--button-padding-x);
  --mat-button-tonal-horizontal-padding: var(--button-padding-x);
  --mat-button-protected-horizontal-padding: var(--button-padding-x);
}
:root .mat-mdc-unelevated-button:not(:disabled)[color=neutral] {
  --mat-button-filled-container-color: var(--mat-sys-surface-container-lowest);
}
:root .mat-mdc-unelevated-button:not(:disabled)[color=info] {
  --mat-button-filled-container-color: var(--info-light);
}
:root .mat-mdc-unelevated-button:not(:disabled)[color=error] {
  --mat-button-filled-container-color: var(--mat-sys-error);
}
:root .mat-mdc-unelevated-button:not(:disabled)[color=warn] {
  --mat-button-filled-container-color: var(--warn-light);
}
:root .mat-mdc-outlined-button:not(:disabled) {
  border-color: var(--mat-sys-outline);
  --mat-button-outlined-label-text-color: var(--primary-text);
}
:root .mat-mdc-outlined-button:not(:disabled)[color=neutral] {
  border-color: var(--mat-sys-outline);
  --mat-button-outlined-label-text-color: var(--primary-text);
}
:root .mat-mdc-outlined-button:not(:disabled)[color=primary] {
  border-color: var(--mat-sys-primary);
  --mat-button-outlined-label-text-color: var(--mat-sys-primary);
}
:root .mat-mdc-outlined-button:not(:disabled)[color=error] {
  border-color: var(--mat-sys-error);
}
:root .mat-mdc-outlined-button:not(:disabled)[color=warn] {
  border-color: var(--warn-light);
}
:root .mat-mdc-outlined-button:not(:disabled)[color=info] {
  border-color: var(--info-light);
}
:root .mdc-button[size=large],
:root .mat-mdc-button.size-large {
  --button-size: 48px;
  --button-text-size: var(--mat-sys-label-large-size);
  --button-line-height: var(--mat-sys-label-large-line-height);
  --mat-button-filled-container-shape: var(--buttons-shape);
  --mat-button-outlined-container-shape: var(--buttons-shape);
  --mat-button-protected-container-shape: var(--buttons-shape);
  --mat-button-text-container-shape: var(--buttons-shape);
  --mat-button-tonal-container-shape: var(--buttons-shape);
  --mat-button-filled-container-height: var(--button-size);
  --mat-button-outlined-container-height: var(--button-size);
  --mat-button-tonal-container-height: var(--button-size);
  --mat-button-text-container-height: var(--button-size);
  --mat-button-filled-label-text-size: var(--button-text-size);
  --mat-button-outlined-label-text-size: var(--button-text-size);
  --mat-button-tonal-label-text-size: var(--button-text-size);
  --mat-button-text-label-text-size: var(--button-text-size);
  --mat-button-filled-progress-active-indicator-color: var(--mat-sys-primary);
  line-height: var(--button-line-height);
  --mat-button-outlined-horizontal-padding: var(--button-padding-x);
  --mat-button-filled-horizontal-padding: var(--button-padding-x);
  --mat-button-text-horizontal-padding: var(--button-padding-x);
  --mat-button-tonal-horizontal-padding: var(--button-padding-x);
  --mat-button-protected-horizontal-padding: var(--button-padding-x);
}
:root .mdc-button[size=small],
:root .mat-mdc-button.size-small {
  --button-size: 28px;
  --button-text-size: var(--mat-sys-label-medium-size);
  --button-padding-x: 18px;
  --mat-button-filled-container-shape: var(--buttons-shape);
  --mat-button-outlined-container-shape: var(--buttons-shape);
  --mat-button-protected-container-shape: var(--buttons-shape);
  --mat-button-text-container-shape: var(--buttons-shape);
  --mat-button-tonal-container-shape: var(--buttons-shape);
  --mat-button-filled-container-height: var(--button-size);
  --mat-button-outlined-container-height: var(--button-size);
  --mat-button-tonal-container-height: var(--button-size);
  --mat-button-text-container-height: var(--button-size);
  --mat-button-filled-label-text-size: var(--button-text-size);
  --mat-button-outlined-label-text-size: var(--button-text-size);
  --mat-button-tonal-label-text-size: var(--button-text-size);
  --mat-button-text-label-text-size: var(--button-text-size);
  --mat-button-filled-progress-active-indicator-color: var(--mat-sys-primary);
  line-height: var(--button-line-height);
  --mat-button-outlined-horizontal-padding: var(--button-padding-x);
  --mat-button-filled-horizontal-padding: var(--button-padding-x);
  --mat-button-text-horizontal-padding: var(--button-padding-x);
  --mat-button-tonal-horizontal-padding: var(--button-padding-x);
  --mat-button-protected-horizontal-padding: var(--button-padding-x);
}
:root .mat-mdc-icon-button:not([matsuffix]) {
  --icon-button-border-color: var(--mat-sys-outline);
  --icon-button-container-color: var(--mat-sys-surface);
  --mat-icon-button-container-shape: var(--buttons-shape);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--icon-button-border-color);
}
:root .mat-mdc-icon-button:not([matsuffix])[size=small] {
  --icon-size: 1.375rem;
  --icon-btn-size: 2rem;
  --mat-icon-button-icon-size: var(--icon-size);
  --mat-icon-button-state-layer-size: var(--icon-btn-size);
  --mat-icon-button-touch-target-display: var(--icon-btn-size);
  --mat-icon-button-touch-target-size: var(--icon-btn-size);
}
:root .mat-mdc-icon-button:not([matsuffix])[size=small] .mat-icon {
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-size);
}
:root .mat-mdc-icon-button:not([matsuffix])[variant=outlined] {
  border: 1px solid var(--icon-button-border-color);
  --mat-icon-button-state-layer-color: var(--icon-button-container-color);
  --mat-icon-button-hover-state-layer-opacity: 0.9;
  --mat-icon-button-focus-state-layer-opacity: 0.9;
  --mat-icon-button-container-shape: var(--mat-sys-corner-small);
}
:root .mat-mdc-icon-button:not([matsuffix])[color=primary]:hover {
  --icon-button-border-color: var(--mat-sys-primary);
  --mat-icon-button-icon-color: var(--icon-button-border-color);
}
:root .mat-mdc-icon-button:not([matsuffix])[color=error]:hover {
  --icon-button-border-color: var(--mat-sys-error);
  --mat-icon-button-icon-color: var(--icon-button-border-color);
}
:root .mat-mdc-icon-button:not([matsuffix])[color=warn]:hover {
  --icon-button-border-color: var(--warn-light);
  --mat-icon-button-icon-color: var(--icon-button-border-color);
}
:root .mat-mdc-icon-button:not([matsuffix])[color=info]:hover {
  --icon-button-border-color: var(--info-light);
  --mat-icon-button-icon-color: var(--icon-button-border-color);
}
:root .mdc-button.with-spinner {
  position: relative;
}
:root .mdc-button.with-spinner mat-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
:root .mdc-button.with-spinner .hidden {
  visibility: hidden;
}
:root {
  --menu-height-mobile: 50px;
  --table-header-background-color: var(--sys-container-surface);
  --mat-table-background-color: var(--sys-container-surface);
  --mat-table-row-item-outline-width: 1px;
  --mat-table-row-item-outline-color: var(--sys-panel-border-color);
  --mat-table-header-headline-size: var(--mat-sys-body-small-size);
  --mat-table-header-headline-weight: 700;
}
:root .mat-mdc-row {
  transition: background 0.25s ease-in-out;
}
:root .mat-mdc-row:hover {
  background-color: color-mix(in srgb, var(--mat-sys-primary) 10%, transparent);
}
:root .mat-mdc-row.disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: default;
}
:root .mat-mdc-row.collapsible-row {
  display: grid;
  grid-template-rows: 0fr;
  min-height: 0;
  transition: grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1);
  background-color: var(--mat-sys-surface-container-highest);
}
:root .mat-mdc-row.collapsible-row.row-expanded {
  grid-template-rows: 1fr;
}
:root .mat-mdc-row.collapsible-row mat-cell {
  padding: 0;
  border: none;
}
:root .mat-mdc-cell.vertical,
:root .mat-mdc-header-cell.vertical {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
:root .mat-mdc-cell.align-end,
:root .mat-mdc-header-cell.align-end {
  justify-content: flex-end;
}
:root .mat-mdc-table {
  overflow: hidden;
}
:root .mat-mdc-table:first-child {
  border-top-left-radius: var(--mat-sys-corner-medium);
  border-top-right-radius: var(--mat-sys-corner-medium);
}
:root .mat-mdc-table:last-child {
  border-bottom-left-radius: var(--mat-sys-corner-medium);
  border-bottom-right-radius: var(--mat-sys-corner-medium);
}
:root .mat-mdc-header-row {
  background-color: var(--table-header-background-color, var(--mat-sys-surface-container-low));
}
:root .mat-mdc-header-cell {
  text-transform: uppercase;
}
:root {
}
:root .row-collapsible-wrapper {
  display: grid;
  grid-template-rows: 1fr;
  overflow: hidden;
  transition: grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1);
}
@starting-style {
  :root .row-collapsible-wrapper {
    grid-template-rows: 0fr;
  }
}
:root .slide-in {
  grid-template-rows: 1fr;
}
:root .row-collapsible-content {
  min-height: 0;
  padding: 16px 24px;
  background-color: var(--mat-table-row-item-container-background-color, transparent);
}
@media (max-width: 900px) {
  .mat-mdc-paginator {
    margin-bottom: calc(var(--menu-height-mobile) + var(--sys-spacing-md));
  }
}
:root {
  --mat-menu-container-color: var(--sys-container-surface);
  --mat-menu-item-hover-state-layer-color: var(--mat-sys-primary-container);
  --mat-menu-container-shape: var(--mat-sys-corner-medium);
}
:root .mat-mdc-menu-panel {
  border: 1px solid var(--mat-sys-outline);
}
:root .mat-mdc-menu-panel .menu-header {
  padding-left: var(--mat-menu-item-leading-spacing, 12px);
  padding-right: var(--mat-menu-item-trailing-spacing, 12px);
}
:root .mat-mdc-menu-panel .menu-header .menu-header-title {
  border-bottom: 1px solid var(--mat-sys-outline);
}
:root .mat-mdc-menu-panel .menu-header .menu-header-title.uppercase {
  text-transform: uppercase;
}
:root .mat-mdc-menu-panel.small {
  --mat-menu-item-leading-spacing: var(--sys-spacing-md);
  --mat-menu-item-trailing-spacing: var(--sys-spacing-md);
  --mat-menu-item-spacing: var(--sys-spacing-sm);
  --mat-menu-item-icon-size: 1.25rem;
  --mat-menu-item-label-text-size: var(--mat-sys-label-small-size);
  --mat-menu-item-label-text-weight: 700;
  --mat-menu-item-label-text-tracking: var(--mat-sys-label-small-tracking);
}
:root .mat-mdc-menu-panel.small .mat-mdc-menu-content .mat-mdc-menu-item {
  min-height: auto;
  padding-top: var(--sys-spacing-sm);
  padding-bottom: var(--sys-spacing-sm);
}
:root .mat-mdc-menu-panel.small .mat-mdc-menu-item .mat-icon {
  font-size: 1.25rem;
}
:root .mat-mdc-menu-panel.small .menu-header {
  padding-top: var(--sys-spacing-xs);
}
:root .mat-mdc-menu-panel.small .menu-header-title {
  font-size: var(--mat-sys-label-small-size);
  color: var(--mat-sys-on-surface-variant);
  padding-bottom: var(--sys-spacing-xs);
  margin-bottom: var(--sys-spacing-xs);
}
:root .mat-mdc-menu-panel.uppercase .mat-mdc-menu-item-text {
  text-transform: uppercase;
}
:root .mat-mdc-menu-item .mat-mdc-checkbox {
  display: block;
}
:root .mat-mdc-menu-item .mat-mdc-checkbox .mat-internal-form-field {
  display: flex;
}
:root .mat-mdc-menu-item .mat-mdc-checkbox .mat-internal-form-field > label {
  flex: 1;
}
:root {
  --mat-autocomplete-background-color: var(--sys-container-surface);
  --mat-autocomplete-container-shape: var(--mat-sys-corner-small);
}
:root .cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel {
  border: 1px solid var(--mat-sys-outline);
  border-top-left-radius: var(--mat-sys-corner-small);
  border-top-right-radius: var(--mat-sys-corner-small);
  margin-top: var(--sys-spacing-xs);
}
:root {
  --mat-paginator-container-background-color: var(--mat-sys-surface-container);
}
:root .mat-mdc-paginator {
  border-bottom-left-radius: var(--mat-sys-corner-medium);
  border-bottom-right-radius: var(--mat-sys-corner-medium);
  border-top: 1px solid var(--mat-sys-outline);
  --mat-icon-button-state-layer-size: 2rem;
  --mat-icon-button-touch-target-display: 2rem;
  --mat-icon-button-touch-target-size: 2rem;
}
:root .mat-mdc-paginator-container {
  padding: 0 var(--sys-spacing-lg);
}
:root .mat-mdc-paginator-range-actions {
  gap: var(--sys-spacing-sm);
}
:root .mat-mdc-paginator-range-label {
  margin: 0 var(--sys-spacing-lg);
}
:root {
  --mat-dialog-container-color: var(--sys-container-surface);
  --mat-dialog-container-shape: var(--mat-sys-corner-medium);
  --mat-dialog-headline-padding: 1rem 1.5rem;
  --mat-dialog-actions-padding: 1rem 1.5rem;
  --mat-dialog-subhead-size: var(--mat-sys-title-large-size);
  --mat-dialog-subhead-line-height: var(--mat-sys-title-large-line-height);
  --mat-dialog-subhead-weight: 600;
}
:root .mat-mdc-dialog-title {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--mat-sys-outline);
  margin-bottom: var(--sys-spacing-lg);
}
:root .mat-mdc-dialog-title > button {
  margin-left: auto;
  background-color: transparent;
  border: 0;
  cursor: pointer;
}
:root .mat-mdc-dialog-title .mat-icon {
  margin-right: var(--sys-spacing-xs);
}
:root .mat-mdc-dialog-actions {
  border-top: 1px solid var(--mat-sys-outline);
  background-color: var(--mat-sys-surface-container-low);
  margin-top: var(--sys-spacing-lg);
}
:root .mat-mdc-chip {
  --mat-chip-padding: var(--sys-spacing-sm);
  --text-color: var(--mat-sys-background);
  --trailing-action-color: var(--mat-sys-background);
  --trailing-icon-color: var(--mat-sys-background);
  --elevated-container-color: var(--mat-sys-on-background);
  --outline-color: var(--mat-sys-on-background);
  --mat-chip-container-height: var(--mat-chip-container-height);
  --mat-chip-label-text-size: var(--mat-chip-label-text-size);
  --mat-chip-label-text-line-height: var(--mat-chip-label-text-line-height);
  --mat-chip-container-shape-radius: var(--mat-chip-container-radius);
  --mat-chip-label-text-color: var(--text-color);
  --mat-chip-elevated-container-color: var(--elevated-container-color);
  --mat-chip-outline-color: var(--outline-color);
  --mat-chip-trailing-action-state-layer-color: var(--trailing-action-color);
  --mat-chip-with-trailing-icon-trailing-icon-color: var(--trailing-icon-color);
}
:root .mat-mdc-chip[size=small] {
  --mat-chip-container-height: 1rem;
  --mat-chip-label-text-size: var(--mat-sys-label-small-size);
  --mat-chip-label-text-line-height: var(--mat-sys-label-small-line-height);
  --mat-chip-container-radius: var(--mat-sys-corner-extra-small);
}
:root .mat-mdc-chip[color=primary],
:root .mat-mdc-chip.color-primary {
  --text-color: var(--mat-sys-on-primary-container);
  --trailing-action-color: var(--mat-sys-on-primary-container);
  --trailing-icon-color: var(--mat-sys-on-primary-container);
  --elevated-container-color: var(--mat-sys-primary-container);
  --outline-color: color-mix(in srgb, var(--mat-sys-primary) 30%, transparent);
}
:root .mat-mdc-chip[color=tertiary],
:root .mat-mdc-chip.color-tertiary {
  --text-color: var(--mat-sys-on-tertiary-container);
  --trailing-action-color: var(--mat-sys-on-tertiary-container);
  --trailing-icon-color: var(--mat-sys-on-tertiary-container);
  --elevated-container-color: var(--mat-sys-tertiary-container);
  --outline-color: color-mix(in srgb, var(--mat-sys-tertiary) 30%, transparent);
}
:root .mat-mdc-chip[color=error],
:root .mat-mdc-chip.color-error {
  --text-color: var(--mat-sys-on-error-container);
  --trailing-action-color: var(--mat-sys-on-error-container);
  --trailing-icon-color: var(--mat-sys-on-error-container);
  --elevated-container-color: var(--mat-sys-error-container);
  --outline-color: color-mix(in srgb, var(--mat-sys-error) 30%, transparent);
}
:root .mat-mdc-standard-chip .mdc-evolution-chip__action--primary {
  padding-left: var(--mat-chip-padding);
  padding-right: var(--mat-chip-padding);
  overflow-y: hidden;
}
:root .mat-mdc-slide-toggle {
  --track-width: 44px;
  --track-height: 24px;
  --state-layer-size: calc(var(--track-height) + 4px);
  --handle-icon-size: 18px;
  --handle-color: var(--mat-sys-background);
  --track-color: var(--mat-sys-outline);
  --unselected-horizontal-margin: 4px;
  --selected-horizontal-margin: 24px;
  --mat-slide-toggle-track-width: var(--track-width);
  --mat-slide-toggle-track-height: var(--track-height);
  --mat-slide-toggle-state-layer-size: var(--state-layer-size);
  --mat-slide-toggle-with-icon-handle-size: var(--handle-icon-size);
  --mat-slide-toggle-selected-hover-handle-color: var(--handle-color);
  --mat-slide-toggle-selected-focus-handle-color: var(--handle-color);
  --mat-slide-toggle-unselected-handle-color: var(--handle-color);
  --mat-slide-toggle-unselected-track-color: var(--track-color);
  --mat-slide-toggle-unselected-hover-track-color: var(--track-color);
  --mat-slide-toggle-unselected-focus-track-color: var(--track-color);
  --mat-slide-toggle-selected-with-icon-handle-horizontal-margin: 0 var(--selected-horizontal-margin);
  --mat-slide-toggle-unselected-with-icon-handle-horizontal-margin: 0 var(--unselected-horizontal-margin);
}
:root .mat-mdc-slide-toggle[size=small] {
  --track-width: 36px;
  --track-height: 20px;
  --handle-icon-size: 16px;
  --unselected-horizontal-margin: 2px;
  --selected-horizontal-margin: 18px;
}
:root .mat-mdc-slide-toggle .toggle-info .toggle-title {
  font: var(--mat-sys-body-medium);
  font-weight: 700;
}
:root .mat-mdc-slide-toggle .toggle-info .toggle-description {
  font: var(--mat-sys-body-small);
  color: var(--mat-sys-on-surface-variant);
}
:root .mat-mdc-slide-toggle:not([labelPosition=before]) .toggle-info {
  margin-left: var(--sys-spacing-sm);
}
:root .mdc-switch--unselected:not(:hover, :focus) .mdc-switch__icon.mdc-switch__icon--off {
  fill: var(--secondary-text);
}
:root {
  --mat-datepicker-calendar-container-background-color: var(--sys-container-surface);
  --mat-datepicker-calendar-container-elevation-shadow: var(--mat-sys-level3);
  --calendar-shape: var(--mat-sys-corner-medium);
}
:root .mat-calendar {
  border: 1px solid var(--mat-sys-outline);
  border-radius: var(--calendar-shape);
}
:root .mat-calendar-controls {
  gap: var(--sys-spacing-xs);
}
:root .mat-calendar-body-cell-content {
  border-radius: var(--mat-sys-corner-small);
}
@media print {
  .mat-datepicker-toggle {
    display: none;
  }
}
:root {
  --toastr-box-size: 20rem;
  --toastr-padding: 1rem;
  --toastr-screen-offset: 0.75rem;
  --toastr-border-color: var(--mat-sys-outline);
  --toastr-border-width: 4px;
  --toastr-icon-size: 24px;
  --toastr-radius: var(--mat-sys-corner-small);
}
.toast-center-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.toast-top-center {
  top: 0;
  right: 0;
  width: 100%;
}
.toast-bottom-center {
  bottom: 0;
  right: 0;
  width: 100%;
}
.toast-top-full-width {
  top: 0;
  right: 0;
  width: 100%;
}
.toast-bottom-full-width {
  bottom: 0;
  right: 0;
  width: 100%;
}
.toast-top-left {
  top: var(--toastr-screen-offset);
  left: var(--toastr-screen-offset);
}
.toast-top-right {
  top: var(--toastr-screen-offset);
  right: var(--toastr-screen-offset);
}
.toast-bottom-right {
  right: var(--toastr-screen-offset);
  bottom: var(--toastr-screen-offset);
}
.toast-bottom-left {
  bottom: var(--toastr-screen-offset);
  left: var(--toastr-screen-offset);
}
.toast-title {
  font: var(--mat-sys-body-medium);
  font-weight: 600;
}
.toast-message {
  font: var(--mat-sys-body-small);
  word-wrap: break-word;
  color: var(--mat-sys-on-surface-variant);
}
.toast-message a,
.toast-message label {
  color: var(--mat-sys-on-surface);
}
.toast-message a:hover {
  color: var(--mat-sys-on-surface-variant);
  text-decoration: none;
}
.toast-close-button {
  position: absolute;
  top: 0.25rem;
  right: 0.5rem;
  font-size: 1.5rem;
  color: var(--mat-sys-on-surface);
  opacity: 0.4;
}
.toast-close-button:hover,
.toast-close-button:focus {
  text-decoration: none;
  cursor: pointer;
  opacity: 1;
}
button.toast-close-button {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
}
body > .overlay-container {
  position: fixed;
  inset: 0;
  z-index: 1100;
  pointer-events: none;
}
.toast-container {
  pointer-events: none;
  position: fixed;
  z-index: 999999;
}
.toast-container .ngx-toastr {
  position: relative;
  overflow: hidden;
  margin: 0 0 1rem;
  padding: var(--toastr-padding);
  padding-left: calc(var(--toastr-padding) * 3);
  width: var(--toastr-box-size);
  background-color: var(--mat-sys-surface-container);
  box-shadow:
    var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),
    var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),
    var(--tw-shadow);
  color: var(--mat-sys-on-surface);
  border-radius: var(--toastr-radius);
  border-left: var(--toastr-border-width) solid var(--toastr-border-color);
  pointer-events: auto;
}
.toast-container .ngx-toastr:hover {
  opacity: 1;
  cursor: pointer;
}
.toast-container .ngx-toastr::before {
  content: "\e887";
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1;
  display: inline-block;
  position: absolute;
  width: var(--toastr-icon-size);
  height: var(--toastr-icon-size);
  left: calc(var(--toastr-padding) - var(--toastr-border-width));
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--toastr-icon-size);
  color: var(--toastr-border-color);
}
.toast-container .ngx-toastr.toast-success::before {
  content: "\e86c";
}
.toast-container .ngx-toastr.toast-success {
  color: var(--brand-light);
  --toastr-border-color: var(--brand-light);
}
.toast-container .ngx-toastr.toast-error::before {
  content: "\e5c9";
}
.toast-container .ngx-toastr.toast-error {
  color: var(--error-light);
  --toastr-border-color: var(--error-light);
}
.toast-container .ngx-toastr.toast-info::before {
  content: "\e88e";
}
.toast-container .ngx-toastr.toast-info {
  color: var(--info-light);
  --toastr-border-color: var(--info-light);
}
.toast-container .ngx-toastr.toast-warning::before {
  content: "\e000";
}
.toast-container .ngx-toastr.toast-warning {
  color: var(--warn-light);
  --toastr-border-color: var(--warn-light);
}
.toast-container.toast-top-center .ngx-toastr,
.toast-container.toast-bottom-center .ngx-toastr {
  width: var(--toastr-box-size);
  margin-left: auto;
  margin-right: auto;
}
.toast-container.toast-top-full-width .ngx-toastr,
.toast-container.toast-bottom-full-width .ngx-toastr {
  width: calc(100% - var(--toastr-screen-offset) * 2);
  margin-left: auto;
  margin-right: auto;
}
.toast-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  background-color: var(--mat-sys-primary);
  opacity: 0.4;
  border-radius: 0 0 var(--toastr-radius) var(--toastr-radius);
}
@media screen and (max-width: 480px) {
  .toast-container {
    top: var(--toastr-screen-offset);
    left: var(--toastr-screen-offset);
    right: var(--toastr-screen-offset);
  }
  .toast-container .ngx-toastr {
    width: 100%;
  }
}
:root {
  --mat-sys-background: light-dark(#f4fbf2, #0e1510);
  --mat-sys-error: light-dark(#ba1a1a, #ffb4ab);
  --mat-sys-error-container: light-dark(#ffdad6, #93000a);
  --mat-sys-inverse-on-surface: light-dark(#ecf3e9, #2b322c);
  --mat-sys-inverse-primary: light-dark(#5fde90, #006d3b);
  --mat-sys-inverse-surface: light-dark(#2b322c, #dde4db);
  --mat-sys-on-background: light-dark(#171d18, #dde4db);
  --mat-sys-on-error: light-dark(#ffffff, #690005);
  --mat-sys-on-error-container: light-dark(#93000a, #ffdad6);
  --mat-sys-on-primary: light-dark(#ffffff, #00391c);
  --mat-sys-on-primary-container: light-dark(#00522b, #7dfbaa);
  --mat-sys-on-primary-fixed: light-dark(#00210e, #00210e);
  --mat-sys-on-primary-fixed-variant: light-dark(#00522b, #00522b);
  --mat-sys-on-secondary: light-dark(#ffffff, #003908);
  --mat-sys-on-secondary-container: light-dark(#005311, #91fa8b);
  --mat-sys-on-secondary-fixed: light-dark(#002203, #002203);
  --mat-sys-on-secondary-fixed-variant: light-dark(#005311, #005311);
  --mat-sys-on-surface: light-dark(#171d18, #dde4db);
  --mat-sys-on-surface-variant: light-dark(#3d4a3f, #d8e6d8);
  --mat-sys-on-tertiary: light-dark(#ffffff, #003257);
  --mat-sys-on-tertiary-container: light-dark(#00497b, #d0e4ff);
  --mat-sys-on-tertiary-fixed: light-dark(#001d35, #001d35);
  --mat-sys-on-tertiary-fixed-variant: light-dark(#00497b, #00497b);
  --mat-sys-outline: light-dark(#6d7a6f, #879488);
  --mat-sys-outline-variant: light-dark(#bccabc, #3d4a3f);
  --mat-sys-primary: light-dark(#006d3b, #5fde90);
  --mat-sys-primary-container: light-dark(#7dfbaa, #00522b);
  --mat-sys-primary-fixed: light-dark(#7dfbaa, #7dfbaa);
  --mat-sys-primary-fixed-dim: light-dark(#5fde90, #5fde90);
  --mat-sys-scrim: light-dark(#000000, #000000);
  --mat-sys-secondary: light-dark(#006e19, #75dd72);
  --mat-sys-secondary-container: light-dark(#91fa8b, #005311);
  --mat-sys-secondary-fixed: light-dark(#91fa8b, #91fa8b);
  --mat-sys-secondary-fixed-dim: light-dark(#75dd72, #75dd72);
  --mat-sys-shadow: light-dark(#000000, #000000);
  --mat-sys-surface: light-dark(#f4fbf2, #0e1510);
  --mat-sys-surface-bright: light-dark(#f4fbf2, #343b35);
  --mat-sys-surface-container: light-dark(#e9f0e7, #1b211c);
  --mat-sys-surface-container-high: light-dark(#e3eae1, #252c26);
  --mat-sys-surface-container-highest: light-dark(#dde4db, #303630);
  --mat-sys-surface-container-low: light-dark(#eff6ec, #171d18);
  --mat-sys-surface-container-lowest: light-dark(#ffffff, #09100b);
  --mat-sys-surface-dim: light-dark(#d5dcd3, #0e1510);
  --mat-sys-surface-tint: light-dark(#006d3b, #5fde90);
  --mat-sys-surface-variant: light-dark(#d8e6d8, #3d4a3f);
  --mat-sys-tertiary: light-dark(#0062a1, #9ccaff);
  --mat-sys-tertiary-container: light-dark(#d0e4ff, #00497b);
  --mat-sys-tertiary-fixed: light-dark(#d0e4ff, #d0e4ff);
  --mat-sys-tertiary-fixed-dim: light-dark(#9ccaff, #9ccaff);
  --mat-sys-neutral-variant20: #27332a;
  --mat-sys-neutral10: #171d18;
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
  --mat-sys-body-large: 400 1rem / 1.5rem var(--main-font-family);
  --mat-sys-body-large-font: var(--main-font-family);
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium: 400 0.875rem / 1.25rem var(--main-font-family);
  --mat-sys-body-medium-font: var(--main-font-family);
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small: 400 0.75rem / 1rem var(--main-font-family);
  --mat-sys-body-small-font: var(--main-font-family);
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large: 400 3.562rem / 4rem var(--main-font-family);
  --mat-sys-display-large-font: var(--main-font-family);
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium: 400 2.812rem / 3.25rem var(--main-font-family);
  --mat-sys-display-medium-font: var(--main-font-family);
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small: 400 2.25rem / 2.75rem var(--main-font-family);
  --mat-sys-display-small-font: var(--main-font-family);
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large: 400 2rem / 2.5rem var(--main-font-family);
  --mat-sys-headline-large-font: var(--main-font-family);
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium: 400 1.75rem / 2.25rem var(--main-font-family);
  --mat-sys-headline-medium-font: var(--main-font-family);
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small: 400 1.5rem / 2rem var(--main-font-family);
  --mat-sys-headline-small-font: var(--main-font-family);
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large: 500 0.875rem / 1.25rem var(--main-font-family);
  --mat-sys-label-large-font: var(--main-font-family);
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium: 500 0.75rem / 1rem var(--main-font-family);
  --mat-sys-label-medium-font: var(--main-font-family);
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small: 500 0.688rem / 1rem var(--main-font-family);
  --mat-sys-label-small-font: var(--main-font-family);
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large: 400 1.375rem / 1.75rem var(--main-font-family);
  --mat-sys-title-large-font: var(--main-font-family);
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium: 500 1rem / 1.5rem var(--main-font-family);
  --mat-sys-title-medium-font: var(--main-font-family);
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small: 500 0.875rem / 1.25rem var(--main-font-family);
  --mat-sys-title-small-font: var(--main-font-family);
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: 500;
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
  --mat-sys-primary: light-dark(var(--brand-dark), var(--brand-light));
  --mat-sys-primary-container: color-mix(in srgb, var(--brand-light) 10%, transparent);
  --mat-sys-on-primary-container: light-dark(var(--brand-dark), var(--brand-light));
  --mat-sys-error: light-dark(var(--error-dark), var(--error-light));
  --mat-sys-error-container: color-mix(in srgb, var(--error-light) 10%, transparent);
  --mat-sys-on-error-container: light-dark(var(--error-dark), var(--error-light));
  --mat-sys-surface: light-dark(var(--neutral-14), var(--neutral-1));
  --mat-sys-on-surface: light-dark(#111827, #FFFFFF);
  --mat-sys-on-surface-variant: light-dark(#4B5563, #A1A1AA);
  --mat-sys-surface-container: light-dark(var(--neutral-15), var(--neutral-2));
  --mat-sys-surface-container-low: light-dark(var(--neutral-12), var(--neutral-3));
  --mat-sys-surface-container-lowest: light-dark(var(--neutral-14), var(--neutral-3));
  --mat-sys-surface-container-high: light-dark(var(--neutral-12), var(--neutral-4));
  --mat-sys-surface-container-highest: light-dark(var(--neutral-10), var(--neutral-5));
  --mat-sys-outline: light-dark(var(--neutral-10), var(--neutral-5));
}
@media (prefers-contrast: more) {
  :root {
    --mat-sys-primary: #bfffce;
    --mat-sys-on-primary: #000000;
    --mat-sys-primary-container: #5bda8c;
    --mat-sys-on-primary-container: #000f04;
    --mat-sys-inverse-primary: #00542c;
    --mat-sys-primary-fixed: #7dfbaa;
    --mat-sys-primary-fixed-dim: #5fde90;
    --mat-sys-on-primary-fixed: #000000;
    --mat-sys-on-primary-fixed-variant: #001507;
    --mat-sys-secondary: #c5ffbb;
    --mat-sys-on-secondary: #000000;
    --mat-sys-secondary-container: #71d96f;
    --mat-sys-on-secondary-container: #000f01;
    --mat-sys-secondary-fixed: #91fa8b;
    --mat-sys-secondary-fixed-dim: #75dd72;
    --mat-sys-on-secondary-fixed: #000000;
    --mat-sys-on-secondary-fixed-variant: #001602;
    --mat-sys-tertiary: #e8f1ff;
    --mat-sys-on-tertiary: #000000;
    --mat-sys-tertiary-container: #94c7ff;
    --mat-sys-on-tertiary-container: #000c1b;
    --mat-sys-tertiary-fixed: #d0e4ff;
    --mat-sys-tertiary-fixed-dim: #9ccaff;
    --mat-sys-on-tertiary-fixed: #000000;
    --mat-sys-on-tertiary-fixed-variant: #001224;
    --mat-sys-background: #0e1510;
    --mat-sys-on-background: #dde4db;
    --mat-sys-surface: #0e1510;
    --mat-sys-surface-dim: #0e1510;
    --mat-sys-surface-bright: #4b524b;
    --mat-sys-surface-container-low: #1b211c;
    --mat-sys-surface-container-lowest: #000000;
    --mat-sys-surface-container: #2b322c;
    --mat-sys-surface-container-high: #363d37;
    --mat-sys-surface-container-highest: #414942;
    --mat-sys-on-surface: #ffffff;
    --mat-sys-shadow: #000000;
    --mat-sys-scrim: #000000;
    --mat-sys-surface-tint: #5fde90;
    --mat-sys-inverse-surface: #dde4db;
    --mat-sys-inverse-on-surface: #000000;
    --mat-sys-outline: #e6f4e5;
    --mat-sys-outline-variant: #b8c6b9;
    --mat-sys-error: #ffece9;
    --mat-sys-on-error: #000000;
    --mat-sys-error-container: #ffaea4;
    --mat-sys-on-error-container: #220001;
    --mat-sys-surface-variant: #3d4a3f;
    --mat-sys-on-surface-variant: #ffffff;
  }
}
:root {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}
:root .mat-datepicker-toggle .mat-mdc-icon-button {
  border: 0;
}
.content-box {
  padding: var(--sys-spacing-md);
  background-color: var(--sys-container-surface);
  border: 1px solid var(--sys-panel-border-color);
  border-radius: var(--mat-sys-corner-medium);
  margin-bottom: var(--sys-spacing-lg);
}
.content-box.no-margin {
  margin: 0;
}
.content-box .content-wrapper {
  padding: var(--sys-spacing-md);
}
.content-box:has(.content-wrapper) {
  padding: 0;
}
.content-box header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sys-spacing-md);
  border-radius: var(--mat-sys-corner-medium) var(--mat-sys-corner-medium) 0 0;
  border-bottom: 1px solid var(--sys-panel-border-color);
}
.content-box header h2 {
  font: var(--mat-sys-title-medium);
  font-weight: 700;
}
.page-navigation {
  display: flex;
  align-items: center;
  margin-bottom: var(--sys-spacing-md);
  gap: var(--sys-spacing-md);
}
.page-navigation a {
  display: inline-flex;
  align-items: center;
  gap: var(--sys-spacing-xs);
  text-decoration: none;
  cursor: pointer;
  color: inherit;
}
.page-navigation a:hover {
  color: var(--mat-sys-primary);
}
.page-navigation a.active {
  color: var(--mat-sys-primary);
  font-weight: 600;
}
.icon-button {
  --icon-size: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
  outline: none;
  fill: currentColor;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
  overflow: visible;
  border: 1px solid var(--mat-sys-outline);
  border-radius: var(--buttons-shape);
  background-color: transparent;
  flex-shrink: 0;
  text-align: center;
  width: var(--icon-size);
  height: var(--icon-size);
  padding: calc((var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);
  font-size: var(--mat-icon-button-icon-size, 24px);
  color: var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: all 0.2s ease-in-out;
}
.icon-button .mat-icon {
  font-size: 22px;
  transition: fill 0.2s ease-in-out;
}
.icon-button:hover {
  border-color: var(--mat-sys-primary);
  box-shadow: 0 0 3px 1px color(from var(--mat-sys-primary) srgb r g b/0.5);
}
.word-separator {
  margin: 0;
  font-size: var(--mat-sys-body-small-size);
  line-height: var(--mat-sys-body-small-line-height);
  letter-spacing: 0.1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: var(--sys-spacing-xs);
  text-transform: uppercase;
  color: var(--mat-sys-on-surface-variant);
}
.word-separator::before,
.word-separator::after {
  content: "";
  display: block;
  flex: 1 1 0%;
  height: 1px;
  background-color: var(--mat-sys-outline-variant);
}
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("./media/material-symbols-outlined.woff2") format("woff2");
}
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.invoice-document-screen {
  --sys-form-field-background-color: transparent;
  display: block;
}
.invoice-document-screen .header-actions {
  display: flex;
  align-items: center;
  gap: var(--sys-spacing-md);
  margin-left: auto;
}
.invoice-document-screen .header-actions button {
  min-width: 8rem;
}
.invoice-document-screen .header-actions mat-spinner {
  display: inline-block;
  margin-right: var(--sys-spacing-xs);
}
.invoice-document-screen .loading-wrapper,
.invoice-document-screen .load-error {
  min-height: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.invoice-document-screen .loading-wrapper {
  flex-direction: column;
  gap: var(--sys-spacing-md);
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen .load-error {
  max-width: 42rem;
  margin: 0 auto;
  padding: var(--sys-spacing-xl);
  flex-direction: column;
  text-align: center;
  background: var(--sys-container-surface);
  box-shadow: var(--mat-sys-level2);
}
.invoice-document-screen .load-error h2 {
  margin: var(--sys-spacing-md) 0 var(--sys-spacing-xs);
}
.invoice-document-screen .load-error p {
  margin: 0;
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen .load-error__icon,
.invoice-document-screen .invoice-empty__icon,
.invoice-document-screen .invoice-summary__icon {
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.invoice-document-screen .load-error__icon {
  width: 4rem;
  height: 4rem;
  color: var(--mat-sys-error);
  background: color-mix(in srgb, var(--mat-sys-error) 10%, transparent);
}
.invoice-document-screen .load-error__icon mat-icon {
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
}
.invoice-document-screen .load-error__actions {
  display: flex;
  gap: var(--sys-spacing-sm);
  margin-top: var(--sys-spacing-lg);
}
.invoice-document-screen .protocol-document {
  max-width: 1200px;
  margin: 0 auto;
  background: var(--sys-container-surface);
  box-shadow: var(--mat-sys-level2);
}
.invoice-document-screen .protocol-section {
  padding: var(--sys-spacing-xl) var(--sys-spacing-lg);
}
.invoice-document-screen .protocol-section.bottom-separator {
  border-bottom: 2px solid var(--sys-panel-border-color);
}
.invoice-document-screen .protocol-header {
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) max-content max-content;
  padding-top: 0;
  padding-bottom: 0;
}
.invoice-document-screen .document-identity {
  align-self: center;
  padding: var(--sys-spacing-lg) var(--sys-spacing-lg) var(--sys-spacing-lg) 0;
}
.invoice-document-screen .document-identity h2 {
  margin: var(--sys-spacing-xs) 0;
  font-size: var(--mat-sys-headline-medium-size);
  line-height: var(--mat-sys-headline-medium-line-height);
  font-weight: 800;
  text-transform: uppercase;
}
.invoice-document-screen .document-identity p {
  max-width: 38rem;
  margin: 0;
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen .document-kicker,
.invoice-document-screen .section-kicker {
  color: var(--mat-sys-primary);
  font-size: var(--mat-sys-label-small-size);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.invoice-document-screen .header-field-section {
  min-width: 11rem;
  padding: var(--sys-spacing-lg);
  border-left: 1px solid var(--sys-panel-border-color);
}
.invoice-document-screen .header-field-section .small-title {
  margin: 0 0 var(--sys-spacing-sm);
  color: var(--mat-sys-on-surface-variant);
  font-size: var(--mat-sys-label-medium-size);
  font-weight: 600;
}
.invoice-document-screen .inline-input {
  margin-bottom: 0;
}
.invoice-document-screen .series-input {
  width: 10rem;
}
.invoice-document-screen .date-input {
  width: 10.5rem;
}
.invoice-document-screen .date-input .mat-datepicker-toggle .mat-mdc-icon-button,
.invoice-document-screen .compact-date-field .mat-datepicker-toggle .mat-mdc-icon-button,
.invoice-document-screen .replacement-document-field .mat-datepicker-toggle .mat-mdc-icon-button {
  --mdc-icon-button-state-layer-size: var(--sys-form-field-size-small);
  --mat-icon-button-state-layer-size: var(--sys-form-field-size-small);
  --mat-icon-button-touch-target-size: var(--sys-form-field-size-small);
  width: var(--sys-form-field-size-small);
  height: var(--sys-form-field-size-small);
  padding: 2px;
}
.invoice-document-screen .compact-date-field {
  width: 10.5rem;
  max-width: 100%;
  align-self: start;
}
.invoice-document-screen .field-prefix {
  padding-right: var(--sys-spacing-xs);
  font-weight: 700;
}
.invoice-document-screen .readonly-header-value {
  padding-top: var(--sys-spacing-sm);
  font-size: var(--mat-sys-title-large-size);
  font-weight: 700;
}
.invoice-document-screen .section-heading {
  display: grid;
  grid-template-columns: minmax(14rem, 0.75fr) minmax(18rem, 1.25fr);
  gap: var(--sys-spacing-xl);
  align-items: end;
  margin-bottom: var(--sys-spacing-lg);
}
.invoice-document-screen .section-heading h2 {
  margin: var(--sys-spacing-xs) 0 0;
  font-size: var(--mat-sys-title-large-size);
}
.invoice-document-screen .section-heading p {
  margin: 0;
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen .invoice-search {
  width: min(44rem, 100%);
  margin-bottom: var(--sys-spacing-lg);
}
.invoice-document-screen .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.invoice-document-screen .invoice-summary {
  display: grid;
  grid-template-columns: minmax(15rem, 1.35fr) repeat(3, minmax(10rem, 1fr));
  border: 1px solid var(--sys-panel-border-color);
  border-left: 4px solid var(--mat-sys-primary);
  border-radius: var(--mat-sys-corner-medium);
  overflow: hidden;
  background: color-mix(in srgb, var(--mat-sys-primary) 4%, var(--sys-container-surface));
}
.invoice-document-screen .invoice-summary__lead,
.invoice-document-screen .summary-item {
  min-width: 0;
  padding: var(--sys-spacing-md);
}
.invoice-document-screen .invoice-summary__lead {
  display: flex;
  align-items: center;
  gap: var(--sys-spacing-md);
}
.invoice-document-screen .invoice-summary__identity {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: var(--sys-spacing-xs);
}
.invoice-document-screen .summary-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--sys-spacing-xs);
  border-left: 1px solid var(--sys-panel-border-color);
}
.invoice-document-screen {
}
.invoice-document-autocomplete .invoice-option {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-block: var(--sys-spacing-xs);
}
.invoice-document-autocomplete .invoice-number {
  font-weight: 700;
}
.invoice-document-autocomplete .invoice-client {
  color: var(--mat-sys-on-surface-variant);
  font-size: var(--mat-sys-body-small-size);
}
.invoice-document-autocomplete .autocomplete-status {
  display: flex;
  align-items: center;
  gap: var(--sys-spacing-sm);
  padding: var(--sys-spacing-md);
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen .invoice-summary__icon {
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  color: var(--mat-sys-primary);
  background: color-mix(in srgb, var(--mat-sys-primary) 12%, transparent);
}
.invoice-document-screen .summary-label {
  color: var(--mat-sys-on-surface-variant);
  font-size: var(--mat-sys-label-medium-size);
}
.invoice-document-screen .invoice-summary strong,
.invoice-document-screen .summary-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.invoice-document-screen .invoice-empty {
  display: flex;
  align-items: center;
  gap: var(--sys-spacing-md);
  min-height: 6rem;
  padding: var(--sys-spacing-lg);
  border: 1px dashed var(--sys-panel-border-color);
  border-radius: var(--mat-sys-corner-medium);
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen .invoice-empty p {
  margin: 0;
}
.invoice-document-screen .invoice-empty__icon {
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  background: var(--mat-sys-surface-container-high);
}
.invoice-document-screen .form-grid,
.invoice-document-screen .field-group__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sys-spacing-md) var(--sys-spacing-lg);
}
.invoice-document-screen .full-width {
  grid-column: 1/-1;
}
.invoice-document-screen .replacement-document-grid {
  grid-template-columns: minmax(16rem, 1fr) max-content;
}
.invoice-document-screen .replacement-document-field {
  width: 10.5rem;
  max-width: 100%;
  align-self: start;
}
.invoice-document-screen .replacement-document-field--serial {
  width: 100%;
}
.invoice-document-screen .reason-field textarea {
  resize: vertical;
}
.invoice-document-screen .field-group {
  padding-top: var(--sys-spacing-lg);
  border-top: 1px solid var(--sys-panel-border-color);
}
.invoice-document-screen .field-group__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sys-spacing-sm);
  margin-bottom: var(--sys-spacing-md);
}
.invoice-document-screen .field-group__heading h3 {
  margin: 0;
  font-size: var(--mat-sys-title-medium-size);
}
.invoice-document-screen .field-group__heading span {
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  color: var(--mat-sys-on-surface-variant);
  background: var(--mat-sys-surface-container-high);
  font-size: var(--mat-sys-label-small-size);
}
.invoice-document-screen .items-group + .items-group {
  margin-top: var(--sys-spacing-xl);
}
.invoice-document-screen .items-group__heading {
  display: flex;
  align-items: center;
  gap: var(--sys-spacing-sm);
  margin-bottom: var(--sys-spacing-sm);
}
.invoice-document-screen .items-group__heading h3 {
  margin: 0;
  font-size: var(--mat-sys-title-medium-size);
}
.invoice-document-screen .item-count {
  display: inline-grid;
  place-items: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding-inline: 0.35rem;
  border-radius: 999px;
  color: var(--mat-sys-on-primary-container);
  background: var(--mat-sys-primary-container);
  font-size: var(--mat-sys-label-small-size);
  font-weight: 700;
}
.invoice-document-screen .items-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--sys-panel-border-color);
  border-radius: var(--mat-sys-corner-medium);
}
.invoice-document-screen .items-table-wrapper:focus-visible {
  outline: 2px solid var(--mat-sys-primary);
  outline-offset: 2px;
}
.invoice-document-screen .items-table {
  min-width: 54rem;
  width: 100%;
  background: transparent;
}
.invoice-document-screen .items-table .item-name {
  min-width: 14rem;
  font-weight: 600;
}
.invoice-document-screen .items-table th {
  color: var(--mat-sys-on-surface-variant);
  font-size: var(--mat-sys-label-medium-size);
  font-weight: 700;
}
.invoice-document-screen .items-empty {
  margin: 0;
  padding: var(--sys-spacing-lg);
  border: 1px dashed var(--sys-panel-border-color);
  border-radius: var(--mat-sys-corner-medium);
  color: var(--mat-sys-on-surface-variant);
}
.invoice-document-screen {
}
.invoice-document-screen .annulled-sums {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sys-spacing-md) var(--sys-spacing-lg);
  padding: var(--sys-spacing-md);
  border: 1px solid var(--sys-panel-border-color);
  border-left: 4px solid var(--mat-sys-primary);
  border-radius: var(--mat-sys-corner-medium);
  background: color-mix(in srgb, var(--mat-sys-primary) 4%, var(--sys-container-surface));
}
.invoice-document-screen .annulled-sums__item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--sys-spacing-xs);
}
.invoice-document-screen .annulled-sums__item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 960px) {
  .invoice-document-screen .protocol-header {
    grid-template-columns: 1fr 1fr;
  }
  .invoice-document-screen .document-identity {
    grid-column: 1/-1;
    padding-right: 0;
    border-bottom: 1px solid var(--sys-panel-border-color);
  }
  .invoice-document-screen .header-field-section {
    border-left: 0;
  }
  .invoice-document-screen .header-field-section + .header-field-section {
    border-left: 1px solid var(--sys-panel-border-color);
  }
  .invoice-document-screen .invoice-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .invoice-document-screen .annulled-sums {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .invoice-document-screen .summary-item:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--sys-panel-border-color);
  }
  .invoice-document-screen .summary-item:nth-child(4) {
    border-top: 1px solid var(--sys-panel-border-color);
  }
}
@media (max-width: 640px) {
  .invoice-document-screen .header-actions {
    width: 100%;
  }
  .invoice-document-screen .header-actions button {
    min-width: 0;
    flex: 1;
  }
  .invoice-document-screen .protocol-section {
    padding: var(--sys-spacing-lg) var(--sys-spacing-md);
  }
  .invoice-document-screen .protocol-header,
  .invoice-document-screen .section-heading,
  .invoice-document-screen .form-grid,
  .invoice-document-screen .field-group__grid,
  .invoice-document-screen .invoice-summary,
  .invoice-document-screen .annulled-sums {
    grid-template-columns: 1fr;
  }
  .invoice-document-screen .replacement-document-grid {
    grid-template-columns: 1fr;
  }
  .invoice-document-screen .document-identity {
    padding: var(--sys-spacing-lg) 0;
  }
  .invoice-document-screen .header-field-section {
    padding: var(--sys-spacing-md) 0;
  }
  .invoice-document-screen .header-field-section + .header-field-section {
    border-left: 0;
    border-top: 1px solid var(--sys-panel-border-color);
  }
  .invoice-document-screen .section-heading {
    gap: var(--sys-spacing-sm);
    align-items: start;
  }
  .invoice-document-screen .summary-item,
  .invoice-document-screen .summary-item:nth-child(3),
  .invoice-document-screen .summary-item:nth-child(4) {
    border-left: 0;
    border-top: 1px solid var(--sys-panel-border-color);
  }
  .invoice-document-screen .load-error__actions {
    width: 100%;
    flex-direction: column;
  }
}
@media print {
  .invoice-document-screen .protocol-document {
    margin: 0;
    box-shadow: none;
    background: transparent;
  }
}
.trz-page {
  display: grid;
  gap: clamp(var(--sys-spacing-lg), 2.5vw, var(--sys-spacing-xl));
  min-width: 0;
}
.trz-page__heading {
  align-items: center;
  display: flex;
  gap: var(--sys-spacing-md);
  justify-content: space-between;
}
.trz-page__heading p:not(.trz-eyebrow) {
  color: var(--mat-sys-on-surface-variant);
  margin-top: var(--sys-spacing-xs);
}
.trz-kpi-grid {
  display: grid;
  gap: var(--sys-spacing-md);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.trz-content-grid {
  display: grid;
  gap: var(--sys-spacing-lg);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.trz-table-wrap {
  border: 1px solid var(--mat-sys-outline-variant);
  border-radius: 0.85rem;
  background: var(--mat-sys-surface);
  overflow-x: auto;
}
.trz-table {
  border-collapse: collapse;
  min-width: 48rem;
  width: 100%;
}
.trz-table th,
.trz-table td {
  border-bottom: 1px solid var(--mat-sys-outline-variant);
  padding: 0.85rem 1rem;
  text-align: left;
}
.trz-table th {
  background: var(--mat-sys-surface-container);
  color: var(--mat-sys-on-surface-variant);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.trz-table tbody tr:hover {
  background: var(--mat-sys-surface-container-low);
}
.trz-table tbody tr:last-child td {
  border-bottom: 0;
}
.trz-status {
  align-items: center;
  align-self: center;
  background: var(--mat-sys-surface-container-high);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 650;
  justify-content: center;
  line-height: 1;
  min-height: 1.75rem;
  padding: 0.25rem 0.65rem;
  text-align: center;
  white-space: nowrap;
  width: max-content;
}
.trz-status--success {
  background: color-mix(in srgb, #22c55e 18%, transparent);
  color: light-dark(#166534, #86efac);
}
.trz-status--warning {
  background: color-mix(in srgb, #f59e0b 20%, transparent);
  color: light-dark(#92400e, #fde68a);
}
.trz-status--error {
  background: color-mix(in srgb, #ef4444 18%, transparent);
  color: light-dark(#991b1b, #fca5a5);
}
.trz-alert {
  border-radius: 0.65rem;
  padding: var(--sys-spacing-md);
}
.trz-alert--error {
  background: var(--mat-sys-error-container);
  color: var(--mat-sys-on-error-container);
}
.trz-alert--warning {
  background: color-mix(in srgb, #f59e0b 15%, var(--mat-sys-surface));
}
.trz-form-grid {
  display: grid;
  gap: var(--sys-spacing-sm) var(--sys-spacing-lg);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
}
.trz-form-grid mat-form-field {
  min-width: 0;
  width: 100%;
}
.trz-form-card {
  border: 1px solid var(--mat-sys-outline-variant);
}
.trz-form-card mat-card-header {
  align-items: center;
  padding-bottom: var(--sys-spacing-sm);
}
.trz-form-card mat-card-content {
  padding-top: var(--sys-spacing-lg);
}
.trz-form-card mat-card-actions {
  border-top: 1px solid var(--mat-sys-outline-variant);
  gap: var(--sys-spacing-sm);
  margin: 0 var(--sys-spacing-md);
  padding: var(--sys-spacing-md) 0;
}
.trz-form-card__title {
  align-items: center;
  display: flex;
  gap: var(--sys-spacing-sm);
}
.trz-form-card__title mat-icon {
  color: var(--mat-sys-primary);
}
.trz-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sys-spacing-md);
  justify-content: space-between;
}
.trz-toolbar__meta {
  color: var(--mat-sys-on-surface-variant);
  font-size: 0.875rem;
}
.trz-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sys-spacing-sm);
}
.trz-empty {
  color: var(--mat-sys-on-surface-variant);
  padding: var(--sys-spacing-2xl);
  text-align: center;
}
.trz-empty mat-icon {
  display: block;
  font-size: 2.5rem;
  height: 2.5rem;
  margin: 0 auto var(--sys-spacing-sm);
  width: 2.5rem;
}
.trz-person {
  align-items: center;
  display: flex;
  gap: var(--sys-spacing-sm);
  min-width: 12rem;
}
.trz-person small {
  color: var(--mat-sys-on-surface-variant);
  display: block;
  margin-top: 0.1rem;
}
.trz-avatar {
  background-color: var(--mat-sys-surface-container-high);
  background-image: url(/assets/trz/employee-avatars.png);
  background-repeat: no-repeat;
  background-size: 300% auto;
  border: 2px solid var(--mat-sys-surface);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--mat-sys-outline-variant);
  display: inline-block;
  flex: 0 0 auto;
  height: 2.5rem;
  width: 2.5rem;
}
.trz-avatar--0 {
  background-position: 0 12.5%;
}
.trz-avatar--1 {
  background-position: 50% 12.5%;
}
.trz-avatar--2 {
  background-position: 100% 12.5%;
}
.trz-avatar--3 {
  background-position: 0 87.5%;
}
.trz-avatar--4 {
  background-position: 50% 87.5%;
}
.trz-avatar--5 {
  background-position: 100% 87.5%;
}
.trz-avatar--lg {
  height: 4.5rem;
  width: 4.5rem;
}
@media (max-width: 960px) {
  .trz-kpi-grid,
  .trz-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .trz-kpi-grid,
  .trz-content-grid,
  .trz-form-grid {
    grid-template-columns: 1fr;
  }
  .trz-page__heading {
    align-items: stretch;
    flex-direction: column;
  }
  .trz-form-card mat-card-actions button {
    flex: 1;
  }
}
* {
  box-sizing: border-box;
}
ul,
ol,
dl {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
p {
  margin: 0;
}
:root {
  --main-font-family: "Inter", sans-serif;
  --sys-panel-border-color: var(--mat-sys-outline);
  --sys-container-surface: var(--mat-sys-surface-container);
  --sys-body-bgr: var(--mat-sys-surface);
  --sys-input-bgr: var(--mat-sys-surface-container-low);
  --sys-spacing-xs: 0.25rem;
  --sys-spacing-sm: 0.5rem;
  --sys-spacing-md: 1rem;
  --sys-spacing-lg: 1.5rem;
  --sys-spacing-xl: 2rem;
  --sys-spacing-2xl: 2.5rem;
  --sys-icon-size: 1.5rem;
  --sys-sidebar-width: 15rem;
  --sys-sidebar-collapsed-width: 4rem;
}
body.sidenav-collapsed {
  --sys-sidebar-width: var(--sys-sidebar-collapsed-width);
}
html,
body {
  height: 100%;
}
body {
  font-family: var(--main-font-family);
  color: var(--mat-sys-on-surface);
  background: var(--sys-body-bgr);
  margin: 0;
}
body.theme-auto {
  color-scheme: light dark;
}
body.theme-light {
  color-scheme: light;
}
body.theme-dark {
  color-scheme: dark;
}
router-outlet + * {
  display: block;
  animation: outlet 0.5s ease-out;
}
@keyframes outlet {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.material-symbols-outlined,
.mat-icon {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: var(--sys-icon-size);
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}
.loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  gap: 1rem;
}
.loading-container mat-spinner {
  margin-bottom: 1rem;
}
.loading-container p {
  color: var(--mat-sys-on-surface-variant, rgba(0, 0, 0, 0.6));
  margin: 0;
}
.coa-journal-fullscreen-dialog .mat-mdc-dialog-container {
  border-radius: 0;
  padding: 0;
}
.coa-journal-fullscreen-dialog .mat-mdc-dialog-surface {
  border-radius: 0;
}
@media print {
  .dont-print,
  .dont-print * {
    display: none !important;
  }
  .no-border-print {
    border: none !important;
  }
}

/* node_modules/material-symbols/index.css */
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("./media/material-symbols-outlined.woff2") format("woff2");
}
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}
@font-face {
  font-family: "Material Symbols Rounded";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("./media/material-symbols-rounded.woff2") format("woff2");
}
.material-symbols-rounded {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}
@font-face {
  font-family: "Material Symbols Sharp";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("./media/material-symbols-sharp.woff2") format("woff2");
}
.material-symbols-sharp {
  font-family: "Material Symbols Sharp";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}

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