/*!***********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@crewdle/ui-kit/tokens.css?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************/
/*
 * @crewdle/ui-kit design tokens.
 *
 * Two layers, matching the contract every Crewdle app already uses:
 *  1. Runtime semantic vars (--background-color, --accent-color, …) — flipped by
 *     dark mode and overridden by @crewdle/white-label at runtime.
 *  2. Brand ramps (--color-primary-*, …) — identical values to the Tailwind v4
 *     @theme blocks in the apps. In Tailwind hosts these names already exist
 *     (and white-label regenerates the primary ramp); this file supplies the
 *     same defaults for non-Tailwind hosts.
 *
 * Import once in a host app. In Tailwind hosts loading it alongside the app's
 * own @theme is harmless — the values are identical by construction.
 */

:root {
  /* Layer 1 — semantic, theme-aware */
  --background-color: #fff;
  --surface-color: #f8fafc;
  --text-color: #18191a;
  --text-secondary-color: #475569;
  --placeholder-color: #92949c;
  --border-color: #e2e8f0;
  --divider-color: #d3d5dd;
  --accent-color: #4c17ca;
  --accent-contrast: #fff;
  /* State fills — the two sanctioned accent tints (selected/active surfaces,
     media tiles = tint; keyboard-active emphasis = tint-strong). A custom
     property resolves its var() on the element that DECLARES it, so these
     follow --accent-color only where they are re-declared: here on :root and
     again in the dark block below (Connect toggles `body.dark`, which would
     otherwise inherit the light purple tint under an orange accent). A brand
     overriding --accent-color must use the same selectors (white-label does:
     `:root` + `html.dark, body.dark`) for the tints to follow it. */
  --accent-tint: color-mix(in srgb, var(--accent-color) 10%, transparent);
  --accent-tint-strong: color-mix(in srgb, var(--accent-color) 18%, transparent);

  /* Layer 2 — brand ramps (Crewdle Purple / Orange / Lime) */
  --color-primary-50: #f3e8ff;
  --color-primary-100: #e4ccff;
  --color-primary-200: #c999ff;
  --color-primary-300: #a866ff;
  --color-primary-400: #8833ff;
  --color-primary-500: #6221e0;
  --color-primary-600: #4c17ca;
  --color-primary-700: #3d12a2;
  --color-primary-800: #2e0e7a;
  --color-primary-900: #1f0952;
  --color-primary-950: #10052a;

  --color-secondary-50: #fff5f2;
  --color-secondary-100: #ffe8e1;
  --color-secondary-200: #ffd0c2;
  --color-secondary-300: #ffab94;
  --color-secondary-400: #ff8055;
  --color-secondary-500: #ff5322;
  --color-secondary-600: #e63d0d;
  --color-secondary-700: #c23009;
  --color-secondary-800: #9a2a10;
  --color-secondary-900: #7c2712;
  --color-secondary-950: #430f06;

  --color-tertiary-50: #fbfde8;
  --color-tertiary-100: #f5fac4;
  --color-tertiary-200: #ecf58c;
  --color-tertiary-300: #dfed4a;
  --color-tertiary-400: #d2eb12;
  --color-tertiary-500: #b3cc08;
  --color-tertiary-600: #8ca205;
  --color-tertiary-700: #6a7b09;
  --color-tertiary-800: #54610e;
  --color-tertiary-900: #465211;
  --color-tertiary-950: #252d04;

  --color-neutral-50: #f8fafc;
  --color-neutral-100: #f1f5f9;
  --color-neutral-200: #e2e8f0;
  --color-neutral-300: #d3d5dd;
  --color-neutral-400: #92949c;
  --color-neutral-500: #64748b;
  --color-neutral-600: #475569;
  --color-neutral-700: #334155;
  --color-neutral-800: #1e293b;
  --color-neutral-900: #0f172a;
  --color-neutral-950: #000;

  --color-success-50: #edfcf2;
  --color-success-500: #1ab55a;
  --color-success-700: #145b28;
  --color-warning-50: #fbfde8;
  --color-warning-500: #d2eb12;
  --color-warning-700: #6a7b09;
  --color-error-50: #fff5f2;
  --color-error-500: #ff5322;
  --color-error-700: #c23009;
  --color-info-50: #eff6ff;
  --color-info-500: #3b82f6;
  --color-info-700: #1d4ed8;

  /* Typography / radius / shadows */
  --font-heading: "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Mono", monospace;

  /* Layout — the composer column width every conversation surface centers on
     (chat.crewdle.ai's max-w-6xl). crwd-chat-input itself stays layout-neutral;
     hosts apply this on their own footer container so the surfaces agree. */
  --crwd-composer-max-width: 64rem;
  /* Conversation transcript column (message rows) — chat.crewdle.ai reference. */
  --crwd-transcript-max-width: 64rem;
  /* The conversation pane header bar height (crwd-pane-header) — transcript
     scrollers reserve this much top padding so content isn't born hidden. */
  --crwd-pane-header-height: 3.5rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);

  /*
   * Categorical series palette for @crewdle/ui-kit/charts.
   *
   * Brand-anchored (slot 1 is the brand purple's hue 283, slot 2 the brand
   * orange's 36) but STEPPED into the validated lightness band per mode — the
   * raw brand hexes cannot be series colors: #4C17CA sits just under the light
   * band floor and reads only 1.91:1 on the dark surface, and #D2EB12 is L 0.89,
   * far above both bands. The slot ORDER is the colorblind-safety mechanism, not
   * cosmetics: it was chosen by enumerating orderings and keeping only those
   * clearing every gate in both modes.
   *
   * Verified with the dataviz validator on all four real surfaces (#fff and
   * #f8fafc light, #18191a and #242526 dark): lightness band, chroma floor,
   * adjacent-pair CVD separation, normal-vision floor and 3:1 contrast all PASS.
   * Worst adjacent CVD ΔE 12.9 light / 13.0 dark (target ≥ 8); worst adjacent
   * normal-vision ΔE 27.1 light / 26.2 dark (floor ≥ 15).
   *
   * Do not add a 9th slot and do not cycle: a 9th category folds into "Other"
   * or the chart facets into small multiples. Re-run the validator on any edit.
   */
  --crwd-series-1: #6854e5;
  --crwd-series-2: #c93400;
  --crwd-series-3: #028f8f;
  --crwd-series-4: #d01c29;
  --crwd-series-5: #1368e9;
  --crwd-series-6: #008c23;
  --crwd-series-7: #be258d;
  --crwd-series-8: #897200;
  /* Recessive chart chrome: one step off the surface, never a data color. */
  --crwd-chart-grid: #e2e8f0;
}

