/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-xxl: 48px;
  --ac-ember-50: #fff5ef;
  --ac-ember-100: #ffe7d6;
  --ac-ember-200: #ffc8a3;
  --ac-ember-300: #ffa06a;
  --ac-ember-400: #f17a3f;
  --ac-ember-500: #c44a1f;
  --ac-ember-600: #a83c15;
  --ac-ember-700: #832e10;
  --ac-ember-800: #5d200a;
  --ac-ember-900: #3a1306;
  --ac-bg: #faf8f5;
  --ac-card: #ffffff;
  --ac-side-bg: #fcfaf7;
  --ac-top-bg: #ffffff;
  --ac-input-bg: #fbf9f6;
  --ac-drop-bg: #fcfaf7;
  --ac-tag-bg: #f4f0ea;
  --ac-meter-bg: #ede8e1;
  --ac-nav-hover-bg: #f3eee7;
  --ac-border: #ede8e1;
  --ac-border-soft: #f3efe9;
  --ac-border-strong: #d8d2c8;
  --ac-ink: #18181b;
  --ac-ink-muted: #4a4a52;
  --ac-ink-faint: #8a8b91;
  --ac-ink-line: #ede8e1;
  --ac-on-accent: #ffffff;
  --ac-accent: #c44a1f;
  --ac-accent-hover: #a83c15;
  --ac-accent-bg: #fbeae0;
  --ac-accent-soft: #fff5ef;
  --ac-accent-ring: rgba(196, 74, 31, 0.18);
  --ac-nav-active-bg: #fbeae0;
  --ac-nav-active-ink: #c44a1f;
  --ac-ok-bg: #ecfdf5;
  --ac-ok-fg: #047857;
  --ac-err-bg: #fef2f2;
  --ac-err-fg: #b91c1c;
  --ac-warn-bg: #fffbeb;
  --ac-warn-border: #fde68a;
  --ac-warn-fg: #92400e;
  --ac-radius-sm: 6px;
  --ac-radius-md: 10px;
  --ac-radius-lg: 16px;
  --ac-radius-xl: 24px;
  --ac-font-display: Inter Tight, Inter, system-ui, sans-serif;
  --ac-font-body: Inter, system-ui, sans-serif;
  --ac-font-serif: Instrument Serif, Georgia, serif;
  --ac-font-mono: JetBrains Mono, ui-monospace, monospace;
  --ac-shadow-sm: 0 1px 2px rgba(24, 24, 27, 0.05);
  --ac-shadow-md: 0 4px 16px rgba(24, 24, 27, 0.08);
  --ac-shadow-lg: 0 12px 40px rgba(24, 24, 27, 0.12);
  --ac-card-shadow: 0 1px 2px rgba(24, 24, 27, 0.04), 0 1px 1px rgba(24, 24, 27, 0.02);
  --primary: #c44a1f;
  --primary-light: rgb(230.281938326, 133.0044052863, 98.718061674);
  --primary-dark: #a83c15;
  --accent: #c44a1f;
  --warn: #b91c1c;
  --surface: #ffffff;
  --background: #faf8f5;
  --text: #18181b;
  --text-secondary: #4a4a52;
  --text-muted: #8a8b91;
  --border-color: #ede8e1;
  --hover-overlay: rgba(24, 24, 27, 0.04);
  --ripple-color: rgba(24, 24, 27, 0.1);
  --border-radius-sm: 6px;
  --border-radius-md: 10px;
  --border-radius-lg: 16px;
  --font-family: Inter, system-ui, sans-serif;
  --font-family-display: Inter Tight, Inter, system-ui, sans-serif;
  --font-family-mono: JetBrains Mono, ui-monospace, monospace;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --field-width-full: 500px;
  --field-width-half: 250px;
  --field-width-medium: 300px;
  --shadow-sm: 0 1px 2px rgba(24, 24, 27, 0.05);
  --shadow-md: 0 4px 16px rgba(24, 24, 27, 0.08);
  --shadow-lg: 0 12px 40px rgba(24, 24, 27, 0.12);
}

.ac-shell {
  display: grid;
  grid-template-columns: 248px 1fr;
  width: 100%;
  height: 100vh;
  background: var(--ac-bg);
  color: var(--ac-ink);
  font-family: var(--ac-font-body);
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.005em;
  overflow: hidden;
}

.ac-shell--collapsed {
  grid-template-columns: 0 1fr;
}
.ac-shell--collapsed .ac-side {
  overflow: hidden;
  border-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.ac-side {
  display: flex;
  flex-direction: column;
  background: var(--ac-side-bg);
  border-right: 1px solid var(--ac-border);
  padding: 18px 14px 14px;
  gap: 14px;
  overflow-y: auto;
}

.ac-side__brand {
  padding: 6px 8px 4px;
  display: flex;
  align-items: center;
}

.ac-side__nav {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.ac-side__div {
  height: 1px;
  background: var(--ac-border);
  margin: 4px 8px;
}

.ac-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ac-ink-muted);
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

.ac-nav__icon {
  color: var(--ac-ink-faint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ac-nav__pip {
  position: absolute;
  right: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ac-accent);
}

.ac-nav--indent {
  padding-left: 30px;
  font-size: 13px;
}

.ac-nav--indent .ac-nav__icon {
  display: none;
}

.ac-nav--active {
  background: var(--ac-nav-active-bg);
  color: var(--ac-nav-active-ink);
}

.ac-nav--active .ac-nav__icon {
  color: var(--ac-accent);
}

.ac-nav:hover:not(.ac-nav--active) {
  background: var(--ac-nav-hover-bg);
  color: var(--ac-ink);
}

.ac-side__foot {
  margin-top: auto;
}

.ac-side__plan {
  background: var(--ac-card);
  border: 1px solid var(--ac-border);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ac-side__plan-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ac-pill {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--ac-accent-bg);
  color: var(--ac-accent);
  text-transform: uppercase;
}

.ac-side__plan-pct {
  font-size: 11px;
  color: var(--ac-ink-muted);
  font-variant-numeric: tabular-nums;
}

.ac-meter {
  height: 4px;
  border-radius: 999px;
  background: var(--ac-meter-bg);
  overflow: hidden;
}

.ac-meter > span {
  display: block;
  height: 100%;
  background: var(--ac-accent);
  border-radius: 999px;
}

.ac-side__plan-meta {
  font-size: 11px;
  color: var(--ac-ink-faint);
}

.ac-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100vh;
}

.ac-top {
  height: 56px;
  border-bottom: 1px solid var(--ac-border);
  background: var(--ac-top-bg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  gap: 16px;
  flex-shrink: 0;
}

.ac-top__left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ac-icon-btn {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ac-ink-muted);
  cursor: pointer;
  padding: 0;
}

.ac-icon-btn:hover {
  background: var(--ac-nav-hover-bg);
  color: var(--ac-ink);
}

.ac-crumb {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
}

.ac-crumb__a {
  color: var(--ac-ink-muted);
}

.ac-crumb__sep {
  color: var(--ac-ink-faint);
}

.ac-crumb__b {
  color: var(--ac-ink);
  font-weight: 600;
  font-family: var(--ac-font-display);
  letter-spacing: -0.01em;
}

.ac-top__right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ac-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--ac-border);
  border-radius: 8px;
  background: var(--ac-input-bg);
  color: var(--ac-ink-faint);
  font-size: 13px;
  min-width: 280px;
}

