@charset "UTF-8";

/* node_modules/@angular/material/prebuilt-themes/azure-blue.css */
html {
  --mat-sys-background: #faf9fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f2f0f4;
  --mat-sys-inverse-primary: #abc7ff;
  --mat-sys-inverse-surface: #2f3033;
  --mat-sys-on-background: #1a1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #00458f;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3e4759;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #1a1b1f;
  --mat-sys-on-surface-variant: #44474e;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #0000ef;
  --mat-sys-on-tertiary-fixed: #00006e;
  --mat-sys-on-tertiary-fixed-variant: #0000ef;
  --mat-sys-outline: #74777f;
  --mat-sys-outline-variant: #c4c6d0;
  --mat-sys-primary: #005cbb;
  --mat-sys-primary-container: #d7e3ff;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #565e71;
  --mat-sys-secondary-container: #dae2f9;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #faf9fd;
  --mat-sys-surface-bright: #faf9fd;
  --mat-sys-surface-container: #efedf0;
  --mat-sys-surface-container-high: #e9e7eb;
  --mat-sys-surface-container-highest: #e3e2e6;
  --mat-sys-surface-container-low: #f4f3f6;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dbd9dd;
  --mat-sys-surface-tint: #005cbb;
  --mat-sys-surface-variant: #e0e2ec;
  --mat-sys-tertiary: #343dff;
  --mat-sys-tertiary-container: #e0e0ff;
  --mat-sys-tertiary-fixed: #e0e0ff;
  --mat-sys-tertiary-fixed-dim: #bec2ff;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
}
html {
  --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);
}
html {
  --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);
}
html {
  --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);
}
html {
  --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);
}
html {
  --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);
}
html {
  --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);
}
html {
  --mat-sys-body-large: 400 1rem / 1.5rem Roboto;
  --mat-sys-body-large-font: Roboto;
  --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 Roboto;
  --mat-sys-body-medium-font: Roboto;
  --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 Roboto;
  --mat-sys-body-small-font: Roboto;
  --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 Roboto;
  --mat-sys-display-large-font: Roboto;
  --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 Roboto;
  --mat-sys-display-medium-font: Roboto;
  --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 Roboto;
  --mat-sys-display-small-font: Roboto;
  --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 Roboto;
  --mat-sys-headline-large-font: Roboto;
  --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 Roboto;
  --mat-sys-headline-medium-font: Roboto;
  --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 Roboto;
  --mat-sys-headline-small-font: Roboto;
  --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 Roboto;
  --mat-sys-label-large-font: Roboto;
  --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 Roboto;
  --mat-sys-label-medium-font: Roboto;
  --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 Roboto;
  --mat-sys-label-small-font: Roboto;
  --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 Roboto;
  --mat-sys-title-large-font: Roboto;
  --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 Roboto;
  --mat-sys-title-medium-font: Roboto;
  --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 Roboto;
  --mat-sys-title-small-font: Roboto;
  --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;
}
html {
  --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;
}
html {
  --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;
}