/*
 * Dark mode. Both selectors are needed: the consoles toggle `html.dark`,
 * Connect toggles `body.dark`. Accent deliberately shifts hue (purple → orange).
 */
html.dark,
body.dark {
  color-scheme: dark;
  --background-color: #18191a;
  --surface-color: #242526;
  --text-color: #d3d5dd;
  --text-secondary-color: #92949c;
  --placeholder-color: #575757;
  --border-color: #343434;
  --divider-color: #343434;
  --accent-color: #ff5322;
  --accent-contrast: #fff;
  /* Re-derived here so `body.dark` hosts get the orange tint (see :root). */
  --accent-tint: color-mix(in srgb, var(--accent-color) 10%, transparent);
  --accent-tint-strong: color-mix(in srgb, var(--accent-color) 18%, transparent);

  /*
   * The same eight hues re-stepped for the dark surface (band L 0.48–0.67) —
   * a selected dark palette, not an automatic flip of the light one.
   */
  --crwd-series-1: #7569ec;
  --crwd-series-2: #d9471d;
  --crwd-series-3: #009797;
  --crwd-series-4: #db4241;
  --crwd-series-5: #337aef;
  --crwd-series-6: #049b2a;
  --crwd-series-7: #ca449a;
  --crwd-series-8: #998000;
  --crwd-chart-grid: #343434;
}

