:root {
  --app-text-input-font-family: var(--app-text-secondary-font);
}

* {
  box-sizing: border-box;
}

html {
  margin: 0;
  width: 100%;
  height: 100%;
  font-family: "Inter", sans-serif;
  font-family: var(--app-text-main-font, "Inter"), sans-serif;
}

input, textarea, select {
  font-family: "Inter";
  font-family: "Inter", sans-serif;
  font-family: var(--app-text-secondary-font, "Inter"), sans-serif;
}

.__react_component_tooltip .multi-line {
  text-align: left !important;
}

.error-message {
  color: #eb5757;
  font-size: 12px;
  font-family: "Inter", sans-serif;
  font-family: var(--app-text-secondary-font, "Inter"), sans-serif;
}

.carousel-root {
  height: -webkit-fill-available !important;
}

.carousel-slider {
  height: -webkit-fill-available !important;
}

.rmsc .gray {
  color: #0B0B28 !important;
  color: var(--alvanda-dark-purple) !important;
}

body {
  margin: 0;
  width: 100%;
  height: 100%;
  font-family: "Inter", sans-serif;
  font-family: var(--app-text-main-font, "Inter"), sans-serif;
  color: #0B0B28;
  color: var(--alvanda-dark-purple);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #F7F7FD;
  background-color: var(--alvanda-invisible-purple);
}

body > div {
  margin: 0;
  width: 100%;
  font-family: "Inter", sans-serif;
  font-family: var(--app-text-main-font, "Inter"), sans-serif;
}

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

/* Track */
::-webkit-scrollbar-track {
  background: #EBEBF9;
  border-radius: 5px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #AFAFE9;
  border-radius: 5px;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid #4a4a4a;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
}

.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}

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

input {
  outline: none;
}