/* src/styles.scss */
:root {
  --ppe-margin-healthy-bg: #e6f4ec;
  --ppe-margin-healthy-fg: #166e3d;
  --ppe-margin-thin-bg: #fdf2e1;
  --ppe-margin-thin-fg: #b15c07;
  --ppe-margin-neg-bg: #fbe6e6;
  --ppe-margin-neg-fg: #b21d1d;
  --ppe-margin-na-bg: #f1f2f5;
  --ppe-margin-na-fg: #6a7384;
  --ppe-promo-percent-bg: #e3f2fd;
  --ppe-promo-percent-fg: #1565c0;
  --ppe-promo-fixed-bg: #ede7f6;
  --ppe-promo-fixed-fg: #5e35b1;
  --ppe-promo-bogo-bg: #fff3e0;
  --ppe-promo-bogo-fg: #ef6c00;
  --ppe-promo-bundle-bg: #fce4ec;
  --ppe-promo-bundle-fg: #c2185b;
  --ppe-promo-shipping-bg: #e8f5e9;
  --ppe-promo-shipping-fg: #2e7d32;
  --ppe-promo-loyalty-bg: #fff8e1;
  --ppe-promo-loyalty-fg: #f57f17;
  --ppe-promo-markdown-bg: #ffebee;
  --ppe-promo-markdown-fg: #c62828;
  --ppe-layer-customer-bg: #e3f2fd;
  --ppe-layer-customer-fg: #1565c0;
  --ppe-layer-segment-bg: #f3e5f5;
  --ppe-layer-segment-fg: #6a1b9a;
  --ppe-layer-store-bg: #e0f7fa;
  --ppe-layer-store-fg: #00838f;
  --ppe-layer-b2b-bg: #ede7f6;
  --ppe-layer-b2b-fg: #4527a0;
  --ppe-layer-b2c-bg: #fff8e1;
  --ppe-layer-b2c-fg: #ef6c00;
  --ppe-layer-base-bg: #f1f2f5;
  --ppe-layer-base-fg: #455a64;
  --ppe-layer-unknown-bg: #fce4ec;
  --ppe-layer-unknown-fg: #ad1457;
  --ppe-status-draft-bg: #f1f2f5;
  --ppe-status-draft-fg: #455a64;
  --ppe-status-compile-fail-bg: #fbe6e6;
  --ppe-status-compile-fail-fg: #b21d1d;
  --ppe-status-pending-bg: #fff8e1;
  --ppe-status-pending-fg: #b15c07;
  --ppe-status-scheduled-bg: #e8eaf6;
  --ppe-status-scheduled-fg: #283593;
  --ppe-status-active-bg: #e6f4ec;
  --ppe-status-active-fg: #166e3d;
  --ppe-status-expired-bg: #f1f2f5;
  --ppe-status-expired-fg: #6a7384;
  --ppe-status-cancelled-bg: #fbe6e6;
  --ppe-status-cancelled-fg: #8d1a1a;
  --ppe-status-compile-ok-bg: #e3f2fd;
  --ppe-status-compile-ok-fg: #1565c0;
  --ppe-stacking-exclusive-bg: #fbe6e6;
  --ppe-stacking-exclusive-fg: #8d1a1a;
  --ppe-stacking-stackable-bg: #e6f4ec;
  --ppe-stacking-stackable-fg: #166e3d;
  --ppe-approval-pending-bg: #e8eaf6;
  --ppe-approval-pending-fg: #283593;
  --ppe-approval-approved-bg: #e6f4ec;
  --ppe-approval-approved-fg: #166e3d;
  --ppe-approval-rejected-bg: #fbe6e6;
  --ppe-approval-rejected-fg: #8d1a1a;
  --ppe-approval-expired-bg: #f1f2f5;
  --ppe-approval-expired-fg: #6a7384;
  --ppe-audit-direct-bg: #e6f4ec;
  --ppe-audit-direct-fg: #166e3d;
  --ppe-audit-folded-bg: #fdf2e1;
  --ppe-audit-folded-fg: #b15c07;
  --ppe-audit-synthetic-bg: #f3e5f5;
  --ppe-audit-synthetic-fg: #6a1b9a;
  --ppe-vis-b2c-bg: #fff8e1;
  --ppe-vis-b2c-fg: #ef6c00;
  --ppe-vis-b2b-bg: #ede7f6;
  --ppe-vis-b2b-fg: #4527a0;
  --ppe-vis-store-bg: #e0f7fa;
  --ppe-vis-store-fg: #00838f;
  --ppe-vis-base-bg: #f1f2f5;
  --ppe-vis-base-fg: #455a64;
  --ppe-stat-accent-healthy: #1c8a4d;
  --ppe-stat-accent-thin: #d97706;
  --ppe-stat-accent-bad: #d32525;
  --ppe-stat-accent-muted: #6a7384;
  --ppe-markdown-tag-bg:
    linear-gradient(
      180deg,
      #c62828 0%,
      #ad1457 100%);
  --ppe-num-font-feat: "tnum" 1, "lnum" 1;
}
.ppe-num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: var(--ppe-num-font-feat);
}
.ppe-markdown-tag {
  display: inline-flex;
  align-items: center;
  background: var(--ppe-markdown-tag-bg);
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.ppe-stat-card-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.ppe-stat-card {
  background: var(--bg-card, #fff);
  border-radius: 4px;
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.08));
  padding: 16px 18px;
  border-left: 3px solid var(--color-primary, #1976d2);
}
.ppe-stat-card.healthy {
  border-left-color: var(--ppe-stat-accent-healthy);
}
.ppe-stat-card.thin {
  border-left-color: var(--ppe-stat-accent-thin);
}
.ppe-stat-card.bad {
  border-left-color: var(--ppe-stat-accent-bad);
}
.ppe-stat-card.muted {
  border-left-color: var(--ppe-stat-accent-muted);
}
.ppe-stat-card .stat-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary, rgba(0, 0, 0, 0.6));
  font-weight: 600;
}
.ppe-stat-card .stat-value {
  font-size: 28px;
  font-weight: 400;
  color: var(--text-primary, rgba(0, 0, 0, 0.87));
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
body.theme-light {
  --bg-primary: #ffffff;
  --bg-secondary: #f5f5f5;
  --bg-sidebar: #1e293b;
  --bg-card: #ffffff;
  --bg-toolbar: #ffffff;
  --text-primary: rgba(0, 0, 0, 0.87);
  --text-secondary: rgba(0, 0, 0, 0.6);
  --text-hint: rgba(0, 0, 0, 0.38);
  --border-color: rgba(0, 0, 0, 0.12);
  --hover-overlay: rgba(0, 0, 0, 0.04);
  --sidebar-text: rgba(255, 255, 255, 0.7);
  --sidebar-text-active: #ffffff;
  --sidebar-hover: rgba(255, 255, 255, 0.06);
  --sidebar-active: rgba(255, 255, 255, 0.1);
  --sidebar-border: rgba(255, 255, 255, 0.08);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
  --color-primary: #1976d2;
  --color-primary-bg: rgba(25, 118, 210, 0.10);
  --color-success: #2e7d32;
  --color-success-bg: rgba(46, 125, 50, 0.10);
  --color-warn: #f57c00;
  --color-warn-bg: rgba(245, 124, 0, 0.10);
  --color-danger: #d32f2f;
  --color-danger-bg: rgba(211, 47, 47, 0.10);
  --color-info: #0288d1;
  --color-info-bg: rgba(2, 136, 209, 0.10);
  --color-neutral: #757575;
  --color-neutral-bg: rgba(117, 117, 117, 0.10);
  --color-accent: #6c5ce7;
  --color-accent-bg: rgba(108, 92, 231, 0.10);
}
body.theme-dark {
  --bg-primary: #121212;
  --bg-secondary: #1e1e1e;
  --bg-sidebar: #0f1117;
  --bg-card: #1e1e1e;
  --bg-toolbar: #1e1e1e;
  --text-primary: rgba(255, 255, 255, 0.87);
  --text-secondary: rgba(255, 255, 255, 0.6);
  --text-hint: rgba(255, 255, 255, 0.38);
  --border-color: rgba(255, 255, 255, 0.12);
  --hover-overlay: rgba(255, 255, 255, 0.06);
  --sidebar-text: rgba(255, 255, 255, 0.6);
  --sidebar-text-active: #ffffff;
  --sidebar-hover: rgba(255, 255, 255, 0.08);
  --sidebar-active: rgba(255, 255, 255, 0.12);
  --sidebar-border: rgba(255, 255, 255, 0.06);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.5);
  --mat-app-background-color: #121212;
  --mdc-elevated-card-container-color: #1e1e1e;
  --mdc-outlined-card-container-color: #1e1e1e;
  --mat-toolbar-container-background-color: #1e1e1e;
  --mat-toolbar-container-text-color: rgba(255,255,255,0.87);
  --mat-sidenav-content-background-color: #121212;
  --mat-table-background-color: #1e1e1e;
  --mat-table-row-item-outline-color: rgba(255,255,255,0.12);
  --mat-table-header-headline-color: rgba(255,255,255,0.87);
  --mat-table-row-item-label-text-color: rgba(255,255,255,0.87);
  --mdc-dialog-container-color: #2c2c2c;
  --mat-menu-container-color: #2c2c2c;
  --mat-select-panel-background-color: #2c2c2c;
  --mat-option-label-text-color: rgba(255,255,255,0.87);
  --mat-option-hover-state-layer-color: rgba(255,255,255,0.08);
  --mat-option-selected-state-layer-color: rgba(255,255,255,0.12);
  --mdc-text-button-label-text-color: #90caf9;
  --mdc-filled-button-container-color: #90caf9;
  --mat-form-field-state-layer-color: rgba(255,255,255,0.87);
  --mdc-outlined-text-field-outline-color: rgba(255,255,255,0.38);
  --mdc-outlined-text-field-label-text-color: rgba(255,255,255,0.6);
  --mdc-outlined-text-field-input-text-color: rgba(255,255,255,0.87);
  --mdc-outlined-text-field-hover-outline-color: rgba(255,255,255,0.87);
  --mat-paginator-container-background-color: #1e1e1e;
  --mat-paginator-container-text-color: rgba(255,255,255,0.87);
  --mat-icon-color: rgba(255,255,255,0.87);
  --mdc-list-list-item-label-text-color: rgba(255,255,255,0.87);
  --mdc-list-list-item-supporting-text-color: rgba(255,255,255,0.6);
  --mat-divider-color: rgba(255,255,255,0.12);
  --mdc-switch-selected-track-color: #90caf9;
  --mat-tab-header-active-label-text-color: #90caf9;
  --mat-tab-header-active-focus-indicator-color: #90caf9;
  --mdc-tab-indicator-active-indicator-color: #90caf9;
  --mat-snack-bar-button-color: #90caf9;
  --mdc-snackbar-container-color: #333;
  --mdc-snackbar-supporting-text-color: rgba(255,255,255,0.87);
  --mdc-checkbox-selected-checkmark-color: #121212;
  --mat-expansion-container-background-color: #1e1e1e;
  --mat-expansion-header-text-color: rgba(255,255,255,0.87);
  --mat-menu-item-label-text-color: rgba(255, 255, 255, 0.87);
  --mat-menu-item-icon-color: rgba(255, 255, 255, 0.6);
  --mat-menu-divider-color: rgba(255, 255, 255, 0.12);
  --mat-menu-item-hover-state-layer-color: rgba(255, 255, 255, 0.06);
  --mat-menu-item-focus-state-layer-color: rgba(255, 255, 255, 0.08);
  --mdc-switch-unselected-track-color: rgba(255, 255, 255, 0.2);
  --mdc-switch-unselected-handle-color: rgba(255, 255, 255, 0.6);
  --mat-tooltip-container-color: #424242;
  --mat-tooltip-supporting-text-color: rgba(255, 255, 255, 0.87);
  --mat-chip-container-shape-radius: 8px;
  --color-primary: #64b5f6;
  --color-primary-bg: rgba(100, 181, 246, 0.15);
  --color-success: #66bb6a;
  --color-success-bg: rgba(102, 187, 106, 0.15);
  --color-warn: #ffa726;
  --color-warn-bg: rgba(255, 167, 38, 0.15);
  --color-danger: #ef5350;
  --color-danger-bg: rgba(239, 83, 80, 0.15);
  --color-info: #4fc3f7;
  --color-info-bg: rgba(79, 195, 247, 0.15);
  --color-neutral: #bdbdbd;
  --color-neutral-bg: rgba(189, 189, 189, 0.15);
  --color-accent: #9575cd;
  --color-accent-bg: rgba(149, 117, 205, 0.15);
}
html,
body {
  height: 100%;
  margin: 0;
  font-family:
    Roboto,
    "Helvetica Neue",
    sans-serif;
  background: var(--bg-primary, #ffffff);
  color: var(--text-primary, rgba(0, 0, 0, 0.87));
}
.flex {
  display: flex;
}
.flex-1 {
  flex: 1;
}
.flex-column {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.align-center {
  align-items: center;
}
.gap-1 {
  gap: 8px;
}
.gap-2 {
  gap: 16px;
}
.gap-3 {
  gap: 24px;
}
.m-0 {
  margin: 0;
}
.m-1 {
  margin: 8px;
}
.m-2 {
  margin: 16px;
}
.m-3 {
  margin: 24px;
}
.p-0 {
  padding: 0;
}
.p-1 {
  padding: 8px;
}
.p-2 {
  padding: 16px;
}
.p-3 {
  padding: 24px;
}
.mt-1 {
  margin-top: 8px;
}
.mt-2 {
  margin-top: 16px;
}
.mt-3 {
  margin-top: 24px;
}
.mb-1 {
  margin-bottom: 8px;
}
.mb-2 {
  margin-bottom: 16px;
}
.mb-3 {
  margin-bottom: 24px;
}
.text-center {
  text-align: center;
}
.text-muted {
  color: var(--text-secondary);
}
.page-container {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.page-header {
  margin-bottom: 24px;
}
.page-header h1 {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 600;
  color: var(--text-primary);
}
.page-header p {
  margin: 0;
  color: var(--text-secondary);
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}
.table-container {
  overflow-x: auto;
}
.mat-mdc-table {
  width: 100%;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 500;
}
.status-badge.enabled {
  background-color: #e8f5e9;
  color: #2e7d32;
}
.status-badge.disabled {
  background-color: #ffebee;
  color: #c62828;
}
.status-badge.read-only {
  background-color: #fff3e0;
  color: #ef6c00;
}
.status-badge.hidden {
  background-color: #e3f2fd;
  color: #1565c0;
}
.status-badge.pending {
  background-color: #f3e5f5;
  color: #7b1fa2;
}
.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";
}
mat-card,
.mat-mdc-card {
  box-shadow: none !important;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--bg-card);
}
.code-link {
  color: #1976d2;
  text-decoration: none;
  font-weight: 500;
}
body.theme-dark .code-link {
  color: #64b5f6;
}
.code-link:hover {
  text-decoration: underline;
}
mat-chip.status-active,
.status-chip-active {
  background: #d1fae5 !important;
  color: #065f46 !important;
}
mat-chip.status-inactive,
.status-chip-inactive {
  background: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
}
mat-chip.status-draft {
  background: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
}
mat-chip.status-completed,
mat-chip.status-approved {
  background: #d1fae5 !important;
  color: #065f46 !important;
}
mat-chip.status-pending,
mat-chip.status-in_progress {
  background: #fef3c7 !important;
  color: #92400e !important;
}
mat-chip.status-failed,
mat-chip.status-rejected,
mat-chip.status-discontinued {
  background: #fee2e2 !important;
  color: #991b1b !important;
}
mat-chip.status-archived {
  background: #f3e8ff !important;
  color: #6b21a8 !important;
}
mat-chip.status-in_review {
  background: #dbeafe !important;
  color: #1e40af !important;
}
mat-chip.status-published {
  background: #f3e8ff !important;
  color: #6b21a8 !important;
}
body.theme-dark mat-chip.status-active,
body.theme-dark .status-chip-active {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #6ee7b7 !important;
}
body.theme-dark mat-chip.status-completed,
body.theme-dark mat-chip.status-approved {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #6ee7b7 !important;
}
body.theme-dark mat-chip.status-pending,
body.theme-dark mat-chip.status-in_progress {
  background: rgba(245, 158, 11, 0.15) !important;
  color: #fcd34d !important;
}
body.theme-dark mat-chip.status-failed,
body.theme-dark mat-chip.status-rejected,
body.theme-dark mat-chip.status-discontinued {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #fca5a5 !important;
}
body.theme-dark mat-chip.status-archived {
  background: rgba(168, 85, 247, 0.15) !important;
  color: #d8b4fe !important;
}
body.theme-dark mat-chip.status-in_review {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #93c5fd !important;
}
body.theme-dark mat-chip.status-published {
  background: rgba(168, 85, 247, 0.15) !important;
  color: #d8b4fe !important;
}
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 64px 48px;
  text-align: center;
  color: var(--text-secondary);
}
.empty-state mat-icon {
  font-size: 48px;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  color: var(--text-hint);
}
.empty-state h3 {
  margin: 0 0 8px;
  font-size: 18px;
  color: var(--text-secondary);
}
.empty-state p {
  margin: 0 0 24px;
  max-width: 360px;
  line-height: 1.5;
}
.table-card {
  overflow: hidden;
}
.table-card table {
  width: 100%;
}
.table-card .search-row {
  padding: 16px 16px 0;
}
.table-card .search-field {
  width: 100%;
  max-width: 400px;
}
body.compact-mode .page-container {
  padding: 16px;
}
body.compact-mode .mat-mdc-header-row {
  height: 40px !important;
}
body.compact-mode .mat-mdc-row {
  height: 38px !important;
}
body.compact-mode mat-card,
body.compact-mode .mat-mdc-card {
  border-radius: 8px !important;
}
body.compact-mode .settings-card {
  padding: 14px 18px !important;
}
body.compact-mode .mat-mdc-form-field {
  font-size: 13px;
}
body[data-density=compact] .mat-mdc-row {
  height: 36px !important;
  min-height: 36px !important;
}
body[data-density=compact] .mat-mdc-header-row {
  height: 40px !important;
  min-height: 40px !important;
}
body[data-density=compact] .mat-mdc-cell,
body[data-density=compact] .mat-mdc-header-cell {
  padding: 0 8px !important;
  font-size: 12.5px;
}
body[data-density=compact] .mat-mdc-paginator-container {
  min-height: 44px !important;
  padding: 0 8px !important;
}
body[data-density=compact] .mat-mdc-paginator,
body[data-density=compact] .mat-mdc-paginator-page-size-label,
body[data-density=compact] .mat-mdc-paginator-range-label {
  font-size: 12px !important;
}
body[data-density=comfortable] .mat-mdc-row {
  height: 48px !important;
  min-height: 48px !important;
}
body[data-density=comfortable] .mat-mdc-header-row {
  height: 52px !important;
  min-height: 52px !important;
}
body[data-density=comfortable] .mat-mdc-cell,
body[data-density=comfortable] .mat-mdc-header-cell {
  padding: 0 12px !important;
}
body[data-density=comfortable] .mat-mdc-paginator-container {
  min-height: 56px !important;
}
body[data-density=spacious] .mat-mdc-row {
  height: 60px !important;
  min-height: 60px !important;
}
body[data-density=spacious] .mat-mdc-header-row {
  height: 64px !important;
  min-height: 64px !important;
}
body[data-density=spacious] .mat-mdc-cell,
body[data-density=spacious] .mat-mdc-header-cell {
  padding: 4px 16px !important;
  font-size: 14.5px;
}
body[data-density=spacious] .mat-mdc-paginator-container {
  min-height: 64px !important;
  padding: 4px 16px !important;
}
.mat-mdc-raised-button.mat-primary,
.mat-mdc-flat-button.mat-primary,
.mat-mdc-fab.mat-primary,
.mat-mdc-mini-fab.mat-primary {
  --mdc-protected-button-container-color: var(--primary-color);
  --mdc-protected-button-label-text-color: #fff;
  --mdc-filled-button-container-color: var(--primary-color);
  --mdc-filled-button-label-text-color: #fff;
  --mdc-fab-container-color: var(--primary-color);
  --mdc-fab-icon-color: #fff;
  --mat-fab-foreground-color: #fff;
  background-color: var(--primary-color);
  color: #fff;
}
.mat-mdc-raised-button.mat-primary .mdc-button__label,
.mat-mdc-flat-button.mat-primary .mdc-button__label,
.mat-mdc-raised-button.mat-primary .mat-icon,
.mat-mdc-flat-button.mat-primary .mat-icon {
  color: #fff;
}
.mat-mdc-stroked-button.mat-primary,
.mat-mdc-button.mat-primary {
  --mdc-text-button-label-text-color: var(--primary-color);
  --mdc-outlined-button-label-text-color: var(--primary-color);
  color: var(--primary-color);
}
.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label,
.mat-mdc-tab-link.mdc-tab--active .mdc-tab__text-label {
  color: var(--primary-color) !important;
}
.mat-mdc-tab .mdc-tab-indicator__content--underline,
.mat-mdc-tab-link .mdc-tab-indicator__content--underline {
  border-color: var(--primary-color) !important;
}
.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay,
.mat-mdc-form-field.mat-focused .mdc-line-ripple::after {
  border-color: var(--primary-color) !important;
}
body.reduce-motion * {
  transition-duration: 0ms !important;
  animation-duration: 0ms !important;
  animation-delay: 0ms !important;
}
.mat-mdc-dialog-content {
  padding-top: 12px !important;
}
.user-dropdown-menu .mat-mdc-menu-content {
  padding: 0;
}
.mdc-button__label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
button.mat-mdc-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media print {
  mat-sidenav,
  .sidenav,
  mat-toolbar,
  .toolbar {
    display: none !important;
  }
  mat-sidenav-content,
  .main-content {
    margin-left: 0 !important;
    padding: 0 !important;
  }
  .screen-view {
    display: none !important;
  }
  .print-view {
    display: block !important;
  }
}
.mat-timepicker-panel .mat-mdc-option {
  font-size: 13px;
  min-height: 36px;
}
.mat-timepicker-panel .mat-mdc-option .mdc-list-item__primary-text {
  white-space: nowrap;
}
.sidenav {
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.sidenav .mat-drawer-inner-container {
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.nav-flyout-menu .mat-mdc-menu-panel {
  min-width: 220px;
  max-width: 260px;
  max-height: 80vh;
}
.doc-detail-sheet .mat-bottom-sheet-container {
  width: 100vw !important;
  max-width: 1400px !important;
  margin: 0 auto;
  padding: 0;
  border-radius: 12px 12px 0 0;
}
.list-container,
.detail-container,
.tool-container {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.tool-container--narrow {
  max-width: 960px;
}
.wizard-container {
  padding: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.list-header,
.detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.list-header .header-content,
.list-header .header-text,
.detail-header .header-content,
.detail-header .header-text {
  flex: 1;
  min-width: 0;
}
.list-header h1,
.detail-header h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.25;
}
.list-header p,
.detail-header p {
  margin: 4px 0 0;
  color: var(--text-secondary);
  font-size: 14px;
}
.list-header .header-actions,
.detail-header .header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.filters-row {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.filters-row .search-field {
  flex: 1;
  min-width: 240px;
}
.filters-row .filter-select {
  min-width: 160px;
}
.loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 48px 16px;
  color: var(--text-secondary);
}
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  background: var(--bg-card);
  border-radius: 12px;
  border: 1px solid var(--border-color);
}
.stat-card .stat-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-bg);
  color: var(--color-primary);
}
.stat-card .stat-icon mat-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
}
.stat-card .stat-icon--primary {
  background: var(--color-primary-bg);
  color: var(--color-primary);
}
.stat-card .stat-icon--success {
  background: var(--color-success-bg);
  color: var(--color-success);
}
.stat-card .stat-icon--warn {
  background: var(--color-warn-bg);
  color: var(--color-warn);
}
.stat-card .stat-icon--danger {
  background: var(--color-danger-bg);
  color: var(--color-danger);
}
.stat-card .stat-icon--info {
  background: var(--color-info-bg);
  color: var(--color-info);
}
.stat-card .stat-icon--accent {
  background: var(--color-accent-bg);
  color: var(--color-accent);
}
.stat-card .stat-icon--neutral {
  background: var(--color-neutral-bg);
  color: var(--color-neutral);
}
.stat-card .stat-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.stat-card .stat-value {
  font-size: 20px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.2;
}
.stat-card .stat-label {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
}
.table-card .mat-mdc-header-row {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--bg-card);
  box-shadow: inset 0 -1px 0 var(--border-color);
}
.table-card .mat-mdc-header-cell {
  background: var(--bg-card);
}
.mat-mdc-row.clickable-row,
tr.clickable-row {
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.mat-mdc-row.clickable-row:hover,
tr.clickable-row:hover {
  background: var(--hover-overlay);
}
.code-text,
code.inline-code {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size: 12px;
  color: var(--text-secondary);
}
.no-value {
  color: var(--text-hint);
}
.ks-dt-calendar .mat-datepicker-content {
  border-radius: 12px;
  box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.18), 0 4px 8px -4px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}