/*!******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./node_modules/@angular/cdk/overlay-prebuilt.css?ngGlobalStyle ***!
  \******************************************************************************************************************************************************************************************************************************************************/
.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}

.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}

.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  display: flex;
  max-width: 100%;
  max-height: 100%;
  z-index: 1000;
}

.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  opacity: 0;
  touch-action: manipulation;
  z-index: 1000;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
@media (prefers-reduced-motion) {
  .cdk-overlay-backdrop {
    transition-duration: 1ms;
  }
}

.cdk-overlay-backdrop-showing {
  opacity: 1;
}
@media (forced-colors: active) {
  .cdk-overlay-backdrop-showing {
    opacity: 0.6;
  }
}

.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}

.cdk-overlay-transparent-backdrop {
  transition: visibility 1ms linear, opacity 1ms linear;
  visibility: hidden;
  opacity: 1;
}
.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing, .cdk-high-contrast-active .cdk-overlay-transparent-backdrop {
  opacity: 0;
  visibility: visible;
}

.cdk-overlay-backdrop-noop-animation {
  transition: none;
}

.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
  z-index: 1000;
}

.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}

.cdk-overlay-popover {
  background: none;
  border: none;
  padding: 0;
  outline: 0;
  overflow: visible;
  position: fixed;
  pointer-events: none;
  white-space: normal;
  color: inherit;
  text-decoration: none;
  width: 100%;
  height: 100%;
  inset: auto;
  top: 0;
  left: 0;
}
.cdk-overlay-popover::backdrop {
  display: none;
}
.cdk-overlay-popover .cdk-overlay-backdrop {
  position: fixed;
  z-index: auto;
}

/*!************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].rules[0].oneOf[0].use[2]!./src/tailwind.css?ngGlobalStyle ***!
  \************************************************************************************************************************************************************************************************************************/
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
         tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    -webkit-appearance: button;
            appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .\!start {
    inset-inline-start: var(--spacing) !important;
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .\!hidden {
    display: none !important;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .shrink {
    flex-shrink: 1;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .italic {
    font-style: italic;
  }
  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .underline {
    text-decoration-line: underline;
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/index.js??ruleSet[1].rules[6].rules[1].use[1]!./src/global.scss?ngGlobalStyle ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
 * App Global CSS
 * ----------------------------------------------------------------------------
 * Global style rules for the entire application.
 */
/* Base reset (replaces Ionic normalize/structure) */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Inter", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--surface-primary);
  color: var(--text-primary);
}

body.in-meeting,
html:has(body.in-meeting) {
  overflow: hidden;
}

/* Themed scrollbars — Windows/Linux render wide native ones otherwise */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--surface-active) transparent;
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background: var(--surface-active);
  border-radius: 4px;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--text-tertiary);
}

*::-webkit-scrollbar-corner {
  background: transparent;
}

.transparent {
  background: transparent !important;
  --background: transparent !important;
}

video::-webkit-media-controls {
  display: none !important;
}

video::-webkit-media-controls-start-playback-button {
  display: none !important;
}