.react-tel-input {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input[focus-within],
.react-tel-input.focus-visible {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input:focus-within,
.react-tel-input.focus-visible {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input[focus-within],
.react-tel-input.focus-visible {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input:focus-within,
.react-tel-input.focus-visible {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input[focus-within],
.react-tel-input.focus-visible {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input[focus-within],
.react-tel-input:focus-visible {
  outline: none;
  border: none;
}

.react-tel-input:active,
.react-tel-input:focus,
.react-tel-input:focus-within,
.react-tel-input:focus-visible {
  outline: none;
  border: none;
}

.customMultiSelect .rmsc .dropdown-container {
  border: medium none currentColor !important;
  border: initial !important;
  border-radius: 4px !important;
}

.rmsc.custom {
  width: 100%;
  --rmsc-main: rgba(11, 11, 40, 0.2);
  --rmsc-hover: white;
  --rmsc-selected: white;
  --rmsc-border: rgba(11, 11, 40, 0.2);
  --rmsc-gray: rgb(133, 133, 147);
  --rmsc-bg: var(--alvanda-invisible-purple);
  --rmsc-p: 16px; /* Spacing */
  --rmsc-radius: 2px; /* Radius */
  --rmsc-h: 40px; /* Height */
  font-family: "Inter";
  font-family: var(--app-text-secondary-font);
}

.rmsc.custom input[type=checkbox] {
  accent-color: #3030AD;
  accent-color: var(--alvanda-branding-primary);
}

.rmsc .dropdown-content {
  padding-top: 4px !important;
  z-index: 1000 !important;
}

.rmsc .dropdown-container[focus-within] {
  box-shadow: none !important;
}

.rmsc .dropdown-container[focus-within] {
  border-color: var(--rmsc-main);
}

.rmsc .dropdown-container:focus-within {
  box-shadow: none !important;
}

.rmsc .dropdown-container:focus-within {
  border-color: var(--rmsc-main);
}

.dropdown-heading-value span {
  font-weight: 400 !important;
  font-family: "Inter" !important;
  font-family: var(--app-text-secondary-font) !important;
  font-size: 16px !important;
}

.react-tel-input .selected-flag .flag {
  transform: scale(1.5);
  margin-left: 10px;
}

.react-tel-input .selected-flag.open:before {
  content: normal;
  content: initial;
  display: none;
}

.react-tel-input .flag-dropdown {
  border: none !important;
}

.react-tel-input .flag-dropdown {
  background-color: transparent;
}

.react-tel-input .flag-dropdown :hover {
  background-color: #F7F7FD !important;
  background-color: var(--alvanda-invisible-purple) !important;
}

.react-toggle-track {
  width: 30px !important;
  height: 15px !important;
}

.react-toggle-thumb {
  height: 13px !important;
  width: 13px !important;
}

.react-toggle--checked .react-toggle-thumb {
  left: 16px !important;
}

.react-toggle-track-x {
  display: none !important;
}

.react-toggle-track-check {
  display: none !important;
}

.toggle.react-toggle--checked .react-toggle-track {
  background-color: #4D4DE6;
  background-color: var(--alvanda-highlight-purple);
}

.toggle.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track {
  background-color: #4D4DE6;
  background-color: var(--alvanda-highlight-purple);
}

.toggle.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track {
  background-color: #4D4DE6;
  background-color: var(--alvanda-highlight-purple);
}

.react-toggle-track {
  background-color: #4D4DE6;
  background-color: var(--alvanda-highlight-purple);
}

.toggle.react-toggle--checked .react-toggle-thumb {
  border-color: #4a4a4a;
  border-color: var(--app-color-gray-dark);
}

.toggle.react-toggle--focus .react-toggle-thumb {
  box-shadow: 0px 0px 1px 1px #4a4a4a;
  box-shadow: 0px 0px 1px 1px var(--app-color-gray-dark);
}

.toggle.react-toggle:active:not(.react-toggle--disabled) .react-toggle-thumb {
  box-shadow: 0px 0px 2px 2px #4a4a4a;
  box-shadow: 0px 0px 2px 2px var(--app-color-gray-dark);
}

[data-reach-dialog-overlay] {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  z-index: 50;
  z-index: var(--app-modal-backdrop-zIndex);
}

[data-reach-dialog-content] {
  /* width: 20vw;*/
  margin: 10vh auto;
  background: #ffffff;
  background: var(--app-color-white-lightest);
  padding: 2rem;
  outline: none;
}

.blured {
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  -moz-filter: blur(5px);
  -ms-filter: blur(5px);
  -o-filter: blur(5px);
  filter: blur(5px);
}

.safariBlured {
  background: rgba(109, 109, 109, 0.5960784314);
}

@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
  .safariBlured {
    background: rgba(109, 109, 109, 0.5960784314);
    animation: changeWidth 10s linear infinite;
  }
}
.customWeekCalender .react-datepicker__day-name, .customWeekCalender .react-datepicker__day {
  font-size: 12px !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
}

.customWeekCalender .react-datepicker__day {
  font-weight: 400 !important;
}

.customWeekCalender .react-datepicker__header {
  background-color: white !important;
  margin-top: 10px !important;
  font-weight: 600 !important;
}

.customWeekCalender .react-datepicker__header {
  font-size: 12px;
  font-family: "Inter";
  font-family: var(--app-font-inter);
}

.customWeekCalender .react-datepicker__current-month {
  margin-bottom: 10px !important;
}

.customWeekCalender .react-datepicker__navigation {
  position: absolute !important;
  top: 61px !important;
  height: 12px !important;
  width: 12px !important;
}

.customWeekCalender .react-datepicker__day--keyboard-selected {
  background: none !important;
  color: black !important;
}

.customWeekCalender .react-datepicker__day--in-range, .customWeekCalender .react-datepicker__day--in-selecting-range {
  background: #AFAFE9 !important;
  background: var(--alvanda-medium-purple) !important;
  color: white !important;
}

.customWeekCalender .react-datepicker__day--range-start, .customWeekCalender .react-datepicker__day--range-end, .customWeekCalender .react-datepicker__day--selecting-range-start, .customWeekCalender .react-datepicker__day--selecting-range-end {
  background: #3030AD !important;
  background: var(--alvanda-purple) !important;
  color: white !important;
}

.customWeekCalender .react-datepicker__navigation--previous {
  left: 196px !important;
}

.customWeekCalender .react-datepicker__navigation--next {
  right: 54px !important;
}

.react-datepicker__triangle {
  left: -24px !important;
}

.react-datepicker__year-option .react-datepicker__navigation--years-upcoming,
.react-datepicker__year-option .react-datepicker__navigation--years-previous {
  display: inline-block;
  height: 14px;
  margin-bottom: 4px;
  background: url("data:image/svg+xml,%3csvg%20width='14'%20height='8'%20viewBox='0%200%2014%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%201L7%207L13%201'%20stroke='%23BDBDBD'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") no-repeat center center;
}

.react-datepicker__year-option .react-datepicker__navigation--years-upcoming {
  transform: rotate(180deg);
  height: 10px;
  margin-top: 10px;
  margin-bottom: 0;
}

.basePhoneStyle {
  all: unset !important;
}

.basePhoneStyle .react-international-phone-input-container {
  height: 100% !important;
  width: 100% !important;
}

.basePhoneStyle .react-international-phone-input-container input {
  all: unset !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-dial-code-preview {
  background: none !important;
  border: none !important;
  font-size: 16px !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector {
  width: 30px !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector button {
  width: 100% !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector {
  width: 56px !important;
  height: 40px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector button {
  all: unset !important;
  height: 100% !important;
  width: 100% !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector button .react-international-phone-country-selector-button__button-content {
  gap: 5px !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector button .react-international-phone-country-selector-button__button-content img {
  all: unset !important;
  height: 26px !important;
  width: 26px !important;
}

.basePhoneStyle .react-international-phone-input-container .react-international-phone-country-selector .react-international-phone-flag-emoji {
  width: 24px !important;
  height: 24px !important;
}

.badgeCount {
  overflow: hidden;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-hyphens: auto;
          hyphens: auto;
  position: absolute;
  border-radius: 50%;
  top: -8px;
  left: 150px;
  background-color: #3030AD;
  background-color: var(--alvanda-purple);
  height: 20px;
  min-width: 20px;
  max-width: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.badgeCount p {
  overflow: hidden;
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  -webkit-hyphens: auto;
          hyphens: auto;
  padding: 0px 5px;
  margin: 0;
  font-family: "Inter";
  font-family: var(--app-text-secondary-font);
  font-size: 1em;
  color: #ffffff;
  color: var(--app-color-white-lightest);
  text-align: center;
}

/* Icon Branding Classes */
.icon-primary {
  color: #3030AD;
  color: var(--icon-primary);
}

.icon-secondary {
  color: #EBEBF9;
  color: var(--icon-secondary);
}

.icon-accent {
  color: #0B0B28;
  color: var(--icon-accent);
}

.icon-muted {
  color: rgba(107, 114, 128, 0.8);
  color: var(--icon-muted);
}

/* Semantic status icons (keep accessibility colors) */
.icon-success {
  color: #219653;
  color: var(--app-color-success-default);
}

.icon-error {
  color: #EB5757;
  color: var(--app-color-error);
}

.icon-warning {
  color: #ffa008;
  color: var(--app-color-warning-default);
}

.icon-info {
  color: #353440;
  color: var(--app-color-info-default);
}

:root {
  --reach-dialog: 1;
  /* fonts */
  /* Branding font override */
  --app-font-inter: "Inter";
  --app-branding-font-family: var(--app-font-inter);
  --app-text-input-font-family: var(--app-font-inter);
  --app-text-main-font: var(--app-font-inter);
  --app-text-secondary-font: var(--app-font-inter);
}

@font-face {
  font-family: "Inter";
  src: url("/static/Inter-VariableFont_opsz_wght-c8O0ljhh.ttf") format("truetype");
  font-style: normal;
}
@font-face {
  font-family: "Inter";
  src: url("/static/Inter-Italic-VariableFont_opsz_wght-B-9PvMw6.ttf") format("truetype");
  font-style: italic;
}
/*
 * #VIEWPORT VARIABLES
 *
 * Only the custom-media actually referenced by the app are kept; the unused
 * viewport breakpoints were removed in the SCSS cleanup. Re-add here if needed.
 *  - --app-viewport-small      -> spacings.scss
 *  - --app-viewport-medium-lt  -> widths.scss
**********************************************************/
:root {
  --app-width-side-menu-short: 110px;
  --app-width-side-menu-wide: 230px;
  --app-pageheader-height: 120px;
  --app-teaser-search-height: 188px;
}

@media (max-width: 1023px) {
  :root {
    --app-pageheader-height: 97px ;
  }
}
/* #SPACINGS (Base is 8px) */
/**********************************************************/
:root {
  /* spacings */
  --app-spacing-00: 0;
  --app-spacing-01: 8px;
  --app-spacing-02: 16px;
  --app-spacing-03: 24px;
  --app-spacing-04: 32px;
  --app-spacing-05: 40px;
  --app-spacing-06: 48px;
  --app-spacing-07: 56px;
  --app-spacing-08: 64px;
  --app-spacing-10: 80px;
  --app-spacing-12: 96px;
  --app-spacing-16: 128px;
  --app-spacing-20: 160px;
  /*  General page spacing left and right */
  --app-page-spacing-x: var(--app-spacing-04);
  /* colors */
  /* Dynamic branding colors (change with user branding settings) */
  /* Icon branding colors (for SVG icons using currentColor) with fallbacks */ /* Fallback to Alvanda purple */ /* Fallback to light purple */ /* Fallback to dark purple */ /* Fixed muted color for hierarchy */
  /* Fixed UI colors (don't change with branding) */
  /* Derived colors (auto-generated from branding) */
}

@media (max-width: 768px) {
  :root {
    --app-page-spacing-x: var(--app-spacing-03) ;
  }
}
:root {
  --app-slider-gap-x: var(--app-spacing-04);
}

/* Components Spacings */
@media (max-width: 768px) {
  :root {
    --app-slider-gap-x: var(--app-spacing-02) ;
  }
}
:root {
  --app-color-gray-dark: #4a4a4a;
  --app-color-gray-light: #9b9b9b;
  --app-color-gray-light_nuance: #979797;
  --app-color-gray-light_nuance2: #828282;
  --app-color-gray-lighter: #d2d2d2;
  --app-color-gray-lighter_nuance: #e0e0e0;
  --app-color-gray-lighter_nuance1: #f1f1f1;
  --app-color-gray-lighter_nuance2: #f2f2f2;
  --app-color-gray-lighter_nuance3: #d8d8d8;
  --app-color-gray-lighter_nuance4: #d1d1d1;
  --app-color-gray-lighter_nuance5: #6e6b6b;
  --app-color-gray-unselected: #bdbdbd;
  --app-color-gray-selected: #333333;
  --app-color-white-lightest: #ffffff;
  --app-color-white-dark: #f1f1f1;
  --app-color-red-error: #EB5757;
  --app-color-warning-default: #ffa008;
  --app-color-danger-default: #dc3535;
  --app-color-success-default: #219653;
  --app-color-info-default: #353440;
  --app-color-error: #EB5757;
  --app-color-success: #30e04d;
  --app-color-attention: #d4e030;
  --app-color-notice: #3042e0;
  --app-color-bg-default: #f1f1f1;
  --app-color-bg-dark-transparent: rgba(53,52,64,0.8);
  --app-color-bg-dark: #353440;
  --app-color-bg-light: #ffffff;
  --app-color-bg-light-transparent: rgba(255,255,255,0.8);
  --app-color-text-default: #000;
  --app-color-text-dark: #353440;
  --app-color-text-darker: #4a4a4a;
  --app-color-text-light: #949494;
  --app-color-text-placeholder-light: #949494;
  --app-color-text-placeholder-dark: #949494;
  --alvanda-dark-purple: #0B0B28;
  --alvanda-dark-purple_50: #858593;
  --alvanda-branding-primary: var(--app-primary-color, #3030AD);
  --alvanda-branding-secondary: var(--app-secondary-color, #EBEBF9);
  --alvanda-branding-accent: var(--app-accent-color, #0B0B28);
  --icon-primary: var(--alvanda-branding-primary, #3030AD);
  --icon-secondary: var(--alvanda-branding-secondary, #EBEBF9);
  --icon-accent: var(--alvanda-branding-accent, #0B0B28);
  --icon-muted: rgba(107, 114, 128, 0.8);
  --alvanda-purple: var(--alvanda-branding-primary, #3030AD);
  --alvanda-light-purple: var(--alvanda-branding-secondary, #EBEBF9);
  --alvanda-warning-orange: #F2994A;
  --alvanda-highlight-purple: var(--app-derived-highlight-color, #4D4DE6);
  --alvanda-invisible-purple: #F7F7FD;
  --alvanda-medium-purple: var(--app-derived-medium-color, #AFAFE9);
  --app-color-warning-light: #FFF4E6;
  --app-color-danger-light: #e6b8af;
  --app-color-success-light: #d9ead3;
  --app-page-menu-user-zIndex: 100;
  --app-modal-backdrop-zIndex: 50;
  --app-menu-hoover-zIndex:150;
}/*
 * Tailwind entry + semantic design tokens (the theming/branding bridge).
 *
 * - HSL-channel tokens (e.g. --background: 0 0% 100%) are consumed via hsl(var(--x))
 *   in tailwind.config.js. They define the neutral surface/text system per theme.
 * - Brand tokens (--primary, --ring) are FULL colors and default to the white-label
 *   runtime variable --app-primary-color (set per-company by BrandingSetting). This is
 *   how custom branding keeps working: change --app-primary-color and every primary
 *   surface follows, in both light and dark.
 * - A "preset" = a named set of these variable values. Add new presets under
 *   [data-preset="..."] without touching components.
 *
 * preflight is disabled (see tailwind.config.js) so this file does NOT reset the
 * legacy app. It only declares variables + emits the utility/component layers.
 */

*, ::before, ::after {
        --tw-border-spacing-x: 0;
        --tw-border-spacing-y: 0;
        --tw-translate-x: 0;
        --tw-translate-y: 0;
        --tw-rotate: 0;
        --tw-skew-x: 0;
        --tw-skew-y: 0;
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        --tw-pan-x:  ;
        --tw-pan-y:  ;
        --tw-pinch-zoom:  ;
        --tw-scroll-snap-strictness: proximity;
        --tw-gradient-from-position:  ;
        --tw-gradient-via-position:  ;
        --tw-gradient-to-position:  ;
        --tw-ordinal:  ;
        --tw-slashed-zero:  ;
        --tw-numeric-figure:  ;
        --tw-numeric-spacing:  ;
        --tw-numeric-fraction:  ;
        --tw-ring-inset:  ;
        --tw-ring-offset-width: 0px;
        --tw-ring-offset-color: #fff;
        --tw-ring-color: rgba(59, 130, 246, 0.5);
        --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
        --tw-ring-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow-colored: 0 0 rgba(0,0,0,0);
        --tw-blur:  ;
        --tw-brightness:  ;
        --tw-contrast:  ;
        --tw-grayscale:  ;
        --tw-hue-rotate:  ;
        --tw-invert:  ;
        --tw-saturate:  ;
        --tw-sepia:  ;
        --tw-drop-shadow:  ;
        --tw-backdrop-blur:  ;
        --tw-backdrop-brightness:  ;
        --tw-backdrop-contrast:  ;
        --tw-backdrop-grayscale:  ;
        --tw-backdrop-hue-rotate:  ;
        --tw-backdrop-invert:  ;
        --tw-backdrop-opacity:  ;
        --tw-backdrop-saturate:  ;
        --tw-backdrop-sepia:  ;
        --tw-contain-size:  ;
        --tw-contain-layout:  ;
        --tw-contain-paint:  ;
        --tw-contain-style:  ;
}

::backdrop {
        --tw-border-spacing-x: 0;
        --tw-border-spacing-y: 0;
        --tw-translate-x: 0;
        --tw-translate-y: 0;
        --tw-rotate: 0;
        --tw-skew-x: 0;
        --tw-skew-y: 0;
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        --tw-pan-x:  ;
        --tw-pan-y:  ;
        --tw-pinch-zoom:  ;
        --tw-scroll-snap-strictness: proximity;
        --tw-gradient-from-position:  ;
        --tw-gradient-via-position:  ;
        --tw-gradient-to-position:  ;
        --tw-ordinal:  ;
        --tw-slashed-zero:  ;
        --tw-numeric-figure:  ;
        --tw-numeric-spacing:  ;
        --tw-numeric-fraction:  ;
        --tw-ring-inset:  ;
        --tw-ring-offset-width: 0px;
        --tw-ring-offset-color: #fff;
        --tw-ring-color: rgba(59, 130, 246, 0.5);
        --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
        --tw-ring-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow-colored: 0 0 rgba(0,0,0,0);
        --tw-blur:  ;
        --tw-brightness:  ;
        --tw-contrast:  ;
        --tw-grayscale:  ;
        --tw-hue-rotate:  ;
        --tw-invert:  ;
        --tw-saturate:  ;
        --tw-sepia:  ;
        --tw-drop-shadow:  ;
        --tw-backdrop-blur:  ;
        --tw-backdrop-brightness:  ;
        --tw-backdrop-contrast:  ;
        --tw-backdrop-grayscale:  ;
        --tw-backdrop-hue-rotate:  ;
        --tw-backdrop-invert:  ;
        --tw-backdrop-opacity:  ;
        --tw-backdrop-saturate:  ;
        --tw-backdrop-sepia:  ;
        --tw-contain-size:  ;
        --tw-contain-layout:  ;
        --tw-contain-paint:  ;
        --tw-contain-style:  ;
}
    :root {
        /* Cool-neutral surface/text system — LIGHT (default).
           Background is a clearly off-white cool grey so white cards/sidebar
           read as distinct surfaces (not a flat sheet of white). */
        --background: 220 24% 96.5%;
        --foreground: 222 40% 11%;
        --card: 0 0% 100%;
        --card-foreground: 222 40% 11%;
        --popover: 0 0% 100%;
        --popover-foreground: 222 40% 11%;
        --secondary: 220 17% 93.5%;
        --secondary-foreground: 222 33% 18%;
        --muted: 220 17% 93.5%;
        --muted-foreground: 220 12% 42%;
        --accent: 220 18% 91%;
        --accent-foreground: 222 33% 18%;
        --destructive: 0 79% 63%;           /* #EB5757 */
        --destructive-foreground: 0 0% 100%;
        --success: 145 63% 42%;
        --success-foreground: 0 0% 100%;
        --warning: 28 87% 62%;              /* #F2994A */
        --warning-foreground: 28 90% 14%;
        --border: 220 17% 86%;
        --input: 220 16% 84%;

        /* sidebar (white rail on the cool-grey app bg; active = faint brand tint) */
        --sidebar: 0 0% 100%;
        --sidebar-foreground: 222 14% 36%;
        --sidebar-border: 220 17% 88%;
        --sidebar-accent: 240 60% 96.5%;

        /* brand — honors white-label injection (--app-primary-color); Alvanda purple #3030AD */
        --primary: var(--app-primary-color, #3030ad);
        --primary-foreground: var(--app-primary-foreground, #ffffff);
        --primary-hover: var(--app-derived-highlight-color, #28289a);
        --ring: var(--app-primary-color, #3030ad);

        --radius: 0.75rem;
    }

    [data-theme='dark'] {
        /* ZINC dark — soft near-black zinc */
        --background: 240 3% 5%;
        --foreground: 240 2% 97%;
        --card: 240 3% 8%;
        --card-foreground: 240 2% 97%;
        --popover: 240 3% 8%;
        --popover-foreground: 240 2% 97%;
        --secondary: 240 2% 13%;
        --secondary-foreground: 240 2% 96%;
        --muted: 240 2% 12%;
        --muted-foreground: 240 8% 66%;
        --accent: 240 2% 14%;
        --accent-foreground: 240 2% 96%;
        --destructive: 0 72% 60%;
        --destructive-foreground: 0 0% 100%;
        --success: 145 55% 50%;
        --success-foreground: 145 60% 8%;
        --warning: 28 87% 64%;
        --warning-foreground: 28 90% 12%;
        --border: 240 2% 14%;
        --input: 240 2% 16%;

        --sidebar: 240 3% 8%;
        --sidebar-foreground: 240 6% 66%;
        --sidebar-border: 240 2% 14%;
        --sidebar-accent: 240 22% 18%;

        /* Alvanda purple; on dark the fallback is the official Alvanda HIGHLIGHT purple
           (#4D4DE6) for legibility on near-black. White-label --app-primary-color still wins. */
        --primary: var(--app-primary-color, #4d4de6);
        --primary-foreground: var(--app-primary-foreground, #ffffff);
        --primary-hover: var(--app-derived-highlight-color, #6a6af0);
        --ring: var(--app-primary-color, #4d4de6);
    }

    /*
     * Preflight is disabled globally (so the legacy SCSS app isn't reset). That
     * means native form controls keep their user-agent border + background,
     * which leaks through as "thick" button borders/bevels in the new UI.
     *
     * Scope a minimal reset to the v2 shell (.v2-app). The universal selector
     * keeps specificity equal to a Tailwind utility (0,1,0), so `border`,
     * `bg-*`, etc. still win by source order — only the UA defaults are removed.
     */
    .v2-app *,
    .v2-app *::before,
    .v2-app *::after {
        border-width: 0;
        border-style: solid;
    }
    /* Remove the native form-control background (the UA default that leaked with
       preflight off) — scoped to FORM CONTROLS, not every element. The scope class
       sits in :where() so the selector stays at Tailwind-preflight specificity
       (0,0,1): strong enough to kill UA defaults (author styles always beat the
       user agent), weak enough to lose to ANY authored class regardless of bundle
       order. History: `.v2-app *` (0,1,0) tied with module CSS and won by prod
       chunk order (see-through modals); rescoping to `.v2-app button` (0,1,1)
       out-ranked bg-* utilities (0,1,0) and blanked shadcn buttons at rest. */
    :where(.v2-app) button,
    :where(.v2-app) input,
    :where(.v2-app) optgroup,
    :where(.v2-app) select,
    :where(.v2-app) textarea {
        background-color: transparent;
    }
    :where(.v2-app) button { cursor: pointer; }
.\!container {
        width: 100% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important;
}
.container {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-right: 1.5rem;
        padding-left: 1.5rem;
}
@media (min-width: 1400px) {

        .\!container {
                max-width: 1400px !important;
        }

        .container {
                max-width: 1400px;
        }
}
.sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border-width: 0;
}
.pointer-events-none {
        pointer-events: none;
}
.pointer-events-auto {
        pointer-events: auto;
}
.\!visible {
        visibility: visible !important;
}
.visible {
        visibility: visible;
}
.invisible {
        visibility: hidden;
}
.collapse {
        visibility: collapse;
}
.static {
        position: static;
}
.fixed {
        position: fixed;
}
.absolute {
        position: absolute;
}
.relative {
        position: relative;
}
.sticky {
        position: sticky;
}
.inset-0 {
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
}
.inset-x-0 {
        left: 0px;
        right: 0px;
}
.inset-y-0 {
        top: 0px;
        bottom: 0px;
}
.inset-y-1 {
        top: 0.25rem;
        bottom: 0.25rem;
}
.inset-y-3 {
        top: 0.75rem;
        bottom: 0.75rem;
}
.inset-y-\[6px\] {
        top: 6px;
        bottom: 6px;
}
.inset-y-\[9px\] {
        top: 9px;
        bottom: 9px;
}
.-bottom-0\.5 {
        bottom: -0.125rem;
}
.-bottom-1 {
        bottom: -0.25rem;
}
.-bottom-1\.5 {
        bottom: -0.375rem;
}
.-bottom-24 {
        bottom: -6rem;
}
.-left-16 {
        left: -4rem;
}
.-right-0\.5 {
        right: -0.125rem;
}
.-right-1 {
        right: -0.25rem;
}
.-right-1\.5 {
        right: -0.375rem;
}
.-right-16 {
        right: -4rem;
}
.-top-0\.5 {
        top: -0.125rem;
}
.-top-1 {
        top: -0.25rem;
}
.-top-1\.5 {
        top: -0.375rem;
}
.-top-24 {
        top: -6rem;
}
.-top-3 {
        top: -0.75rem;
}
.bottom-0 {
        bottom: 0px;
}
.bottom-1 {
        bottom: 0.25rem;
}
.bottom-3 {
        bottom: 0.75rem;
}
.bottom-4 {
        bottom: 1rem;
}
.bottom-5 {
        bottom: 1.25rem;
}
.bottom-6 {
        bottom: 1.5rem;
}
.bottom-\[3vh\] {
        bottom: 3vh;
}
.bottom-\[5\.25rem\] {
        bottom: 5.25rem;
}
.bottom-\[calc\(100\%\+8px\)\] {
        bottom: calc(100% + 8px);
}
.left-0 {
        left: 0px;
}
.left-1 {
        left: 0.25rem;
}
.left-1\/2 {
        left: 50%;
}
.left-3 {
        left: 0.75rem;
}
.left-4 {
        left: 1rem;
}
.left-\[11px\] {
        left: 11px;
}
.left-\[4\.5px\] {
        left: 4.5px;
}
.left-\[5px\] {
        left: 5px;
}
.left-\[8px\] {
        left: 8px;
}
.left-auto {
        left: auto;
}
.right-0 {
        right: 0px;
}
.right-1 {
        right: 0.25rem;
}
.right-1\.5 {
        right: 0.375rem;
}
.right-2 {
        right: 0.5rem;
}
.right-2\.5 {
        right: 0.625rem;
}
.right-3 {
        right: 0.75rem;
}
.right-4 {
        right: 1rem;
}
.right-6 {
        right: 1.5rem;
}
.right-9 {
        right: 2.25rem;
}
.top-0 {
        top: 0px;
}
.top-1 {
        top: 0.25rem;
}
.top-1\.5 {
        top: 0.375rem;
}
.top-1\/2 {
        top: 50%;
}
.top-2 {
        top: 0.5rem;
}
.top-4 {
        top: 1rem;
}
.top-7 {
        top: 1.75rem;
}
.top-\[10vh\] {
        top: 10vh;
}
.top-\[13vh\] {
        top: 13vh;
}
.top-\[15px\] {
        top: 15px;
}
.top-\[3vh\] {
        top: 3vh;
}
.top-\[64px\] {
        top: 64px;
}
.z-10 {
        z-index: 10;
}
.z-\[1000\] {
        z-index: 1000;
}
.z-\[1001\] {
        z-index: 1001;
}
.z-\[1100\] {
        z-index: 1100;
}
.z-\[1200\] {
        z-index: 1200;
}
.z-\[1\] {
        z-index: 1;
}
.z-\[2\] {
        z-index: 2;
}
.z-\[var\(--z-popover\)\] {
        z-index: var(--z-popover);
}
.z-\[var\(--z-sticky\)\] {
        z-index: var(--z-sticky);
}
.z-\[var\(--z-toast\)\] {
        z-index: var(--z-toast);
}
.order-1 {
        order: 1;
}
.order-2 {
        order: 2;
}
.order-3 {
        order: 3;
}
.order-last {
        order: 9999;
}
.m-0 {
        margin: 0px;
}
.m-5 {
        margin: 1.25rem;
}
.m-auto {
        margin: auto;
}
.-mx-1 {
        margin-left: -0.25rem;
        margin-right: -0.25rem;
}
.-mx-1\.5 {
        margin-left: -0.375rem;
        margin-right: -0.375rem;
}
.-mx-2 {
        margin-left: -0.5rem;
        margin-right: -0.5rem;
}
.-mx-5 {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
}
.-my-1 {
        margin-top: -0.25rem;
        margin-bottom: -0.25rem;
}
.mx-0\.5 {
        margin-left: 0.125rem;
        margin-right: 0.125rem;
}
.mx-1 {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
}
.mx-1\.5 {
        margin-left: 0.375rem;
        margin-right: 0.375rem;
}
.mx-2 {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
}
.mx-3\.5 {
        margin-left: 0.875rem;
        margin-right: 0.875rem;
}
.mx-4 {
        margin-left: 1rem;
        margin-right: 1rem;
}
.mx-5 {
        margin-left: 1.25rem;
        margin-right: 1.25rem;
}
.mx-auto {
        margin-left: auto;
        margin-right: auto;
}
.my-0 {
        margin-top: 0px;
        margin-bottom: 0px;
}
.my-0\.5 {
        margin-top: 0.125rem;
        margin-bottom: 0.125rem;
}
.my-1 {
        margin-top: 0.25rem;
        margin-bottom: 0.25rem;
}
.my-1\.5 {
        margin-top: 0.375rem;
        margin-bottom: 0.375rem;
}
.my-2 {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
}
.my-3 {
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
}
.-ml-2\.5 {
        margin-left: -0.625rem;
}
.-ml-\[1\.45em\] {
        margin-left: -1.45em;
}
.-mr-1 {
        margin-right: -0.25rem;
}
.-mt-1 {
        margin-top: -0.25rem;
}
.-mt-2 {
        margin-top: -0.5rem;
}
.-mt-4 {
        margin-top: -1rem;
}
.mb-0 {
        margin-bottom: 0px;
}
.mb-0\.5 {
        margin-bottom: 0.125rem;
}
.mb-1 {
        margin-bottom: 0.25rem;
}
.mb-1\.5 {
        margin-bottom: 0.375rem;
}
.mb-2 {
        margin-bottom: 0.5rem;
}
.mb-2\.5 {
        margin-bottom: 0.625rem;
}
.mb-3 {
        margin-bottom: 0.75rem;
}
.mb-3\.5 {
        margin-bottom: 0.875rem;
}
.mb-4 {
        margin-bottom: 1rem;
}
.mb-5 {
        margin-bottom: 1.25rem;
}
.mb-6 {
        margin-bottom: 1.5rem;
}
.mb-7 {
        margin-bottom: 1.75rem;
}
.mb-8 {
        margin-bottom: 2rem;
}
.ml-0\.5 {
        margin-left: 0.125rem;
}
.ml-1 {
        margin-left: 0.25rem;
}
.ml-1\.5 {
        margin-left: 0.375rem;
}
.ml-2 {
        margin-left: 0.5rem;
}
.ml-3 {
        margin-left: 0.75rem;
}
.ml-4 {
        margin-left: 1rem;
}
.ml-5 {
        margin-left: 1.25rem;
}
.ml-\[14px\] {
        margin-left: 14px;
}
.ml-\[18px\] {
        margin-left: 18px;
}
.ml-auto {
        margin-left: auto;
}
.mr-1 {
        margin-right: 0.25rem;
}
.mr-1\.5 {
        margin-right: 0.375rem;
}
.mr-2 {
        margin-right: 0.5rem;
}
.mr-auto {
        margin-right: auto;
}
.mt-0 {
        margin-top: 0px;
}
.mt-0\.5 {
        margin-top: 0.125rem;
}
.mt-1 {
        margin-top: 0.25rem;
}
.mt-1\.5 {
        margin-top: 0.375rem;
}
.mt-10 {
        margin-top: 2.5rem;
}
.mt-2 {
        margin-top: 0.5rem;
}
.mt-2\.5 {
        margin-top: 0.625rem;
}
.mt-3 {
        margin-top: 0.75rem;
}
.mt-3\.5 {
        margin-top: 0.875rem;
}
.mt-4 {
        margin-top: 1rem;
}
.mt-5 {
        margin-top: 1.25rem;
}
.mt-6 {
        margin-top: 1.5rem;
}
.mt-7 {
        margin-top: 1.75rem;
}
.mt-8 {
        margin-top: 2rem;
}
.mt-\[1px\] {
        margin-top: 1px;
}
.mt-\[2px\] {
        margin-top: 2px;
}
.mt-\[30px\] {
        margin-top: 30px;
}
.mt-\[3px\] {
        margin-top: 3px;
}
.mt-auto {
        margin-top: auto;
}
.mt-px {
        margin-top: 1px;
}
.box-border {
        box-sizing: border-box;
}
.line-clamp-1 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
}
.line-clamp-2 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
}
.line-clamp-3 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
}
.line-clamp-4 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
}
.\!block {
        display: block !important;
}
.block {
        display: block;
}
.inline-block {
        display: inline-block;
}
.inline {
        display: inline;
}
.flex {
        display: flex;
}
.inline-flex {
        display: inline-flex;
}
.table {
        display: table;
}
.table-row {
        display: table-row;
}
.grid {
        display: grid;
}
.contents {
        display: contents;
}
.hidden {
        display: none;
}
.aspect-square {
        aspect-ratio: 1 / 1;
}
.aspect-video {
        aspect-ratio: 16 / 9;
}
.\!h-5 {
        height: 1.25rem !important;
}
.\!h-6 {
        height: 1.5rem !important;
}
.\!h-auto {
        height: auto !important;
}
.h-0\.5 {
        height: 0.125rem;
}
.h-1 {
        height: 0.25rem;
}
.h-1\.5 {
        height: 0.375rem;
}
.h-10 {
        height: 2.5rem;
}
.h-11 {
        height: 2.75rem;
}
.h-12 {
        height: 3rem;
}
.h-14 {
        height: 3.5rem;
}
.h-16 {
        height: 4rem;
}
.h-2 {
        height: 0.5rem;
}
.h-2\.5 {
        height: 0.625rem;
}
.h-20 {
        height: 5rem;
}
.h-24 {
        height: 6rem;
}
.h-3 {
        height: 0.75rem;
}
.h-3\.5 {
        height: 0.875rem;
}
.h-4 {
        height: 1rem;
}
.h-40 {
        height: 10rem;
}
.h-5 {
        height: 1.25rem;
}
.h-56 {
        height: 14rem;
}
.h-6 {
        height: 1.5rem;
}
.h-64 {
        height: 16rem;
}
.h-7 {
        height: 1.75rem;
}
.h-72 {
        height: 18rem;
}
.h-8 {
        height: 2rem;
}
.h-80 {
        height: 20rem;
}
.h-9 {
        height: 2.25rem;
}
.h-96 {
        height: 24rem;
}
.h-\[0\.95em\] {
        height: 0.95em;
}
.h-\[0\.95rem\] {
        height: 0.95rem;
}
.h-\[1\.15rem\] {
        height: 1.15rem;
}
.h-\[10px\] {
        height: 10px;
}
.h-\[10x\] {
        height: 10x;
}
.h-\[11px\] {
        height: 11px;
}
.h-\[120px\] {
        height: 120px;
}
.h-\[12px\] {
        height: 12px;
}
.h-\[13px\] {
        height: 13px;
}
.h-\[140px\] {
        height: 140px;
}
.h-\[14px\] {
        height: 14px;
}
.h-\[15px\] {
        height: 15px;
}
.h-\[16px\] {
        height: 16px;
}
.h-\[17px\] {
        height: 17px;
}
.h-\[180px\] {
        height: 180px;
}
.h-\[18px\] {
        height: 18px;
}
.h-\[1em\] {
        height: 1em;
}
.h-\[1px\] {
        height: 1px;
}
.h-\[200px\] {
        height: 200px;
}
.h-\[20px\] {
        height: 20px;
}
.h-\[22px\] {
        height: 22px;
}
.h-\[2px\] {
        height: 2px;
}
.h-\[30px\] {
        height: 30px;
}
.h-\[38px\] {
        height: 38px;
}
.h-\[40px\] {
        height: 40px;
}
.h-\[42px\] {
        height: 42px;
}
.h-\[44px\] {
        height: 44px;
}
.h-\[58px\] {
        height: 58px;
}
.h-\[68px\] {
        height: 68px;
}
.h-\[70vh\] {
        height: 70vh;
}
.h-\[7px\] {
        height: 7px;
}
.h-\[88dvh\] {
        height: 88dvh;
}
.h-\[min\(640px\2c calc\(100dvh-7rem\)\)\] {
        height: min(640px, calc(100dvh - 7rem));
}
.h-auto {
        height: auto;
}
.h-fit {
        height: fit-content;
}
.h-full {
        height: 100%;
}
.h-px {
        height: 1px;
}
.h-screen {
        height: 100vh;
}
.max-h-56 {
        max-height: 14rem;
}
.max-h-64 {
        max-height: 16rem;
}
.max-h-72 {
        max-height: 18rem;
}
.max-h-\[140px\] {
        max-height: 140px;
}
.max-h-\[160px\] {
        max-height: 160px;
}
.max-h-\[176px\] {
        max-height: 176px;
}
.max-h-\[180px\] {
        max-height: 180px;
}
.max-h-\[200px\] {
        max-height: 200px;
}
.max-h-\[296px\] {
        max-height: 296px;
}
.max-h-\[320px\] {
        max-height: 320px;
}
.max-h-\[40vh\] {
        max-height: 40vh;
}
.max-h-\[420px\] {
        max-height: 420px;
}
.max-h-\[46vh\] {
        max-height: 46vh;
}
.max-h-\[50vh\] {
        max-height: 50vh;
}
.max-h-\[52vh\] {
        max-height: 52vh;
}
.max-h-\[70vh\] {
        max-height: 70vh;
}
.max-h-\[80vh\] {
        max-height: 80vh;
}
.max-h-\[88dvh\] {
        max-height: 88dvh;
}
.max-h-\[90\%\] {
        max-height: 90%;
}
.max-h-\[90dvh\] {
        max-height: 90dvh;
}
.max-h-\[90vh\] {
        max-height: 90vh;
}
.max-h-\[calc\(100dvh-48px\)\] {
        max-height: calc(100dvh - 48px);
}
.max-h-\[calc\(100vh-6rem\)\] {
        max-height: calc(100vh - 6rem);
}
.max-h-\[min\(320px\2c 42vh\)\] {
        max-height: min(320px, 42vh);
}
.max-h-full {
        max-height: 100%;
}
.max-h-none {
        max-height: none;
}
.min-h-0 {
        min-height: 0px;
}
.min-h-\[120px\] {
        min-height: 120px;
}
.min-h-\[160px\] {
        min-height: 160px;
}
.min-h-\[180px\] {
        min-height: 180px;
}
.min-h-\[200px\] {
        min-height: 200px;
}
.min-h-\[260px\] {
        min-height: 260px;
}
.min-h-\[280px\] {
        min-height: 280px;
}
.min-h-\[300px\] {
        min-height: 300px;
}
.min-h-\[320px\] {
        min-height: 320px;
}
.min-h-\[34px\] {
        min-height: 34px;
}
.min-h-\[360px\] {
        min-height: 360px;
}
.min-h-\[38px\] {
        min-height: 38px;
}
.min-h-\[40px\] {
        min-height: 40px;
}
.min-h-\[420px\] {
        min-height: 420px;
}
.min-h-\[44px\] {
        min-height: 44px;
}
.min-h-\[480px\] {
        min-height: 480px;
}
.min-h-\[500px\] {
        min-height: 500px;
}
.min-h-\[520px\] {
        min-height: 520px;
}
.min-h-\[60vh\] {
        min-height: 60vh;
}
.min-h-\[80px\] {
        min-height: 80px;
}
.min-h-\[88px\] {
        min-height: 88px;
}
.min-h-\[96px\] {
        min-height: 96px;
}
.min-h-screen {
        min-height: 100vh;
}
.\!w-5 {
        width: 1.25rem !important;
}
.\!w-6 {
        width: 1.5rem !important;
}
.\!w-full {
        width: 100% !important;
}
.w-1 {
        width: 0.25rem;
}
.w-1\.5 {
        width: 0.375rem;
}
.w-1\/2 {
        width: 50%;
}
.w-1\/3 {
        width: 33.333333%;
}
.w-1\/4 {
        width: 25%;
}
.w-1\/5 {
        width: 20%;
}
.w-1\/6 {
        width: 16.666667%;
}
.w-10 {
        width: 2.5rem;
}
.w-11 {
        width: 2.75rem;
}
.w-12 {
        width: 3rem;
}
.w-14 {
        width: 3.5rem;
}
.w-16 {
        width: 4rem;
}
.w-2 {
        width: 0.5rem;
}
.w-2\.5 {
        width: 0.625rem;
}
.w-2\/3 {
        width: 66.666667%;
}
.w-2\/5 {
        width: 40%;
}
.w-20 {
        width: 5rem;
}
.w-24 {
        width: 6rem;
}
.w-28 {
        width: 7rem;
}
.w-3 {
        width: 0.75rem;
}
.w-3\.5 {
        width: 0.875rem;
}
.w-3\/4 {
        width: 75%;
}
.w-32 {
        width: 8rem;
}
.w-36 {
        width: 9rem;
}
.w-4 {
        width: 1rem;
}
.w-4\/5 {
        width: 80%;
}
.w-40 {
        width: 10rem;
}
.w-44 {
        width: 11rem;
}
.w-48 {
        width: 12rem;
}
.w-5 {
        width: 1.25rem;
}
.w-5\/6 {
        width: 83.333333%;
}
.w-52 {
        width: 13rem;
}
.w-56 {
        width: 14rem;
}
.w-6 {
        width: 1.5rem;
}
.w-64 {
        width: 16rem;
}
.w-7 {
        width: 1.75rem;
}
.w-72 {
        width: 18rem;
}
.w-8 {
        width: 2rem;
}
.w-80 {
        width: 20rem;
}
.w-9 {
        width: 2.25rem;
}
.w-96 {
        width: 24rem;
}
.w-\[0\.95em\] {
        width: 0.95em;
}
.w-\[0\.95rem\] {
        width: 0.95rem;
}
.w-\[1\.15rem\] {
        width: 1.15rem;
}
.w-\[100px\] {
        width: 100px;
}
.w-\[104px\] {
        width: 104px;
}
.w-\[10px\] {
        width: 10px;
}
.w-\[110px\] {
        width: 110px;
}
.w-\[118px\] {
        width: 118px;
}
.w-\[11px\] {
        width: 11px;
}
.w-\[120px\] {
        width: 120px;
}
.w-\[124px\] {
        width: 124px;
}
.w-\[12px\] {
        width: 12px;
}
.w-\[130px\] {
        width: 130px;
}
.w-\[132px\] {
        width: 132px;
}
.w-\[13px\] {
        width: 13px;
}
.w-\[140px\] {
        width: 140px;
}
.w-\[14px\] {
        width: 14px;
}
.w-\[150px\] {
        width: 150px;
}
.w-\[156px\] {
        width: 156px;
}
.w-\[15px\] {
        width: 15px;
}
.w-\[160px\] {
        width: 160px;
}
.w-\[168px\] {
        width: 168px;
}
.w-\[16px\] {
        width: 16px;
}
.w-\[176px\] {
        width: 176px;
}
.w-\[17px\] {
        width: 17px;
}
.w-\[180px\] {
        width: 180px;
}
.w-\[18px\] {
        width: 18px;
}
.w-\[190px\] {
        width: 190px;
}
.w-\[196px\] {
        width: 196px;
}
.w-\[1px\] {
        width: 1px;
}
.w-\[200px\] {
        width: 200px;
}
.w-\[20px\] {
        width: 20px;
}
.w-\[212px\] {
        width: 212px;
}
.w-\[220px\] {
        width: 220px;
}
.w-\[22px\] {
        width: 22px;
}
.w-\[236px\] {
        width: 236px;
}
.w-\[240px\] {
        width: 240px;
}
.w-\[248px\] {
        width: 248px;
}
.w-\[280px\] {
        width: 280px;
}
.w-\[2px\] {
        width: 2px;
}
.w-\[3\.25rem\] {
        width: 3.25rem;
}
.w-\[300px\] {
        width: 300px;
}
.w-\[30px\] {
        width: 30px;
}
.w-\[340px\] {
        width: 340px;
}
.w-\[38\%\] {
        width: 38%;
}
.w-\[38px\] {
        width: 38px;
}
.w-\[3px\] {
        width: 3px;
}
.w-\[42\%\] {
        width: 42%;
}
.w-\[42px\] {
        width: 42px;
}
.w-\[44\%\] {
        width: 44%;
}
.w-\[45\%\] {
        width: 45%;
}
.w-\[55\%\] {
        width: 55%;
}
.w-\[58\%\] {
        width: 58%;
}
.w-\[68px\] {
        width: 68px;
}
.w-\[70\%\] {
        width: 70%;
}
.w-\[72px\] {
        width: 72px;
}
.w-\[7px\] {
        width: 7px;
}
.w-\[80\%\] {
        width: 80%;
}
.w-\[85\%\] {
        width: 85%;
}
.w-\[88px\] {
        width: 88px;
}
.w-\[92\%\] {
        width: 92%;
}
.w-\[calc\(100\%-0\.75rem\)\] {
        width: calc(100% - 0.75rem);
}
.w-\[calc\(100\%-1rem\)\] {
        width: calc(100% - 1rem);
}
.w-\[min\(1200px\2c calc\(100vw-1\.5rem\)\)\] {
        width: min(1200px, calc(100vw - 1.5rem));
}
.w-\[min\(300px\2c calc\(100vw-16px\)\)\] {
        width: min(300px, calc(100vw - 16px));
}
.w-\[min\(320px\2c calc\(100vw-16px\)\)\] {
        width: min(320px, calc(100vw - 16px));
}
.w-\[min\(420px\2c calc\(100vw-2rem\)\)\] {
        width: min(420px, calc(100vw - 2rem));
}
.w-\[min\(480px\2c calc\(100vw-2rem\)\)\] {
        width: min(480px, calc(100vw - 2rem));
}
.w-\[min\(520px\2c calc\(100vw-1\.5rem\)\)\] {
        width: min(520px, calc(100vw - 1.5rem));
}
.w-\[min\(520px\2c calc\(100vw-2rem\)\)\] {
        width: min(520px, calc(100vw - 2rem));
}
.w-\[min\(560px\2c calc\(100vw-2rem\)\)\] {
        width: min(560px, calc(100vw - 2rem));
}
.w-\[min\(640px\2c calc\(100vw-2rem\)\)\] {
        width: min(640px, calc(100vw - 2rem));
}
.w-\[min\(760px\2c calc\(100vw-1\.5rem\)\)\] {
        width: min(760px, calc(100vw - 1.5rem));
}
.w-\[min\(960px\2c calc\(100vw-1\.5rem\)\)\] {
        width: min(960px, calc(100vw - 1.5rem));
}
.w-auto {
        width: auto;
}
.w-fit {
        width: fit-content;
}
.w-full {
        width: 100%;
}
.w-max {
        width: max-content;
}
.w-px {
        width: 1px;
}
.min-w-0 {
        min-width: 0px;
}
.min-w-4 {
        min-width: 1rem;
}
.min-w-5 {
        min-width: 1.25rem;
}
.min-w-\[10rem\] {
        min-width: 10rem;
}
.min-w-\[120px\] {
        min-width: 120px;
}
.min-w-\[130px\] {
        min-width: 130px;
}
.min-w-\[140px\] {
        min-width: 140px;
}
.min-w-\[14px\] {
        min-width: 14px;
}
.min-w-\[150px\] {
        min-width: 150px;
}
.min-w-\[15px\] {
        min-width: 15px;
}
.min-w-\[160px\] {
        min-width: 160px;
}
.min-w-\[16px\] {
        min-width: 16px;
}
.min-w-\[180px\] {
        min-width: 180px;
}
.min-w-\[18px\] {
        min-width: 18px;
}
.min-w-\[200px\] {
        min-width: 200px;
}
.min-w-\[20px\] {
        min-width: 20px;
}
.min-w-\[220px\] {
        min-width: 220px;
}
.min-w-\[24px\] {
        min-width: 24px;
}
.min-w-\[260px\] {
        min-width: 260px;
}
.min-w-\[28px\] {
        min-width: 28px;
}
.min-w-\[44px\] {
        min-width: 44px;
}
.min-w-\[48px\] {
        min-width: 48px;
}
.min-w-\[7\.5rem\] {
        min-width: 7.5rem;
}
.min-w-\[920px\] {
        min-width: 920px;
}
.min-w-fit {
        min-width: fit-content;
}
.min-w-full {
        min-width: 100%;
}
.min-w-max {
        min-width: max-content;
}
.max-w-2xl {
        max-width: 42rem;
}
.max-w-3xl {
        max-width: 48rem;
}
.max-w-\[1000px\] {
        max-width: 1000px;
}
.max-w-\[1080px\] {
        max-width: 1080px;
}
.max-w-\[1100px\] {
        max-width: 1100px;
}
.max-w-\[1180px\] {
        max-width: 1180px;
}
.max-w-\[1200px\] {
        max-width: 1200px;
}
.max-w-\[1280px\] {
        max-width: 1280px;
}
.max-w-\[12rem\] {
        max-width: 12rem;
}
.max-w-\[140px\] {
        max-width: 140px;
}
.max-w-\[14rem\] {
        max-width: 14rem;
}
.max-w-\[160px\] {
        max-width: 160px;
}
.max-w-\[1680px\] {
        max-width: 1680px;
}
.max-w-\[180px\] {
        max-width: 180px;
}
.max-w-\[200px\] {
        max-width: 200px;
}
.max-w-\[220px\] {
        max-width: 220px;
}
.max-w-\[240px\] {
        max-width: 240px;
}
.max-w-\[260px\] {
        max-width: 260px;
}
.max-w-\[280px\] {
        max-width: 280px;
}
.max-w-\[300px\] {
        max-width: 300px;
}
.max-w-\[320px\] {
        max-width: 320px;
}
.max-w-\[340px\] {
        max-width: 340px;
}
.max-w-\[360px\] {
        max-width: 360px;
}
.max-w-\[40\%\] {
        max-width: 40%;
}
.max-w-\[400px\] {
        max-width: 400px;
}
.max-w-\[40vw\] {
        max-width: 40vw;
}
.max-w-\[420px\] {
        max-width: 420px;
}
.max-w-\[42ch\] {
        max-width: 42ch;
}
.max-w-\[440px\] {
        max-width: 440px;
}
.max-w-\[45\%\] {
        max-width: 45%;
}
.max-w-\[460px\] {
        max-width: 460px;
}
.max-w-\[50\%\] {
        max-width: 50%;
}
.max-w-\[52ch\] {
        max-width: 52ch;
}
.max-w-\[560px\] {
        max-width: 560px;
}
.max-w-\[60\%\] {
        max-width: 60%;
}
.max-w-\[640px\] {
        max-width: 640px;
}
.max-w-\[680px\] {
        max-width: 680px;
}
.max-w-\[70\%\] {
        max-width: 70%;
}
.max-w-\[75\%\] {
        max-width: 75%;
}
.max-w-\[760px\] {
        max-width: 760px;
}
.max-w-\[82vw\] {
        max-width: 82vw;
}
.max-w-\[85\%\] {
        max-width: 85%;
}
.max-w-\[860px\] {
        max-width: 860px;
}
.max-w-\[88\%\] {
        max-width: 88%;
}
.max-w-\[90\%\] {
        max-width: 90%;
}
.max-w-\[900px\] {
        max-width: 900px;
}
.max-w-\[90vw\] {
        max-width: 90vw;
}
.max-w-\[920px\] {
        max-width: 920px;
}
.max-w-\[calc\(100vw-1\.5rem\)\] {
        max-width: calc(100vw - 1.5rem);
}
.max-w-\[calc\(100vw-1rem\)\] {
        max-width: calc(100vw - 1rem);
}
.max-w-\[min\(360px\2c calc\(100vw-2rem\)\)\] {
        max-width: min(360px, calc(100vw - 2rem));
}
.max-w-full {
        max-width: 100%;
}
.max-w-lg {
        max-width: 32rem;
}
.max-w-md {
        max-width: 28rem;
}
.max-w-sm {
        max-width: 24rem;
}
.max-w-xs {
        max-width: 20rem;
}
.flex-1 {
        flex: 1 1 0%;
}
.flex-\[1_1_0\] {
        flex: 1 1 0;
}
.flex-\[2\.2\] {
        flex: 2.2;
}
.flex-\[2\] {
        flex: 2;
}
.flex-\[2_1_0\] {
        flex: 2 1 0;
}
.flex-\[2_1_180px\] {
        flex: 2 1 180px;
}
.flex-none {
        flex: none;
}
.shrink {
        flex-shrink: 1;
}
.shrink-0 {
        flex-shrink: 0;
}
.grow {
        flex-grow: 1;
}
.table-fixed {
        table-layout: fixed;
}
.border-collapse {
        border-collapse: collapse;
}
.-translate-x-1\/2 {
        --tw-translate-x: -50%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
        --tw-translate-y: -50%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[0\.15em\] {
        --tw-translate-y: 0.15em;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
        --tw-rotate: 180deg;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
        --tw-rotate: 90deg;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes fade-in-up {

        from {
                opacity: 0;
                transform: translateY(8px);
        }

        to {
                opacity: 1;
                transform: translateY(0);
        }
}
.animate-fade-in-up {
        animation: fade-in-up 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes pulse {

        50% {
                opacity: .5;
        }
}
.animate-pulse {
        animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {

        to {
                transform: rotate(360deg);
        }
}
.animate-spin {
        animation: spin 1s linear infinite;
}
.cursor-copy {
        cursor: copy;
}
.cursor-default {
        cursor: default;
}
.cursor-ew-resize {
        cursor: ew-resize;
}
.cursor-grab {
        cursor: grab;
}
.cursor-help {
        cursor: help;
}
.cursor-not-allowed {
        cursor: not-allowed;
}
.cursor-pointer {
        cursor: pointer;
}
.cursor-progress {
        cursor: progress;
}
.cursor-text {
        cursor: text;
}
.cursor-zoom-in {
        cursor: zoom-in;
}
.touch-none {
        touch-action: none;
}
.select-none {
        -webkit-user-select: none;
                user-select: none;
}
.select-all {
        -webkit-user-select: all;
                user-select: all;
}
.resize-none {
        resize: none;
}
.resize-y {
        resize: vertical;
}
.resize {
        resize: both;
}
.list-disc {
        list-style-type: disc;
}
.list-none {
        list-style-type: none;
}
.appearance-none {
        appearance: none;
}
.grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-7 {
        grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-\[1fr_auto_1fr\] {
        grid-template-columns: 1fr auto 1fr;
}
.grid-cols-\[auto_1fr_auto\] {
        grid-template-columns: auto 1fr auto;
}
.grid-cols-\[auto_minmax\(0\2c 1\.4fr\)_minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_auto\] {
        grid-template-columns: auto minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto;
}
.grid-cols-\[auto_minmax\(0\2c 1fr\)_minmax\(0\2c 1\.2fr\)\] {
        grid-template-columns: auto minmax(0,1fr) minmax(0,1.2fr);
}
.grid-cols-\[minmax\(0\2c 1\.3fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 2fr\)\] {
        grid-template-columns: minmax(0,1.3fr) minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,2fr);
}
.grid-cols-\[minmax\(0\2c 2\.5fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 1\.2fr\)_110px_110px_160px\] {
        grid-template-columns: minmax(0,2.5fr) minmax(0,1.5fr) minmax(0,1.2fr) 110px 110px 160px;
}
.grid-rows-2 {
        grid-template-rows: repeat(2, minmax(0, 1fr));
}
.flex-row {
        flex-direction: row;
}
.flex-col {
        flex-direction: column;
}
.flex-col-reverse {
        flex-direction: column-reverse;
}
.flex-wrap {
        flex-wrap: wrap;
}
.flex-nowrap {
        flex-wrap: nowrap;
}
.place-items-center {
        align-items: center;
        justify-items: center;
        place-items: center;
}
.items-start {
        align-items: flex-start;
}
.items-end {
        align-items: flex-end;
}
.items-center {
        align-items: center;
}
.items-baseline {
        align-items: baseline;
}
.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-stretch {
        justify-content: stretch;
}
.gap-0 {
        gap: 0px;
}
.gap-0\.5 {
        gap: 0.125rem;
}
.gap-1 {
        gap: 0.25rem;
}
.gap-1\.5 {
        gap: 0.375rem;
}
.gap-2 {
        gap: 0.5rem;
}
.gap-2\.5 {
        gap: 0.625rem;
}
.gap-3 {
        gap: 0.75rem;
}
.gap-3\.5 {
        gap: 0.875rem;
}
.gap-4 {
        gap: 1rem;
}
.gap-5 {
        gap: 1.25rem;
}
.gap-6 {
        gap: 1.5rem;
}
.gap-7 {
        gap: 1.75rem;
}
.gap-8 {
        gap: 2rem;
}
.gap-px {
        gap: 1px;
}
.gap-x-1\.5 {
        column-gap: 0.375rem;
}
.gap-x-10 {
        column-gap: 2.5rem;
}
.gap-x-2 {
        column-gap: 0.5rem;
}
.gap-x-2\.5 {
        column-gap: 0.625rem;
}
.gap-x-3 {
        column-gap: 0.75rem;
}
.gap-x-3\.5 {
        column-gap: 0.875rem;
}
.gap-x-4 {
        column-gap: 1rem;
}
.gap-x-5 {
        column-gap: 1.25rem;
}
.gap-y-0\.5 {
        row-gap: 0.125rem;
}
.gap-y-1 {
        row-gap: 0.25rem;
}
.gap-y-1\.5 {
        row-gap: 0.375rem;
}
.gap-y-2 {
        row-gap: 0.5rem;
}
.gap-y-2\.5 {
        row-gap: 0.625rem;
}
.gap-y-5 {
        row-gap: 1.25rem;
}
.gap-y-6 {
        row-gap: 1.5rem;
}
.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(-0.375rem * var(--tw-space-x-reverse));
        margin-left: calc(-0.375rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.125rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.25rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.375rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.5rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.625rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(0.75rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.25rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
        --tw-divide-y-reverse: 0;
        border-top-width: calc(1px * (1 - var(--tw-divide-y-reverse)));
        border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
        border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.self-start {
        align-self: flex-start;
}
.self-end {
        align-self: flex-end;
}
.self-center {
        align-self: center;
}
.self-stretch {
        align-self: stretch;
}
.justify-self-end {
        justify-self: end;
}
.overflow-auto {
        overflow: auto;
}
.overflow-hidden {
        overflow: hidden;
}
.overflow-visible {
        overflow: visible;
}
.overflow-x-auto {
        overflow-x: auto;
}
.overflow-y-auto {
        overflow-y: auto;
}
.overflow-x-hidden {
        overflow-x: hidden;
}
.overflow-y-hidden {
        overflow-y: hidden;
}
.overflow-y-visible {
        overflow-y: visible;
}
.overscroll-y-contain {
        overscroll-behavior-y: contain;
}
.truncate {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
}
.text-ellipsis {
        text-overflow: ellipsis;
}
.whitespace-normal {
        white-space: normal;
}
.whitespace-nowrap {
        white-space: nowrap;
}
.whitespace-pre {
        white-space: pre;
}
.whitespace-pre-line {
        white-space: pre-line;
}
.whitespace-pre-wrap {
        white-space: pre-wrap;
}
.break-words {
        word-wrap: break-word;
}
.break-all {
        word-break: break-all;
}
.\!rounded-full {
        border-radius: 9999px !important;
}
.\!rounded-md {
        border-radius: calc(0.75rem - 2px) !important;
        border-radius: calc(var(--radius) - 2px) !important;
}
.rounded {
        border-radius: 0.25rem;
}
.rounded-2xl {
        border-radius: 1rem;
}
.rounded-3xl {
        border-radius: 1.5rem;
}
.rounded-\[10px\] {
        border-radius: 10px;
}
.rounded-\[12px\] {
        border-radius: 12px;
}
.rounded-\[18px\] {
        border-radius: 18px;
}
.rounded-\[2px\] {
        border-radius: 2px;
}
.rounded-\[3px\] {
        border-radius: 3px;
}
.rounded-\[4px\] {
        border-radius: 4px;
}
.rounded-\[5px\] {
        border-radius: 5px;
}
.rounded-\[6px\] {
        border-radius: 6px;
}
.rounded-\[7px\] {
        border-radius: 7px;
}
.rounded-\[8px\] {
        border-radius: 8px;
}
.rounded-\[inherit\] {
        border-radius: inherit;
}
.rounded-\[var\(--r-btn\)\] {
        border-radius: var(--r-btn);
}
.rounded-\[var\(--r-full\)\] {
        border-radius: var(--r-full);
}
.rounded-\[var\(--r-md\)\] {
        border-radius: var(--r-md);
}
.rounded-\[var\(--r-sm\)\] {
        border-radius: var(--r-sm);
}
.rounded-full {
        border-radius: 9999px;
}
.rounded-lg {
        border-radius: 0.75rem;
        border-radius: var(--radius);
}
.rounded-md {
        border-radius: calc(0.75rem - 2px);
        border-radius: calc(var(--radius) - 2px);
}
.rounded-sm {
        border-radius: calc(0.75rem - 4px);
        border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
        border-radius: calc(0.75rem + 4px);
        border-radius: calc(var(--radius) + 4px);
}
.rounded-b-none {
        border-bottom-right-radius: 0px;
        border-bottom-left-radius: 0px;
}
.rounded-l-\[var\(--r-2xl\)\] {
        border-top-left-radius: var(--r-2xl);
        border-bottom-left-radius: var(--r-2xl);
}
.rounded-l-\[var\(--r-md\)\] {
        border-top-left-radius: var(--r-md);
        border-bottom-left-radius: var(--r-md);
}
.rounded-l-lg {
        border-top-left-radius: 0.75rem;
        border-top-left-radius: var(--radius);
        border-bottom-left-radius: 0.75rem;
        border-bottom-left-radius: var(--radius);
}
.rounded-r-\[26px\] {
        border-top-right-radius: 26px;
        border-bottom-right-radius: 26px;
}
.rounded-r-\[var\(--r-md\)\] {
        border-top-right-radius: var(--r-md);
        border-bottom-right-radius: var(--r-md);
}
.rounded-r-none {
        border-top-right-radius: 0px;
        border-bottom-right-radius: 0px;
}
.rounded-t-\[var\(--r-2xl\)\] {
        border-top-left-radius: var(--r-2xl);
        border-top-right-radius: var(--r-2xl);
}
.border {
        border-width: 1px;
}
.border-0 {
        border-width: 0px;
}
.border-2 {
        border-width: 2px;
}
.border-b {
        border-bottom-width: 1px;
}
.border-l {
        border-left-width: 1px;
}
.border-l-2 {
        border-left-width: 2px;
}
.border-l-\[3px\] {
        border-left-width: 3px;
}
.border-r {
        border-right-width: 1px;
}
.border-t {
        border-top-width: 1px;
}
.border-dashed {
        border-style: dashed;
}
.border-\[color\:var\(--brand\)\] {
        border-color: var(--brand);
}
.border-\[color\:var\(--glass-border\)\] {
        border-color: var(--glass-border);
}
.border-\[var\(--brand\)\] {
        border-color: var(--brand);
}
.border-\[var\(--glass-border\)\] {
        border-color: var(--glass-border);
}
.border-border {
        border-color: hsl(220, 17%, 86%);
        border-color: hsl(var(--border));
}
.border-input {
        border-color: hsl(220, 16%, 84%);
        border-color: hsl(var(--input));
}
.border-transparent {
        border-color: transparent;
}
.border-white\/25 {
        border-color: rgba(255, 255, 255, 0.25);
}
.border-white\/50 {
        border-color: rgba(255, 255, 255, 0.5);
}
.border-l-transparent {
        border-left-color: transparent;
}
.border-t-transparent {
        border-top-color: transparent;
}
.bg-\[color-mix\(in_srgb\2c var\(--glass-fill-strong\)_82\%\2c transparent\)\] {
        background-color: color-mix(in srgb,var(--glass-fill-strong) 82%,transparent);
}
.bg-\[color\:var\(--brand-tint\)\] {
        background-color: var(--brand-tint);
}
.bg-\[color\:var\(--field-fill\)\] {
        background-color: var(--field-fill);
}
.bg-\[var\(--brand-tint\)\] {
        background-color: var(--brand-tint);
}
.bg-\[var\(--field-fill\)\] {
        background-color: var(--field-fill);
}
.bg-accent {
        background-color: hsl(220, 18%, 91%);
        background-color: hsl(var(--accent));
}
.bg-background {
        background-color: hsl(220, 24%, 96.5%);
        background-color: hsl(var(--background));
}
.bg-border {
        background-color: hsl(220, 17%, 86%);
        background-color: hsl(var(--border));
}
.bg-card {
        background-color: hsl(0, 0%, 100%);
        background-color: hsl(var(--card));
}
.bg-destructive {
        background-color: hsl(0, 79%, 63%);
        background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
        background-color: hsla(0, 79%, 63%, 0.1);
        background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/15 {
        background-color: hsla(0, 79%, 63%, 0.15);
        background-color: hsl(var(--destructive) / 0.15);
}
.bg-foreground {
        background-color: hsl(222, 40%, 11%);
        background-color: hsl(var(--foreground));
}
.bg-foreground\/30 {
        background-color: hsla(222, 40%, 11%, 0.3);
        background-color: hsl(var(--foreground) / 0.3);
}
.bg-muted {
        background-color: hsl(220, 17%, 93.5%);
        background-color: hsl(var(--muted));
}
.bg-muted-foreground\/40 {
        background-color: hsla(220, 12%, 42%, 0.4);
        background-color: hsl(var(--muted-foreground) / 0.4);
}
.bg-popover {
        background-color: hsl(0, 0%, 100%);
        background-color: hsl(var(--popover));
}
.bg-primary {
        background-color: #3030ad;
        background-color: var(--primary);
}
.bg-secondary {
        background-color: hsl(220, 17%, 93.5%);
        background-color: hsl(var(--secondary));
}
.bg-success\/10 {
        background-color: hsla(145, 63%, 42%, 0.1);
        background-color: hsl(var(--success) / 0.1);
}
.bg-success\/15 {
        background-color: hsla(145, 63%, 42%, 0.15);
        background-color: hsl(var(--success) / 0.15);
}
.bg-transparent {
        background-color: transparent;
}
.bg-warning\/15 {
        background-color: hsla(28, 87%, 62%, 0.15);
        background-color: hsl(var(--warning) / 0.15);
}
.bg-white {
        --tw-bg-opacity: 1;
        background-color: rgba(255, 255, 255, 1);
        background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
        background-color: rgba(255, 255, 255, 0.1);
}
.bg-white\/15 {
        background-color: rgba(255, 255, 255, 0.15);
}
.bg-white\/20 {
        background-color: rgba(255, 255, 255, 0.2);
}
.fill-current {
        fill: currentColor;
}
.object-contain {
        object-fit: contain;
}
.object-cover {
        object-fit: cover;
}
.object-left {
        object-position: left;
}
.\!p-0 {
        padding: 0px !important;
}
.p-0 {
        padding: 0px;
}
.p-0\.5 {
        padding: 0.125rem;
}
.p-1 {
        padding: 0.25rem;
}
.p-1\.5 {
        padding: 0.375rem;
}
.p-2 {
        padding: 0.5rem;
}
.p-2\.5 {
        padding: 0.625rem;
}
.p-3 {
        padding: 0.75rem;
}
.p-3\.5 {
        padding: 0.875rem;
}
.p-4 {
        padding: 1rem;
}
.p-5 {
        padding: 1.25rem;
}
.p-6 {
        padding: 1.5rem;
}
.p-7 {
        padding: 1.75rem;
}
.p-8 {
        padding: 2rem;
}
.p-\[1px\] {
        padding: 1px;
}
.\!px-0 {
        padding-left: 0px !important;
        padding-right: 0px !important;
}
.\!py-0 {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
}
.px-0 {
        padding-left: 0px;
        padding-right: 0px;
}
.px-0\.5 {
        padding-left: 0.125rem;
        padding-right: 0.125rem;
}
.px-1 {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
}
.px-1\.5 {
        padding-left: 0.375rem;
        padding-right: 0.375rem;
}
.px-2 {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
}
.px-2\.5 {
        padding-left: 0.625rem;
        padding-right: 0.625rem;
}
.px-3 {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
}
.px-3\.5 {
        padding-left: 0.875rem;
        padding-right: 0.875rem;
}
.px-4 {
        padding-left: 1rem;
        padding-right: 1rem;
}
.px-5 {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
}
.px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
}
.px-7 {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
}
.px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
}
.py-0 {
        padding-top: 0px;
        padding-bottom: 0px;
}
.py-0\.5 {
        padding-top: 0.125rem;
        padding-bottom: 0.125rem;
}
.py-1 {
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
}
.py-1\.5 {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
}
.py-10 {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
}
.py-12 {
        padding-top: 3rem;
        padding-bottom: 3rem;
}
.py-16 {
        padding-top: 4rem;
        padding-bottom: 4rem;
}
.py-2 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
}
.py-2\.5 {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
}
.py-3 {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
}
.py-3\.5 {
        padding-top: 0.875rem;
        padding-bottom: 0.875rem;
}
.py-4 {
        padding-top: 1rem;
        padding-bottom: 1rem;
}
.py-5 {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
}
.py-6 {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
}
.py-7 {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
}
.py-8 {
        padding-top: 2rem;
        padding-bottom: 2rem;
}
.py-\[9px\] {
        padding-top: 9px;
        padding-bottom: 9px;
}
.py-px {
        padding-top: 1px;
        padding-bottom: 1px;
}
.\!pl-10 {
        padding-left: 2.5rem !important;
}
.\!pr-16 {
        padding-right: 4rem !important;
}
.pb-0\.5 {
        padding-bottom: 0.125rem;
}
.pb-1 {
        padding-bottom: 0.25rem;
}
.pb-10 {
        padding-bottom: 2.5rem;
}
.pb-2 {
        padding-bottom: 0.5rem;
}
.pb-2\.5 {
        padding-bottom: 0.625rem;
}
.pb-24 {
        padding-bottom: 6rem;
}
.pb-3 {
        padding-bottom: 0.75rem;
}
.pb-3\.5 {
        padding-bottom: 0.875rem;
}
.pb-4 {
        padding-bottom: 1rem;
}
.pb-5 {
        padding-bottom: 1.25rem;
}
.pb-6 {
        padding-bottom: 1.5rem;
}
.pb-8 {
        padding-bottom: 2rem;
}
.pb-\[10px\] {
        padding-bottom: 10px;
}
.pl-0\.5 {
        padding-left: 0.125rem;
}
.pl-1 {
        padding-left: 0.25rem;
}
.pl-1\.5 {
        padding-left: 0.375rem;
}
.pl-10 {
        padding-left: 2.5rem;
}
.pl-12 {
        padding-left: 3rem;
}
.pl-2 {
        padding-left: 0.5rem;
}
.pl-2\.5 {
        padding-left: 0.625rem;
}
.pl-3 {
        padding-left: 0.75rem;
}
.pl-3\.5 {
        padding-left: 0.875rem;
}
.pl-4 {
        padding-left: 1rem;
}
.pl-5 {
        padding-left: 1.25rem;
}
.pl-6 {
        padding-left: 1.5rem;
}
.pl-8 {
        padding-left: 2rem;
}
.pl-9 {
        padding-left: 2.25rem;
}
.pl-\[1\.45em\] {
        padding-left: 1.45em;
}
.pl-\[50px\] {
        padding-left: 50px;
}
.pr-0\.5 {
        padding-right: 0.125rem;
}
.pr-1 {
        padding-right: 0.25rem;
}
.pr-1\.5 {
        padding-right: 0.375rem;
}
.pr-10 {
        padding-right: 2.5rem;
}
.pr-11 {
        padding-right: 2.75rem;
}
.pr-16 {
        padding-right: 4rem;
}
.pr-2 {
        padding-right: 0.5rem;
}
.pr-2\.5 {
        padding-right: 0.625rem;
}
.pr-28 {
        padding-right: 7rem;
}
.pr-3 {
        padding-right: 0.75rem;
}
.pr-4 {
        padding-right: 1rem;
}
.pr-8 {
        padding-right: 2rem;
}
.pr-9 {
        padding-right: 2.25rem;
}
.pt-0 {
        padding-top: 0px;
}
.pt-0\.5 {
        padding-top: 0.125rem;
}
.pt-1 {
        padding-top: 0.25rem;
}
.pt-1\.5 {
        padding-top: 0.375rem;
}
.pt-2 {
        padding-top: 0.5rem;
}
.pt-2\.5 {
        padding-top: 0.625rem;
}
.pt-3 {
        padding-top: 0.75rem;
}
.pt-3\.5 {
        padding-top: 0.875rem;
}
.pt-4 {
        padding-top: 1rem;
}
.pt-5 {
        padding-top: 1.25rem;
}
.pt-6 {
        padding-top: 1.5rem;
}
.pt-px {
        padding-top: 1px;
}
.text-left {
        text-align: left;
}
.text-center {
        text-align: center;
}
.text-right {
        text-align: right;
}
.align-baseline {
        vertical-align: baseline;
}
.align-top {
        vertical-align: top;
}
.align-middle {
        vertical-align: middle;
}
.font-mono {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
        font-family: Inter, var(--app-text-main-font), system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
}
.text-2xl {
        font-size: 1.5rem;
        line-height: 2rem;
}
.text-\[0\.86em\] {
        font-size: 0.86em;
}
.text-\[0\.95em\] {
        font-size: 0.95em;
}
.text-\[10\.5px\] {
        font-size: 10.5px;
}
.text-\[10px\] {
        font-size: 10px;
}
.text-\[11\.5px\] {
        font-size: 11.5px;
}
.text-\[11px\] {
        font-size: 11px;
}
.text-\[12\.5px\] {
        font-size: 12.5px;
}
.text-\[12px\] {
        font-size: 12px;
}
.text-\[13\.5px\] {
        font-size: 13.5px;
}
.text-\[13px\] {
        font-size: 13px;
}
.text-\[14\.5px\] {
        font-size: 14.5px;
}
.text-\[14px\] {
        font-size: 14px;
}
.text-\[15\.5px\] {
        font-size: 15.5px;
}
.text-\[15px\] {
        font-size: 15px;
}
.text-\[16px\] {
        font-size: 16px;
}
.text-\[17px\] {
        font-size: 17px;
}
.text-\[18px\] {
        font-size: 18px;
}
.text-\[19px\] {
        font-size: 19px;
}
.text-\[20px\] {
        font-size: 20px;
}
.text-\[22px\] {
        font-size: 22px;
}
.text-\[24px\] {
        font-size: 24px;
}
.text-\[26px\] {
        font-size: 26px;
}
.text-\[28px\] {
        font-size: 28px;
}
.text-\[30px\] {
        font-size: 30px;
}
.text-\[40px\] {
        font-size: 40px;
}
.text-\[6\.5px\] {
        font-size: 6.5px;
}
.text-\[7px\] {
        font-size: 7px;
}
.text-\[8\.5px\] {
        font-size: 8.5px;
}
.text-\[88px\] {
        font-size: 88px;
}
.text-\[8px\] {
        font-size: 8px;
}
.text-\[9\.5px\] {
        font-size: 9.5px;
}
.text-\[9px\] {
        font-size: 9px;
}
.text-base {
        font-size: 1rem;
        line-height: 1.5rem;
}
.text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
}
.text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
}
.text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
}
.text-xs {
        font-size: 0.75rem;
        line-height: 1rem;
}
.font-450 {
        font-weight: 450;
}
.font-550 {
        font-weight: 550;
}
.font-600 {
        font-weight: 600;
}
.font-650 {
        font-weight: 650;
}
.font-700 {
        font-weight: 700;
}
.font-medium {
        font-weight: 500;
}
.font-semibold {
        font-weight: 600;
}
.uppercase {
        text-transform: uppercase;
}
.lowercase {
        text-transform: lowercase;
}
.capitalize {
        text-transform: capitalize;
}
.normal-case {
        text-transform: none;
}
.italic {
        font-style: italic;
}
.not-italic {
        font-style: normal;
}
.ordinal {
        --tw-ordinal: ordinal;
        font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
        font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
        --tw-numeric-spacing: tabular-nums;
        font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
        font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
        line-height: 1rem;
}
.leading-7 {
        line-height: 1.75rem;
}
.leading-\[1\.1\] {
        line-height: 1.1;
}
.leading-\[1\.35\] {
        line-height: 1.35;
}
.leading-\[1\.45\] {
        line-height: 1.45;
}
.leading-\[1\.4\] {
        line-height: 1.4;
}
.leading-\[1\.55\] {
        line-height: 1.55;
}
.leading-\[1\.5\] {
        line-height: 1.5;
}
.leading-\[14px\] {
        line-height: 14px;
}
.leading-none {
        line-height: 1;
}
.leading-normal {
        line-height: 1.5;
}
.leading-relaxed {
        line-height: 1.625;
}
.leading-snug {
        line-height: 1.375;
}
.leading-tight {
        line-height: 1.25;
}
.tracking-\[-0\.015em\] {
        letter-spacing: -0.015em;
}
.tracking-\[-0\.01em\] {
        letter-spacing: -0.01em;
}
.tracking-\[-0\.025em\] {
        letter-spacing: -0.025em;
}
.tracking-\[-0\.02em\] {
        letter-spacing: -0.02em;
}
.tracking-\[-0\.03em\] {
        letter-spacing: -0.03em;
}
.tracking-\[0\.02em\] {
        letter-spacing: 0.02em;
}
.tracking-\[0\.03em\] {
        letter-spacing: 0.03em;
}
.tracking-\[0\.04em\] {
        letter-spacing: 0.04em;
}
.tracking-\[0\.05em\] {
        letter-spacing: 0.05em;
}
.tracking-\[0\.06em\] {
        letter-spacing: 0.06em;
}
.tracking-\[0\.08em\] {
        letter-spacing: 0.08em;
}
.tracking-\[0\.09em\] {
        letter-spacing: 0.09em;
}
.tracking-\[0\.12em\] {
        letter-spacing: 0.12em;
}
.tracking-\[0\.1em\] {
        letter-spacing: 0.1em;
}
.tracking-\[0\.5em\] {
        letter-spacing: 0.5em;
}
.tracking-tight {
        letter-spacing: -0.025em;
}
.tracking-wide {
        letter-spacing: 0.025em;
}
.tracking-widest {
        letter-spacing: 0.1em;
}
.text-\[color\:var\(--brand-text\)\] {
        color: var(--brand-text);
}
.text-\[color\:var\(--ink\)\] {
        color: var(--ink);
}
.text-\[color\:var\(--ink-faint\)\] {
        color: var(--ink-faint);
}
.text-\[color\:var\(--ink-soft\)\] {
        color: var(--ink-soft);
}
.text-\[var\(--brand-text\)\] {
        color: var(--brand-text);
}
.text-\[var\(--ok\)\] {
        color: var(--ok);
}
.text-accent-foreground {
        color: hsl(222, 33%, 18%);
        color: hsl(var(--accent-foreground));
}
.text-amber-500 {
        --tw-text-opacity: 1;
        color: rgba(245, 158, 11, 1);
        color: rgba(245, 158, 11, var(--tw-text-opacity, 1));
}
.text-amber-500\/90 {
        color: rgba(245, 158, 11, 0.9);
}
.text-background {
        color: hsl(220, 24%, 96.5%);
        color: hsl(var(--background));
}
.text-card-foreground {
        color: hsl(222, 40%, 11%);
        color: hsl(var(--card-foreground));
}
.text-destructive {
        color: hsl(0, 79%, 63%);
        color: hsl(var(--destructive));
}
.text-destructive-foreground {
        color: hsl(0, 0%, 100%);
        color: hsl(var(--destructive-foreground));
}
.text-emerald-600 {
        --tw-text-opacity: 1;
        color: rgba(5, 150, 105, 1);
        color: rgba(5, 150, 105, var(--tw-text-opacity, 1));
}
.text-emerald-700\/90 {
        color: rgba(4, 120, 87, 0.9);
}
.text-foreground {
        color: hsl(222, 40%, 11%);
        color: hsl(var(--foreground));
}
.text-muted-foreground {
        color: hsl(220, 12%, 42%);
        color: hsl(var(--muted-foreground));
}
.text-popover-foreground {
        color: hsl(222, 40%, 11%);
        color: hsl(var(--popover-foreground));
}
.text-primary {
        color: #3030ad;
        color: var(--primary);
}
.text-primary-foreground {
        color: #ffffff;
        color: var(--primary-foreground);
}
.text-secondary-foreground {
        color: hsl(222, 33%, 18%);
        color: hsl(var(--secondary-foreground));
}
.text-slate-400 {
        --tw-text-opacity: 1;
        color: rgba(148, 163, 184, 1);
        color: rgba(148, 163, 184, var(--tw-text-opacity, 1));
}
.text-success {
        color: hsl(145, 63%, 42%);
        color: hsl(var(--success));
}
.text-warning-foreground {
        color: hsl(28, 90%, 14%);
        color: hsl(var(--warning-foreground));
}
.text-white {
        --tw-text-opacity: 1;
        color: rgba(255, 255, 255, 1);
        color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.text-white\/80 {
        color: rgba(255, 255, 255, 0.8);
}
.text-white\/85 {
        color: rgba(255, 255, 255, 0.85);
}
.underline {
        text-decoration-line: underline;
}
.line-through {
        text-decoration-line: line-through;
}
.no-underline {
        text-decoration-line: none;
}
.decoration-white\/50 {
        text-decoration-color: rgba(255, 255, 255, 0.5);
}
.decoration-dotted {
        text-decoration-style: dotted;
}
.underline-offset-2 {
        text-underline-offset: 2px;
}
.underline-offset-4 {
        text-underline-offset: 4px;
}
.accent-\[color\:var\(--brand\)\] {
        accent-color: var(--brand);
}
.accent-\[var\(--brand\)\] {
        accent-color: var(--brand);
}
.accent-white {
        accent-color: #fff;
}
.opacity-0 {
        opacity: 0;
}
.opacity-100 {
        opacity: 1;
}
.opacity-25 {
        opacity: 0.25;
}
.opacity-30 {
        opacity: 0.3;
}
.opacity-35 {
        opacity: 0.35;
}
.opacity-40 {
        opacity: 0.4;
}
.opacity-45 {
        opacity: 0.45;
}
.opacity-50 {
        opacity: 0.5;
}
.opacity-55 {
        opacity: 0.55;
}
.opacity-60 {
        opacity: 0.6;
}
.opacity-70 {
        opacity: 0.7;
}
.opacity-80 {
        opacity: 0.8;
}
.opacity-90 {
        opacity: 0.9;
}
.opacity-95 {
        opacity: 0.95;
}
.shadow {
        --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
        --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-lg {
        --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-md {
        --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
        --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-none {
        --tw-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow-colored: 0 0 rgba(0,0,0,0);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-sm {
        --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-\[var\(--shadow\)\] {
        --tw-shadow-color: var(--shadow);
        --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--shadow-md\)\] {
        --tw-shadow-color: var(--shadow-md);
        --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--shadow-xs\)\] {
        --tw-shadow-color: var(--shadow-xs);
        --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
        outline: 2px solid transparent;
        outline-offset: 2px;
}
.outline {
        outline-style: solid;
}
.ring {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-0 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-1 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-2 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-\[color-mix\(in_srgb\2c var\(--brand\)_35\%\2c transparent\)\] {
        --tw-ring-color: color-mix(in srgb,var(--brand) 35%,transparent);
}
.ring-\[color-mix\(in_srgb\2c var\(--glass-fill-strong\)_82\%\2c transparent\)\] {
        --tw-ring-color: color-mix(in srgb,var(--glass-fill-strong) 82%,transparent);
}
.ring-\[color\:var\(--danger\)\] {
        --tw-ring-color: var(--danger);
}
.ring-black\/5 {
        --tw-ring-color: rgba(0, 0, 0, 0.05);
}
.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);
}
.blur-2xl {
        --tw-blur: blur(40px);
        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);
}
.invert {
        --tw-invert: invert(100%);
        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);
}
.sepia {
        --tw-sepia: sepia(100%);
        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);
}
.backdrop-blur-none {
        --tw-backdrop-blur:  ;
        -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
        backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
        --tw-backdrop-blur: blur(4px);
        -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
        backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter {
        -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
        backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-\[border-color\2c box-shadow\] {
        transition-property: border-color,box-shadow;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-\[max-height\] {
        transition-property: max-height;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-\[width\] {
        transition-property: width;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-all {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-colors {
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-opacity {
        transition-property: opacity;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-shadow {
        transition-property: box-shadow;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.transition-transform {
        transition-property: transform;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
.duration-200 {
        transition-duration: 200ms;
}
.duration-300 {
        transition-duration: 300ms;
}
.duration-500 {
        transition-duration: 500ms;
}
.ease-in-out {
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter {

        from {
                opacity: 1;
                opacity: var(--tw-enter-opacity, 1);
                transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);
                transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
        }
}
@keyframes exit {

        to {
                opacity: 1;
                opacity: var(--tw-exit-opacity, 1);
                transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);
                transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
        }
}
.zoom-out {
        --tw-exit-scale: 0;
}
.duration-200 {
        animation-duration: 200ms;
}
.duration-300 {
        animation-duration: 300ms;
}
.duration-500 {
        animation-duration: 500ms;
}
.ease-in-out {
        animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running {
        animation-play-state: running;
}
.\!paused {
        animation-play-state: paused !important;
}
.paused {
        animation-play-state: paused;
}
.\[agent\:\<id\>\] {
        agent: <id>;
}
.\[agent\:\<uuid\>\] {
        agent: <uuid>;
}
.\[agent\:uuid\] {
        agent: uuid;
}
.\[entity\:\.\.\] {
        entity: ..;
}
.\[grid-template-columns\:24px_minmax\(0\2c 1fr\)_100px\] {
        grid-template-columns: 24px minmax(0,1fr) 100px;
}
.\[overflow-wrap\:anywhere\] {
        word-wrap: anywhere;
}
.\[writing-mode\:vertical-rl\] {
        writing-mode: vertical-rl;
}
.file\:border-0::file-selector-button {
        border-width: 0px;
}
.file\:bg-transparent::file-selector-button {
        background-color: transparent;
}
.file\:text-sm::file-selector-button {
        font-size: 0.875rem;
        line-height: 1.25rem;
}
.file\:font-medium::file-selector-button {
        font-weight: 500;
}
.placeholder\:text-\[color\:var\(--ink-faint\)\]::placeholder {
        color: var(--ink-faint);
}
.placeholder\:text-muted-foreground::placeholder {
        color: hsl(220, 12%, 42%);
        color: hsl(var(--muted-foreground));
}
.last\:mb-0:last-child {
        margin-bottom: 0px;
}
.last\:border-0:last-child {
        border-width: 0px;
}
.last\:border-b-0:last-child {
        border-bottom-width: 0px;
}
.read-only\:opacity-70:read-only {
        opacity: 0.7;
}
.focus-within\:border-\[color\:var\(--brand\)\][focus-within] {
        border-color: var(--brand);
}
.focus-within\:border-\[color\:var\(--brand\)\]:focus-within {
        border-color: var(--brand);
}
.focus-within\:shadow-\[var\(--focus-ring\)\][focus-within] {
        --tw-shadow-color: var(--focus-ring);
        --tw-shadow: var(--tw-shadow-colored);
}
.focus-within\:shadow-\[var\(--focus-ring\)\]:focus-within {
        --tw-shadow-color: var(--focus-ring);
        --tw-shadow: var(--tw-shadow-colored);
}
.hover\:\!bg-transparent:hover {
        background-color: transparent !important;
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--danger\)_12\%\2c transparent\)\]:hover {
        background-color: color-mix(in srgb,var(--danger) 12%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--glass-hair\)_40\%\2c transparent\)\]:hover {
        background-color: color-mix(in srgb,var(--glass-hair) 40%,transparent);
}
.hover\:bg-\[color-mix\(in_srgb\2c var\(--glass-hair\)_70\%\2c transparent\)\]:hover {
        background-color: color-mix(in srgb,var(--glass-hair) 70%,transparent);
}
.hover\:bg-\[color\:var\(--glass-hair\)\]:hover {
        background-color: var(--glass-hair);
}
.hover\:bg-\[var\(--field-fill\)\]:hover {
        background-color: var(--field-fill);
}
.hover\:bg-\[var\(--glass-border\)\]:hover {
        background-color: var(--glass-border);
}
.hover\:bg-\[var\(--glass-fill\)\]:hover {
        background-color: var(--glass-fill);
}
.hover\:bg-\[var\(--glass-fill-strong\)\]:hover {
        background-color: var(--glass-fill-strong);
}
.hover\:bg-\[var\(--glass-hair\)\]:hover {
        background-color: var(--glass-hair);
}
.hover\:bg-accent:hover {
        background-color: hsl(220, 18%, 91%);
        background-color: hsl(var(--accent));
}
.hover\:bg-destructive\/90:hover {
        background-color: hsla(0, 79%, 63%, 0.9);
        background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-primary-hover:hover {
        background-color: #28289a;
        background-color: var(--primary-hover);
}
.hover\:bg-secondary\/80:hover {
        background-color: hsla(220, 17%, 93.5%, 0.8);
        background-color: hsl(var(--secondary) / 0.8);
}
.hover\:text-\[color\:var\(--brand-text\)\]:hover {
        color: var(--brand-text);
}
.hover\:text-\[color\:var\(--danger\)\]:hover {
        color: var(--danger);
}
.hover\:text-\[color\:var\(--ink\)\]:hover {
        color: var(--ink);
}
.hover\:text-accent-foreground:hover {
        color: hsl(222, 33%, 18%);
        color: hsl(var(--accent-foreground));
}
.hover\:underline:hover {
        text-decoration-line: underline;
}
.hover\:decoration-white:hover {
        text-decoration-color: #fff;
}
.hover\:decoration-solid:hover {
        text-decoration-style: solid;
}
.hover\:opacity-100:hover {
        opacity: 1;
}
.hover\:opacity-70:hover {
        opacity: 0.7;
}
.hover\:opacity-75:hover {
        opacity: 0.75;
}
.hover\:opacity-80:hover {
        opacity: 0.8;
}
.hover\:opacity-90:hover {
        opacity: 0.9;
}
.focus\:bg-accent:focus {
        background-color: hsl(220, 18%, 91%);
        background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus {
        color: hsl(222, 33%, 18%);
        color: hsl(var(--accent-foreground));
}
.focus\:opacity-100:focus {
        opacity: 1;
}
.focus\:outline-none:focus {
        outline: 2px solid transparent;
        outline-offset: 2px;
}
.focus\:ring-2:focus {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.focus\:ring-ring:focus {
        --tw-ring-color: var(--ring);
}
.focus-visible\:bg-\[var\(--field-fill\)\].focus-visible {
        background-color: var(--field-fill);
}
.focus-visible\:bg-\[var\(--field-fill\)\]:focus-visible {
        background-color: var(--field-fill);
}
.focus-visible\:opacity-100.focus-visible {
        opacity: 1;
}
.focus-visible\:opacity-100:focus-visible {
        opacity: 1;
}
.focus-visible\:shadow-\[var\(--focus-ring\)\].focus-visible {
        --tw-shadow-color: var(--focus-ring);
        --tw-shadow: var(--tw-shadow-colored);
}
.focus-visible\:shadow-\[var\(--focus-ring\)\]:focus-visible {
        --tw-shadow-color: var(--focus-ring);
        --tw-shadow: var(--tw-shadow-colored);
}
.focus-visible\:outline-none.focus-visible {
        outline: 2px solid transparent;
        outline-offset: 2px;
}
.focus-visible\:outline-none:focus-visible {
        outline: 2px solid transparent;
        outline-offset: 2px;
}
.focus-visible\:ring-2.focus-visible {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.focus-visible\:ring-2.focus-visible {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.focus-visible\:ring-2.focus-visible {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.focus-visible\:ring-2:focus-visible {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.focus-visible\:ring-\[color\:var\(--brand\)\].focus-visible {
        --tw-ring-color: var(--brand);
}
.focus-visible\:ring-\[color\:var\(--brand\)\]:focus-visible {
        --tw-ring-color: var(--brand);
}
.focus-visible\:ring-\[color\:var\(--brand-soft\)\].focus-visible {
        --tw-ring-color: var(--brand-soft);
}
.focus-visible\:ring-\[color\:var\(--brand-soft\)\]:focus-visible {
        --tw-ring-color: var(--brand-soft);
}
.focus-visible\:ring-ring.focus-visible {
        --tw-ring-color: var(--ring);
}
.focus-visible\:ring-ring:focus-visible {
        --tw-ring-color: var(--ring);
}
.focus-visible\:ring-offset-1.focus-visible {
        --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-1:focus-visible {
        --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2.focus-visible {
        --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-2:focus-visible {
        --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background.focus-visible {
        --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:ring-offset-background:focus-visible {
        --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:ring-offset-transparent.focus-visible {
        --tw-ring-offset-color: transparent;
}
.focus-visible\:ring-offset-transparent:focus-visible {
        --tw-ring-offset-color: transparent;
}
.focus-visible\:\[box-shadow\:var\(--focus-ring\)\].focus-visible {
        box-shadow: var(--focus-ring);
}
.focus-visible\:\[box-shadow\:var\(--focus-ring\)\]:focus-visible {
        box-shadow: var(--focus-ring);
}
.active\:cursor-grabbing:active {
        cursor: grabbing;
}
.disabled\:pointer-events-none:disabled {
        pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
        cursor: not-allowed;
}
.disabled\:opacity-40:disabled {
        opacity: 0.4;
}
.disabled\:opacity-50:disabled {
        opacity: 0.5;
}
.disabled\:opacity-60:disabled {
        opacity: 0.6;
}
.disabled\:opacity-70:disabled {
        opacity: 0.7;
}
.group\/comment[focus-within] .group-focus-within\/comment\:inline {
        display: inline;
}
.group\/comment:focus-within .group-focus-within\/comment\:inline {
        display: inline;
}
.group\/comment[focus-within] .group-focus-within\/comment\:opacity-100 {
        opacity: 1;
}
.group\/comment:focus-within .group-focus-within\/comment\:opacity-100 {
        opacity: 1;
}
.group\/row[focus-within] .group-focus-within\/row\:opacity-100 {
        opacity: 1;
}
.group\/row:focus-within .group-focus-within\/row\:opacity-100 {
        opacity: 1;
}
.group[focus-within] .group-focus-within\:opacity-0 {
        opacity: 0;
}
.group:focus-within .group-focus-within\:opacity-0 {
        opacity: 0;
}
.group[focus-within] .group-focus-within\:opacity-100 {
        opacity: 1;
}
.group:focus-within .group-focus-within\:opacity-100 {
        opacity: 1;
}
.group\/comment:hover .group-hover\/comment\:inline {
        display: inline;
}
.group\/row:hover .group-hover\/row\:grid {
        display: grid;
}
.group\/row:hover .group-hover\/row\:hidden {
        display: none;
}
.group:hover .group-hover\:translate-x-0\.5 {
        --tw-translate-x: 0.125rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:border-\[var\(--brand\)\] {
        border-color: var(--brand);
}
.group:hover .group-hover\:border-transparent {
        border-color: transparent;
}
.group:hover .group-hover\:bg-\[var\(--brand\)\] {
        background-color: var(--brand);
}
.group\/title:hover .group-hover\/title\:text-\[color\:var\(--brand-text\)\] {
        color: var(--brand-text);
}
.group:hover .group-hover\:text-\[color\:var\(--brand-text\)\] {
        color: var(--brand-text);
}
.group:hover .group-hover\:text-white {
        --tw-text-opacity: 1;
        color: rgba(255, 255, 255, 1);
        color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.group\/bubble:hover .group-hover\/bubble\:opacity-100 {
        opacity: 1;
}
.group\/comment:hover .group-hover\/comment\:opacity-100 {
        opacity: 1;
}
.group\/row:hover .group-hover\/row\:opacity-100 {
        opacity: 1;
}
.group\/title:hover .group-hover\/title\:opacity-100 {
        opacity: 1;
}
.group:hover .group-hover\:opacity-0 {
        opacity: 0;
}
.group:hover .group-hover\:opacity-100 {
        opacity: 1;
}
.peer:checked ~ .peer-checked\:border-\[color\:var\(--brand\)\] {
        border-color: var(--brand);
}
.peer:checked ~ .peer-checked\:bg-\[color\:var\(--brand\)\] {
        background-color: var(--brand);
}
.peer:checked ~ .peer-checked\:opacity-100 {
        opacity: 1;
}
.peer.focus-visible ~ .peer-focus-visible\:ring-2 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.peer.focus-visible ~ .peer-focus-visible\:ring-2 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.peer.focus-visible ~ .peer-focus-visible\:ring-2 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.peer:focus-visible ~ .peer-focus-visible\:ring-2 {
        --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.peer.focus-visible ~ .peer-focus-visible\:ring-\[color\:var\(--brand\)\] {
        --tw-ring-color: var(--brand);
}
.peer:focus-visible ~ .peer-focus-visible\:ring-\[color\:var\(--brand\)\] {
        --tw-ring-color: var(--brand);
}
.peer.focus-visible ~ .peer-focus-visible\:ring-\[color\:var\(--brand-soft\)\] {
        --tw-ring-color: var(--brand-soft);
}
.peer:focus-visible ~ .peer-focus-visible\:ring-\[color\:var\(--brand-soft\)\] {
        --tw-ring-color: var(--brand-soft);
}
.peer.focus-visible ~ .peer-focus-visible\:ring-offset-1 {
        --tw-ring-offset-width: 1px;
}
.peer:focus-visible ~ .peer-focus-visible\:ring-offset-1 {
        --tw-ring-offset-width: 1px;
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
        cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
        opacity: 0.7;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
        pointer-events: none;
}
.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
        --tw-translate-x: 1.25rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=closed\]\:-translate-x-full[data-state="closed"] {
        --tw-translate-x: -100%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=closed\]\:-translate-y-full[data-state="closed"] {
        --tw-translate-y: -100%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=closed\]\:translate-x-full[data-state="closed"] {
        --tw-translate-x: 100%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=closed\]\:translate-y-full[data-state="closed"] {
        --tw-translate-y: 100%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
        --tw-translate-x: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes fade-in {

        from {
                opacity: 0;
        }

        to {
                opacity: 1;
        }
}
.data-\[state\=delayed-open\]\:animate-fade-in[data-state="delayed-open"] {
        animation: fade-in 0.2s ease-out;
}
@keyframes content-in {

        from {
                opacity: 0;
                transform: translate(-50%, -48%) scale(0.97);
        }

        to {
                opacity: 1;
                transform: translate(-50%, -50%) scale(1);
        }
}
.data-\[state\=open\]\:animate-content-in[data-state="open"] {
        animation: content-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes fade-in {

        from {
                opacity: 0;
        }

        to {
                opacity: 1;
        }
}
.data-\[state\=open\]\:animate-fade-in[data-state="open"] {
        animation: fade-in 0.2s ease-out;
}
@keyframes overlay-in {

        from {
                opacity: 0;
        }

        to {
                opacity: 1;
        }
}
.data-\[state\=open\]\:animate-overlay-in[data-state="open"] {
        animation: overlay-in 0.2s ease-out;
}
.data-\[state\=active\]\:border[data-state="active"] {
        border-width: 1px;
}
.data-\[state\=active\]\:border-border[data-state="active"] {
        border-color: hsl(220, 17%, 86%);
        border-color: hsl(var(--border));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
        background-color: hsl(220, 24%, 96.5%);
        background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
        background-color: #3030ad;
        background-color: var(--primary);
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
        background-color: hsl(220, 16%, 84%);
        background-color: hsl(var(--input));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
        color: hsl(222, 40%, 11%);
        color: hsl(var(--foreground));
}
.data-\[disabled\]\:opacity-50[data-disabled] {
        opacity: 0.5;
}
.data-\[state\=closed\]\:opacity-0[data-state="closed"] {
        opacity: 0;
}
@media (prefers-reduced-motion: reduce) {

        .motion-reduce\:transition-none {
                transition-property: none;
        }
}
@media (min-width: 640px) {

        .sm\:sr-only {
                position: absolute;
                width: 1px;
                height: 1px;
                padding: 0;
                margin: -1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border-width: 0;
        }

        .sm\:bottom-6 {
                bottom: 1.5rem;
        }

        .sm\:left-auto {
                left: auto;
        }

        .sm\:right-6 {
                right: 1.5rem;
        }

        .sm\:order-none {
                order: 0;
        }

        .sm\:col-span-1 {
                grid-column: span 1 / span 1;
        }

        .sm\:col-span-2 {
                grid-column: span 2 / span 2;
        }

        .sm\:col-span-3 {
                grid-column: span 3 / span 3;
        }

        .sm\:col-span-4 {
                grid-column: span 4 / span 4;
        }

        .sm\:ml-auto {
                margin-left: auto;
        }

        .sm\:mt-\[26px\] {
                margin-top: 26px;
        }

        .sm\:block {
                display: block;
        }

        .sm\:inline {
                display: inline;
        }

        .sm\:flex {
                display: flex;
        }

        .sm\:inline-flex {
                display: inline-flex;
        }

        .sm\:grid {
                display: grid;
        }

        .sm\:hidden {
                display: none;
        }

        .sm\:h-9 {
                height: 2.25rem;
        }

        .sm\:min-h-0 {
                min-height: 0px;
        }

        .sm\:\!w-\[180px\] {
                width: 180px !important;
        }

        .sm\:\!w-\[230px\] {
                width: 230px !important;
        }

        .sm\:w-1\/4 {
                width: 25%;
        }

        .sm\:w-24 {
                width: 6rem;
        }

        .sm\:w-9 {
                width: 2.25rem;
        }

        .sm\:w-\[180px\] {
                width: 180px;
        }

        .sm\:w-\[260px\] {
                width: 260px;
        }

        .sm\:w-\[40\%\] {
                width: 40%;
        }

        .sm\:w-auto {
                width: auto;
        }

        .sm\:min-w-0 {
                min-width: 0px;
        }

        .sm\:min-w-\[260px\] {
                min-width: 260px;
        }

        .sm\:min-w-\[280px\] {
                min-width: 280px;
        }

        .sm\:min-w-\[9rem\] {
                min-width: 9rem;
        }

        .sm\:max-w-\[200px\] {
                max-width: 200px;
        }

        .sm\:max-w-\[220px\] {
                max-width: 220px;
        }

        .sm\:max-w-\[280px\] {
                max-width: 280px;
        }

        .sm\:max-w-\[360px\] {
                max-width: 360px;
        }

        .sm\:max-w-\[380px\] {
                max-width: 380px;
        }

        .sm\:max-w-\[420px\] {
                max-width: 420px;
        }

        .sm\:max-w-\[460px\] {
                max-width: 460px;
        }

        .sm\:max-w-\[50\%\] {
                max-width: 50%;
        }

        .sm\:max-w-\[60\%\] {
                max-width: 60%;
        }

        .sm\:max-w-md {
                max-width: 28rem;
        }

        .sm\:flex-1 {
                flex: 1 1 0%;
        }

        .sm\:flex-\[2\] {
                flex: 2;
        }

        .sm\:flex-none {
                flex: none;
        }

        .sm\:grid-cols-12 {
                grid-template-columns: repeat(12, minmax(0, 1fr));
        }

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

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

        .sm\:grid-cols-8 {
                grid-template-columns: repeat(8, minmax(0, 1fr));
        }

        .sm\:grid-cols-\[auto_minmax\(0\2c 1\.4fr\)_minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_auto\] {
                grid-template-columns: auto minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto;
        }

        .sm\:grid-cols-\[minmax\(0\2c 0\.95fr\)_minmax\(0\2c 1\.15fr\)_minmax\(0\2c 0\.9fr\)_minmax\(0\2c 1fr\)_auto\] {
                grid-template-columns: minmax(0,0.95fr) minmax(0,1.15fr) minmax(0,0.9fr) minmax(0,1fr) auto;
        }

        .sm\:grid-cols-\[minmax\(0\2c 1\.1fr\)_minmax\(0\2c 1fr\)\] {
                grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
        }

        .sm\:grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
                grid-template-columns: minmax(0,1fr) auto;
        }

        .sm\:grid-cols-\[minmax\(0\2c 1fr\)_auto_minmax\(0\2c 1fr\)_auto\] {
                grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto;
        }

        .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_auto\] {
                grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) auto;
        }

        .sm\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(180px\2c auto\)\] {
                grid-template-columns: minmax(0,1fr) minmax(180px,auto);
        }

        .sm\:flex-row {
                flex-direction: row;
        }

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

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

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

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

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

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

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

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

        .sm\:gap-2\.5 {
                gap: 0.625rem;
        }

        .sm\:gap-3 {
                gap: 0.75rem;
        }

        .sm\:gap-4 {
                gap: 1rem;
        }

        .sm\:self-auto {
                align-self: auto;
        }

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

        .sm\:rounded-lg {
                border-radius: 0.75rem;
                border-radius: var(--radius);
        }

        .sm\:border-b-0 {
                border-bottom-width: 0px;
        }

        .sm\:border-r {
                border-right-width: 1px;
        }

        .sm\:p-4 {
                padding: 1rem;
        }

        .sm\:p-5 {
                padding: 1.25rem;
        }

        .sm\:p-6 {
                padding: 1.5rem;
        }

        .sm\:p-7 {
                padding: 1.75rem;
        }

        .sm\:p-8 {
                padding: 2rem;
        }

        .sm\:p-9 {
                padding: 2.25rem;
        }

        .sm\:px-1\.5 {
                padding-left: 0.375rem;
                padding-right: 0.375rem;
        }

        .sm\:px-2 {
                padding-left: 0.5rem;
                padding-right: 0.5rem;
        }

        .sm\:px-5 {
                padding-left: 1.25rem;
                padding-right: 1.25rem;
        }

        .sm\:px-6 {
                padding-left: 1.5rem;
                padding-right: 1.5rem;
        }

        .sm\:px-7 {
                padding-left: 1.75rem;
                padding-right: 1.75rem;
        }

        .sm\:px-8 {
                padding-left: 2rem;
                padding-right: 2rem;
        }

        .sm\:py-5 {
                padding-top: 1.25rem;
                padding-bottom: 1.25rem;
        }

        .sm\:py-6 {
                padding-top: 1.5rem;
                padding-bottom: 1.5rem;
        }

        .sm\:py-8 {
                padding-top: 2rem;
                padding-bottom: 2rem;
        }

        .sm\:pr-28 {
                padding-right: 7rem;
        }

        .sm\:text-left {
                text-align: left;
        }

        .sm\:text-\[17px\] {
                font-size: 17px;
        }

        .sm\:text-\[18px\] {
                font-size: 18px;
        }

        .sm\:text-\[20px\] {
                font-size: 20px;
        }

        .sm\:text-\[22px\] {
                font-size: 22px;
        }

        .sm\:text-\[23px\] {
                font-size: 23px;
        }

        .sm\:text-\[26px\] {
                font-size: 26px;
        }

        .sm\:text-\[32px\] {
                font-size: 32px;
        }

        .sm\:text-\[33px\] {
                font-size: 33px;
        }

        .sm\:\[grid-template-columns\:24px_minmax\(0\2c 1fr\)_110px_100px\] {
                grid-template-columns: 24px minmax(0,1fr) 110px 100px;
        }
}
@media (min-width: 768px) {

        .md\:col-span-2 {
                grid-column: span 2 / span 2;
        }

        .md\:block {
                display: block;
        }

        .md\:inline {
                display: inline;
        }

        .md\:flex {
                display: flex;
        }

        .md\:inline-flex {
                display: inline-flex;
        }

        .md\:grid {
                display: grid;
        }

        .md\:hidden {
                display: none;
        }

        .md\:max-h-\[calc\(100dvh-220px\)\] {
                max-height: calc(100dvh - 220px);
        }

        .md\:\!w-\[230px\] {
                width: 230px !important;
        }

        .md\:\!w-\[260px\] {
                width: 260px !important;
        }

        .md\:w-52 {
                width: 13rem;
        }

        .md\:w-\[200px\] {
                width: 200px;
        }

        .md\:w-\[220px\] {
                width: 220px;
        }

        .md\:w-\[230px\] {
                width: 230px;
        }

        .md\:w-\[248px\] {
                width: 248px;
        }

        .md\:w-\[260px\] {
                width: 260px;
        }

        .md\:w-\[300px\] {
                width: 300px;
        }

        .md\:w-\[340px\] {
                width: 340px;
        }

        .md\:w-full {
                width: 100%;
        }

        .md\:flex-none {
                flex: none;
        }

        .md\:shrink-0 {
                flex-shrink: 0;
        }

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

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

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

        .md\:grid-cols-\[minmax\(0\2c 1\.3fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 2fr\)\] {
                grid-template-columns: minmax(0,1.3fr) minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,2fr);
        }

        .md\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(280px\2c 320px\)\] {
                grid-template-columns: minmax(0,1fr) minmax(280px,320px);
        }

        .md\:grid-cols-\[minmax\(0\2c 2\.5fr\)_minmax\(0\2c 1\.5fr\)_minmax\(0\2c 1\.2fr\)_110px_110px_160px\] {
                grid-template-columns: minmax(0,2.5fr) minmax(0,1.5fr) minmax(0,1.2fr) 110px 110px 160px;
        }

        .md\:flex-row {
                flex-direction: row;
        }

        .md\:flex-col {
                flex-direction: column;
        }

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

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

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

        .md\:gap-3 {
                gap: 0.75rem;
        }

        .md\:px-0 {
                padding-left: 0px;
                padding-right: 0px;
        }

        .md\:text-right {
                text-align: right;
        }

        .md\:text-\[120px\] {
                font-size: 120px;
        }

        .md\:text-\[26px\] {
                font-size: 26px;
        }

        .md\:\[grid-template-columns\:24px_minmax\(0\2c 1fr\)_140px_150px_110px_100px\] {
                grid-template-columns: 24px minmax(0,1fr) 140px 150px 110px 100px;
        }
}
@media (min-width: 1024px) {

        .lg\:sticky {
                position: sticky;
        }

        .lg\:top-0 {
                top: 0px;
        }

        .lg\:order-1 {
                order: 1;
        }

        .lg\:order-2 {
                order: 2;
        }

        .lg\:col-span-2 {
                grid-column: span 2 / span 2;
        }

        .lg\:col-span-3 {
                grid-column: span 3 / span 3;
        }

        .lg\:block {
                display: block;
        }

        .lg\:flex {
                display: flex;
        }

        .lg\:grid {
                display: grid;
        }

        .lg\:hidden {
                display: none;
        }

        .lg\:max-h-\[55vh\] {
                max-height: 55vh;
        }

        .lg\:w-\[260px\] {
                width: 260px;
        }

        .lg\:w-\[272px\] {
                width: 272px;
        }

        .lg\:w-\[280px\] {
                width: 280px;
        }

        .lg\:flex-1 {
                flex: 1 1 0%;
        }

        .lg\:flex-\[1\.4\] {
                flex: 1.4;
        }

        .lg\:shrink-0 {
                flex-shrink: 0;
        }

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

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

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

        .lg\:grid-cols-\[1\.05fr_0\.95fr\] {
                grid-template-columns: 1.05fr 0.95fr;
        }

        .lg\:grid-cols-\[1\.5fr_1fr\] {
                grid-template-columns: 1.5fr 1fr;
        }

        .lg\:grid-cols-\[1fr_280px\] {
                grid-template-columns: 1fr 280px;
        }

        .lg\:grid-cols-\[minmax\(0\2c 1fr\)_300px\] {
                grid-template-columns: minmax(0,1fr) 300px;
        }

        .lg\:grid-cols-\[minmax\(0\2c 1fr\)_44px\] {
                grid-template-columns: minmax(0,1fr) 44px;
        }

        .lg\:flex-row {
                flex-direction: row;
        }

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

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

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

        .lg\:gap-10 {
                gap: 2.5rem;
        }

        .lg\:gap-8 {
                gap: 2rem;
        }

        .lg\:overflow-y-auto {
                overflow-y: auto;
        }

        .lg\:border-l {
                border-left-width: 1px;
        }

        .lg\:border-t-0 {
                border-top-width: 0px;
        }

        .lg\:p-11 {
                padding: 2.75rem;
        }
}
@media (min-width: 1280px) {

        .xl\:sticky {
                position: sticky;
        }

        .xl\:top-0 {
                top: 0px;
        }

        .xl\:col-span-2 {
                grid-column: span 2 / span 2;
        }

        .xl\:inline {
                display: inline;
        }

        .xl\:flex {
                display: flex;
        }

        .xl\:inline-flex {
                display: inline-flex;
        }

        .xl\:hidden {
                display: none;
        }

        .xl\:w-\[296px\] {
                width: 296px;
        }

        .xl\:w-\[55\%\] {
                width: 55%;
        }

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

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

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

        .xl\:grid-cols-\[340px_minmax\(0\2c 1fr\)\] {
                grid-template-columns: 340px minmax(0,1fr);
        }
}
@media (min-width: 1536px) {

        .\32xl\:grid-cols-3 {
                grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .\32xl\:grid-cols-4 {
                grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .\32xl\:grid-cols-5 {
                grid-template-columns: repeat(5, minmax(0, 1fr));
        }
}
.dark\:text-amber-400:where([data-theme="dark"], [data-theme="dark"] *) {
        --tw-text-opacity: 1;
        color: rgba(251, 191, 36, 1);
        color: rgba(251, 191, 36, var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:where([data-theme="dark"], [data-theme="dark"] *) {
        --tw-text-opacity: 1;
        color: rgba(52, 211, 153, 1);
        color: rgba(52, 211, 153, var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400\/90:where([data-theme="dark"], [data-theme="dark"] *) {
        color: rgba(52, 211, 153, 0.9);
}
.\[\&\>\*\:first-child\]\:mt-0>*:first-child {
        margin-top: 0px;
}
.\[\&\>\*\:last-child\]\:mb-0>*:last-child {
        margin-bottom: 0px;
}
.\[\&\>\*\]\:my-0>* {
        margin-top: 0px;
        margin-bottom: 0px;
}
.\[\&\>\*\]\:my-1>* {
        margin-top: 0.25rem;
        margin-bottom: 0.25rem;
}
.\[\&\>\*\]\:my-1\.5>* {
        margin-top: 0.375rem;
        margin-bottom: 0.375rem;
}
.\[\&\>\*\]\:w-full>* {
        width: 100%;
}
@keyframes spin {

        to {
                transform: rotate(360deg);
        }
}
.\[\&\>svg\:first-child\]\:animate-spin>svg:first-child {
        animation: spin 1s linear infinite;
}
.\[\&_\*\]\:inline * {
        display: inline;
}
.\[\&_\[role\=combobox\]\>span\]\:min-w-0 [role=combobox]>span {
        min-width: 0px;
}
.\[\&_\[role\=combobox\]\>span\]\:overflow-hidden [role=combobox]>span {
        overflow: hidden;
}
.\[\&_\[role\=combobox\]\]\:w-full [role=combobox] {
        width: 100%;
}
.\[\&_\[role\=combobox\]\]\:min-w-0 [role=combobox] {
        min-width: 0px;
}
.\[\&_\[role\=combobox\]\]\:max-w-full [role=combobox] {
        max-width: 100%;
}
.\[\&_\[role\=combobox\]\]\:overflow-hidden [role=combobox] {
        overflow: hidden;
}
.\[\&_\[role\=combobox\]_\.truncate\]\:block [role=combobox] .truncate {
        display: block;
}
.\[\&_\[role\=combobox\]_\.truncate\]\:max-w-full [role=combobox] .truncate {
        max-width: 100%;
}
.\[\&_\[role\=combobox\]_span\]\:min-w-0 [role=combobox] span {
        min-width: 0px;
}
.\[\&_a\:hover\]\:underline a:hover {
        text-decoration-line: underline;
}
.\[\&_a\]\:cursor-pointer a {
        cursor: pointer;
}
.\[\&_a\]\:font-550 a {
        font-weight: 550;
}
.\[\&_a\]\:underline a {
        text-decoration-line: underline;
}
.\[\&_br\]\:hidden br {
        display: none;
}
.\[\&_p\]\:m-0 p {
        margin: 0px;
}
.\[\&_svg\]\:h-3\.5 svg {
        height: 0.875rem;
}
.\[\&_svg\]\:h-\[13px\] svg {
        height: 13px;
}
.\[\&_svg\]\:h-\[15px\] svg {
        height: 15px;
}
.\[\&_svg\]\:h-\[18px\] svg {
        height: 18px;
}
.\[\&_svg\]\:w-3\.5 svg {
        width: 0.875rem;
}
.\[\&_svg\]\:w-\[13px\] svg {
        width: 13px;
}
.\[\&_svg\]\:w-\[15px\] svg {
        width: 15px;
}
.\[\&_svg\]\:w-\[18px\] svg {
        width: 18px;
}
.\[\&_svg\]\:shrink-0 svg {
        flex-shrink: 0;
}
.\[\&_svg\]\:rotate-180 svg {
        --tw-rotate: 180deg;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin {

        to {
                transform: rotate(360deg);
        }
}
.\[\&_svg\]\:animate-spin svg {
        animation: spin 1s linear infinite;
}
.\[\&_svg\]\:transition-transform svg {
        transition-property: transform;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
}
@media(hover:none) {

        .\[\@media\(hover\:none\)\]\:pr-20 {
                padding-right: 5rem;
        }

        .\[\@media\(hover\:none\)\]\:opacity-100 {
                opacity: 1;
        }
}
/* ============================================================================
   ALVANDA — "LIQUID GLASS" DESIGN LANGUAGE · tokens.css
   Single source of truth for the rebuild.

   ── HOW TO USE ──────────────────────────────────────────────────────────────
   Everything is SCOPED under `.lg-root`. Wrap the rebuilt UI in an element with
   that class (e.g. <body class="lg-root"> or a top-level <div class="lg-root">).
   Nothing here touches the global `:root` or bare element selectors, so it can
   live ALONGSIDE the current app / Material-UI / global SCSS WITHOUT CONFLICT.
   When the old dashboard is finally deleted, no cleanup of this file is needed.

   Dark mode: add `.theme-dark` to the same `.lg-root` element.

   ── PER-COMPANY THEMING (white-label) ────────────────────────────────────────
   Companies re-skin the product by overriding the BRAND LAYER variables below.
   Set them as an inline style on the .lg-root element (highest specificity),
   injected from company settings — e.g.:
       <body class="lg-root" style="--brand:#C81E1E; --font:'Soehne', Inter, sans-serif;">
   ...or inject a scoped block: `.lg-root{ --brand:#C81E1E; }`.
   Every brand-derived value (gradients, tints, focus ring, progress, active nav)
   recolours automatically via color-mix(), so one variable reskins the system.
   All other tokens are variables too and MAY be overridden the same way.

   Principles: glass not cards · 1px borders carry hierarchy, not shadows
   (--shadow-pop is allowed ONLY on floating overlays) · one accent used sparingly
   · calm canvas · light AND dark are equal · quiet, eased motion.
   ========================================================================== */

.lg-root {
  /* ╔══════════════════════════════════════════════════════════════════════╗
     ║  BRAND LAYER — the company-overridable surface. Override these.        ║
     ╚══════════════════════════════════════════════════════════════════════╝ */
  --brand: #3030AD;
  /* primary accent */
  --brand-soft: #5a5ad6;
  /* lighter accent (links in dark, secondary) */
  --font: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
  /* product typeface */
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Brand-derived (auto-recolour from --brand — usually no need to override) */
  --brand-grad: linear-gradient(145deg, color-mix(in srgb, var(--brand) 75%, #fff), var(--brand));
  --brand-orb: radial-gradient(circle at 32% 30%, color-mix(in srgb, var(--brand) 70%, #fff), var(--brand));
  --brand-tint: color-mix(in srgb, var(--brand) 12%, transparent);
  /* soft pill/active bg */
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);
  /* Per-theme brand text tokens — set by applyBrandingGlobally via JS so any
     white-label colour stays WCAG AA in both light and dark. Each is chosen
     independently against the actual surface colour. Do NOT override these
     manually; let the contrast helper drive them. Use --brand-text for text
     foregrounds; use --on-brand for text placed directly on brand fills. */
  --brand-text-light: var(--brand-text);
  --brand-text-dark: #FFFFFF;
  --brand-text: var(--brand-text-light);
  --on-brand: #FFFFFF;

  /* ── Canvas (ambient background behind all glass) ── */
  --bg-1: #eef1f6;
  --bg-2: #e7eaf2;

  /* ── Ink (text — three levels only) ── */
  --ink: #1c1f29;
  --ink-soft: #5b6072;
  --ink-faint: #8c91a3;

  /* ── Glass materials ── */
  --glass-fill: rgba(255, 255, 255, 0.62);
  /* .glass — panels & rails */
  --glass-fill-strong: rgba(255, 255, 255, 0.78);
  /* .glass-strong — raised/interactive */
  --glass-border: rgba(20, 24, 40, 0.10);
  /* the structural 1px hairline */
  --glass-hair: rgba(20, 24, 40, 0.08);
  /* fainter in-panel divider */
  --field-fill: rgba(255, 255, 255, 0.55);
  /* form field rest state */
  --popover-fill: rgba(252, 253, 255, 0.97);
  --sticky-fill: rgba(243, 245, 250, 0.94);
  /* sticky surfaces that OCCLUDE scrolling content (pinned headers, frozen
     columns). Must be near-opaque: a translucent fill lets scrolled content
     bleed through, which is invisible in light mode but obvious in dark. */
  /* floating menus/dropdowns — near-opaque so content reads clearly */

  /* ── Elevation — FLAT in-flow. Borders, not shadows. ── */
  --shadow: none;
  /* in-flow surfaces are FLAT — no shadow; the 1px hairline separates them. */
  --specular: none;
  --shadow-pop: 0 10px 30px -12px rgba(28, 32, 55, 0.22);
  /* the ONLY shadow in the system — floating overlays (popover/menu/modal/drawer/toast) */
  --scrim: rgba(20, 24, 40, 0.32);
  /* modal backdrop */
  --scrim-soft: rgba(20, 24, 40, 0.14);
  /* reduced backdrop — preview panels that keep the page readable behind them */

  /* ── Z-INDEX SCALE — the single source of truth for stacking. ──
     Glass panels use backdrop-filter (a stacking context + containing block),
     so in-flow layers (rails, sticky bar) live in the low band, and floating
     overlays MUST be portaled to #lg-overlay-root (outside the panels) where
     these high-band values resolve against the viewport. Never hardcode z. */
  --z-behind: -1;
  /* ambient canvas */
  --z-base: 0;
  /* page content */
  --z-rail: 10;
  /* sidebar / copilot / in-flow chrome */
  --z-sticky: 20;
  /* top bar (lifts its anchored menus above content) */
  --z-dropdown: 1000;
  /* anchored menus (notifications, profile) */
  --z-scrim: 1190;
  /* overlay backdrop */
  --z-modal: 1200;
  /* command palette, dialogs, drawers */
  --z-popover: 1250;
  /* select/menu popovers that may open INSIDE a modal — must float above it (below toast) */
  --z-toast: 1300;
  /* transient notifications */

  /* ── Status (the only non-brand colours) ── */
  --ok: #34a35a;
  --ok-pulse: rgba(52, 199, 89, 0.6);
  --warn: #cf9420;
  --warn-strong: #d99a2b;
  --danger: #e0524d;

  /* ── Radii ── */
  --r-sm: 10px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-2xl: 26px;
  --r-full: 9999px;
  /* --r-btn: the canonical button/link corner radius (≈ Tailwind rounded-lg, 8px).
     Kept separate from the surface scale so buttons/links can be retuned in one
     place without touching panels, fields, popovers, etc. */
  --r-btn: 8px;
  /* CARD CAP: in-flow cards / panels / tables / rows cap at 12px (Tailwind
     `rounded-lg` = --radius, == --r-md). Larger radii (--r-xl/2xl) are for the
     app-shell FRAME only; pills/avatars/orbs/dots use --r-full. NB the two scales
     differ — Tailwind `rounded-lg` is 12px, but the --r-lg token is 16px. */

  /* ── Motion ──
     Quiet and eased. Durations climb with the size of the thing that moves:
     state < control < element < panel < overlay. Respect reduced-motion (below). */
  --ease: cubic-bezier(.2, .7, .3, 1);
  /* standard ease-out */
  --ease-spring: cubic-bezier(.34, 1.4, .5, 1);
  /* gentle overshoot for press/pop */
  --t-fast: .14s;
  /* opacity / tiny state */
  --t-base: .18s;
  /* hover, colour */
  --t-move: .26s;
  /* element enter / reposition */
  --t-panel: .32s;
  /* sidebar / AI rail collapse, drawers */

  /* base */
  font-family: var(--font), "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.011em;
  font-feature-settings: "cv11", "ss01";
}

/* v2 base type size — restore the previous app's effective ~16px base for the
   v2 tree. Scoped to `.lg-root.v2-app` so it touches ONLY the rebuilt UI: it
   raises the inherited font-size for unsized text nodes and any em-based sizing,
   and is the rem base for any `rem` Tailwind utilities used inside v2. Legacy
   app is untouched (no `html`/`body` font-size is changed). Reversible by
   deleting this rule. */
.lg-root.v2-app {
  font-size: 16px;
}

/* Dark mode — toggle by adding `.theme-dark` to the .lg-root element */
.lg-root.theme-dark {
  --bg-1: #1b1d24;
  --bg-2: #20222b;
  --ink: #eef0f6;
  --ink-soft: #a6abbd;
  --ink-faint: #8b92a8;
  --glass-fill: rgba(255, 255, 255, 0.065);
  --glass-fill-strong: rgba(255, 255, 255, 0.10);
  --glass-border: rgba(255, 255, 255, 0.14);
  --glass-hair: rgba(255, 255, 255, 0.10);
  --field-fill: rgba(255, 255, 255, 0.05);
  --popover-fill: rgba(32, 34, 43, 0.975);
  --sticky-fill: rgba(27, 29, 36, 0.96);
  --shadow: none;
  --specular: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  --shadow-pop: 0 16px 40px -16px rgba(0, 0, 0, 0.60);
  --scrim: rgba(0, 0, 0, 0.55);
  --scrim-soft: rgba(0, 0, 0, 0.30);
  /* Lighten brand-as-text so it reads on the dark canvas. Derived from --brand,
     so a white-label company that overrides only --brand gets a legible text
     accent automatically (≥4.5:1 AA across the tested brand range). */
  --brand-text: var(--brand-text-dark);
}

/* ── Platform Admin (super-admin) accent ────────────────────────────────────
   The super-admin area is platform-OWNED, not a customer business, so it ignores
   per-company white-label branding and uses a fixed slate "control" accent so it
   is unmistakably a different surface. V2AppShell adds `.su-area` to the
   `.lg-root` element only for superadmins. Only --brand/--brand-soft are set
   here; every derived token (--brand-grad/-orb/-tint, --focus-ring, and the
   dark-mode --brand-text lightening) recomputes from these via var(), so light
   and dark both keep working without any extra rules. The two-class selector
   outranks the base `.lg-root` defaults. */
.lg-root.su-area {
  --brand: #475569;
  /* slate-600 — cool steel, distinct from the indigo default */
  --brand-soft: #64748b;
  /* slate-500 */
}

/* ── Brand-logo dark whitening ──────────────────────────────────────────────
   The Alvanda wordmark (logo.svg) and small mark (smallLogoPurple.svg) are
   purple-on-transparent and go near-invisible on the dark canvas. The Liquid
   Glass system toggles dark via `.theme-dark` on `.lg-root` (NOT Tailwind's
   `data-theme="dark"` selector), so the old `dark:brightness-0 dark:invert`
   classes never fired here. Components opt in with
   `style={{ filter: 'var(--logo-filter, none)' }}` (or the `lg-logo` class) and
   get whitening only in dark — scoped per-component, no global token change. */
.lg-root {
  --logo-filter: none;
}

.lg-root.theme-dark {
  --logo-filter: brightness(0) invert(1);
}

.lg-root.theme-dark .lg-logo {
  filter: brightness(0) invert(1);
}

/* ── Tabular numerals (counts, %, times) ── */
.lg-root .tnum {
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

/* ── Guidance / rich-text prose (sanitized backend HTML: step guidance, etc.) ──
   Preflight is OFF, so give injected guidance HTML readable defaults that respect
   the token palette (brand links, list markers, heading/strong emphasis). Scoped
   to .lg-guidance so it never leaks to other dangerouslySetInnerHTML content. */
.lg-root .lg-guidance {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
}

.lg-root .lg-guidance>*+* {
  margin-top: .7em;
}

.lg-root .lg-guidance a {
  color: var(--brand-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lg-root .lg-guidance a:hover {
  opacity: .85;
}

.lg-root .lg-guidance ul {
  list-style: disc;
  padding-left: 1.25em;
  margin: .3em 0;
}

.lg-root .lg-guidance ol {
  list-style: decimal;
  padding-left: 1.25em;
  margin: .3em 0;
}

.lg-root .lg-guidance li {
  margin: .15em 0;
}

.lg-root .lg-guidance p {
  margin: .4em 0;
}

.lg-root .lg-guidance p:first-child {
  margin-top: 0;
}

.lg-root .lg-guidance p:last-child {
  margin-bottom: 0;
}

.lg-root .lg-guidance strong,
.lg-root .lg-guidance b {
  font-weight: 650;
  color: var(--ink);
}

.lg-root .lg-guidance h1 {
  font-size: 1.55em;
  font-weight: 650;
  letter-spacing: -.015em;
  color: var(--ink);
  margin: .5em 0 .25em;
  line-height: 1.3;
}

.lg-root .lg-guidance h2 {
  font-size: 1.28em;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink);
  margin: .5em 0 .25em;
  line-height: 1.3;
}

.lg-root .lg-guidance h3 {
  font-size: 1.12em;
  font-weight: 600;
  color: var(--ink);
  margin: .5em 0 .25em;
  line-height: 1.3;
}

.lg-root .lg-guidance h4 {
  font-size: 1em;
  font-weight: 600;
  color: var(--ink);
  margin: .5em 0 .25em;
  line-height: 1.3;
}

.lg-root .lg-guidance blockquote {
  border-left: 3px solid var(--brand);
  padding-left: 14px;
  margin-left: 0;
  color: var(--ink-soft);
  font-style: italic;
}

.lg-root .lg-guidance code {
  font-family: var(--font-mono);
  font-size: .88em;
  background: var(--glass-hair);
  padding: .12em .4em;
  border-radius: var(--r-sm);
}

.lg-root .lg-guidance pre {
  font-family: var(--font-mono);
  font-size: .88em;
  background: var(--glass-hair);
  padding: 12px 14px;
  border-radius: var(--r-md);
  overflow-x: auto;
}

.lg-root .lg-guidance pre code {
  background: none;
  padding: 0;
}

.lg-root .lg-guidance hr {
  border: 0;
  border-top: 1px solid var(--glass-border);
  margin: 1em 0;
}

.lg-root .lg-guidance table {
  border-collapse: collapse;
  width: 100%;
  margin: .6em 0;
}

.lg-root .lg-guidance td,
.lg-root .lg-guidance th {
  border: 1px solid var(--glass-border);
  padding: 7px 10px;
  vertical-align: top;
}

.lg-root .lg-guidance th {
  background: var(--glass-hair);
  font-weight: 600;
  text-align: left;
}

.lg-root .lg-guidance img {
  max-width: 100%;
  height: auto;
  border-radius: var(--r-sm);
}

/* ── The ambient canvas (fixed, behind everything) ── */
.lg-root .canvas-bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-behind);
  background:
    radial-gradient(900px 700px at 12% -5%, rgba(120, 130, 220, 0.10), transparent 60%),
    radial-gradient(800px 640px at 92% 8%, rgba(150, 140, 210, 0.09), transparent 60%),
    radial-gradient(1000px 800px at 78% 105%, rgba(110, 150, 200, 0.07), transparent 55%),
    linear-gradient(160deg, var(--bg-1), var(--bg-2));
}

.lg-root.theme-dark .canvas-bg {
  background:
    radial-gradient(900px 700px at 12% -5%, rgba(90, 100, 190, 0.16), transparent 60%),
    radial-gradient(800px 640px at 92% 8%, rgba(120, 110, 180, 0.12), transparent 60%),
    radial-gradient(1000px 800px at 78% 105%, rgba(80, 110, 170, 0.10), transparent 55%),
    linear-gradient(160deg, var(--bg-1), var(--bg-2));
}

/* ── Core glass materials ── */
.lg-root .glass {
  background: var(--glass-fill);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow);
}

.lg-root .glass-strong {
  background: var(--glass-fill-strong);
  backdrop-filter: blur(28px) saturate(170%);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow);
}

.lg-root .hair {
  border-color: var(--glass-hair);
}

/* ── Interactive states ── */
.lg-root .nav-item {
  color: var(--ink-soft);
  transition: color var(--t-base) ease, background var(--t-base) ease, border-color var(--t-base) ease;
  border: 1px solid transparent;
}

.lg-root .nav-item:hover {
  color: var(--ink);
  background: var(--glass-fill);
  border-color: var(--glass-border);
}

.lg-root .nav-active {
  color: var(--ink);
  background: var(--glass-fill-strong);
  border: 1px solid var(--glass-border);
  position: relative;
}

.lg-root .nav-active::before {
  content: "";
  position: absolute;
  left: -9px;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 3px;
  border-radius: 3px;
  background: var(--brand);
  transition: height var(--t-base) ease;
}

.lg-root .row-hover {
  border: 1px solid transparent;
  transition: background var(--t-base) ease, border-color var(--t-base) ease;
}

.lg-root .row-hover:hover {
  background: var(--glass-fill);
  border-color: var(--glass-border);
}

.lg-root .seg-active {
  background: var(--glass-fill-strong);
  border: 1px solid var(--glass-border);
  color: var(--ink);
}

.lg-root .chip {
  transition: transform var(--t-fast) ease, background var(--t-fast) ease, box-shadow var(--t-fast) ease;
}

.lg-root .chip:hover {
  background: var(--glass-fill-strong);
  transform: translateY(-1px);
}

.lg-root .tile {
  border: 1px solid var(--glass-border);
  transition: background var(--t-base) var(--ease), transform var(--t-base) var(--ease), border-color var(--t-base) var(--ease);
}

.lg-root .tile:hover {
  background: var(--glass-fill-strong);
  transform: translateY(-2px);
}

.lg-root .treebtn {
  color: var(--ink-soft);
  border: 1px solid transparent;
  transition: background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;
}

.lg-root .treebtn:hover {
  background: var(--glass-fill);
  color: var(--ink);
  border-color: var(--glass-border);
}

.lg-root .treebtn.active {
  background: var(--glass-fill-strong);
  color: var(--ink);
  border-color: var(--glass-border);
}

.lg-root .treebtn.active .folderglyph {
  color: var(--brand-soft);
}

/* ── Form fields ── */
.lg-root .field {
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  color: var(--ink);
  background: var(--field-fill);
  border: 1px solid var(--glass-border);
  border-radius: var(--r-md);
  padding: 9px 12px;
  outline: none;
  transition: border-color var(--t-base) ease, box-shadow var(--t-base) ease, background var(--t-base) ease;
}

.lg-root .field::placeholder {
  color: var(--ink-faint);
}

.lg-root .field:focus {
  border-color: var(--brand);
  box-shadow: var(--focus-ring);
  background: var(--glass-fill-strong);
}

.lg-root .field.err {
  border-color: var(--danger);
}

.lg-root .switch {
  width: 38px;
  height: 22px;
  border-radius: var(--r-full);
  background: var(--glass-hair);
  border: 1px solid var(--glass-border);
  position: relative;
  cursor: pointer;
  transition: background var(--t-base) ease;
}

.lg-root .switch .knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: left var(--t-base) var(--ease-spring);
  box-shadow: var(--shadow);
}

.lg-root .switch.on {
  background: var(--brand);
}

.lg-root .switch.on .knob {
  left: 18px;
}

/* ── Floating overlays (popovers, menus, modals, drawers, tooltips) ── */
.lg-root .popover {
  background: var(--popover-fill);
  backdrop-filter: blur(28px) saturate(170%);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-pop);
  border-radius: var(--r-lg);
}

.lg-root .scrim {
  background: var(--scrim);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.lg-root .sticky-surface {
  background: var(--sticky-fill);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
}

.lg-root .scrim-soft {
  background: var(--scrim-soft);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}

/* ── Collapsible rails (sidebar + AI copilot) ── */
.lg-root .copilot {
  width: 340px;
  transition: width var(--t-panel) var(--ease);
}

.lg-root .copilot.collapsed {
  width: 56px;
}

.lg-root .copilot.collapsed .ai-expanded {
  display: none;
}

.lg-root .copilot .ai-collapsed {
  display: none;
}

.lg-root .copilot.collapsed .ai-collapsed {
  display: flex;
}

/* ── V2Table responsive columns — CONTAINER-relative, not viewport ──
   A table's `hideBelow` columns collapse based on the table's OWN available
   width (its container), never the viewport. The sidebar + copilot rail eat
   horizontal space, so the content column can be narrow while the viewport is
   still wide (both rails open on `/agents`, tasks, admin, …); viewport media
   queries would keep every column and force the row to overflow/clip its column.
   Keying off the container makes the columns reflow within the real space.
   `.v2-col-hide-sm/-md` default to hidden and reveal past the matching container
   width; the wrapper carries `.v2-table-cq` to be the query container. */
.lg-root .v2-table-cq {
  container-type: inline-size;
}

.lg-root .v2-col-hide-sm,
.lg-root .v2-col-hide-md {
  display: none;
}

@container (min-width: 640px) {
  .lg-root .v2-col-hide-sm {
    display: flex;
  }
}

@container (min-width: 768px) {
  .lg-root .v2-col-hide-md {
    display: flex;
  }
}

/* Graceful degradation: where @container is unsupported, show the columns
   (the pre-fix always-visible behaviour) rather than hiding them forever. */
@supports not (container-type: inline-size) {
  .lg-root .v2-col-hide-sm,
  .lg-root .v2-col-hide-md {
    display: flex;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   MOTION LIBRARY — quiet, eased, purposeful. Apply utilities; never overdo it.
   ════════════════════════════════════════════════════════════════════════════ */

/* Interaction feedback — opt-in utilities */
.lg-root .lift {
  transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
}

.lg-root .lift:hover {
  transform: translateY(-2px);
}

.lg-root .pcard {
  border: 1px solid var(--glass-border);
  transition: transform var(--t-base) var(--ease), border-color var(--t-base) ease;
}

.lg-root .pcard:hover {
  transform: translateY(-2px);
  border-color: var(--ink-faint);
}

.lg-root .press {
  transition: transform var(--t-fast) var(--ease-spring);
}

.lg-root .press:active {
  transform: scale(.97);
}

.lg-root .tap:active {
  transform: scale(.96);
  transition: transform .08s ease;
}

.lg-root .icon-spin:hover {
  animation: lg-spin .9s linear;
}

/* ════════════════════════════════════════════════════════════════════════════
   BUTTON BASELINE — opt-in via the `.lg-btn` class (placed ONLY by V2Button).
   Bare `button` is deliberately NOT styled: the codebase uses <button> for drag
   handles, segmented-control slots (.seg-active), avatar triggers, tree nav
   (.treebtn), chip-toggles (.chip) and inline micro-buttons — a bare selector
   would require annotating every one of those as an opt-out. The additive
   `.lg-btn` class needs no opt-out audit and never touches legacy/icon/link
   buttons. All visual STATE lives here; V2Button only assembles class strings.
   ════════════════════════════════════════════════════════════════════════════ */
.lg-root .lg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
  white-space: nowrap;
  outline-offset: 3px;
  /* Unified transition: the bg↔text colour-swap hover (background-color + color +
     border-color all animate so the swap reads as a smooth crossfade, not a snap)
     + press scale, in one declaration. The scale half uses ease-spring (gentle
     overshoot); the colour-swap uses t-base ease. */
  transition:
    background-color var(--t-base) ease,
    background-image var(--t-base) ease,
    color var(--t-base) ease,
    border-color var(--t-base) ease,
    filter var(--t-base) var(--ease),
    opacity var(--t-base) ease,
    transform var(--t-fast) var(--ease-spring),
    box-shadow var(--t-base) var(--ease);
}

.lg-root .lg-btn.focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.lg-root .lg-btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.lg-root .lg-btn:active:not(:disabled):not([aria-disabled="true"]) {
  transform: scale(0.97);
}

.lg-root .lg-btn:disabled,
.lg-root .lg-btn[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Every variant below performs a smooth bg↔text COLOUR-SWAP on hover (the
   transition on `.lg-btn` animates background-color, background-image, color and
   border-color over --t-base). WCAG AA is held in BOTH rest and hover:
   white-on-brand = 9.8:1, white-on-brand-soft = 5.4:1, white-on-(deepened
   danger #b8433f) = 5.4:1, ink-on-glass and danger-on-glass both clear AA. */

/* ── Variant: primary — brand-grad fill, white ink. Hover: flip to the FLAT
     --brand (slight invert/settle of the gradient) + keep white ink, with a
     subtle brightness lift so the swap reads as a deliberate state change. ── */
.lg-root .lg-btn-primary {
  background-image: var(--brand-grad);
  background-color: var(--brand);
  color: var(--on-brand);
}

.lg-root .lg-btn-primary:hover:not(:disabled):not([aria-disabled="true"]) {
  background-image: none;
  /* drop the gradient → flat brand fill (settles/inverts the sheen) */
  background-color: var(--brand);
  color: var(--on-brand);
  /* 9.8:1 on --brand */
  filter: brightness(1.06);
}

/* ── Variant: secondary — glass-strong + hair at rest (material sets bg/border),
     --ink-soft text. Hover INVERTS: bg → solid --brand, text → #fff, border →
     brand. The glass material's background is overridden by background-color so
     the swap is a clean, fully-opaque colour flip. ── */
.lg-root .lg-btn-secondary {
  color: var(--ink-soft);
}

.lg-root .lg-btn-secondary:hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--brand);
  background-image: none;
  color: var(--on-brand);
  /* inverts off the soft-ink glass → white on brand, 9.8:1 */
  border-color: var(--brand);
}

/* ── Variant: ghost — glass + hair at rest, --ink-soft text. Hover INVERTS to a
     softer brand-tone fill (--brand-soft) so the lighter ghost reads as a gentler
     swap than secondary, white ink, brand-soft border. ── */
.lg-root .lg-btn-ghost {
  color: var(--ink-soft);
}

.lg-root .lg-btn-ghost:hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--brand-soft);
  background-image: none;
  color: var(--on-brand);
  /* white on --brand-soft = 5.4:1, AA pass */
  border-color: var(--brand-soft);
}

/* ── Variant: danger — solid --danger fill, white ink at rest. Hover swaps the
     fill to a DEEPENED danger so white text clears AA on hover (plain --danger is
     only 3.8:1; #b8433f is 5.4:1) — the colour shift + slight brightness make the
     swap visible while improving contrast. ── */
.lg-root .lg-btn-danger {
  background-color: var(--danger);
  color: #fff;
}

.lg-root .lg-btn-danger:hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: color-mix(in srgb, var(--danger) 82%, #000);
  color: #fff;
  /* 5.4:1 on the deepened danger */
  filter: brightness(1.04);
}

/* ── Variant: ghost-danger — transparent + --danger ink at rest. Hover INVERTS:
     bg → deepened danger fill, text → #fff (full bg↔text swap), border → danger. ── */
.lg-root .lg-btn-ghost-danger {
  background-color: transparent;
  color: var(--danger);
  border: 1px solid transparent;
}

.lg-root .lg-btn-ghost-danger:hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: color-mix(in srgb, var(--danger) 82%, #000);
  color: #fff;
  /* inverts danger-on-transparent → white on deepened danger, 5.4:1 */
  border-color: color-mix(in srgb, var(--danger) 82%, #000);
}

/* ── Variant: icon — square glass-strong + hair at rest, --ink-soft glyph.
     Hover INVERTS: bg → solid --brand, glyph → #fff, border → brand. ── */
.lg-root .lg-btn-icon {
  color: var(--ink-soft);
}

.lg-root .lg-btn-icon:hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--brand);
  background-image: none;
  color: var(--on-brand);
  /* white on --brand = 9.8:1 */
  border-color: var(--brand);
}

/* Active / "on" state for an icon toggle (published, shared, comments-open, …).
   The selector sits ABOVE the resting default (.lg-btn-icon → --ink-soft) but
   BELOW the :hover rule, so at rest the glyph is --brand-text (brand in light,
   white in dark) and on hover it still inverts to white-on-brand. One rule that
   reads correctly across theme × hover — drive it with data-active="true"
   (forwarded by V2Button). Never set an inline color for the active state: an
   inline color also overrides :hover, which is what broke light-mode hover. */
.lg-root .lg-btn-icon[data-active="true"] {
  color: var(--brand-text);
}

/* ── Safety-net hover for unmigrated `.press` buttons (bridge until adoption) ──
   Gives non-V2Button CTAs the same smooth bg↔text colour-swap hover as the
   .lg-btn variants — without touching glass-material buttons (which carry their
   own texture/state) or anything already migrated to .lg-btn. Bare `.press`
   buttons don't inherit the .lg-btn transition, so the colour-swap transition is
   declared here on the rest state. Hover lands on a solid --brand fill + white
   text: white-on-brand is 9.8:1, so AA holds no matter what the (unknown) rest
   colours are. Scoped to `.v2-app` so it fires only in the rebuilt UI, and
   excludes the classes that already own a :hover rule above. */
.lg-root.v2-app .press:not(.lg-btn):not(.nav-item):not(.chip):not(.treebtn):not(.glass):not(.glass-strong) {
  transition:
    background-color var(--t-base) ease,
    background-image var(--t-base) ease,
    color var(--t-base) ease,
    border-color var(--t-base) ease,
    filter var(--t-base) var(--ease),
    transform var(--t-fast) var(--ease-spring);
}

.lg-root.v2-app .press:not(.lg-btn):not(.nav-item):not(.chip):not(.treebtn):not(.glass):not(.glass-strong):hover {
  background-color: var(--brand);
  background-image: none;
  color: var(--on-brand);
  /* 9.8:1 on --brand — AA-safe regardless of rest colour */
  border-color: var(--brand);
}

/* Entrance — content & lists */
.lg-root .fade-up {
  animation: lg-fadeUp var(--t-move) var(--ease) both;
}

.lg-root .fade-in {
  animation: lg-fadeIn var(--t-move) var(--ease) both;
}

.lg-root .pop-in {
  animation: lg-popIn var(--t-move) var(--ease-spring) both;
}

/* popovers, badges */
.lg-root .scale-in {
  animation: lg-scaleIn var(--t-move) var(--ease-spring) both;
}

/* modals */
.lg-root .slide-in-right {
  animation: lg-slideInRight var(--t-panel) var(--ease) both;
}

/* right drawers */
.lg-root .slide-in-left {
  animation: lg-slideInLeft var(--t-panel) var(--ease) both;
}

/* left drawers (mobile nav) */
.lg-root .scrim-in {
  animation: lg-fadeIn var(--t-base) var(--ease) both;
}

/* Stagger children: add .stagger to a parent; children enter in sequence */
.lg-root .stagger>* {
  animation: lg-fadeUp var(--t-move) var(--ease) both;
}

.lg-root .stagger>*:nth-child(1) {
  animation-delay: .02s
}

.lg-root .stagger>*:nth-child(2) {
  animation-delay: .06s
}

.lg-root .stagger>*:nth-child(3) {
  animation-delay: .10s
}

.lg-root .stagger>*:nth-child(4) {
  animation-delay: .14s
}

.lg-root .stagger>*:nth-child(5) {
  animation-delay: .18s
}

.lg-root .stagger>*:nth-child(6) {
  animation-delay: .22s
}

.lg-root .stagger>*:nth-child(7) {
  animation-delay: .26s
}

.lg-root .stagger>*:nth-child(8) {
  animation-delay: .30s
}

/* Ambient — use sparingly */
.lg-root .pulse-dot {
  box-shadow: 0 0 0 0 var(--ok-pulse);
  animation: lg-pulse 2.4s infinite;
}

.lg-root .float {
  animation: lg-float 6s var(--ease) infinite;
}

/* gentle AI-orb drift */
.lg-root .shimmer {
  background: linear-gradient(100deg, var(--glass-hair) 30%, var(--glass-fill-strong) 50%, var(--glass-hair) 70%);
  background-size: 200% 100%;
  animation: lg-shimmer 1.3s linear infinite;
  border-radius: var(--r-sm);
}

/* skeleton loading */

@keyframes lg-fadeUp {
  from {
    opacity: 0;
    transform: translateY(8px)
  }

  to {
    opacity: 1;
    transform: none
  }
}

@keyframes lg-fadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes lg-popIn {
  from {
    opacity: 0;
    transform: translateY(4px) scale(.98)
  }

  to {
    opacity: 1;
    transform: none
  }
}

@keyframes lg-scaleIn {
  from {
    opacity: 0;
    transform: scale(.96)
  }

  to {
    opacity: 1;
    transform: none
  }
}

@keyframes lg-slideInRight {
  from {
    transform: translateX(16px);
    opacity: 0
  }

  to {
    transform: none;
    opacity: 1
  }
}

@keyframes lg-slideInLeft {
  from {
    transform: translateX(-16px);
    opacity: 0
  }

  to {
    transform: none;
    opacity: 1
  }
}

@keyframes lg-spin {
  to {
    transform: rotate(360deg)
  }
}

@keyframes lg-pulse {
  0% {
    box-shadow: 0 0 0 0 var(--ok-pulse)
  }

  70% {
    box-shadow: 0 0 0 6px rgba(52, 199, 89, 0)
  }

  100% {
    box-shadow: 0 0 0 0 rgba(52, 199, 89, 0)
  }
}

@keyframes lg-float {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-5px)
  }
}

@keyframes lg-shimmer {
  from {
    background-position: 200% 0
  }

  to {
    background-position: -200% 0
  }
}

/* Attention flash — a momentary brand-tint pulse used to draw the eye to a
   comment that was jumped-to from elsewhere (Conversations focus / anchor
   deep-link). Transient + tokenised, never a resting shadow. Applied
   imperatively (el.classList.add('lg-flash')) then removed after ~1.3s. */
.lg-root .lg-flash {
  border-radius: var(--r-md);
  animation: lg-flash 1.3s var(--ease);
}

@keyframes lg-flash {
  0% {
    background: color-mix(in srgb, var(--brand) 30%, transparent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 20%, transparent);
  }

  100% {
    background: transparent;
    box-shadow: 0 0 0 4px transparent;
  }
}

/* Accessibility — honour the OS "reduce motion" setting */
@media (prefers-reduced-motion: reduce) {

  .lg-root *,
  .lg-root *::before,
  .lg-root *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* ── Subtle scrollbar (scoped) ── */
.lg-root ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.lg-root ::-webkit-scrollbar-thumb {
  background: rgba(120, 125, 150, 0.3);
  border-radius: 8px;
}

.lg-root ::-webkit-scrollbar-track {
  background: transparent;
}/**
 * V2MeetingScheduler — liquid-glass chrome for public + in-app booking.
 * Scoped under `.v2-meeting-scheduler` (public shell + builder preview).
 */

.v2-meeting-scheduler.glass {
    box-shadow: var(--shadow);
}

.v2-meeting-scheduler__panel {
    background: var(--glass-fill-strong);
    border: 1px solid var(--glass-border);
    border-radius: var(--r-md);
}

.v2-meeting-scheduler__timezone {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--field-fill);
    border: 1px solid var(--glass-border);
    border-radius: var(--r-md);
}

.v2-meeting-scheduler__slot {
    border-color: color-mix(in srgb, var(--brand) 28%, var(--glass-border));
    background: var(--glass-fill);
}

.v2-meeting-scheduler__slot.is-selected {
    background: var(--brand);
    border-color: transparent;
    color: #fff;
}

.v2-meeting-scheduler__day.is-available:not(.is-selected) {
    background: color-mix(in srgb, var(--brand) 12%, transparent);
}

.v2-meeting-scheduler__day.is-selected {
    color: #fff !important;
}

.v2-meeting-scheduler__day.is-selected {
    background: var(--brand);
}

.v2-meeting-scheduler__nav-btn {
    border: 1px solid var(--glass-border);
    color: var(--brand);
    background: var(--glass-fill);
}

.v2-meeting-scheduler__nav-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
/* ════════════════════════════════════════════════════════════════════════════
   V2PhoneField — glass theming for the shared editor's phone field.

   V2BlueprintFieldEditor renders react-international-phone's <PhoneInput> for the
   `phone` case. That library is driven ENTIRELY by its own CSS custom properties
   (`--react-international-phone-*`). Its country dropdown is an ABSOLUTELY-positioned
   child of the country selector (it does NOT portal to <body>), so it renders
   inside `.lg-root` and inherits the remapped vars set on the input-container.
   Rather than fight dozens of rules with inline styles, we remap the library's
   custom properties to the Liquid-Glass tokens. Because this is imported by the
   SHARED editor, every surface that fills a phone field (begin-task, the component
   view page, the standalone-create modal, the task modal) gets the identical glass
   treatment, dark mode included (the tokens already flip under .lg-root[data-theme]).

   Scoped under `.lg-root` so the legacy dashboard's own phone inputs are untouched.
   ════════════════════════════════════════════════════════════════════════════ */

.lg-root .v2-phone-field .react-international-phone-input-container {
    --react-international-phone-background-color: transparent;
    --react-international-phone-border-color: var(--glass-border);
    --react-international-phone-border-radius: var(--r-md);
    --react-international-phone-text-color: var(--ink);
    --react-international-phone-font-size: 13.5px;
    --react-international-phone-height: auto;
    --react-international-phone-country-selector-background-color: transparent;
    --react-international-phone-country-selector-background-color-hover: var(--glass-fill-strong);
    --react-international-phone-country-selector-border-color: var(--glass-hair);
    --react-international-phone-country-selector-arrow-color: var(--ink-soft);
    --react-international-phone-disabled-background-color: transparent;
    --react-international-phone-disabled-text-color: var(--ink-faint);
    --react-international-phone-dial-code-preview-background-color: transparent;
    --react-international-phone-dial-code-preview-border-color: var(--glass-hair);
    --react-international-phone-dial-code-preview-text-color: var(--ink-soft);
    --react-international-phone-dropdown-item-background-color: var(--popover-fill);
    --react-international-phone-dropdown-item-text-color: var(--ink);
    --react-international-phone-dropdown-item-dial-code-color: var(--ink-soft);
    --react-international-phone-selected-dropdown-item-background-color: var(--brand-tint);
    --react-international-phone-selected-dropdown-item-text-color: var(--brand-text);
    --react-international-phone-selected-dropdown-item-dial-code-color: var(--brand-text);
    --react-international-phone-dropdown-shadow: var(--shadow-pop);
}

/* The input-container is the flex row that holds the country-selector button +
   the phone <input>. It must STRETCH its children so the country button is the
   same height as the input (otherwise the flag sits short / un-centred). It must
   also NOT clip — the country dropdown is an absolutely-positioned child and any
   overflow:hidden here would cut it off. */
.lg-root .v2-phone-field .react-international-phone-input-container {
    align-items: stretch;
    overflow: visible;
}

/* The phone number <input> + the country-selector button sit flush inside the
   parent `.field` wrapper (which owns the border + focus ring). Make both
   transparent so the single glass surface reads as one control. */
.lg-root .v2-phone-field .react-international-phone-input,
.lg-root .v2-phone-field .react-international-phone-country-selector-button {
    background: transparent;
    border: none;
    color: var(--ink);
    height: auto;
}

/* Center the flag vertically: stretch the button to the container height and
   center its content along both axes. */
.lg-root .v2-phone-field .react-international-phone-country-selector,
.lg-root .v2-phone-field .react-international-phone-country-selector-button {
    display: flex;
    align-items: center;
    align-self: stretch;
}

.lg-root .v2-phone-field .react-international-phone-country-selector-button {
    border-right: 1px solid var(--glass-hair);
    border-radius: 0;
    justify-content: center;
    padding: 0 10px;
}

.lg-root .v2-phone-field .react-international-phone-country-selector-button__button-content {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.lg-root .v2-phone-field .react-international-phone-input {
    flex: 1;
    min-width: 0;
    padding: 9px 12px;
    font-size: 13.5px;
}

.lg-root .v2-phone-field .react-international-phone-input::placeholder {
    color: var(--ink-faint);
}

/* Country dropdown surface. react-international-phone renders it as an
   ABSOLUTELY-positioned child of `.react-international-phone-country-selector`
   (which is `position: relative`) — NOT a body portal — so it must escape any
   clipping ancestor and stack above page chrome. We give it a high z-index and
   a fixed sensible width; being position:absolute it overlays WITHOUT resizing
   the field when open. Rendered inside `.lg-root`, so it inherits the tokens. */
.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown {
    position: absolute;
    z-index: calc(1250 + 2);
    z-index: calc(var(--z-popover, 1250) + 2);
    width: 280px;
    max-height: 220px;
    margin-top: 4px;
    padding: 4px;
    background: var(--popover-fill);
    border: 1px solid var(--glass-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-pop);
}

.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown__list-item {
    border-radius: var(--r-sm);
    padding: 7px 8px;
}

.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown__list-item:hover {
    background: var(--glass-fill-strong);
}

.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown__list-item--selected,
.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown__list-item--focused {
    background: var(--brand-tint);
    color: var(--brand-text);
}

.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown__list-item-country-name,
.lg-root .v2-phone-field .react-international-phone-country-selector-dropdown__list-item-dial-code {
    color: var(--ink);
}

/* Public scrollport + glass panels used to clip the non-portaled dropdown.
   Lift the open field above siblings so the list paints over following inputs.
   Later landing-page blocks (legal copy, footers) sit after the form in DOM
   order and would otherwise paint on top of the list — elevate the whole block
   wrapper while the country picker is open (aria-expanded on the selector btn). */
.v2-public-shell .v2-phone-field[focus-within],
.v2-public-shell .fade-up[focus-within],
.v2-public-shell section[focus-within] {
    position: relative;
    z-index: calc(1250 + 1);
    z-index: calc(var(--z-popover, 1250) + 1);
}
.v2-public-shell .v2-phone-field[focus-within],
.v2-public-shell .fade-up[focus-within],
.v2-public-shell section[focus-within] {
    position: relative;
    z-index: calc(1250 + 1);
    z-index: calc(var(--z-popover, 1250) + 1);
}
.v2-public-shell .v2-phone-field:focus-within,
.v2-public-shell .fade-up:focus-within,
.v2-public-shell section:focus-within {
    position: relative;
    z-index: calc(1250 + 1);
    z-index: calc(var(--z-popover, 1250) + 1);
}
/* Landing form consent copy — builder editor + public renderer */

.v2-landing-form-rich-text {
    overflow: hidden;
    border: 1px solid var(--glass-border);
    border-radius: var(--r-md);
    background: var(--glass-fill-strong);
}

.v2-landing-form-rich-text__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 6px 8px;
    border-bottom: 1px solid var(--glass-hair);
    background: var(--glass-fill);
}

.v2-landing-form-rich-text__btn {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    height: 28px;
    min-width: 28px;
    padding: 0 8px;
    border: none;
    border-radius: var(--r-sm);
    background: transparent;
    color: var(--ink-soft);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color var(--t-fast) ease, color var(--t-fast) ease;
}

.v2-landing-form-rich-text__btn:hover {
    background: var(--glass-fill-strong);
    color: var(--ink);
}

.v2-landing-form-rich-text__btn.is-active {
    background: var(--brand-tint);
    color: var(--brand-text);
}

.v2-landing-form-rich-text__link-popover {
    display: flex;
    flex: 1 1 100%;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.v2-landing-form-rich-text__body .ProseMirror {
    min-height: 88px;
    max-height: 200px;
    overflow-y: auto;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink);
    outline: none;
}

.v2-landing-form-rich-text__body .ProseMirror p {
    margin: 0 0 0.65em;
}

.v2-landing-form-rich-text__body .ProseMirror p:last-child {
    margin-bottom: 0;
}

.v2-landing-form-rich-text__body .ProseMirror a {
    color: var(--brand);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.v2-landing-form-rich-text__body .ProseMirror p.is-editor-empty:first-child::before {
    content: attr(data-placeholder);
    float: left;
    height: 0;
    pointer-events: none;
    color: var(--ink-faint);
}

/* Public page — consent / below-button copy */
.v2-landing-form-copy {
    font-size: 11.5px;
    line-height: 1.65;
    color: var(--ink-faint);
    word-break: break-word;
}

.v2-landing-form-copy p {
    margin: 0 0 0.75em;
}

.v2-landing-form-copy p:last-child {
    margin-bottom: 0;
}

.v2-landing-form-copy a {
    color: var(--brand);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.v2-landing-form-copy a:hover {
    color: var(--brand);
    color: var(--brand-text, var(--brand));
}

.v2-landing-form-copy.text-center {
    text-align: center;
}
/* Landing page Header block — centered logo above hero content. */
.v2-landing-header {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: max(16px, min(3vw, 28px)) 0 max(8px, min(2vw, 16px));
}

.v2-landing-header__img {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
}

.v2-landing-header__name {
    font-size: 15px;
    font-weight: 650;
    color: var(--ink);
    letter-spacing: -0.01em;
}

/* Columns block — proportional widths from `--landing-col-template` (e.g. 35fr 65fr). */
.v2-landing-columns-editor {
    grid-template-columns: var(--landing-col-template);
}

@media (min-width: 640px) {
    .v2-landing-columns {
        grid-template-columns: var(--landing-col-template);
    }
}
/* Landing page Text block — builder editor + public copy */

.v2-landing-rich-text-editor .shell {
    min-height: auto;
}

.v2-landing-rich-text-editor.is-compact .ProseMirror {
    min-height: 100px;
}

.v2-landing-rich-text-copy {
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink-soft);
    word-break: break-word;
}

.v2-landing-rich-text-copy h1 {
    margin: 0 0 0.5em;
    font-size: 1.75em;
    font-weight: 700;
    line-height: 1.2;
    color: var(--ink);
}

.v2-landing-rich-text-copy h2 {
    margin: 0 0 0.5em;
    font-size: 1.35em;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ink);
}

.v2-landing-rich-text-copy ul,
.v2-landing-rich-text-copy ol {
    margin: 0 0 0.75em;
    padding-left: 1.35em;
}

.v2-landing-rich-text-copy blockquote {
    margin: 0 0 0.75em;
    padding-left: 0.85em;
    border-left: 3px solid var(--glass-border);
    color: var(--ink-faint);
}

.v2-landing-rich-text-copy img {
    max-width: 100%;
    height: auto;
    border-radius: var(--r-sm);
}

.v2-landing-rich-text-copy.text-center {
    text-align: center;
}

.v2-landing-rich-text-copy.text-right {
    text-align: right;
}

.v2-landing-hero-headline {
    font-size: max(1.75rem, min(4vw, 2.125rem));
    font-weight: 700;
    line-height: 1.15;
    color: var(--ink);
}

.v2-landing-hero-headline h1,
.v2-landing-hero-headline h2,
.v2-landing-hero-headline h3,
.v2-landing-hero-headline p {
    margin: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

.v2-landing-hero-subheadline {
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink-soft);
}

.v2-landing-form-title {
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    color: var(--ink);
}

.v2-landing-form-title p,
.v2-landing-form-title h1,
.v2-landing-form-title h2,
.v2-landing-form-title h3 {
    margin: 0;
    font: inherit;
    color: inherit;
}

.v2-landing-legal-copy {
    color: var(--ink-faint);
}

.v2-landing-button-label {
    display: inline;
    font: inherit;
    color: inherit;
}

.v2-landing-button-label p {
    margin: 0;
    display: inline;
}
.landing-stream-video {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--r-md);
    background: #0a0a0c;
    aspect-ratio: 16 / 9;
    user-select: none;
    -webkit-user-select: none;
}

.landing-stream-video--fullscreen {
    border-radius: 0;
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
}

.landing-stream-video__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

.landing-stream-video__iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.landing-stream-video__poster {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.landing-stream-video__play-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    background: rgba(0, 0, 0, 0.35);
    transition: opacity 0.2s ease;
}

.landing-stream-video__play-btn {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    width: 72px;
    height: 72px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    background: var(--brand);
    color: #fff;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.landing-stream-video__play-btn:hover {
    transform: scale(1.05);
}

.landing-stream-video__controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.82));
    opacity: 0;
    transition: opacity 0.2s ease;
}

.landing-stream-video:hover .landing-stream-video__controls,
.landing-stream-video[focus-within] .landing-stream-video__controls,
.landing-stream-video--controls-visible .landing-stream-video__controls {
    opacity: 1;
}

.landing-stream-video:hover .landing-stream-video__controls,
.landing-stream-video:focus-within .landing-stream-video__controls,
.landing-stream-video--controls-visible .landing-stream-video__controls {
    opacity: 1;
}

.landing-stream-video__controls-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    min-width: 0;
}

.landing-stream-video__controls-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    margin-left: auto;
}

.landing-stream-video__icon-btn {
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    background: transparent;
    color: #fff;
    flex-shrink: 0;
}

.landing-stream-video__icon-btn--lg {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}

.landing-stream-video__icon-btn:hover {
    background: rgba(255, 255, 255, 0.12);
}

.landing-stream-video__volume {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.landing-stream-video__volume input[type='range'] {
    width: 72px;
    accent-color: var(--brand);
    cursor: pointer;
}

.landing-stream-video__quality select {
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 24px 4px 8px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 6px center;
}

.landing-stream-video__sound-hint {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    border: none;
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
    white-space: nowrap;
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.landing-stream-video__sound-hint:hover {
    transform: scale(1.03);
    opacity: 0.95;
}

.landing-stream-video__time {
    font-size: 11px;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.85);
}
/*
 * V2PublicStepPage.css — scoped layout + embed CSS for the v2 public form.
 *
 * Tokens only; no hardcoded colours. Everything is scoped under
 * `.v2-public-shell` (the self-rooted `.lg-root v2-app` wrapper the public page
 * mounts because it renders OUTSIDE the app shell). The `.is-embed` modifier
 * strips the page frame so a host can iframe `/pub/<token>?embed=1` and let the
 * frame auto-size to the content height.
 */

.v2-public-shell {
    min-height: 100vh;
    min-height: 100dvh;
    position: relative;
    overflow-x: hidden;
}

.v2-public-scroll {
    position: relative;
    z-index: 0;
    z-index: var(--z-base, 0);
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    overflow-y: auto;
    padding: max(16px, min(4vw, 48px)) max(16px, min(4vw, 40px));
}

/* Centered max-width container. */
.v2-public-grid {
    width: 100%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Form-only — keep the card comfortably narrow & centered. */
.v2-public-grid.is-form-only {
    max-width: 640px;
}

/* Guidance-only — prose (and embedded video) reads best under ~760px. */
.v2-public-grid.is-guidance-only {
    max-width: 760px;
}

/* Landing page — max-width comes from inline style (page width setting). */
.v2-public-grid.is-landing-page {
    max-width: none;
}

/* Full-width company logo header (legacy auto-bar — prefer Header block). */
.v2-public-logo-bar {
    position: relative;
    z-index: calc(0 + 1);
    z-index: calc(var(--z-base, 0) + 1);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: max(18px, min(3.5vw, 32px)) max(20px, min(4vw, 40px));
    background: #fff;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

.v2-public-logo-bar__img {
    display: block;
    max-height: 56px;
    max-width: min(360px, 88vw);
    width: auto;
    height: auto;
    object-fit: contain;
}

/* ── Split-stage card ─────────────────────────────────────────────────────── */
/* Keep the guidance prose/video in view while a long form scrolls beside it
   (the card splits at Tailwind's lg breakpoint). */
@media (min-width: 1024px) {
    .v2-public-stage-body {
        position: sticky;
        top: 16px;
    }
}

/* ── Guidance prose (the dangerouslySetInnerHTML output) ──────────────────── */
.v2-public-prose {
    color: var(--ink-soft);
    font-size: 13.5px;
    line-height: 1.7;
    word-break: break-word;
}
.v2-public-prose h1,
.v2-public-prose h2,
.v2-public-prose h3,
.v2-public-prose h4 {
    color: var(--ink);
    font-weight: 650;
    letter-spacing: -0.01em;
    margin: 1.1em 0 0.5em;
    line-height: 1.3;
}
.v2-public-prose h1 { font-size: 18px; }
.v2-public-prose h2 { font-size: 16px; }
.v2-public-prose h3 { font-size: 14.5px; }
.v2-public-prose p { margin: 0 0 0.85em; }
.v2-public-prose ul,
.v2-public-prose ol { margin: 0 0 0.85em; padding-left: 1.25em; }
.v2-public-prose li { margin: 0.2em 0; }
.v2-public-prose a {
    color: var(--brand);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.v2-public-prose a:hover { color: var(--brand); color: var(--brand-text, var(--brand)); }
.v2-public-prose img { max-width: 100%; height: auto; border-radius: 12px; border-radius: var(--r-md, 12px); }

/* Embedded media — guidance HTML carries YouTube iframes / <video> with fixed
   pixel attributes (e.g. 560×315); make them fill the column responsively. */
.v2-public-prose iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
    border-radius: 12px;
    border-radius: var(--r-md, 12px);
    margin: 0 0 0.85em;
    background: var(--glass-fill-strong);
}
.v2-public-prose video {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    border-radius: var(--r-md, 12px);
    margin: 0 0 0.85em;
    background: var(--glass-fill-strong);
}
.v2-public-prose figure {
    margin: 0 0 0.85em;
}
.v2-public-prose figure > iframe,
.v2-public-prose figure > video,
.v2-public-prose figure > img {
    margin-bottom: 0;
}
.v2-public-prose strong, .v2-public-prose b { color: var(--ink); font-weight: 650; }
.v2-public-prose blockquote {
    margin: 0 0 0.85em;
    padding-left: 0.9em;
    border-left: 2px solid var(--glass-hair);
    color: var(--ink-faint);
}
.v2-public-prose :first-child { margin-top: 0; }
.v2-public-prose :last-child { margin-bottom: 0; }

/* ── Embed mode ───────────────────────────────────────────────────────────── */
/* Strip the outer chrome so the host iframe can auto-size to content. */
.v2-public-shell.is-embed {
    min-height: 0;
    background: transparent;
}
.v2-public-shell.is-embed .canvas-bg {
    display: none;
}
.v2-public-shell.is-embed .v2-public-scroll {
    min-height: 0;
    overflow-y: visible;
    padding: max(8px, min(2.5vw, 20px));
}
.v2-public-shell.is-embed .v2-public-grid {
    max-width: none;
}