.ac-search kbd {
  margin-left: auto;
  font-family: var(--ac-font-mono);
  font-size: 10px;
  border: 1px solid var(--ac-border);
  background: var(--ac-bg);
  border-radius: 4px;
  padding: 1px 5px;
  color: var(--ac-ink-muted);
}

.ac-user {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-left: 10px;
  border-left: 1px solid var(--ac-border);
  height: 34px;
  background: transparent;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  cursor: pointer;
  font-family: inherit;
}

.ac-user__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--ac-accent);
  color: var(--ac-on-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 12px;
  font-family: var(--ac-font-display);
}

.ac-user__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}

.ac-user__email {
  font-size: 12px;
  font-weight: 500;
  color: var(--ac-ink);
}

.ac-user__role {
  font-size: 10.5px;
  color: var(--ac-ink-faint);
}

.ac-content {
  flex: 1;
  overflow: auto;
  padding: 28px 32px 40px;
  background: var(--ac-bg);
}

.ac-page {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ac-page__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.ac-page__eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ac-ink-faint);
}

.ac-page__title {
  font-family: var(--ac-font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.025em;
  margin: 4px 0 6px;
  color: var(--ac-ink);
}

.ac-page__sub {
  color: var(--ac-ink-muted);
  font-size: 13.5px;
  max-width: 560px;
}

.ac-page__actions {
  display: flex;
  gap: 8px;
}

.ac-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: var(--ac-font-body);
  letter-spacing: -0.005em;
}

.ac-btn--primary {
  background: var(--ac-accent);
  color: var(--ac-on-accent);
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.04), inset 0 1px 0 0 rgba(255, 255, 255, 0.1);
}

.ac-btn--primary:hover {
  background: var(--ac-accent-hover);
}

.ac-btn--secondary {
  background: var(--ac-card);
  color: var(--ac-ink);
  border-color: var(--ac-border);
}

.ac-btn--ghost {
  background: transparent;
  color: var(--ac-ink-muted);
  border-color: var(--ac-border);
}

.ac-btn--ghost:hover {
  color: var(--ac-ink);
  background: var(--ac-nav-hover-bg);
}

.ac-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--ac-accent);
  font-weight: 500;
  font-size: 13px;
  font-family: var(--ac-font-body);
}

.ac-link--small {
  font-size: 12px;
}

.ac-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--ac-border);
  margin-bottom: -4px;
}

.ac-tab {
  padding: 10px 14px;
  font-size: 13px;
  color: var(--ac-ink-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.ac-tab--active {
  color: var(--ac-ink);
  border-bottom-color: var(--ac-accent);
  font-weight: 600;
}

.ac-card {
  background: var(--ac-card);
  border: 1px solid var(--ac-border);
  border-radius: 12px;
  box-shadow: var(--ac-card-shadow);
  overflow: hidden;
}

.ac-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--ac-border-soft);
}

.ac-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ac-font-display);
  font-weight: 600;
  font-size: 14.5px;
  letter-spacing: -0.01em;
  color: var(--ac-ink);
}

.ac-card__icon {
  color: var(--ac-accent);
  display: inline-flex;
}

.ac-card__meta {
  font-size: 12px;
  color: var(--ac-ink-faint);
}

.ac-card__body {
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ac-tag {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ac-tag-bg);
  color: var(--ac-ink-muted);
  border: 1px solid var(--ac-border);
}

.ac-drop {
  border: 1px dashed var(--ac-border-strong);
  background: var(--ac-drop-bg);
  border-radius: 10px;
  padding: 28px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.ac-drop__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ac-accent-bg);
  color: var(--ac-accent);
}

.ac-drop__title {
  font-family: var(--ac-font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--ac-ink);
}

.ac-drop__sub {
  font-size: 12.5px;
  color: var(--ac-ink-faint);
}

.ac-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 500;
  padding: 2px 8px 2px 6px;
  border-radius: 999px;
}

.ac-status__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.ac-status--ok {
  background: var(--ac-ok-bg);
  color: var(--ac-ok-fg);
}

.ac-status--ok .ac-status__dot {
  background: var(--ac-ok-fg);
}

.ac-status--run {
  background: var(--ac-accent-bg);
  color: var(--ac-accent);
}

.ac-status--run .ac-status__dot {
  background: var(--ac-accent);
  animation: ac-pulse 1.4s ease-in-out infinite;
}

.ac-status--err {
  background: var(--ac-err-bg);
  color: var(--ac-err-fg);
}