@font-face {
  font-family: "Inter";
  src: url('Inter.1cccc37b0c8d2802.ttf') format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --vh-100: 100vh;
  --room-padding: 0.75rem;
  --room-mini-video-height: 7rem;
  --room-sidebar-width: 23.375rem;
  --room-mini-video-width: 12rem;
  --room-mini-video-container-width: calc(var(--room-mini-video-width) + 2 * var(--room-padding));
  --room-desktop-presentation-video-width: calc(100vw - var(--room-mini-video-container-width) - var(--room-padding));
  --room-mobile-presentation-video-width: 100%;
  --room-presentation-video-width: var(--room-desktop-presentation-video-width);
  --room-mobile-header-height: 3.5rem;
  --room-mobile-mini-video-height: var(--room-mini-video-height);
  --room-mobile-mini-video-margin-top: var(--room-padding);
  --room-mobile-mini-video-margin-bottom: var(--room-padding);
  --room-mobile-header-bottom-padding: var(--room-padding);
  --room-footer-height: 5rem;
  --room-desktop-presentation-video-height: 100%;
  --room-desktop-presentation-video-height-fixed: calc(var(--vh-100) - var(--room-padding) - var(--room-footer-height));
  --room-mobile-presentation-video-height: calc(
    var(--vh-100) -
    var(--room-mobile-header-height) -
    var(--room-mobile-header-bottom-padding) -
    var(--room-mobile-mini-video-height) -
    var(--room-mobile-mini-video-margin-top) -
    var(--room-mobile-mini-video-margin-bottom) -
    var(--room-footer-height)
  );
  --room-presentation-video-height: var(--room-desktop-presentation-video-height);
  --room-presentation-video-height-fixed: var(--room-desktop-presentation-video-height-fixed);
}

:root {
  --white: #fff;
  --primary: #93b7ff;
  --bg-color: #f3f4f8;
  --green_color: #00ff5a;
  --gray: #D5D5D5;
  --transparent: rgba(0, 0, 0, 0);
  --text-dark: #BDBDBE;
  --text-black: #444444;
  --text-light: #C6CEE0;
  --text-light2: #C9C9C9;
}

.d-flex {
  display: flex;
  align-items: center;
  width: 100%;
}
.d-flex .end {
  margin-left: auto;
  margin-right: 0;
  display: block;
}

.send .text a {
  color: var(--white) !important;
}

/* Login page: orange sign-in and forgot-password buttons */
app-login button.sign-in {
  color: var(--color-danger) !important;
  border-color: var(--color-danger) !important;
}
app-login button.sign-in:hover {
  background: rgba(255, 83, 34, 0.08) !important;
}
app-login button.sign-in:active {
  background: rgba(255, 83, 34, 0.15) !important;
}

/* ── Modal panes (ModalService → kit CrwdDialogService) ──
   Copied from Crewdle/app@feature-chat-merge d6f59c8 global.scss (M3-04 batch 2).
   The kit's crwd-dialog-container owns the panel chrome (backdrop, background,
   border, radius, shadow, max-height, scrolling); these rules add connect's
   sizing defaults and the per-modal `cssClass` hooks, which land on the CDK
   overlay pane. The pane width is set inline ('auto') by the bridge, so
   explicit per-modal widths need !important. Agent/team-only frames of the
   reference are not copied (D22). ── */
.cdk-overlay-pane.app-modal {
  min-width: 24rem;
  max-width: 90vw;
}
@media (max-width: 767px) {
  .cdk-overlay-pane.app-modal {
    min-width: 0;
    width: calc(100vw - 2rem) !important;
    max-width: calc(100vw - 2rem);
  }
  .cdk-overlay-pane.app-modal crwd-dialog-container {
    overflow-x: hidden;
  }
  .cdk-overlay-pane.app-modal crwd-dialog-container > * {
    max-width: 100% !important;
    box-sizing: border-box;
  }
}
.cdk-overlay-pane.app-modal.search-modal {
  width: 32rem !important;
  height: 28rem;
}
.cdk-overlay-pane.app-modal.search-modal crwd-dialog-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.cdk-overlay-pane.app-modal.search-modal crwd-dialog-container > *,
.cdk-overlay-pane.app-modal.search-modal crwd-modal-panel,
.cdk-overlay-pane.app-modal.search-modal crwd-modal-panel .crwd-modal,
.cdk-overlay-pane.app-modal.search-modal crwd-modal-panel .crwd-modal__body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Shared input / textarea defaults inside any connect modal pane.
   Translucent surface + hover/focus border via --text-secondary-color,
   matching the forgot-password dialog's auth-modal-input. ── */