.ks-dt-calendar .mat-calendar {
  background: var(--bg-card, #fff);
  padding: 4px 4px 8px;
  width: 296px;
  height: auto;
}
.ks-dt-calendar .mat-calendar-header {
  padding: 8px 8px 4px;
}
.ks-dt-calendar .mat-calendar-controls {
  margin: 4px 0;
}
.ks-dt-calendar .mat-calendar-period-button {
  font-weight: 600;
  color: var(--text-primary, #1a1a1a);
  font-size: 14px;
  letter-spacing: 0.02em;
}
.ks-dt-calendar .mat-calendar-table-header th {
  color: var(--text-hint, rgba(0, 0, 0, 0.45));
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 6px;
}
.ks-dt-calendar .mat-calendar-table-header-divider::after {
  background: var(--border-color, rgba(0, 0, 0, 0.08));
}
.ks-dt-calendar .mat-calendar-body-cell-content {
  border-radius: 50%;
  font-weight: 500;
  color: var(--text-primary, #1a1a1a);
  transition: background-color 0.12s ease, color 0.12s ease;
}
.ks-dt-calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {
  background: rgba(25, 118, 210, 0.08);
  color: #1976d2;
}
.ks-dt-calendar .mat-calendar-body-today:not(.mat-calendar-body-selected) {
  border-color: rgba(25, 118, 210, 0.45);
  color: #1976d2;
  font-weight: 700;
}
.ks-dt-calendar .mat-calendar-body-selected {
  background:
    linear-gradient(
      135deg,
      #1976d2,
      #1565c0);
  color: #fff;
  box-shadow: 0 2px 6px rgba(25, 118, 210, 0.35);
}
.ks-dt-calendar .mat-calendar-body-cell-content.mat-calendar-body-disabled {
  color: var(--text-hint, rgba(0, 0, 0, 0.32));
}
.ks-dt-calendar .mat-calendar-previous-button,
.ks-dt-calendar .mat-calendar-next-button {
  color: var(--text-secondary, #666);
}
.ks-dt-calendar .mat-calendar-previous-button:hover,
.ks-dt-calendar .mat-calendar-next-button:hover {
  color: var(--text-primary, #1a1a1a);
}
.mat-datepicker-content:not(.ks-dt-calendar .mat-datepicker-content) {
  border-radius: 12px;
}

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