.ac-status--err .ac-status__dot {
  background: var(--ac-err-fg);
}

@keyframes ac-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.ac-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--ac-warn-bg);
  border: 1px solid var(--ac-warn-border);
  color: var(--ac-warn-fg);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12.5px;
}

.ac-banner__star {
  color: var(--ac-warn-fg);
}

.ac-wordmark {
  display: inline-flex;
  align-items: baseline;
  position: relative;
  line-height: 1;
}

.ac-wordmark__arc {
  position: absolute;
  top: -7px;
  left: 0;
  right: 18px;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.ac-wordmark__name {
  font-family: var(--ac-font-display);
  font-weight: 600;
  font-size: 19px;
  letter-spacing: -0.03em;
  color: var(--ac-ink);
}

.ac-wordmark__suffix {
  font-family: var(--ac-font-serif);
  font-weight: 400;
  font-style: italic;
  font-size: 13px;
  letter-spacing: -0.01em;
  color: var(--ac-ink-faint);
  margin-left: 1px;
}

.ac-role-system {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ac-err-fg);
  background: var(--ac-err-bg);
  padding: 2px 6px;
  border-radius: 4px;
}

.form-section {
  margin-bottom: var(--spacing-lg);
}
.form-section h3 {
  margin-top: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
  font-weight: 500;
  color: var(--text);
}
.form-section .mat-mdc-form-field {
  display: block;
}
.form-section .field {
  width: var(--field-width-full);
  margin-bottom: var(--spacing-md);
}
.form-section .field-half {
  width: var(--field-width-half);
  margin-bottom: var(--spacing-md);
}
.form-section .field-contact {
  width: var(--field-width-medium);
  margin-bottom: var(--spacing-md);
  margin-right: var(--spacing-md);
}
.form-section .field-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
}
.form-section mat-slide-toggle {
  display: block;
  margin: var(--spacing-sm) 0;
}

.mat-mdc-input-element:read-only,
input:read-only {
  color: var(--text-muted);
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-md);
  margin-top: var(--spacing-lg);
}

.error-text {
  color: var(--warn);
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-xs);
}

.helper-text {
  color: var(--text-secondary);
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-xs);
}

.add-button {
  border: 0;
  color: var(--primary);
  cursor: pointer;
  margin-bottom: var(--spacing-md);
  padding: 0;
  font-weight: 500;
  background: transparent;
}
.add-button:hover {
  color: var(--primary-dark);
}

.danger-zone {
  margin-top: var(--spacing-xl);
  padding: var(--spacing-md);
  border: 1px solid var(--warn);
  border-radius: var(--border-radius-md);
}
.danger-zone h3 {
  color: var(--warn);
  margin-top: 0;
}
.danger-zone p {
  color: var(--text);
}

.card {
  border-radius: var(--border-radius-md);
  background-color: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-standard);
}
.card:hover {
  box-shadow: var(--shadow-md);
}

.card-standard {
  width: 100%;
  margin-bottom: var(--spacing-md);
}

.card-small {
  width: 300px;
  height: 180px;
  position: relative;
}

.card-medium {
  width: 450px;
  margin: var(--spacing-md);
}

.card-large {
  width: 600px;
  margin: var(--spacing-md);
}

.card-square {
  width: 200px;
  height: 200px;
  margin: var(--spacing-md);
}

.card-header-with-icon {
  display: flex;
  align-items: center;
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--border-color);
}
.card-header-with-icon .mat-icon {
  margin-right: var(--spacing-md);
  color: var(--primary);
}
.card-header-with-icon h2, .card-header-with-icon h3, .card-header-with-icon h4 {
  margin: 0;
  font-weight: 500;
}

.card-content {
  padding: var(--spacing-md);
  overflow: auto;
}

.card-section {
  margin-bottom: var(--spacing-md);
}
.card-section h4 {
  font-size: var(--font-size-md);
  font-weight: 500;
  margin-bottom: var(--spacing-xs);
  color: var(--text);
}

.card-actions {
  display: flex;
  padding: var(--spacing-sm) var(--spacing-md);
  border-top: 1px solid var(--border-color);
}
.card-actions.end {
  justify-content: flex-end;
}
.card-actions.space-between {
  justify-content: space-between;
}

.card-with-bottom-buttons {
  position: relative;
  padding-bottom: 60px;
}
.card-with-bottom-buttons .button-container {
  position: absolute;
  bottom: var(--spacing-sm);
  left: var(--spacing-md);
  right: var(--spacing-md);
  display: flex;
  justify-content: space-around;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--spacing-md);
  margin: var(--spacing-md) 0;
}

.info-card {
  background-color: rgba(33, 150, 243, 0.1);
  border-left: 4px solid var(--primary);
}

.warning-card {
  background-color: rgba(255, 152, 0, 0.1);
  border-left: 4px solid #ff9800;
}

.error-card {
  background-color: rgba(244, 67, 54, 0.1);
  border-left: 4px solid var(--warn);
}

.success-card {
  background-color: rgba(76, 175, 80, 0.1);
  border-left: 4px solid #4CAF50;
}