.cdk-overlay-pane.app-modal input[type=text],
.cdk-overlay-pane.app-modal input[type=email],
.cdk-overlay-pane.app-modal input[type=search],
.cdk-overlay-pane.app-modal input[type=number],
.cdk-overlay-pane.app-modal input[type=password],
.cdk-overlay-pane.app-modal input[type=url],
.cdk-overlay-pane.app-modal input[type=tel],
.cdk-overlay-pane.app-modal textarea {
  width: 100%;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--border-color);
  border-radius: 0.5rem;
  background-color: color-mix(in srgb, var(--surface-color) 50%, transparent);
  color: var(--text-color);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.cdk-overlay-pane.app-modal input[type=text]::placeholder,
.cdk-overlay-pane.app-modal input[type=email]::placeholder,
.cdk-overlay-pane.app-modal input[type=search]::placeholder,
.cdk-overlay-pane.app-modal input[type=number]::placeholder,
.cdk-overlay-pane.app-modal input[type=password]::placeholder,
.cdk-overlay-pane.app-modal input[type=url]::placeholder,
.cdk-overlay-pane.app-modal input[type=tel]::placeholder,
.cdk-overlay-pane.app-modal textarea::placeholder {
  color: color-mix(in oklab, var(--text-color) 65%, transparent);
}
.cdk-overlay-pane.app-modal input[type=text]:hover,
.cdk-overlay-pane.app-modal input[type=email]:hover,
.cdk-overlay-pane.app-modal input[type=search]:hover,
.cdk-overlay-pane.app-modal input[type=number]:hover,
.cdk-overlay-pane.app-modal input[type=password]:hover,
.cdk-overlay-pane.app-modal input[type=url]:hover,
.cdk-overlay-pane.app-modal input[type=tel]:hover,
.cdk-overlay-pane.app-modal textarea:hover {
  border-color: color-mix(in srgb, var(--text-secondary-color) 40%, transparent);
}
.cdk-overlay-pane.app-modal input[type=text]:focus,
.cdk-overlay-pane.app-modal input[type=email]:focus,
.cdk-overlay-pane.app-modal input[type=search]:focus,
.cdk-overlay-pane.app-modal input[type=number]:focus,
.cdk-overlay-pane.app-modal input[type=password]:focus,
.cdk-overlay-pane.app-modal input[type=url]:focus,
.cdk-overlay-pane.app-modal input[type=tel]:focus,
.cdk-overlay-pane.app-modal textarea:focus {
  border-color: var(--accent-color, var(--color-accent));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color, var(--color-accent)) 20%, transparent);
}
.cdk-overlay-pane.app-modal input[type=text]:disabled,
.cdk-overlay-pane.app-modal input[type=email]:disabled,
.cdk-overlay-pane.app-modal input[type=search]:disabled,
.cdk-overlay-pane.app-modal input[type=number]:disabled,
.cdk-overlay-pane.app-modal input[type=password]:disabled,
.cdk-overlay-pane.app-modal input[type=url]:disabled,
.cdk-overlay-pane.app-modal input[type=tel]:disabled,
.cdk-overlay-pane.app-modal textarea:disabled {
  opacity: 0.6;
}

/* ── Custom toast notification ── */
.toast-notification {
  position: fixed;
  left: 50%;
  transform: translateX(-50%) translateY(1rem);
  z-index: 10005;
  background: var(--toast-bg, var(--color-accent));
  color: var(--text-on-dark);
  border-radius: 8px;
  padding: 0.6rem 1.25rem;
  font-size: 0.85rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  max-width: 90vw;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.toast-notification.toast-bottom {
  bottom: 2rem;
}
.toast-notification.toast-top {
  top: 2rem;
}
.toast-notification.toast-middle {
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.toast-notification.toast-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.toast-notification.toast-visible.toast-middle {
  transform: translateX(-50%) translateY(-50%);
}

.toast-message {
  flex: 1;
}

.toast-btn {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: var(--text-on-dark);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 600;
}
.toast-btn:hover {
  background: rgba(255, 255, 255, 0.35);
}

.search-field .crwd-input__label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.crwd-input__wrap:has(.crwd-input__suffix:not(:empty)) input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

crwd-button.toggle-on .crwd-btn {
  background: var(--divider-color);
}

crwd-modal-panel .crwd-modal__body:has(+ .crwd-modal__footer:empty) {
  padding-bottom: 1.5rem;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/index.js??ruleSet[1].rules[6].rules[1].use[1]!./src/theme/variables.scss?ngGlobalStyle ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
* {
  font-family: Inter;
  font-style: normal;
}

.button-solid, .room-settings {
  border-radius: 50px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.room-settings {
  padding-left: 0rem;
  padding-right: 0rem;
}

.mic-off-toast {
  --max-width: max-content !important;
}

.controlsPopOver {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 15.625rem;
}
@media (max-width: 300px) {
  .controlsPopOver {
    max-width: 17rem;
  }
}

.participantsControlsPopOver {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 14rem;
}
@media (max-width: 330px) {
  .participantsControlsPopOver {
    max-width: 17rem;
  }
}

.caller-modal-size {
  width: 24rem;
  min-width: unset;
  border-radius: 1rem;
  padding: 0;
  overflow: hidden;
  background: var(--surface-primary);
}
@media (max-width: 576px) {
  .caller-modal-size {
    width: calc(100vw - 2rem);
    max-width: calc(100vw - 2rem);
  }
}

.report-content-text > b {
  color: var(--text-primary);
}

/* Ionic utility class replacements */
* {
  font-family: Inter;
  font-style: normal;
}

ion-modal div {
  --border-radius: 0.75rem;
}
@media (max-width: 768px) {
  ion-modal div {
    --width: 100%;
    --height: 100%;
    --border-radius: none !important;
  }
}

.contact-Submenu-PopOver {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 15.625rem;
}
@media (max-width: 300px) {
  .contact-Submenu-PopOver {
    max-width: 17rem;
  }
}

header {
  position: relative;
  z-index: 1;
  -webkit-backdrop-filter: blur(0px) !important;
          backdrop-filter: blur(0px) !important;
  box-shadow: none;
}

.share-link-modal {
  width: 25rem;
}

.call-configs-modal {
  width: 29.6875rem;
  min-height: 24rem;
}
.call-configs-modal h1 {
  color: var(--text-primary);
  font-weight: 600;
  font-size: 1.25rem;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .call-configs-modal {
    min-height: 0;
  }
  .call-configs-modal .ion-page {
    justify-content: initial;
  }
}

.room-settings-modal {
  --width: 33rem;
  --height: 30.5rem;
  --backdrop-opacity: 1 !important;
}

select-popover div,
div div:not(.register-list) {
  --border-style: none !important;
}

ion-radio {
  --color: transparent;
  --color-checked: transparent;
}

.hidden-participants-warning-modal-en {
  --width: 640px;
  --height: 190px;
}

.hidden-participants-warning-modal-fr {
  --width: 640px;
  --height: 216px;
}

.recording-modal {
  --width: 450px;
  --height: auto;
}
.recording-modal.bottom {
  align-items: flex-end;
}
.recording-modal .ion-page {
  position: relative;
  display: block;
  contain: content;
}

.environmental-report-modal {
  --width: 29.688rem;
  --height: 33.50rem;
  --border-radius: 0.5rem;
}
.environmental-report-modal h1 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5rem;
}

.tool-tip {
  position: relative;
}

.recording-more-left-space::before,
.recording-more-left-space::before {
  left: -1.4rem;
}

.tooltip {
  position: relative;
}

.tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.25rem 0.5rem;
  background: #030712;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  border-radius: 2px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 9999;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
@media (max-width: 576px) {
  .tooltip::after {
    display: none !important;
  }
}

.tooltip:hover::after {
  opacity: 1;
}

.tooltip.tooltip-end::after {
  left: auto;
  right: 0;
  transform: none;
}

:root {
  /** Semantic theme variables (light mode) — matches admin-console **/
  --surface-primary: #fff;
  --surface-secondary: #f8fafc;
  --surface-tertiary: #f1f5f9;
  --surface-hover: #f1f5f9;
  --surface-active: #e2e8f0;
  --surface-sidebar: #fff;
  --sidebar-text: #475569;
  --sidebar-text-bright: #18191A;
  --sidebar-text-muted: #92949c;
  --sidebar-hover: #f8fafc;
  --sidebar-active: #e2e8f0;
  --sidebar-selected: rgba(76, 23, 202, 0.1);
  --sidebar-selected-text: var(--accent-color);
  --border-default: #e2e8f0;
  --text-primary: #18191A;
  --text-secondary: #475569;
  --text-tertiary: #92949c;
  --text-on-dark: #fff;
  --color-accent: var(--accent-color);
  --color-accent-hover: color-mix(in srgb, var(--accent-color) 80%, #000);
  --color-danger: oklch(63.7% 0.237 25.331);
  --color-success: #1ab55a;
  --overlay-backdrop: rgba(0, 0, 0, 0.5);
  /** Status inks (text and calendar event colours); read by the ui-kit calendar and the meeting/booking editors **/
  --success-color: #15803d;
  --warning-color: #b45309;
  --warning-tint: rgba(217, 119, 6, 0.12);
  --error-color: #d32f2f;
  /** Standard aliases (shared across ecosystem) **/
  --background-color: var(--surface-primary);
  --surface-color: var(--surface-secondary);
  --text-color: var(--text-primary);
  --text-secondary-color: var(--text-secondary);
  --text-tertiary-color: var(--text-tertiary);
  --surface-muted-color: var(--surface-tertiary);
  --placeholder-color: var(--text-tertiary);
  --border-color: var(--border-default);
  --divider-color: #d3d5dd;
}

h3 {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: bold;
}

html.dark {
  /** Semantic theme variables (dark mode) — matches admin-console **/
  --surface-primary: #18191A;
  --surface-secondary: #242526;
  --surface-tertiary: #343434;
  --surface-hover: #343434;
  --surface-active: #3a3a3a;
  --surface-sidebar: #18191A;
  --sidebar-text: #92949c;
  --sidebar-text-bright: #d3d5dd;
  --sidebar-text-muted: #8a8c94;
  --sidebar-hover: #242526;
  --sidebar-active: #343434;
  --sidebar-selected: rgba(255, 83, 34, 0.15);
  --sidebar-selected-text: var(--accent-color);
  --border-default: #343434;
  --text-primary: #d3d5dd;
  --text-secondary: #92949c;
  --text-tertiary: #8a8c94;
  --text-on-dark: #fff;
  --color-accent: var(--accent-color);
  --color-accent-hover: color-mix(in srgb, var(--accent-color) 80%, #000);
  --color-danger: oklch(63.7% 0.237 25.331);
  --color-success: #1ab55a;
  --overlay-backdrop: rgba(0, 0, 0, 0.7);
  /** Status inks: lighter than the light-mode values so text and the calendar's tinted event fills stay at 4.5:1 on #18191A / #242526 **/
  --success-color: #4ade80;
  --warning-color: #fbbf24;
  --warning-tint: rgba(251, 191, 36, 0.14);
  --error-color: #f87171;
  /** Standard aliases (shared across ecosystem) **/
  --background-color: var(--surface-primary);
  --surface-color: var(--surface-secondary);
  --text-color: var(--text-primary);
  --text-secondary-color: var(--text-secondary);
  --text-tertiary-color: var(--text-tertiary);
  --surface-muted-color: var(--surface-tertiary);
  --placeholder-color: var(--text-tertiary);
  --border-color: var(--border-default);
  --divider-color: #343434;
}

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