.container {
  width: 100%;
  padding-right: var(--spacing-md);
  padding-left: var(--spacing-md);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 600px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 960px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1920px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: var(--spacing-md);
  padding-left: var(--spacing-md);
  margin-right: auto;
  margin-left: auto;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

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

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

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

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

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.gap-1 {
  gap: var(--spacing-xs) !important;
}

.gap-2 {
  gap: var(--spacing-sm) !important;
}

.gap-3 {
  gap: var(--spacing-md) !important;
}

.gap-4 {
  gap: var(--spacing-lg) !important;
}

.grid {
  display: grid !important;
}

.grid-template-columns-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.grid-template-columns-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

.grid-template-columns-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (min-width: 0) {
  .grid-cols-xs-1 {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .grid-cols-xs-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .grid-cols-xs-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .grid-cols-xs-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (min-width: 600px) {
  .grid-cols-sm-1 {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .grid-cols-sm-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .grid-cols-sm-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .grid-cols-sm-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (min-width: 960px) {
  .grid-cols-md-1 {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .grid-cols-md-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .grid-cols-md-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .grid-cols-md-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (min-width: 1280px) {
  .grid-cols-lg-1 {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .grid-cols-lg-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (min-width: 1920px) {
  .grid-cols-xl-1 {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  .grid-cols-xl-2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .grid-cols-xl-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .grid-cols-xl-4 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
.content-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.content-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.content-around {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

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

.flex-container {
  display: flex;
}

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

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

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.items-center {
  align-items: center;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.self-center {
  align-self: center;
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.flex-grow {
  flex-grow: 1;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-noshrink {
  flex-shrink: 0;
}

.flex-none {
  flex: none;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-1 {
  flex: 1;
}

.flex-2 {
  flex: 2;
}

.flex-3 {
  flex: 3;
}

.flex-4 {
  flex: 4;
}

.flex-5 {
  flex: 5;
}

.flex-6 {
  flex: 6;
}

.flex-7 {
  flex: 7;
}

.flex-8 {
  flex: 8;
}

.flex-9 {
  flex: 9;
}

.flex-10 {
  flex: 10;
}

.flex-11 {
  flex: 11;
}

.flex-12 {
  flex: 12;
}

.flex-25p {
  flex: 0 0 25%;
}

.flex-30p {
  flex: 0 0 30%;
}

.flex-35p {
  flex: 0 0 35%;
}

.flex-40p {
  flex: 0 0 40%;
}

.flex-45p {
  flex: 0 0 45%;
}

.flex-50p {
  flex: 0 0 50%;
}

.flex-55p {
  flex: 0 0 55%;
}

.flex-60p {
  flex: 0 0 60%;
}

.flex-65p {
  flex: 0 0 65%;
}

.flex-70p {
  flex: 0 0 70%;
}

.flex-75p {
  flex: 0 0 75%;
}

.flex-80p {
  flex: 0 0 80%;
}

.flex-85p {
  flex: 0 0 85%;
}

.flex-90p {
  flex: 0 0 90%;
}

.flex-95p {
  flex: 0 0 95%;
}

.flex-100p {
  flex: 0 0 100%;
}

.flex-50px {
  flex: 0 0 50px;
}

.flex-80px {
  flex: 0 0 80px;
}

.flex-100px {
  flex: 0 0 100px;
}

.flex-120px {
  flex: 0 0 120px;
}

.flex-150px {
  flex: 0 0 150px;
}

.flex-200px {
  flex: 0 0 200px;
}

.flex-250px {
  flex: 0 0 250px;
}

.flex-300px {
  flex: 0 0 300px;
}

.gap-5 {
  gap: 5px;
}

.gap-8 {
  gap: 8px;
}

.gap-10 {
  gap: 10px;
}

.gap-12 {
  gap: 12px;
}

.gap-16 {
  gap: 16px;
}

.gap-20 {
  gap: 20px;
}

.gap-24 {
  gap: 24px;
}

.gap-32 {
  gap: 32px;
}

@media (max-width: 599px) {
  .hide-xs {
    display: none !important;
  }
}
@media (min-width: 600px) and (max-width: 959px) {
  .hide-sm {
    display: none !important;
  }
}
@media (min-width: 960px) and (max-width: 1279px) {
  .hide-md {
    display: none !important;
  }
}
@media (min-width: 1280px) and (max-width: 1919px) {
  .hide-lg {
    display: none !important;
  }
}
@media (min-width: 1920px) {
  .hide-xl {
    display: none !important;
  }
}
.show-xs, .show-sm, .show-md, .show-lg, .show-xl {
  display: none !important;
}

@media (max-width: 599px) {
  .show-xs {
    display: flex !important;
  }
}
@media (min-width: 600px) and (max-width: 959px) {
  .show-sm {
    display: flex !important;
  }
}
@media (min-width: 960px) and (max-width: 1279px) {
  .show-md {
    display: flex !important;
  }
}
@media (min-width: 1280px) and (max-width: 1919px) {
  .show-lg {
    display: flex !important;
  }
}
@media (min-width: 1920px) {
  .show-xl {
    display: flex !important;
  }
}
.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-cols-5 {
  grid-template-columns: repeat(5, 1fr);
}

.grid-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}

.grid-gap-8 {
  gap: 8px;
}

.grid-gap-16 {
  gap: 16px;
}

.grid-gap-24 {
  gap: 24px;
}

.grid-gap-32 {
  gap: 32px;
}

@media (max-width: 599px) {
  .grid-xs-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-xs-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 600px) and (max-width: 959px) {
  .grid-sm-cols-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-sm-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-sm-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 960px) and (max-width: 1279px) {
  .grid-md-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-md-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-md-cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* Modern table styles using CSS variables */
.entity-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: var(--spacing-md);
  overflow: auto;
}

.entity-table .mat-mdc-header-row {
  background-color: var(--background);
  border-bottom: 1px solid var(--border-color);
  height: 48px;
}

.entity-table .mat-mdc-row {
  height: 48px;
  transition: background-color var(--transition-standard);
}

.entity-table .mat-mdc-row:hover {
  background-color: var(--hover-overlay);
}

.entity-table .mat-mdc-cell,
.entity-table .mat-mdc-header-cell {
  padding: var(--spacing-xs) var(--spacing-sm);
}

.entity-table .mat-mdc-header-cell {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  font-weight: 500;
}

.entity-table .mat-mdc-cell {
  color: var(--text);
  font-size: var(--font-size-sm);
}

/* column-specific formatting */
.entity-table .mat-column-name {
  font-weight: 500;
}

.entity-table .mat-column-copy {
  display: flex;
  justify-content: flex-end;
}

.entity-table .mat-mdc-form-field {
  width: 100%;
  font-size: var(--font-size-sm);
}

/* Status indicators */
.entity-table .status-active {
  color: var(--primary);
}

.entity-table .status-inactive {
  color: var(--text-muted);
}

.entity-table .status-error {
  color: var(--warn);
}

.copied {
  background-color: rgba(0, 255, 0, 0.1);
  transition: background-color 0.5s ease;
}

/* Main styles file for the Angular application */
/* Import Angular Material theming */
.mat-button-loading .mdc-button__label, .mat-button-loading .mat-icon {
  visibility: hidden;
}

.mat-button-loading .mat-mdc-progress-spinner {
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 12px);
}

html {
  --mtx-alert-container-shape:4px;
}

html {
  --mtx-alert-outline-color:transparent;
  --mtx-alert-background-color:whitesmoke;
  --mtx-alert-text-color:rgba(0, 0, 0, 0.87);
  --mtx-alert-info-outline-color:transparent;
  --mtx-alert-info-background-color:#bbdefb;
  --mtx-alert-info-text-color:rgba(0, 0, 0, 0.87);
  --mtx-alert-success-outline-color:transparent;
  --mtx-alert-success-background-color:#c8e6c9;
  --mtx-alert-success-text-color:rgba(0, 0, 0, 0.87);
  --mtx-alert-warning-outline-color:transparent;
  --mtx-alert-warning-background-color:#ffecb3;
  --mtx-alert-warning-text-color:rgba(0, 0, 0, 0.87);
  --mtx-alert-danger-outline-color:transparent;
  --mtx-alert-danger-background-color:#ffcdd2;
  --mtx-alert-danger-text-color:rgba(0, 0, 0, 0.87);
}

html {
  --mtx-colorpicker-toggle-active-state-icon-color:#3f51b5;
  --mtx-colorpicker-toggle-icon-color:rgba(0, 0, 0, 0.54);
}

.mtx-colorpicker-toggle-active.mat-accent {
  --mtx-colorpicker-toggle-active-state-icon-color:#ff4081;
}

.mtx-colorpicker-toggle-active.mat-warn {
  --mtx-colorpicker-toggle-active-state-icon-color:#f44336;
}

html {
  --mtx-datetimepicker-container-elevation-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  --mtx-datetimepicker-container-touch-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  --mtx-datetimepicker-container-shape:4px;
  --mtx-datetimepicker-container-touch-shape:4px;
  --mtx-datetimepicker-selector-container-shape:4px;
}

html {
  --mtx-datetimepicker-calendar-header-background-color:#3f51b5;
  --mtx-datetimepicker-calendar-date-selected-state-text-color:white;
  --mtx-datetimepicker-calendar-date-selected-state-background-color:#3f51b5;
  --mtx-datetimepicker-calendar-date-selected-disabled-state-background-color:rgba(63, 81, 181, 0.4);
  --mtx-datetimepicker-calendar-date-today-selected-state-outline-color:white;
  --mtx-datetimepicker-calendar-date-focus-state-background-color:rgba(63, 81, 181, 0.3);
  --mtx-datetimepicker-calendar-date-hover-state-background-color:rgba(63, 81, 181, 0.3);
  --mtx-datetimepicker-clock-hand-background-color:#3f51b5;
  --mtx-datetimepicker-clock-cell-selected-state-background-color:#3f51b5;
  --mtx-datetimepicker-time-input-active-state-text-color:#3f51b5;
  --mtx-datetimepicker-time-input-active-state-background-color:rgba(63, 81, 181, 0.2);
  --mtx-datetimepicker-time-input-focus-state-outline-color:#3f51b5;
  --mtx-datetimepicker-time-input-focus-state-placeholder-text-color:rgba(63, 81, 181, 0.6);
  --mtx-datetimepicker-time-ampm-selected-state-background-color:rgba(63, 81, 181, 0.2);
  --mtx-datetimepicker-toggle-active-state-icon-color:#3f51b5;
  --mtx-datetimepicker-toggle-icon-color:rgba(0, 0, 0, 0.54);
  --mtx-datetimepicker-calendar-body-label-text-color:rgba(0, 0, 0, 0.54);
  --mtx-datetimepicker-calendar-body-week-number-text-color:rgba(0, 0, 0, 0.54);
  --mtx-datetimepicker-calendar-header-text-color:white;
  --mtx-datetimepicker-calendar-header-divider-color:transparent;
  --mtx-datetimepicker-calendar-table-header-text-color:rgba(0, 0, 0, 0.54);
  --mtx-datetimepicker-calendar-date-today-outline-color:rgba(0, 0, 0, 0.38);
  --mtx-datetimepicker-calendar-date-text-color:rgba(0, 0, 0, 0.87);
  --mtx-datetimepicker-calendar-date-outline-color:transparent;
  --mtx-datetimepicker-calendar-date-disabled-state-text-color:rgba(0, 0, 0, 0.38);
  --mtx-datetimepicker-container-background-color:white;
  --mtx-datetimepicker-container-text-color:rgba(0, 0, 0, 0.87);
  --mtx-datetimepicker-clock-dial-background-color:rgba(0, 0, 0, 0.12);
  --mtx-datetimepicker-clock-cell-text-color:rgba(0, 0, 0, 0.87);
  --mtx-datetimepicker-clock-cell-hover-state-background-color:rgba(0, 0, 0, 0.04);
  --mtx-datetimepicker-clock-cell-disabled-state-text-color:rgba(0, 0, 0, 0.38);
  --mtx-datetimepicker-time-input-text-color:rgba(0, 0, 0, 0.87);
  --mtx-datetimepicker-time-input-background-color:rgba(0, 0, 0, 0.12);
  --mtx-datetimepicker-time-input-focus-state-background-color:#fafafa;
  --mtx-datetimepicker-time-input-warn-state-outline-color:#f44336;
  --mtx-datetimepicker-time-ampm-text-color:rgba(0, 0, 0, 0.75);
  --mtx-datetimepicker-time-ampm-outline-color:rgba(0, 0, 0, 0.38);
  --mtx-datetimepicker-time-ampm-selected-state-text-color:rgba(0, 0, 0, 0.87);
}

.mtx-datetimepicker-content.mat-accent {
  --mtx-datetimepicker-calendar-header-background-color:#ff4081;
  --mtx-datetimepicker-calendar-date-selected-state-text-color:white;
  --mtx-datetimepicker-calendar-date-selected-state-background-color:#ff4081;
  --mtx-datetimepicker-calendar-date-selected-disabled-state-background-color:rgba(255, 64, 129, 0.4);
  --mtx-datetimepicker-calendar-date-today-selected-state-outline-color:white;
  --mtx-datetimepicker-calendar-date-focus-state-background-color:rgba(255, 64, 129, 0.3);
  --mtx-datetimepicker-calendar-date-hover-state-background-color:rgba(255, 64, 129, 0.3);
  --mtx-datetimepicker-clock-hand-background-color:#ff4081;
  --mtx-datetimepicker-clock-cell-selected-state-background-color:#ff4081;
  --mtx-datetimepicker-time-input-active-state-text-color:#ff4081;
  --mtx-datetimepicker-time-input-active-state-background-color:rgba(255, 64, 129, 0.2);
  --mtx-datetimepicker-time-input-focus-state-outline-color:#ff4081;
  --mtx-datetimepicker-time-input-focus-state-placeholder-text-color:rgba(255, 64, 129, 0.6);
  --mtx-datetimepicker-time-ampm-selected-state-background-color:rgba(255, 64, 129, 0.2);
}

.mtx-datetimepicker-content.mat-warn {
  --mtx-datetimepicker-calendar-header-background-color:#f44336;
  --mtx-datetimepicker-calendar-date-selected-state-text-color:white;
  --mtx-datetimepicker-calendar-date-selected-state-background-color:#f44336;
  --mtx-datetimepicker-calendar-date-selected-disabled-state-background-color:rgba(244, 67, 54, 0.4);
  --mtx-datetimepicker-calendar-date-today-selected-state-outline-color:white;
  --mtx-datetimepicker-calendar-date-focus-state-background-color:rgba(244, 67, 54, 0.3);
  --mtx-datetimepicker-calendar-date-hover-state-background-color:rgba(244, 67, 54, 0.3);
  --mtx-datetimepicker-clock-hand-background-color:#f44336;
  --mtx-datetimepicker-clock-cell-selected-state-background-color:#f44336;
  --mtx-datetimepicker-time-input-active-state-text-color:#f44336;
  --mtx-datetimepicker-time-input-active-state-background-color:rgba(244, 67, 54, 0.2);
  --mtx-datetimepicker-time-input-focus-state-outline-color:#f44336;
  --mtx-datetimepicker-time-input-focus-state-placeholder-text-color:rgba(244, 67, 54, 0.6);
  --mtx-datetimepicker-time-ampm-selected-state-background-color:rgba(244, 67, 54, 0.2);
}

.mtx-datetimepicker-toggle-active.mat-accent {
  --mtx-datetimepicker-toggle-active-state-icon-color:#ff4081;
}

.mtx-datetimepicker-toggle-active.mat-warn {
  --mtx-datetimepicker-toggle-active-state-icon-color:#f44336;
}

html {
  --mtx-datetimepicker-calendar-text-font:Roboto, sans-serif;
  --mtx-datetimepicker-calendar-text-size:13px;
  --mtx-datetimepicker-calendar-body-label-text-size:14px;
  --mtx-datetimepicker-calendar-body-label-text-weight:500;
  --mtx-datetimepicker-calendar-period-button-text-size:14px;
  --mtx-datetimepicker-calendar-period-button-text-weight:500;
  --mtx-datetimepicker-calendar-table-header-text-size:11px;
  --mtx-datetimepicker-calendar-table-header-text-weight:400;
  --mtx-datetimepicker-clock-text-size:14px;
}

html {
  --mtx-drawer-container-shape:0;
  --mtx-drawer-container-elevation-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}

html {
  --mtx-drawer-container-background-color:white;
  --mtx-drawer-container-text-color:rgba(0, 0, 0, 0.87);
}

html {
  --mtx-grid-container-shape:0;
  --mtx-grid-table-cell-min-width:80px;
}

html {
  --mtx-grid-outline-color:rgba(0, 0, 0, 0.2);
  --mtx-grid-column-menu-text-color:rgba(0, 0, 0, 0.87);
  --mtx-grid-column-menu-divider-color:rgba(0, 0, 0, 0.12);
  --mtx-grid-table-footer-background-color:whitesmoke;
  --mtx-grid-table-row-striped-background-color:#f5f5f5;
  --mtx-grid-table-row-hover-background-color:#eee;
  --mtx-grid-table-row-selected-background-color:#eee;
  --mtx-grid-table-row-selected-hover-background-color:#e0e0e0;
  --mtx-grid-table-cell-selected-outline-color:#ff4081;
  --mtx-grid-resizable-handle-active-background-color:#3f51b5;
  --mtx-grid-resizable-handle-hover-background-color:#3f51b5;
  --mtx-grid-resizable-handle-disabled-background-color:rgba(0, 0, 0, 0.12);
}

html {
  --mtx-grid-row-expand-button-size:48px;
}

html {
  --mtx-loader-backdrop-background-color:rgba(250, 250, 250, 0.75);
}

html {
  --mtx-popover-container-shape:4px;
  --mtx-popover-base-elevation-level:8;
}

html {
  --mtx-popover-outline-color:rgba(0, 0, 0, 0.12);
  --mtx-popover-background-color:white;
  --mtx-popover-text-color:rgba(0, 0, 0, 0.87);
}

html {
  --mtx-progress-container-shape:4px;
}

html {
  --mtx-progress-track-color:rgba(0, 0, 0, 0.04);
  --mtx-progress-indicator-color:rgba(0, 0, 0, 0.12);
  --mtx-progress-text-color:rgba(0, 0, 0, 0.87);
  --mtx-progress-info-indicator-color:#2196f3;
  --mtx-progress-info-text-color:white;
  --mtx-progress-success-indicator-color:#4caf50;
  --mtx-progress-success-text-color:white;
  --mtx-progress-warning-indicator-color:#ff9800;
  --mtx-progress-warning-text-color:white;
  --mtx-progress-danger-indicator-color:#f44336;
  --mtx-progress-danger-text-color:white;
}

html {
  --mtx-progress-text-size:12px;
}

html {
  --mtx-select-container-shape:4px;
  --mtx-select-container-elevation-shadow: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 {
  --mtx-select-option-selected-state-text-color:#3f51b5;
  --mtx-select-container-text-color:rgba(0, 0, 0, 0.87);
  --mtx-select-placeholder-text-color:rgba(0, 0, 0, 0.38);
  --mtx-select-disabled-text-color:rgba(0, 0, 0, 0.38);
  --mtx-select-multiple-value-background-color:#e0e0e0;
  --mtx-select-multiple-value-outline-color:rgba(0, 0, 0, 0.12);
  --mtx-select-multiple-value-disabled-outline-color:rgba(0, 0, 0, 0.06);
  --mtx-select-multiple-value-icon-hover-background-color:rgba(0, 0, 0, 0.12);
  --mtx-select-clear-icon-color:rgba(0, 0, 0, 0.54);
  --mtx-select-clear-icon-hover-color:#f44336;
  --mtx-select-enabled-arrow-color:rgba(0, 0, 0, 0.54);
  --mtx-select-disabled-arrow-color:rgba(0, 0, 0, 0.38);
  --mtx-select-invalid-arrow-color:#f44336;
  --mtx-select-panel-background-color:white;
  --mtx-select-panel-divider-color:rgba(0, 0, 0, 0.12);
  --mtx-select-optgroup-label-text-color:rgba(0, 0, 0, 0.54);
  --mtx-select-option-label-text-color:rgba(0, 0, 0, 0.87);
  --mtx-select-option-selected-state-background-color:rgba(0, 0, 0, 0.04);
  --mtx-select-option-hover-state-background-color:rgba(0, 0, 0, 0.04);
  --mtx-select-option-disabled-state-text-color:rgba(0, 0, 0, 0.38);
}

.ng-dropdown-panel.mat-accent {
  --mtx-select-option-selected-state-text-color:#ff4081;
}

.ng-dropdown-panel.mat-warn {
  --mtx-select-option-selected-state-text-color:#f44336;
}

html {
  --mtx-split-gutter-hover-state-background-color:#3f51b5;
  --mtx-split-gutter-background-color:rgba(0, 0, 0, 0.12);
}

.mtx-split > .mtx-split-gutter.mat-accent:hover {
  --mtx-split-gutter-hover-state-background-color:#ff4081;
}

.mtx-split > .mtx-split-gutter.mat-warn:hover {
  --mtx-split-gutter-hover-state-background-color:#f44336;
}

html {
  --mdc-plain-tooltip-container-shape:4px;
  --mdc-plain-tooltip-supporting-text-line-height:16px;
}

html {
  --mdc-plain-tooltip-container-color:#616161;
  --mdc-plain-tooltip-supporting-text-color:#fff;
}

html {
  --mdc-plain-tooltip-supporting-text-font:Roboto, sans-serif;
  --mdc-plain-tooltip-supporting-text-size:12px;
  --mdc-plain-tooltip-supporting-text-weight:400;
  --mdc-plain-tooltip-supporting-text-tracking:0.0333333333em;
}

/* Core Material setup */
/* Global styles */
html,
body {
  height: 100%;
  margin: 0;
  font-family: var(--ac-font-body);
  color: var(--ac-ink);
  background-color: var(--ac-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Angular Material theme — Ember (warm orange) palette to match brand. */
html {
  --mat-sys-background: light-dark(#fff8f5, #181210);
  --mat-sys-error: light-dark(#ba1a1a, #ffb4ab);
  --mat-sys-error-container: light-dark(#ffdad6, #93000a);
  --mat-sys-inverse-on-surface: light-dark(#fbeee8, #362f2b);
  --mat-sys-inverse-primary: light-dark(#ffb787, #964900);
  --mat-sys-inverse-surface: light-dark(#362f2b, #ece0da);
  --mat-sys-on-background: light-dark(#201a17, #ece0da);
  --mat-sys-on-error: light-dark(#ffffff, #690005);
  --mat-sys-on-error-container: light-dark(#93000a, #ffdad6);
  --mat-sys-on-primary: light-dark(#ffffff, #502400);
  --mat-sys-on-primary-container: light-dark(#723600, #ffdcc7);
  --mat-sys-on-primary-fixed: light-dark(#311300, #311300);
  --mat-sys-on-primary-fixed-variant: light-dark(#723600, #723600);
  --mat-sys-on-secondary: light-dark(#ffffff, #422b1b);
  --mat-sys-on-secondary-container: light-dark(#5b4130, #ffdcc7);
  --mat-sys-on-secondary-fixed: light-dark(#2b1708, #2b1708);
  --mat-sys-on-secondary-fixed-variant: light-dark(#5b4130, #5b4130);
  --mat-sys-on-surface: light-dark(#201a17, #ece0da);
  --mat-sys-on-surface-variant: light-dark(#52443c, #f4ded3);
  --mat-sys-on-tertiary: light-dark(#ffffff, #502400);
  --mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);
  --mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);
  --mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);
  --mat-sys-outline: light-dark(#84746a, #9f8d83);
  --mat-sys-outline-variant: light-dark(#d7c3b8, #52443c);
  --mat-sys-primary: light-dark(#964900, #ffb787);
  --mat-sys-primary-container: light-dark(#ffdcc7, #723600);
  --mat-sys-primary-fixed: light-dark(#ffdcc7, #ffdcc7);
  --mat-sys-primary-fixed-dim: light-dark(#ffb787, #ffb787);
  --mat-sys-scrim: light-dark(#000000, #000000);
  --mat-sys-secondary: light-dark(#755846, #e5bfa8);
  --mat-sys-secondary-container: light-dark(#ffdcc7, #5b4130);
  --mat-sys-secondary-fixed: light-dark(#ffdcc7, #ffdcc7);
  --mat-sys-secondary-fixed-dim: light-dark(#e5bfa8, #e5bfa8);
  --mat-sys-shadow: light-dark(#000000, #000000);
  --mat-sys-surface: light-dark(#fff8f5, #181210);
  --mat-sys-surface-bright: light-dark(#fff8f5, #3f3834);
  --mat-sys-surface-container: light-dark(#f8ebe6, #241e1b);
  --mat-sys-surface-container-high: light-dark(#f2e6e1, #2f2926);
  --mat-sys-surface-container-highest: light-dark(#ece0da, #3a3330);
  --mat-sys-surface-container-low: light-dark(#fef1ec, #201a17);
  --mat-sys-surface-container-lowest: light-dark(#ffffff, #120d0b);
  --mat-sys-surface-dim: light-dark(#e3d8d3, #181210);
  --mat-sys-surface-tint: light-dark(#964900, #ffb787);
  --mat-sys-surface-variant: light-dark(#f4ded3, #52443c);
  --mat-sys-tertiary: light-dark(#964900, #ffb787);
  --mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);
  --mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);
  --mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);
  --mat-sys-neutral-variant20: #3a2e26;
  --mat-sys-neutral10: #201a17;
}
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 Inter, system-ui, sans-serif;
  --mat-sys-body-large-font: Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-body-medium-font: Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-body-small-font: Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-display-large-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-display-medium-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-display-small-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-headline-large-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-headline-medium-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-headline-small-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-label-large-font: Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-label-medium-font: Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-label-small-font: Inter, system-ui, sans-serif;
  --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 Inter Tight, Inter, system-ui, sans-serif;
  --mat-sys-title-large-font: Inter Tight, Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-title-medium-font: Inter, system-ui, sans-serif;
  --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 Inter, system-ui, sans-serif;
  --mat-sys-title-small-font: Inter, system-ui, sans-serif;
  --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;
}

/* Component-specific Material overrides. */
.sidenav-list {
  --mdc-list-list-item-label-text-color: var(--ac-ink-muted);
}
.sidenav-list {
  --mdc-list-list-item-leading-icon-color: var(--ac-ink-faint);
}
.sidenav-list {
  --mat-list-active-indicator-color: transparent;
}
.sidenav-list {
  --mdc-list-list-item-focus-label-text-color: var(--ac-accent);
}
.sidenav-list {
  --mdc-list-list-item-hover-label-text-color: var(--ac-ink);
}
.sidenav-list {
  --mdc-list-list-item-hover-leading-icon-color: var(--ac-accent);
}
.sidenav-list {
  --mdc-list-list-item-label-text-size: 13px;
}
.sidenav-list {
  --mdc-list-list-item-label-text-font: var(--ac-font-body);
}
.sidenav-list {
  --mdc-list-list-item-label-text-weight: 500;
}
.sidenav-list {
  --mdc-list-list-item-container-color: transparent;
}
.sidenav-list {
  --mdc-list-list-item-hover-state-layer-color: var(--ac-ink);
}
.sidenav-list .mat-list-item-active {
  --mdc-list-list-item-label-text-color: var(--ac-nav-active-ink);
}
.sidenav-list .mat-list-item-active {
  --mdc-list-list-item-leading-icon-color: var(--ac-accent);
}
.sidenav-list .mat-list-item-active {
  --mdc-list-list-item-container-color: var(--ac-nav-active-bg);
}

/* Inside the new .ac-side panel, neutralise the default Material list
   container so it lays out compactly against the warm sidebar background. */
.ac-side .mat-mdc-list-item {
  border-radius: 8px;
  margin: 1px 0;
  --mdc-list-list-item-container-shape: 8px;
}

.header {
  --mat-toolbar-container-text-color: var(--ac-ink);
}
.header {
  --mat-toolbar-container-background-color: var(--ac-card);
}
.header {
  --mdc-icon-button-icon-color: var(--ac-ink-muted);
}

:root {
  --mat-standard-button-toggle-height: 22px;
}
:root {
  --mat-standard-button-toggle-label-text-size: 11.5px;
}
:root {
  --mat-card-title-text-weight: 600;
}
:root {
  --mat-card-title-text-font: var(--ac-font-display);
}
:root {
  --mdc-elevated-card-container-color: var(--ac-card);
}
:root {
  --mdc-outlined-card-container-color: var(--ac-card);
}
:root {
  --mdc-outlined-card-outline-color: var(--ac-border);
}

mat-slide-toggle {
  margin: var(--spacing-sm) 0;
  display: block;
}

.mat-mdc-card-content {
  font-size: var(--font-size-sm);
}

/* Custom font declarations — kept for any Vodafone-branded surfaces. */
@font-face {
  font-family: "VodafoneRg";
  src: local("VodafoneRg"), url(/assets/fonts/VodafoneRg-Regular.ttf) format("truetype");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: "VodafoneRg";
  src: local("VodafoneRg"), url(/assets/fonts/VodafoneRg-Bold.ttf) format("truetype");
  font-weight: bold;
  font-display: swap;
}
/* Dark theme support (prepared for future implementation) */
.full-screen-dialog .mat-mdc-dialog-surface {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.full-screen-dialog .mat-mdc-dialog-container {
  padding: 0;
  overflow: hidden;
  max-height: 100vh;
}
.full-screen-dialog .mat-mdc-dialog-content {
  margin: 0;
  padding: 0;
  max-height: none;
}

.full-screen-dialog .mdc-dialog__surface {
  display: flex;
  flex-direction: column;
}

/*# sourceMappingURL=styles.css.map*/